r2328 - in jhalfs/branches/experimental: . BLFS CLFS HLFS LFS common

georgeb at linuxfromscratch.org georgeb at linuxfromscratch.org
Thu Mar 9 17:44:56 PST 2006


Author: georgeb
Date: 2006-03-09 18:44:55 -0700 (Thu, 09 Mar 2006)
New Revision: 2328

Modified:
   jhalfs/branches/experimental/BLFS/config
   jhalfs/branches/experimental/CLFS/config
   jhalfs/branches/experimental/HLFS/config
   jhalfs/branches/experimental/LFS/config
   jhalfs/branches/experimental/LFS/master.sh
   jhalfs/branches/experimental/common/common-functions
   jhalfs/branches/experimental/common/config
   jhalfs/branches/experimental/common/func_check_version.sh
   jhalfs/branches/experimental/common/func_validate_configs.sh
   jhalfs/branches/experimental/master.sh
Log:
Adjusting scripts to new structure. Added jhalfs trunk changes. Will now create a lfs makefile.

Modified: jhalfs/branches/experimental/BLFS/config
===================================================================
--- jhalfs/branches/experimental/BLFS/config	2006-03-09 22:23:47 UTC (rev 2327)
+++ jhalfs/branches/experimental/BLFS/config	2006-03-10 01:44:55 UTC (rev 2328)
@@ -5,6 +5,7 @@
 # $Id$
 #
 #####
+declare -r FTP=ftp://ftp.linuxfromscratch.org/pub/blfs/conglomeration
 
 #--- Book's sources directory
 # If you have previously checked out the book from the repository
@@ -27,6 +28,6 @@
 # Don't edit it unless you know what you are doing
 
 #--- Default stylesheet
-   XSL=dump-blfs-scripts.xsl
+   XSL=blfs.xsl
 MKFILE=$JHALFSDIR/blfs-Makefile
 

Modified: jhalfs/branches/experimental/CLFS/config
===================================================================
--- jhalfs/branches/experimental/CLFS/config	2006-03-09 22:23:47 UTC (rev 2327)
+++ jhalfs/branches/experimental/CLFS/config	2006-03-10 01:44:55 UTC (rev 2328)
@@ -2,17 +2,18 @@
 #
 # Configuration file for the CLFS module
 #
+# $Id$
+#
 #####
+declare -r FTP=ftp://ftp.linuxfromscratch.org/pub/lfs/conglomeration
 
-declare -r HTTP=http://ftp.lfs-matrix.net/pub/clfs/conglomeration
-
 #--- Which target architecture, 
 #    used to select proper book and set TARGETS
 #--------------------------------
 TARGET32=""
 TARGET=
 # >>>> 32-32 BUILD <<<<
-# ARCH=x86 ;     TARGET="i486-pc-linux-gnu"
+ ARCH=x86 ;     TARGET="i486-pc-linux-gnu"
 # ARCH=x86 ;     TARGET="i586-pc-linux-gnu"
 # ARCH=x86 ;     TARGET="i686-pc-linux-gnu"
 # ARCH=ppc ;     TARGET="powerpc-unknown-linux-gnu"  
@@ -22,7 +23,7 @@
 # ARCH=sparcv8 ; TARGET="sparc-unknown-linux-gnu"    
 #--------------------------------
 # >>>> 64-64 BUILD <<<<
- ARCH=x86_64-64  ; TARGET="x86_64-unknown-linux-gnu"   
+# ARCH=x86_64-64  ; TARGET="x86_64-unknown-linux-gnu"   
 # ARCH=mips64-64  ; TARGET="mipsel-unknown-linux-gnu"
 # ARCH=mips64-64  ; TARGET="mis-unknown-linux-gnu"
 # ARCH=sparc64-64 ; TARGET="sparc64-unknown-linux-gnu"  
@@ -39,11 +40,11 @@
 BOOTMINIMAL=1
 
 #--- Location of fstab file (if empty, a template is created)
-FSTAB=$BUILDDIR/sources/fstab
+FSTAB=
 
 #--- Location of kernel config file (if the kernel is to be compiled)
 #--- This file MUST reside in the sources directory
