source:
contrib/jhalfs-paco.patch@
6821737
Last change on this file since 6821737 was 6821737, checked in by , 19 years ago | |
---|---|
|
|
File size: 17.4 KB |
-
LFS/master.sh
158 158 *stripping*) [[ "${STRIP}" = "0" ]] && continue ;; 159 159 esac 160 160 161 # Install paco as the first package in ch6, before installing linux-libc-headers. 162 case "${this_script}" in 163 *linux-libc-headers) 164 PACO_NUM=`echo ${this_script} | sed -e 's/linux-libc-headers/a-paco/'` 165 wrt_paco_inst "$PACO_NUM" 166 esac 167 161 168 # First append each name of the script files to a list (this will become 162 169 # the names of the targets in the Makefile 163 170 chapter6="$chapter6 ${this_script}" … … 188 195 # and not to use chroot. 189 196 case "${this_script}" in 190 197 *kernfs) wrt_run_as_root "${this_script}" "$file" ;; 191 *) wrt_run_as_chroot1 "${this_script}" "$file" ;; 198 *) wrt_paco_prep 199 wrt_run_as_chroot1 "${this_script}" "$file" 200 wrt_paco_log "$name" "$vrs" ;; 192 201 esac 193 202 194 203 # Remove the build directory(ies) except if the package build fails. … … 206 215 207 216 # Keep the script file name for Makefile dependencies. 208 217 PREV=${this_script} 218 219 # Reinstalling paco after readsjusting the toolchain. 220 case "${this_script}" in 221 *readjusting) 222 PACO_NUM=`echo ${this_script} | sed -e 's/readjusting/x-paco/'` 223 wrt_paco_inst "$PACO_NUM" ;; 224 esac 225 209 226 done # end for file in chapter06/* 210 227 } 211 228 … … 267 284 wrt_run_as_chroot2 "$this_script" "$file" 268 285 fi 269 286 ;; 287 *kernel) wrt_paco_prep 288 wrt_run_as_chroot2 "$this_script" "$file" 289 wrt_paco_log "linux-kernel" "$vrs" 290 ;; 291 *bootscripts) wrt_paco_prep 292 wrt_run_as_chroot2 "$this_script" "$file" 293 wrt_paco_log "lfs-bootscripts" "$vrs" 294 ;; 270 295 *) wrt_run_as_chroot2 "$this_script" "$file" 271 296 ;; 272 297 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 ( -
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/config
58 58 # Not used in LFS 59 59 KEYMAP=none 60 60 61 62 #==== PACO VARIABLES ==== 63 #--- Use paco? 0/1 0(no)/1(yes) 64 USE_PACO=1 65 PACO_VERSION=1.10.4 66 67 #--- Name of the Paco source package 68 PACO_FILE=paco-$PACO_VERSION.tar.* 69 70 #--- Variables needed 71 # Don't change unless you know what you're doing 72 PACO_INCLUDE=/ 73 PACO_EXCLUDE=/sys:/dev:/proc:/tmp:/usr/src:/usr/share/info/dir 74 PACO_TMPFILE=/tmp/paco.tmp 75 LD_PRELOAD=/usr/lib/libpaco-log.so 76 77 61 78 #=== Variables needed by ICA (Not implemented yet :-/)=== 62 79 #--- Run ICA testing 0/1 0(no)/1(yes) 63 80 RUN_ICA=0 -
common/func_validate_configs.sh
85 85 inline_doc 86 86 87 87 # First internal variables, then the ones that change the book's flavour, and lastly system configuration variables 88 local -r blfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE HPKG DEPEND TEST"89 local -r hlfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE HPKG RUNMAKE MODEL GRSECURITY_HOST TEST STRIP FSTAB CONFIG KEYMAP PAGE TIMEZONE LANG LC_ALL"90 local -r clfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE HPKG RUNMAKE METHOD ARCH TARGET TEST STRIP FSTAB BOOT_CONFIG CONFIG KEYMAP VIMLANG PAGE TIMEZONE LANG"91 local -r lfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE HPKG RUNMAKE TEST STRIP FSTAB CONFIG VIMLANG PAGE TIMEZONE LANG"88 local -r blfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO HPKG DEPEND TEST" 89 local -r hlfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO HPKG RUNMAKE MODEL GRSECURITY_HOST TEST STRIP FSTAB CONFIG KEYMAP PAGE TIMEZONE LANG LC_ALL" 90 local -r clfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO HPKG RUNMAKE METHOD ARCH TARGET TEST STRIP FSTAB BOOT_CONFIG CONFIG KEYMAP VIMLANG PAGE TIMEZONE LANG" 91 local -r lfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO HPKG RUNMAKE TEST STRIP FSTAB CONFIG VIMLANG PAGE TIMEZONE LANG" 92 92 93 93 local -r ERROR_MSG_pt1='The variable \"${L_arrow}${config_param}${R_arrow}\" value ${L_arrow}${BOLD}${!config_param}${R_arrow} is invalid,' 94 94 local -r ERROR_MSG_pt2=' check the config file ${BOLD}${GREEN}\<$(echo $PROGNAME | tr [a-z] [A-Z])/config\> or \<common/config\>${OFF}' … … 130 130 continue ;; 131 131 TIMEZONE) continue;; 132 132 MKFILE) continue;; 133 USE_PACO) validation_str="x0x x1x"; validate_str; continue ;; 133 134 HPKG) validation_str="x0x x1x"; validate_str; continue ;; 134 135 RUNMAKE) validation_str="x0x x1x"; validate_str; continue ;; 135 136 TEST) validation_str="x0x x1x x2x x3x"; validate_str; continue ;; -
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.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.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 … … 623 626 --stringparam lc_all $LC_ALL \ 624 627 --stringparam keymap $KEYMAP \ 625 628 --stringparam grsecurity_host $GRSECURITY_HOST \ 629 --stringparam use_paco $USE_PACO \ 626 630 -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1 627 631 ;; 628 632 lfs) … … 634 638 --stringparam timezone $TIMEZONE \ 635 639 --stringparam page $PAGE \ 636 640 --stringparam lang $LANG \ 641 --stringparam use_paco $USE_PACO \ 637 642 -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1 638 643 ;; 639 644 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
318 318 *) ;; 319 319 esac 320 320 321 # Install paco as the first package in ch6, befire installing linux-libc-headers 322 case $this_script in 323 *linux-libc-headers) 324 PACO_NUM=`echo $this_script | sed -e 's/linux-libc-headers/a-paco/'` 325 wrt_paco_inst "$PACO_NUM" 326 esac 327 321 328 # First append each name of the script files to a list (this will become 322 329 # the names of the targets in the Makefile 323 330 chapter6="$chapter6 $this_script" … … 376 383 wrt_run_as_root "${this_script}" "${file}" 377 384 ;; 378 385 *) # The rest of Chapter06 386 wrt_paco_prep 379 387 wrt_run_as_chroot1 "${this_script}" "${file}" 388 wrt_paco_log "$name" "$vrs" 380 389 ;; 381 390 esac 382 391 # … … 407 416 408 417 # Keep the script file name for Makefile dependencies. 409 418 PREV=$this_script 419 420 # Reinstall paco after the toolchain has been readjusted. 421 case "${this_script}" in 422 *readjusting) 423 PACO_NUM=`echo $this_script | sed -e 's/readjusting/x-paco/'` 424 wrt_paco_inst "$PACO_NUM" ;; 425 esac 426 410 427 done # end for file in chapter06/* 411 428 412 429 } … … 469 486 wrt_run_as_chroot2 "${this_script}" "${file}" 470 487 fi 471 488 ;; 489 *kernel) wrt_paco_prep 490 wrt_run_as_chroot2 "$this_script" "$file" 491 version=`grep "^linux-version" $JHALFSDIR/packages | sed -e 's/.* //' -e 's/"//g'` 492 wrt_paco_log "linux-kernel" "$version" 493 ;; 494 *bootscripts) wrt_paco_prep 495 wrt_run_as_chroot2 "$this_script" "$file" 496 wrt_paco_log "hlfs-bootscripts" 497 ;; 472 498 *) # All other scripts 473 499 wrt_run_as_chroot2 "${this_script}" "${file}" 474 500 ;; -
master.sh
66 66 source $MODULE 67 67 [[ $? > 0 ]] && echo "$MODULE did not load.." && exit 2 68 68 [[ $VERBOSITY > 0 ]] && echo "OK" 69 # Load paco-functions 70 [[ $VERBOSITY > 0 ]] && echo -n "Loading paco module..." 71 source $COMMON_DIR/paco-functions 72 [[ $? > 0 ]] && echo "$COMMON_DIR/paco-functions did not load.." && exit 2 73 [[ $VERBOSITY > 0 ]] && echo "OK" 69 74 # 70 75 [[ $VERBOSITY > 0 ]] && echo "---------------${nl_}" 71 76 … … 146 151 147 152 --help | -h ) usage | more && exit ;; 148 153 154 --no-paco ) USE_PACO=0 ;; 155 149 156 --testsuites | -T ) 150 157 test $# = 1 && eval "$exit_missing_arg" 151 158 shift … … 455 462 456 463 if [[ "$PWD" != "$JHALFSDIR" ]]; then 457 464 cp $COMMON_DIR/makefile-functions $JHALFSDIR/ 465 if [[ $USE_PACO != "0" ]] ; then 466 if [[ $PROGNAME != "blfs" ]]; then 467 cp $COMMON_DIR/paco-build.sh $JHALFSDIR/ 468 else 469 echo -e "export PACO_INCLUDE=$PACO_INCLUDE" > $JHALFSDIR/pacovars 470 echo -e "export PACO_EXCLUDE=~/sources:$JHALFSDIR:$PACO_EXCLUDE" >> $JHALFSDIR/pacovars 471 echo -e "export PACO_TMPFILE=$PACO_TMPFILE" >> $JHALFSDIR/pacovars 472 fi 473 fi 458 474 if [[ -n "$FILES" ]]; then 459 475 # pushd/popd necessary to deal with mulitiple files 460 476 pushd $PACKAGE_DIR 1> /dev/null
Note:
See TracBrowser
for help on using the repository browser.