r2886 - jhalfs/branches/1.0/contrib

manuel at linuxfromscratch.org manuel at linuxfromscratch.org
Sat Aug 5 09:13:39 PDT 2006


Author: manuel
Date: 2006-08-05 10:13:38 -0600 (Sat, 05 Aug 2006)
New Revision: 2886

Modified:
   jhalfs/branches/1.0/contrib/jhalfs-paco.patch
Log:
Updated paco patch on 1.0 branch.

Modified: jhalfs/branches/1.0/contrib/jhalfs-paco.patch
===================================================================
--- jhalfs/branches/1.0/contrib/jhalfs-paco.patch	2006-08-05 15:56:24 UTC (rev 2885)
+++ jhalfs/branches/1.0/contrib/jhalfs-paco.patch	2006-08-05 16:13:38 UTC (rev 2886)
@@ -1,6 +1,6 @@
 Index: LFS/master.sh
 ===================================================================
---- LFS/master.sh	(revision 2857)
+--- LFS/master.sh	(revision 2885)
 +++ LFS/master.sh	(working copy)
 @@ -173,6 +173,11 @@
      # Keep the script file name
@@ -61,20 +61,17 @@
    done # end for file in chapter06/*
  }
  
-@@ -312,8 +341,18 @@
+@@ -312,8 +341,15 @@
                else
                  wrt_run_as_chroot2 "$this_script" "$file"
                fi
 +              wrt_paco_log "lfs-sysconf"
          ;;
-+      *kernel)       wrt_paco_prep
-+                     wrt_run_as_chroot2 "$this_script" "$file"
-+                     wrt_paco_log "$pkg_tarball"
++      *kernel | *bootscripts )
++              wrt_paco_prep
++              wrt_run_as_chroot2 "$this_script" "$file"
++              wrt_paco_log "$pkg_tarball"
 +        ;;
-+      *bootscripts)  wrt_paco_prep
-+                     wrt_run_as_chroot2 "$this_script" "$file"
-+                     wrt_paco_log "$pkg_tarball"
-+        ;;
        *)        wrt_run_as_chroot2 "$this_script" "$file"
 +                wrt_paco_log "lfs-sysconf"
          ;;
@@ -82,9 +79,9 @@
  
 Index: LFS/lfs.xsl
 ===================================================================
---- LFS/lfs.xsl	(revision 2857)
+--- LFS/lfs.xsl	(revision 2885)
 +++ LFS/lfs.xsl	(working copy)
-@@ -32,6 +32,9 @@
+@@ -39,6 +39,9 @@
    <!-- Locale settings -->
    <xsl:param name="lang" select="C"/>
  
@@ -94,7 +91,7 @@
    <xsl:template match="/">
      <xsl:apply-templates select="//sect1"/>
    </xsl:template>
-@@ -206,6 +209,33 @@
+@@ -239,6 +242,33 @@
          <xsl:apply-templates/>
          <xsl:text> || true&#xA;</xsl:text>
        </xsl:when>
@@ -128,6 +125,232 @@
        <!-- The rest of commands -->
        <xsl:otherwise>
          <xsl:apply-templates/>
