X-Git-Url: http://git.ipfire.org/?p=people%2Fpmueller%2Fipfire-2.x.git;a=blobdiff_plain;f=make.sh;h=8a3adb55dcc10aa59acccb1834da61ee721643f6;hp=20756ab37d4a546f9601200ba646b1a5e8bc6bd0;hb=350b52c5c9368951ff2a9139817b42d0aec03ad7;hpb=a50d04ab1c6a37287afa8e3390dfb2da99236bb2 diff --git a/make.sh b/make.sh old mode 100644 new mode 100755 index 20756ab37d..8a3adb55dc --- a/make.sh +++ b/make.sh @@ -33,7 +33,7 @@ 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 version should be compiled? (full|light|voice) +IPFVER="full" # Which versions should be compiled? (full|light|devel) # Set an information about the build number if [ -e ./.svn ]; then @@ -170,7 +170,7 @@ prepareenv() { # Setup environment set +h LC_ALL=POSIX - MAKETUNING="-j12" + MAKETUNING="-j6" export LFS LC_ALL CFLAGS CXXFLAGS MAKETUNING unset CC CXX CPP LD_LIBRARY_PATH LD_PRELOAD @@ -284,7 +284,6 @@ buildbase() { lfsmake2 file lfsmake2 findutils lfsmake2 flex - lfsmake2 grub lfsmake2 gawk lfsmake2 gettext lfsmake2 grep @@ -294,13 +293,16 @@ buildbase() { lfsmake2 iproute2 lfsmake2 kbd lfsmake2 less + lfsmake2 libaal lfsmake2 make lfsmake2 man lfsmake2 mktemp lfsmake2 modutils + lfsmake2 mtd lfsmake2 net-tools lfsmake2 patch lfsmake2 psmisc + lfsmake2 reiser4progs lfsmake2 shadow lfsmake2 sysklogd lfsmake2 sysvinit @@ -309,6 +311,7 @@ buildbase() { lfsmake2 udev lfsmake2 util-linux lfsmake2 vim + lfsmake2 grub } buildipfire() { @@ -319,50 +322,37 @@ buildipfire() { ipfiremake dhcpcd ipfiremake libusb ipfiremake libpcap -# Temporary disabled. -# ipfiremake linux-atm + ipfiremake linux-atm ipfiremake ppp ipfiremake rp-pppoe ipfiremake unzip ipfiremake linux SMP=1 ipfiremake ipp2p SMP=1 -# ipfiremake 3cp4218 PASS=SMP -# ipfiremake amedyn PASS=SMP -# ipfiremake cxacru PASS=SMP -# ipfiremake eagle PASS=SMP -# ipfiremake cnx_pci PASS=SMP -# ipfiremake fcdsl PASS=SMP -# ipfiremake fcdsl2 PASS=SMP -# ipfiremake fcdslsl PASS=SMP -# ipfiremake fcdslusb PASS=SMP -# ipfiremake fcdslslusb PASS=SMP -# ipfiremake fcpci PASS=SMP -# ipfiremake fcclassic PASS=SMP -# ipfiremake pulsar PASS=SMP -# ipfiremake unicorn PASS=SMP -# ipfiremake promise-sata-300-tx PASS=SMP - ipfiremake zaptel PASS=S + 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 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 fcdsl + ipfiremake fcdsl2 + ipfiremake fcdslsl + ipfiremake fcdslusb + ipfiremake fcdslslusb + ipfiremake fcpci # ipfiremake promise-sata-300-tx ipfiremake zaptel -# ipfiremake pcmciautils + ipfiremake fuse + ipfiremake pkg-config + ipfiremake cpio + ipfiremake klibc + ipfiremake mkinitcpio + ipfiremake udev KLIBC=1 ipfiremake expat ipfiremake gdbm ipfiremake gmp @@ -389,11 +379,9 @@ buildipfire() { ipfiremake mysql 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=C + ipfiremake apache2 PASS=C ipfiremake arping ipfiremake beep ipfiremake bind @@ -402,33 +390,41 @@ buildipfire() { ipfiremake dnsmasq ipfiremake dosfstools ipfiremake reiserfsprogs + ipfiremake squashfstools + ipfiremake sysfsutils + ipfiremake ntfs-3g ipfiremake ethtool ipfiremake ez-ipupdate ipfiremake fcron ipfiremake GD + ipfiremake GD-Graph + ipfiremake GD-TextUtil ipfiremake gnupg ipfiremake hdparm ipfiremake ibod ipfiremake initscripts + ipfiremake whatmask ipfiremake iptables + ipfiremake libupnp ipfiremake ipp2p IPT=1 + ipfiremake moblock + ipfiremake linux-igd ipfiremake ipac-ng ipfiremake ipaddr ipfiremake iptstate ipfiremake iputils ipfiremake l7-protocols -# ipfiremake isapnptools # ERROR :( + ipfiremake isapnptools # ipfiremake isdn4k-utils # What about mISDN??? + ipfiremake hwdata ipfiremake kudzu ipfiremake logrotate ipfiremake logwatch - ipfiremake mingetty ipfiremake misc-progs ipfiremake mtools 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 @@ -451,12 +447,12 @@ buildipfire() { ipfiremake Archive-Zip ipfiremake Text-Tabs+Wrap ipfiremake Locale-Country + ipfiremake XML-Parser + ipfiremake glib ipfiremake GeoIP -### ipfiremake fwhits ipfiremake noip_updater ipfiremake ntp - ipfiremake oinkmaster ipfiremake openssh ipfiremake openswan ipfiremake pptpclient @@ -464,47 +460,42 @@ buildipfire() { ipfiremake setserial ipfiremake setup ipfiremake snort + ipfiremake snortsnarf + ipfiremake oinkmaster ipfiremake squid ipfiremake squid-graph ipfiremake squidguard -# ipfiremake tcpdump + ipfiremake calamaris + ipfiremake tcpdump ipfiremake traceroute ipfiremake vlan ipfiremake wireless ipfiremake libsafe ipfiremake 3c5x9setup ipfiremake pakfire - ipfiremake startscripts ipfiremake java ipfiremake bootsplash ipfiremake spandsp ipfiremake lzo ipfiremake openvpn - ipfiremake pkg-config - ipfiremake glib ipfiremake pammysql - ipfiremake xinetd ipfiremake ghostscript ipfiremake cups 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 @@ -516,16 +507,11 @@ buildipfire() { ipfiremake libogg ipfiremake libvorbis ipfiremake lame - ipfiremake xvid - ipfiremake mpeg2dec - ipfiremake ffmpeg ipfiremake sox ipfiremake gnump3d - ipfiremake videolan ipfiremake applejuice ipfiremake ocaml ipfiremake mldonkey - ipfiremake ntop ipfiremake rsync ipfiremake tcpwrapper ipfiremake portmap @@ -538,9 +524,9 @@ buildipfire() { ipfiremake etherwake ipfiremake ethereal ipfiremake tftp-hpa - ipfiremake iptraf - ipfiremake nagios - ipfiremake yasuc + ipfiremake bwm-ng + ipfiremake tripwire + ipfiremake sysstat } buildinstaller() { @@ -548,6 +534,8 @@ buildinstaller() { LOGFILE="$BASEDIR/log/_build.installer.log" export LOGFILE ipfiremake syslinux + ipfiremake as86 + ipfiremake mbr ipfiremake memtest installmake linux-libc-header installmake binutils @@ -566,20 +554,19 @@ buildinstaller() { installmake sysvinit installmake misc-progs installmake e2fsprogs + installmake libaal + installmake reiser4progs installmake reiserfsprogs installmake sysfsutils installmake util-linux installmake pciutils - installmake pcmciautils + installmake zlib + installmake mtd + installmake wget + installmake hwdata installmake kudzu -# installmake bootsplash installmake installer - installmake scsi.img # this is to be deleted - installmake driver.img # this is to be deleted installmake initrd - installmake boot.img # this is to be deleted -# ipfiremake as86 # this is to be deleted -# ipfiremake mbr # this is to be deleted } buildpackages() { @@ -605,18 +592,26 @@ buildpackages() { beautify message DONE # Create images for install - ipfiremake cdrom + 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 + 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 @@ -626,54 +621,32 @@ 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 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 cups +# ipfiredist cyrusimap +# ipfiredist fetchmail +# ipfiredist gnump3d +# ipfiredist java +# ipfiredist mailx +# ipfiredist mldonkey +# ipfiredist nfs +# ipfiredist postfix ipfiredist samba - ipfiredist sox - ipfiredist spamassassin - ipfiredist subversion - ipfiredist videolan - ipfiredist webcyradm - ipfiredist xvid - ipfiredist yasuc +# ipfiredist sox +# ipfiredist spamassassin + ipfiredist tripwire +# ipfiredist webcyradm 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/* } @@ -682,6 +655,10 @@ 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 @@ -706,13 +683,11 @@ build) fi beautify build_start - beautify build_stage_start "Building base" + beautify build_stage "Building LFS" buildbase - beautify build_stage_end - beautify build_stage_start "Building IPFire" + beautify build_stage "Building IPFire" buildipfire - beautify build_stage_end # Setzen des IPFire Builds if [ "$FIREBUILD" ]; then @@ -721,13 +696,11 @@ build) echo "_(OvO)_" > $BASEDIR/build/var/ipfire/firebuild fi - beautify build_stage_start "Building installer" + beautify build_stage "Building installer" buildinstaller - beautify build_stage_end - beautify build_stage_start "Building packages" + beautify build_stage "Building packages" buildpackages - beautify build_stage_end beautify build_end ;; shell) @@ -738,7 +711,7 @@ shell) ;; changelog) echo -n "Loading new Changelog from SVN: " - svn log http://svn.ipfire.eu/svn/ipfire > doc/ChangeLog + svn log http://svn.ipfire.org/svn/ipfire > doc/ChangeLog beautify message DONE ;; clean) @@ -912,9 +885,12 @@ svn) $0 changelog fi fi + update_langs svn commit $0 svn up - $0 uploadsrc + if [ -n "$FTP_CACHE_URL" ]; then + $0 uploadsrc + fi ;; dist) if [ $3 ]; then @@ -925,9 +901,9 @@ svn) exit 0 fi echo -en "REV $SVN_REVISION: Downloading..." - 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 + svn export http://svn.ipfire.org/svn/ipfire/trunk ipfire-source/ --force > /dev/null + svn log http://svn.ipfire.org/svn/ipfire/trunk -r 1:$SVN_REVISION > ipfire-source/Changelog + #svn info http://svn.ipfire.org/svn/ipfire/trunk -r $SVN_REVISION > ipfire-source/svn_status evaluate 1 echo -en "REV $SVN_REVISION: Compressing files..." @@ -941,10 +917,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 ;; @@ -952,70 +930,64 @@ uploadsrc) PWD=`pwd` cd $BASEDIR/cache/ 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 + 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 /var/tmp/ftplist + grep -q $i /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 >> $BASEDIR/log/_build.uploadsrc.log 2>&1 - if [ "$?" -eq "0" ]; then - beautify message DONE - else + ncftpput -u $FTP_CACHE_USER -p $FTP_CACHE_PASS $FTP_CACHE_URL $FTP_CACHE_PATH/ $i + if [ "$?" -ne "0" ]; then beautify message FAIL fi fi done - rm -f /var/tmp/ftplist - UL_TIME_START=`date +'%s'` - ncftpbatch -d > /dev/null 2>&1 - while ps acx | grep -q ncftpbatch - do - UL_TIME=$(expr `date +'%s'` - $UL_TIME_START) - echo -ne "\r ${UL_TIME}s : Upload is running..." - sleep 1 - done - beautify message DONE + rm -f /tmp/ftplist cd $PWD exit 0 ;; upload) case "$2" in iso) - echo -e "Uploading the iso to $IPFIRE_FTP_URL_EXT." + echo -e "Uploading the iso to $FTP_ISO_PATH/$SVN_REVISION." cat < .ftp-commands -mkdir $IPFIRE_FTP_PATH_EXT +mkdir -p $FTP_ISO_PATH/$SVN_REVISION ls -lah quit EOF - ncftp -u $IPFIRE_FTP_USER_EXT -p $IPFIRE_FTP_PASS_EXT $IPFIRE_FTP_URL_EXT < .ftp-commands + ncftp -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL < .ftp-commands rm -f .ftp-commands - md5sum ipfire-install-$VERSION.i386.iso > ipfire-install-$VERSION.i386.iso.md5 - ncftpput -u $IPFIRE_FTP_USER_EXT -p $IPFIRE_FTP_PASS_EXT $IPFIRE_FTP_URL_EXT $IPFIRE_FTP_PATH_EXT/ ipfire-install-$VERSION.i386.iso - ncftpput -u $IPFIRE_FTP_USER_EXT -p $IPFIRE_FTP_PASS_EXT $IPFIRE_FTP_URL_EXT $IPFIRE_FTP_PATH_EXT/ ipfire-install-$VERSION.i386.iso.md5 - ncftpput -u $IPFIRE_FTP_USER_EXT -p $IPFIRE_FTP_PASS_EXT $IPFIRE_FTP_URL_EXT $IPFIRE_FTP_PATH_EXT/ ipfire-source-r$SVN_REVISION.tar.gz - ncftpput -u $IPFIRE_FTP_USER_EXT -p $IPFIRE_FTP_PASS_EXT $IPFIRE_FTP_URL_EXT $IPFIRE_FTP_PATH_EXT/ svn_status + 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 $IPFIRE_FTP_URL_EXT$IPFIRE_FTP_PATH_EXT/." + 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 if [ "$3" = "--with-sources-cd" ]; then - ncftpput -u $IPFIRE_FTP_USER_EXT -p $IPFIRE_FTP_PASS_EXT $IPFIRE_FTP_URL_EXT $IPFIRE_FTP_PATH_EXT/ ipfire-sources-cd-$VERSION.$MACHINE.iso + ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL $FTP_ISO_PATH/$SVN_REVISION/ ipfire-sources-cd-$VERSION.$MACHINE.iso fi ;; paks) cat < .ftp-commands -mkdir $IPFIRE_FTP_PATH_PAK +mkdir -p $FTP_ISO_PATH/$SVN_REVISION/paks ls -lah quit EOF - ncftp -u $IPFIRE_FTP_USER_PAK -p $IPFIRE_FTP_PASS_PAK $IPFIRE_FTP_URL_PAK < .ftp-commands + ncftp -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL < .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 $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 @@ -1024,7 +996,7 @@ EOF esac ;; batch) - if [ "$2" -eq "--background" ]; then + if [ "$2" = "--background" ]; then batch_script exit $? fi @@ -1061,6 +1033,16 @@ pxe) esac exit 0 ;; +lang) + update_langs + ;; +packages) + case "$2" in + sign) + sign_packages + ;; + esac + ;; "") clear svn info