X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=blobdiff_plain;f=make.sh;h=89c7be3a8a691a3549c907995cfd38e0bb50bcda;hp=fa6d0cb0ffe719b92b84cb595da56dc3b5bfc89c;hb=d83f547d7de9bac87258dc97c95f6bbfe97b8c70;hpb=5c8cfc9949bb66b7f91c2c413afd124de5cc4a8f diff --git a/make.sh b/make.sh old mode 100644 new mode 100755 index fa6d0cb0ff..89c7be3a8a --- a/make.sh +++ b/make.sh @@ -17,23 +17,23 @@ # 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 . # +# Copyright (C) 2007 IPFire-Team . # # # ############################################################################ # -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.0rc1t" # 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|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,10 +161,10 @@ 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 @@ -298,6 +298,7 @@ buildbase() { lfsmake2 man lfsmake2 mktemp lfsmake2 modutils + lfsmake2 mtd lfsmake2 net-tools lfsmake2 patch lfsmake2 psmisc @@ -321,48 +322,35 @@ buildipfire() { ipfiremake dhcpcd ipfiremake libusb ipfiremake libpcap - ipfiremake linux-atm ipfiremake ppp ipfiremake rp-pppoe 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 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 zaptel - ipfiremake fuse ipfiremake pkg-config + ipfiremake linux-atm 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 libidn ipfiremake libjpeg ipfiremake libpng ipfiremake libtiff - ipfiremake lcms - ipfiremake libmng - ipfiremake freetype ipfiremake libart + ipfiremake freetype ipfiremake gd ipfiremake popt ipfiremake pcre @@ -370,7 +358,9 @@ buildipfire() { ipfiremake newt ipfiremake libcap ipfiremake pciutils + ipfiremake usbutils ipfiremake libxml2 + ipfiremake libxslt ipfiremake BerkeleyDB ipfiremake mysql ipfiremake cyrus-sasl @@ -381,24 +371,24 @@ 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 sdparm + ipfiremake mtools ipfiremake initscripts ipfiremake whatmask ipfiremake iptables @@ -411,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 @@ -452,12 +439,10 @@ buildipfire() { ipfiremake ntp ipfiremake openssh ipfiremake openswan - ipfiremake pptpclient ipfiremake rrdtool ipfiremake setserial ipfiremake setup ipfiremake snort - ipfiremake snortsnarf ipfiremake oinkmaster ipfiremake squid ipfiremake squid-graph @@ -468,57 +453,63 @@ buildipfire() { 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 openmailadmin 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 libid3tag ipfiremake libmad ipfiremake libogg ipfiremake libvorbis ipfiremake lame - ipfiremake xvid - ipfiremake mpeg2dec - ipfiremake ffmpeg ipfiremake sox - ipfiremake gnump3d + ipfiremake libshout + ipfiremake icecast + ipfiremake icegenerator + ipfiremake mpd + ipfiremake mpc + ipfiremake xvid + ipfiremake libmpeg2 + #ipfiremake ffmpeg ipfiremake videolan + ipfiremake libpri + ipfiremake stund + ipfiremake asterisk + ipfiremake backup + ipfiremake gnump3d + ipfiremake libsigc++ ipfiremake applejuice ipfiremake ocaml ipfiremake mldonkey - ipfiremake ntop + ipfiremake libtorrent + ipfiremake rtorrent + ipfiremake ipfireseeder ipfiremake rsync ipfiremake tcpwrapper ipfiremake portmap @@ -534,6 +525,11 @@ buildipfire() { ipfiremake bwm-ng ipfiremake tripwire ipfiremake sysstat + ipfiremake vsftpd + ipfiremake which + ipfiremake lsof + ipfiremake centerim + ipfiremake br2684ctl } buildinstaller() { @@ -560,7 +556,6 @@ buildinstaller() { installmake popt installmake sysvinit installmake misc-progs - installmake e2fsprogs installmake libaal installmake reiser4progs installmake reiserfsprogs @@ -568,6 +563,7 @@ buildinstaller() { installmake util-linux installmake pciutils installmake zlib + installmake mtd installmake wget installmake hwdata installmake kudzu @@ -591,23 +587,19 @@ 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$\|setup$\|pakfire$\|stage2$\|smp$\|tools$\|tools1$\|tools2$\|.tgz$\|-config$\|_missing_rootfile$' \ + grep -v 'configroot$\|img$\|initrd$\|initscripts$\|installer$\|install$\|setup$\|pakfire$\|stage2$\|smp$\|tools$\|tools1$\|tools2$\|.tgz$\|-config$\|_missing_rootfile$\|install1$\|install2$\|pass1$\|pass2$\|pass3$' \ $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 images for install - 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 + if [ -e /dev/loop/0 ] || [ -e /dev/loop0 ]; then ipfiremake usb-stick fi - ipfiremake pxe mv $LFS/install/images/{*.iso,*.tgz,*.img.gz} $BASEDIR >> $LOGFILE 2>&1 ipfirepackages @@ -633,24 +625,15 @@ buildpackages() { } ipfirepackages() { -# ipfiredist amavisd -# ipfiredist applejuice -# ipfiredist asterisk - ipfiredist clamav -# 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 tripwire -# ipfiredist webcyradm + ipfiremake core-updates + for i in $(ls -1 $BASEDIR/config/rootfiles/packages); do + if [ -e $BASEDIR/lfs/$i ]; then + ipfiredist $i + else + echo -n $i + beautify message SKIP + fi + done test -d $BASEDIR/packages || mkdir $BASEDIR/packages mv -f $LFS/install/packages/* $BASEDIR/packages >> $LOGFILE 2>&1 rm -rf $BASEDIR/build/install/packages/* @@ -661,10 +644,6 @@ 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 @@ -936,13 +915,13 @@ uploadsrc) PWD=`pwd` cd $BASEDIR/cache/ echo -e "Uploading cache to ftp server:" - ncftpls -u $FTP_CACHE_USER -p $FTP_CACHE_PASS ftp://$FTP_CACHE_URL$FTP_CACHE_PATH/ > /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 /tmp/ftplist + if [ "$(basename $i)" == "toolchains" ]; then continue; fi + grep -q $(basename $i) /tmp/ftplist if [ "$?" -ne "0" ]; then - echo -ne "$i" - ncftpput -u $FTP_CACHE_USER -p $FTP_CACHE_PASS $FTP_CACHE_URL $FTP_CACHE_PATH/ $i + echo -ne "$(basename $i)" + ncftpput -u $FTP_CACHE_USER -p $FTP_CACHE_PASS $FTP_CACHE_URL $FTP_CACHE_PATH/ $(basename $i) if [ "$?" -ne "0" ]; then beautify message FAIL fi @@ -953,45 +932,42 @@ uploadsrc) exit 0 ;; upload) + 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 < .ftp-commands +mkdir -p $FTP_ISO_PATH$SVN_REVISION +mkdir -p $FTP_ISO_PATH$SVN_REVISION/paks +quit +EOF + 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." - cat < .ftp-commands -mkdir -p $FTP_ISO_PATH/$SVN_REVISION -ls -lah -quit -EOF - ncftp -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL < .ftp-commands - rm -f .ftp-commands + 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 $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 + 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/$SVN_REVISION/ 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 < .ftp-commands -mkdir -p $FTP_ISO_PATH/$SVN_REVISION/paks -ls -lah -quit -EOF - ncftp -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL < .ftp-commands - rm -f .ftp-commands - ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL $FTP_ISO_PATH$SVN_REVISION/paks 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 $FTP_ISO_URL$FTP_ISO_PATH$SVN_REVISION/." else @@ -1042,13 +1018,6 @@ pxe) lang) update_langs ;; -packages) - case "$2" in - sign) - sign_packages - ;; - esac - ;; "") clear svn info