source:
contrib/jhalfs-paco.patch@
2dd88c4
Last change on this file since 2dd88c4 was 963fdae, checked in by , 18 years ago | |
---|---|
|
|
File size: 32.7 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 … … 232 249 # and not to use chroot. 233 250 case "${this_script}" in 234 251 *kernfs) wrt_run_as_root "${this_script}" "$file" ;; 235 *) wrt_run_as_chroot1 "${this_script}" "$file" ;; 252 *) wrt_paco_prep 253 wrt_run_as_chroot1 "${this_script}" "$file" 254 wrt_paco_log "$pkg_tarball" ;; 236 255 esac 237 256 238 257 # Remove the build directory(ies) except if the package build fails. … … 252 271 PREV=${this_script}${N} 253 272 # Set system_build envar for iteration targets 254 273 system_build=$chapter6 274 275 # Reinstalling paco after readsjusting the toolchain. 276 case "${this_script}" in 277 *readjusting) 278 TMP_SCRIPT="$this_script" 279 this_script=`echo ${this_script} | sed -e 's/readjusting/x-paco/'` 280 wrt_paco_inst "$this_script" 281 this_script="$TMP_SCRIPT" ;; 282 esac 283 255 284 done # end for file in chapter06/* 256 285 } 257 286 … … 312 341 else 313 342 wrt_run_as_chroot2 "$this_script" "$file" 314 343 fi 344 wrt_paco_log "lfs-sysconf" 315 345 ;; 346 *kernel | *bootscripts ) 347 wrt_paco_prep 348 wrt_run_as_chroot2 "$this_script" "$file" 349 wrt_paco_log "$pkg_tarball" 350 ;; 316 351 *) wrt_run_as_chroot2 "$this_script" "$file" 352 wrt_paco_log "lfs-sysconf" 317 353 ;; 318 354 esac 319 355 -
LFS/lfs.xsl
39 39 <!-- Locale settings --> 40 40 <xsl:param name="lang" select="C"/> 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> … … 239 242 <xsl:apply-templates/> 240 243 <xsl:text> || true
</xsl:text> 241 244 </xsl:when> 245 <!-- paco begin --> 246 <!-- General rule --> 247 <xsl:when test="$use_paco != '0' and 248 ancestor::chapter[@id != 'chapter-temporary-tools'] and 249 contains(string(),'make') and 250 contains(string(),'install')"> 251 <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text> 252 <xsl:apply-templates/> 253 <xsl:text>
</xsl:text> 254 </xsl:when> 255 <!-- Linux-libc-headers --> 256 <xsl:when test="$use_paco != '0' and 257 ancestor::sect1[@id='ch-system-linux-libc-headers'] and 258 contains(string(),'install ')"> 259 <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text> 260 <xsl:apply-templates/> 261 <xsl:text>
</xsl:text> 262 </xsl:when> 263 <!-- Unset LD_PRELOAD before second make in Zlib --> 264 <xsl:when test="$use_paco != '0' and 265 ancestor::sect1[@id='ch-system-zlib'] and 266 contains(string(),'make clean')"> 267 <xsl:text>unset LD_PRELOAD
</xsl:text> 268 <xsl:apply-templates/> 269 <xsl:text>
</xsl:text> 270 </xsl:when> 271 <!-- paco end --> 242 272 <!-- The rest of commands --> 243 273 <xsl:otherwise> 244 274 <xsl:apply-templates/> -
CLFS/master.sh
495 495 # Keep the script file name 496 496 this_script=`basename $file` 497 497 498 # If $this_script corresponds to a paco script, then skip it 499 case "${this_script}" in 500 *paco) continue ;; 501 esac 502 498 503 # Test if the stripping phase must be skipped. 499 504 # Skip alsp temp-perl for iterative runs 500 505 case $this_script in … … 502 507 *temp-perl*) [[ -n "$N" ]] && continue ;; 503 508 esac 504 509 510 # Install paco as the first package in ch6, before installing 511 # linux-libc-headers, except in iterartive builds 512 if [[ -z "$N" ]]; then 513 case $this_script in 514 *linux-headers) 515 TMP_SCRIPT="$this_script" 516 this_script=`echo $this_script | sed -e 's/linux-headers/a-paco/'` 517 wrt_paco_inst "$this_script" 518 this_script="$TMP_SCRIPT" ;; 519 esac 520 fi 521 505 522 # Grab the name of the target, strip id number, XXX-script 506 523 name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@' \ 507 524 -e 's@temp-@@' \ … … 554 571 [[ "$OPTIMIZE" != "0" ]] && wrt_optimize "$name" && wrt_makeflags "$name" 555 572 fi 556 573 # 574 wrt_paco_prep 557 575 wrt_run_as_chroot1 "${this_script}" "${file}" 576 wrt_paco_log "$pkg_tarball" 558 577 # 559 578 [[ "$pkg_tarball" != "" ]] && wrt_remove_build_dirs "${name}" 560 579 # … … 569 588 PREV=${this_script}${N} 570 589 # Set system_build envar for iteration targets 571 590 system_build=$basicsystem 591 592 # Reinstalling paco after readsjusting the toolchain. 593 case "${this_script}" in 594 *adjusting) 595 TMP_SCRIPT="$this_script" 596 this_script=`echo ${this_script} | sed -e 's/adjusting/x-paco/'` 597 wrt_paco_inst "$this_script" 598 this_script="$TMP_SCRIPT" ;; 599 esac 600 572 601 done # for file in final-system/* ... 573 602 } 574 603 … … 605 634 # Keep the script file name 606 635 this_script=`basename $file` 607 636 637 # If $this_script corresponds to a paco script, then skip it 638 case "${this_script}" in 639 *paco) continue ;; 640 esac 641 608 642 # Test if the stripping phase must be skipped 609 643 # Skip alsp temp-perl for iterative runs 610 644 case $this_script in … … 612 646 *temp-perl*) [[ -n "$N" ]] && continue ;; 613 647 esac 614 648 649 # Install paco as the first package in ch6, before installing 650 # linux-libc-headers, except in iterartive builds 651 if [[ -z "$N" ]]; then 652 case $this_script in 653 *linux-headers) 654 TMP_SCRIPT="$this_script" 655 this_script=`echo $this_script | sed -e 's/linux-headers/a-paco/'` 656 wrt_paco_inst "$this_script" 657 this_script="$TMP_SCRIPT" ;; 658 esac 659 fi 660 615 661 # Grab the name of the target, strip id number, XXX-script 616 662 name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@' \ 617 663 -e 's@temp-@@' \ … … 666 712 [[ "$OPTIMIZE" != "0" ]] && wrt_optimize "$name" && wrt_makeflags "$name" 667 713 fi 668 714 # 715 wrt_paco_prep 669 716 wrt_run_as_root2 "${this_script}" "${file}" 717 wrt_paco_log "$pkg_tarball" 670 718 # 671 719 [[ "$pkg_tarball" != "" ]] && wrt_remove_build_dirs2 "${name}" 672 720 # … … 681 729 PREV=${this_script}${N} 682 730 # Set system_build envar for iteration targets 683 731 system_build=$basicsystem 732 733 # Reinstalling paco after readsjusting the toolchain. 734 case "${this_script}" in 735 *adjusting) 736 TMP_SCRIPT="$this_script" 737 this_script=`echo ${this_script} | sed -e 's/adjusting/x-paco/'` 738 wrt_paco_inst "$this_script" 739 this_script="$TMP_SCRIPT" ;; 740 esac 741 684 742 done # for file in final-system/* ... 685 743 } 686 744 … … 729 787 # 730 788 [[ "$pkg_tarball" != "" ]] && wrt_unpack2 "$pkg_tarball" 731 789 # 790 case $this_script in 791 *bootscripts* | *udev-rules ) 792 wrt_paco_prep ;; 793 esac 732 794 wrt_run_as_chroot1 "${this_script}" "${file}" 795 case $this_script in 796 *bootscripts* | *udev-rules ) 797 wrt_paco_log "$pkg_tarball" ;; 798 *) 799 wrt_paco_log "clfs-sysconf" ;; 800 esac 733 801 # 734 802 [[ "$pkg_tarball" != "" ]] && wrt_remove_build_dirs "${name}" 735 803 # … … 791 859 # 792 860 [[ "$pkg_tarball" != "" ]] && wrt_unpack3 "$pkg_tarball" 793 861 # 862 case $this_script in 863 *bootscripts* | *udev-rules ) 864 wrt_paco_prep ;; 865 esac 794 866 wrt_run_as_root2 "${this_script}" "${file}" 867 case $this_script in 868 *bootscripts* | *udev-rules ) 869 wrt_paco_log "$pkg_tarball" ;; 870 *) 871 wrt_paco_log "clfs-sysconf" ;; 872 esac 795 873 # 796 874 [[ "$pkg_tarball" != "" ]] && wrt_remove_build_dirs2 "${name}" 797 875 # … … 863 941 else 864 942 wrt_run_as_chroot1 "${this_script}" "${file}" 865 943 fi 944 wrt_paco_log "clfs-sysconf" 866 945 ;; 867 *) wrt_run_as_chroot1 "${this_script}" "${file}" ;; 946 *kernel) wrt_paco_prep 947 wrt_run_as_chroot1 "${this_script}" "${file}" 948 wrt_paco_log "$pkg_tarball" ;; 949 *) wrt_run_as_chroot1 "${this_script}" "${file}" 950 wrt_paco_log "clfs-sysconf" ;; 868 951 esac 869 952 # 870 953 # Housekeeping...remove any build directory(ies) except if the package build fails. … … 942 1025 else 943 1026 wrt_run_as_root2 "${this_script}" "${file}" 944 1027 fi 1028 wrt_paco_log "clfs-sysconf" 945 1029 ;; 946 *) wrt_run_as_root2 "${this_script}" "${file}" ;; 1030 *kernel) wrt_paco_prep 1031 wrt_run_as_root2 "${this_script}" "${file}" 1032 wrt_paco_log "$pkg_tarball" ;; 1033 *) wrt_run_as_root2 "${this_script}" "${file}" 1034 wrt_paco_log "clfs-sysconf" ;; 947 1035 esac 948 1036 # 949 1037 # Housekeeping...remove any build directory(ies) except if the package build fails. -
CLFS/clfs.xsl
45 45 <!-- Locale settings --> 46 46 <xsl:param name="lang" select="C"/> 47 47 48 <!-- Use paco? --> 49 <xsl:param name="use_paco" select="1"/> 50 48 51 <xsl:template match="/"> 49 52 <xsl:apply-templates select="//sect1"/> 50 53 </xsl:template> … … 106 109 <xsl:text>tar -xvf ../vim-&vim-version;-lang.* --strip-components=1
</xsl:text> 107 110 </xsl:if> 108 111 </xsl:if> 112 <!-- paco begin --> 113 <!-- General rule --> 114 <xsl:if test="$use_paco != '0' and 115 @id='ch-scripts-bootscripts' or 116 @id='ch-scripts-udev-rules' or 117 @id='ch-bootable-kernel' or 118 (../@id='chapter-building-system' and 119 @id!='ch-system-temp-perl' and 120 contains(string(),'make') and 121 contains(string(),'install'))"> 122 <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text> 123 </xsl:if> 124 <!-- Linux headers --> 125 <xsl:if test="$use_paco != '0' and 126 @id='ch-system-linux-headers' and 127 contains(string(),'install')"> 128 <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text> 129 </xsl:if> 130 <!-- paco end --> 109 131 <xsl:apply-templates select=".//para/userinput | .//screen"/> 110 132 <xsl:text>exit</xsl:text> 111 133 </exsl:document> -
common/paco-build-hlfs.sh
1 #!/bin/sh 2 set -e 3 4 cd $PKGDIR 5 ./configure --sysconfdir=/etc \ 6 --enable-scripts \ 7 --disable-gpaco \ 8 --disable-static \ 9 --with-pic && 10 make && 11 make install && 12 make logme -
common/config
91 91 #--- Run farce testing 0(no)/1(yes) 92 92 RUN_FARCE=0 93 93 94 #==== PACO VARIABLES ==== 95 #--- Use paco? 0(no)/1(yes) 96 USE_PACO=1 97 PACO_VERSION=1.10.10 98 99 #--- Name of the Paco source package 100 PACO_FILE=paco-$PACO_VERSION.tar.bz2 # (use .tar.gz if preferred) 101 102 #--- Sourceforge mirror to use for Paco source download 103 # Europe: heanet, belnet, puzzle, surfnet, switch, kent 104 # North America: superb-east, superb-west, umn, easynews 105 # South America: ufpr 106 # Asia: nchc, jaist 107 # Australia: optusnet 108 PACO_MIRROR1=heanet 109 PACO_MIRROR2=kent 110 94 111 #==== INTERNAL VARIABLES ==== 95 112 # Don't edit it unless you know what you are doing 96 113 … … 108 125 109 126 #--- farce report log directory 110 127 FARCELOGDIR=$LOGDIR/farce 128 129 #--- Variables needed by paco 130 PACO_INCLUDE=/ 131 PACO_EXCLUDE=/${SCRIPT_ROOT} 132 PACO_TMPFILE=/tmp/paco.tmp 133 LD_PRELOAD=/usr/lib/libpaco-log.so -
common/func_validate_configs.sh
86 86 inline_doc 87 87 88 88 # First internal variables, then the ones that change the book's flavour, and lastly system configuration variables 89 local -r hlfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE MODEL GRSECURITY_HOST TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB CONFIG GETKERNEL KEYMAP PAGE TIMEZONE LANG LC_ALL"90 local -r clfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE METHOD ARCH TARGET TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB BOOT_CONFIG CONFIG GETKERNEL KEYMAP VIMLANG PAGE TIMEZONE LANG"91 local -r clfs2_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE ARCH TARGET OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB CONFIG GETKERNEL KEYMAP VIMLANG PAGE TIMEZONE LANG"92 local -r lfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE GETPKG RUNMAKE TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB CONFIG GETKERNEL VIMLANG PAGE TIMEZONE LANG"89 local -r hlfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO GETPKG RUNMAKE MODEL GRSECURITY_HOST TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB CONFIG GETKERNEL KEYMAP PAGE TIMEZONE LANG LC_ALL" 90 local -r clfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO GETPKG RUNMAKE METHOD ARCH TARGET TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB BOOT_CONFIG CONFIG GETKERNEL KEYMAP VIMLANG PAGE TIMEZONE LANG" 91 local -r clfs2_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO GETPKG RUNMAKE ARCH TARGET OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB CONFIG GETKERNEL KEYMAP VIMLANG PAGE TIMEZONE LANG" 92 local -r lfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO GETPKG RUNMAKE TEST BOMB_TEST OPTIMIZE REPORT COMPARE RUN_ICA RUN_FARCE ITERATIONS STRIP FSTAB CONFIG GETKERNEL VIMLANG PAGE TIMEZONE LANG" 93 93 94 94 local -r ERROR_MSG_pt1='The variable \"${L_arrow}${config_param}${R_arrow}\" value ${L_arrow}${BOLD}${!config_param}${R_arrow} is invalid,' 95 95 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 [[ "$GETPKG" = "1" ]] && validate_against_str "x0x x1x" 180 180 fi ;; 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 wrt_paco_inst() { # 5 #----------------------------# 6 7 local paco_script="$1" 8 9 check_build_model 10 11 if [ $USE_PACO != 0 ]; then 12 case $PROGNAME in 13 clfs ) 14 paco_file="final-system/$paco_script" 15 basicsystem="$basicsystem $paco_script" ;; 16 * ) 17 paco_file="chapter06/$paco_script" 18 chapter6="$chapter6 $paco_script" ;; 19 esac 20 21 # Copy the paco build script to the correct directory and make it executable 22 cp $JHALFSDIR/paco-build-$PROGNAME.sh $JHALFSDIR/${PROGNAME}-commands/$paco_file && 23 chmod +x $JHALFSDIR/${PROGNAME}-commands/$paco_file 24 25 # Write target, dependency and unpack 26 if [ $CLFS_BOOT = 1 ]; then 27 wrt_target_boot "$paco_script" "$PREV" 28 wrt_unpack3 "$PACO_FILE" 29 wrt_run_as_root2 "${paco_script}" "${paco_file}" 30 wrt_remove_build_dirs2 "paco" 31 else 32 wrt_target "$paco_script" "$PREV" 33 wrt_unpack2 "$PACO_FILE" 34 wrt_run_as_chroot1 "${paco_script}" "${paco_file}" 35 wrt_remove_build_dirs "paco" 36 fi 37 38 wrt_touch 39 40 # Override the PREV variable 41 PREV="$paco_script" 42 fi 43 } 44 45 46 #----------------------------------# 47 wrt_paco_prep() { # Export Paco variables 48 #----------------------------------# and remove tmpfile 49 50 local TMPFILEPATH 51 52 check_build_model 53 54 check_log_package 55 56 if [ $USE_PACO != 0 ] && [ $LOG_PACKAGE != 0 ]; then 57 if [ $CLFS_BOOT = 1 ]; then 58 TMPFILEPATH="$PACO_TMPFILE" 59 else 60 TMPFILEPATH="\$(MOUNT_PT)$PACO_TMPFILE" 61 fi 62 ( 63 cat << EOF 64 @echo "export PACO_INCLUDE=$PACO_INCLUDE" >> envars && \\ 65 echo "export PACO_EXCLUDE=\$(SRC):$PACO_EXCLUDE" >> envars && \\ 66 echo "export PACO_TMPFILE=$PACO_TMPFILE" >> envars && \\ 67 rm -f $TMPFILEPATH 68 EOF 69 ) >> $MKFILE.tmp 70 fi 71 } 72 73 74 #----------------------------------# 75 wrt_paco_log() { # If the tmpfile exist, then log the current package 76 #----------------------------------# and remove tempfile 77 local PACKAGE 78 79 # Extract package name and version from the tarball name 80 PACKAGE=`echo $1 | sed -e 's/.tar.*//'` 81 82 check_build_model 83 84 # Check if the package should be logged 85 check_log_package 86 87 88 if [ $USE_PACO != 0 ]; then 89 if [ $LOG_PACKAGE != 0 ]; then 90 # Only use this if doing CLFS boot build 91 if [ $CLFS_BOOT = 1 ]; then 92 ( 93 cat << EOF 94 @if [ -e $PACO_TMPFILE ]; then \\ 95 paco -lp+ $PACKAGE < $PACO_TMPFILE && \\ 96 rm -f $PACO_TMPFILE; \\ 97 fi; 98 EOF 99 ) >> $MKFILE.tmp 100 # All else should use these commands 101 else 102 ( 103 cat << EOF 104 @if [ -e \$(MOUNT_PT)$PACO_TMPFILE ]; then \\ 105 \$(CHROOT1) 'paco -lp+ $PACKAGE < $PACO_TMPFILE' && \\ 106 rm -f \$(MOUNT_PT)$PACO_TMPFILE; \\ 107 fi; 108 EOF 109 ) >> $MKFILE.tmp 110 fi 111 fi 112 # Add missing files to the logs if needed 113 wrt_paco_add_log 114 fi 115 } 116 117 118 #----------------------------------# 119 fnc_add_log() { # 120 #----------------------------------# 121 122 MISSING_FILE=$1 123 124 if [ $CLFS_BOOT = 1 ]; then 125 echo -e "\t@$MISSING_FILE | paco -lp+ $PACKAGE" >> $MKFILE.tmp 126 else 127 echo -e "\t@\$(CHROOT1) '$MISSING_FILE | paco -lp+ $PACKAGE'" >> $MKFILE.tmp 128 fi 129 } 130 131 132 #----------------------------------# 133 wrt_paco_add_log() { # 134 #----------------------------------# 135 # Some packages create files using bash redirection, which the LD_PRELOAD lib don't notice 136 # These rules will add the missing files to the proper logs. 137 # Most of these is not needed for HLFS, but they do no harm. 138 if [ $USE_PACO != 0 ]; then 139 case $this_script in 140 *glibc) 141 fnc_add_log "find /lib -type l" 142 fnc_add_log "find /etc/{nsswitch.conf,ld.so.conf}" 143 ;; 144 *ncurses) 145 fnc_add_log "find /usr/lib/{libcurses.so,libncurses.so,libform.so,libpanel.so,libmenu.so}" 146 ;; 147 *bash) 148 fnc_add_log "echo /bin/sh" 149 ;; 150 *flex) 151 fnc_add_log "echo /usr/bin/lex" 152 ;; 153 *shadow) 154 fnc_add_log "echo /etc/login.defs" 155 ;; 156 *hotplug) 157 fnc_add_log "echo /var/log/hotplug" 158 fnc_add_log "echo /var/run/usb" 159 ;; 160 *sysklogd) 161 fnc_add_log "echo /etc/syslog.conf" 162 ;; 163 *sysvinit) 164 fnc_add_log "echo /etc/inittab" 165 ;; 166 *udev) 167 fnc_add_log "find /lib/udev/devices" 168 fnc_add_log "echo /lib/firmware" 169 fnc_add_log "find /etc/udev/rules.d -type f" 170 ;; 171 *util-linux) 172 fnc_add_log "echo /var/lib/hwclock" 173 fnc_add_log "echo /etc/nologin.txt" 174 ;; 175 *vim) 176 fnc_add_log "echo /etc/vimrc" 177 ;; 178 # Rules below here will log configuration files created in {C,H}LFS 179 # They will end up in a log named {c,h}lfs-sysconf 180 *setclock) 181 fnc_add_log "echo /etc/sysconfig/clock" 182 ;; 183 *inputrc) 184 fnc_add_log "echo /etc/inputrc" 185 ;; 186 *profile) 187 fnc_add_log "echo /etc/profile" 188 ;; 189 *hostname) 190 fnc_add_log "echo /etc/sysconfig/network" 191 ;; 192 *localnet) 193 fnc_add_log "echo /etc/sysconfig/network" 194 ;; 195 *hosts) 196 fnc_add_log "echo /etc/hosts" 197 ;; 198 *network) 199 fnc_add_log "echo /etc/sysconfig/network-devices/ifconfig.eth0/ipv4" 200 fnc_add_log "echo /etc/resolv.conf" 201 ;; 202 *fstab) 203 fnc_add_log "echo /etc/fstab" 204 ;; 205 *theend) # LFS and CLFS 206 fnc_add_log "echo /etc/$PROGNAME-release" 207 ;; 208 *finished) # HLFS 209 fnc_add_log "echo /etc/$PROGNAME-release" 210 ;; 211 esac 212 fi 213 } 214 215 216 #----------------------------------# 217 check_log_package() { # 218 #----------------------------------# 219 # Maybe don't need this function, but it will avoid writing some 220 # unnecessary paco commands in the Makefile. 221 222 case $this_script in 223 *changingowner) LOG_PACKAGE=0 ;; 224 *creatingdirs) LOG_PACKAGE=0 ;; 225 *createfiles) LOG_PACKAGE=0 ;; 226 *pwdgroup) LOG_PACKAGE=0 ;; 227 *devices) LOG_PACKAGE=0 ;; 228 *stripping) LOG_PACKAGE=0 ;; 229 *strippingagain) LOG_PACKAGE=0 ;; 230 *adjusting) LOG_PACKAGE=0 ;; 231 *temp-perl) LOG_PACKAGE=0 ;; 232 *readjusting) LOG_PACKAGE=0 ;; 233 *setclock) LOG_PACKAGE=0 ;; 234 *inputrc) LOG_PACKAGE=0 ;; 235 *profile) LOG_PACKAGE=0 ;; 236 *hostname) LOG_PACKAGE=0 ;; 237 *localnet) LOG_PACKAGE=0 ;; 238 *hosts) LOG_PACKAGE=0 ;; 239 *network) LOG_PACKAGE=0 ;; 240 *fstab) LOG_PACKAGE=0 ;; 241 *theend) LOG_PACKAGE=0 ;; 242 *finished) LOG_PACKAGE=0 ;; 243 *) LOG_PACKAGE=1 ;; 244 esac 245 } 246 247 #----------------------------------# 248 get_paco_src() { # 249 #----------------------------------# 250 # Download the paco sources 251 # We don't do any MD5SUM checking as of yet 252 # http://jaist.dl.sourceforge.net/sourceforge/paco/paco-1.10.10.tar.bz2 253 254 local PACO_URL1="http://$PACO_MIRROR1.dl.sourceforge.net/sourceforge/paco/$PACO_FILE" 255 local PACO_URL2="http://$PACO_MIRROR2.dl.sourceforge.net/sourceforge/paco/$PACO_FILE" 256 257 # Test if paco is to be used 258 [[ ! "$USE_PACO" = "1" ]] && return 259 260 # If the file exists in the archive copy it to the $BUILDDIR/sources dir. 261 if [ ! -z ${SRC_ARCHIVE} ] && 262 [ -d ${SRC_ARCHIVE} ] && 263 [ -f ${SRC_ARCHIVE}/$PACO_FILE ]; then 264 cp ${SRC_ARCHIVE}/$PACO_FILE . 265 echo "$PACO_FILE: -- copied from $SRC_ARCHIVE" 266 fromARCHIVE=1 267 else 268 echo "${BOLD}${YELLOW}$PACO_FILE: not found in ${SRC_ARCHIVE}${OFF}" 269 fromARCHIVE=0 270 # If the file does not exist yet in /sources download a fresh one 271 if [ ! -f $PACO_FILE ] ; then 272 if ! wget $PACO_URL1 && ! wget $PACO_URL2 ; then 273 gs_wrt_message "$PACO_FILE not found in the SRC_ARCHIVE or on any server..SKIPPING" 274 continue 275 fi 276 fi 277 fi 278 279 # Copy the freshly downloaded file to the source archive. 280 if [ ! -z ${SRC_ARCHIVE} ] && 281 [ -d ${SRC_ARCHIVE} ] && 282 [ -w ${SRC_ARCHIVE} ] && 283 [ "$fromARCHIVE" = "0" ] ; then 284 echo "Storing file:<$PACO_FILE> in the package archive" 285 cp -f $PACO_FILE ${SRC_ARCHIVE} 286 fi 287 } 288 289 290 #----------------------------------# 291 check_build_model() { # 292 #----------------------------------# 293 # Check what script we're running, and set some switches accordingly 294 295 CLFS_BOOT=0 296 297 case $PROGNAME in 298 hlfs) 299 # Not using Paco with uClibc, even if requested 300 if [ "$MODEL" = "uclibc" ]; then 301 USE_PACO=0 302 fi 303 ;; 304 clfs) 305 # CLFS boot method require it's own commands 306 if [ "$METHOD" = "boot" ]; then 307 CLFS_BOOT=1 308 fi 309 ;; 310 esac 311 } -
common/paco-build-lfs.sh
1 #!/bin/sh 2 set -e 3 4 cd $PKGDIR 5 ./configure --sysconfdir=/etc \ 6 --enable-scripts \ 7 --disable-gpaco && 8 make && 9 make install && 10 make logme -
common/paco-build-clfs.sh
1 #!/bin/sh 2 set -e 3 4 cd $PKGDIR 5 ./configure --sysconfdir=/etc \ 6 --enable-scripts \ 7 --disable-gpaco && 8 make && 9 make install && 10 make logme -
common/common-functions
69 69 in the configuration file has the proper packages and patches for the 70 70 book version being processed. 71 71 72 ${BOLD} --no-paco${OFF} 73 dissables paco logging feature. 74 72 75 ${BOLD} -O, --optimize${OFF} 73 76 Optimize [0-2] 74 77 0 = no optimization … … 733 736 --stringparam page $PAGE \ 734 737 --stringparam lang $LANG \ 735 738 --stringparam keymap $KEYMAP \ 739 --stringparam use_paco $USE_PACO \ 736 740 -o ./${PROGNAME}-commands/ $XSL $BOOK/$ARCH-index.xml >>$LOGDIR/$LOG 2>&1 737 741 ;; 738 742 … … 762 766 --stringparam lc_all $LC_ALL \ 763 767 --stringparam keymap $KEYMAP \ 764 768 --stringparam grsecurity_host $GRSECURITY_HOST \ 769 --stringparam use_paco $USE_PACO \ 765 770 -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1 766 771 ;; 767 772 lfs) … … 774 779 --stringparam timezone $TIMEZONE \ 775 780 --stringparam page $PAGE \ 776 781 --stringparam lang $LANG \ 782 --stringparam use_paco $USE_PACO \ 777 783 -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1 778 784 ;; 779 785 *) exit 1 ;; … … 840 846 # Generate URLs file 841 847 create_urls 842 848 849 # If Paco is to be used, then download the sources 850 get_paco_src 851 843 852 IFS=$'\x0A' # Modify the 'internal field separator' to break on 'LF' only 844 853 for line in `cat urls.lst`; do 845 854 IFS=$saveIFS # Restore the system defaults -
HLFS/hlfs.xsl
46 46 <xsl:param name="lang" select="C"/> 47 47 <xsl:param name="lc_all" select="C"/> 48 48 49 <!-- Use paco? --> 50 <xsl:param name="use_paco" select="1"/> 51 49 52 <xsl:template match="/"> 50 53 <xsl:apply-templates select="//sect1"/> 51 54 </xsl:template> … … 192 195 <!-- Fixing bootscripts installation --> 193 196 <xsl:when test="ancestor::sect1[@id='bootable-bootscripts'] and 194 197 string() = 'make install'"> 198 <!-- inserting LD_PRELOAD before installing bootscripts --> 199 <xsl:if test="$use_paco != '0' and $model != 'uclibc'"> 200 <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text> 201 </xsl:if> 195 202 <xsl:text>make install
</xsl:text> 196 203 <xsl:text>cd ../blfs-bootscripts-&blfs-bootscripts-version;
</xsl:text> 197 204 </xsl:when> … … 280 287 <xsl:apply-templates/> 281 288 <xsl:text> || true
</xsl:text> 282 289 </xsl:when> 290 <!-- paco begin --> 291 <!-- General rule --> 292 <xsl:when test="$use_paco != '0' and $model != 'uclibc' and 293 ancestor::chapter[@id != 'chapter-temporary-tools'] and 294 contains(string(),'make') and 295 contains(string(),'install')"> 296 <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text> 297 <xsl:apply-templates/> 298 <xsl:text>
</xsl:text> 299 </xsl:when> 300 <!-- Linux-libc-headers --> 301 <xsl:when test="$use_paco != '0' and $model != 'uclibc' and 302 ancestor::sect1[@id='ch-system-linux-headers'] and 303 contains(string(),'install ')"> 304 <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text> 305 <xsl:apply-templates/> 306 <xsl:text>
</xsl:text> 307 </xsl:when> 308 <!-- paco end --> 283 309 <!-- The rest of commands --> 284 310 <xsl:otherwise> 285 311 <xsl:apply-templates/> -
HLFS/master.sh
92 92 EOF 93 93 ) >> $MKFILE.tmp 94 94 [[ "$TEST" != "0" ]] && wrt_test_log2 "${this_script}" 95 wrt_paco_prep 95 96 wrt_run_as_chroot1 "$toolchain" "$this_script" 97 wrt_paco_log "`echo $toolchain | sed -e 's@[0-9]\{3\}-@@'`" 96 98 ;; 97 99 98 100 *) … … 324 326 # Keep the script file name 325 327 this_script=`basename $file` 326 328 329 # If this script is *-paco, then skip it 330 case $this_script in 331 *paco ) continue ;; 332 esac 333 327 334 # Skip this script depending on jhalfs.conf flags set. 328 335 case $this_script in 329 336 # We'll run the chroot commands differently than the others, so skip them in the … … 333 340 *-stripping* ) [[ "$STRIP" = "0" ]] && continue ;; 334 341 esac 335 342 343 # Install paco as the first package in ch6, before installing 344 # linux-libc-headers, except in iterartive builds 345 if [[ -z "$N" ]]; then 346 case $this_script in 347 *linux-headers) 348 TMP_SCRIPT="$this_script" 349 this_script=`echo $this_script | sed -e 's/linux-headers/a-paco/'` 350 wrt_paco_inst "$this_script" 351 this_script="$TMP_SCRIPT" ;; 352 esac 353 fi 354 336 355 # Grab the name of the target 337 356 name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@'` 338 357 … … 398 417 wrt_RunAsRoot "hlfs" "${this_script}" "${file}" 399 418 ;; 400 419 *) # The rest of Chapter06 420 wrt_paco_prep 401 421 wrt_run_as_chroot1 "${this_script}" "${file}" 422 wrt_paco_log "$pkg_tarball" 402 423 ;; 403 424 esac 404 425 # … … 418 439 PREV=${this_script}${N} 419 440 # Set system_build envar for iteration targets 420 441 system_build=$chapter6 442 443 # Reinstall paco after the toolchain has been readjusted. 444 case "${this_script}" in 445 *readjusting) 446 TMP_SCRIPT="$this_script" 447 this_script=`echo $this_script | sed -e 's/readjusting/x-paco/'` 448 wrt_paco_inst "$this_script" 449 this_script="$TMP_SCRIPT" ;; 450 esac 451 421 452 done # end for file in chapter06/* 422 453 423 454 } … … 476 507 else # Initialize the log and run the script 477 508 wrt_run_as_chroot2 "${this_script}" "${file}" 478 509 fi 510 wrt_paco_log "hlfs-sysconf" 479 511 ;; 512 *kernel) wrt_paco_prep 513 wrt_run_as_chroot2 "$this_script" "$file" 514 wrt_paco_log "$(get_package_tarball_name "linux")" 515 ;; 516 *bootscripts) wrt_paco_prep 517 wrt_run_as_chroot2 "$this_script" "$file" 518 wrt_paco_log "$(get_package_tarball_name "lfs-bootscripts")" 519 ;; 480 520 *) # All other scripts 481 521 wrt_run_as_chroot2 "${this_script}" "${file}" 522 wrt_paco_log "hlfs-sysconf" 482 523 ;; 483 524 esac 484 525 -
master.sh
149 149 150 150 --help | -h ) usage | more && exit ;; 151 151 152 --no-paco ) USE_PACO=0 ;; 153 152 154 --optimize | -O ) 153 155 test $# = 1 && eval "$exit_missing_arg" 154 156 shift … … 444 446 [[ $VERBOSITY > 0 ]] && echo "OK" 445 447 fi 446 448 # 449 # paco module 450 if [[ "$USE_PACO" = "1" ]]; then 451 [[ $VERBOSITY > 0 ]] && echo -n "Loading paco module..." 452 source $COMMON_DIR/paco-functions 453 [[ $? > 0 ]] && echo "$COMMON_DIR/paco-functions did not load.." && exit 2 454 [[ $VERBOSITY > 0 ]] && echo "OK" 455 fi 456 # 447 457 # optimize module 448 458 if [[ "$OPTIMIZE" != "0" ]]; then 449 459 [[ $VERBOSITY > 0 ]] && echo -n "Loading optimization module..." … … 490 500 if [[ "$PWD" != "$JHALFSDIR" ]]; then 491 501 cp $COMMON_DIR/{makefile-functions,progress_bar.sh} $JHALFSDIR/ 492 502 # 503 [[ $USE_PACO != "0" ]] && cp $COMMON_DIR/paco-build-$PROGNAME.sh $JHALFSDIR/ 504 # 493 505 [[ "$OPTIMIZE" != "0" ]] && cp optimize/opt_override $JHALFSDIR/ 494 506 # 495 507 if [[ "$COMPARE" != "0" ]] ; then
Note:
See TracBrowser
for help on using the repository browser.