source:
contrib/jhalfs-paco.patch@
a858a78
Last change on this file since a858a78 was f358747, checked in by , 19 years ago | |
---|---|
|
|
File size: 17.6 KB |
-
LFS/master.sh
173 173 # Keep the script file name 174 174 this_script=`basename $file` 175 175 176 # If $this_script corresponds to a paco script, then skip it 177 case "${this_script}" in 178 *paco) continue ;; 179 esac 180 176 181 # We'll run the chroot commands differently than the others, so skip them in the 177 182 # dependencies and target creation. 178 183 case "${this_script}" in … … 180 185 *stripping*) [[ "${STRIP}" = "0" ]] && continue ;; 181 186 esac 182 187 188 # Install paco as the first package in ch6, before installing 189 # linux-libc-headers, except in iterartive builds 190 if [[ -z "$N" ]]; then 191 case $this_script in 192 *linux-libc-headers) 193 TMP_SCRIPT="$this_script" 194 this_script=`echo $this_script | sed -e 's/linux-libc-headers/a-paco/'` 195 wrt_paco_inst "$this_script" 196 this_script="$TMP_SCRIPT" ;; 197 esac 198 fi 199 183 200 # Grab the name of the target 184 201 name=`echo ${this_script} | sed -e 's@[0-9]\{3\}-@@'` 185 202 … … 223 240 # and not to use chroot. 224 241 case "${this_script}" in 225 242 *kernfs) wrt_run_as_root "${this_script}" "$file" ;; 226 *) wrt_run_as_chroot1 "${this_script}" "$file" ;; 243 *) wrt_paco_prep 244 wrt_run_as_chroot1 "${this_script}" "$file" 245 wrt_paco_log "$name" "$vrs" ;; 227 246 esac 228 247 229 248 # Remove the build directory(ies) except if the package build fails. … … 243 262 PREV=${this_script}${N} 244 263 # Set system_build envar for iteration targets 245 264 system_build=$chapter6 265 266 # Reinstalling paco after readsjusting the toolchain. 267 case "${this_script}" in 268 *readjusting) 269 TMP_SCRIPT="$this_script" 270 this_script=`echo ${this_script} | sed -e 's/readjusting/x-paco/'` 271 wrt_paco_inst "$this_script" 272 this_script="$TMP_SCRIPT" ;; 273 esac 274 246 275 done # end for file in chapter06/* 247 276 } 248 277 … … 304 333 wrt_run_as_chroot2 "$this_script" "$file" 305 334 fi 306 335 ;; 336 *kernel) wrt_paco_prep 337 wrt_run_as_chroot2 "$this_script" "$file" 338 wrt_paco_log "linux-kernel" "$vrs" 339 ;; 340 *bootscripts) wrt_paco_prep 341 wrt_run_as_chroot2 "$this_script" "$file" 342 wrt_paco_log "lfs-bootscripts" "$vrs" 343 ;; 307 344 *) wrt_run_as_chroot2 "$this_script" "$file" 308 345 ;; 309 346 esac -
LFS/lfs.xsl
32 32 <!-- Locale settings --> 33 33 <xsl:param name="lang" select="en_CA"/> 34 34 35 <!-- Use paco? --> 36 <xsl:param name="use_paco" select="1"/> 37 35 38 <xsl:template match="/"> 36 39 <xsl:apply-templates select="//sect1"/> 37 40 </xsl:template> … … 190 193 <xsl:apply-templates/> 191 194 <xsl:text> || true
</xsl:text> 192 195 </xsl:when> 196 <!-- paco begin --> 197 <!-- General rule --> 198 <xsl:when test="$use_paco != '0' and 199 ancestor::chapter[@id != 'chapter-temporary-tools'] and 200 contains(string(),'make') and 201 contains(string(),'install')"> 202 <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text> 203 <xsl:apply-templates/> 204 <xsl:text>
</xsl:text> 205 </xsl:when> 206 <!-- Linux-libc-headers --> 207 <xsl:when test="$use_paco != '0' and 208 ancestor::sect1[@id='ch-system-linux-libc-headers'] and 209 contains(string(),'install ')"> 210 <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text> 211 <xsl:apply-templates/> 212 <xsl:text>
</xsl:text> 213 </xsl:when> 214 <!-- Unset LD_PRELOAD before second make in Zlib --> 215 <xsl:when test="$use_paco != '0' and 216 ancestor::sect1[@id='ch-system-zlib'] and 217 contains(string(),'make clean')"> 218 <xsl:text>unset LD_PRELOAD
</xsl:text> 219 <xsl:apply-templates/> 220 <xsl:text>
</xsl:text> 221 </xsl:when> 222 <!-- paco end --> 193 223 <!-- The rest of commands --> 194 224 <xsl:otherwise> 195 225 <xsl:apply-templates/> -
common/paco-build-hlfs.sh
1 #!/bin/sh 2 set -e 3 4 cd $PKGDIR 5 ./configure --with-pic \ 6 --disable-static \ 7 --disable-gpaco \ 8 --sysconfdir=/etc && 9 make && 10 make install && 11 make logme -
common/config
84 84 #--- Run farce testing 0(no)/1(yes) 85 85 RUN_FARCE=0 86 86 87 #==== PACO VARIABLES ==== 88 #--- Use paco? 0(no)/1(yes) 89 USE_PACO=1 90 PACO_VERSION=1.10.7 91 92 #--- Name of the Paco source package 93 PACO_FILE=paco-$PACO_VERSION.tar.* 94 87 95 #==== INTERNAL VARIABLES ==== 88 96 # Don't edit it unless you know what you are doing 89 97 … … 96 104 97 105 #--- farce report log directory 98 106 FARCELOGDIR=$LOGDIR/farce 107 108 #--- Variables needed by paco 109 PACO_INCLUDE=/ 110 PACO_EXCLUDE=/sys:/dev:/proc:/tmp:/usr/src:/usr/share/info/dir:/jhalfs 111 PACO_TMPFILE=/tmp/paco.tmp 112 LD_PRELOAD=/usr/lib/libpaco-log.so -
common/func_validate_configs.sh
84 84 inline_doc 85 85 86 86 # First internal variables, then the ones that change the book's flavour, and lastly system configuration variables 87 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"88 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"89 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"87 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" 88 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" 89 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" 90 90 91 91 local -r ERROR_MSG_pt1='The variable \"${L_arrow}${config_param}${R_arrow}\" value ${L_arrow}${BOLD}${!config_param}${R_arrow} is invalid,' 92 92 local -r ERROR_MSG_pt2=' check the config file ${BOLD}${GREEN}\<$(echo $PROGNAME | tr [a-z] [A-Z])/config\> or \<common/config\>${OFF}' … … 176 176 [[ "$GETPKG" = "1" ]] && validate_against_str "x0x x1x" 177 177 fi ;; 178 178 RUNMAKE) validate_against_str "x0x x1x" ;; 179 USE_PACO) validate_against_str "x0x x1x" ;; 179 180 REPORT) validate_against_str "x0x x1x" 180 181 if [[ "${!config_param}" = "1" ]]; then 181 182 if [[ `type -p bc` ]]; then -
common/paco-functions
1 #!/bin/bash 2 3 4 #----------------------------# 5 wrt_paco_inst() { # 6 #----------------------------# 7 8 # Not using Paco with uClibc, even if requested 9 if [ $PROGNAME = "hlfs" ]; then 10 if [ $MODEL = "uclibc" ]; then 11 USE_PACO=0 12 fi 13 fi 14 15 if [ $USE_PACO != 0 ]; then 16 paco_script="$1" 17 paco_file="chapter06/$paco_script" 18 chapter6="$chapter6 $paco_script" 19 20 # Copy the paco build script to the correct directory and make it executable 21 cp $JHALFSDIR/paco-build-$PROGNAME.sh $JHALFSDIR/${PROGNAME}-commands/$paco_file && 22 chmod +x $JHALFSDIR/${PROGNAME}-commands/$paco_file 23 24 # Write target, dependency and unpack 25 wrt_target "$paco_script" "$PREV" 26 wrt_unpack2 "$PACO_FILE" 27 28 # Run the script 29 wrt_run_as_chroot1 "${paco_script}" "${paco_file}" 30 31 # Clean up 32 wrt_remove_build_dirs "paco" 33 echo -e '\t@touch $@' >> $MKFILE.tmp 34 35 # Override the PREV variable 36 PREV="$paco_script" 37 fi 38 } 39 40 41 #----------------------------------# 42 wrt_paco_prep() { # Export Paco variables 43 #----------------------------------# and remove tmpfile 44 45 # Not using Paco with uClibc, even if requested 46 if [ $PROGNAME = "hlfs" ]; then 47 if [ $MODEL = "uclibc" ]; then 48 USE_PACO=0 49 fi 50 fi 51 52 if [ $USE_PACO != 0 ] && [ "$vrs" != "" ]; then 53 ( 54 cat << EOF 55 @echo "export PACO_INCLUDE=$PACO_INCLUDE" >> envars && \\ 56 echo "export PACO_EXCLUDE=\$(SRC):$JHALFSDIR:$PACO_EXCLUDE" >> envars && \\ 57 echo "export PACO_TMPFILE=$PACO_TMPFILE" >> envars && \\ 58 rm -f \$(MOUNT_PT)$PACO_TMPFILE 59 EOF 60 ) >> $MKFILE.tmp 61 fi 62 } 63 64 65 #----------------------------------# 66 wrt_paco_log() { # If the tmpfile exist, then log the current package 67 #----------------------------------# and remove tempfile 68 local PACKAGE 69 70 # Allow packages to be logged without version 71 if [[ $2 != "" ]] ; then 72 PACKAGE="$1-$2"; 73 else 74 PACKAGE="$1" 75 fi 76 77 # Not using Paco with uClibc, even if requested 78 if [ $PROGNAME = "hlfs" ]; then 79 if [ $MODEL = "uclibc" ]; then 80 USE_PACO=0 81 fi 82 fi 83 84 if [ $USE_PACO != 0 ] && [ "$vrs" != "" ]; then 85 ( 86 cat << EOF 87 @if [ -e \$(MOUNT_PT)$PACO_TMPFILE ]; then \\ 88 \$(CHROOT1) 'paco -lp+ $PACKAGE < $PACO_TMPFILE' && \\ 89 rm -f \$(MOUNT_PT)$PACO_TMPFILE; \\ 90 fi; 91 EOF 92 ) >> $MKFILE.tmp 93 fi 94 95 # Glibc uses 'sln' to install symlinks in /lib 96 # add these to the log since paco can't track statically linked executables 97 # Glibc is the first package to install into /lib, so a simple 'find' will suffice 98 if [ $USE_PACO != 0 ] && [ "$name" = "glibc" ]; then 99 ( 100 cat << EOF 101 @\$(CHROOT1) 'find /lib -type l | paco -lp+ $PACKAGE' 102 EOF 103 ) >> $MKFILE.tmp 104 fi 105 } -
common/paco-build-lfs.sh
1 #!/bin/sh 2 set -e 3 4 cd $PKGDIR 5 ./configure --disable-gpaco \ 6 --sysconfdir=/etc && 7 make && 8 make install && 9 make logme -
common/common-functions
65 65 in the configuration file has the proper packages and patches for the 66 66 book version being processed. 67 67 68 ${BOLD} --no-paco${OFF} 69 dissables paco logging feature. 70 68 71 ${BOLD} -O, --optimize${OFF} 69 72 Optimize [0-2] 70 73 0 = no optimization … … 556 559 --stringparam lc_all $LC_ALL \ 557 560 --stringparam keymap $KEYMAP \ 558 561 --stringparam grsecurity_host $GRSECURITY_HOST \ 562 --stringparam use_paco $USE_PACO \ 559 563 -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1 560 564 ;; 561 565 lfs) … … 567 571 --stringparam timezone $TIMEZONE \ 568 572 --stringparam page $PAGE \ 569 573 --stringparam lang $LANG \ 574 --stringparam use_paco $USE_PACO \ 570 575 -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1 571 576 ;; 572 577 *) exit 1 ;; -
HLFS/hlfs.xsl
39 39 <xsl:param name="lang" select="en_CA"/> 40 40 <xsl:param name="lc_all" select="en_CA"/> 41 41 42 <!-- Use paco? --> 43 <xsl:param name="use_paco" select="1"/> 44 42 45 <xsl:template match="/"> 43 46 <xsl:apply-templates select="//sect1"/> 44 47 </xsl:template> … … 191 194 <!-- Fixing bootscripts installation --> 192 195 <xsl:when test="ancestor::sect1[@id='bootable-bootscripts'] and 193 196 string() = 'make install'"> 197 <!-- inserting LD_PRELOAD before installing bootscripts --> 198 <xsl:if test="$use_paco != '0' and $model != 'uclibc'"> 199 <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text> 200 </xsl:if> 194 201 <xsl:text>make install
</xsl:text> 195 202 <xsl:text>cd ../blfs-bootscripts-&blfs-bootscripts-version;
</xsl:text> 196 203 </xsl:when> … … 248 255 <xsl:apply-templates/> 249 256 <xsl:text> || true
</xsl:text> 250 257 </xsl:when> 258 <!-- paco begin --> 259 <!-- General rule --> 260 <xsl:when test="$use_paco != '0' and $model != 'uclibc' and 261 ancestor::chapter[@id != 'chapter-temporary-tools'] and 262 contains(string(),'make') and 263 contains(string(),'install')"> 264 <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text> 265 <xsl:apply-templates/> 266 <xsl:text>
</xsl:text> 267 </xsl:when> 268 <!-- Linux-libc-headers --> 269 <xsl:when test="$use_paco != '0' and $model != 'uclibc' and 270 ancestor::sect1[@id='ch-system-linux-libc-headers'] and 271 contains(string(),'install ')"> 272 <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text> 273 <xsl:apply-templates/> 274 <xsl:text>
</xsl:text> 275 </xsl:when> 276 <!-- paco end --> 251 277 <!-- The rest of commands --> 252 278 <xsl:otherwise> 253 279 <xsl:apply-templates/> -
HLFS/master.sh
245 245 # Keep the script file name 246 246 this_script=`basename $file` 247 247 248 # If this script is *-paco, then skip it 249 case $this_script in 250 *paco ) continue ;; 251 esac 252 248 253 # Skip this script depending on jhalfs.conf flags set. 249 254 case $this_script in 250 255 # We'll run the chroot commands differently than the others, so skip them in the … … 254 259 *-stripping* ) [[ "$STRIP" = "0" ]] && continue ;; 255 260 esac 256 261 262 # Install paco as the first package in ch6, before installing 263 # linux-libc-headers, except in iterartive builds 264 if [[ -z "$N" ]]; then 265 case $this_script in 266 *linux-libc-headers) 267 TMP_SCRIPT="$this_script" 268 this_script=`echo $this_script | sed -e 's/linux-libc-headers/a-paco/'` 269 wrt_paco_inst "$this_script" 270 this_script="$TMP_SCRIPT" ;; 271 esac 272 fi 273 257 274 # Grab the name of the target 258 275 name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@'` 259 276 … … 324 341 wrt_run_as_root "${this_script}" "${file}" 325 342 ;; 326 343 *) # The rest of Chapter06 344 wrt_paco_prep 327 345 wrt_run_as_chroot1 "${this_script}" "${file}" 346 wrt_paco_log "$name" "$vrs" 328 347 ;; 329 348 esac 330 349 # … … 357 376 PREV=${this_script}${N} 358 377 # Set system_build envar for iteration targets 359 378 system_build=$chapter6 379 380 # Reinstall paco after the toolchain has been readjusted. 381 case "${this_script}" in 382 *readjusting) 383 TMP_SCRIPT="$this_script" 384 this_script=`echo $this_script | sed -e 's/readjusting/x-paco/'` 385 wrt_paco_inst "$this_script" 386 this_script="$TMP_SCRIPT" ;; 387 esac 388 360 389 done # end for file in chapter06/* 361 390 362 391 } … … 419 448 wrt_run_as_chroot2 "${this_script}" "${file}" 420 449 fi 421 450 ;; 451 *kernel) wrt_paco_prep 452 wrt_run_as_chroot2 "$this_script" "$file" 453 version=`grep "^linux-version" $JHALFSDIR/packages | sed -e 's/.* //' -e 's/"//g'` 454 wrt_paco_log "linux-kernel" "$version" 455 ;; 456 *bootscripts) wrt_paco_prep 457 wrt_run_as_chroot2 "$this_script" "$file" 458 wrt_paco_log "hlfs-bootscripts" 459 ;; 422 460 *) # All other scripts 423 461 wrt_run_as_chroot2 "${this_script}" "${file}" 424 462 ;; -
master.sh
147 147 148 148 --help | -h ) usage | more && exit ;; 149 149 150 --no-paco ) USE_PACO=0 ;; 151 150 152 --optimize | -O ) 151 153 test $# = 1 && eval "$exit_missing_arg" 152 154 shift … … 438 440 [[ $VERBOSITY > 0 ]] && echo "OK" 439 441 fi 440 442 # 443 # paco module 444 if [[ "$USE_PACO" = "1" ]]; then 445 [[ $VERBOSITY > 0 ]] && echo -n "Loading paco module..." 446 source $COMMON_DIR/paco-functions 447 [[ $? > 0 ]] && echo "$COMMON_DIR/paco-functions did not load.." && exit 2 448 [[ $VERBOSITY > 0 ]] && echo "OK" 449 fi 450 # 441 451 # optimize module 442 452 if [[ "$OPTIMIZE" != "0" ]]; then 443 453 [[ $VERBOSITY > 0 ]] && echo -n "Loading optimization module..." … … 482 492 # 483 493 if [[ "$PWD" != "$JHALFSDIR" ]]; then 484 494 cp $COMMON_DIR/makefile-functions $JHALFSDIR/ 495 # 496 [[ $USE_PACO != "0" ]] && cp $COMMON_DIR/paco-build-$PROGNAME.sh $JHALFSDIR/ 497 # 485 498 [[ "$OPTIMIZE" != "0" ]] && cp optimize/opt_override $JHALFSDIR/ 499 # 486 500 if [[ "$COMPARE" != "0" ]] ; then 487 501 mkdir -p $JHALFSDIR/extras 488 502 cp extras/* $JHALFSDIR/extras
Note:
See TracBrowser
for help on using the repository browser.