]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - make.sh
Lan Driver Attansic/Atheros L1 Gigabit (ASUS Pundit)
[ipfire-2.x.git] / make.sh
diff --git a/make.sh b/make.sh
index 7a5f5c8424e19efae09ddea10b712372998216ba..1d3e59fddadeafb456b6877180c9e35a7c1222d7 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 IPFire-Team <info@ipfire.org>.                        #
 #                                                                          #
 ############################################################################
 #
 
-NAME="IPFire"                          # Software name
-SNAME="ipfire"                 # Short name
-VERSION="2.0t4"                        # 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.1"                                                                          # Version number
+SLOGAN="www.ipfire.org"                                        # Software slogan
+CONFIG_ROOT=/var/ipfire                                        # Configuration rootdir
+NICE=10                                                                                                        # Nice level
+MAX_RETRIES=1                                                                          # prefetch/check loop
 KVER=`grep --max-count=1 VER lfs/linux | awk '{ print $3 }'`
 MACHINE=`uname -m`
 SVN_REVISION=`svn info | grep Revision | cut -c 11-`
 
-IPFVER="full"                          # Which versions should be compiled? (full|light|devel)
-
-# Set an information about the build number
-if [ -e ./.svn ]; then
-       FIREBUILD=`cat .svn/entries |sed -n 's/^[ \t]*revision=\"// p' | sed -n 's/\".*$// p'`
-fi
+IPFVER="full"                          # Which versions should be compiled? (full|devel)
 
 # Debian specific settings
 if [ ! -e /etc/debian_version ]; then
