source: contrib/jhalfs-paco.patch@ a167246

1.0 2.3 2.3.x 2.4 ablfs ablfs-more legacy new_features trunk
Last change on this file since a167246 was 34d4860, checked in by Manuel Canales Esparcia <manuel@…>, 19 years ago

Redified paco patch to apply cleanly against current trunk code.

  • Property mode set to 100644
File size: 17.4 KB
  • LFS/master.sh

     
    158158      *stripping*) [[ "${STRIP}" = "0" ]] && continue ;;
    159159    esac
    160160
     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
    161168    # First append each name of the script files to a list (this will become
    162169    # the names of the targets in the Makefile
    163170    chapter6="$chapter6 ${this_script}"
     
    188195    # and not to use chroot.
    189196    case "${this_script}" in
    190197      *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" ;;
    192201    esac
    193202
    194203    # Remove the build directory(ies) except if the package build fails.
     
    206215
    207216    # Keep the script file name for Makefile dependencies.
    208217    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
    209226  done # end for file in chapter06/*
    210227}
    211228
     
    267284                wrt_run_as_chroot2 "$this_script" "$file"
    268285              fi
    269286        ;;
     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        ;;
    270295      *)        wrt_run_as_chroot2 "$this_script" "$file"
    271296        ;;
    272297    esac
  • LFS/lfs.xsl

     
    3232  <!-- Locale settings -->
    3333  <xsl:param name="lang" select="en_CA"/>
    3434
     35  <!-- Use paco? -->
     36  <xsl:param name="use_paco" select="1"/>
     37
    3538  <xsl:template match="/">
    3639    <xsl:apply-templates select="//sect1"/>
    3740  </xsl:template>
     
    190193        <xsl:apply-templates/>
    191194        <xsl:text> || true&#xA;</xsl:text>
    192195      </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&#xA;</xsl:text>
     203        <xsl:apply-templates/>
     204        <xsl:text>&#xA;</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&#xA;</xsl:text>
     211        <xsl:apply-templates/>
     212        <xsl:text>&#xA;</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&#xA;</xsl:text>
     219        <xsl:apply-templates/>
     220        <xsl:text>&#xA;</xsl:text>
     221      </xsl:when>
     222      <!-- paco end -->
    193223      <!-- The rest of commands -->
    194224      <xsl:otherwise>
    195225        <xsl:apply-templates/>
  • BLFS/master.sh

     
    7979EOF
    8080) >> $MKFILE
    8181
     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
     90EOF
     91) >> $MKFILE
     92    wrt_paco_log_blfs
     93
     94    else
    8295    # Insert date and disk usage at the top of the log file, the script run
    8396    # and date and disk usage again at the bottom of the log file.
    8497(
  • BLFS/blfs.xsl

     
    159159        <xsl:when test="@role = 'nodump'"/>
    160160        <xsl:otherwise>
    161161          <xsl:if test="@role = 'root'">
    162             <xsl:text>sudo </xsl:text>
     162            <xsl:text>export LD_PRELOAD=/usr/lib/libpaco-log.so&#xA;</xsl:text>
    163163          </xsl:if>
    164164          <xsl:apply-templates select="userinput" mode="screen"/>
    165165        </xsl:otherwise>
  • common/config

     
    5858#    Not used in LFS
    5959KEYMAP=none
    6060
     61
     62#==== PACO VARIABLES ====
     63#--- Use paco? 0/1 0(no)/1(yes)
     64USE_PACO=1
     65PACO_VERSION=1.10.4
     66
     67#--- Name of the Paco source package
     68PACO_FILE=paco-$PACO_VERSION.tar.*
     69
     70#--- Variables needed
     71# Don't change unless you know what you're doing
     72PACO_INCLUDE=/
     73PACO_EXCLUDE=/sys:/dev:/proc:/tmp:/usr/src:/usr/share/info/dir
     74PACO_TMPFILE=/tmp/paco.tmp
     75LD_PRELOAD=/usr/lib/libpaco-log.so
     76
     77
    6178#=== Variables needed by ICA (Not implemented yet :-/)===
    6279#--- Run ICA testing 0/1  0(no)/1(yes)
    6380RUN_ICA=0
  • common/func_validate_configs.sh

     
    8383inline_doc
    8484
    8585  # First internal variables, then the ones that change the book's flavour, and lastly system configuration variables
    86   local -r blfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE HPKG          DEPEND               TEST"
    87   local -r hlfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE HPKG RUNMAKE MODEL GRSECURITY_HOST TEST STRIP FSTAB             CONFIG KEYMAP         PAGE TIMEZONE LANG LC_ALL"
    88   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"
    89   local -r  lfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE HPKG RUNMAKE                       TEST STRIP FSTAB             CONFIG        VIMLANG PAGE TIMEZONE LANG"
     86  local -r blfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO HPKG          DEPEND               TEST"
     87  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"
     88  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"
     89  local -r  lfs_PARAM_LIST="BOOK BUILDDIR SRC_ARCHIVE USE_PACO HPKG RUNMAKE                       TEST STRIP FSTAB             CONFIG        VIMLANG PAGE TIMEZONE LANG"
    9090
    9191  local -r ERROR_MSG_pt1='The variable \"${L_arrow}${config_param}${R_arrow}\" value ${L_arrow}${BOLD}${!config_param}${R_arrow} is invalid,'
    9292  local -r ERROR_MSG_pt2=' check the config file ${BOLD}${GREEN}\<$(echo $PROGNAME | tr [a-z] [A-Z])/config\> or \<common/config\>${OFF}'
     
    128128            continue  ;;
    129129        TIMEZONE)  continue;;
    130130        MKFILE)    continue;;
     131        USE_PACO)  validation_str="x0x x1x";          validate_str; continue ;;
    131132        HPKG)      validation_str="x0x x1x";          validate_str; continue ;;
    132133        RUNMAKE)   validation_str="x0x x1x";          validate_str; continue ;;
    133134        TEST)      validation_str="x0x x1x x2x x3x";  validate_str; continue ;;
  • common/paco-functions

     
     1#!/bin/bash
     2
     3
     4#----------------------------#
     5wrt_paco_inst() {            #
     6#----------------------------#
     7
     8# Not using Paco with uClibc, even if requested
     9if [ $PROGNAME = "hlfs" ]; then
     10  if [ $MODEL = "uclibc" ]; then
     11    USE_PACO=0
     12  fi
     13fi
     14
     15if [ $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"
     37fi
     38}
     39
     40
     41#----------------------------------#
     42wrt_paco_prep() {                  # Export Paco variables
     43#----------------------------------# and remove tmpfile
     44
     45# Not using Paco with uClibc, even if requested
     46if [ $PROGNAME = "hlfs" ]; then
     47  if [ $MODEL = "uclibc" ]; then
     48    USE_PACO=0
     49  fi
     50fi
     51
     52if [ $USE_PACO != 0 ] && [ "$vrs" != "" ]; then
     53(
     54cat  << 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
     59EOF
     60) >> $MKFILE.tmp
     61fi
     62}
     63
     64
     65#----------------------------------#
     66wrt_paco_log() {                   # If the tmpfile exist, then log the current package
     67#----------------------------------# and remove tempfile
     68local PACKAGE
     69
     70# Allow packages to be logged without version
     71if [[ $2 != "" ]] ; then
     72  PACKAGE="$1-$2";
     73else
     74  PACKAGE="$1"
     75fi
     76
     77# Not using Paco with uClibc, even if requested
     78if [ $PROGNAME = "hlfs" ]; then
     79  if [ $MODEL = "uclibc" ]; then
     80    USE_PACO=0
     81  fi
     82fi
     83
     84if [ $USE_PACO != 0 ] && [ "$vrs" != "" ]; then
     85(
     86cat << 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;
     91EOF
     92) >> $MKFILE.tmp
     93fi
     94}
     95
     96
     97#----------------------------------#
     98wrt_paco_log_blfs() {              # If the tmpfile exist, then log the current package
     99#----------------------------------# and remove tempfile
     100if [ $USE_PACO != 0 ] ; then
     101(
     102cat << 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;
     108EOF
     109) >> $MKFILE
     110fi
     111}
     112
  • common/paco-build.sh

     
     1#!/bin/sh
     2set -e
     3
     4cd $PKGDIR
     5./configure --disable-gpaco \
     6        --sysconfdir=/etc &&
     7make &&
     8make install &&
     9make logme
  • common/common-functions

     
    6060        in the configuration file has the proper packages and patches for the
    6161        book version being processed.
    6262
     63${BOLD}  --no-paco${OFF}
     64        dissables paco logging feature.
     65
    6366${BOLD}  -T, --testsuites N ${OFF}
    6467        Run test suites  [0-3]
    6568          0 = none
     
    623626                 --stringparam lc_all $LC_ALL \
    624627                 --stringparam keymap $KEYMAP \
    625628                 --stringparam grsecurity_host $GRSECURITY_HOST \
     629                 --stringparam use_paco $USE_PACO \
    626630                 -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1
    627631      ;;
    628632    lfs)
     
    634638                 --stringparam timezone $TIMEZONE \
    635639                 --stringparam page $PAGE \
    636640                 --stringparam lang $LANG \
     641                 --stringparam use_paco $USE_PACO \
    637642                 -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1
    638643      ;;
    639644    blfs)
  • HLFS/hlfs.xsl

     
    3939  <xsl:param name="lang" select="en_CA"/>
    4040  <xsl:param name="lc_all" select="en_CA"/>
    4141
     42  <!-- Use paco? -->
     43  <xsl:param name="use_paco" select="1"/>
     44
    4245  <xsl:template match="/">
    4346    <xsl:apply-templates select="//sect1"/>
    4447  </xsl:template>
     
    191194      <!-- Fixing bootscripts installation -->
    192195      <xsl:when test="ancestor::sect1[@id='bootable-bootscripts'] and
    193196                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&#xA;</xsl:text>
     200        </xsl:if>
    194201        <xsl:text>make install&#xA;</xsl:text>
    195202        <xsl:text>cd ../blfs-bootscripts-&blfs-bootscripts-version;&#xA;</xsl:text>
    196203      </xsl:when>
     
    248255        <xsl:apply-templates/>
    249256        <xsl:text> || true&#xA;</xsl:text>
    250257      </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&#xA;</xsl:text>
     265        <xsl:apply-templates/>
     266        <xsl:text>&#xA;</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&#xA;</xsl:text>
     273        <xsl:apply-templates/>
     274        <xsl:text>&#xA;</xsl:text>
     275      </xsl:when>
     276      <!-- paco end -->
    251277      <!-- The rest of commands -->
    252278      <xsl:otherwise>
    253279        <xsl:apply-templates/>
  • HLFS/master.sh

     
    318318      *) ;;
    319319    esac
    320320
     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
    321328    # First append each name of the script files to a list (this will become
    322329    # the names of the targets in the Makefile
    323330    chapter6="$chapter6 $this_script"
     
    376383        wrt_run_as_root "${this_script}" "${file}"
    377384        ;;
    378385      *)   # The rest of Chapter06
     386        wrt_paco_prep
    379387        wrt_run_as_chroot1 "${this_script}" "${file}"
     388        wrt_paco_log "$name" "$vrs"
    380389       ;;
    381390    esac
    382391    #
     
    407416
    408417    # Keep the script file name for Makefile dependencies.
    409418    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
    410427  done # end for file in chapter06/*
    411428
    412429}
     
    469486          wrt_run_as_chroot2 "${this_script}" "${file}"
    470487        fi
    471488        ;;
     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        ;;
    472498      *)  # All other scripts
    473499        wrt_run_as_chroot2 "${this_script}" "${file}"
    474500        ;;
  • master.sh

     
    6666source $MODULE
    6767[[ $? > 0 ]] && echo "$MODULE did not load.." && exit 2
    6868[[ $VERBOSITY > 0 ]] && echo "OK"
     69# Load paco-functions
     70[[ $VERBOSITY > 0 ]] && echo -n "Loading paco module..."
     71source $COMMON_DIR/paco-functions
     72[[ $? > 0 ]] && echo "$COMMON_DIR/paco-functions did not load.." && exit 2
     73[[ $VERBOSITY > 0 ]] && echo "OK"
    6974#
    7075[[ $VERBOSITY > 0 ]] && echo "---------------${nl_}"
    7176
     
    149154
    150155    --help | -h )  usage | more && exit  ;;
    151156
     157    --no-paco )            USE_PACO=0    ;;
     158
    152159    --testsuites | -T )
    153160      test $# = 1 && eval "$exit_missing_arg"
    154161      shift
     
    454461
    455462if [[ "$PWD" != "$JHALFSDIR" ]]; then
    456463  cp $COMMON_DIR/makefile-functions $JHALFSDIR/
     464  if [[ $USE_PACO != "0" ]] ; then
     465    if [[ $PROGNAME != "blfs" ]]; then
     466      cp $COMMON_DIR/paco-build.sh $JHALFSDIR/
     467    else
     468      echo -e "export PACO_INCLUDE=$PACO_INCLUDE" > $JHALFSDIR/pacovars
     469      echo -e "export PACO_EXCLUDE=~/sources:$JHALFSDIR:$PACO_EXCLUDE" >> $JHALFSDIR/pacovars
     470      echo -e "export PACO_TMPFILE=$PACO_TMPFILE" >> $JHALFSDIR/pacovars
     471    fi
     472  fi
    457473  if [[ -n "$FILES" ]]; then
    458474    # pushd/popd necessary to deal with mulitiple files
    459475    pushd $PACKAGE_DIR 1> /dev/null
Note: See TracBrowser for help on using the repository browser.