The Makefiles and build shells now look ok by visual
inspection. Think a
was too quick posting that first patch ;)
I'm doing full system builds with all chapter 06 test,
starting with
HLFS-uClibc.
Reports appreciated.
Tor Olav
diff -Naur jhalfs-X-2471-orig/HLFS/hlfs.xsl
jhalfs-X-2471-paco/HLFS/hlfs.xsl
--- jhalfs-X-2471-orig/HLFS/hlfs.xsl 2006-03-30
11:21:09.000000000 +0200
+++ jhalfs-X-2471-paco/HLFS/hlfs.xsl 2006-03-30
12:27:54.000000000 +0200
 -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'">
+ <xsl:text>export
LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text>
+ </xsl:if>
<xsl:text>make
install
</xsl:text>
<xsl:text>cd
../blfs-bootscripts-&blfs-bootscripts-version;
&
lt;/xsl:text>
</xsl:when>
 -206,6
+213,10 
<xsl:when test="string() = 'make
menuconfig'"/>
<!-- For uClibc we need to cd to the Gettext
package -->
<xsl:when test="contains(string(),'cd
gettext-runtime/')">
+ <!-- unset LD_PRELOAD before building gettext in
uClibc -->
+ <xsl:if test="$use_paco != '0' and
ancestor::chapter[ id='chapter-building-system']">
+ <xsl:text>unset
LD_PRELOAD
</xsl:text>
+ </xsl:if>
<xsl:text>cd
../gettext-*/gettext-runtime</xsl:text>
<xsl:value-of
select="substring-after(string(),'gettext-runtime')
"/>
<xsl:text>
</xsl:text>
 -248,6
+259,81 
<xsl:apply-templates/>
<xsl:text> || true
</xsl:text>
</xsl:when>
+ <!-- paco begin chapter06 -->
+ <!-- Binutils, DB, Iproute2, Grub, Sysvinit, and
Udev -->
+ <xsl:when test="$use_paco != '0' and
+ (ancestor::sect1[ id='ch-system-binutils']
or
+ ancestor::sect1[ id='ch-system-vim'] or
+ ancestor::sect1[ id='ch-system-iproute2']
or
+ ancestor::sect1[ id='ch-system-grub'] or
+ ancestor::sect1[ id='ch-system-util-linux'] or
+ ancestor::sect1[ id='ch-system-sysvinit']
or
+ ancestor::sect1[ id='ch-system-udev']) and
+ contains(string(),'make ') and
+ contains(string(),' install')">
+ <xsl:text>export
LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>
</xsl:text>
+ </xsl:when>
+ <!-- uClibc -->
+ <xsl:when test="$use_paco != '0' and
+ ancestor::sect1[ id='ch-system-uclibc']">
+ <xsl:choose>
+ <xsl:when test="contains(string(),'make
install')">
+ <xsl:value-of
select="substring-before(string(),'make
install')"/>
+ <xsl:text>export
LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text>
+ <xsl:text>make
install
</xsl:text>
+ <xsl:text>unset
LD_PRELOAD
</xsl:text>
+ </xsl:when>
+ <xsl:when test="contains(string(),'make
-C utils install')">
+ <xsl:value-of
select="substring-before(string(),'make -C utils
install')"/>
+ <xsl:text>export
LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text>
+ <xsl:text>make -C utils
install
</xsl:text>
+ </xsl:when>
+ <xsl:when test="contains(string(),'make
-C intl/ install')">
+ <xsl:text>export
LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text>
+ <xsl:text>make -C intl/
install</xsl:text>
+ <xsl:value-of
select="substring-after(string(),'make -C intl/
install')"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates/>
+ <xsl:text>
</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </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
</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>
</xsl:text>
+ </xsl:when>
+ <!-- Mktemp -->
+ <xsl:when test="$use_paco != '0' and
+ ancestor::sect1[ id='ch-system-mktemp']
and
+ contains(string(),'make
install
')">
+ <xsl:text>export
LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>
</xsl:text>
+ </xsl:when>
+ <!-- The rest of chapter 06 commands -->
+ <xsl:when test="$use_paco != '0' and
+ string() = 'make install' and
+ ancestor::chapter[ id='chapter-building-system']">
+ <xsl:text>export
LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>
</xsl:text>
+ </xsl:when>
+ <!-- chapter 08 kernel -->
+ <xsl:when test="$use_paco != '0' and
+ ancestor::sect1[ id='bootable-kernel'] and
+ string() = 'make
modules_install'">
+ <xsl:text>export
LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>
</xsl:text>
+ </xsl:when>
+ <!-- paco end -->
<!-- The rest of commands -->
<xsl:otherwise>
<xsl:apply-templates/>
diff -Naur jhalfs-X-2471-orig/HLFS/master.sh
jhalfs-X-2471-paco/HLFS/master.sh
--- jhalfs-X-2471-orig/HLFS/master.sh 2006-03-30
11:21:09.000000000 +0200
+++ jhalfs-X-2471-paco/HLFS/master.sh 2006-03-30
11:21:37.000000000 +0200
 -376,7
+376,9 
wrt_run_as_root "$"
"$"
;;
*) # The rest of Chapter06
+ wrt_paco_prep
wrt_run_as_chroot1 "$"
"$"
+ wrt_paco_log "$name" "$vrs"
;;
esac
#
 -407,6