+Index: CLFS/master.sh
+===================================================================
+--- CLFS/master.sh	(revision 2885)
++++ CLFS/master.sh	(working copy)
+@@ -495,6 +495,11 @@
+     # Keep the script file name
+     this_script=`basename $file`
+ 
++    # If $this_script corresponds to a paco script, then skip it
++    case "${this_script}" in
++      *paco)       continue ;;
++    esac
++
+     # Test if the stripping phase must be skipped.
+     # Skip alsp temp-perl for iterative runs
+     case $this_script in
+@@ -502,6 +507,18 @@
+       *temp-perl*) [[ -n "$N" ]] && continue ;;
+     esac
+ 
++    # Install paco as the first package in ch6, before installing
++    # linux-libc-headers, except in iterartive builds
++    if [[ -z "$N" ]]; then
++      case $this_script in
++        *linux-headers)
++          TMP_SCRIPT="$this_script"
++          this_script=`echo $this_script | sed -e 's/linux-headers/a-paco/'`
++          wrt_paco_inst "$this_script"
++          this_script="$TMP_SCRIPT" ;;
++      esac
++    fi
++
+     # Grab the name of the target, strip id number, XXX-script
+     name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@' \
+                                   -e 's at temp-@@' \
+@@ -554,7 +571,9 @@
+       [[ "$OPTIMIZE" != "0" ]] &&  wrt_optimize "$name" && wrt_makeflags "$name"
+     fi
+     #
++    wrt_paco_prep
+     wrt_run_as_chroot1 "${this_script}" "${file}"
++    wrt_paco_log "$pkg_tarball"
+     #
+     [[ "$pkg_tarball" != "" ]] && wrt_remove_build_dirs "${name}"
+     #
+@@ -569,6 +588,16 @@
+     PREV=${this_script}${N}
+     # Set system_build envar for iteration targets
+     system_build=$basicsystem
++
++    # Reinstalling paco after readsjusting the toolchain.
++    case "${this_script}" in
++      *adjusting)
++        TMP_SCRIPT="$this_script"
++        this_script=`echo ${this_script} | sed -e 's/adjusting/x-paco/'`
++        wrt_paco_inst "$this_script"
++        this_script="$TMP_SCRIPT" ;;
++    esac
++
+   done  # for file in final-system/* ...
+ }
+ 
+@@ -605,6 +634,11 @@
+     # Keep the script file name
+     this_script=`basename $file`
+ 
++    # If $this_script corresponds to a paco script, then skip it
++    case "${this_script}" in
++      *paco)       continue ;;
++    esac
++
+     # Test if the stripping phase must be skipped
+     # Skip alsp temp-perl for iterative runs
+     case $this_script in
+@@ -612,6 +646,18 @@
+       *temp-perl*) [[ -n "$N" ]] && continue ;;
+     esac
+ 
++    # Install paco as the first package in ch6, before installing
++    # linux-libc-headers, except in iterartive builds
++    if [[ -z "$N" ]]; then
++      case $this_script in
++        *linux-headers)
++          TMP_SCRIPT="$this_script"
++          this_script=`echo $this_script | sed -e 's/linux-headers/a-paco/'`
++          wrt_paco_inst "$this_script"
++          this_script="$TMP_SCRIPT" ;;
++      esac
++    fi
++
+     # Grab the name of the target, strip id number, XXX-script
+     name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@' \
+                                   -e 's at temp-@@' \
+@@ -666,7 +712,9 @@
+       [[ "$OPTIMIZE" != "0" ]] &&  wrt_optimize "$name" && wrt_makeflags "$name"
+     fi
+     #
++    wrt_paco_prep
+     wrt_run_as_root2 "${this_script}" "${file}"
++    wrt_paco_log "$pkg_tarball"
+     #
+     [[ "$pkg_tarball" != "" ]] && wrt_remove_build_dirs2 "${name}"
+     #
+@@ -681,6 +729,16 @@
+     PREV=${this_script}${N}
+     # Set system_build envar for iteration targets
+     system_build=$basicsystem
++
++    # Reinstalling paco after readsjusting the toolchain.
++    case "${this_script}" in
++      *adjusting)
++        TMP_SCRIPT="$this_script"
++        this_script=`echo ${this_script} | sed -e 's/adjusting/x-paco/'`
++        wrt_paco_inst "$this_script"
++        this_script="$TMP_SCRIPT" ;;
++    esac
++
+   done  # for file in final-system/* ...
+ }
+ 
+@@ -729,7 +787,17 @@
+     #
+     [[ "$pkg_tarball" != "" ]] && wrt_unpack2 "$pkg_tarball"
+     #
++    case $this_script in
++      *bootscripts* | *udev-rules )
++        wrt_paco_prep ;;
++    esac
+     wrt_run_as_chroot1 "${this_script}" "${file}"
++    case $this_script in
++      *bootscripts* | *udev-rules )
++        wrt_paco_log "$pkg_tarball" ;;
++      *)
++        wrt_paco_log "clfs-sysconf" ;;
++    esac
+     #
+     [[ "$pkg_tarball" != "" ]] && wrt_remove_build_dirs "${name}"
+     #
+@@ -791,7 +859,17 @@
+     #
+     [[ "$pkg_tarball" != "" ]] && wrt_unpack3 "$pkg_tarball"
+     #
++    case $this_script in
++      *bootscripts* | *udev-rules )
++        wrt_paco_prep ;;
++    esac
+     wrt_run_as_root2 "${this_script}" "${file}"
++    case $this_script in
++      *bootscripts* | *udev-rules )
++        wrt_paco_log "$pkg_tarball" ;;
++      *)
++        wrt_paco_log "clfs-sysconf" ;;
++    esac
+     #
+     [[ "$pkg_tarball" != "" ]] && wrt_remove_build_dirs2 "${name}"
+     #
+@@ -863,8 +941,13 @@
+                 else
+                   wrt_run_as_chroot1  "${this_script}" "${file}"
+                 fi
++                wrt_paco_log "clfs-sysconf"
+           ;;
+-      *)  wrt_run_as_chroot1  "${this_script}" "${file}"   ;;
++      *kernel)  wrt_paco_prep
++                wrt_run_as_chroot1  "${this_script}" "${file}"
++                wrt_paco_log "$pkg_tarball" ;;
++      *)  wrt_run_as_chroot1  "${this_script}" "${file}"
++          wrt_paco_log "clfs-sysconf" ;;
+     esac
+     #
+     # Housekeeping...remove any build directory(ies) except if the package build fails.
+@@ -942,8 +1025,13 @@
+                 else
+                   wrt_run_as_root2  "${this_script}" "${file}"
+                 fi
++                wrt_paco_log "clfs-sysconf"
+           ;;
+-      *)  wrt_run_as_root2  "${this_script}" "${file}"   ;;
++      *kernel)  wrt_paco_prep
++                wrt_run_as_root2  "${this_script}" "${file}"
++                wrt_paco_log "$pkg_tarball"   ;;
++      *)  wrt_run_as_root2  "${this_script}" "${file}"
++          wrt_paco_log "clfs-sysconf"   ;;
+     esac
+     #
+     # Housekeeping...remove any build directory(ies) except if the package build fails.
+Index: CLFS/clfs.xsl
+===================================================================
+--- CLFS/clfs.xsl	(revision 2885)
++++ CLFS/clfs.xsl	(working copy)
+@@ -45,6 +45,9 @@
+   <!-- Locale settings -->
+   <xsl:param name="lang" select="C"/>
+ 
++  <!-- Use paco? -->
++  <xsl:param name="use_paco" select="1"/>
++
+   <xsl:template match="/">
+     <xsl:apply-templates select="//sect1"/>
+   </xsl:template>
+@@ -106,6 +109,25 @@
+                 <xsl:text>tar -xvf ../vim-&vim-version;-lang.* --strip-components=1&#xA;</xsl:text>
+               </xsl:if>
+             </xsl:if>
++            <!-- paco begin -->
++            <!-- General rule -->
++            <xsl:if test="$use_paco != '0' and 
++                    @id='ch-scripts-bootscripts' or
++                    @id='ch-scripts-udev-rules' or
++                    @id='ch-bootable-kernel' or
++                    (../@id='chapter-building-system' and
++                    @id!='ch-system-temp-perl' and
++                    contains(string(),'make') and
++                    contains(string(),'install'))">
++              <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so&#xA;</xsl:text>
++            </xsl:if>
++            <!-- Linux headers -->
++            <xsl:if test="$use_paco != '0' and
++                    @id='ch-system-linux-headers' and
++                    contains(string(),'install')">
++              <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so&#xA;</xsl:text>
++            </xsl:if>
++            <!-- paco end -->
+             <xsl:apply-templates select=".//para/userinput | .//screen"/>
+             <xsl:text>exit</xsl:text>
+           </exsl:document>
 Index: common/paco-build-hlfs.sh
 ===================================================================
 --- common/paco-build-hlfs.sh	(revision 0)