-CONFIG=$BUILDDIR/sources/linux-2.6.15.1-x86_64.config
+CONFIG=
 
 #--- Book's sources directory
 # If you have previously checked out the book from the repository
@@ -56,7 +57,7 @@
 FILES=""
 
 #--- Default stylesheet
-XSL=dump-clfs-scripts.xsl
+XSL=clfs.xsl
 
 #--- Book version
 LFSVRS=development

Modified: jhalfs/branches/experimental/HLFS/config
===================================================================
--- jhalfs/branches/experimental/HLFS/config	2006-03-09 22:23:47 UTC (rev 2327)
+++ jhalfs/branches/experimental/HLFS/config	2006-03-10 01:44:55 UTC (rev 2328)
@@ -2,8 +2,10 @@
 #
 # Configuration file for the HLFS module
 #
+# $Id$
+#
 #####
-declare -r HTTP=http://ftp.lfs-matrix.net/pub/hlfs/conglomeration
+declare -r FTP=ftp://ftp.linuxfromscratch.org/pub/lfs/conglomeration
 
 #--- Which library model to use uclibc/glibc
 MODEL=glibc
@@ -12,10 +14,10 @@
 GRSECURITY_HOST=0
 
 #--- Location of fstab file (if empty, a template is created)
-FSTAB=$BUILDDIR/sources/fstab
+FSTAB=
 
 #--- Location of kernel config file (if the kernel is to be compiled)
-CONFIG=$BUILDDIR/sources/linux-2.6.14.6-HLFS.config
+CONFIG=
 
 #--- Book's sources directory
 # If you have previously checked out the book from the repository
@@ -25,10 +27,10 @@
 # Don't edit it unless you know what you are doing
 
 #--- Files that will be copied to $JHAHLFSDIR
-FILES="dump-hlfs-scripts.xsl hlfs-patcheslist_.xsl"
+FILES="hlfs-patcheslist_.xsl"
 
 #--- Default stylesheet
-XSL=dump-hlfs-scripts.xsl
+XSL=hlfs.xsl
 
 #--- Book version
 LFSVRS=development

Modified: jhalfs/branches/experimental/LFS/config
===================================================================
--- jhalfs/branches/experimental/LFS/config	2006-03-09 22:23:47 UTC (rev 2327)
+++ jhalfs/branches/experimental/LFS/config	2006-03-10 01:44:55 UTC (rev 2328)
@@ -5,13 +5,13 @@
 # $Id$
 #
 #####
-declare -r HTTP=http://ftp.lfs-matrix.net/pub/lfs/conglomeration
+declare -r FTP=ftp://ftp.linuxfromscratch.org/pub/lfs/conglomeration
 
 #--- Location of fstab file (if empty, a template is created)
-FSTAB=$BUILDDIR/sources/fstab
+FSTAB=
 
 #--- Location of kernel config file (if the kernel is to be compiled)
-CONFIG=$PWD/config_files/linux-2.6.15.1-LFS.config
+CONFIG=
 
 #--- Book's sources directory
 # If you have previously checked out the book from the repository
@@ -24,7 +24,7 @@
 FILES=""
 
 #--- Default stylesheet
-XSL=dump-lfs-scripts.xsl
+XSL=lfs.xsl
 
 #--- Book version
 LFSVRS=development

