]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - make.sh
correct wrong headline at hardwaregraphs.cgi
[ipfire-2.x.git] / make.sh
diff --git a/make.sh b/make.sh
index c0880573f78df8dbb788fa6dbc60398dd147eb3e..87125c0ded8c3c26afd1e9b42aa95e4a9f9f4da5 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -52,27 +52,33 @@ else
        INTERACTIVE=false
 fi
 
-## Screen Dimentions
-# Find current screen size
-if [ -z "${COLUMNS}" ]; then
-       COLUMNS=$(stty size)
-       COLUMNS=${COLUMNS##* }
-fi
+# Sets or adjusts pretty formatting variables
+resize_terminal() {
+       ## Screen Dimentions
+       # Find current screen size
+       COLUMNS=$(tput cols)
+
+       # When using remote connections, such as a serial port, stty size returns 0
+       if ! ${INTERACTIVE} || [ "${COLUMNS}" = "0" ]; then
+               COLUMNS=80
+       fi
 
-# When using remote connections, such as a serial port, stty size returns 0
-if ! ${INTERACTIVE} || [ "${COLUMNS}" = "0" ]; then
-       COLUMNS=80
-fi
+       # Measurements for positioning result messages
+       OPTIONS_WIDTH=20
+       TIME_WIDTH=12
+       STATUS_WIDTH=8
+       NAME_WIDTH=$(( COLUMNS - OPTIONS_WIDTH - TIME_WIDTH - STATUS_WIDTH ))
+       LINE_WIDTH=$(( COLUMNS - STATUS_WIDTH ))
+
+       TIME_COL=$(( NAME_WIDTH + OPTIONS_WIDTH ))
+       STATUS_COL=$(( TIME_COL + TIME_WIDTH ))
+}
 
-## Measurements for positioning result messages
-OPTIONS_WIDTH=20
-TIME_WIDTH=12
-STATUS_WIDTH=8
-NAME_WIDTH=$(( COLUMNS - OPTIONS_WIDTH - TIME_WIDTH - STATUS_WIDTH ))
-LINE_WIDTH=$(( COLUMNS - STATUS_WIDTH ))
+# Initially setup terminal
+resize_terminal
 
-TIME_COL=$(( COLUMNS - TIME_WIDTH - STATUS_WIDTH ))
-STATUS_COL=$(( COLUMNS - STATUS_WIDTH ))
+# Call resize_terminal when terminal is being resized
+trap "resize_terminal" WINCH
 
 # Define color for messages
 BOLD="\\033[1;39m"
@@ -316,12 +322,7 @@ print_package() {
        fi
 
        printf "%-$(( ${NAME_WIDTH} - 1 ))s " "${string}"
-
-       if [ -n "${options}" ]; then
-               printf "[ %-$(( ${OPTIONS_WIDTH} - 4 ))s ]" "${options}"
-       else
-               printf "%${OPTIONS_WIDTH}s" ""
-       fi
+       printf "%$(( ${OPTIONS_WIDTH} - 1 ))s " "${options}"
 }
 
 print_runtime() {
@@ -369,7 +370,7 @@ exiterror() {
        done
 
        # Dump logfile
-       if [ -n "${LOGFILE}" ]; then
+       if [ -n "${LOGFILE}" ] && [ -e "${LOGFILE}" ]; then
                echo # empty line
 
                local line
@@ -391,7 +392,7 @@ exiterror() {
 
 prepareenv() {
        # Are we running the right shell?
-       if [ -z "${BASH}" ]; then
+       if [ -z "${BASH}" ]; then
                exiterror "BASH environment variable is not set.  You're probably running the wrong shell."
        fi
 
@@ -432,19 +433,6 @@ prepareenv() {
        # Set LFS Directory
        LFS=$BASEDIR/build
 
-       # Check ${TOOLS_DIR} symlink
-       if [ -h "${TOOLS_DIR}" ]; then
-         rm -f "${TOOLS_DIR}"
-       fi
-
-       if [ ! -e "${TOOLS_DIR}" ]; then
-          ln -s "${BASEDIR}/build${TOOLS_DIR}" "${TOOLS_DIR}"
-       fi
-
-       if [ ! -h "${TOOLS_DIR}" ]; then
-         exiterror "Could not create ${TOOLS_DIR} symbolic link"
-       fi
-
        # Setup environment
        set +h
        LC_ALL=POSIX
@@ -567,6 +555,7 @@ lfsmakecommoncheck() {
        if grep "^SUP_ARCH" ${BASEDIR}/lfs/${1} >/dev/null; then
                # Check if package supports ${BUILD_ARCH} or all architectures.
                if ! grep -E "^SUP_ARCH.*${BUILD_ARCH}|^SUP_ARCH.*all" ${BASEDIR}/lfs/${1} >/dev/null; then
+                       print_runtime 0
                        print_status SKIP
                        return 1
                fi
@@ -908,6 +897,19 @@ buildtoolchain() {
                exiterror "Could not find GCC. You will need a working build enviroment in order to build the toolchain."
        fi
 
+       # Check ${TOOLS_DIR} symlink
+       if [ -h "${TOOLS_DIR}" ]; then
+               rm -f "${TOOLS_DIR}"
+       fi
+
+       if [ ! -e "${TOOLS_DIR}" ]; then
+               ln -s "${BASEDIR}/build${TOOLS_DIR}" "${TOOLS_DIR}"
+       fi
+
+       if [ ! -h "${TOOLS_DIR}" ]; then
+               exiterror "Could not create ${TOOLS_DIR} symbolic link"
+       fi
+
        LOGFILE="$BASEDIR/log/_build.toolchain.log"
        export LOGFILE
 
@@ -1336,7 +1338,6 @@ buildipfire() {
   lfsmake2 etherwake
   lfsmake2 bwm-ng
   lfsmake2 sysstat
-  lfsmake2 vsftpd
   lfsmake2 strongswan
   lfsmake2 rng-tools
   lfsmake2 lsof
@@ -1430,7 +1431,6 @@ buildipfire() {
   lfsmake2 usb_modeswitch
   lfsmake2 usb_modeswitch_data
   lfsmake2 zerofree
-  lfsmake2 pound
   lfsmake2 minicom
   lfsmake2 ddrescue
   lfsmake2 miniupnpd
@@ -1487,7 +1487,6 @@ buildipfire() {
   lfsmake2 iptraf-ng
   lfsmake2 iotop
   lfsmake2 stunnel
-  lfsmake2 sslscan
   lfsmake2 owncloud
   lfsmake2 bacula
   lfsmake2 batctl
@@ -1536,7 +1535,7 @@ buildpackages() {
 
   
   # Generating list of packages used
-  echo -n "Generating packages list from logs" | tee -a $LOGFILE
+  print_line "Generating packages list from logs"
   rm -f $BASEDIR/doc/packages-list
   for i in `ls -1tr $BASEDIR/log/[^_]*`; do
        if [ "$i" != "$BASEDIR/log/FILES" -a -n $i ]; then
@@ -1587,19 +1586,6 @@ buildpackages() {
   stdumount
   rm -rf $BASEDIR/build/tmp/*
 
-  # Generating total list of files
-  echo -n "Generating files list from logs" | tee -a $LOGFILE
-  rm -f $BASEDIR/log/FILES
-  for i in `ls -1tr $BASEDIR/log/[^_]*`; do
-       if [ "$i" != "$BASEDIR/log/FILES" -a -n $i ]; then
-               echo "##" >>$BASEDIR/log/FILES
-               echo "## `basename $i`" >>$BASEDIR/log/FILES
-               echo "##" >>$BASEDIR/log/FILES
-               cat $i | sed "s%^\./%#%" | sort >> $BASEDIR/log/FILES
-       fi
-  done
-  print_status DONE
-
   cd $PWD
 }
 
@@ -1778,7 +1764,7 @@ toolchain)
        ${INTERACTIVE} && clear
 
        prepareenv
-       print_build_stage "Toolchain compilation"
+       print_build_stage "Toolchain compilation (${BUILD_ARCH})"
        buildtoolchain
        echo "`date -u '+%b %e %T'`: Create toolchain image for ${BUILD_ARCH}" | tee -a $LOGFILE
        test -d $BASEDIR/cache/toolchains || mkdir -p $BASEDIR/cache/toolchains