@@ -147,9 +370,9 @@
 +make logme
 Index: common/config
 ===================================================================
---- common/config	(revision 2857)
+--- common/config	(revision 2885)
 +++ common/config	(working copy)
-@@ -86,6 +86,23 @@
+@@ -91,6 +91,23 @@
  #--- Run farce testing 0(no)/1(yes)
  RUN_FARCE=0
  
@@ -173,7 +396,7 @@
  #==== INTERNAL VARIABLES ====
  # Don't edit it unless you know what you are doing
  
-@@ -103,3 +120,9 @@
+@@ -108,3 +125,9 @@
  
  #--- farce report log directory
  FARCELOGDIR=$LOGDIR/farce
@@ -185,18 +408,18 @@
 +LD_PRELOAD=/usr/lib/libpaco-log.so
 Index: common/func_validate_configs.sh
 ===================================================================
---- common/func_validate_configs.sh	(revision 2856)
+--- common/func_validate_configs.sh	(revision 2885)
 +++ common/func_validate_configs.sh	(working copy)
 @@ -84,9 +84,9 @@
  inline_doc
  
    # First internal variables, then the ones that change the book's flavour, and lastly system configuration variables
--  local -r hlfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE MODEL GRSECURITY_HOST TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB             CONFIG GETKERNEL KEYMAP         PAGE TIMEZONE LANG LC_ALL"
--  local -r clfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE METHOD  ARCH  TARGET  TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB BOOT_CONFIG CONFIG GETKERNEL KEYMAP VIMLANG PAGE TIMEZONE LANG"
--  local -r  lfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE                       TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB             CONFIG GETKERNEL        VIMLANG PAGE TIMEZONE LANG"
-+  local -r hlfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO GETPKG RUNMAKE MODEL GRSECURITY_HOST TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB             CONFIG GETKERNEL KEYMAP         PAGE TIMEZONE LANG LC_ALL"
-+  local -r clfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO GETPKG RUNMAKE METHOD  ARCH  TARGET  TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB BOOT_CONFIG CONFIG GETKERNEL KEYMAP VIMLANG PAGE TIMEZONE LANG"
-+  local -r  lfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO GETPKG RUNMAKE                       TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB             CONFIG GETKERNEL        VIMLANG PAGE TIMEZONE LANG"
+-  local -r hlfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE MODEL GRSECURITY_HOST TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB             CONFIG GETKERNEL KEYMAP         PAGE TIMEZONE LANG LC_ALL"
+-  local -r clfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE METHOD  ARCH  TARGET  TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB BOOT_CONFIG CONFIG GETKERNEL KEYMAP VIMLANG PAGE TIMEZONE LANG"
+-  local -r  lfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE                       TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB             CONFIG GETKERNEL        VIMLANG PAGE TIMEZONE LANG"
++  local -r hlfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO GETPKG RUNMAKE MODEL GRSECURITY_HOST TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB             CONFIG GETKERNEL KEYMAP         PAGE TIMEZONE LANG LC_ALL"
++  local -r clfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO GETPKG RUNMAKE METHOD  ARCH  TARGET  TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB BOOT_CONFIG CONFIG GETKERNEL KEYMAP VIMLANG PAGE TIMEZONE LANG"
++  local -r  lfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO GETPKG RUNMAKE                       TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB             CONFIG GETKERNEL        VIMLANG PAGE TIMEZONE LANG"
  
    local -r ERROR_MSG_pt1='The variable \"${L_arrow}${config_param}${R_arrow}\" value ${L_arrow}${BOLD}${!config_param}${R_arrow} is invalid,'
    local -r ERROR_MSG_pt2=' check the config file ${BOLD}${GREEN}\<$(echo $PROGNAME | tr [a-z] [A-Z])/config\> or \<common/config\>${OFF}'
