From 77fa8baa5950618b7ac83b3293e6a9b4afc3880f Mon Sep 17 00:00:00 2001 From: Pierre Labastie Date: Sun, 13 Dec 2015 15:28:33 +0000 Subject: [PATCH] Add IP, hostname, domain, etc to the list of configuration parameters. Font and encoding are in configuration too, but are not passed to the build commands Works only for LFS --- Config.in | 121 ++++++++++++++++++------- LFS/lfs.xsl | 129 ++++++++++++++++++++++++++- common/libs/func_book_parser | 29 +++--- common/libs/func_validate_configs.sh | 10 ++- jhalfs | 1 + 5 files changed, 247 insertions(+), 43 deletions(-) diff --git a/Config.in b/Config.in index 21f074a..5153785 100644 --- a/Config.in +++ b/Config.in @@ -750,8 +750,8 @@ endmenu menu "--- Build Settings" - #--- Test Suites - config CONFIG_TESTS + #--- Test Suites + config CONFIG_TESTS bool "Run testsuites" depends !BOOK_CLFS2 && !BOOK_CLFS3 default y @@ -760,7 +760,7 @@ menu "--- Build Settings" # # You will have to select between: # - # - Only final system Glibc, GCC and Binutils testsuites + # - Only critical final system testsuites # - All final system testsuites # - Both temporary tools and final system testsuites # @@ -774,19 +774,38 @@ menu "--- Build Settings" # - Abort the build at the first test suite failure # + menu "Test settings" + depends CONFIG_TESTS choice prompt "Tests level" - depends CONFIG_TESTS default TST_1 config TST_1 - bool "Only final critical testsuites" if !BOOK_CLFS2 && !BOOK_CLFS3 + bool "Only final system critical testsuites" + help + #-- Critical tests: + # Only Glibc, Binutils, GMP, MPFR, MPC and GCC + # testsuites for final system config TST_2 bool "All final system testsuites" config TST_3 - bool "Both temporary tools and final system testsuites" if !BOOK_HLFS && !BOOK_CLFS + bool "All testsuites" if !BOOK_HLFS && !BOOK_CLFS + help + #-- All tests: + # Runs all the testsuites for both temporary tools + # and final system + endchoice + + choice + prompt "Flavour" + + config NO_BOMB + bool "Don't stop on test failures" + + config BOMB + bool "Abort the build on the first test failure" endchoice config TEST @@ -796,23 +815,13 @@ menu "--- Build Settings" default "2" if TST_2 default "3" if TST_3 - choice - prompt "Flavour" - depends CONFIG_TESTS - - config NO_BOMB - bool "Don't stop on testsuite failures" - - config BOMB - bool "Abort the build on the first testsuite failure" - endchoice - config BOMB_TEST bool default n if NO_BOMB default y if BOMB #--- End Test Suites + endmenu # test settings #--- Package Management config PKGMNGT @@ -846,6 +855,23 @@ menu "--- Build Settings" #--- End Installed files logs + config STRIP + bool "Strip Installed Binaries/Libraries" + default y + depends on !BOOK_CLFS3 + + config NO_PROGRESS_BAR + bool "DO NOT use/display progress_bar " + default n + help + #-- Do not use the progress bar routine. On slower machines + # this function consumes precious CPU cycles. + +#--- End Build Settings +endmenu + +menu "--- System configuration + #--- FSTAB config HAVE_FSTAB bool "Use a custom fstab file" @@ -883,11 +909,6 @@ menu "--- Build Settings" # and renamed 'kernel-config' #--- End Kernel - config STRIP - bool "Strip Installed Binaries/Libraries" - default y - depends on !BOOK_CLFS3 - config VIMLANG bool "Install vim-lang package" default n @@ -897,13 +918,6 @@ menu "--- Build Settings" # NOTE: This option is obsolete with the 7.3 release of Vim # which is included in all recent releases of LFS. - config NO_PROGRESS_BAR - bool "DO NOT use/display progress_bar " - default n - help - #-- Do not use the progress bar routine. On slower machines - # this function consumes precious CPU cycles. - config TIMEZONE string "TimeZone" default "GMT" @@ -949,8 +963,53 @@ menu "--- Build Settings" default "A4" if PAGE_A4 #--- End Groff page -#--- End Build Settings -endmenu + config HOSTNAME + string "Hostname" + default "**EDITME**" + + menu "Network configuration" + config INTERFACE + string "netword card name" + default "eth0" + config IP_ADDR + string "Static IP address" + default "10.0.2.9" + config GATEWAY + string "Gateway" + default "10.0.2.2" + config PREFIX + string "Subnet prefix" + default "24" + config BROADCAST + string "Broadcast address" + default "10.0.2.255" + config DOMAIN + string "Domain name" + default "lfs.org" + config DNS1 + string "Primary Name server" + default "10.0.2.3" + config DNS2 + string "Secondary Name server" + default "8.8.8.8" + endmenu # Network configuration + + menu "Console configuration" + config FONT + string "Console font" + default "lat0-16" + config FONTMAP + string "Font map (-m option to setfont)" + default "8859-1" + config UNICODE + bool "Unicode mode" + default y + config KEYMAP + string "Keymap name" + default "us" + endmenu # Console configuration + +endmenu #--- System configuration menu "--- Advanced Features" diff --git a/LFS/lfs.xsl b/LFS/lfs.xsl index 69de5e5..d7f6ce1 100644 --- a/LFS/lfs.xsl +++ b/LFS/lfs.xsl @@ -8,6 +8,8 @@ extension-element-prefixes="exsl" version="1.0"> + + @@ -43,6 +45,22 @@ + + + + + + + + + + + + + + + @@ -499,6 +517,29 @@ unset OLD_PKGDIR + + + + + + + + + + + + + + + . + + + + + + + + **EDITME @@ -507,6 +548,92 @@ unset OLD_PKGDIR + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/libs/func_book_parser b/common/libs/func_book_parser index 36364ba..a422924 100644 --- a/common/libs/func_book_parser +++ b/common/libs/func_book_parser @@ -131,16 +131,25 @@ extract_commands() { # bash process-scripts.sh >> $LOGDIR/$LOG 2>&1 fi popd > /dev/null - xsltproc --nonet \ - --xinclude \ - --stringparam testsuite $TEST \ - --stringparam bomb-testsuite $BOMB_TEST \ - --stringparam vim-lang $VIMLANG \ - --stringparam full-locale $FULL_LOCALE \ - --stringparam timezone $TIMEZONE \ - --stringparam page $PAGE \ - --stringparam lang $LANG \ - --stringparam pkgmngt $PKGMNGT \ + xsltproc --nonet \ + --xinclude \ + --stringparam testsuite $TEST \ + --stringparam bomb-testsuite $BOMB_TEST \ + --stringparam vim-lang $VIMLANG \ + --stringparam full-locale $FULL_LOCALE \ + --stringparam timezone $TIMEZONE \ + --stringparam page $PAGE \ + --stringparam lang $LANG \ + --stringparam pkgmngt $PKGMNGT \ + --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 \ -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1 ;; *) echo -n " ${L_arrow}${PROGNAME}${R_arrow} book invalid, terminate build... " diff --git a/common/libs/func_validate_configs.sh b/common/libs/func_validate_configs.sh index 7e05f55..6ac91ad 100644 --- a/common/libs/func_validate_configs.sh +++ b/common/libs/func_validate_configs.sh @@ -47,8 +47,11 @@ inline_doc local -r CLFS2_build="STRIP VIMLANG $BUILD_common" local -r CLFS3_build=" $BUILD_common" + # System Settings by book (only LFS for now) + local -r LFS_system="HOSTNAME INTERFACE IP_ADDR GATEWAY PREFIX BROADCAST DOMAIN DNS1 DNS2 FONT CONSOLE_MAP UNICODE KEYMAP" + # Full list of books settings - local -r lfs_PARAM_LIST="$LFS_book $GENERAL_common $LFS_build $ADVANCED_chroot $ADVANCED_common" + local -r lfs_PARAM_LIST="$LFS_book $GENERAL_common $LFS_build $LFS_system $ADVANCED_chroot $ADVANCED_common" local -r hlfs_PARAM_LIST="$HLFS_book $GENERAL_common $HLFS_build $ADVANCED_chroot $ADVANCED_common" local -r clfs_PARAM_LIST="$CLFS_book $GENERAL_common $CLFS_build $ADVANCED_chroot $ADVANCED_common" local -r clfs2_PARAM_LIST="$CLFS2_book $GENERAL_common $CLFS2_build $ADVANCED_common" @@ -184,6 +187,11 @@ inline_doc echo ;; + # Treatment of HOSTNAME + HOSTNAME) echo -e "`eval echo $PARAM_VALS`" + [[ "${!config_param}" = "**EDIT ME**" ]] && write_error_and_die + ;; + # Display non-validated envars found in ${PROGNAME}_PARAM_LIST * ) echo -e "`eval echo $PARAM_VALS`" ;; diff --git a/jhalfs b/jhalfs index cf0e3e5..4019cba 100755 --- a/jhalfs +++ b/jhalfs @@ -140,6 +140,7 @@ SET_HARDENED_TMP=${SET_HARDENED_TMP:=n} SET_WARNINGS=${SET_WARNINGS:=n} SET_MISC=${SET_MISC:=n} SET_BLOWFISH=${SET_BLOWFISH:=n} +UNICODE=${UNICODE:=n} if [[ "${NO_PROGRESS_BAR}" = "y" ]] ; then NO_PROGRESS="#"