]> git.ipfire.org Git - people/arne_f/ipfire-2.x.git/blobdiff - make.sh
ccache: Remove CCACHE_COMPRESS=1
[people/arne_f/ipfire-2.x.git] / make.sh
diff --git a/make.sh b/make.sh
index a437dadee1728cb688e33bcc925485aa08a88f25..837a071237bb0a4b8b60ea5319e035e3f93dc630 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -26,10 +26,9 @@ 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.25"                                                 # Version number
-CORE="154"                                                     # Core Level (Filename)
+CORE="158"                                                     # Core Level (Filename)
 SLOGAN="www.ipfire.org"                                                # Software slogan
 CONFIG_ROOT=/var/ipfire                                                # Configuration rootdir
-NICE=10                                                                # Nice level
 MAX_RETRIES=1                                                  # prefetch/check loop
 BUILD_IMAGES=1                                                 # Flash and Xen Downloader
 KVER=`grep --max-count=1 VER lfs/linux | awk '{ print $3 }'`
@@ -39,7 +38,15 @@ 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=20200924
+TOOLCHAINVER=20210202
+
+ZSTD_OPT=(
+       # Compress in parallel using all processor cores
+       -T0
+
+       # Compress as best as we can
+       --ultra -22
+)
 
 ###############################################################################
 #
@@ -170,12 +177,19 @@ configure_build() {
                        CFLAGS_ARCH="-march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard"
                        ;;
 
-               armv5tel)
+               armv6l)
                        BUILDTARGET="${build_arch}-unknown-linux-gnueabi"
                        CROSSTARGET="${build_arch}-cross-linux-gnueabi"
                        BUILD_PLATFORM="arm"
-                       CFLAGS_ARCH="-march=armv5te -mfloat-abi=soft -fomit-frame-pointer"
-                       RUSTFLAGS="-Ccodegen-units=1"
+                       CFLAGS_ARCH="-march=armv6 -mfpu=vfp -mfloat-abi=softfp -fomit-frame-pointer"
+                       #RUSTFLAGS="-Ccodegen-units=1"
+                       ;;
+
+               riscv64)
+                       BUILDTARGET="${build_arch}-unknown-linux-gnu"
+                       CROSSTARGET="${build_arch}-cross-linux-gnu"
+                       BUILD_PLATFORM="riscv"
+                       CFLAGS_ARCH="-fstack-clash-protection"
                        ;;
 
                *)
@@ -208,7 +222,7 @@ configure_build() {
        # 128MB of memory. Therefore we find out how
        # many processes fit into memory.
        local mem_max=$(( ${SYSTEM_MEMORY} / 128 ))
-       local cpu_max=$(( ${SYSTEM_PROCESSORS} + 1 ))
+       local cpu_max=$(( ${SYSTEM_PROCESSORS} ))
 
        local parallelism
        if [ ${mem_max} -lt ${cpu_max} ]; then
@@ -220,6 +234,9 @@ configure_build() {
        # Use this as default PARALLELISM
        DEFAULT_PARALLELISM="${parallelism}"
 
+       # Limit lauched ninja build jobs to computed parallel value.
+       NINJAJOBS="${parallelism}"
+
        # Compression parameters
        # We use mode 8 for reasonable memory usage when decompressing
        # but with overall good compression
@@ -258,8 +275,12 @@ configure_build_guess() {
                        echo "aarch64"
                        ;;
 
-               armv7*|armv6*|armv5*)
-                       echo "armv5tel"
+               armv7*|armv6*)
+                       echo "armv6l"
+                       ;;
+
+               riscv64)
+                       echo "riscv64"
                        ;;
 
                *)