Modified: jhalfs/branches/experimental/LFS/master.sh
===================================================================
--- jhalfs/branches/experimental/LFS/master.sh	2006-03-09 22:23:47 UTC (rev 2327)
+++ jhalfs/branches/experimental/LFS/master.sh	2006-03-10 01:44:55 UTC (rev 2328)
@@ -11,6 +11,7 @@
 #----------------------------#
 chapter4_Makefiles() {
 #----------------------------#
+  echo -e "\n${tab_}${GREEN}Processing... ${L_arrow}Chapter4${R_arrow}"
 
 # If /home/lfs is already present in the host, we asume that the
 # lfs user and group are also presents in the host, and a backup
@@ -61,12 +62,14 @@
 #----------------------------#
 chapter5_Makefiles() {
 #----------------------------#
+  echo "${tab_}${GREEN}Processing... ${L_arrow}Chapter5${R_arrow}"
+
   for file in chapter05/* ; do
     # Keep the script file name
     this_script=`basename $file`
 
     # If no testsuites will be run, then TCL, Expect and DejaGNU aren't needed
-    if [ "$TOOLCHAINTEST" = "0" ]; then
+    if [ "$TEST" = "0" ]; then
       if [[ `_IS_ ${this_script} tcl` ]] || [[ `_IS_ ${this_script} expect` ]] || [[ `_IS_ ${this_script} dejagnu` ]] ; then
         continue
       fi
@@ -77,11 +80,6 @@
       continue
     fi
 
-# NOTE Replace with xsl work...
-    if [[ `_IS_ $this_script adjusting` ]]; then
-      sed '/cd $PKGDIR/d' -i chapter05/$this_script
-    fi
-
     # First append each name of the script files to a list (this will become
     # the names of the targets in the Makefile
     chapter5="$chapter5 ${this_script}"
@@ -137,6 +135,7 @@
 #----------------------------#
 chapter6_Makefiles() {
 #----------------------------#
+  echo "${tab_}${GREEN}Processing... ${L_arrow}Chapter6${R_arrow}"
   for file in chapter06/* ; do
     # Keep the script file name
     this_script=`basename $file`
@@ -152,11 +151,6 @@
       continue
     fi
 
-# NOTE Replace with xsl work...
-    if [[ `_IS_ $this_script adjusting` ]]; then
-      sed '/cd $PKGDIR/d' -i chapter06/$this_script
-    fi
-
     # First append each name of the script files to a list (this will become
     # the names of the targets in the Makefile
     chapter6="$chapter6 ${this_script}"
@@ -210,6 +204,7 @@
 #----------------------------#
 chapter789_Makefiles() {
 #----------------------------#
+  echo "${tab_}${GREEN}Processing... ${L_arrow}Chapter6/7/8${R_arrow}"
   for file in chapter0{7,8,9}/* ; do
     # Keep the script file name
     this_script=`basename $file`

Modified: jhalfs/branches/experimental/common/common-functions
===================================================================
--- jhalfs/branches/experimental/common/common-functions	2006-03-09 22:23:47 UTC (rev 2327)
+++ jhalfs/branches/experimental/common/common-functions	2006-03-10 01:44:55 UTC (rev 2328)
@@ -637,7 +637,6 @@
                   --xinclude \
                   --stringparam model $MODEL \
                   --stringparam testsuite $TEST \
-                  --stringparam toolchaintest $TOOLCHAINTEST \
                   --stringparam vim-lang $VIMLANG \
                   -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1
       ;;
@@ -646,7 +645,6 @@
         xsltproc --nonet \
                  --xinclude \
                  --stringparam testsuite $TEST \
-                 --stringparam toolchaintest $TOOLCHAINTEST \
                  --stringparam vim-lang $VIMLANG \
                  -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1
       ;;
@@ -700,9 +698,8 @@
 #----------------------------#
   cd $BUILDDIR/sources
 
-  # Hackish fix for the bash-doc, glibc-{linuxthreads,libidn} and
-  # module-init-tools-testsuite packages that don't conform to
-  # norms in the URL scheme.
+  # Hackish fix for the bash-doc, glibc-{linuxthreads,libidn} 
+  # that don't conform to norms in the URL scheme.
   DIR=`echo $1 | sed 's at -doc@@;s at -linuxthreads@@;s at -libidn@@;s at -testsuite@@'`
 
   # Find the md5 sum for this package.
@@ -720,14 +717,14 @@
 
   if [ ! -f $2 ] ; then
     case $DL in
-      wget )  wget $HTTP/$DIR/$2            ;;
-      curl )  `curl -# $HTTP/$DIR/$2 -o $2`     ;;
+      wget )  wget --passive $FTP/$DIR/$2            ;;
+      curl )  `curl -# $FTP/$DIR/$2 -o $2`     ;;
       * )     echo "$DL not supported at this time."  ;;
     esac
   elif ! echo "$MD5" | md5sum -c - >/dev/null 2>/dev/null ; then
     case $DL in
-      wget )  wget -c $HTTP/$DIR/$2         ;;
-      curl )  `curl -# -C - $HTTP/$DIR/$2 -o $2`    ;;
+      wget )  wget --passive -c $FTP/$DIR/$2         ;;
+      curl )  `curl -# -C - $FTP/$DIR/$2 -o $2`    ;;
       * )     echo "$DL not supported at this time."  ;;
     esac
   fi
@@ -766,7 +763,7 @@
       PKG=`echo $i | sed -e 's/-version.*//' -e 's/-file.*//'`
 
       # There are some entities that aren't valid packages.
-      if [ "$PKG" = "expect-lib" -o "$PKG" = "linux-dl" -o "$PKG" = "groff-patchlevel" ] ; then continue ; fi
+      if [ "$PKG" = "expect-lib" -o "$PKG" = "linux-dl" ] ; then continue ; fi
 
       VRS=`echo $i | sed -e 's/.* //' -e 's/"//g'`
       case $PKG in 

Modified: jhalfs/branches/experimental/common/config
===================================================================
--- jhalfs/branches/experimental/common/config	2006-03-09 22:23:47 UTC (rev 2327)
+++ jhalfs/branches/experimental/common/config	2006-03-10 01:44:55 UTC (rev 2328)
@@ -1,7 +1,8 @@
 #####
 #
-# Masterscript configuration file 
+# common configuration file 
 #
+# $Id$
 #####
 
 declare -r SVN="svn://svn.linuxfromscratch.org"
@@ -16,12 +17,13 @@
 #--- Run the makefile at the end  0(no)/1(yes)
 RUNMAKE=0
 
-#--- Run test suites  0(no)/1(yes)
+#--- Run test suites  [0-3]
+#  0 = none
+#  1 = only chapter06 Glibc, GCC and Binutils testsuites
+#  2 = all chapter06 testsuites
+#  3 = all chapter05 and chapter06 testsuites
 TEST=1
 
-#--- Run the toolchain tests  0(no)/1(yes)
-TOOLCHAINTEST=1
-
 #--- Run the stripping phases  0(no)/1(yes)
 STRIP=1
 
@@ -41,6 +43,16 @@
 #--- Include the keymap in the kernel if defined
 KEYMAP=/usr/share/kbd/keymaps/i386/qwerty/us.map.gz
 
+#=== Variables needed by ICA ===
+#--- Run ICA testing 0/1  0(no)/1(yes)
+RUN_ICA=0
+
+#--- The number of final stage builds to create and compare
+ITERATIONS=
+
+#--- ICA report log directory
+ICALOGDIR=$JHALFSDIR/logs/ICA
+
 #==== INTERNAL VARIABLES ====
 # Don't edit it unless you know what you are doing
 

Modified: jhalfs/branches/experimental/common/func_check_version.sh
===================================================================
--- jhalfs/branches/experimental/common/func_check_version.sh	2006-03-09 22:23:47 UTC (rev 2327)
+++ jhalfs/branches/experimental/common/func_check_version.sh	2006-03-10 01:44:55 UTC (rev 2328)
@@ -27,11 +27,14 @@
   tst_version=$2
   TXT=$3
 
-  if  echo $ref_version | grep [[:alpha:]] 2>&1 >/dev/null || 
-      echo $tst_version | grep [[:alpha:]] 2>&1 >/dev/null ;then
-    echo "Cannot test for text, 0.0.0a, version types, assuming 'success' " 
-    return    
-  fi
+  # This saves us the save/restore hassle of the system IFS value
+  local IFS
+
+#  if  echo $ref_version | grep [[:alpha:]] 2>&1 >/dev/null || 
+#      echo $tst_version | grep [[:alpha:]] 2>&1 >/dev/null ;then
+#    echo "Cannot test for text, 0.0.0a, version types, assuming 'success' " 
+#    return    
+#  fi
     
   write_error_and_die() {
      echo -e "\n\t\t$TXT version -->${tst_version}<-- is too old.

Modified: jhalfs/branches/experimental/common/func_validate_configs.sh
===================================================================
--- jhalfs/branches/experimental/common/func_validate_configs.sh	2006-03-09 22:23:47 UTC (rev 2327)
+++ jhalfs/branches/experimental/common/func_validate_configs.sh	2006-03-10 01:44:55 UTC (rev 2328)
@@ -17,12 +17,11 @@
     on success: write text to console and returns
 inline_doc
 
-  local svn_tracking='$Id$'
-  local -r  lfs_PARAM_LIST="BUILDDIR HPKG TEST TOOLCHAINTEST STRIP VIMLANG PAGE RUNMAKE"
+  local -r  lfs_PARAM_LIST="BUILDDIR HPKG TEST STRIP VIMLANG PAGE RUNMAKE"
   local -r blfs_PARAM_LIST="BUILDDIR TEST DEPEND"
-  local -r hlfs_PARAM_LIST="BUILDDIR HPKG MODEL TEST TOOLCHAINTEST STRIP VIMLANG PAGE GRSECURITY_HOST RUNMAKE TIMEZONE"
+  local -r hlfs_PARAM_LIST="BUILDDIR HPKG MODEL TEST STRIP VIMLANG PAGE GRSECURITY_HOST RUNMAKE TIMEZONE"
   local -r clfs_PARAM_LIST="ARCH BOOTMINIMAL RUNMAKE MKFILE"
-  local -r global_PARAM_LIST="BUILDDIR HPKG RUNMAKE TEST TOOLCHAINTEST STRIP PAGE TIMEZONE VIMLANG"
+  local -r global_PARAM_LIST="BUILDDIR HPKG RUNMAKE TEST STRIP PAGE TIMEZONE VIMLANG"
 
   local -r ERROR_MSG='The variable \"${L_arrow}${config_param}${R_arrow}\" value ${L_arrow}${BOLD}${!config_param}${R_arrow} is invalid, ${nl_}check the config file ${BOLD}${GREEN}\<$PROGNAME.conf\>${OFF}'
   local -r PARAM_VALS='${config_param}: ${L_arrow}${BOLD}${!config_param}${OFF}${R_arrow}'
@@ -54,14 +53,13 @@
 	MKFILE)    continue;;
         HPKG)      validation_str="x0x x1x"  ;;
         RUNMAKE)   validation_str="x0x x1x"  ;;
