On Mon, Nov 5, 2012 at 6:07 AM, Adrian Schröter
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).
That seems to have fixed it. Thanks -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org