NAME="IPFire" # Software name
SNAME="ipfire" # Short name
VERSION="2.21" # Version number
-CORE="125" # Core Level (Filename)
-PAKFIRE_CORE="124" # Core Level (PAKFIRE)
+CORE="126" # Core Level (Filename)
+PAKFIRE_CORE="125" # Core Level (PAKFIRE)
GIT_BRANCH=`git rev-parse --abbrev-ref HEAD` # 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=20181024
+TOOLCHAINVER=20181030
###############################################################################
#
# This is the directory where make.sh is in
export BASEDIR=$(echo $FULLPATH | sed "s/\/$BASENAME//g")
+LOGFILE=$BASEDIR/log/_build.preparation.log
+export LOGFILE
DIR_CHK=$BASEDIR/cache/check
+mkdir $BASEDIR/log/ 2>/dev/null
system_processors() {
getconf _NPROCESSORS_ONLN 2>/dev/null || echo "1"
BUILD_ARCH="${build_arch}"
TOOLS_DIR="/tools_${BUILD_ARCH}"
- LOG_DIR="log_${BUILD_ARCH}"
# Enables hardening
HARDENING_CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong"
umount $BASEDIR/build/usr/src/html 2>/dev/null;
umount $BASEDIR/build/usr/src/langs 2>/dev/null;
umount $BASEDIR/build/usr/src/lfs 2>/dev/null;
- umount $BASEDIR/build/usr/src/${LOG_DIR} 2>/dev/null;
+ umount $BASEDIR/build/usr/src/log 2>/dev/null;
umount $BASEDIR/build/usr/src/src 2>/dev/null;
}
}
prepareenv() {
- # Create log directory if it doesn't exist, yet
- mkdir -p "${BASEDIR}/${LOG_DIR}"
-
# Are we running the right shell?
if [ -z "${BASH}" ]; then
exiterror "BASH environment variable is not set. You're probably running the wrong shell."
mkdir -p $BASEDIR/build/{etc,usr/src} 2>/dev/null
mkdir -p $BASEDIR/build/{dev/{shm,pts},proc,sys}
mkdir -p $BASEDIR/{cache,ccache} 2>/dev/null
- mkdir -p $BASEDIR/build/usr/src/{cache,config,doc,html,langs,lfs,${LOG_DIR},src,ccache}
+ mkdir -p $BASEDIR/build/usr/src/{cache,config,doc,html,langs,lfs,log,src,ccache}
mknod -m 600 $BASEDIR/build/dev/console c 5 1 2>/dev/null
mknod -m 666 $BASEDIR/build/dev/null c 1 3 2>/dev/null
mount --bind $BASEDIR/html $BASEDIR/build/usr/src/html
mount --bind $BASEDIR/langs $BASEDIR/build/usr/src/langs
mount --bind $BASEDIR/lfs $BASEDIR/build/usr/src/lfs
- mount --bind $BASEDIR/${LOG_DIR} $BASEDIR/build/usr/src/${LOG_DIR}
+ mount --bind $BASEDIR/log $BASEDIR/build/usr/src/log
mount --bind $BASEDIR/src $BASEDIR/build/usr/src/src
# Run LFS static binary creation scripts one by one
CORE="${CORE}" \
SLOGAN="${SLOGAN}" \
TOOLS_DIR="${TOOLS_DIR}" \
- LOG_DIR="${LOG_DIR}" \
CONFIG_ROOT="${CONFIG_ROOT}" \
CFLAGS="${CFLAGS} ${HARDENING_CFLAGS}" \
CXXFLAGS="${CXXFLAGS} ${HARDENING_CFLAGS}" \
exiterror "Could not create ${TOOLS_DIR} symbolic link"
fi
- LOGFILE="$BASEDIR/${LOG_DIR}/_build.toolchain.log"
+ LOGFILE="$BASEDIR/log/_build.toolchain.log"
export LOGFILE
lfsmake1 stage1
}
buildbase() {
- LOGFILE="$BASEDIR/${LOG_DIR}/_build.base.log"
+ LOGFILE="$BASEDIR/log/_build.base.log"
export LOGFILE
lfsmake2 stage2
lfsmake2 linux KCFG="-headers"
}
buildipfire() {
- LOGFILE="$BASEDIR/${LOG_DIR}/_build.ipfire.log"
+ LOGFILE="$BASEDIR/log/_build.ipfire.log"
export LOGFILE
lfsmake2 configroot
lfsmake2 initscripts
lfsmake2 libgcrypt
lfsmake2 libassuan
lfsmake2 nettle
+ lfsmake2 json-c
+ lfsmake2 libconfig
lfsmake2 libevent
lfsmake2 libevent2
lfsmake2 expat
lfsmake2 flac
lfsmake2 lame
lfsmake2 sox
+ lfsmake2 soxr
lfsmake2 libshout
lfsmake2 xvid
lfsmake2 libmpeg2
lfsmake2 nagios_nrpe
lfsmake2 nagios-plugins
lfsmake2 icinga
+ lfsmake2 observium-agent
lfsmake2 ebtables
lfsmake2 directfb
lfsmake2 faad2
+ lfsmake2 alac
lfsmake2 ffmpeg
lfsmake2 vdr
lfsmake2 vdr_streamdev
lfsmake2 lua
lfsmake2 dnsdist
lfsmake2 bird
+ lfsmake2 frr
lfsmake2 dmidecode
lfsmake2 mcelog
lfsmake2 rtpproxy
lfsmake2 mdns-repeater
lfsmake2 i2c-tools
lfsmake2 nss-myhostname
+ lfsmake2 dehydrated
+ lfsmake2 shairport-sync
}
buildinstaller() {
# Run installer scripts one by one
- LOGFILE="$BASEDIR/${LOG_DIR}/_build.installer.log"
+ LOGFILE="$BASEDIR/log/_build.installer.log"
export LOGFILE
lfsmake2 memtest
lfsmake2 installer
}
buildpackages() {
- LOGFILE="$BASEDIR/${LOG_DIR}/_build.packages.log"
+ LOGFILE="$BASEDIR/log/_build.packages.log"
export LOGFILE
echo "... see detailed log in _build.*.log files" >> $LOGFILE
# Generating list of packages used
print_line "Generating packages list from logs"
rm -f $BASEDIR/doc/packages-list
- for i in `ls -1tr $BASEDIR/${LOG_DIR}/[^_]*`; do
- if [ "$i" != "$BASEDIR/${LOG_DIR}/FILES" -a -n $i ]; then
+ for i in `ls -1tr $BASEDIR/log/[^_]*`; do
+ if [ "$i" != "$BASEDIR/log/FILES" -a -n $i ]; then
echo "* `basename $i`" >>$BASEDIR/doc/packages-list
fi
done
rm -rf $BASEDIR/build
rm -rf $BASEDIR/cdrom
rm -rf $BASEDIR/packages
- rm -rf $BASEDIR/${LOG_DIR}
+ rm -rf $BASEDIR/log
if [ -h "${TOOLS_DIR}" ]; then
rm -f "${TOOLS_DIR}"
fi
if [ ! -d $BASEDIR/cache ]; then
mkdir $BASEDIR/cache
fi
- mkdir -p $BASEDIR/${LOG_DIR}
+ mkdir -p $BASEDIR/log
echo -e "${BOLD}Preload all source files${NORMAL}" | tee -a $LOGFILE
FINISHED=0
cd $BASEDIR/lfs
buildtoolchain
echo "`date -u '+%b %e %T'`: Create toolchain image for ${BUILD_ARCH}" | tee -a $LOGFILE
test -d $BASEDIR/cache/toolchains || mkdir -p $BASEDIR/cache/toolchains
- cd $BASEDIR && tar -cf- --exclude='${LOG_DIR}/_build.*.log' build/${TOOLS_DIR} build/bin/sh ${LOG_DIR} | xz ${XZ_OPT} \
+ cd $BASEDIR && tar -cf- --exclude='log/_build.*.log' build/${TOOLS_DIR} build/bin/sh log | xz ${XZ_OPT} \
> cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-${BUILD_ARCH}.tar.xz
md5sum cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-${BUILD_ARCH}.tar.xz \
> cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-${BUILD_ARCH}.md5