Updated paco patch on 1.0 branch.

This commit is contained in:
Manuel Canales Esparcia 2006-08-05 16:13:38 +00:00
parent 05ccaa9862
commit 50c8292b0a

View file

@ -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,19 +61,16 @@ Index: LFS/master.sh
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"
+ ;;
+ *bootscripts) 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"
+ ;;
*) wrt_run_as_chroot2 "$this_script" "$file"
+ wrt_paco_log "lfs-sysconf"
@ -82,9 +79,9 @@ Index: LFS/master.sh
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 @@ Index: LFS/lfs.xsl
<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 @@ Index: LFS/lfs.xsl
<!-- 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@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@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 @@ Index: common/paco-build-hlfs.sh
+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 @@ Index: common/config
#==== 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 @@ Index: common/config
+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 @@ Index: common/paco-functions
===================================================================
--- 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 @@ Index: common/paco-functions
+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,19 +514,29 @@ Index: common/paco-functions
+#----------------------------------# 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 \\
@ -304,91 +545,106 @@ Index: common/paco-functions
+ 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 @@ Index: common/paco-functions
+ *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 @@ Index: common/paco-functions
+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 @@ Index: common/paco-functions
+ 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 @@ Index: common/paco-build-lfs.sh
+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 @@ Index: common/common-functions
${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 @@ Index: common/common-functions
-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 @@ Index: common/common-functions
-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 @@ Index: common/common-functions
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 @@ Index: HLFS/hlfs.xsl
<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 @@ Index: HLFS/hlfs.xsl
<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 @@ Index: HLFS/hlfs.xsl
+ <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 @@ Index: HLFS/master.sh
# 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 @@ Index: HLFS/master.sh
# 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 @@ Index: HLFS/master.sh
;;
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 @@ Index: HLFS/master.sh
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: HLFS/master.sh
Index: master.sh
===================================================================
--- master.sh (revision 2856)
--- master.sh (revision 2885)
+++ master.sh (working copy)
@@ -149,6 +149,8 @@