X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=blobdiff_plain;f=make.sh;h=e08f731d704e5b7f0849a007e8e47fc4b025634a;hp=2de4d2db1777898bf27529ea219ac21836672ca6;hb=df94e866a309f738cc87d0f469035172ee07a4d5;hpb=46c2a9e3532bc2b8af8714ef1e2039a80cfb99e8 diff --git a/make.sh b/make.sh index 2de4d2db17..e08f731d70 100755 --- a/make.sh +++ b/make.sh @@ -25,8 +25,8 @@ NAME="IPFire" # Software name SNAME="ipfire" # Short name VERSION="2.9" # Version number -CORE="49" # Core Level (Filename) -PAKFIRE_CORE="48" # Core Level (PAKFIRE) +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 @@ -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 @@ -243,15 +247,19 @@ buildtoolchain() { 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_TYPE}" = "arm" ]; then + lfsmake1 linux TOOLS=1 HEADERS=1 + else + lfsmake1 linux-libc-header + fi lfsmake1 glibc lfsmake1 cleanup-toolchain PASS=1 lfsmake1 tcl @@ -286,7 +294,11 @@ buildbase() { LOGFILE="$BASEDIR/log/_build.base.log" export LOGFILE lfsmake2 stage2 - lfsmake2 linux-libc-header + if [ "${MACHINE_TYPE}" = "arm" ]; then + lfsmake2 linux HEADERS=1 + else + lfsmake2 linux-libc-header + fi lfsmake2 man-pages lfsmake2 glibc lfsmake2 cleanup-toolchain PASS=3 @@ -340,7 +352,11 @@ buildbase() { lfsmake2 udev lfsmake2 util-linux lfsmake2 vim - lfsmake2 grub + + # ARM cannot use grub. + if [ "${MACHINE_TYPE}" != "arm" ]; then + lfsmake2 grub + fi } buildipfire() { @@ -358,43 +374,57 @@ 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 zd1211-firmware + + # 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 kqemu - ipfiremake kvm-kmod ipfiremake v4l-dvb - ipfiremake madwifi - ipfiremake alsa KMOD=1 - ipfiremake mISDN + + if [ "${MACHINE_TYPE}" != "arm" ]; then + # Virtualization helpers are only available for x86. + ipfiremake kqemu + ipfiremake kvm-kmod + #unsupported arch (armv5) + ipfiremake madwifi + #todo enable alsa driver in kernel config + ipfiremake alsa KMOD=1 + #undefined declaration in echo canceler try to fix later + ipfiremake mISDN + fi ipfiremake dahdi KMOD=1 ipfiremake cryptodev ipfiremake compat-wireless @@ -417,6 +447,8 @@ buildipfire() { ipfiremake pam ipfiremake openssl ipfiremake curl + ipfiremake tcl + ipfiremake sqlite ipfiremake python ipfiremake fireinfo ipfiremake libnet @@ -605,13 +637,14 @@ buildipfire() { 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 @@ -620,7 +653,7 @@ buildipfire() { ipfiremake faad2 ipfiremake ffmpeg ipfiremake videolan - ipfiremake vdr + #ipfiremake vdr ipfiremake w_scan ipfiremake icecast ipfiremake icegenerator @@ -636,9 +669,11 @@ buildipfire() { ipfiremake wpa_supplicant ipfiremake hostapd ipfiremake urlgrabber - ipfiremake syslinux + if [ "${MACHINE_TYPE}" != "arm" ]; then + ipfiremake syslinux + fi ipfiremake tftpd - ipfiremake cpufrequtils + #ipfiremake cpufrequtils ipfiremake dbus ipfiremake bluetooth ipfiremake gutenprint @@ -650,7 +685,6 @@ buildipfire() { ipfiremake splix ipfiremake streamripper ipfiremake sshfs - ipfiremake sqlite ipfiremake taglib ipfiremake mediatomb ipfiremake sslh @@ -662,7 +696,9 @@ buildipfire() { ipfiremake perl-DBD-mysql ipfiremake cacti ipfiremake icecc - ipfiremake openvmtools + if [ "${MACHINE_TYPE}" != "arm" ]; then + ipfiremake openvmtools + fi ipfiremake nagiosql ipfiremake iftop ipfiremake motion @@ -671,8 +707,8 @@ buildipfire() { ipfiremake watchdog ipfiremake libpri ipfiremake dahdi - ipfiremake asterisk - ipfiremake lcr + #ipfiremake asterisk + #ipfiremake lcr ipfiremake usb_modeswitch ipfiremake usb_modeswitch_data ipfiremake zerofree @@ -681,7 +717,6 @@ buildipfire() { ipfiremake pound ipfiremake minicom ipfiremake ddrescue - ipfiremake tcl ipfiremake imspector ipfiremake miniupnpd ipfiremake client175 @@ -689,7 +724,16 @@ buildipfire() { 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 @@ -710,9 +754,11 @@ buildinstaller() { # Run installer scripts one by one LOGFILE="$BASEDIR/log/_build.installer.log" export LOGFILE - ipfiremake as86 - ipfiremake mbr - ipfiremake memtest + if [ "${MACHINE_TYPE}" != "arm" ]; then + ipfiremake as86 + ipfiremake mbr + ipfiremake memtest + fi ipfiremake installer cp -f $BASEDIR/doc/COPYING $BASEDIR/build/install/initrd/ installmake strip @@ -904,7 +950,8 @@ 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 @@ -920,7 +967,8 @@ downloadsrc) 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 @@ -946,7 +994,7 @@ toolchain) 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