#224 Approval of Conflicts: in a new package
Closed: Fixed None Opened 11 years ago by msekleta.

Hello FPC,

I am involved in a package review process of hylafax package (bug #188542), because there is a binary conflict with package I am maintainer of (mgetty-sendfax).
I've came to conclusion that only solution to resolve a conflict is to make a case to FPC. I've proposed renaming binaries in hylafax, however this was rejected as unacceptable. Argument made by hylafax maintainer, was that hylafax is widely deployed, thus renaming upstream is not viable because it will break many clients.

I don't have a problem with Conflicts: mgetty-sendfax in hylafax specfile, because I think it's obvious that both packages are mutually exclusive and must not be installed at the same time.

I'm submitting this ticket because I want to make sure we are following guidelines as we go along review process. Any clarification information on how to proceed with this review is very appreciated.

Regards,

Michal Sekletar


With a very brief look, I don't see anything here that would warrant an exception. For similar cases in the past where multiple packages were using the same binary names for a long time we've required one of the packages to rename their binaries.

I recognize that Fedora may have a history of being very conservative with respect to allowing Conflicts, and I don't mean to disrespect the reasoning behind that position. However, here we have a situation where HylaFAX has been around for over 20 years, and mgetty+sendfax has been around for almost as long. I know that there are many hundreds, possibly thousands, of HylaFAX installs worldwide, and I must assume that there are likewise numerous installations of mgetty+sendfax. As stated on the bug report, the "sendfax" and "faxrm" parts of mgetty+sendfax were deliberately made-to-conflict by the author (again, nearly 20 years ago). At this point the history behind the packages and their wide exposure is not something that can be changed or undone simply by enforcing a policy in Fedora.

By not making an exception in this case Fedora is placing a silly burden upon its users... to either learn different binary names or to install from outside the repository.

Other distributions have accommodated this issue since years ago. (I'm specifically referring to Debian here... which has both hylafax and mgetty-fax packages without renaming binaries.)

Is the fallout from the Conflicts really worse than the repercussions from having to deal with new names for the binaries? Is it really worse than continuing to require users to obtain the package from outside of the repository? I would suggest that permitting the Conflicts is the least-problematic approach.

Amend Conflicts guidelines to read: "If neither upstream is willing to rename the binaries to resolve the conflict, and the binaries are not viable candidates for alternatives (incompatible runtimes), as long as there are no clear cases for both packages to be installed simultaneously, explicit Conflicts are permitted at the packager's discretion. Both packages must carry Conflicts in this case. Be aware, adding explicit Conflicts means that if any other packages depend on your package, you may be creating a chain-of-conflicts that could cause user pain. Please consider this as a last resort." (+1:5, 0:1, -1:0)

Announce text:

In the specific case where multiple software components generate identically named (but incompatible) binaries, Fedora Packagers should make every effort to convince the upstreams to rename the binaries to resolve the conflict (see: Packaging:Conflicts#Binary_Name_Conflicts). However, if neither upstream is willing to rename the binaries to resolve the conflict, AND the binaries are not viable candidates for alternatives or environment modules (incompatible runtimes), as long as there are no clear cases for both packages to be installed simultaneously, explicit Conflicts are permitted at the packager's discretion. Both packages must carry Conflicts in this case.

Be aware, adding explicit Conflicts means that if any other packages depend on your package, you may be creating a chain-of-conflicts that could cause user pain. Please consider this as a last resort.

https://fedoraproject.org/wiki/Packaging:Conflicts#Incompatible_Binary_Files_with_Conflicting_Naming_.28and_stubborn_upstreams.29

Metadata Update from @toshio:
- Issue assigned to spot

7 years ago

Login to comment on this ticket.

Metadata