Author: pierre
Date: Sun May 11 23:51:20 2014
New Revision: 3796

Log:
Adapt instructions to new layout for "boot" method, while keeping
compatibility with older layouts. Joint work with W. Harrington

Modified:
   jhalfs/trunk/CLFS/master.sh

Modified: jhalfs/trunk/CLFS/master.sh
==============================================================================
--- jhalfs/trunk/CLFS/master.sh Thu May  8 13:58:12 2014        (r3795)
+++ jhalfs/trunk/CLFS/master.sh Sun May 11 23:51:20 2014        (r3796)
@@ -337,6 +337,7 @@
     # A little housekeeping on the scripts
     case $this_script in
       *grub | *aboot | *colo | *silo | *arcload | *lilo | *introduction ) 
continue ;;
+      *how-to-view*) continue  ;;
       *whatnext*) continue     ;;
       *fstab)   [[ ! -z ${FSTAB} ]] && cp ${FSTAB} $BUILDDIR/sources/fstab ;;
       *kernel)  # if there is no kernel config file do not build the kernel
@@ -347,26 +348,66 @@
     esac
     #
     # First append each name of the script files to a list (this will become
-    # the names of the targets in the Makefile
-    case "${this_script}" in
-      *changingowner)  orphan_scripts="${orphan_scripts} ${this_script}"  ;;
-      *devices)        orphan_scripts="${orphan_scripts} ${this_script}"  ;;
-      *)               boottools="$boottools $this_script" ;;
-    esac
+    # the names of the targets in the Makefile). Those names differ depending
+    # on the version of the book. What makes the difference between those
+    # versions is the presence of "how-to-view" in the boot chapter.
+    if [ -f boot/*how-to-view ]; then
+      case "${this_script}" in
+        *changingowner)
+           orphan_scripts="${orphan_scripts} ${this_script}"
+           ;;
+        *creatingdirs)
+           orphan_scripts="${orphan_scripts} ${this_script}"
+           ;;
+        *createfiles)
+           orphan_scripts="${orphan_scripts} ${this_script}"
+           ;;
+        *devices)
+           orphan_scripts="${orphan_scripts} ${this_script}"
+           ;;
+        *flags)
+           orphan_scripts="${orphan_scripts} ${this_script}"
+           ;;
+        *fstab)
+           orphan_scripts="${orphan_scripts} ${this_script}"
+           ;;
+        *pwdgroup)
+           orphan_scripts="${orphan_scripts} ${this_script}"
+           ;;
+        *settingenvironment)
+           orphan_scripts="${orphan_scripts} ${this_script}"
+           ;;
+        *)
+           boottools="$boottools $this_script"
+           ;;
+      esac
+    else
+      case "${this_script}" in
+        *changingowner)
+           orphan_scripts="${orphan_scripts} ${this_script}"
+           ;;
+        *devices)
+           orphan_scripts="${orphan_scripts} ${this_script}"
+           ;;
+        *)
+           boottools="$boottools $this_script"
+           ;;
+      esac
+    fi
     #
     # Grab the name of the target, strip id number and misc words.
     case $this_script in
-      *kernel)        name=linux                   ;;
-      *bootscripts)   name="bootscripts-cross-lfs" ;;
-      *boot-scripts)   name="boot-scripts-cross-lfs" ;;
-      *udev-rules)    name="udev-cross-lfs"        ;;
-      *grub-build)    name=grub                    ;;
-      *-aboot-build)  name=aboot                   ;;
-      *yaboot-build)  name=yaboot                  ;;
-      *colo-build)    name=colo                    ;;
-      *silo-build)    name=silo                    ;;
-      *arcload-build) name=arcload                 ;;
-      *lilo-build)    name=lilo                    ;;
+      *kernel)        name=linux                    ;;
+      *bootscripts)   name="bootscripts-cross-lfs"  ;;
+      *boot-scripts)  name="boot-scripts-cross-lfs" ;;
+      *udev-rules)    name="udev-cross-lfs"         ;;
+      *grub-build)    name=grub                     ;;
+      *-aboot-build)  name=aboot                    ;;
+      *yaboot-build)  name=yaboot                   ;;
+      *colo-build)    name=colo                     ;;
+      *silo-build)    name=silo                     ;;
+      *arcload-build) name=arcload                  ;;
+      *lilo-build)    name=lilo                     ;;
       *)              name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@' -e 
's@-build@@' ` ;;
     esac
       # Identify the unique version naming scheme for the clfs 
bootscripts..(bad boys)
@@ -387,19 +428,44 @@
     [[ "$pkg_tarball" != "" ]] && [[ "$OPTIMIZE" -ge "2" ]] &&  wrt_optimize 
"$name" && wrt_makeflags "$name"
     #
     # Select a script execution method
-    case $this_script in
-       # The following 2 scripts are defined in the /boot directory but need
-       # to be run as a root user. Set them up here but run them in another 
phase
-      *changingowner*)  wrt_RunAsRoot "${file}"    ;;
-      *devices*)        wrt_RunAsRoot "${file}"    ;;
-      *fstab*)   if [[ -n "$FSTAB" ]]; then
-                   LUSER_wrt_CopyFstab
-                 else
-                   LUSER_wrt_RunAsUser  "${file}"
-                 fi
-         ;;
-      *)         LUSER_wrt_RunAsUser  "${file}"       ;;
-    esac
+    if [ -f boot/*how-to-view ]; then
+      case $this_script in
+        # The following 8 scripts are defined in the /boot directory but need
+        # to be run as a root user. Set them up here but run them in another
+        # phase
+        *changingowner)      wrt_RunAsRoot "${file}"    ;;
+        *creatingdirs)       wrt_RunAsRoot "${file}"    ;;
+        *createfiles)        wrt_RunAsRoot "${file}"    ;;
+        *devices)            wrt_RunAsRoot "${file}"    ;;
+        *flags)              wrt_RunAsRoot "${file}"    ;;
+        *fstab)
+           if [[ -n "$FSTAB" ]]; then
+               LUSER_wrt_CopyFstab
+           else
+               wrt_RunAsRoot  "${file}"
+           fi
+           ;;
+        *pwdgroup)           wrt_RunAsRoot "${file}"    ;;
+        *settingenvironment) wrt_RunAsRoot "${file}"    ;;
+        *)               LUSER_wrt_RunAsUser  "${file}" ;;
+      esac
+    else
+      case $this_script in
+        # The following 2 scripts are defined in the /boot directory but need
+        # to be run as a root user. Set them up here but run them in another
+        # phase
+        *changingowner)   wrt_RunAsRoot "${file}"    ;;
+        *devices)         wrt_RunAsRoot "${file}"    ;;
+        *fstab)
+           if [[ -n "$FSTAB" ]]; then
+               LUSER_wrt_CopyFstab
+           else
+               LUSER_wrt_RunAsUser  "${file}"
+           fi
+           ;;
+        *)            LUSER_wrt_RunAsUser  "${file}" ;;
+      esac
+    fi
     #
     # Housekeeping...remove any build directory(ies) except if the package 
build fails.
     [[ "$pkg_tarball" != "" ]] && LUSER_RemoveBuildDirs "${name}"
-- 
http://lists.linuxfromscratch.org/listinfo/alfs-log
Unsubscribe: See the above information page

Reply via email to