]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - make.sh
toolchain: fix full toolchain crossbuild
[ipfire-2.x.git] / make.sh
diff --git a/make.sh b/make.sh
index 1d287469dad508b97a54eac7ec1edfa19c6278e9..95748468e3b4056a851886cbadf3e40586f4e461 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -25,8 +25,8 @@
 NAME="IPFire"                                                  # Software name
 SNAME="ipfire"                                                 # Short name
 VERSION="2.17"                                                 # Version number
-CORE="90"                                                      # Core Level (Filename)
-PAKFIRE_CORE="89"                                              # Core Level (PAKFIRE)
+CORE="97"                                                      # Core Level (Filename)
+PAKFIRE_CORE="96"                                              # Core Level (PAKFIRE)
 GIT_BRANCH=`git rev-parse --abbrev-ref HEAD`                   # Git Branch
 SLOGAN="www.ipfire.org"                                                # Software slogan
 CONFIG_ROOT=/var/ipfire                                                # Configuration rootdir
@@ -36,7 +36,7 @@ BUILD_IMAGES=1                                                        # Flash and Xen Downloader
 KVER=`grep --max-count=1 VER lfs/linux | awk '{ print $3 }'`
 GIT_TAG=$(git tag | tail -1)                                   # Git Tag
 GIT_LASTCOMMIT=$(git log | head -n1 | cut -d" " -f2 |head -c8) # Last commit
-TOOLCHAINVER=9
+TOOLCHAINVER=10
 
 # New architecture variables
 BUILD_ARCH="$(uname -m)"
@@ -86,21 +86,6 @@ if [ -z $EDITOR ]; then
        [ -z $EDITOR ] && exiterror "You should have installed an editor."
 fi
 
-# Prepare string for /etc/system-release.
-SYSTEM_RELEASE="${NAME} ${VERSION} (${MACHINE})"
-if [ "$(git status -s | wc -l)" == "0" ]; then
-       GIT_STATUS=""
-else
-       GIT_STATUS="-dirty"
-fi
-case "$GIT_BRANCH" in
-       core*|beta?|rc?)
-               SYSTEM_RELEASE="${SYSTEM_RELEASE} - $GIT_BRANCH$GIT_STATUS"
-               ;;
-       *)
-               SYSTEM_RELEASE="${SYSTEM_RELEASE} - Development Build: $GIT_BRANCH/$GIT_LASTCOMMIT$GIT_STATUS"
-               ;;
-esac
 
 prepareenv() {
     ############################################################################
@@ -236,15 +221,36 @@ prepareenv() {
     # Run LFS static binary creation scripts one by one
     export CCACHE_DIR=$BASEDIR/ccache
     export CCACHE_COMPRESS=1
-    export CCACHE_COMPILERCHECK="none"
+    export CCACHE_COMPILERCHECK="string:toolchain-${TOOLCHAINVER}:${TARGET_ARCH}"
 
     # Remove pre-install list of installed files in case user erase some files before rebuild
     rm -f $BASEDIR/build/usr/src/lsalr 2>/dev/null
+
+    # Prepare string for /etc/system-release.
+    SYSTEM_RELEASE="${NAME} ${VERSION} (${MACHINE})"
+    if [ "$(git status -s | wc -l)" == "0" ]; then
+       GIT_STATUS=""
+    else
+       GIT_STATUS="-dirty"
+    fi
+    case "$GIT_BRANCH" in
+       core*|beta?|rc?)
+               SYSTEM_RELEASE="${SYSTEM_RELEASE} - $GIT_BRANCH$GIT_STATUS"
+               ;;
+       *)
+               SYSTEM_RELEASE="${SYSTEM_RELEASE} - Development Build: $GIT_BRANCH/$GIT_LASTCOMMIT$GIT_STATUS"
+               ;;
+    esac
 }
 
 buildtoolchain() {
     local error=false
     case "${TARGET_ARCH}:${BUILD_ARCH}" in
+        # x86_64
+        x86_64:x86_64)
+             # This is working.
+             ;;
+
         # x86
         i586:i586|i586:i686|i586:x86_64)
             # These are working.
