NAME="IPFire" # Software name
SNAME="ipfire" # Short name
VERSION="2.0" # Version number
- SLOGAN="www.ipfire.org" # Software slogan
+ SLOGAN="www.ipfire.eu" # Software slogan
CONFIG_ROOT=/var/ipfire # Configuration rootdir
NICE=10
MAX_RETRIES=3 # prefetch/check loop
ipfiredist() {
if [ -f $BASEDIR/build/usr/src/lfs/$1 ]; then
-# if [ ! `ls -w1 $BASEDIR/packages/*.tar.gz | grep $1` ]; then
+# if [ ! `ls -w1 $BASEDIR/packages/*.ipfire | grep $1` ]; then
echo "`date -u '+%b %e %T'`: Packaging $1" | tee -a $LOGFILE
chroot $LFS /tools/bin/env -i HOME=/root \
TERM=$TERM PS1='\u:\w\$ ' \
ipcopmake python
ipcopmake libnet
ipcopmake libpng
+ ipcopmake libtiff
+ ipcopmake libjpeg
+ ipcopmake lcms
+ ipcopmake libmng
+ ipcopmake freetype
ipcopmake gd
ipcopmake popt
ipcopmake slang
ipcopmake libcap
ipcopmake pciutils
ipcopmake pcre
- ipcopmake apache
+ ipcopmake readline
+ ipcopmake libxml2
+ ipcopmake berkeley
+ ipcopmake BerkeleyDB ## The Perl module
+ ipcopmake mysql
+ ipcopmake saslauthd PASS=1
+ ipcopmake openldap
+ ipcopmake apache2
+ ipcopmake php
ipcopmake arping
ipcopmake beep
ipcopmake bind
ipcopmake Locale-Country
ipcopmake GeoIP
ipcopmake fwhits
- ipcopmake berkeley
- ipcopmake BerkeleyDB ## The Perl module
ipcopmake noip_updater
ipcopmake ntp
ipcopmake oinkmaster
ipcopmake setserial
ipcopmake setup
ipcopmake snort
- #ipcopmake speedycgi
- ipcopmake saslauthd PASS=1
- ipcopmake openldap
ipcopmake squid
ipcopmake squid-graph
ipcopmake squidguard
ipcopmake tcpdump
ipcopmake traceroute
ipcopmake vlan
- #ipcopmake wireless
+ ipcopmake wireless
ipcopmake libsafe
ipcopmake 3c5x9setup
-# echo -ne "`date -u '+%b %e %T'`: Building ### IPFire modules ### \n" | tee -a $LOGFILE
ipcopmake pakfire
ipcopmake startscripts
-## Zuerst die Libs und dann die Programme. Ordnung muss sein!
ipcopmake java
- ipcopmake libtiff
- ipcopmake libjpeg
- ipcopmake lcms
- ipcopmake libmng
- ipcopmake freetype
ipcopmake bootsplash
- ipcopmake libxml2
ipcopmake spandsp
ipcopmake lzo
ipcopmake openvpn
ipcopmake pkg-config
ipcopmake glib
- ipcopmake xampp
ipcopmake pam
ipcopmake pammysql
ipcopmake saslauthd PASS=2
ipcopmake xinetd
ipcopmake ghostscript
ipcopmake cups
-# ipcopmake lpd ## Im Moment aus, da CUPS vorhanden ist.
ipcopmake samba
ipcopmake sudo
ipcopmake mc
-# ipcopmake pwlib
-# ipcopmake openh323
ipcopmake wget
ipcopmake wput
ipcopmake bridge-utils
ipcopmake procmail
ipcopmake fetchmail
ipcopmake cyrusimap
- ipcopmake web-cyradm
+ ipcopmake webcyradm
ipcopmake mailx
ipcopmake clamav
ipcopmake razor
ipcopmake bristuff
ipcopmake asterisk
ipcopmake mpg123
- echo -ne "`date -u '+%b %e %T'`: Building ### MP3-Server ### \n" | tee -a $LOGFILE
+ echo -ne "`date -u '+%b %e %T'`: Building ### Multimedia-Server ### \n" | tee -a $LOGFILE
+ ipcopmake libmad
ipcopmake libogg
ipcopmake libvorbis
ipcopmake lame
+ ipcopmake xvid
+ ipcopmake mpeg2dec
+ ipcopmake ffmpeg
ipcopmake sox
ipcopmake gnump3d
+ ipcopmake videolan
echo -ne "`date -u '+%b %e %T'`: Building ### P2P-Clients ### \n" | tee -a $LOGFILE
ipcopmake applejuice
ipcopmake ocaml
ipcopmake mldonkey
-# ipcopmake edonkeyclc
-# ipcopmake sane
echo -ne "`date -u '+%b %e %T'`: Building ### Net-Tools ### \n" | tee -a $LOGFILE
ipcopmake ntop
-# ipcopmake rsync
+ ipcopmake rsync
ipcopmake tcpwrapper
ipcopmake portmap
ipcopmake nfs
ipcopmake tftp-hpa
ipcopmake subversion
ipcopmake iptraf
-# ipcopmake stunnel # Ausgeschaltet, weil wir es doch nicht nutzen
+ ipcopmake nagios
+ ipcopmake yasuc
+ ipcopmake apache2 PASS=CONFIG
}
buildinstaller() {
rm -f $BASEDIR/doc/packages-list
for i in `ls -1tr $BASEDIR/log/[^_]*`; do
if [ "$i" != "$BASEDIR/log/FILES" -a -n $i ]; then
- echo " * `basename $i`" >>$BASEDIR/doc/packages-list
+ echo "* `basename $i`" >>$BASEDIR/doc/packages-list
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$\|^ipfire-logs' \
+ 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$' \
$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
cat $i | sed "s%^\./%#%" | sort >> $BASEDIR/log/FILES
fi
done
- cd $BASEDIR/packages; ls -w1 *.tar.gz | awk -F ".tar.gz" '{ print $1 }' > $BASEDIR/packages/packages_list.txt
- echo "###EOF###" >> $BASEDIR/packages/packages_list.txt
+ cd $BASEDIR/packages; ls -w1 *.ipfire | awk -F ".ipfire" '{ print $1 }' > $BASEDIR/packages/packages_list.txt
+ echo -n "###EOF###" >> $BASEDIR/packages/packages_list.txt
cd $PWD
touch $BASEDIR/build/install/packages/$i.empty
done
fi
- ipfiredist amavisd
+# 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 libtiff
ipfiredist libvorbis
- ipfiredist libxml2
ipfiredist mailx
ipfiredist mldonkey
+ ipfiredist mpeg2dec
+ ipfiredist nagios
ipfiredist nfs
ipfiredist nmap
ipfiredist ntop
ipfiredist sox
ipfiredist spamassassin
ipfiredist subversion
- ipfiredist web-cyradm
- ipfiredist xampp
-# ipfiredist xinetd
+ ipfiredist videolan
+ ipfiredist webcyradm
+ ipfiredist xvid
+ ipfiredist yasuc
test -d $BASEDIR/packages || mkdir $BASEDIR/packages
- mv -f $LFS/install/packages/*.{tar.gz,md5} $BASEDIR/packages >> $LOGFILE 2>&1
+ mv -f $LFS/install/packages/*.{ipfire,md5} $BASEDIR/packages >> $LOGFILE 2>&1
rm -rf $BASEDIR/build/install/packages/*
}
case "$2" in
update|up)
# clear
- echo -n "Load the latest source files..."
- svn update >> $PWD/log/_build.svn.update.log
+ echo "Loading the latest source files..."
+ if [ $3 ]; then
+ svn update -r $3 | tee -a $PWD/log/_build.svn.update.log
+ else
+ svn update | tee -a $PWD/log/_build.svn.update.log
+ fi
if [ $? -eq 0 ]; then
- echo ".Done!"
+ echo "Finished!"
else
- echo ".Fail!"
+ echo "Failure!"
exit 1
fi
- echo -n "Write the svn info to a file..."
+ echo -n "Writing the svn-info to a file..."
svn info > $PWD/svn_status
if [ "$?" -eq "0" ]; then
- echo ".Done!"
+ echo ".Finished!"
else
- echo ".Fail!"
+ echo ".Failure!"
exit 1
fi
chmod 755 $0
commit|ci)
clear
if [ -e /sbin/yast ]; then
- $0 changelog
+ if [ "`echo $SVN_REVISION | cut -c 3`" -eq "0" ]; then
+ $0 changelog
+ fi
fi
echo "Upload the changed files..."
sleep 1
$0 svn up
;;
dist)
- #$0 svn up
- echo -ne "Download source package from svn..."
+ if [ $3 ]; then
+ SVN_REVISION=$3
+ fi
+ if [ -f ipfire-source-r$SVN_REVISION.tar.gz ]; then
+ echo -ne "REV $SVN_REVISION: SKIPPED!\n"
+ 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
if [ "$?" -eq "0" ]; then
- echo ".Done!"
+ echo -en "\r"
else
- echo ".Fail!"
+ echo -en "\n"
exit 1
fi
- echo -n "Compress files..."
+ echo -en "REV $SVN_REVISION: Compressing files..."
+ if [ -e ipfire-source/trunk/make.sh ]; then
+ chmod 755 ipfire-source/trunk/make.sh
+ fi
tar cfz ipfire-source-r$SVN_REVISION.tar.gz ipfire-source
if [ "$?" -eq "0" ]; then
- echo ".Done!"
+ echo -ne "\r"
else
- echo ".Fail!"
+ echo -ne "\n"
exit 1
fi
- echo -n "Cleanup..."
+ echo -en "REV $SVN_REVISION: Cleaning up..."
rm ipfire-source/ -r
if [ "$?" -eq "0" ]; then
- echo ".Done!"
+ echo -ne "\rREV $SVN_REVISION: ##### FINISHED! #####\n"
else
- echo ".Fail!"
+ echo -ne "\n"
exit 1
fi
;;
- diff)
+ alldist|ad)
+ echo -e "### THIS WILL TAKE A LONG TIME!\nDOING A FETCH FROM REV 1 TO REV $SVN_REVISION!\n"
+ for i in `seq 1 $SVN_REVISION`; do
+ $0 svn dist $i
+ done
+ ;;
+ diff|di)
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
if [ "$?" -eq "0" ]; then
fi
fi
done
-# for i in `cat ftplist`; do
-# ls -w1 cache/ | grep $i
-# if [ "$?" -eq "1" ]; then
-# echo $i | grep -v toolchain >> doc/packages-to-remove-from-ftp
-# fi
-# done
rm -f ftplist
;;
upload)
exit 0
fi
;;
+watch)
+ echo "Exit with Ctrl+A, Ctrl+D."
+ echo -n "Preparing..."
+ for i in `seq 5`; do
+ sleep 0.1; echo -n "."
+ done
+ echo ".Ready!"
+ sleep 0.3
+ screen -x ipfire
+ ;;
*)
clear
svn info
$0 build-silent
;;
"IPFIRE: Watch Build")
- echo "Exit with Ctrl+A, Ctrl+D."
- echo -n "Preparing..."
- for i in `seq 10`; do
- sleep 0.1; echo -n "."
- done
- echo ".Ready!"
- sleep 0.3
- screen -x ipfire
+ $0 watch
;;
"IPFIRE: Batch")
$0 batch
if [ "$input" == "yes" ]; then
$0 svn commit
fi
+ $0 sync
;;
"SVN: Update")
$0 svn update