Mailinglist Archive: opensuse-buildservice (170 mails)

< Previous Next >
Re: [opensuse-buildservice] Ubuntu 12.10 x11-common postinst bug
  • From: Adrian Schröter <adrian@xxxxxxx>
  • Date: Mon, 05 Nov 2012 10:07:35 +0100
  • Message-id: <1711980.VxgDUQKflb@scherben>
Am Freitag, 2. November 2012, 09:12:10 schrieb Martin Koegler:
As I also hit the same issue, I looked at the problem:

[ 192s] [191/305] installing x11-common
[ 192s] Selecting previously unselected package x11-common.
[ 194s] Can't exec "insserv": No such file or directory at
/usr/sbin/update-rc.d line 417.
[ 194s] update-rc.d: error: insserv rejected the script header
[ 194s] dpkg: error processing x11-common (--install):
[ 194s] subprocess installed post-installation script returned error exit
status 255
[ 194s] Errors were encountered while processing:
[ 194s] x11-common
[ 194s] exit ...

x11-common simply manages a initscript via update-rc.d - the bug is inside
update-rc.d (part of sysv-rc package).

update-rc.d checks, if /etc/init.d/.legacy-bootordering is present. If yes,
it changes the etc directory itself, else it calls
inserv [expecting, that it is in the path - the insserv package ships this
exectuable in /usr/lib/insserv].

The postinst of sysv-rc creates /etc/init.d/.legacy-bootordering, if still
some init scripts are linked as
/etc/rc0.d/S*

In a Ubunutu 12.04 (as well as Ubuntu 12.10) chroot, update-rc.d is broken,
if there is no /etc/init.d/.legacy-bootordering.

Ensuring, that there is a /etc/init.d/.legacy-bootordering after sysv-rc is
installed and configured, should solve the problem.

I don't fully understand the OBS bootstrap nor have I tried to reproduce the
bootstrap, but in my option the problem
is caused by the fact, that passwd on 12.10 got a depenendency to upstart
added. So initscripts/sysv-rc.d are installed
in the first phase (--prepare) - according to the build logs (and the project
config), it's postinst are not started.

So in my option, OBS could add a workaround to create a
/etc/init.d/.legacy-bootordering after finishing prepare.
Running the initscripts of sysc-rc.d/initscripts could also be an option.

Thanks a lot for this analyse. I have added a hint to run the scripts of
sysv-rc package directly
after preinstall now. (This means packages lack actually correct pre-require
definitions, 12.10 seems
to be really highly broken dependency wise, because it is not the first one).

--
Adrian Schroeter
SUSE Linux Products GmbH
email: adrian@xxxxxxx

--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-buildservice+owner@xxxxxxxxxxxx

< Previous Next >
Follow Ups
References