###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2011 IPFire Team <info@ipfire.org> #
+# Copyright (C) 2007-2016 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
fi
case "${target_arch}" in
+ x86_64)
+ BUILDTARGET="${target_arch}-unknown-linux-gnu"
+ CROSSTARGET="${target_arch}-cross-linux-gnu"
+ CFLAGS_ARCH="-m64 -mtune=generic"
+ ;;
+
i586)
BUILDTARGET="${target_arch}-pc-linux-gnu"
- CROSSTARGET="${BUILD_ARCH}-cross-linux-gnu"
- CFLAGS_ARCH="-march=i586 -fomit-frame-pointer"
+ CROSSTARGET="${target_arch}-cross-linux-gnu"
+ CFLAGS_ARCH="-march=i586 -mtune=generic -fomit-frame-pointer"
;;
armv5tel)
BUILDTARGET="${target_arch}-unknown-linux-gnueabi"
- CROSSTARGET="${BUILD_ARCH}-cross-linux-gnueabi"
+ CROSSTARGET="${target_arch}-cross-linux-gnueabi"
CFLAGS_ARCH="-march=armv5te -mfloat-abi=soft -fomit-frame-pointer"
MACHINE_TYPE="arm"
;;
MACHINE="${TARGET_ARCH}"
CFLAGS="-O2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fPIC"
- CFLAGS="${CFLAGS} -fstack-protector-all --param=ssp-buffer-size=4 ${CFLAGS_ARCH}"
+ CFLAGS="${CFLAGS} -fstack-protector-strong --param=ssp-buffer-size=4 ${CFLAGS_ARCH}"
CXXFLAGS="${CFLAGS}"
}
x86_64|i686|i586)
echo "i586"
;;
- armv7*|armv6*|armv5*)
+ aarch64|armv7*|armv6*|armv5*)
echo "armv5tel"
;;
*)
losetup -d /dev/loop${i} 2>/dev/null
fi;
done
+
+ if [ -n "${LOGFILE}" ]; then
+ echo # empty line
+
+ local line
+ while read -r line; do
+ echo " ${line}"
+ done <<< "$(tail -n30 ${LOGFILE})"
+ fi
+
echo -e "\nERROR: $*"
echo " Check $LOGFILE for errors if applicable"
exit 1
fi
case "${BUILD_ARCH},${target_arch}" in
- x86_64,arm*|i?86,arm*)
+ x86_64,arm*|i?86,arm*|i?86,x86_64)
return 0
;;
*)
return 0
fi
+ if [ ! -e /proc/sys/fs/binfmt_misc/status ]; then
+ exiterror "binfmt_misc not mounted. QEMU_TARGET_HELPER not useable."
+ fi
+
+ if [ ! $(cat /proc/sys/fs/binfmt_misc/status) = 'enabled' ]; then
+ exiterror "binfmt_misc not enabled. QEMU_TARGET_HELPER not useable."
+ fi
+
+
if [ -z "${QEMU_TARGET_HELPER}" ]; then
exiterror "QEMU_TARGET_HELPER not set"
fi
arm*)
magic="7f454c4601010100000000000000000002002800"
;;
+ x86_64)
+ magic="7f454c4602010100000000000000000002003e00"
+ ;;
esac
[ -z "${magic}" ] && return 1
local file
for file in /proc/sys/fs/binfmt_misc/*; do
+ # skip write only register entry
+ [ $(basename "${file}") = "register" ] && continue
# Search for the file with the correct magic value.
grep -qE "^magic ${magic}$" "${file}" || continue
NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
CCACHE_DIR=/usr/src/ccache \
- CCACHE_COMPRESS=1 \
- CCACHE_COMPILERCHECK="none" \
+ CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
+ CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
KVER=$KVER \
BUILDTARGET="$BUILDTARGET" \
CROSSTARGET="${CROSSTARGET}" \
local PKG_TIME_START=`date +%s`
- cd $BASEDIR/lfs && make -f $* BUILDTARGET=$BUILDTARGET \
+ cd $BASEDIR/lfs && \
+ PATH="/tools/ccache/bin:/tools/bin:$PATH" \
+ make -f $* TOOLCHAIN=1 BUILDTARGET=$BUILDTARGET \
CROSSTARGET="${CROSSTARGET}" \
MACHINE=$MACHINE \
MACHINE_TYPE=$MACHINE_TYPE \
CONFIG_ROOT=$CONFIG_ROOT \
NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
- CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 \
- CCACHE_COMPILERCHECK="none" \
+ CCACHE_DIR=/usr/src/ccache \
+ CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
+ CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
KVER=$KVER MAKETUNING=$MAKETUNING \
BUILDTARGET="$BUILDTARGET" \
CROSSTARGET="${CROSSTARGET}" \
NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
SYSTEM_RELEASE="$SYSTEM_RELEASE" \
CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
- CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 \
- CCACHE_COMPILERCHECK="none" \
+ CCACHE_DIR=/usr/src/ccache \
+ CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
+ CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
KVER=$KVER MAKETUNING=$MAKETUNING \
BUILDTARGET="$BUILDTARGET" \
CROSSTARGET="${CROSSTARGET}" \
CONFIG_ROOT=$CONFIG_ROOT \
NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
- CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 \
- CCACHE_COMPILERCHECK="none" \
+ CCACHE_DIR=/usr/src/ccache \
+ CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
+ CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
KVER=$KVER \
BUILDTARGET="$BUILDTARGET" \
CROSSTARGET="${CROSSTARGET}" \
$BASEDIR/tools/sort_strings.pl ru
$BASEDIR/tools/sort_strings.pl nl
$BASEDIR/tools/sort_strings.pl tr
+ $BASEDIR/tools/sort_strings.pl it
$BASEDIR/tools/check_strings.pl en > $BASEDIR/doc/language_issues.en
$BASEDIR/tools/check_strings.pl de > $BASEDIR/doc/language_issues.de
$BASEDIR/tools/check_strings.pl fr > $BASEDIR/doc/language_issues.fr
$BASEDIR/tools/check_strings.pl ru > $BASEDIR/doc/language_issues.ru
$BASEDIR/tools/check_strings.pl nl > $BASEDIR/doc/language_issues.nl
$BASEDIR/tools/check_strings.pl tr > $BASEDIR/doc/language_issues.tr
+ $BASEDIR/tools/check_strings.pl it > $BASEDIR/doc/language_issues.it
$BASEDIR/tools/check_langs.sh > $BASEDIR/doc/language_missings
beautify message DONE
+
+ echo -ne "Updating language lists..."
+ update_language_list ${BASEDIR}/src/installer/po
+ update_language_list ${BASEDIR}/src/setup/po
+ beautify message DONE
+}
+
+update_language_list() {
+ local path="${1}"
+
+ local lang
+ for lang in ${path}/*.po; do
+ lang="$(basename "${lang}")"
+ echo "${lang%*.po}"
+ done | sort -u > "${path}/LINGUAS"
}