+409,13 
# Keep the script file name for Makefile dependencies.
PREV=$this_script
+
+ # Inserting paco build commands
+ case "$" in
+ *devices) wrt_paco_inst "068.5" ;;
+ *readjusting) wrt_paco_inst "073.5" ;;
+ esac
+
done # end for file in chapter06/*
}
 -469,6
+478,15 
wrt_run_as_chroot2 "$"
"$"
fi
;;
+ *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 "$"
"$"
;;
diff -Naur jhalfs-X-2471-orig/LFS/lfs.xsl
jhalfs-X-2471-paco/LFS/lfs.xsl
--- jhalfs-X-2471-orig/LFS/lfs.xsl 2006-03-30
11:21:09.000000000 +0200
+++ jhalfs-X-2471-paco/LFS/lfs.xsl 2006-03-30
12:41:30.000000000 +0200
 -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,69 
<xsl:apply-templates/>
<xsl:text> || true
</xsl:text>
</xsl:when>
+ <!-- paco begin -->
+ <!-- Binutils, DB, Iproute2, Grub, Sysvinit, and
Udev -->
+ <xsl:when test="$use_paco != '0' and
+ (ancestor::sect1[ id='ch-system-binutils']
or
+ ancestor::sect1[ id='ch-system-db'] or
+ ancestor::sect1[ id='ch-system-iproute2']
or
+ ancestor::sect1[ id='ch-system-grub'] or
+ ancestor::sect1[ id='ch-system-sysvinit']
or
+ ancestor::sect1[ id='ch-system-udev']) and
+ contains(string(),'make ') and
+ contains(string(),' install')">
+ <xsl:text>export
LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>
</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
</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>
</xsl:text>
+ </xsl:when>
+ <!-- Mktemp -->
+ <xsl:when test="$use_paco != '0' and
+ ancestor::sect1[ id='ch-system-mktemp']
and
+ contains(string(),'make
install
')">
+ <xsl:text>export
LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>
</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
</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>
</xsl:text>
+ </xsl:when>
+ <!-- The rest of chapter 06 commands -->
+ <xsl:when test="$use_paco != '0' and
+ string() = 'make install' and
+ ancestor::chapter[ id='chapter-building-system']">
+ <xsl:text>export
LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>
</xsl:text>
+ </xsl:when>
+ <!-- chapter 07 bootscripts -->
+ <xsl:when test="$use_paco != '0' and
+ ancestor::sect1[ id='ch-scripts-bootscripts']">
+ <xsl:text>export
LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>
</xsl:text>
+ </xsl:when>
+ <!-- chapter 08 kernel -->
+ <xsl:when test="$use_paco != '0' and
+ ancestor::sect1[ id='ch-bootable-kernel']
and
+ string() = 'make
modules_install'">
+ <xsl:text>export
LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text>
+ <xsl:apply-templates/>
+ <xsl:text>
</xsl:text>
+ </xsl:when>
+ <!-- paco end -->
<!-- The rest of commands -->
<xsl:otherwise>
<xsl:apply-templates/>
diff -Naur jhalfs-X-2471-orig/LFS/master.sh
jhalfs-X-2471-paco/LFS/master.sh
--- jhalfs-X-2471-orig/LFS/master.sh 2006-03-30
11:21:09.000000000 +0200
+++ jhalfs-X-2471-paco/LFS/master.sh 2006-03-30
11:21:37.000000000 +0200
 -181,7
+181,9 
# and not to use chroot.
case "$" in
*kernfs) wrt_run_as_root
"$" "$file" ;;
- *) wrt_run_as_chroot1
"$" "$file" ;;
+ *) wrt_paco_prep
+ wrt_run_as_chroot1
"$" "$file"
+ wrt_paco_log "$name"
"$vrs" ;;
esac
# Remove the build directory(ies) except if the package
build fails.
 -199,6
