package names in dependencies
Jakub Bogusz
qboosh at pld-linux.org
Tue Mar 23 17:27:57 CET 2021
On Tue, Mar 23, 2021 at 12:18:36PM -0400, Neal Gompa wrote:
> On Tue, Mar 23, 2021 at 11:39 AM Elan Ruusamäe <glen at pld-linux.org> wrote:
> >
> >
> > On 23.03.2021 12:59, Neal Gompa wrote:
> > > On Tue, Mar 23, 2021 at 5:04 AM Elan Ruusamäe <glen at pld-linux.org> wrote:
> > >> i found some odd inconsistency:
> > >>
> > >>
> > >> error: line 319: Illegal char ')' (0x29) in: Obsoletes: virtual(init-daemon)
> > >> error: line 319: Only package names are allowed in Obsoletes:
> > >> Obsoletes: virtual(init-daemon)
> > >>
> > >>
> > >> So: "Obsoletes: virtual(init-daemon)" is not okay, but it's fine on some
> > >> other tags;
> > >>
> > >>
> > >> Requires: webserver(indexfile)
> > >> Requires: webserver(php) >= 4.2.0
> > >> Suggests: php(openssl)
> > >> Suggests: webserver(setenv)
> > >> Provides: group(eventum)
> > >> Provides: user(eventum)
> > >>
> > > Obsoletes has to be a real package name, but virtual names are allowed
> > > for other tags.
> > Why?
> > > This was always the case in RPM, but it started enforcing it in RPM 4.13.
> >
> > PLD has used virtual obsoletes for the time i've used it (since 2004).
> >
> > and we are using it when multiple packages provide something common, say:
> >
> > 'init-daemon"
> >
> > they are mutually exclusive, so installing one, must uninstall the other.
> >
> > and if adding new "virtual(init-daemon)" virtual, without need to update
> > other packages, they all can have O/P: virtual(init-daemon)
> >
> >
> > now rpm enforces that each of those packages must cross reference all
> > 'the other' virtuals... duh!
> >
>
> RPM since RPM 4.10 supports mutual exclusion by using Provides + Conflicts.
>
> For example, the following is enough to get the behavior you want:
>
> Provides: init-daemon
> Conflicts: init-daemon
Uhm, AFAIR such combo was treated as self-conflict by some RPM-based package
management software, thus making package non-installable...
Does it have well defined semantics now?
--
Jakub Bogusz http://qboosh.pl/
More information about the pld-devel-en
mailing list