source: contrib/jhalfs-paco.patch@ d748b31

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

Updated paco patch.

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

     
    188188    # and not to use chroot.
    189189    case "${this_script}" in
    190190      *kernfs)  wrt_run_as_root    "${this_script}" "$file" ;;
    191       *)        wrt_run_as_chroot1 "${this_script}" "$file" ;;
     191      *)        wrt_paco_prep
     192                wrt_run_as_chroot1 "${this_script}" "$file"
     193                wrt_paco_log "$name" "$vrs" ;;
    192194    esac
    193195
    194196    # Remove the build directory(ies) except if the package build fails.
     
    206208
    207209    # Keep the script file name for Makefile dependencies.
    208210    PREV=${this_script}
     211
     212    # Inserting paco build commands
     213    case "${this_script}" in
     214      *devices)      wrt_paco_inst "065.5" ;;
     215      *readjusting)  wrt_paco_inst "069.5" ;;
     216    esac
     217
    209218  done # end for file in chapter06/*
    210219}
    211220
     
    267276                wrt_run_as_chroot2 "$this_script" "$file"
    268277              fi
    269278        ;;
     279      *kernel)       wrt_paco_prep
     280                     wrt_run_as_chroot2 "$this_script" "$file"
     281                     wrt_paco_log "linux-kernel" "$vrs"
     282        ;;
     283      *bootscripts)  wrt_paco_prep
     284                     wrt_run_as_chroot2 "$this_script" "$file"
     285                     wrt_paco_log "lfs-bootscripts" "$vrs"
     286        ;;
    270287      *)        wrt_run_as_chroot2 "$this_script" "$file"
    271288        ;;
    272289    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

     
    8585inline_doc
    8686
    8787  # 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"
    9292
    9393  local -r ERROR_MSG_pt1='The variable \"${L_arrow}${config_param}${R_arrow}\" value ${L_arrow}${BOLD}${!config_param}${R_arrow} is invalid,'
    9494  local -r ERROR_MSG_pt2=' check the config file ${BOLD}${GREEN}\<$(echo $PROGNAME | tr [a-z] [A-Z])/config\> or \<common/config\>${OFF}'
     
    130130            continue  ;;
    131131        TIMEZONE)  continue;;
    132132        MKFILE)    continue;;
     133        USE_PACO)  validation_str="x0x x1x";          validate_str; continue ;;
    133134        HPKG)      validation_str="x0x x1x";          validate_str; continue ;;
    134135        RUNMAKE)   validation_str="x0x x1x";          validate_str; continue ;;
    135136        TEST)      validation_str="x0x x1x x2x x3x";  validate_str; continue ;;
  • 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/paco-functions

    Property changes on: common/paco-build.sh
    ___________________________________________________________________
    Name: svn:keywords
       + Author Date Revision Id
    
     
     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  name="paco"
     17  this_script="$1-$name"
     18  file="chapter06/$this_script"
     19  chapter6="$chapter6 $this_script"
     20
     21  # Write target, dependency and unpack
     22  wrt_target "$this_script" "$PREV"
     23  wrt_unpack2 "$PACO_FILE"
     24
     25  # Copy the paco build script to the correct directory and make it executable
     26  echo -e "\t@cp $JHALFSDIR/paco-build.sh $JHALFSDIR/${PROGNAME}-commands/$file && \\" >> $MKFILE.tmp
     27  echo -e "\tchmod +x $JHALFSDIR/${PROGNAME}-commands/$file" >> $MKFILE.tmp
     28
     29  # Run the script
     30  wrt_run_as_chroot1 "${this_script}" "${file}"
     31
     32  # Clean up
     33  wrt_remove_build_dirs "$name"
     34  echo -e '\t@touch $@' >> $MKFILE.tmp
     35
     36  # Override the PREV variable
     37  PREV="$this_script"
     38fi
     39}
     40
     41
     42#----------------------------------#
     43wrt_paco_prep() {                  # Export Paco variables
     44#----------------------------------# and remove tmpfile
     45
     46# Not using Paco with uClibc, even if requested
     47if [ $PROGNAME = "hlfs" ]; then
     48  if [ $MODEL = "uclibc" ]; then
     49    $USE_PACO = 0
     50  fi
     51fi
     52
     53if [ $USE_PACO != 0 ] && [ "$vrs" != "" ]; then
     54(
     55cat  << EOF
     56        @echo "export PACO_INCLUDE=$PACO_INCLUDE" >> envars && \\
     57        echo "export PACO_EXCLUDE=\$(SRC):$JHALFSDIR:$PACO_EXCLUDE" >> envars && \\
     58        echo "export PACO_TMPFILE=$PACO_TMPFILE" >> envars && \\
     59        rm -f \$(MOUNT_PT)$PACO_TMPFILE
     60EOF
     61) >> $MKFILE.tmp
     62fi
     63}
     64
     65
     66#----------------------------------#
     67wrt_paco_log() {                   # If the tmpfile exist, then log the current package
     68#----------------------------------# and remove tempfile
     69local PACKAGE
     70
     71# Allow packages to be logged without version
     72if [[ $2 != "" ]] ; then
     73  PACKAGE="$1-$2";
     74else
     75  PACKAGE="$1"
     76fi
     77
     78# Not using Paco with uClibc, even if requested
     79if [ $PROGNAME = "hlfs" ]; then
     80  if [ $MODEL = "uclibc" ]; then
     81    $USE_PACO = 0
     82  fi
     83fi
     84
     85if [ $USE_PACO != 0 ] && [ "$vrs" != "" ]; then
     86(
     87cat << EOF
     88        @if [ -e \$(MOUNT_PT)$PACO_TMPFILE ]; then \\
     89                \$(CHROOT1) 'paco -lp $PACKAGE < $PACO_TMPFILE' && \\
     90                rm -f \$(MOUNT_PT)$PACO_TMPFILE; \\
     91        fi;
     92EOF
     93) >> $MKFILE.tmp
     94fi
     95}
     96
     97
     98#----------------------------------#
     99wrt_paco_log_blfs() {              # If the tmpfile exist, then log the current package
     100#----------------------------------# and remove tempfile
     101if [ $USE_PACO != 0 ] ; then
     102(
     103cat << EOF
     104        @PACKAGE=\`head -n1 /tmp/unpacked | sed 's@^./@@;s@/.*@@'\` && \\
     105        if [ -e $PACO_TMPFILE ]; then \\
     106                paco -lp \$\$PACKAGE < $PACO_TMPFILE && \\
     107                rm -f $PACO_TMPFILE; \\
     108        fi;
     109EOF
     110) >> $MKFILE
     111fi
     112}
     113
  • common/common-functions

    Property changes on: common/paco-functions
    ___________________________________________________________________
    Name: svn:keywords
       + Author Date Revision Id
    
     
    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

     
    376376        wrt_run_as_root "${this_script}" "${file}"
    377377        ;;
    378378      *)   # The rest of Chapter06
     379        wrt_paco_prep
    379380        wrt_run_as_chroot1 "${this_script}" "${file}"
     381        wrt_paco_log "$name" "$vrs"
    380382       ;;
    381383    esac
    382384    #
     
    407409
    408410    # Keep the script file name for Makefile dependencies.
    409411    PREV=$this_script
     412
     413    # Inserting paco build commands
     414    case "${this_script}" in
     415      *devices)      wrt_paco_inst "068.5" ;;
     416      *readjusting)  wrt_paco_inst "073.5" ;;
     417    esac
     418
    410419  done # end for file in chapter06/*
    411420
    412421}
     
    469478          wrt_run_as_chroot2 "${this_script}" "${file}"
    470479        fi
    471480        ;;
     481      *kernel)       wrt_paco_prep
     482                     wrt_run_as_chroot2 "$this_script" "$file"
     483                     version=`grep "^linux-version" $JHALFSDIR/packages | sed -e 's/.* //' -e 's/"//g'`
     484                     wrt_paco_log "linux-kernel" "$version"
     485        ;;
     486      *bootscripts)  wrt_paco_prep
     487                     wrt_run_as_chroot2 "$this_script" "$file"
     488                     wrt_paco_log "hlfs-bootscripts"
     489        ;;
    472490      *)  # All other scripts
    473491        wrt_run_as_chroot2 "${this_script}" "${file}"
    474492        ;;
  • 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
     
    146151
    147152    --help | -h )  usage | more && exit  ;;
    148153
     154    --no-paco )            USE_PACO=0    ;;
     155
    149156    --testsuites | -T )
    150157      test $# = 1 && eval "$exit_missing_arg"
    151158      shift
     
    455462
    456463if [[ "$PWD" != "$JHALFSDIR" ]]; then
    457464  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
    458474  if [[ -n "$FILES" ]]; then
    459475    # pushd/popd necessary to deal with mulitiple files
    460476    pushd $PACKAGE_DIR 1> /dev/null
Note: See TracBrowser for help on using the repository browser.