source:
contrib/jhalfs-paco.patch@
e53b577
Last change on this file since e53b577 was afa32da, checked in by , 19 years ago | |
---|---|
|
|
File size: 18.7 KB |
-
LFS/master.sh
179 179 *stripping*) [[ "${STRIP}" = "0" ]] && continue ;; 180 180 esac 181 181 182 # Install paco as the first package in ch6, before installing 183 # linux-libc-headers, except in iterartive builds 184 if [[ -z "$N" ]]; then 185 case $this_script in 186 *linux-libc-headers) 187 TMP_SCRIPT="$this_script" 188 this_script=`echo $this_script | sed -e 's/linux-libc-headers/a-paco/'` 189 wrt_paco_inst "$this_script" 190 this_script="$TMP_SCRIPT" ;; 191 esac 192 fi 193 182 194 # Grab the name of the target 183 195 name=`echo ${this_script} | sed -e 's@[0-9]\{3\}-@@'` 184 196 … … 221 233 # and not to use chroot. 222 234 case "${this_script}" in 223 235 *kernfs) wrt_run_as_root "${this_script}" "$file" ;; 224 *) wrt_run_as_chroot1 "${this_script}" "$file" ;; 236 *) wrt_paco_prep 237 wrt_run_as_chroot1 "${this_script}" "$file" 238 wrt_paco_log "$name" "$vrs" ;; 225 239 esac 226 240 227 241 # Remove the build directory(ies) except if the package build fails. … … 241 255 PREV=${this_script}${N} 242 256 # Set system_build envar for iteration targets 243 257 system_build=$chapter6 258 259 # Reinstalling paco after readsjusting the toolchain. 260 case "${this_script}" in 261 *readjusting) 262 TMP_SCRIPT="$this_script" 263 this_script=`echo ${this_script} | sed -e 's/readjusting/x-paco/'` 264 wrt_paco_inst "$this_script" 265 this_script="$TMP_SCRIPT" ;; 266 esac 267 244 268 done # end for file in chapter06/* 245 269 } 246 270 … … 302 326 wrt_run_as_chroot2 "$this_script" "$file" 303 327 fi 304 328 ;; 329 *kernel) wrt_paco_prep 330 wrt_run_as_chroot2 "$this_script" "$file" 331 wrt_paco_log "linux-kernel" "$vrs" 332 ;; 333 *bootscripts) wrt_paco_prep 334 wrt_run_as_chroot2 "$this_script" "$file" 335 wrt_paco_log "lfs-bootscripts" "$vrs" 336 ;; 305 337 *) wrt_run_as_chroot2 "$this_script" "$file" 306 338 ;; 307 339 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/> -
BLFS/master.sh
79 79 EOF 80 80 ) >> $MKFILE 81 81 82 if [[ $USE_PACO != 0 ]]; then 83 ( 84 cat << EOF 85 @echo -e "\n\`date\`\n\nKB: \`du -sk --exclude=logs/* /\`\n" >logs/$this_script && \\ 86 source $JHALFSDIR/pacovars && \\ 87 rm -f $PACO_TMPFILE && \\ 88 $JHALFSDIR/${PROGNAME}-commands/$file >>logs/$this_script 2>&1 && \\ 89 echo -e "\n\`date\`\n\nKB: \`du -sk --exclude=logs/* /\`\n" >>logs/$this_script 90 EOF 91 ) >> $MKFILE 92 wrt_paco_log_blfs 93 94 else 82 95 # Insert date and disk usage at the top of the log file, the script run 83 96 # and date and disk usage again at the bottom of the log file. 84 97 ( … … 88 101 echo -e "\n\`date\`\n\nKB: \`du -sk --exclude=logs/* /\`\n" >>logs/$this_script 89 102 EOF 90 103 ) >> $MKFILE 104 fi 91 105 92 106 # Include a touch of the target name so make can check 93 107 # if it's already been made. -
BLFS/blfs.xsl
159 159 <xsl:when test="@role = 'nodump'"/> 160 160 <xsl:otherwise> 161 161 <xsl:if test="@role = 'root'"> 162 <xsl:text> sudo</xsl:text>162 <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text> 163 163 </xsl:if> 164 164 <xsl:apply-templates select="userinput" mode="screen"/> 165 165 </xsl:otherwise> -
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
80 80 #--- Run farce testing 0(no)/1(yes) 81 81 RUN_FARCE=0 82 82 83 #==== PACO VARIABLES ==== 84 #--- Use paco? 0(no)/1(yes) 85 USE_PACO=1 86 PACO_VERSION=1.10.7 87 88 #--- Name of the Paco source package 89 PACO_FILE=paco-$PACO_VERSION.tar.* 90 83 91 #==== INTERNAL VARIABLES ==== 84 92 # Don't edit it unless you know what you are doing 85 93 … … 92 100 93 101 #--- farce report log directory 94 102 FARCELOGDIR=$LOGDIR/farce 103 104 #--- Variables needed by paco 105 PACO_INCLUDE=/ 106 PACO_EXCLUDE=/sys:/dev:/proc:/tmp:/usr/src:/usr/share/info/dir:/jhalfs 107 PACO_TMPFILE=/tmp/paco.tmp 108 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 blfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG DEPEND TEST"88 local -r hlfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE MODEL GRSECURITY_HOST TEST REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB CONFIG KEYMAP PAGE TIMEZONE LANG LC_ALL"89 local -r clfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE METHOD ARCH TARGET TEST REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB BOOT_CONFIG CONFIG KEYMAP VIMLANG PAGE TIMEZONE LANG"90 local -r lfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE TEST REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB CONFIG VIMLANG PAGE TIMEZONE LANG"87 local -r blfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO GETPKG DEPEND TEST" 88 local -r hlfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO GETPKG RUNMAKE MODEL GRSECURITY_HOST TEST REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB CONFIG KEYMAP PAGE TIMEZONE LANG LC_ALL" 89 local -r clfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO GETPKG RUNMAKE METHOD ARCH TARGET TEST REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB BOOT_CONFIG CONFIG KEYMAP VIMLANG PAGE TIMEZONE LANG" 90 local -r lfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO GETPKG RUNMAKE TEST REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB CONFIG VIMLANG PAGE TIMEZONE LANG" 91 91 92 92 local -r ERROR_MSG_pt1='The variable \"${L_arrow}${config_param}${R_arrow}\" value ${L_arrow}${BOLD}${!config_param}${R_arrow} is invalid,' 93 93 local -r ERROR_MSG_pt2=' check the config file ${BOLD}${GREEN}\<$(echo $PROGNAME | tr [a-z] [A-Z])/config\> or \<common/config\>${OFF}' … … 179 179 # Validate general parameters.. 180 180 GETPKG) validate_against_str "x0x x1x" ;; 181 181 RUNMAKE) validate_against_str "x0x x1x" ;; 182 USE_PACO) validate_against_str "x0x x1x" ;; 182 183 REPORT) validate_against_str "x0x x1x" 183 184 if [[ "${!config_param}" = "1" ]]; then 184 185 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 96 97 #----------------------------------# 98 wrt_paco_log_blfs() { # If the tmpfile exist, then log the current package 99 #----------------------------------# and remove tempfile 100 if [ $USE_PACO != 0 ] ; then 101 ( 102 cat << EOF 103 @PACKAGE=\`head -n1 /tmp/unpacked | sed 's@^./@@;s@/.*@@'\` && \\ 104 if [ -e $PACO_TMPFILE ]; then \\ 105 paco -lp \$\$PACKAGE < $PACO_TMPFILE && \\ 106 rm -f $PACO_TMPFILE; \\ 107 fi; 108 EOF 109 ) >> $MKFILE 110 fi 111 } 112 -
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
60 60 in the configuration file has the proper packages and patches for the 61 61 book version being processed. 62 62 63 ${BOLD} --no-paco${OFF} 64 dissables paco logging feature. 65 63 66 ${BOLD} -T, --testsuites N ${OFF} 64 67 Run test suites [0-3] 65 68 0 = none … … 567 570 --stringparam lc_all $LC_ALL \ 568 571 --stringparam keymap $KEYMAP \ 569 572 --stringparam grsecurity_host $GRSECURITY_HOST \ 573 --stringparam use_paco $USE_PACO \ 570 574 -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1 571 575 ;; 572 576 lfs) … … 578 582 --stringparam timezone $TIMEZONE \ 579 583 --stringparam page $PAGE \ 580 584 --stringparam lang $LANG \ 585 --stringparam use_paco $USE_PACO \ 581 586 -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1 582 587 ;; 583 588 blfs) -
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
253 253 *-stripping* ) [[ "$STRIP" = "0" ]] && continue ;; 254 254 esac 255 255 256 # Install paco as the first package in ch6, before installing 257 # linux-libc-headers, except in iterartive builds 258 if [[ -z "$N" ]]; then 259 case $this_script in 260 *linux-libc-headers) 261 TMP_SCRIPT="$this_script" 262 this_script=`echo $this_script | sed -e 's/linux-libc-headers/a-paco/'` 263 wrt_paco_inst "$this_script" 264 this_script="$TMP_SCRIPT" ;; 265 esac 266 fi 267 256 268 # Grab the name of the target 257 269 name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@'` 258 270 … … 322 334 wrt_run_as_root "${this_script}" "${file}" 323 335 ;; 324 336 *) # The rest of Chapter06 337 wrt_paco_prep 325 338 wrt_run_as_chroot1 "${this_script}" "${file}" 339 wrt_paco_log "$name" "$vrs" 326 340 ;; 327 341 esac 328 342 # … … 355 369 PREV=${this_script}${N} 356 370 # Set system_build envar for iteration targets 357 371 system_build=$chapter6 372 373 # Reinstall paco after the toolchain has been readjusted. 374 case "${this_script}" in 375 *readjusting) 376 TMP_SCRIPT="$this_script" 377 this_script=`echo $this_script | sed -e 's/readjusting/x-paco/'` 378 wrt_paco_inst "$this_script" 379 this_script="$TMP_SCRIPT" ;; 380 esac 381 358 382 done # end for file in chapter06/* 359 383 360 384 } … … 417 441 wrt_run_as_chroot2 "${this_script}" "${file}" 418 442 fi 419 443 ;; 444 *kernel) wrt_paco_prep 445 wrt_run_as_chroot2 "$this_script" "$file" 446 version=`grep "^linux-version" $JHALFSDIR/packages | sed -e 's/.* //' -e 's/"//g'` 447 wrt_paco_log "linux-kernel" "$version" 448 ;; 449 *bootscripts) wrt_paco_prep 450 wrt_run_as_chroot2 "$this_script" "$file" 451 wrt_paco_log "hlfs-bootscripts" 452 ;; 420 453 *) # All other scripts 421 454 wrt_run_as_chroot2 "${this_script}" "${file}" 422 455 ;; -
master.sh
70 70 source $MODULE 71 71 [[ $? > 0 ]] && echo "$MODULE did not load.." && exit 2 72 72 [[ $VERBOSITY > 0 ]] && echo "OK" 73 # Load paco-functions 74 [[ $VERBOSITY > 0 ]] && echo -n "Loading paco module..." 75 source $COMMON_DIR/paco-functions 76 [[ $? > 0 ]] && echo "$COMMON_DIR/paco-functions did not load.." && exit 2 77 [[ $VERBOSITY > 0 ]] && echo "OK" 73 78 # 74 79 [[ $VERBOSITY > 0 ]] && echo "${SD_BORDER}${nl_}" 75 80 … … 152 157 153 158 --help | -h ) usage | more && exit ;; 154 159 160 --no-paco ) USE_PACO=0 ;; 161 155 162 --testsuites | -T ) 156 163 test $# = 1 && eval "$exit_missing_arg" 157 164 shift … … 468 475 469 476 if [[ "$PWD" != "$JHALFSDIR" ]]; then 470 477 cp $COMMON_DIR/makefile-functions $JHALFSDIR/ 478 if [[ $USE_PACO != "0" ]] ; then 479 if [[ $PROGNAME != "blfs" ]]; then 480 cp $COMMON_DIR/paco-build-$PROGNAME.sh $JHALFSDIR/ 481 else 482 echo -e "export PACO_INCLUDE=$PACO_INCLUDE" > $JHALFSDIR/pacovars 483 echo -e "export PACO_EXCLUDE=~/sources:$JHALFSDIR:$PACO_EXCLUDE" >> $JHALFSDIR/pacovars 484 echo -e "export PACO_TMPFILE=$PACO_TMPFILE" >> $JHALFSDIR/pacovars 485 fi 486 fi 471 487 if [[ "$COMPARE" != "0" ]] ; then 472 488 mkdir -p $JHALFSDIR/extras 473 489 cp extras/* $JHALFSDIR/extras
Note:
See TracBrowser
for help on using the repository browser.