[Rpm-maint] allow to remove Requires(pre) or not?

Panu Matilainen pmatilai at redhat.com
Thu Feb 28 06:59:45 UTC 2008


On Thu, 28 Feb 2008, Panu Matilainen wrote:

> On Wed, 27 Feb 2008, Ville Skyttä wrote:
>
>> On Tuesday 26 February 2008, Panu Matilainen wrote:
>>> On Sat, 23 Feb 2008, Pixel wrote:
>> 
>>>> as for me i'm not convinced that "Requires(pre) not implying Requires"
>>>> is a feature. I would be in favor of "Requires(xxx) implies Requires".
>>> 
>>> Agreed, permitting remove of (pre|post|...)-only dependencies because they
>>> might not be strictly needed at runtime serves no purpose at all. It only
>>> permits creating absurd situations like having to install another package
>>> in order to be able to remove something you have installed.
>> 
>> FWIW, I agree for Requires(preun) and Requires(postun), but not for others.
>> What's the problem with allowing removal of stuff pulled in by 
>> Requires(pre)
>> or Requires(post) after the corresponding %pre or %post script has already
>> run and will never run again?
>
> If they would never run again I'd agree, but they will on next upgrade of 
> that package. So removing things required by pre/post is in vain because any 
> upgrade to that package will just bring the dependency back.

To be exact: of course the very script of the installed package wont run 
ever again, but in nearly all cases an updated version of the package will 
have the same dependencies on it's pre/post, thus bringing back the 
dependencies you just removed manually.

So in practise, the "feature" is not as useful as it might first seem, and 
treating a couple of scriptlet types differently from everything else is 
just inconsistent and quirky behavior. I'd much rather have all of the 
scriptlet dependencies treated consistently than "optimize" for a rare 
cases where a package never ever receives updates or happens to drop 
any/all of it's pre/post dependencies.

 	- Panu -


More information about the Rpm-maint mailing list