+201,13 
# Keep the script file name for Makefile dependencies.
PREV=$
+
+ # Inserting paco build commands
+ case "$" in
+ *devices) wrt_paco_inst "065.5" ;;
+ *readjusting) wrt_paco_inst "069.5" ;;
+ esac
+
done # end for file in chapter06/*
}
 -260,6
+269,14 
wrt_run_as_chroot2
"$this_script" "$file"
fi
;;
+ *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"
;;
esac
diff -Naur jhalfs-X-2471-orig/common/common-functions
jhalfs-X-2471-paco/common/common-functions
--- jhalfs-X-2471-orig/common/common-functions 2006-03-30
11:21:09.000000000 +0200
+++ jhalfs-X-2471-paco/common/common-functions 2006-03-30
11:21:37.000000000 +0200
 -624,6
+624,7 
--stringparam lc_all $LC_ALL \
--stringparam keymap $KEYMAP \
--stringparam grsecurity_host
$GRSECURITY_HOST \
+ --stringparam use_paco $USE_PACO \
-o ./$-commands/ $XSL
$BOOK/index.xml >>$LOGDIR/$LOG 2>&1
;;
lfs)
 -635,6
+636,7 
--stringparam timezone $TIMEZONE \
--stringparam page $PAGE \
--stringparam lang $LANG \
+ --stringparam use_paco $USE_PACO \
-o ./$-commands/ $XSL
$BOOK/index.xml >>$LOGDIR/$LOG 2>&1
;;
blfs)
diff -Naur jhalfs-X-2471-orig/common/config
jhalfs-X-2471-paco/common/config
--- jhalfs-X-2471-orig/common/config 2006-03-30
11:21:09.000000000 +0200
+++ jhalfs-X-2471-paco/common/config 2006-03-30
12:39:29.000000000 +0200
 -73,3
+73,18 
#--- Working directories
JHALFSDIR=$BUILDDIR/jhalfs
LOGDIR=$JHALFSDIR/logs
+
+#==== PACO VARIABLES ====
+#--- Use paco? 0/1 0(no)/1(yes)
+USE_PACO=1
+PACO_VERSION=20060327
+
+#--- Name of the Paco source package
+PACO_FILE=paco-$PACO_VERSION.tar.*
+
+#--- Variables needed
+# Don't change unless you know what you're doing
+PACO_INCLUDE=/
+PACO_EXCLUDE=/sys:/dev:/proc:/tmp:/usr/src:/usr/share/info/
dir
+PACO_TMPFILE=/tmp/paco.tmp
+LD_PRELOAD=/usr/lib/libpaco-log.so
diff -Naur jhalfs-X-2471-orig/common/paco-build.sh
jhalfs-X-2471-paco/common/paco-build.sh
--- jhalfs-X-2471-orig/common/paco-build.sh 1970-01-01
01:00:00.000000000 +0100
+++ jhalfs-X-2471-paco/common/paco-build.sh 2006-03-30
11:21:37.000000000 +0200
 -0,0
+1,9 
+#!/bin/sh
+set -e
+
+cd $PKGDIR
+./configure --prefix=/usr \
+ --disable-gpaco \
+ --sysconfdir=/etc &&
+make &&
+make install
diff -Naur jhalfs-X-2471-orig/common/paco-functions
jhalfs-X-2471-paco/common/paco-functions
--- jhalfs-X-2471-orig/common/paco-functions 1970-01-01
01:00:00.000000000 +0100
+++ jhalfs-X-2471-paco/common/paco-functions 2006-03-30
11:21:37.000000000 +0200
 -0,0
