r3043 - jhalfs/branches/experimental/BLFS

georgeb at linuxfromscratch.org georgeb at linuxfromscratch.org
Tue Aug 22 13:33:33 PDT 2006


Author: georgeb
Date: 2006-08-22 14:33:33 -0600 (Tue, 22 Aug 2006)
New Revision: 3043

Modified:
   jhalfs/branches/experimental/BLFS/gen_pkg_book.sh
Log:
Repackage internal code into functions. (readability). Made cntr a local var as it was interfering with a trace

Modified: jhalfs/branches/experimental/BLFS/gen_pkg_book.sh
===================================================================
--- jhalfs/branches/experimental/BLFS/gen_pkg_book.sh	2006-08-22 20:30:10 UTC (rev 3042)
+++ jhalfs/branches/experimental/BLFS/gen_pkg_book.sh	2006-08-22 20:33:33 UTC (rev 3043)
@@ -4,94 +4,113 @@
 #
 #  Read and parse the configuration parameters..
 #
-ConfigFile="configuration"
-while [ 0 ]; do
-  read || break 1
+set -e
 
-  # Garbage collection
-  case ${REPLY} in
-    \#* | '') continue ;;
-  esac
+declare -r ConfigFile="configuration"
+declare TARGET
+declare DEP_LEVEL
+declare SUDO
+declare PKGXML
+declare BLFS_XML
+declare VERBOSITY=1
 
-  case "${REPLY}" in
-    CONFIG_ALSA=* | \
-    CONFIG_GNOME-CORE=* | \
-    CONFIG_GNOME-FULL=* | \
-    CONFIG_KDE-CORE=* | \
-    CONFIG_KDE-FULL=* | \
-    CONFIG_KDE-KOFFICE=* | \
-    CONFIG_XORG7=* ) REPLY=${REPLY%=*}  # Strip the trailing '=y' test.. unecessary
-                     echo -n "${REPLY}"
-		     if [[ $((++cntr)) > 1 ]]; then
-                       echo "  <<-- ERROR:: SELECT ONLY 1 PACKAGE AT A TIME, META-PACKAGE NOT SELECTED"
-                     else
-                       echo ""
-                       optTARGET=$(echo $REPLY | cut -d "_" -f2 | tr [A-Z] [a-z])
-                     fi
-                     continue ;;
+#--------------------------#
+parse_configuration() {    #
+#--------------------------#
+  local	cntr
+  local	optTARGET
+  
+  while [ 0 ]; do
+    read || break 1
 
-    # Create global variables for these parameters.
-    optDependency=* | \
-    PRINT_SERVER=*  | \
-    MAIL_SERVER=*   | \
-    GHOSTSCRIPT=*   | \
-    KBR5=*  | \
-    X11=*   | \
-    SUDO=*  )  eval ${REPLY} # Define/set a global variable..
+    # Garbage collection
+    case ${REPLY} in
+      \#* | '') continue ;;
+    esac
+
+    case "${REPLY}" in
+      CONFIG_ALSA=* | \
+      CONFIG_GNOME-CORE=* | \
+      CONFIG_GNOME-FULL=* | \
+      CONFIG_KDE-CORE=* | \
+      CONFIG_KDE-FULL=* | \
+      CONFIG_KDE-KOFFICE=* | \
+      CONFIG_XORG7=* ) REPLY=${REPLY%=*}  # Strip the trailing '=y' test.. unecessary
+                       echo -n "${REPLY}"
+                       if [[ $((++cntr)) > 1 ]]; then
+                         echo "  <<-- ERROR:: SELECT ONLY 1 PACKAGE AT A TIME, META-PACKAGE NOT SELECTED"
+                       else
+                         echo ""
+                         optTARGET=$(echo $REPLY | cut -d "_" -f2 | tr [A-Z] [a-z])
+                       fi
+                       continue ;;
+
+      # Create global variables for these parameters.
+      optDependency=* | \
+      PRINT_SERVER=*  | \
+      MAIL_SERVER=*   | \
+      GHOSTSCRIPT=*   | \
+      KBR5=*  | \
+      X11=*   | \
+      SUDO=*  )  eval ${REPLY} # Define/set a global variable..
                       continue ;;
