diff --git a/CLFS/master.sh b/CLFS/master.sh index 016caf2..d4a3aae 100755 --- a/CLFS/master.sh +++ b/CLFS/master.sh @@ -5,162 +5,6 @@ ### FUNCTIONS ### ################################### -unset extract_commands -#----------------------------# -extract_commands() { # -#----------------------------# - - #Check for libxslt instead of just letting the script hit 'xsltproc' and fail. - test `type -p xsltproc` || eval "echo \"This feature requires libxslt.\" - exit 1" - - cd $JHALFSDIR - VERSION=`grep "ENTITY version " $BOOK/general.ent | sed 's@@@'` - - # Start clean - if [ -d ${PROGNAME}-commands ]; then - rm -rf ${PROGNAME}-commands - else - mkdir -v ${PROGNAME}-commands - fi - echo "Extracting commands... ${BOLD}START${OFF}" - - echo "${tab_}Extracting commands for ${L_arrow}${BOLD}$ARCH${R_arrow} target architecture" - xsltproc --xinclude \ - --nonet \ - --output ./${PROGNAME}-commands/ \ - $BOOK/stylesheets/dump-commands.xsl $BOOK/$ARCH-index.xml - - # Grab the patches and package names. - cd $JHALFSDIR - - echo "${tab_}Creating the packages and patches files" ; - for i in patches packages ; do rm -f $i ; done - - grep "\-version " $BOOK/packages.ent | sed -e 's@@"@' \ - -e '/generic/d' >> packages - - # Download the vim-lang package if it must be installed - if [ "$VIMLANG" = "1" ] ; then - echo `grep "vim" packages | sed 's@vim@&-lang@'` >> packages - fi - - grep "^<\!ENTITY" $BOOK/patches.ent | sed -e 's/.* "//' -e 's/">//' >> patches - # Needed for Groff patchlevel patch - GROFFLEVEL=`grep "groff-patchlevel" $BOOK/general.ent | sed -e 's/groff-patchlevel //' \ - -e 's/"//g' \ - -e 's@||'` - sed -i 's|&groff-patchlevel;|'$GROFFLEVEL'|' patches - - - # Preprocess the cmd scripts.. - echo "${tab_}Preprocessing the cmd scripts" - # - local file this_script package vrs URLs - # - # Create a list of URLs.. - echo "${tab_}${tab_}Writing a list of URLs to filelist_.wget " - xsltproc --nonet \ - --xinclude \ - -o filelist_.wget \ - $BOOK/stylesheets/wget.xsl \ - $BOOK/$ARCH-index.xml > /dev/null 2>&1 - # - # Loop through all the command scripts - echo "${tab_}${tab_}Modifying the cmd scripts" - for file in `ls ${PROGNAME}-commands/*/*`;do - # - # 1. Compress the script file (remove blank lines) - # 2. Add a variable header and a footer to selected scripts - this_script=`basename $file` - # - # DO NOT play with the chroot scripts.. they are used as is later - [[ `_IS_ $this_script "chroot"` ]] && continue - # - # Strip leading index number and misc test.. This is a miserable method - package=`echo $this_script | sed -e 's@[0-9]\{3\}-@@' \ - -e 's@-static@@' \ - -e 's@-final@@' \ - -e 's@temp-@@' \ - -e 's@-64bit@@' \ - -e 's@-64@@' \ - -e 's@64@@' \ - -e 's@-n32@@' \ - -e 's@-build@@' \ - -e 's@glibc-headers@glibc@'` - # - # Find the package version of the command files - # - # A little package name manipulation - case $package in - bootscripts) package="lfs-bootscripts" ;; - kernel) package="linux" ;; - esac - vrs=`grep "^$package-version" $JHALFSDIR/packages | sed -e 's/.* //' -e 's/"//g'` - # - # If $vrs isn't empty, we've got a package... - # NOTE: The included \n causes the separator to be written - # on the next line. This is for cosmetic purposes only... - # - # Set the appropriate 'sha-bang'.. depending of the phase.. - case $package in - *introduction* | \ - *changingowner* | \ - *creatingdirs* | \ - *createfiles* ) sha_bang='' - ;; - *) sha_bang='#!/bin/bash' - ;; - esac - # - # - if [ "$vrs" != "" ] ; then - HEADER_STR="cd \$PKGDIR${nl_}#------------------" - FOOTER_STR="#------------------${nl_}exit" - else - HEADER_STR="#------------------" - FOOTER_STR="#------------------${nl_}exit" - fi - PKG_URL=`grep -e "$package-$vrs.*tar." $JHALFSDIR/filelist_.wget` && true - PATCHES=`grep "$package-$vrs.*patch" $JHALFSDIR/filelist_.wget` && true - # - # There would be no URL for a cmd only script, reset package name - if [[ $PKG_URL = "" ]]; then - package="" - fi -( -cat << EOF -${sha_bang} -set -e - -##################################### - NAME=${this_script} - PACKAGE=${package} - VERSION=${vrs} - PKG_URL=( ${PKG_URL} ) - PATCHES=( ${PATCHES} ) -##################################### - -${HEADER_STR} -`grep '.' ${file}` -${FOOTER_STR} -EOF -) > tmp.script -mv tmp.script ${file} - - done # for file in `ls $PROGNAME-commands/*/*` - # - # Make the scripts executable. - chmod -R +x $JHALFSDIR/${PROGNAME}-commands - - # Done. Moving on... - echo "Extracting commands... ${BOLD}DONE${OFF}" - get_sources - -} - #----------------------------#