[Rpm-maint] Enforce install/erase order without adding a Requires:
Panu Matilainen
pmatilai at laiskiainen.org
Fri Nov 26 08:22:56 UTC 2010
On Thu, 25 Nov 2010, R P Herrold wrote:
> On Thu, 25 Nov 2010, FlorianFesti wrote:
>
>> There have been various issues with packages that demand a special order of
>> installation but do not want to Require the package to be installed first.
>> So a tag that is like Requires: during ordering but ignored otherwise is
>> needed.
>
>> "OrderWithRequires:" It is not really beautiful ...
>
> The phrase 'do not want to Require the package' says to me:
> Suggests:
> -or-
> Enhances:
> which are basically saying a non-mandatory: Requires:
See Florian's reply - Suggests/Enhances and friends have attached fluffy
semantics any depsolver is free to interpret as they wish. The ordering
hints have clear semantics: If (and only if) the associated dependencies
are present in a transaction, use this additional information for
ordering. Depsolvers should not do anything at all with them, ever.
> It is my strong recollection that RPM previously had soft Requires. The
> rpm-list shows this in the thread from Peters around 10 Jan 2006
Rpm.org releases never had soft requires. The tags exist but they
haven't been used (so far).
> cAos and Mezzanine used it
>
> I think it was in part a response to:
> https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=114338
>
> What Trac or Bug number is driving this 'do not want to Require the package'
> 'functional requirement' so that I may review it, and try to understand why
> well known [from prior RPM experience and from Debian practice] (and not so
> ugly formulations) such as Suggests or Enhances are not preferred?
The request for this is scattered over mailing lists, private
communication and RH bugzilla over time, I don't have a direct reference
at hand. But a short summary of the case:
Kernel initrd creation (mkinitrd, dracut) mechanisms have special needs:
they can have support for arbitrary number of rare, special hardware
packeges that shouldn't be dragged in on every installation. Yet if those
optional packages are installed, they should be installed before the
initrd generation to ensure latest versions (be it bug/security fix or
just an enhancement) get bundled up in the initrd on updates. Requires are
currently needed to ensure the ordering, which is bad. Suggests/Recommends
etc are not at all optimal here either as their behavior depends on
depsolver policy. Also while anybody can take advantage of extra features
supported through optional packages on regular software (so it makes sense
to at least show the soft dependencies to all users), hardware support is
different: if you dont have a piece of hardware then you dont and there's
no point suggesting them to everybody.
- Panu -
More information about the Rpm-maint
mailing list