-        TEST)      validation_str="x0x x1x"  ;;
+        TEST)      validation_str="x0x x1x x2x x3x"  ;;
         STRIP)     validation_str="x0x x1x"  ;;
         VIMLANG)   validation_str="x0x x1x"  ;;
         DEPEND)    validation_str="x0x x1x x2x" ;;
         MODEL)     validation_str="xglibcx xuclibcx" ;;
         PAGE)      validation_str="xletterx xA4x"  ;;
         ARCH)      validation_str="xx86x xx86_64x xx86_64-64x xsparcx xsparcv8x xsparc64x xsparc64-64x xmipsx xmips64x xmips64-64x xppcx xalphax" ;;
-        TOOLCHAINTEST)    validation_str="x0x x1x"  ;;
         GRSECURITY_HOST)  validation_str="x0x x1x"  ;;
         BOOTMINIMAL)      validation_str="x0x x1x";;
         *)

Modified: jhalfs/branches/experimental/master.sh
===================================================================
--- jhalfs/branches/experimental/master.sh	2006-03-09 22:23:47 UTC (rev 2327)
+++ jhalfs/branches/experimental/master.sh	2006-03-10 01:44:55 UTC (rev 2328)
@@ -1,4 +1,5 @@
 #!/bin/bash
+# $Id$
 set -e
 
 
