]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - make.sh
Merge branch 'dhcpd' into next
[ipfire-2.x.git] / make.sh
diff --git a/make.sh b/make.sh
index c65ad5a22cdb429616fd375b18788d416eb9bd90..576e9970fbfe63e2919e35bf61def997bbe064e4 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-2011 IPFire-Team <info@ipfire.org>.                   #
+# Copyright (C) 2007-2012 IPFire Team <info@ipfire.org>.                   #
 #                                                                          #
 ############################################################################
 #
@@ -25,8 +25,8 @@
 NAME="IPFire"                                                  # Software name
 SNAME="ipfire"                                                 # Short name
 VERSION="2.11"                                                 # Version number
-CORE="54"                                                      # Core Level (Filename)
-PAKFIRE_CORE="53"                                              # Core Level (PAKFIRE)
+CORE="62"                                                      # Core Level (Filename)
+PAKFIRE_CORE="62"                                              # 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
@@ -37,7 +37,7 @@ 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=1
+TOOLCHAINVER=3
 
 BUILDMACHINE=$MACHINE
     if [ "$MACHINE" = "x86_64" ]; then
@@ -229,9 +229,28 @@ prepareenv() {
 }
 
 buildtoolchain() {
-    if [ "$(uname -m)" = "x86_64" ]; then
-        exiterror "Cannot build toolchain on x86_64. Please use the download."
-    fi
+    local error=false
+    case "${MACHINE}:$(uname -m)" in
+        # x86
+        i586:i586|i586:i686)
+            # These are working.
+            ;;
+        i586:*)
+            error=true
+            ;;
+
+        # ARM
+        armv5tel:armv5tel|armv5tel:armv5tejl|armv5tel:armv7l)
+            # These are working.
+            ;;
+        armv5tel:*)
+            error=true
+            ;;
+    esac
+
+    ${error} && \
+        exiterror "Cannot build ${MACHINE} toolchain on $(uname -m). Please use the download if any."
+
     if [ "$(uname -r | grep ipfire)" ]; then
         exiterror "Cannot build toolchain on ipfire. Please use the download."
     fi
