[Fedora-packaging] Allowing only one package to provide a virtual capability

Alan Evans alan.evans at secure-24.com
Tue Apr 28 21:27:25 UTC 2009


I am sorry if this is the wrong place but it seems that the rpm-list
does not exist any more and this list looks to be the best fit
otherwise.

I am trying to create a few packages that all provide a virtual
capability but would like to allow only one of these packages to be
installed at a time.  Has to be compatible with RPM 4.2 and greater.
(RHEL4 and RHEL5)

<snip>
Name: package-a
Provides: package-a config(package)
</snip>

<snip>
Name: package-b
Provides: package-b config(package)
</snip>

<snip>
Name: package-c
Provides: package-c config(package)
</snip>

I could obviously add Conflicts: package-b package-c to package
package-a and so on, but every time I add a new package-X I have to
manually go through my spec files and update the Conflicts tags.  Again
I suppose I could script the update but it seems less elegant.

I tried:
<snip>
Name: package-a
Provides: package-a config(package)
Conflicts: config(package)
</snip>

But the result is:
config(package) conflicts with package-a-1.1-1.svn20090428.noarch

I thought I saw something like this in another list, will post link if I
can find it.  Where the goal was to only allow one package that provides
a particular virtual capability.

Anyone know how to accomplish this or if this is the wrong list can you
direct me to a better resource?

Regards,
-Alan




More information about the Fedora-packaging mailing list