@@ -33,25 +34,27 @@
 #>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 
 
+if [ ! -L $0 ] ; then
+  echo "${nl_}${tab_}${BOLD}${RED}This script cannot be called directly: EXITING ${OFF}${nl_}"
+  exit 1
+fi
+
      PROGNAME=$(basename $0)
       VERSION="0.0.1"
-       MODULE=$PROGNAME.module
-MODULE_CONFIG=$PROGNAME.conf
+   COMMON_DIR="common"
+   PACKAGE_DIR=$(echo $PROGNAME | tr [a-z] [A-Z])
+       MODULE=$PACKAGE_DIR/master.sh
+MODULE_CONFIG=$PACKAGE_DIR/config
 
-echo -n "Loading common-func.module..."
-source common-func.module
-[[ $? > 0 ]] && echo "common-func.module did not load.." && exit
+echo -n "Loading common-functions module..."
+source $COMMON_DIR/common-functions
+[[ $? > 0 ]] && echo " $COMMON_DIR/common-functions did not load.." && exit
 echo "OK"
 #
 
-if [ ! -L $0 ] ; then
-  echo "${nl_}${tab_}${BOLD}${RED}This script cannot be called directly: EXITING ${OFF}${nl_}"
-  exit 1
-fi
-
-echo -n "Loading masterscript.conf..."
-source masterscript.conf
-[[ $? > 0 ]] && echo "masterscript.conf did not load.." && exit 
+echo -n "Loading masterscript conf..."
+source $COMMON_DIR/config
+[[ $? > 0 ]] && echo "$COMMON_DIR/conf did not load.." && exit 
 echo "OK"
 #
 echo -n "Loading config module <$MODULE_CONFIG>..."