@@ -241,11 +260,11 @@ buildtoolchain() {
     NATIVEGCC=`gcc --version | grep GCC | awk {'print $3'}`
     export NATIVEGCC GCCmajor=${NATIVEGCC:0:1} GCCminor=${NATIVEGCC:2:1} GCCrelease=${NATIVEGCC:4:1}
     ORG_PATH=$PATH
-    export PATH=$BASEDIR/build/usr/local/bin:$BASEDIR/build/tools/bin:$PATH
     lfsmake1 ccache    PASS=1
     lfsmake1 make      PASS=1
     lfsmake1 binutils  PASS=1
     lfsmake1 gcc               PASS=1
+    export PATH=$BASEDIR/build/usr/local/bin:$BASEDIR/build/tools/bin:$PATH
     if [ "${MACHINE_TYPE}" = "arm" ]; then
         lfsmake1 linux TOOLS=1 HEADERS=1
     else
@@ -253,6 +272,7 @@ buildtoolchain() {
     fi
     lfsmake1 glibc
     lfsmake1 cleanup-toolchain PASS=1
+    lfsmake1 fake-environ
     lfsmake1 tcl
     lfsmake1 expect
     lfsmake1 dejagnu
@@ -353,6 +373,7 @@ buildipfire() {
   export LOGFILE
   ipfiremake configroot
   ipfiremake backup
+  ipfiremake bind
   ipfiremake dhcp
   ipfiremake dhcpcd
   ipfiremake libusb
@@ -364,6 +385,7 @@ buildipfire() {
   ipfiremake xz
   ipfiremake linux-firmware
   ipfiremake zd1211-firmware
+  ipfiremake fw_ath9k_htc
   ipfiremake u-boot
 
   # The xen and PAE kernels are only available for x86
@@ -398,29 +420,56 @@ buildipfire() {
     ipfiremake e1000                   KCFG="-pae"
     ipfiremake e1000e                  KCFG="-pae"
     ipfiremake igb                     KCFG="-pae"
-  fi
-
-  # Default kernel build
-  ipfiremake linux                     KCFG=""
-  ipfiremake v4l-dvb                   KCFG=""
-  ipfiremake kqemu                     KCFG=""
-  ipfiremake kvm-kmod                  KCFG=""
-  ipfiremake madwifi                   KCFG=""
-  if [ "${MACHINE_TYPE}" != "arm" ]; then
-    #todo enable alsa driver in kernel config
+    ipfiremake linux                   KCFG=""
+    ipfiremake v4l-dvb                 KCFG=""
+    ipfiremake kqemu                   KCFG=""
+    ipfiremake kvm-kmod                        KCFG=""
+    ipfiremake madwifi                 KCFG=""
     ipfiremake alsa                    KCFG="" KMOD=1
+    ipfiremake mISDN                   KCFG=""
+    ipfiremake dahdi                   KCFG="" KMOD=1
+    ipfiremake cryptodev               KCFG=""
+    ipfiremake compat-wireless         KCFG=""
+#    ipfiremake r8169                  KCFG=""
+#    ipfiremake r8168                  KCFG=""
+#    ipfiremake r8101                  KCFG=""
+    ipfiremake e1000                   KCFG=""
+    ipfiremake e1000e                  KCFG=""
+    ipfiremake igb                     KCFG=""
+  else
+    # arm-versatile kernel build
+    ipfiremake linux                   KCFG="-versatile"
+    ipfiremake v4l-dvb                 KCFG="-versatile"
+    ipfiremake kqemu                   KCFG="-versatile"
+    ipfiremake kvm-kmod                        KCFG="-versatile"
+    ipfiremake madwifi                 KCFG="-versatile"
+    ipfiremake mISDN                   KCFG="-versatile"
+    ipfiremake dahdi                   KCFG="-versatile" KMOD=1
+    ipfiremake cryptodev               KCFG="-versatile"
+    ipfiremake compat-wireless         KCFG="-versatile"
+#  ipfiremake r8169                    KCFG="-versatile"
+#  ipfiremake r8168                    KCFG="-versatile"
+#  ipfiremake r8101                    KCFG="-versatile"
+    ipfiremake e1000                   KCFG="-versatile"
+    ipfiremake e1000e                  KCFG="-versatile"
+    ipfiremake igb                     KCFG="-versatile"
+    # arm-kirkwood kernel build
+    ipfiremake linux                   KCFG="-kirkwood"
+    ipfiremake v4l-dvb                 KCFG="-kirkwood"
+    ipfiremake kqemu                   KCFG="-kirkwood"
+    ipfiremake kvm-kmod                        KCFG="-kirkwood"
+    ipfiremake madwifi                 KCFG="-kirkwood"
+    ipfiremake mISDN                   KCFG="-kirkwood"
+    ipfiremake dahdi                   KCFG="-kirkwood" KMOD=1
+    ipfiremake cryptodev               KCFG="-kirkwood"
+    ipfiremake compat-wireless         KCFG="-kirkwood"
+#  ipfiremake r8169                    KCFG="-kirkwood"
+#  ipfiremake r8168                    KCFG="-kirkwood"
+#  ipfiremake r8101                    KCFG="-kirkwood"
+    ipfiremake e1000                   KCFG="-kirkwood"
+    ipfiremake e1000e                  KCFG="-kirkwood"
+    ipfiremake igb                     KCFG="-kirkwood"
   fi
-  #undefined declaration in echo canceler try to fix later
-  ipfiremake mISDN                     KCFG=""
-  ipfiremake dahdi                     KCFG="" KMOD=1
-  ipfiremake cryptodev                 KCFG=""
-  ipfiremake compat-wireless           KCFG=""
-#  ipfiremake r8169                    KCFG=""
-#  ipfiremake r8168                    KCFG=""
-#  ipfiremake r8101                    KCFG=""
-  ipfiremake e1000                     KCFG=""
-  ipfiremake e1000e                    KCFG=""
-  ipfiremake igb                       KCFG=""
   ipfiremake pkg-config
   ipfiremake linux-atm
   ipfiremake cpio
@@ -439,6 +488,7 @@ buildipfire() {
   ipfiremake libnl
   ipfiremake libidn
   ipfiremake libjpeg
+  ipfiremake libexif
   ipfiremake libpng
   ipfiremake libtiff
   ipfiremake libart
@@ -464,7 +514,6 @@ buildipfire() {
   ipfiremake apache2                   PASS=C
   ipfiremake arping
   ipfiremake beep
-  ipfiremake bind
   ipfiremake dvdrtools
   ipfiremake dnsmasq
   ipfiremake dosfstools
@@ -523,6 +572,8 @@ buildipfire() {
   ipfiremake Text-Tabs+Wrap
   ipfiremake Locale-Country
   ipfiremake XML-Parser
+  ipfiremake Crypt-PasswdMD5
+  ipfiremake Net-Telnet
   ipfiremake python-setuptools
   ipfiremake python-clientform
   ipfiremake python-mechanize
@@ -582,6 +633,7 @@ buildipfire() {
   ipfiremake libogg
   ipfiremake libvorbis
   ipfiremake libdvbpsi
+  ipfiremake flac
   ipfiremake lame
   ipfiremake sox
   ipfiremake libshout
@@ -615,7 +667,6 @@ buildipfire() {
   ipfiremake lm_sensors
   ipfiremake liboping
   ipfiremake collectd
-  ipfiremake lcd4linux
   ipfiremake teamspeak
   ipfiremake elinks
   ipfiremake igmpproxy
@@ -714,6 +765,13 @@ buildipfire() {
   ipfiremake intltool
   ipfiremake pakfire3-deps
   ipfiremake transmission
+  ipfiremake dpfhack
+  ipfiremake lcd4linux
+  ipfiremake mtr
+  ipfiremake tcpick
+  ipfiremake minidlna
+  ipfiremake fping
+  ipfiremake telnet
   echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild
   cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild
   echo >> $BASEDIR/build/var/ipfire/firebuild
@@ -723,7 +781,7 @@ buildipfire() {
   echo >> $BASEDIR/build/var/ipfire/firebuild
   cat /proc/cpuinfo >> $BASEDIR/build/var/ipfire/firebuild
   echo $PAKFIRE_CORE > $BASEDIR/build/opt/pakfire/db/core/mine
-  if [ "$GIT_BRANCH" = "next" ]; then
+  if [ "$GIT_BRANCH" = "master" -o "$GIT_BRANCH" = "next" ]; then
        echo "$NAME $VERSION ($MACHINE) - Development Build: $GIT_LASTCOMMIT" > $BASEDIR/build/etc/system-release
   else
        echo "$NAME $VERSION ($MACHINE) - $GIT_BRANCH" > $BASEDIR/build/etc/system-release
@@ -953,6 +1011,7 @@ downloadsrc)
        ERROR=0
        for i in *; do
                if [ -f "$i" -a "$i" != "Config" ]; then
+                       lfsmakecommoncheck ${i} > /dev/null || continue
                        make -s -f $i LFS_BASEDIR=$BASEDIR MACHINE=$MACHINE \
                                MESSAGE="$i\t " md5 >> $LOGFILE 2>&1
                        if [ $? -ne 0 ]; then