@@ -212,38 +435,44 @@
 ===================================================================
 --- common/paco-functions	(revision 0)
 +++ common/paco-functions	(revision 0)
-@@ -0,0 +1,251 @@
+@@ -0,0 +1,311 @@
 +#!/bin/bash
 +
 +#----------------------------#
 +wrt_paco_inst() {            #
 +#----------------------------#
 +
-+# Not using Paco with uClibc, even if requested
-+if [ $PROGNAME = "hlfs" ]; then
-+  if [ $MODEL = "uclibc" ]; then
-+    USE_PACO=0
-+  fi
-+fi
++local paco_script="$1"
 +
++check_build_model
++
 +if [ $USE_PACO != 0 ]; then
-+  paco_script="$1"
-+  paco_file="chapter06/$paco_script"
-+  chapter6="$chapter6 $paco_script"
++  case $PROGNAME in 
++    clfs )
++      paco_file="final-system/$paco_script"
++      basicsystem="$basicsystem $paco_script" ;;
++    * )
++      paco_file="chapter06/$paco_script"
++      chapter6="$chapter6 $paco_script" ;;
++  esac
 +
 +  # Copy the paco build script to the correct directory and make it executable
 +  cp $JHALFSDIR/paco-build-$PROGNAME.sh $JHALFSDIR/${PROGNAME}-commands/$paco_file &&
 +  chmod +x $JHALFSDIR/${PROGNAME}-commands/$paco_file
 +
 +  # Write target, dependency and unpack
-+  wrt_target "$paco_script" "$PREV"
-+  wrt_unpack2 "$PACO_FILE"
++  if [ $CLFS_BOOT = 1 ]; then
++    wrt_target_boot "$paco_script" "$PREV"
++    wrt_unpack3 "$PACO_FILE"
++    wrt_run_as_root2 "${paco_script}" "${paco_file}"
++    wrt_remove_build_dirs2 "paco"
++  else 
++    wrt_target "$paco_script" "$PREV"
++    wrt_unpack2 "$PACO_FILE"
++    wrt_run_as_chroot1 "${paco_script}" "${paco_file}"
++    wrt_remove_build_dirs "paco"
++  fi
 +
