X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=make.sh;h=2a8abc8a6b9dec866aa72f0ed00d029ebd1ea37e;hb=0ccf2cc4170c0072b88246938d793b624ac71c4e;hp=047708560eeb280311b4a9165427f4dd8ee4571d;hpb=f8a2b5d49b048d69e8a971e503cea8ba96805d79;p=people%2Fpmueller%2Fipfire-2.x.git diff --git a/make.sh b/make.sh index 047708560e..2a8abc8a6b 100755 --- a/make.sh +++ b/make.sh @@ -24,14 +24,15 @@ NAME="IPFire" # Software name SNAME="ipfire" # Short name -VERSION="2.5" # Version number -CORE="35" # Core Level (Filename) -PAKFIRE_CORE="34" # Core Level (PAKFIRE) +VERSION="2.9" # Version number +CORE="47" # Core Level (Filename) +PAKFIRE_CORE="46" # 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 NICE=10 # Nice level MAX_RETRIES=1 # prefetch/check loop +BUILD_IMAGES=1 # Build USB, Flash and Xen Images KVER=`grep --max-count=1 VER lfs/linux | awk '{ print $3 }'` MACHINE=`uname -m` GIT_TAG=$(git tag | tail -1) # Git Tag @@ -39,6 +40,13 @@ GIT_LASTCOMMIT=$(git log | head -n1 | cut -d" " -f2 |head -c8) # Last commit TOOLCHAINVER=1 IPFVER="full" # Which versions should be compiled? (full|devel) +BUILDMACHINE=$MACHINE + if [ "$MACHINE" = "x86_64" ]; then + BUILDMACHINE="i686"; + linux32="linux32"; + fi + + # Debian specific settings if [ ! -e /etc/debian_version ]; then FULLPATH=`which $0` @@ -218,6 +226,7 @@ prepareenv() { # Run LFS static binary creation scripts one by one export CCACHE_DIR=$BASEDIR/ccache + export CCACHE_COMPRESS=1 export CCACHE_HASHDIR=1 # Remove pre-install list of installed files in case user erase some files before rebuild @@ -225,12 +234,19 @@ prepareenv() { } buildtoolchain() { + 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} - lfsmake1 ccache + lfsmake1 ccache PASS=1 lfsmake1 binutils PASS=1 lfsmake1 gcc PASS=1 export PATH=$BASEDIR/build/usr/local/bin:$BASEDIR/build/tools/bin:$PATH @@ -242,6 +258,7 @@ buildtoolchain() { lfsmake1 dejagnu lfsmake1 gcc PASS=2 lfsmake1 binutils PASS=2 + lfsmake1 ccache PASS=2 lfsmake1 ncurses lfsmake1 bash lfsmake1 bzip2 @@ -310,7 +327,6 @@ buildbase() { lfsmake2 man lfsmake2 mktemp lfsmake2 module-init-tools - lfsmake2 mtd lfsmake2 net-tools lfsmake2 patch lfsmake2 psmisc @@ -336,50 +352,64 @@ buildipfire() { ipfiremake libusb ipfiremake libpcap ipfiremake ppp - ipfiremake rp-pppoe ipfiremake pptp ipfiremake unzip ipfiremake which + ipfiremake xz + ipfiremake linux-firmware ipfiremake linux XEN=1 - ipfiremake atl1c XEN=1 - ipfiremake atl2 XEN=1 - ipfiremake hso XEN=1 - ipfiremake e1000e XEN=1 - ipfiremake r8101 XEN=1 - ipfiremake r8169 XEN=1 - ipfiremake r8168 XEN=1 ipfiremake kqemu XEN=1 - #ipfiremake kvm-kmod XEN=1 ipfiremake v4l-dvb XEN=1 ipfiremake madwifi XEN=1 - #ipfiremake alsa XEN=1 KMOD=1 - ipfiremake dahdi XEN=1 KMOD=1 - ipfiremake openswan XEN=1 KMOD=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 atl1c - ipfiremake atl2 - ipfiremake hso - ipfiremake e1000e - ipfiremake r8101 - ipfiremake r8169 - ipfiremake r8168 ipfiremake kqemu ipfiremake kvm-kmod ipfiremake v4l-dvb ipfiremake madwifi ipfiremake alsa KMOD=1 - ipfiremake dahdi KMOD=1 - ipfiremake openswan 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 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 @@ -387,6 +417,7 @@ buildipfire() { ipfiremake openssl ipfiremake curl ipfiremake python + ipfiremake fireinfo ipfiremake libnet ipfiremake libnl ipfiremake libidn @@ -400,6 +431,8 @@ buildipfire() { ipfiremake pcre ipfiremake slang ipfiremake newt + ipfiremake attr + ipfiremake acl ipfiremake libcap ipfiremake pciutils ipfiremake usbutils @@ -418,7 +451,6 @@ buildipfire() { ipfiremake cdrtools ipfiremake dnsmasq ipfiremake dosfstools - ipfiremake squashfstools ipfiremake reiserfsprogs ipfiremake xfsprogs ipfiremake sysfsutils @@ -488,6 +520,8 @@ buildipfire() { ipfiremake rrdtool ipfiremake setserial ipfiremake setup + ipfiremake libdnet + ipfiremake daq ipfiremake snort ipfiremake oinkmaster ipfiremake squid @@ -541,13 +575,12 @@ buildipfire() { ipfiremake gnump3d ipfiremake libsigc++ ipfiremake applejuice - ipfiremake ocaml - ipfiremake mldonkey ipfiremake libtorrent ipfiremake rtorrent ipfiremake ipfireseeder ipfiremake rsync ipfiremake tcpwrapper + ipfiremake libevent ipfiremake portmap ipfiremake nfs ipfiremake nmap @@ -557,21 +590,22 @@ buildipfire() { ipfiremake tripwire ipfiremake sysstat ipfiremake vsftpd - ipfiremake openswan + ipfiremake strongswan ipfiremake lsof ipfiremake centerim ipfiremake br2684ctl ipfiremake pcmciautils ipfiremake lm_sensors + ipfiremake liboping ipfiremake collectd ipfiremake lcd4linux - ipfiremake tcptrack ipfiremake teamspeak ipfiremake elinks ipfiremake igmpproxy ipfiremake fbset ipfiremake sdl ipfiremake qemu + ipfiremake qemu-kqemu ipfiremake sane ipfiremake netpbm ipfiremake phpSANE @@ -582,6 +616,7 @@ buildipfire() { ipfiremake freefont ipfiremake directfb ipfiremake dfb++ + ipfiremake faad2 ipfiremake ffmpeg ipfiremake videolan ipfiremake vdr @@ -594,7 +629,6 @@ buildipfire() { ipfiremake git ipfiremake squidclamav ipfiremake bc - ipfiremake esniper ipfiremake vnstat ipfiremake vnstati ipfiremake iw @@ -612,7 +646,6 @@ buildipfire() { ipfiremake netcat ipfiremake 7zip ipfiremake lynis - #ipfiremake cryptsetup ipfiremake splix ipfiremake streamripper ipfiremake sshfs @@ -622,15 +655,13 @@ buildipfire() { ipfiremake sslh ipfiremake perl-gettext ipfiremake vdradmin -# ipfiremake x11libs -# ipfiremake xen ipfiremake miau ipfiremake netsnmpd ipfiremake perl-DBI ipfiremake perl-DBD-mysql ipfiremake cacti ipfiremake icecc - ipfiremake open-vm-tools + ipfiremake openvmtools ipfiremake nagiosql ipfiremake iftop ipfiremake motion @@ -642,6 +673,22 @@ buildipfire() { ipfiremake asterisk ipfiremake lcr ipfiremake usb_modeswitch + ipfiremake usb_modeswitch_data + ipfiremake zerofree + ipfiremake mdadm + ipfiremake eject + ipfiremake pound + ipfiremake minicom + ipfiremake ddrescue + ipfiremake tcl + ipfiremake imspector + ipfiremake miniupnpd + ipfiremake client175 + ipfiremake powertop + ipfiremake parted + ipfiremake swig + ipfiremake python-m2crypto + ipfiremake crda echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild echo >> $BASEDIR/build/var/ipfire/firebuild @@ -665,36 +712,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 libaal - installmake reiser4progs - 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() { @@ -702,7 +723,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 @@ -727,7 +747,7 @@ buildpackages() { ipfiremake cdrom ED=$IPFVER # Check if there is a loop device for building in virtual environments - if [ -e /dev/loop/0 ] || [ -e /dev/loop0 ]; then + if [ $BUILD_IMAGES == 1 ] && ([ -e /dev/loop/0 ] || [ -e /dev/loop0 ]); then ipfiremake usb-stick ED=$IPFVER ipfiremake flash-images ED=$IPFVER fi @@ -737,7 +757,7 @@ buildpackages() { ipfirepackages # Check if there is a loop device for building in virtual environments - if [ -e /dev/loop/0 ] || [ -e /dev/loop0 ]; then + if [ $BUILD_IMAGES == 1 ] && ([ -e /dev/loop/0 ] || [ -e /dev/loop0 ]); then cp -f $BASEDIR/packages/linux-xen-*.ipfire $LFS/install/packages/ cp -f $BASEDIR/packages/meta-linux-xen $LFS/install/packages/ ipfiremake xen-image ED=$IPFVER @@ -746,6 +766,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/* @@ -785,7 +811,6 @@ ipfirepackages() { case "$1" in build) clear - BUILDMACHINE=`uname -m` PACKAGE=`ls -v -r $BASEDIR/cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE.tar.gz 2> /dev/null | head -n 1` #only restore on a clean disk if [ ! -f log/cleanup-toolchain-2-tools ]; then @@ -823,8 +848,10 @@ build) buildpackages beautify build_stage "Checking Logfiles for new Files" - cd .. + + cd $BASEDIR tools/checknewlog.pl + cd $PWD beautify build_end ;; @@ -856,6 +883,7 @@ clean) if [ -h /tools ]; then rm -f /tools fi + rm -f $BASEDIR/ipfire-* beautify message DONE ;; downloadsrc) @@ -913,7 +941,6 @@ toolchain) prepareenv beautify build_stage "Toolchain compilation - Native GCC: `gcc --version | grep GCC | awk {'print $3'}`" buildtoolchain - BUILDMACHINE=`uname -m` echo "`date -u '+%b %e %T'`: Create toolchain tar.gz for $BUILDMACHINE" | 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 \ @@ -925,7 +952,6 @@ toolchain) stdumount ;; gettoolchain) - BUILDMACHINE=`uname -m` # arbitrary name to be updated in case of new toolchain package upload PACKAGE=$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE if [ ! -f $BASEDIR/cache/toolchains/$PACKAGE.tar.gz ]; then @@ -1018,11 +1044,12 @@ uploadsrc) beautify message FAIL exit 1 fi + URL_SOURCE=$(grep URL_SOURCE lfs/Config | awk '{ print $3 }') - REMOTE_FILES=$(echo "ls -1" | sftp -C ${IPFIRE_USER}@${URL_SOURCE}) + REMOTE_FILES=$(echo "ls -1 --ignore=toolchains" | sftp -C ${IPFIRE_USER}@${URL_SOURCE}) cd $BASEDIR/cache/ - for file in $(ls -1); do + for file in $(ls -1 --ignore=toolchains); do grep -q "$file" <<<$REMOTE_FILES && continue NEW_FILES="$NEW_FILES $file" done