-  esac
+    esac
 
-  if [[ "${REPLY}" =~ "^CONFIG_" ]]; then
-    echo -n "$REPLY"
-    if [[ $((++cntr)) > 1 ]]; then
-      echo "  <<-- ERROR SELECT ONLY 1 PACKAGE AT A TIME, WILL NOT BUILD"
-    else
-      echo ""
-      optTARGET=$( echo $REPLY | sed -e 's at CONFIG_@@' -e 's@=y@@' )
+    if [[ "${REPLY}" =~ "^CONFIG_" ]]; then
+      echo -n "$REPLY"
+      if [[ $((++cntr)) > 1 ]]; then
+        echo "  <<-- ERROR SELECT ONLY 1 PACKAGE AT A TIME, WILL NOT BUILD"
+      else
+        echo ""
+        optTARGET=$( echo $REPLY | sed -e 's at CONFIG_@@' -e 's@=y@@' )
+      fi
     fi
+  done <$ConfigFile
+  
+  if [[ $optTARGET = "" ]]; then
+    echo -e "\n>>> NO TARGET SELECTED.. applicaton terminated"
+    echo -e "    Run <make> again and select a package to build\n"
+    exit 0
   fi
-done <$ConfigFile
-if [[ $optTARGET = "" ]]; then
-  echo -e "\n>>> NO TARGET SELECTED.. applicaton terminated"
-  echo -e "    Run <make> again and select a package to build\n"
-  exit 0
-fi
 
+  TARGET=$optTARGET
+  DEP_LEVEL=$optDependency
+  SUDO=${SUDO:-y}
+}
+
+
 #
 # Regenerate the META-package dependencies from the configuration file
 #
-rm -f libs/*.dep-MOD
-while [ 0 ]; do
-  read || break 1
-  case ${REPLY} in
-  \#* | '') continue ;;
-  esac
+#--------------------------#
+regenerate_deps() {        #
+#--------------------------#
 
+  rm -f libs/*.dep-MOD
+  while [ 0 ]; do
+    read || break 1
+    case ${REPLY} in
+      \#* | '') continue ;;
+    esac
+
     # Drop the "=y"
-  REPLY=${REPLY%=*}
-  if [[ "${REPLY}" =~ "^DEP_" ]]; then
-    META_PACKAGE=$(echo $REPLY | cut -d "_" -f2 | tr [A-Z] [a-z])
-    DEP_FNAME=$(echo $REPLY | cut -d "_" -f3)
-     echo "${DEP_FNAME}" >>libs/${META_PACKAGE}.dep-MOD
-  fi
+    REPLY=${REPLY%=*}
+    if [[ "${REPLY}" =~ "^DEP_" ]]; then
+      META_PACKAGE=$(echo $REPLY | cut -d "_" -f2 | tr [A-Z] [a-z])
+      DEP_FNAME=$(echo $REPLY | cut -d "_" -f3)
+       echo "${DEP_FNAME}" >>libs/${META_PACKAGE}.dep-MOD
+    fi
 
-done <$ConfigFile
-#
-# Replace to 'old' dependency file with a new one.
-#
-for dst in `ls ./libs/*.dep-MOD 2>/dev/null`; do
+  done <$ConfigFile
+  #
+  # Replace to 'old' dependency file with a new one.
+  #
+  for dst in `ls ./libs/*.dep-MOD 2>/dev/null`; do
     cp -vf $dst ${dst%-MOD}
-done
+  done
+}
 
 
-set -e
-declare TARGET=$optTARGET
-declare DEP_LEVEL=$optDependency
-declare PKGXML
-declare BLFS_XML
-declare VERBOSITY=1
-[[ -z $SUDO ]] && SUDO=y
-
 #---------------------
 # Constants
 source libs/constants.inc
@@ -115,6 +134,9 @@
   exit 1
 fi
 
+
+parse_configuration
+regenerate_deps
 generate_dependency_tree
 generate_TARGET_xml
 generate_target_book




More information about the alfs-log mailing list