Explicit Conflicts: in leaf packages #1488
Labels
No labels
announce
bootstrap
Closed As
accepted
Closed As
duplicate
Closed As
exceptionexpired
Closed As
fixed
Closed As
invalid
Closed As
nothingtodo
Closed As
permanentexception
Closed As
rejected
Closed As
temporaryexception
Closed As
wontfix
cmake
committee
draftneeded
hasdraft
meeting
meson
needinfo
Priority
In Committee
Priority
Needs Review
Priority
Waiting For Reporter
rust
writeup
No milestone
No project
No assignees
4 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
packaging/guidelines#1488
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
There appear to be
postgresql18-server,postgresql17-server, andpostgresql16-serverpackages (and possibly others) in today’s Fedora 43. These packages are not parallel-installable. That said, havingpostgresql16-serveravailable is admittedly very useful as a “compat” package in F43, since users upgrading from F42 can continue using PostgreSQL 16 without a data directory upgrade.The Conflicts page touches on this topic:
However, at least
postgresql17-serveris not a true compat package (it's just a leaf alternative). Could we document this practice of providing “alternatives” as acceptable (withConflicts:)?Also, should we document somewhere the recommended way for users to switch between such package versions?
I've moved this to the correct tracker (from fesco/3474, sorry for the noise) and found a related issue, #1304, although it does not discuss parallel (non)instability.
I think in general we have moved away from the concept of "compat" packages in favor of just using properly versioned packages, but we haven't considered all of the places where the concept of "compat" packages was referenced.
The basic question is simply should the various different multiple versions be allowed to conflict with each other, and I think on some level that has to be allowed. I think we should certainly encourage it and I think with enough work it should be possible to do it in many cases, but not in all. And there's a question of how much work we should expect packagers to do here.
Documenting how users would switch between such packages would be quite out of the scope of the packaging guidelines, because they are definitely not where users would go to find such information.
The problem is that a standard command like
dnf install compatpkg20fails. This makes the package appear broken, which would lead a typical user to file a bug report. If we are going to allow this pattern, there should be a supported way to install/reinstall these packages. The goal is to encourage higher package quality and to clearly define what is a bug and what is not.For instance, I was encouraged to run
dnf install compat --allowerasing, which seems much more dangerous thandnf swap. I would say that ifdnf swapfails, it's a bug (and if maintainers provide these leaf packages, they should provide an easy way to swap those). However, my perspective might be too pedantic.Note also the exception wording for new packages that do not require review https://docs.fedoraproject.org/en-US/packaging-guidelines/ReviewGuidelines/#_package_review_exceptions
This probably needs change.
My understanding is that such packages with conflicts would still need a review, so the conflicts could be reviewed.
FYI, #1552 would remove that clause so that versioned packages with conflicts qualify for review exception.