diff --git a/README b/README
index 6fcb3ac..c739d4f 100644
--- a/README
+++ b/README
@@ -143,7 +143,10 @@ $Id$
/blfs-tool-deps/9xx-*
/libs/func_*
- /contrib/jhalfs-paco.patch
+ /custom/template
+ /config/
+ /examples/*
+ /examples_CLFS-E/*
/extras/do_copy_files
/do_ica_prep
@@ -164,8 +167,9 @@ $Id$
README
README.BLFS
+ README.CLFS
README.HLFS
- README.PACO
+ README.CUSTOM
TODO
LICENSE
diff --git a/README.PACO b/README.PACO
deleted file mode 100644
index 164a7a9..0000000
--- a/README.PACO
+++ /dev/null
@@ -1,94 +0,0 @@
-###########################################
-# #
-# README FILE FOR JHALFS PACO PATCH #
-# By: Tor Olav Stava #
-# (torstava@broadpark.no #
-# #
-###########################################
-
-**** W A R N I N G ****
-
-The patch don't work at this moment.
-
-
-##### GENERAL DESCRIPTION #####
-
-This patch will enable the paco pacKAGE oRGANIZER to be used with jhalfs.
-At the moment only the LFS and HLFS-glibc parts are supported.
-
-NEWS:
- Preliminary support for CLFS is ready. It's not fully tested, so if you
-discover any bugs please notify the patch author. Also, Paco may or may not work
-on your specific architecture. Check the Paco homepage for details.
-
-##### QUICK START #####
-
-1. Apply the paco.patch.
- (patch -Np0 -i contrib/jhalfs-paco.patch)
-
-2. Edit the configuration files to your preferences.
- (common/config and LFS/config or HLFS/config or CLFS/config)
-
-3. Run the wanted script.
- (Only ./lfs or ./clfs or ./hlfs --model glibc if you want to use paco)
-
-4. Run make.
-
-
-##### PREREQUISITES #####
-
-Before using jhalfs you should have some experience with LFS.
-
-If you don't know what LFS is about, then head over to
-http://www.linuxfromscratch.org/lfs and start from there.
-
-
-##### NOTES #####
-
-Paco-1.10.10 is currently recommended.
-Remember to update the common/config file is using a newer version.
-
-Patch author: Tor Olav Stava (torstava@broadpark.no)
-Any comments directly regarding the patch should be directed to the author
-or the ALFS mailing list. The patch author is not a member of the ALFS team,
-and all work is done on a voluntary basis.
-
-
-##### LINKS #####
-
-Linux From Scratch homepage:
-http://www.linuxfromscratch.org
-
-paco homepage:
-http://paco.sourceforge.net/index.html
-
-nALFS + paco hint by David Rosal:
-http://www.linuxfromscratch.org/hints/downloads/files/alfs_paco.txt
-
-
-##### SUPPORT #####
-
-Linux From Scratch Mailing Lists:
-http://www.linuxfromscratch.org/mail.html
-
-paco Mailing List:
-http://lists.sourceforge.net/lists/listinfo/paco-general
-
-
-##### TODO #####
-
-- Bughunting/testing CLFS part
-- Support for HLFS-uClibc
-- Support for BLFS (when it's ready)
-- Spread the Word
-
-
-##### HISTORY #####
-
-2006-08-02
-- Preliminary support for CLFS done
-- Some code cleanup
-
-2006-07-30
-- Automatical download of Paco source package done
-- Updated patch to support new HLFS layout
diff --git a/common/libs/func_compare.sh b/common/libs/func_compare.sh
index 4e950e9..8e8184f 100644
--- a/common/libs/func_compare.sh
+++ b/common/libs/func_compare.sh
@@ -55,7 +55,7 @@ wrt_compare_work() { #
local ITERATION=$1
local PREV_IT=$2
local PRUNEPATH="/dev /home /${SCRIPT_ROOT} /lost+found /media /mnt /opt /proc \
-/sources /root /srv /sys /tmp /tools /usr/local /usr/src /var/log/paco"
+/sources /root /srv /sys /tmp /tools /usr/local /usr/src"
local ROOT_DIR=/
local DEST_TOPDIR=/${SCRIPT_ROOT}
diff --git a/contrib/jhalfs-paco.patch b/contrib/jhalfs-paco.patch
deleted file mode 100644
index ac70c2b..0000000
--- a/contrib/jhalfs-paco.patch
+++ /dev/null
@@ -1,1054 +0,0 @@
-Index: LFS/master.sh
-===================================================================
---- LFS/master.sh (revision 3103)
-+++ LFS/master.sh (working copy)
-@@ -172,6 +172,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
-+
- # We'll run the chroot commands differently than the others, so skip them in the
- # dependencies and target creation.
- case "${this_script}" in
-@@ -179,6 +184,18 @@
- *stripping*) [[ "${STRIP}" = "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-libc-headers)
-+ TMP_SCRIPT="$this_script"
-+ this_script=`echo $this_script | sed -e 's/linux-libc-headers/a-paco/'`
-+ wrt_paco_inst "$this_script"
-+ this_script="$TMP_SCRIPT" ;;
-+ esac
-+ fi
-+
- # Grab the name of the target
- name=`echo ${this_script} | sed -e 's@[0-9]\{3\}-@@'`
-
-@@ -231,7 +248,9 @@
- # and not to use chroot.
- case "${this_script}" in
- *kernfs) wrt_RunAsRoot "${this_script}" "$file" ;;
-- *) wrt_run_as_chroot1 "${this_script}" "$file" ;;
-+ *) wrt_paco_prep
-+ wrt_run_as_chroot1 "${this_script}" "$file"
-+ wrt_paco_log "$pkg_tarball" ;;
- esac
-
- # Remove the build directory(ies) except if the package build fails.
-@@ -251,6 +270,16 @@
- PREV=${this_script}${N}
- # Set system_build envar for iteration targets
- system_build=$chapter6
-+
-+ # Reinstalling paco after readsjusting the toolchain.
-+ case "${this_script}" in
-+ *readjusting)
-+ TMP_SCRIPT="$this_script"
-+ this_script=`echo ${this_script} | sed -e 's/readjusting/x-paco/'`
-+ wrt_paco_inst "$this_script"
-+ this_script="$TMP_SCRIPT" ;;
-+ esac
-+
- done # end for file in chapter06/*
- }
-
-@@ -311,8 +340,15 @@
- else
- wrt_run_as_chroot2 "$this_script" "$file"
- fi
-+ wrt_paco_log "lfs-sysconf"
- ;;
-+ *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"
- ;;
- esac
-
-Index: LFS/lfs.xsl
-===================================================================
---- LFS/lfs.xsl (revision 3103)
-+++ LFS/lfs.xsl (working copy)
-@@ -39,6 +39,9 @@
-
-
-
-+
-+
-+
-
-
-
-@@ -251,6 +254,33 @@
-
- || true
-
-+
-+
-+
-+ export LD_PRELOAD=/usr/lib/libpaco-log.so
-+
-+
-+
-+
-+
-+ export LD_PRELOAD=/usr/lib/libpaco-log.so
-+
-+
-+
-+
-+
-+ unset LD_PRELOAD
-+
-+
-+
-+
-
-
-
-Index: CLFS/master.sh
-===================================================================
---- CLFS/master.sh (revision 3103)
-+++ CLFS/master.sh (working copy)
-@@ -494,6 +494,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
-@@ -501,6 +506,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-@@' \
-@@ -553,7 +570,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}"
- #
-@@ -568,6 +587,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/* ...
- }
-
-@@ -604,6 +633,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
-@@ -611,6 +645,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-@@' \
-@@ -665,7 +711,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}"
- #
-@@ -680,6 +728,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/* ...
- }
-
-@@ -728,7 +786,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}"
- #
-@@ -790,7 +858,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}"
- #
-@@ -862,8 +940,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.
-@@ -941,8 +1024,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 3103)
-+++ CLFS/clfs.xsl (working copy)
-@@ -42,6 +42,9 @@
-
-
-
-+
-+
-+
-
-
-
-@@ -103,6 +106,25 @@
- tar -xvf ../vim-&vim-version;-lang.* --strip-components=1
-
-
-+
-+
-+
-+ export LD_PRELOAD=/usr/lib/libpaco-log.so
-+
-+
-+
-+ export LD_PRELOAD=/usr/lib/libpaco-log.so
-+
-+
-
- exit
-
-Index: common/paco-build-hlfs.sh
-===================================================================
---- common/paco-build-hlfs.sh (revision 0)
-+++ common/paco-build-hlfs.sh (revision 0)
-@@ -0,0 +1,12 @@
-+#!/bin/sh
-+set -e
-+
-+cd $PKGDIR
-+./configure --sysconfdir=/etc \
-+ --enable-scripts \
-+ --disable-gpaco \
-+ --disable-static \
-+ --with-pic &&
-+make &&
-+make install &&
-+make logme
-Index: common/func_validate_configs.sh
-===================================================================
---- common/func_validate_configs.sh (revision 3103)
-+++ common/func_validate_configs.sh (working copy)
-@@ -20,10 +20,10 @@
- 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 BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB CONFIG GETKERNEL PAGE TIMEZONE LANG LC_ALL LUSER LGROUP BLFS_TOOL"
-- local -r clfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE METHOD ARCH TARGET TARGET32 TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB BOOT_CONFIG CONFIG GETKERNEL VIMLANG PAGE TIMEZONE LANG LUSER LGROUP BLFS_TOOL"
-- local -r clfs2_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE ARCH TARGET OPTIMIZE REPORT STRIP FSTAB CONFIG GETKERNEL VIMLANG PAGE TIMEZONE LANG LUSER LGROUP BLFS_TOOL"
-- 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 LUSER LGROUP BLFS_TOOL"
-+ 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 PAGE TIMEZONE LANG LC_ALL LUSER LGROUP BLFS_TOOL"
-+ local -r clfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO GETPKG RUNMAKE METHOD ARCH TARGET TARGET32 TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB BOOT_CONFIG CONFIG GETKERNEL VIMLANG PAGE TIMEZONE LANG LUSER LGROUP BLFS_TOOL"
-+ local -r clfs2_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE ARCH TARGET OPTIMIZE REPORT STRIP FSTAB CONFIG GETKERNEL VIMLANG PAGE TIMEZONE LANG LUSER LGROUP BLFS_TOOL"
-+ 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 LUSER LGROUP BLFS_TOOL"
- local -r blfs_PARAM_LIST="BRANCH_ID BLFS_ROOT BLFS_XML TRACKING_DIR"
-
- local -r blfs_tool_PARAM_LIST="BLFS_BRANCH_ID BLFS_ROOT BLFS_XML TRACKING_DIR DEP_LIBXML DEP_LIBXSLT DEP_DBXSL DEP_LINKS DEP_SUDO DEP_WGET DEP_SVN DEP_GPM"
-@@ -99,6 +99,7 @@
- case $config_param in
- # Allways display this, if found in ${PROGNAME}_PARAM_LIST
- GETPKG | \
-+ USE_PACO | \
- RUNMAKE | \
- TEST | \
- OPTIMIZE | \
-Index: common/paco-functions
-===================================================================
---- common/paco-functions (revision 0)
-+++ common/paco-functions (revision 0)
-@@ -0,0 +1,328 @@
-+#!/bin/bash
-+
-+#----------------------------#
-+wrt_paco_inst() { #
-+#----------------------------#
-+
-+local paco_script="$1"
-+
-+check_build_model
-+
-+if [ $USE_PACO = "y" ]; then
-+ 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
-+ 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
-+
-+ wrt_touch
-+
-+ # Override the PREV variable
-+ PREV="$paco_script"
-+fi
-+}
-+
-+
-+#----------------------------------#
-+wrt_paco_prep() { # Export Paco variables
-+#----------------------------------# and remove tmpfile
-+
-+local TMPFILEPATH
-+
-+check_build_model
-+
-+check_log_package
-+
-+if [ $USE_PACO = "y" ] && [ $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 $TMPFILEPATH
-+EOF
-+) >> $MKFILE.tmp
-+fi
-+}
-+
-+
-+#----------------------------------#
-+wrt_paco_log() { # If the tmpfile exist, then log the current package
-+#----------------------------------# and remove tempfile
-+local PACKAGE
-+
-+# Extract package name and version from the tarball name
-+PACKAGE=`echo $1 | sed -e 's/.tar.*//'`
-+
-+check_build_model
-+
-+# Check if the package should be logged
-+check_log_package
-+
-+
-+if [ $USE_PACO = "y" ]; 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 = "y" ]; then
-+ case $this_script in
-+ *e2fsprogs)
-+ fnc_add_log "echo /etc/mke2fs.conf"
-+ ;;
-+ *bootscripts)
-+ fnc_add_log "echo /etc/sysconfig/rc"
-+ fnc_add_log "echo /etc/sysconfig/createfiles"
-+ ;;
-+ *glibc)
-+ fnc_add_log "find /lib -type l"
-+ fnc_add_log "echo /etc/{nsswitch.conf,ld.so.conf}"
-+ ;;
-+ *ncurses)
-+ fnc_add_log "echo /usr/lib/{libcurses.so,libncurses.so{,.5},libform.so,libpanel.so,libmenu.so}"
-+ ;;
-+ *bash)
-+ fnc_add_log "echo /bin/sh"
-+ ;;
-+ *flex)
-+ fnc_add_log "echo /usr/bin/lex"
-+ ;;
-+ *shadow)
-+ fnc_add_log "echo /etc/login.defs"
-+ fnc_add_log "echo /etc/group"
-+ ;;
-+ *hotplug)
-+ fnc_add_log "echo /var/log/hotplug"
-+ fnc_add_log "echo /var/run/usb"
-+ ;;
-+ *sysklogd)
-+ fnc_add_log "echo /etc/syslog.conf"
-+ ;;
-+ *sysvinit)
-+ fnc_add_log "echo /etc/inittab"
-+ fnc_add_log "echo /usr/bin/lastb"
-+ ;;
-+ *texinfo)
-+ fnc_add_log "echo /usr/share/info/dir"
-+ ;;
-+ *udev)
-+ fnc_add_log "find /lib/udev/devices"
-+ fnc_add_log "echo /lib/firmware"
-+ fnc_add_log "find /etc/udev/rules.d -type f"
-+ fnc_add_log "echo /etc/udev/udev.conf"
-+ ;;
-+ *udev-rules)
-+ fnc_add_log "echo /lib/udev/devices/{null,console}"
-+ ;;
-+ *util-linux)
-+ fnc_add_log "echo /var/lib/hwclock"
-+ fnc_add_log "echo /etc/nologin.txt"
-+ ;;
-+ *vim)
-+ fnc_add_log "echo /etc/vimrc"
-+ ;;
-+ # 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)
-+ fnc_add_log "echo /etc/sysconfig/clock"
-+ ;;
-+ *inputrc)
-+ fnc_add_log "echo /etc/inputrc"
-+ ;;
-+ *profile)
-+ fnc_add_log "echo /etc/profile"
-+ ;;
-+ *hostname)
-+ fnc_add_log "echo /etc/sysconfig/network"
-+ ;;
-+ *localnet)
-+ fnc_add_log "echo /etc/sysconfig/network"
-+ ;;
-+ *hosts)
-+ fnc_add_log "echo /etc/hosts"
-+ ;;
-+ *network)
-+ fnc_add_log "echo /etc/sysconfig/network-devices/ifconfig.eth0/ipv4"
-+ fnc_add_log "echo /etc/resolv.conf"
-+ ;;
-+ *fstab)
-+ fnc_add_log "echo /etc/fstab"
-+ ;;
-+ *theend | *finished)
-+ fnc_add_log "echo /etc/$PROGNAME-release"
-+ fnc_add_log "echo /var/run/utmp"
-+ fnc_add_log "echo /var/log/btmp"
-+ fnc_add_log "echo /var/log/wtmp"
-+ fnc_add_log "echo /var/log/lastlog"
-+ ;;
-+ esac
-+fi
-+}
-+
-+
-+#----------------------------------#
-+check_log_package() { #
-+#----------------------------------#
-+# Maybe don't need this function, but it will avoid writing some
-+# unnecessary paco commands in the Makefile.
-+
-+case $this_script in
-+ *changingowner) LOG_PACKAGE=0 ;;
-+ *creatingdirs) LOG_PACKAGE=0 ;;
-+ *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 ;;
-+ *profile) LOG_PACKAGE=0 ;;
-+ *hostname) LOG_PACKAGE=0 ;;
-+ *localnet) LOG_PACKAGE=0 ;;
-+ *hosts) LOG_PACKAGE=0 ;;
-+ *network) LOG_PACKAGE=0 ;;
-+ *fstab) LOG_PACKAGE=0 ;;
-+ *theend) LOG_PACKAGE=0 ;;
-+ *finished) LOG_PACKAGE=0 ;;
-+ *) LOG_PACKAGE=1 ;;
-+esac
-+}
-+
-+#----------------------------------#
-+get_paco_src() { #
-+#----------------------------------#
-+# Download the paco sources
-+# We don't do any MD5SUM checking as of yet
-+# http://jaist.dl.sourceforge.net/sourceforge/paco/paco-1.10.10.tar.bz2
-+
-+local PACO_URL1="http://$PACO_MIRROR1.dl.sourceforge.net/sourceforge/paco/$PACO_FILE"
-+local PACO_URL2="http://$PACO_MIRROR2.dl.sourceforge.net/sourceforge/paco/$PACO_FILE"
-+
-+# Test if paco is to be used
-+[[ ! "$USE_PACO" = "y" ]] && return
-+
-+# If the file exists in the archive copy it to the $BUILDDIR/sources dir.
-+if [ ! -z ${SRC_ARCHIVE} ] &&
-+ [ -d ${SRC_ARCHIVE} ] &&
-+ [ -f ${SRC_ARCHIVE}/$PACO_FILE ]; then
-+ cp ${SRC_ARCHIVE}/$PACO_FILE .
-+ echo "$PACO_FILE: -- copied from $SRC_ARCHIVE"
-+ fromARCHIVE=1
-+else
-+ echo "${BOLD}${YELLOW}$PACO_FILE: not found in ${SRC_ARCHIVE}${OFF}"
-+ fromARCHIVE=0
-+ # If the file does not exist yet in /sources download a fresh one
-+ if [ ! -f $PACO_FILE ] ; then
-+ if ! wget $PACO_URL1 && ! wget $PACO_URL2 ; then
-+ gs_wrt_message "$PACO_FILE not found in the SRC_ARCHIVE or on any server..SKIPPING"
-+ continue
-+ fi
-+ fi
-+fi
-+
-+# Copy the freshly downloaded file to the source archive.
-+if [ ! -z ${SRC_ARCHIVE} ] &&
-+ [ -d ${SRC_ARCHIVE} ] &&
-+ [ -w ${SRC_ARCHIVE} ] &&
-+ [ "$fromARCHIVE" = "0" ] ; then
-+ echo "Storing file:<$PACO_FILE> in the package archive"
-+ 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=n
-+ 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)
-+++ common/paco-build-lfs.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/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 3103)
-+++ common/common-functions (working copy)
-@@ -532,6 +532,7 @@
- --stringparam timezone $TIMEZONE \
- --stringparam page $PAGE \
- --stringparam lang $LANG \
-+ --stringparam use_paco $USE_PACO \
- -o ./${PROGNAME}-commands/ $XSL $BOOK/$ARCH-index.xml >>$LOGDIR/$LOG 2>&1
- ;;
-
-@@ -557,6 +558,7 @@
- --stringparam lang $LANG \
- --stringparam lc_all $LC_ALL \
- --stringparam grsecurity_host $GRSECURITY_HOST \
-+ --stringparam use_paco $USE_PACO \
- -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1
- ;;
- lfs)
-@@ -569,6 +571,7 @@
- --stringparam timezone $TIMEZONE \
- --stringparam page $PAGE \
- --stringparam lang $LANG \
-+ --stringparam use_paco $USE_PACO \
- -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1
- ;;
- *) exit 1 ;;
-@@ -653,6 +656,9 @@
- # Generate URLs file
- create_urls
-
-+ # If Paco is to be used, then download the sources
-+ get_paco_src
-+
- IFS=$'\x0A' # Modify the 'internal field separator' to break on 'LF' only
- for line in `cat urls.lst`; do
- IFS=$saveIFS # Restore the system defaults
-Index: HLFS/hlfs.xsl
-===================================================================
---- HLFS/hlfs.xsl (revision 3103)
-+++ HLFS/hlfs.xsl (working copy)
-@@ -43,6 +43,9 @@
-
-
-
-+
-+
-+
-
-
-
-@@ -193,6 +196,10 @@
-
-
-+
-+
-+ export LD_PRELOAD=/usr/lib/libpaco-log.so
-+
- make install
- cd ../blfs-bootscripts-&blfs-bootscripts-version;
-
-@@ -292,6 +299,25 @@
-
- || true
-
-+
-+
-+
-+ export LD_PRELOAD=/usr/lib/libpaco-log.so
-+
-+
-+
-+
-+
-+ export LD_PRELOAD=/usr/lib/libpaco-log.so
-+
-+
-+
-+
-
-
-
-Index: HLFS/master.sh
-===================================================================
---- HLFS/master.sh (revision 3103)
-+++ HLFS/master.sh (working copy)
-@@ -47,7 +47,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\}-@@'`"
- ;;
-
- *)
-@@ -281,6 +283,11 @@
- # Keep the script file name
- this_script=`basename $file`
-
-+ # If this script is *-paco, then skip it
-+ case $this_script in
-+ *paco ) continue ;;
-+ esac
-+
- # 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
-@@ -290,6 +297,18 @@
- *-stripping* ) [[ "$STRIP" = "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
- name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@'`
-
-@@ -355,7 +374,9 @@
- wrt_RunAsRoot "${this_script}" "${file}"
- ;;
- *) # The rest of Chapter06
-+ wrt_paco_prep
- wrt_run_as_chroot1 "${this_script}" "${file}"
-+ wrt_paco_log "$pkg_tarball"
- ;;
- esac
- #
-@@ -375,6 +396,16 @@
- PREV=${this_script}${N}
- # Set system_build envar for iteration targets
- system_build=$chapter6
-+
-+ # Reinstall paco after the toolchain has been readjusted.
-+ case "${this_script}" in
-+ *readjusting)
-+ TMP_SCRIPT="$this_script"
-+ this_script=`echo $this_script | sed -e 's/readjusting/x-paco/'`
-+ wrt_paco_inst "$this_script"
-+ this_script="$TMP_SCRIPT" ;;
-+ esac
-+
- done # end for file in chapter06/*
-
- }
-@@ -433,9 +464,19 @@
- else # Initialize the log and run the script
- wrt_run_as_chroot2 "${this_script}" "${file}"
- fi
-+ wrt_paco_log "hlfs-sysconf"
- ;;
-+ *kernel) wrt_paco_prep
-+ wrt_run_as_chroot2 "$this_script" "$file"
-+ wrt_paco_log "$(get_package_tarball_name "linux")"
-+ ;;
-+ *bootscripts) wrt_paco_prep
-+ wrt_run_as_chroot2 "$this_script" "$file"
-+ wrt_paco_log "$(get_package_tarball_name "lfs-bootscripts")"
-+ ;;
- *) # All other scripts
- wrt_run_as_chroot2 "${this_script}" "${file}"
-+ wrt_paco_log "hlfs-sysconf"
- ;;
- esac
-
-Index: jhalfs
-===================================================================
---- jhalfs (revision 3103)
-+++ jhalfs (working copy)
-@@ -111,6 +111,7 @@
- REPORT=${REPORT:=n}
- VIMLANG=${VIMLANG:-n}
- GRSECURITY_HOST=${GRSECURITY_HOST:-n}
-+USE_PACO=${USE_PACO:-n}
-
- # Book surces envars
- BRANCH_ID=${BRANCH_ID:=development}
-@@ -269,6 +270,14 @@
- [[ $VERBOSITY > 0 ]] && echo "OK"
- fi
- #
-+# paco module
-+if [[ "$USE_PACO" = "y" ]]; then
-+ [[ $VERBOSITY > 0 ]] && echo -n "Loading paco module..."
-+ source $COMMON_DIR/paco-functions
-+ [[ $? > 0 ]] && echo "$COMMON_DIR/paco-functions did not load.." && exit 2
-+ [[ $VERBOSITY > 0 ]] && echo "OK"
-+fi
-+#
- # optimize module
- if [[ "$OPTIMIZE" != "0" ]]; then
- [[ $VERBOSITY > 0 ]] && echo -n "Loading optimization module..."
-@@ -314,6 +323,8 @@
- #
- cp $COMMON_DIR/{makefile-functions,progress_bar.sh} $JHALFSDIR/
- #
-+[[ $USE_PACO != "n" ]] && cp $COMMON_DIR/paco-build-$PROGNAME.sh $JHALFSDIR/
-+#
- [[ "$OPTIMIZE" != "0" ]] && cp optimize/opt_override $JHALFSDIR/
- #
- if [[ "$COMPARE" = "y" ]]; then
-Index: Config.in
-===================================================================
---- Config.in (revision 3103)
-+++ Config.in (working copy)
-@@ -786,3 +786,72 @@
-
- #--- End Advanced Features
- endmenu
-+
-+#--- PACO
-+config USE_PACO
-+ bool "Use PACO"
-+ default n
-+ depends on !BOOK_BLFS && !BOOK_CLFS2 && !LIB_UCLIBC
-+
-+ config PACO_VERSION
-+ string "PACO package version"
-+ default "1.10.10"
-+ depends USE_PACO
-+
-+ config PACO_FILE
-+ string "PACO package full name"
-+ default "paco-$PACO_VERSION.tar.bz2"
-+ depends USE_PACO
-+ help
-+ #-- You can use .tar.gz if preferred
-+
-+ config PACO_MIRROR1
-+ string "Sourceforge mirror 1"
-+ default "heanet"
-+ depends USE_PACO
-+ help
-+ #-- Sourceforge mirror to use for Paco source download
-+ #
-+ # Europe: heanet, belnet, puzzle, surfnet, switch, kent
-+ # North America: superb-east, superb-west, umn, easynews
-+ # South America: ufpr
-+ # Asia: nchc, jaist
-+ # Australia: optusnet
-+
-+ config PACO_MIRROR2
-+ string "Sourceforge mirror 2"
-+ default "kent"
-+ depends USE_PACO
-+ help
-+ #-- Sourceforge mirror to use for Paco source download
-+ #
-+ # Europe: heanet, belnet, puzzle, surfnet, switch, kent
-+ # North America: superb-east, superb-west, umn, easynews
-+ # South America: ufpr
-+ # Asia: nchc, jaist
-+ # Australia: optusnet
-+
-+ #-- Internal Settings
-+ menu "--- Internal Settings (WARNING: for paco developers only)"
-+ depends USE_PACO
-+
-+ config PACO_INCLUDE
-+ string "Include dirs"
-+ default "/"
-+
-+ config PACO_EXCLUDE
-+ string "Exclude dirs"
-+ default "/${SCRIPT_ROOT}"
-+
-+ config PACO_TMPFILE
-+ string "Temp file"
-+ default "/tmp/paco.tmp"
-+
-+ config LD_PRELOAD
-+ string "LD_PRELOAD"
-+ default "/usr/lib/libpaco-log.so"
-+
-+ #--- End Internal Settings
-+ endmenu
-+#--- End PACO
-+