# 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-2014 IPFire Team <info@ipfire.org>. #
+# Copyright (C) 2007-2015 IPFire Team <info@ipfire.org>. #
# #
############################################################################
#
NAME="IPFire" # Software name
SNAME="ipfire" # Short name
VERSION="2.17" # Version number
-CORE="89" # Core Level (Filename)
-PAKFIRE_CORE="89" # Core Level (PAKFIRE)
+CORE="95" # Core Level (Filename)
+PAKFIRE_CORE="94" # 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
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=8
+TOOLCHAINVER=10
# New architecture variables
BUILD_ARCH="$(uname -m)"
[ -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() {
############################################################################
# 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.
export LOGFILE
ipfiremake configroot
ipfiremake backup
+ ipfiremake pkg-config
ipfiremake libusb
- ipfiremake libusbx
+ ipfiremake libusb-compat
ipfiremake libpcap
ipfiremake ppp
ipfiremake pptp
ipfiremake multipath-tools
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 cryptodev 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 e1000e KCFG="-pae"
# ipfiremake igb KCFG="-pae"
ipfiremake ixgbe KCFG="-pae"
+ ipfiremake xtables-addons KCFG="-pae"
ipfiremake linux-initrd KCFG="-pae"
# x86 kernel build
ipfiremake e1000e KCFG=""
# ipfiremake igb KCFG=""
ipfiremake ixgbe KCFG=""
+ ipfiremake xtables-addons KCFG=""
ipfiremake linux-initrd KCFG=""
;;
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 e1000e KCFG="-multi"
# ipfiremake igb KCFG="-multi"
ipfiremake ixgbe KCFG="-multi"
+ ipfiremake xtables-addons KCFG="-multi"
ipfiremake linux-initrd KCFG="-multi"
# arm-kirkwood (Dreamplug, ICY-Box ...) kernel build
ipfiremake e1000e KCFG="-kirkwood"
# ipfiremake igb KCFG="-kirkwood"
ipfiremake ixgbe KCFG="-kirkwood"
+ ipfiremake xtables-addons KCFG="-kirkwood"
ipfiremake linux-initrd KCFG="-kirkwood"
;;
esac
- ipfiremake pkg-config
+ ipfiremake xtables-addons USPACE="1"
ipfiremake openssl
- ipfiremake openssl-compat
+ [ "${TARGET_ARCH}" = "i586" ] && ipfiremake openssl KCFG='-sse2'
ipfiremake libgpg-error
ipfiremake libgcrypt
ipfiremake libassuan
ipfiremake curl
ipfiremake tcl
ipfiremake sqlite
+ ipfiremake libffi
ipfiremake python
+ ipfiremake ca-certificates
ipfiremake fireinfo
ipfiremake libnet
ipfiremake libnl
ipfiremake openldap
ipfiremake apache2
ipfiremake php
- ipfiremake apache2 PASS=C
+ ipfiremake web-user-interface
+ ipfiremake flag-icons
ipfiremake jquery
ipfiremake arping
ipfiremake beep
ipfiremake mtools
ipfiremake initscripts
ipfiremake whatmask
- ipfiremake libmnl
- ipfiremake iptables
ipfiremake conntrack-tools
ipfiremake libupnp
ipfiremake ipaddr
ipfiremake python-mechanize
ipfiremake python-feedparser
ipfiremake python-rssdler
- ipfiremake libffi
ipfiremake glib
ipfiremake GeoIP
ipfiremake fwhits
ipfiremake screen
ipfiremake smartmontools
ipfiremake htop
+ ipfiremake chkconfig
ipfiremake postfix
ipfiremake fetchmail
ipfiremake cyrus-imapd
ipfiremake clamav
ipfiremake spamassassin
ipfiremake amavisd
+ ipfiremake dma
ipfiremake alsa
ipfiremake mpfire
ipfiremake guardian
ipfiremake libshout
ipfiremake xvid
ipfiremake libmpeg2
+ ipfiremake libarchive
ipfiremake cmake
ipfiremake gnump3d
ipfiremake rsync
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
ipfiremake squid-accounting
ipfiremake pigz
ipfiremake tmux
+ ipfiremake perl-Text-CSV_XS
ipfiremake swconfig
ipfiremake haproxy
}
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
cd $BASEDIR
tools/checknewlog.pl
- tools/checkwronginitlinks
+ tools/checkrootfiles
cd $PWD
beautify build_end