1
0
Эх сурвалжийг харах

Use new initd-tools package, store log times in UTC, use soft depenendencies for minimal install target

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@8558 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
DJ Lucas 17 жил өмнө
parent
commit
67de919e34

+ 6 - 0
bootscripts/contrib/lsb-v3/ChangeLog

@@ -1,4 +1,10 @@
 ChangeLog
+
+20080907 - [dj] * Use new initd-tools package to activate scripts.
+                * $syslog and modules services cannot be a hard dependencies
+                  due to minimal install target.
+                * Store bootlog date in UTC.
+
 20080831 - [dj] * Corrected more, and minimized dependencies in scripts.
                 * Don't try to write to bootlog in 0 and 6.
                 * Use /etc/rcS.d instead of /etc/rcsysinit.d - added

+ 24 - 25
bootscripts/contrib/lsb-v3/INSTALL

@@ -1,32 +1,31 @@
 LSB-V3 Installation:
 
-Inline LFS installation:  make install &&
-                          sed -i.bak 's@/etc/rc.d@/etc@' /etc/inittab
+NOTE:  initd-tools must be installed prior to installation of these scripts.
 
+initd-tools installation:
 
-After LFS:  for file in /etc/rc.d /etc/sysconfig/rc /etc/sysconfig/modules \
-                /etc/sysconfig/createfiles
-              do
-                mv $file $file.bak
-              done &&
-            make install &&
-            sed -i.bak 's@/etc/rc.d@/etc@' /etc/inittab
+Download initd-tools from: 
+http://www.dwcab.com/downloads/initd-tools/initd-tools-0.1.2.tar.gz
 
+        ./configure &&
+        make &&
+        make check &&
+        make install
+    
+Inline installation of lsb-v3 bootscripts:
+        sudo make install
+
+After LFS installation of lsb-v3 bootscripts:
+        for file in /etc/rc.d /etc/sysconfig/rc /etc/sysconfig/modules \
+            /etc/sysconfig/createfiles
+        do
+            mv $file $file.bak
+        done &&
+        make install
+
+There is no longer an upgrade path for existing installations. You will have
+to reinstall any bootscripts installed by BLFS or any self written scripts.
+Fortunately, this will soon be very easy for BLFS scripts as a contrib 
+directory containing lsb-v3 scripts will be added in the near future.
 
