NAME="IPFire" # Software name
SNAME="ipfire" # Short name
-VERSION="2.2-test"
-GIT_BRANCH=rspezial:rspezial # Version number
+VERSION="2.3"
+CORE="28"
+GIT_BRANCH=master:master # 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`
+GIT_TAG=$(git tag | tail -1)
IPFVER="full" # Which versions should be compiled? (full|devel)
# Setup environment
set +h
LC_ALL=POSIX
- MAKETUNING="-j6"
+ if [ -z $MAKETUNING ]; then
+ MAKETUNING="-j6"
+ fi
export LFS LC_ALL CFLAGS CXXFLAGS MAKETUNING
unset CC CXX CPP LD_LIBRARY_PATH LD_PRELOAD
lfsmake2 make
lfsmake2 man
lfsmake2 mktemp
- lfsmake2 modutils
+ lfsmake2 module-init-tools
lfsmake2 mtd
lfsmake2 net-tools
lfsmake2 patch
ipfiremake libpcap
ipfiremake ppp
ipfiremake rp-pppoe
+ ipfiremake pptp
ipfiremake unzip
- ipfiremake linux SMP=1
- ipfiremake linux-fusion SMP=1
- ipfiremake ipp2p SMP=1
- ipfiremake zaptel SMP=1
- ipfiremake r8169 SMP=1
- ipfiremake r8168 SMP=1
- ipfiremake atl1 SMP=1
- ipfiremake kqemu SMP=1
- ipfiremake v4l-dvb SMP=1
- ipfiremake madwifi SMP=1
- ipfiremake sane KMOD=1 SMP=1
ipfiremake linux
- ipfiremake linux-fusion
- ipfiremake ipp2p
- ipfiremake zaptel
- ipfiremake r8169
- ipfiremake r8168
- ipfiremake atl1
+ ipfiremake atl2
ipfiremake kqemu
ipfiremake v4l-dvb
ipfiremake madwifi
- ipfiremake sane KMOD=1
+ ipfiremake alsa KMOD=1
+ ipfiremake openswan KMOD=1
ipfiremake pkg-config
ipfiremake linux-atm
ipfiremake cpio
ipfiremake klibc
ipfiremake mkinitcpio
- ipfiremake udev KLIBC=1
+ ipfiremake udev KLIBC=1
ipfiremake expat
ipfiremake gdbm
ipfiremake gmp
ipfiremake whatmask
ipfiremake iptables
ipfiremake libupnp
- ipfiremake ipp2p IPT=1
- ipfiremake linux-igd
ipfiremake ipaddr
ipfiremake iptstate
ipfiremake iputils
ipfiremake Text-Tabs+Wrap
ipfiremake Locale-Country
ipfiremake XML-Parser
+ ipfiremake python-setuptools
+ ipfiremake python-clientform
+ ipfiremake python-mechanize
+ ipfiremake python-feedparser
+ ipfiremake python-rssdler
ipfiremake glib
ipfiremake GeoIP
ipfiremake fwhits
ipfiremake noip_updater
ipfiremake ntp
ipfiremake openssh
- ipfiremake openswan
ipfiremake rrdtool
ipfiremake setserial
ipfiremake setup
ipfiremake snort
ipfiremake oinkmaster
ipfiremake squid
- ipfiremake squid-graph
ipfiremake squidguard
ipfiremake calamaris
ipfiremake tcpdump
ipfiremake spamassassin
ipfiremake amavisd
ipfiremake alsa
- ipfiremake mpg123
ipfiremake mpfire
ipfiremake guardian
ipfiremake libid3tag
ipfiremake lame
ipfiremake sox
ipfiremake libshout
- ipfiremake icecast
- ipfiremake icegenerator
- ipfiremake mpd
- ipfiremake mpc
ipfiremake xvid
ipfiremake libmpeg2
ipfiremake cmake
ipfiremake sysstat
ipfiremake vsftpd
ipfiremake which
+ ipfiremake openswan
ipfiremake lsof
ipfiremake centerim
ipfiremake br2684ctl
ipfiremake lm_sensors
ipfiremake collectd
ipfiremake lcd4linux
- ipfiremake neon
- ipfiremake subversion
ipfiremake tcptrack
ipfiremake teamspeak
ipfiremake elinks
ipfiremake tunctl
ipfiremake nagios
ipfiremake ebtables
- ipfiremake arptables
ipfiremake fontconfig
ipfiremake freefont
ipfiremake directfb
ipfiremake videolan
ipfiremake vdr
ipfiremake w_scan
+ ipfiremake icecast
+ ipfiremake icegenerator
+ ipfiremake mpd
+ ipfiremake mpc
ipfiremake git
ipfiremake squidclamav
ipfiremake bc
ipfiremake vnstati
ipfiremake wpa_supplicant
ipfiremake hostapd
+ ipfiremake urlgrabber
+ ipfiremake syslinux
+ ipfiremake tftpd
+ ipfiremake cpufrequtils
+ ipfiremake dbus
+ ipfiremake bluetooth
+ ipfiremake gutenprint
+ ipfiremake apcupsd
+ ipfiremake iperf
+ ipfiremake netcat
+ ipfiremake 7zip
+ ipfiremake lynis
+ ipfiremake cryptsetup
+ ipfiremake splix
+ ipfiremake streamripper
+ ipfiremake sshfs
+ ipfiremake sqlite
+ ipfiremake taglib
+# ipfiremake mediatomb
+ ipfiremake sslh
+ ipfiremake perl-gettext
+ ipfiremake vdradmin
+ ipfiremake miau
+ ipfiremake net-snmp
+ ipfiremake perl-DBI
+ ipfiremake perl-DBD-mysql
+ echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild
+ cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild
+ echo >> $BASEDIR/build/var/ipfire/firebuild
+ git log -1 >> $BASEDIR/build/var/ipfire/firebuild
+ echo >> $BASEDIR/build/var/ipfire/firebuild
+ git status >> $BASEDIR/build/var/ipfire/firebuild
+ echo >> $BASEDIR/build/var/ipfire/firebuild
+ cat /proc/cpuinfo >> $BASEDIR/build/var/ipfire/firebuild
+ echo $CORE > $BASEDIR/build/opt/pakfire/db/core/mine
}
buildinstaller() {
# Run installer scripts one by one
LOGFILE="$BASEDIR/log/_build.installer.log"
export LOGFILE
- ipfiremake syslinux
ipfiremake as86
ipfiremake mbr
ipfiremake memtest
rm -f $BASEDIR/doc/packages-list
# packages-list.txt is ready to be displayed for wiki page
beautify message DONE
+
+ # Update changelog
+ cd $BASEDIR
+ $0 git log
# Create images for install
- ipfiremake cdrom ED=full
+ ipfiremake cdrom ED=$IPFVER
# Check if there is a loop device for building in virtual environments
if [ -e /dev/loop/0 ] || [ -e /dev/loop0 ]; then
- ipfiremake usb-stick
+ ipfiremake usb-stick ED=$IPFVER
fi
# Create updater package
- ipfiremake updater
+ #ipfiremake updater
mv $LFS/install/images/{*.iso,*.tgz,*.img.gz,*.bz2} $BASEDIR >> $LOGFILE 2>&1
ipfirepackages
}
ipfirepackages() {
- #ipfiremake core-updates
+ ipfiremake core-updates
for i in $(ls -1 $BASEDIR/config/rootfiles/packages); do
if [ -e $BASEDIR/lfs/$i ]; then
ipfiredist $i
beautify build_stage "Building packages"
buildpackages
+
+ beautify build_stage "Checking Logfiles for new Files"
+ cd ..
+ tools/checknewlog.pl
+
beautify build_end
;;
shell)
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_TOOLCHAIN/$PACKAGE.tar.gz $URL_TOOLCHAIN/$PACKAGE.md5 >& /dev/null
+ wget -U "IPFireSourceGrabber/2.x" $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
+ echo "`date -u '+%b %e %T'`: error downloading $PACKAGE toolchain for $BUILDMACHINE machine" | tee -a $LOGFILE
else
if [ "`md5sum $PACKAGE.tar.gz | awk '{print $1}'`" = "`cat $PACKAGE.md5 | awk '{print $1}'`" ]; then
echo "`date -u '+%b %e %T'`: toolchain md5 ok" | tee -a $LOGFILE
git)
case "$2" in
update|up)
+ ## REMOVES ALL UNCOMMITTED CHANGES!
+ [ "$3" == "--force" ] && git checkout -f
git pull
;;
commit|ci)
[ -z $GIT_USER ] && exiterror "You have to setup GIT_USER first."
GIT_URL="ssh://${GIT_USER}@git.ipfire.org/pub/git/ipfire-2.x"
- git push ${GIT_URL} ${GIT_BRANCH}
+ git push ${GIT_URL} ${GIT_BRANCH} $3
;;
+ log)
+ [ -z $GIT_TAG ] || LAST_TAG=$GIT_TAG
+ [ -z $LAST_TAG ] || EXT="$LAST_TAG..HEAD"
+
+ git log -n 500 --no-merges --pretty=medium --shortstat $EXT > $BASEDIR/doc/ChangeLog
+ ;;
esac
;;
uploadsrc)
PWD=`pwd`
+ if [ -z $IPFIRE_USER ]; then
+ echo -n "You have to setup IPFIRE_USER first. See .config for details."
+ beautify message FAIL
+ exit 1
+ fi
+ URL_SOURCE=$(grep URL_SOURCE lfs/Config | awk '{ print $3 }')
+ REMOTE_FILES=$(echo "ls -1" | sftp -C ${IPFIRE_USER}@${URL_SOURCE})
+
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
- for i in *; do
- if [ "$(basename $i)" == "toolchains" ]; then continue; fi
- grep -q $(basename $i) /tmp/ftplist
- if [ "$?" -ne "0" ]; then
- 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
- fi
+ for file in $(ls -1); do
+ grep -q "$file" <<<$REMOTE_FILES && continue
+ NEW_FILES="$NEW_FILES $file"
done
- rm -f /tmp/ftplist
+ [ -n "$NEW_FILES" ] && scp -2 $NEW_FILES ${IPFIRE_USER}@${URL_SOURCE}
+ cd $BASEDIR
cd $PWD
exit 0
;;