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="96" # Core Level (Filename)
+PAKFIRE_CORE="95" # 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=9
+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.
ipfiremake backup
ipfiremake pkg-config
ipfiremake libusb
- ipfiremake libusbx
+ ipfiremake libusb-compat
ipfiremake libpcap
ipfiremake ppp
ipfiremake pptp
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"
# 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=""
# 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"
# 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"
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 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 perl-Text-CSV_XS
ipfiremake swconfig
ipfiremake haproxy
+ ipfiremake ipset
}
buildinstaller() {
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