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
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() {
# Resetting our nice level #
# #
############################################################################
- echo -ne "`date -u '+%b %e %T'`: Resetting our nice level to $NICE" | tee -a $LOGFILE
+ echo -ne "Resetting our nice level to $NICE" | tee -a $LOGFILE
renice $NICE $$ > /dev/null
if [ `nice` != "$NICE" ]; then
beautify message FAIL
# Checking if running as root user #
# #
############################################################################
- echo -ne "`date -u '+%b %e %T'`: Checking if we're running as root user" | tee -a $LOGFILE
+ 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"
# Checking for necessary temporary space #
# #
############################################################################
- echo -ne "`date -u '+%b %e %T'`: Checking for necessary space on disk $BASE_DEV" | tee -a $LOGFILE
+ 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
# Building Linux From Scratch system #
# #
############################################################################
- echo "`date -u '+%b %e %T'`: Building Linux From Scratch system" | tee -a $LOGFILE
-
# Set umask
umask 022
# 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
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
export PATH=$BASEDIR/build/usr/local/bin:$BASEDIR/build/tools/bin:$PATH
lfsmake1 linux-libc-header
lfsmake1 glibc
+ lfsmake1 cleanup-toolchain PASS=1
lfsmake1 tcl
lfsmake1 expect
lfsmake1 dejagnu
lfsmake1 tar
lfsmake1 texinfo
lfsmake1 util-linux
- lfsmake1 cleanup-toolchain
+ lfsmake1 cleanup-toolchain PASS=2
export PATH=$ORG_PATH
}
LOGFILE="$BASEDIR/log/_build.base.log"
export LOGFILE
lfsmake2 stage2
- lfsmake2 makedev
- lfsmake2 linux
+ lfsmake2 linux-libc-header
lfsmake2 man-pages
lfsmake2 glibc
+ lfsmake2 cleanup-toolchain PASS=3
lfsmake2 binutils
lfsmake2 gcc
+ lfsmake2 berkeley
lfsmake2 coreutils
- lfsmake2 zlib
- lfsmake2 mktemp
lfsmake2 iana-etc
- lfsmake2 findutils
- lfsmake2 gawk
- lfsmake2 ncurses
- lfsmake2 vim
lfsmake2 m4
lfsmake2 bison
- lfsmake2 less
- lfsmake2 groff
+ lfsmake2 ncurses
+ lfsmake2 procps
lfsmake2 sed
- lfsmake2 flex
- lfsmake2 gettext
- lfsmake2 net-tools
- lfsmake2 inetutils
+ lfsmake2 libtool
lfsmake2 perl
- lfsmake2 texinfo
+ lfsmake2 readline
+ lfsmake2 zlib
lfsmake2 autoconf
lfsmake2 automake
lfsmake2 bash
- lfsmake2 file
- lfsmake2 libtool
lfsmake2 bzip2
lfsmake2 diffutils
- lfsmake2 ed
- lfsmake2 kbd
lfsmake2 e2fsprogs
- lfsmake2 grep
+ lfsmake2 file
+ lfsmake2 findutils
+ lfsmake2 flex
lfsmake2 grub
+ lfsmake2 gawk
+ lfsmake2 gettext
+ lfsmake2 grep
+ lfsmake2 groff
lfsmake2 gzip
- lfsmake2 man
+ lfsmake2 inetutils
+ lfsmake2 iproute2
+ lfsmake2 kbd
+ lfsmake2 less
lfsmake2 make
+ lfsmake2 man
+ lfsmake2 mktemp
lfsmake2 modutils
lfsmake2 patch
- lfsmake2 procinfo
- lfsmake2 procps
lfsmake2 psmisc
lfsmake2 shadow
lfsmake2 sysklogd
lfsmake2 sysvinit
lfsmake2 tar
+ lfsmake2 texinfo
+ lfsmake2 udev
lfsmake2 util-linux
+ lfsmake2 vim
}
buildipfire() {
LOGFILE="$BASEDIR/log/_build.ipfire.log"
export LOGFILE
+ ipfiremake inetutils
+ ipfiremake net-tools
+ ipfiremake ed
ipfiremake configroot
ipfiremake dhcp
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 PASS=I # Can we remove the installer kernel?
+ ipfiremake linux PASS=S
+# 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 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
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 iptables
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
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
ipfiremake Text-Tabs+Wrap
ipfiremake Locale-Country
ipfiremake GeoIP
+###
ipfiremake fwhits
ipfiremake noip_updater
ipfiremake ntp
ipfiremake squid
ipfiremake squid-graph
ipfiremake squidguard
- ipfiremake tcpdump
+# ipfiremake tcpdump
ipfiremake traceroute
ipfiremake vlan
ipfiremake wireless
ipfiremake openvpn
ipfiremake pkg-config
ipfiremake glib
- ipfiremake pam
ipfiremake pammysql
- ipfiremake saslauthd PASS=2
ipfiremake xinetd
ipfiremake ghostscript
ipfiremake cups
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
LOGFILE="$BASEDIR/log/_build.installer.log"
export LOGFILE
ipfiremake syslinux
- ipfiremake as86
- ipfiremake mbr
ipfiremake uClibc
installmake busybox
+ installmake udev
+ installmake slang
+ installmake newt
+ installmake gettext
+ installmake kbd
+ installmake popt
+ installmake kudzu
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 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
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*
+ ipfiremake pxe
cp $LFS/install/images/{*.iso,*.tgz} $BASEDIR >> $LOGFILE 2>&1
- ipfirepackages
+# ipfirepackages
# Cleanup
stdumount
ipfiredist lame
ipfiredist libmad
ipfiredist libogg
- ipfiredist libtiff
ipfiredist libvorbis
ipfiredist mailx
ipfiredist mldonkey
# 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
- if [ ! -f log/cleanup-toolchain-tools ]; then
+ if [ ! -f log/cleanup-toolchain-2-tools ]; then
if [ ! -n "$PACKAGE" ]; then
beautify build_stage "Full toolchain compilation - Native GCC: `gcc --version | grep GCC | awk {'print $3'}`"
prepareenv
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
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
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
# 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
;;
commit|ci)
clear
+ if [ -f /usr/bin/mcedit ]; then
+ export EDITOR=/usr/bin/mcedit
+ else
+ if [ -f /usr/bin/nano ]; then
+ export EDITOR=/usr/bin/nano
+ fi
+ 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
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..."
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
beautify message FAIL
fi
- else
- echo -ne "$i"
- beautify message SKIP
fi
done
rm -f /var/tmp/ftplist
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
"IPFIRE: Clean")
$0 clean
;;
- "SVN: Commit")
- if [ -f /usr/bin/mcedit ]; then
- export EDITOR=/usr/sbin/mcedit
- 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|check|checkclean|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")
esac
done
;;
+*)
+ echo "Usage: $0 {build|changelog|clean|gettoolchain|newpak|downloadsrc|shell|sync|toolchain}"
+ cat doc/make.sh-usage
+ ;;
esac