]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - make.sh
Updated iw (0.9.20).
[people/pmueller/ipfire-2.x.git] / make.sh
diff --git a/make.sh b/make.sh
index d02a1ad035cc0d21a72c2393de473a300271c5d0..7f669c99a9a7883a9f51deee3264832357cc8907 100755 (executable)
--- a/make.sh
+++ b/make.sh
 ############################################################################
 #
 
-NAME="IPFire"                                                                          # Software name
-SNAME="ipfire"                                                                 # Short name
-VERSION="2.3"
-CORE="28"
-GIT_BRANCH=master:master                                                                               # Version number
-SLOGAN="www.ipfire.org"                                        # Software slogan
-CONFIG_ROOT=/var/ipfire                                        # Configuration rootdir
-NICE=10                                                                                                        # Nice level
-MAX_RETRIES=1                                                                          # prefetch/check loop
+NAME="IPFire"                                                  # Software name
+SNAME="ipfire"                                                 # Short name
+VERSION="2.8test"                                              # Version number
+CORE="41"                                                      # Core Level (Filename)
+PAKFIRE_CORE="40"                                              # 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)
-TOOLCHAINVER=1
+GIT_TAG=$(git tag | tail -1)                                   # Git Tag
+GIT_LASTCOMMIT=$(git log | head -n1 | cut -d" " -f2 |head -c8) # Last commit
+TOOLCHAINVER=2
 IPFVER="full"                          # Which versions should be compiled? (full|devel)
 
 # Debian specific settings
@@ -334,23 +337,48 @@ 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 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 atl2
   ipfiremake kqemu
+  ipfiremake kvm-kmod
   ipfiremake v4l-dvb
   ipfiremake madwifi
   ipfiremake alsa                      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
