X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=make.sh;h=9ab16e57aab447f26bcc752089d0c661d366bb87;hb=926559088c0736da14389ca5224bd1f2e4089250;hp=36ac68f7ff9f7fcf1c93522116259b769f8c4bb4;hpb=01d103a92b2091b0830f83256b9d35b83a9f9559;p=ipfire-2.x.git diff --git a/make.sh b/make.sh index 36ac68f7ff..9ab16e57aa 100755 --- a/make.sh +++ b/make.sh @@ -17,16 +17,16 @@ # 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 . # +# Copyright (C) 2007-2011 IPFire-Team . # # # ############################################################################ # NAME="IPFire" # Software name SNAME="ipfire" # Short name -VERSION="2.7" # Version number -CORE="43" # Core Level (Filename) -PAKFIRE_CORE="42" # 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 @@ -37,7 +37,7 @@ KVER=`grep --max-count=1 VER lfs/linux | awk '{ print $3 }'` 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=3 +TOOLCHAINVER=1 IPFVER="full" # Which versions should be compiled? (full|devel) BUILDMACHINE=$MACHINE @@ -234,20 +234,28 @@ prepareenv() { } buildtoolchain() { - if [ "$MACHINE" = "x86_64" ]; then + if [ "$(uname -m)" = "x86_64" ]; then exiterror "Cannot build toolchain on x86_64. Please use the download." fi + if [ "$(uname -r | grep ipfire)" ]; then + exiterror "Cannot build toolchain on ipfire. 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} + 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 @@ -267,7 +275,7 @@ buildtoolchain() { lfsmake1 grep lfsmake1 gzip lfsmake1 m4 - lfsmake1 make + lfsmake1 make PASS=2 lfsmake1 patch lfsmake1 perl lfsmake1 sed @@ -282,7 +290,11 @@ buildbase() { 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 @@ -324,7 +336,6 @@ buildbase() { lfsmake2 man lfsmake2 mktemp lfsmake2 module-init-tools - lfsmake2 mtd lfsmake2 net-tools lfsmake2 patch lfsmake2 psmisc @@ -337,7 +348,11 @@ buildbase() { lfsmake2 udev lfsmake2 util-linux lfsmake2 vim - lfsmake2 grub + + # ARM cannot use grub. + if [ "${MACHINE}" != "arm" ]; then + lfsmake2 grub + fi } buildipfire() { @@ -355,48 +370,78 @@ 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 - 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 r8169 - ipfiremake r8168 - ipfiremake r8101 - ipfiremake e1000 - ipfiremake e1000e - ipfiremake igb + #ipfiremake compat-wireless +# ipfiremake r8169 +# ipfiremake r8168 +# ipfiremake r8101 + #ipfiremake e1000 + #ipfiremake e1000e + #ipfiremake igb ipfiremake pkg-config ipfiremake linux-atm ipfiremake cpio - ipfiremake klibc - ipfiremake mkinitcpio - ipfiremake udev KLIBC=1 + + installmake strip + + ipfiremake dracut ipfiremake expat ipfiremake gdbm ipfiremake gmp ipfiremake pam ipfiremake openssl ipfiremake curl + ipfiremake tcl + ipfiremake sqlite ipfiremake python ipfiremake fireinfo ipfiremake libnet @@ -412,6 +457,8 @@ buildipfire() { ipfiremake pcre ipfiremake slang ipfiremake newt + ipfiremake attr + ipfiremake acl ipfiremake libcap ipfiremake pciutils ipfiremake usbutils @@ -430,7 +477,6 @@ buildipfire() { ipfiremake cdrtools ipfiremake dnsmasq ipfiremake dosfstools - ipfiremake squashfstools ipfiremake reiserfsprogs ipfiremake xfsprogs ipfiremake sysfsutils @@ -500,6 +546,8 @@ buildipfire() { ipfiremake rrdtool ipfiremake setserial ipfiremake setup + ipfiremake libdnet + ipfiremake daq ipfiremake snort ipfiremake oinkmaster ipfiremake squid @@ -553,8 +601,6 @@ buildipfire() { ipfiremake gnump3d ipfiremake libsigc++ ipfiremake applejuice - ipfiremake ocaml - ipfiremake mldonkey ipfiremake libtorrent ipfiremake rtorrent ipfiremake ipfireseeder @@ -591,6 +637,7 @@ buildipfire() { ipfiremake phpSANE ipfiremake tunctl ipfiremake nagios + ipfiremake nagios_nrpe ipfiremake ebtables ipfiremake fontconfig ipfiremake freefont @@ -629,7 +676,6 @@ buildipfire() { ipfiremake splix ipfiremake streamripper ipfiremake sshfs - ipfiremake sqlite ipfiremake taglib ipfiremake mediatomb ipfiremake sslh @@ -653,6 +699,7 @@ buildipfire() { ipfiremake asterisk ipfiremake lcr ipfiremake usb_modeswitch + ipfiremake usb_modeswitch_data ipfiremake zerofree ipfiremake mdadm ipfiremake eject @@ -661,6 +708,21 @@ buildipfire() { ipfiremake ddrescue 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 @@ -684,34 +746,10 @@ buildinstaller() { ipfiremake as86 ipfiremake mbr ipfiremake memtest - installmake linux-libc-header - installmake binutils - ipfiremake uClibc PASS=1 - ipfiremake gcc INST=1 - installmake uClibc PASS=2 - installmake gcc INST=2 - installmake uClibc PASS=3 - installmake busybox - installmake udev - installmake slang - installmake newt - installmake gettext - installmake kbd - installmake popt - installmake sysvinit - installmake misc-progs - installmake reiserfsprogs - installmake sysfsutils - installmake util-linux - installmake pciutils - installmake zlib - installmake mtd - installmake wget - installmake hwdata - installmake kudzu - installmake pcmciautils - installmake installer - installmake initrd + ipfiremake installer + cp -f $BASEDIR/doc/COPYING $BASEDIR/build/install/initrd/ + installmake strip + ipfiremake initrd } buildpackages() { @@ -719,7 +757,6 @@ buildpackages() { export LOGFILE echo "... see detailed log in _build.*.log files" >> $LOGFILE - installmake strip # Generating list of packages used echo -n "Generating packages list from logs" | tee -a $LOGFILE @@ -763,6 +800,12 @@ buildpackages() { 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/* @@ -839,8 +882,10 @@ build) buildpackages beautify build_stage "Checking Logfiles for new Files" - cd .. + + cd $BASEDIR tools/checknewlog.pl + cd $PWD beautify build_end ;; @@ -872,6 +917,7 @@ clean) if [ -h /tools ]; then rm -f /tools fi + rm -f $BASEDIR/ipfire-* beautify message DONE ;; downloadsrc) @@ -891,7 +937,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 @@ -907,7 +954,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 @@ -933,7 +981,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