# 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 <info@ipfire.eu>. #
+# Copyright (C) 2007 IPFire-Team <info@ipfire.org>. #
# #
############################################################################
#
-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.0t5" # 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 version should be compiled? (full|light|voice)
+IPFVER="full" # Which versions should be compiled? (full|devel)
# Set an information about the build number
if [ -e ./.svn ]; then
# #
############################################################################
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
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
############################################################################
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
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
############################################################################
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
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
lfsmake2 file
lfsmake2 findutils
lfsmake2 flex
- lfsmake2 grub
lfsmake2 gawk
lfsmake2 gettext
lfsmake2 grep
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
lfsmake2 udev
lfsmake2 util-linux
lfsmake2 vim
+ lfsmake2 grub
}
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 r8169 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 promise-sata-300-tx
+ ipfiremake fcdsl
+ ipfiremake fcdsl2
+ ipfiremake fcdslsl
+ ipfiremake fcdslusb
+ ipfiremake fcdslslusb
+ ipfiremake r8169
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
ipfiremake pam
ipfiremake openssl
+ ipfiremake curl
ipfiremake python
ipfiremake libnet
ipfiremake libjpeg
ipfiremake libpng
ipfiremake libtiff
- ipfiremake lcms
- ipfiremake libmng
- ipfiremake freetype
ipfiremake libart
+ ipfiremake freetype
ipfiremake gd
ipfiremake popt
ipfiremake pcre
ipfiremake newt
ipfiremake libcap
ipfiremake pciutils
+ ipfiremake usbutils
ipfiremake libxml2
+ ipfiremake libxslt
ipfiremake BerkeleyDB
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
ipfiremake cdrtools
ipfiremake dnsmasq
ipfiremake dosfstools
+ ipfiremake squashfstools
ipfiremake reiserfsprogs
+ ipfiremake sysfsutils
+ 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 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 isdn4k-utils # What about mISDN???
+ ipfiremake mISDN
+ ipfiremake isdn4k-utils
+ 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
ipfiremake Archive-Zip
ipfiremake Text-Tabs+Wrap
ipfiremake Locale-Country
+ ipfiremake XML-Parser
+ ipfiremake MP3-Info
+ ipfiremake MP3-Tag
+ ipfiremake glib
ipfiremake GeoIP
-###
ipfiremake fwhits
ipfiremake noip_updater
ipfiremake ntp
- ipfiremake oinkmaster
ipfiremake openssh
ipfiremake openswan
ipfiremake pptpclient
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
- ipfiremake libpri
-# ipfiremake bristuff
- ipfiremake asterisk
+ ipfiremake alsa
ipfiremake mpg123
+ ipfiremake mpfire
+ ipfiremake guardian
ipfiremake libmad
ipfiremake libogg
ipfiremake libvorbis
ipfiremake lame
- ipfiremake xvid
- ipfiremake mpeg2dec
- ipfiremake ffmpeg
ipfiremake sox
+ ipfiremake libshout
+ ipfiremake icecast
+ ipfiremake ices
+ ipfiremake mp3blaster
+ ipfiremake libpri
+ ipfiremake stund
+ ipfiremake asterisk
+ ipfiremake backup
ipfiremake gnump3d
- ipfiremake videolan
+ ipfiremake libsigc++
ipfiremake applejuice
ipfiremake ocaml
ipfiremake mldonkey
- ipfiremake ntop
+ ipfiremake libtorrent
+ ipfiremake rtorrent
+ ipfiremake ipfireseeder
ipfiremake rsync
ipfiremake tcpwrapper
ipfiremake portmap
ipfiremake etherwake
ipfiremake ethereal
ipfiremake tftp-hpa
- ipfiremake iptraf
- ipfiremake nagios
- ipfiremake yasuc
+ ipfiremake bwm-ng
+ ipfiremake tripwire
+ ipfiremake sysstat
+ ipfiremake vsftpd
+ ipfiremake which
+ ipfiremake lsof
}
buildinstaller() {
LOGFILE="$BASEDIR/log/_build.installer.log"
export LOGFILE
ipfiremake syslinux
+ ipfiremake as86
+ ipfiremake mbr
ipfiremake memtest
- ipfiremake uClibc
+ 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 popt
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() {
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
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 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 samba
- ipfiredist sox
- ipfiredist spamassassin
- ipfiredist subversion
- ipfiredist videolan
- ipfiredist webcyradm
- ipfiredist xvid
- ipfiredist yasuc
+ for i in $(ls -1 $BASEDIR/config/rootfiles/packages); do
+ [ -e $BASEDIR/lfs/$i ] && ipfiredist $i
+ done
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/*
}
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
prepareenv
fi
- beautify build_stage "Building base"
+ beautify build_start
+ beautify build_stage "Building LFS"
buildbase
beautify build_stage "Building IPFire"
beautify build_stage "Building packages"
buildpackages
+ beautify build_end
;;
shell)
# enter a shell inside LFS chroot
;;
changelog)
echo -n "Loading new Changelog from SVN: "
- svn log http://svn.ipfire.eu/svn/ipfire > doc/ChangeLog
- echo "Finished!"
+ svn log http://svn.ipfire.org/svn/ipfire > doc/ChangeLog
+ beautify message DONE
;;
clean)
+ echo -en "${BOLD}Cleaning build directory...${NORMAL}"
for i in `mount | grep $BASEDIR | sed 's/^.*loop=\(.*\))/\1/'`; do
$LOSETUP -d $i 2>/dev/null
done
if [ -h /tools ]; then
rm -f /tools
fi
- ;;
-newpak)
- # create structure for a new package
- echo -e "Name of the new package: $2"
- if [ ! -f "lfs/$2" ]; then
- echo "`date -u '+%b %e %T'`: Creating directory src/paks/$2"
- mkdir -p src/paks/$2
- cd src/paks/$2
- echo "`date -u '+%b %e %T'`: Creating files"
- cp $BASEDIR/lfs/postfix $BASEDIR/lfs/$2
-
- touch ROOTFILES
- touch {,un}install.sh
- ## install.sh
- echo '#!/bin/bash' > install.sh
- echo '#' >> install.sh
- echo '#################################################################' >> install.sh
- echo '# #' >> install.sh
- echo '# This file belongs to IPFire Firewall - GPLv2 - www.ipfire.org #' >> install.sh
- echo '# #' >> install.sh
- echo '#################################################################' >> install.sh
- echo '#' >> install.sh
- echo '# Extract the files' >> install.sh
- echo 'tar xfz files.tgz -C /' >> install.sh
- echo 'cp -f ROOTFILES /opt/pakfire/installed/ROOTFILES.$2' >> install.sh
- ## uninstall.sh
- echo '#!/bin/bash' > uninstall.sh
- echo '#################################################################' >> uninstall.sh
- echo '# #' >> uninstall.sh
- echo '# This file belongs to IPFire Firewall - GPLv2 - www.ipfire.org #' >> uninstall.sh
- echo '# #' >> uninstall.sh
- echo '#################################################################' >> uninstall.sh
- echo '#' >> uninstall.sh
- echo '# Delete the files' >> uninstall.sh
- echo '## Befehl fehlt noch' >> uninstall.sh
- echo 'rm -f /opt/pakfire/installed/ROOTFILES.$2' >> uninstall.sh
- echo "`date -u '+%b %e %T'`: Adding files to SVN"
- cd - && svn add lfs/$2 && svn add src/paks/$2
-
- echo -n "Do you want to remove the folders? [y/n]"
- read REM
- if [ "$REM" == "y" ]; then
- echo "Removing the folders..."
- svn del src/paks/$2 --force
- else
- echo "Folders are kept."
- fi
- else
- echo "$2 already exists"
- fi
- exit 0
+ beautify message DONE
;;
downloadsrc)
if [ ! -d $BASEDIR/cache ]; then
$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
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..."
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
;;
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."
- cat <<EOF > .ftp-commands
-mkdir $IPFIRE_FTP_PATH_EXT
-ls -lah
+ 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 <<EOF > .ftp-commands
+mkdir -p $FTP_ISO_PATH$SVN_REVISION
+mkdir -p $FTP_ISO_PATH$SVN_REVISION/paks
quit
EOF
- ncftp -u $IPFIRE_FTP_USER_EXT -p $IPFIRE_FTP_PASS_EXT $IPFIRE_FTP_URL_EXT < .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
- if [ "$?" -eq "0" ]; then
- echo -e "The iso of Revision $SVN_REVISION was successfully uploaded to $IPFIRE_FTP_URL_EXT$IPFIRE_FTP_PATH_EXT/."
- else
- echo -e "There was an error while uploading the iso to the ftp server."
- exit 1
- fi
+ 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."
+
+ md5sum ipfire-$VERSION.$MACHINE-full.iso > ipfire-$VERSION.$MACHINE-full.iso.md5
+ 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
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 -P $FTP_ISO_PORT $FTP_ISO_URL $FTP_ISO_PATH/$SVN_REVISION/ ipfire-sources-cd-$VERSION.$MACHINE.iso
fi
;;
paks)
- cat <<EOF > .ftp-commands
-mkdir $IPFIRE_FTP_PATH_PAK
-ls -lah
-quit
-EOF
- ncftp -u $IPFIRE_FTP_USER_PAK -p $IPFIRE_FTP_PASS_PAK $IPFIRE_FTP_URL_PAK < .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 -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 $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
esac
;;
batch)
- if [ "$2" -eq "--background" ]; then
+ if [ "$2" = "--background" ]; then
batch_script
exit $?
fi
stop)
stop_tftpd
;;
- reload)
+ reload|restart)
reload_tftpd
;;
esac
exit 0
;;
+lang)
+ update_langs
+ ;;
+packages)
+ case "$2" in
+ sign)
+ sign_packages
+ ;;
+ esac
+ ;;
"")
clear
svn info
$0 svn update
;;
"Help")
- echo "Usage: $0 {build|changelog|clean|gettoolchain|newpak|downloadsrc|shell|sync|toolchain}"
+ echo "Usage: $0 {build|changelog|clean|gettoolchain|downloadsrc|shell|sync|toolchain}"
cat doc/make.sh-usage
;;
"LOG: Tail")
esac
done
;;
+config)
+ make_config
+ ;;
*)
- echo "Usage: $0 {build|changelog|clean|gettoolchain|newpak|downloadsrc|shell|sync|toolchain}"
+ echo "Usage: $0 {build|changelog|clean|gettoolchain|downloadsrc|shell|sync|toolchain}"
cat doc/make.sh-usage
;;
esac