@@ -82,11 +77,11 @@ prepareenv() {
     #                                                                          #
     ############################################################################
     if [ ! "$BASH" ]; then
-       exiterror "BASH environment variable is not set.  You're probably running the wrong shell."
+                       exiterror "BASH environment variable is not set.  You're probably running the wrong shell."
     fi
 
     if [ -z "${BASH_VERSION}" ]; then
-       exiterror "Not running BASH shell."
+                       exiterror "Not running BASH shell."
     fi
 
 
@@ -106,10 +101,10 @@ prepareenv() {
     echo -ne "Resetting our nice level to $NICE" | tee -a $LOGFILE
     renice $NICE $$ > /dev/null
     if [ `nice` != "$NICE" ]; then
-       beautify message FAIL
-       exiterror "Failed to set correct nice level"
+                       beautify message FAIL
+                       exiterror "Failed to set correct nice level"
     else
-       beautify message DONE
+                       beautify message DONE
     fi
 
 
@@ -120,10 +115,10 @@ prepareenv() {
     ############################################################################
     echo -ne "Checking if we're running as root user" | tee -a $LOGFILE
     if [ `id -u` != 0 ]; then
-       beautify message FAIL
-       exiterror "Not building as root"
+                       beautify message FAIL
+                       exiterror "Not building as root"
     else
-       beautify message DONE
+                       beautify message DONE
     fi
 
 
@@ -136,13 +131,13 @@ prepareenv() {
     BASE_DEV=`df -P -k $BASEDIR | tail -n 1 | awk '{ print $1 }'`
     BASE_ASPACE=`df -P -k $BASEDIR | tail -n 1 | awk '{ print $4 }'`
     if (( 2048000 > $BASE_ASPACE )); then
-       BASE_USPACE=`du -skx $BASEDIR | awk '{print $1}'`
-       if (( 2048000 - $BASE_USPACE > $BASE_ASPACE )); then
-               beautify message FAIL
-               exiterror "Not enough temporary space available, need at least 2GB on $BASE_DEV"
-       fi
+                       BASE_USPACE=`du -skx $BASEDIR | awk '{print $1}'`
+                       if (( 2048000 - $BASE_USPACE > $BASE_ASPACE )); then
+                               beautify message FAIL
+                               exiterror "Not enough temporary space available, need at least 2GB on $BASE_DEV"
+                       fi
     else
-       beautify message DONE
+                       beautify message DONE
     fi
 
     ############################################################################
@@ -161,10 +156,10 @@ prepareenv() {
         rm -f /tools
     fi
     if [ ! -a /tools ]; then
-       ln -s $BASEDIR/build/tools /
+                       ln -s $BASEDIR/build/tools /
     fi
     if [ ! -h /tools ]; then
-       exiterror "Could not create /tools symbolic link."
+                       exiterror "Could not create /tools symbolic link."
     fi
 
     # Setup environment
@@ -318,36 +313,34 @@ buildipfire() {
   LOGFILE="$BASEDIR/log/_build.ipfire.log"
   export LOGFILE
   ipfiremake configroot
+  ipfiremake backup
   ipfiremake dhcp
   ipfiremake dhcpcd
   ipfiremake libusb
   ipfiremake libpcap
-  ipfiremake linux-atm
   ipfiremake ppp
   ipfiremake rp-pppoe
   ipfiremake unzip
   ipfiremake linux                     SMP=1
   ipfiremake ipp2p                     SMP=1
-  ipfiremake fcdsl                     SMP=1
-  ipfiremake fcdsl2                    SMP=1
-  ipfiremake fcdslsl           SMP=1
-  ipfiremake fcdslusb          SMP=1
-  ipfiremake fcdslslusb        SMP=1
-#  ipfiremake promise-sata-300-tx      SMP=1
   ipfiremake zaptel                    SMP=1
-  ipfiremake fuse                              SMP=1
-  #ipfiremake linux                    XEN=1
+  ipfiremake r8169                     SMP=1
+  ipfiremake r8168                     SMP=1
+  ipfiremake mcs7830                   SMP=1
+  ipfiremake atl1                      SMP=1
+  ipfiremake ip1000a                   SMP=1
+  ipfiremake dm9601                    SMP=1
   ipfiremake linux
   ipfiremake ipp2p
-  ipfiremake fcdsl
-  ipfiremake fcdsl2
-  ipfiremake fcdslsl
-  ipfiremake fcdslusb
-  ipfiremake fcdslslusb
-#  ipfiremake promise-sata-300-tx
   ipfiremake zaptel
-  ipfiremake fuse
+  ipfiremake r8169
+  ipfiremake r8168
+  ipfiremake mcs7830
+  ipfiremake atl1
+  ipfiremake ip1000a 
+  ipfiremake dm9601
   ipfiremake pkg-config
+  ipfiremake linux-atm
   ipfiremake cpio
   ipfiremake klibc
   ipfiremake mkinitcpio
@@ -360,6 +353,7 @@ buildipfire() {
   ipfiremake curl
   ipfiremake python
   ipfiremake libnet
+  ipfiremake libidn
   ipfiremake libjpeg
   ipfiremake libpng
   ipfiremake libtiff
@@ -372,6 +366,7 @@ buildipfire() {
   ipfiremake newt
   ipfiremake libcap
   ipfiremake pciutils
+  ipfiremake usbutils
   ipfiremake libxml2
   ipfiremake libxslt
   ipfiremake BerkeleyDB
@@ -384,43 +379,43 @@ buildipfire() {
   ipfiremake arping
   ipfiremake beep
   ipfiremake bind
-  ipfiremake capi4k-utils
   ipfiremake cdrtools
   ipfiremake dnsmasq
   ipfiremake dosfstools
-  ipfiremake reiserfsprogs
   ipfiremake squashfstools
+  ipfiremake reiserfsprogs
+  ipfiremake xfsprogs
   ipfiremake sysfsutils
+  ipfiremake fuse
   ipfiremake ntfs-3g
   ipfiremake ethtool
   ipfiremake ez-ipupdate
   ipfiremake fcron
-  ipfiremake GD
+  ipfiremake perl-GD
   ipfiremake GD-Graph
   ipfiremake GD-TextUtil
   ipfiremake gnupg
   ipfiremake hdparm
-  ipfiremake ibod
+  ipfiremake sdparm
+  ipfiremake mtools
   ipfiremake initscripts
   ipfiremake whatmask
   ipfiremake iptables
   ipfiremake libupnp
   ipfiremake ipp2p                     IPT=1
-  ipfiremake moblock
   ipfiremake linux-igd
   ipfiremake ipac-ng
   ipfiremake ipaddr
   ipfiremake iptstate
   ipfiremake iputils
   ipfiremake l7-protocols
-  ipfiremake isdn4k-utils
   ipfiremake mISDN
+  ipfiremake capi4k-utils
   ipfiremake hwdata
   ipfiremake kudzu
   ipfiremake logrotate
   ipfiremake logwatch
   ipfiremake misc-progs
-  ipfiremake mtools
   ipfiremake nano
   ipfiremake nasm
   ipfiremake URI
@@ -446,8 +441,6 @@ buildipfire() {
   ipfiremake Text-Tabs+Wrap
   ipfiremake Locale-Country
   ipfiremake XML-Parser
-  ipfiremake MP3-Info
-  ipfiremake MP3-Tag
   ipfiremake glib
   ipfiremake GeoIP
   ipfiremake fwhits
@@ -455,12 +448,10 @@ buildipfire() {
   ipfiremake ntp
   ipfiremake openssh
   ipfiremake openswan
-  ipfiremake pptpclient
   ipfiremake rrdtool
   ipfiremake setserial
   ipfiremake setup
   ipfiremake snort
-  ipfiremake snortsnarf
   ipfiremake oinkmaster
   ipfiremake squid
   ipfiremake squid-graph
@@ -471,15 +462,16 @@ buildipfire() {
   ipfiremake vlan
   ipfiremake wireless
   ipfiremake libsafe
-  ipfiremake 3c5x9setup
   ipfiremake pakfire
   ipfiremake java
   ipfiremake spandsp
   ipfiremake lzo
   ipfiremake openvpn
   ipfiremake pammysql
-  ipfiremake ghostscript
   ipfiremake cups
+  ipfiremake ghostscript
+  ipfiremake foomatic
+  ipfiremake hplip
   ipfiremake samba
   ipfiremake sudo
   ipfiremake mc
@@ -491,48 +483,64 @@ buildipfire() {
   ipfiremake htop
   ipfiremake postfix
   ipfiremake fetchmail
-  ipfiremake cyrusimap
-  ipfiremake webcyradm
-  ipfiremake mailx
+  ipfiremake cyrus-imapd
+  ipfiremake openmailadmin
   ipfiremake clamav
   ipfiremake spamassassin
   ipfiremake amavisd
-  ipfiremake stund
-  ipfiremake libpri
-# ipfiremake bristuff
-  ipfiremake asterisk
+  ipfiremake alsa
   ipfiremake mpg123
+  ipfiremake mpfire
+  ipfiremake guardian
+  ipfiremake libid3tag
   ipfiremake libmad
   ipfiremake libogg
   ipfiremake libvorbis
   ipfiremake lame
   ipfiremake sox
+  ipfiremake libshout
+  ipfiremake icecast
+  ipfiremake icegenerator
+  ipfiremake mpd
+  ipfiremake mpc
+  ipfiremake xvid
+  ipfiremake libmpeg2
+  ipfiremake videolan
+  ipfiremake libpri
+  ipfiremake asterisk
   ipfiremake gnump3d
   ipfiremake libsigc++
-  ipfiremake ctorrent
   ipfiremake applejuice
   ipfiremake ocaml
   ipfiremake mldonkey
   ipfiremake libtorrent
   ipfiremake rtorrent
+  ipfiremake ipfireseeder
   ipfiremake rsync
   ipfiremake tcpwrapper
   ipfiremake portmap
   ipfiremake nfs
   ipfiremake nmap
   ipfiremake mbmon
-  ipfiremake iftop
   ipfiremake ncftp
-  ipfiremake cftp
   ipfiremake etherwake
-  ipfiremake ethereal
-  ipfiremake tftp-hpa
   ipfiremake bwm-ng
   ipfiremake tripwire
   ipfiremake sysstat
   ipfiremake vsftpd
-  ipfiremake alsa
-  ipfiremake mp3blaster
+  ipfiremake which
+  ipfiremake lsof
+  ipfiremake centerim
+  ipfiremake br2684ctl
+  ipfiremake pcmciautils
+  ipfiremake collectd
+  ipfiremake lcd4linux
+  ipfiremake neon
+  ipfiremake subversion
+  ipfiremake tcptrack
+  ipfiremake teamspeak
+  ipfiremake elinks
+  
 }
 
 buildinstaller() {
@@ -559,7 +567,6 @@ buildinstaller() {
   installmake popt
   installmake sysvinit
   installmake misc-progs
-  installmake e2fsprogs
   installmake libaal
   installmake reiser4progs
   installmake reiserfsprogs
@@ -571,6 +578,7 @@ buildinstaller() {
   installmake wget
   installmake hwdata
   installmake kudzu
+  installmake pcmciautils
   installmake installer
   installmake initrd
 }
@@ -591,23 +599,19 @@ buildpackages() {
        fi
   done
   echo "== List of softwares used to build $NAME Version: $VERSION ==" > $BASEDIR/doc/packages-list.txt
-  grep -v 'configroot$\|img$\|initrd$\|initscripts$\|installer$\|install$\|setup$\|pakfire$\|stage2$\|smp$\|tools$\|tools1$\|tools2$\|.tgz$\|-config$\|_missing_rootfile$' \
+  grep -v 'configroot$\|img$\|initrd$\|initscripts$\|installer$\|install$\|setup$\|pakfire$\|stage2$\|smp$\|tools$\|tools1$\|tools2$\|.tgz$\|-config$\|_missing_rootfile$\|install1$\|install2$\|pass1$\|pass2$\|pass3$' \
        $BASEDIR/doc/packages-list | sort >> $BASEDIR/doc/packages-list.txt
   rm -f $BASEDIR/doc/packages-list
   # packages-list.txt is ready to be displayed for wiki page
   beautify message DONE
 
   # Create images for install
-  if [ "$DEVEL" == "1" ]; then
-               ipfiremake cdrom ED=devel
-       fi
        ipfiremake cdrom ED=full
        
   # Check if there is a loop device for building in virtual environments
-  if [ -e /dev/loop0 ]; then
+  if [ -e /dev/loop/0 ] || [ -e /dev/loop0 ]; then
        ipfiremake usb-stick
   fi
-  ipfiremake pxe
   mv $LFS/install/images/{*.iso,*.tgz,*.img.gz} $BASEDIR >> $LOGFILE 2>&1
 
   ipfirepackages
@@ -633,31 +637,15 @@ buildpackages() {
 }
 
 ipfirepackages() {
-  ipfiredist alsa
-#  ipfiredist amavisd
-  ipfiredist applejuice
-#  ipfiredist asterisk
-  ipfiredist clamav
-  ipfiredist cups
-  ipfiredist cyrus-sasl
-#  ipfiredist fetchmail
-#  ipfiredist gnump3d
-  ipfiredist java
-  ipfiredist libogg
-  ipfiredist libvorbis
-#  ipfiredist mailx
-#  ipfiredist mldonkey
-  ipfiredist mp3blaster
-  ipfiredist mpg123
-#  ipfiredist nfs
-  ipfiredist openldap
-#  ipfiredist postfix
-  ipfiredist samba
-#  ipfiredist sox
-#  ipfiredist spamassassin
-  ipfiredist tripwire
-  ipfiredist vsftpd
-#  ipfiredist webcyradm
+       ipfiremake core-updates
+       for i in $(ls -1 $BASEDIR/config/rootfiles/packages); do
+               if [ -e $BASEDIR/lfs/$i ]; then
+                       ipfiredist $i
+               else
+                       echo -n $i
+                       beautify message SKIP
+               fi
+       done
   test -d $BASEDIR/packages || mkdir $BASEDIR/packages
   mv -f $LFS/install/packages/* $BASEDIR/packages >> $LOGFILE 2>&1
   rm -rf  $BASEDIR/build/install/packages/*
@@ -668,10 +656,6 @@ case "$1" in
 build)
        clear
        BUILDMACHINE=`uname -m`
-       DEVEL=0
-       if [ "$2" == "--devel" ]; then
-         DEVEL=1
-       fi
        PACKAGE=`ls -v -r $BASEDIR/cache/toolchains/$SNAME-$VERSION-toolchain-$BUILDMACHINE.tar.gz 2> /dev/null | head -n 1`
        #only restore on a clean disk
        if [ ! -f log/cleanup-toolchain-2-tools ]; then
@@ -703,8 +687,8 @@ build)
        buildipfire
 
        # Setzen des IPFire Builds
-       if [ "$FIREBUILD" ]; then
-               echo "$FIREBUILD" > $BASEDIR/build/var/ipfire/firebuild
+       if [ "$SVN_REVISION" ]; then
+               echo "$SVN_REVISION" > $BASEDIR/build/var/ipfire/firebuild
        else
                echo "_(OvO)_" > $BASEDIR/build/var/ipfire/firebuild
        fi
@@ -943,13 +927,13 @@ uploadsrc)
        PWD=`pwd`
        cd $BASEDIR/cache/
        echo -e "Uploading cache to ftp server:"
-       ncftpls -u $FTP_CACHE_USER -p $FTP_CACHE_PASS ftp://$FTP_CACHE_URL$FTP_CACHE_PATH/ > /tmp/ftplist
+       ncftpls -u $FTP_CACHE_USER -p $FTP_CACHE_PASS ftp://$FTP_CACHE_URL/$FTP_CACHE_PATH/ > /tmp/ftplist
        for i in *; do
-               if [ "$i" == "toolchains" ]; then continue; fi
-               grep -q $i /tmp/ftplist
+               if [ "$(basename $i)" == "toolchains" ]; then continue; fi
+               grep -q $(basename $i) /tmp/ftplist
                if [ "$?" -ne "0" ]; then
-                       echo -ne "$i"
-                       ncftpput -u $FTP_CACHE_USER -p $FTP_CACHE_PASS $FTP_CACHE_URL $FTP_CACHE_PATH/ $i
+                       echo -ne "$(basename $i)"
+                       ncftpput -u $FTP_CACHE_USER -p $FTP_CACHE_PASS $FTP_CACHE_URL $FTP_CACHE_PATH/ $(basename $i)
                        if [ "$?" -ne "0" ]; then
                                beautify message FAIL
                        fi
@@ -960,45 +944,42 @@ uploadsrc)
        exit 0
        ;;
 upload)
-       case "$2" in
-         iso)
-               echo -e "Uploading the iso to $FTP_ISO_PATH/$SVN_REVISION."
-               cat <<EOF > .ftp-commands
+       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
-ls -lah
+mkdir -p $FTP_ISO_PATH$SVN_REVISION/paks
 quit
 EOF
-               ncftp -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL < .ftp-commands
-               rm -f .ftp-commands
+       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
-               ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL $FTP_ISO_PATH$SVN_REVISION/ ipfire-$VERSION.$MACHINE-full.iso
-               ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL $FTP_ISO_PATH$SVN_REVISION/ ipfire-$VERSION.$MACHINE-full.iso.md5
-               if [ -e ipfire-$VERSION.$MACHINE-devel.iso ]; then
-                       md5sum ipfire-$VERSION.$MACHINE-devel.iso > ipfire-$VERSION.$MACHINE-devel.iso.md5
-                       ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL $FTP_ISO_PATH$SVN_REVISION/ ipfire-$VERSION.$MACHINE-devel.iso
-                       ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL $FTP_ISO_PATH$SVN_REVISION/ ipfire-$VERSION.$MACHINE-devel.iso.md5
-               fi
-               ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL $FTP_ISO_PATH$SVN_REVISION/ ipfire-source-r$SVN_REVISION.tar.gz
-               ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL $FTP_ISO_PATH$SVN_REVISION/ svn_status
-               if [ "$?" -eq "0" ]; then
-                       echo -e "The iso of Revision $SVN_REVISION was successfully uploaded to $FTP_ISO_URL$FTP_ISO_PATH$SVN_REVISION/."
-               else
-                       echo -e "There was an error while uploading the iso to the ftp server."
-                       exit 1
-               fi
+               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 $FTP_ISO_URL $FTP_ISO_PATH/$SVN_REVISION/ ipfire-sources-cd-$VERSION.$MACHINE.iso
+                       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)
-               cat <<EOF > .ftp-commands
-mkdir -p $FTP_ISO_PATH$SVN_REVISION/paks
-ls -lah
-quit
-EOF
-               ncftp -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL < .ftp-commands
-               rm -f .ftp-commands
-               ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL $FTP_ISO_PATH$SVN_REVISION/paks packages/*
+               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
@@ -1049,13 +1030,6 @@ pxe)
 lang)
        update_langs
        ;;
-packages)
-       case "$2" in
-               sign)
-                       sign_packages
-                       ;;
-       esac
-       ;;
 "")
        clear
        svn info