NAME="IPFire" # Software name
SNAME="ipfire" # Short name
VERSION="2.7" # Version number
-CORE="40" # Core Level (Filename)
-PAKFIRE_CORE="39" # Core Level (PAKFIRE)
+CORE="43" # Core Level (Filename)
+PAKFIRE_CORE="42" # 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
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=2
+TOOLCHAINVER=3
IPFVER="full" # Which versions should be compiled? (full|devel)
+BUILDMACHINE=$MACHINE
+ if [ "$MACHINE" = "x86_64" ]; then
+ BUILDMACHINE="i686";
+ linux32="linux32";
+ fi
+
+
# Debian specific settings
if [ ! -e /etc/debian_version ]; then
FULLPATH=`which $0`
# Run LFS static binary creation scripts one by one
export CCACHE_DIR=$BASEDIR/ccache
+ export CCACHE_COMPRESS=1
export CCACHE_HASHDIR=1
# Remove pre-install list of installed files in case user erase some files before rebuild
}
buildtoolchain() {
+ if [ "$MACHINE" = "x86_64" ]; then
+ exiterror "Cannot build toolchain on x86_64. Please use the download."
+ fi
+
LOGFILE="$BASEDIR/log/_build.toolchain.log"
export LOGFILE
ORG_PATH=$PATH
NATIVEGCC=`gcc --version | grep GCC | awk {'print $3'}`
export NATIVEGCC GCCmajor=${NATIVEGCC:0:1} GCCminor=${NATIVEGCC:2:1} GCCrelease=${NATIVEGCC:4:1}
- lfsmake1 ccache
+ lfsmake1 ccache PASS=1
lfsmake1 binutils PASS=1
lfsmake1 gcc PASS=1
export PATH=$BASEDIR/build/usr/local/bin:$BASEDIR/build/tools/bin:$PATH
lfsmake1 dejagnu
lfsmake1 gcc PASS=2
lfsmake1 binutils PASS=2
+ lfsmake1 ccache PASS=2
lfsmake1 ncurses
lfsmake1 bash
lfsmake1 bzip2
ipfiremake r8101 XEN=1
ipfiremake e1000 XEN=1
ipfiremake e1000e XEN=1
+ ipfiremake igb XEN=1
ipfiremake linux
ipfiremake kqemu
ipfiremake kvm-kmod
ipfiremake r8101
ipfiremake e1000
ipfiremake e1000e
+ ipfiremake igb
ipfiremake pkg-config
ipfiremake linux-atm
ipfiremake cpio
ipfiremake pound
ipfiremake minicom
ipfiremake ddrescue
+ ipfiremake imspector
echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild
cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild
echo >> $BASEDIR/build/var/ipfire/firebuild
case "$1" in
build)
clear
- BUILDMACHINE=`uname -m`
PACKAGE=`ls -v -r $BASEDIR/cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE.tar.gz 2> /dev/null | head -n 1`
#only restore on a clean disk
if [ ! -f log/cleanup-toolchain-2-tools ]; then
prepareenv
beautify build_stage "Toolchain compilation - Native GCC: `gcc --version | grep GCC | awk {'print $3'}`"
buildtoolchain
- BUILDMACHINE=`uname -m`
echo "`date -u '+%b %e %T'`: Create toolchain tar.gz for $BUILDMACHINE" | tee -a $LOGFILE
test -d $BASEDIR/cache/toolchains || mkdir -p $BASEDIR/cache/toolchains
cd $BASEDIR && tar -zc --exclude='log/_build.*.log' -f cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE.tar.gz \
stdumount
;;
gettoolchain)
- BUILDMACHINE=`uname -m`
# arbitrary name to be updated in case of new toolchain package upload
PACKAGE=$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE
if [ ! -f $BASEDIR/cache/toolchains/$PACKAGE.tar.gz ]; then
beautify message FAIL
exit 1
fi
+
URL_SOURCE=$(grep URL_SOURCE lfs/Config | awk '{ print $3 }')
- REMOTE_FILES=$(echo "ls -1" | sftp -C ${IPFIRE_USER}@${URL_SOURCE})
+ REMOTE_FILES=$(echo "ls -1 --ignore=toolchains" | sftp -C ${IPFIRE_USER}@${URL_SOURCE})
cd $BASEDIR/cache/
- for file in $(ls -1); do
+ for file in $(ls -1 --ignore=toolchains); do
grep -q "$file" <<<$REMOTE_FILES && continue
NEW_FILES="$NEW_FILES $file"
done