This repository has been archived on 2024-10-17. You can view files and clone it, but cannot push or open issues or pull requests.
MahiroOS-jhalfs/contrib/jhalfs-paco.patch

635 lines
22 KiB
Diff
Raw Normal View History

2006-04-09 18:00:17 +02:00
Index: LFS/master.sh
===================================================================
2006-06-02 00:15:16 +02:00
--- LFS/master.sh (revision 2743)
2006-04-09 18:00:17 +02:00
+++ LFS/master.sh (working copy)
@@ -173,6 +173,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
@@ -180,6 +185,18 @@
2006-04-13 18:29:22 +02:00
*stripping*) [[ "${STRIP}" = "0" ]] && 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)
2006-05-01 11:50:33 +02:00
+ 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
2006-04-13 18:29:22 +02:00
+
# Grab the name of the target
name=`echo ${this_script} | sed -e 's@[0-9]\{3\}-@@'`
@@ -223,7 +240,9 @@
2006-04-09 18:00:17 +02:00
# and not to use chroot.
case "${this_script}" in
*kernfs) wrt_run_as_root "${this_script}" "$file" ;;
- *) wrt_run_as_chroot1 "${this_script}" "$file" ;;
+ *) wrt_paco_prep
+ wrt_run_as_chroot1 "${this_script}" "$file"
+ wrt_paco_log "$name" "$vrs" ;;
esac
# Remove the build directory(ies) except if the package build fails.
@@ -243,6 +262,16 @@
PREV=${this_script}${N}
# Set system_build envar for iteration targets
system_build=$chapter6
2006-04-09 18:00:17 +02:00
+
2006-04-13 18:29:22 +02:00
+ # Reinstalling paco after readsjusting the toolchain.
2006-04-09 18:00:17 +02:00
+ case "${this_script}" in
2006-04-13 18:29:22 +02:00
+ *readjusting)
2006-05-01 11:50:33 +02:00
+ TMP_SCRIPT="$this_script"
+ this_script=`echo ${this_script} | sed -e 's/readjusting/x-paco/'`
+ wrt_paco_inst "$this_script"
+ this_script="$TMP_SCRIPT" ;;
2006-04-09 18:00:17 +02:00
+ esac
+
done # end for file in chapter06/*
}
2006-05-31 23:08:02 +02:00
@@ -303,8 +332,18 @@
else
2006-04-09 18:00:17 +02:00
wrt_run_as_chroot2 "$this_script" "$file"
fi
2006-05-31 23:08:02 +02:00
+ wrt_paco_log "lfs-sysconf"
2006-04-09 18:00:17 +02:00
;;
+ *kernel) wrt_paco_prep
+ wrt_run_as_chroot2 "$this_script" "$file"
+ wrt_paco_log "linux-kernel" "$vrs"
+ ;;
+ *bootscripts) wrt_paco_prep
+ wrt_run_as_chroot2 "$this_script" "$file"
+ wrt_paco_log "lfs-bootscripts" "$vrs"
+ ;;
*) wrt_run_as_chroot2 "$this_script" "$file"
2006-05-31 23:08:02 +02:00
+ wrt_paco_log "lfs-sysconf"
2006-04-09 18:00:17 +02:00
;;
esac
2006-05-31 23:08:02 +02:00
2006-04-09 18:00:17 +02:00
Index: LFS/lfs.xsl
===================================================================
2006-06-02 00:15:16 +02:00
--- LFS/lfs.xsl (revision 2743)
2006-04-09 18:00:17 +02:00
+++ LFS/lfs.xsl (working copy)
@@ -32,6 +32,9 @@
<!-- Locale settings -->
<xsl:param name="lang" select="en_CA"/>
+ <!-- Use paco? -->
+ <xsl:param name="use_paco" select="1"/>
+
<xsl:template match="/">
<xsl:apply-templates select="//sect1"/>
</xsl:template>
@@ -190,6 +193,33 @@
<xsl:apply-templates/>
<xsl:text> || true&#xA;</xsl:text>
</xsl:when>
+ <!-- paco begin -->
+ <!-- General rule -->
+ <xsl:when test="$use_paco != '0' and
+ ancestor::chapter[@id != 'chapter-temporary-tools'] and
+ contains(string(),'make') and
+ contains(string(),'install')">
+ <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so&#xA;</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>&#xA;</xsl:text>
+ </xsl:when>
+ <!-- Linux-libc-headers -->
+ <xsl:when test="$use_paco != '0' and
+ ancestor::sect1[@id='ch-system-linux-libc-headers'] and
+ contains(string(),'install ')">
+ <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so&#xA;</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>&#xA;</xsl:text>
+ </xsl:when>
+ <!-- Unset LD_PRELOAD before second make in Zlib -->
+ <xsl:when test="$use_paco != '0' and
+ ancestor::sect1[@id='ch-system-zlib'] and
+ contains(string(),'make clean')">
+ <xsl:text>unset LD_PRELOAD&#xA;</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>&#xA;</xsl:text>
+ </xsl:when>
+ <!-- paco end -->
<!-- The rest of commands -->
<xsl:otherwise>
<xsl:apply-templates/>
2006-05-01 11:50:33 +02:00
Index: common/paco-build-hlfs.sh
===================================================================
--- common/paco-build-hlfs.sh (revision 0)
+++ common/paco-build-hlfs.sh (revision 0)
2006-05-31 23:08:02 +02:00
@@ -0,0 +1,12 @@
2006-05-01 11:50:33 +02:00
+#!/bin/sh
+set -e
+
+cd $PKGDIR
2006-05-31 23:08:02 +02:00
+./configure --sysconfdir=/etc \
+ --enable-scripts \
2006-05-01 11:50:33 +02:00
+ --disable-gpaco \
2006-05-31 23:08:02 +02:00
+ --disable-static \
+ --with-pic &&
2006-05-01 11:50:33 +02:00
+make &&
+make install &&
+make logme
2006-04-09 18:00:17 +02:00
Index: common/config
===================================================================
2006-06-02 00:15:16 +02:00
--- common/config (revision 2743)
2006-04-09 18:00:17 +02:00
+++ common/config (working copy)
@@ -84,6 +84,14 @@
#--- Run farce testing 0(no)/1(yes)
RUN_FARCE=0
2006-04-10 19:01:08 +02:00
2006-04-09 18:00:17 +02:00
+#==== PACO VARIABLES ====
+#--- Use paco? 0(no)/1(yes)
2006-04-09 18:00:17 +02:00
+USE_PACO=1
2006-05-31 23:08:02 +02:00
+PACO_VERSION=1.10.8
2006-04-09 18:00:17 +02:00
+
+#--- Name of the Paco source package
+PACO_FILE=paco-$PACO_VERSION.tar.*
+
#==== INTERNAL VARIABLES ====
# Don't edit it unless you know what you are doing
2006-06-02 00:15:16 +02:00
@@ -100,3 +108,9 @@
#--- farce report log directory
FARCELOGDIR=$LOGDIR/farce
+
+#--- Variables needed by paco
2006-04-09 18:00:17 +02:00
+PACO_INCLUDE=/
2006-06-02 14:17:58 +02:00
+PACO_EXCLUDE=/${SCRIPT_ROOT}
2006-04-09 18:00:17 +02:00
+PACO_TMPFILE=/tmp/paco.tmp
+LD_PRELOAD=/usr/lib/libpaco-log.so
Index: common/func_validate_configs.sh
===================================================================
2006-06-02 00:15:16 +02:00
--- common/func_validate_configs.sh (revision 2743)
2006-04-09 18:00:17 +02:00
+++ common/func_validate_configs.sh (working copy)
@@ -84,9 +84,9 @@
2006-04-09 18:00:17 +02:00
inline_doc
# First internal variables, then the ones that change the book's flavour, and lastly system configuration variables
2006-05-27 20:50:20 +02:00
- 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"
2006-04-09 18:00:17 +02:00
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}'
2006-05-27 20:50:20 +02:00
@@ -176,6 +176,7 @@
[[ "$GETPKG" = "1" ]] && validate_against_str "x0x x1x"
fi ;;
RUNMAKE) validate_against_str "x0x x1x" ;;
+ USE_PACO) validate_against_str "x0x x1x" ;;
REPORT) validate_against_str "x0x x1x"
if [[ "${!config_param}" = "1" ]]; then
if [[ `type -p bc` ]]; then
2006-04-09 18:00:17 +02:00
Index: common/paco-functions
===================================================================
--- common/paco-functions (revision 0)
+++ common/paco-functions (revision 0)
2006-05-31 23:08:02 +02:00
@@ -0,0 +1,211 @@
2006-04-09 18:00:17 +02:00
+#!/bin/bash
+
+#----------------------------#
+wrt_paco_inst() { #
+#----------------------------#
2006-04-10 19:01:08 +02:00
+
+# Not using Paco with uClibc, even if requested
+if [ $PROGNAME = "hlfs" ]; then
+ if [ $MODEL = "uclibc" ]; then
2006-04-13 18:29:22 +02:00
+ USE_PACO=0
2006-04-10 19:01:08 +02:00
+ fi
+fi
+
+if [ $USE_PACO != 0 ]; then
2006-04-13 18:29:22 +02:00
+ paco_script="$1"
+ paco_file="chapter06/$paco_script"
+ chapter6="$chapter6 $paco_script"
+
+ # Copy the paco build script to the correct directory and make it executable
2006-05-01 11:50:33 +02:00
+ cp $JHALFSDIR/paco-build-$PROGNAME.sh $JHALFSDIR/${PROGNAME}-commands/$paco_file &&
2006-04-13 18:29:22 +02:00
+ chmod +x $JHALFSDIR/${PROGNAME}-commands/$paco_file
2006-04-09 18:00:17 +02:00
+
+ # Write target, dependency and unpack
2006-04-13 18:29:22 +02:00
+ wrt_target "$paco_script" "$PREV"
2006-04-09 18:00:17 +02:00
+ wrt_unpack2 "$PACO_FILE"
+
+ # Run the script
2006-04-13 18:29:22 +02:00
+ wrt_run_as_chroot1 "${paco_script}" "${paco_file}"
2006-04-09 18:00:17 +02:00
+
+ # Clean up
2006-04-13 18:29:22 +02:00
+ wrt_remove_build_dirs "paco"
2006-04-09 18:00:17 +02:00
+ echo -e '\t@touch $@' >> $MKFILE.tmp
+
+ # Override the PREV variable
2006-04-13 18:29:22 +02:00
+ PREV="$paco_script"
2006-04-09 18:00:17 +02:00
+fi
+}
+
+
+#----------------------------------#
+wrt_paco_prep() { # Export Paco variables
+#----------------------------------# and remove tmpfile
2006-04-10 19:01:08 +02:00
+
+# Not using Paco with uClibc, even if requested
+if [ $PROGNAME = "hlfs" ]; then
+ if [ $MODEL = "uclibc" ]; then
2006-04-13 18:29:22 +02:00
+ USE_PACO=0
2006-04-10 19:01:08 +02:00
+ fi
+fi
+
2006-05-31 23:08:02 +02:00
+check_log_package
+
+if [ $USE_PACO != 0 ] && [ $LOG_PACKAGE != 0 ]; then
2006-04-09 18:00:17 +02:00
+(
+cat << EOF
+ @echo "export PACO_INCLUDE=$PACO_INCLUDE" >> envars && \\
2006-05-31 23:08:02 +02:00
+ echo "export PACO_EXCLUDE=\$(SRC):$PACO_EXCLUDE" >> envars && \\
2006-04-09 18:00:17 +02:00
+ echo "export PACO_TMPFILE=$PACO_TMPFILE" >> envars && \\
+ rm -f \$(MOUNT_PT)$PACO_TMPFILE
+EOF
+) >> $MKFILE.tmp
+fi
+}
+
+
+#----------------------------------#
+wrt_paco_log() { # If the tmpfile exist, then log the current package
+#----------------------------------# and remove tempfile
2006-04-10 19:01:08 +02:00
+local PACKAGE
+
+# Allow packages to be logged without version
+if [[ $2 != "" ]] ; then
+ PACKAGE="$1-$2";
+else
+ PACKAGE="$1"
+fi
2006-04-09 18:00:17 +02:00
+
2006-04-10 19:01:08 +02:00
+# Not using Paco with uClibc, even if requested
+if [ $PROGNAME = "hlfs" ]; then
+ if [ $MODEL = "uclibc" ]; then
2006-04-13 18:29:22 +02:00
+ USE_PACO=0
2006-04-09 18:00:17 +02:00
+ fi
2006-04-10 19:01:08 +02:00
+fi
2006-04-09 18:00:17 +02:00
+
2006-05-31 23:08:02 +02:00
+check_log_package
+
+if [ $USE_PACO != 0 ]; then
+ if [ $LOG_PACKAGE != 0 ]; then
2006-04-09 18:00:17 +02:00
+(
+cat << EOF
+ @if [ -e \$(MOUNT_PT)$PACO_TMPFILE ]; then \\
+ \$(CHROOT1) 'paco -lp+ $PACKAGE < $PACO_TMPFILE' && \\
2006-04-09 18:00:17 +02:00
+ rm -f \$(MOUNT_PT)$PACO_TMPFILE; \\
+ fi;
+EOF
+) >> $MKFILE.tmp
2006-05-31 23:08:02 +02:00
+ fi
+ wrt_paco_add_log
2006-04-09 18:00:17 +02:00
+fi
2006-05-31 23:08:02 +02:00
+}
2006-04-09 18:00:17 +02:00
+
2006-05-31 23:08:02 +02:00
+
+#----------------------------------#
+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
+ *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
+ ;;
+ *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
+ ;;
+ *bash)
+ echo -e "\t@\$(CHROOT1) 'echo /bin/sh | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
+ ;;
+ *flex)
+ echo -e "\t@\$(CHROOT1) 'echo /usr/bin/lex | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
+ ;;
+ *shadow)
+ echo -e "\t@\$(CHROOT1) 'echo /etc/login.defs | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
+ ;;
+ *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
+ ;;
+ *sysklogd)
+ echo -e "\t@\$(CHROOT1) 'echo /etc/syslog.conf | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
+ ;;
+ *sysvinit)
+ echo -e "\t@\$(CHROOT1) 'echo /etc/inittab | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
+ ;;
+ *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
+ ;;
+ *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
+ ;;
+ *vim)
+ echo -e "\t@\$(CHROOT1) 'echo /etc/vimrc | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
+ ;;
+ # Rules below here will log configuration files created in LFS and HLFS
+ # They will end up in a log named {h}lfs-sysconf
+ *setclock)
+ echo -e "\t@\$(CHROOT2) 'echo /etc/sysconfig/clock | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
+ ;;
+ *inputrc)
+ echo -e "\t@\$(CHROOT2) 'echo /etc/inputrc | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
+ ;;
+ *profile)
+ echo -e "\t@\$(CHROOT2) 'echo /etc/profile | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
+ ;;
+ *hostname)
+ echo -e "\t@\$(CHROOT2) 'echo /etc/sysconfig/network | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
+ ;;
+ *localnet)
+ echo -e "\t@\$(CHROOT2) 'echo /etc/sysconfig/network | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
+ ;;
+ *hosts)
+ echo -e "\t@\$(CHROOT2) 'echo /etc/hosts | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
+ ;;
+ *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
+ ;;
+ *fstab)
+ echo -e "\t@\$(CHROOT2) 'echo /etc/fstab | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
+ ;;
+ *theend) # LFS
+ echo -e "\t@\$(CHROOT2) 'echo /etc/$PROGNAME-release | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
+ ;;
+ *finished) # HLFS
+ echo -e "\t@\$(CHROOT2) 'echo /etc/$PROGNAME-release | paco -lp+ $PACKAGE'" >> $MKFILE.tmp
+ ;;
+ esac
2006-04-09 18:00:17 +02:00
+fi
+}
2006-05-31 23:08:02 +02:00
+
+
+#----------------------------------#
+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
+ *creatingdirs) LOG_PACKAGE=0 ;;
+ *createfiles) LOG_PACKAGE=0 ;;
+ *strippingagain) 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
+}
2006-05-01 11:50:33 +02:00
Index: common/paco-build-lfs.sh
2006-04-13 18:29:22 +02:00
===================================================================
2006-05-01 11:50:33 +02:00
--- common/paco-build-lfs.sh (revision 0)
+++ common/paco-build-lfs.sh (revision 0)
2006-05-31 23:08:02 +02:00
@@ -0,0 +1,10 @@
2006-04-13 18:29:22 +02:00
+#!/bin/sh
+set -e
+
+cd $PKGDIR
2006-05-31 23:08:02 +02:00
+./configure --sysconfdir=/etc \
+ --enable-scripts \
+ --disable-gpaco &&
2006-04-13 18:29:22 +02:00
+make &&
+make install &&
+make logme
2006-04-09 18:00:17 +02:00
Index: common/common-functions
===================================================================
2006-06-02 00:15:16 +02:00
--- common/common-functions (revision 2743)
2006-04-09 18:00:17 +02:00
+++ common/common-functions (working copy)
2006-05-05 21:16:02 +02:00
@@ -65,6 +65,9 @@
2006-04-09 18:00:17 +02:00
in the configuration file has the proper packages and patches for the
book version being processed.
+${BOLD} --no-paco${OFF}
+ dissables paco logging feature.
+
2006-05-11 22:36:50 +02:00
${BOLD} -O, --optimize${OFF}
Optimize [0-2]
0 = no optimization
2006-06-02 00:15:16 +02:00
@@ -607,6 +610,7 @@
2006-04-09 18:00:17 +02:00
--stringparam lc_all $LC_ALL \
--stringparam keymap $KEYMAP \
--stringparam grsecurity_host $GRSECURITY_HOST \
+ --stringparam use_paco $USE_PACO \
-o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1
;;
lfs)
2006-06-02 00:15:16 +02:00
@@ -618,6 +622,7 @@
2006-04-09 18:00:17 +02:00
--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 ;;
2006-04-09 18:00:17 +02:00
Index: HLFS/hlfs.xsl
===================================================================
2006-06-02 00:15:16 +02:00
--- HLFS/hlfs.xsl (revision 2743)
2006-04-09 18:00:17 +02:00
+++ HLFS/hlfs.xsl (working copy)
@@ -39,6 +39,9 @@
<xsl:param name="lang" select="en_CA"/>
<xsl:param name="lc_all" select="en_CA"/>
+ <!-- Use paco? -->
+ <xsl:param name="use_paco" select="1"/>
+
<xsl:template match="/">
<xsl:apply-templates select="//sect1"/>
</xsl:template>
@@ -191,6 +194,10 @@
<!-- Fixing bootscripts installation -->
<xsl:when test="ancestor::sect1[@id='bootable-bootscripts'] and
string() = 'make install'">
+ <!-- inserting LD_PRELOAD before installing bootscripts -->
+ <xsl:if test="$use_paco != '0' and $model != 'uclibc'">
+ <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so&#xA;</xsl:text>
+ </xsl:if>
<xsl:text>make install&#xA;</xsl:text>
<xsl:text>cd ../blfs-bootscripts-&blfs-bootscripts-version;&#xA;</xsl:text>
</xsl:when>
@@ -248,6 +255,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
+ ancestor::chapter[@id != 'chapter-temporary-tools'] and
+ contains(string(),'make') and
+ contains(string(),'install')">
+ <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so&#xA;</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>&#xA;</xsl:text>
+ </xsl:when>
+ <!-- Linux-libc-headers -->
+ <xsl:when test="$use_paco != '0' and $model != 'uclibc' and
+ ancestor::sect1[@id='ch-system-linux-libc-headers'] and
+ contains(string(),'install ')">
+ <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so&#xA;</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>&#xA;</xsl:text>
+ </xsl:when>
+ <!-- paco end -->
<!-- The rest of commands -->
<xsl:otherwise>
<xsl:apply-templates/>
Index: HLFS/master.sh
===================================================================
2006-06-02 00:15:16 +02:00
--- HLFS/master.sh (revision 2743)
2006-04-09 18:00:17 +02:00
+++ HLFS/master.sh (working copy)
2006-06-02 00:15:16 +02:00
@@ -250,6 +250,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
2006-06-02 00:15:16 +02:00
@@ -259,6 +264,18 @@
*-stripping* ) [[ "$STRIP" = "0" ]] && continue ;;
2006-04-13 18:29:22 +02:00
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)
2006-05-01 11:50:33 +02:00
+ 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
2006-04-13 18:29:22 +02:00
+
# Grab the name of the target
name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@'`
2006-06-02 00:15:16 +02:00
@@ -329,7 +346,9 @@
2006-04-09 18:00:17 +02:00
wrt_run_as_root "${this_script}" "${file}"
;;
*) # The rest of Chapter06
+ wrt_paco_prep
wrt_run_as_chroot1 "${this_script}" "${file}"
+ wrt_paco_log "$name" "$vrs"
;;
esac
#
2006-06-02 00:15:16 +02:00
@@ -362,6 +381,16 @@
PREV=${this_script}${N}
# Set system_build envar for iteration targets
system_build=$chapter6
2006-04-09 18:00:17 +02:00
+
2006-04-13 18:29:22 +02:00
+ # Reinstall paco after the toolchain has been readjusted.
2006-04-09 18:00:17 +02:00
+ case "${this_script}" in
2006-04-13 18:29:22 +02:00
+ *readjusting)
2006-05-01 11:50:33 +02:00
+ TMP_SCRIPT="$this_script"
+ this_script=`echo $this_script | sed -e 's/readjusting/x-paco/'`
+ wrt_paco_inst "$this_script"
+ this_script="$TMP_SCRIPT" ;;
2006-04-09 18:00:17 +02:00
+ esac
+
done # end for file in chapter06/*
}
2006-06-02 00:15:16 +02:00
@@ -423,9 +452,20 @@
2006-05-31 23:08:02 +02:00
else # Initialize the log and run the script
2006-04-09 18:00:17 +02:00
wrt_run_as_chroot2 "${this_script}" "${file}"
fi
2006-05-31 23:08:02 +02:00
+ wrt_paco_log "hlfs-sysconf"
2006-04-09 18:00:17 +02:00
;;
+ *kernel) wrt_paco_prep
+ wrt_run_as_chroot2 "$this_script" "$file"
+ version=`grep "^linux-version" $JHALFSDIR/packages | sed -e 's/.* //' -e 's/"//g'`
+ wrt_paco_log "linux-kernel" "$version"
+ ;;
+ *bootscripts) wrt_paco_prep
+ wrt_run_as_chroot2 "$this_script" "$file"
+ wrt_paco_log "hlfs-bootscripts"
+ ;;
*) # All other scripts
wrt_run_as_chroot2 "${this_script}" "${file}"
2006-05-31 23:08:02 +02:00
+ wrt_paco_log "hlfs-sysconf"
2006-04-09 18:00:17 +02:00
;;
2006-05-31 23:08:02 +02:00
esac
2006-04-10 19:01:08 +02:00
Index: master.sh
===================================================================
2006-06-02 00:15:16 +02:00
--- master.sh (revision 2743)
2006-04-10 19:01:08 +02:00
+++ master.sh (working copy)
2006-05-05 21:16:02 +02:00
@@ -147,6 +147,8 @@
2006-04-10 19:01:08 +02:00
--help | -h ) usage | more && exit ;;
+ --no-paco ) USE_PACO=0 ;;
+
2006-05-11 22:36:50 +02:00
--optimize | -O )
2006-04-10 19:01:08 +02:00
test $# = 1 && eval "$exit_missing_arg"
shift
@@ -438,6 +440,14 @@
2006-05-05 21:16:02 +02:00
[[ $VERBOSITY > 0 ]] && echo "OK"
fi
2006-05-11 22:36:50 +02:00
#
2006-05-05 21:16:02 +02:00
+# paco module
+if [[ "$USE_PACO" = "1" ]]; 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
+#
2006-05-11 22:36:50 +02:00
# optimize module
if [[ "$OPTIMIZE" != "0" ]]; then
[[ $VERBOSITY > 0 ]] && echo -n "Loading optimization module..."
2006-05-31 23:08:02 +02:00
@@ -482,6 +492,9 @@
2006-05-15 21:02:41 +02:00
#
2006-04-10 19:01:08 +02:00
if [[ "$PWD" != "$JHALFSDIR" ]]; then
2006-05-31 23:08:02 +02:00
cp $COMMON_DIR/{makefile-functions,progress_bar.sh} $JHALFSDIR/
+ #
+ [[ $USE_PACO != "0" ]] && cp $COMMON_DIR/paco-build-$PROGNAME.sh $JHALFSDIR/
+ #
2006-05-11 22:36:50 +02:00
[[ "$OPTIMIZE" != "0" ]] && cp optimize/opt_override $JHALFSDIR/
if [[ "$COMPARE" != "0" ]] ; then
mkdir -p $JHALFSDIR/extras