diff --git a/bootscripts/lfs/lib/services/init-functions b/bootscripts/lfs/lib/services/init-functions index 9b200b414..a830a3ae6 100644 --- a/bootscripts/lfs/lib/services/init-functions +++ b/bootscripts/lfs/lib/services/init-functions @@ -67,6 +67,10 @@ SUCCESS_PREFIX="${SUCCESS} * ${NORMAL}" FAILURE_PREFIX="${FAILURE}*****${NORMAL}" WARNING_PREFIX="${WARNING} *** ${NORMAL}" +SUCCESS_SUFFIX="${BRACKET}[${SUCCESS} OK ${BRACKET}]${NORMAL}" +FAILURE_SUFFIX="${BRACKET}[${FAILURE} FAIL ${BRACKET}]${NORMAL}" +WARNING_SUFFIX="${BRACKET}[${WARNING} WARN ${BRACKET}]${NORMAL}" + BOOTLOG=/run/var/bootlog KILLDELAY=3 @@ -567,7 +571,7 @@ timespec() log_success_msg() { echo -n -e "${BMPREFIX}${@}" - echo -e "${CURS_ZERO}${SUCCESS_PREFIX}${SET_COL}${BRACKET}[${SUCCESS} OK ${BRACKET}]${NORMAL}" + echo -e "${CURS_ZERO}${SUCCESS_PREFIX}${SET_COL}${SUCCESS_SUFFIX}" # Strip non-printable characters from log file local logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'` @@ -581,7 +585,7 @@ log_success_msg() log_success_msg2() { echo -n -e "${BMPREFIX}${@}" - echo -e "${CURS_ZERO}${SUCCESS_PREFIX}${SET_COL}${BRACKET}[${SUCCESS} OK ${BRACKET}]${NORMAL}" + echo -e "${CURS_ZERO}${SUCCESS_PREFIX}${SET_COL}${SUCCESS_SUFFIX}" echo " OK" >> ${BOOTLOG} @@ -602,7 +606,7 @@ log_success_msg2() log_failure_msg() { echo -n -e "${BMPREFIX}${@}" - echo -e "${CURS_ZERO}${FAILURE_PREFIX}${SET_COL}${BRACKET}[${FAILURE} FAIL ${BRACKET}]${NORMAL}" + echo -e "${CURS_ZERO}${FAILURE_PREFIX}${SET_COL}${FAILURE_SUFFIX}" # Strip non-printable characters from log file @@ -616,7 +620,7 @@ log_failure_msg() log_failure_msg2() { echo -n -e "${BMPREFIX}${@}" - echo -e "${CURS_ZERO}${FAILURE_PREFIX}${SET_COL}${BRACKET}[${FAILURE} FAIL ${BRACKET}]${NORMAL}" + echo -e "${CURS_ZERO}${FAILURE_PREFIX}${SET_COL}${FAILURE_SUFFIX}" echo "FAIL" >> ${BOOTLOG} @@ -635,7 +639,7 @@ log_failure_msg2() log_warning_msg() { echo -n -e "${BMPREFIX}${@}" - echo -e "${CURS_ZERO}${WARNING_PREFIX}${SET_COL}${BRACKET}[${WARNING} WARN ${BRACKET}]${NORMAL}" + echo -e "${CURS_ZERO}${WARNING_PREFIX}${SET_COL}${WARNING_SUFFIX}" # Strip non-printable characters from log file local logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'` diff --git a/bootscripts/lfs/lib/services/ipv4-static b/bootscripts/lfs/lib/services/ipv4-static index 5a5693d09..16c5e473e 100755 --- a/bootscripts/lfs/lib/services/ipv4-static +++ b/bootscripts/lfs/lib/services/ipv4-static @@ -42,8 +42,13 @@ fi case "${2}" in up) - if [ "$(ip addr show ${1} | grep ${IP})" == "" ]; then - log_info_msg2 "\n" # Terminate the previous message + if [ "$(ip addr show ${1} 2>/dev/null | grep ${IP})" == "" ]; then + + # Cosmetic output not needed for multiple services + if ! $(echo ${SERVICE} | grep -q " "); then + log_info_msg2 "\n" # Terminate the previous message + fi + log_info_msg "Adding IPv4 address ${IP} to the ${1} interface..." ip addr add ${args} dev ${1} evaluate_retval @@ -64,7 +69,7 @@ case "${2}" in ;; down) - if [ "$(ip addr show ${1} | grep ${IP})" != "" ]; then + if [ "$(ip addr show ${1} 2>/dev/null | grep ${IP})" != "" ]; then log_info_msg "Removing IPv4 address ${IP} from the ${1} interface..." ip addr del ${args} dev ${1} evaluate_retval @@ -72,7 +77,7 @@ case "${2}" in if [ -n "${GATEWAY}" ]; then # Only remove the gateway if ther are no remaining ipv4 addresses - if [ "$(ip addr show ${1} | grep 'inet ')" != "" ]; then + if [ "$(ip addr show ${1} 2>/dev/null | grep 'inet ')" != "" ]; then log_info_msg "Removing default gateway..." ip route del default evaluate_retval diff --git a/bootscripts/lfs/sbin/ifdown b/bootscripts/lfs/sbin/ifdown index 0ec9867f3..8feba6729 100755 --- a/bootscripts/lfs/sbin/ifdown +++ b/bootscripts/lfs/sbin/ifdown @@ -67,20 +67,26 @@ if [ "$IFACE" = "" ]; then exit 1 fi -# This will run the service script, if SERVICE is set -if [ -n "${SERVICE}" -a -x "/lib/services/${SERVICE}" ]; then - if ip link show ${IFACE} > /dev/null 2>&1; then - IFCONFIG=${file} /lib/services/${SERVICE} ${IFACE} down - else - log_warning_msg "Interface ${1} doesn't exist." - echo_warning - fi +# Reverse the order +SERVICES= +for S in ${SERVICE}; do SERVICES="${SERVICES} ${S}"; done + +# This will run the service scripts +if ip link show ${IFACE} > /dev/null 2>&1; then + for S in ${SERVICES}; do + + if [ -n "${S}" -a -x "/lib/services/${S}" ]; then + IFCONFIG=${file} /lib/services/${S} ${IFACE} down + else + MSG="Unable to process ${file}. Either " + MSG="${MSG}the SERVICE variable was not set " + MSG="${MSG}or the specified service cannot be executed." + log_failure_msg "$MSG" + exit 1 + fi + done else - MSG="Unable to process ${file}. Either " - MSG="${MSG}the SERVICE variable was not set" - MSG="${MSG}or the specified service cannot be executed." - log_failure_msg "$MSG" - exit 1 + log_warning_msg "Interface ${1} doesn't exist." fi link_status=`ip link show ${IFACE} 2>/dev/null` diff --git a/bootscripts/lfs/sbin/ifup b/bootscripts/lfs/sbin/ifup index 42afadfce..2e3d88e49 100755 --- a/bootscripts/lfs/sbin/ifup +++ b/bootscripts/lfs/sbin/ifup @@ -55,7 +55,7 @@ file=/etc/sysconfig/ifconfig.${1} . /lib/lsb/init-functions -log_info_msg "Bringing up the ${1} interface: " +log_info_msg "Bringing up the ${1} interface... " if [ ! -r "${file}" ]; then log_warning_msg "\n${file} is missing or cannot be accessed." @@ -76,35 +76,39 @@ if [ "${IN_BOOT}" = "1" -a "${ONBOOT}" != "yes" ]; then exit 0 fi -if [ -n "${SERVICE}" -a -x "/lib/services/${SERVICE}" ]; then - if [ -z "${CHECK_LINK}" -o \ - "${CHECK_LINK}" = "y" -o \ - "${CHECK_LINK}" = "yes" -o \ - "${CHECK_LINK}" = "1" ]; then +for S in ${SERVICES}; do + if [ ! -n "${S}" -o ! -x "/lib/services/${S}" ]; then + MSG="\nUnable to process ${file}. Either " + MSG="${MSG}the SERVICE variable was not set " + MSG="${MSG}or the specified service cannot be executed." + log_failure_msg "$MSG" + exit 1 + fi +done - # Bring up the interface - if ip link show ${IFACE} > /dev/null 2>&1; then - link_status=`ip link show ${IFACE}` +if [ -z "${CHECK_LINK}" -o \ + "${CHECK_LINK}" = "y" -o \ + "${CHECK_LINK}" = "yes" -o \ + "${CHECK_LINK}" = "1" ]; then - if [ -n "${link_status}" ]; then - if ! echo "${link_status}" | grep -q UP; then - ip link set ${IFACE} up - fi + # Bring up the interface + if ip link show ${IFACE} > /dev/null 2>&1; then + link_status=`ip link show ${IFACE}` + + if [ -n "${link_status}" ]; then + if ! echo "${link_status}" | grep -q UP; then + ip link set ${IFACE} up fi - - else - log_warning_msg "\nInterface ${IFACE} doesn't exist." fi + + else + log_warning_msg "\nInterface ${IFACE} doesn't exist." + exit 0 fi - - IFCONFIG=${file} /lib/services/${SERVICE} ${IFACE} up - -else - MSG="\nUnable to process ${file}. Either " - MSG="${MSG}the SERVICE variable was not set " - MSG="${MSG}or the specified service cannot be executed." - log_failure_msg "$MSG" - exit 1 fi +for S in ${SERVICE}; do + IFCONFIG=${file} /lib/services/${S} ${IFACE} up +done + # End /sbin/ifup diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index b4879c875..ffa5bc697 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,10 @@ 2012-01-22 + + [bdubbs] - Update network bootscripts to support bridge + devices in BLFS. + [matthew] - Upgrade to Linux-3.2.1. Fixes #2999. diff --git a/chapter06/coreutils.xml b/chapter06/coreutils.xml index 226a1d9bd..1d0edba88 100644 --- a/chapter06/coreutils.xml +++ b/chapter06/coreutils.xml @@ -64,8 +64,9 @@ esac Now prepare Coreutils for compilation: -./configure --prefix=/usr --libexecdir=/usr/lib \ ---enable-no-install-program=kill,uptime +./configure --prefix=/usr \ + --libexecdir=/usr/lib \ + --enable-no-install-program=kill,uptime The meaning of the configure options: diff --git a/chapter06/glib.xml b/chapter06/glib.xml deleted file mode 100644 index 25689e915..000000000 --- a/chapter06/glib.xml +++ /dev/null @@ -1,173 +0,0 @@ - - - %general-entities; -]> - - - - - - glib - &glib-version; -
&glib-url;
-
- - Glib-&glib-version; - - - Glib - - - - - - <para>The GLib package contains a low-level core library. This is useful - for providing data structure handling for C, portability wrappers and - interfaces for such runtime functionality as an event loop, threads, - dynamic loading, and an object system.</para> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&glib-ch6-sbu;</seg> - <seg>&glib-ch6-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Glib - - Prepare Glib for compilation: - -PCRE_LIBS="-L/usr/lib -lpcre" PCRE_CFLAGS="-I/usr/include" \ -./configure --prefix=/usr --sysconfdir=/etc --with-pcre=system - - - The meaning of the configure options: - - - --with-pcre=system - - This parameter causes the build to use a system-provided - version of the PCRE library instead of an internal version. - - - - - Compile the package: - -make - - Due to dependencies on additional Perl modules and other packages not yet present - (e.g. desktop-file-utils and DBus), it is not possible to run Glib's test suite. - - Install the package: - -make install - - - - - Contents of Glib - - - Installed programs - Installed libraries - Installed directories - - - gio-querymodules, glib-genmarshal, glib-gettextize, - glib-mkenums, gobject-query, gtester and gtester-report - libgio-2.0.so, libglib-2.0.so, libgmodule-2.0.so, - libgobject-2.0.so, and libgthread-2.0.so - /usr/include/{gio-unix-2.0/gio,glib-2.0/{gio,glib,gobject}}, - /usr/lib/{gio/modules,glib-2.0/include}, - /usr/share/{gdb/auto-load,glib-2.0/{gdb, gettext/po},gtk-doc/html/{gio,glib,gobject}} - - - - - Short Descriptions - - - - - gio-querymodules - - is a C code marshaller generation utility for GLib - closures. - - gio-querymodules - - - - - - glib-gettextize - - is a variant of the gettext internationalization - utility. - - glib-gettextize - - - - - - glib-mkenums - - is a C language enum description generation utility. - - glib-mkenums - - - - - - gobject-query - - Is a small utility that draws a tree of types. - - gobject-query - - - - - - gtester - - Is a test running utility. - - gtester - - - - - - gtester-report - - Is a test report formatting utility. - - gtester-report - - - - - - Glib libraries - - contain a general purpose low-level core library. - - - - - - - -
diff --git a/chapter06/pkg-config.xml b/chapter06/pkg-config.xml deleted file mode 100644 index 13a98b396..000000000 --- a/chapter06/pkg-config.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - %general-entities; -]> - - - - - - pkg-config - &pkg-config-version; -
&pkg-config-url;
-
- - Pkg-config-&pkg-config-version; - - - Pkg-config - - - - - - <para>The pkg-config package contains a tool for passing the include path - and/or library paths to build tools during the configure and make file - execution.</para> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&pkg-config-ch6-sbu;</seg> - <seg>&pkg-config-ch6-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Pkg-config - - Pkg-Config will use an included version of Popt to parse - command line options. If an external version of Popt is desired, install - that version using the BLFS Popt build - instructions before installing Pkg-config. - - - Fix a problem with one of Pkg-config's tests: - -sed -i -e '/!done/a\ - longArg = NULL;' popt/popt.c - - Prepare Pkg-config for compilation: - -GLIB_LIBS="-L/usr/lib -lglib-2.0" \ - GLIB_CFLAGS="-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include" \ - ./configure --prefix=/usr - - Compile the package: - -make - - To test the results, issue: - -make check - - Install the package: - -make install - - - - - - Contents of Pkg-config - - - Installed program - - - pkg-config - - - - - Short Descriptions - - - - - pkg-config - - Returns meta information for the specified library or - package. - - pkg-config - - - - - - - - -
diff --git a/general.ent b/general.ent index c2c0e402a..c28144454 100644 --- a/general.ent +++ b/general.ent @@ -1,5 +1,5 @@ - - + + diff --git a/packages.ent b/packages.ent index 2f0fbd01a..b09b7e55e 100644 --- a/packages.ent +++ b/packages.ent @@ -305,7 +305,7 @@ - +