@@ -359,6 +387,7 @@ buildipfire() {
   ipfiremake curl
   ipfiremake python
   ipfiremake libnet
+  ipfiremake libnl
   ipfiremake libidn
   ipfiremake libjpeg
   ipfiremake libpng
@@ -388,7 +417,6 @@ buildipfire() {
   ipfiremake cdrtools
   ipfiremake dnsmasq
   ipfiremake dosfstools
-  ipfiremake squashfstools
   ipfiremake reiserfsprogs
   ipfiremake xfsprogs
   ipfiremake sysfsutils
@@ -508,8 +536,6 @@ buildipfire() {
   ipfiremake xvid
   ipfiremake libmpeg2
   ipfiremake cmake
-  ipfiremake libpri
-  ipfiremake asterisk
   ipfiremake gnump3d
   ipfiremake libsigc++
   ipfiremake applejuice
@@ -520,6 +546,7 @@ buildipfire() {
   ipfiremake ipfireseeder
   ipfiremake rsync
   ipfiremake tcpwrapper
+  ipfiremake libevent
   ipfiremake portmap
   ipfiremake nfs
   ipfiremake nmap
@@ -529,22 +556,22 @@ buildipfire() {
   ipfiremake tripwire
   ipfiremake sysstat
   ipfiremake vsftpd
-  ipfiremake which
-  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
@@ -555,6 +582,7 @@ buildipfire() {
   ipfiremake freefont
   ipfiremake directfb
   ipfiremake dfb++
+  ipfiremake faad2
   ipfiremake ffmpeg
   ipfiremake videolan
   ipfiremake vdr
@@ -562,13 +590,14 @@ buildipfire() {
   ipfiremake icecast
   ipfiremake icegenerator
   ipfiremake mpd
+  ipfiremake libmpdclient
   ipfiremake mpc
   ipfiremake git
   ipfiremake squidclamav
   ipfiremake bc
-  ipfiremake esniper
   ipfiremake vnstat
   ipfiremake vnstati
+  ipfiremake iw
   ipfiremake wpa_supplicant
   ipfiremake hostapd
   ipfiremake urlgrabber
@@ -583,21 +612,42 @@ buildipfire() {
   ipfiremake netcat
   ipfiremake 7zip
   ipfiremake lynis
-  ipfiremake cryptsetup
   ipfiremake splix
   ipfiremake streamripper
   ipfiremake sshfs
   ipfiremake sqlite
   ipfiremake taglib
-#  ipfiremake mediatomb
+  ipfiremake mediatomb
   ipfiremake sslh
   ipfiremake perl-gettext
   ipfiremake vdradmin
   ipfiremake miau
-  ipfiremake net-snmp
+  ipfiremake netsnmpd
   ipfiremake perl-DBI
   ipfiremake perl-DBD-mysql
+  ipfiremake cacti
+  ipfiremake icecc
+  ipfiremake openvmtools
+  ipfiremake nagiosql
+  ipfiremake iftop
+  ipfiremake motion
+  ipfiremake joe
+  ipfiremake nut
+  ipfiremake watchdog
+  ipfiremake libpri
+  ipfiremake dahdi
+  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
   echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild
   cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild
   echo >> $BASEDIR/build/var/ipfire/firebuild
@@ -606,7 +656,12 @@ buildipfire() {
   git status >> $BASEDIR/build/var/ipfire/firebuild
   echo >> $BASEDIR/build/var/ipfire/firebuild
   cat /proc/cpuinfo >> $BASEDIR/build/var/ipfire/firebuild
-  echo $CORE > $BASEDIR/build/opt/pakfire/db/core/mine
+  echo $PAKFIRE_CORE > $BASEDIR/build/opt/pakfire/db/core/mine
+  if [ "$GIT_BRANCH" = "master" ]; then
+       echo "$NAME $VERSION - (Development Build: $GIT_LASTCOMMIT)" > $BASEDIR/build/etc/system-release
+  else
+       echo "$NAME $VERSION - $GIT_BRANCH" > $BASEDIR/build/etc/system-release
+  fi
 }
 
 buildinstaller() {
@@ -616,36 +671,9 @@ 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
+  installmake strip
+  ipfiremake initrd
 }
 
 buildpackages() {
@@ -653,7 +681,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
@@ -676,18 +703,27 @@ buildpackages() {
 
   # Create images for install
        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
 
-  # Create updater package
-  #ipfiremake updater
   mv $LFS/install/images/{*.iso,*.tgz,*.img.gz,*.bz2} $BASEDIR >> $LOGFILE 2>&1
 
   ipfirepackages
 
+  # Check if there is a loop device for building in virtual environments
+  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
+       rm -rf $LFS/install/packages/linux-xen-*.ipfire
+       rm -rf $LFS/install/packages/meta-linux-xen
+  fi
+  mv $LFS/install/images/*.bz2 $BASEDIR >> $LOGFILE 2>&1
+
   # Cleanup
   stdumount
   rm -rf $BASEDIR/build/tmp/*
@@ -857,7 +893,7 @@ toolchain)
        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 $BASEDIR/cache/toolchains
+       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} \
@@ -872,7 +908,7 @@ gettoolchain)
        PACKAGE=$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE
        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 $BASEDIR/cache/toolchains
+               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
                cd $BASEDIR/cache/toolchains
                wget -U "IPFireSourceGrabber/2.x" $URL_TOOLCHAIN/$PACKAGE.tar.gz $URL_TOOLCHAIN/$PACKAGE.md5 >& /dev/null
@@ -943,7 +979,7 @@ git)
                [ -z $GIT_USER ] && exiterror "You have to setup GIT_USER first."
                        GIT_URL="ssh://${GIT_USER}@git.ipfire.org/pub/git/ipfire-2.x"
                        
-               git push ${GIT_URL} ${GIT_BRANCH} $3
+               git push ${GIT_URL} $3
                ;;
          log)
                [ -z $GIT_TAG ]  || LAST_TAG=$GIT_TAG
@@ -960,11 +996,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
@@ -973,52 +1010,6 @@ uploadsrc)
        cd $PWD
        exit 0
        ;;
-upload)
-       FTP_ISO_PORT=`echo "$FTP_ISO_URL" | awk -F: '{ print $2 }'`
-       FTP_ISO_URL=`echo "$FTP_ISO_URL" | awk -F: '{ print $1 }'`
-       if [ -z $FTP_ISO_PORT ]; then
-           FTP_ISO_PORT=21
-       fi
-       cat <<EOF > .ftp-commands
-mkdir -p $FTP_ISO_PATH$SVN_REVISION
-mkdir -p $FTP_ISO_PATH$SVN_REVISION/paks
-quit
-EOF
-       ncftp -u $FTP_ISO_USER -p $FTP_ISO_PASS -P $FTP_ISO_PORT $FTP_ISO_URL < .ftp-commands
-       rm -f .ftp-commands
-               
-       case "$2" in
-         iso)
-               echo -e "Uploading the iso to $FTP_ISO_PATH/$SVN_REVISION."
-
-               md5sum ipfire-$VERSION.$MACHINE-full.iso > ipfire-$VERSION.$MACHINE-full.iso.md5
-               for i in svn_status ipfire-source-r$SVN_REVISION.tar.gz ipfire-$VERSION.$MACHINE-full.iso ipfire-$VERSION.$MACHINE-full.iso.md5 ipfire-$VERSION.$MACHINE-devel.iso ipfire-$VERSION.$MACHINE-devel.iso.md5; do
-                               if [ -e "$i" ]; then
-                           ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS -P $FTP_ISO_PORT $FTP_ISO_URL $FTP_ISO_PATH$SVN_REVISION/ $i
-                                       if [ "$?" -eq "0" ]; then
-                                               echo "The file with name $i was successfully uploaded to $FTP_ISO_URL$FTP_ISO_PATH$SVN_REVISION/."
-                                       else
-                                               echo "There was an error while uploading the file $i to the ftp server."
-                                               exit 1
-                                       fi
-                               fi
-               done
-               rm -f ipfire-$VERSION.$MACHINE-full.iso.md5
-               if [ "$3" = "--with-sources-cd" ]; then
-                       ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS -P $FTP_ISO_PORT $FTP_ISO_URL $FTP_ISO_PATH/$SVN_REVISION/ ipfire-sources-cd-$VERSION.$MACHINE.iso
-               fi
-               ;;
-         paks)
-               ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS -P $FTP_ISO_PORT $FTP_ISO_URL $FTP_ISO_PATH$SVN_REVISION/paks packages/*
-               if [ "$?" -eq "0" ]; then
-                       echo -e "The packages were successfully uploaded to $FTP_ISO_URL$FTP_ISO_PATH$SVN_REVISION/."
-               else
-                       echo -e "There was an error while uploading the packages to the ftp server."
-                       exit 1
-               fi
-         ;;
-       esac
-       ;;
 batch)
        if [ "$2" = "--background" ]; then
                batch_script