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="149" # Core Level (Filename)
+CORE="157" # 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 }'`
GIT_TAG="$(git tag | tail -1)" # Git Tag
GIT_LASTCOMMIT="$(git rev-parse --verify HEAD)" # Last commit
-TOOLCHAINVER=20200814
+TOOLCHAINVER=20200924
###############################################################################
#
BUILDTARGET="${build_arch}-pc-linux-gnu"
CROSSTARGET="${build_arch}-cross-linux-gnu"
BUILD_PLATFORM="x86"
- CFLAGS_ARCH="-march=i586 -mtune=generic -fomit-frame-pointer -fcf-protection"
+ CFLAGS_ARCH="-march=i586 -mtune=generic -fomit-frame-pointer"
;;
aarch64)
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"
+ ;;
+
*)
exiterror "Cannot build for architure ${build_arch}"
;;
# 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
echo "armv5tel"
;;
+ riscv64)
+ echo "riscv64"
+ ;;
+
*)
exiterror "Cannot guess build architecture"
;;
# 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"
# 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
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
;;
*)
arm*)
magic="7f454c4601010100000000000000000002002800"
;;
+ riscv64)
+ magic="7f454c460201010000000000000000000200f300"
+ ;;
x86_64)
magic="7f454c4602010100000000000000000002003e00"
;;
lfsmake1 gcc PASS=1
lfsmake1 linux KCFG="-headers"
lfsmake1 glibc
+ lfsmake1 libxcrypt
lfsmake1 gcc PASS=L
lfsmake1 binutils PASS=2
lfsmake1 gcc PASS=2
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
lfsmake2 kbd
lfsmake2 less
lfsmake2 pkg-config
+ lfsmake2 procps
lfsmake2 make
lfsmake2 man
lfsmake2 net-tools
lfsmake2 texinfo
lfsmake2 util-linux
lfsmake2 vim
+ lfsmake2 e2fsprogs
}
buildipfire() {
lfsmake2 initscripts
lfsmake2 backup
lfsmake2 openssl
- [ "${BUILD_ARCH}" = "i586" ] && lfsmake2 openssl KCFG='-sse2'
lfsmake2 kmod
lfsmake2 udev
lfsmake2 popt
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"
;;
lfsmake2 linux-atm
lfsmake2 gdbm
lfsmake2 pam
+ lfsmake2 c-ares
lfsmake2 curl
lfsmake2 tcl
lfsmake2 sqlite
lfsmake2 libffi
lfsmake2 python
lfsmake2 python3
+ lfsmake2 gdb
lfsmake2 grub
lfsmake2 efivar
lfsmake2 efibootmgr
lfsmake2 nasm
lfsmake2 libarchive
lfsmake2 cmake
+ lfsmake2 ninja
+ lfsmake2 meson
lfsmake2 libjpeg
- lfsmake2 libjpeg-compat
+ lfsmake2 openjpeg
lfsmake2 libexif
lfsmake2 libpng
lfsmake2 libtiff
lfsmake2 slang
lfsmake2 newt
lfsmake2 libsmooth
- lfsmake2 attr
- lfsmake2 acl
lfsmake2 libcap
lfsmake2 libcap-ng
lfsmake2 pciutils
lfsmake2 perl-Device-SerialPort
lfsmake2 perl-Device-Modem
lfsmake2 perl-Apache-Htpasswd
+ lfsmake2 perl-Parse-Yapp
lfsmake2 gnupg
lfsmake2 hdparm
lfsmake2 sdparm
lfsmake2 Archive-Tar
lfsmake2 Archive-Zip
lfsmake2 Text-Tabs+Wrap
- lfsmake2 Locale-Country
lfsmake2 XML-Parser
lfsmake2 Crypt-PasswdMD5
lfsmake2 Net-Telnet
lfsmake2 ghostscript
lfsmake2 qpdf
lfsmake2 poppler
+ lfsmake2 poppler-data
lfsmake2 cups-filters
lfsmake2 epson-inkjet-printer-escpr
lfsmake2 foomatic
lfsmake2 hplip
lfsmake2 cifs-utils
lfsmake2 krb5
+ lfsmake2 rpcsvc-proto
lfsmake2 samba
lfsmake2 netatalk
lfsmake2 sudo
lfsmake2 fetchmail
lfsmake2 clamav
lfsmake2 perl-NetAddr-IP
- lfsmake2 spamassassin
- lfsmake2 perl-Net-LibIDN
- lfsmake2 amavisd
lfsmake2 dma
lfsmake2 alsa
lfsmake2 mpfire
lfsmake2 rsync
lfsmake2 rpcbind
lfsmake2 keyutils
- lfsmake2 rpcsvc-proto
lfsmake2 libnfsidmap
lfsmake2 nfs
lfsmake2 gnu-netcat
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
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-s3transfer
lfsmake2 python3-rsa
lfsmake2 python3-pyasn1
+ lfsmake2 python3-urllib3
lfsmake2 python3-botocore
lfsmake2 python3-llfuse
lfsmake2 python3-msgpack
lfsmake2 fping
lfsmake2 telnet
lfsmake2 xinetd
- lfsmake2 gpgme
- lfsmake2 pygpgme
- lfsmake2 pakfire3
lfsmake2 stress
lfsmake2 libstatgrab
lfsmake2 sarg
lfsmake2 libpciaccess
lfsmake2 libyajl
lfsmake2 libvirt
+ lfsmake2 libtalloc
lfsmake2 freeradius
lfsmake2 perl-common-sense
lfsmake2 perl-inotify2
lfsmake2 dehydrated
lfsmake2 shairport-sync
lfsmake2 borgbackup
+ lfsmake2 lmdb
lfsmake2 knot
lfsmake2 spectre-meltdown-checker
lfsmake2 zabbix_agentd
lfsmake2 rfkill
lfsmake2 amazon-ssm-agent
lfsmake2 libloc
+ lfsmake2 ncdu
+ lfsmake2 lshw
+ lfsmake2 socat
}
buildinstaller() {
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
$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