-+  # Run the script
-+  wrt_run_as_chroot1 "${paco_script}" "${paco_file}"
-+
-+  # Clean up
-+  wrt_remove_build_dirs "paco"
 +  wrt_touch
 +
 +  # Override the PREV variable
@@ -256,22 +485,24 @@
 +wrt_paco_prep() {                  # Export Paco variables
 +#----------------------------------# and remove tmpfile
 +
-+# Not using Paco with uClibc, even if requested
-+if [ $PROGNAME = "hlfs" ]; then
-+  if [ $MODEL = "uclibc" ]; then
-+    USE_PACO=0
-+  fi
-+fi
++local TMPFILEPATH
 +
++check_build_model
++
 +check_log_package
 +
 +if [ $USE_PACO != 0 ] && [ $LOG_PACKAGE != 0 ]; then
++  if [ $CLFS_BOOT = 1 ]; then
++    TMPFILEPATH="$PACO_TMPFILE"
++  else
++    TMPFILEPATH="\$(MOUNT_PT)$PACO_TMPFILE"
++  fi
 +(
 +cat  << EOF
 +	@echo "export PACO_INCLUDE=$PACO_INCLUDE" >> envars && \\
 +	echo "export PACO_EXCLUDE=\$(SRC):$PACO_EXCLUDE" >> envars && \\
 +	echo "export PACO_TMPFILE=$PACO_TMPFILE" >> envars && \\
-+	rm -f \$(MOUNT_PT)$PACO_TMPFILE
++	rm -f $TMPFILEPATH
 +EOF
 +) >> $MKFILE.tmp
 +fi
@@ -283,112 +514,137 @@
 +#----------------------------------# and remove tempfile
 +local PACKAGE
 +
++# Extract package name and version from the tarball name
 +PACKAGE=`echo $1 | sed -e 's/.tar.*//'`
 +
-+# Not using Paco with uClibc, even if requested
-+if [ $PROGNAME = "hlfs" ]; then
-+  if [ $MODEL = "uclibc" ]; then
-+    USE_PACO=0
-+  fi
-+fi
++check_build_model
 +
++# Check if the package should be logged
 +check_log_package
 +
++
 +if [ $USE_PACO != 0 ]; then
 +  if [ $LOG_PACKAGE != 0 ]; then
++    # Only use this if doing CLFS boot build
++    if [ $CLFS_BOOT = 1 ]; then
 +(
 +cat << EOF
++	@if [ -e $PACO_TMPFILE ]; then \\
++		paco -lp+ $PACKAGE < $PACO_TMPFILE && \\
++		rm -f $PACO_TMPFILE; \\
++	fi;
++EOF
++) >> $MKFILE.tmp
++    # All else should use these commands
++    else
++(
++cat << EOF
 +	@if [ -e \$(MOUNT_PT)$PACO_TMPFILE ]; then \\
 +		\$(CHROOT1) 'paco -lp+ $PACKAGE < $PACO_TMPFILE' && \\
 +		rm -f \$(MOUNT_PT)$PACO_TMPFILE; \\
 +	fi;
 +EOF
 +) >> $MKFILE.tmp
++    fi
 +  fi
++  # Add missing files to the logs if needed
 +  wrt_paco_add_log
 +fi
 +}
 +
 +
 +#----------------------------------#
++fnc_add_log() {                    #
++#----------------------------------#
++
++MISSING_FILE=$1
++
++if [ $CLFS_BOOT = 1 ]; then
++  echo -e "\t@$MISSING_FILE | paco -lp+ $PACKAGE" >> $MKFILE.tmp
++else
++  echo -e "\t@\$(CHROOT1) '$MISSING_FILE | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
++fi
++}
++
++
++#----------------------------------#
 +wrt_paco_add_log() {               #
 +#----------------------------------#
 +# Some packages create files using bash redirection, which the LD_PRELOAD lib don't notice
 +# These rules will add the missing files to the proper logs.
 +# Most of these is not needed for HLFS, but they do no harm.
 +if [ $USE_PACO != 0 ]; then
-+  case $this_script in
++ case $this_script in
 +    *glibc)
-+      echo -e "\t@\$(CHROOT1) 'find /lib -type l | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
-+      echo -e "\t@\$(CHROOT1) 'find /etc/{nsswitch.conf,ld.so.conf} | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
++      fnc_add_log "find /lib -type l"
++      fnc_add_log "find /etc/{nsswitch.conf,ld.so.conf}"
 +    ;;
 +    *ncurses)
