]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - make.sh
makegraphs umgebaut, sodass nurnoch rrd daten geschrieben werden die graphen
[people/pmueller/ipfire-2.x.git] / make.sh
diff --git a/make.sh b/make.sh
old mode 100644 (file)
new mode 100755 (executable)
index fd73660..8a3adb5
--- a/make.sh
+++ b/make.sh
@@ -25,7 +25,7 @@
 NAME="IPFire"                          # Software name
 SNAME="ipfire"                 # Short name
 VERSION="2.0b"                 # Version number
-SLOGAN="www.ipfire.eu"         # Software slogan
+SLOGAN="www.ipfire.org"                # Software slogan
 CONFIG_ROOT=/var/ipfire                # Configuration rootdir
 NICE=10                                # Nice level
 MAX_RETRIES=1                          # prefetch/check loop
@@ -33,7 +33,7 @@ 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 version should be compiled? (full|light|voice)
+IPFVER="full"                          # Which versions should be compiled? (full|light|devel)
 
 # Set an information about the build number
 if [ -e ./.svn ]; then
@@ -170,7 +170,7 @@ prepareenv() {
     # Setup environment
     set +h
     LC_ALL=POSIX
-    MAKETUNING="-j8"
+    MAKETUNING="-j6"
     export LFS LC_ALL CFLAGS CXXFLAGS MAKETUNING
     unset CC CXX CPP LD_LIBRARY_PATH LD_PRELOAD
 
@@ -280,10 +280,10 @@ buildbase() {
     lfsmake2 bzip2
     lfsmake2 diffutils
     lfsmake2 e2fsprogs
+    lfsmake2 ed
     lfsmake2 file
     lfsmake2 findutils
     lfsmake2 flex
-    lfsmake2 grub
     lfsmake2 gawk
     lfsmake2 gettext
     lfsmake2 grep
@@ -293,12 +293,16 @@ buildbase() {
     lfsmake2 iproute2
     lfsmake2 kbd
     lfsmake2 less
+    lfsmake2 libaal
     lfsmake2 make
     lfsmake2 man
     lfsmake2 mktemp
     lfsmake2 modutils
+    lfsmake2 mtd
+    lfsmake2 net-tools
     lfsmake2 patch
     lfsmake2 psmisc
+    lfsmake2 reiser4progs
     lfsmake2 shadow
     lfsmake2 sysklogd
     lfsmake2 sysvinit
@@ -307,62 +311,48 @@ buildbase() {
     lfsmake2 udev
     lfsmake2 util-linux
     lfsmake2 vim
+    lfsmake2 grub
 }
 
 buildipfire() {
   LOGFILE="$BASEDIR/log/_build.ipfire.log"
   export LOGFILE
-  ipfiremake inetutils
-  ipfiremake net-tools
-  ipfiremake ed
   ipfiremake configroot
   ipfiremake dhcp
   ipfiremake dhcpcd
   ipfiremake libusb
   ipfiremake libpcap
-# Temporary disabled.
-#  ipfiremake linux-atm
+  ipfiremake linux-atm
   ipfiremake ppp
   ipfiremake rp-pppoe
   ipfiremake unzip
-#  ipfiremake linux                    PASS=I # Can we remove the installer kernel?
-  ipfiremake linux                     PASS=S
-#  ipfiremake 3cp4218          PASS=SMP
-#  ipfiremake amedyn                   PASS=SMP
-#  ipfiremake cxacru                   PASS=SMP
-#  ipfiremake eagle                    PASS=SMP
-#  ipfiremake cnx_pci          PASS=SMP
-#  ipfiremake fcdsl                    PASS=SMP
-#  ipfiremake fcdsl2                   PASS=SMP
-#  ipfiremake fcdslsl          PASS=SMP
-#  ipfiremake fcdslusb         PASS=SMP
-#  ipfiremake fcdslslusb               PASS=SMP
-#  ipfiremake fcpci                    PASS=SMP
-#  ipfiremake fcclassic                PASS=SMP
-#  ipfiremake pulsar                   PASS=SMP
-#  ipfiremake unicorn          PASS=SMP
-#  ipfiremake promise-sata-300-tx      PASS=SMP
-  ipfiremake zaptel                    PASS=S
+  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 fcpci                     SMP=1
+#  ipfiremake promise-sata-300-tx      SMP=1
+  ipfiremake zaptel                    SMP=1
+  ipfiremake fuse                      SMP=1
   ipfiremake linux
-#  ipfiremake 3cp4218
-#  ipfiremake amedyn
-#  ipfiremake cxacru
-#  ipfiremake eciadsl
-#  ipfiremake eagle
-#  ipfiremake speedtouch
-#  ipfiremake cnx_pci
-#  ipfiremake fcdsl
-#  ipfiremake fcdsl2
-#  ipfiremake fcdslsl
-#  ipfiremake fcdslusb
-#  ipfiremake fcdslslusb
-#  ipfiremake fcpci
-#  ipfiremake fcclassic
-#  ipfiremake pulsar
-#  ipfiremake unicorn
+  ipfiremake ipp2p
+  ipfiremake fcdsl
+  ipfiremake fcdsl2
+  ipfiremake fcdslsl
+  ipfiremake fcdslusb
+  ipfiremake fcdslslusb
+  ipfiremake fcpci
 #  ipfiremake promise-sata-300-tx
   ipfiremake zaptel
-#  ipfiremake pcmciautils
+  ipfiremake fuse
+  ipfiremake pkg-config
+  ipfiremake cpio
+  ipfiremake klibc
+  ipfiremake mkinitcpio
+  ipfiremake udev                              KLIBC=1
   ipfiremake expat
   ipfiremake gdbm
   ipfiremake gmp
@@ -389,11 +379,9 @@ buildipfire() {
   ipfiremake mysql
   ipfiremake cyrus-sasl
   ipfiremake openldap
-#  ipfiremake cyrus-sasl PASS=L # Doesn't work yet. Thereby there's the question: Do we really need this?
   ipfiremake apache2
   ipfiremake php
-  ipfiremake subversion
-  ipfiremake apache2 PASS=C
+  ipfiremake apache2                   PASS=C
   ipfiremake arping
   ipfiremake beep
   ipfiremake bind
@@ -402,32 +390,41 @@ buildipfire() {
   ipfiremake dnsmasq
   ipfiremake dosfstools
   ipfiremake reiserfsprogs
+  ipfiremake squashfstools
+  ipfiremake sysfsutils
+  ipfiremake ntfs-3g
   ipfiremake ethtool
   ipfiremake ez-ipupdate
   ipfiremake fcron
   ipfiremake GD
+  ipfiremake GD-Graph
+  ipfiremake GD-TextUtil
   ipfiremake gnupg
   ipfiremake hdparm
   ipfiremake ibod
   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 isapnptools # ERROR :(
+  ipfiremake isapnptools
 #  ipfiremake isdn4k-utils # What about mISDN???
+  ipfiremake hwdata
   ipfiremake kudzu
   ipfiremake logrotate
   ipfiremake logwatch
-  ipfiremake mingetty
   ipfiremake misc-progs
   ipfiremake mtools
   ipfiremake nano
   ipfiremake nash
   ipfiremake nasm
-### The Perl Modules have to be updated! I will skip this now!
   ipfiremake URI
   ipfiremake HTML-Tagset
   ipfiremake HTML-Parser
@@ -450,12 +447,12 @@ buildipfire() {
   ipfiremake Archive-Zip
   ipfiremake Text-Tabs+Wrap
   ipfiremake Locale-Country
+  ipfiremake XML-Parser
+  ipfiremake glib
   ipfiremake GeoIP
-###
   ipfiremake fwhits
   ipfiremake noip_updater
   ipfiremake ntp
-  ipfiremake oinkmaster
   ipfiremake openssh
   ipfiremake openswan
   ipfiremake pptpclient
@@ -463,47 +460,42 @@ buildipfire() {
   ipfiremake setserial
   ipfiremake setup
   ipfiremake snort
+  ipfiremake snortsnarf
+  ipfiremake oinkmaster
   ipfiremake squid
   ipfiremake squid-graph
   ipfiremake squidguard
-#  ipfiremake tcpdump
+  ipfiremake calamaris
+  ipfiremake tcpdump
   ipfiremake traceroute
   ipfiremake vlan
   ipfiremake wireless
   ipfiremake libsafe
   ipfiremake 3c5x9setup
   ipfiremake pakfire
-  ipfiremake startscripts
   ipfiremake java
   ipfiremake bootsplash
   ipfiremake spandsp
   ipfiremake lzo
   ipfiremake openvpn
-  ipfiremake pkg-config
-  ipfiremake glib
   ipfiremake pammysql
-  ipfiremake xinetd
   ipfiremake ghostscript
   ipfiremake cups
   ipfiremake samba
   ipfiremake sudo
   ipfiremake mc
   ipfiremake wget
-  ipfiremake wput
   ipfiremake bridge-utils
   ipfiremake screen
   ipfiremake hddtemp
   ipfiremake smartmontools
   ipfiremake htop
-  ipfiremake lynx
   ipfiremake postfix
-  ipfiremake procmail
   ipfiremake fetchmail
   ipfiremake cyrusimap
   ipfiremake webcyradm
   ipfiremake mailx
   ipfiremake clamav
-  ipfiremake razor
   ipfiremake spamassassin
   ipfiremake amavisd
   ipfiremake stund
@@ -515,16 +507,11 @@ buildipfire() {
   ipfiremake libogg
   ipfiremake libvorbis
   ipfiremake lame
-  ipfiremake xvid
-  ipfiremake mpeg2dec
-  ipfiremake ffmpeg
   ipfiremake sox
   ipfiremake gnump3d
-  ipfiremake videolan
   ipfiremake applejuice
   ipfiremake ocaml
   ipfiremake mldonkey
-  ipfiremake ntop
   ipfiremake rsync
   ipfiremake tcpwrapper
   ipfiremake portmap
@@ -537,9 +524,9 @@ buildipfire() {
   ipfiremake etherwake
   ipfiremake ethereal
   ipfiremake tftp-hpa
-  ipfiremake iptraf
-  ipfiremake nagios
-  ipfiremake yasuc
+  ipfiremake bwm-ng
+  ipfiremake tripwire
+  ipfiremake sysstat
 }
 
 buildinstaller() {
@@ -547,63 +534,47 @@ buildinstaller() {
   LOGFILE="$BASEDIR/log/_build.installer.log"
   export LOGFILE
   ipfiremake syslinux
-  ipfiremake uClibc
+  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 sysvinit
+  installmake slang
+  installmake newt
   installmake gettext
-  installmake e2fsprogs
+  installmake kbd
+  installmake popt
+  installmake sysvinit
   installmake misc-progs
+  installmake e2fsprogs
+  installmake libaal
+  installmake reiser4progs
+  installmake reiserfsprogs
   installmake sysfsutils
-  installmake hwinfo
-  installmake slang
   installmake util-linux
-  installmake reiserfsprogs
-  installmake newt
   installmake pciutils
-  installmake pcmciautils
-  installmake kbd
-  installmake popt
+  installmake zlib
+  installmake mtd
+  installmake wget
+  installmake hwdata
   installmake kudzu
   installmake installer
-  installmake scsi.img
-  installmake driver.img
   installmake initrd
-  installmake boot.img
-#  ipfiremake as86
-#  ipfiremake mbr
 }
 
 buildpackages() {
   LOGFILE="$BASEDIR/log/_build.packages.log"
   export LOGFILE
   echo "... see detailed log in _build.*.log files" >> $LOGFILE
-  # Strip files
-  echo -n "Stripping files" | tee -a $LOGFILE
-  find $LFS/lib $LFS/usr/lib $LFS/usr/share/rrdtool-* $LFS/install ! -type l \( -name '*.so' -o -name '*.so[\.0-9]*' \) \
-       ! -name 'libc.so' ! -name 'libpthread.so' ! -name 'libcrypto.so.0.9.7.sha1' \
-        -exec $LFS/tools/bin/strip --strip-all {} \; >> $LOGFILE 2>&1
-  # add -ls before -exec if you want to verify what files are stripped
 
-  find $LFS/{,s}bin $LFS/usr/{,s}bin $LFS/usr/local/{,s}bin ! -type l \
-       -exec file {} \; | grep " ELF " | cut -f1 -d ':' | xargs $LFS/tools/bin/strip --strip-all >> $LOGFILE 2>&1
-  # there add -v to strip to verify
-  beautify message DONE
-
-#   Create fcdsl packages
-#  echo "`date -u '+%b %e %T'`: Building fcdsl tgz" | tee -a $LOGFILE
-#  cp $LFS/install/images/fcdsl/license.txt $LFS  >> $LOGFILE 2>&1
-#  touch $LFS/var/run/{need-depmod-$KVER,need-depmod-$KVER-smp}
-#  cd $LFS && tar cvfz $LFS/install/images/$SNAME-fcdsl-$VERSION.$MACHINE.tgz \
-#      lib/modules/$KVER/misc/fcdsl*.o.gz \
-#      lib/modules/$KVER-smp/misc/fcdsl*.o.gz \
-#      usr/lib/isdn/{fds?base.bin,fd?ubase.frm} \
-#      etc/fcdsl/fcdsl*.conf \
-#      etc/drdsl/{drdsl,drdsl.ini} \
-#      license.txt \
-#      var/run/{need-depmod-$KVER,need-depmod-$KVER-smp} >> $LOGFILE 2>&1
-#  rm -f $LFS/license.txt >> $LOGFILE 2>&1
-#  cd $BASEDIR
+  installmake strip
   
   # Generating list of packages used
   echo -n "Generating packages list from logs" | tee -a $LOGFILE
@@ -620,19 +591,27 @@ buildpackages() {
   # packages-list.txt is ready to be displayed for wiki page
   beautify message DONE
 
-  # Create ISO for CDROM
-  ipfiremake cdrom
-  rm -f $LFS/install/images/*usb*
-  cp $LFS/install/images/{*.iso,*.tgz} $BASEDIR >> $LOGFILE 2>&1
+  # 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
+       ipfiremake usb-stick
+  fi
+  ipfiremake pxe
+  mv $LFS/install/images/{*.iso,*.tgz,*.img.gz} $BASEDIR >> $LOGFILE 2>&1
 
-#  ipfirepackages
+  ipfirepackages
 
   # Cleanup
   stdumount
   rm -rf $BASEDIR/build/tmp/*
 
   # Generating total list of files
-  echo "`date -u '+%b %e %T'`: Generating files list from logs" | tee -a $LOGFILE
+  echo -n "Generating files list from logs" | tee -a $LOGFILE
   rm -f $BASEDIR/log/FILES
   for i in `ls -1tr $BASEDIR/log/[^_]*`; do
        if [ "$i" != "$BASEDIR/log/FILES" -a -n $i ]; then
@@ -642,54 +621,32 @@ buildpackages() {
                cat $i | sed "s%^\./%#%" | sort >> $BASEDIR/log/FILES
        fi
   done
-  cd $BASEDIR/packages; ls -w1 *.ipfire | awk -F ".ipfire" '{ print $1 }' > $BASEDIR/packages/packages_list.txt
-  echo -n "###EOF###" >> $BASEDIR/packages/packages_list.txt
+  beautify message DONE
 
   cd $PWD
-
 }
 
 ipfirepackages() {
-  if [ -d "$BASEDIR/packages" ]; then
-         for i in `ls $BASEDIR/packages`; do
-               touch $BASEDIR/build/install/packages/$i.empty
-         done
-  fi
 #  ipfiredist amavisd
-  ipfiredist applejuice
-  ipfiredist asterisk
+#  ipfiredist applejuice
+#  ipfiredist asterisk
   ipfiredist clamav
-  ipfiredist cups
-  ipfiredist cyrusimap
-  ipfiredist fetchmail
-  ipfiredist ffmpeg
-  ipfiredist gnump3d
-  ipfiredist iptraf
-  ipfiredist java
-  ipfiredist lame
-  ipfiredist libmad
-  ipfiredist libogg
-  ipfiredist libvorbis
-  ipfiredist mailx
-  ipfiredist mldonkey
-  ipfiredist mpeg2dec
-  ipfiredist nagios
-  ipfiredist nfs
-  ipfiredist nmap
-  ipfiredist ntop
-  ipfiredist portmap
-  ipfiredist postfix
-  ipfiredist procmail
+#  ipfiredist cups
+#  ipfiredist cyrusimap
+#  ipfiredist fetchmail
+#  ipfiredist gnump3d
+#  ipfiredist java
+#  ipfiredist mailx
+#  ipfiredist mldonkey
+#  ipfiredist nfs
+#  ipfiredist postfix
   ipfiredist samba
-  ipfiredist sox
-  ipfiredist spamassassin
-  ipfiredist subversion
-  ipfiredist videolan
-  ipfiredist webcyradm
-  ipfiredist xvid
-  ipfiredist yasuc
+#  ipfiredist sox
+#  ipfiredist spamassassin
+  ipfiredist tripwire
+#  ipfiredist webcyradm
   test -d $BASEDIR/packages || mkdir $BASEDIR/packages
-  mv -f $LFS/install/packages/*.{ipfire,md5} $BASEDIR/packages >> $LOGFILE 2>&1
+  mv -f $LFS/install/packages/* $BASEDIR/packages >> $LOGFILE 2>&1
   rm -rf  $BASEDIR/build/install/packages/*
 }
 
@@ -698,6 +655,10 @@ 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
@@ -721,7 +682,8 @@ build)
                prepareenv
        fi
 
-       beautify build_stage "Building base"
+       beautify build_start
+       beautify build_stage "Building LFS"
        buildbase
 
        beautify build_stage "Building IPFire"
@@ -739,6 +701,7 @@ build)
 
        beautify build_stage "Building packages"
        buildpackages
+       beautify build_end
        ;;
 shell)
        # enter a shell inside LFS chroot
@@ -748,10 +711,11 @@ shell)
        ;;
 changelog)
        echo -n "Loading new Changelog from SVN: "
-       svn log http://svn.ipfire.eu/svn/ipfire > doc/ChangeLog
-       echo "Finished!"
+       svn log http://svn.ipfire.org/svn/ipfire > doc/ChangeLog
+       beautify message DONE
        ;;
 clean)
+       echo -en "${BOLD}Cleaning build directory...${NORMAL}"
        for i in `mount | grep $BASEDIR | sed 's/^.*loop=\(.*\))/\1/'`; do
                $LOSETUP -d $i 2>/dev/null
        done
@@ -772,57 +736,7 @@ clean)
        if [ -h /tools ]; then
                rm -f /tools
        fi
-       ;;
-newpak)
-       # create structure for a new package
-       echo -e "Name of the new package: $2"
-       if [ ! -f "lfs/$2" ]; then
-               echo "`date -u '+%b %e %T'`: Creating directory src/paks/$2"
-               mkdir -p src/paks/$2
-               cd src/paks/$2
-               echo "`date -u '+%b %e %T'`: Creating files"
-               cp $BASEDIR/lfs/postfix $BASEDIR/lfs/$2
-
-               touch ROOTFILES
-               touch {,un}install.sh
-       ## install.sh
-               echo '#!/bin/bash' > install.sh
-               echo '#' >> install.sh
-               echo '#################################################################' >> install.sh
-               echo '#                                                               #' >> install.sh
-               echo '# This file belongs to IPFire Firewall - GPLv2 - www.ipfire.org #' >> install.sh
-               echo '#                                                               #' >> install.sh
-               echo '#################################################################' >> install.sh
-               echo '#' >> install.sh
-               echo '# Extract the files' >> install.sh
-               echo 'tar xfz files.tgz -C /' >> install.sh
-               echo 'cp -f ROOTFILES /opt/pakfire/installed/ROOTFILES.$2' >> install.sh
-       ## uninstall.sh
-               echo '#!/bin/bash' > uninstall.sh
-               echo '#################################################################' >> uninstall.sh
-               echo '#                                                               #' >> uninstall.sh
-               echo '# This file belongs to IPFire Firewall - GPLv2 - www.ipfire.org #' >> uninstall.sh
-               echo '#                                                               #' >> uninstall.sh
-               echo '#################################################################' >> uninstall.sh
-               echo '#' >> uninstall.sh
-               echo '# Delete the files' >> uninstall.sh
-               echo '## Befehl fehlt noch' >> uninstall.sh
-               echo 'rm -f /opt/pakfire/installed/ROOTFILES.$2' >> uninstall.sh
-               echo "`date -u '+%b %e %T'`: Adding files to SVN"
-               cd - && svn add lfs/$2 && svn add src/paks/$2
-
-               echo -n "Do you want to remove the folders? [y/n]"
-               read REM
-               if  [ "$REM" == "y" ]; then
-                       echo "Removing the folders..."
-                       svn del src/paks/$2 --force
-               else
-                       echo "Folders are kept."
-               fi
-       else
-               echo "$2 already exists"
-       fi
-       exit 0
+       beautify message DONE
        ;;
 downloadsrc)
        if [ ! -d $BASEDIR/cache ]; then
@@ -960,10 +874,9 @@ svn)
                clear
                if [ -f /usr/bin/mcedit ]; then
                        export EDITOR=/usr/bin/mcedit
-               else
-                       if [ -f /usr/bin/nano ]; then
-                               export EDITOR=/usr/bin/nano
-                       fi
+               fi
+               if [ -f /usr/bin/nano ]; then
+                       export EDITOR=/usr/bin/nano
                fi
                echo -ne "Selecting editor $EDITOR..."
                beautify message DONE
@@ -972,9 +885,12 @@ svn)
                                $0 changelog
                        fi
                fi
+               update_langs
                svn commit
                $0 svn up
-               $0 uploadsrc
+               if [ -n "$FTP_CACHE_URL" ]; then
+                       $0 uploadsrc
+               fi
          ;;
          dist)
                if [ $3 ]; then
@@ -985,9 +901,9 @@ svn)
                        exit 0
                fi
                echo -en "REV $SVN_REVISION: Downloading..."
-               svn export http://svn.ipfire.eu/svn/ipfire/trunk ipfire-source/ --force > /dev/null
-               svn log http://svn.ipfire.eu/svn/ipfire/trunk -r 1:$SVN_REVISION > ipfire-source/Changelog
-               #svn info http://svn.ipfire.eu/svn/ipfire/trunk -r $SVN_REVISION > ipfire-source/svn_status
+               svn export http://svn.ipfire.org/svn/ipfire/trunk ipfire-source/ --force > /dev/null
+               svn log http://svn.ipfire.org/svn/ipfire/trunk -r 1:$SVN_REVISION > ipfire-source/Changelog
+               #svn info http://svn.ipfire.org/svn/ipfire/trunk -r $SVN_REVISION > ipfire-source/svn_status
                evaluate 1
 
                echo -en "REV $SVN_REVISION: Compressing files..."
@@ -1001,10 +917,12 @@ svn)
                evaluate 1
          ;;
          diff|di)
+         update_langs
                echo -ne "Make a local diff to last svn revision"
                svn diff > ipfire-diff-`date +'%Y-%m-%d-%H:%M'`-r`svn info | grep Revision | cut -c 11-`.diff
                evaluate 1
                echo "Diff was successfully saved to ipfire-diff-`date +'%Y-%m-%d-%H:%M'`-r`svn info | grep Revision | cut -c 11-`.diff"
+               svn status
          ;;
        esac
        ;;
@@ -1012,70 +930,64 @@ uploadsrc)
        PWD=`pwd`
        cd $BASEDIR/cache/
        echo -e "Uploading cache to ftp server:"
-       ncftpls -u $IPFIRE_FTP_USER_INT -p $IPFIRE_FTP_PASS_INT ftp://$IPFIRE_FTP_URL_INT$IPFIRE_FTP_PATH_INT/ > /var/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 /var/tmp/ftplist
+               grep -q $i /tmp/ftplist
                if [ "$?" -ne "0" ]; then
                        echo -ne "$i"
-                       ncftpput -bb -u $IPFIRE_FTP_USER_INT -p $IPFIRE_FTP_PASS_INT $IPFIRE_FTP_URL_INT $IPFIRE_FTP_PATH_INT/ $i >> $BASEDIR/log/_build.uploadsrc.log 2>&1
-                       if [ "$?" -eq "0" ]; then
-                               beautify message DONE
-                       else
+                       ncftpput -u $FTP_CACHE_USER -p $FTP_CACHE_PASS $FTP_CACHE_URL $FTP_CACHE_PATH/ $i
+                       if [ "$?" -ne "0" ]; then
                                beautify message FAIL
                        fi
                fi
        done
-       rm -f /var/tmp/ftplist
-       UL_TIME_START=`date +'%s'`
-       ncftpbatch -d > /dev/null 2>&1
-       while ps acx | grep -q ncftpbatch
-       do
-               UL_TIME=$(expr `date +'%s'` - $UL_TIME_START)
-               echo -ne "\r ${UL_TIME}s : Upload is running..."
-               sleep 1
-       done
-       beautify message DONE
+       rm -f /tmp/ftplist
        cd $PWD
        exit 0
        ;;
 upload)
        case "$2" in
          iso)
-               echo -e "Uploading the iso to $IPFIRE_FTP_URL_EXT."
+               echo -e "Uploading the iso to $FTP_ISO_PATH/$SVN_REVISION."
                cat <<EOF > .ftp-commands
-mkdir $IPFIRE_FTP_PATH_EXT
+mkdir -p $FTP_ISO_PATH/$SVN_REVISION
 ls -lah
 quit
 EOF
-               ncftp -u $IPFIRE_FTP_USER_EXT -p $IPFIRE_FTP_PASS_EXT $IPFIRE_FTP_URL_EXT < .ftp-commands
+               ncftp -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL < .ftp-commands
                rm -f .ftp-commands
-               md5sum ipfire-install-$VERSION.i386.iso > ipfire-install-$VERSION.i386.iso.md5
-               ncftpput -u $IPFIRE_FTP_USER_EXT -p $IPFIRE_FTP_PASS_EXT $IPFIRE_FTP_URL_EXT $IPFIRE_FTP_PATH_EXT/ ipfire-install-$VERSION.i386.iso
-               ncftpput -u $IPFIRE_FTP_USER_EXT -p $IPFIRE_FTP_PASS_EXT $IPFIRE_FTP_URL_EXT $IPFIRE_FTP_PATH_EXT/ ipfire-install-$VERSION.i386.iso.md5
-               ncftpput -u $IPFIRE_FTP_USER_EXT -p $IPFIRE_FTP_PASS_EXT $IPFIRE_FTP_URL_EXT $IPFIRE_FTP_PATH_EXT/ ipfire-source-r$SVN_REVISION.tar.gz
-               ncftpput -u $IPFIRE_FTP_USER_EXT -p $IPFIRE_FTP_PASS_EXT $IPFIRE_FTP_URL_EXT $IPFIRE_FTP_PATH_EXT/ svn_status
+               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 $IPFIRE_FTP_URL_EXT$IPFIRE_FTP_PATH_EXT/."
+                       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
                if [ "$3" = "--with-sources-cd" ]; then
-                       ncftpput -u $IPFIRE_FTP_USER_EXT -p $IPFIRE_FTP_PASS_EXT $IPFIRE_FTP_URL_EXT $IPFIRE_FTP_PATH_EXT/ ipfire-sources-cd-$VERSION.$MACHINE.iso
+                       ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL $FTP_ISO_PATH/$SVN_REVISION/ ipfire-sources-cd-$VERSION.$MACHINE.iso
                fi
                ;;
          paks)
                cat <<EOF > .ftp-commands
-mkdir $IPFIRE_FTP_PATH_PAK
+mkdir -p $FTP_ISO_PATH/$SVN_REVISION/paks
 ls -lah
 quit
 EOF
-               ncftp -u $IPFIRE_FTP_USER_PAK -p $IPFIRE_FTP_PASS_PAK $IPFIRE_FTP_URL_PAK < .ftp-commands
+               ncftp -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL < .ftp-commands
                rm -f .ftp-commands
-               ncftpput -z -u $IPFIRE_FTP_USER_PAK -p $IPFIRE_FTP_PASS_PAK $IPFIRE_FTP_URL_PAK $IPFIRE_FTP_PATH_PAK/ packages/*
+               ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL $FTP_ISO_PATH$SVN_REVISION/paks packages/*
                if [ "$?" -eq "0" ]; then
-                       echo -e "The packages were successfully uploaded to $IPFIRE_FTP_URL_PAK$IPFIRE_FTP_PATH_PAK/."
+                       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
@@ -1084,7 +996,7 @@ EOF
        esac
        ;;
 batch)
-       if [ "$2" -eq "--background" ]; then
+       if [ "$2" = "--background" ]; then
                batch_script
                exit $?
        fi
@@ -1107,6 +1019,30 @@ batch)
 watch)
        watch_screen
        ;;
+pxe)
+       case "$2" in
+         start)
+               start_tftpd
+               ;;
+         stop)
+               stop_tftpd
+               ;;
+         reload|restart)
+               reload_tftpd
+               ;;              
+       esac
+       exit 0
+       ;;
+lang)
+       update_langs
+       ;;
+packages)
+       case "$2" in
+               sign)
+                       sign_packages
+                       ;;
+       esac
+       ;;
 "")
        clear
        svn info
@@ -1132,7 +1068,7 @@ watch)
                $0 svn update
                ;;
        "Help")
-               echo "Usage: $0 {build|changelog|clean|gettoolchain|newpak|downloadsrc|shell|sync|toolchain}"
+               echo "Usage: $0 {build|changelog|clean|gettoolchain|downloadsrc|shell|sync|toolchain}"
                cat doc/make.sh-usage
                ;;
        "LOG: Tail")
@@ -1144,8 +1080,11 @@ watch)
        esac
        done
        ;;
+config)
+       make_config
+       ;;
 *)
-       echo "Usage: $0 {build|changelog|clean|gettoolchain|newpak|downloadsrc|shell|sync|toolchain}"
+       echo "Usage: $0 {build|changelog|clean|gettoolchain|downloadsrc|shell|sync|toolchain}"
        cat doc/make.sh-usage
        ;;
 esac