@@ -61,10 +64,7 @@
 #
 echo -n "Loading code module <$MODULE>..."
 source $MODULE
-if [[ $? > 0 ]]; then
- echo "$MODULE did not load.."
- exit 2
-fi
+[[ $? > 0 ]] && echo "$MODULE did not load.." && exit 2
 echo "OK"
 #
 echo "---------------${nl_}"
@@ -79,168 +79,18 @@
 
 
 #*******************************************************************#
+echo -n "Loading function <func_check_version.sh>..."
+source $COMMON_DIR/func_check_version.sh
+[[ $? > 0 ]] && echo " function module did not load.." && exit 2
+echo "OK"
 
+echo -n "Loading function <func_validate_configs.sh>..."
+source $COMMON_DIR/func_validate_configs.sh
+[[ $? > 0 ]] && echo " function module did not load.." && exit 2
+echo "OK"
+echo "---------------${nl_}"
 
-#----------------------------#
-check_requirements() {       # Simple routine to validate gcc and kernel versions against requirements
-#----------------------------#
-  # Minimum values acceptable
-  #   bash  3.0>
-  #    gcc  3.0>
-  # kernel  2.6.2>
 
-  [[ $1 = "1" ]] && echo "${nl_}BASH: ${L_arrow}${BOLD}${BASH_VERSION}${R_arrow}"
-  case $BASH_VERSION in
-    [3-9].*) ;;
-    *) 'clear'
-        echo -e "
-$DD_BORDER
-\t\t${OFF}${RED}BASH version ${BOLD}${YELLOW}-->${WHITE} $BASH_VERSION ${YELLOW}<--${OFF}${RED} is too old.
-\t\t    This script requires 3.0${OFF}${RED} or greater
-$DD_BORDER"
-        exit 1
-      ;;
-  esac
-
-  [[ $1 = "1" ]] && echo "GCC: ${L_arrow}${BOLD}`gcc -dumpversion`${R_arrow}"
-    case `gcc -dumpversion` in
-      [3-9].[0-9].* ) ;;
-      *)  'clear'
-           echo -e "
-$DD_BORDER
-\t\t${OFF}${RED}GCC version ${BOLD}${YELLOW}-->${WHITE} $(gcc -dumpversion) ${YELLOW}<--${OFF}${RED} is too old.
-\t\t This script requires ${BOLD}${WHITE}3.0${OFF}${RED} or greater
-$DD_BORDER"
-           exit 1
-      ;;
-    esac
-
-  #
-  # >>>> Check kernel version against the minimum acceptable level <<<<
-  #
-  [[ $1 = "1" ]] && echo "LINUX: ${L_arrow}${BOLD}`uname -r`${R_arrow}"
-
-  local IFS
-  declare -i major minor revision change
-  min_kernel_vers=2.6.2
-
-  IFS=".-"   # Split up w.x.y.z as well as w.x.y-rc  (catch release candidates)
-  set -- $min_kernel_vers # set postional parameters to minimum ver values
-  major=$1; minor=$2; revision=$3
-  #
-  set -- `uname -r` # Set postional parameters to user kernel version
-  #Compare against minimum acceptable kernel version..
-  (( $1  > major )) && return
-  (( $1 == major )) && (((  $2 >  minor )) ||
-                       (((  $2 == minor )) && (( $3 >= revision )))) && return
-
-  # oops.. write error msg and die
-  echo -e "
-$DD_BORDER
-\t\t${OFF}${RED}The kernel version ${BOLD}${YELLOW}-->${WHITE} $(uname -r) ${YELLOW}<--${OFF}${RED} is too old.
-\t\tThis script requires version ${BOLD}${WHITE}$min_kernel_vers${OFF}${RED} or greater
-$DD_BORDER"
-  exit 1
-}
-
-
-#----------------------------#
-validate_config()    {       # Are the config values sane (within reason)
-#----------------------------#
-  local -r  lfs_PARAM_LIST="BUILDDIR HPKG TEST TOOLCHAINTEST STRIP VIMLANG PAGE RUNMAKE"
-  local -r blfs_PARAM_LIST="BUILDDIR TEST DEPEND"
-  local -r hlfs_PARAM_LIST="BUILDDIR HPKG MODEL TEST TOOLCHAINTEST STRIP VIMLANG PAGE GRSECURITY_HOST RUNMAKE TIMEZONE"
-  local -r clfs_PARAM_LIST="ARCH BOOTMINIMAL RUNMAKE MKFILE"
-  local -r global_PARAM_LIST="BUILDDIR HPKG RUNMAKE TEST TOOLCHAINTEST STRIP PAGE TIMEZONE VIMLANG"
-  
-  local    PARAM_LIST=
-
-  local -r ERROR_MSG='The variable \"${L_arrow}${config_param}${R_arrow}\" value ${L_arrow}${BOLD}${!config_param}${R_arrow} is invalid, ${nl_}check the config file ${BOLD}${GREEN}\<$PROGNAME.conf\>${OFF}'
-  local -r PARAM_VALS='${config_param}: ${L_arrow}${BOLD}${!config_param}${OFF}${R_arrow}'
-  local config_param
-  local validation_str
-
-  write_error_and_die() {
-    echo -e "\n${DD_BORDER}"
-    echo -e "`eval echo ${ERROR_MSG}`" >&2
-    echo -e "${DD_BORDER}\n"
-    exit 1
-  }
-
-  set +e
-  for PARAM_GROUP in global_PARAM_LIST ${PROGNAME}_PARAM_LIST; do
-    for config_param in ${!PARAM_GROUP}; do
-      # This is a tricky little piece of code.. executes a cmd string.
-      [[ $1 = "1" ]] && echo -e "`eval echo $PARAM_VALS`"
-      case $config_param in
-        BUILDDIR) # We cannot have an <empty> or </> root mount point
-            if [[ "xx x/x" =~ "x${!config_param}x" ]]; then
-              write_error_and_die
-            fi
-            continue  ;;
-        TIMEZONE)  continue;;
-	MKFILE)    continue;;
-        HPKG)      validation_str="x0x x1x"  ;;
-        RUNMAKE)   validation_str="x0x x1x"  ;;
-        TEST)      validation_str="x0x x1x"  ;;
-        STRIP)     validation_str="x0x x1x"  ;;
-        VIMLANG)   validation_str="x0x x1x"  ;;
-        DEPEND)    validation_str="x0x x1x x2x" ;;
-        MODEL)     validation_str="xglibcx xuclibcx" ;;
-        PAGE)      validation_str="xletterx xA4x"  ;;
-        ARCH)      validation_str="xx86x xx86_64x xx86_64-64x xsparcx xsparcv8x xsparc64x xsparc64-64x xmipsx xmips64x xmips64-64x xppcx xalphax" ;;
-        TOOLCHAINTEST)    validation_str="x0x x1x"  ;;
-        GRSECURITY_HOST)  validation_str="x0x x1x"  ;;
-        BOOTMINIMAL)      validation_str="x0x x1x";;
-        *)
-          echo "WHAT PARAMETER IS THIS.. <<${config_param}>>"
-          exit
-        ;;
-      esac
-        #
-        # This is the 'regexp' test available in bash-3.0..
-        # using it as a poor man's test for substring
-      if [[ ! "${validation_str}" =~ "x${!config_param}x" ]] ; then
-        # parameter value entered is no good
-        write_error_and_die
-      fi
-    done # for loop
-
-      # Not further tests needed on globals
-    if [[ "$PARAM_GROUP" = "global_PARAM_LIST" ]]; then
-      echo "   ${BOLD}${GREEN}${PARAM_GROUP%%_*T} parameters are valid${OFF}"
-      continue
-    fi
-    
-    for config_param in LC_ALL LANG; do
-      [[ $1 = "1" ]] && echo "`eval echo $PARAM_VALS`"
-      [[ -z "${!config_param}" ]] && continue
-      # See it the locale values exist on this machine
-      [[ "`locale -a | grep -c ${!config_param}`" > 0 ]] && continue
-  
-      # If you make it this far then there is a problem
-      write_error_and_die
-    done
-
-    for config_param in FSTAB CONFIG KEYMAP BOOK; do
-      [[ $1 = "1" ]] && echo "`eval echo $PARAM_VALS`"
-      if [[ $config_param = BOOK ]]; then
-         [[ ! "${WC}" = 1 ]] && continue
-      fi
-      [[ -z "${!config_param}" ]] && continue
-      [[ -e "${!config_param}" ]] && [[ -s "${!config_param}" ]] && continue
-  
-      # If you make it this far then there is a problem
-      write_error_and_die
-    done
-      echo "   ${BOLD}${GREEN}${PARAM_GROUP%%_*T} parameters are valid${OFF}"
-  done
-  set -e
-  echo "$tab_***${BOLD}${GREEN}Config parameters look good${OFF}***"
-}
-
-
-
 ###################################
 ###		MAIN		###
 ###################################
