]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - make.sh
Neues Verfahren fuer die Rootfiles.
[people/pmueller/ipfire-2.x.git] / make.sh
diff --git a/make.sh b/make.sh
index 165679eaf14fafc8bbdad92e61e236eba8c35f22..cf15c5b59dd378f2ce77cc91fec11bc3e2028728 100644 (file)
--- a/make.sh
+++ b/make.sh
@@ -28,12 +28,14 @@ VERSION="2.0"                               # Version number
 SLOGAN="www.ipfire.eu"         # Software slogan
 CONFIG_ROOT=/var/ipfire                # Configuration rootdir
 NICE=10                                # Nice level
-MAX_RETRIES=3                          # prefetch/check loop
+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-`
 
-# Setzen des IPFire Builds
+IPFVER="full"                          # Which version should be compiled? (full|light|voice)
+
+# Set an information about the build number
 if [ -e ./.svn ]; then
        FIREBUILD=`cat .svn/entries |sed -n 's/^[ \t]*revision=\"// p' | sed -n 's/\".*$// p'`
 fi
@@ -177,11 +179,10 @@ prepareenv() {
 
     # Make all sources and proc available under lfs build
     mount --bind /dev            $BASEDIR/build/dev
+    mount --bind /dev/pts        $BASEDIR/build/dev/pts
+    mount --bind /dev/shm        $BASEDIR/build/dev/shm
     mount --bind /proc           $BASEDIR/build/proc
-    mount  -vt   devpts devpts   $BASEDIR/build/dev/pts
-    mount  -vt   tmpfs  shm      $BASEDIR/build/dev/shm
-    mount  -vt   proc   proc     $BASEDIR/build/proc
-    mount  -vt   sysfs  sysfs    $BASEDIR/build/sys
+    mount --bind /sys            $BASEDIR/build/sys
     mount --bind $BASEDIR/cache  $BASEDIR/build/usr/src/cache
     mount --bind $BASEDIR/ccache $BASEDIR/build/usr/src/ccache
     mount --bind $BASEDIR/config $BASEDIR/build/usr/src/config
@@ -192,6 +193,9 @@ prepareenv() {
     mount --bind $BASEDIR/log    $BASEDIR/build/usr/src/log
     mount --bind $BASEDIR/src    $BASEDIR/build/usr/src/src
 
+    # This is a temporary hack!!!
+    cp -f /bin/hostname /tools/bin/hostname 2>/dev/null
+
     # Run LFS static binary creation scripts one by one
     export CCACHE_DIR=$BASEDIR/ccache
     export CCACHE_HASHDIR=1
@@ -311,45 +315,46 @@ buildipfire() {
   ipfiremake dhcpcd
   ipfiremake libusb
   ipfiremake libpcap
-  ipfiremake linux-atm
+# Temporary disabled.
+#  ipfiremake linux-atm
   ipfiremake ppp
   ipfiremake rp-pppoe
   ipfiremake unzip
   ipfiremake linux                     PASS=ipfire SMP=installer
   ipfiremake linux                     PASS=ipfire SMP=1
-  ipfiremake 3cp4218                   SMP=1
-  ipfiremake amedyn                    SMP=1
-  ipfiremake cxacru                    SMP=1
-  ipfiremake eagle                     SMP=1
-  ipfiremake cnx_pci                   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 fcclassic         SMP=1
-  ipfiremake pulsar                    SMP=1
-  ipfiremake unicorn                   SMP=1
-  ipfiremake promise-sata-300-tx       SMP=1
+#  ipfiremake 3cp4218                  SMP=1
+#  ipfiremake amedyn                   SMP=1
+#  ipfiremake cxacru                   SMP=1
+#  ipfiremake eagle                    SMP=1
+#  ipfiremake cnx_pci                  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 fcclassic                SMP=1
+#  ipfiremake pulsar                   SMP=1
+#  ipfiremake unicorn                  SMP=1
+#  ipfiremake promise-sata-300-tx      SMP=1
   ipfiremake linux                     PASS=ipfire
-  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 promise-sata-300-tx
+#  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 promise-sata-300-tx
   ipfiremake pcmcia-cs
   ipfiremake expat
   ipfiremake gdbm
@@ -679,6 +684,7 @@ ipfirepackages() {
 # See what we're supposed to do
 case "$1" in 
 build)
+       clear
        BUILDMACHINE=`uname -m`
        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
@@ -698,7 +704,8 @@ build)
                        fi
                fi
        else
-               echo "`date -u '+%b %e %T'`: Using installed toolchain" | tee -a $LOGFILE
+               echo -n "Using installed toolchain" | tee -a $LOGFILE
+               beautify message SKIP
                prepareenv
        fi
 
@@ -810,7 +817,7 @@ prefetch)
                mkdir $BASEDIR/cache
        fi
        mkdir -p $BASEDIR/log
-       echo "`date -u '+%b %e %T'`:Preload all source files" | tee -a $LOGFILE
+       echo -e "${BOLD}Preload all source files${NORMAL}" | tee -a $LOGFILE
        FINISHED=0
        cd $BASEDIR/lfs
        for c in `seq $MAX_RETRIES`; do
@@ -821,35 +828,42 @@ prefetch)
                cd $BASEDIR/lfs
                for i in *; do
                        if [ -f "$i" -a "$i" != "Config" ]; then
+                               echo -ne "Loading $i"
                                make -s -f $i LFS_BASEDIR=$BASEDIR MESSAGE="$i\t ($c/$MAX_RETRIES)" download >> $LOGFILE 2>&1
                                if [ $? -ne 0 ]; then
-                                       echo "Prefetch : wget error in lfs/$i"
+                                       beautify message FAIL
                                        FINISHED=0
                                else
                                        if [ $c -eq 1 ]; then
-                                               echo "Prefetch : lfs/$i files loaded"
+                                       beautify message DONE
                                        fi
                                fi
                        fi
                done
        done
-       echo "Prefetch : verifying md5sum"
+       echo -e "${BOLD}***Verifying md5sums${NORMAL}"
        ERROR=0
        for i in *; do
                if [ -f "$i" -a "$i" != "Config" ]; then
                        make -s -f $i LFS_BASEDIR=$BASEDIR MESSAGE="$i\t " md5 >> $LOGFILE 2>&1
                        if [ $? -ne 0 ]; then
-                               echo "md5 difference in lfs/$i"
+                               echo -ne "MD5 difference in lfs/$i"
+                               beautify message FAIL
                                ERROR=1
                        fi
                fi
        done
        if [ $ERROR -eq 0 ]; then
-               echo "Prefetch : all files md5sum match"
+               echo -ne "${BOLD}all files md5sum match${NORMAL}"
+               beautify message DONE
+       else
+               echo -ne "${BOLD}not all files were correctly download${NORMAL}"
+               beautify message FAIL
        fi
-       cd -
+       cd - >/dev/null 2>&1
        ;;
 toolchain)
+       clear
        prepareenv
        beautify build_stage "Toolchain compilation - Native GCC: `gcc --version | grep GCC | awk {'print $3'}`"
        buildtoolchain
@@ -951,9 +965,9 @@ svn)
                        exit 0
                fi
                echo -en "REV $SVN_REVISION: Downloading..."
-               svn export http://svn.ipfire.eu/svn/ipfire ipfire-source/ --force > /dev/null
-               svn log http://svn.ipfire.eu/svn/ipfire -r 1:$SVN_REVISION > ipfire-source/Changelog
-               #svn info http://svn.ipfire.eu/svn/ipfire -r $SVN_REVISION > ipfire-source/svn_status
+               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
                evaluate 1
 
                echo -en "REV $SVN_REVISION: Compressing files..."
@@ -980,6 +994,7 @@ uploadsrc)
        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
        for i in *; do
+               if [ "$i" == "toolchains" ]; then continue; fi
                grep -q $i /var/tmp/ftplist
                if [ "$?" -ne "0" ]; then
                        echo -ne "$i"