X-Git-Url: http://git.ipfire.org/?p=people%2Fteissler%2Fipfire-2.x.git;a=blobdiff_plain;f=make.sh;h=1679d3293a9f07fde8592187e3a2722809e6a084;hp=9ab16e57aab447f26bcc752089d0c661d366bb87;hb=0babec1f02fa22ed056e8359dfeebc0e510c29a6;hpb=926559088c0736da14389ca5224bd1f2e4089250 diff --git a/make.sh b/make.sh index 9ab16e57a..1679d3293 100755 --- a/make.sh +++ b/make.sh @@ -24,9 +24,9 @@ NAME="IPFire" # Software name SNAME="ipfire" # Short name -VERSION="2.9" # Version number -CORE="52" # Core Level (Filename) -PAKFIRE_CORE="51" # Core Level (PAKFIRE) +VERSION="2.11" # Version number +CORE="53" # Core Level (Filename) +PAKFIRE_CORE="52" # 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 @@ -189,7 +189,11 @@ prepareenv() { 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 @@ -251,7 +255,7 @@ buildtoolchain() { lfsmake1 make PASS=1 lfsmake1 binutils PASS=1 lfsmake1 gcc PASS=1 - if [ "${MACHINE}" = "arm" ]; then + if [ "${MACHINE_TYPE}" = "arm" ]; then lfsmake1 linux TOOLS=1 HEADERS=1 else lfsmake1 linux-libc-header @@ -282,6 +286,7 @@ buildtoolchain() { lfsmake1 tar lfsmake1 texinfo lfsmake1 util-linux + lfsmake1 strip lfsmake1 cleanup-toolchain PASS=2 export PATH=$ORG_PATH } @@ -290,7 +295,7 @@ buildbase() { LOGFILE="$BASEDIR/log/_build.base.log" export LOGFILE lfsmake2 stage2 - if [ "${MACHINE}" = "arm" ]; then + if [ "${MACHINE_TYPE}" = "arm" ]; then lfsmake2 linux HEADERS=1 else lfsmake2 linux-libc-header @@ -348,11 +353,7 @@ buildbase() { lfsmake2 udev lfsmake2 util-linux lfsmake2 vim - - # ARM cannot use grub. - if [ "${MACHINE}" != "arm" ]; then - lfsmake2 grub - fi + lfsmake2 grub } buildipfire() { @@ -371,9 +372,10 @@ buildipfire() { ipfiremake xz ipfiremake linux-firmware ipfiremake zd1211-firmware + ipfiremake u-boot # The xen and PAE kernels are only available for x86 - if [ "${MACHINE}" != "arm" ]; then + if [ "${MACHINE_TYPE}" != "arm" ]; then ipfiremake linux XEN=1 ipfiremake kqemu XEN=1 ipfiremake v4l-dvb XEN=1 @@ -407,32 +409,29 @@ buildipfire() { fi # Default kernel build - #ipfiremake linux + ipfiremake linux ipfiremake v4l-dvb - - # Virtualization helpers are only available for x86. - if [ "${MACHINE}" != "arm" ]; then - ipfiremake kqemu - ipfiremake kvm-kmod + ipfiremake kqemu + ipfiremake kvm-kmod + ipfiremake madwifi + if [ "${MACHINE_TYPE}" = "arm" ]; then + #todo enable alsa driver in kernel config + ipfiremake alsa KMOD=1 fi - #ipfiremake madwifi - #ipfiremake alsa KMOD=1 - #ipfiremake mISDN + #undefined declaration in echo canceler try to fix later + 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 cpio - - installmake strip - ipfiremake dracut ipfiremake expat ipfiremake gdbm @@ -474,7 +473,7 @@ buildipfire() { ipfiremake arping ipfiremake beep ipfiremake bind - ipfiremake cdrtools + ipfiremake dvdrtools ipfiremake dnsmasq ipfiremake dosfstools ipfiremake reiserfsprogs @@ -559,7 +558,6 @@ buildipfire() { ipfiremake wireless ipfiremake libsafe ipfiremake pakfire - ipfiremake java ipfiremake spandsp ipfiremake lzo ipfiremake openvpn @@ -607,6 +605,7 @@ buildipfire() { ipfiremake rsync ipfiremake tcpwrapper ipfiremake libevent + ipfiremake libevent2 ipfiremake portmap ipfiremake nfs ipfiremake nmap @@ -715,14 +714,14 @@ buildipfire() { ipfiremake python-m2crypto ipfiremake wireless-regdb ipfiremake crda - ipfiremake libsatsolver - ipfiremake python-satsolver + ipfiremake libsolv ipfiremake python-distutils-extra ipfiremake python-lzma ipfiremake python-progressbar ipfiremake python-xattr ipfiremake intltool ipfiremake pakfire3-deps + ipfiremake transmission echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild echo >> $BASEDIR/build/var/ipfire/firebuild @@ -732,7 +731,7 @@ buildipfire() { 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" = "master" ]; then + if [ "$GIT_BRANCH" = "next" ]; then echo "$NAME $VERSION - (Development Build: $GIT_LASTCOMMIT)" > $BASEDIR/build/etc/system-release else echo "$NAME $VERSION - $GIT_BRANCH" > $BASEDIR/build/etc/system-release @@ -778,11 +777,13 @@ buildpackages() { $0 git log # Create images for install - ipfiremake cdrom ED=$IPFVER + ipfiremake cdrom ED=$IPFVER # Check if there is a loop device for building in virtual environments - if [ $BUILD_IMAGES == 1 ] && ([ -e /dev/loop/0 ] || [ -e /dev/loop0 ]); then - ipfiremake usb-stick ED=$IPFVER + if [ $BUILD_IMAGES == 1 ] && ([ -e /dev/loop/0 ] || [ -e /dev/loop0 ]); then + if [ "${MACHINE_TYPE}" != "arm" ]; then + ipfiremake usb-stick ED=$IPFVER + fi ipfiremake flash-images ED=$IPFVER fi @@ -845,7 +846,7 @@ ipfirepackages() { case "$1" in build) clear - PACKAGE=`ls -v -r $BASEDIR/cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE.tar.gz 2> /dev/null | head -n 1` + PACKAGE=`ls -v -r $BASEDIR/cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.tar.gz 2> /dev/null | head -n 1` #only restore on a clean disk if [ ! -f log/cleanup-toolchain-2-tools ]; then if [ ! -n "$PACKAGE" ]; then @@ -936,7 +937,8 @@ downloadsrc) cd $BASEDIR/lfs for i in *; do if [ -f "$i" -a "$i" != "Config" ]; then - echo -ne "Loading $i" + lfsmakecommoncheck ${i} || continue + make -s -f $i LFS_BASEDIR=$BASEDIR MACHINE=$MACHINE \ MESSAGE="$i\t ($c/$MAX_RETRIES)" download >> $LOGFILE 2>&1 if [ $? -ne 0 ]; then @@ -977,27 +979,27 @@ toolchain) prepareenv beautify build_stage "Toolchain compilation - Native GCC: `gcc --version | grep GCC | awk {'print $3'}`" buildtoolchain - echo "`date -u '+%b %e %T'`: Create toolchain tar.gz for $BUILDMACHINE" | tee -a $LOGFILE + echo "`date -u '+%b %e %T'`: Create toolchain tar.gz for $MACHINE" | 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 \ + cd $BASEDIR && tar -zc --exclude='log/_build.*.log' -f cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.tar.gz \ build/{bin,etc,usr/bin,usr/local} \ 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 + md5sum cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.tar.gz \ + > cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.md5 stdumount ;; gettoolchain) # arbitrary name to be updated in case of new toolchain package upload - PACKAGE=$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE + PACKAGE=$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE if [ ! -f $BASEDIR/cache/toolchains/$PACKAGE.tar.gz ]; then URL_TOOLCHAIN=`grep URL_TOOLCHAIN lfs/Config | awk '{ print $3 }'` test -d $BASEDIR/cache/toolchains || mkdir -p $BASEDIR/cache/toolchains - echo "`date -u '+%b %e %T'`: Load toolchain tar.gz for $BUILDMACHINE" | tee -a $LOGFILE + echo "`date -u '+%b %e %T'`: Load toolchain tar.gz for $MACHINE" | tee -a $LOGFILE cd $BASEDIR/cache/toolchains wget -U "IPFireSourceGrabber/2.x" $URL_TOOLCHAIN/$PACKAGE.tar.gz $URL_TOOLCHAIN/$PACKAGE.md5 >& /dev/null if [ $? -ne 0 ]; then - echo "`date -u '+%b %e %T'`: error downloading $PACKAGE toolchain for $BUILDMACHINE machine" | tee -a $LOGFILE + echo "`date -u '+%b %e %T'`: error downloading $PACKAGE toolchain for $MACHINE machine" | tee -a $LOGFILE else if [ "`md5sum $PACKAGE.tar.gz | awk '{print $1}'`" = "`cat $PACKAGE.md5 | awk '{print $1}'`" ]; then echo "`date -u '+%b %e %T'`: toolchain md5 ok" | tee -a $LOGFILE