@@ -429,11 +279,11 @@
 fi
 
 if [[ "$PWD" != "$JHALFSDIR" ]]; then 
-  cp -v makefile-functions $JHALFSDIR/
+  cp -v $COMMON_DIR/makefile-functions $JHALFSDIR/
   if [[ -n "$FILES" ]]; then
-    cp -v $FILES $JHALFSDIR/ 
+    cp -v $PACKAGE_DIR/$FILES $JHALFSDIR/ 
   fi
-  sed 's,FAKEDIR,'$BOOK',' $XSL > $JHALFSDIR/${XSL}
+  sed 's,FAKEDIR,'$BOOK',' $PACKAGE_DIR/$XSL > $JHALFSDIR/${XSL}
   export XSL=$JHALFSDIR/${XSL}
 fi
 
@@ -445,13 +295,20 @@
 
 
 # Check for minumum gcc and kernel versions
-check_requirements  1 # 0/1  0-do not display values.
+#check_requirements  1 # 0/1  0-do not display values.
+check_version "2.6.2" "`uname -r`"         "KERNEL"
+check_version "3.0"   "$BASH_VERSION"      "BASH"
+check_version "3.0"   "`gcc -dumpversion`" "GCC"
 echo "---------------${nl_}"
+
 validate_config     1 # 0/1  0-do not display values
 echo "---------------${nl_}"
+
 get_book
 echo "---------------${nl_}"
+
 build_Makefile
 echo "---------------${nl_}"
+
 #run_make
 




More information about the alfs-log mailing list