X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=make.sh;h=84177a9472c01d64d2563b27c8466bd76112183d;hb=39f94ee8eb1bb740fc968273334deff5d3f08b4a;hp=5f9f16d0544f00b0c0a3053bc0072b5a8f43706a;hpb=7b5f057a485be990445fe0d5448abdd3946bca84;p=ipfire-2.x.git diff --git a/make.sh b/make.sh index 5f9f16d054..84177a9472 100755 --- a/make.sh +++ b/make.sh @@ -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="167" # Core Level (Filename) +CORE="173" # 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=20220203 +TOOLCHAINVER=20220808 # 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" ;; 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="" ;; *) @@ -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" ;; @@ -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() { @@ -984,29 +957,6 @@ if [ "${ENABLE_RAMDISK}" = "auto" ]; then fi buildtoolchain() { - local error=false - case "${BUILD_ARCH}:${HOST_ARCH}" in - # x86_64 - x86_64:x86_64) - # This is working. - ;; - - # ARM - arvm7hl:armv7hl|armv7hl:armv7l) - # These are working. - ;; - - armv6l:armv6l|armv6l:armv7l|armv6l:aarch64) - # These are working. - ;; - armv6l:*) - error=true - ;; - esac - - ${error} && \ - exiterror "Cannot build ${BUILD_ARCH} toolchain on $(uname -m). Please use the download if any." - local gcc=$(type -p gcc) if [ -z "${gcc}" ]; then exiterror "Could not find GCC. You will need a working build enviroment in order to build the toolchain." @@ -1084,6 +1034,7 @@ buildbase() { lfsmake2 zstd lfsmake2 autoconf lfsmake2 automake + lfsmake2 help2man lfsmake2 libtool lfsmake2 binutils lfsmake2 gmp @@ -1127,6 +1078,7 @@ buildbase() { lfsmake2 pkg-config lfsmake2 procps lfsmake2 make + lfsmake2 libpipeline lfsmake2 man lfsmake2 net-tools lfsmake2 patch @@ -1155,7 +1107,6 @@ buildipfire() { lfsmake2 popt lfsmake2 libedit lfsmake2 libusb - lfsmake2 libusb-compat lfsmake2 libpcap lfsmake2 ppp lfsmake2 pptp @@ -1195,17 +1146,32 @@ buildipfire() { lfsmake2 rtl8189fs KCFG="" lfsmake2 rtl8812au KCFG="" lfsmake2 rtl8822bu KCFG="" + lfsmake2 rtl8821cu 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 ninja + lfsmake2 meson + 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 @@ -1216,15 +1182,9 @@ buildipfire() { lfsmake2 dhcpcd lfsmake2 boost lfsmake2 linux-atm - lfsmake2 gdbm + lfsmake2 libqmi lfsmake2 pam 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 @@ -1232,6 +1192,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 @@ -1258,7 +1219,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 @@ -1293,6 +1253,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 @@ -1300,6 +1261,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 @@ -1308,8 +1270,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 @@ -1320,10 +1300,6 @@ buildipfire() { lfsmake2 libnl-3 lfsmake2 libidn lfsmake2 nasm - lfsmake2 libarchive - lfsmake2 cmake - lfsmake2 ninja - lfsmake2 meson lfsmake2 libjpeg lfsmake2 openjpeg lfsmake2 libexif @@ -1418,11 +1394,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 @@ -1443,8 +1417,8 @@ buildipfire() { lfsmake2 ragel lfsmake2 hyperscan lfsmake2 suricata - lfsmake2 oinkmaster lfsmake2 ids-ruleset-sources + lfsmake2 ipblocklist-sources lfsmake2 squid lfsmake2 squidguard lfsmake2 calamaris @@ -1453,7 +1427,6 @@ buildipfire() { lfsmake2 vlan lfsmake2 wireless lfsmake2 pakfire - lfsmake2 spandsp lfsmake2 lz4 lfsmake2 lzo lfsmake2 openvpn @@ -1470,6 +1443,7 @@ buildipfire() { lfsmake2 poppler-data lfsmake2 cups-filters lfsmake2 epson-inkjet-printer-escpr + lfsmake2 cups-pdf lfsmake2 foomatic lfsmake2 hplip lfsmake2 cifs-utils @@ -1508,7 +1482,6 @@ buildipfire() { lfsmake2 rpcbind lfsmake2 keyutils lfsmake2 nfs - lfsmake2 gnu-netcat lfsmake2 ncat lfsmake2 nmap lfsmake2 etherwake @@ -1518,7 +1491,6 @@ buildipfire() { lfsmake2 rng-tools lfsmake2 lsof lfsmake2 br2684ctl - lfsmake2 pcmciautils lfsmake2 lm_sensors lfsmake2 libstatgrab lfsmake2 liboping @@ -1526,6 +1498,8 @@ buildipfire() { lfsmake2 elinks lfsmake2 igmpproxy lfsmake2 opus + lfsmake2 python3-toml + lfsmake2 python3-pyproject2setuppy lfsmake2 python3-pyparsing lfsmake2 spice-protocol lfsmake2 spice @@ -1548,6 +1522,7 @@ buildipfire() { lfsmake2 vdr_dvbapi lfsmake2 vdr_eepg lfsmake2 w_scan + lfsmake2 fmt lfsmake2 mpd lfsmake2 libmpdclient lfsmake2 mpc @@ -1597,7 +1572,6 @@ buildipfire() { lfsmake2 swig lfsmake2 dtc lfsmake2 u-boot - lfsmake2 u-boot-friendlyarm lfsmake2 wireless-regdb lfsmake2 ddns lfsmake2 python3-pycparser @@ -1605,8 +1579,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 @@ -1635,6 +1607,15 @@ buildipfire() { lfsmake2 python3-arrow 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-trio + lfsmake2 python3-pyfuse3 lfsmake2 aws-cli lfsmake2 oci-python-sdk lfsmake2 oci-cli @@ -1696,6 +1677,8 @@ buildipfire() { lfsmake2 i2c-tools lfsmake2 nss-myhostname lfsmake2 dehydrated + lfsmake2 libplist + lfsmake2 nqptp lfsmake2 shairport-sync lfsmake2 borgbackup lfsmake2 lmdb @@ -1715,7 +1698,18 @@ buildipfire() { lfsmake2 pmacct lfsmake2 squid-asnbl lfsmake2 qemu-ga - lfsmake2 gptfdisk + lfsmake2 gptfdisk + lfsmake2 oath-toolkit + 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 } buildinstaller() { @@ -1770,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 @@ -1824,9 +1815,6 @@ case "$1" in build) START_TIME="${SECONDS}" - # Clear screen - ${INTERACTIVE} && clear - PACKAGE="$BASEDIR/cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-${BUILD_ARCH}.tar.zst" #only restore on a clean disk if [ ! -e "${BASEDIR}/build${TOOLS_DIR}/.toolchain-successful" ]; then @@ -1970,9 +1958,6 @@ downloadsrc) cd - >/dev/null 2>&1 ;; toolchain) - # Clear screen - ${INTERACTIVE} && clear - prepareenv print_build_stage "Toolchain compilation (${BUILD_ARCH})" buildtoolchain @@ -2074,7 +2059,7 @@ check-manualpages) fi ;; *) - echo "Usage: $0 [OPTIONS] {build|changelog|clean|gettoolchain|downloadsrc|shell|sync|toolchain|update-contributors|find-dependencies|check-manualpages}" + echo "Usage: $0 [OPTIONS] {build|check-manualpages|clean|docker|downloadsrc|find-dependencies|gettoolchain|lang|shell|toolchain|update-contributors|uploadsrc}" cat doc/make.sh-usage ;; esac