X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=make.sh;h=8b44948d880f6635fd23b53f0e1008c258ef2925;hb=a5ee98176cc53b59ee3188bbdeda23913f0b5154;hp=9ddfd4c07bcf6f1f0ec01097b971afa5d8bd7a02;hpb=cbd0df20ed3a1089e21110d2bf200cbea3ac063a;p=people%2Fpmueller%2Fipfire-2.x.git diff --git a/make.sh b/make.sh index 9ddfd4c07b..8b44948d88 100755 --- 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="152" # 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 }'` @@ -178,6 +177,13 @@ configure_build() { 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}" ;; @@ -220,6 +226,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 @@ -262,6 +271,10 @@ configure_build_guess() { echo "armv5tel" ;; + riscv64) + echo "riscv64" + ;; + *) exiterror "Cannot guess build architecture" ;; @@ -432,11 +445,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,7 +473,7 @@ 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 @@ -804,7 +812,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 +876,9 @@ qemu_find_build_helper_name() { arm*) magic="7f454c4601010100000000000000000002002800" ;; + riscv64) + magic="7f454c460201010000000000000000000200f300" + ;; x86_64) magic="7f454c4602010100000000000000000002003e00" ;; @@ -1030,6 +1041,7 @@ buildtoolchain() { lfsmake1 gcc PASS=1 lfsmake1 linux KCFG="-headers" lfsmake1 glibc + lfsmake1 libxcrypt lfsmake1 gcc PASS=L lfsmake1 binutils PASS=2 lfsmake1 gcc PASS=2 @@ -1076,40 +1088,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 +1133,7 @@ buildbase() { lfsmake2 kbd lfsmake2 less lfsmake2 pkg-config + lfsmake2 procps lfsmake2 make lfsmake2 man lfsmake2 net-tools @@ -1133,6 +1146,7 @@ buildbase() { lfsmake2 texinfo lfsmake2 util-linux lfsmake2 vim + lfsmake2 e2fsprogs } buildipfire() { @@ -1142,7 +1156,6 @@ buildipfire() { lfsmake2 initscripts lfsmake2 backup lfsmake2 openssl - [ "${BUILD_ARCH}" = "i586" ] && lfsmake2 openssl KCFG='-sse2' lfsmake2 kmod lfsmake2 udev lfsmake2 popt @@ -1183,20 +1196,12 @@ buildipfire() { 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="" ;; @@ -1204,10 +1209,6 @@ buildipfire() { 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" ;; @@ -1233,12 +1234,14 @@ buildipfire() { 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 @@ -1251,8 +1254,9 @@ buildipfire() { lfsmake2 nasm lfsmake2 libarchive lfsmake2 cmake + lfsmake2 ninja + lfsmake2 meson lfsmake2 libjpeg - lfsmake2 libjpeg-compat lfsmake2 openjpeg lfsmake2 libexif lfsmake2 libpng @@ -1262,8 +1266,6 @@ buildipfire() { lfsmake2 slang lfsmake2 newt lfsmake2 libsmooth - lfsmake2 attr - lfsmake2 acl lfsmake2 libcap lfsmake2 libcap-ng lfsmake2 pciutils @@ -1281,6 +1283,7 @@ buildipfire() { lfsmake2 arping lfsmake2 beep lfsmake2 libssh + lfsmake2 libinih lfsmake2 cdrkit lfsmake2 dosfstools lfsmake2 reiserfsprogs @@ -1297,10 +1300,10 @@ 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 @@ -1333,6 +1336,7 @@ buildipfire() { lfsmake2 Mail-Tools lfsmake2 MIME-Tools lfsmake2 Net-Server + lfsmake2 Canary-Stability lfsmake2 Convert-TNEF lfsmake2 Convert-UUlib lfsmake2 Archive-Tar @@ -1342,14 +1346,9 @@ 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-inotify + lfsmake2 python3-docutils + lfsmake2 python3-daemon lfsmake2 glib lfsmake2 ntp lfsmake2 openssh @@ -1384,7 +1383,6 @@ buildipfire() { lfsmake2 spandsp lfsmake2 lz4 lfsmake2 lzo - lfsmake2 zstd lfsmake2 openvpn lfsmake2 mpage lfsmake2 dbus @@ -1417,9 +1415,6 @@ buildipfire() { lfsmake2 fetchmail lfsmake2 clamav lfsmake2 perl-NetAddr-IP - lfsmake2 spamassassin - lfsmake2 perl-Net-LibIDN - lfsmake2 amavisd lfsmake2 dma lfsmake2 alsa lfsmake2 mpfire @@ -1428,7 +1423,6 @@ buildipfire() { lfsmake2 libmad lfsmake2 libogg lfsmake2 libvorbis - lfsmake2 libdvbpsi lfsmake2 flac lfsmake2 lame lfsmake2 sox @@ -1460,7 +1454,6 @@ buildipfire() { lfsmake2 igmpproxy lfsmake2 fbset lfsmake2 opus - lfsmake2 python-six lfsmake2 python-pyparsing lfsmake2 spice-protocol lfsmake2 spice @@ -1468,7 +1461,6 @@ buildipfire() { lfsmake2 libusbredir lfsmake2 libseccomp lfsmake2 qemu - lfsmake2 sane lfsmake2 netpbm lfsmake2 netsnmpd lfsmake2 nagios_nrpe @@ -1500,13 +1492,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 @@ -1521,21 +1512,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 @@ -1547,24 +1533,17 @@ 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 @@ -1576,9 +1555,6 @@ buildipfire() { lfsmake2 fping lfsmake2 telnet lfsmake2 xinetd - lfsmake2 gpgme - lfsmake2 pygpgme - lfsmake2 pakfire3 lfsmake2 stress lfsmake2 libstatgrab lfsmake2 sarg @@ -1648,6 +1624,9 @@ buildipfire() { lfsmake2 libloc lfsmake2 ncdu lfsmake2 lshw + lfsmake2 socat + lfsmake2 libcdada + lfsmake2 pmacct } buildinstaller() { @@ -1813,9 +1792,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 @@ -1975,7 +1954,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