#1413 "swift" name clashes between two packages
Opened 5 months ago by tachoknight. Modified 5 months ago

Hello!

I recently received this BZ report: https://bugzilla.redhat.com/show_bug.cgi?id=2291122. In a nutshell, swift from the swift-lang package (that I maintain) has a conflict with the python3-swiftclient package.
It is a pretty foregone conclusion that I cannot change the binary name as it's known everywhere as how to invoke Swift. I had not heard of the python3-swiftclient until this ticket was filed, and while it has nothing to do with Swift (the programming language), I get the impression it won't be changing its name either.

I'd like to add Conflicts: python3-swiftclient to the swift-lang.spec file for the language to prevent any issues. I was looking at this page to see what needed to be done and it indicates that it must be discussed with the Packaging Committee, thus my creation of this issue.

Thanks for taking a look at this.

Ron


Please don't use https://fedoraproject.org/wiki/Packaging:Conflicts#Other_Uses_of_Conflicts: -- use https://docs.fedoraproject.org/en-US/packaging-guidelines/Conflicts/

This looks like the case of https://docs.fedoraproject.org/en-US/packaging-guidelines/Conflicts/#_binary_name_conflicts from https://docs.fedoraproject.org/en-US/packaging-guidelines/Conflicts/#_common_conflicting_files_cases_and_solutions -- and it does not require discussion with the Packaging Committee.

Try the approaches listed there (contacting upstreams). In the meantime, add the explicit Conflicts, as this is not the case for alternatives or environment modules -- the binaries do not provide similar functionality.

I don't think Apple will change the name of the swift compiler's executable just because there's a random Python package that also ships a script with that name :sweat_smile:

I'm also a bit confused why swiftclient chose that name - it's a client for the "Openstack Object Storage API" ...
https://src.fedoraproject.org/rpms/python-swiftclient/blob/rawhide/f/python-swiftclient.spec#_16-17

I also don't really understand why the package ships with swift and swift-3 - it mentions Python 2 / 3 stuff in a comment, but I'm pretty sure that no longer applies :)
https://src.fedoraproject.org/rpms/python-swiftclient/blob/rawhide/f/python-swiftclient.spec#_100

I don't think Apple will change the name of the swift compiler's executable just because there's a random Python package that also ships a script with that name :sweat_smile:

I meant the other way around.

I also don't really understand why the package ships with swift and swift-3 - it mentions Python 2 / 3 stuff in a comment, but I'm pretty sure that no longer applies :)
https://src.fedoraproject.org/rpms/python-swiftclient/blob/rawhide/f/python-swiftclient.spec#_100

The problem with executables like foo-3 from the Python 2/3 era is that once you ship it, people will use it. Removing it will break them.

For example, ~230 Fedora spec files use sphinx-build-3, ~40 use py(.)test-3.

Log in to comment on this ticket.

Metadata