Packages adding groups in %pre/post

Panu Matilainen pmatilai at laiskiainen.org
Tue Dec 23 07:33:09 UTC 2008


On Mon, 22 Dec 2008, Panu Matilainen wrote:

> On Mon, 22 Dec 2008, Bill Nottingham wrote:
>
>> Jesse Keating (jkeating at redhat.com) said:
>>>> How on earth do you get things installed w/o setup first?
>>>> glibc -> basesystem -> setup.
>>> 
>>> *shrug* it's just anaconda doing it's package install to build the
>>> install image.  Given that shadow-utils doesn't mention setup at all,
>>> rpm can't possibly know that setup should come before shadow-utils.
>> 
>> Sure it does.
>> 
>> Package A has a Requires(pre) on shadow-utils. Hence, shadow-utils
>> must be installed *and functional* before A is installed. This means
>> shadow-utils and all its requirements.
>> 
>>> From there it's a simple dependency chain - shadow-utils -> glibc
>> -> basesystem -> setup.
>> 
>> So, if it's not getting installed right, rpm or yum is broken in some
>> way.
>
> ...or there's some funny new dependency loop somewhere, breaking the 
> ordering.

And yes there are nasty loops:
http://laiskiainen.org/tmp/fedora-rawhide-231208-loops.txt
For a reproducer try:
yum --disablerepo="*" --enablerepo=rawhide --installroot=<somewhere> install sed"

This is so not going to work:
[pmatilai at localhost badorder]$ rpm -qp --scripts 
setup-2.7.5-3.fc11.noarch.rpm
postinstall scriptlet (using /bin/sh):
if [ `grep -c video /etc/group` -eq 0 ] ; then
   groupadd -g 39 video
fi
if [ `grep -c audio /etc/group` -eq 0 ] ; then
   groupadd -g 63 audio
fi

[pmatilai at localhost badorder]$ rpm -qp --requires setup-2.7.5-3.fc11.noarch.rpm |grep -v rpmlib
/bin/sh
config(setup) = 2.7.5-3.fc11
grep


 	- Panu -




More information about the fedora-devel-list mailing list