Index: common/libs/func_book_parser
===================================================================
--- common/libs/func_book_parser	(revision 2bd2fb81d0a45b0d60eaaf54ba6439547a422e98)
+++ common/libs/func_book_parser	(revision 8825e695928037d7fa0d1ca5f4b048bca3a53164)
@@ -11,5 +11,5 @@
     exit 1"
 
-    echo -n "Downloading the lfs document, $COMMIT commit... "
+    echo -n "Downloading the lfs document, $COMMIT branch/tag/commit... "
 
     # Grab a fresh book if it's missing, otherwise, update it from the
@@ -51,70 +51,63 @@
   # Extract the commands
   echo -n "Extracting commands for"
-  case ${PROGNAME} in
+  echo -n " ${L_arrow}${BOLD}LFS${R_arrow} build... "
+  # The scripts pages are xincluded by the book, so must
+  # be generated for running xsltproc
+  pushd $BOOK > /dev/null
+  if [ -f process-scripts.sh ]; then
+    bash process-scripts.sh >> $LOGDIR/$LOG 2>&1
+  fi
+  # Recent git versions need version.ent to be generated
+  if [ -f git-version.sh ]; then
+    bash git-version.sh "$INITSYS" >> $LOGDIR/$LOG 2>&1
+  fi
+  popd > /dev/null
 
-    lfs)
-        echo -n " ${L_arrow}${BOLD}LFS${R_arrow} build... "
-        # The scripts pages are xincluded by the book, so must
-        # be generated for running xsltproc
-        pushd $BOOK > /dev/null
-        if [ -f process-scripts.sh ]; then
-          bash process-scripts.sh >> $LOGDIR/$LOG 2>&1
-        fi
-        # Recent git versions need version.ent to be generated
-        if [ -f git-version.sh ]; then
-          bash git-version.sh "$INITSYS" >> $LOGDIR/$LOG 2>&1
-        fi
-        popd > /dev/null
+  # First profile the book, for revision and arch. Note that
+  # MULTIBLIB is set to "default" if pure 64 bit book. In this case,
+  # profiling on arch is useless, but does not hurt either.
+  xsltproc --nonet                                      \
+           --xinclude                                   \
+           --stringparam profile.revision "$INITSYS"    \
+           --stringparam profile.arch     "$MULTILIB"   \
+           --output prbook.xml                          \
+           $BOOK/stylesheets/lfs-xsl/profile.xsl        \
+           $BOOK/index.xml >> $LOGDIR/$LOG 2>&1
 
