NAME="IPFire" # Software name
SNAME="ipfire" # Short name
-VERSION="2.0rc1t" # Version number
+VERSION="2.1" # 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|devel)
-# Set an information about the build number
-if [ -e ./.svn ]; then
- FIREBUILD=`cat .svn/entries |sed -n 's/^[ \t]*revision=\"// p' | sed -n 's/\".*$// p'`
-fi
-
# Debian specific settings
if [ ! -e /etc/debian_version ]; then
FULLPATH=`which $0`
fi
fi
+if [ -z $EDITOR ]; then
+ for i in nano emacs vi; do
+ EDITOR=$(which $i 2>/dev/null)
+ if ! [ -z $EDITOR ]; then
+ export EDITOR=$EDITOR
+ break
+ fi
+ done
+ [ -z $EDITOR ] && exiterror "You should have installed an editor."
+fi
+
prepareenv() {
############################################################################
# #
LOGFILE="$BASEDIR/log/_build.ipfire.log"
export LOGFILE
ipfiremake configroot
+ ipfiremake backup
ipfiremake dhcp
ipfiremake dhcpcd
ipfiremake libusb
ipfiremake unzip
ipfiremake linux SMP=1
ipfiremake ipp2p SMP=1
- ipfiremake r8169 SMP=1
ipfiremake zaptel SMP=1
+ ipfiremake r8169 SMP=1
+ ipfiremake r8168 SMP=1
+ ipfiremake mcs7830 SMP=1
+ ipfiremake atl1 SMP=1
+ ipfiremake dm9601 SMP=1
+ ipfiremake kqemu SMP=1
+ ipfiremake v4l-dvb SMP=1
+ ipfiremake sane KMOD=1 SMP=1
ipfiremake linux
ipfiremake ipp2p
- ipfiremake r8169
ipfiremake zaptel
+ ipfiremake r8169
+ ipfiremake r8168
+ ipfiremake mcs7830
+ ipfiremake atl1
+ ipfiremake dm9601
+ ipfiremake kqemu
+ ipfiremake v4l-dvb
+ ipfiremake sane KMOD=1
ipfiremake pkg-config
+ ipfiremake linux-atm
ipfiremake cpio
ipfiremake klibc
ipfiremake mkinitcpio
ipfiremake dosfstools
ipfiremake squashfstools
ipfiremake reiserfsprogs
+ ipfiremake xfsprogs
ipfiremake sysfsutils
ipfiremake fuse
ipfiremake ntfs-3g
ipfiremake iptables
ipfiremake libupnp
ipfiremake ipp2p IPT=1
- ipfiremake moblock
ipfiremake linux-igd
ipfiremake ipac-ng
ipfiremake ipaddr
ipfiremake iputils
ipfiremake l7-protocols
ipfiremake mISDN
+ ipfiremake capi4k-utils
ipfiremake hwdata
ipfiremake kudzu
ipfiremake logrotate
ipfiremake cups
ipfiremake ghostscript
ipfiremake foomatic
+ ipfiremake hplip
ipfiremake samba
ipfiremake sudo
ipfiremake mc
ipfiremake htop
ipfiremake postfix
ipfiremake fetchmail
- ipfiremake cyrusimap
+ ipfiremake cyrus-imapd
ipfiremake openmailadmin
- ipfiremake mailx
ipfiremake clamav
ipfiremake spamassassin
ipfiremake amavisd
ipfiremake mpc
ipfiremake xvid
ipfiremake libmpeg2
- #ipfiremake ffmpeg
- ipfiremake videolan
+ ipfiremake cmake
ipfiremake libpri
- ipfiremake stund
ipfiremake asterisk
- ipfiremake backup
ipfiremake gnump3d
ipfiremake libsigc++
ipfiremake applejuice
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 which
ipfiremake lsof
+ ipfiremake centerim
+ ipfiremake br2684ctl
+ ipfiremake pcmciautils
+ ipfiremake collectd
+ ipfiremake lcd4linux
+ ipfiremake neon
+ ipfiremake subversion
+ ipfiremake tcptrack
+ ipfiremake teamspeak
+ ipfiremake elinks
+ ipfiremake igmpproxy
+ ipfiremake sdl
+ ipfiremake qemu
+ ipfiremake sane
+ ipfiremake netpbm
+ ipfiremake phpSANE
+ ipfiremake tunctl
+ ipfiremake nagios
+ ipfiremake ebtables
+ ipfiremake arptables
+ ipfiremake fontconfig
+ ipfiremake freefont
+ ipfiremake ffmpeg
+ ipfiremake videolan
+ ipfiremake vdr
+ ipfiremake w_scan
+ ipfiremake git
+ ipfiremake squidclamav
+ ipfiremake bc
}
buildinstaller() {
installmake wget
installmake hwdata
installmake kudzu
+ installmake pcmciautils
installmake installer
installmake initrd
}
beautify build_stage "Building IPFire"
buildipfire
- # Setzen des IPFire Builds
- if [ "$FIREBUILD" ]; then
- echo "$FIREBUILD" > $BASEDIR/build/var/ipfire/firebuild
- else
- echo "_(OvO)_" > $BASEDIR/build/var/ipfire/firebuild
- fi
-
beautify build_stage "Building installer"
buildinstaller
prepareenv
entershell
;;
-changelog)
- echo -n "Loading new Changelog from SVN: "
- 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
fi
stdumount
;;
-svn)
+git)
case "$2" in
update|up)
- # clear
- echo -ne "Loading the latest source files...\n"
- 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
- beautify message DONE
- else
- beautify message FAIL
- exit 1
- fi
- echo -ne "Writing the svn-info to a file"
- svn info > $PWD/svn_status
- if [ $? -eq "0" ]; then
- beautify message DONE
- else
- beautify message FAIL
- exit 1
- fi
- chmod 755 $0
- exit 0
- ;;
+ git pull
+ ;;
commit|ci)
- clear
- if [ -f /usr/bin/mcedit ]; then
- export EDITOR=/usr/bin/mcedit
- fi
- if [ -f /usr/bin/nano ]; then
- export EDITOR=/usr/bin/nano
- fi
- echo -ne "Selecting editor $EDITOR..."
- beautify message DONE
- if [ -e /sbin/yast ]; then
- if [ "`echo $SVN_REVISION | cut -c 3`" -eq "0" ]; then
- $0 changelog
- fi
- fi
- update_langs
- svn commit
- $0 svn up
- if [ -n "$FTP_CACHE_URL" ]; then
- $0 uploadsrc
- fi
- ;;
+ shift 2
+ git commit $*
+
+ [ "$?" -eq "0" ] || exiterror "git commit $* failed."
+
+ echo -e "${BOLD}Do you want to push, too? [y/N]${NORMAL}"
+ read
+ [ -z $REPLY ] && exit 0
+ for i in y Y j J; do
+ if [ "$i" == "$REPLY" ]; then
+ $0 git push
+ exit $?
+ fi
+ done
+ exiterror "\"$REPLY\" is not a valid answer."
+ ;;
dist)
- 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.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..."
- 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
- evaluate 1
- echo -en "REV $SVN_REVISION: Cleaning up..."
- rm ipfire-source/ -r
- evaluate 1
- ;;
+ git archive HEAD | gzip -9 > ${SNAME}-${VERSION}.tar.gz
+ ;;
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
- ;;
+ echo -ne "Make a local diff to last revision"
+ git diff HEAD > ipfire-diff-$(date +'%Y-%m-%d-%H:%M').diff
+ evaluate 1
+ echo "Diff was successfully saved to ipfire-diff-$(date +'%Y-%m-%d-%H:%M').diff"
+ git diff --stat
+ ;;
+ push)
+ [ -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} master
+ ;;
esac
;;
uploadsrc)
;;
"")
clear
- svn info
- select name in "Exit" "IPFIRE: Downloadsrc" "IPFIRE: Build (silent)" "IPFIRE: Watch Build" "IPFIRE: Batch" "IPFIRE: Clean" "SVN: Commit" "SVN: Update" "SVN: Status" "SVN: Diff" "LOG: Tail" "Help"
+ select name in "Exit" "IPFIRE: Downloadsrc" "IPFIRE: Build (silent)" "IPFIRE: Watch Build" "IPFIRE: Batch" "IPFIRE: Clean" "LOG: Tail" "Help"
do
case $name in
"IPFIRE: Downloadsrc")
"IPFIRE: Clean")
$0 clean
;;
- "SVN: Update")
- $0 svn update
- ;;
"Help")
echo "Usage: $0 {build|changelog|clean|gettoolchain|downloadsrc|shell|sync|toolchain}"
cat doc/make.sh-usage