# along with IPFire; if not, write to the Free Software #
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
# #
-# Copyright (C) 2007-2011 IPFire-Team <info@ipfire.org>. #
+# Copyright (C) 2007-2012 IPFire Team <info@ipfire.org>. #
# #
############################################################################
#
NAME="IPFire" # Software name
SNAME="ipfire" # Short name
VERSION="2.11" # Version number
-CORE="53" # Core Level (Filename)
-PAKFIRE_CORE="52" # Core Level (PAKFIRE)
+CORE="62" # Core Level (Filename)
+PAKFIRE_CORE="61" # Core Level (PAKFIRE)
GIT_BRANCH=`git status | head -n1 | cut -d" " -f4` # Git Branch
SLOGAN="www.ipfire.org" # Software slogan
CONFIG_ROOT=/var/ipfire # Configuration rootdir
MACHINE=`uname -m`
GIT_TAG=$(git tag | tail -1) # Git Tag
GIT_LASTCOMMIT=$(git log | head -n1 | cut -d" " -f2 |head -c8) # Last commit
-TOOLCHAINVER=1
-IPFVER="full" # Which versions should be compiled? (full|devel)
+TOOLCHAINVER=5
BUILDMACHINE=$MACHINE
if [ "$MACHINE" = "x86_64" ]; then
BUILDMACHINE="i686";
- linux32="linux32";
fi
if [ -f .config ]; then
. .config
-else
- echo -e "${BOLD}No configuration found!${NORMAL}"
- echo -ne "Do you want to create one (y/N)?"
- read CREATE_CONFIG
- echo ""
- if [ "$CREATE_CONFIG" == "y" ]; then
- make_config
- fi
fi
if [ -z $EDITOR ]; then
mount --bind $BASEDIR/log $BASEDIR/build/usr/src/log
mount --bind $BASEDIR/src $BASEDIR/build/usr/src/src
- # This is a temporary hack!!!
- if [ ! -f /tools/bin/hostname ]; then
- cp -f /bin/hostname /tools/bin/hostname 2>/dev/null
- fi
-
# Run LFS static binary creation scripts one by one
export CCACHE_DIR=$BASEDIR/ccache
export CCACHE_COMPRESS=1
- export CCACHE_HASHDIR=1
+ export CCACHE_COMPILERCHECK="none"
# Remove pre-install list of installed files in case user erase some files before rebuild
rm -f $BASEDIR/build/usr/src/lsalr 2>/dev/null
}
buildtoolchain() {
- if [ "$(uname -m)" = "x86_64" ]; then
- exiterror "Cannot build toolchain on x86_64. Please use the download."
- fi
- if [ "$(uname -r | grep ipfire)" ]; then
- exiterror "Cannot build toolchain on ipfire. Please use the download."
+ local error=false
+ case "${MACHINE}:$(uname -m)" in
+ # x86
+ i586:i586|i586:i686|i586:x86_64)
+ # These are working.
+ ;;
+ i586:*)
+ error=true
+ ;;
+
+ # ARM
+ armv5tel:armv5tel|armv5tel:armv5tejl|armv5tel:armv6l|armv5tel:armv7l)
+ # These are working.
+ ;;
+ armv5tel:*)
+ error=true
+ ;;
+ esac
+
+ ${error} && \
+ exiterror "Cannot build ${MACHINE} toolchain on $(uname -m). Please use the download if any."
+
+ local gcc=$(type -p gcc)
+ if [ -z "${gcc}" ]; then
+ exiterror "Could not find GCC. You will need a working build enviroment in order to build the toolchain."
fi
LOGFILE="$BASEDIR/log/_build.toolchain.log"
export LOGFILE
- NATIVEGCC=`gcc --version | grep GCC | awk {'print $3'}`
- export NATIVEGCC GCCmajor=${NATIVEGCC:0:1} GCCminor=${NATIVEGCC:2:1} GCCrelease=${NATIVEGCC:4:1}
- ORG_PATH=$PATH
- export PATH=$BASEDIR/build/usr/local/bin:$BASEDIR/build/tools/bin:$PATH
- lfsmake1 ccache PASS=1
- lfsmake1 make PASS=1
- lfsmake1 binutils PASS=1
- lfsmake1 gcc PASS=1
- if [ "${MACHINE_TYPE}" = "arm" ]; then
- lfsmake1 linux TOOLS=1 HEADERS=1
- else
- lfsmake1 linux-libc-header
- fi
+
+ local ORG_PATH=$PATH
+ export PATH="/tools/ccache/bin:/tools/bin:$PATH"
+ lfsmake1 ccache PASS=1
+ lfsmake1 binutils PASS=1
+ lfsmake1 gcc PASS=1
+ lfsmake1 linux2 TOOLS=1 HEADERS=1
lfsmake1 glibc
- lfsmake1 cleanup-toolchain PASS=1
+ lfsmake1 cleanup-toolchain PASS=1
+ lfsmake1 binutils PASS=2
+ lfsmake1 gcc PASS=2
+ lfsmake1 ccache PASS=2
lfsmake1 tcl
lfsmake1 expect
lfsmake1 dejagnu
- lfsmake1 gcc PASS=2
- lfsmake1 binutils PASS=2
- lfsmake1 ccache PASS=2
lfsmake1 ncurses
lfsmake1 bash
lfsmake1 bzip2
lfsmake1 grep
lfsmake1 gzip
lfsmake1 m4
- lfsmake1 make PASS=2
+ lfsmake1 make
lfsmake1 patch
lfsmake1 perl
lfsmake1 sed
lfsmake1 tar
lfsmake1 texinfo
- lfsmake1 util-linux
- lfsmake1 strip
- lfsmake1 cleanup-toolchain PASS=2
+ lfsmake1 xz
+ lfsmake1 fake-environ
+ lfsmake1 cleanup-toolchain PASS=2
export PATH=$ORG_PATH
}
LOGFILE="$BASEDIR/log/_build.base.log"
export LOGFILE
lfsmake2 stage2
- if [ "${MACHINE_TYPE}" = "arm" ]; then
- lfsmake2 linux HEADERS=1
- else
- lfsmake2 linux-libc-header
- fi
+ lfsmake2 linux2 HEADERS=1
lfsmake2 man-pages
lfsmake2 glibc
- lfsmake2 cleanup-toolchain PASS=3
+ lfsmake2 tzdata
+ lfsmake2 cleanup-toolchain PASS=3
+ lfsmake2 zlib
lfsmake2 binutils
+ lfsmake2 gmp
+ lfsmake2 gmp-compat
+ lfsmake2 mpfr
+ lfsmake2 file
lfsmake2 gcc
+ lfsmake2 sed
lfsmake2 berkeley
lfsmake2 coreutils
lfsmake2 iana-etc
lfsmake2 bison
lfsmake2 ncurses
lfsmake2 procps
- lfsmake2 sed
lfsmake2 libtool
lfsmake2 perl
lfsmake2 readline
- lfsmake2 zlib
+ lfsmake2 readline-compat
+ lfsmake2 pcre
+ lfsmake2 pcre-compat
lfsmake2 autoconf
lfsmake2 automake
lfsmake2 bash
lfsmake2 diffutils
lfsmake2 e2fsprogs
lfsmake2 ed
- lfsmake2 file
lfsmake2 findutils
lfsmake2 flex
lfsmake2 gawk
lfsmake2 iproute2
lfsmake2 kbd
lfsmake2 less
- lfsmake2 libaal
lfsmake2 make
lfsmake2 man
lfsmake2 mktemp
lfsmake2 net-tools
lfsmake2 patch
lfsmake2 psmisc
- lfsmake2 reiser4progs
lfsmake2 shadow
lfsmake2 sysklogd
lfsmake2 sysvinit
lfsmake2 udev
lfsmake2 util-linux
lfsmake2 vim
+ lfsmake2 xz
lfsmake2 grub
}
ipfiremake pptp
ipfiremake unzip
ipfiremake which
- ipfiremake xz
ipfiremake linux-firmware
ipfiremake zd1211-firmware
+ ipfiremake rpi-firmware
+ ipfiremake fw_ath9k_htc
ipfiremake u-boot
# The xen and PAE kernels are only available for x86
if [ "${MACHINE_TYPE}" != "arm" ]; then
- ipfiremake linux XEN=1
- ipfiremake kqemu XEN=1
- ipfiremake v4l-dvb XEN=1
- ipfiremake madwifi XEN=1
- ipfiremake mISDN XEN=1
- ipfiremake dahdi XEN=1 KMOD=1
- ipfiremake cryptodev XEN=1
- ipfiremake compat-wireless XEN=1
- ipfiremake r8169 XEN=1
- ipfiremake r8168 XEN=1
- ipfiremake r8101 XEN=1
- ipfiremake e1000 XEN=1
- ipfiremake e1000e XEN=1
- ipfiremake igb XEN=1
- ipfiremake linux PAE=1
- ipfiremake kqemu PAE=1
- ipfiremake kvm-kmod PAE=1
- ipfiremake v4l-dvb PAE=1
- ipfiremake madwifi PAE=1
- ipfiremake alsa PAE=1 KMOD=1
- ipfiremake mISDN PAE=1
- ipfiremake dahdi PAE=1 KMOD=1
- ipfiremake cryptodev PAE=1
- ipfiremake compat-wireless PAE=1
-# ipfiremake r8169 PAE=1
-# ipfiremake r8168 PAE=1
-# ipfiremake r8101 PAE=1
- ipfiremake e1000 PAE=1
- ipfiremake e1000e PAE=1
- ipfiremake igb PAE=1
- fi
+# ipfiremake linux2 KCFG="-xen"
+# ipfiremake v4l-dvb KCFG="-xen"
+# ipfiremake mISDN KCFG="-xen"
+# ipfiremake dahdi KCFG="-xen" KMOD=1
+# ipfiremake cryptodev KCFG="-xen"
+# ipfiremake compat-wireless KCFG="-xen"
+# ipfiremake r8169 KCFG="-xen"
+# ipfiremake r8168 KCFG="-xen"
+# ipfiremake r8101 KCFG="-xen"
+# ipfiremake e1000 KCFG="-xen"
+# ipfiremake e1000e KCFG="-xen"
+# ipfiremake igb KCFG="-xen"
+
+ ipfiremake linux KCFG="-pae"
+# ipfiremake kvm-kmod KCFG="-pae"
+# ipfiremake v4l-dvb KCFG="-pae"
+ ipfiremake alsa KCFG="-pae" KMOD=1
+# ipfiremake mISDN KCFG="-pae"
+ ipfiremake dahdi KCFG="-pae" KMOD=1
+ ipfiremake cryptodev KCFG="-pae"
+ ipfiremake compat-wireless KCFG="-pae"
+# ipfiremake r8169 KCFG="-pae"
+# ipfiremake r8168 KCFG="-pae"
+# ipfiremake r8101 KCFG="-pae"
+# ipfiremake e1000 KCFG="-pae"
+# ipfiremake e1000e KCFG="-pae"
+# ipfiremake igb KCFG="-pae"
+
+ ipfiremake linux KCFG=""
+# ipfiremake kvm-kmod KCFG=""
+# ipfiremake v4l-dvb KCFG=""
+ ipfiremake alsa KCFG="" KMOD=1
+# ipfiremake mISDN KCFG=""
+ ipfiremake dahdi KCFG="" KMOD=1
+ ipfiremake cryptodev KCFG=""
+ ipfiremake compat-wireless KCFG=""
+# ipfiremake r8169 KCFG=""
+# ipfiremake r8168 KCFG=""
+# ipfiremake r8101 KCFG=""
+# ipfiremake e1000 KCFG=""
+# ipfiremake e1000e KCFG=""
+# ipfiremake igb KCFG=""
+
+ else
+ # arm-omap kernel build
+ ipfiremake linux KCFG="-rpi"
+# ipfiremake v4l-dvb KCFG="-rpi"
+# ipfiremake kvm-kmod KCFG="-rpi"
+# ipfiremake mISDN KCFG="-rpi"
+# ipfiremake dahdi KCFG="-rpi" KMOD=1
+ ipfiremake cryptodev KCFG="-rpi"
+ ipfiremake compat-wireless KCFG="-rpi"
+# ipfiremake r8169 KCFG="-rpi"
+# ipfiremake r8168 KCFG="-rpi"
+# ipfiremake r8101 KCFG="-rpi"
+# ipfiremake e1000 KCFG="-rpi"
+# ipfiremake e1000e KCFG="-rpi"
+# ipfiremake igb KCFG="-rpi"
+
+ ipfiremake linux KCFG="-omap"
+# ipfiremake v4l-dvb KCFG="-omap"
+# ipfiremake kvm-kmod KCFG="-omap"
+# ipfiremake mISDN KCFG="-omap"
+# ipfiremake dahdi KCFG="-omap" KMOD=1
+ ipfiremake cryptodev KCFG="-omap"
+ ipfiremake compat-wireless KCFG="-omap"
+# ipfiremake r8169 KCFG="-omap"
+# ipfiremake r8168 KCFG="-omap"
+# ipfiremake r8101 KCFG="-omap"
+# ipfiremake e1000 KCFG="-omap"
+# ipfiremake e1000e KCFG="-omap"
+# ipfiremake igb KCFG="-omap"
- # Default kernel build
- ipfiremake linux
- ipfiremake v4l-dvb
- ipfiremake kqemu
- ipfiremake kvm-kmod
- ipfiremake madwifi
- if [ "${MACHINE_TYPE}" = "arm" ]; then
- #todo enable alsa driver in kernel config
- ipfiremake alsa KMOD=1
+ # arm-kirkwood kernel build
+ ipfiremake linux KCFG="-kirkwood"
+# ipfiremake v4l-dvb KCFG="-kirkwood"
+# ipfiremake kvm-kmod KCFG="-kirkwood"
+# ipfiremake mISDN KCFG="-kirkwood"
+# ipfiremake dahdi KCFG="-kirkwood" KMOD=1
+ ipfiremake cryptodev KCFG="-kirkwood"
+ ipfiremake compat-wireless KCFG="-kirkwood"
+# ipfiremake r8169 KCFG="-kirkwood"
+# ipfiremake r8168 KCFG="-kirkwood"
+# ipfiremake r8101 KCFG="-kirkwood"
+# ipfiremake e1000 KCFG="-kirkwood"
+# ipfiremake e1000e KCFG="-kirkwood"
+# ipfiremake igb KCFG="-kirkwood"
fi
- #undefined declaration in echo canceler try to fix later
- ipfiremake mISDN
- ipfiremake dahdi KMOD=1
- ipfiremake cryptodev
- ipfiremake compat-wireless
-# ipfiremake r8169
-# ipfiremake r8168
-# ipfiremake r8101
- ipfiremake e1000
- ipfiremake e1000e
- ipfiremake igb
ipfiremake pkg-config
ipfiremake linux-atm
ipfiremake cpio
ipfiremake dracut
ipfiremake expat
ipfiremake gdbm
- ipfiremake gmp
ipfiremake pam
ipfiremake openssl
ipfiremake curl
ipfiremake libnl
ipfiremake libidn
ipfiremake libjpeg
+ ipfiremake libexif
ipfiremake libpng
ipfiremake libtiff
ipfiremake libart
ipfiremake iptables
ipfiremake libupnp
ipfiremake ipaddr
- ipfiremake iptstate
ipfiremake iputils
ipfiremake l7-protocols
ipfiremake mISDNuser
ipfiremake Text-Tabs+Wrap
ipfiremake Locale-Country
ipfiremake XML-Parser
+ ipfiremake Crypt-PasswdMD5
+ ipfiremake Net-Telnet
ipfiremake python-setuptools
ipfiremake python-clientform
ipfiremake python-mechanize
ipfiremake python-feedparser
ipfiremake python-rssdler
+ ipfiremake libffi
ipfiremake glib
ipfiremake GeoIP
ipfiremake fwhits
ipfiremake noip_updater
ipfiremake ntp
ipfiremake openssh
+ ipfiremake fontconfig
+ ipfiremake freefont
+ ipfiremake pixman
+ ipfiremake cairo
+ ipfiremake pango
ipfiremake rrdtool
ipfiremake setserial
ipfiremake setup
ipfiremake traceroute
ipfiremake vlan
ipfiremake wireless
- ipfiremake libsafe
ipfiremake pakfire
ipfiremake spandsp
ipfiremake lzo
ipfiremake wget
ipfiremake bridge-utils
ipfiremake screen
- ipfiremake hddtemp
ipfiremake smartmontools
ipfiremake htop
ipfiremake postfix
ipfiremake libogg
ipfiremake libvorbis
ipfiremake libdvbpsi
+ ipfiremake flac
ipfiremake lame
ipfiremake sox
ipfiremake libshout
ipfiremake cmake
ipfiremake gnump3d
ipfiremake libsigc++
- ipfiremake applejuice
ipfiremake libtorrent
ipfiremake rtorrent
ipfiremake ipfireseeder
ipfiremake rsync
ipfiremake tcpwrapper
ipfiremake libevent
+ ipfiremake libevent2
ipfiremake portmap
ipfiremake nfs
ipfiremake nmap
ipfiremake vsftpd
ipfiremake strongswan
ipfiremake lsof
- ipfiremake centerim
ipfiremake br2684ctl
ipfiremake pcmciautils
ipfiremake lm_sensors
ipfiremake liboping
ipfiremake collectd
- ipfiremake lcd4linux
ipfiremake teamspeak
ipfiremake elinks
ipfiremake igmpproxy
ipfiremake fbset
ipfiremake sdl
ipfiremake qemu
- ipfiremake qemu-kqemu
ipfiremake sane
ipfiremake netpbm
ipfiremake phpSANE
ipfiremake nagios
ipfiremake nagios_nrpe
ipfiremake ebtables
- ipfiremake fontconfig
- ipfiremake freefont
ipfiremake directfb
ipfiremake dfb++
ipfiremake faad2
ipfiremake netcat
ipfiremake 7zip
ipfiremake lynis
- ipfiremake splix
ipfiremake streamripper
ipfiremake sshfs
ipfiremake taglib
ipfiremake python-xattr
ipfiremake intltool
ipfiremake pakfire3-deps
+ ipfiremake transmission
+ ipfiremake dpfhack
+ ipfiremake lcd4linux
+ ipfiremake mtr
+ ipfiremake tcpick
+ ipfiremake minidlna
+ ipfiremake acpid
echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild
cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild
echo >> $BASEDIR/build/var/ipfire/firebuild
echo >> $BASEDIR/build/var/ipfire/firebuild
cat /proc/cpuinfo >> $BASEDIR/build/var/ipfire/firebuild
echo $PAKFIRE_CORE > $BASEDIR/build/opt/pakfire/db/core/mine
- if [ "$GIT_BRANCH" = "next" ]; then
- echo "$NAME $VERSION - (Development Build: $GIT_LASTCOMMIT)" > $BASEDIR/build/etc/system-release
+ if [ "$GIT_BRANCH" = "master" -o "$GIT_BRANCH" = "next" ]; then
+ echo "$NAME $VERSION ($MACHINE) - Development Build: $GIT_LASTCOMMIT" > $BASEDIR/build/etc/system-release
else
- echo "$NAME $VERSION - $GIT_BRANCH" > $BASEDIR/build/etc/system-release
+ echo "$NAME $VERSION ($MACHINE) - $GIT_BRANCH" > $BASEDIR/build/etc/system-release
fi
}
ipfiremake mbr
ipfiremake memtest
ipfiremake installer
- cp -f $BASEDIR/doc/COPYING $BASEDIR/build/install/initrd/
installmake strip
ipfiremake initrd
}
# Update changelog
cd $BASEDIR
- $0 git 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
# Create images for install
- ipfiremake cdrom ED=$IPFVER
+ ipfiremake cdrom
# Check if there is a loop device for building in virtual environments
if [ $BUILD_IMAGES == 1 ] && ([ -e /dev/loop/0 ] || [ -e /dev/loop0 ]); then
if [ "${MACHINE_TYPE}" != "arm" ]; then
- ipfiremake usb-stick ED=$IPFVER
+ ipfiremake usb-stick
fi
- ipfiremake flash-images ED=$IPFVER
+ ipfiremake flash-images
fi
mv $LFS/install/images/{*.iso,*.tgz,*.img.gz,*.bz2} $BASEDIR >> $LOGFILE 2>&1
ipfirepackages
# Check if there is a loop device for building in virtual environments
- if [ $BUILD_IMAGES == 1 ] && ([ -e /dev/loop/0 ] || [ -e /dev/loop0 ]); then
+ if [ $BUILD_IMAGES == 1 ] && ([ -e /dev/loop/0 ] || [ -e /dev/loop0 ]) && [ "${MACHINE_TYPE}" != "arm" ]; then
cp -f $BASEDIR/packages/linux-xen-*.ipfire $LFS/install/packages/
cp -f $BASEDIR/packages/meta-linux-xen $LFS/install/packages/
- ipfiremake xen-image ED=$IPFVER
+ ipfiremake xen-image
rm -rf $LFS/install/packages/linux-xen-*.ipfire
rm -rf $LFS/install/packages/meta-linux-xen
fi
ipfirepackages() {
ipfiremake core-updates
- for i in $(ls -1 $BASEDIR/config/rootfiles/packages); do
+
+ local i
+ for i in $(find $BASEDIR/config/rootfiles/packages{${machine},} -maxdepth 1 -type f); do
+ i=$(basename ${i})
if [ -e $BASEDIR/lfs/$i ]; then
ipfiredist $i
else
ERROR=0
for i in *; do
if [ -f "$i" -a "$i" != "Config" ]; then
+ lfsmakecommoncheck ${i} > /dev/null || continue
make -s -f $i LFS_BASEDIR=$BASEDIR MACHINE=$MACHINE \
MESSAGE="$i\t " md5 >> $LOGFILE 2>&1
if [ $? -ne 0 ]; then
echo "`date -u '+%b %e %T'`: Create toolchain tar.gz for $MACHINE" | tee -a $LOGFILE
test -d $BASEDIR/cache/toolchains || mkdir -p $BASEDIR/cache/toolchains
cd $BASEDIR && tar -zc --exclude='log/_build.*.log' -f cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.tar.gz \
- build/{bin,etc,usr/bin,usr/local} \
- build/tools/{bin,etc,*-linux-gnu*,include,lib,libexec,sbin,share,var} \
- log >> $LOGFILE
+ build/tools build/bin/sh log >> $LOGFILE
md5sum cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.tar.gz \
> cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.md5
stdumount
fi
stdumount
;;
-git)
- case "$2" in
- update|up)
- ## REMOVES ALL UNCOMMITTED CHANGES!
- [ "$3" == "--force" ] && git checkout -f
- git pull
- ;;
- commit|ci)
- 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)
- git archive HEAD | gzip -9 > ${SNAME}-${VERSION}.tar.gz
- ;;
- diff|di)
- 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} $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
cd $PWD
exit 0
;;
-batch)
- if [ "$2" = "--background" ]; then
- batch_script
- exit $?
- fi
- if [ `screen -ls | grep -q ipfire` ]; then
- echo "Build is already running, sorry!"
- exit 1
- else
- if [ "$2" = "--rebuild" ]; then
- export IPFIRE_REBUILD=1
- echo "REBUILD!"
- else
- export IPFIRE_REBUILD=0
- fi
- echo -en "${BOLD}***IPFire-Batch-Build is starting...${NORMAL}"
- screen -dmS ipfire $0 batch --background
- evaluate 1
- exit 0
- fi
- ;;
-watch)
- watch_screen
- ;;
-pxe)
- case "$2" in
- start)
- start_tftpd
- ;;
- stop)
- stop_tftpd
- ;;
- reload|restart)
- reload_tftpd
- ;;
- esac
- exit 0
- ;;
lang)
update_langs
;;
-"")
- clear
- 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")
- $0 downloadsrc
- ;;
- "IPFIRE: Build (silent)")
- $0 build-silent
- ;;
- "IPFIRE: Watch Build")
- $0 watch
- ;;
- "IPFIRE: Batch")
- $0 batch
- ;;
- "IPFIRE: Clean")
- $0 clean
- ;;
- "Help")
- echo "Usage: $0 {build|changelog|clean|gettoolchain|downloadsrc|shell|sync|toolchain}"
- cat doc/make.sh-usage
- ;;
- "LOG: Tail")
- tail -f log/_*
- ;;
- "Exit")
- break
- ;;
- esac
- done
- ;;
-config)
- make_config
- ;;
*)
echo "Usage: $0 {build|changelog|clean|gettoolchain|downloadsrc|shell|sync|toolchain}"
cat doc/make.sh-usage