@@ -432,11 +453,6 @@ prepareenv() {
        # Trap on emergency exit
        trap "exiterror 'Build process interrupted'" SIGINT SIGTERM SIGKILL SIGSTOP SIGQUIT
 
-       # Resetting our nice level
-       if ! renice ${NICE} $$ >/dev/null; then
-                       exiterror "Failed to set nice level to ${NICE}"
-       fi
-
        # Checking if running as root user
        if [ $(id -u) -ne 0 ]; then
                        exiterror "root privileges required for building"
@@ -465,14 +481,14 @@ prepareenv() {
        # Setup environment
        set +h
        LC_ALL=POSIX
-       export LFS LC_ALL CFLAGS CXXFLAGS DEFAULT_PARALLELISM RUSTFLAGS
+       export LFS LC_ALL CFLAGS CXXFLAGS DEFAULT_PARALLELISM RUSTFLAGS NINJAJOBS
        unset CC CXX CPP LD_LIBRARY_PATH LD_PRELOAD
 
        # Make some extra directories
        mkdir -p "${BASEDIR}/build${TOOLS_DIR}" 2>/dev/null
        mkdir -p $BASEDIR/build/{etc,usr/src} 2>/dev/null
        mkdir -p $BASEDIR/build/{dev/{shm,pts},proc,sys}
-       mkdir -p $BASEDIR/{cache,ccache/${BUILD_ARCH}} 2>/dev/null
+       mkdir -p $BASEDIR/{cache,ccache/${BUILD_ARCH}/${TOOLCHAINVER}} 2>/dev/null
 
        if [ "${ENABLE_RAMDISK}" = "on" ]; then
                mkdir -p $BASEDIR/build/usr/src
@@ -494,7 +510,7 @@ prepareenv() {
        mount --bind /proc           $BASEDIR/build/proc
        mount --bind /sys            $BASEDIR/build/sys
        mount --bind $BASEDIR/cache  $BASEDIR/build/usr/src/cache
-       mount --bind $BASEDIR/ccache/${BUILD_ARCH} $BASEDIR/build/usr/src/ccache
+       mount --bind $BASEDIR/ccache/${BUILD_ARCH}/${TOOLCHAINVER} $BASEDIR/build/usr/src/ccache
        mount --bind $BASEDIR/config $BASEDIR/build/usr/src/config
        mount --bind $BASEDIR/doc    $BASEDIR/build/usr/src/doc
        mount --bind $BASEDIR/html   $BASEDIR/build/usr/src/html
@@ -506,7 +522,6 @@ prepareenv() {
        # Run LFS static binary creation scripts one by one
        export CCACHE_DIR=$BASEDIR/ccache
        export CCACHE_TEMPDIR="/tmp"
-       export CCACHE_COMPRESS=1
        export CCACHE_COMPILERCHECK="string:toolchain-${TOOLCHAINVER} ${BUILD_ARCH}"
 
        # Remove pre-install list of installed files in case user erase some files before rebuild
@@ -578,7 +593,6 @@ enterchroot() {
                BUILD_PLATFORM="${BUILD_PLATFORM}" \
                CCACHE_DIR=/usr/src/ccache \
                CCACHE_TEMPDIR="${CCACHE_TEMPDIR}" \
-               CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
                CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
                GOCACHE="/usr/src/ccache/go" \
                KVER="${KVER}" \
@@ -662,7 +676,6 @@ lfsmake1() {
                PATH="${TOOLS_DIR}/ccache/bin:${TOOLS_DIR}/bin:$PATH" \
                CCACHE_DIR="${CCACHE_DIR}" \
                CCACHE_TEMPDIR="${CCACHE_TEMPDIR}" \
-               CCACHE_COMPRESS="${CCACHE_COMPRESS}" \
                CCACHE_COMPILERCHECK="${CCACHE_COMPILERCHECK}" \
                CFLAGS="${CFLAGS}" \
                CXXFLAGS="${CXXFLAGS}" \
@@ -804,7 +817,7 @@ qemu_is_required() {
        fi
 
        case "${HOST_ARCH},${build_arch}" in
-               x86_64,arm*|x86_64,aarch64|i?86,arm*|i?86,aarch64|i?86,x86_64)
+               x86_64,arm*|x86_64,aarch64|x86_64,riscv64|i?86,arm*|i?86,aarch64|i?86,x86_64)
                        return 0
                        ;;
                *)
@@ -868,6 +881,9 @@ qemu_find_build_helper_name() {
                arm*)
                        magic="7f454c4601010100000000000000000002002800"
                        ;;
+               riscv64)
+                       magic="7f454c460201010000000000000000000200f300"
+                       ;;
                x86_64)
                        magic="7f454c4602010100000000000000000002003e00"
                        ;;
@@ -992,10 +1008,10 @@ buildtoolchain() {
                        # These are working.
                        ;;
 
-               armv5tel:armv5tel|armv5tel:armv5tejl|armv5tel:armv6l|armv5tel:armv7l|armv5tel:aarch64)
+               armv6l:armv6l|armv6l:armv7l|armv6l:aarch64)
                        # These are working.
                        ;;
-               armv5tel:*)
+               armv6l:*)
                        error=true
                        ;;
        esac
