]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - make.sh
make.sh: Automatically determine parallelism flags.
[people/teissler/ipfire-2.x.git] / make.sh
diff --git a/make.sh b/make.sh
index 662f2c0dedec3b4ae54f83fdfd9f29e7cd985978..fe3634f0bb19c0d795f863652e77d22a069f6c2b 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -17,7 +17,7 @@
 # along with IPFire; if not, write to the Free Software                    #
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
 #                                                                          #
-# Copyright (C) 2007-2012 IPFire Team <info@ipfire.org>.                   #
+# Copyright (C) 2007-2013 IPFire Team <info@ipfire.org>.                   #
 #                                                                          #
 ############################################################################
 #
 NAME="IPFire"                                                  # Software name
 SNAME="ipfire"                                                 # Short name
 VERSION="2.13"                                                 # Version number
-CORE="70"                                                      # Core Level (Filename)
-PAKFIRE_CORE="70"                                              # Core Level (PAKFIRE)
+CORE="73"                                                      # Core Level (Filename)
+PAKFIRE_CORE="72"                                              # Core Level (PAKFIRE)
 GIT_BRANCH=`git status | head -n1 | cut -d" " -f4`             # Git Branch
 SLOGAN="www.ipfire.org"                                                # Software slogan
 CONFIG_ROOT=/var/ipfire                                                # Configuration rootdir
 NICE=10                                                                # Nice level
 MAX_RETRIES=1                                                  # prefetch/check loop
-BUILD_IMAGES=1                                                 # Build USB, Flash and Xen Images
+BUILD_IMAGES=1                                                 # Flash and Xen Downloader
 KVER=`grep --max-count=1 VER lfs/linux | awk '{ print $3 }'`
 MACHINE=`uname -m`
 GIT_TAG=$(git tag | tail -1)                                   # Git Tag
 GIT_LASTCOMMIT=$(git log | head -n1 | cut -d" " -f2 |head -c8) # Last commit
-TOOLCHAINVER=6
+TOOLCHAINVER=7
 
 BUILDMACHINE=$MACHINE
     if [ "$MACHINE" = "x86_64" ]; then