-        # First profile the book, for revision and arch. Note that
-        # MULTIBLIB is set to "default" if pure 64 bit book. In this
-        # profiling on arch is useless, but does not hurt either.
-        xsltproc --nonet                                      \
-                 --xinclude                                   \
-                 --stringparam profile.revision "$INITSYS"    \
-                 --stringparam profile.arch     "$MULTILIB"   \
-                 --output prbook.xml                          \
-                 $BOOK/stylesheets/lfs-xsl/profile.xsl        \
-                 $BOOK/index.xml >> $LOGDIR/$LOG 2>&1
-
-        # Use the profiled book for generating the scriptlets
-        xsltproc --nonet                                      \
-                 --stringparam testsuite      "$TEST"         \
-                 --stringparam bomb-testsuite "$BOMB_TEST"    \
-                 --stringparam ncurses5       "$NCURSES5"     \
-                 --stringparam strip          "$STRIP"        \
-                 --stringparam del-la-files   "$DEL_LA_FILES" \
-                 --stringparam full-locale    "$FULL_LOCALE"  \
-                 --stringparam timezone       "$TIMEZONE"     \
-                 --stringparam page           "$PAGE"         \
-                 --stringparam lang           "$LANG"         \
-                 --stringparam pkgmngt        "$PKGMNGT"      \
-                 --stringparam wrap-install   "$WRAP_INSTALL" \
-                 --stringparam hostname       "$HOSTNAME"     \
-                 --stringparam interface      "$INTERFACE"    \
-                 --stringparam ip             "$IP_ADDR"      \
-                 --stringparam gateway        "$GATEWAY"      \
-                 --stringparam prefix         "$PREFIX"       \
-                 --stringparam broadcast      "$BROADCAST"    \
-                 --stringparam domain         "$DOMAIN"       \
-                 --stringparam nameserver1    "$DNS1"         \
-                 --stringparam nameserver2    "$DNS2"         \
-                 --stringparam font           "$FONT"         \
-                 --stringparam fontmap        "$FONTMAP"      \
-                 --stringparam unicode        "$UNICODE"      \
-                 --stringparam keymap         "$KEYMAP"       \
-                 --stringparam local          "$LOCAL"        \
-                 --stringparam log-level      "$LOG_LEVEL"    \
-                 --stringparam script-root    "$SCRIPT_ROOT"  \
-                 --output "./${COMMANDS}/"                    \
-                 $XSL                                         \
-                 prbook.xml >> $LOGDIR/$LOG 2>&1
-# Remove flags requesting user action in some cases. Much easier here than
-# in the stylesheet...
-        sed -i 's/-iv /-v /' "./${COMMANDS}/"chapter??/*kernel*
-      ;;
-    *)  echo -n " ${L_arrow}${PROGNAME}${R_arrow} book invalid, terminate build... "
-        exit 1 ;;
-  esac
+  # Use the profiled book for generating the scriptlets
+  xsltproc --nonet                                      \
+           --stringparam testsuite      "$TEST"         \
+           --stringparam bomb-testsuite "$BOMB_TEST"    \
+           --stringparam ncurses5       "$NCURSES5"     \
+           --stringparam strip          "$STRIP"        \
+           --stringparam del-la-files   "$DEL_LA_FILES" \
+           --stringparam full-locale    "$FULL_LOCALE"  \
+           --stringparam timezone       "$TIMEZONE"     \
+           --stringparam page           "$PAGE"         \
+           --stringparam lang           "$LANG"         \
+           --stringparam pkgmngt        "$PKGMNGT"      \
+           --stringparam wrap-install   "$WRAP_INSTALL" \
+           --stringparam hostname       "$HOSTNAME"     \
+           --stringparam interface      "$INTERFACE"    \
+           --stringparam ip             "$IP_ADDR"      \
+           --stringparam gateway        "$GATEWAY"      \
+           --stringparam prefix         "$PREFIX"       \
+           --stringparam broadcast      "$BROADCAST"    \
+           --stringparam domain         "$DOMAIN"       \
+           --stringparam nameserver1    "$DNS1"         \
+           --stringparam nameserver2    "$DNS2"         \
+           --stringparam font           "$FONT"         \
+           --stringparam fontmap        "$FONTMAP"      \
+           --stringparam unicode        "$UNICODE"      \
+           --stringparam keymap         "$KEYMAP"       \
+           --stringparam local          "$LOCAL"        \
+           --stringparam log-level      "$LOG_LEVEL"    \
+           --stringparam script-root    "$SCRIPT_ROOT"  \
+           --output "./${COMMANDS}/"                    \
+           $XSL                                         \
+           prbook.xml >> $LOGDIR/$LOG 2>&1
+  # Remove flags requesting user action in some cases. Much easier here than
+  # in the stylesheet...
+  sed -i 's/-iv /-v /' "./${COMMANDS}/"chapter??/*kernel*
 
   echo "done"
@@ -122,48 +115,14 @@
   # Make the scripts executable.
   chmod -R +x "$JHALFSDIR/${COMMANDS}"
-
-  # Create the packages file. We need it for proper Makefile creation
-  # lfs does not use this anymore, but this is taken care in the
-  # function body
-  create_package_list
-  # On the other hand, lfs needs two auxiliary files
-  if [ "${PROGNAME}" = lfs ]; then
-    create_chroot_scripts
-    create_kernfs_scripts
-  fi
+  create_chroot_scripts
+  create_kernfs_scripts
 
   # we create the VERSION variable here. Should maybe go into its own
   # function. But at this point we can use the profiled xml to get
   # version from lfs-release in the lfs case.
-  case $PROGNAME in
-    lfs)
-      VERSION=$(grep 'echo.*lfs-release' prbook.xml | sed 's/.*echo[ ]*\([^ ]*\).*/\1/')
-      ;;
-    *)
-      VERSION=$(xmllint --noent $BOOK/prologue/bookinfo.xml 2>/dev/null | grep subtitle | sed -e 's/^.*ion //'  -e 's/<\/.*//')  ;;
-  esac
+  VERSION=$(grep 'echo.*lfs-release' prbook.xml | sed 's/.*echo[ ]*\([^ ]*\).*/\1/')
 
   # Done. Moving on...
   get_sources
