[Mageia-sysadm] setup package not installed until quite late on...

Colin Guthrie mageia at colin.guthr.ie
Mon Apr 1 17:52:27 CEST 2013

'Twas brillig, and Thierry Vignaud at 01/04/13 14:37 did gyre and gimble:
> On 1 April 2013 15:24, Colin Guthrie <mageia at colin.guthr.ie> wrote:
>>> The setup package contains /etc/group and friends, but when installing a
>>> chroot, it is not installed until after some packages which require the
>>> default groups it defines (e.g. sysvinit-legacy-tools requires the tty
>>> group yet it is installed before setup.
>>> Now here comes the tricky part... As part of the very first transaction
>>> which includes filesystem and glibc, dash-static is pulled in.
>>> dash-static requires the "mail" group defined by setup package.
>>> So really glibc requires dash-static which requires setup which requires
>>> glibc and shadow-utils and run-parts...
>>> Do we really want to add this loop?
>>> I'd suggest we should rejig setup to not have a hard require on glibc,
>>> shadow-utils and run-parts but still run it's current scripts if the
>>> needed binaries/tools are installed (i.e. on package upgrade) and then
>>> rejig dash-static to Require(pre): setup. This should ensure things are
>>> installed properly (I think - although not sure how this will affect the
>>> initial transaction split...)
>>> Any other/better thoughts?
> rewrite glibc scriptlets in lua instead of sh
> See http://www.rpm.org/wiki/PackagerDocs/RpmLua

The glibc scriptlets don't seem to really *need* dash-static anyway...

[root at jimmy ~]# rpm -q --scripts glibc| grep dash
preinstall scriptlet (using /usr/bin/dash.static):

So it's only the preinst script. That should be trivial to rewrite in lua.

OK, so that does avoid the loop, but....... should we still try to work
out a nice way to get "setup" (and thus the default groups that packages
may use) installed early or is it just a housekeeping job to make sure
packages Require(pre) setup package if they want to use the users
defined in it?

Perhaps we could add some kind of rpmfilter thingy to automatically add
this Require(pre)? Is that possible? If so then it might also be
possible to write similar automatic Require(pre,post,etc) to packages
using rpm-helper stuff too... that would be be quire nice and reduce the
packaging burden :)



Colin Guthrie

Day Job:
  Tribalogic Limited http://www.tribalogic.net/
Open Source:
  Mageia Contributor http://www.mageia.org/
  PulseAudio Hacker http://www.pulseaudio.org/
  Trac Hacker http://trac.edgewall.org/

More information about the Mageia-sysadm mailing list