]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - make.sh
MP3Blaster ist geflogen.
[ipfire-2.x.git] / make.sh
diff --git a/make.sh b/make.sh
old mode 100644 (file)
new mode 100755 (executable)
index 1caee37..0933e38
--- 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"                          # 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="-j4"
+    MAKETUNING="-j6"
     export LFS LC_ALL CFLAGS CXXFLAGS MAKETUNING
     unset CC CXX CPP LD_LIBRARY_PATH LD_PRELOAD
 
@@ -298,6 +298,7 @@ buildbase() {
     lfsmake2 man
     lfsmake2 mktemp
     lfsmake2 modutils
+    lfsmake2 mtd
     lfsmake2 net-tools
     lfsmake2 patch
     lfsmake2 psmisc
@@ -327,42 +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 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 r8169
   ipfiremake zaptel
-  ipfiremake fuse
   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
@@ -370,7 +359,9 @@ buildipfire() {
   ipfiremake newt
   ipfiremake libcap
   ipfiremake pciutils
+  ipfiremake usbutils
   ipfiremake libxml2
+  ipfiremake libxslt
   ipfiremake BerkeleyDB
   ipfiremake mysql
   ipfiremake cyrus-sasl
@@ -381,25 +372,25 @@ 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 mtools
   ipfiremake initscripts
+  ipfiremake whatmask
   ipfiremake iptables
   ipfiremake libupnp
   ipfiremake ipp2p                     IPT=1
@@ -410,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
@@ -444,81 +432,81 @@ buildipfire() {
   ipfiremake Text-Tabs+Wrap
   ipfiremake Locale-Country
   ipfiremake XML-Parser
+  ipfiremake MP3-Info
+  ipfiremake MP3-Tag
   ipfiremake glib
-  ipfiremake dbus
-  ipfiremake hal
-  ipfiremake hwinfo
   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 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 icegenerator
+  ipfiremake mpd
+  ipfiremake mpc
+  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
@@ -531,8 +519,12 @@ buildipfire() {
   ipfiremake etherwake
   ipfiremake ethereal
   ipfiremake tftp-hpa
-  ipfiremake iptraf
-  ipfiremake nagios
+  ipfiremake bwm-ng
+  ipfiremake tripwire
+  ipfiremake sysstat
+  ipfiremake vsftpd
+  ipfiremake which
+  ipfiremake lsof
 }
 
 buildinstaller() {
@@ -540,6 +532,8 @@ buildinstaller() {
   LOGFILE="$BASEDIR/log/_build.installer.log"
   export LOGFILE
   ipfiremake syslinux
+  ipfiremake as86
+  ipfiremake mbr
   ipfiremake memtest
   installmake linux-libc-header
   installmake binutils
@@ -557,7 +551,6 @@ buildinstaller() {
   installmake popt
   installmake sysvinit
   installmake misc-progs
-  installmake e2fsprogs
   installmake libaal
   installmake reiser4progs
   installmake reiserfsprogs
@@ -565,12 +558,9 @@ buildinstaller() {
   installmake util-linux
   installmake pciutils
   installmake zlib
+  installmake mtd
   installmake wget
-  installmake libxml2
-  installmake dbus
-  installmake hal
   installmake hwdata
-  installmake hwinfo
   installmake kudzu
   installmake installer
   installmake initrd
@@ -599,27 +589,23 @@ buildpackages() {
   beautify message DONE
 
   # Create images for install
-  for i in $IPFVER
-  do
-       if [ $i == "devel" ]; then
-               if [ ! -e ipfire-$VERSION.i586-devel.iso ]; then
-                       ipfiremake cdrom ED=$i
-               fi
-       else
-               ipfiremake cdrom ED=$i
-       fi
-  done
+       ipfiremake cdrom ED=full
+       
+  # Check if there is a loop device for building in virtual environments
+  if [ -e /dev/loop/0 ] || [ -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
@@ -629,54 +615,18 @@ 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
+       ipfiremake core-updates
+       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/*
 }
 
@@ -943,10 +893,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
        ;;
@@ -971,42 +923,44 @@ uploadsrc)
        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
@@ -1052,6 +1006,9 @@ pxe)
        esac
        exit 0
        ;;
+lang)
+       update_langs
+       ;;
 "")
        clear
        svn info