r2054 - jhalfs/trunk

jhuntwork at linuxfromscratch.org jhuntwork at linuxfromscratch.org
Sun Oct 2 17:56:55 PDT 2005


Author: jhuntwork
Date: 2005-10-02 18:56:55 -0600 (Sun, 02 Oct 2005)
New Revision: 2054

Modified:
   jhalfs/trunk/jhalfs
Log:
Adjusted the use of '&&' and '@' for several commands in the Makefile. Added some nicer status messages. Also, no need to check if a package was built. If it fails, make will exit, we'll see where it failed via the status messages and we can check the logs for more details.

Modified: jhalfs/trunk/jhalfs
===================================================================
--- jhalfs/trunk/jhalfs	2005-10-03 00:37:55 UTC (rev 2053)
+++ jhalfs/trunk/jhalfs	2005-10-03 00:56:55 UTC (rev 2054)
@@ -147,6 +147,7 @@
 LOG=000-jhalfs.log
 MKFILE=$JHALFSDIR/Makefile
 XSL=dump-lfs-scripts.xsl
+FNC=functions
 if [ -z $TEST ] ; then TEST=0 ; fi
 
 get_book() {
@@ -320,8 +321,9 @@
     if [ -z $PREV ] ; then PREV=022-settingenvironment ; fi
 
     # Drop in the name of the target on a new line, and the previous target
-    # as a dependency.
+    # as a dependency. Also call the echo_message function.
     echo -e "\n$i:  $PREV" >> $MKFILE.tmp
+    echo -e "\t@\$(call echo_message, Building)" >> $MKFILE.tmp
 
     # Find the version of the command files, if it corresponds with the building of
     # a specific package
@@ -337,8 +339,8 @@
 
       # Insert instructions for unpacking the package and to set
       # the PKGDIR variable.
-      echo -e "\t\$(call unpack-lfs,$FILE)" >> $MKFILE.tmp
-      echo -e "\t-ROOT=\`head -n1 /tmp/unpacked | sed 's@/.*@@'\` && \\" >> $MKFILE.tmp
+      echo -e "\t@\$(call unpack-lfs,$FILE)" >> $MKFILE.tmp
+      echo -e "\t at ROOT=\`head -n1 /tmp/unpacked | sed 's@/.*@@'\` && \\" >> $MKFILE.tmp
       echo -e "\tchown -R lfs \$(LFS)\$(SRC)/\$\$ROOT && \\" >> $MKFILE.tmp
       echo -e "\techo \"PKGDIR=\$(LFS)\$(SRC)/\$\$ROOT\" > envars && \\" >> $MKFILE.tmp
       echo -e "\techo \"export PKGDIR\" >> envars && \\" >> $MKFILE.tmp
@@ -346,41 +348,42 @@
 
     # Dump the path to the Binutils pass1 or TCL sources directory.
     if [ "$i" = "027-binutils-pass1" -o "$i" = "032-tcl" ] ; then
-      echo -e "\techo \"\$(LFS)\$(SRC)/\$\$ROOT\" > sources-dir && \\" >> $MKFILE.tmp
-    fi
+      echo -e "\techo \"\$(LFS)\$(SRC)/\$\$ROOT\" > sources-dir" >> $MKFILE.tmp
 
     # Dump the path to the Binutils pass2 sources directory.
-    if [ "$i" = "036-binutils-pass2" ] ; then
-      echo -e "\techo \"\$(SRC)/\$\$ROOT\" > sources-dir && \\" >> $MKFILE.tmp
-    fi
+    elif [ "$i" = "036-binutils-pass2" ] ; then
+      echo -e "\techo \"\$(SRC)/\$\$ROOT\" > sources-dir" >> $MKFILE.tmp
 
     # For the Adjusting phase we must to cd to the binutils-build directory.
-    if [ "$i" = "031-adjusting" ] ; then
+    elif [ "$i" = "031-adjusting" ] ; then
       echo -e "\techo \"PKGDIR=\$(LFS)\$(SRC)/binutils-build\" > envars && \\" >> $MKFILE.tmp
-      echo -e "\techo \"export PKGDIR\" >> envars && \\" >> $MKFILE.tmp
-    fi
+      echo -e "\techo \"export PKGDIR\" >> envars" >> $MKFILE.tmp
 
     # For the Expect build we need to set the TCLPATH envar.
-    if [ "$i" = "033-expect" ] ; then
+    elif [ "$i" = "033-expect" ] ; then
       echo -e "\techo \"TCLPATH=\`cat sources-dir\`\" >> envars && \\" >> $MKFILE.tmp
-      echo -e "\techo \"export TCLPATH\" >> envars && \\" >> $MKFILE.tmp
+      echo -e "\techo \"export TCLPATH\" >> envars" >> $MKFILE.tmp
+
+    # Everything else, add a true statment so we don't confuse make
+    else
+	echo -e "\ttrue" >> $MKFILE.tmp
     fi
 
     # Insert date and disk usage at the top of the log file.
-    echo -e "\techo -e \"\\\n\`date\`\\\n\\\nKB: \`du -sk --exclude=0??-* \$(LFS)\`\\\n\" >logs/$i && \\" >> $MKFILE.tmp
+    echo -e "\t at echo -e \"\\\n\`date\`\\\n\\\nKB: \`du -sk --exclude=0??-* \$(LFS)\`\\\n\" >logs/$i && \\" >> $MKFILE.tmp
 
     # Insert the script run
     echo -e "\tsu - lfs -c \". /home/lfs/.bashrc && $JHALFSDIR/commands/$file\" >>logs/$i 2>&1 && \\" >> $MKFILE.tmp
 
     # Insert date and disk usage at the bottom of the log file.
-    echo -e "\techo -e \"\\\n\`date\`\\\n\\\nKB: \`du -sk --exclude=0??-* \$(LFS)\`\\\n\" >>logs/$i && \\" >> $MKFILE.tmp
+    echo -e "\techo -e \"\\\n\`date\`\\\n\\\nKB: \`du -sk --exclude=0??-* \$(LFS)\`\\\n\" >>logs/$i" >> $MKFILE.tmp
 
     # Remove the build directory(ies) even if the package build fails, except for
     # Binutils and TCL. In that cases the sources directories are removed
     # only if the build fails.
     if [ "$vrs" != "" ] ; then
       if [ "$i" != "027-binutils-pass1" ] && [ "$i" != "032-tcl" ] && [ "$i" != "036-binutils-pass2" ] ; then
-        echo -e "\tROOT=\`head -n1 /tmp/unpacked | sed 's@/.*@@'\` && \\" >> $MKFILE.tmp
+        echo -e "\t at ROOT=\`head -n1 /tmp/unpacked | sed 's@/.*@@'\` && \\" >> $MKFILE.tmp
         echo -e "\trm -r \$(LFS)\$(SRC)/\$\$ROOT && \\" >> $MKFILE.tmp
         echo -e "\tif [ -e \$(LFS)\$(SRC)/$name-build ]; then \\" >> $MKFILE.tmp
         echo -e "\t\trm -r \$(LFS)\$(SRC)/$name-build; \\" >> $MKFILE.tmp
@@ -388,14 +391,14 @@
       fi
     fi
     if [ "$i" = "027-binutils-pass1" -o "$i" = "036-binutils-pass2" ] ; then
-      echo -e "\tif [ ! -e \$@ ] ; then \\" >> $MKFILE.tmp
+      echo -e "\t at if [ ! -e \$@ ] ; then \\" >> $MKFILE.tmp
       echo -e "\t\tROOT=\`head -n1 /tmp/unpacked | sed 's@/.*@@'\` && \\" >> $MKFILE.tmp
       echo -e "\t\trm -r \$(LFS)\$(SRC)/\$\$ROOT && \\" >> $MKFILE.tmp
       echo -e "\t\trm -r \$(LFS)\$(SRC)/binutils-build; \\" >> $MKFILE.tmp
       echo -e "\tfi;" >> $MKFILE.tmp
     fi
     if [ "$i" = "032-tcl" ] ; then
-      echo -e "\tif [ ! -e \$@ ] ; then \\" >> $MKFILE.tmp
+      echo -e "\t at if [ ! -e \$@ ] ; then \\" >> $MKFILE.tmp
       echo -e "\t\tROOT=\`head -n1 /tmp/unpacked | sed 's@/.*@@'\` && \\" >> $MKFILE.tmp
       echo -e "\t\trm -r \$(LFS)\$(SRC)/\$\$ROOT; \\" >> $MKFILE.tmp
       echo -e "\tfi;" >> $MKFILE.tmp
@@ -403,7 +406,7 @@
 
     # Remove the Binutils pass 1 sources after a successful Adjusting phase.
     if [ "$i" = "031-adjusting" ] ; then
-      echo -e "\tif [ -e \$@ ] ; then \\" >> $MKFILE.tmp
+      echo -e "\t at if [ -e \$@ ] ; then \\" >> $MKFILE.tmp
       echo -e "\t\trm -r \`cat sources-dir\` && \\" >> $MKFILE.tmp
       echo -e "\t\trm -r \$(LFS)\$(SRC)/binutils-build && \\" >> $MKFILE.tmp
       echo -e "\t\trm sources-dir; \\" >> $MKFILE.tmp
@@ -412,20 +415,15 @@
 
     # Remove the TCL sources after a successful Expect build.
     if [ "$i" = "033-expect" ] ; then
-      echo -e "\tif [ -e \$@ ] ; then \\" >> $MKFILE.tmp
+      echo -e "\t at if [ -e \$@ ] ; then \\" >> $MKFILE.tmp
       echo -e "\t\trm -r \`cat sources-dir\` && \\" >> $MKFILE.tmp
       echo -e "\t\trm sources-dir; \\" >> $MKFILE.tmp
       echo -e "\tfi;" >> $MKFILE.tmp
     fi
 
-    # Check if the package has been successfully built.
-    echo -e "\t at if [ ! -e \$@ ] ; then \\" >> $MKFILE.tmp
-    echo -e "\t\techo \"The build of \$@ has failed\" && exit 1; \\" >> $MKFILE.tmp
-    echo -e "\tfi;" >> $MKFILE.tmp
-    
     # Include a touch of the target name so make can check
     # if it's already been made.
-    echo -e "\ttouch \$@" >> $MKFILE.tmp
+    echo -e "\t at touch \$@" >> $MKFILE.tmp
 
     # Keep the script file name for Makefile dependencies.
     PREV=$i
@@ -458,8 +456,8 @@
       FILE="$name-$vrs.tar.bz2"
 
       # Insert instructions for unpacking the package and changing directories
-      echo -e "\t\$(call unpack,$FILE)" >> $MKFILE.tmp
-      echo -e "\t-ROOT=\`head -n1 /tmp/unpacked | sed 's@/.*@@'\` && \\" >> $MKFILE.tmp
+      echo -e "\t@\$(call unpack,$FILE)" >> $MKFILE.tmp
+      echo -e "\t at ROOT=\`head -n1 /tmp/unpacked | sed 's@/.*@@'\` && \\" >> $MKFILE.tmp
       echo -e "\techo \"PKGDIR=\$(SRC)/\$\$ROOT\" > envars && \\" >> $MKFILE.tmp
       echo -e "\techo \"export PKGDIR\" >> envars && \\" >> $MKFILE.tmp
     fi
@@ -467,30 +465,29 @@
     # For the Re-Adjusting phase we must to cd to the binutils-build directory.
     if [ "$i" = "067-readjusting" ] ; then
       echo -e "\techo \"PKGDIR=\$(SRC)/binutils-build\" > envars && \\" >> $MKFILE.tmp
-      echo -e "\techo \"export PKGDIR\" >> envars && \\" >> $MKFILE.tmp
-    fi
+      echo -e "\techo \"export PKGDIR\" >> envars" >> $MKFILE.tmp
 
     # Insert the script run
     # For the mount of kernel filesystems we need to set LFS.
-    if [ "$i" = "057-kernfs" ] ; then
+    elif [ "$i" = "057-kernfs" ] ; then
       echo -e "\techo \"LFS=\$(LFS)\" > envars && \\" >> $MKFILE.tmp
       echo -e "\techo \"export LFS\" >> envars && \\" >> $MKFILE.tmp
       # Insert date and disk usage at the top of the log file.
       echo -e "\techo -e \"\\\n\`date\`\\\n\\\nKB: \`du -sk --exclude=0??-* \$(LFS)\`\\\n\" >logs/$i && \\" >> $MKFILE.tmp
       echo -e "\t. envars && commands/$file >>logs/$i 2>&1 && \\" >> $MKFILE.tmp
       # Insert date and disk usage at the bottom of the log file.
-      echo -e "\techo -e \"\\\n\`date\`\\\n\\\nKB: \`du -sk --exclude=0??-* \$(LFS)\`\\\n\" >>logs/$i && \\" >> $MKFILE.tmp
+      echo -e "\techo -e \"\\\n\`date\`\\\n\\\nKB: \`du -sk --exclude=0??-* \$(LFS)\`\\\n\" >>logs/$i" >> $MKFILE.tmp
     else
       # Insert date and disk usage at the top of the log file.
       echo -e "\techo -e \"\\\n\`date\`\\\n\\\nKB: \`du -sk --exclude=0??-* /\`\\\n\" >logs/$i && \\" >> $MKFILE.tmp
       echo -e "\t. envars && commands/$file >>logs/$i 2>&1 && \\" >> $MKFILE.tmp
       # Insert date and disk usage at the bottom of the log file.
-      echo -e "\techo -e \"\\\n\`date\`\\\n\\\nKB: \`du -sk --exclude=0??-* /\`\\\n\" >>logs/$i && \\" >> $MKFILE.tmp
+      echo -e "\techo -e \"\\\n\`date\`\\\n\\\nKB: \`du -sk --exclude=0??-* /\`\\\n\" >>logs/$i" >> $MKFILE.tmp
     fi
 
     # Remove the build directory(ies) even if the package build fails.
     if [ "$vrs" != "" ] ; then
-      echo -e "\tROOT=\`head -n1 /tmp/unpacked | sed 's@/.*@@'\` && \\" >> $MKFILE.tmp
+      echo -e "\t at ROOT=\`head -n1 /tmp/unpacked | sed 's@/.*@@'\` && \\" >> $MKFILE.tmp
       echo -e "\trm -r \$(SRC)/\$\$ROOT && \\" >> $MKFILE.tmp
       echo -e "\tif [ -e \$(SRC)/$name-build ]; then \\" >> $MKFILE.tmp
       echo -e "\t\trm -r \$(SRC)/$name-build; \\" >> $MKFILE.tmp
@@ -499,21 +496,16 @@
 
     # Remove the Binutils pass 2 sources after a successful Re-Adjusting phase.
     if [ "$i" = "067-readjusting" ] ; then
-      echo -e "\tif [ -e \$@ ] ; then \\" >> $MKFILE.tmp
+      echo -e "\t at if [ -e \$@ ] ; then \\" >> $MKFILE.tmp
       echo -e "\t\trm -r \`cat sources-dir\` && \\" >> $MKFILE.tmp
       echo -e "\t\trm -r \$(SRC)/binutils-build && \\" >> $MKFILE.tmp
       echo -e "\t\trm sources-dir; \\" >> $MKFILE.tmp
       echo -e "\tfi;" >> $MKFILE.tmp
     fi
 
-    # Check if the package has been successfully built.
-    echo -e "\t at if [ ! -e \$@ ] ; then \\" >> $MKFILE.tmp
-    echo -e "\t\techo \"The build of \$@ has failed\" && exit 1; \\" >> $MKFILE.tmp
-    echo -e "\tfi;" >> $MKFILE.tmp
-
     # Include a touch of the target name so make can check
     # if it's already been made.
-    echo -e "\ttouch \$@" >> $MKFILE.tmp
+    echo -e "\t at touch \$@" >> $MKFILE.tmp
 
     # Keep the script file name for Makefile dependencies.
     PREV=$i
@@ -523,12 +515,7 @@
   echo "export SRC := /sources" > $MKFILE
   echo "export LFS := $BUILDDIR" >> $MKFILE
   echo -e "export LOGDIR := $LOGDIR\n" >> $MKFILE
-  echo "define unpack-lfs" >> $MKFILE
-  echo -e "\t at cd \$(LFS)\$(SRC) ; tar -xvjf \$(1) > /tmp/unpacked" >> $MKFILE
-  echo -e "endef\n" >> $MKFILE
-  echo "define unpack" >> $MKFILE
-  echo -e "\t at cd \$(SRC) ; tar -xvf \$(1) > /tmp/unpacked" >> $MKFILE
-  echo -e "endef\n" >> $MKFILE
+  echo "include functions" >> $MKFILE
 
   # Drop in the main target 'all:' and the chapter targets with each sub-target
   # as a dependency.
@@ -562,12 +549,14 @@
   # to make the scripts executable, and to create a clean environment
   # for the lfs user.
   echo "020-creatingtoolsdir:" >> $MKFILE
-  echo -e "\tmkdir -v \$(LFS)/tools && \\" >> $MKFILE
+  echo -e "\t@\$(call echo_message, Building)" >> $MKFILE
+  echo -e "\t at mkdir -v \$(LFS)/tools && \\" >> $MKFILE
   echo -e "\tln -sv \$(LFS)/tools / && \\" >> $MKFILE
   echo -e "\ttouch \$@\n" >> $MKFILE
 
   echo "021-addinguser:  020-creatingtoolsdir" >> $MKFILE
-  echo -e "\tgroupadd lfs && \\" >> $MKFILE
+  echo -e "\t@\$(call echo_message, Building)" >> $MKFILE
+  echo -e "\t at groupadd lfs && \\" >> $MKFILE
   echo -e "\tuseradd -s /bin/bash -g lfs -m -k /dev/null lfs && \\" >> $MKFILE
   echo -e "\tchown lfs \$(LFS)/tools && \\" >> $MKFILE
   echo -e "\tchown lfs \$(LFS)/sources && \\" >> $MKFILE
@@ -576,7 +565,8 @@
   echo -e "\ttouch \$@\n" >> $MKFILE
 
   echo "022-settingenvironment:  021-addinguser" >> $MKFILE
-  echo -e "\techo \"exec env -i HOME=\\\$\$HOME TERM=\\\$\$TERM PS1='\u:\w\$$ ' /bin/bash\" > /home/lfs/.bash_profile && \\" >> $MKFILE
+  echo -e "\t@\$(call echo_message, Building)" >> $MKFILE
+  echo -e "\t at echo \"exec env -i HOME=\\\$\$HOME TERM=\\\$\$TERM PS1='\u:\w\$$ ' /bin/bash\" > /home/lfs/.bash_profile && \\" >> $MKFILE
   echo -e "\techo \"set +h\" > /home/lfs/.bashrc && \\" >> $MKFILE
   echo -e "\techo \"umask 022\" >> /home/lfs/.bashrc && \\" >> $MKFILE
   echo -e "\techo \"LFS=/mnt/lfs\" >> /home/lfs/.bashrc && \\" >> $MKFILE
@@ -618,7 +608,7 @@
 >$BUILDDIR$LOGDIR/$LOG
 
 if [ "$PWD" != "$JHALFSDIR" ] ; then
-  cp $0 $XSL $JHALFSDIR/
+  cp $0 $XSL $FNC $JHALFSDIR/
 fi
 
 get_book




More information about the alfs-log mailing list