X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=blobdiff_plain;f=make.sh;h=384a225a9b1b52eea08f768aa83ebbf5707f1f94;hp=6555d2264a355b1598b470ecfa7917b1373a8206;hb=6f61f8c6ba3bf1910426e0b17ba7fa80a53feefb;hpb=9b0ff0a0b64dc82a593e08256c2f3a8a76695493 diff --git a/make.sh b/make.sh index 6555d2264a..384a225a9b 100644 --- a/make.sh +++ b/make.sh @@ -24,16 +24,18 @@ 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=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 @@ -64,7 +66,13 @@ mkdir $BASEDIR/log/ 2>/dev/null if [ -f .config ]; then . .config else - make_config + echo -e "${BOLD}No configuration found!${NORMAL}" + echo -ne "Do you want to create one (y/N)?" + read CREATE_CONFIG + echo "" + if [ "$CREATE_CONFIG" == "y" ]; then + make_config + fi fi prepareenv() { @@ -127,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 @@ -162,18 +170,25 @@ 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 # Make some extra directories mkdir -p $BASEDIR/build/{tools,etc,usr/src} 2>/dev/null + mkdir -p $BASEDIR/build/{dev/{shm,pts},proc,sys} mkdir -p $BASEDIR/{cache,ccache} 2>/dev/null - mkdir -p $BASEDIR/build/dev/pts $BASEDIR/build/proc $BASEDIR/build/usr/src/{cache,config,doc,html,langs,lfs,log,src,ccache} + mkdir -p $BASEDIR/build/usr/src/{cache,config,doc,html,langs,lfs,log,src,ccache} + + mknod -m 600 $BASEDIR/build/dev/console c 5 1 2>/dev/null + mknod -m 666 $BASEDIR/build/dev/null c 1 3 2>/dev/null # 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 --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 @@ -184,6 +199,11 @@ prepareenv() { mount --bind $BASEDIR/log $BASEDIR/build/usr/src/log mount --bind $BASEDIR/src $BASEDIR/build/usr/src/src + # This is a temporary hack!!! + if [ ! -f /tools/bin/hostname ]; then + cp -f /bin/hostname /tools/bin/hostname 2>/dev/null + fi + # Run LFS static binary creation scripts one by one export CCACHE_DIR=$BASEDIR/ccache export CCACHE_HASHDIR=1 @@ -236,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 @@ -261,6 +280,7 @@ buildbase() { lfsmake2 bzip2 lfsmake2 diffutils lfsmake2 e2fsprogs + lfsmake2 ed lfsmake2 file lfsmake2 findutils lfsmake2 flex @@ -278,21 +298,17 @@ buildbase() { lfsmake2 man lfsmake2 mktemp lfsmake2 modutils + lfsmake2 net-tools lfsmake2 patch lfsmake2 psmisc lfsmake2 shadow lfsmake2 sysklogd lfsmake2 sysvinit -#### - lfsmake2 vim - lfsmake2 net-tools - lfsmake2 inetutils - lfsmake2 texinfo - lfsmake2 ed - lfsmake2 procinfo - lfsmake2 tar + lfsmake2 texinfo + lfsmake2 udev lfsmake2 util-linux + lfsmake2 vim } buildipfire() { @@ -303,76 +319,81 @@ 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 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 pcmcia-cs + 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 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 promise-sata-300-tx + ipfiremake zaptel +# ipfiremake pcmciautils ipfiremake expat ipfiremake gdbm ipfiremake gmp + ipfiremake pam ipfiremake openssl ipfiremake python ipfiremake libnet + ipfiremake libjpeg ipfiremake libpng ipfiremake libtiff - ipfiremake libjpeg ipfiremake lcms ipfiremake libmng ipfiremake freetype + ipfiremake libart ipfiremake gd ipfiremake popt + ipfiremake pcre ipfiremake slang ipfiremake newt ipfiremake libcap ipfiremake pciutils - ipfiremake pcre - ipfiremake readline ipfiremake libxml2 - ipfiremake berkeley - ipfiremake BerkeleyDB ## The Perl module + 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 @@ -380,23 +401,24 @@ buildipfire() { 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 ipfiremake initscripts ipfiremake iptables + ipfiremake ipp2p IPT=1 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 @@ -406,6 +428,7 @@ buildipfire() { 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 @@ -429,6 +452,7 @@ buildipfire() { ipfiremake Text-Tabs+Wrap ipfiremake Locale-Country ipfiremake GeoIP +### ipfiremake fwhits ipfiremake noip_updater ipfiremake ntp @@ -443,7 +467,7 @@ buildipfire() { ipfiremake squid ipfiremake squid-graph ipfiremake squidguard - ipfiremake tcpdump +# ipfiremake tcpdump ipfiremake traceroute ipfiremake vlan ipfiremake wireless @@ -458,9 +482,7 @@ buildipfire() { ipfiremake openvpn ipfiremake pkg-config ipfiremake glib - ipfiremake pam ipfiremake pammysql - ipfiremake saslauthd PASS=2 ipfiremake xinetd ipfiremake ghostscript ipfiremake cups @@ -484,11 +506,10 @@ buildipfire() { 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 @@ -527,61 +548,49 @@ buildinstaller() { LOGFILE="$BASEDIR/log/_build.installer.log" export LOGFILE ipfiremake syslinux - ipfiremake as86 - ipfiremake mbr - ipfiremake uClibc + ipfiremake memtest + installmake linux-libc-header + installmake binutils + ipfiremake uClibc PASS=1 + ipfiremake gcc INST=1 + installmake uClibc PASS=2 + installmake gcc INST=2 + installmake uClibc PASS=3 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 bootsplash 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 @@ -589,24 +598,25 @@ 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 rm -rf $BASEDIR/build/tmp/* # Generating total list of files - echo "`date -u '+%b %e %T'`: Generating files list from logs" | tee -a $LOGFILE + echo "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 @@ -643,7 +653,6 @@ ipfirepackages() { ipfiredist lame ipfiredist libmad ipfiredist libogg - ipfiredist libtiff ipfiredist libvorbis ipfiredist mailx ipfiredist mldonkey @@ -671,6 +680,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 @@ -690,7 +700,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 @@ -797,12 +808,12 @@ newpak) fi exit 0 ;; -prefetch) +downloadsrc) if [ ! -d $BASEDIR/cache ]; then 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 @@ -813,35 +824,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 @@ -861,11 +879,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 @@ -924,15 +942,22 @@ svn) ;; commit|ci) clear + if [ -f /usr/bin/mcedit ]; then + export EDITOR=/usr/bin/mcedit + fi + if [ -f /usr/bin/nano ]; then + export EDITOR=/usr/bin/nano + fi + echo -ne "Selecting editor $EDITOR..." + beautify message DONE if [ -e /sbin/yast ]; then if [ "`echo $SVN_REVISION | cut -c 3`" -eq "0" ]; then $0 changelog fi fi - echo "Upload the changed files..." - sleep 1 svn commit $0 svn up + $0 uploadsrc ;; dist) if [ $3 ]; then @@ -943,9 +968,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..." @@ -972,10 +997,11 @@ 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" - 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 @@ -1064,14 +1090,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 @@ -1085,27 +1125,11 @@ watch) "IPFIRE: Clean") $0 clean ;; - "SVN: Commit") - if [ -f /usr/bin/mcedit ]; then - export EDITOR=/usr/bin/mcedit - fi - if [ -f /usr/bin/nano ]; then - export EDITOR=/usr/bin/nano - fi - $0 svn commit - $0 uploadsrc - ;; "SVN: Update") $0 svn update ;; - "SVN: Status") - svn status # | grep -v ^? - ;; - "SVN: Diff") - $0 svn diff - ;; "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") @@ -1117,4 +1141,8 @@ watch) esac done ;; +*) + echo "Usage: $0 {build|changelog|clean|gettoolchain|newpak|downloadsrc|shell|sync|toolchain}" + cat doc/make.sh-usage + ;; esac