+1,90 
+#!/bin/bash
+
+
+#----------------------------#
+wrt_paco_inst() { #
+#----------------------------#
+if [ $USE_PACO != 0 ]; then
+ name="paco"
+ this_script="$1-$name"
+ file="chapter06/$this_script"
+ chapter6="$chapter6 $this_script"
+
+ # Write target, dependency and unpack
+ wrt_target "$this_script" "$PREV"
+ wrt_unpack2 "$PACO_FILE"
+
+ # Copy the paco build script to the correct directory and
make it executable
+ echo -e "\t cp $JHALFSDIR/paco-build.sh
$JHALFSDIR/$-commands/$file && \\"
>> $MKFILE.tmp
+ echo -e "\tchmod +x
$JHALFSDIR/$-commands/$file" >>
$MKFILE.tmp
+
+ # Run the script
+ wrt_run_as_chroot1 "$"
"$"
+
+ # Clean up
+ wrt_remove_build_dirs "$name"
+ echo -e '\t touch $ ' >> $MKFILE.tmp
+
+ # Override the PREV variable
+ PREV="$this_script"
+fi
+}
+
+
+#----------------------------------#
+wrt_paco_prep() { # Export Paco variables
+#----------------------------------# and remove tmpfile
+if [ $USE_PACO != 0 ] && [ "$vrs" !=
"" ]; then
+(
+cat << EOF
+ echo "export PACO_INCLUDE=$PACO_INCLUDE"
>> envars && \\
+ echo "export
PACO_EXCLUDE=\$(SRC):$JHALFSDIR:$PACO_EXCLUDE"
>> envars && \\
+ 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
+ local PACKAGE
+
+ if [[ $2 != "" ]] ; then
+ PACKAGE="$1-$2";
+ else
+ PACKAGE="$1"
+ fi
+
+if [ $USE_PACO != 0 ] && [ "$vrs" !=
"" ]; then
+(
+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
+}
+
+
+#----------------------------------#
+wrt_paco_log_blfs() { # If the tmpfile exist,
then log the current package
+#----------------------------------# and remove tempfile
+if [ $USE_PACO != 0 ]; then
+(
+cat << EOF
+ PACKAGE=\`head -n1 /tmp/unpacked | sed 's ^./ ;s /.* '\`
&& \\
+ if [ -e $PACO_TMPFILE ]; then \\
+ paco -E ~/sources:$JHALFSDIR:$PACO_EXCLUDE \\
+ -lp \$\$PACKAGE < $PACO_TMPFILE && \\
+ rm -f $PACO_TMPFILE; \\
+ fi;
+EOF
+) >> $MKFILE
+fi
+}
+
diff -Naur jhalfs-X-2471-orig/master.sh
jhalfs-X-2471-paco/master.sh
--- jhalfs-X-2471-orig/master.sh 2006-03-30
11:21:09.000000000 +0200
+++ jhalfs-X-2471-paco/master.sh 2006-03-30
11:21:37.000000000 +0200
 -66,6
+66,11 
source $MODULE
[[ $? > 0 ]] && echo "$MODULE did not
load.." && exit 2
[[ $VERBOSITY > 0 ]] && echo "OK"
+# Load paco-functions
+[[ $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"
#
[[ $VERBOSITY > 0 ]] && echo
"---------------$"
 -456,6
+461,13 
if [[ "$PWD" != "$JHALFSDIR" ]];
then
cp $COMMON_DIR/makefile-functions $JHALFSDIR/
+ if [[ USE_PACO != 0 ]] && [[ $PROGNAME !=
"blfs" ]]; then
+ cp -v $COMMON_DIR/paco-build.sh $JHALFSDIR/
+ elif [[ USE_PACO != 0 ]] && [[ $PROGNAME =
"blfs" ]]; then
+ echo -e "export PACO_INCLUDE=$PACO_INCLUDE"
> $JHALFSDIR/pacovars
+ echo -e "export
PACO_EXCLUDE=~/sources:$JHALFSDIR:$PACO_EXCLUDE"
>> $JHALFSDIR/pacovars
+ echo -e "export PACO_TMPFILE=$PACO_TMPFILE"
>> $JHALFSDIR/pacovars
+ fi
if [[ -n "$FILES" ]]; then
# pushd/popd necessary to deal with mulitiple files
pushd $PACKAGE_DIR 1> /dev/null
--
http://linuxfromscratch.org/mailman/listinfo/alfs-discu
ss
FAQ: http://www.linux
fromscratch.org/faq/
Unsubscribe: See the above information page
|