@@ -281,6 +287,7 @@ buildtoolchain() {
     lfsmake1 linux                     TOOLS=1 KCFG="-headers"
     lfsmake1 glibc
     lfsmake1 cleanup-toolchain         PASS=1
+    lfsmake1 gcc                       PASS=L
     lfsmake1 binutils                  PASS=2
     lfsmake1 gcc                       PASS=2
     lfsmake1 ccache                    PASS=2
@@ -324,6 +331,7 @@ buildbase() {
     lfsmake2 gmp
     lfsmake2 gmp-compat
     lfsmake2 mpfr
+    lfsmake2 libmpc
     lfsmake2 file
     lfsmake2 gcc
     lfsmake2 sed
@@ -385,7 +393,7 @@ buildipfire() {
   ipfiremake backup
   ipfiremake pkg-config
   ipfiremake libusb
-  ipfiremake libusbx
+  ipfiremake libusb-compat
   ipfiremake libpcap
   ipfiremake ppp
   ipfiremake pptp
@@ -405,16 +413,29 @@ buildipfire() {
   ipfiremake freetype
   ipfiremake grub
   ipfiremake libmnl
+  ipfiremake libnfnetlink
+  ipfiremake libnetfilter_queue
+  ipfiremake libnetfilter_conntrack
+  ipfiremake libnetfilter_cthelper
+  ipfiremake libnetfilter_cttimeout
   ipfiremake iptables
 
   case "${TARGET_ARCH}" in
+       x86_64)
+               ipfiremake linux                        KCFG=""
+               ipfiremake backports                    KCFG=""
+               ipfiremake e1000e                       KCFG=""
+               ipfiremake igb                          KCFG=""
+               ipfiremake ixgbe                        KCFG=""
+               ipfiremake xtables-addons               KCFG=""
+               ipfiremake linux-initrd                 KCFG=""
+               ;;
        i586)
                # x86-pae (Native and new XEN) kernel build
                ipfiremake linux                        KCFG="-pae"
                ipfiremake backports                    KCFG="-pae"
-               ipfiremake cryptodev                    KCFG="-pae"
                ipfiremake e1000e                       KCFG="-pae"
-#              ipfiremake igb                          KCFG="-pae"
+               ipfiremake igb                          KCFG="-pae"
                ipfiremake ixgbe                        KCFG="-pae"
                ipfiremake xtables-addons               KCFG="-pae"
                ipfiremake linux-initrd                 KCFG="-pae"
@@ -422,9 +443,8 @@ buildipfire() {
                # x86 kernel build
                ipfiremake linux                        KCFG=""
                ipfiremake backports                    KCFG=""
-               ipfiremake cryptodev                    KCFG=""
                ipfiremake e1000e                       KCFG=""
-#              ipfiremake igb                          KCFG=""
+               ipfiremake igb                          KCFG=""
                ipfiremake ixgbe                        KCFG=""
                ipfiremake xtables-addons               KCFG=""
                ipfiremake linux-initrd                 KCFG=""
@@ -434,16 +454,14 @@ buildipfire() {
                # arm-rpi (Raspberry Pi) kernel build
                ipfiremake linux                        KCFG="-rpi"
                ipfiremake backports                    KCFG="-rpi"
-               ipfiremake cryptodev                    KCFG="-rpi"
                ipfiremake xtables-addons               KCFG="-rpi"
                ipfiremake linux-initrd                 KCFG="-rpi"
 
                # arm multi platform (Panda, Wandboard ...) kernel build
                ipfiremake linux                        KCFG="-multi"
                ipfiremake backports                    KCFG="-multi"
-               ipfiremake cryptodev                    KCFG="-multi"
                ipfiremake e1000e                       KCFG="-multi"
-#              ipfiremake igb                          KCFG="-multi"
+               ipfiremake igb                          KCFG="-multi"
                ipfiremake ixgbe                        KCFG="-multi"
                ipfiremake xtables-addons               KCFG="-multi"
                ipfiremake linux-initrd                 KCFG="-multi"
@@ -451,9 +469,8 @@ buildipfire() {
                # arm-kirkwood (Dreamplug, ICY-Box ...) kernel build
                ipfiremake linux                        KCFG="-kirkwood"
                ipfiremake backports                    KCFG="-kirkwood"
-               ipfiremake cryptodev                    KCFG="-kirkwood"
                ipfiremake e1000e                       KCFG="-kirkwood"
-#              ipfiremake igb                          KCFG="-kirkwood"
+               ipfiremake igb                          KCFG="-kirkwood"
                ipfiremake ixgbe                        KCFG="-kirkwood"
                ipfiremake xtables-addons               KCFG="-kirkwood"
                ipfiremake linux-initrd                 KCFG="-kirkwood"
@@ -476,7 +493,9 @@ buildipfire() {
   ipfiremake curl
   ipfiremake tcl
   ipfiremake sqlite
+  ipfiremake libffi
   ipfiremake python
+  ipfiremake ca-certificates
   ipfiremake fireinfo
   ipfiremake libnet
   ipfiremake libnl
@@ -579,7 +598,6 @@ buildipfire() {
   ipfiremake python-mechanize
   ipfiremake python-feedparser
   ipfiremake python-rssdler
-  ipfiremake libffi
   ipfiremake glib
   ipfiremake GeoIP
   ipfiremake fwhits
@@ -627,6 +645,7 @@ buildipfire() {
   ipfiremake screen
   ipfiremake smartmontools
   ipfiremake htop
+  ipfiremake chkconfig
   ipfiremake postfix
   ipfiremake fetchmail
   ipfiremake cyrus-imapd
@@ -634,6 +653,7 @@ buildipfire() {
   ipfiremake clamav
   ipfiremake spamassassin
   ipfiremake amavisd
+  ipfiremake dma
   ipfiremake alsa
   ipfiremake mpfire
   ipfiremake guardian
@@ -648,6 +668,7 @@ buildipfire() {
   ipfiremake libshout
   ipfiremake xvid
   ipfiremake libmpeg2
+  ipfiremake libarchive
   ipfiremake cmake
   ipfiremake gnump3d
   ipfiremake rsync
@@ -660,7 +681,6 @@ buildipfire() {
   ipfiremake ncftp
   ipfiremake etherwake
   ipfiremake bwm-ng
-  ipfiremake tripwire
   ipfiremake sysstat
   ipfiremake vsftpd
   ipfiremake strongswan
@@ -702,6 +722,11 @@ buildipfire() {
   ipfiremake mpd
   ipfiremake libmpdclient
   ipfiremake mpc
+  ipfiremake perl-Net-SMTP-SSL
+  ipfiremake perl-MIME-Base64
+  ipfiremake perl-Authen-SASL
+  ipfiremake perl-MIME-Lite
+  ipfiremake perl-Email-Date-Format
   ipfiremake git
   ipfiremake squidclamav
   ipfiremake vnstat
@@ -723,7 +748,7 @@ buildipfire() {
   ipfiremake streamripper
   ipfiremake sshfs
   ipfiremake taglib
-  ipfiremake mediatomb
+  #ipfiremake mediatomb
   ipfiremake sslh
   ipfiremake perl-gettext
   ipfiremake perl-Sort-Naturally
@@ -820,6 +845,9 @@ buildipfire() {
   ipfiremake perl-Text-CSV_XS
   ipfiremake swconfig
   ipfiremake haproxy
+  ipfiremake ipset
+  ipfiremake lua
+  ipfiremake dnsdist
 }
 
 buildinstaller() {
@@ -876,6 +904,10 @@ buildpackages() {
   mv $LFS/install/images/*.bz2 $BASEDIR >> $LOGFILE 2>&1
 
   cd $BASEDIR
+
+  # remove not useable iso on armv5tel (needed to build flash images)
+  [ "${TARGET_ARCH}" = "armv5tel" ] && rm -rf *.iso
+
   for i in `ls *.bz2 *.img.gz *.iso`; do
        md5sum $i > $i.md5
   done