@@ -179,11 +179,12 @@ prepareenv() {
     set +h
     LC_ALL=POSIX
     if [ -z $MAKETUNING ]; then
-        if [ "${MACHINE:0:3}" = "arm" ]; then
-            MAKETUNING="-j2"
-        else
-            MAKETUNING="-j6"
-        fi
+       CPU_COUNT="$(getconf _NPROCESSORS_ONLN 2>/dev/null)"
+       if [ -z "${CPU_COUNT}" ]; then
+               CPU_COUNT=1
+       fi
+
+       MAKETUNING="-j$(( ${CPU_COUNT} * 2 + 1 ))"
     fi
     export LFS LC_ALL CFLAGS CXXFLAGS MAKETUNING
     unset CC CXX CPP LD_LIBRARY_PATH LD_PRELOAD
@@ -337,6 +338,7 @@ buildbase() {
     lfsmake2 gzip
     lfsmake2 inetutils
     lfsmake2 iproute2
+    lfsmake2 jwhois
     lfsmake2 kbd
     lfsmake2 less
     lfsmake2 make
@@ -355,6 +357,7 @@ buildbase() {
     lfsmake2 util-linux
     lfsmake2 vim
     lfsmake2 xz
+    lfsmake2 paxctl
     lfsmake2 grub
 }
 
@@ -376,75 +379,60 @@ buildipfire() {
   ipfiremake dvb-firmwares
   ipfiremake zd1211-firmware
   ipfiremake rpi-firmware
+  ipfiremake bc
   ipfiremake u-boot
 
   if [ "${MACHINE_TYPE}" != "arm" ]; then
 
-    # x86-xen (Legacy XEN) kernel build
-    ipfiremake linux2                  KCFG="-xen"
-    ipfiremake v4l-dvb                 KCFG="-xen"
-    ipfiremake mISDN                   KCFG="-xen"
-    ipfiremake cryptodev               KCFG="-xen"
-    ipfiremake compat-drivers          KCFG="-xen"
-    ipfiremake r8169                   KCFG="-xen"
-    ipfiremake r8168                   KCFG="-xen"
-    ipfiremake r8101                   KCFG="-xen"
-    ipfiremake e1000                   KCFG="-xen"
-    ipfiremake e1000e                  KCFG="-xen"
-    ipfiremake igb                     KCFG="-xen"
-
     # x86-pae (Native and new XEN) kernel build
     ipfiremake linux                   KCFG="-pae"
-    ipfiremake kvm-kmod                        KCFG="-pae"
-    ipfiremake v4l-dvb                 KCFG="-pae"
-    ipfiremake mISDN                   KCFG="-pae"
+#    ipfiremake kvm-kmod                       KCFG="-pae"
+#    ipfiremake v4l-dvb                        KCFG="-pae"
+#    ipfiremake mISDN                  KCFG="-pae"
     ipfiremake cryptodev               KCFG="-pae"
-    ipfiremake compat-drivers          KCFG="-pae"
-    ipfiremake r8169                   KCFG="-pae"
-    ipfiremake r8168                   KCFG="-pae"
-    ipfiremake r8101                   KCFG="-pae"
-    ipfiremake e1000e                  KCFG="-pae"
-    ipfiremake igb                     KCFG="-pae"
+#    ipfiremake compat-drivers         KCFG="-pae"
+#    ipfiremake r8169                  KCFG="-pae"
+#    ipfiremake r8168                  KCFG="-pae"
+#    ipfiremake r8101                  KCFG="-pae"
+#    ipfiremake e1000e                 KCFG="-pae"
+#    ipfiremake igb                    KCFG="-pae"
 
     # x86 kernel build
     ipfiremake linux                   KCFG=""
-    ipfiremake kvm-kmod                        KCFG=""
-    ipfiremake v4l-dvb                 KCFG=""
-    ipfiremake mISDN                   KCFG=""
+#    ipfiremake kvm-kmod                       KCFG=""
+#    ipfiremake v4l-dvb                        KCFG=""
+#    ipfiremake mISDN                  KCFG=""
     ipfiremake cryptodev               KCFG=""
-    ipfiremake compat-drivers          KCFG=""
-    ipfiremake r8169                   KCFG=""
-    ipfiremake r8168                   KCFG=""
-    ipfiremake r8101                   KCFG=""
-    ipfiremake e1000e                  KCFG=""
-    ipfiremake igb                     KCFG=""
+#    ipfiremake compat-drivers         KCFG=""
+#    ipfiremake r8169                  KCFG=""
+#    ipfiremake r8168                  KCFG=""
+#    ipfiremake r8101                  KCFG=""
+#    ipfiremake e1000e                 KCFG=""
+#    ipfiremake igb                    KCFG=""
 
   else
     # arm-rpi (Raspberry Pi) kernel build
     ipfiremake linux                   KCFG="-rpi"
-    ipfiremake v4l-dvb                 KCFG="-rpi"
-    ipfiremake mISDN                   KCFG="-rpi" NOPCI=1
+#    ipfiremake v4l-dvb                        KCFG="-rpi"
+#    ipfiremake mISDN                  KCFG="-rpi" NOPCI=1
     ipfiremake cryptodev               KCFG="-rpi"
-    ipfiremake compat-drivers          KCFG="-rpi"
+#    ipfiremake compat-drivers         KCFG="-rpi"
 
-    # arm-omap (Panda Board) kernel build
-    ipfiremake linux                   KCFG="-omap"
-    ipfiremake v4l-dvb                 KCFG="-omap"
-    ipfiremake mISDN                   KCFG="-omap" NOPCI=1
-    ipfiremake cryptodev               KCFG="-omap"
-    ipfiremake compat-drivers          KCFG="-omap"
+    # arm multi platform (Panda, Wandboard ...) kernel build
+    ipfiremake linux                   KCFG="-multi"
+    ipfiremake cryptodev               KCFG="-multi"
 
     # arm-kirkwood (Dreamplug, ICY-Box ...) kernel build
     ipfiremake linux                   KCFG="-kirkwood"
-    ipfiremake v4l-dvb                 KCFG="-kirkwood"
-    ipfiremake mISDN                   KCFG="-kirkwood"
+#    ipfiremake v4l-dvb                        KCFG="-kirkwood"
+#    ipfiremake mISDN                  KCFG="-kirkwood"
     ipfiremake cryptodev               KCFG="-kirkwood"
-    ipfiremake compat-drivers          KCFG="-kirkwood"
-    ipfiremake r8169                   KCFG="-kirkwood"
-    ipfiremake r8168                   KCFG="-kirkwood"
-    ipfiremake r8101                   KCFG="-kirkwood"
-#    ipfiremake e1000e                 KCFG="-kirkwood"
-    ipfiremake igb                     KCFG="-kirkwood"
+#    ipfiremake compat-drivers         KCFG="-kirkwood"
+#    ipfiremake r8169                  KCFG="-kirkwood"
+#    ipfiremake r8168                  KCFG="-kirkwood"
+#    ipfiremake r8101                  KCFG="-kirkwood"
+#   ipfiremake e1000e                  KCFG="-kirkwood"
+#    ipfiremake igb                    KCFG="-kirkwood"
 
   fi
   ipfiremake pkg-config
@@ -528,6 +516,7 @@ buildipfire() {
   ipfiremake URI
   ipfiremake HTML-Tagset
   ipfiremake HTML-Parser
+  ipfiremake HTML-Template
   ipfiremake Compress-Zlib
   ipfiremake Digest
   ipfiremake Digest-SHA1
@@ -676,7 +665,6 @@ buildipfire() {
   ipfiremake mpc
   ipfiremake git
   ipfiremake squidclamav
-  ipfiremake bc
   ipfiremake vnstat
   ipfiremake vnstati
   ipfiremake iw
@@ -751,6 +739,7 @@ buildipfire() {
   ipfiremake acpid
   ipfiremake fping
   ipfiremake telnet
+  ipfiremake xinetd
   ipfiremake libgpg-error
   ipfiremake libassuan
   ipfiremake gpgme
@@ -779,6 +768,11 @@ buildipfire() {
   ipfiremake perl-File-Tail
   ipfiremake perl-TimeDate
   ipfiremake swatch
+  ipfiremake tor
+  ipfiremake arm
+  ipfiremake wavemon
+  ipfiremake iptraf-ng
+  ipfiremake iotop
   echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild
   cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild
   echo >> $BASEDIR/build/var/ipfire/firebuild
@@ -808,7 +802,6 @@ buildinstaller() {
   LOGFILE="$BASEDIR/log/_build.installer.log"
   export LOGFILE
   ipfiremake as86
-  ipfiremake mbr
   ipfiremake memtest
   ipfiremake installer
   installmake strip
@@ -847,9 +840,6 @@ buildpackages() {
 
   # Check if there is a loop device for building in virtual environments
   if [ $BUILD_IMAGES == 1 ] && ([ -e /dev/loop/0 ] || [ -e /dev/loop0 ]); then
-       if [ "${MACHINE_TYPE}" != "arm" ]; then
-               ipfiremake usb-stick
-       fi
        ipfiremake flash-images
   fi
 
@@ -857,16 +847,7 @@ buildpackages() {
 
   ipfirepackages
 
-  # Check if there is a loop device for building in virtual environments
-  if [ $BUILD_IMAGES == 1 ] && ([ -e /dev/loop/0 ] || [ -e /dev/loop0 ]) && [ "${MACHINE_TYPE}" != "arm" ]; then
-        cp -f $BASEDIR/packages/linux-xen-*.ipfire $LFS/install/packages/
-        cp -f $BASEDIR/packages/meta-linux-xen $LFS/install/packages/
-        cp -f $BASEDIR/packages/linux-pae-*.ipfire $LFS/install/packages/
-        cp -f $BASEDIR/packages/meta-linux-pae $LFS/install/packages/
-       ipfiremake xen-image
-       rm -rf $LFS/install/packages/linux-xen-*.ipfire
-       rm -rf $LFS/install/packages/meta-linux-xen
-  fi
+  ipfiremake xen-image
   mv $LFS/install/images/*.bz2 $BASEDIR >> $LOGFILE 2>&1
 
   cd $BASEDIR