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
On Tue, 28 Apr 2009 17:27:25 -0400 "Alan Evans" alan.evans@secure-24.com wrote:
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?
Not the answer you're looking for but perhaps you could use "alternatives" to support parallel installation of all of your packages but only enabling one to be "active" at any one time?
This is for instance how the various MTAs (sendmail, postfix, exim etc.) work.
Paul.
"Alan Evans" alan.evans@secure-24.com writes:
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. ... Anyone know how to accomplish this or if this is the wrong list can you direct me to a better resource?
%package a Provides: foo(%name) = a Conflicts: foo(%name) < a Conflicts: foo(%name) > a
Enrico
packaging@lists.fedoraproject.org