-+      LIBS="/usr/lib/{libcurses.so,libncurses.so,libform.so,libpanel.so,libmenu.so}"
-+      echo -e "\t@\$(CHROOT1) 'find $LIBS | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
++      fnc_add_log "find /usr/lib/{libcurses.so,libncurses.so,libform.so,libpanel.so,libmenu.so}"
 +    ;;
 +    *bash)
-+      echo -e "\t@\$(CHROOT1) 'echo /bin/sh | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
++      fnc_add_log "echo /bin/sh"
 +    ;;
 +    *flex)
-+      echo -e "\t@\$(CHROOT1) 'echo /usr/bin/lex | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
++      fnc_add_log "echo /usr/bin/lex"
 +    ;;
 +    *shadow)
-+      echo -e "\t@\$(CHROOT1) 'echo /etc/login.defs | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
++      fnc_add_log "echo /etc/login.defs"
 +    ;;
 +    *hotplug)
-+      echo -e "\t@\$(CHROOT1) 'echo /var/log/hotplug | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
-+      echo -e "\t@\$(CHROOT1) 'echo /var/run/usb | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
++      fnc_add_log "echo /var/log/hotplug"
++      fnc_add_log "echo /var/run/usb"
 +    ;;
 +    *sysklogd)
-+      echo -e "\t@\$(CHROOT1) 'echo /etc/syslog.conf | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
++      fnc_add_log "echo /etc/syslog.conf"
 +    ;;
 +    *sysvinit)
-+      echo -e "\t@\$(CHROOT1) 'echo /etc/inittab | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
++      fnc_add_log "echo /etc/inittab"
 +    ;;
 +    *udev)
-+      echo -e "\t@\$(CHROOT1) 'find /lib/udev/devices | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
-+      echo -e "\t@\$(CHROOT1) 'echo /lib/firmware | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
-+      echo -e "\t@\$(CHROOT1) 'find /etc/udev/rules.d -type f | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
++      fnc_add_log "find /lib/udev/devices"
++      fnc_add_log "echo /lib/firmware"
++      fnc_add_log "find /etc/udev/rules.d -type f"
 +    ;;
 +    *util-linux)
-+      echo -e "\t@\$(CHROOT1) 'echo /var/lib/hwclock | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
-+      echo -e "\t@\$(CHROOT1) 'echo /etc/nologin.txt | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
++      fnc_add_log "echo /var/lib/hwclock"
++      fnc_add_log "echo /etc/nologin.txt"
 +    ;;
 +    *vim)
-+      echo -e "\t@\$(CHROOT1) 'echo /etc/vimrc | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
++      fnc_add_log "echo /etc/vimrc"
 +    ;;
-+    # Rules below here will log configuration files created in LFS and HLFS
-+    # They will end up in a log named {h}lfs-sysconf
++    # Rules below here will log configuration files created in {C,H}LFS
++    # They will end up in a log named {c,h}lfs-sysconf
 +    *setclock)
-+      echo -e "\t@\$(CHROOT2) 'echo /etc/sysconfig/clock | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
++      fnc_add_log "echo /etc/sysconfig/clock"
 +    ;;
 +    *inputrc)
-+      echo -e "\t@\$(CHROOT2) 'echo /etc/inputrc | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
++      fnc_add_log "echo /etc/inputrc"
 +    ;;
 +    *profile)
-+      echo -e "\t@\$(CHROOT2) 'echo /etc/profile | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
++      fnc_add_log "echo /etc/profile"
 +    ;;
 +    *hostname)
-+      echo -e "\t@\$(CHROOT2) 'echo /etc/sysconfig/network | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
++      fnc_add_log "echo /etc/sysconfig/network"
 +    ;;
 +    *localnet)
-+      echo -e "\t@\$(CHROOT2) 'echo /etc/sysconfig/network | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
++      fnc_add_log "echo /etc/sysconfig/network"
 +    ;;
 +    *hosts)
-+      echo -e "\t@\$(CHROOT2) 'echo /etc/hosts | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
++      fnc_add_log "echo /etc/hosts"
 +    ;;
 +    *network)
-+      echo -e "\t@\$(CHROOT2) 'echo /etc/sysconfig/network-devices/ifconfig.eth0/ipv4 | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
-+      echo -e "\t@\$(CHROOT2) 'echo /etc/resolv.conf | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
++      fnc_add_log "echo /etc/sysconfig/network-devices/ifconfig.eth0/ipv4"
++      fnc_add_log "echo /etc/resolv.conf"
 +    ;;
 +    *fstab)
