# 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-2021 IPFire Team <info@ipfire.org>. #
+# Copyright (C) 2007-2022 IPFire Team <info@ipfire.org>. #
# #
############################################################################
#
SNAME="ipfire" # Short name
# If you update the version don't forget to update backupiso and add it to core update
VERSION="2.27" # Version number
-CORE="164" # Core Level (Filename)
+CORE="165" # Core Level (Filename)
SLOGAN="www.ipfire.org" # Software slogan
CONFIG_ROOT=/var/ipfire # Configuration rootdir
MAX_RETRIES=1 # prefetch/check loop
GIT_TAG="$(git tag | tail -1)" # Git Tag
GIT_LASTCOMMIT="$(git rev-parse --verify HEAD)" # Last commit
-TOOLCHAINVER=20210701
+TOOLCHAINVER=20220203
# use multicore and max compression
ZSTD_OPT="-T0 --ultra -22"
case "${build_arch}" in
x86_64)
- BUILDTARGET="${build_arch}-unknown-linux-gnu"
+ BUILDTARGET="${build_arch}-pc-linux-gnu"
CROSSTARGET="${build_arch}-cross-linux-gnu"
BUILD_PLATFORM="x86"
CFLAGS_ARCH="-m64 -mtune=generic -fstack-clash-protection -fcf-protection"
;;
aarch64)
- BUILDTARGET="${build_arch}-unknown-linux-gnu"
+ BUILDTARGET="${build_arch}-pc-linux-gnu"
CROSSTARGET="${build_arch}-cross-linux-gnu"
BUILD_PLATFORM="arm"
CFLAGS_ARCH="-fstack-clash-protection"
;;
armv7hl)
- BUILDTARGET="${build_arch}-unknown-linux-gnueabi"
+ BUILDTARGET="${build_arch}-pc-linux-gnueabi"
CROSSTARGET="${build_arch}-cross-linux-gnueabi"
BUILD_PLATFORM="arm"
CFLAGS_ARCH="-march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard"
;;
armv6l)
- BUILDTARGET="${build_arch}-unknown-linux-gnueabi"
+ BUILDTARGET="${build_arch}-pc-linux-gnueabi"
CROSSTARGET="${build_arch}-cross-linux-gnueabi"
BUILD_PLATFORM="arm"
CFLAGS_ARCH="-march=armv6zk+fp -mfpu=vfp -mfloat-abi=softfp -fomit-frame-pointer"
;;
riscv64)
- BUILDTARGET="${build_arch}-unknown-linux-gnu"
+ BUILDTARGET="${build_arch}-pc-linux-gnu"
CROSSTARGET="${build_arch}-cross-linux-gnu"
BUILD_PLATFORM="riscv"
CFLAGS_ARCH="-fstack-clash-protection"
fi
# Trap on emergency exit
- trap "exiterror 'Build process interrupted'" SIGINT SIGTERM SIGKILL SIGSTOP SIGQUIT
+ trap "exiterror 'Build process interrupted'" SIGINT SIGTERM SIGQUIT
# Checking if running as root user
if [ $(id -u) -ne 0 ]; then
# Install QEMU helper, if needed
qemu_install_helper
- local PATH="${TOOLS_DIR}/ccache/bin:/bin:/usr/bin:/sbin:/usr/sbin:${TOOLS_DIR}/bin"
+ local PATH="${TOOLS_DIR}/ccache/bin:/bin:/usr/bin:/sbin:/usr/sbin:${TOOLS_DIR}/sbin:${TOOLS_DIR}/bin"
+
+ # Prepend any custom changes to PATH
+ if [ -n "${CUSTOM_PATH}" ]; then
+ PATH="${CUSTOM_PATH}:${PATH}"
+ fi
PATH="${PATH}" chroot ${LFS} env -i \
HOME="/root" \
lfsmakecommoncheck $*
[ $? == 1 ] && return 0
+ # Set PATH to use the toolchain tools first and then whatever the host has set
+ local PATH="${TOOLS_DIR}/ccache/bin:${TOOLS_DIR}/sbin:${TOOLS_DIR}/bin:${PATH}"
+
+ if [ -n "${CUSTOM_PATH}" ]; then
+ PATH="${CUSTOM_PATH}:${PATH}"
+ fi
+
cd $BASEDIR/lfs && env -i \
- PATH="${TOOLS_DIR}/ccache/bin:${TOOLS_DIR}/bin:$PATH" \
+ PATH="${PATH}" \
CCACHE_DIR="${CCACHE_DIR}"/${BUILD_ARCH}/${TOOLCHAINVER} \
CCACHE_TEMPDIR="${CCACHE_TEMPDIR}" \
CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
local PS1='\u:\w$ '
enterchroot \
- ${EXTRA_PATH}bash -x -c "cd /usr/src/lfs && \
+ bash -x -c "cd /usr/src/lfs && \
make -f $* \
LFS_BASEDIR=/usr/src install" \
>> ${LOGFILE} 2>&1 &
lfsmake1 libxcrypt
lfsmake1 gcc PASS=L
lfsmake1 zlib
- lfsmake1 zstd
lfsmake1 binutils PASS=2
lfsmake1 gcc PASS=2
+ lfsmake1 zstd
lfsmake1 ccache
lfsmake1 tcl
lfsmake1 expect
lfsmake1 bison
lfsmake1 flex
lfsmake1 fake-environ
- lfsmake1 strip
+ CUSTOM_PATH="${PATH}" lfsmake1 strip
lfsmake1 cleanup-toolchain
}
lfsmake2 configroot
lfsmake2 initscripts
lfsmake2 backup
+ lfsmake2 rust
lfsmake2 openssl
lfsmake2 kmod
lfsmake2 udev
lfsmake2 rtl8812au KCFG=""
lfsmake2 rtl8822bu KCFG=""
lfsmake2 xradio KCFG=""
- lfsmake2 xtables-addons KCFG=""
lfsmake2 linux-initrd KCFG=""
- lfsmake2 xtables-addons USPACE="1"
lfsmake2 libgpg-error
lfsmake2 libgcrypt
lfsmake2 libassuan
lfsmake2 rust-block-buffer
lfsmake2 rust-crypto-common
lfsmake2 rust-digest
+ lfsmake2 rust-ppv-lite86
+ lfsmake2 rust-rand_core
+ lfsmake2 rust-rand_core-0.4.2
+ lfsmake2 rust-rand_core-0.3.1
+ lfsmake2 rust-rand_chacha
+ lfsmake2 rust-rand_hc
+ lfsmake2 rust-rand
+ lfsmake2 rust-rdrand
+ lfsmake2 rust-rand-0.4
+ lfsmake2 rust-log
+ lfsmake2 rust-num_cpus
+ lfsmake2 rust-crossbeam-utils
+ lfsmake2 rust-autocfg
+ lfsmake2 rust-memoffset
+ lfsmake2 rust-scopeguard
+ lfsmake2 rust-crossbeam-epoch
+ lfsmake2 rust-crossbeam-deque
+ lfsmake2 rust-either
+ lfsmake2 rust-crossbeam-channel
+ lfsmake2 rust-rayon-core
+ lfsmake2 rust-rayon
+ lfsmake2 rust-remove_dir_all
+ lfsmake2 rust-tempdir
+ lfsmake2 rust-glob
+ lfsmake2 rust-once_cell
+ lfsmake2 rust-termcolor
+ lfsmake2 rust-toml
+ lfsmake2 rust-serde_derive
+ lfsmake2 rust-trybuild
+ lfsmake2 rust-unindent
+ lfsmake2 rust-proc-macro-hack
+ lfsmake2 rust-indoc-impl
+ lfsmake2 rust-indoc
+ lfsmake2 rust-instant
+ lfsmake2 rust-lock_api
+ lfsmake2 rust-smallvec
+ lfsmake2 rust-parking_lot_core
+ lfsmake2 rust-parking_lot
+ lfsmake2 rust-paste-impl
+ lfsmake2 rust-paste
+ lfsmake2 rust-ctor
+ lfsmake2 rust-ghost
+ lfsmake2 rust-inventory-impl
+ lfsmake2 rust-inventory
+ lfsmake2 rust-pyo3-build-config
+ lfsmake2 rust-pyo3-macros-backend
+ lfsmake2 rust-pyo3-macros
+ lfsmake2 rust-pyo3
lfsmake2 gdb
lfsmake2 grub
lfsmake2 efivar
lfsmake2 usbutils
lfsmake2 libxml2
lfsmake2 libxslt
- lfsmake2 BerkeleyDB
+ lfsmake2 perl-BerkeleyDB
lfsmake2 cyrus-sasl
lfsmake2 openldap
lfsmake2 apache2
lfsmake2 ntfs-3g
lfsmake2 ethtool
lfsmake2 fcron
- lfsmake2 ExtUtils-PkgConfig
+ lfsmake2 perl-ExtUtils-PkgConfig
lfsmake2 perl-GD
- lfsmake2 GD-Graph
- lfsmake2 GD-TextUtil
+ lfsmake2 perl-GD-Graph
+ lfsmake2 perl-GD-TextUtil
lfsmake2 perl-Device-SerialPort
lfsmake2 perl-Device-Modem
lfsmake2 perl-Apache-Htpasswd
lfsmake2 perl-Parse-Yapp
lfsmake2 perl-Data-UUID
+ lfsmake2 perl-Try-Tiny
+ lfsmake2 perl-HTTP-Message
+ lfsmake2 perl-HTTP-Date
lfsmake2 gnupg
lfsmake2 hdparm
lfsmake2 sdparm
lfsmake2 logwatch
lfsmake2 misc-progs
lfsmake2 nano
- lfsmake2 URI
+ lfsmake2 perl-URI
lfsmake2 perl-CGI
lfsmake2 perl-Switch
- lfsmake2 HTML-Tagset
- lfsmake2 HTML-Parser
- lfsmake2 HTML-Template
- lfsmake2 Compress-Zlib
- lfsmake2 Digest
- lfsmake2 Digest-SHA1
- lfsmake2 Digest-HMAC
- lfsmake2 libwww-perl
- lfsmake2 Net-DNS
- lfsmake2 Net-IPv4Addr
- lfsmake2 Net_SSLeay
- lfsmake2 IO-Stringy
- lfsmake2 IO-Socket-SSL
- lfsmake2 Unix-Syslog
- lfsmake2 Mail-Tools
- lfsmake2 MIME-Tools
- lfsmake2 Net-Server
- lfsmake2 Canary-Stability
- lfsmake2 Convert-TNEF
- lfsmake2 Convert-UUlib
- lfsmake2 Archive-Tar
- lfsmake2 Archive-Zip
- lfsmake2 Text-Tabs+Wrap
- lfsmake2 XML-Parser
- lfsmake2 Crypt-PasswdMD5
- lfsmake2 Net-Telnet
+ lfsmake2 perl-HTML-Tagset
+ lfsmake2 perl-HTML-Parser
+ lfsmake2 perl-HTML-Template
+ lfsmake2 perl-Compress-Zlib
+ lfsmake2 perl-Digest
+ lfsmake2 perl-Digest-SHA1
+ lfsmake2 perl-Digest-HMAC
+ lfsmake2 perl-libwww
+ lfsmake2 perl-LWP-Protocol-https
+ lfsmake2 perl-Net-HTTP
+ lfsmake2 perl-Net-DNS
+ lfsmake2 perl-Net-IPv4Addr
+ lfsmake2 perl-Net_SSLeay
+ lfsmake2 perl-IO-Stringy
+ lfsmake2 perl-IO-Socket-SSL
+ lfsmake2 perl-Unix-Syslog
+ lfsmake2 perl-Mail-Tools
+ lfsmake2 perl-MIME-Tools
+ lfsmake2 perl-Net-Server
+ lfsmake2 perl-Canary-Stability
+ lfsmake2 perl-Convert-TNEF
+ lfsmake2 perl-Convert-UUlib
+ lfsmake2 perl-Archive-Tar
+ lfsmake2 perl-Archive-Zip
+ lfsmake2 perl-Text-Tabs+Wrap
+ lfsmake2 perl-XML-Parser
+ lfsmake2 perl-Crypt-PasswdMD5
+ lfsmake2 perl-Net-Telnet
lfsmake2 python3-setuptools
lfsmake2 python3-inotify
lfsmake2 python3-docutils
lfsmake2 rsync
lfsmake2 rpcbind
lfsmake2 keyutils
- lfsmake2 libnfsidmap
lfsmake2 nfs
lfsmake2 gnu-netcat
lfsmake2 ncat
lfsmake2 wireless-regdb
lfsmake2 libsolv
lfsmake2 ddns
+ lfsmake2 python3-toml
+ lfsmake2 python3-pyproject2setuppy
+ lfsmake2 python3-tomli
+ lfsmake2 python3-typing-extensions
lfsmake2 python3-setuptools-scm
+ lfsmake2 python3-setuptools-rust
+ lfsmake2 python3-packaging
lfsmake2 python3-six
lfsmake2 python3-dateutil
lfsmake2 python3-jmespath
lfsmake2 python3-pyasn1
lfsmake2 python3-urllib3
lfsmake2 python3-botocore
- lfsmake2 python3-msgpack
lfsmake2 aws-cli
+ lfsmake2 oci-python-sdk
+ lfsmake2 oci-cli
lfsmake2 transmission
lfsmake2 mtr
lfsmake2 minidlna
lfsmake2 perl-Font-TTF
lfsmake2 perl-IO-String
lfsmake2 perl-PDF-API2
- lfsmake2 squid-accounting
+ lfsmake2 proxy-accounting
lfsmake2 pigz
lfsmake2 tmux
lfsmake2 perl-Text-CSV_XS
lfsmake2 pmacct
lfsmake2 squid-asnbl
lfsmake2 qemu-ga
+ lfsmake2 gptfdisk
}
buildinstaller() {
lfsmake2 memtest
lfsmake2 installer
# use toolchain bash for chroot to strip
- EXTRA_PATH=${TOOLS_DIR}/bin/ lfsmake2 strip
+ CUSTOM_PATH="${TOOLS_DIR}/bin" lfsmake2 strip
}
buildpackages() {
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
rm -f $BASEDIR/doc/packages-list
# packages-list.txt is ready to be displayed for wiki page
print_status DONE
-
+
# Update changelog
cd $BASEDIR
[ -z $GIT_TAG ] || LAST_TAG=$GIT_TAG
done
# See what we're supposed to do
-case "$1" in
+case "$1" in
build)
START_TIME=$(now)
print_build_stage "Building packages"
buildpackages
-
+
print_build_stage "Checking Logfiles for new Files"
cd $BASEDIR
FINISHED=0
cd $BASEDIR/lfs
for c in `seq $MAX_RETRIES`; do
- if (( FINISHED==1 )); then
+ if (( FINISHED==1 )); then
break
fi
FINISHED=1
;;
check-manualpages)
echo "Checking the manual pages for broken links..."
-
+
chmod 755 $BASEDIR/tools/check_manualpages.pl
if $BASEDIR/tools/check_manualpages.pl; then
print_status DONE
cat doc/make.sh-usage
;;
esac
-