]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - make.sh
ipfireseeder: update to seed core48.
[people/pmueller/ipfire-2.x.git] / make.sh
diff --git a/make.sh b/make.sh
index 6229cd122886a474f49c2519796b6657ecdbb6dc..a05cfbcc2980423c6a979d89e2375f3d34e96594 100755 (executable)
--- a/make.sh
+++ b/make.sh
 # 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 <info@ipfire.org>.                        #
+# Copyright (C) 2007-2011 IPFire-Team <info@ipfire.org>.                   #
 #                                                                          #
 ############################################################################
 #
 
 NAME="IPFire"                                                  # Software name
 SNAME="ipfire"                                                 # Short name
-VERSION="2.5"                                                  # Version number
-CORE="37"                                                      # Core Level (Filename)
-PAKFIRE_CORE="36"                                              # Core Level (PAKFIRE)
+VERSION="2.9"                                                  # Version number
+CORE="48"                                                      # Core Level (Filename)
+PAKFIRE_CORE="48"                                              # 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,52 +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 et131x                    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 et131x
-  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
@@ -389,6 +417,7 @@ buildipfire() {
   ipfiremake openssl
   ipfiremake curl
   ipfiremake python
+  ipfiremake fireinfo
   ipfiremake libnet
   ipfiremake libnl
   ipfiremake libidn
@@ -402,6 +431,8 @@ buildipfire() {
   ipfiremake pcre
   ipfiremake slang
   ipfiremake newt
+  ipfiremake attr
+  ipfiremake acl
   ipfiremake libcap
   ipfiremake pciutils
   ipfiremake usbutils
@@ -420,7 +451,6 @@ buildipfire() {
   ipfiremake cdrtools
   ipfiremake dnsmasq
   ipfiremake dosfstools
-  ipfiremake squashfstools
   ipfiremake reiserfsprogs
   ipfiremake xfsprogs
   ipfiremake sysfsutils
@@ -490,6 +520,8 @@ buildipfire() {
   ipfiremake rrdtool
   ipfiremake setserial
   ipfiremake setup
+  ipfiremake libdnet
+  ipfiremake daq
   ipfiremake snort
   ipfiremake oinkmaster
   ipfiremake squid
@@ -543,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
@@ -559,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
@@ -584,6 +616,7 @@ buildipfire() {
   ipfiremake freefont
   ipfiremake directfb
   ipfiremake dfb++
+  ipfiremake faad2
   ipfiremake ffmpeg
   ipfiremake videolan
   ipfiremake vdr
@@ -596,7 +629,6 @@ buildipfire() {
   ipfiremake git
   ipfiremake squidclamav
   ipfiremake bc
-  ipfiremake esniper
   ipfiremake vnstat
   ipfiremake vnstati
   ipfiremake iw
@@ -614,7 +646,6 @@ buildipfire() {
   ipfiremake netcat
   ipfiremake 7zip
   ipfiremake lynis
-  #ipfiremake cryptsetup
   ipfiremake splix
   ipfiremake streamripper
   ipfiremake sshfs
@@ -624,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
@@ -644,8 +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
@@ -669,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() {
@@ -706,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
@@ -731,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
@@ -741,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
@@ -750,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/*
@@ -789,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
@@ -827,8 +848,10 @@ build)
        buildpackages
        
        beautify build_stage "Checking Logfiles for new Files"
-       cd ..
+
+       cd $BASEDIR
        tools/checknewlog.pl
+       cd $PWD
 
        beautify build_end
        ;;
@@ -860,6 +883,7 @@ clean)
        if [ -h /tools ]; then
                rm -f /tools
        fi
+       rm -f $BASEDIR/ipfire-*
        beautify message DONE
        ;;
 downloadsrc)
@@ -917,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 \
@@ -929,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
@@ -1022,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