-+      echo -e "\t@\$(CHROOT2) 'echo /etc/fstab | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
++      fnc_add_log "echo /etc/fstab"
 +    ;;
-+    *theend) # LFS
-+      echo -e "\t@\$(CHROOT2) 'echo /etc/$PROGNAME-release | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
++    *theend) # LFS and CLFS
++      fnc_add_log "echo /etc/$PROGNAME-release"
 +    ;;
 +    *finished) # HLFS
-+      echo -e "\t@\$(CHROOT2) 'echo /etc/$PROGNAME-release | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
++      fnc_add_log "echo /etc/$PROGNAME-release"
 +    ;;
 +  esac
 +fi
@@ -407,7 +663,10 @@
 +  *createfiles)     LOG_PACKAGE=0 ;;
 +  *pwdgroup)        LOG_PACKAGE=0 ;;
 +  *devices)         LOG_PACKAGE=0 ;;
++  *stripping)       LOG_PACKAGE=0 ;;
 +  *strippingagain)  LOG_PACKAGE=0 ;;
++  *adjusting)       LOG_PACKAGE=0 ;;
++  *temp-perl)       LOG_PACKAGE=0 ;;
 +  *readjusting)     LOG_PACKAGE=0 ;;
 +  *setclock)        LOG_PACKAGE=0 ;;
 +  *inputrc)         LOG_PACKAGE=0 ;;
@@ -434,7 +693,7 @@
 +local PACO_URL2="http://$PACO_MIRROR2.dl.sourceforge.net/sourceforge/paco/$PACO_FILE"
 +
 +# Test if paco is to be used
-+[ ! "$USE_PACO" = "1" ] && return
++[[ ! "$USE_PACO" = "1" ]] && return
 +
 +# If the file exists in the archive copy it to the $BUILDDIR/sources dir.
 +if [ ! -z ${SRC_ARCHIVE} ] &&
@@ -464,6 +723,30 @@
 +     cp -f $PACO_FILE ${SRC_ARCHIVE}
 +fi
 +}
++
++
++#----------------------------------#
++check_build_model() {              #
++#----------------------------------#
++# Check what script we're running, and set some switches accordingly
++
++CLFS_BOOT=0
++
++case $PROGNAME in
++  hlfs)
++    # Not using Paco with uClibc, even if requested
++    if [ "$MODEL" = "uclibc" ]; then
++      USE_PACO=0
++    fi
++  ;;
++  clfs)
++    # CLFS boot method require it's own commands
++    if [ "$METHOD" = "boot" ]; then
++      CLFS_BOOT=1
++    fi
++  ;;
++esac
++}
 Index: common/paco-build-lfs.sh
 ===================================================================
 --- common/paco-build-lfs.sh	(revision 0)
@@ -479,9 +762,24 @@
 +make &&
 +make install &&
 +make logme
+Index: common/paco-build-clfs.sh
+===================================================================
+--- common/paco-build-clfs.sh	(revision 0)
++++ common/paco-build-clfs.sh	(revision 0)
+@@ -0,0 +1,10 @@
++#!/bin/sh
++set -e
++
++cd $PKGDIR
++./configure --sysconfdir=/etc \
++	--enable-scripts \
++	--disable-gpaco &&
++make &&
++make install &&
++make logme
 Index: common/common-functions
 ===================================================================
---- common/common-functions	(revision 2857)
+--- common/common-functions	(revision 2885)
 +++ common/common-functions	(working copy)
 @@ -69,6 +69,9 @@
          in the configuration file has the proper packages and patches for the
@@ -493,7 +791,15 @@
  ${BOLD}  -O, --optimize${OFF}
          Optimize [0-2]
            0 = no optimization
-@@ -733,6 +736,7 @@
+@@ -720,6 +723,7 @@
+                  --stringparam page $PAGE \
+                  --stringparam lang $LANG \
+                  --stringparam keymap $KEYMAP \
++                 --stringparam use_paco $USE_PACO \
+                  -o ./${PROGNAME}-commands/ $XSL $BOOK/$ARCH-index.xml >>$LOGDIR/$LOG 2>&1
+       ;;
+     hlfs)
+@@ -735,6 +739,7 @@
                   --stringparam lc_all $LC_ALL \
                   --stringparam keymap $KEYMAP \
                   --stringparam grsecurity_host $GRSECURITY_HOST \
@@ -501,7 +807,7 @@
                   -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1
        ;;
      lfs)
-@@ -744,6 +748,7 @@
+@@ -747,6 +752,7 @@
                   --stringparam timezone $TIMEZONE \
                   --stringparam page $PAGE \
                   --stringparam lang $LANG \
