#!/bin/bash
-############################################################################
-# #
-# This file is part of the IPFire Firewall. #
-# #
-# IPFire is free software; you can redistribute it and/or modify #
-# it under the terms of the GNU General Public License as published by #
-# the Free Software Foundation; either version 2 of the License, or #
-# (at your option) any later version. #
-# #
-# IPFire is distributed in the hope that it will be useful, #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
-# GNU General Public License for more details. #
-# #
-# You should have received a copy of the GNU General Public License #
-# 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>. #
-# #
-############################################################################
-#
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2022 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 #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
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="164" # Core Level (Filename)
+CORE="167" # 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"
umount $BASEDIR/build/tmp 2>/dev/null;
}
-now() {
- date -u "+%s"
-}
-
format_runtime() {
local seconds=${1}
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
esac
# Setup ccache cache size
- enterchroot ccache --max-size="${CCACHE_CACHE_SIZE}" >/dev/null
+ enterchroot ccache --max-size="${CCACHE_CACHE_SIZE}"
}
enterchroot() {
# 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" \
fi
cd $BASEDIR/lfs && make -s -f $* LFS_BASEDIR=$BASEDIR BUILD_ARCH="${BUILD_ARCH}" \
- MESSAGE="$1\t md5sum" md5 >> $LOGFILE 2>&1
+ MESSAGE="$1\t b2sum" b2 >> $LOGFILE 2>&1
if [ $? -ne 0 ]; then
- exiterror "md5sum error in $1, check file in cache or signature"
+ exiterror "BLAKE2 checksum error in $1, check file in cache or signature"
fi
return 0 # pass all!
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 &
wait_until_finished() {
local pid=${1}
- local start_time=$(now)
+ local start_time="${SECONDS}"
# Show progress
if ${INTERACTIVE}; then
local runtime
while kill -0 ${pid} 2>/dev/null; do
- print_runtime $(( $(now) - ${start_time} ))
+ print_runtime $(( SECONDS - start_time ))
# Wait a little
sleep 1
local ret=$?
if ! ${INTERACTIVE}; then
- print_runtime $(( $(now) - ${start_time} ))
+ print_runtime $(( SECONDS - start_time ))
fi
return ${ret}
}
qemu_environ() {
- local env
+ local env="QEMU_TARGET_HELPER=${QEMU_TARGET_HELPER}"
# Don't add anything if qemu is not used.
if ! qemu_is_required; then
arm*)
QEMU_CPU="${QEMU_CPU:-cortex-a9}"
+ env="${env} QEMU_CPU=${QEMU_CPU}"
+ ;;
+ riscv64)
+ QEMU_CPU="${QEMU_CPU:-sifive-u54}"
+
env="${env} QEMU_CPU=${QEMU_CPU}"
;;
esac
file_is_static() {
local file="${1}"
- file ${file} 2>/dev/null | grep -q "statically linked"
+ file -L "${file}" 2>/dev/null | grep -q "statically linked"
}
update_language_list() {
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 libxcrypt
lfsmake2 file
lfsmake2 gcc
+ lfsmake2 attr
+ lfsmake2 acl
lfsmake2 sed
lfsmake2 berkeley
lfsmake2 coreutils
lfsmake2 pcre
lfsmake2 pcre2
lfsmake2 gettext
- lfsmake2 attr
- lfsmake2 acl
lfsmake2 bash
lfsmake2 diffutils
lfsmake2 ed
lfsmake2 configroot
lfsmake2 initscripts
lfsmake2 backup
+ lfsmake2 rust
lfsmake2 openssl
lfsmake2 kmod
lfsmake2 udev
# 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 xtables-addons KCFG=""
lfsmake2 linux-initrd KCFG=""
- lfsmake2 xtables-addons USPACE="1"
lfsmake2 libgpg-error
lfsmake2 libgcrypt
lfsmake2 libassuan
lfsmake2 nettle
lfsmake2 json-c
lfsmake2 libconfig
- lfsmake2 libevent
lfsmake2 libevent2
lfsmake2 expat
lfsmake2 apr
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 ca-certificates
lfsmake2 fireinfo
lfsmake2 libnet
- lfsmake2 libnl
lfsmake2 libnl-3
lfsmake2 libidn
lfsmake2 nasm
lfsmake2 libexif
lfsmake2 libpng
lfsmake2 libtiff
- lfsmake2 libart
lfsmake2 gd
lfsmake2 slang
lfsmake2 newt
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 whatmask
lfsmake2 libtirpc
lfsmake2 conntrack-tools
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 pango
lfsmake2 rrdtool
lfsmake2 setup
- lfsmake2 libdnet
lfsmake2 jansson
lfsmake2 yaml
lfsmake2 libhtp
lfsmake2 rsync
lfsmake2 rpcbind
lfsmake2 keyutils
- lfsmake2 libnfsidmap
lfsmake2 nfs
lfsmake2 gnu-netcat
lfsmake2 ncat
lfsmake2 libusbredir
lfsmake2 libseccomp
lfsmake2 qemu
- lfsmake2 netpbm
lfsmake2 netsnmpd
lfsmake2 nagios_nrpe
lfsmake2 nagios-plugins
lfsmake2 monit
lfsmake2 nut
lfsmake2 watchdog
- lfsmake2 libpri
lfsmake2 usb_modeswitch
lfsmake2 usb_modeswitch_data
lfsmake2 zerofree
lfsmake2 u-boot
lfsmake2 u-boot-friendlyarm
lfsmake2 wireless-regdb
- lfsmake2 libsolv
lfsmake2 ddns
+ lfsmake2 python3-pycparser
+ lfsmake2 python3-charset-normalizer
+ lfsmake2 python3-certifi
+ lfsmake2 python3-idna
+ lfsmake2 python3-requests
+ lfsmake2 python3-toml
+ lfsmake2 python3-pyproject2setuppy
+ lfsmake2 python3-tomli
+ lfsmake2 python3-pep517
+ lfsmake2 python3-build
+ lfsmake2 python3-install
+ lfsmake2 python3-urllib3
+ lfsmake2 python3-flit
+ lfsmake2 python3-packaging
+ lfsmake2 python3-typing-extensions
+ lfsmake2 python3-semantic-version
lfsmake2 python3-setuptools-scm
+ lfsmake2 python3-setuptools-rust
lfsmake2 python3-six
lfsmake2 python3-dateutil
lfsmake2 python3-jmespath
lfsmake2 python3-s3transfer
lfsmake2 python3-rsa
lfsmake2 python3-pyasn1
- lfsmake2 python3-urllib3
lfsmake2 python3-botocore
- lfsmake2 python3-msgpack
+ lfsmake2 python3-cffi
+ lfsmake2 python3-cryptography
+ lfsmake2 python3-circuitbreaker
+ lfsmake2 python3-pytz
+ lfsmake2 python3-click
+ lfsmake2 python3-arrow
+ lfsmake2 python3-terminaltables
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 pigz
+ lfsmake2 proxy-accounting
lfsmake2 tmux
lfsmake2 perl-Text-CSV_XS
lfsmake2 lua
lfsmake2 firmware-update
lfsmake2 tshark
lfsmake2 speedtest-cli
- lfsmake2 rfkill
lfsmake2 amazon-ssm-agent
lfsmake2 libloc
lfsmake2 ncdu
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
[ "${BUILD_ARCH}" = "armv6l" ] && rm -rf *.iso
for i in $(ls *.bz2 *.img.xz *.iso 2>/dev/null); do
- md5sum $i > $i.md5
+ b2sum $i > $i.b2
done
cd $PWD
done
# See what we're supposed to do
-case "$1" in
+case "$1" in
build)
- START_TIME=$(now)
+ START_TIME="${SECONDS}"
# Clear screen
${INTERACTIVE} && clear
else
PACKAGENAME=${PACKAGE%.tar.zst}
print_build_stage "Packaged toolchain compilation"
- if [ `md5sum $PACKAGE | awk '{print $1}'` == `cat $PACKAGENAME.md5 | awk '{print $1}'` ]; then
+ if [ `b2sum $PACKAGE | awk '{print $1}'` == `cat $PACKAGENAME.b2 | awk '{print $1}'` ]; then
zstd -d < "${PACKAGE}" | tar x
prepareenv
else
- exiterror "$PACKAGENAME md5 did not match, check downloaded package"
+ exiterror "$PACKAGENAME BLAKE2 checksum did not match, check downloaded package"
fi
fi
else
print_build_stage "Building packages"
buildpackages
-
+
print_build_stage "Checking Logfiles for new Files"
cd $BASEDIR
tools/checkrootfiles
cd $PWD
- print_build_summary $(( $(now) - ${START_TIME} ))
+ print_build_summary $(( SECONDS - START_TIME ))
;;
shell)
# enter a shell inside LFS chroot
FINISHED=0
cd $BASEDIR/lfs
for c in `seq $MAX_RETRIES`; do
- if (( FINISHED==1 )); then
+ if (( FINISHED==1 )); then
break
fi
FINISHED=1
fi
done
done
- echo -e "${BOLD}***Verifying md5sums${NORMAL}"
+ echo -e "${BOLD}***Verifying BLAKE2 checksum${NORMAL}"
ERROR=0
for i in *; do
if [ -f "$i" -a "$i" != "Config" ]; then
lfsmakecommoncheck ${i} > /dev/null || continue
make -s -f $i LFS_BASEDIR=$BASEDIR BUILD_ARCH="${BUILD_ARCH}" \
- MESSAGE="$i\t " md5 >> $LOGFILE 2>&1
+ MESSAGE="$i\t " b2 >> $LOGFILE 2>&1
if [ $? -ne 0 ]; then
- echo -ne "MD5 difference in lfs/$i"
+ echo -ne "BLAKE2 checksum difference in lfs/$i"
print_status FAIL
ERROR=1
fi
fi
done
if [ $ERROR -eq 0 ]; then
- echo -ne "${BOLD}all files md5sum match${NORMAL}"
+ echo -ne "${BOLD}all files BLAKE2 checksum match${NORMAL}"
print_status DONE
else
echo -ne "${BOLD}not all files were correctly download${NORMAL}"
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 \
| 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
+ b2sum cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-${BUILD_ARCH}.tar.zst \
+ > cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-${BUILD_ARCH}.b2
stdumount
;;
gettoolchain)
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.zst $URL_TOOLCHAIN/$PACKAGE.md5 >& /dev/null
+ wget -U "IPFireSourceGrabber/2.x" $URL_TOOLCHAIN/$PACKAGE.tar.zst $URL_TOOLCHAIN/$PACKAGE.b2 >& /dev/null
if [ $? -ne 0 ]; then
echo "`date -u '+%b %e %T'`: error downloading $PACKAGE toolchain for ${BUILD_ARCH} machine" | tee -a $LOGFILE
else
- if [ "`md5sum $PACKAGE.tar.zst | awk '{print $1}'`" = "`cat $PACKAGE.md5 | awk '{print $1}'`" ]; then
- echo "`date -u '+%b %e %T'`: toolchain md5 ok" | tee -a $LOGFILE
+ if [ "`b2sum $PACKAGE.tar.zst | awk '{print $1}'`" = "`cat $PACKAGE.b2 | awk '{print $1}'`" ]; then
+ echo "`date -u '+%b %e %T'`: toolchain BLAKE2 checksum ok" | tee -a $LOGFILE
else
- exiterror "$PACKAGE.md5 did not match, check downloaded package"
+ exiterror "$PACKAGE BLAKE2 checksum did not match, check downloaded package"
fi
fi
else
;;
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
-