###############################################################################
# Cleanup environment from any variables
-unexport BUILD_ARCH BUILD_PLATFORM BUILDTARGET CROSSTARGET TOOLCHAIN
-unexport TOOLS_DIR LOG_DIR
+unexport BUILD_ARCH BUILD_PLATFORM BUILDTARGET CROSSTARGET TOOLCHAIN TOOLS_DIR
ifeq "$(BUILD_ARCH)" "aarch64"
IS_64BIT = 1
DIR_DL = $(LFS_BASEDIR)/cache
DIR_CHK = $(LFS_BASEDIR)/cache/check
DIR_CONF = $(LFS_BASEDIR)/config
-DIR_INFO = $(LFS_BASEDIR)/$(LOG_DIR)
+DIR_INFO = $(LFS_BASEDIR)/log
DIR_TMP = /tmp
# Add the compiler location and version and specs to the ccache hash
###############################################################################
# For each package we create a list of files that it installed under
-# $(LOG_DIR/)<TARGET> name. Modified files are not identified
+# log/<TARGET> name. Modified files are not identified
#
define FIND_FILES
cd $(ROOT)/ && find -mount \
# 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
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