source:
contrib/jhalfs-paco.patch@
33c7b13
Last change on this file since 33c7b13 was 8b7357b, checked in by , 18 years ago | |
---|---|
|
|
File size: 32.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 … … 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
32 32 <!-- Locale settings --> 33 33 <xsl:param name="lang" select="C"/> 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> … … 206 209 <xsl:apply-templates/> 207 210 <xsl:text> || true
</xsl:text> 208 211 </xsl:when> 212 <!-- paco begin --> 213 <!-- General rule --> 214 <xsl:when test="$use_paco != '0' and 215 ancestor::chapter[@id != 'chapter-temporary-tools'] and 216 contains(string(),'make') and 217 contains(string(),'install')"> 218 <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text> 219 <xsl:apply-templates/> 220 <xsl:text>
</xsl:text> 221 </xsl:when> 222 <!-- Linux-libc-headers --> 223 <xsl:when test="$use_paco != '0' and 224 ancestor::sect1[@id='ch-system-linux-libc-headers'] and 225 contains(string(),'install ')"> 226 <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text> 227 <xsl:apply-templates/> 228 <xsl:text>
</xsl:text> 229 </xsl:when> 230 <!-- Unset LD_PRELOAD before second make in Zlib --> 231 <xsl:when test="$use_paco != '0' and 232 ancestor::sect1[@id='ch-system-zlib'] and 233 contains(string(),'make clean')"> 234 <xsl:text>unset LD_PRELOAD
</xsl:text> 235 <xsl:apply-templates/> 236 <xsl:text>
</xsl:text> 237 </xsl:when> 238 <!-- paco end --> 209 239 <!-- The rest of commands --> 210 240 <xsl:otherwise> 211 241 <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
38 38 <!-- Locale settings --> 39 39 <xsl:param name="lang" select="C"/> 40 40 41 <!-- Use paco? --> 42 <xsl:param name="use_paco" select="1"/> 43 41 44 <xsl:template match="/"> 42 45 <xsl:apply-templates select="//sect1"/> 43 46 </xsl:template> … … 99 102 <xsl:text>tar -xvf ../vim-&vim-version;-lang.* --strip-components=1
</xsl:text> 100 103 </xsl:if> 101 104 </xsl:if> 105 <!-- paco begin --> 106 <!-- General rule --> 107 <xsl:if test="$use_paco != '0' and 108 @id='ch-scripts-bootscripts' or 109 @id='ch-scripts-udev-rules' or 110 @id='ch-bootable-kernel' or 111 (../@id='chapter-building-system' and 112 @id!='ch-system-temp-perl' and 113 contains(string(),'make') and 114 contains(string(),'install'))"> 115 <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text> 116 </xsl:if> 117 <!-- Linux headers --> 118 <xsl:if test="$use_paco != '0' and 119 @id='ch-system-linux-headers' and 120 contains(string(),'install')"> 121 <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text> 122 </xsl:if> 123 <!-- paco end --> 102 124 <xsl:apply-templates select=".//para/userinput | .//screen"/> 103 125 <xsl:text>exit</xsl:text> 104 126 </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
86 86 #--- Run farce testing 0(no)/1(yes) 87 87 RUN_FARCE=0 88 88 89 #==== PACO VARIABLES ==== 90 #--- Use paco? 0(no)/1(yes) 91 USE_PACO=1 92 PACO_VERSION=1.10.10 93 94 #--- Name of the Paco source package 95 PACO_FILE=paco-$PACO_VERSION.tar.bz2 # (use .tar.gz if preferred) 96 97 #--- Sourceforge mirror to use for Paco source download 98 # Europe: heanet, belnet, puzzle, surfnet, switch, kent 99 # North America: superb-east, superb-west, umn, easynews 100 # South America: ufpr 101 # Asia: nchc, jaist 102 # Australia: optusnet 103 PACO_MIRROR1=heanet 104 PACO_MIRROR2=kent 105 89 106 #==== INTERNAL VARIABLES ==== 90 107 # Don't edit it unless you know what you are doing 91 108 … … 103 120 104 121 #--- farce report log directory 105 122 FARCELOGDIR=$LOGDIR/farce 123 124 #--- Variables needed by paco 125 PACO_INCLUDE=/ 126 PACO_EXCLUDE=/${SCRIPT_ROOT} 127 PACO_TMPFILE=/tmp/paco.tmp 128 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 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 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 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 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 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 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 … … 732 735 --stringparam page $PAGE \ 733 736 --stringparam lang $LANG \ 734 737 --stringparam keymap $KEYMAP \ 738 --stringparam use_paco $USE_PACO \ 735 739 -o ./${PROGNAME}-commands/ $XSL $BOOK/$ARCH-index.xml >>$LOGDIR/$LOG 2>&1 736 740 ;; 737 741 … … 759 763 --stringparam lc_all $LC_ALL \ 760 764 --stringparam keymap $KEYMAP \ 761 765 --stringparam grsecurity_host $GRSECURITY_HOST \ 766 --stringparam use_paco $USE_PACO \ 762 767 -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1 763 768 ;; 764 769 lfs) … … 770 775 --stringparam timezone $TIMEZONE \ 771 776 --stringparam page $PAGE \ 772 777 --stringparam lang $LANG \ 778 --stringparam use_paco $USE_PACO \ 773 779 -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1 774 780 ;; 775 781 *) exit 1 ;; … … 836 842 # Generate URLs file 837 843 create_urls 838 844 845 # If Paco is to be used, then download the sources 846 get_paco_src 847 839 848 IFS=$'\x0A' # Modify the 'internal field separator' to break on 'LF' only 840 849 for line in `cat urls.lst`; do 841 850 IFS=$saveIFS # Restore the system defaults -
HLFS/hlfs.xsl
39 39 <xsl:param name="lang" select="C"/> 40 40 <xsl:param name="lc_all" 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> … … 177 180 <!-- Fixing bootscripts installation --> 178 181 <xsl:when test="ancestor::sect1[@id='bootable-bootscripts'] and 179 182 string() = 'make install'"> 183 <!-- inserting LD_PRELOAD before installing bootscripts --> 184 <xsl:if test="$use_paco != '0' and $model != 'uclibc'"> 185 <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text> 186 </xsl:if> 180 187 <xsl:text>make install
</xsl:text> 181 188 <xsl:text>cd ../blfs-bootscripts-&blfs-bootscripts-version;
</xsl:text> 182 189 </xsl:when> … … 237 244 <xsl:apply-templates/> 238 245 <xsl:text> || true
</xsl:text> 239 246 </xsl:when> 247 <!-- paco begin --> 248 <!-- General rule --> 249 <xsl:when test="$use_paco != '0' and $model != 'uclibc' and 250 ancestor::chapter[@id != 'chapter-temporary-tools'] and 251 contains(string(),'make') and 252 contains(string(),'install')"> 253 <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text> 254 <xsl:apply-templates/> 255 <xsl:text>
</xsl:text> 256 </xsl:when> 257 <!-- Linux-libc-headers --> 258 <xsl:when test="$use_paco != '0' and $model != 'uclibc' and 259 ancestor::sect1[@id='ch-system-linux-headers'] and 260 contains(string(),'install ')"> 261 <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so
</xsl:text> 262 <xsl:apply-templates/> 263 <xsl:text>
</xsl:text> 264 </xsl:when> 265 <!-- paco end --> 240 266 <!-- The rest of commands --> 241 267 <xsl:otherwise> 242 268 <xsl:apply-templates/> -
HLFS/master.sh
76 76 @echo "export PKGDIR=\$(SRC)" > envars 77 77 EOF 78 78 ) >> $MKFILE.tmp 79 wrt_paco_prep 79 80 wrt_run_as_chroot1 "$toolchain" "$this_script" 81 wrt_paco_log "`echo $toolchain | sed -e 's@[0-9]\{3\}-@@'`" 80 82 ;; 81 83 82 84 *) … … 308 310 # Keep the script file name 309 311 this_script=`basename $file` 310 312 313 # If this script is *-paco, then skip it 314 case $this_script in 315 *paco ) continue ;; 316 esac 317 311 318 # Skip this script depending on jhalfs.conf flags set. 312 319 case $this_script in 313 320 # We'll run the chroot commands differently than the others, so skip them in the … … 317 324 *-stripping* ) [[ "$STRIP" = "0" ]] && continue ;; 318 325 esac 319 326 327 # Install paco as the first package in ch6, before installing 328 # linux-libc-headers, except in iterartive builds 329 if [[ -z "$N" ]]; then 330 case $this_script in 331 *linux-headers) 332 TMP_SCRIPT="$this_script" 333 this_script=`echo $this_script | sed -e 's/linux-headers/a-paco/'` 334 wrt_paco_inst "$this_script" 335 this_script="$TMP_SCRIPT" ;; 336 esac 337 fi 338 320 339 # Grab the name of the target 321 340 name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@'` 322 341 … … 382 401 wrt_RunAsRoot "hlfs" "${this_script}" "${file}" 383 402 ;; 384 403 *) # The rest of Chapter06 404 wrt_paco_prep 385 405 wrt_run_as_chroot1 "${this_script}" "${file}" 406 wrt_paco_log "$pkg_tarball" 386 407 ;; 387 408 esac 388 409 # … … 402 423 PREV=${this_script}${N} 403 424 # Set system_build envar for iteration targets 404 425 system_build=$chapter6 426 427 # Reinstall paco after the toolchain has been readjusted. 428 case "${this_script}" in 429 *readjusting) 430 TMP_SCRIPT="$this_script" 431 this_script=`echo $this_script | sed -e 's/readjusting/x-paco/'` 432 wrt_paco_inst "$this_script" 433 this_script="$TMP_SCRIPT" ;; 434 esac 435 405 436 done # end for file in chapter06/* 406 437 407 438 } … … 460 491 else # Initialize the log and run the script 461 492 wrt_run_as_chroot2 "${this_script}" "${file}" 462 493 fi 494 wrt_paco_log "hlfs-sysconf" 463 495 ;; 496 *kernel) wrt_paco_prep 497 wrt_run_as_chroot2 "$this_script" "$file" 498 wrt_paco_log "$(get_package_tarball_name "linux")" 499 ;; 500 *bootscripts) wrt_paco_prep 501 wrt_run_as_chroot2 "$this_script" "$file" 502 wrt_paco_log "$(get_package_tarball_name "lfs-bootscripts")" 503 ;; 464 504 *) # All other scripts 465 505 wrt_run_as_chroot2 "${this_script}" "${file}" 506 wrt_paco_log "hlfs-sysconf" 466 507 ;; 467 508 esac 468 509 -
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.