]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - make.sh
Patch-O-Matic in den Kernel eingebaut.
[people/pmueller/ipfire-2.x.git] / make.sh
diff --git a/make.sh b/make.sh
index 56a206794cb4d6f4101088ff4529f106f80dccfa..fdd425d4afc4abe2f04c23a8b31364e2064932fe 100644 (file)
--- a/make.sh
+++ b/make.sh
@@ -24,8 +24,8 @@
 
 NAME="IPFire"                          # Software name
 SNAME="ipfire"                 # Short name
-VERSION="2.0"                          # Version number
-SLOGAN="www.ipfire.eu"         # Software slogan
+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
@@ -135,11 +135,11 @@ prepareenv() {
     echo -ne "Checking for necessary space on disk $BASE_DEV" | tee -a $LOGFILE
     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 (( 2202000 > $BASE_ASPACE )); then
+    if (( 2048000 > $BASE_ASPACE )); then
        BASE_USPACE=`du -skx $BASEDIR | awk '{print $1}'`
-       if (( 2202000 - $BASE_USPACE > $BASE_ASPACE )); then
+       if (( 2048000 - $BASE_USPACE > $BASE_ASPACE )); then
                beautify message FAIL
-               exiterror "Not enough temporary space available, need at least 2.1GB on $BASE_DEV"
+               exiterror "Not enough temporary space available, need at least 2GB on $BASE_DEV"
        fi
     else
        beautify message DONE
@@ -170,7 +170,7 @@ prepareenv() {
     # Setup environment
     set +h
     LC_ALL=POSIX
-    MAKETUNING="-j8"
+    MAKETUNING="-j12"
     export LFS LC_ALL CFLAGS CXXFLAGS MAKETUNING
     unset CC CXX CPP LD_LIBRARY_PATH LD_PRELOAD
 
@@ -256,7 +256,6 @@ buildbase() {
     LOGFILE="$BASEDIR/log/_build.base.log"
     export LOGFILE
     lfsmake2 stage2
-#    lfsmake2 makedev
     lfsmake2 linux-libc-header
     lfsmake2 man-pages
     lfsmake2 glibc
@@ -281,6 +280,7 @@ buildbase() {
     lfsmake2 bzip2
     lfsmake2 diffutils
     lfsmake2 e2fsprogs
+    lfsmake2 ed
     lfsmake2 file
     lfsmake2 findutils
     lfsmake2 flex
@@ -298,6 +298,7 @@ buildbase() {
     lfsmake2 man
     lfsmake2 mktemp
     lfsmake2 modutils
+    lfsmake2 net-tools
     lfsmake2 patch
     lfsmake2 psmisc
     lfsmake2 shadow
@@ -313,9 +314,6 @@ buildbase() {
 buildipfire() {
   LOGFILE="$BASEDIR/log/_build.ipfire.log"
   export LOGFILE
-  ipfiremake inetutils
-  ipfiremake net-tools
-  ipfiremake ed
   ipfiremake configroot
   ipfiremake dhcp
   ipfiremake dhcpcd
@@ -326,8 +324,7 @@ buildipfire() {
   ipfiremake ppp
   ipfiremake rp-pppoe
   ipfiremake unzip
-  ipfiremake linux                     PASS=I
-  ipfiremake linux                     PASS=S
+  ipfiremake linux                     SMP=1
 #  ipfiremake 3cp4218          PASS=SMP
 #  ipfiremake amedyn                   PASS=SMP
 #  ipfiremake cxacru                   PASS=SMP
@@ -343,6 +340,7 @@ buildipfire() {
 #  ipfiremake pulsar                   PASS=SMP
 #  ipfiremake unicorn          PASS=SMP
 #  ipfiremake promise-sata-300-tx      PASS=SMP
+  ipfiremake zaptel                    PASS=S
   ipfiremake linux
 #  ipfiremake 3cp4218
 #  ipfiremake amedyn
@@ -361,10 +359,12 @@ buildipfire() {
 #  ipfiremake pulsar
 #  ipfiremake unicorn
 #  ipfiremake promise-sata-300-tx
+  ipfiremake zaptel
 #  ipfiremake pcmciautils
   ipfiremake expat
   ipfiremake gdbm
   ipfiremake gmp
+  ipfiremake pam
   ipfiremake openssl
   ipfiremake python
   ipfiremake libnet
@@ -374,23 +374,24 @@ buildipfire() {
   ipfiremake lcms
   ipfiremake libmng
   ipfiremake freetype
+  ipfiremake libart
   ipfiremake gd
   ipfiremake popt
-exit 1 # Bis hierhin läufts :D
+  ipfiremake pcre
   ipfiremake slang
   ipfiremake newt
   ipfiremake libcap
   ipfiremake pciutils
-  ipfiremake pcre
   ipfiremake libxml2
   ipfiremake BerkeleyDB
   ipfiremake mysql
-  ipfiremake saslauthd PASS=1
+  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=CONFIG
+  ipfiremake apache2 PASS=C
   ipfiremake arping
   ipfiremake beep
   ipfiremake bind
@@ -398,10 +399,11 @@ exit 1 # Bis hierhin l
   ipfiremake cdrtools
   ipfiremake dnsmasq
   ipfiremake dosfstools
+  ipfiremake reiserfsprogs
   ipfiremake ethtool
   ipfiremake ez-ipupdate
   ipfiremake fcron
-  ipfiremake perl-GD
+  ipfiremake GD
   ipfiremake gnupg
   ipfiremake hdparm
   ipfiremake ibod
@@ -409,12 +411,11 @@ exit 1 # Bis hierhin l
   ipfiremake iptables
   ipfiremake ipac-ng
   ipfiremake ipaddr
-  ipfiremake iproute2
   ipfiremake iptstate
   ipfiremake iputils
   ipfiremake l7-protocols
-  ipfiremake isapnptools
-  ipfiremake isdn4k-utils
+#  ipfiremake isapnptools # ERROR :(
+#  ipfiremake isdn4k-utils # What about mISDN???
   ipfiremake kudzu
   ipfiremake logrotate
   ipfiremake logwatch
@@ -424,6 +425,7 @@ exit 1 # Bis hierhin l
   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
@@ -447,6 +449,7 @@ exit 1 # Bis hierhin l
   ipfiremake Text-Tabs+Wrap
   ipfiremake Locale-Country
   ipfiremake GeoIP
+###
   ipfiremake fwhits
   ipfiremake noip_updater
   ipfiremake ntp
@@ -461,7 +464,7 @@ exit 1 # Bis hierhin l
   ipfiremake squid
   ipfiremake squid-graph
   ipfiremake squidguard
-  ipfiremake tcpdump
+#  ipfiremake tcpdump
   ipfiremake traceroute
   ipfiremake vlan
   ipfiremake wireless
@@ -476,9 +479,7 @@ exit 1 # Bis hierhin l
   ipfiremake openvpn
   ipfiremake pkg-config
   ipfiremake glib
-  ipfiremake pam
   ipfiremake pammysql
-  ipfiremake saslauthd PASS=2
   ipfiremake xinetd
   ipfiremake ghostscript
   ipfiremake cups
@@ -502,11 +503,10 @@ exit 1 # Bis hierhin l
   ipfiremake clamav
   ipfiremake razor
   ipfiremake spamassassin
-#  ipfiremake amavisd
+  ipfiremake amavisd
   ipfiremake stund
-  ipfiremake zaptel
   ipfiremake libpri
-  ipfiremake bristuff
+# ipfiremake bristuff
   ipfiremake asterisk
   ipfiremake mpg123
   ipfiremake libmad
@@ -545,61 +545,41 @@ buildinstaller() {
   LOGFILE="$BASEDIR/log/_build.installer.log"
   export LOGFILE
   ipfiremake syslinux
-  ipfiremake as86
-  ipfiremake mbr
   ipfiremake uClibc
   installmake busybox
+  installmake udev
+  installmake slang
+  installmake newt
+  installmake gettext
+  installmake kbd
+  installmake popt
   installmake sysvinit
-  installmake e2fsprogs
   installmake misc-progs
-  installmake slang
+  installmake e2fsprogs
+  installmake reiserfsprogs
+  installmake sysfsutils
   installmake util-linux
-  installmake newt
   installmake pciutils
-  installmake pcmcia-cs
-  installmake kbd
+  installmake pcmciautils
+  installmake kudzu
   installmake installer
-  installmake scsi.img
-  installmake driver.img
+  installmake scsi.img # this is to be deleted
+  installmake driver.img       # this is to be deleted
   installmake initrd
-  installmake boot.img
+  installmake boot.img # this is to be deleted
+#  ipfiremake as86             # this is to be deleted
+#  ipfiremake mbr              # this is to be deleted
 }
 
 buildpackages() {
   LOGFILE="$BASEDIR/log/_build.packages.log"
   export LOGFILE
   echo "... see detailed log in _build.*.log files" >> $LOGFILE
-  echo -ne "`date -u '+%b %e %T'`: Stage5 packages build \n" | tee -a $LOGFILE
-  # Strip files
-  echo "`date -u '+%b %e %T'`: 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
 
-  if [ 'i386' = $MACHINE ]; then
-       # 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
-  fi
+  installmake strip
   
   # Generating list of packages used
-  echo "`date -u '+%b %e %T'`: Generating packages list from logs" | tee -a $LOGFILE
+  echo -n "Generating packages list from logs" | tee -a $LOGFILE
   rm -f $BASEDIR/doc/packages-list
   for i in `ls -1tr $BASEDIR/log/[^_]*`; do
        if [ "$i" != "$BASEDIR/log/FILES" -a -n $i ]; then
@@ -607,17 +587,18 @@ 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$\|ipfire$\|setup$\|pakfire$\|stage2$\|smp$\|tools$\|tools1$\|tools2$\|.tgz$\|-config$' \
+  grep -v 'configroot$\|img$\|initrd$\|initscripts$\|installer$\|install$\|setup$\|pakfire$\|stage2$\|smp$\|tools$\|tools1$\|tools2$\|.tgz$\|-config$\|_missing_rootfile$' \
        $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 ISO for CDROM
+  # Create images for install
   ipfiremake cdrom
-  rm -f $LFS/install/images/*usb*
-  cp $LFS/install/images/{*.iso,*.tgz} $BASEDIR >> $LOGFILE 2>&1
+  ipfiremake pxe
+  cp -f $LFS/install/images/{*.iso,*.tgz} $BASEDIR >> $LOGFILE 2>&1
 
-  ipfirepackages
+#  ipfirepackages
 
   # Cleanup
   stdumount
@@ -816,7 +797,7 @@ newpak)
        fi
        exit 0
        ;;
-prefetch)
+downloadsrc)
        if [ ! -d $BASEDIR/cache ]; then
                mkdir $BASEDIR/cache
        fi
@@ -887,11 +868,11 @@ gettoolchain)
        # arbitrary name to be updated in case of new toolchain package upload
        PACKAGE=$SNAME-$VERSION-toolchain-$BUILDMACHINE
        if [ ! -f $BASEDIR/cache/toolchains/$PACKAGE.tar.gz ]; then
-               URL_IPFIRE=`grep URL_IPFIRE lfs/Config | awk '{ print $3 }'`
+               URL_TOOLCHAIN=`grep URL_TOOLCHAIN lfs/Config | awk '{ print $3 }'`
                test -d $BASEDIR/cache/toolchains || mkdir $BASEDIR/cache/toolchains
                echo "`date -u '+%b %e %T'`: Load toolchain tar.gz for $BUILDMACHINE" | tee -a $LOGFILE
                cd $BASEDIR/cache/toolchains
-               wget $URL_IPFIRE/toolchains/$PACKAGE.tar.gz $URL_IPFIRE/toolchains/$PACKAGE.md5 >& /dev/null
+               wget $URL_TOOLCHAIN/$PACKAGE.tar.gz $URL_TOOLCHAIN/$PACKAGE.md5 >& /dev/null
                if [ $? -ne 0 ]; then
                        echo "`date -u '+%b %e %T'`: error downloading toolchain for $BUILDMACHINE machine" | tee -a $LOGFILE
                else
@@ -952,10 +933,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
@@ -1010,7 +990,7 @@ uploadsrc)
                grep -q $i /var/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 > /dev/null 2>&1
+                       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
@@ -1099,14 +1079,28 @@ batch)
 watch)
        watch_screen
        ;;
+pxe)
+       case "$2" in
+         start)
+               start_tftpd
+               ;;
+         stop)
+               stop_tftpd
+               ;;
+         reload)
+               reload_tftpd
+               ;;              
+       esac
+       exit 0
+       ;;
 "")
        clear
        svn info
-       select name in "Exit" "IPFIRE: Prefetch" "IPFIRE: Build (silent)" "IPFIRE: Watch Build" "IPFIRE: Batch" "IPFIRE: Clean" "SVN: Commit" "SVN: Update" "SVN: Status" "SVN: Diff" "LOG: Tail" "Help"
+       select name in "Exit" "IPFIRE: Downloadsrc" "IPFIRE: Build (silent)" "IPFIRE: Watch Build" "IPFIRE: Batch" "IPFIRE: Clean" "SVN: Commit" "SVN: Update" "SVN: Status" "SVN: Diff" "LOG: Tail" "Help"
        do
        case $name in
-       "IPFIRE: Prefetch")
-               $0 prefetch
+       "IPFIRE: Downloadsrc")
+               $0 downloadsrc
                ;;
        "IPFIRE: Build (silent)")
                $0 build-silent
@@ -1124,7 +1118,7 @@ watch)
                $0 svn update
                ;;
        "Help")
-               echo "Usage: $0 {build|changelog|clean|gettoolchain|newpak|prefetch|shell|sync|toolchain}"
+               echo "Usage: $0 {build|changelog|clean|gettoolchain|newpak|downloadsrc|shell|sync|toolchain}"
                cat doc/make.sh-usage
                ;;
        "LOG: Tail")
@@ -1137,7 +1131,7 @@ watch)
        done
        ;;
 *)
-       echo "Usage: $0 {build|changelog|clean|gettoolchain|newpak|prefetch|shell|sync|toolchain}"
+       echo "Usage: $0 {build|changelog|clean|gettoolchain|newpak|downloadsrc|shell|sync|toolchain}"
        cat doc/make.sh-usage
        ;;
 esac