SNAME="ipfire" # Short name
VERSION="2.11" # Version number
CORE="53" # Core Level (Filename)
-PAKFIRE_CORE="52" # Core Level (PAKFIRE)
+PAKFIRE_CORE="53" # 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
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)
BUILDMACHINE=$MACHINE
if [ "$MACHINE" = "x86_64" ]; then
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
fi
lfsmake2 man-pages
lfsmake2 glibc
+ lfsmake2 tzdata
lfsmake2 cleanup-toolchain PASS=3
lfsmake2 binutils
lfsmake2 gcc
ipfiremake kqemu
ipfiremake kvm-kmod
ipfiremake madwifi
- if [ "${MACHINE_TYPE}" = "arm" ]; then
+ if [ "${MACHINE_TYPE}" != "arm" ]; then
#todo enable alsa driver in kernel config
ipfiremake alsa KMOD=1
fi
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
+ 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
}
# 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
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