@@ -1025,16 +1041,17 @@ buildtoolchain() {
        export LOGFILE
 
        lfsmake1 stage1
-       lfsmake1 ccache                 PASS=1
        lfsmake1 binutils                       PASS=1
        lfsmake1 gcc                    PASS=1
        lfsmake1 linux                  KCFG="-headers"
        lfsmake1 glibc
+       lfsmake1 libxcrypt
        lfsmake1 gcc                    PASS=L
+       lfsmake1 zlib
+       lfsmake1 zstd
        lfsmake1 binutils                       PASS=2
        lfsmake1 gcc                    PASS=2
-       lfsmake1 zlib
-       lfsmake1 ccache                 PASS=2
+       lfsmake1 ccache
        lfsmake1 tcl
        lfsmake1 expect
        lfsmake1 dejagnu
@@ -1076,40 +1093,40 @@ buildbase() {
        lfsmake2 tzdata
        lfsmake2 cleanup-toolchain
        lfsmake2 zlib
+       lfsmake2 zstd
+       lfsmake2 autoconf
+       lfsmake2 automake
+       lfsmake2 libtool
        lfsmake2 binutils
        lfsmake2 gmp
-       lfsmake2 gmp-compat
        lfsmake2 mpfr
        lfsmake2 libmpc
+       lfsmake2 libxcrypt
        lfsmake2 file
        lfsmake2 gcc
        lfsmake2 sed
-       lfsmake2 autoconf
-       lfsmake2 automake
        lfsmake2 berkeley
-       lfsmake2 berkeley-compat
        lfsmake2 coreutils
        lfsmake2 iana-etc
        lfsmake2 m4
        lfsmake2 bison
        lfsmake2 ncurses
-       lfsmake2 procps
-       lfsmake2 libtool
        lfsmake2 perl
        lfsmake2 readline
-       lfsmake2 readline-compat
        lfsmake2 bzip2
        lfsmake2 xz
+       lfsmake2 lzip
        lfsmake2 pcre
-       lfsmake2 pcre-compat
+       lfsmake2 pcre2
+       lfsmake2 gettext
+       lfsmake2 attr
+       lfsmake2 acl
        lfsmake2 bash
        lfsmake2 diffutils
-       lfsmake2 e2fsprogs
        lfsmake2 ed
        lfsmake2 findutils
        lfsmake2 flex
        lfsmake2 gawk
-       lfsmake2 gettext
        lfsmake2 go
        lfsmake2 grep
        lfsmake2 groff
@@ -1121,6 +1138,7 @@ buildbase() {
        lfsmake2 kbd
        lfsmake2 less
        lfsmake2 pkg-config
+       lfsmake2 procps
        lfsmake2 make
        lfsmake2 man
        lfsmake2 net-tools
@@ -1133,6 +1151,7 @@ buildbase() {
        lfsmake2 texinfo
        lfsmake2 util-linux
        lfsmake2 vim
+       lfsmake2 e2fsprogs
 }
 
 buildipfire() {
@@ -1142,7 +1161,6 @@ buildipfire() {
   lfsmake2 initscripts
   lfsmake2 backup
   lfsmake2 openssl
-  [ "${BUILD_ARCH}" = "i586" ] && lfsmake2 openssl KCFG='-sse2'
   lfsmake2 kmod
   lfsmake2 udev
   lfsmake2 popt
@@ -1180,39 +1198,16 @@ buildipfire() {
   lfsmake2 screen
   lfsmake2 elfutils
 
-  case "${BUILD_ARCH}" in
-       x86_64|aarch64)
-               lfsmake2 linux                  KCFG=""
-#              lfsmake2 backports                      KCFG=""
-#              lfsmake2 e1000e                 KCFG=""
-#              lfsmake2 igb                            KCFG=""
-#              lfsmake2 ixgbe                  KCFG=""
-               lfsmake2 xtables-addons         KCFG=""
-               lfsmake2 linux-initrd                   KCFG=""
-               ;;
-       i586)
-               # x86 kernel build
-               lfsmake2 linux                  KCFG=""
-#              lfsmake2 backports                      KCFG=""
-#              lfsmake2 e1000e                 KCFG=""
-#              lfsmake2 igb                            KCFG=""
-#              lfsmake2 ixgbe                  KCFG=""
-               lfsmake2 xtables-addons         KCFG=""
-               lfsmake2 linux-initrd                   KCFG=""
-               ;;
-
-       armv5tel)
-               # arm multi platform (Panda, Wandboard ...) kernel build
-               lfsmake2 linux                  KCFG="-multi"
-#              lfsmake2 backports                      KCFG="-multi"
-#              lfsmake2 e1000e                 KCFG="-multi"
-#              lfsmake2 igb                            KCFG="-multi"
-#              lfsmake2 ixgbe                  KCFG="-multi"
-               lfsmake2 xtables-addons         KCFG="-multi"
-               lfsmake2 linux-initrd                   KCFG="-multi"
-               ;;
-  esac
-  lfsmake2 xtables-addons                      USPACE="1"
+  # Kernelbuild ... current we have no platform that need
+  # multi kernel builds so KCFG is empty
+  lfsmake2 linux               KCFG=""
+  lfsmake2 rtl8189es           KCFG=""
+  lfsmake2 rtl8812au           KCFG=""
+  lfsmake2 xradio              KCFG=""
+  lfsmake2 xtables-addons      KCFG=""
+  lfsmake2 linux-initrd                KCFG=""
+
+  lfsmake2 xtables-addons      USPACE="1"
   lfsmake2 libgpg-error
   lfsmake2 libgcrypt
   lfsmake2 libassuan
@@ -1233,6 +1228,7 @@ buildipfire() {
   lfsmake2 linux-atm
   lfsmake2 gdbm
   lfsmake2 pam
+  lfsmake2 c-ares
   lfsmake2 curl
   lfsmake2 tcl
   lfsmake2 sqlite
@@ -1252,8 +1248,9 @@ buildipfire() {
   lfsmake2 nasm
   lfsmake2 libarchive
   lfsmake2 cmake
+  lfsmake2 ninja
+  lfsmake2 meson
   lfsmake2 libjpeg
-  lfsmake2 libjpeg-compat
   lfsmake2 openjpeg
   lfsmake2 libexif
   lfsmake2 libpng
@@ -1263,8 +1260,6 @@ buildipfire() {
   lfsmake2 slang
   lfsmake2 newt
   lfsmake2 libsmooth
-  lfsmake2 attr
-  lfsmake2 acl
   lfsmake2 libcap
   lfsmake2 libcap-ng
   lfsmake2 pciutils
@@ -1282,6 +1277,7 @@ buildipfire() {
   lfsmake2 arping
   lfsmake2 beep
   lfsmake2 libssh
+  lfsmake2 libinih
   lfsmake2 cdrkit
   lfsmake2 dosfstools
   lfsmake2 reiserfsprogs
@@ -1298,14 +1294,13 @@ buildipfire() {
   lfsmake2 perl-Device-Modem
   lfsmake2 perl-Apache-Htpasswd
   lfsmake2 perl-Parse-Yapp
+  lfsmake2 perl-Data-UUID
   lfsmake2 gnupg
   lfsmake2 hdparm
   lfsmake2 sdparm
-  lfsmake2 mtools
   lfsmake2 whatmask
   lfsmake2 libtirpc
   lfsmake2 conntrack-tools
-  lfsmake2 libupnp
   lfsmake2 ipaddr
   lfsmake2 iputils
   lfsmake2 l7-protocols
@@ -1334,6 +1329,7 @@ buildipfire() {
   lfsmake2 Mail-Tools
   lfsmake2 MIME-Tools
   lfsmake2 Net-Server
+  lfsmake2 Canary-Stability
   lfsmake2 Convert-TNEF
   lfsmake2 Convert-UUlib
   lfsmake2 Archive-Tar
@@ -1343,14 +1339,10 @@ buildipfire() {
   lfsmake2 Crypt-PasswdMD5
   lfsmake2 Net-Telnet
   lfsmake2 python-setuptools
-  lfsmake2 python-clientform
-  lfsmake2 python-mechanize
-  lfsmake2 python-feedparser
-  lfsmake2 python-rssdler
-  lfsmake2 python-inotify
-  lfsmake2 python-docutils
-  lfsmake2 python-daemon
-  lfsmake2 python-ipaddress
+  lfsmake2 python3-setuptools
+  lfsmake2 python3-inotify
+  lfsmake2 python3-docutils
+  lfsmake2 python3-daemon
   lfsmake2 glib
   lfsmake2 ntp
   lfsmake2 openssh
@@ -1385,7 +1377,6 @@ buildipfire() {
   lfsmake2 spandsp
   lfsmake2 lz4
   lfsmake2 lzo
-  lfsmake2 zstd
   lfsmake2 openvpn
   lfsmake2 mpage
   lfsmake2 dbus
@@ -1426,7 +1417,6 @@ buildipfire() {
   lfsmake2 libmad
   lfsmake2 libogg
   lfsmake2 libvorbis
-  lfsmake2 libdvbpsi
   lfsmake2 flac
   lfsmake2 lame
   lfsmake2 sox
@@ -1456,17 +1446,14 @@ buildipfire() {
   lfsmake2 collectd
   lfsmake2 elinks
   lfsmake2 igmpproxy
-  lfsmake2 fbset
   lfsmake2 opus
-  lfsmake2 python-six
-  lfsmake2 python-pyparsing
+  lfsmake2 python3-pyparsing
   lfsmake2 spice-protocol
   lfsmake2 spice
   lfsmake2 sdl
   lfsmake2 libusbredir
   lfsmake2 libseccomp
   lfsmake2 qemu
-  lfsmake2 sane
   lfsmake2 netpbm
   lfsmake2 netsnmpd
   lfsmake2 nagios_nrpe
@@ -1498,13 +1485,12 @@ buildipfire() {
   lfsmake2 iw
   lfsmake2 wpa_supplicant
   lfsmake2 hostapd
-  lfsmake2 pycurl
-  lfsmake2 urlgrabber
   lfsmake2 syslinux
   lfsmake2 tftpd
   lfsmake2 cpufrequtils
   lfsmake2 gutenprint
   lfsmake2 apcupsd
+  lfsmake2 fireperf
   lfsmake2 iperf
   lfsmake2 iperf3
   lfsmake2 7zip
@@ -1519,21 +1505,16 @@ buildipfire() {
   lfsmake2 perl-DBD-SQLite
   lfsmake2 perl-File-ReadBackwards
   lfsmake2 openvmtools
-  lfsmake2 libmicrohttpd
-  lfsmake2 motion
   lfsmake2 joe
   lfsmake2 monit
   lfsmake2 nut
   lfsmake2 watchdog
   lfsmake2 libpri
-  lfsmake2 libsrtp
-  lfsmake2 asterisk
   lfsmake2 usb_modeswitch
   lfsmake2 usb_modeswitch_data
   lfsmake2 zerofree
   lfsmake2 minicom
   lfsmake2 ddrescue
-  lfsmake2 miniupnpd
   lfsmake2 client175
   lfsmake2 powertop
   lfsmake2 parted
@@ -1545,44 +1526,31 @@ buildipfire() {
   lfsmake2 wireless-regdb
   lfsmake2 crda
   lfsmake2 libsolv
-  lfsmake2 python-distutils-extra
-  lfsmake2 python-lzma
-  lfsmake2 python-progressbar
-  lfsmake2 python-xattr
   lfsmake2 ddns
-  lfsmake2 python3-setuptools
   lfsmake2 python3-setuptools-scm
   lfsmake2 python3-six
   lfsmake2 python3-dateutil
   lfsmake2 python3-jmespath
   lfsmake2 python3-colorama
-  lfsmake2 python3-docutils
   lfsmake2 python3-yaml
   lfsmake2 python3-s3transfer
   lfsmake2 python3-rsa
   lfsmake2 python3-pyasn1
   lfsmake2 python3-urllib3
   lfsmake2 python3-botocore
-  lfsmake2 python3-llfuse
   lfsmake2 python3-msgpack
   lfsmake2 aws-cli
   lfsmake2 transmission
-  lfsmake2 dpfhack
-  lfsmake2 lcd4linux
   lfsmake2 mtr
   lfsmake2 minidlna
   lfsmake2 acpid
   lfsmake2 fping
   lfsmake2 telnet
   lfsmake2 xinetd
-  lfsmake2 gpgme
-  lfsmake2 pygpgme
-  lfsmake2 pakfire3
   lfsmake2 stress
   lfsmake2 libstatgrab
   lfsmake2 sarg
   lfsmake2 nginx
-  lfsmake2 sendEmail
   lfsmake2 sysbench
   lfsmake2 strace
   lfsmake2 ltrace
@@ -1648,6 +1616,8 @@ buildipfire() {
   lfsmake2 ncdu
   lfsmake2 lshw
   lfsmake2 socat
+  lfsmake2 libcdada
+  lfsmake2 pmacct
 }
 
 buildinstaller() {
@@ -1702,8 +1672,8 @@ buildpackages() {
 
   cd $BASEDIR
 
-  # remove not useable iso on armv5tel (needed to build flash images)
-  [ "${BUILD_ARCH}" = "armv5tel" ] && rm -rf *.iso
+  # 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
        md5sum $i > $i.md5
@@ -1759,7 +1729,7 @@ build)
        # Clear screen
        ${INTERACTIVE} && clear
 
-       PACKAGE=`ls -v -r $BASEDIR/cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-${BUILD_ARCH}.tar.xz 2> /dev/null | head -n 1`
+       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
                if [ ! -n "$PACKAGE" ]; then
@@ -1767,7 +1737,7 @@ build)
                        prepareenv
                        buildtoolchain
                else
-                       PACKAGENAME=${PACKAGE%.tar.xz}
+                       PACKAGENAME=${PACKAGE%.tar.zst}
                        print_build_stage "Packaged toolchain compilation"
                        if [ `md5sum $PACKAGE | awk '{print $1}'` == `cat $PACKAGENAME.md5 | awk '{print $1}'` ]; then
                                tar axf $PACKAGE
@@ -1813,9 +1783,9 @@ clean)
        for i in `mount | grep $BASEDIR | sed 's/^.*loop=\(.*\))/\1/'`; do
                $LOSETUP -d $i 2>/dev/null
        done
-       for i in `mount | grep $BASEDIR | cut -d " " -f 1`; do
-               umount $i
-       done
+       #for i in `mount | grep $BASEDIR | cut -d " " -f 1`; do
+       #       umount $i
+       #done
        stdumount
        for i in `seq 0 7`; do
                if ( losetup /dev/loop${i} 2>/dev/null | grep -q "/install/images" ); then
@@ -1910,21 +1880,21 @@ toolchain)
        buildtoolchain
        echo "`date -u '+%b %e %T'`: Create toolchain image for ${BUILD_ARCH}" | tee -a $LOGFILE
        test -d $BASEDIR/cache/toolchains || mkdir -p $BASEDIR/cache/toolchains
-       cd $BASEDIR && tar -cf- --exclude='log/_build.*.log' build/${TOOLS_DIR} build/bin/sh log | xz ${XZ_OPT} \
-               > cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-${BUILD_ARCH}.tar.xz
-       md5sum cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-${BUILD_ARCH}.tar.xz \
+       cd $BASEDIR && tar -cf- --exclude='log/_build.*.log' build/${TOOLS_DIR} build/bin/sh log \
+               | zstd ${ZSTD_OPT} > cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-${BUILD_ARCH}.tar.zst
+       md5sum cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-${BUILD_ARCH}.tar.zst \
                > cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-${BUILD_ARCH}.md5
        stdumount
        ;;
 gettoolchain)
        # arbitrary name to be updated in case of new toolchain package upload
        PACKAGE=$SNAME-$VERSION-toolchain-$TOOLCHAINVER-${BUILD_ARCH}
-       if [ ! -f $BASEDIR/cache/toolchains/$PACKAGE.tar.xz ]; then
+       if [ ! -f $BASEDIR/cache/toolchains/$PACKAGE.tar.zst ]; then
                URL_TOOLCHAIN=`grep URL_TOOLCHAIN lfs/Config | awk '{ print $3 }'`
                test -d $BASEDIR/cache/toolchains || mkdir -p $BASEDIR/cache/toolchains
                echo "`date -u '+%b %e %T'`: Load toolchain image for ${BUILD_ARCH}" | tee -a $LOGFILE
                cd $BASEDIR/cache/toolchains
-               wget -U "IPFireSourceGrabber/2.x" $URL_TOOLCHAIN/$PACKAGE.tar.xz $URL_TOOLCHAIN/$PACKAGE.md5 >& /dev/null
+               wget -U "IPFireSourceGrabber/2.x" $URL_TOOLCHAIN/$PACKAGE.tar.zst $URL_TOOLCHAIN/$PACKAGE.md5 >& /dev/null
                if [ $? -ne 0 ]; then
                        echo "`date -u '+%b %e %T'`: error downloading $PACKAGE toolchain for ${BUILD_ARCH} machine" | tee -a $LOGFILE
                else
@@ -1975,7 +1945,7 @@ lang)
        $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 es > $BASEDIR/doc/language_issues.es
-       $BASEDIR/tools/check_strings.pl es > $BASEDIR/doc/language_issues.pl
+       $BASEDIR/tools/check_strings.pl pl > $BASEDIR/doc/language_issues.pl
        $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