X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=make.sh;h=d5d194cc8f99f015efde6ba8c5bbff25d720d122;hb=bde13ed56b1226e2cc39179c495ca06b5161670d;hp=4205fe0653a9a7d43649e0e89aad975ca0b16263;hpb=3aeadfd8bda88ca123cb0bfffc3c6d55c0fb3fdc;p=ipfire-2.x.git diff --git a/make.sh b/make.sh index 4205fe0653..d5d194cc8f 100755 --- a/make.sh +++ b/make.sh @@ -2,7 +2,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2022 IPFire Team # +# Copyright (C) 2007-2023 IPFire Team # # # # 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 # @@ -23,7 +23,7 @@ NAME="IPFire" # Software name 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="169" # Core Level (Filename) +CORE="182" # Core Level (Filename) SLOGAN="www.ipfire.org" # Software slogan CONFIG_ROOT=/var/ipfire # Configuration rootdir MAX_RETRIES=1 # prefetch/check loop @@ -35,7 +35,7 @@ GIT_BRANCH="$(git rev-parse --abbrev-ref HEAD)" # Git Branch GIT_TAG="$(git tag | tail -1)" # Git Tag GIT_LASTCOMMIT="$(git rev-parse --verify HEAD)" # Last commit -TOOLCHAINVER=20220508 +TOOLCHAINVER=20230731 # use multicore and max compression ZSTD_OPT="-T0 --ultra -22" @@ -145,35 +145,21 @@ configure_build() { 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=full" ;; 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="-mbranch-protection=standard" ;; riscv64) BUILDTARGET="${build_arch}-pc-linux-gnu" CROSSTARGET="${build_arch}-cross-linux-gnu" BUILD_PLATFORM="riscv" - CFLAGS_ARCH="-fstack-clash-protection" + CFLAGS_ARCH="" ;; *) @@ -196,7 +182,7 @@ configure_build() { 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}" @@ -236,15 +222,6 @@ configure_build() { # 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" } @@ -258,10 +235,6 @@ configure_build_guess() { echo "aarch64" ;; - armv7*|armv6*) - echo "armv6l" - ;; - riscv64) echo "riscv64" ;; @@ -794,8 +767,8 @@ qemu_environ() { ;; riscv64) QEMU_CPU="${QEMU_CPU:-sifive-u54}" - - env="${env} QEMU_CPU=${QEMU_CPU}" + G_SLICE="always-malloc" + env="${env} QEMU_CPU=${QEMU_CPU} G_SLICE=${G_SLICE}" ;; esac @@ -910,7 +883,7 @@ qemu_find_build_helper_name() { file_is_static() { local file="${1}" - file -L "${file}" 2>/dev/null | grep -q "statically linked" + file -L "${file}" 2>/dev/null | grep -q -e "statically linked" -e "static-pie linked" } update_language_list() { @@ -1058,9 +1031,11 @@ buildbase() { lfsmake2 tzdata lfsmake2 cleanup-toolchain lfsmake2 zlib + [ "${BUILD_ARCH}" = "riscv64" ] && lfsmake2 gcc PASS=A lfsmake2 zstd lfsmake2 autoconf lfsmake2 automake + lfsmake2 help2man lfsmake2 libtool lfsmake2 binutils lfsmake2 gmp @@ -1128,31 +1103,20 @@ buildipfire() { lfsmake2 backup lfsmake2 rust lfsmake2 openssl - lfsmake2 kmod - lfsmake2 udev lfsmake2 popt lfsmake2 libedit - lfsmake2 libusb + lfsmake2 pam + lfsmake2 libcap + lfsmake2 libcap-ng lfsmake2 libpcap lfsmake2 ppp lfsmake2 pptp lfsmake2 unzip lfsmake2 which - lfsmake2 linux-firmware - lfsmake2 dvb-firmwares - lfsmake2 xr819-firmware - lfsmake2 zd1211-firmware - lfsmake2 rpi-firmware - lfsmake2 intel-microcode - lfsmake2 pcengines-apu-firmware lfsmake2 bc lfsmake2 u-boot MKIMAGE=1 lfsmake2 cpio - lfsmake2 mdadm - lfsmake2 dracut lfsmake2 libaio - lfsmake2 lvm2 - lfsmake2 multipath-tools lfsmake2 freetype lfsmake2 libmnl lfsmake2 libnfnetlink @@ -1164,25 +1128,37 @@ buildipfire() { lfsmake2 iproute2 lfsmake2 screen lfsmake2 elfutils - - # Kernelbuild ... current we have no platform that need - # multi kernel builds so KCFG is empty - lfsmake2 linux KCFG="" - lfsmake2 rtl8189es KCFG="" - lfsmake2 rtl8189fs KCFG="" - lfsmake2 rtl8812au KCFG="" - lfsmake2 rtl8822bu KCFG="" - lfsmake2 xradio KCFG="" - lfsmake2 linux-initrd KCFG="" - + lfsmake2 expat + lfsmake2 libconfig + lfsmake2 curl + lfsmake2 libarchive + lfsmake2 cmake + lfsmake2 json-c + lfsmake2 tcl + lfsmake2 libffi + lfsmake2 gdbm + lfsmake2 sqlite + lfsmake2 python3 + lfsmake2 python3-setuptools + lfsmake2 python3-MarkupSafe + lfsmake2 python3-Jinja2 + lfsmake2 ninja + lfsmake2 meson + lfsmake2 kmod + lfsmake2 udev + lfsmake2 libusb + lfsmake2 mdadm + lfsmake2 dracut + lfsmake2 lvm2 + lfsmake2 multipath-tools + lfsmake2 glib + lfsmake2 libgudev lfsmake2 libgpg-error lfsmake2 libgcrypt lfsmake2 libassuan lfsmake2 nettle - lfsmake2 json-c - lfsmake2 libconfig + lfsmake2 libsodium lfsmake2 libevent2 - lfsmake2 expat lfsmake2 apr lfsmake2 aprutil lfsmake2 unbound @@ -1193,15 +1169,8 @@ buildipfire() { lfsmake2 dhcpcd lfsmake2 boost lfsmake2 linux-atm - lfsmake2 gdbm - lfsmake2 pam + lfsmake2 libqmi lfsmake2 c-ares - lfsmake2 curl - lfsmake2 tcl - lfsmake2 sqlite - lfsmake2 libffi - lfsmake2 python3 - lfsmake2 rust lfsmake2 rust-dissimilar lfsmake2 rust-cfg-if lfsmake2 rust-libc @@ -1209,6 +1178,7 @@ buildipfire() { lfsmake2 rust-typenum lfsmake2 rust-version-check lfsmake2 rust-generic-array + lfsmake2 rust-crypto-common lfsmake2 rust-cipher lfsmake2 rust-hex lfsmake2 rust-unicode-xid @@ -1235,7 +1205,6 @@ buildipfire() { lfsmake2 rust-serde_json lfsmake2 rust-synstructure lfsmake2 rust-block-buffer - lfsmake2 rust-crypto-common lfsmake2 rust-digest lfsmake2 rust-ppv-lite86 lfsmake2 rust-rand_core @@ -1270,6 +1239,7 @@ buildipfire() { lfsmake2 rust-proc-macro-hack lfsmake2 rust-indoc-impl lfsmake2 rust-indoc + lfsmake2 rust-indoc-0.3.6 lfsmake2 rust-instant lfsmake2 rust-lock_api lfsmake2 rust-smallvec @@ -1277,6 +1247,7 @@ buildipfire() { lfsmake2 rust-parking_lot lfsmake2 rust-paste-impl lfsmake2 rust-paste + lfsmake2 rust-paste-0.1.18 lfsmake2 rust-ctor lfsmake2 rust-ghost lfsmake2 rust-inventory-impl @@ -1285,8 +1256,26 @@ buildipfire() { lfsmake2 rust-pyo3-macros-backend lfsmake2 rust-pyo3-macros lfsmake2 rust-pyo3 + lfsmake2 rust-num-traits + lfsmake2 rust-num-integer + lfsmake2 rust-num_threads + lfsmake2 rust-time + lfsmake2 rust-iana-time-zone + lfsmake2 rust-chrono + lfsmake2 rust-asn1_derive + lfsmake2 rust-asn1 + lfsmake2 rust-proc-macro-error-attr + lfsmake2 rust-proc-macro-error + lfsmake2 rust-Inflector + lfsmake2 rust-ouroboros_macro + lfsmake2 rust-aliasable + lfsmake2 rust-stable_deref_trait + lfsmake2 rust-ouroboros + lfsmake2 rust-base64 + lfsmake2 rust-pem lfsmake2 gdb lfsmake2 grub + lfsmake2 mandoc lfsmake2 efivar lfsmake2 efibootmgr lfsmake2 libtasn1 @@ -1297,10 +1286,6 @@ buildipfire() { lfsmake2 libnl-3 lfsmake2 libidn lfsmake2 nasm - lfsmake2 libarchive - lfsmake2 cmake - lfsmake2 ninja - lfsmake2 meson lfsmake2 libjpeg lfsmake2 openjpeg lfsmake2 libexif @@ -1310,8 +1295,6 @@ buildipfire() { lfsmake2 slang lfsmake2 newt lfsmake2 libsmooth - lfsmake2 libcap - lfsmake2 libcap-ng lfsmake2 pciutils lfsmake2 usbutils lfsmake2 libxml2 @@ -1395,11 +1378,9 @@ buildipfire() { lfsmake2 perl-Crypt-PasswdMD5 lfsmake2 perl-Net-Telnet lfsmake2 perl-JSON - lfsmake2 python3-setuptools lfsmake2 python3-inotify lfsmake2 python3-docutils lfsmake2 python3-daemon - lfsmake2 glib lfsmake2 ntp lfsmake2 openssh lfsmake2 fontconfig @@ -1421,6 +1402,7 @@ buildipfire() { lfsmake2 hyperscan lfsmake2 suricata lfsmake2 ids-ruleset-sources + lfsmake2 ipblocklist-sources lfsmake2 squid lfsmake2 squidguard lfsmake2 calamaris @@ -1429,7 +1411,6 @@ buildipfire() { lfsmake2 vlan lfsmake2 wireless lfsmake2 pakfire - lfsmake2 spandsp lfsmake2 lz4 lfsmake2 lzo lfsmake2 openvpn @@ -1446,6 +1427,7 @@ buildipfire() { lfsmake2 poppler-data lfsmake2 cups-filters lfsmake2 epson-inkjet-printer-escpr + lfsmake2 cups-pdf lfsmake2 foomatic lfsmake2 hplip lfsmake2 cifs-utils @@ -1474,7 +1456,6 @@ buildipfire() { lfsmake2 libvorbis lfsmake2 flac lfsmake2 lame - lfsmake2 sox lfsmake2 soxr lfsmake2 libshout lfsmake2 xvid @@ -1484,7 +1465,6 @@ buildipfire() { lfsmake2 rpcbind lfsmake2 keyutils lfsmake2 nfs - lfsmake2 gnu-netcat lfsmake2 ncat lfsmake2 nmap lfsmake2 etherwake @@ -1494,20 +1474,29 @@ buildipfire() { lfsmake2 rng-tools lfsmake2 lsof lfsmake2 br2684ctl - lfsmake2 pcmciautils lfsmake2 lm_sensors lfsmake2 libstatgrab lfsmake2 liboping lfsmake2 collectd + lfsmake2 git + lfsmake2 linux-firmware + lfsmake2 dvb-firmwares + lfsmake2 zd1211-firmware + lfsmake2 rpi-firmware + lfsmake2 intel-microcode + lfsmake2 pcengines-apu-firmware lfsmake2 elinks lfsmake2 igmpproxy lfsmake2 opus + lfsmake2 python3-toml + lfsmake2 python3-pyproject2setuppy lfsmake2 python3-pyparsing lfsmake2 spice-protocol lfsmake2 spice lfsmake2 sdl2 lfsmake2 libusbredir lfsmake2 libseccomp + lfsmake2 libslirp lfsmake2 qemu lfsmake2 netsnmpd lfsmake2 nagios_nrpe @@ -1534,8 +1523,6 @@ buildipfire() { lfsmake2 perl-Authen-SASL lfsmake2 perl-MIME-Lite lfsmake2 perl-Email-Date-Format - lfsmake2 git - lfsmake2 squidclamav lfsmake2 vnstat lfsmake2 iw lfsmake2 wpa_supplicant @@ -1569,12 +1556,10 @@ buildipfire() { 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 @@ -1582,8 +1567,6 @@ buildipfire() { lfsmake2 python3-certifi lfsmake2 python3-idna lfsmake2 python3-requests - lfsmake2 python3-toml - lfsmake2 python3-pyproject2setuppy lfsmake2 python3-tomli lfsmake2 python3-pep517 lfsmake2 python3-build @@ -1612,6 +1595,16 @@ buildipfire() { lfsmake2 python3-arrow lfsmake2 python3-terminaltables lfsmake2 python3-pkgconfig + lfsmake2 python3-msgpack + 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 oci-python-sdk lfsmake2 oci-cli @@ -1673,6 +1666,8 @@ buildipfire() { lfsmake2 i2c-tools lfsmake2 nss-myhostname lfsmake2 dehydrated + lfsmake2 libplist + lfsmake2 nqptp lfsmake2 shairport-sync lfsmake2 borgbackup lfsmake2 lmdb @@ -1694,11 +1689,27 @@ buildipfire() { lfsmake2 qemu-ga lfsmake2 gptfdisk lfsmake2 oath-toolkit - lfsmake2 libqrencode + lfsmake2 qrencode lfsmake2 perl-File-Remove lfsmake2 perl-Module-Build lfsmake2 perl-Module-ScanDeps lfsmake2 perl-YAML-Tiny + lfsmake2 perl-Module-Install + lfsmake2 perl-Imager + lfsmake2 perl-Imager-QRCode + lfsmake2 perl-MIME-Base32 + lfsmake2 perl-URI-Encode + lfsmake2 rsnapshot + + # Kernelbuild ... current we have no platform that need + # multi kernel builds so KCFG is empty + lfsmake2 linux KCFG="" + lfsmake2 rtl8189es KCFG="" + lfsmake2 rtl8189fs KCFG="" + lfsmake2 rtl8812au KCFG="" + lfsmake2 rtl8822bu KCFG="" + lfsmake2 rtl8821cu KCFG="" + lfsmake2 linux-initrd KCFG="" } buildinstaller() { @@ -1753,9 +1764,6 @@ buildpackages() { 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