-With existing scripts:  HERE=$PWD
-                        cp -a /etc/rc.d /etc/rc.d.bak &&
-                        mv /etc/rc.d/* /etc &&
-                        cd /etc/rc.d &&
-                        ln -s ../rc*.d . &&
-                        ln -s ../init.d . &&
-                        for file in /etc/rc.d /etc/syconfig/rc \
-                            /etc/sysconfig/modules /etc/sysconfig/createfiles
-                          do
-                            mv $file $file.bak
-                          done &&
-                        cd $HERE &&
-                        unset HERE &&
-                        make install &&
-                        sed -i.bak 's@/etc/rc.d@/etc/@' /etc/inittab
-                        
 That's it!

+ 56 - 77
bootscripts/contrib/lsb-v3/Makefile

@@ -27,78 +27,59 @@ create-boottemp-dir:
 	install -d -m ${DIRMODE} ${EXTDIR}/init.d/boottemp
 
 install: create-dirs create-service-dir create-boottemp-dir
-	install -m ${MODE} init.d/checkfs           ${EXTDIR}/init.d/
-	install -m ${MODE} init.d/cleanfs           ${EXTDIR}/init.d/
-	install -m ${CONFMODE} init.d/lfs-functions ${EXTDIR}/init.d/
-	install -m ${MODE} init.d/halt              ${EXTDIR}/init.d/
-	install -m ${MODE} init.d/console           ${EXTDIR}/init.d/
-	install -m ${MODE} init.d/localnet          ${EXTDIR}/init.d/
-	install -m ${MODE} init.d/modules           ${EXTDIR}/init.d/
-	install -m ${MODE} init.d/mountfs           ${EXTDIR}/init.d/
-	install -m ${MODE} init.d/mountkernfs       ${EXTDIR}/init.d/
-	install -m ${MODE} init.d/network           ${EXTDIR}/init.d/
-	install -m ${MODE} init.d/rc                ${EXTDIR}/init.d/
-	install -m ${MODE} init.d/reboot            ${EXTDIR}/init.d/
-	install -m ${MODE} init.d/sendsignals       ${EXTDIR}/init.d/
-	install -m ${MODE} init.d/setclock          ${EXTDIR}/init.d/
-	install -m ${MODE} init.d/sysklogd          ${EXTDIR}/init.d/
-	install -m ${MODE} init.d/swap              ${EXTDIR}/init.d/
-	install -m ${MODE} init.d/sysctl            ${EXTDIR}/init.d/
-	install -m ${MODE} init.d/template          ${EXTDIR}/init.d/
-	install -m ${MODE} init.d/udev              ${EXTDIR}/init.d/
-	install -m ${MODE} init.d/udev_retry        ${EXTDIR}/init.d/
-	install -m ${CONFMODE} lsb/init-functions   ${DESTDIR}/lib/lsb/
-	install -m ${CONFMODE} lsb/manage-functions ${DESTDIR}/lib/lsb/
-	install -m ${CONFMODE} etc/lsb-config       ${EXTDIR}/lsb/
-	ln -sf ../init.d/network     ${EXTDIR}/rc0.d/K80network
-	ln -sf ../init.d/sysklogd    ${EXTDIR}/rc0.d/K90sysklogd
-	ln -sf ../init.d/sendsignals ${EXTDIR}/rc0.d/S60sendsignals
-	ln -sf ../init.d/mountfs     ${EXTDIR}/rc0.d/S70mountfs
-	ln -sf ../init.d/swap        ${EXTDIR}/rc0.d/S80swap
-	ln -sf ../init.d/localnet    ${EXTDIR}/rc0.d/S90localnet
-	ln -sf ../init.d/halt        ${EXTDIR}/rc0.d/S99halt
-	ln -sf ../init.d/network     ${EXTDIR}/rc1.d/K80network
-	ln -sf ../init.d/sysklogd    ${EXTDIR}/rc1.d/K90sysklogd
-	ln -sf ../init.d/network     ${EXTDIR}/rc2.d/K80network
-	ln -sf ../init.d/sysklogd    ${EXTDIR}/rc2.d/K90sysklogd
-	ln -sf ../init.d/sysklogd    ${EXTDIR}/rc3.d/S10sysklogd
-	ln -sf ../init.d/network     ${EXTDIR}/rc3.d/S20network
-	ln -sf ../init.d/sysklogd    ${EXTDIR}/rc4.d/S10sysklogd
-	ln -sf ../init.d/network     ${EXTDIR}/rc4.d/S20network
-	ln -sf ../init.d/sysklogd    ${EXTDIR}/rc5.d/S10sysklogd
-	ln -sf ../init.d/network     ${EXTDIR}/rc5.d/S20network
-	ln -sf ../init.d/network     ${EXTDIR}/rc6.d/K80network
-	ln -sf ../init.d/sysklogd    ${EXTDIR}/rc6.d/K90sysklogd
-	ln -sf ../init.d/sendsignals ${EXTDIR}/rc6.d/S60sendsignals
-	ln -sf ../init.d/mountfs     ${EXTDIR}/rc6.d/S70mountfs
-	ln -sf ../init.d/swap        ${EXTDIR}/rc6.d/S80swap
-	ln -sf ../init.d/localnet    ${EXTDIR}/rc6.d/S90localnet
-	ln -sf ../init.d/reboot      ${EXTDIR}/rc6.d/S99reboot
-	ln -sf ../init.d/mountkernfs ${EXTDIR}/rcS.d/S00mountkernfs
-	ln -sf ../init.d/sysctl      ${EXTDIR}/rcS.d/S05sysctl
-	ln -sf ../init.d/modules     ${EXTDIR}/rcS.d/S10modules
-	ln -sf ../init.d/udev        ${EXTDIR}/rcS.d/S15udev
-	ln -sf ../init.d/swap        ${EXTDIR}/rcS.d/S20swap
-	ln -sf ../init.d/setclock    ${EXTDIR}/rcS.d/S25setclock
-	ln -sf ../init.d/checkfs     ${EXTDIR}/rcS.d/S30checkfs
-	ln -sf ../init.d/mountfs     ${EXTDIR}/rcS.d/S40mountfs
-	ln -sf ../init.d/udev_retry  ${EXTDIR}/rcS.d/S45udev_retry
-	ln -sf ../init.d/cleanfs     ${EXTDIR}/rcS.d/S50cleanfs
-	ln -sf ../init.d/console     ${EXTDIR}/rcS.d/S70console
-	ln -sf ../init.d/localnet    ${EXTDIR}/rcS.d/S80localnet
+	install -m ${MODE} init.d/checkfs.sh            ${EXTDIR}/init.d/
+	install -m ${MODE} init.d/cleanfs               ${EXTDIR}/init.d/
+	install -m ${CONFMODE} init.d/lfs-functions     ${EXTDIR}/init.d/
+	install -m ${MODE} init.d/halt                  ${EXTDIR}/init.d/
+	install -m ${MODE} init.d/console-screen-kbd.sh ${EXTDIR}/init.d/
+	install -m ${MODE} init.d/localnet              ${EXTDIR}/init.d/
+	install -m ${MODE} init.d/modules               ${EXTDIR}/init.d/
+	install -m ${MODE} init.d/mountfs               ${EXTDIR}/init.d/
+	install -m ${MODE} init.d/mountkernfs           ${EXTDIR}/init.d/
+	install -m ${MODE} init.d/network               ${EXTDIR}/init.d/
+	install -m ${MODE} init.d/rc                    ${EXTDIR}/init.d/
+	install -m ${MODE} init.d/reboot                ${EXTDIR}/init.d/
+	install -m ${MODE} init.d/sendsigs              ${EXTDIR}/init.d/
+	install -m ${MODE} init.d/setclock              ${EXTDIR}/init.d/
+	install -m ${MODE} init.d/sysklogd              ${EXTDIR}/init.d/
+	install -m ${MODE} init.d/swap                  ${EXTDIR}/init.d/
+	install -m ${MODE} init.d/sysctl                ${EXTDIR}/init.d/
+	install -m ${MODE} init.d/template              ${EXTDIR}/init.d/
+	install -m ${MODE} init.d/udev                  ${EXTDIR}/init.d/
+	install -m ${MODE} init.d/udev_retry            ${EXTDIR}/init.d/
+	install -m ${CONFMODE} lsb/init-functions       ${DESTDIR}/lib/lsb/
+	install -m ${CONFMODE} lsb/manage-functions     ${DESTDIR}/lib/lsb/
+	install -m ${CONFMODE} etc/lsb-config           ${EXTDIR}/lsb/
 	if [ ! -f ${EXTDIR}/sysconfig/createfiles ]; then install -m ${CONFMODE} sysconfig/createfiles ${EXTDIR}/sysconfig/; fi
 	if [ ! -f ${EXTDIR}/sysconfig/modules     ]; then install -m ${CONFMODE} sysconfig/modules     ${EXTDIR}/sysconfig/; fi
 	if [ ! -f ${EXTDIR}/sysconfig/rc          ]; then install -m ${CONFMODE} sysconfig/rc          ${EXTDIR}/sysconfig/; fi
 	if [ ! -f ${EXTDIR}/sysconfig/rc.site     ]; then install -m ${CONFMODE} sysconfig/rc.site     ${EXTDIR}/sysconfig/; fi
-	if [ -f   ${EXTDIR}/inittab               ]; then install -m ${CONFMODE} ${EXTDIR}/inittab     ${EXTDIR}/inittab.bak;
+	if [ -f   ${EXTDIR}/inittab               ]; then install -m ${CONFMODE} ${EXTDIR}/inittab     ${EXTDIR}/inittab.bak; fi
 	install                   -m ${CONFMODE} etc/inittab ${EXTDIR}/
 	install                   -m ${MODE} sysconfig/network-devices/ifup   ${EXTDIR}/sysconfig/network-devices/
 	install                   -m ${MODE} sysconfig/network-devices/ifdown ${EXTDIR}/sysconfig/network-devices/
 	install                   -m ${MODE} sysconfig/network-devices/services/ipv4-static       ${EXTDIR}/sysconfig/network-devices/services/
 	install                   -m ${MODE} sysconfig/network-devices/services/ipv4-static-route ${EXTDIR}/sysconfig/network-devices/services/
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/checkfs.sh
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/cleanfs
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/halt
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/console-screen-kbd.sh
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/localnet
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/modules
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/mountfs
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/mountkernfs
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/network
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/reboot
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/sendsigs
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/setclock
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/sysklogd
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/swap
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/sysctl
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/udev
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/udev_retry
 
 minimal: create-dirs create-service-dir create-boottemp-dir
-	install -m ${MODE} init.d/checkfs           ${EXTDIR}/init.d/
+	install -m ${MODE} init.d/checkfs.sh        ${EXTDIR}/init.d/
 	install -m ${MODE} init.d/cleanfs           ${EXTDIR}/init.d/
 	install -m ${CONFMODE} init.d/lfs-functions ${EXTDIR}/init.d/
 	install -m ${MODE} init.d/halt              ${EXTDIR}/init.d/
@@ -107,29 +88,27 @@ minimal: create-dirs create-service-dir create-boottemp-dir
 	install -m ${MODE} init.d/mountkernfs       ${EXTDIR}/init.d/
 	install -m ${MODE} init.d/rc                ${EXTDIR}/init.d/
 	install -m ${MODE} init.d/reboot            ${EXTDIR}/init.d/
-	install -m ${MODE} init.d/sendsignals       ${EXTDIR}/init.d/
+	install -m ${MODE} init.d/sendsigs       ${EXTDIR}/init.d/
 	install -m ${MODE} init.d/setclock          ${EXTDIR}/init.d/
 	install -m ${MODE} init.d/swap              ${EXTDIR}/init.d/
 	install -m ${MODE} init.d/udev              ${EXTDIR}/init.d/
 	install -m ${CONFMODE} lsb/init-functions   ${DESTDIR}/lib/lsb/
 	install -m ${CONFMODE} lsb/manage-functions ${DESTDIR}/lib/lsb/
 	install -m ${CONFMODE} etc/lsb-config       ${EXTDIR}/lsb/
-	ln -sf ../init.d/sendsignals ${EXTDIR}/rc0.d/S60sendsignals
-	ln -sf ../init.d/mountfs     ${EXTDIR}/rc0.d/S70mountfs
-	ln -sf ../init.d/swap        ${EXTDIR}/rc0.d/S80swap
-	ln -sf ../init.d/halt        ${EXTDIR}/rc0.d/S99halt
-	ln -sf ../init.d/sendsignals ${EXTDIR}/rc6.d/S60sendsignals
-	ln -sf ../init.d/mountfs     ${EXTDIR}/rc6.d/S70mountfs
-	ln -sf ../init.d/swap        ${EXTDIR}/rc6.d/S80swap
-	ln -sf ../init.d/reboot      ${EXTDIR}/rc6.d/S99reboot
-	ln -sf ../init.d/mountkernfs ${EXTDIR}/rcS.d/S00mountkernfs
-	ln -sf ../init.d/udev        ${EXTDIR}/rcS.d/S10udev
-	ln -sf ../init.d/swap        ${EXTDIR}/rcS.d/S20swap
-	ln -sf ../init.d/setclock    ${EXTDIR}/rcS.d/S25setclock
-	ln -sf ../init.d/checkfs     ${EXTDIR}/rcS.d/S30checkfs
-	ln -sf ../init.d/mountfs     ${EXTDIR}/rcS.d/S40mountfs
-	ln -sf ../init.d/cleanfs     ${EXTDIR}/rcS.d/S50cleanfs
 	if [ ! -f ${EXTDIR}/sysconfig/rc          ]; then install -m ${CONFMODE} sysconfig/rc          ${EXTDIR}/sysconfig/; fi
+	if [ -f   ${EXTDIR}/inittab               ]; then install -m ${CONFMODE} ${EXTDIR}/inittab     ${EXTDIR}/inittab.bak; fi
+	install                   -m ${CONFMODE} etc/inittab ${EXTDIR}/
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/checkfs.sh
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/cleanfs
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/halt
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/localnet
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/mountfs
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/mountkernfs
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/reboot
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/sendsigs
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/setclock
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/swap
+	/usr/lib/lsb/install_initd ${EXTDIR}/init.d/udev
 
 .PHONY: all create-dirs create-service-dir create-boottemp-dir \
 	install minimal 

+ 7 - 19
bootscripts/contrib/lsb-v3/README

@@ -4,7 +4,12 @@ The scripts contianed in this directory are a complete rewrite of the
 boot scripts from LFS-6.1 (updated for LFS-SVN about 2008-05-31).  As is
 usually the case with a rewrite, there have been many changes:
 
-LSB Version 3.1 Compliant Scripts - Immediately noticable are the LSB headers
+AS OF 20080907, THESE SCRIPTS REQUIRE THE NEW initd-tools PACKAGE.
+Dan Nicholson has recently released an initd-tools package that contain 
+LSB compliant install_initd and remove_initd programs written in C.
+See the INSTALL file for installation instructions.
+
+LSB Version 3.2 Compliant Scripts - Immediately noticable are the LSB headers
 in the rc.d scripts themselves.  Each script contains a usable header to
 allow for automating both the installation of, and determining proper
 execution order for the startup scripts.  These values can also be used
@@ -15,23 +20,6 @@ barrier to auto language translation in the previous bootscripts.  Further,
 the messages are created from parts and only written to the screen in a
 single command, so maybe no help at all WRT translated boot messages.
 
-LSB 3.1 Omissions - Unfortunately, this package is not completely LSB
-compliant as it lacks install_initd and remove_initd programs.  The current
-popular flavor of these programs is written in Python, which, as you should
-know, is not installed until BLFS.  I began work on a bash implementation,
-and have provided the needed functions to parse the LSB headers in the
-manage-functions script (insalled by default into /lib/lsb).  Unfortunately,
-I have yet to complete the actual install_initd and remove_initd scripts,
-and have found bash to an unsuitable language to write a complete reorder
-due to the ammount of time for recursive funtions and loops to complete.
-Dan Nicholson has began work on initd-tools, a C implementaion of
-install_initd and remove_initd.  At the time of writing (20080830) the
-programs themselves are not yet functional, however, the libraries used
-to parse the scripts and provide the dependency order are working as
-expected.  I would expect a completely standards compliant set of programs,
-written in C very soon. Dans work can be viewed via git-web at
-http://gitweb.dwcab.com/?p=initd-tools.git;a=summary .
-
 Distribution Independent - this original goal for the LFS scripts has been
 stretched even further by providing both a global rc config file that
 contains (generally) static values, and a new rc.site config file to allow
@@ -69,7 +57,7 @@ Some distros provide a rc.d direcorty with symlinks to the rc*.d and init.d
 directories, I have not done that.  /etc is the location now, get your
 flying fingers accustomed to it!  Of course, this is still configurable in
 /etc/sysconfig/rc.site, and if the change is too great, I'll put it back.
-I've also removed the rcsysinit.d and replaced it with rcS.d.
+I've also removed the rcsysinit.d directory and replaced it with rcS.d.
 
 LSB Functions - The previous lfs-bootscripts sourced a functions file
 located at /etc/rc.d/init.d/functions.  This file has been renamed

+ 4 - 4
bootscripts/contrib/lsb-v3/init.d/network

@@ -3,10 +3,10 @@
 
 ### BEGIN INIT INFO
 # Provides:            $network
-# Required-Start:      $syslog
-# Should-Start:
-# Required-Stop:       $syslog $local_fs swap localnet 
-# Should-Stop:
+# Required-Start:
+# Should-Start:        $syslog
+# Required-Stop:       $local_fs swap localnet 
+# Should-Stop:         $syslog
 # Default-Start:       3 4 5
 # Default-Stop:        0 1 2 6
 # Short-Description:   Starts and configures network interfaces.

+ 4 - 4
bootscripts/contrib/lsb-v3/init.d/setclock

@@ -3,10 +3,10 @@
 
 ### BEGIN INIT INFO
 # Provides:            $time
-# Required-Start:      modules
-# Should-Start:
-# Required-Stop:       $syslog
-# Should-Stop:
+# Required-Start:
+# Should-Start:        modules
+# Required-Stop:
+# Should-Stop:         $syslog
 # Default-Start:       S
 # Default-Stop: 
 # Short-Description:   Stores and restores time from the hardware clock

+ 2 - 2
bootscripts/contrib/lsb-v3/init.d/swap

@@ -3,8 +3,8 @@
 
 ### BEGIN INIT INFO
 # Provides:            swap
-# Required-Start:      modules
-# Should-Start:
+# Required-Start:
+# Should-Start:        modules
 # Required-Stop:       localnet
 # Should-Stop:
 # Default-Start:       S

+ 2 - 2
bootscripts/contrib/lsb-v3/init.d/udev

@@ -3,8 +3,8 @@
 
 ### BEGIN INIT INFO
 # Provides:            udev
-# Required-Start:      modules
-# Should-Start:
+# Required-Start:
+# Should-Start:        modules
 # Required-Stop:
 # Should-Stop:
 # Default-Start:       S

+ 3 - 3
bootscripts/contrib/lsb-v3/lsb/init-functions

@@ -447,7 +447,7 @@ log_success_msg()
         if [ $( hostname ) = "(none)" ]; then
             BTTIMESPEC=""
         else
-            BTTIMESPEC="$(echo `date +"%b %d %T"` `hostname`) "
+            BTTIMESPEC="$(echo `date -u +"%b %d %T"` `hostname`) "
         fi
         echo "${BTTIMESPEC}bootlog: ${@} Successful" >> "${TEMPFS_MOUNT}/.bootlog"
     fi
@@ -474,7 +474,7 @@ log_failure_msg()
         if [ $( hostname ) = "(none)" ]; then
             BTTIMESPEC=""
         else
-            BTTIMESPEC="$(echo `date +"%b %d %T"` `hostname`) "
+            BTTIMESPEC="$(echo `date -u +"%b %d %T"` `hostname`) "
         fi
         echo "${BTTIMESPEC}bootlog: ${@} Failed!" >> "${TEMPFS_MOUNT}/.bootlog"
     fi
@@ -501,7 +501,7 @@ log_warning_msg()
         if [ $( hostname ) = "(none)" ]; then
             BTTIMESPEC=""
         else
-            BTTIMESPEC="$(echo `date +"%b %d %T"` `hostname`) "
+            BTTIMESPEC="$(echo `date -u +"%b %d %T"` `hostname`) "
         fi
         echo "${BTTIMESPEC}bootlog: ${@} Warning" >> "${TEMPFS_MOUNT}/.bootlog"
     fi