[059822c] | 1 | Index: LFS/master.sh
|
---|
| 2 | ===================================================================
|
---|
[da737cb] | 3 | --- LFS/master.sh (revision 2695)
|
---|
[059822c] | 4 | +++ LFS/master.sh (working copy)
|
---|
[f3ae556] | 5 | @@ -180,6 +180,18 @@
|
---|
[6821737] | 6 | *stripping*) [[ "${STRIP}" = "0" ]] && continue ;;
|
---|
| 7 | esac
|
---|
| 8 |
|
---|
[4795dfb] | 9 | + # Install paco as the first package in ch6, before installing
|
---|
| 10 | + # linux-libc-headers, except in iterartive builds
|
---|
| 11 | + if [[ -z "$N" ]]; then
|
---|
| 12 | + case $this_script in
|
---|
| 13 | + *linux-libc-headers)
|
---|
[799b0d1] | 14 | + TMP_SCRIPT="$this_script"
|
---|
| 15 | + this_script=`echo $this_script | sed -e 's/linux-libc-headers/a-paco/'`
|
---|
| 16 | + wrt_paco_inst "$this_script"
|
---|
| 17 | + this_script="$TMP_SCRIPT" ;;
|
---|
[4795dfb] | 18 | + esac
|
---|
| 19 | + fi
|
---|
[6821737] | 20 | +
|
---|
[4795dfb] | 21 | # Grab the name of the target
|
---|
| 22 | name=`echo ${this_script} | sed -e 's@[0-9]\{3\}-@@'`
|
---|
| 23 |
|
---|
[f3ae556] | 24 | @@ -223,7 +235,9 @@
|
---|
[059822c] | 25 | # and not to use chroot.
|
---|
| 26 | case "${this_script}" in
|
---|
| 27 | *kernfs) wrt_run_as_root "${this_script}" "$file" ;;
|
---|
| 28 | - *) wrt_run_as_chroot1 "${this_script}" "$file" ;;
|
---|
| 29 | + *) wrt_paco_prep
|
---|
| 30 | + wrt_run_as_chroot1 "${this_script}" "$file"
|
---|
| 31 | + wrt_paco_log "$name" "$vrs" ;;
|
---|
| 32 | esac
|
---|
| 33 |
|
---|
| 34 | # Remove the build directory(ies) except if the package build fails.
|
---|
[f3ae556] | 35 | @@ -243,6 +257,16 @@
|
---|
[4795dfb] | 36 | PREV=${this_script}${N}
|
---|
| 37 | # Set system_build envar for iteration targets
|
---|
| 38 | system_build=$chapter6
|
---|
[059822c] | 39 | +
|
---|
[6821737] | 40 | + # Reinstalling paco after readsjusting the toolchain.
|
---|
[059822c] | 41 | + case "${this_script}" in
|
---|
[6821737] | 42 | + *readjusting)
|
---|
[799b0d1] | 43 | + TMP_SCRIPT="$this_script"
|
---|
| 44 | + this_script=`echo ${this_script} | sed -e 's/readjusting/x-paco/'`
|
---|
| 45 | + wrt_paco_inst "$this_script"
|
---|
| 46 | + this_script="$TMP_SCRIPT" ;;
|
---|
[059822c] | 47 | + esac
|
---|
| 48 | +
|
---|
| 49 | done # end for file in chapter06/*
|
---|
| 50 | }
|
---|
| 51 |
|
---|
[f3ae556] | 52 | @@ -304,6 +328,14 @@
|
---|
[059822c] | 53 | wrt_run_as_chroot2 "$this_script" "$file"
|
---|
| 54 | fi
|
---|
| 55 | ;;
|
---|
| 56 | + *kernel) wrt_paco_prep
|
---|
| 57 | + wrt_run_as_chroot2 "$this_script" "$file"
|
---|
| 58 | + wrt_paco_log "linux-kernel" "$vrs"
|
---|
| 59 | + ;;
|
---|
| 60 | + *bootscripts) wrt_paco_prep
|
---|
| 61 | + wrt_run_as_chroot2 "$this_script" "$file"
|
---|
| 62 | + wrt_paco_log "lfs-bootscripts" "$vrs"
|
---|
| 63 | + ;;
|
---|
| 64 | *) wrt_run_as_chroot2 "$this_script" "$file"
|
---|
| 65 | ;;
|
---|
| 66 | esac
|
---|
| 67 | Index: LFS/lfs.xsl
|
---|
| 68 | ===================================================================
|
---|
[da737cb] | 69 | --- LFS/lfs.xsl (revision 2695)
|
---|
[059822c] | 70 | +++ LFS/lfs.xsl (working copy)
|
---|
| 71 | @@ -32,6 +32,9 @@
|
---|
| 72 | <!-- Locale settings -->
|
---|
| 73 | <xsl:param name="lang" select="en_CA"/>
|
---|
| 74 |
|
---|
| 75 | + <!-- Use paco? -->
|
---|
| 76 | + <xsl:param name="use_paco" select="1"/>
|
---|
| 77 | +
|
---|
| 78 | <xsl:template match="/">
|
---|
| 79 | <xsl:apply-templates select="//sect1"/>
|
---|
| 80 | </xsl:template>
|
---|
| 81 | @@ -190,6 +193,33 @@
|
---|
| 82 | <xsl:apply-templates/>
|
---|
| 83 | <xsl:text> || true
</xsl:text>
|
---|
| 84 | </xsl:when>
|
---|
| 85 | + <!-- paco begin -->
|
---|
| 86 | + <!-- General rule -->
|
---|
| 87 | + <xsl:when test="$use_paco != '0' and
|
---|
| 88 | + ancestor::chapter[@id != 'chapter-temporary-tools'] and
|
---|
| 89 | + contains(string(),'make') and
|
---|
| 90 | + contains(string(),'install')">
|
---|
| 91 | + <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text>
|
---|
| 92 | + <xsl:apply-templates/>
|
---|
| 93 | + <xsl:text>
</xsl:text>
|
---|
| 94 | + </xsl:when>
|
---|
| 95 | + <!-- Linux-libc-headers -->
|
---|
| 96 | + <xsl:when test="$use_paco != '0' and
|
---|
| 97 | + ancestor::sect1[@id='ch-system-linux-libc-headers'] and
|
---|
| 98 | + contains(string(),'install ')">
|
---|
| 99 | + <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text>
|
---|
| 100 | + <xsl:apply-templates/>
|
---|
| 101 | + <xsl:text>
</xsl:text>
|
---|
| 102 | + </xsl:when>
|
---|
| 103 | + <!-- Unset LD_PRELOAD before second make in Zlib -->
|
---|
| 104 | + <xsl:when test="$use_paco != '0' and
|
---|
| 105 | + ancestor::sect1[@id='ch-system-zlib'] and
|
---|
| 106 | + contains(string(),'make clean')">
|
---|
| 107 | + <xsl:text>unset LD_PRELOAD
</xsl:text>
|
---|
| 108 | + <xsl:apply-templates/>
|
---|
| 109 | + <xsl:text>
</xsl:text>
|
---|
| 110 | + </xsl:when>
|
---|
| 111 | + <!-- paco end -->
|
---|
| 112 | <!-- The rest of commands -->
|
---|
| 113 | <xsl:otherwise>
|
---|
| 114 | <xsl:apply-templates/>
|
---|
| 115 | Index: BLFS/master.sh
|
---|
| 116 | ===================================================================
|
---|
[da737cb] | 117 | --- BLFS/master.sh (revision 2695)
|
---|
[059822c] | 118 | +++ BLFS/master.sh (working copy)
|
---|
| 119 | @@ -79,6 +79,19 @@
|
---|
| 120 | EOF
|
---|
| 121 | ) >> $MKFILE
|
---|
| 122 |
|
---|
| 123 | + if [[ $USE_PACO != 0 ]]; then
|
---|
| 124 | +(
|
---|
| 125 | + cat << EOF
|
---|
| 126 | + @echo -e "\n\`date\`\n\nKB: \`du -sk --exclude=logs/* /\`\n" >logs/$this_script && \\
|
---|
| 127 | + source $JHALFSDIR/pacovars && \\
|
---|
| 128 | + rm -f $PACO_TMPFILE && \\
|
---|
| 129 | + $JHALFSDIR/${PROGNAME}-commands/$file >>logs/$this_script 2>&1 && \\
|
---|
| 130 | + echo -e "\n\`date\`\n\nKB: \`du -sk --exclude=logs/* /\`\n" >>logs/$this_script
|
---|
| 131 | +EOF
|
---|
| 132 | +) >> $MKFILE
|
---|
| 133 | + wrt_paco_log_blfs
|
---|
| 134 | +
|
---|
| 135 | + else
|
---|
| 136 | # Insert date and disk usage at the top of the log file, the script run
|
---|
| 137 | # and date and disk usage again at the bottom of the log file.
|
---|
| 138 | (
|
---|
[afa32da] | 139 | @@ -88,6 +101,7 @@
|
---|
| 140 | echo -e "\n\`date\`\n\nKB: \`du -sk --exclude=logs/* /\`\n" >>logs/$this_script
|
---|
| 141 | EOF
|
---|
| 142 | ) >> $MKFILE
|
---|
| 143 | + fi
|
---|
| 144 |
|
---|
| 145 | # Include a touch of the target name so make can check
|
---|
| 146 | # if it's already been made.
|
---|
[059822c] | 147 | Index: BLFS/blfs.xsl
|
---|
| 148 | ===================================================================
|
---|
[da737cb] | 149 | --- BLFS/blfs.xsl (revision 2695)
|
---|
[059822c] | 150 | +++ BLFS/blfs.xsl (working copy)
|
---|
| 151 | @@ -159,7 +159,7 @@
|
---|
| 152 | <xsl:when test="@role = 'nodump'"/>
|
---|
| 153 | <xsl:otherwise>
|
---|
| 154 | <xsl:if test="@role = 'root'">
|
---|
| 155 | - <xsl:text>sudo </xsl:text>
|
---|
| 156 | + <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text>
|
---|
| 157 | </xsl:if>
|
---|
| 158 | <xsl:apply-templates select="userinput" mode="screen"/>
|
---|
| 159 | </xsl:otherwise>
|
---|
[799b0d1] | 160 | Index: common/paco-build-hlfs.sh
|
---|
| 161 | ===================================================================
|
---|
| 162 | --- common/paco-build-hlfs.sh (revision 0)
|
---|
| 163 | +++ common/paco-build-hlfs.sh (revision 0)
|
---|
| 164 | @@ -0,0 +1,11 @@
|
---|
| 165 | +#!/bin/sh
|
---|
| 166 | +set -e
|
---|
| 167 | +
|
---|
| 168 | +cd $PKGDIR
|
---|
| 169 | +./configure --with-pic \
|
---|
| 170 | + --disable-static \
|
---|
| 171 | + --disable-gpaco \
|
---|
| 172 | + --sysconfdir=/etc &&
|
---|
| 173 | +make &&
|
---|
| 174 | +make install &&
|
---|
| 175 | +make logme
|
---|
[059822c] | 176 | Index: common/config
|
---|
| 177 | ===================================================================
|
---|
[da737cb] | 178 | --- common/config (revision 2695)
|
---|
[059822c] | 179 | +++ common/config (working copy)
|
---|
[f3ae556] | 180 | @@ -88,6 +88,14 @@
|
---|
[4795dfb] | 181 | #--- Run farce testing 0(no)/1(yes)
|
---|
| 182 | RUN_FARCE=0
|
---|
[d748b31] | 183 |
|
---|
[059822c] | 184 | +#==== PACO VARIABLES ====
|
---|
[4795dfb] | 185 | +#--- Use paco? 0(no)/1(yes)
|
---|
[059822c] | 186 | +USE_PACO=1
|
---|
[799b0d1] | 187 | +PACO_VERSION=1.10.7
|
---|
[059822c] | 188 | +
|
---|
| 189 | +#--- Name of the Paco source package
|
---|
| 190 | +PACO_FILE=paco-$PACO_VERSION.tar.*
|
---|
| 191 | +
|
---|
[4795dfb] | 192 | #==== INTERNAL VARIABLES ====
|
---|
| 193 | # Don't edit it unless you know what you are doing
|
---|
| 194 |
|
---|
[f3ae556] | 195 | @@ -100,3 +108,9 @@
|
---|
[4795dfb] | 196 |
|
---|
| 197 | #--- farce report log directory
|
---|
| 198 | FARCELOGDIR=$LOGDIR/farce
|
---|
| 199 | +
|
---|
| 200 | +#--- Variables needed by paco
|
---|
[059822c] | 201 | +PACO_INCLUDE=/
|
---|
[4795dfb] | 202 | +PACO_EXCLUDE=/sys:/dev:/proc:/tmp:/usr/src:/usr/share/info/dir:/jhalfs
|
---|
[059822c] | 203 | +PACO_TMPFILE=/tmp/paco.tmp
|
---|
| 204 | +LD_PRELOAD=/usr/lib/libpaco-log.so
|
---|
| 205 | Index: common/func_validate_configs.sh
|
---|
| 206 | ===================================================================
|
---|
[da737cb] | 207 | --- common/func_validate_configs.sh (revision 2695)
|
---|
[059822c] | 208 | +++ common/func_validate_configs.sh (working copy)
|
---|
[4795dfb] | 209 | @@ -84,10 +84,10 @@
|
---|
[059822c] | 210 | inline_doc
|
---|
| 211 |
|
---|
| 212 | # First internal variables, then the ones that change the book's flavour, and lastly system configuration variables
|
---|
[f3ae556] | 213 | - local -r blfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG DEPEND TEST OPTIMIZE"
|
---|
| 214 | - 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 KEYMAP PAGE TIMEZONE LANG LC_ALL"
|
---|
| 215 | - 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 KEYMAP VIMLANG PAGE TIMEZONE LANG"
|
---|
| 216 | - local -r lfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB CONFIG VIMLANG PAGE TIMEZONE LANG"
|
---|
| 217 | + local -r blfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO GETPKG DEPEND TEST OPTIMIZE"
|
---|
| 218 | + 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 KEYMAP PAGE TIMEZONE LANG LC_ALL"
|
---|
| 219 | + 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 KEYMAP VIMLANG PAGE TIMEZONE LANG"
|
---|
| 220 | + 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 VIMLANG PAGE TIMEZONE LANG"
|
---|
[059822c] | 221 |
|
---|
| 222 | local -r ERROR_MSG_pt1='The variable \"${L_arrow}${config_param}${R_arrow}\" value ${L_arrow}${BOLD}${!config_param}${R_arrow} is invalid,'
|
---|
| 223 | local -r ERROR_MSG_pt2=' check the config file ${BOLD}${GREEN}\<$(echo $PROGNAME | tr [a-z] [A-Z])/config\> or \<common/config\>${OFF}'
|
---|
[da737cb] | 224 | @@ -174,6 +174,7 @@
|
---|
[4795dfb] | 225 | # Validate general parameters..
|
---|
[799b0d1] | 226 | GETPKG) validate_against_str "x0x x1x" ;;
|
---|
[4795dfb] | 227 | RUNMAKE) validate_against_str "x0x x1x" ;;
|
---|
| 228 | + USE_PACO) validate_against_str "x0x x1x" ;;
|
---|
| 229 | REPORT) validate_against_str "x0x x1x"
|
---|
| 230 | if [[ "${!config_param}" = "1" ]]; then
|
---|
| 231 | if [[ `type -p bc` ]]; then
|
---|
[059822c] | 232 | Index: common/paco-functions
|
---|
| 233 | ===================================================================
|
---|
| 234 | --- common/paco-functions (revision 0)
|
---|
| 235 | +++ common/paco-functions (revision 0)
|
---|
[6821737] | 236 | @@ -0,0 +1,112 @@
|
---|
[059822c] | 237 | +#!/bin/bash
|
---|
| 238 | +
|
---|
| 239 | +
|
---|
| 240 | +#----------------------------#
|
---|
| 241 | +wrt_paco_inst() { #
|
---|
| 242 | +#----------------------------#
|
---|
[d748b31] | 243 | +
|
---|
| 244 | +# Not using Paco with uClibc, even if requested
|
---|
| 245 | +if [ $PROGNAME = "hlfs" ]; then
|
---|
| 246 | + if [ $MODEL = "uclibc" ]; then
|
---|
[6821737] | 247 | + USE_PACO=0
|
---|
[d748b31] | 248 | + fi
|
---|
| 249 | +fi
|
---|
| 250 | +
|
---|
| 251 | +if [ $USE_PACO != 0 ]; then
|
---|
[6821737] | 252 | + paco_script="$1"
|
---|
| 253 | + paco_file="chapter06/$paco_script"
|
---|
| 254 | + chapter6="$chapter6 $paco_script"
|
---|
| 255 | +
|
---|
| 256 | + # Copy the paco build script to the correct directory and make it executable
|
---|
[799b0d1] | 257 | + cp $JHALFSDIR/paco-build-$PROGNAME.sh $JHALFSDIR/${PROGNAME}-commands/$paco_file &&
|
---|
[6821737] | 258 | + chmod +x $JHALFSDIR/${PROGNAME}-commands/$paco_file
|
---|
[059822c] | 259 | +
|
---|
| 260 | + # Write target, dependency and unpack
|
---|
[6821737] | 261 | + wrt_target "$paco_script" "$PREV"
|
---|
[059822c] | 262 | + wrt_unpack2 "$PACO_FILE"
|
---|
| 263 | +
|
---|
| 264 | + # Run the script
|
---|
[6821737] | 265 | + wrt_run_as_chroot1 "${paco_script}" "${paco_file}"
|
---|
[059822c] | 266 | +
|
---|
| 267 | + # Clean up
|
---|
[6821737] | 268 | + wrt_remove_build_dirs "paco"
|
---|
[059822c] | 269 | + echo -e '\t@touch $@' >> $MKFILE.tmp
|
---|
| 270 | +
|
---|
| 271 | + # Override the PREV variable
|
---|
[6821737] | 272 | + PREV="$paco_script"
|
---|
[059822c] | 273 | +fi
|
---|
| 274 | +}
|
---|
| 275 | +
|
---|
| 276 | +
|
---|
| 277 | +#----------------------------------#
|
---|
| 278 | +wrt_paco_prep() { # Export Paco variables
|
---|
| 279 | +#----------------------------------# and remove tmpfile
|
---|
[d748b31] | 280 | +
|
---|
| 281 | +# Not using Paco with uClibc, even if requested
|
---|
| 282 | +if [ $PROGNAME = "hlfs" ]; then
|
---|
| 283 | + if [ $MODEL = "uclibc" ]; then
|
---|
[6821737] | 284 | + USE_PACO=0
|
---|
[d748b31] | 285 | + fi
|
---|
| 286 | +fi
|
---|
| 287 | +
|
---|
| 288 | +if [ $USE_PACO != 0 ] && [ "$vrs" != "" ]; then
|
---|
[059822c] | 289 | +(
|
---|
| 290 | +cat << EOF
|
---|
| 291 | + @echo "export PACO_INCLUDE=$PACO_INCLUDE" >> envars && \\
|
---|
| 292 | + echo "export PACO_EXCLUDE=\$(SRC):$JHALFSDIR:$PACO_EXCLUDE" >> envars && \\
|
---|
| 293 | + echo "export PACO_TMPFILE=$PACO_TMPFILE" >> envars && \\
|
---|
| 294 | + rm -f \$(MOUNT_PT)$PACO_TMPFILE
|
---|
| 295 | +EOF
|
---|
| 296 | +) >> $MKFILE.tmp
|
---|
| 297 | +fi
|
---|
| 298 | +}
|
---|
| 299 | +
|
---|
| 300 | +
|
---|
| 301 | +#----------------------------------#
|
---|
| 302 | +wrt_paco_log() { # If the tmpfile exist, then log the current package
|
---|
| 303 | +#----------------------------------# and remove tempfile
|
---|
[d748b31] | 304 | +local PACKAGE
|
---|
| 305 | +
|
---|
| 306 | +# Allow packages to be logged without version
|
---|
| 307 | +if [[ $2 != "" ]] ; then
|
---|
| 308 | + PACKAGE="$1-$2";
|
---|
| 309 | +else
|
---|
| 310 | + PACKAGE="$1"
|
---|
| 311 | +fi
|
---|
[059822c] | 312 | +
|
---|
[d748b31] | 313 | +# Not using Paco with uClibc, even if requested
|
---|
| 314 | +if [ $PROGNAME = "hlfs" ]; then
|
---|
| 315 | + if [ $MODEL = "uclibc" ]; then
|
---|
[6821737] | 316 | + USE_PACO=0
|
---|
[059822c] | 317 | + fi
|
---|
[d748b31] | 318 | +fi
|
---|
[059822c] | 319 | +
|
---|
[d748b31] | 320 | +if [ $USE_PACO != 0 ] && [ "$vrs" != "" ]; then
|
---|
[059822c] | 321 | +(
|
---|
| 322 | +cat << EOF
|
---|
| 323 | + @if [ -e \$(MOUNT_PT)$PACO_TMPFILE ]; then \\
|
---|
[4795dfb] | 324 | + \$(CHROOT1) 'paco -lp+ $PACKAGE < $PACO_TMPFILE' && \\
|
---|
[059822c] | 325 | + rm -f \$(MOUNT_PT)$PACO_TMPFILE; \\
|
---|
| 326 | + fi;
|
---|
| 327 | +EOF
|
---|
| 328 | +) >> $MKFILE.tmp
|
---|
| 329 | +fi
|
---|
| 330 | +}
|
---|
| 331 | +
|
---|
| 332 | +
|
---|
| 333 | +#----------------------------------#
|
---|
| 334 | +wrt_paco_log_blfs() { # If the tmpfile exist, then log the current package
|
---|
| 335 | +#----------------------------------# and remove tempfile
|
---|
| 336 | +if [ $USE_PACO != 0 ] ; then
|
---|
| 337 | +(
|
---|
| 338 | +cat << EOF
|
---|
| 339 | + @PACKAGE=\`head -n1 /tmp/unpacked | sed 's@^./@@;s@/.*@@'\` && \\
|
---|
| 340 | + if [ -e $PACO_TMPFILE ]; then \\
|
---|
[d748b31] | 341 | + paco -lp \$\$PACKAGE < $PACO_TMPFILE && \\
|
---|
[059822c] | 342 | + rm -f $PACO_TMPFILE; \\
|
---|
| 343 | + fi;
|
---|
| 344 | +EOF
|
---|
| 345 | +) >> $MKFILE
|
---|
| 346 | +fi
|
---|
| 347 | +}
|
---|
| 348 | +
|
---|
[799b0d1] | 349 | Index: common/paco-build-lfs.sh
|
---|
[6821737] | 350 | ===================================================================
|
---|
[799b0d1] | 351 | --- common/paco-build-lfs.sh (revision 0)
|
---|
| 352 | +++ common/paco-build-lfs.sh (revision 0)
|
---|
[6821737] | 353 | @@ -0,0 +1,9 @@
|
---|
| 354 | +#!/bin/sh
|
---|
| 355 | +set -e
|
---|
| 356 | +
|
---|
| 357 | +cd $PKGDIR
|
---|
| 358 | +./configure --disable-gpaco \
|
---|
| 359 | + --sysconfdir=/etc &&
|
---|
| 360 | +make &&
|
---|
| 361 | +make install &&
|
---|
| 362 | +make logme
|
---|
[059822c] | 363 | Index: common/common-functions
|
---|
| 364 | ===================================================================
|
---|
[da737cb] | 365 | --- common/common-functions (revision 2695)
|
---|
[059822c] | 366 | +++ common/common-functions (working copy)
|
---|
[d29584b] | 367 | @@ -65,6 +65,9 @@
|
---|
[059822c] | 368 | in the configuration file has the proper packages and patches for the
|
---|
| 369 | book version being processed.
|
---|
| 370 |
|
---|
| 371 | +${BOLD} --no-paco${OFF}
|
---|
| 372 | + dissables paco logging feature.
|
---|
| 373 | +
|
---|
[f3ae556] | 374 | ${BOLD} -O, --optimize${OFF}
|
---|
| 375 | Optimize [0-2]
|
---|
| 376 | 0 = no optimization
|
---|
| 377 | @@ -581,6 +584,7 @@
|
---|
[059822c] | 378 | --stringparam lc_all $LC_ALL \
|
---|
| 379 | --stringparam keymap $KEYMAP \
|
---|
| 380 | --stringparam grsecurity_host $GRSECURITY_HOST \
|
---|
| 381 | + --stringparam use_paco $USE_PACO \
|
---|
| 382 | -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1
|
---|
| 383 | ;;
|
---|
| 384 | lfs)
|
---|
[f3ae556] | 385 | @@ -592,6 +596,7 @@
|
---|
[059822c] | 386 | --stringparam timezone $TIMEZONE \
|
---|
| 387 | --stringparam page $PAGE \
|
---|
| 388 | --stringparam lang $LANG \
|
---|
| 389 | + --stringparam use_paco $USE_PACO \
|
---|
| 390 | -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1
|
---|
| 391 | ;;
|
---|
| 392 | blfs)
|
---|
| 393 | Index: HLFS/hlfs.xsl
|
---|
| 394 | ===================================================================
|
---|
[da737cb] | 395 | --- HLFS/hlfs.xsl (revision 2695)
|
---|
[059822c] | 396 | +++ HLFS/hlfs.xsl (working copy)
|
---|
| 397 | @@ -39,6 +39,9 @@
|
---|
| 398 | <xsl:param name="lang" select="en_CA"/>
|
---|
| 399 | <xsl:param name="lc_all" select="en_CA"/>
|
---|
| 400 |
|
---|
| 401 | + <!-- Use paco? -->
|
---|
| 402 | + <xsl:param name="use_paco" select="1"/>
|
---|
| 403 | +
|
---|
| 404 | <xsl:template match="/">
|
---|
| 405 | <xsl:apply-templates select="//sect1"/>
|
---|
| 406 | </xsl:template>
|
---|
| 407 | @@ -191,6 +194,10 @@
|
---|
| 408 | <!-- Fixing bootscripts installation -->
|
---|
| 409 | <xsl:when test="ancestor::sect1[@id='bootable-bootscripts'] and
|
---|
| 410 | string() = 'make install'">
|
---|
| 411 | + <!-- inserting LD_PRELOAD before installing bootscripts -->
|
---|
| 412 | + <xsl:if test="$use_paco != '0' and $model != 'uclibc'">
|
---|
| 413 | + <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text>
|
---|
| 414 | + </xsl:if>
|
---|
| 415 | <xsl:text>make install
</xsl:text>
|
---|
| 416 | <xsl:text>cd ../blfs-bootscripts-&blfs-bootscripts-version;
</xsl:text>
|
---|
| 417 | </xsl:when>
|
---|
| 418 | @@ -248,6 +255,25 @@
|
---|
| 419 | <xsl:apply-templates/>
|
---|
| 420 | <xsl:text> || true
</xsl:text>
|
---|
| 421 | </xsl:when>
|
---|
| 422 | + <!-- paco begin -->
|
---|
| 423 | + <!-- General rule -->
|
---|
| 424 | + <xsl:when test="$use_paco != '0' and $model != 'uclibc' and
|
---|
| 425 | + ancestor::chapter[@id != 'chapter-temporary-tools'] and
|
---|
| 426 | + contains(string(),'make') and
|
---|
| 427 | + contains(string(),'install')">
|
---|
| 428 | + <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text>
|
---|
| 429 | + <xsl:apply-templates/>
|
---|
| 430 | + <xsl:text>
</xsl:text>
|
---|
| 431 | + </xsl:when>
|
---|
| 432 | + <!-- Linux-libc-headers -->
|
---|
| 433 | + <xsl:when test="$use_paco != '0' and $model != 'uclibc' and
|
---|
| 434 | + ancestor::sect1[@id='ch-system-linux-libc-headers'] and
|
---|
| 435 | + contains(string(),'install ')">
|
---|
| 436 | + <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text>
|
---|
| 437 | + <xsl:apply-templates/>
|
---|
| 438 | + <xsl:text>
</xsl:text>
|
---|
| 439 | + </xsl:when>
|
---|
| 440 | + <!-- paco end -->
|
---|
| 441 | <!-- The rest of commands -->
|
---|
| 442 | <xsl:otherwise>
|
---|
| 443 | <xsl:apply-templates/>
|
---|
| 444 | Index: HLFS/master.sh
|
---|
| 445 | ===================================================================
|
---|
[da737cb] | 446 | --- HLFS/master.sh (revision 2695)
|
---|
[059822c] | 447 | +++ HLFS/master.sh (working copy)
|
---|
[f3ae556] | 448 | @@ -254,6 +254,18 @@
|
---|
[4795dfb] | 449 | *-stripping* ) [[ "$STRIP" = "0" ]] && continue ;;
|
---|
[6821737] | 450 | esac
|
---|
| 451 |
|
---|
[4795dfb] | 452 | + # Install paco as the first package in ch6, before installing
|
---|
| 453 | + # linux-libc-headers, except in iterartive builds
|
---|
| 454 | + if [[ -z "$N" ]]; then
|
---|
| 455 | + case $this_script in
|
---|
| 456 | + *linux-libc-headers)
|
---|
[799b0d1] | 457 | + TMP_SCRIPT="$this_script"
|
---|
| 458 | + this_script=`echo $this_script | sed -e 's/linux-libc-headers/a-paco/'`
|
---|
| 459 | + wrt_paco_inst "$this_script"
|
---|
| 460 | + this_script="$TMP_SCRIPT" ;;
|
---|
[4795dfb] | 461 | + esac
|
---|
| 462 | + fi
|
---|
[6821737] | 463 | +
|
---|
[4795dfb] | 464 | # Grab the name of the target
|
---|
| 465 | name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@'`
|
---|
| 466 |
|
---|
[f3ae556] | 467 | @@ -324,7 +336,9 @@
|
---|
[059822c] | 468 | wrt_run_as_root "${this_script}" "${file}"
|
---|
| 469 | ;;
|
---|
| 470 | *) # The rest of Chapter06
|
---|
| 471 | + wrt_paco_prep
|
---|
| 472 | wrt_run_as_chroot1 "${this_script}" "${file}"
|
---|
| 473 | + wrt_paco_log "$name" "$vrs"
|
---|
| 474 | ;;
|
---|
| 475 | esac
|
---|
| 476 | #
|
---|
[f3ae556] | 477 | @@ -357,6 +371,16 @@
|
---|
[4795dfb] | 478 | PREV=${this_script}${N}
|
---|
| 479 | # Set system_build envar for iteration targets
|
---|
| 480 | system_build=$chapter6
|
---|
[059822c] | 481 | +
|
---|
[6821737] | 482 | + # Reinstall paco after the toolchain has been readjusted.
|
---|
[059822c] | 483 | + case "${this_script}" in
|
---|
[6821737] | 484 | + *readjusting)
|
---|
[799b0d1] | 485 | + TMP_SCRIPT="$this_script"
|
---|
| 486 | + this_script=`echo $this_script | sed -e 's/readjusting/x-paco/'`
|
---|
| 487 | + wrt_paco_inst "$this_script"
|
---|
| 488 | + this_script="$TMP_SCRIPT" ;;
|
---|
[059822c] | 489 | + esac
|
---|
| 490 | +
|
---|
| 491 | done # end for file in chapter06/*
|
---|
| 492 |
|
---|
| 493 | }
|
---|
[f3ae556] | 494 | @@ -419,6 +443,15 @@
|
---|
[059822c] | 495 | wrt_run_as_chroot2 "${this_script}" "${file}"
|
---|
| 496 | fi
|
---|
| 497 | ;;
|
---|
| 498 | + *kernel) wrt_paco_prep
|
---|
| 499 | + wrt_run_as_chroot2 "$this_script" "$file"
|
---|
| 500 | + version=`grep "^linux-version" $JHALFSDIR/packages | sed -e 's/.* //' -e 's/"//g'`
|
---|
| 501 | + wrt_paco_log "linux-kernel" "$version"
|
---|
| 502 | + ;;
|
---|
| 503 | + *bootscripts) wrt_paco_prep
|
---|
| 504 | + wrt_run_as_chroot2 "$this_script" "$file"
|
---|
| 505 | + wrt_paco_log "hlfs-bootscripts"
|
---|
| 506 | + ;;
|
---|
| 507 | *) # All other scripts
|
---|
| 508 | wrt_run_as_chroot2 "${this_script}" "${file}"
|
---|
| 509 | ;;
|
---|
[d748b31] | 510 | Index: master.sh
|
---|
| 511 | ===================================================================
|
---|
[da737cb] | 512 | --- master.sh (revision 2695)
|
---|
[d748b31] | 513 | +++ master.sh (working copy)
|
---|
[d29584b] | 514 | @@ -147,6 +147,8 @@
|
---|
[d748b31] | 515 |
|
---|
| 516 | --help | -h ) usage | more && exit ;;
|
---|
| 517 |
|
---|
| 518 | + --no-paco ) USE_PACO=0 ;;
|
---|
| 519 | +
|
---|
[f3ae556] | 520 | --optimize | -O )
|
---|
[d748b31] | 521 | test $# = 1 && eval "$exit_missing_arg"
|
---|
| 522 | shift
|
---|
[da737cb] | 523 | @@ -463,6 +465,14 @@
|
---|
[d29584b] | 524 | [[ $VERBOSITY > 0 ]] && echo "OK"
|
---|
| 525 | fi
|
---|
[f3ae556] | 526 | #
|
---|
[d29584b] | 527 | +# paco module
|
---|
| 528 | +if [[ "$USE_PACO" = "1" ]]; then
|
---|
| 529 | + [[ $VERBOSITY > 0 ]] && echo -n "Loading paco module..."
|
---|
| 530 | + source $COMMON_DIR/paco-functions
|
---|
| 531 | + [[ $? > 0 ]] && echo "$COMMON_DIR/paco-functions did not load.." && exit 2
|
---|
| 532 | + [[ $VERBOSITY > 0 ]] && echo "OK"
|
---|
| 533 | +fi
|
---|
| 534 | +#
|
---|
[f3ae556] | 535 | # optimize module
|
---|
| 536 | if [[ "$OPTIMIZE" != "0" ]]; then
|
---|
| 537 | [[ $VERBOSITY > 0 ]] && echo -n "Loading optimization module..."
|
---|
| 538 | @@ -507,6 +517,15 @@
|
---|
[da737cb] | 539 | #
|
---|
[d748b31] | 540 | if [[ "$PWD" != "$JHALFSDIR" ]]; then
|
---|
| 541 | cp $COMMON_DIR/makefile-functions $JHALFSDIR/
|
---|
| 542 | + if [[ $USE_PACO != "0" ]] ; then
|
---|
| 543 | + if [[ $PROGNAME != "blfs" ]]; then
|
---|
[799b0d1] | 544 | + cp $COMMON_DIR/paco-build-$PROGNAME.sh $JHALFSDIR/
|
---|
[d748b31] | 545 | + else
|
---|
| 546 | + echo -e "export PACO_INCLUDE=$PACO_INCLUDE" > $JHALFSDIR/pacovars
|
---|
| 547 | + echo -e "export PACO_EXCLUDE=~/sources:$JHALFSDIR:$PACO_EXCLUDE" >> $JHALFSDIR/pacovars
|
---|
| 548 | + echo -e "export PACO_TMPFILE=$PACO_TMPFILE" >> $JHALFSDIR/pacovars
|
---|
| 549 | + fi
|
---|
| 550 | + fi
|
---|
[f3ae556] | 551 | [[ "$OPTIMIZE" != "0" ]] && cp optimize/opt_override $JHALFSDIR/
|
---|
[4795dfb] | 552 | if [[ "$COMPARE" != "0" ]] ; then
|
---|
| 553 | mkdir -p $JHALFSDIR/extras
|
---|