@@ -509,7 +815,7 @@
                   -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1
        ;;
      *) exit 1 ;;
-@@ -810,6 +815,9 @@
+@@ -813,6 +819,9 @@
      # Generate URLs file
    create_urls
  
@@ -521,9 +827,9 @@
      IFS=$saveIFS  # Restore the system defaults
 Index: HLFS/hlfs.xsl
 ===================================================================
---- HLFS/hlfs.xsl	(revision 2861)
+--- HLFS/hlfs.xsl	(revision 2885)
 +++ HLFS/hlfs.xsl	(working copy)
-@@ -39,6 +39,9 @@
+@@ -46,6 +46,9 @@
    <xsl:param name="lang" select="C"/>
    <xsl:param name="lc_all" select="C"/>
  
@@ -533,7 +839,7 @@
    <xsl:template match="/">
      <xsl:apply-templates select="//sect1"/>
    </xsl:template>
-@@ -177,6 +180,10 @@
+@@ -192,6 +195,10 @@
        <!-- Fixing bootscripts installation -->
        <xsl:when test="ancestor::sect1[@id='bootable-bootscripts'] and
                  string() = 'make install'">
@@ -544,11 +850,10 @@
          <xsl:text>make install&#xA;</xsl:text>
          <xsl:text>cd ../blfs-bootscripts-&blfs-bootscripts-version;&#xA;</xsl:text>
        </xsl:when>
-@@ -237,6 +244,27 @@
+@@ -280,6 +287,25 @@
          <xsl:apply-templates/>
          <xsl:text> || true&#xA;</xsl:text>
        </xsl:when>
-+
 +      <!-- paco begin -->
 +      <!-- General rule -->
 +      <xsl:when test="$use_paco != '0' and $model != 'uclibc' and
@@ -568,25 +873,24 @@
 +        <xsl:text>&#xA;</xsl:text>
 +      </xsl:when>
 +      <!-- paco end -->
-+
        <!-- The rest of commands -->
        <xsl:otherwise>
          <xsl:apply-templates/>
 Index: HLFS/master.sh
 ===================================================================
---- HLFS/master.sh	(revision 2857)
+--- HLFS/master.sh	(revision 2885)
 +++ HLFS/master.sh	(working copy)
-@@ -76,7 +76,9 @@
- 	@echo "export PKGDIR=\$(SRC)" > envars
+@@ -92,7 +92,9 @@
  EOF
  ) >> $MKFILE.tmp
+       [[ "$TEST" != "0" ]] && wrt_test_log2 "${this_script}"
 +      wrt_paco_prep
        wrt_run_as_chroot1 "$toolchain" "$this_script"
 +      wrt_paco_log "`echo $toolchain | sed -e 's@[0-9]\{3\}-@@'`"
        ;;
  
      *)
-@@ -310,6 +312,11 @@
+@@ -324,6 +326,11 @@
      # Keep the script file name
      this_script=`basename $file`
  
@@ -598,7 +902,7 @@
      # Skip this script depending on jhalfs.conf flags set.
      case $this_script in
          # We'll run the chroot commands differently than the others, so skip them in the
-@@ -319,6 +326,18 @@
+@@ -333,6 +340,18 @@
        *-stripping* )  [[ "$STRIP" = "0" ]] && continue ;;
      esac
  
@@ -617,7 +921,7 @@
      # Grab the name of the target
      name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@'`
  
-@@ -385,7 +404,9 @@
+@@ -398,7 +417,9 @@
          wrt_RunAsRoot "hlfs" "${this_script}" "${file}"
          ;;
        *)   # The rest of Chapter06
@@ -627,7 +931,7 @@
         ;;
      esac
      #
-@@ -405,6 +426,16 @@
+@@ -418,6 +439,16 @@
      PREV=${this_script}${N}
      # Set system_build envar for iteration targets
      system_build=$chapter6
@@ -644,7 +948,7 @@
    done # end for file in chapter06/*
  
  }
-@@ -463,9 +494,19 @@
+@@ -476,9 +507,19 @@
          else  # Initialize the log and run the script
            wrt_run_as_chroot2 "${this_script}" "${file}"
          fi
@@ -666,7 +970,7 @@
  
 Index: master.sh
 ===================================================================
---- master.sh	(revision 2856)
+--- master.sh	(revision 2885)
 +++ master.sh	(working copy)
 @@ -149,6 +149,8 @@
  




More information about the alfs-log mailing list