# 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.0t4" # 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.0rc3t" # 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
# #
############################################################################
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
LOGFILE="$BASEDIR/log/_build.ipfire.log"
export LOGFILE
ipfiremake configroot
+ ipfiremake backup
ipfiremake dhcp
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 promise-sata-300-tx SMP=1
ipfiremake zaptel SMP=1
- ipfiremake fuse SMP=1
- #ipfiremake linux XEN=1
ipfiremake linux
ipfiremake ipp2p
- ipfiremake fcdsl
- ipfiremake fcdsl2
- ipfiremake fcdslsl
- ipfiremake fcdslusb
- ipfiremake fcdslslusb
-# ipfiremake promise-sata-300-tx
ipfiremake zaptel
- ipfiremake fuse
ipfiremake pkg-config
+ ipfiremake linux-atm
ipfiremake cpio
ipfiremake klibc
ipfiremake mkinitcpio
ipfiremake gmp
ipfiremake pam
ipfiremake openssl
+ ipfiremake curl
ipfiremake python
ipfiremake libnet
+ ipfiremake libidn
ipfiremake libjpeg
ipfiremake libpng
ipfiremake libtiff
ipfiremake newt
ipfiremake libcap
ipfiremake pciutils
+ ipfiremake usbutils
ipfiremake libxml2
ipfiremake libxslt
ipfiremake BerkeleyDB
ipfiremake arping
ipfiremake beep
ipfiremake bind
- ipfiremake capi4k-utils
ipfiremake cdrtools
ipfiremake dnsmasq
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
ipfiremake libupnp
ipfiremake ipp2p IPT=1
- ipfiremake moblock
ipfiremake linux-igd
ipfiremake ipac-ng
ipfiremake ipaddr
ipfiremake iptstate
ipfiremake iputils
ipfiremake l7-protocols
- ipfiremake isdn4k-utils
ipfiremake mISDN
ipfiremake hwdata
ipfiremake kudzu
ipfiremake logrotate
ipfiremake logwatch
ipfiremake misc-progs
- ipfiremake mtools
ipfiremake nano
ipfiremake nasm
ipfiremake URI
ipfiremake Text-Tabs+Wrap
ipfiremake Locale-Country
ipfiremake XML-Parser
- ipfiremake MP3-Info
- ipfiremake MP3-Tag
ipfiremake glib
ipfiremake GeoIP
ipfiremake fwhits
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
ipfiremake vlan
ipfiremake wireless
ipfiremake libsafe
- ipfiremake 3c5x9setup
ipfiremake pakfire
ipfiremake java
ipfiremake spandsp
ipfiremake lzo
ipfiremake openvpn
ipfiremake pammysql
- ipfiremake ghostscript
ipfiremake cups
+ ipfiremake ghostscript
+ ipfiremake foomatic
+ ipfiremake hplip
ipfiremake samba
ipfiremake sudo
ipfiremake mc
ipfiremake htop
ipfiremake postfix
ipfiremake fetchmail
- ipfiremake cyrusimap
- ipfiremake webcyradm
- ipfiremake mailx
+ ipfiremake cyrus-imapd
+ ipfiremake openmailadmin
ipfiremake clamav
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 sox
+ ipfiremake libshout
+ ipfiremake icecast
+ ipfiremake icegenerator
+ ipfiremake mpd
+ ipfiremake mpc
+ ipfiremake xvid
+ ipfiremake libmpeg2
+ ipfiremake videolan
+ ipfiremake libpri
+ ipfiremake asterisk
ipfiremake gnump3d
- ipfiremake ctorrent
+ ipfiremake libsigc++
ipfiremake applejuice
ipfiremake ocaml
ipfiremake mldonkey
+ ipfiremake libtorrent
+ ipfiremake rtorrent
+ ipfiremake ipfireseeder
ipfiremake rsync
ipfiremake tcpwrapper
ipfiremake portmap
ipfiremake nfs
ipfiremake nmap
ipfiremake mbmon
- ipfiremake iftop
ipfiremake ncftp
- ipfiremake cftp
ipfiremake etherwake
- ipfiremake ethereal
- ipfiremake tftp-hpa
ipfiremake bwm-ng
ipfiremake tripwire
ipfiremake sysstat
ipfiremake vsftpd
- ipfiremake alsa
- ipfiremake mp3blaster
+ ipfiremake which
+ ipfiremake lsof
+ ipfiremake centerim
+ ipfiremake br2684ctl
}
buildinstaller() {
installmake popt
installmake sysvinit
installmake misc-progs
- installmake e2fsprogs
installmake libaal
installmake reiser4progs
installmake reiserfsprogs
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
}
ipfirepackages() {
- ipfiredist alsa
-# ipfiredist amavisd
-# ipfiredist applejuice
-# ipfiredist asterisk
- ipfiredist clamav
- ipfiredist cups
- ipfiredist cyrus-sasl
-# ipfiredist fetchmail
-# ipfiredist gnump3d
-# ipfiredist java
- ipfiredist libogg
- ipfiredist libvorbis
-# ipfiredist mailx
-# ipfiredist mldonkey
- ipfiredist mp3blaster
- ipfiredist mpg123
-# ipfiredist nfs
- ipfiredist openldap
-# ipfiredist postfix
- ipfiredist samba
-# ipfiredist sox
-# ipfiredist spamassassin
- ipfiredist tripwire
- ipfiredist vsftpd
-# 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/*
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
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
exit 0
;;
upload)
- case "$2" in
- iso)
- echo -e "Uploading the iso to $FTP_ISO_PATH/$SVN_REVISION."
- cat <<EOF > .ftp-commands
+ 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
-ls -lah
+mkdir -p $FTP_ISO_PATH$SVN_REVISION/paks
quit
EOF
- ncftp -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL < .ftp-commands
- rm -f .ftp-commands
+ 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
- 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 <<EOF > .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
lang)
update_langs
;;
-packages)
- case "$2" in
- sign)
- sign_packages
- ;;
- esac
- ;;
"")
clear
svn info