On 2018-03-18 11:48 AM, Nicolas Mailhot wrote:
Le dimanche 18 mars 2018 à 11:22 -0400, Digimer a écrit :
So this isn't a version conflict, as seems to be what Conflicts and Obsoletes are designed to handle, if I understand properly.
It is a conflict between the packages.
What you can’t do is to allow the installation of one package to replace the others, because for rpm and dnf installations and updates have the same constrains (so if foo-b is allowed to replace foo-a it will do it for updates too)
So you have too solutions:
- make the packages conflict, to force users to choose one of them.
Installation of each packages will be forbidden while one of the others is present
- make sure the packages do not conflict, and can be parallel
installed. Handle role conflicts at runtime, making sure whatever is executed in each role refuses to run if one of the others is already running (via lockfile for example)
Hi,
I think "Conflict" is the way to go. However, given how much the guide urges not to use 'Conflicts', I worry that will make it harder/impossible later to have the package accepted into Fedora.
Would a use-case like this be an acceptable exception, would you guess?
As I mentioned in my reply to Micheal, I am not worried about auto-removal. If it simply refused to install one sub-package until the other is gone, that's fine.