]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - make.sh
Das ein wenige instabile Sender der Emails gefixt.
[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 bfc5a1e..1e75f61
--- 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) 2006 IPFire-Team <info@ipfire.eu>.                         #
+# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
 #                                                                          #
 ############################################################################
 #
 
-NAME="IPFire"                          # Software name
-SNAME="ipfire"                 # Short name
-VERSION="2.0b"                 # 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.0beta1"                                                     # 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 devel"                            # Which versions should be compiled? (full|light|voice|devel)
+IPFVER="full"                          # Which versions should be compiled? (full|devel)
 
 # Set an information about the build number
 if [ -e ./.svn ]; then
@@ -82,11 +82,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 +106,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 +120,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 +136,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,16 +161,16 @@ 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
     set +h
     LC_ALL=POSIX
-    MAKETUNING="-j12"
+    MAKETUNING="-j6"
     export LFS LC_ALL CFLAGS CXXFLAGS MAKETUNING
     unset CC CXX CPP LD_LIBRARY_PATH LD_PRELOAD
 
@@ -284,7 +284,6 @@ buildbase() {
     lfsmake2 file
     lfsmake2 findutils
     lfsmake2 flex
-    lfsmake2 grub
     lfsmake2 gawk
     lfsmake2 gettext
     lfsmake2 grep
@@ -294,13 +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
@@ -309,6 +311,7 @@ buildbase() {
     lfsmake2 udev
     lfsmake2 util-linux
     lfsmake2 vim
+    lfsmake2 grub
 }
 
 buildipfire() {
@@ -325,38 +328,30 @@ buildipfire() {
   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 fcpci                     SMP=1
-#  ipfiremake promise-sata-300-tx      SMP=1
+  ipfiremake r8169                     SMP=1
   ipfiremake zaptel                    SMP=1
   ipfiremake linux
   ipfiremake ipp2p
-  ipfiremake fcdsl
-  ipfiremake fcdsl2
-  ipfiremake fcdslsl
-  ipfiremake fcdslusb
-  ipfiremake fcdslslusb
-  ipfiremake fcpci
-#  ipfiremake promise-sata-300-tx
+  ipfiremake r8169
   ipfiremake zaptel
+  ipfiremake pkg-config
+  ipfiremake cpio
+  ipfiremake klibc
+  ipfiremake mkinitcpio
+  ipfiremake udev                              KLIBC=1
   ipfiremake expat
   ipfiremake gdbm
   ipfiremake gmp
   ipfiremake pam
   ipfiremake openssl
+  ipfiremake curl
   ipfiremake python
   ipfiremake libnet
   ipfiremake libjpeg
   ipfiremake libpng
   ipfiremake libtiff
-  ipfiremake lcms
-  ipfiremake libmng
-  ipfiremake freetype
   ipfiremake libart
+  ipfiremake freetype
   ipfiremake gd
   ipfiremake popt
   ipfiremake pcre
@@ -364,7 +359,9 @@ buildipfire() {
   ipfiremake newt
   ipfiremake libcap
   ipfiremake pciutils
+  ipfiremake usbutils
   ipfiremake libxml2
+  ipfiremake libxslt
   ipfiremake BerkeleyDB
   ipfiremake mysql
   ipfiremake cyrus-sasl
@@ -375,20 +372,25 @@ buildipfire() {
   ipfiremake arping
   ipfiremake beep
   ipfiremake bind
-  ipfiremake capi4k-utils
   ipfiremake cdrtools
   ipfiremake dnsmasq
   ipfiremake dosfstools
-  ipfiremake reiserfsprogs
   ipfiremake squashfstools
+  ipfiremake reiserfsprogs
+  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 mtools
   ipfiremake initscripts
+  ipfiremake whatmask
   ipfiremake iptables
   ipfiremake libupnp
   ipfiremake ipp2p                     IPT=1
@@ -399,15 +401,13 @@ buildipfire() {
   ipfiremake iptstate
   ipfiremake iputils
   ipfiremake l7-protocols
-  ipfiremake isapnptools
-#  ipfiremake isdn4k-utils # What about mISDN???
+  ipfiremake mISDN
+  ipfiremake hwdata
   ipfiremake kudzu
   ipfiremake logrotate
   ipfiremake logwatch
   ipfiremake misc-progs
-  ipfiremake mtools
   ipfiremake nano
-  ipfiremake nash
   ipfiremake nasm
   ipfiremake URI
   ipfiremake HTML-Tagset
@@ -431,79 +431,81 @@ buildipfire() {
   ipfiremake Archive-Zip
   ipfiremake Text-Tabs+Wrap
   ipfiremake Locale-Country
+  ipfiremake XML-Parser
+  ipfiremake MP3-Info
+  ipfiremake MP3-Tag
+  ipfiremake glib
   ipfiremake GeoIP
   ipfiremake fwhits
   ipfiremake noip_updater
   ipfiremake ntp
-  ipfiremake oinkmaster
   ipfiremake openssh
   ipfiremake openswan
-  ipfiremake pptpclient
   ipfiremake rrdtool
   ipfiremake setserial
   ipfiremake setup
   ipfiremake snort
+  ipfiremake oinkmaster
   ipfiremake squid
   ipfiremake squid-graph
   ipfiremake squidguard
+  ipfiremake calamaris
   ipfiremake tcpdump
   ipfiremake traceroute
   ipfiremake vlan
   ipfiremake wireless
   ipfiremake libsafe
-  ipfiremake 3c5x9setup
   ipfiremake pakfire
   ipfiremake java
-  ipfiremake bootsplash
   ipfiremake spandsp
   ipfiremake lzo
   ipfiremake openvpn
-  ipfiremake pkg-config
-  ipfiremake glib
   ipfiremake pammysql
-  ipfiremake xinetd
-  ipfiremake ghostscript
   ipfiremake cups
+  ipfiremake ghostscript
+  ipfiremake foomatic
   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
-  ipfiremake libpri
-# ipfiremake bristuff
-  ipfiremake asterisk
+  ipfiremake alsa
   ipfiremake mpg123
+  ipfiremake mpfire
+  ipfiremake guardian
   ipfiremake libmad
   ipfiremake libogg
   ipfiremake libvorbis
   ipfiremake lame
-  ipfiremake xvid
-  ipfiremake mpeg2dec
-  ipfiremake ffmpeg
   ipfiremake sox
+  ipfiremake libshout
+  ipfiremake icecast
+  ipfiremake ices
+  ipfiremake mp3blaster
+  ipfiremake libpri
+  ipfiremake stund
+  ipfiremake asterisk
+  ipfiremake backup
   ipfiremake gnump3d
-  ipfiremake videolan
+  ipfiremake libsigc++
   ipfiremake applejuice
   ipfiremake ocaml
   ipfiremake mldonkey
-  ipfiremake ntop
+  ipfiremake libtorrent
+  ipfiremake rtorrent
+  ipfiremake ipfireseeder
   ipfiremake rsync
   ipfiremake tcpwrapper
   ipfiremake portmap
@@ -516,9 +518,12 @@ buildipfire() {
   ipfiremake etherwake
   ipfiremake ethereal
   ipfiremake tftp-hpa
-  ipfiremake iptraf
-  ipfiremake nagios
-  ipfiremake yasuc
+  ipfiremake bwm-ng
+  ipfiremake tripwire
+  ipfiremake sysstat
+  ipfiremake vsftpd
+  ipfiremake which
+  ipfiremake lsof
 }
 
 buildinstaller() {
@@ -526,6 +531,8 @@ buildinstaller() {
   LOGFILE="$BASEDIR/log/_build.installer.log"
   export LOGFILE
   ipfiremake syslinux
+  ipfiremake as86
+  ipfiremake mbr
   ipfiremake memtest
   installmake linux-libc-header
   installmake binutils
@@ -543,11 +550,16 @@ buildinstaller() {
   installmake popt
   installmake sysvinit
   installmake misc-progs
-  installmake e2fsprogs
+  installmake libaal
+  installmake reiser4progs
   installmake reiserfsprogs
   installmake sysfsutils
   installmake util-linux
   installmake pciutils
+  installmake zlib
+  installmake mtd
+  installmake wget
+  installmake hwdata
   installmake kudzu
   installmake installer
   installmake initrd
@@ -576,27 +588,26 @@ buildpackages() {
   beautify message DONE
 
   # Create images for install
-  for i in $IPFVER
-  do
-       if [ $i == "devel" ]; then
-               if [ ! -f ipfire-$VER.i586-devel.iso ]; then
-                       ipfiremake cdrom ED=$i
-               fi
-       else
-               ipfiremake cdrom ED=$i
+  if [ "$DEVEL" == "1" ]; then
+               ipfiremake cdrom ED=devel
        fi
-  done
+       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
-  cp -f $LFS/install/images/{*.iso,*.tgz} $BASEDIR >> $LOGFILE 2>&1
+  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 "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
@@ -606,54 +617,17 @@ 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 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 samba
-  ipfiredist sox
-  ipfiredist spamassassin
-  ipfiredist subversion
-  ipfiredist videolan
-  ipfiredist webcyradm
-  ipfiredist xvid
-  ipfiredist yasuc
+       for i in $(ls -1 $BASEDIR/config/rootfiles/packages); do
+               [ -e $BASEDIR/lfs/$i ] && ipfiredist $i
+       done
   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/*
 }
 
@@ -662,6 +636,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
@@ -888,9 +866,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
@@ -917,10 +898,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
        ;;
@@ -928,61 +911,61 @@ 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/ > /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 -u $FTP_CACHE_USER -p $FTP_CACHE_PASS $FTP_CACHE_URL $FTP_CACHE_PATH/ $i
-                       if [ "$?" -eq "0" ]; then
-                               beautify message DONE
-                       else
+                       if [ "$?" -ne "0" ]; then
                                beautify message FAIL
                        fi
                fi
        done
-       rm -f /var/tmp/ftplist
+       rm -f /tmp/ftplist
        cd $PWD
        exit 0
        ;;
 upload)
-       case "$2" in
-         iso)
-               echo -e "Uploading the iso to $IPFIRE_FTP_URL_EXT."
-               cat <<EOF > .ftp-commands
-mkdir $IPFIRE_FTP_PATH_EXT
-ls -lah
+       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 $IPFIRE_FTP_USER_EXT -p $IPFIRE_FTP_PASS_EXT $IPFIRE_FTP_URL_EXT < .ftp-commands
-               rm -f .ftp-commands
-               md5sum ipfire-install-$VERSION.i386.iso > ipfire-install-$VERSION.i386.iso.md5
-               ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL $FTP_ISO_PATH/ ipfire-install-$VERSION.i386.iso
-               ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL $FTP_ISO_PATH/ ipfire-install-$VERSION.i386.iso.md5
-               ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL $FTP_ISO_PATH/ ipfire-source-r$SVN_REVISION.tar.gz
-               ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL $FTP_ISO_PATH/ 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/."
-               else
-                       echo -e "There was an error while uploading the iso to the ftp server."
-                       exit 1
-               fi
+       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 $FTP_ISO_URL $FTP_ISO_PATH/ 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 $IPFIRE_FTP_PATH_PAK
-ls -lah
-quit
-EOF
-               ncftp -u $IPFIRE_FTP_USER_PAK -p $IPFIRE_FTP_PASS_PAK $IPFIRE_FTP_URL_PAK < .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 -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 $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
@@ -991,7 +974,7 @@ EOF
        esac
        ;;
 batch)
-       if [ "$2" -eq "--background" ]; then
+       if [ "$2" = "--background" ]; then
                batch_script
                exit $?
        fi
@@ -1028,6 +1011,16 @@ pxe)
        esac
        exit 0
        ;;
+lang)
+       update_langs
+       ;;
+packages)
+       case "$2" in
+               sign)
+                       sign_packages
+                       ;;
+       esac
+       ;;
 "")
        clear
        svn info