# 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-2011 IPFire-Team <info@ipfire.org>. #
+# Copyright (C) 2007-2012 IPFire Team <info@ipfire.org>. #
# #
############################################################################
#
NAME="IPFire" # Software name
SNAME="ipfire" # Short name
VERSION="2.11" # Version number
-CORE="53" # Core Level (Filename)
-PAKFIRE_CORE="52" # Core Level (PAKFIRE)
+CORE="62" # Core Level (Filename)
+PAKFIRE_CORE="62" # 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=1
+TOOLCHAINVER=3
BUILDMACHINE=$MACHINE
if [ "$MACHINE" = "x86_64" ]; then
if [ -f .config ]; then
. .config
-else
- echo -e "${BOLD}No configuration found!${NORMAL}"
- echo -ne "Do you want to create one (y/N)?"
- read CREATE_CONFIG
- echo ""
- if [ "$CREATE_CONFIG" == "y" ]; then
- make_config
- fi
fi
if [ -z $EDITOR ]; then
}
buildtoolchain() {
- if [ "$(uname -m)" = "x86_64" ]; then
- exiterror "Cannot build toolchain on x86_64. Please use the download."
- fi
+ local error=false
+ case "${MACHINE}:$(uname -m)" in
+ # x86
+ i586:i586|i586:i686)
+ # These are working.
+ ;;
+ i586:*)
+ error=true
+ ;;
+
+ # ARM
+ armv5tel:armv5tel|armv5tel:armv5tejl|armv5tel:armv7l)
+ # These are working.
+ ;;
+ armv5tel:*)
+ error=true
+ ;;
+ esac
+
+ ${error} && \
+ exiterror "Cannot build ${MACHINE} toolchain on $(uname -m). Please use the download if any."
+
if [ "$(uname -r | grep ipfire)" ]; then
exiterror "Cannot build toolchain on ipfire. Please use the download."
fi
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
if [ "${MACHINE_TYPE}" = "arm" ]; then
lfsmake1 linux TOOLS=1 HEADERS=1
else
fi
lfsmake1 glibc
lfsmake1 cleanup-toolchain PASS=1
+ lfsmake1 fake-environ
lfsmake1 tcl
lfsmake1 expect
lfsmake1 dejagnu
ipfiremake xz
ipfiremake linux-firmware
ipfiremake zd1211-firmware
+ ipfiremake fw_ath9k_htc
ipfiremake u-boot
# The xen and PAE kernels are only available for x86
if [ "${MACHINE_TYPE}" != "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 kqemu
- ipfiremake kvm-kmod
- ipfiremake madwifi
- if [ "${MACHINE_TYPE}" != "arm" ]; then
- #todo enable alsa driver in kernel config
- ipfiremake alsa KMOD=1
+ ipfiremake linux KCFG="-xen"
+ ipfiremake kqemu KCFG="-xen"
+ ipfiremake v4l-dvb KCFG="-xen"
+ ipfiremake madwifi KCFG="-xen"
+ ipfiremake mISDN KCFG="-xen"
+ ipfiremake dahdi KCFG="-xen" KMOD=1
+ ipfiremake cryptodev KCFG="-xen"
+ ipfiremake compat-wireless KCFG="-xen"
+ ipfiremake r8169 KCFG="-xen"
+ ipfiremake r8168 KCFG="-xen"
+ ipfiremake r8101 KCFG="-xen"
+ ipfiremake e1000 KCFG="-xen"
+ ipfiremake e1000e KCFG="-xen"
+ ipfiremake igb KCFG="-xen"
+ ipfiremake linux KCFG="-pae"
+ ipfiremake kqemu KCFG="-pae"
+ ipfiremake kvm-kmod KCFG="-pae"
+ ipfiremake v4l-dvb KCFG="-pae"
+ ipfiremake madwifi KCFG="-pae"
+ ipfiremake alsa KCFG="-pae" KMOD=1
+ ipfiremake mISDN KCFG="-pae"
+ ipfiremake dahdi KCFG="-pae" KMOD=1
+ ipfiremake cryptodev KCFG="-pae"
+ ipfiremake compat-wireless KCFG="-pae"
+# ipfiremake r8169 KCFG="-pae"
+# ipfiremake r8168 KCFG="-pae"
+# ipfiremake r8101 KCFG="-pae"
+ ipfiremake e1000 KCFG="-pae"
+ ipfiremake e1000e KCFG="-pae"
+ ipfiremake igb KCFG="-pae"
+ ipfiremake linux KCFG=""
+ ipfiremake v4l-dvb KCFG=""
+ ipfiremake kqemu KCFG=""
+ ipfiremake kvm-kmod KCFG=""
+ ipfiremake madwifi KCFG=""
+ ipfiremake alsa KCFG="" KMOD=1
+ ipfiremake mISDN KCFG=""
+ ipfiremake dahdi KCFG="" KMOD=1
+ ipfiremake cryptodev KCFG=""
+ ipfiremake compat-wireless KCFG=""
+# ipfiremake r8169 KCFG=""
+# ipfiremake r8168 KCFG=""
+# ipfiremake r8101 KCFG=""
+ ipfiremake e1000 KCFG=""
+ ipfiremake e1000e KCFG=""
+ ipfiremake igb KCFG=""
+ else
+ # arm-versatile kernel build
+ ipfiremake linux KCFG="-versatile"
+ ipfiremake v4l-dvb KCFG="-versatile"
+ ipfiremake kqemu KCFG="-versatile"
+ ipfiremake kvm-kmod KCFG="-versatile"
+ ipfiremake madwifi KCFG="-versatile"
+ ipfiremake mISDN KCFG="-versatile"
+ ipfiremake dahdi KCFG="-versatile" KMOD=1
+ ipfiremake cryptodev KCFG="-versatile"
+ ipfiremake compat-wireless KCFG="-versatile"
+# ipfiremake r8169 KCFG="-versatile"
+# ipfiremake r8168 KCFG="-versatile"
+# ipfiremake r8101 KCFG="-versatile"
+ ipfiremake e1000 KCFG="-versatile"
+ ipfiremake e1000e KCFG="-versatile"
+ ipfiremake igb KCFG="-versatile"
+ # arm-kirkwood kernel build
+ ipfiremake linux KCFG="-kirkwood"
+ ipfiremake v4l-dvb KCFG="-kirkwood"
+ ipfiremake kqemu KCFG="-kirkwood"
+ ipfiremake kvm-kmod KCFG="-kirkwood"
+ ipfiremake madwifi KCFG="-kirkwood"
+ ipfiremake mISDN KCFG="-kirkwood"
+ ipfiremake dahdi KCFG="-kirkwood" KMOD=1
+ ipfiremake cryptodev KCFG="-kirkwood"
+ ipfiremake compat-wireless KCFG="-kirkwood"
+# ipfiremake r8169 KCFG="-kirkwood"
+# ipfiremake r8168 KCFG="-kirkwood"
+# ipfiremake r8101 KCFG="-kirkwood"
+ ipfiremake e1000 KCFG="-kirkwood"
+ ipfiremake e1000e KCFG="-kirkwood"
+ ipfiremake igb KCFG="-kirkwood"
fi
- #undefined declaration in echo canceler try to fix later
- ipfiremake mISDN
- ipfiremake dahdi KMOD=1
- ipfiremake cryptodev
- ipfiremake compat-wireless
-# ipfiremake r8169
-# ipfiremake r8168
-# ipfiremake r8101
- ipfiremake e1000
- ipfiremake e1000e
- ipfiremake igb
ipfiremake pkg-config
ipfiremake linux-atm
ipfiremake cpio
ipfiremake libnl
ipfiremake libidn
ipfiremake libjpeg
+ ipfiremake libexif
ipfiremake libpng
ipfiremake libtiff
ipfiremake libart
ipfiremake Text-Tabs+Wrap
ipfiremake Locale-Country
ipfiremake XML-Parser
+ ipfiremake Crypt-PasswdMD5
+ ipfiremake Net-Telnet
ipfiremake python-setuptools
ipfiremake python-clientform
ipfiremake python-mechanize
ipfiremake libogg
ipfiremake libvorbis
ipfiremake libdvbpsi
+ ipfiremake flac
ipfiremake lame
ipfiremake sox
ipfiremake libshout
ipfiremake lm_sensors
ipfiremake liboping
ipfiremake collectd
- ipfiremake lcd4linux
ipfiremake teamspeak
ipfiremake elinks
ipfiremake igmpproxy
ipfiremake intltool
ipfiremake pakfire3-deps
ipfiremake transmission
+ ipfiremake dpfhack
+ ipfiremake lcd4linux
+ ipfiremake mtr
+ ipfiremake tcpick
+ ipfiremake minidlna
+ ipfiremake fping
+ ipfiremake telnet
echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild
cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild
echo >> $BASEDIR/build/var/ipfire/firebuild
echo >> $BASEDIR/build/var/ipfire/firebuild
cat /proc/cpuinfo >> $BASEDIR/build/var/ipfire/firebuild
echo $PAKFIRE_CORE > $BASEDIR/build/opt/pakfire/db/core/mine
- if [ "$GIT_BRANCH" = "next" ]; then
- echo "$NAME $VERSION - (Development Build: $GIT_LASTCOMMIT)" > $BASEDIR/build/etc/system-release
+ if [ "$GIT_BRANCH" = "master" -o "$GIT_BRANCH" = "next" ]; then
+ echo "$NAME $VERSION ($MACHINE) - Development Build: $GIT_LASTCOMMIT" > $BASEDIR/build/etc/system-release
else
- echo "$NAME $VERSION - $GIT_BRANCH" > $BASEDIR/build/etc/system-release
+ echo "$NAME $VERSION ($MACHINE) - $GIT_BRANCH" > $BASEDIR/build/etc/system-release
fi
}
ERROR=0
for i in *; do
if [ -f "$i" -a "$i" != "Config" ]; then
+ lfsmakecommoncheck ${i} > /dev/null || continue
make -s -f $i LFS_BASEDIR=$BASEDIR MACHINE=$MACHINE \
MESSAGE="$i\t " md5 >> $LOGFILE 2>&1
if [ $? -ne 0 ]; then