# 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 IPFire-Team <info@ipfire.org>. #
+# Copyright (C) 2007-2011 IPFire-Team <info@ipfire.org>. #
# #
############################################################################
#
NAME="IPFire" # Software name
SNAME="ipfire" # Short name
-VERSION="2.9beta1" # Version number
-CORE="43" # Core Level (Filename)
-PAKFIRE_CORE="43" # Core Level (PAKFIRE)
+VERSION="2.9" # Version number
+CORE="52" # Core Level (Filename)
+PAKFIRE_CORE="51" # 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
set +h
LC_ALL=POSIX
if [ -z $MAKETUNING ]; then
- MAKETUNING="-j6"
+ if [ "${MACHINE:0:3}" = "arm" ]; then
+ MAKETUNING="-j2"
+ else
+ MAKETUNING="-j6"
+ fi
fi
export LFS LC_ALL CFLAGS CXXFLAGS MAKETUNING
unset CC CXX CPP LD_LIBRARY_PATH LD_PRELOAD
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}
+ 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
- lfsmake1 linux-libc-header
+ if [ "${MACHINE}" = "arm" ]; then
+ lfsmake1 linux TOOLS=1 HEADERS=1
+ else
+ lfsmake1 linux-libc-header
+ fi
lfsmake1 glibc
lfsmake1 cleanup-toolchain PASS=1
lfsmake1 tcl
lfsmake1 grep
lfsmake1 gzip
lfsmake1 m4
- lfsmake1 make
+ lfsmake1 make PASS=2
lfsmake1 patch
lfsmake1 perl
lfsmake1 sed
LOGFILE="$BASEDIR/log/_build.base.log"
export LOGFILE
lfsmake2 stage2
- lfsmake2 linux-libc-header
+ if [ "${MACHINE}" = "arm" ]; then
+ lfsmake2 linux HEADERS=1
+ else
+ lfsmake2 linux-libc-header
+ fi
lfsmake2 man-pages
lfsmake2 glibc
lfsmake2 cleanup-toolchain PASS=3
lfsmake2 udev
lfsmake2 util-linux
lfsmake2 vim
- lfsmake2 grub
+
+ # ARM cannot use grub.
+ if [ "${MACHINE}" != "arm" ]; then
+ lfsmake2 grub
+ fi
}
buildipfire() {
ipfiremake which
ipfiremake xz
ipfiremake linux-firmware
- ipfiremake linux XEN=1
- ipfiremake kqemu XEN=1
- ipfiremake v4l-dvb XEN=1
- ipfiremake madwifi XEN=1
- ipfiremake mISDN XEN=1
- ipfiremake dahdi XEN=1 KMOD=1
- ipfiremake cryptodev XEN=1
- ipfiremake compat-wireless XEN=1
-# ipfiremake r8169 XEN=1
-# ipfiremake r8168 XEN=1
-# ipfiremake r8101 XEN=1
- ipfiremake e1000 XEN=1
- ipfiremake e1000e XEN=1
- ipfiremake igb XEN=1
- ipfiremake linux PAE=1
- ipfiremake kqemu PAE=1
- ipfiremake kvm-kmod PAE=1
- ipfiremake v4l-dvb PAE=1
- ipfiremake madwifi PAE=1
- ipfiremake alsa PAE=1 KMOD=1
- ipfiremake mISDN PAE=1
- ipfiremake dahdi PAE=1 KMOD=1
- ipfiremake cryptodev PAE=1
- ipfiremake compat-wireless PAE=1
-# ipfiremake r8169 PAE=1
-# ipfiremake r8168 PAE=1
-# ipfiremake r8101 PAE=1
- ipfiremake e1000 PAE=1
- ipfiremake e1000e PAE=1
- ipfiremake igb PAE=1
- ipfiremake linux
- ipfiremake kqemu
- ipfiremake kvm-kmod
+ ipfiremake zd1211-firmware
+
+ # The xen and PAE kernels are only available for x86
+ if [ "${MACHINE}" != "arm" ]; then
+ ipfiremake linux XEN=1
+ ipfiremake kqemu XEN=1
+ ipfiremake v4l-dvb XEN=1
+ ipfiremake madwifi XEN=1
+ ipfiremake mISDN XEN=1
+ ipfiremake dahdi XEN=1 KMOD=1
+ ipfiremake cryptodev XEN=1
+ ipfiremake compat-wireless XEN=1
+ ipfiremake r8169 XEN=1
+ ipfiremake r8168 XEN=1
+ ipfiremake r8101 XEN=1
+ ipfiremake e1000 XEN=1
+ ipfiremake e1000e XEN=1
+ ipfiremake igb XEN=1
+ ipfiremake linux PAE=1
+ ipfiremake kqemu PAE=1
+ ipfiremake kvm-kmod PAE=1
+ ipfiremake v4l-dvb PAE=1
+ ipfiremake madwifi PAE=1
+ ipfiremake alsa PAE=1 KMOD=1
+ ipfiremake mISDN PAE=1
+ ipfiremake dahdi PAE=1 KMOD=1
+ ipfiremake cryptodev PAE=1
+ ipfiremake compat-wireless PAE=1
+# ipfiremake r8169 PAE=1
+# ipfiremake r8168 PAE=1
+# ipfiremake r8101 PAE=1
+ ipfiremake e1000 PAE=1
+ ipfiremake e1000e PAE=1
+ ipfiremake igb PAE=1
+ fi
+
+ # Default kernel build
+ #ipfiremake linux
ipfiremake v4l-dvb
- ipfiremake madwifi
- ipfiremake alsa KMOD=1
- ipfiremake mISDN
+
+ # Virtualization helpers are only available for x86.
+ if [ "${MACHINE}" != "arm" ]; then
+ ipfiremake kqemu
+ ipfiremake kvm-kmod
+ fi
+ #ipfiremake madwifi
+ #ipfiremake alsa KMOD=1
+ #ipfiremake mISDN
ipfiremake dahdi KMOD=1
ipfiremake cryptodev
- ipfiremake compat-wireless
+ #ipfiremake compat-wireless
# ipfiremake r8169
# ipfiremake r8168
# ipfiremake r8101
- ipfiremake e1000
- ipfiremake e1000e
- ipfiremake igb
+ #ipfiremake e1000
+ #ipfiremake e1000e
+ #ipfiremake igb
ipfiremake pkg-config
- ipfiremake linux-atm
+ #ipfiremake linux-atm
ipfiremake cpio
installmake strip
ipfiremake pam
ipfiremake openssl
ipfiremake curl
+ ipfiremake tcl
+ ipfiremake sqlite
ipfiremake python
ipfiremake fireinfo
ipfiremake libnet
ipfiremake strongswan
ipfiremake lsof
ipfiremake centerim
- ipfiremake br2684ctl
+ #ipfiremake br2684ctl
ipfiremake pcmciautils
ipfiremake lm_sensors
ipfiremake liboping
ipfiremake igmpproxy
ipfiremake fbset
ipfiremake sdl
- ipfiremake qemu
- ipfiremake qemu-kqemu
+ #ipfiremake qemu
+ #ipfiremake qemu-kqemu
ipfiremake sane
ipfiremake netpbm
ipfiremake phpSANE
ipfiremake tunctl
ipfiremake nagios
+ ipfiremake nagios_nrpe
ipfiremake ebtables
ipfiremake fontconfig
ipfiremake freefont
ipfiremake splix
ipfiremake streamripper
ipfiremake sshfs
- ipfiremake sqlite
ipfiremake taglib
ipfiremake mediatomb
ipfiremake sslh
ipfiremake pound
ipfiremake minicom
ipfiremake ddrescue
- ipfiremake tcl
ipfiremake imspector
ipfiremake miniupnpd
ipfiremake client175
+ ipfiremake powertop
+ ipfiremake parted
+ ipfiremake swig
+ ipfiremake python-m2crypto
+ ipfiremake wireless-regdb
+ ipfiremake crda
+ ipfiremake libsatsolver
+ ipfiremake python-satsolver
+ ipfiremake python-distutils-extra
+ ipfiremake python-lzma
+ ipfiremake python-progressbar
+ ipfiremake python-xattr
+ ipfiremake intltool
+ ipfiremake pakfire3-deps
echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild
cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild
echo >> $BASEDIR/build/var/ipfire/firebuild
fi
mv $LFS/install/images/*.bz2 $BASEDIR >> $LOGFILE 2>&1
+ cd $BASEDIR
+ for i in `ls *.bz2 *.img.gz *.iso`; do
+ md5sum $i > $i.md5
+ done
+ cd $PWD
+
# Cleanup
stdumount
rm -rf $BASEDIR/build/tmp/*
buildpackages
beautify build_stage "Checking Logfiles for new Files"
- cd ..
+
+ cd $BASEDIR
tools/checknewlog.pl
+ cd $PWD
beautify build_end
;;
if [ -h /tools ]; then
rm -f /tools
fi
+ rm -f $BASEDIR/ipfire-*
beautify message DONE
;;
downloadsrc)
for i in *; do
if [ -f "$i" -a "$i" != "Config" ]; then
echo -ne "Loading $i"
- make -s -f $i LFS_BASEDIR=$BASEDIR MESSAGE="$i\t ($c/$MAX_RETRIES)" download >> $LOGFILE 2>&1
+ make -s -f $i LFS_BASEDIR=$BASEDIR MACHINE=$MACHINE \
+ MESSAGE="$i\t ($c/$MAX_RETRIES)" download >> $LOGFILE 2>&1
if [ $? -ne 0 ]; then
beautify message FAIL
FINISHED=0
ERROR=0
for i in *; do
if [ -f "$i" -a "$i" != "Config" ]; then
- make -s -f $i LFS_BASEDIR=$BASEDIR MESSAGE="$i\t " md5 >> $LOGFILE 2>&1
+ make -s -f $i LFS_BASEDIR=$BASEDIR MACHINE=$MACHINE \
+ MESSAGE="$i\t " md5 >> $LOGFILE 2>&1
if [ $? -ne 0 ]; then
echo -ne "MD5 difference in lfs/$i"
beautify message FAIL
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 \
build/{bin,etc,usr/bin,usr/local} \
- build/tools/{bin,etc,*-linux-gnu,include,lib,libexec,sbin,share,var} \
+ build/tools/{bin,etc,*-linux-gnu*,include,lib,libexec,sbin,share,var} \
log >> $LOGFILE
md5sum cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE.tar.gz \
> cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE.md5