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