running catalyst 2.0rc33 from my stage4 spec file: stage4/rcadd: coldplug|default syslog-ng|default net.eth2|default ntp-client|default ntpd|default sshd|default and the output during the build: ... Running action sequence: rcupdate copying rc-update.sh to /brontes/installer/catalyst/tmp/foo/stage4-amd64-20060207.1/tmp/ copying chroot-functions.sh to /brontes/installer/catalyst/tmp/foo/stage4-amd64-20060207.1/tmp/ Running rc-update.sh in chroot /brontes/installer/catalyst/tmp/foo/stage4-amd64-20060207.1/ Adding coldplug to default Runlevel default doesn't exist .... creating it * coldplug added to runlevel default * rc-update complete. Adding syslog-ng to default Runlevel default doesn't exist .... creating it * syslog-ng added to runlevel default * rc-update complete. Adding net.eth2 to default Runlevel default doesn't exist .... creating it * /sbin/rc-update: /etc/init.d/net.eth2 not found; aborting. Adding ntp-client to default Runlevel default doesn't exist .... creating it * ntp-client added to runlevel default * rc-update complete. Adding ntpd to default Runlevel default doesn't exist .... creating it * ntpd added to runlevel default * rc-update complete. Adding sshd to default Runlevel default doesn't exist .... creating it * sshd added to runlevel default * rc-update complete. removing /brontes/installer/catalyst/tmp/foo/stage4-amd64-20060207.1/tmp/chroot-functions.sh from the chroot Running action sequence: unmerge Running action sequence: unbind ... build completes and the init scripts are added to the proper runlevel.
So what exactly is it doing wrong? Simply throwing extra output?
yes, functionally it is just extra output. if catalyst is actually creating runlevel 'default' each time, it is not harming anything.
Fixed in 2.0_rc36
still happening with Gentoo Catalyst, version 2.0_rc38
Please paste some output. I modified the code here, so I'm really wondering how you could possibly be still getting the error.
output with Gentoo Catalyst, version 2.0_rc38 looks the same: ... Running action sequence: root_overlay Running action sequence: fsscript Running action sequence: preclean copying stage4-preclean-chroot.sh to /brontes/installer/catalyst/tmp/trident/stage4-amd64-20060207.2/tmp/ copying chroot-functions.sh to /brontes/installer/catalyst/tmp/trident/stage4-amd64-20060207.2/tmp/ Running stage4-preclean-chroot.sh in chroot /brontes/installer/catalyst/tmp/trident/stage4-amd64-20060207.2/ removing /brontes/installer/catalyst/tmp/trident/stage4-amd64-20060207.2/tmp/chroot-functions.sh from the chroot Running action sequence: rcupdate copying rc-update.sh to /brontes/installer/catalyst/tmp/trident/stage4-amd64-20060207.2/tmp/ copying chroot-functions.sh to /brontes/installer/catalyst/tmp/trident/stage4-amd64-20060207.2/tmp/ Running rc-update.sh in chroot /brontes/installer/catalyst/tmp/trident/stage4-amd64-20060207.2/ Adding coldplug to default Runlevel default doesn't exist .... creating it * coldplug added to runlevel default * rc-update complete. Adding syslog-ng to default Runlevel default doesn't exist .... creating it * syslog-ng added to runlevel default * rc-update complete. Adding ntp-client to default Runlevel default doesn't exist .... creating it * ntp-client added to runlevel default * rc-update complete. Adding ntpd to default Runlevel default doesn't exist .... creating it * ntpd added to runlevel default * rc-update complete. Adding sshd to default Runlevel default doesn't exist .... creating it * sshd added to runlevel default * rc-update complete. removing /brontes/installer/catalyst/tmp/trident/stage4-amd64-20060207.2/tmp/chroot-functions.sh from the chroot Running action sequence: unmerge Running action sequence: unbind umount: /brontes/installer/catalyst/tmp/trident/stage4-amd64-20060207.2/dev: device is busy umount: /brontes/installer/catalyst/tmp/trident/stage4-amd64-20060207.2/dev: device is busy !!! catalyst: First attempt to unmount: /brontes/installer/catalyst/tmp/trident/stage4-amd64-20060207.2//dev failed. !!! catalyst: Killing any pids still running in the chroot Checking for processes running in chroot and killing them. ... in my spec (lines are indented with tabs): stage4/rcadd: coldplug|default syslog-ng|default ntp-client|default ntpd|default sshd|default could this be the problem. in /usr/lib/catalyst2/targets/support/rc-update.sh: echo "Adding ${x%%|*} to ${x##*|}" if [ ! -d /etc/runlevels/${x##|*} ] then echo "Runlevel ${x##*|} doesn't exist .... creating it" mkdir -p "/etc/runlevels/${x##*|}" fi rc-update add "${x%%|*}" "${x##*|}" if [ ! -d /etc/runlevels/${x##|*} ] should really be if [ ! -d /etc/runlevels/${x##*|} ]
Could you post lines 52 though 58 of targets/support/rc-update.sh here? Thanks
50: for x in ${clst_rcadd} 51: do 52: echo "Adding ${x%%|*} to ${x##*|}" 53: if [ ! -d /etc/runlevels/${x##|*} ] 54: then 55: echo "Runlevel ${x##*|} doesn't exist .... creating it" 56: mkdir -p "/etc/runlevels/${x##*|}" 57: fi 58: rc-update add "${x%%|*}" "${x##*|}" 59: done
this patch fixes the problem: --- rc-update.sh.orig 2006-02-15 10:50:31.000000000 -0500 +++ rc-update.sh 2006-02-15 10:53:44.000000000 -0500 @@ -50,7 +50,7 @@ for x in ${clst_rcadd} do echo "Adding ${x%%|*} to ${x##*|}" - if [ ! -d /etc/runlevels/${x##|*} ] + if [ ! -d /etc/runlevels/${x##*|} ] then echo "Runlevel ${x##*|} doesn't exist .... creating it" mkdir -p "/etc/runlevels/${x##*|}"
I've fixed this in CVS... thanks for the bug report and the patch... =]
This is fixed in catalyst for a bit now.