# 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-2020 IPFire Team <info@ipfire.org>. #
+# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org>. #
# #
############################################################################
#
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="158" # Core Level (Filename)
+VERSION="2.27" # Version number
+CORE="164" # 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=20210622
+TOOLCHAINVER=20210701
# use multicore and max compression
ZSTD_OPT="-T0 --ultra -22"
CFLAGS_ARCH="-m64 -mtune=generic -fstack-clash-protection -fcf-protection"
;;
- i586)
- BUILDTARGET="${build_arch}-pc-linux-gnu"
- CROSSTARGET="${build_arch}-cross-linux-gnu"
- BUILD_PLATFORM="x86"
- CFLAGS_ARCH="-march=i586 -mtune=generic -fomit-frame-pointer"
- ;;
-
aarch64)
BUILDTARGET="${build_arch}-unknown-linux-gnu"
CROSSTARGET="${build_arch}-cross-linux-gnu"
BUILDTARGET="${build_arch}-unknown-linux-gnueabi"
CROSSTARGET="${build_arch}-cross-linux-gnueabi"
BUILD_PLATFORM="arm"
- CFLAGS_ARCH="-march=armv6 -mfpu=vfp -mfloat-abi=softfp -fomit-frame-pointer"
+ CFLAGS_ARCH="-march=armv6zk+fp -mfpu=vfp -mfloat-abi=softfp -fomit-frame-pointer"
#RUSTFLAGS="-Ccodegen-units=1"
;;
# XZ memory cannot be larger than 2GB on 32 bit systems
case "${build_arch}" in
- i*86|armv*)
+ armv*)
if [ ${xz_memory} -gt 2048 ]; then
xz_memory=2048
fi
x86_64)
echo "x86_64"
;;
- i?86)
- echo "i586"
- ;;
aarch64)
echo "aarch64"
# This is working.
;;
- # x86
- i586:i586|i586:i686|i586:x86_64)
- # These are working.
- ;;
- i586:*)
- error=true
- ;;
-
# ARM
arvm7hl:armv7hl|armv7hl:armv7l)
# These are working.
lfsmake2 gperf
lfsmake2 gzip
lfsmake2 hostname
- lfsmake2 iproute2
- lfsmake2 jwhois
+ lfsmake2 whois
lfsmake2 kbd
lfsmake2 less
lfsmake2 pkg-config
lfsmake2 libnetfilter_cthelper
lfsmake2 libnetfilter_cttimeout
lfsmake2 iptables
+ lfsmake2 iproute2
lfsmake2 screen
lfsmake2 elfutils
lfsmake2 linux KCFG=""
lfsmake2 rtl8189es KCFG=""
lfsmake2 rtl8812au KCFG=""
+ lfsmake2 rtl8822bu KCFG=""
lfsmake2 xradio KCFG=""
lfsmake2 xtables-addons KCFG=""
lfsmake2 linux-initrd KCFG=""
lfsmake2 aprutil
lfsmake2 unbound
lfsmake2 gnutls
+ lfsmake2 libuv
lfsmake2 bind
lfsmake2 dhcp
lfsmake2 dhcpcd
lfsmake2 tcl
lfsmake2 sqlite
lfsmake2 libffi
- lfsmake2 python
lfsmake2 python3
lfsmake2 gdb
lfsmake2 grub
lfsmake2 efivar
lfsmake2 efibootmgr
+ lfsmake2 libtasn1
+ lfsmake2 p11-kit
lfsmake2 ca-certificates
lfsmake2 fireinfo
lfsmake2 libnet
lfsmake2 libinih
lfsmake2 cdrkit
lfsmake2 dosfstools
+ lfsmake2 exfatprogs
lfsmake2 reiserfsprogs
+ lfsmake2 liburcu
lfsmake2 xfsprogs
lfsmake2 sysfsutils
lfsmake2 fuse
lfsmake2 ntfs-3g
lfsmake2 ethtool
lfsmake2 fcron
+ lfsmake2 ExtUtils-PkgConfig
lfsmake2 perl-GD
lfsmake2 GD-Graph
lfsmake2 GD-TextUtil
lfsmake2 whatmask
lfsmake2 libtirpc
lfsmake2 conntrack-tools
- lfsmake2 ipaddr
lfsmake2 iputils
lfsmake2 l7-protocols
lfsmake2 hwdata
lfsmake2 Digest
lfsmake2 Digest-SHA1
lfsmake2 Digest-HMAC
- lfsmake2 libwww-perl
+ lfsmake2 perl-libwww
lfsmake2 Net-DNS
lfsmake2 Net-IPv4Addr
lfsmake2 Net_SSLeay
lfsmake2 XML-Parser
lfsmake2 Crypt-PasswdMD5
lfsmake2 Net-Telnet
- lfsmake2 python-setuptools
lfsmake2 python3-setuptools
lfsmake2 python3-inotify
lfsmake2 python3-docutils
lfsmake2 freefont
lfsmake2 pixman
lfsmake2 cairo
+ lfsmake2 harfbuzz
+ lfsmake2 fribidi
lfsmake2 pango
lfsmake2 rrdtool
lfsmake2 setup
lfsmake2 br2684ctl
lfsmake2 pcmciautils
lfsmake2 lm_sensors
+ lfsmake2 libstatgrab
lfsmake2 liboping
lfsmake2 collectd
lfsmake2 elinks
lfsmake2 python3-pyparsing
lfsmake2 spice-protocol
lfsmake2 spice
- lfsmake2 sdl
+ lfsmake2 sdl2
lfsmake2 libusbredir
lfsmake2 libseccomp
lfsmake2 qemu
lfsmake2 zerofree
lfsmake2 minicom
lfsmake2 ddrescue
- lfsmake2 client175
lfsmake2 powertop
lfsmake2 parted
lfsmake2 swig
+ lfsmake2 dtc
lfsmake2 u-boot
lfsmake2 u-boot-friendlyarm
- lfsmake2 python-typing
- lfsmake2 python-m2crypto
lfsmake2 wireless-regdb
- lfsmake2 crda
lfsmake2 libsolv
lfsmake2 ddns
lfsmake2 python3-setuptools-scm
lfsmake2 telnet
lfsmake2 xinetd
lfsmake2 stress
- lfsmake2 libstatgrab
lfsmake2 sarg
lfsmake2 nginx
lfsmake2 sysbench
lfsmake2 ipset
lfsmake2 dnsdist
lfsmake2 bird
+ lfsmake2 libyang
lfsmake2 frr
lfsmake2 dmidecode
lfsmake2 mcelog
- lfsmake2 util-macros
lfsmake2 libpciaccess
lfsmake2 libyajl
lfsmake2 libvirt
lfsmake2 socat
lfsmake2 libcdada
lfsmake2 pmacct
+ lfsmake2 squid-asnbl
}
buildinstaller() {
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
+ zstd -d < "${PACKAGE}" | tar x
prepareenv
else
exiterror "$PACKAGENAME md5 did not match, check downloaded package"
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.xz | awk '{print $1}'`" = "`cat $PACKAGE.md5 | awk '{print $1}'`" ]; then
+ 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
else
exiterror "$PACKAGE.md5 did not match, check downloaded package"
fi
;;
uploadsrc)
- PWD=`pwd`
if [ -z $IPFIRE_USER ]; then
echo -n "You have to setup IPFIRE_USER first. See .config for details."
print_status FAIL
exit 1
fi
- URL_SOURCE=$(grep URL_SOURCE lfs/Config | awk '{ print $3 }')
- REMOTE_FILES=$(echo "ls -1" | sftp -C ${IPFIRE_USER}@${URL_SOURCE})
+ URL_SOURCE="$(awk '/^URL_SOURCE/ { print $3 }' lfs/Config)"
+
+ rsync \
+ --recursive \
+ --update \
+ --ignore-existing \
+ --progress \
+ --human-readable \
+ --exclude="toolchains/" \
+ "${BASEDIR}/cache/" \
+ "${IPFIRE_USER}@${URL_SOURCE}"
- for file in ${BASEDIR}/cache/*; do
- [ -d "${file}" ] && continue
- grep -q "$(basename ${file})" <<<$REMOTE_FILES && continue
- NEW_FILES="$NEW_FILES $file"
- done
- [ -n "$NEW_FILES" ] && scp -2 $NEW_FILES ${IPFIRE_USER}@${URL_SOURCE}
- cd $BASEDIR
- cd $PWD
exit 0
;;
lang)
shift
exec "${BASEDIR}/tools/find-dependencies" "${BASEDIR}/build" "$@"
;;
+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
+ else
+ print_status FAIL
+ fi
+ ;;
*)
- echo "Usage: $0 {build|changelog|clean|gettoolchain|downloadsrc|shell|sync|toolchain|update-contributors|find-dependencies}"
+ echo "Usage: $0 [OPTIONS] {build|changelog|clean|gettoolchain|downloadsrc|shell|sync|toolchain|update-contributors|find-dependencies|check-manualpages}"
cat doc/make.sh-usage
;;
esac