]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - make.sh
br2684ctl...
[ipfire-2.x.git] / make.sh
diff --git a/make.sh b/make.sh
old mode 100644 (file)
new mode 100755 (executable)
index b395223..89c7be3
--- 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.0rc1t"                                                              # 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)
+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,10 +161,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
@@ -298,6 +298,7 @@ buildbase() {
     lfsmake2 man
     lfsmake2 mktemp
     lfsmake2 modutils
+    lfsmake2 mtd
     lfsmake2 net-tools
     lfsmake2 patch
     lfsmake2 psmisc
@@ -321,48 +322,35 @@ buildipfire() {
   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 fcpci                     SMP=1
-#  ipfiremake promise-sata-300-tx      SMP=1
   ipfiremake zaptel                    SMP=1
-  ipfiremake fuse                      SMP=1
   ipfiremake linux
   ipfiremake ipp2p
-  ipfiremake fcdsl
-  ipfiremake fcdsl2
-  ipfiremake fcdslsl
-  ipfiremake fcdslusb
-  ipfiremake fcdslslusb
-  ipfiremake fcpci
-#  ipfiremake promise-sata-300-tx
   ipfiremake zaptel
-  ipfiremake fuse
   ipfiremake pkg-config
+  ipfiremake linux-atm
   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 libidn
   ipfiremake libjpeg
   ipfiremake libpng
   ipfiremake libtiff
-  ipfiremake lcms
-  ipfiremake libmng
-  ipfiremake freetype
   ipfiremake libart
+  ipfiremake freetype
   ipfiremake gd
   ipfiremake popt
   ipfiremake pcre
@@ -370,7 +358,9 @@ buildipfire() {
   ipfiremake newt
   ipfiremake libcap
   ipfiremake pciutils
+  ipfiremake usbutils
   ipfiremake libxml2
+  ipfiremake libxslt
   ipfiremake BerkeleyDB
   ipfiremake mysql
   ipfiremake cyrus-sasl
@@ -381,24 +371,24 @@ buildipfire() {
   ipfiremake arping
   ipfiremake beep
   ipfiremake bind
-  ipfiremake capi4k-utils
   ipfiremake cdrtools
   ipfiremake dnsmasq
-  ipfiremake libaal
   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 sdparm
+  ipfiremake mtools
   ipfiremake initscripts
   ipfiremake whatmask
   ipfiremake iptables
@@ -411,16 +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
@@ -450,14 +437,13 @@ buildipfire() {
   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
@@ -467,57 +453,63 @@ buildipfire() {
   ipfiremake vlan
   ipfiremake wireless
   ipfiremake libsafe
-  ipfiremake 3c5x9setup
   ipfiremake pakfire
   ipfiremake java
-  ipfiremake bootsplash
   ipfiremake spandsp
   ipfiremake lzo
   ipfiremake openvpn
   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 openmailadmin
   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 libid3tag
   ipfiremake libmad
   ipfiremake libogg
   ipfiremake libvorbis
   ipfiremake lame
-  ipfiremake xvid
-  ipfiremake mpeg2dec
-  ipfiremake ffmpeg
   ipfiremake sox
-  ipfiremake gnump3d
+  ipfiremake libshout
+  ipfiremake icecast
+  ipfiremake icegenerator
+  ipfiremake mpd
+  ipfiremake mpc
+  ipfiremake xvid
+  ipfiremake libmpeg2
+  #ipfiremake ffmpeg
   ipfiremake videolan
+  ipfiremake libpri
+  ipfiremake stund
+  ipfiremake asterisk
+  ipfiremake backup
+  ipfiremake gnump3d
+  ipfiremake libsigc++
   ipfiremake applejuice
   ipfiremake ocaml
   ipfiremake mldonkey
-  ipfiremake ntop
+  ipfiremake libtorrent
+  ipfiremake rtorrent
+  ipfiremake ipfireseeder
   ipfiremake rsync
   ipfiremake tcpwrapper
   ipfiremake portmap
@@ -533,6 +525,11 @@ buildipfire() {
   ipfiremake bwm-ng
   ipfiremake tripwire
   ipfiremake sysstat
+  ipfiremake vsftpd
+  ipfiremake which
+  ipfiremake lsof
+  ipfiremake centerim
+  ipfiremake br2684ctl
 }
 
 buildinstaller() {
@@ -559,7 +556,6 @@ buildinstaller() {
   installmake popt
   installmake sysvinit
   installmake misc-progs
-  installmake e2fsprogs
   installmake libaal
   installmake reiser4progs
   installmake reiserfsprogs
@@ -567,6 +563,7 @@ buildinstaller() {
   installmake util-linux
   installmake pciutils
   installmake zlib
+  installmake mtd
   installmake wget
   installmake hwdata
   installmake kudzu
@@ -590,23 +587,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
@@ -632,25 +625,17 @@ buildpackages() {
 }
 
 ipfirepackages() {
-#  ipfiredist amavisd
-#  ipfiredist applejuice
-#  ipfiredist asterisk
-  ipfiredist clamav
-#  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 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/*.ipfire $BASEDIR/packages >> $LOGFILE 2>&1
+  mv -f $LFS/install/packages/* $BASEDIR/packages >> $LOGFILE 2>&1
   rm -rf  $BASEDIR/build/install/packages/*
 }
 
@@ -659,10 +644,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
@@ -934,13 +915,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
@@ -951,45 +932,42 @@ uploadsrc)
        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."
-               cat <<EOF > .ftp-commands
-mkdir -p $FTP_ISO_PATH/$SVN_REVISION
-ls -lah
-quit
-EOF
-               ncftp -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL < .ftp-commands
-               rm -f .ftp-commands
+
                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
@@ -1040,13 +1018,6 @@ pxe)
 lang)
        update_langs
        ;;
-packages)
-       case "$2" in
-               sign)
-                       sign_packages
-                       ;;
-       esac
-       ;;
 "")
        clear
        svn info