X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=blobdiff_plain;f=make.sh;h=91f976d561c2f5c16d36eb0d6c26c6b0f58051f0;hp=d71418f5e8d43f7a493262ae39e18056e60e1e53;hb=8af06406327d31b65d73a915332296d9a552c92f;hpb=ca35618d116ce539bd9ebe850c7aa2d137f7c786 diff --git a/make.sh b/make.sh index d71418f5e8..91f976d561 100644 --- a/make.sh +++ b/make.sh @@ -33,6 +33,12 @@ KVER=`grep --max-count=1 VER lfs/linux | awk '{ print $3 }'` MACHINE=`uname -m` + # Setzen des IPFire Builds + if [ -e ./.svn ]; then + FIREBUILD=`cat .svn/entries |sed -n 's/^[ \t]*revision=\"// p' | sed -n 's/\".*$// p'` +# VERSION="$VERSION (Build:$FIREBUILD)" + fi + # Debian specific settings if [ ! -e /etc/debian_version ]; then FULLPATH=`which $0` @@ -55,6 +61,7 @@ mkdir $BASEDIR/log/ 2>/dev/null if [ 'x86_64' = $MACHINE -o 'i686' = $MACHINE -o 'i586' = $MACHINE -o 'i486' = $MACHINE -o 'i386' = $MACHINE ]; then + echo "`date -u '+%b %e %T'`: Machine is ix86 (or equivalent)" | tee -a $LOGFILE MACHINE=i386 BUILDTARGET=i386-pc-linux-gnu @@ -335,10 +342,8 @@ ipcopmake() { ipfiredist() { if [ -f $BASEDIR/build/usr/src/lfs/$1 ]; then - ls $BASEDIR/packages/$1* >& /dev/null - if [ $? -eq 1 ]; then +# if [ ! `ls -w1 $BASEDIR/packages/*.tar.gz | grep $1` ]; then echo "`date -u '+%b %e %T'`: Packaging $1" | tee -a $LOGFILE - cp -f $BASEDIR/src/scripts/make-packages.sh $BASEDIR/build/usr/local/bin chroot $LFS /tools/bin/env -i HOME=/root \ TERM=$TERM PS1='\u:\w\$ ' \ PATH=/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin \ @@ -354,9 +359,9 @@ ipfiredist() { if [ $? -ne 0 ]; then exiterror "Packaging $1" fi - else - echo -e "`date -u '+%b %e %T'`: Package with name $1 already exists!" | tee -a $LOGFILE - fi +# else +# echo "`date -u '+%b %e %T'`: Packaging: The package $1 already exists" +# fi else exiterror "No such file or directory: $BASEDIR/build/usr/src/lfs/$1" fi @@ -527,8 +532,8 @@ buildipcop() { if [ 'i386' = $MACHINE ]; then # abuse the SMP flag, and make an minimal installer kernel first # so that the boot floppy always works..... - ipcopmake linux LFS_PASS=ipcop SMP=installer - ipcopmake linux LFS_PASS=ipcop SMP=1 + ipcopmake linux LFS_PASS=ipfire SMP=installer + ipcopmake linux LFS_PASS=ipfire SMP=1 ipcopmake 3cp4218 SMP=1 ipcopmake amedyn SMP=1 ipcopmake cxacru SMP=1 @@ -548,7 +553,7 @@ buildipcop() { ipcopmake unicorn SMP=1 fi - ipcopmake linux LFS_PASS=ipcop + ipcopmake linux LFS_PASS=ipfire ipcopmake 3cp4218 ipcopmake amedyn ipcopmake cxacru @@ -639,6 +644,8 @@ buildipcop() { ipcopmake Convert-UUlib ipcopmake Archive-Tar ipcopmake Archive-Zip + ipcopmake Text-Tabs+Wrap + ipcopmake Locale-Country ipcopmake GeoIP ipcopmake fwhits ipcopmake berkeley @@ -656,22 +663,26 @@ buildipcop() { #ipcopmake speedycgi ipcopmake saslauthd PASS=1 ipcopmake openldap - ipcopmake saslauthd PASS=2 ipcopmake squid ipcopmake squid-graph + ipcopmake squidguard ipcopmake tcpdump ipcopmake traceroute ipcopmake vlan #ipcopmake wireless ipcopmake libsafe ipcopmake 3c5x9setup - echo -ne "`date -u '+%b %e %T'`: Building ### IPFire modules ### \n" | tee -a $LOGFILE +# echo -ne "`date -u '+%b %e %T'`: Building ### IPFire modules ### \n" | tee -a $LOGFILE ipcopmake pakfire ipcopmake startscripts ## Zuerst die Libs und dann die Programme. Ordnung muss sein! ipcopmake java ipcopmake libtiff ipcopmake libjpeg + ipcopmake lcms + ipcopmake libmng + ipcopmake freetype + ipcopmake bootsplash ipcopmake libxml2 ipcopmake spandsp ipcopmake lzo @@ -681,6 +692,7 @@ buildipcop() { ipcopmake xampp ipcopmake pam ipcopmake pammysql + ipcopmake saslauthd PASS=2 ipcopmake xinetd ipcopmake ghostscript ipcopmake cups @@ -691,39 +703,46 @@ buildipcop() { ipcopmake pwlib ipcopmake openh323 ipcopmake wget + ipcopmake wput ipcopmake bridge-utils + ipcopmake screen + ipcopmake hddtemp + ipcopmake htop + ipcopmake lynx echo -ne "`date -u '+%b %e %T'`: Building ### Mailserver ### \n" | tee -a $LOGFILE ipcopmake postfix + ipcopmake procmail ipcopmake fetchmail ipcopmake cyrusimap - ipcopmake procmail + ipcopmake web-cyradm ipcopmake mailx ipcopmake clamav ipcopmake razor ipcopmake spamassassin - ipcopmake amavisd +# ipcopmake amavisd echo -ne "`date -u '+%b %e %T'`: Building ### VoIP-Server ### \n" | tee -a $LOGFILE ipcopmake stund ipcopmake asterisk + ipcopmake mpg123 echo -ne "`date -u '+%b %e %T'`: Building ### MP3-Server ### \n" | tee -a $LOGFILE ipcopmake lame ipcopmake gnump3d echo -ne "`date -u '+%b %e %T'`: Building ### P2P-Clients ### \n" | tee -a $LOGFILE ipcopmake applejuice ipcopmake edonkeyclc - ipcopmake sane - ipcopmake rsync +# ipcopmake sane + echo -ne "`date -u '+%b %e %T'`: Building ### Net-Tools ### \n" | tee -a $LOGFILE + ipcopmake ntop +# ipcopmake rsync ipcopmake tcpwrapper ipcopmake portmap - ipcopmake screen - ipcopmake nmap - ipcopmake htop ipcopmake nfs + ipcopmake nmap + ipcopmake iftop ipcopmake ncftp ipcopmake cftp + ipcopmake etherwake ipcopmake ethereal -# wget http://www.guzu.net/linux/hddtemp.db && mv hddtemp.db $BASEDIR/build/etc/hddtemp.db -# ipcopmake hddtemp # ipcopmake stunnel # Ausgeschaltet, weil wir es doch nicht nutzen } @@ -764,7 +783,7 @@ buildpackages() { 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' \ - -ls -exec $LFS/tools/bin/strip --strip-all {} \; >> $LOGFILE 2>&1 + -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 \ @@ -830,8 +849,16 @@ buildpackages() { } 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 gnump3d @@ -839,25 +866,27 @@ ipfirepackages() { ipfiredist lame ipfiredist libtiff ipfiredist libxml2 - ipfiredist mc + ipfiredist mailx + ipfiredist nfs + ipfiredist nmap + ipfiredist ntop ipfiredist postfix - ipfiredist pwlib - ipfiredist sane - ipfiredist spandsp - ipfiredist sudo + ipfiredist procmail + ipfiredist samba + ipfiredist spamassassin + ipfiredist web-cyradm ipfiredist xampp ipfiredist xinetd test -d $BASEDIR/packages || mkdir $BASEDIR/packages - mv -f $LFS/paks/*.tar.gz $LFS/paks/*.md5 $BASEDIR/packages >> $LOGFILE 2>&1 - rm -rf $LFS/paks - rm -rf $BASEDIR/build/tmp/* + mv -f $LFS/install/packages/*.{tar.gz,md5} $BASEDIR/packages >> $LOGFILE 2>&1 + rm -rf $BASEDIR/build/install/packages/* } # See what we're supposed to do case "$1" in build) BUILDMACHINE=`uname -m` - PACKAGE=`ls -v -r $BASEDIR/cache/$SNAME-1.4.*-toolchain-$BUILDMACHINE.tar.gz 2> /dev/null | head -n 1` + PACKAGE=`ls -v -r $BASEDIR/cache/$SNAME-1.4-toolchain-$BUILDMACHINE.tar.gz 2> /dev/null | head -n 1` #only restore on a clean disk if [ ! -f log/perl-*-tools ]; then if [ ! -n "$PACKAGE" ]; then @@ -878,8 +907,17 @@ build) echo "`date -u '+%b %e %T'`: Using installed toolchain" | tee -a $LOGFILE prepareenv fi + buildbase buildipcop + + # Setzen des IPFire Builds + if [ "$FIREBUILD" ]; then + echo "$FIREBUILD" > $CONFIG_ROOT/firebuild + else + echo "_(OvO)_" > $CONFIG_ROOT/firebuild + fi + buildinstaller buildpackages ;; @@ -965,7 +1003,6 @@ newpak) cp $BASEDIR/lfs/postfix $BASEDIR/lfs/$2 touch ROOTFILES - touch CONFFILES touch {,un}install.sh ## install.sh echo '#!/bin/bash' > install.sh @@ -1070,24 +1107,24 @@ gettoolchain) URL_IPFIRE=`grep URL_IPFIRE lfs/Config | awk '{ print $3 }'` echo "`date -u '+%b %e %T'`: Load toolchain tar.gz for $BUILDMACHINE" | tee -a $LOGFILE cd $BASEDIR/cache - wget $URL_IPFIRE/toolchains/$PACKAGE.tar.gz $URL_IPFIRE/toolchains/$PACKAGE.md5 + wget $URL_IPFIRE/toolchains/$PACKAGE.tar.gz $URL_IPFIRE/toolchains/$PACKAGE.md5 >& /dev/null if [ $? -ne 0 ]; then echo "`date -u '+%b %e %T'`: error downloading toolchain for $BUILDMACHINE machine" | tee -a $LOGFILE - else - if [ "`md5sum $PACKAGE.tar.gz | awk '{print $1}'`" = "`cat $PACKAGE.md5 | awk '{print $1}'`" ]; then - echo "`date -u '+%b %e %T'`: toolchain md5 ok" | tee -a $LOGFILE - echo "`date -u '+%b %e %T'`: Uncompressing toolchain" | tee -a $LOGFILE - cd $BASEDIR && tar xfz cache/$PACKAGE.tar.gz -C . - rm -f $BASEDIR/cache/$PACKAGE.{tar.gz,md5} - else - exiterror "$PACKAGE.md5 did not match, check downloaded package" - fi +# else +# if [ "`md5sum $PACKAGE.tar.gz | awk '{print $1}'`" = "`cat $PACKAGE.md5 | awk '{print $1}'`" ]; then +# echo "`date -u '+%b %e %T'`: toolchain md5 ok" | tee -a $LOGFILE +# echo "`date -u '+%b %e %T'`: Uncompressing toolchain" | tee -a $LOGFILE +# cd $BASEDIR && tar xfz cache/$PACKAGE.tar.gz -C . +# rm -f $BASEDIR/cache/$PACKAGE.{tar.gz,md5} +# else +# exiterror "$PACKAGE.md5 did not match, check downloaded package" +# fi fi ;; paks) prepareenv - buildpackages - # ipfirepackages + # buildpackages + ipfirepackages ;; update) echo "Load the latest source-files:" @@ -1111,7 +1148,11 @@ diff) ;; sync) echo -e "Syncing Cache to FTP:" - echo -ne "Password for mirror.ipfire.org: "; read PASS + if [ -f .pass ]; then + PASS="`cat .pass`" + else + echo -ne "Password for mirror.ipfire.org: "; read PASS + fi rm -f doc/packages-to-remove-from-ftp ncftpls -u web3 -p $PASS ftp://mirror.ipfire.org/html/source-packages/source/ > ftplist for i in `ls -w1 cache/`; do @@ -1135,7 +1176,11 @@ sync) ;; pub-iso) echo -e "Upload the ISO to the beta-mirror!" - echo -ne "Password for mirror.ipfire.org: "; read PASS + if [ -f .pass ]; then + PASS="`cat .pass`" + else + echo -ne "Password for mirror.ipfire.org: "; read PASS + fi ncftpls -u web3 -p $PASS ftp://mirror.ipfire.org/html/source-packages/beta/ | grep `svn info | grep Revision | cut -c 11-` if [ "$?" -eq "1" ]; then cp $BASEDIR/ipfire-install-1.4.i386.iso $BASEDIR/ipfire-install-1.4.i386-r`svn info | grep Revision | cut -c 11-`.iso @@ -1154,7 +1199,11 @@ pub-iso) ;; pub-paks) echo -e "Upload the packages to the beta-mirror!" - echo -ne "Password for mirror.ipfire.org: "; read PASS + if [ -f .pass ]; then + PASS="`cat .pass`" + else + echo -ne "Password for mirror.ipfire.org: "; read PASS + fi ncftpput -z -u web3 -p $PASS mirror.ipfire.org /html/source-packages/packages/ packages/* if [ "$?" -eq "0" ]; then echo -e "The packages were successfully uploaded to the ftp server."