NAME="IPFire" # Software name
SNAME="ipfire" # Short name
-VERSION="2.0b" # Version number
+VERSION="2.0a3" # Version number
SLOGAN="www.ipfire.org" # Software slogan
CONFIG_ROOT=/var/ipfire # Configuration rootdir
NICE=10 # Nice level
MACHINE=`uname -m`
SVN_REVISION=`svn info | grep Revision | cut -c 11-`
-IPFVER="full devel" # Which versions should be compiled? (full|light|voice|devel)
+IPFVER="full" # Which versions should be compiled? (full|light|devel)
# Set an information about the build number
if [ -e ./.svn ]; then
# 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 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 fcpci
# ipfiremake promise-sata-300-tx
ipfiremake zaptel
+ ipfiremake fuse
+ ipfiremake pkg-config
+ ipfiremake cpio
+ ipfiremake klibc
+ ipfiremake mkinitcpio
+ ipfiremake udev KLIBC=1
ipfiremake expat
ipfiremake gdbm
ipfiremake gmp
ipfiremake dosfstools
ipfiremake reiserfsprogs
ipfiremake squashfstools
+ ipfiremake sysfsutils
+ ipfiremake ntfs-3g
ipfiremake ethtool
ipfiremake ez-ipupdate
ipfiremake fcron
ipfiremake 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 l7-protocols
ipfiremake isapnptools
# ipfiremake isdn4k-utils # What about mISDN???
+ ipfiremake hwdata
ipfiremake kudzu
ipfiremake logrotate
ipfiremake logwatch
ipfiremake Archive-Zip
ipfiremake Text-Tabs+Wrap
ipfiremake Locale-Country
+ ipfiremake XML-Parser
+ 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 calamaris
ipfiremake tcpdump
ipfiremake traceroute
ipfiremake vlan
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 libogg
ipfiremake libvorbis
ipfiremake lame
- ipfiremake xvid
- ipfiremake mpeg2dec
- ipfiremake ffmpeg
ipfiremake sox
ipfiremake gnump3d
- ipfiremake videolan
ipfiremake applejuice
ipfiremake ocaml
ipfiremake mldonkey
- ipfiremake ntop
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
}
buildinstaller() {
LOGFILE="$BASEDIR/log/_build.installer.log"
export LOGFILE
ipfiremake syslinux
+ ipfiremake as86
+ ipfiremake mbr
ipfiremake memtest
installmake linux-libc-header
installmake binutils
installmake sysvinit
installmake misc-progs
installmake e2fsprogs
+ installmake libaal
+ installmake reiser4progs
installmake reiserfsprogs
installmake sysfsutils
installmake util-linux
installmake pciutils
+ installmake zlib
+ installmake mtd
+ installmake wget
+ installmake hwdata
installmake kudzu
installmake installer
installmake initrd
beautify message DONE
# Create images for install
- for i in $IPFVER
- do
- if [ $i == "devel" ]; then
- if [ ! -f ipfire-$VER.i586-devel.iso ]; then
- ipfiremake cdrom ED=$i
- fi
- else
- ipfiremake cdrom ED=$i
+ if [ "$DEVEL" == "1" ]; then
+ ipfiremake cdrom ED=devel
fi
- done
+ 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 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 cups
+# ipfiredist cyrusimap
+# ipfiredist fetchmail
+# ipfiredist gnump3d
+# ipfiredist java
+# ipfiredist mailx
+# ipfiredist mldonkey
+# ipfiredist nfs
+# ipfiredist postfix
ipfiredist samba
- ipfiredist sox
- ipfiredist spamassassin
- ipfiredist subversion
- ipfiredist videolan
- ipfiredist webcyradm
- ipfiredist xvid
- ipfiredist yasuc
+# ipfiredist sox
+# ipfiredist spamassassin
+ ipfiredist tripwire
+# ipfiredist webcyradm
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
$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
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
;;
upload)
case "$2" in
iso)
- echo -e "Uploading the iso to $IPFIRE_FTP_URL_EXT."
+ echo -e "Uploading the iso to $FTP_ISO_PATH/$SVN_REVISION."
cat <<EOF > .ftp-commands
-mkdir $IPFIRE_FTP_PATH_EXT
+mkdir -p $FTP_ISO_PATH/$SVN_REVISION
ls -lah
quit
EOF
- ncftp -u $IPFIRE_FTP_USER_EXT -p $IPFIRE_FTP_PASS_EXT $IPFIRE_FTP_URL_EXT < .ftp-commands
+ ncftp -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL < .ftp-commands
rm -f .ftp-commands
- md5sum ipfire-install-$VERSION.i386.iso > ipfire-install-$VERSION.i386.iso.md5
- ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL $FTP_ISO_PATH/ ipfire-install-$VERSION.i386.iso
- ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL $FTP_ISO_PATH/ ipfire-install-$VERSION.i386.iso.md5
- ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL $FTP_ISO_PATH/ ipfire-source-r$SVN_REVISION.tar.gz
- ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL $FTP_ISO_PATH/ svn_status
+ 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 $IPFIRE_FTP_URL_EXT$IPFIRE_FTP_PATH_EXT/."
+ 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
if [ "$3" = "--with-sources-cd" ]; then
- ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL $FTP_ISO_PATH/ ipfire-sources-cd-$VERSION.$MACHINE.iso
+ ncftpput -u $FTP_ISO_USER -p $FTP_ISO_PASS $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
+mkdir -p $FTP_ISO_PATH/$SVN_REVISION/paks
ls -lah
quit
EOF
- ncftp -u $IPFIRE_FTP_USER_PAK -p $IPFIRE_FTP_PASS_PAK $IPFIRE_FTP_URL_PAK < .ftp-commands
+ ncftp -u $FTP_ISO_USER -p $FTP_ISO_PASS $FTP_ISO_URL < .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 $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
esac
exit 0
;;
+lang)
+ update_langs
+ ;;
+packages)
+ case "$2" in
+ sign)
+ sign_packages
+ ;;
+ esac
+ ;;
"")
clear
svn info