-
Notifications
You must be signed in to change notification settings - Fork 391
docs(README): improve autotools/cmake recommendation #695
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Changed to WIP for now, i.e. not ready to review, as I want to restore part of the deleted section. |
5f2cf5b
to
aed1f1d
Compare
Nevermind. I wanted to preserve the information about pkg-config variables in the FAQ, but after thinking how to present it, I couldn't find a reason why anyone would want to use them. I don't want to tell anyone to use them in their autotools/cmake build systems as those variables don't respect the prefix, so there needs to be some other reason to mention them and I couldn't come up why anyone would want to use them for anything. |
There, ready for review. |
This PR is, frankly, totally ridiculous. First of all, that answer in README explains how to hook up with the existing installation of In the updated answer and in the PR TokTok/c-toxcore#2007, you seem to try to copy completion files to the location that no one searches (unless some bash-completion is installed with the same prefix, and the user uses that version of bash-completion). I don't have an idea what you are trying to do by creating garbage files that no one can find.
So you don't know how to properly set up I think we should describe in our README how to properly set |
That's undesirable. You want all files to be installed into the installation prefix. If your prefix is
I'm aware of |
Yeah, I can understand the current recommendation in README is not a perfect one and doesn't always work (particularly for pre-compiled packages or for cross-compiling where the deployed host and the package building environment can be different), but the suggested change to README seems to be worse than the current one. Just a naive idea, but maybe we can suggest in README adding a configure option (such as P.S. And, when the automatically determined location is not writable with the current permission, we may fall back to the user's directory |
I didn't mention it in the PR, but the README recommendation doesn't work even for the general case of an existing bash-completion installation. README suggests to install into |
I here just repeat that we know that the current recommendation in README is not a perfect one, but that can't be the reason to merge this broken PR as is. This is not the place where one repeatedly and verbosely accuses like a broken record how "insane" the current implementation is. The improvements are always welcome. Why don't you update the PR? If you have any questions or discussions on how the PR should be improved, please let us discuss it here. I have already pointed the present problem of the PR and suggested a few ideas about updating README, to which I currently don't see any reply from you. If you think the current PR should be applied as-is, please provide us with convincing reasons (for which I currently hardly think there is any). Another thing is that the commit message shouldn't include subjective and inappropriate words, which makes the PR look like spam. I hardly think these are needed information in the commit message. |
With my last comment I wanted to establish that the current README recommendation is broken also for the general case of a user having distro-installed bash-completion building and installing some software that provides a completion script. I wasn't sure if you were aware of that or not, since I haven't pointed that out before and:
made it sound that you thought that it's broken only for my uncommon edge cases of cross-compilation and such, but not for the general case.
That was also my reply to your suggestion. Not sure why you didn't see it as such. You are suggesting to introduce Anyway, let's put the discussion of Could you explain why someone would want to have the completion script picked up by bash-completion when installing into, say, If the installation prefix is I hope that the parallel between binary files, manual pages and include files made you realize why I find your insistence that completion script has to be be installed into
There are no inappropriate words in the commit message, I'm not swearing or cursing, and the current recommendation being ridiculous or broken is not subjective but objective -- installing into |
aed1f1d
to
9354ddd
Compare
The previous recommendation was installing completion scripts system-wide, ignoring what the installation prefix was set to.
9354ddd
to
741a40b
Compare
Shortened the commit message and fixed a reference to the now deleted section in a FAQ entry above. |
I have considered adding a boolean option, something like What's do you think? |
I did recognize the problem but just didn't enumerate every possible case that the current configuration causes the problem. You have mentioned The thing that I didn't like about your comment is that it is written with a certain exaggeration or tries to give a wrong impression to the third person (though I guess you don't even aware of it by yourself). It is written as if installing scripts to I am actually kind of agree that we should probably shift to
You should have made it explicit. Unless you explicitly mention
Yeah, these replies are exactly what I expected from you, which are clearly different from your previous "reply to my suggestions about README". I agree with the issue about
I don't understand what makes you believe that no one wants to make the completion script recognized by When one is installing the package inside their home directory (like you said
OK, now I understood that you actually don't intend to make the completion script visible to However, a question here is why you have been looking at that particular Q&A, to begin with. The question in README reads
Have you been only looking at the answer and didn't notice the question at all while editing README and checking and submitting the PR? I'm now actually starting to suspect that, consciously or unconsciously, you are making a story for yourself on the fly, and your subconscious is not smart enough to make a consistent story. You are tricked by your subconscious. Anyway, the entry in README is for those who want to make it sure that their completion script is found by
(1) As I have written above, I'm not sure if it's fair to compare it with
Then, why you have inserted the adverb "frankly", which implies that it's actually subjective. I don't think there is "frankly" or "not frankly" about the objective facts. The adverb implies that you cannot say it if you are not frank.
These two words "ridiculous" and "broken" are not interchangeable. The word you used is "ridiculous". I cannot stop thinking that the reason that you added "or broken" is that you subconsciously know that "ridiculous" is not appropriate. |
Yeah, I think a boolean option is reasonable.
I think these are just a part of possible reasons for the configure options. We may use a configure option to choose an underlying library and a version that has several options (this is actually the most frequent reason I specify configure options as I sometimes have several versions of libraries and packages in my machines). We may use a configure option to switch the behavior for compatibility. We may use a configure option to turn on an experimental feature, etc. By the way, isn't requesting an existing installation of
This is also a good point because I also had that concern about |
Of course it will work, but only distribution's package manager software should be adding/removing files from
I guess there was some sort of miscommunication then, because that's not what I was saying.
I see we are still not on the same page here. We seem to have some sort of a disagreement, or perhaps a misunderstanding, of how software installation is expected to work. Not sure if it's a language barrier, general misunderstanding of file system hierarchy or maybe both. Let's give it one more try. How things work is you build a software, e.g. with GNU Autotools is something along the lines of: ./configure [--prefix=/some/path]
make
make install
The expectation is that Now, in the quoted example I say that the software is installed into
Because it makes zero sense that a software installed outside If the question meant to ask this regardless of the prefix, then perhaps it should have explicitly clarified that. Something like "Where should I put it to be sure that interactive bash shells will find it and source it no matter the installation prefix of my package?" would make it clearer. However even with it being clearer, the question itself is an odd one. It's unusual to want a software be integrated into the system no matter where it's installed. Do we really want to have such a question in FAQ? Has anyone else, aside from the person who originally committed that question, asked it before? I also assume that by "I author/maintain package" the question means something along the lines of "I maintain a software project", e.g. a project on GitHub, instead of an actual distribution's package, like a Debian package, right? Because if it means distribution's package, that changes the question, as the assumption would be that it's always installed into |
I have to repeat that we know that the current configuration is not the perfect one. I was talking about the way how you are unconsciously trying to mislead the readers. I'm not saying you are telling lie or something wrong, but intentionally obscuring the actual impact of the problem. I have a doubt about the word choice of "mess". When one just says "A messes up B", it may be possible that it means only a part of B is affected by A, yes. However, the natural recognition or primary impression by readers is, I guess, "A will cause problems in B here and there", so you appear to be unconsciously choosing the words that lead to the misunderstanding useful for you.
I guess this is the point that we do not agree with. How strict is that expectation commonly considered to be? This is the fourth time, but I repeat that I agree that the current recommendation (of automatically installing completion scripts in a place of the detected But the things have been worked in a current way for a long time in If you think the PR should be merged as-is, the discussion that I expect from you is whether it's worth making the external completion configuration stop working for the reason that the current approach is not expected by autotools/cmake, i.e., (1) assessment on the impact of changing the recommendation (and thus making completion scripts inactive by default for custom installation), (2) how much we benefit from the changing or how many real issues (not conceptual issues) will be solved by the change, and (3) comparisons. However, it is generally difficult to correctly evaluate the impact of breaking changes, which is the reason we are forced to be somewhat conservative. But I'd like to seek a constructive solution. I initially expected you could improve the PR in a constructive direction, but maybe that was an over-expectation. I'm actually thinking that we may introduce in |
I'm abandoning this PR as I don't have time on all this discussion. I expected it to be a straightforward change that would get merged fairly quickly, but turns out it's not and it has exceeded the amount of effort I'm willing to put into this. It's also rather hard and unpleasant to talk with you with the amount of language bikeshedding and various accusations coming from you. I see that you recognize that there are issues with the current FAQ recommendation and you have some ideas on how this could be fixed, so there is hope it gets fixed in the future. |
I think I have subconsciously judged from your username and the initial commit messages that you would be used to and endurable against this kind of conversation (though now I become unsure whether you precisely know about from what kind of community the word nurupo came out. It was exactly the place where people talked in that way, and every response from you seemed to be also in line with it.), and also thought that you wouldn't improve the PR without strong words and tried to change your mind. But now I'm actually not sure how I should have behaved. I think I need to apologize for that point. I have again looked at the changes of this PR, but the quality just doesn't warrant merging (even without the conflicts in the conversation). At least, the PR should be largely updated, but I still feel you wouldn't have changed the essential part of the PR even if I responded in a tolerant way. Maybe I should have just created another PR with an alternative solution queitly.
I'm recently busy, but I will make a PR in near future. I'm not sure if you can still take my words literally, but thank you for raising the issue. |
I'm sorry I didn't have time to read this discussion until now. The general tone of it and a quite a bit of its content is not welcome here. In that sense, no matter the technical content of the PR, it's good that it's closed now, and we take a step away at this point. We can come back to the topic later in a more respectful and constructive mood if someone wants. Having said that, I'm also aware that the instructions are not perfect. I'm also aware that it's a hard problem to tackle, and I to date I haven't seen anything that would be definitely better than what we have now, just problematic in different ways. And to be honest, I'm not convinced it can be fixed in a way that would work great for every scenario out there. There are aspects in here that are highly dependent on opinions, which doesn't help. If anyone wants to continue discussing the topic, I suggest taking a deep breath and letting it sit for a week. If you still would like to discuss it, then start a thread in the project discussions, and keep it to the point, open, respectful, and constructive. I suggest doing that before spending time constructing another related PR. In any case, do refrain from posting further comments in this issue, including replying to this one. Thank you. |
@akinomyoga thank you for incorporating parts of this commit into #696 👍 |
@nurupo I would like to thank you too for bringing up the discussion! Maybe you already noticed if you checked the introduced changes, but now we can just put the completion files in the same prefix as the executable file. Maybe there are still some cases that bash-completion fails to find the completion file, but I think now it is much better than the previous behavior. This is all realized since you have raised the issue. Thanks! |
The previous recommendation to use pkg-config variables resulted in
autotools and cmake ALWAYS installing bash-completion files system-wide,
e.g. /usr/share/bash-completion/completions. It didn't respect the
installation prefix user specifies via
./configure --prefix=<path>
inautotools or
cmake -D CMAKE_INSTALL_PREFIX=<path>
in cmake. It alsodidn't respect autotools and cmake defaulting to install into
/usr/local. This is, frankly, ridiculous. User's/packager's choice of
prefix must be respected.
That FAQ recommendation was very unhelpful. Had to go through this while adding bash-completion to tox-bootstrapd.