Packages adding groups in %pre/post

Panu Matilainen pmatilai at
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 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:
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 
postinstall scriptlet (using /bin/sh):
if [ `grep -c video /etc/group` -eq 0 ] ; then
   groupadd -g 39 video
if [ `grep -c audio /etc/group` -eq 0 ] ; then
   groupadd -g 63 audio

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

 	- Panu -

More information about the fedora-devel-list mailing list