###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2022 IPFire Team <info@ipfire.org> #
+# Copyright (C) 2007-2023 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 #
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="173" # Core Level (Filename)
+CORE="177" # 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=20220808
+TOOLCHAINVER=20230620
# use multicore and max compression
ZSTD_OPT="-T0 --ultra -22"
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"
+ CFLAGS_ARCH="-m64 -mtune=generic -fcf-protection"
;;
aarch64)
BUILDTARGET="${build_arch}-pc-linux-gnu"
CROSSTARGET="${build_arch}-cross-linux-gnu"
BUILD_PLATFORM="arm"
- CFLAGS_ARCH="-fstack-clash-protection"
- ;;
-
- armv7hl)
- 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}-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"
+ CFLAGS_ARCH=""
;;
riscv64)
BUILDTARGET="${build_arch}-pc-linux-gnu"
CROSSTARGET="${build_arch}-cross-linux-gnu"
BUILD_PLATFORM="riscv"
- CFLAGS_ARCH="-fstack-clash-protection"
+ CFLAGS_ARCH=""
;;
*)
TOOLS_DIR="/tools_${BUILD_ARCH}"
# Enables hardening
- HARDENING_CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong"
+ HARDENING_CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection"
CFLAGS="-O2 -pipe -Wall -fexceptions -fPIC ${CFLAGS_ARCH}"
CXXFLAGS="${CFLAGS}"
# We allow XZ to use up to 70% of all system memory.
local xz_memory=$(( SYSTEM_MEMORY * 7 / 10 ))
- # XZ memory cannot be larger than 2GB on 32 bit systems
- case "${build_arch}" in
- armv*)
- if [ ${xz_memory} -gt 2048 ]; then
- xz_memory=2048
- fi
- ;;
- esac
-
XZ_OPT="${XZ_OPT} --memory=${xz_memory}MiB"
}
echo "aarch64"
;;
- armv7*|armv6*)
- echo "armv6l"
- ;;
-
riscv64)
echo "riscv64"
;;
lfsmake2 tzdata
lfsmake2 cleanup-toolchain
lfsmake2 zlib
+ [ "${BUILD_ARCH}" = "riscv64" ] && lfsmake2 gcc PASS=A
lfsmake2 zstd
lfsmake2 autoconf
lfsmake2 automake
lfsmake2 pptp
lfsmake2 unzip
lfsmake2 which
+ lfsmake2 git
lfsmake2 linux-firmware
lfsmake2 dvb-firmwares
- lfsmake2 xr819-firmware
lfsmake2 zd1211-firmware
lfsmake2 rpi-firmware
lfsmake2 intel-microcode
lfsmake2 rtl8812au KCFG=""
lfsmake2 rtl8822bu KCFG=""
lfsmake2 rtl8821cu KCFG=""
- lfsmake2 xradio KCFG=""
lfsmake2 linux-initrd KCFG=""
lfsmake2 expat
lfsmake2 perl-Authen-SASL
lfsmake2 perl-MIME-Lite
lfsmake2 perl-Email-Date-Format
- lfsmake2 git
- lfsmake2 squidclamav
lfsmake2 vnstat
lfsmake2 iw
lfsmake2 wpa_supplicant
lfsmake2 zerofree
lfsmake2 minicom
lfsmake2 ddrescue
- lfsmake2 powertop
lfsmake2 parted
lfsmake2 swig
lfsmake2 dtc
lfsmake2 u-boot
- lfsmake2 u-boot-friendlyarm
lfsmake2 wireless-regdb
lfsmake2 ddns
lfsmake2 python3-pycparser
lfsmake2 python3-terminaltables
lfsmake2 python3-pkgconfig
lfsmake2 python3-msgpack
- lfsmake2 python3-attr
lfsmake2 python3-attrs
lfsmake2 python3-sniffio
lfsmake2 python3-sortedcontainers
lfsmake2 python3-outcome
lfsmake2 python3-async_generator
+ lfsmake2 python3-flit_scm
+ lfsmake2 python3-exceptiongroup
lfsmake2 python3-trio
lfsmake2 python3-pyfuse3
lfsmake2 aws-cli
lfsmake2 perl-Imager-QRCode
lfsmake2 perl-MIME-Base32
lfsmake2 perl-URI-Encode
+ lfsmake2 rsnapshot
}
buildinstaller() {
cd $BASEDIR
- # remove not useable iso on armv6l (needed to build flash images)
- [ "${BUILD_ARCH}" = "armv6l" ] && rm -rf *.iso
-
for i in $(ls *.bz2 *.img.xz *.iso 2>/dev/null); do
b2sum $i > $i.b2
done