-}
-
-#----------------------------#
-create_package_list() {      #
-#----------------------------#
-
-  # Create the packages file. We need it for proper Makefile creation
-  rm -f pkg_tarball_list
-  echo -n "Creating <${PROGNAME}> list of tarball names for $BOOK"
-  if [ ! -z "$ARCH" ] ; then echo -n " $ARCH" ; fi
-  echo -n "... "
-  case ${PROGNAME} in
-    lfs)
-        # lfs does not use the package list anymore
-      ;;
-    *)
-  esac
-
-  echo "done"
-
 }
 
@@ -176,12 +135,7 @@
   if [ ! -z $ARCH ] ; then echo -n " $ARCH" ; fi
   echo -n "... "
-  case ${PROGNAME} in
-    lfs)
-      xsltproc --nonet --xinclude \
-               -o chroot-scripts/ chroot.xsl \
-               $BOOK/chapter0?/*chroot*.xml >> $LOGDIR/$LOG 2>&1
-      ;;
-    *)
-  esac
+  xsltproc --nonet --xinclude \
+           -o chroot-scripts/ chroot.xsl \
+           $BOOK/chapter0?/*chroot*.xml >> $LOGDIR/$LOG 2>&1
   echo "done"
 
@@ -197,15 +151,11 @@
   if [ ! -z $ARCH ] ; then echo -n " $ARCH" ; fi
   echo -n "... "
-  case ${PROGNAME} in
-    lfs)
-      xsltproc --nonet \
-               -o kernfs-scripts/devices.sh kernfs.xsl \
-               $BOOK/*/kernfs.xml >> $LOGDIR/$LOG 2>&1
-      xsltproc --nonet \
-               -o kernfs-scripts/teardown.sh kernfs.xsl \
-               $BOOK/chapter??/reboot.xml >> $LOGDIR/$LOG 2>&1
-      ;;
-    *)
-  esac
+  xsltproc --nonet \
+           -o kernfs-scripts/devices.sh kernfs.xsl \
+           $BOOK/*/kernfs.xml >> $LOGDIR/$LOG 2>&1
+  xsltproc --nonet \
+           -o kernfs-scripts/teardown.sh kernfs.xsl \
+           $BOOK/chapter??/reboot.xml >> $LOGDIR/$LOG 2>&1
+
   echo "done"
 
Index: common/libs/func_download_pkgs
===================================================================
--- common/libs/func_download_pkgs	(revision 2bd2fb81d0a45b0d60eaaf54ba6439547a422e98)
+++ common/libs/func_download_pkgs	(revision 8825e695928037d7fa0d1ca5f4b048bca3a53164)
@@ -131,18 +131,14 @@
   cd $JHALFSDIR
 
-  case ${PROGNAME} in
-    lfs)
-        echo -n "Creating LFS specific URLs file"
-        xsltproc --nonet --xinclude                \
-                 --stringparam server "$SERVER"    \
-                 --stringparam family lfs          \
-                 --stringparam pkgmngt "$PKGMNGT"  \
-                 --stringparam revision "$INITSYS" \
-                 --output ../sources/urls.lst      \
-                 urls.xsl                          \
-                 $BOOK/chapter03/chapter03.xml >>$LOGDIR/$LOG 2>&1
-        echo " ...OK"
-      ;;
-  esac
+  echo -n "Creating URLs file... "
+  xsltproc --nonet --xinclude                \
+           --stringparam server "$SERVER"    \
+           --stringparam family lfs          \
+           --stringparam pkgmngt "$PKGMNGT"  \
+           --stringparam revision "$INITSYS" \
+           --output ../sources/urls.lst      \
+           urls.xsl                          \
+           $BOOK/chapter03/chapter03.xml >>$LOGDIR/$LOG 2>&1
+  echo "OK"
 
   cd $BUILDDIR/sources
Index: common/libs/func_validate_configs.sh
===================================================================
--- common/libs/func_validate_configs.sh	(revision 2bd2fb81d0a45b0d60eaaf54ba6439547a422e98)
+++ common/libs/func_validate_configs.sh	(revision 8825e695928037d7fa0d1ca5f4b048bca3a53164)
@@ -6,10 +6,8 @@
 #----------------------------#
 : <<inline_doc
-      Validates the configuration parameters. The global var PROGNAME selects the
-    parameter list.
+      Validates the configuration parameters.
 
     input vars: none
     externals:  color constants
-                PROGNAME (lfs only as of February 28th, 2022)
     modifies:   none
     returns:    nothing
@@ -19,5 +17,5 @@
 
   # Common settings by Config.in sections and books family
-  local -r     BOOK_common="BOOK CUSTOM_TOOLS"
+  local -r     BOOK_common="COMMIT BOOK CUSTOM_TOOLS"
   local -r  GENERAL_common="LUSER LGROUP LHOME BUILDDIR CLEAN GETPKG SRC_ARCHIVE \
                             SERVER RETRYSRCDOWNLOAD RETRYDOWNLOADCNT DOWNLOADTIMEOUT \
@@ -124,6 +122,5 @@
 
   set +e
-  PARAM_GROUP=${PROGNAME}_PARAM_LIST
-  for config_param in ${!PARAM_GROUP}; do
+  for config_param in $lfs_PARAM_LIST; do
     case $config_param in
       # Envvars that depend on other settings to be displayed
@@ -209,5 +206,5 @@
                fi
                ;;
-      # Display non-validated envars found in ${PROGNAME}_PARAM_LIST
+      # Display non-validated envars found in lfs_PARAM_LIST
       * ) echo -e "`eval echo $PARAM_VALS`" ;;
 
Index: common/libs/func_wrt_Makefile
===================================================================
--- common/libs/func_wrt_Makefile	(revision 2bd2fb81d0a45b0d60eaaf54ba6439547a422e98)
+++ common/libs/func_wrt_Makefile	(revision 8825e695928037d7fa0d1ca5f4b048bca3a53164)
@@ -234,5 +234,4 @@
 	@source ~/.bashrc && \\
 	\$(CMDSDIR)/`dirname $file`/\$@ >> \$(LOGDIR)/\$@$version 2>&1 && \\
-	if [ "${PROGNAME}" != lfs ]; then \$(PRT_DU) >>logs/\$@$version; fi
 EOF
 ) >> $MKFILE.tmp
@@ -251,5 +250,4 @@
 	@source envars && \\
 	\$(crCMDSDIR)/`dirname $file`/\$@ >>\$(crLOGDIR)/\$@$version 2>&1 && \\
-	if [ "${PROGNAME}" != lfs ]; then \$(PRT_DU_CR) >>logs/\$@$version; fi
 EOF
 ) >> $MKFILE.tmp
