Fedora's "ninja-build" package installs an executable named "ninja-build", rather than the name "ninja" that the rest of the world expect (this is what it is called on Ubuntu, and this is how the developers of this software call their executable). The name "ninja-build" is not only inconveniently long, it is also confusing because the program is "ninja-build" while the configuration file is build.ninja, causing people (at least me...) to routinely confuse the order of these words. I would ask you to reconsider naming the executable just "ninja", like everyone else does. I don't mind what you call the package - it can remain with the name "ninja build". I am guessing the reason why you didn't use executable name "ninja" is because it is taken by the ninja IRC client. I think, however, that if you check you'll see that the ninja build system has growing number of users, while the users of textual IRC clients are dwindling, if any even remained (I haven't used one since 1994!). So the ninja irc client can get the long name, while the up-and-coming new tool should get the well-established (in other popular distros) name.
Now that we have Recommends (I think?), how would a subpackage which provides a symlink at /usr/bin/ninja and Conflicts with ninja and is Recommend'd by ninja-build suffice? I'd like to avoid needless package conflicts. But if the ninja maintainer is amenable to doing a joint update to swap binary names with proper Provides and Obsoletes so that anyone with both gets the swap, I'd be okay with that as well (but would probably wait for F22 where the above can happen in F21). > while the users of textual IRC clients are dwindling, if any even remained (I haven't used one since 1994!). I still use irssi ;) . Though I agree that the ninja client is probably not as popular (e.g., it's completely unmaintained in FreeBSD's ports).
Hmm. The argument that the bug reporter has not used a console IRC client since 1994 is not very strong. I am still using a console based IRC client. Not ninja but also irssi. It is also true that ninja is not maintained anymore. Upstream does not exist. But renaming (or even removing) a package just because a newer piece of software has chosen the same name does not sound like the right way. Renaming the binary would also be rude to the existing ninja users. If ninja-build wants to use the same binary name as the ninja IRC client maybe Conflicts are the best solution. But avoiding conflicting packages is also a good argument. So I am not sure what the correct solution would be. This situation is now very unfortunate and mainly because the ninja-build upstream maintainers did not consider that there are already existing binaries called ninja.
I agree it's not obvious what to do here :-( I'm surprised Fedora doesn't run into this problem more often. According to "yum repolist" there are almost 40,000 different packages in Fedora (wow, I didn't realize that), many of them very old or very esoteric. It's not really surprising that someone went ahead and invented a new program, "ninja", without noticing that Fedora included, 12 years ago, a different "ninja" package, one of 17 (made up number) different IRC clients included in Fedora. The inventor of ninja build probably never installed, or even heard of, the ninja IRC client. I don't know what is the best solution, but I do think that if there is overwhelming evidence (and to be honest, I don't know if this is the case) that a new tool with some name has become much more popular than some old tool with that name, a rename would be the best approach. I agree users might be surprised after the upgrade, but we've had a lot of these in the past (I still remember the rename of soffice to ooffice, of netscape to firefox, the whole grub->grub2 business, and even, long ago, bzip to bzip2). Another thing to consider is that as much as I love Fedora (my main computer was one version of Red Hat or another since 1998), Fedora is not alone in the Linux universe. It's very strange that I need to remember that the program I call "ninja-build" on Fedora, is actually "ninja" when I happen to run on some other Ubuntu machine. It's like suffering the rename over and over, every time I have the misfortune of using Ubuntu :-) By the way, there is an easy workaround for me - I'll create a symbolic link ~/bin/ninja. I should have done this before getting used to the name "ninja-build" :-)
> I agree users might be surprised after the upgrade, but we've had a lot of these in the past (I still remember the rename of soffice to ooffice, of netscape to firefox, the whole grub->grub2 business, and even, long ago, bzip to bzip2). That's all fine because the renaming there is basically just window dressing. ninja-the-IRC-client is *completely* different from ninja-the-build-tool, so having one Obsolete the other is basically a no-go. Here is an issue to ninja-the-build-tool's upstream to rename: https://github.com/martine/ninja/issues/860 Logs from #fedora-devel about Suggests/Recommends: < mathstuf> hi, are there any guidelines on using Suggests or Recommends in fedora yet (istr something about it on fdl, but ive forgotten and the wiki doesnt seem to have much on it)? < drago01_> no < mathstuf> https://bugzilla.redhat.com/show_bug.cgi?id=1166135 < drago01_> the fpc (still) hasn't decided anything iirc < mathstuf> hrm < mathstuf> ok < nirik> well, mostly because there's no good use cases and dnf maintainers haven't decided behavior based on them yet.
So upstream said "no" to renaming it "ninja-build" upstream. Should I go forward with asking FPC for a conflict exception for a subpackage to conflict with ninja?
Sure. No objections from me.
I orphaned ninja on the devel branch, so that it can be retired. As far as I know it is not possible to retire a package on a released branch, so starting with Fedora 22 ninja can be the name of the build system.
I don't think FPC will accept such shift on different packages.
This message is a reminder that Fedora 20 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 20. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '20'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 20 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
Fedora 20 changed to end-of-life (EOL) status on 2015-06-23. Fedora 20 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug. Thank you for reporting this bug and we are sorry it could not be fixed.
I'm reopening this issue - it is still relevant in Fedora 22.
Ping? With the retirement of the ninja irc client, nothing stands in the way of a simple rename (possibly leaving a symlink for compatibility). The package should be renamed as well, to be in line with other distributions.
The naming of ninja-build binary breaks the zsh auto-complete files located at /usr/share/zsh/site-functions/_ninja. It's necessary to link it to /usr/bin/ninja to make it works again. Replacing all ninja in _ninja with ninja-build and renaming the file to _ninja-build may be another solution but I think it's too complicated.
I think a symlink ninja-build -> ninja is fine.
Is there any way in which I can help progress on this bug?
(In reply to Avi Kivity from comment #16) > Is there any way in which I can help progress on this bug? No. We may not change anything still. There is no way shifting a new software to an old hole by just renaming, even there are hardly any ninja irc users left. The current solution should be a change in zsh auto-completion files. For all upstreams using ninja (I don't think it can supersede any old but famous build systems), they should offer an option for people to fill the ninja executable filename on their own.
The problem is not scripts, it is users who follow build instructions and get the wrong name. Having per-distribution build instructions is confusing and error prone, and we see a steady stream of such problems. Why add a source of confusion to users, when the trend is towards minimizing gratuitous platform differences? The ninja IRC client does not exist in Fedora 22, let alone 23, and its upstream is completely gone. The existing ninja irc users were abandoned by both their upstream and Fedora, I don't see how keeping zsh autocompletion rules helps them.
IMHO This issue must be solved in rawhide first.
*** Bug 1245828 has been marked as a duplicate of this bug. ***
Any news on this? Would submitting a patch accelerate things?
Hi, the original ninja package was retired almost two years ago (see comment #7). Can we push forward on this please? /usr/bin/ninja is now free and it should surely be provided by the ninja-build package. It's debatable whether /usr/bin/ninja-build should continue to exist as a symlink or not. People will have to update scripts if it's removed, but I'd recommend getting rid of it to reduce compatibility issues between distributions.
Ben, any chance we could get the rename? If you are busy with other things, I can do this myself, using pp privs. I'd push a simple update which renames the binary and adds a compat symlink ninja-build → ninja. Would you be OK with that?
We should definitely do this ASAP, for F26 as well as rawhide.
ninja-build-1.7.2-4.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-82adf9f65f
mathstuf acked the update on IRC. I built it on Friday, but couldn't make the update because of the power outage. It's done now for rawhide and F26. The question is, what about F24/F25. I don't see a particular reason not to do the update too. It should be completely backwards compatible.
I guess it's fine, since there's a symlink. I recommend removing the symlink from rawhide, though, to reduce divergence from other distros.
ninja-build-1.7.2-4.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2017-04178f09e6
ninja-build-1.7.2-4.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-f876248d3f
I think we should keep the compat symlink, until F27 at least. If it is removed it'll needlessly break scripts and various documentation that we might have. I don't think the symlink causes any confusion or interferes with anything.
ninja-build-1.7.2-4.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-f876248d3f
ninja-build-1.7.2-4.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-04178f09e6
ninja-build-1.7.2-4.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-82adf9f65f
ninja-build-1.7.2-4.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.
ninja-build-1.7.2-4.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.
ninja-build-1.7.2-4.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.