diff --git a/bsp/buildroot/CHANGES b/bsp/buildroot/CHANGES index e5021f7f..5d2bc006 100644 --- a/bsp/buildroot/CHANGES +++ b/bsp/buildroot/CHANGES @@ -1,3 +1,140 @@ +2019.02.6, Released October 3rd, 2019 + + Important / security related fixes. + + Defconfigs: AArch64-efi: Fix grub configuration, Beaglebone: + Use default console settings + + Dependencies: Ensure host has JSON::PP perl module installed + if webkitgtk/wpewebkit packages are enabled as it is needed + during their build process. + + Toolchain: Generate check-headers program under BUILD_DIR + rather than /tmp to fix issues with distributions mounting + /tmp noexec. + + Updated/fixed packages: asterisk, augeas, bind, bwm-ng, cups, + cups-filters, docker-cli, docker-engine, docker-proxy, + dropbear, e2fsprogs, eudev, exim, expat, gcc, go, ifplugd, + haveged, iptables, joe, kf5-extra-cmake-modules, + kf5-modemmanager-qt, kf5-networkmanager-qt, libcurl, + libgcrypt, libgpg-error, libnftl, libnspr, libnss, libopenssl, + luksmeta, mariadb, mbedtls, mongodb, mosquitto, ncurses, + nfs-utils, nghttp2, nodejs, openvmtools, php, protobuf, putty, + qemu, qt5base, samba4, swupdate, systemd-bootchart, thttpd, + uclibc, unzip, util-linux, wireshark + + Issues resolved (http://bugs.uclibc.org): + + #10806: Allow nfs-utils to use ipv6 + #11781: mariadb build error + #12031: Build of cups-filters fails while linking, apparently due.. + #12141: eudev package is missing "render" and "kvm" groups + #12181: dropbear: norootlogin (-w) no longer works when PAM is enabled + #12241: Permission denied while running "make" + +2019.02.5, Released September 2nd, 2019 + + Important / security related fixes. + + Filesystems: Pass extra pax options to tar for binary + reproducibility. + + Updated/fixed packages: apache, arm-trusted-firmware, + asterisk, atk, autofs, batctl, batman-adv, berkeleydb, brotli, + busybox, bzip2, clamav, cloop, cmake, collectd, connman-gtk, + cryptopp, dahdi-linux, dahdi-tools, daq, dehydrated, dovecot, + dovecot-pigeonhole,, elfutils, evtest, exim, expect, giflib, + git, glib-networking, glibc, gnupg2, gnutls, go, + gst1-rtsp-server, gtkperf, gupnp-tools, gvfs, imagemagick, + imx-uuc, intel-microcode, json-glib, lftp, libbsd, libcurl, + libgit2, libgtk3, libmodplug, libnss, libpri, libshout, + libss7, libssh2, libvips, libxcb, linux-headers, mdadm, + mesa3d, metacity, mpg123, mosquitto, musl, nginx, openblas, + opencv3, openldap, openvmtools, pcmanfm, php, pigpio, + postgresql, prboom, proftpd, proj, python, python-django, + python-idna, python-numpy, python-urllib3, python3, qemu, qt5, + qt5base, qt5enginio, quagga, rygel, squid, subversion, + tcpreplay, unzip, vlc, vte, webkitgtk, weston, wireless-regdb, + xen, xfont_font-util, xlib_libICE, xlib_libXfont, + xlib_libXfont2, yad, zeromq + + Issues resolved (http://bugs.uclibc.org): + + #11741: pigpio does not build host-pigpio + #11876: automount using host mount/umount + #11881: Build breaks with lftp package enabled and libexpat1-dev inst.. + #11921: dahdi fails to build + #11961: libpri build failure + #12096: tcpreplay: build fails if libdumbnet-dev is installed in the.. + #12106: daq: build fails if libdumbnet-dev is installed in the host + #12126: vc4 has neon as hard dependency + +2019.02.4, Released July 10th, 2019 + + Important / security related fixes. + + arch: x86: Fix typo breaking 'core-avx2' variant, add Westmere + variant. + + linux: Workaround -Werror related build failure on powerpc, + by forcing CONFIG_PPC_DISABLE_WERROR on. + + support/testing: Emulate a machine with 256MB RAM to fix + issues with certain tests running out of memory. + + test-pkg: Correct long option handling and clean output dir + after a successful build to save disk space. + + Ensure custom _OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS are + passed before the standard exclusions so they are not ignored + by rsync when using override-srcdir. + + Defconfigs: QEMU: use 'rootwait' kernel option to ensure root + partition is available before mounting. + + Updated/fixed packages: barebox, bzip2, davfs2, dbus, dialog, + docker-cli, docker-engine, expat, faad2, ffmpeg, freeswitch, + gerbera, haveged, irssi, libcdadio, libgit2, libglib2, + libsecret, libvncserver, lmbench, logrotate, mariadb, meson, + mongoose, monit, mpd, openblas, php, postgresql, psplash, + python, python-django, python3, qt5base, samba4, taglib, + tvheadend, vlc, webkitgtk, xserver_xorg-server, znc + +2019.02.3, Released June 7th, 2019 + + Important / security related fixes. + + Infra: pkg-config: Use a dedicated timestamp file rather than + .config as that gets touched by linux-4.19+, causing repeated + builds. + + check-bin-arch: Also ignore /usr/lib/grub to support merged + /usr setups, similar to how /lib/grub is ignored. + + gnuconfig/config.sub: Add C-SKY architecture support. + + Updated/fixed packages: assimp, atftp, atop, botan, busybox, + ca-certificates, chocolate-doom, cjson, coreutils, cracklib, + ddrescue, dhcp, docker-cli, docker-containerd, docker-engine, + dosfstools, dovecot, dovecot-pigeonhole, dropbear, exim, + ffmpeg, flare-engine, gcc, gdb, gerbera, glibmm, go, gpsd, + gst-ffmpeg, gst1-plugins-bad, gst1-plugins-base, imagemagick, + intel-microcode, jasper, kf5-kcoreaddons, kismet, libcurl, + libglib2, libnss, libopenssl, libsigrok, libssh2, libupnp18, + linuxptp, luajit, lynx, matchbox-panel, mender, + netcat-openbsd, netsurf, nfs-utils, opus, orc, owfs, + pcsc-lite, php, popt, postgresql, python, python-cython, + python-django, python-ply, qt5enginio, rpm, runc, samba4, + sqlite, subversion, supertux, systemd, tslib, uclibc, + v4l2loopback, webkitgtk, woff2 + + Issues resolved (http://bugs.uclibc.org): + + #11816: Only selected coreutils binaries are installed + #11841: grub-efi.cfg not used when building EFI disk image + #11911: systemd v240 memory leak in systemd-journald + 2019.02.2, Released April 29th, 2019 Important / security related fixes. diff --git a/bsp/buildroot/DEVELOPERS b/bsp/buildroot/DEVELOPERS index 8a0d1260..c62a2cb8 100644 --- a/bsp/buildroot/DEVELOPERS +++ b/bsp/buildroot/DEVELOPERS @@ -26,9 +26,6 @@ # infrastructure, and will be CC'ed on all patches that add or # modify packages that use this infrastructure. -N: Abhilash Tuse -F: package/gstreamer1/gst1-rtsp-server/ - N: Adam Duskett F: package/audit/ F: package/busybox/ @@ -127,7 +124,6 @@ N: Anders Darander F: package/ktap/ N: André Hentschel -F: package/azure-iot-sdk-c/ F: package/libkrb5/ F: package/openal/ F: package/p7zip/ @@ -148,9 +144,6 @@ F: package/zstd/ N: Andrey Yurovsky F: package/rauc/ -N: Andy Kennedy -F: package/libunwind/ - N: Angelo Compagnucci F: package/corkscrew/ F: package/fail2ban/ @@ -209,6 +202,7 @@ F: package/sqlcipher/ F: package/stress/ N: Asaf Kahlon +F: package/collectd/ F: package/libuv/ F: package/python* F: package/zeromq/ @@ -633,9 +627,6 @@ F: package/unscd/ N: Dushara Jayasinghe F: package/prosody/ -N: Ed Swierk -F: package/xxhash/ - N: Eric Le Bihan F: docs/manual/adding-packages-meson.txt F: package/adwaita-icon-theme/ @@ -821,11 +812,9 @@ N: Francois Perrad F: board/olimex/a20_olinuxino F: configs/olimex_a20_olinuxino_* F: package/4th/ -F: package/botan/ F: package/chipmunk/ F: package/dado/ F: package/ficl/ -F: package/gdbm/ F: package/libtomcrypt/ F: package/libtommath/ F: package/libump/ @@ -843,9 +832,6 @@ F: package/netsurf/ F: package/perl* F: package/pkg-perl.mk F: package/pkg-luarocks.mk -F: package/qemu/ -F: package/sdl2_mixer/ -F: package/sdl2_net/ F: package/tekui/ F: package/wsapi-fcgi/ F: package/wsapi-xavante/ @@ -897,7 +883,8 @@ F: package/tesseract-ocr/ F: package/webp/ F: package/xapian/ -N: Giulio Benetti +N: Giulio Benetti +F: package/minicom/ F: package/sunxi-mali-mainline/ F: package/sunxi-mali-mainline-driver/ @@ -979,6 +966,7 @@ F: board/bananapi/ F: board/engicam/ F: board/friendlyarm/nanopi-a64/ F: board/friendlyarm/nanopi-neo2/ +F: board/olimex/a33_olinuxino/ F: board/olimex/a64-olinuxino/ F: board/orangepi/orangepi-lite2/ F: board/orangepi/orangepi-one-plus @@ -999,6 +987,7 @@ F: configs/engicam_imx6ul_geam_defconfig F: configs/engicam_imx6ul_isiot_defconfig F: configs/friendlyarm_nanopi_a64_defconfig F: configs/friendlyarm_nanopi_neo2_defconfig +F: configs/olimex_a33_olinuxino_defconfig F: configs/olimex_a64_olinuxino_defconfig F: configs/orangepi_lite2_defconfig F: configs/orangepi_one_plus_defconfig @@ -1205,9 +1194,6 @@ F: package/python-pygame/ N: Julien Corjon F: package/qt5/ -N: Julien Floret -F: package/lldpd/ - N: Julien Grossholtz F: package/paho-mqtt-c @@ -1227,9 +1213,6 @@ F: package/cpuload/ F: package/bwm-ng/ F: package/ramsmp/ -N: Kevin Joly -F: package/libgphoto2/ - N: Koen Martens F: package/capnproto/ F: package/linuxconsoletools/ @@ -1333,9 +1316,6 @@ F: package/luaossl/ F: package/rs485conf/ F: package/turbolua/ -N: Marcin Nowakowski -F: package/libkcapi/ - N: Marcus Folkesson F: package/libostree/ F: package/libselinux/ @@ -1367,10 +1347,6 @@ F: boot/riscv-pk/ F: configs/qemu_riscv32_virt_defconfig F: configs/qemu_riscv64_virt_defconfig -N: Markos Chandras -F: package/harfbuzz/ -F: package/libsecret/ - N: Martin Bark F: board/raspberrypi/ F: configs/raspberrypi3_defconfig @@ -1391,7 +1367,7 @@ F: package/tslib/ F: package/x11r7/xdriver_xf86-input-tslib/ F: package/x11vnc/ -N: Mathieu Audat +N: Mathieu Audat F: board/technologic/ts4900/ F: configs/ts4900_defconfig F: package/ts4900-fpga/ @@ -1785,9 +1761,6 @@ F: package/libdvbpsi/ F: package/mraa/ F: package/synergy/ -N: Pranit Sirsat -F: package/paho-mqtt-c/ - N: Qais Yousef F: package/bellagio/ @@ -1818,7 +1791,14 @@ N: Ricardo Martincoski F: package/atop/ N: Ricardo Martincoski -F: support/testing/ +F: support/testing/infra/ +F: support/testing/run-tests +F: support/testing/tests/core/test_file_capabilities.py +F: support/testing/tests/download/ +F: support/testing/tests/package/*_python*.py +F: support/testing/tests/package/test_atop.py +F: support/testing/tests/package/test_syslog_ng.py +F: support/testing/tests/utils/test_check_package.py F: utils/check-package F: utils/checkpackagelib/ @@ -2040,9 +2020,6 @@ F: package/tovid/ F: package/udftools/ F: package/xorriso/ -N: Steve Thomas -F: package/isl/ - N: Steven Noonan F: package/hwloc/ F: package/powertop/ @@ -2180,7 +2157,7 @@ F: package/pixz/ N: Vinicius Tinti F: package/python-thrift/ -N: Vivien Didelot +N: Vivien Didelot F: board/technologic/ts5500/ F: configs/ts5500_defconfig @@ -2262,6 +2239,8 @@ F: package/zisofs-tools/ F: support/download/ N: Yegor Yefremov +F: configs/beaglebone_defconfig +F: configs/beaglebone_qt5_defconfig F: package/acl/ F: package/attr/ F: package/bluez_utils/ @@ -2270,6 +2249,7 @@ F: package/bootstrap/ F: package/cannelloni/ F: package/can-utils/ F: package/circus/ +F: package/dhcpcd/ F: package/feh/ F: package/giblib/ F: package/imlib2/ @@ -2286,6 +2266,7 @@ F: package/libubox/ F: package/libuci/ F: package/linux-firmware/ F: package/modem-manager/ +F: package/nftables/ F: package/nuttcp/ F: package/parted/ F: package/phytool/ diff --git a/bsp/buildroot/Makefile b/bsp/buildroot/Makefile index c510b7cb..8bdf5460 100644 --- a/bsp/buildroot/Makefile +++ b/bsp/buildroot/Makefile @@ -92,9 +92,9 @@ all: .PHONY: all # Set and export the version string -export BR2_VERSION := 2019.02.2 +export BR2_VERSION := 2019.02.6 # Actual time the release is cut (for reproducible builds) -BR2_VERSION_EPOCH = 1556527000 +BR2_VERSION_EPOCH = 1570115000 # Save running make version since it's clobbered by the make package RUNNING_MAKE_VERSION := $(MAKE_VERSION) @@ -248,7 +248,6 @@ ifeq ($(BR2_REPRODUCIBLE),y) export TZ = UTC export LANG = C export LC_ALL = C -export GZIP = -n endif # To put more focus on warnings, be less verbose as default @@ -811,6 +810,7 @@ endif # merged /usr .PHONY: target-post-image target-post-image: $(TARGETS_ROOTFS) target-finalize staging-finalize @rm -f $(ROOTFS_COMMON_TAR) + $(Q)mkdir -p $(BINARIES_DIR) @$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \ $(call MESSAGE,"Executing post-image script $(s)"); \ $(EXTRA_ENV) $(s) $(BINARIES_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep)) diff --git a/bsp/buildroot/VERSION b/bsp/buildroot/VERSION index 7a25a214..9d49a5aa 100644 --- a/bsp/buildroot/VERSION +++ b/bsp/buildroot/VERSION @@ -1 +1 @@ -buildroot 2019_02_2 +buildroot 2019_02_6 diff --git a/bsp/buildroot/arch/Config.in.x86 b/bsp/buildroot/arch/Config.in.x86 index f7c53a0f..331ee06b 100644 --- a/bsp/buildroot/arch/Config.in.x86 +++ b/bsp/buildroot/arch/Config.in.x86 @@ -101,6 +101,15 @@ config BR2_x86_corei7 select BR2_X86_CPU_HAS_SSSE3 select BR2_X86_CPU_HAS_SSE4 select BR2_X86_CPU_HAS_SSE42 +config BR2_x86_westmere + bool "westmere" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 config BR2_x86_corei7_avx bool "corei7-avx" select BR2_X86_CPU_HAS_MMX @@ -235,8 +244,9 @@ config BR2_ARCH default "i686" if BR2_x86_nocona && BR2_i386 default "i686" if BR2_x86_core2 && BR2_i386 default "i686" if BR2_x86_corei7 && BR2_i386 + default "i686" if BR2_x86_westmere && BR2_i386 default "i686" if BR2_x86_corei7_avx && BR2_i386 - default "i686" if BR2_x86_corei7_avx2 && BR2_i386 + default "i686" if BR2_x86_core_avx2 && BR2_i386 default "i686" if BR2_x86_atom && BR2_i386 default "i686" if BR2_x86_silvermont && BR2_i386 default "i686" if BR2_x86_opteron && BR2_i386 @@ -271,6 +281,7 @@ config BR2_GCC_TARGET_ARCH default "corei7-avx" if BR2_x86_corei7_avx default "core-avx2" if BR2_x86_core_avx2 default "atom" if BR2_x86_atom + default "westmere" if BR2_x86_westmere default "silvermont" if BR2_x86_silvermont default "k8" if BR2_x86_opteron default "k8-sse3" if BR2_x86_opteron_sse3 diff --git a/bsp/buildroot/board/pc/grub-efi.cfg b/bsp/buildroot/board/pc/grub-efi.cfg deleted file mode 100644 index 222301a4..00000000 --- a/bsp/buildroot/board/pc/grub-efi.cfg +++ /dev/null @@ -1,6 +0,0 @@ -set default="0" -set timeout="5" - -menuentry "Buildroot" { - linux /bzImage root=/dev/sda2 rootwait console=tty1 -} diff --git a/bsp/buildroot/board/pc/readme.txt b/bsp/buildroot/board/pc/readme.txt index 895331b0..41aec50d 100644 --- a/bsp/buildroot/board/pc/readme.txt +++ b/bsp/buildroot/board/pc/readme.txt @@ -57,13 +57,7 @@ qemu-system-x86_64 \ Emulation in qemu (UEFI) ======================== -1. Edit grub-efi.cfg - - Since the driver will show up in the virtual machine as /dev/vda, - change board/pc/grub-efi.cfg to use root=/dev/vda2 instead of - root=/dev/sda2. Then rebuild grub2 and the image. - -2. Run the emulation with: +Run the emulation with: qemu-system-x86_64 \ -M pc \ diff --git a/bsp/buildroot/board/qemu/aarch64-virt/readme.txt b/bsp/buildroot/board/qemu/aarch64-virt/readme.txt index 1ff2fba4..f868905d 100644 --- a/bsp/buildroot/board/qemu/aarch64-virt/readme.txt +++ b/bsp/buildroot/board/qemu/aarch64-virt/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-aarch64 -M virt -cpu cortex-a53 -nographic -smp 1 -kernel output/images/Image -append "root=/dev/vda console=ttyAMA0" -netdev user,id=eth0 -device virtio-net-device,netdev=eth0 -drive file=output/images/rootfs.ext4,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 + qemu-system-aarch64 -M virt -cpu cortex-a53 -nographic -smp 1 -kernel output/images/Image -append "rootwait root=/dev/vda console=ttyAMA0" -netdev user,id=eth0 -device virtio-net-device,netdev=eth0 -drive file=output/images/rootfs.ext4,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 The login prompt will appear in the terminal that started Qemu. diff --git a/bsp/buildroot/board/qemu/arm-versatile/readme.txt b/bsp/buildroot/board/qemu/arm-versatile/readme.txt index 33cdb7b8..f3a9e1ab 100644 --- a/bsp/buildroot/board/qemu/arm-versatile/readme.txt +++ b/bsp/buildroot/board/qemu/arm-versatile/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-arm -M versatilepb -kernel output/images/zImage -dtb output/images/versatile-pb.dtb -drive file=output/images/rootfs.ext2,if=scsi,format=raw -append "root=/dev/sda console=ttyAMA0,115200" -serial stdio -net nic,model=rtl8139 -net user + qemu-system-arm -M versatilepb -kernel output/images/zImage -dtb output/images/versatile-pb.dtb -drive file=output/images/rootfs.ext2,if=scsi,format=raw -append "rootwait root=/dev/sda console=ttyAMA0,115200" -serial stdio -net nic,model=rtl8139 -net user Or for the noMMU emulation: diff --git a/bsp/buildroot/board/qemu/arm-vexpress/readme.txt b/bsp/buildroot/board/qemu/arm-vexpress/readme.txt index 35137e05..7f7b43a3 100644 --- a/bsp/buildroot/board/qemu/arm-vexpress/readme.txt +++ b/bsp/buildroot/board/qemu/arm-vexpress/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-arm -M vexpress-a9 -smp 1 -m 256 -kernel output/images/zImage -dtb output/images/vexpress-v2p-ca9.dtb -drive file=output/images/rootfs.ext2,if=sd,format=raw -append "console=ttyAMA0,115200 root=/dev/mmcblk0" -serial stdio -net nic,model=lan9118 -net user + qemu-system-arm -M vexpress-a9 -smp 1 -m 256 -kernel output/images/zImage -dtb output/images/vexpress-v2p-ca9.dtb -drive file=output/images/rootfs.ext2,if=sd,format=raw -append "console=ttyAMA0,115200 rootwait root=/dev/mmcblk0" -serial stdio -net nic,model=lan9118 -net user The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. diff --git a/bsp/buildroot/board/qemu/m68k-q800/readme.txt b/bsp/buildroot/board/qemu/m68k-q800/readme.txt index bead8cdd..b516bacd 100644 --- a/bsp/buildroot/board/qemu/m68k-q800/readme.txt +++ b/bsp/buildroot/board/qemu/m68k-q800/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-m68k -M q800 -kernel output/images/vmlinux -nographic -drive file=output/images/rootfs.ext2,format=raw -append "root=/dev/sda console=ttyS0" + qemu-system-m68k -M q800 -kernel output/images/vmlinux -nographic -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda console=ttyS0" The login prompt will appear in the terminal that started Qemu. diff --git a/bsp/buildroot/board/qemu/mips32r2-malta/readme.txt b/bsp/buildroot/board/qemu/mips32r2-malta/readme.txt index d1bbcc47..9ff3c4b8 100644 --- a/bsp/buildroot/board/qemu/mips32r2-malta/readme.txt +++ b/bsp/buildroot/board/qemu/mips32r2-malta/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-mips -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "root=/dev/hda" -net nic,model=pcnet -net user + qemu-system-mips -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/hda" -net nic,model=pcnet -net user The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. No keyboard support has been diff --git a/bsp/buildroot/board/qemu/mips32r2el-malta/readme.txt b/bsp/buildroot/board/qemu/mips32r2el-malta/readme.txt index 4f59d343..745bfea6 100644 --- a/bsp/buildroot/board/qemu/mips32r2el-malta/readme.txt +++ b/bsp/buildroot/board/qemu/mips32r2el-malta/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-mipsel -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "root=/dev/hda" -net nic,model=pcnet -net user + qemu-system-mipsel -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/hda" -net nic,model=pcnet -net user The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. No keyboard support has been diff --git a/bsp/buildroot/board/qemu/mips32r6-malta/readme.txt b/bsp/buildroot/board/qemu/mips32r6-malta/readme.txt index 04de7e5c..6a026b21 100644 --- a/bsp/buildroot/board/qemu/mips32r6-malta/readme.txt +++ b/bsp/buildroot/board/qemu/mips32r6-malta/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: -qemu-system-mips -M malta -cpu mips32r6-generic -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "root=/dev/hda" -nographic +qemu-system-mips -M malta -cpu mips32r6-generic -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/hda" -nographic The login prompt will appear in the terminal that started Qemu. diff --git a/bsp/buildroot/board/qemu/mips32r6el-malta/readme.txt b/bsp/buildroot/board/qemu/mips32r6el-malta/readme.txt index 88602de0..f69fd21a 100644 --- a/bsp/buildroot/board/qemu/mips32r6el-malta/readme.txt +++ b/bsp/buildroot/board/qemu/mips32r6el-malta/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: -qemu-system-mipsel -M malta -cpu mips32r6-generic -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "root=/dev/hda" -net nic,model=pcnet -net user -nographic +qemu-system-mipsel -M malta -cpu mips32r6-generic -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/hda" -net nic,model=pcnet -net user -nographic The login prompt will appear in the terminal that started Qemu. diff --git a/bsp/buildroot/board/qemu/mips64-malta/readme.txt b/bsp/buildroot/board/qemu/mips64-malta/readme.txt index f0e7fef7..ea3a9254 100644 --- a/bsp/buildroot/board/qemu/mips64-malta/readme.txt +++ b/bsp/buildroot/board/qemu/mips64-malta/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-mips64 -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "root=/dev/hda" + qemu-system-mips64 -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/hda" The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. diff --git a/bsp/buildroot/board/qemu/mips64el-malta/readme.txt b/bsp/buildroot/board/qemu/mips64el-malta/readme.txt index 03b149bc..144da938 100644 --- a/bsp/buildroot/board/qemu/mips64el-malta/readme.txt +++ b/bsp/buildroot/board/qemu/mips64el-malta/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-mips64el -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "root=/dev/hda" + qemu-system-mips64el -M malta -kernel output/images/vmlinux -serial stdio -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/hda" The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. diff --git a/bsp/buildroot/board/qemu/mips64r6-malta/readme.txt b/bsp/buildroot/board/qemu/mips64r6-malta/readme.txt index bf5b517a..cfa16fd8 100644 --- a/bsp/buildroot/board/qemu/mips64r6-malta/readme.txt +++ b/bsp/buildroot/board/qemu/mips64r6-malta/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-mips64 -M malta -cpu I6400 -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "root=/dev/hda" -nographic + qemu-system-mips64 -M malta -cpu I6400 -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/hda" -nographic The login prompt will appear in the terminal that started Qemu. diff --git a/bsp/buildroot/board/qemu/mips64r6el-malta/readme.txt b/bsp/buildroot/board/qemu/mips64r6el-malta/readme.txt index d51bffd0..61a6ceb5 100644 --- a/bsp/buildroot/board/qemu/mips64r6el-malta/readme.txt +++ b/bsp/buildroot/board/qemu/mips64r6el-malta/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-mips64el -M malta -cpu I6400 -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "root=/dev/hda" -nographic + qemu-system-mips64el -M malta -cpu I6400 -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/hda" -nographic The login prompt will appear in the terminal that started Qemu. diff --git a/bsp/buildroot/board/qemu/ppc-g3beige/readme.txt b/bsp/buildroot/board/qemu/ppc-g3beige/readme.txt index 1c3b5153..608814ee 100644 --- a/bsp/buildroot/board/qemu/ppc-g3beige/readme.txt +++ b/bsp/buildroot/board/qemu/ppc-g3beige/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-ppc -M g3beige -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "console=ttyS0 root=/dev/hda" -serial stdio -net nic,model=rtl8139 -net user + qemu-system-ppc -M g3beige -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "console=ttyS0 rootwait root=/dev/hda" -serial stdio -net nic,model=rtl8139 -net user The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. diff --git a/bsp/buildroot/board/qemu/ppc64-e5500/readme.txt b/bsp/buildroot/board/qemu/ppc64-e5500/readme.txt index cfc56397..80807669 100644 --- a/bsp/buildroot/board/qemu/ppc64-e5500/readme.txt +++ b/bsp/buildroot/board/qemu/ppc64-e5500/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-ppc64 -M ppce500 -cpu e5500 -m 256 -kernel output/images/uImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append "console=ttyS0 root=/dev/vda" -serial mon:stdio -nographic + qemu-system-ppc64 -M ppce500 -cpu e5500 -m 256 -kernel output/images/uImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append "console=ttyS0 rootwait root=/dev/vda" -serial mon:stdio -nographic The login prompt will appear in the terminal that started Qemu. diff --git a/bsp/buildroot/board/qemu/ppc64-pseries/readme.txt b/bsp/buildroot/board/qemu/ppc64-pseries/readme.txt index 5069df9e..6a3e96a2 100644 --- a/bsp/buildroot/board/qemu/ppc64-pseries/readme.txt +++ b/bsp/buildroot/board/qemu/ppc64-pseries/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-ppc64 -M pseries -cpu POWER7 -m 256 -kernel output/images/vmlinux -append "console=hvc0 root=/dev/sda" -drive file=output/images/rootfs.ext2,if=scsi,index=0,format=raw -serial stdio -display curses + qemu-system-ppc64 -M pseries -cpu POWER7 -m 256 -kernel output/images/vmlinux -append "console=hvc0 rootwait root=/dev/sda" -drive file=output/images/rootfs.ext2,if=scsi,index=0,format=raw -serial stdio -display curses The login prompt will appear in the terminal that started Qemu. diff --git a/bsp/buildroot/board/qemu/ppc64le-pseries/readme.txt b/bsp/buildroot/board/qemu/ppc64le-pseries/readme.txt index c23da70d..2728675d 100644 --- a/bsp/buildroot/board/qemu/ppc64le-pseries/readme.txt +++ b/bsp/buildroot/board/qemu/ppc64le-pseries/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: -qemu-system-ppc64 -M pseries -cpu POWER8 -m 256 -kernel output/images/vmlinux -append "console=hvc0 root=/dev/sda" -drive file=output/images/rootfs.ext2,if=scsi,index=0,format=raw -serial stdio -display curses +qemu-system-ppc64 -M pseries -cpu POWER8 -m 256 -kernel output/images/vmlinux -append "console=hvc0 rootwait root=/dev/sda" -drive file=output/images/rootfs.ext2,if=scsi,index=0,format=raw -serial stdio -display curses The login prompt will appear in the terminal window. diff --git a/bsp/buildroot/board/qemu/riscv32-virt/readme.txt b/bsp/buildroot/board/qemu/riscv32-virt/readme.txt index 2da99580..24d44f0a 100644 --- a/bsp/buildroot/board/qemu/riscv32-virt/readme.txt +++ b/bsp/buildroot/board/qemu/riscv32-virt/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-riscv32 -M virt -kernel output/images/bbl -append "root=/dev/vda ro console=ttyS0" -drive file=output/images/rootfs.ext2,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -netdev user,id=net0 -device virtio-net-device,netdev=net0 -nographic + qemu-system-riscv32 -M virt -kernel output/images/bbl -append "rootwait root=/dev/vda ro console=ttyS0" -drive file=output/images/rootfs.ext2,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -netdev user,id=net0 -device virtio-net-device,netdev=net0 -nographic The login prompt will appear in the terminal that started Qemu. diff --git a/bsp/buildroot/board/qemu/riscv64-virt/readme.txt b/bsp/buildroot/board/qemu/riscv64-virt/readme.txt index 9f6e35c8..e878330d 100644 --- a/bsp/buildroot/board/qemu/riscv64-virt/readme.txt +++ b/bsp/buildroot/board/qemu/riscv64-virt/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-riscv64 -M virt -kernel output/images/bbl -append "root=/dev/vda ro console=ttyS0" -drive file=output/images/rootfs.ext2,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -netdev user,id=net0 -device virtio-net-device,netdev=net0 -nographic + qemu-system-riscv64 -M virt -kernel output/images/bbl -append "rootwait root=/dev/vda ro console=ttyS0" -drive file=output/images/rootfs.ext2,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -netdev user,id=net0 -device virtio-net-device,netdev=net0 -nographic The login prompt will appear in the terminal that started Qemu. diff --git a/bsp/buildroot/board/qemu/sh4-r2d/readme.txt b/bsp/buildroot/board/qemu/sh4-r2d/readme.txt index d22af73a..dd80953b 100644 --- a/bsp/buildroot/board/qemu/sh4-r2d/readme.txt +++ b/bsp/buildroot/board/qemu/sh4-r2d/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-sh4 -M r2d -kernel output/images/zImage -drive file=output/images/rootfs.ext2,if=ide,format=raw -append "root=/dev/sda console=ttySC1,115200 noiotrap" -serial null -serial stdio -net nic,model=rtl8139 -net user + qemu-system-sh4 -M r2d -kernel output/images/zImage -drive file=output/images/rootfs.ext2,if=ide,format=raw -append "rootwait root=/dev/sda console=ttySC1,115200 noiotrap" -serial null -serial stdio -net nic,model=rtl8139 -net user The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. diff --git a/bsp/buildroot/board/qemu/sh4eb-r2d/readme.txt b/bsp/buildroot/board/qemu/sh4eb-r2d/readme.txt index daf515ab..e71a9bce 100644 --- a/bsp/buildroot/board/qemu/sh4eb-r2d/readme.txt +++ b/bsp/buildroot/board/qemu/sh4eb-r2d/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-sh4eb -M r2d -kernel output/images/zImage -drive file=output/images/rootfs.ext2,if=ide,format=raw -append "root=/dev/sda console=ttySC1,115200 noiotrap" -serial null -serial stdio -net nic,model=rtl8139 -net user + qemu-system-sh4eb -M r2d -kernel output/images/zImage -drive file=output/images/rootfs.ext2,if=ide,format=raw -append "rootwait root=/dev/sda console=ttySC1,115200 noiotrap" -serial null -serial stdio -net nic,model=rtl8139 -net user The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. diff --git a/bsp/buildroot/board/qemu/sparc-ss10/readme.txt b/bsp/buildroot/board/qemu/sparc-ss10/readme.txt index df6a75a3..33833c2d 100644 --- a/bsp/buildroot/board/qemu/sparc-ss10/readme.txt +++ b/bsp/buildroot/board/qemu/sparc-ss10/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-sparc -M SS-10 -kernel output/images/zImage -drive file=output/images/rootfs.ext2,format=raw -append "root=/dev/sda console=ttyS0,115200" -serial stdio -net nic,model=lance -net user + qemu-system-sparc -M SS-10 -kernel output/images/zImage -drive file=output/images/rootfs.ext2,format=raw -append "rootwait root=/dev/sda console=ttyS0,115200" -serial stdio -net nic,model=lance -net user The login prompt will appear in the terminal that started Qemu. diff --git a/bsp/buildroot/board/qemu/sparc64-sun4u/readme.txt b/bsp/buildroot/board/qemu/sparc64-sun4u/readme.txt index 24d5bbaf..f2e6e81a 100644 --- a/bsp/buildroot/board/qemu/sparc64-sun4u/readme.txt +++ b/bsp/buildroot/board/qemu/sparc64-sun4u/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-sparc64 -M sun4u -kernel output/images/vmlinux -append "root=/dev/sda console=ttyS0,115200" -serial stdio -drive file=output/images/rootfs.ext2,format=raw -net nic,model=e1000 -net user + qemu-system-sparc64 -M sun4u -kernel output/images/vmlinux -append "rootwait root=/dev/sda console=ttyS0,115200" -serial stdio -drive file=output/images/rootfs.ext2,format=raw -net nic,model=e1000 -net user The login prompt will appear in the terminal that started Qemu. diff --git a/bsp/buildroot/board/qemu/x86/readme.txt b/bsp/buildroot/board/qemu/x86/readme.txt index c5e68773..42fc2439 100644 --- a/bsp/buildroot/board/qemu/x86/readme.txt +++ b/bsp/buildroot/board/qemu/x86/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-i386 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append "root=/dev/vda" -net nic,model=virtio -net user + qemu-system-i386 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append "rootwait root=/dev/vda" -net nic,model=virtio -net user Optionally add -smp N to emulate a SMP system with N CPUs. diff --git a/bsp/buildroot/board/qemu/x86_64/readme.txt b/bsp/buildroot/board/qemu/x86_64/readme.txt index 425e34b1..4a1c0c0f 100644 --- a/bsp/buildroot/board/qemu/x86_64/readme.txt +++ b/bsp/buildroot/board/qemu/x86_64/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-x86_64 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append "root=/dev/vda" -net nic,model=virtio -net user + qemu-system-x86_64 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append "rootwait root=/dev/vda" -net nic,model=virtio -net user Optionally add -smp N to emulate a SMP system with N CPUs. diff --git a/bsp/buildroot/boot/arm-trusted-firmware/arm-trusted-firmware.mk b/bsp/buildroot/boot/arm-trusted-firmware/arm-trusted-firmware.mk index 8ca3864d..464e4d95 100644 --- a/bsp/buildroot/boot/arm-trusted-firmware/arm-trusted-firmware.mk +++ b/bsp/buildroot/boot/arm-trusted-firmware/arm-trusted-firmware.mk @@ -5,8 +5,6 @@ ################################################################################ ARM_TRUSTED_FIRMWARE_VERSION = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION)) -ARM_TRUSTED_FIRMWARE_LICENSE = BSD-3-Clause -ARM_TRUSTED_FIRMWARE_LICENSE_FILES = license.rst ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom) # Handle custom ATF tarballs as specified by the configuration @@ -19,6 +17,10 @@ ARM_TRUSTED_FIRMWARE_SITE_METHOD = git else # Handle stable official ATF versions ARM_TRUSTED_FIRMWARE_SITE = $(call github,ARM-software,arm-trusted-firmware,$(ARM_TRUSTED_FIRMWARE_VERSION)) +# The licensing of custom or from-git versions is unknown. +# This is valid only for the official v1.4. +ARM_TRUSTED_FIRMWARE_LICENSE = BSD-3-Clause +ARM_TRUSTED_FIRMWARE_LICENSE_FILES = license.rst endif ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE)$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION),y) diff --git a/bsp/buildroot/boot/barebox/barebox.mk b/bsp/buildroot/boot/barebox/barebox.mk index 9e8a9f67..52178d89 100644 --- a/bsp/buildroot/boot/barebox/barebox.mk +++ b/bsp/buildroot/boot/barebox/barebox.mk @@ -76,6 +76,10 @@ $(1)_KCONFIG_FRAGMENT_FILES = $$(call qstrip,$$(BR2_TARGET_$(1)_CONFIG_FRAGMENT_ $(1)_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig $(1)_KCONFIG_OPTS = $$($(1)_MAKE_FLAGS) +$(1)_KCONFIG_DEPENDENCIES = \ + $(BR2_BISON_HOST_DEPENDENCY) \ + $(BR2_FLEX_HOST_DEPENDENCY) + ifeq ($$(BR2_TARGET_$(1)_BAREBOXENV),y) define $(1)_BUILD_BAREBOXENV_CMDS $$(TARGET_CC) $$(TARGET_CFLAGS) $$(TARGET_LDFLAGS) -o $$(@D)/bareboxenv \ diff --git a/bsp/buildroot/configs/aarch64_efi_defconfig b/bsp/buildroot/configs/aarch64_efi_defconfig index e8719321..2aab6e96 100644 --- a/bsp/buildroot/configs/aarch64_efi_defconfig +++ b/bsp/buildroot/configs/aarch64_efi_defconfig @@ -13,7 +13,7 @@ BR2_PACKAGE_HOST_GENIMAGE=y # Bootloader BR2_TARGET_GRUB2=y -BR2_TARGET_GRUB2_AARCH64_EFI=y +BR2_TARGET_GRUB2_ARM64_EFI=y # Filesystem / image BR2_TARGET_ROOTFS_EXT2=y diff --git a/bsp/buildroot/configs/beaglebone_defconfig b/bsp/buildroot/configs/beaglebone_defconfig index b4f152fd..fbb259f5 100644 --- a/bsp/buildroot/configs/beaglebone_defconfig +++ b/bsp/buildroot/configs/beaglebone_defconfig @@ -2,7 +2,6 @@ BR2_arm=y BR2_cortex_a8=y BR2_GLOBAL_PATCH_DIR="board/beaglebone/patches" BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyO0" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/beaglebone/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y diff --git a/bsp/buildroot/configs/qemu_xtensa_lx60_defconfig b/bsp/buildroot/configs/qemu_xtensa_lx60_defconfig index 6bf48a2a..4287e6ab 100644 --- a/bsp/buildroot/configs/qemu_xtensa_lx60_defconfig +++ b/bsp/buildroot/configs/qemu_xtensa_lx60_defconfig @@ -23,3 +23,6 @@ BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/xtensa-lx60/linux.config" BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y BR2_LINUX_KERNEL_IMAGE_NAME="Image.elf" BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image" + +# Kernel needs mkimage +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/bsp/buildroot/configs/qemu_xtensa_lx60_nommu_defconfig b/bsp/buildroot/configs/qemu_xtensa_lx60_nommu_defconfig index 5ff96462..37b67435 100644 --- a/bsp/buildroot/configs/qemu_xtensa_lx60_nommu_defconfig +++ b/bsp/buildroot/configs/qemu_xtensa_lx60_nommu_defconfig @@ -27,3 +27,6 @@ BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/xtensa-lx60/linux-nommu.config" BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y BR2_LINUX_KERNEL_IMAGE_NAME="Image.elf" BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image" + +# Kernel needs mkimage +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/bsp/buildroot/docs/manual/adding-packages-python.txt b/bsp/buildroot/docs/manual/adding-packages-python.txt index 15137cfd..74e2e78b 100644 --- a/bsp/buildroot/docs/manual/adding-packages-python.txt +++ b/bsp/buildroot/docs/manual/adding-packages-python.txt @@ -67,9 +67,13 @@ Python build system, but are not Python modules, can freely choose their name (existing examples in Buildroot are +scons+ and +supervisor+). -In their +Config.in+ file, they should depend on +BR2_PACKAGE_PYTHON+ -so that when Buildroot will enable Python 3 usage for modules, we will -be able to enable Python modules progressively on Python 3. +Packages that are only compatible with one version of Python (as in: +Python 2 or Python 3) should depend on that version explicitely in +their +Config.in+ file (+BR2_PACKAGE_PYTHON+ for Python 2, ++BR2_PACKAGE_PYTHON3+ for Python 3). Packages that are compatible +with both versions should not explicitely depend on them in their ++Config.in+ file, since that condition is already expressed for the +whole "External python modules" menu. The main macro of the Python package infrastructure is +python-package+. It is similar to the +generic-package+ macro. It is diff --git a/bsp/buildroot/docs/manual/common-usage.txt b/bsp/buildroot/docs/manual/common-usage.txt index e3d7578c..a36301af 100644 --- a/bsp/buildroot/docs/manual/common-usage.txt +++ b/bsp/buildroot/docs/manual/common-usage.txt @@ -310,8 +310,8 @@ installed (+python-matplotlib+ on most distributions), and also the +argparse+ module if you're using a Python version older than 2.7 (+python-argparse+ on most distributions). -Just like for the duration graph, a +BR2_GRAPH_OUT+ environment is -supported to adjust the output file format. See xref:graph-depends[] +Just like for the duration graph, a +BR2_GRAPH_OUT+ environment variable +is supported to adjust the output file format. See xref:graph-depends[] for details about this environment variable. .Note diff --git a/bsp/buildroot/docs/manual/contribute.txt b/bsp/buildroot/docs/manual/contribute.txt index 5530ce15..f339ca50 100644 --- a/bsp/buildroot/docs/manual/contribute.txt +++ b/bsp/buildroot/docs/manual/contribute.txt @@ -73,7 +73,7 @@ basically two things that can be done: In the commit message of a patch fixing an autobuild failure, add a reference to the build result directory, as follows: --------------------- -Fixes http://autobuild.buildroot.org/results/51000a9d4656afe9e0ea6f07b9f8ed374c2e4069 +Fixes: http://autobuild.buildroot.org/results/51000a9d4656afe9e0ea6f07b9f8ed374c2e4069 --------------------- === Reviewing and testing patches @@ -402,7 +402,7 @@ the problem is complex, it is OK to add more paragraphs. All paragraphs should be wrapped at 72 characters. A paragraph that explains the root cause of the problem. Again, more -than on paragraph is OK. +than one paragraph is OK. Finally, one or more paragraphs that explain how the problem is solved. Don't hesitate to explain complex solutions in detail. diff --git a/bsp/buildroot/docs/manual/manual.html b/bsp/buildroot/docs/manual/manual.html index e88c665c..7c8d3454 100644 --- a/bsp/buildroot/docs/manual/manual.html +++ b/bsp/buildroot/docs/manual/manual.html @@ -1,8 +1,8 @@ -The Buildroot user manual

The Buildroot user manual


Table of Contents

I. Getting started
1. About Buildroot
2. System requirements
2.1. Mandatory packages
2.2. Optional packages
3. Getting Buildroot
4. Buildroot quick start
5. Community resources
II. User guide
6. Buildroot configuration
6.1. Cross-compilation toolchain
6.2. /dev management
6.3. init system
7. Configuration of other components
8. General Buildroot usage
8.1. make tips
8.2. Understanding when a full rebuild is necessary
8.3. Understanding how to rebuild packages
8.4. Offline builds
8.5. Building out-of-tree
8.6. Environment variables
8.7. Dealing efficiently with filesystem images
8.8. Graphing the dependencies between packages
8.9. Graphing the build duration
8.10. Graphing the filesystem size contribution of packages
8.11. Integration with Eclipse
8.12. Advanced usage
9. Project-specific customization
9.1. Recommended directory structure
9.2. Keeping customizations outside of Buildroot
9.3. Storing the Buildroot configuration
9.4. Storing the configuration of other components
9.5. Customizing the generated target filesystem
9.6. Adding custom user accounts
9.7. Customization after the images have been created
9.8. Adding project-specific patches
9.9. Adding project-specific packages
9.10. Quick guide to storing your project-specific customizations
10. Frequently Asked Questions & Troubleshooting
10.1. The boot hangs after Starting network…
10.2. Why is there no compiler on the target?
10.3. Why are there no development files on the target?
10.4. Why is there no documentation on the target?
10.5. Why are some packages not visible in the Buildroot config menu?
10.6. Why not use the target directory as a chroot directory?
10.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?
10.8. How to speed-up the build process?
11. Known issues
12. Legal notice and licensing
12.1. Complying with open source licenses
12.2. Complying with the Buildroot license
13. Beyond Buildroot
13.1. Boot the generated images
13.2. Chroot
III. Developer guide
14. How Buildroot works
15. Coding style
15.1. Config.in file
15.2. The .mk file
15.3. The documentation
15.4. Support scripts
16. Adding support for a particular board
17. Adding new packages to Buildroot
17.1. Package directory
17.2. Config files
17.3. The .mk file
17.4. The .hash file
17.5. Infrastructure for packages with specific build systems
17.6. Infrastructure for autotools-based packages
17.7. Infrastructure for CMake-based packages
17.8. Infrastructure for Python packages
17.9. Infrastructure for LuaRocks-based packages
17.10. Infrastructure for Perl/CPAN packages
17.11. Infrastructure for virtual packages
17.12. Infrastructure for packages using kconfig for configuration files
17.13. Infrastructure for rebar-based packages
17.14. Infrastructure for Waf-based packages
17.15. Infrastructure for Meson-based packages
17.16. Integration of Cargo-based packages
17.17. Infrastructure for Go packages
17.18. Infrastructure for packages building kernel modules
17.19. Infrastructure for asciidoc documents
17.20. Infrastructure specific to the Linux kernel package
17.21. Hooks available in the various build steps
17.22. Gettext integration and interaction with packages
17.23. Tips and tricks
17.24. Conclusion
18. Patching a package
18.1. Providing patches
18.2. How patches are applied
18.3. Format and licensing of the package patches
18.4. Integrating patches found on the Web
19. Download infrastructure
20. Debugging Buildroot
21. Contributing to Buildroot
21.1. Reproducing, analyzing and fixing bugs
21.2. Analyzing and fixing autobuild failures
21.3. Reviewing and testing patches
21.4. Work on items from the TODO list
21.5. Submitting patches
21.6. Reporting issues/bugs or getting help
22. DEVELOPERS file and get-developers
IV. Appendix
23. Makedev syntax documentation
24. Makeusers syntax documentation
25. Migrating from older Buildroot versions
25.1. Migrating to 2016.11
25.2. Migrating to 2017.08

Buildroot 2019.02.2 manual generated on 2019-04-29 -08:38:29 UTC from git revision 3b4b3e7cd4

The Buildroot manual is written by the Buildroot developers. +The Buildroot user manual

The Buildroot user manual


Table of Contents

I. Getting started
1. About Buildroot
2. System requirements
2.1. Mandatory packages
2.2. Optional packages
3. Getting Buildroot
4. Buildroot quick start
5. Community resources
II. User guide
6. Buildroot configuration
6.1. Cross-compilation toolchain
6.2. /dev management
6.3. init system
7. Configuration of other components
8. General Buildroot usage
8.1. make tips
8.2. Understanding when a full rebuild is necessary
8.3. Understanding how to rebuild packages
8.4. Offline builds
8.5. Building out-of-tree
8.6. Environment variables
8.7. Dealing efficiently with filesystem images
8.8. Graphing the dependencies between packages
8.9. Graphing the build duration
8.10. Graphing the filesystem size contribution of packages
8.11. Integration with Eclipse
8.12. Advanced usage
9. Project-specific customization
9.1. Recommended directory structure
9.2. Keeping customizations outside of Buildroot
9.3. Storing the Buildroot configuration
9.4. Storing the configuration of other components
9.5. Customizing the generated target filesystem
9.6. Adding custom user accounts
9.7. Customization after the images have been created
9.8. Adding project-specific patches
9.9. Adding project-specific packages
9.10. Quick guide to storing your project-specific customizations
10. Frequently Asked Questions & Troubleshooting
10.1. The boot hangs after Starting network…
10.2. Why is there no compiler on the target?
10.3. Why are there no development files on the target?
10.4. Why is there no documentation on the target?
10.5. Why are some packages not visible in the Buildroot config menu?
10.6. Why not use the target directory as a chroot directory?
10.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?
10.8. How to speed-up the build process?
11. Known issues
12. Legal notice and licensing
12.1. Complying with open source licenses
12.2. Complying with the Buildroot license
13. Beyond Buildroot
13.1. Boot the generated images
13.2. Chroot
III. Developer guide
14. How Buildroot works
15. Coding style
15.1. Config.in file
15.2. The .mk file
15.3. The documentation
15.4. Support scripts
16. Adding support for a particular board
17. Adding new packages to Buildroot
17.1. Package directory
17.2. Config files
17.3. The .mk file
17.4. The .hash file
17.5. Infrastructure for packages with specific build systems
17.6. Infrastructure for autotools-based packages
17.7. Infrastructure for CMake-based packages
17.8. Infrastructure for Python packages
17.9. Infrastructure for LuaRocks-based packages
17.10. Infrastructure for Perl/CPAN packages
17.11. Infrastructure for virtual packages
17.12. Infrastructure for packages using kconfig for configuration files
17.13. Infrastructure for rebar-based packages
17.14. Infrastructure for Waf-based packages
17.15. Infrastructure for Meson-based packages
17.16. Integration of Cargo-based packages
17.17. Infrastructure for Go packages
17.18. Infrastructure for packages building kernel modules
17.19. Infrastructure for asciidoc documents
17.20. Infrastructure specific to the Linux kernel package
17.21. Hooks available in the various build steps
17.22. Gettext integration and interaction with packages
17.23. Tips and tricks
17.24. Conclusion
18. Patching a package
18.1. Providing patches
18.2. How patches are applied
18.3. Format and licensing of the package patches
18.4. Integrating patches found on the Web
19. Download infrastructure
20. Debugging Buildroot
21. Contributing to Buildroot
21.1. Reproducing, analyzing and fixing bugs
21.2. Analyzing and fixing autobuild failures
21.3. Reviewing and testing patches
21.4. Work on items from the TODO list
21.5. Submitting patches
21.6. Reporting issues/bugs or getting help
22. DEVELOPERS file and get-developers
IV. Appendix
23. Makedev syntax documentation
24. Makeusers syntax documentation
25. Migrating from older Buildroot versions
25.1. Migrating to 2016.11
25.2. Migrating to 2017.08

Buildroot 2019.02.6 manual generated on 2019-10-03 +15:16:16 UTC from git revision 4564d8f397

The Buildroot manual is written by the Buildroot developers. It is licensed under the GNU General Public License, version 2. Refer to the -COPYING +COPYING file in the Buildroot sources for the full text of this license.

Copyright © 2004-2019 The Buildroot developers

logo.png

Part I. Getting started

Chapter 1. About Buildroot

Buildroot is a tool that simplifies and automates the process of building a complete Linux system for an embedded system, using cross-compilation.

In order to achieve this, Buildroot is able to generate a @@ -16,8 +16,8 @@ processors everyone is used to having in his PC. They can be PowerPC processors, MIPS processors, ARM processors, etc.

Buildroot supports numerous processors and their variants; it also comes with default configurations for several boards available off-the-shelf. Besides this, a number of third-party projects are based on, -or develop their BSP [1] or -SDK [2] on top of Buildroot.



[1] BSP: Board Support Package

[2] SDK: Software Development Kit

Chapter 2. System requirements

Buildroot is designed to run on Linux systems.

While Buildroot itself will build most host packages it needs for the +or develop their BSP [1] or +SDK [2] on top of Buildroot.



[1] BSP: Board Support Package

[2] SDK: Software Development Kit

Chapter 2. System requirements

Buildroot is designed to run on Linux systems.

While Buildroot itself will build most host packages it needs for the compilation, certain standard Linux utilities are expected to be already installed on the host system. Below you will find an overview of the mandatory and optional packages (note that package names may vary @@ -142,7 +142,6 @@ utility (including the interface), so you may need to install "development" packages for relevant libraries used by the configuration utilities. Refer to Chapter 2, System requirements for more details, specifically the optional requirements -Section 2.2, “Optional packages” to get the dependencies of your favorite interface.

For each menu entry in the configuration tool, you can find associated help that describes the purpose of the entry. Refer to Chapter 6, Buildroot configuration for details on some specific configuration aspects.

Once everything is configured, the configuration tool generates a @@ -272,7 +271,7 @@ processor. Under most Linux systems, the compilation toolchain uses the GNU libc (glibc) as the C standard library. This compilation toolchain is called the "host compilation toolchain". The machine on which it is running, and on which you’re working, is called the "host -system" [3].

The compilation toolchain is provided by your distribution, and +system" [3].

The compilation toolchain is provided by your distribution, and Buildroot has nothing to do with it (other than using it to build a cross-compilation toolchain and other tools that are run on the development host).

As said above, the compilation toolchain that comes with your system @@ -547,7 +546,7 @@ The third solution is systemd. http://www.freedesktop.org/wiki/Software/systemd.

The solution recommended by Buildroot developers is to use the BusyBox init as it is sufficient for most embedded -systems. systemd can be used for more complex situations.



[3] This terminology differs from what is used by GNU +systems. systemd can be used for more complex situations.



[3] This terminology differs from what is used by GNU configure, where the host is the machine on which the application will run (which is usually the same as target)

Chapter 7. Configuration of other components

Before attempting to modify any of the components below, make sure you have already configured Buildroot itself, and have enabled the @@ -900,8 +899,8 @@ the different packages.

To generate these data after a build, run:

This graph-size target requires the Python Matplotlib library to be installed (python-matplotlib on most distributions), and also the argparse module if you’re using a Python version older than 2.7 -(python-argparse on most distributions).

Just like for the duration graph, a BR2_GRAPH_OUT environment is -supported to adjust the output file format. See Section 8.8, “Graphing the dependencies between packages” +(python-argparse on most distributions).

Just like for the duration graph, a BR2_GRAPH_OUT environment variable +is supported to adjust the output file format. See Section 8.8, “Graphing the dependencies between packages” for details about this environment variable.

Note. The collected filesystem size data is only meaningful after a complete clean rebuild. Be sure to run make clean all before using make graph-size.

To compare the root filesystem size of two different Buildroot compilations, @@ -1025,8 +1024,7 @@ package

graph-depends

Generate a dependency graph of the package, in the context of the current Buildroot configuration. See -this section -Section 8.8, “Graphing the dependencies between packages” for more details about dependency +this section for more details about dependency graphs.

graph-rdepends

Generate a graph of this package reverse dependencies (i.e the packages that depend on it, directly or indirectly)

dirclean

Remove the whole package build directory

reinstall

Re-run the install commands

rebuild

Re-run the compilation commands - this only makes @@ -1052,10 +1050,19 @@ an appropriate solution, because this directory is removed on <pkg>_OVERRIDE_SRCDIR mechanism. Buildroot reads an override file, which allows the user to tell Buildroot the location of the -source for certain packages. By default this override file is named -local.mk and located in the top directory of the Buildroot source -tree, but a different location can be specified through the -BR2_PACKAGE_OVERRIDE_FILE configuration option.

In this override file, Buildroot expects to find lines of the form:

<pkg1>_OVERRIDE_SRCDIR = /path/to/pkg1/sources
+source for certain packages.

The default location of the override file is $(CONFIG_DIR)/local.mk, +as defined by the BR2_PACKAGE_OVERRIDE_FILE configuration option. +$(CONFIG_DIR) is the location of the Buildroot .config file, so +local.mk by default lives side-by-side with the .config file, +which means:

  • +In the top-level Buildroot source directory for in-tree builds + (i.e., when O= is not used) +
  • +In the out-of-tree directory for out-of-tree builds (i.e., when + O= is used) +

If a different location than these defaults is required, it can be +specified through the BR2_PACKAGE_OVERRIDE_FILE configuration +option.

In this override file, Buildroot expects to find lines of the form:

<pkg1>_OVERRIDE_SRCDIR = /path/to/pkg1/sources
 <pkg2>_OVERRIDE_SRCDIR = /path/to/pkg2/sources

For example:

LINUX_OVERRIDE_SRCDIR = /home/bob/linux/
 BUSYBOX_OVERRIDE_SRCDIR = /home/bob/busybox/

When Buildroot finds that for a given package, an <pkg>_OVERRIDE_SRCDIR has been defined, it will no longer attempt to @@ -1084,7 +1091,11 @@ a local WebKit source tree:

WEBKITGTK_OVERRIDE_SRCDIR = /
 WEBKITGTK_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = \
         --exclude JSTests --exclude ManualTests --exclude PerformanceTests \
         --exclude WebDriverTests --exclude WebKitBuild --exclude WebKitLibraries \
-        --exclude WebKit.xcworkspace --exclude Websites --exclude Examples

Chapter 9. Project-specific customization

Typical actions you may need to perform for a given project are:

  • + --exclude WebKit.xcworkspace --exclude Websites --exclude Examples

    By default, Buildroot skips syncing of VCS artifacts (e.g., the .git and +.svn directories). Some packages prefer to have these VCS directories +available during build, for example for automatically determining a precise +commit reference for version information. To undo this built-in filtering at a +cost of a slower speed, add these directories back:

    LINUX_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = --include .git

Chapter 9. Project-specific customization

Typical actions you may need to perform for a given project are:

  • configuring Buildroot (including build options and toolchain, bootloader, kernel, package and filesystem image type selection)
  • @@ -1539,8 +1550,7 @@ such changes from there unless you use an explicit fakeroot from the post-build script.

    Instead, Buildroot provides support for so-called permission tables. To use this feature, set config option BR2_ROOTFS_DEVICE_TABLE to a space-separated list of permission tables, regular text files following -the makedev syntax -Chapter 23, Makedev syntax documentation.

    If you are using a static device table (i.e. not using devtmpfs, +the makedev syntax.

    If you are using a static device table (i.e. not using devtmpfs, mdev, or (e)udev) then you can add device nodes using the same syntax, in so-called device tables. To use this feature, set config option BR2_ROOTFS_STATIC_DEVICE_TABLE to a space-separated list of @@ -1552,8 +1562,7 @@ related to a specific application, you should set variables To cover this requirement, Buildroot provides support for so-called users tables. To use this feature, set config option BR2_ROOTFS_USERS_TABLES to a space-separated list of users tables, -regular text files following the makeusers syntax -Chapter 24, Makeusers syntax documentation.

    As shown in Section 9.1, “Recommended directory structure”, the recommended location for +regular text files following the makeusers syntax.

    As shown in Section 9.1, “Recommended directory structure”, the recommended location for such files is board/<company>/<boardname>/.

    It should be noted that if the custom users are related to a specific application, you should set variable FOO_USERS in the package’s .mk file instead (see Section 17.5.2, “generic-package reference”).

9.7. Customization after the images have been created

While post-build scripts (Section 9.5, “Customizing the generated target filesystem”) are run before @@ -2323,8 +2332,7 @@ preferred.

Note that such dependencies will ensure that the dependency opt is also enabled, but not necessarily built before your package. To do so, the dependency also needs to be expressed in the .mk file of the package.

Further formatting details: see the -coding style -Section 15.1, “Config.in file”.

17.2.4. Dependencies on target and toolchain options

Many packages depend on certain options of the toolchain: the choice of +coding style.

17.2.4. Dependencies on target and toolchain options

Many packages depend on certain options of the toolchain: the choice of C library, C++ support, thread support, RPC support, wchar support, or dynamic library support. Some packages can only be built on certain target architectures, or if an MMU is available in the processor.

These dependencies have to be expressed with the appropriate depends @@ -2474,46 +2482,35 @@ different way, using different infrastructures:

Further formatting details: see the writing -rules -Section 15.2, “The .mk file”.

17.4. The .hash file

When possible, you must add a third file, named libfoo.hash, that +rules.

17.4. The .hash file

When possible, you must add a third file, named libfoo.hash, that contains the hashes of the downloaded files for the libfoo package. The only reason for not adding a .hash file is when hash checking is not possible due to how the package is downloaded.

When a package has a version selection choice, then the hash file may be @@ -2670,7 +2667,7 @@ flags. The argument to be given to LIBFOO_CONFIG_SCRIPTS is the file name(s) of the shell script(s) needing fixing. All these names are relative to $(STAGING_DIR)/usr/bin and if needed multiple names can be given.

In addition, the scripts listed in LIBFOO_CONFIG_SCRIPTS are removed -from $(TARGET_DIR)/usr/bin, since they are not needed on the target.

Example 17.1. Config script: divine package

Package divine installs shell script $(STAGING_DIR)/usr/bin/divine-config.

So its fixup would be:

DIVINE_CONFIG_SCRIPTS = divine-config

Example 17.2. Config script: imagemagick package:

Package imagemagick installs the following scripts: +from $(TARGET_DIR)/usr/bin, since they are not needed on the target.

Example 17.1. Config script: divine package

Package divine installs shell script $(STAGING_DIR)/usr/bin/divine-config.

So its fixup would be:

DIVINE_CONFIG_SCRIPTS = divine-config

Example 17.2. Config script: imagemagick package:

Package imagemagick installs the following scripts: $(STAGING_DIR)/usr/bin/{Magick,Magick++,MagickCore,MagickWand,Wand}-config

So it’s fixup would be:

IMAGEMAGICK_CONFIG_SCRIPTS = \
    Magick-config Magick++-config \
    MagickCore-config MagickWand-config Wand-config

On line 14, we specify the list of dependencies this package relies @@ -2757,8 +2754,7 @@ because two builds can never be perfectly simultaneous, and because itself use a different mechanism: all files of the form *.patch present in the package directory inside Buildroot will be applied to the package after extraction (see - patching a package -Chapter 18, Patching a package). Finally, patches listed in + patching a package). Finally, patches listed in the LIBFOO_PATCH variable are applied before the patches stored in the Buildroot package directory.

  • @@ -3376,16 +3372,19 @@ built.

  • python-<something> in Buildroot. Other packages that use the Python build system, but are not Python modules, can freely choose their name (existing examples in Buildroot are scons and -supervisor).

    In their Config.in file, they should depend on BR2_PACKAGE_PYTHON -so that when Buildroot will enable Python 3 usage for modules, we will -be able to enable Python modules progressively on Python 3.

    The main macro of the Python package infrastructure is +supervisor).

    Packages that are only compatible with one version of Python (as in: +Python 2 or Python 3) should depend on that version explicitely in +their Config.in file (BR2_PACKAGE_PYTHON for Python 2, +BR2_PACKAGE_PYTHON3 for Python 3). Packages that are compatible +with both versions should not explicitely depend on them in their +Config.in file, since that condition is already expressed for the +whole "External python modules" menu.

    The main macro of the Python package infrastructure is python-package. It is similar to the generic-package macro. It is also possible to create Python host packages with the host-python-package macro.

    Just like the generic infrastructure, the Python infrastructure works by defining a number of variables before calling the python-package or host-python-package macros.

    All the package metadata information variables that exist in the -generic package infrastructure -Section 17.5.2, “generic-package reference” also +generic package infrastructure also exist in the Python infrastructure: PYTHON_FOO_VERSION, PYTHON_FOO_SOURCE, PYTHON_FOO_PATCH, PYTHON_FOO_SITE, PYTHON_FOO_SUBDIR, PYTHON_FOO_DEPENDENCIES, PYTHON_FOO_LICENSE, @@ -4008,8 +4007,7 @@ package. Let’s start with an example:

    01: #############
     34:
     35: $(eval $(generic-package))

    The Makefile starts with the definition of the standard variables for package declaration (lines 7 to 11).

    As seen in line 35, it is based on the -generic-package infrastructure -Section 17.5.1, “generic-package tutorial”. So, it defines +generic-package infrastructure. So, it defines the variables required by this particular infrastructure, where Cargo is invoked:

    • FOO_BUILD_CMDS: Cargo is invoked to perform the build. The options required @@ -4055,8 +4053,7 @@ automatically add a dependency on host-go to such p golang-package. It is similar to the generic-package macro. Only target packages are supported with golang-package.

      Just like the generic infrastructure, the Go infrastructure works by defining a number of variables before calling the golang-package.

      All the package metadata information variables that exist in the -generic package infrastructure -Section 17.5.2, “generic-package reference” also +generic package infrastructure also exist in the Go infrastructure: FOO_VERSION, FOO_SOURCE, FOO_PATCH, FOO_SITE, FOO_SUBDIR, FOO_DEPENDENCIES, FOO_LICENSE, FOO_LICENSE_FILES, FOO_INSTALL_STAGING, etc.

      Note that it is not necessary to add host-go in the @@ -4130,8 +4127,7 @@ builds a kernel module, and no other component:

      01: #####
       remote URI where to find the package source, licensing information.

      On line 13, we invoke the kernel-module helper infrastructure, that generates all the appropriate Makefile rules and variables to build that kernel module.

      Finally, on line 14, we invoke the -generic-package infrastructure -Section 17.5.1, “generic-package tutorial”.

      The dependency on linux is automatically added, so it is not needed to +generic-package infrastructure.

      The dependency on linux is automatically added, so it is not needed to specify it in FOO_DEPENDENCIES.

      What you may have noticed is that, unlike other package infrastructures, we explicitly invoke a second infrastructure. This allows a package to build a kernel module, but also, if needed, use any one of other package @@ -4216,8 +4212,7 @@ text

    Although Buildroot only contains one document written in AsciiDoc, there is, as for packages, an infrastructure for rendering documents using the AsciiDoc syntax.

    Also as for packages, the AsciiDoc infrastructure is available from a -br2-external tree -Section 9.2, “Keeping customizations outside of Buildroot”. This allows documentation for +br2-external tree. This allows documentation for a br2-external tree to match the Buildroot documentation, as it will be rendered to the same formats and use the same layout and theme.

    17.19.1. asciidoc-document tutorial

    Whereas package infrastructures are suffixed with -package, the document infrastructures are suffixed with -document. So, the AsciiDoc infrastructure @@ -4340,8 +4335,7 @@ Linux tools.

    On line 9, we specify the list of dependencies this tool reli dependencies are added to the Linux package dependencies list only when the foo tool is selected.

    The rest of the Makefile, lines 11-25 defines what should be done at the different steps of the Linux tool build process like for a -generic package -Section 17.5.1, “generic-package tutorial”. They will actually be +generic package. They will actually be used only when the foo tool is selected. The only supported commands are _BUILD_CMDS, _INSTALL_STAGING_CMDS and _INSTALL_TARGET_CMDS.

    Note. One must not call $(eval $(generic-package)) or any other package infrastructure! Linux tools are not packages by themselves, @@ -4382,8 +4376,7 @@ the Linux kernel tree; this is specific to the linux extension and can use the variables defined by the foo package, like: $(FOO_DIR) or $(FOO_VERSION)… as well as all the Linux variables, like: $(LINUX_VERSION) or $(LINUX_VERSION_PROBED), $(KERNEL_ARCH)… -See the definition of those kernel variables -Section 17.18.2, “kernel-module reference”.

    17.21. Hooks available in the various build steps

    The generic infrastructure (and as a result also the derived autotools +See the definition of those kernel variables.

    17.21. Hooks available in the various build steps

    The generic infrastructure (and as a result also the derived autotools and cmake infrastructures) allow packages to specify hooks. These define further actions to perform after existing steps. Most hooks aren’t really useful for generic packages, since the .mk @@ -4807,7 +4800,7 @@ Send the fix to the Buildroot mailing list (see can be removed. In the commit message of a patch fixing an autobuild failure, add a reference to the build result directory, as follows: -

    Fixes http://autobuild.buildroot.org/results/51000a9d4656afe9e0ea6f07b9f8ed374c2e4069

    21.3. Reviewing and testing patches

    With the amount of patches sent to the mailing list each day, the +

    Fixes: http://autobuild.buildroot.org/results/51000a9d4656afe9e0ea6f07b9f8ed374c2e4069

    21.3. Reviewing and testing patches

    With the amount of patches sent to the mailing list each day, the maintainer has a very hard job to judge which patches are ready to apply and which ones aren’t. Contributors can greatly help here by reviewing and testing these patches.

    In the review process, do not hesitate to respond to patch submissions @@ -4952,7 +4945,6 @@ options that no longer exist or are no longer needed.

    If you are intereste further changes in the packages you added or modified, please add yourself to the DEVELOPERS file. This should be done in the same patch creating or modifying the package. See the DEVELOPERS file -Chapter 22, DEVELOPERS file and get-developers for more information.

    Buildroot provides a handy tool to check for common coding style mistakes on files you created or modified, called check-package (see Section 17.23.2, “How to check the coding style” for more information).

    21.5.2. Preparing a patch series

    Starting from the changes committed in your local git view, rebase @@ -4979,7 +4971,7 @@ large number of commits in the series;

  • deep impact of the changes in the rest of the project;
  • -RFC [4]; +RFC [4];
  • whenever you feel it will help presenting your work, your choices, the review process, etc. @@ -5003,7 +4995,7 @@ the problem is complex, it is OK to add more paragraphs. All paragraphs should be wrapped at 72 characters. A paragraph that explains the root cause of the problem. Again, more -than on paragraph is OK. +than one paragraph is OK. Finally, one or more paragraphs that explain how the problem is solved. Don't hesitate to explain complex solutions in detail. @@ -5034,13 +5026,10 @@ can be found under the "Message Id" tag on patchwork. The advantage of in-reply-to is that patchwork will automatically mark the previous version of the patch as superseded.

  • 21.6. Reporting issues/bugs or getting help

    Before reporting any issue, please check in -the mailing list archive -Chapter 5, Community resources whether someone has +the mailing list archive whether someone has already reported and/or fixed a similar problem.

    However you choose to report bugs or get help, either by -opening a bug in the bug tracker -Chapter 5, Community resources or by -sending a mail to the mailing list -Chapter 5, Community resources, there are +opening a bug in the bug tracker or by +sending a mail to the mailing list, there are a number of details to provide in order to help people reproduce and find a solution to the issue.

    Try to think as if you were trying to help someone else; in that case, what would you need?

    Here is a short list of details to provide in such case:

    • @@ -5061,7 +5050,7 @@ pastebin service. Note that not all available pastebin services will preserve Unix-style line terminators when downloading raw pastes. Following pastebin services are known to work correctly: - https://gist.github.com/ -- http://code.bulix.org/



    [4] RFC: (Request for comments) change proposal

    Chapter 22. DEVELOPERS file and get-developers

    The main Buildroot directory contains a file named DEVELOPERS that +- http://code.bulix.org/



    [4] RFC: (Request for comments) change proposal

    Chapter 22. DEVELOPERS file and get-developers

    The main Buildroot directory contains a file named DEVELOPERS that lists the developers involved with various areas of Buildroot. Thanks to this file, the get-developers tool allows to:

    • Calculate the list of developers to whom patches should be sent, by diff --git a/bsp/buildroot/docs/manual/manual.pdf b/bsp/buildroot/docs/manual/manual.pdf index 73d341f7..4c48b23d 100644 Binary files a/bsp/buildroot/docs/manual/manual.pdf and b/bsp/buildroot/docs/manual/manual.pdf differ diff --git a/bsp/buildroot/docs/manual/manual.text b/bsp/buildroot/docs/manual/manual.text index d9c2e6fe..ab73a1d1 100644 --- a/bsp/buildroot/docs/manual/manual.text +++ b/bsp/buildroot/docs/manual/manual.text @@ -161,13 +161,13 @@ List of Examples --------------------------------------------------------------------- -Buildroot 2019.02.2 manual generated on 2019-04-29 08:38:35 UTC from -git revision 3b4b3e7cd4 +Buildroot 2019.02.6 manual generated on 2019-10-03 15:16:21 UTC from +git revision 4564d8f397 The Buildroot manual is written by the Buildroot developers. It is licensed under the GNU General Public License, version 2. Refer to the COPYING [http://git.buildroot.org/buildroot/tree/COPYING?id= -3b4b3e7cd4618e56f5c6a8ea098ffd573a2e868e] file in the Buildroot +4564d8f3977a6ed448edf9567f4eb6a6b8c127c8] file in the Buildroot sources for the full text of this license. Copyright © 2004-2019 The Buildroot developers @@ -362,9 +362,8 @@ All of these "make" commands will need to build a configuration utility (including the interface), so you may need to install "development" packages for relevant libraries used by the configuration utilities. Refer to Chapter 2, System requirements for -more details, specifically the optional requirements Section 2.2, -“Optional packages” to get the dependencies of your favorite -interface. +more details, specifically the optional requirements to get the +dependencies of your favorite interface. For each menu entry in the configuration tool, you can find associated help that describes the purpose of the entry. Refer to @@ -1469,10 +1468,10 @@ installed (python-matplotlib on most distributions), and also the argparse module if you’re using a Python version older than 2.7 (python-argparse on most distributions). -Just like for the duration graph, a BR2_GRAPH_OUT environment is -supported to adjust the output file format. See Section 8.8, -“Graphing the dependencies between packages” for details about this -environment variable. +Just like for the duration graph, a BR2_GRAPH_OUT environment +variable is supported to adjust the output file format. See +Section 8.8, “Graphing the dependencies between packages” for details +about this environment variable. Note. The collected filesystem size data is only meaningful after a complete clean rebuild. Be sure to run make clean all before using @@ -1738,10 +1737,8 @@ Additionally, there are some other useful make targets: | graph-depends |Generate a dependency graph of the | | |package, in the context of the | | |current Buildroot configuration. See| -| |this section Section 8.8, “Graphing | -| |the dependencies between packages” | -| |for more details about dependency | -| |graphs. | +| |this section for more details about | +| |dependency graphs. | |-----------------------+------------------------------------| | graph-rdepends |Generate a graph of this package | | |reverse dependencies (i.e the | @@ -1793,10 +1790,21 @@ clean. Therefore, Buildroot provides a specific mechanism for this use case: the _OVERRIDE_SRCDIR mechanism. Buildroot reads an override file, which allows the user to tell Buildroot the location of the -source for certain packages. By default this override file is named -local.mk and located in the top directory of the Buildroot source -tree, but a different location can be specified through the -BR2_PACKAGE_OVERRIDE_FILE configuration option. +source for certain packages. + +The default location of the override file is $(CONFIG_DIR)/local.mk, +as defined by the BR2_PACKAGE_OVERRIDE_FILE configuration option. $ +(CONFIG_DIR) is the location of the Buildroot .config file, so +local.mk by default lives side-by-side with the .config file, which +means: + + * In the top-level Buildroot source directory for in-tree builds + (i.e., when O= is not used) + * In the out-of-tree directory for out-of-tree builds (i.e., when O + = is used) + +If a different location than these defaults is required, it can be +specified through the BR2_PACKAGE_OVERRIDE_FILE configuration option. In this override file, Buildroot expects to find lines of the form: @@ -1853,6 +1861,15 @@ WEBKITGTK_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = \ --exclude WebDriverTests --exclude WebKitBuild --exclude WebKitLibraries \ --exclude WebKit.xcworkspace --exclude Websites --exclude Examples +By default, Buildroot skips syncing of VCS artifacts (e.g., the .git +and .svn directories). Some packages prefer to have these VCS +directories available during build, for example for automatically +determining a precise commit reference for version information. To +undo this built-in filtering at a cost of a slower speed, add these +directories back: + +LINUX_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = --include .git + Chapter 9. Project-specific customization Typical actions you may need to perform for a given project are: @@ -2520,8 +2537,7 @@ from the post-build script. Instead, Buildroot provides support for so-called permission tables. To use this feature, set config option BR2_ROOTFS_DEVICE_TABLE to a space-separated list of permission tables, regular text files -following the makedev syntax Chapter 23, Makedev syntax documentation -. +following the makedev syntax. If you are using a static device table (i.e. not using devtmpfs, mdev, or (e)udev) then you can add device nodes using the same @@ -2543,8 +2559,7 @@ Sometimes it is needed to add specific users in the target system. To cover this requirement, Buildroot provides support for so-called users tables. To use this feature, set config option BR2_ROOTFS_USERS_TABLES to a space-separated list of users tables, -regular text files following the makeusers syntax Chapter 24, -Makeusers syntax documentation. +regular text files following the makeusers syntax. As shown in Section 9.1, “Recommended directory structure”, the recommended location for such files is board///. @@ -3653,8 +3668,7 @@ also enabled, but not necessarily built before your package. To do so, the dependency also needs to be expressed in the .mk file of the package. -Further formatting details: see the coding style Section 15.1, -“Config.in file”. +Further formatting details: see the coding style. 17.2.4. Dependencies on target and toolchain options @@ -3838,36 +3852,27 @@ different way, using different infrastructures: infrastructure must be used for all packages that do not use the autotools as their build system. In the future, other specialized infrastructures might be written for other build systems. We - cover them through in a tutorial Section 17.5.1, “generic-package - tutorial” and a reference Section 17.5.2, “generic-package - reference”. + cover them through in a tutorial and a reference. * Makefiles for autotools-based software (autoconf, automake, etc.): We provide a dedicated infrastructure for such packages, since autotools is a very common build system. This infrastructure must be used for new packages that rely on the autotools as their build system. We cover them through a tutorial - Section 17.6.1, “autotools-package tutorial” and reference - Section 17.6.2, “autotools-package reference”. + and reference. * Makefiles for cmake-based software: We provide a dedicated infrastructure for such packages, as CMake is a more and more commonly used build system and has a standardized behaviour. This infrastructure must be used for new packages that rely on CMake. - We cover them through a tutorial Section 17.7.1, “cmake-package - tutorial” and reference Section 17.7.2, “cmake-package reference” - . + We cover them through a tutorial and reference. * Makefiles for Python modules: We have a dedicated infrastructure for Python modules that use either the distutils or the - setuptools mechanism. We cover them through a tutorial - Section 17.8.1, “python-package tutorial” and a reference - Section 17.8.2, “python-package reference”. + setuptools mechanism. We cover them through a tutorial and a + reference. * Makefiles for Lua modules: We have a dedicated infrastructure for Lua modules available through the LuaRocks web site. We cover - them through a tutorial Section 17.9.1, “luarocks-package - tutorial” and a reference Section 17.9.2, “luarocks-package - reference”. + them through a tutorial and a reference. -Further formatting details: see the writing rules Section 15.2, “The -.mk file”. +Further formatting details: see the writing rules. 17.4. The .hash file @@ -4209,9 +4214,9 @@ information is (assuming the package name is libfoo) : are included in Buildroot itself use a different mechanism: all files of the form *.patch present in the package directory inside Buildroot will be applied to the package after extraction (see - patching a package Chapter 18, Patching a package). Finally, - patches listed in the LIBFOO_PATCH variable are applied before - the patches stored in the Buildroot package directory. + patching a package). Finally, patches listed in the LIBFOO_PATCH + variable are applied before the patches stored in the Buildroot + package directory. * LIBFOO_SITE provides the location of the package, which can be a URL or a local filesystem path. HTTP, FTP and SCP are supported URL types for retrieving package tarballs. In these cases don’t @@ -4870,9 +4875,13 @@ be named python- in Buildroot. Other packages that use the Python build system, but are not Python modules, can freely choose their name (existing examples in Buildroot are scons and supervisor). -In their Config.in file, they should depend on BR2_PACKAGE_PYTHON so -that when Buildroot will enable Python 3 usage for modules, we will -be able to enable Python modules progressively on Python 3. +Packages that are only compatible with one version of Python (as in: +Python 2 or Python 3) should depend on that version explicitely in +their Config.in file (BR2_PACKAGE_PYTHON for Python 2, +BR2_PACKAGE_PYTHON3 for Python 3). Packages that are compatible with +both versions should not explicitely depend on them in their +Config.in file, since that condition is already expressed for the +whole "External python modules" menu. The main macro of the Python package infrastructure is python-package. It is similar to the generic-package macro. It is @@ -4884,12 +4893,11 @@ by defining a number of variables before calling the python-package or host-python-package macros. All the package metadata information variables that exist in the -generic package infrastructure Section 17.5.2, “generic-package -reference” also exist in the Python infrastructure: -PYTHON_FOO_VERSION, PYTHON_FOO_SOURCE, PYTHON_FOO_PATCH, -PYTHON_FOO_SITE, PYTHON_FOO_SUBDIR, PYTHON_FOO_DEPENDENCIES, -PYTHON_FOO_LICENSE, PYTHON_FOO_LICENSE_FILES, -PYTHON_FOO_INSTALL_STAGING, etc. +generic package infrastructure also exist in the Python +infrastructure: PYTHON_FOO_VERSION, PYTHON_FOO_SOURCE, +PYTHON_FOO_PATCH, PYTHON_FOO_SITE, PYTHON_FOO_SUBDIR, +PYTHON_FOO_DEPENDENCIES, PYTHON_FOO_LICENSE, +PYTHON_FOO_LICENSE_FILES, PYTHON_FOO_INSTALL_STAGING, etc. Note that: @@ -5807,9 +5815,8 @@ The Makefile starts with the definition of the standard variables for package declaration (lines 7 to 11). As seen in line 35, it is based on the generic-package infrastructure -Section 17.5.1, “generic-package tutorial”. So, it defines the -variables required by this particular infrastructure, where Cargo is -invoked: +. So, it defines the variables required by this particular +infrastructure, where Cargo is invoked: * FOO_BUILD_CMDS: Cargo is invoked to perform the build. The options required to configure the cross-compilation of the @@ -5892,10 +5899,10 @@ Just like the generic infrastructure, the Go infrastructure works by defining a number of variables before calling the golang-package. All the package metadata information variables that exist in the -generic package infrastructure Section 17.5.2, “generic-package -reference” also exist in the Go infrastructure: FOO_VERSION, -FOO_SOURCE, FOO_PATCH, FOO_SITE, FOO_SUBDIR, FOO_DEPENDENCIES, -FOO_LICENSE, FOO_LICENSE_FILES, FOO_INSTALL_STAGING, etc. +generic package infrastructure also exist in the Go infrastructure: +FOO_VERSION, FOO_SOURCE, FOO_PATCH, FOO_SITE, FOO_SUBDIR, +FOO_DEPENDENCIES, FOO_LICENSE, FOO_LICENSE_FILES, +FOO_INSTALL_STAGING, etc. Note that it is not necessary to add host-go in the FOO_DEPENDENCIES variable of a package, since this basic dependency is automatically @@ -5984,8 +5991,7 @@ On line 13, we invoke the kernel-module helper infrastructure, that generates all the appropriate Makefile rules and variables to build that kernel module. -Finally, on line 14, we invoke the generic-package infrastructure -Section 17.5.1, “generic-package tutorial”. +Finally, on line 14, we invoke the generic-package infrastructure. The dependency on linux is automatically added, so it is not needed to specify it in FOO_DEPENDENCIES. @@ -6097,10 +6103,9 @@ there is, as for packages, an infrastructure for rendering documents using the AsciiDoc syntax. Also as for packages, the AsciiDoc infrastructure is available from a -br2-external tree Section 9.2, “Keeping customizations outside of -Buildroot”. This allows documentation for a br2-external tree to -match the Buildroot documentation, as it will be rendered to the same -formats and use the same layout and theme. +br2-external tree. This allows documentation for a br2-external tree +to match the Buildroot documentation, as it will be rendered to the +same formats and use the same layout and theme. 17.19.1. asciidoc-document tutorial @@ -6271,10 +6276,9 @@ only when the foo tool is selected. The rest of the Makefile, lines 11-25 defines what should be done at the different steps of the Linux tool build process like for a -generic package Section 17.5.1, “generic-package tutorial”. They will -actually be used only when the foo tool is selected. The only -supported commands are _BUILD_CMDS, _INSTALL_STAGING_CMDS and -_INSTALL_TARGET_CMDS. +generic package. They will actually be used only when the foo tool is +selected. The only supported commands are _BUILD_CMDS, +_INSTALL_STAGING_CMDS and _INSTALL_TARGET_CMDS. Note. One must not call $(eval $(generic-package)) or any other package infrastructure! Linux tools are not packages by themselves, @@ -6335,8 +6339,7 @@ modify the Linux kernel tree; this is specific to the linux extension and can use the variables defined by the foo package, like: $ (FOO_DIR) or $(FOO_VERSION)… as well as all the Linux variables, like: $(LINUX_VERSION) or $(LINUX_VERSION_PROBED), $(KERNEL_ARCH)… -See the definition of those kernel variables Section 17.18.2, -“kernel-module reference”. +See the definition of those kernel variables. 17.21. Hooks available in the various build steps @@ -6926,7 +6929,7 @@ basically two things that can be done: patch fixing an autobuild failure, add a reference to the build result directory, as follows: -Fixes http://autobuild.buildroot.org/results/51000a9d4656afe9e0ea6f07b9f8ed374c2e4069 +Fixes: http://autobuild.buildroot.org/results/51000a9d4656afe9e0ea6f07b9f8ed374c2e4069 21.3. Reviewing and testing patches @@ -7124,8 +7127,8 @@ options that no longer exist or are no longer needed. If you are interested in getting notified of build failures and of further changes in the packages you added or modified, please add yourself to the DEVELOPERS file. This should be done in the same -patch creating or modifying the package. See the DEVELOPERS file -Chapter 22, DEVELOPERS file and get-developers for more information. +patch creating or modifying the package. See the DEVELOPERS file for +more information. Buildroot provides a handy tool to check for common coding style mistakes on files you created or modified, called check-package (see @@ -7233,7 +7236,7 @@ the problem is complex, it is OK to add more paragraphs. All paragraphs should be wrapped at 72 characters. A paragraph that explains the root cause of the problem. Again, more -than on paragraph is OK. +than one paragraph is OK. Finally, one or more paragraphs that explain how the problem is solved. Don't hesitate to explain complex solutions in detail. @@ -7283,14 +7286,12 @@ as superseded. 21.6. Reporting issues/bugs or getting help Before reporting any issue, please check in the mailing list archive -Chapter 5, Community resources whether someone has already reported -and/or fixed a similar problem. +whether someone has already reported and/or fixed a similar problem. However you choose to report bugs or get help, either by opening a -bug in the bug tracker Chapter 5, Community resources or by sending a -mail to the mailing list Chapter 5, Community resources, there are a -number of details to provide in order to help people reproduce and -find a solution to the issue. +bug in the bug tracker or by sending a mail to the mailing list, +there are a number of details to provide in order to help people +reproduce and find a solution to the issue. Try to think as if you were trying to help someone else; in that case, what would you need? diff --git a/bsp/buildroot/docs/manual/using-buildroot-development.txt b/bsp/buildroot/docs/manual/using-buildroot-development.txt index 3389a37b..da6dd822 100644 --- a/bsp/buildroot/docs/manual/using-buildroot-development.txt +++ b/bsp/buildroot/docs/manual/using-buildroot-development.txt @@ -28,10 +28,22 @@ clean+. Therefore, Buildroot provides a specific mechanism for this use case: the +_OVERRIDE_SRCDIR+ mechanism. Buildroot reads an _override_ file, which allows the user to tell Buildroot the location of the -source for certain packages. By default this _override_ file is named -+local.mk+ and located in the top directory of the Buildroot source -tree, but a different location can be specified through the -+BR2_PACKAGE_OVERRIDE_FILE+ configuration option. +source for certain packages. + +The default location of the override file is +$(CONFIG_DIR)/local.mk+, +as defined by the +BR2_PACKAGE_OVERRIDE_FILE+ configuration option. ++$(CONFIG_DIR)+ is the location of the Buildroot +.config+ file, so ++local.mk+ by default lives side-by-side with the +.config+ file, +which means: + +* In the top-level Buildroot source directory for in-tree builds + (i.e., when +O=+ is not used) +* In the out-of-tree directory for out-of-tree builds (i.e., when + +O=+ is used) + +If a different location than these defaults is required, it can be +specified through the +BR2_PACKAGE_OVERRIDE_FILE+ configuration +option. In this _override_ file, Buildroot expects to find lines of the form: @@ -97,3 +109,13 @@ WEBKITGTK_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = \ --exclude WebDriverTests --exclude WebKitBuild --exclude WebKitLibraries \ --exclude WebKit.xcworkspace --exclude Websites --exclude Examples ------------------ + +By default, Buildroot skips syncing of VCS artifacts (e.g., the *.git* and +*.svn* directories). Some packages prefer to have these VCS directories +available during build, for example for automatically determining a precise +commit reference for version information. To undo this built-in filtering at a +cost of a slower speed, add these directories back: + +------------------ +LINUX_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = --include .git +------------------ diff --git a/bsp/buildroot/fs/common.mk b/bsp/buildroot/fs/common.mk index b361ecce..34849e69 100644 --- a/bsp/buildroot/fs/common.mk +++ b/bsp/buildroot/fs/common.mk @@ -82,7 +82,7 @@ ROOTFS_$(2)_DEPENDENCIES += rootfs-common ifeq ($$(BR2_TARGET_ROOTFS_$(2)_GZIP),y) ROOTFS_$(2)_COMPRESS_EXT = .gz -ROOTFS_$(2)_COMPRESS_CMD = gzip -9 -c +ROOTFS_$(2)_COMPRESS_CMD = gzip -9 -c -n endif ifeq ($$(BR2_TARGET_ROOTFS_$(2)_BZIP2),y) ROOTFS_$(2)_COMPRESS_EXT = .bz2 diff --git a/bsp/buildroot/fs/tar/tar.mk b/bsp/buildroot/fs/tar/tar.mk index 4c6327ac..393d01bf 100644 --- a/bsp/buildroot/fs/tar/tar.mk +++ b/bsp/buildroot/fs/tar/tar.mk @@ -8,6 +8,9 @@ TAR_OPTS := $(call qstrip,$(BR2_TARGET_ROOTFS_TAR_OPTIONS)) ROOTFS_TAR_DEPENDENCIES = $(BR2_TAR_HOST_DEPENDENCY) +# do not store atime/ctime in PaxHeaders to ensure reproducbility +TAR_OPTS += --pax-option=exthdr.name=%d/PaxHeaders/%f,atime:=0,ctime:=0 + define ROOTFS_TAR_CMD (cd $(TARGET_DIR); find -print0 | LC_ALL=C sort -z | \ tar $(TAR_OPTS) -cf $@ --null --xattrs-include='*' --no-recursion -T - --numeric-owner) diff --git a/bsp/buildroot/linux/Config.in b/bsp/buildroot/linux/Config.in index f35c9ec4..c00ddeef 100644 --- a/bsp/buildroot/linux/Config.in +++ b/bsp/buildroot/linux/Config.in @@ -122,7 +122,7 @@ endif config BR2_LINUX_KERNEL_VERSION string - default "4.19.36" if BR2_LINUX_KERNEL_LATEST_VERSION + default "4.19.76" if BR2_LINUX_KERNEL_LATEST_VERSION default "v4.4.176-cip31" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \ if BR2_LINUX_KERNEL_CUSTOM_VERSION diff --git a/bsp/buildroot/linux/linux.hash b/bsp/buildroot/linux/linux.hash index 76cc5472..0c7d2009 100644 --- a/bsp/buildroot/linux/linux.hash +++ b/bsp/buildroot/linux/linux.hash @@ -1,6 +1,6 @@ # From https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc sha256 d011245629b980d4c15febf080b54804aaf215167b514a3577feddb2495f8a3e linux-4.20.17.tar.xz -sha256 b808b508177f9d288d94a3b9df7b01d5eac9fcc1804a794c913b2144de63f2bc linux-4.19.36.tar.xz -sha256 b24df2e37faaf2290999c507f9e29de98494f52429bcd35513c5b3e52eaddac2 linux-4.14.113.tar.xz -sha256 33887b40fc8e0b71f423bb7afe112a4ae190378145f4a3f3892c563b7e43131d linux-4.9.170.tar.xz -sha256 c3598c22b7994b3bebc3059e8ab85bc212c53550eb401baab3f29f8d007a043d linux-4.4.178.tar.xz +sha256 ba4dd29902734b263a5197410363b17f30dc60bc999bd6ce90b6f5910b971e66 linux-4.19.76.tar.xz +sha256 a3c54b887ea3e679382bd4c0536e6a281b071dab2258bd3ee8af75baef2023f5 linux-4.14.146.tar.xz +sha256 d5f4bb7584e461f1faa9a3f94c2ad292246fe692b0e992e072dac255f806c2e3 linux-4.9.194.tar.xz +sha256 d5f4bb7584e461f1faa9a3f94c2ad292246fe692b0e992e072dac255f806c2e3 linux-4.9.194.tar.xz diff --git a/bsp/buildroot/linux/linux.mk b/bsp/buildroot/linux/linux.mk index 51fd41fa..a1378345 100644 --- a/bsp/buildroot/linux/linux.mk +++ b/bsp/buildroot/linux/linux.mk @@ -64,7 +64,8 @@ LINUX_MAKE_ENV = \ BR_BINARIES_DIR=$(BINARIES_DIR) LINUX_INSTALL_IMAGES = YES -LINUX_DEPENDENCIES = host-kmod +LINUX_DEPENDENCIES = host-kmod \ + $(if $(BR2_PACKAGE_INTEL_MICROCODE),intel-microcode) # Starting with 4.16, the generated kconfig paser code is no longer # shipped with the kernel sources, so we need flex and bison, but @@ -315,6 +316,8 @@ define LINUX_KCONFIG_FIXUP_CMDS $(LINUX_FIXUP_CONFIG_ENDIANNESS) $(if $(BR2_arm)$(BR2_armeb), $(call KCONFIG_ENABLE_OPT,CONFIG_AEABI,$(@D)/.config)) + $(if $(BR2_powerpc)$(BR2_powerpc64)$(BR2_powerpc64le), + $(call KCONFIG_ENABLE_OPT,CONFIG_PPC_DISABLE_WERROR,$(@D)/.config)) $(if $(BR2_TARGET_ROOTFS_CPIO), $(call KCONFIG_ENABLE_OPT,CONFIG_BLK_DEV_INITRD,$(@D)/.config)) # As the kernel gets compiled before root filesystems are diff --git a/bsp/buildroot/package/Config.in b/bsp/buildroot/package/Config.in index cc232b9f..5314e03f 100644 --- a/bsp/buildroot/package/Config.in +++ b/bsp/buildroot/package/Config.in @@ -1042,7 +1042,7 @@ menu "External python modules" source "package/python-slob/Config.in" source "package/python-smbus-cffi/Config.in" source "package/python-socketio/Config.in" - source "package/python-sortedcontainers//Config.in" + source "package/python-sortedcontainers/Config.in" source "package/python-spidev/Config.in" source "package/python-sqlalchemy/Config.in" source "package/python-subprocess32/Config.in" diff --git a/bsp/buildroot/package/apache/apache.hash b/bsp/buildroot/package/apache/apache.hash index 0c3a1d53..24c00eb9 100644 --- a/bsp/buildroot/package/apache/apache.hash +++ b/bsp/buildroot/package/apache/apache.hash @@ -1,4 +1,4 @@ -# From http://archive.apache.org/dist/httpd/httpd-2.4.39.tar.bz2.sha256 -sha256 b4ca9d05773aa59b54d66cd8f4744b945289f084d3be17d7981d1783a5decfa2 httpd-2.4.39.tar.bz2 +# From http://archive.apache.org/dist/httpd/httpd-2.4.41.tar.bz2.sha256 +sha256 133d48298fe5315ae9366a0ec66282fa4040efa5d566174481077ade7d18ea40 httpd-2.4.41.tar.bz2 # Locally computed sha256 c49c0819a726b70142621715dae3159c47b0349c2bc9db079070f28dadac0229 LICENSE diff --git a/bsp/buildroot/package/apache/apache.mk b/bsp/buildroot/package/apache/apache.mk index ebb28b65..1d62538b 100644 --- a/bsp/buildroot/package/apache/apache.mk +++ b/bsp/buildroot/package/apache/apache.mk @@ -4,7 +4,7 @@ # ################################################################################ -APACHE_VERSION = 2.4.39 +APACHE_VERSION = 2.4.41 APACHE_SOURCE = httpd-$(APACHE_VERSION).tar.bz2 APACHE_SITE = http://archive.apache.org/dist/httpd APACHE_LICENSE = Apache-2.0 diff --git a/bsp/buildroot/package/assimp/Config.in b/bsp/buildroot/package/assimp/Config.in index 41c1bb34..630758f3 100644 --- a/bsp/buildroot/package/assimp/Config.in +++ b/bsp/buildroot/package/assimp/Config.in @@ -1,9 +1,5 @@ config BR2_PACKAGE_ASSIMP bool "assimp" - # All gcc versions affected by - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71124, that - # cause an infinite loop in gcc when building this package. - depends on !BR2_microblaze depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_ZLIB help @@ -16,5 +12,4 @@ config BR2_PACKAGE_ASSIMP http://www.assimp.org comment "assimp needs a toolchain w/ C++" - depends on !BR2_microblaze depends on !BR2_INSTALL_LIBSTDCPP diff --git a/bsp/buildroot/package/assimp/assimp.mk b/bsp/buildroot/package/assimp/assimp.mk index 4d447487..5720f979 100644 --- a/bsp/buildroot/package/assimp/assimp.mk +++ b/bsp/buildroot/package/assimp/assimp.mk @@ -19,11 +19,15 @@ endif # workaround SuperH compiler failure when static linking (i.e -fPIC is # not passed) in gcc versions 5.x or older. The -Os optimization level # causes a "unable to find a register to spill in class -# ‘GENERAL_REGS’" error. -O2 works fine. +# 'GENERAL_REGS'" error. -O2 works fine. ifeq ($(BR2_sh):$(BR2_STATIC_LIBS):$(BR2_TOOLCHAIN_GCC_AT_LEAST_6),y:y:) ASSIMP_CXXFLAGS += -O2 endif +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +ASSIMP_CXXFLAGS += -O0 +endif + ASSIMP_CONF_OPTS += -DASSIMP_BUILD_TESTS=OFF \ -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) $(ASSIMP_CXXFLAGS)" diff --git a/bsp/buildroot/package/asterisk/asterisk.hash b/bsp/buildroot/package/asterisk/asterisk.hash index d8cc5669..1184e433 100644 --- a/bsp/buildroot/package/asterisk/asterisk.hash +++ b/bsp/buildroot/package/asterisk/asterisk.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 c022e9d5410ed94ab1aa51ba1e2a8b196f0dfa15bcd0bd545d06efee4c786578 asterisk-16.2.1.tar.gz +sha256 122ecf242e06da373488024e0c76154f2404d024d09eed20b23cae0795033380 asterisk-16.5.1.tar.gz # sha1 from: http://downloads.asterisk.org/pub/telephony/sounds/releases # sha256 locally computed diff --git a/bsp/buildroot/package/asterisk/asterisk.mk b/bsp/buildroot/package/asterisk/asterisk.mk index 65f8d3fd..1f3061b4 100644 --- a/bsp/buildroot/package/asterisk/asterisk.mk +++ b/bsp/buildroot/package/asterisk/asterisk.mk @@ -4,7 +4,7 @@ # ################################################################################ -ASTERISK_VERSION = 16.2.1 +ASTERISK_VERSION = 16.5.1 # Use the github mirror: it's an official mirror maintained by Digium, and # provides tarballs, which the main Asterisk git tree (behind Gerrit) does not. ASTERISK_SITE = $(call github,asterisk,asterisk,$(ASTERISK_VERSION)) diff --git a/bsp/buildroot/package/atftp/atftp.hash b/bsp/buildroot/package/atftp/atftp.hash index b7860c76..3e5e783c 100644 --- a/bsp/buildroot/package/atftp/atftp.hash +++ b/bsp/buildroot/package/atftp/atftp.hash @@ -1,2 +1,3 @@ # Locally computed -sha1 fc9e9f821dfd2f257b4a5c32b948ed60b4e31fd1 atftp-0.7.1.tar.gz +sha256 1ad080674e9f974217b3a703e7356c6c8446dc5e7b2014d0d06e1bfaa11b5041 atftp-0.7.2.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 LICENSE diff --git a/bsp/buildroot/package/atftp/atftp.mk b/bsp/buildroot/package/atftp/atftp.mk index e1c257cb..cbe05ba7 100644 --- a/bsp/buildroot/package/atftp/atftp.mk +++ b/bsp/buildroot/package/atftp/atftp.mk @@ -4,19 +4,19 @@ # ################################################################################ -ATFTP_VERSION = 0.7.1 +ATFTP_VERSION = 0.7.2 ATFTP_SITE = http://sourceforge.net/projects/atftp/files ATFTP_LICENSE = GPL-2.0+ ATFTP_LICENSE_FILES = LICENSE +# 0001-Makefile.am-link-against-libpthread-for-atftp.patch patches Makefile.am +ATFTP_AUTORECONF = YES ATFTP_CONF_OPTS = --disable-libwrap --disable-mtftp # For static we need to explicitly link against libpthread ATFTP_LIBS = -lpthread -# We use CPPFLAGS for -fgnu89-inline even though it's a compiler flag -# because atftp discards configure environment CFLAGS. -fgnu89-inline -# is needed to avoid multiple definition error with gcc 5. See +# -fgnu89-inline is needed to avoid multiple definition error with gcc 5. See # https://gcc.gnu.org/gcc-5/porting_to.html. ATFTP_CONF_ENV = LIBS="$(ATFTP_LIBS)" \ - CPPFLAGS="$(TARGET_CPPFLAGS) -fgnu89-inline" + CFLAGS="$(TARGET_CFLAGS) -fgnu89-inline" ifeq ($(BR2_PACKAGE_READLINE),y) ATFTP_DEPENDENCIES += readline diff --git a/bsp/buildroot/package/atk/atk.mk b/bsp/buildroot/package/atk/atk.mk index 228b24a7..6a0cb370 100644 --- a/bsp/buildroot/package/atk/atk.mk +++ b/bsp/buildroot/package/atk/atk.mk @@ -11,6 +11,8 @@ ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/atk/$(ATK_VERSION_MAJOR) ATK_LICENSE = LGPL-2.0+ ATK_LICENSE_FILES = COPYING ATK_INSTALL_STAGING = YES -ATK_DEPENDENCIES = libglib2 +ATK_DEPENDENCIES = libglib2 $(TARGET_NLS_DEPENDENCIES) + +ATK_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) $(eval $(meson-package)) diff --git a/bsp/buildroot/package/atop/atop.mk b/bsp/buildroot/package/atop/atop.mk index aaf02908..4ea1ccf2 100644 --- a/bsp/buildroot/package/atop/atop.mk +++ b/bsp/buildroot/package/atop/atop.mk @@ -10,8 +10,15 @@ ATOP_LICENSE = GPL-2.0+ ATOP_LICENSE_FILES = COPYING ATOP_DEPENDENCIES = ncurses zlib +ATOP_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +ATOP_CFLAGS += -O0 +endif + define ATOP_BUILD_CMDS - $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) + $(MAKE) $(TARGET_CONFIGURE_OPTS) CFLAGS="$(ATOP_CFLAGS)" \ + -C $(@D) endef define ATOP_INSTALL_TARGET_CMDS diff --git a/bsp/buildroot/package/augeas/augeas.mk b/bsp/buildroot/package/augeas/augeas.mk index 8cb4f74e..7897d8f4 100644 --- a/bsp/buildroot/package/augeas/augeas.mk +++ b/bsp/buildroot/package/augeas/augeas.mk @@ -11,9 +11,6 @@ AUGEAS_LICENSE = LGPL-2.1+ AUGEAS_LICENSE_FILES = COPYING AUGEAS_DEPENDENCIES = host-pkgconf readline libxml2 -# patching examples/Makefile.am, can be removed when updating from version 1.9.0 -AUGEAS_AUTORECONF = YES - AUGEAS_CONF_OPTS = --disable-gnulib-tests # Remove the test lenses which occupy about 1.4 MB on the target diff --git a/bsp/buildroot/package/autofs/autofs.mk b/bsp/buildroot/package/autofs/autofs.mk index e7c65ef4..0af00fa9 100644 --- a/bsp/buildroot/package/autofs/autofs.mk +++ b/bsp/buildroot/package/autofs/autofs.mk @@ -11,11 +11,18 @@ AUTOFS_LICENSE = GPL-2.0+ AUTOFS_LICENSE_FILES = COPYING COPYRIGHT AUTOFS_DEPENDENCIES = host-flex host-bison host-pkgconf host-nfs-utils -# autofs looks on the build machine for the path of modprobe, so tell -# it explicitly where it will be located on the target. +# autofs looks on the build machine for the path of modprobe, mount, +# umount and fsck programs so tell it explicitly where they will be +# located on the target. AUTOFS_CONF_ENV = \ + ac_cv_path_E2FSCK=/usr/sbin/fsck.ext2 \ + ac_cv_path_E3FSCK=/usr/sbin/fsck.ext3 \ + ac_cv_path_E4FSCK=/usr/sbin/fsck.ext4 \ ac_cv_path_KRB5_CONFIG=no \ ac_cv_path_MODPROBE=/sbin/modprobe \ + ac_cv_path_MOUNT=/bin/mount \ + ac_cv_path_MOUNT_NFS=/usr/sbin/mount.nfs \ + ac_cv_path_UMOUNT=/bin/umount \ ac_cv_linux_procfs=yes # instead of looking in the PATH like any reasonable package, autofs diff --git a/bsp/buildroot/package/batctl/batctl.mk b/bsp/buildroot/package/batctl/batctl.mk index 122263e4..824d2e15 100644 --- a/bsp/buildroot/package/batctl/batctl.mk +++ b/bsp/buildroot/package/batctl/batctl.mk @@ -6,7 +6,7 @@ BATCTL_VERSION = 2017.0 BATCTL_SITE = http://downloads.open-mesh.org/batman/releases/batman-adv-$(BATCTL_VERSION) -BATCTL_LICENSE = GPL-2.0 +BATCTL_LICENSE = GPL-2.0, MIT (batman_adv.h, list.h) BATCTL_DEPENDENCIES = libnl host-pkgconf define BATCTL_BUILD_CMDS diff --git a/bsp/buildroot/package/batman-adv/batman-adv.mk b/bsp/buildroot/package/batman-adv/batman-adv.mk index 51799186..2cebe135 100644 --- a/bsp/buildroot/package/batman-adv/batman-adv.mk +++ b/bsp/buildroot/package/batman-adv/batman-adv.mk @@ -6,7 +6,7 @@ BATMAN_ADV_VERSION = 2017.0.1 BATMAN_ADV_SITE = https://downloads.open-mesh.org/batman/stable/sources/batman-adv -BATMAN_ADV_LICENSE = GPL-2.0 +BATMAN_ADV_LICENSE = GPL-2.0, MIT (batman_adv.h) # Bridge Loop Avoidance, Distributed Arp Table are always enabled BATMAN_ADV_CFLAGS = \ diff --git a/bsp/buildroot/package/berkeleydb/berkeleydb.mk b/bsp/buildroot/package/berkeleydb/berkeleydb.mk index e5c11bdd..e077eb46 100644 --- a/bsp/buildroot/package/berkeleydb/berkeleydb.mk +++ b/bsp/buildroot/package/berkeleydb/berkeleydb.mk @@ -44,6 +44,22 @@ define BERKELEYDB_CONFIGURE_CMDS ) endef +define HOST_BERKELEYDB_CONFIGURE_CMDS + (cd $(@D)/build_unix; rm -rf config.cache; \ + $(HOST_CONFIGURE_OPTS) \ + ../dist/configure $(QUIET) \ + --prefix=$(HOST_DIR) \ + --with-gnu-ld \ + --disable-cxx \ + --disable-java \ + --disable-tcl \ + --disable-compat185 \ + --with-pic \ + --enable-o_direct \ + --disable-mutexsupport \ + ) +endef + ifneq ($(BR2_PACKAGE_BERKELEYDB_TOOLS),y) define BERKELEYDB_REMOVE_TOOLS @@ -61,3 +77,4 @@ endef BERKELEYDB_POST_INSTALL_TARGET_HOOKS += BERKELEYDB_REMOVE_DOCS $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/bind/0001-cross.patch b/bsp/buildroot/package/bind/0001-cross.patch index 5b4b1cd8..d3e7cc68 100644 --- a/bsp/buildroot/package/bind/0001-cross.patch +++ b/bsp/buildroot/package/bind/0001-cross.patch @@ -1,18 +1,23 @@ Use host compiler to build 'gen' since it's run when building. Signed-off-by: Gustavo Zacarias +[Fabrice: updated for 9.11.10] +Signed-off-by: Fabrice Fontaine diff -Nura bind-9.5.1-P1/lib/dns/Makefile.in bind-9.5.1-P1.gencross/lib/dns/Makefile.in --- bind-9.5.1-P1/lib/dns/Makefile.in 2007-09-11 22:09:08.000000000 -0300 +++ bind-9.5.1-P1.gencross/lib/dns/Makefile.in 2009-03-04 16:35:23.000000000 -0200 -@@ -160,8 +160,8 @@ - ./gen -s ${srcdir} > code.h +@@ -160,10 +160,8 @@ + ./gen -s ${srcdir} > code.h || { rm -f $@ ; exit 1; } gen: gen.c - ${BUILD_CC} ${BUILD_CFLAGS} -I${top_srcdir}/lib/isc/include \ -- ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} -o $@ ${srcdir}/gen.c ${BUILD_LIBS} +- ${LFS_CFLAGS} ${LFS_LDFLAGS} \ +- ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} -o $@ ${srcdir}/gen.c \ +- ${BUILD_LIBS} ${LFS_LIBS} + ${HOSTCC} ${HOST_CFLAGS} -I${top_srcdir}/lib/isc/include \ + ${HOST_LDFLAGS} -o $@ ${srcdir}/gen.c - rbtdb64.@O@: rbtdb.c + timestamp: include libdns.@A@ + touch timestamp diff --git a/bsp/buildroot/package/bind/0002-Replace-atomic-operations-in-bin-named-client.c-with.patch b/bsp/buildroot/package/bind/0002-Replace-atomic-operations-in-bin-named-client.c-with.patch deleted file mode 100644 index 2701de76..00000000 --- a/bsp/buildroot/package/bind/0002-Replace-atomic-operations-in-bin-named-client.c-with.patch +++ /dev/null @@ -1,133 +0,0 @@ -From ef49780d30d3ddc5735cfc32561b678a634fa72f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= -Date: Wed, 17 Apr 2019 15:22:27 +0200 -Subject: [PATCH] Replace atomic operations in bin/named/client.c with - isc_refcount reference counting - -Signed-off-by: Peter Korsgaard ---- - bin/named/client.c | 18 +++++++----------- - bin/named/include/named/interfacemgr.h | 5 +++-- - bin/named/interfacemgr.c | 7 +++++-- - 3 files changed, 15 insertions(+), 15 deletions(-) - -diff --git a/bin/named/client.c b/bin/named/client.c -index 845326abc0..29fecadca8 100644 ---- a/bin/named/client.c -+++ b/bin/named/client.c -@@ -402,12 +402,10 @@ tcpconn_detach(ns_client_t *client) { - static void - mark_tcp_active(ns_client_t *client, bool active) { - if (active && !client->tcpactive) { -- isc_atomic_xadd(&client->interface->ntcpactive, 1); -+ isc_refcount_increment0(&client->interface->ntcpactive, NULL); - client->tcpactive = active; - } else if (!active && client->tcpactive) { -- uint32_t old = -- isc_atomic_xadd(&client->interface->ntcpactive, -1); -- INSIST(old > 0); -+ isc_refcount_decrement(&client->interface->ntcpactive, NULL); - client->tcpactive = active; - } - } -@@ -554,7 +552,7 @@ exit_check(ns_client_t *client) { - if (client->mortal && TCP_CLIENT(client) && - client->newstate != NS_CLIENTSTATE_FREED && - !ns_g_clienttest && -- isc_atomic_xadd(&client->interface->ntcpaccepting, 0) == 0) -+ isc_refcount_current(&client->interface->ntcpaccepting) == 0) - { - /* Nobody else is accepting */ - client->mortal = false; -@@ -3328,7 +3326,6 @@ client_newconn(isc_task_t *task, isc_event_t *event) { - isc_result_t result; - ns_client_t *client = event->ev_arg; - isc_socket_newconnev_t *nevent = (isc_socket_newconnev_t *)event; -- uint32_t old; - - REQUIRE(event->ev_type == ISC_SOCKEVENT_NEWCONN); - REQUIRE(NS_CLIENT_VALID(client)); -@@ -3348,8 +3345,7 @@ client_newconn(isc_task_t *task, isc_event_t *event) { - INSIST(client->naccepts == 1); - client->naccepts--; - -- old = isc_atomic_xadd(&client->interface->ntcpaccepting, -1); -- INSIST(old > 0); -+ isc_refcount_decrement(&client->interface->ntcpaccepting, NULL); - - /* - * We must take ownership of the new socket before the exit -@@ -3480,8 +3476,8 @@ client_accept(ns_client_t *client) { - * quota is tcp-clients plus the number of listening - * interfaces plus 1.) - */ -- exit = (isc_atomic_xadd(&client->interface->ntcpactive, 0) > -- (client->tcpactive ? 1 : 0)); -+ exit = (isc_refcount_current(&client->interface->ntcpactive) > -+ (client->tcpactive ? 1U : 0U)); - if (exit) { - client->newstate = NS_CLIENTSTATE_INACTIVE; - (void)exit_check(client); -@@ -3539,7 +3535,7 @@ client_accept(ns_client_t *client) { - * listening for connections itself to prevent the interface - * going dead. - */ -- isc_atomic_xadd(&client->interface->ntcpaccepting, 1); -+ isc_refcount_increment0(&client->interface->ntcpaccepting, NULL); - } - - static void -diff --git a/bin/named/include/named/interfacemgr.h b/bin/named/include/named/interfacemgr.h -index 3535ef22a8..6e10f210fd 100644 ---- a/bin/named/include/named/interfacemgr.h -+++ b/bin/named/include/named/interfacemgr.h -@@ -45,6 +45,7 @@ - #include - #include - #include -+#include - - #include - -@@ -75,11 +76,11 @@ struct ns_interface { - /*%< UDP dispatchers. */ - isc_socket_t * tcpsocket; /*%< TCP socket. */ - isc_dscp_t dscp; /*%< "listen-on" DSCP value */ -- int32_t ntcpaccepting; /*%< Number of clients -+ isc_refcount_t ntcpaccepting; /*%< Number of clients - ready to accept new - TCP connections on this - interface */ -- int32_t ntcpactive; /*%< Number of clients -+ isc_refcount_t ntcpactive; /*%< Number of clients - servicing TCP queries - (whether accepting or - connected) */ -diff --git a/bin/named/interfacemgr.c b/bin/named/interfacemgr.c -index d9f6df5802..135533be6b 100644 ---- a/bin/named/interfacemgr.c -+++ b/bin/named/interfacemgr.c -@@ -386,8 +386,8 @@ ns_interface_create(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr, - * connections will be handled in parallel even though there is - * only one client initially. - */ -- ifp->ntcpaccepting = 0; -- ifp->ntcpactive = 0; -+ isc_refcount_init(&ifp->ntcpaccepting, 0); -+ isc_refcount_init(&ifp->ntcpactive, 0); - - ifp->nudpdispatch = 0; - -@@ -618,6 +618,9 @@ ns_interface_destroy(ns_interface_t *ifp) { - - ns_interfacemgr_detach(&ifp->mgr); - -+ isc_refcount_destroy(&ifp->ntcpactive); -+ isc_refcount_destroy(&ifp->ntcpaccepting); -+ - ifp->magic = 0; - isc_mem_put(mctx, ifp, sizeof(*ifp)); - } --- -2.11.0 - diff --git a/bsp/buildroot/package/bind/bind.hash b/bsp/buildroot/package/bind/bind.hash index cdd4bdd3..999c6602 100644 --- a/bsp/buildroot/package/bind/bind.hash +++ b/bsp/buildroot/package/bind/bind.hash @@ -1,4 +1,4 @@ -# Verified from https://ftp.isc.org/isc/bind9/9.11.6-P1/bind-9.11.6-P1.tar.gz.asc +# Verified from https://ftp.isc.org/isc/bind9/9.11.10/bind-9.11.10.tar.gz.asc # with key 156890685EA0DF6A1371EF2017CC5DB1F0088407 -sha256 58ace2abb4d048b67abcdef0649ecd6cbd3b0652734a41a1d34f942d5500f8ef bind-9.11.6-P1.tar.gz +sha256 b2bb840cda20e6771ae8c054007b4ec12e1bb6aa6bfe79102890eb94956a70c3 bind-9.11.10.tar.gz sha256 cd02c93b8dcda794f55dfd1231828d69633072a98eee4874f9cf732d22d9dcde COPYRIGHT diff --git a/bsp/buildroot/package/bind/bind.mk b/bsp/buildroot/package/bind/bind.mk index 42c240a7..4ac81f1d 100644 --- a/bsp/buildroot/package/bind/bind.mk +++ b/bsp/buildroot/package/bind/bind.mk @@ -4,7 +4,7 @@ # ################################################################################ -BIND_VERSION = 9.11.6-P1 +BIND_VERSION = 9.11.10 BIND_SITE = https://ftp.isc.org/isc/bind9/$(BIND_VERSION) # bind does not support parallel builds. BIND_MAKE = $(MAKE1) diff --git a/bsp/buildroot/package/botan/0003-makefile.in-move-LDFLAGS-after-EXE_LINKS_TO.patch b/bsp/buildroot/package/botan/0003-makefile.in-move-LDFLAGS-after-EXE_LINKS_TO.patch new file mode 100644 index 00000000..82186419 --- /dev/null +++ b/bsp/buildroot/package/botan/0003-makefile.in-move-LDFLAGS-after-EXE_LINKS_TO.patch @@ -0,0 +1,38 @@ +From a837dd63f3ac5a9c206863c82b57c679cb72b8b7 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 28 Apr 2019 10:21:06 +0200 +Subject: [PATCH] makefile.in: move LDFLAGS after EXE_LINKS_TO + +Move LDFLAGS after EXE_LINKS_TO to allow the user to give additional +libraries such as -latomic otherwise static build will fail: + +cli/tls_server.o build/obj/cli/tls_utils.o build/obj/cli/utils.o build/obj/cli/x509.o -L. -lbotan-2 -lboost_filesystem -lboost_system -lbz2 -lcrypto -llzma -lsqlite3 -lz -o botan +/home/buildroot/autobuild/instance-1/output/host/bin/sparc-linux-g++ -Wl,-rpath=\$ORIGIN -pthread -static -latomic build/obj/test/main.o build/obj/test/test_aead.o build/obj/test/test_asn1.o build/obj/test/test_bigint.o build/obj/test/test_block.o build/obj/test/test_blowfish.o build/obj/test/test_c25519.o build/obj/test/test_certstor.o build/obj/test/test_compression.o build/obj/test/test_cryptobox.o build/obj/test/test_datastore.o build/obj/test/test_dh.o build/obj/test/test_dl_group.o build/obj/test/test_dlies.o build/obj/test/test_dsa.o build/obj/test/test_ecc_pointmul.o build/obj/test/test_ecdh.o build/obj/test/test_ecdsa.o build/obj/test/test_ecgdsa.o build/obj/test/test_ecies.o build/obj/test/test_eckcdsa.o build/obj/test/test_ed25519.o build/obj/test/test_elg.o build/obj/test/test_entropy.o build/obj/test/test_ffi.o build/obj/test/test_filters.o build/obj/test/test_fpe.o build/obj/test/test_gf2m.o build/obj/test/test_gost_3410.o build/obj/test/test_hash.o build/obj/test/test_hash_id.o build/obj/test/test_kdf.o build/obj/test/test_keywrap.o build/obj/test/test_mac.o build/obj/test/test_mceliece.o build/obj/test/test_modes.o build/obj/test/test_mp.o build/obj/test/test_name_constraint.o build/obj/test/test_newhope.o build/obj/test/test_ocb.o build/obj/test/test_ocsp.o build/obj/test/test_octetstring.o build/obj/test/test_oid.o build/obj/test/test_os_utils.o build/obj/test/test_otp.o build/obj/test/test_package_transform.o build/obj/test/test_pad.o build/obj/test/test_passhash.o build/obj/test/test_pbkdf.o build/obj/test/test_pem.o build/obj/test/test_pk_pad.o build/obj/test/test_pkcs11.o build/obj/test/test_pkcs11_high_level.o build/obj/test/test_pkcs11_low_level.o build/obj/test/test_psk_db.o build/obj/test/test_pubkey.o build/obj/test/test_rfc6979.o build/obj/test/test_rng.o build/obj/test/test_rng_kat.o build/obj/test/test_rsa.o build/obj/test/test_runner.o build/obj/test/test_simd.o build/obj/test/test_siv.o build/obj/test/test_sm2.o build/obj/test/test_srp6.o build/obj/test/test_stream.o build/obj/test/test_tests.o build/obj/test/test_tls.o build/obj/test/test_tls_messages.o build/obj/test/test_tpm.o build/obj/test/test_tss.o build/obj/test/test_utils.o build/obj/test/test_workfactor.o build/obj/test/test_x509_dn.o build/obj/test/test_x509_path.o build/obj/test/test_xmss.o build/obj/test/tests.o build/obj/test/unit_ecc.o build/obj/test/unit_ecdh.o build/obj/test/unit_ecdsa.o build/obj/test/unit_tls.o build/obj/test/unit_tls_policy.o build/obj/test/unit_x509.o -L. -lbotan-2 -lboost_filesystem -lboost_system -lbz2 -lcrypto -llzma -lsqlite3 -lz -o botan-test +./libbotan-2.a(utils_filesystem.o): In function `Botan::get_files_recursive(std::__cxx11::basic_string, std::allocator > const&)': +filesystem.cpp:(.text+0x758): undefined reference to `__atomic_fetch_sub_4' + +Fixes: + - http://autobuild.buildroot.org/results/9db39b209a0f4be1e09b7e4ddb5e9a63da4fbbfa + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/randombit/botan/pull/1916] +--- + src/build-data/makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/build-data/makefile.in b/src/build-data/makefile.in +index 08c9c5421..7111c7b19 100644 +--- a/src/build-data/makefile.in ++++ b/src/build-data/makefile.in +@@ -71,7 +71,7 @@ $(CLI): $(LIBRARIES) $(CLIOBJS) + $(POST_LINK_CMD) + + $(TEST): $(LIBRARIES) $(TESTOBJS) +- $(EXE_LINK_CMD) $(ABI_FLAGS) $(LDFLAGS) $(TESTOBJS) $(EXE_LINKS_TO) %{output_to_exe}$@ ++ $(EXE_LINK_CMD) $(ABI_FLAGS) $(TESTOBJS) $(EXE_LINKS_TO) $(LDFLAGS) %{output_to_exe}$@ + $(POST_LINK_CMD) + + %{if build_fuzzers} +-- +2.20.1 + diff --git a/bsp/buildroot/package/brotli/brotli.mk b/bsp/buildroot/package/brotli/brotli.mk index 2c1ad487..134f4808 100644 --- a/bsp/buildroot/package/brotli/brotli.mk +++ b/bsp/buildroot/package/brotli/brotli.mk @@ -14,4 +14,12 @@ BROTLI_CONF_OPTS = \ -DBROTLI_DISABLE_TESTS=ON \ -DBROTLI_BUNDLED_MODE=OFF +BROTLI_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y) +BROTLI_CFLAGS += -O0 +endif + +BROTLI_CONF_OPTS += -DCMAKE_C_FLAGS="$(BROTLI_CFLAGS)" + $(eval $(cmake-package)) diff --git a/bsp/buildroot/package/busybox/busybox.config b/bsp/buildroot/package/busybox/busybox.config index 1d9560d6..ab04854c 100644 --- a/bsp/buildroot/package/busybox/busybox.config +++ b/bsp/buildroot/package/busybox/busybox.config @@ -967,9 +967,9 @@ CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" # CONFIG_FEATURE_UDHCP_PORT is not set CONFIG_UDHCP_DEBUG=0 CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 -# CONFIG_FEATURE_UDHCP_RFC3397 is not set +CONFIG_FEATURE_UDHCP_RFC3397=y CONFIG_FEATURE_UDHCP_8021Q=y -CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n" +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n -O search" # # Print Utilities diff --git a/bsp/buildroot/package/busybox/busybox.mk b/bsp/buildroot/package/busybox/busybox.mk index 5c5a8ea8..179af6ae 100644 --- a/bsp/buildroot/package/busybox/busybox.mk +++ b/bsp/buildroot/package/busybox/busybox.mk @@ -32,6 +32,7 @@ BUSYBOX_DEPENDENCIES = \ $(if $(BR2_PACKAGE_DEBIANUTILS),debianutils) \ $(if $(BR2_PACKAGE_DIFFUTILS),diffutils) \ $(if $(BR2_PACKAGE_DOS2UNIX),dos2unix) \ + $(if $(BR2_PACKAGE_DOSFSTOOLS),dosfstools) \ $(if $(BR2_PACKAGE_E2FSPROGS),e2fsprogs) \ $(if $(BR2_PACKAGE_FBSET),fbset) \ $(if $(BR2_PACKAGE_GAWK),gawk) \ diff --git a/bsp/buildroot/package/busybox/udhcpc.script b/bsp/buildroot/package/busybox/udhcpc.script index ad110d3a..131c138b 100755 --- a/bsp/buildroot/package/busybox/udhcpc.script +++ b/bsp/buildroot/package/busybox/udhcpc.script @@ -56,7 +56,7 @@ case "$1" in cat $TMPFILE > $RESOLV_CONF rm -f $TMPFILE - # prefer rfc3359 domain search list (option 119) if available + # prefer rfc3397 domain search list (option 119) if available if [ -n "$search" ]; then search_list=$search elif [ -n "$domain" ]; then diff --git a/bsp/buildroot/package/bwm-ng/bwm-ng.mk b/bsp/buildroot/package/bwm-ng/bwm-ng.mk index 587ffbea..32e097e2 100644 --- a/bsp/buildroot/package/bwm-ng/bwm-ng.mk +++ b/bsp/buildroot/package/bwm-ng/bwm-ng.mk @@ -7,7 +7,7 @@ BWM_NG_VERSION = f54b3fad2c80bfe63f920c9b5e7c1d80389c57ef BWM_NG_SITE = $(call github,vgropp,bwm-ng,$(BWM_NG_VERSION)) BWM_NG_CONF_OPTS = --with-procnetdev --with-diskstats -BWM_NG_LICENSE = GPL-2.0 +BWM_NG_LICENSE = GPL-2.0+ BWM_NG_LICENSE_FILES = COPYING BWM_NG_AUTORECONF = YES diff --git a/bsp/buildroot/package/bzip2/0002-improve-build-system.patch b/bsp/buildroot/package/bzip2/0002-improve-build-system.patch index 90099aa2..2d6e2cf9 100644 --- a/bsp/buildroot/package/bzip2/0002-improve-build-system.patch +++ b/bsp/buildroot/package/bzip2/0002-improve-build-system.patch @@ -70,15 +70,15 @@ Index: b/Makefile-libbz2_so huffman.o \ @@ -37,8 +36,11 @@ all: $(OBJS) - $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6 $(OBJS) - $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.6 + $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.8 $(OBJS) + $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.8 - rm -f libbz2.so.1.0 -- ln -s libbz2.so.1.0.6 libbz2.so.1.0 +- ln -s libbz2.so.1.0.8 libbz2.so.1.0 + +install: -+ install -m 0755 -D libbz2.so.1.0.6 $(PREFIX)/lib/libbz2.so.1.0.6 -+ ln -sf libbz2.so.1.0.6 $(PREFIX)/lib/libbz2.so -+ ln -sf libbz2.so.1.0.6 $(PREFIX)/lib/libbz2.so.1.0 ++ install -m 0755 -D libbz2.so.1.0.8 $(PREFIX)/lib/libbz2.so.1.0.8 ++ ln -sf libbz2.so.1.0.8 $(PREFIX)/lib/libbz2.so ++ ln -sf libbz2.so.1.0.8 $(PREFIX)/lib/libbz2.so.1.0 clean: - rm -f $(OBJS) bzip2.o libbz2.so.1.0.6 libbz2.so.1.0 bzip2-shared + rm -f $(OBJS) bzip2.o libbz2.so.1.0.8 libbz2.so.1.0 bzip2-shared diff --git a/bsp/buildroot/package/bzip2/Config.in b/bsp/buildroot/package/bzip2/Config.in index ca447bbb..7db1902b 100644 --- a/bsp/buildroot/package/bzip2/Config.in +++ b/bsp/buildroot/package/bzip2/Config.in @@ -5,3 +5,5 @@ config BR2_PACKAGE_BZIP2 It typically compresses files to within 10% to 15% of the best available techniques, while being around twice as fast at compression and six times faster at decompression. + + https://sourceware.org/bzip2/ diff --git a/bsp/buildroot/package/bzip2/bzip2.hash b/bsp/buildroot/package/bzip2/bzip2.hash index 60b0a191..cf66c402 100644 --- a/bsp/buildroot/package/bzip2/bzip2.hash +++ b/bsp/buildroot/package/bzip2/bzip2.hash @@ -1,2 +1,4 @@ -# From http://www.bzip.org/downloads.html -md5 00b516f4704d4a7cb50a1d97e6e8e15b bzip2-1.0.6.tar.gz +# From https://sourceware.org/pub/bzip2/sha512.sum +sha512 083f5e675d73f3233c7930ebe20425a533feedeaaa9d8cc86831312a6581cefbe6ed0d08d2fa89be81082f2a5abdabca8b3c080bf97218a1bd59dc118a30b9f3 bzip2-1.0.8.tar.gz +# Locally calculated +sha256 c6dbbf828498be844a89eaa3b84adbab3199e342eb5cb2ed2f0d4ba7ec0f38a3 LICENSE diff --git a/bsp/buildroot/package/bzip2/bzip2.mk b/bsp/buildroot/package/bzip2/bzip2.mk index a3af3229..b4d8eea2 100644 --- a/bsp/buildroot/package/bzip2/bzip2.mk +++ b/bsp/buildroot/package/bzip2/bzip2.mk @@ -4,8 +4,8 @@ # ################################################################################ -BZIP2_VERSION = 1.0.6 -BZIP2_SITE = http://sources.buildroot.net +BZIP2_VERSION = 1.0.8 +BZIP2_SITE = https://sourceware.org/pub/bzip2 BZIP2_INSTALL_STAGING = YES BZIP2_LICENSE = bzip2 license BZIP2_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/ca-certificates/ca-certificates.hash b/bsp/buildroot/package/ca-certificates/ca-certificates.hash index 8100dde3..71a8da47 100644 --- a/bsp/buildroot/package/ca-certificates/ca-certificates.hash +++ b/bsp/buildroot/package/ca-certificates/ca-certificates.hash @@ -1,3 +1,6 @@ # hashes from: $(CA_CERTIFICATES_SITE)/ca-certificates_$(CA_CERTIFICATES_VERSION).dsc : -sha1 edf0ec04b02fcbc90cc65906ff83fb042894a3b7 ca-certificates_20180409.tar.xz -sha256 7af6f5bfc619fd29cbf0258c1d95107c38ce840ad6274e343e1e0d971fc72b51 ca-certificates_20180409.tar.xz +sha1 47d4584eae85fc905e4994766eb3930a8a84e2e1 ca-certificates_20190110.tar.xz +sha256 ee4bf0f4c6398005f5b5ca4e0b87b82837ac5c3b0280a1cb3a63c47555c3a675 ca-certificates_20190110.tar.xz + +# Locally computed +sha256 80fd11117df5543d5cf17bfd951b0ead213f7867d0b09f09c6d5a5eca3ff7422 debian/copyright diff --git a/bsp/buildroot/package/ca-certificates/ca-certificates.mk b/bsp/buildroot/package/ca-certificates/ca-certificates.mk index 5c259aa3..79c81a41 100644 --- a/bsp/buildroot/package/ca-certificates/ca-certificates.mk +++ b/bsp/buildroot/package/ca-certificates/ca-certificates.mk @@ -4,9 +4,9 @@ # ################################################################################ -CA_CERTIFICATES_VERSION = 20180409 +CA_CERTIFICATES_VERSION = 20190110 CA_CERTIFICATES_SOURCE = ca-certificates_$(CA_CERTIFICATES_VERSION).tar.xz -CA_CERTIFICATES_SITE = http://snapshot.debian.org/archive/debian/20180411T111033Z/pool/main/c/ca-certificates +CA_CERTIFICATES_SITE = http://snapshot.debian.org/archive/debian/20190513T145054Z/pool/main/c/ca-certificates CA_CERTIFICATES_DEPENDENCIES = host-openssl # ca-certificates can be built with either python 2 or python 3 # but it must be at least python 2.7 diff --git a/bsp/buildroot/package/capnproto/Config.in b/bsp/buildroot/package/capnproto/Config.in index 00328fa6..a979a334 100644 --- a/bsp/buildroot/package/capnproto/Config.in +++ b/bsp/buildroot/package/capnproto/Config.in @@ -10,7 +10,7 @@ config BR2_PACKAGE_CAPNPROTO Cap'n Proto is an insanely fast data interchange format and capability-based RPC system. Think JSON, except binary. Or think Protocol Buffers, except faster. In - fact, in benchmarks, Cap’n Proto is INFINITY TIMES + fact, in benchmarks, Cap'n Proto is INFINITY TIMES faster than Protocol Buffers. https://capnproto.org/index.html diff --git a/bsp/buildroot/package/chocolate-doom/chocolate-doom.mk b/bsp/buildroot/package/chocolate-doom/chocolate-doom.mk index 54121c43..8c16a7fa 100644 --- a/bsp/buildroot/package/chocolate-doom/chocolate-doom.mk +++ b/bsp/buildroot/package/chocolate-doom/chocolate-doom.mk @@ -21,6 +21,14 @@ CHOCOLATE_DOOM_CONF_OPTS = \ --with-sdl-prefix=$(STAGING_DIR)/usr \ --with-sdl-exec-prefix=$(STAGING_DIR)/usr +CHOCOLATE_DOOM_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +CHOCOLATE_DOOM_CFLAGS += -O0 +endif + +CHOCOLATE_DOOM_CONF_ENV += CFLAGS="$(CHOCOLATE_DOOM_CFLAGS)" + ifeq ($(BR2_PACKAGE_LIBPNG),y) CHOCOLATE_DOOM_DEPENDENCIES += libpng CHOCOLATE_DOOM_CONF_OPTS += --with-libpng diff --git a/bsp/buildroot/package/cjson/cjson.hash b/bsp/buildroot/package/cjson/cjson.hash index 32a05b3c..d980fc85 100644 --- a/bsp/buildroot/package/cjson/cjson.hash +++ b/bsp/buildroot/package/cjson/cjson.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 17ace0e31ebd639906983b05fe1d51576b948ca5411c2162f55dd34c122162ca cjson-v1.7.11.tar.gz +sha256 760687665ab41a5cff9c40b1053c19572bcdaadef1194e5cba1b5e6f824686e7 cjson-v1.7.12.tar.gz sha256 a36dda207c36db5818729c54e7ad4e8b0c6fba847491ba64f372c1a2037b6d5c LICENSE diff --git a/bsp/buildroot/package/cjson/cjson.mk b/bsp/buildroot/package/cjson/cjson.mk index e6ab71b9..ae09ea95 100644 --- a/bsp/buildroot/package/cjson/cjson.mk +++ b/bsp/buildroot/package/cjson/cjson.mk @@ -4,7 +4,7 @@ # ################################################################################ -CJSON_VERSION = v1.7.11 +CJSON_VERSION = v1.7.12 CJSON_SITE = $(call github,DaveGamble,cjson,$(CJSON_VERSION)) CJSON_INSTALL_STAGING = YES CJSON_LICENSE = MIT diff --git a/bsp/buildroot/package/clamav/clamav.hash b/bsp/buildroot/package/clamav/clamav.hash index 4b61cd96..1246f4fe 100644 --- a/bsp/buildroot/package/clamav/clamav.hash +++ b/bsp/buildroot/package/clamav/clamav.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 0a12ebdf6ff7a74c0bde2bdc2b55cae33449e6dd953ec90824a9e01291277634 clamav-0.101.2.tar.gz +sha256 0bf094f0919d158a578421d66bc2569c8c8181233ba162bb51722f98c802bccd clamav-0.101.4.tar.gz sha256 0c4fd2fa9733fc9122503797648710851e4ee6d9e4969dd33fcbd8c63cd2f584 COPYING sha256 d72a145c90918184a05ef65a04c9e6f7466faa59bc1b82c8f6a8ddc7ddcb9bed COPYING.bzip2 sha256 dfb818a0d41411c6fb1c193c68b73018ceadd1994bda41ad541cbff292894bc6 COPYING.file diff --git a/bsp/buildroot/package/clamav/clamav.mk b/bsp/buildroot/package/clamav/clamav.mk index 5bb0aa09..03ce4136 100644 --- a/bsp/buildroot/package/clamav/clamav.mk +++ b/bsp/buildroot/package/clamav/clamav.mk @@ -4,7 +4,7 @@ # ################################################################################ -CLAMAV_VERSION = 0.101.2 +CLAMAV_VERSION = 0.101.4 CLAMAV_SITE = https://www.clamav.net/downloads/production CLAMAV_LICENSE = GPL-2.0 CLAMAV_LICENSE_FILES = COPYING COPYING.bzip2 COPYING.file COPYING.getopt \ diff --git a/bsp/buildroot/package/cloop/cloop.mk b/bsp/buildroot/package/cloop/cloop.mk index ad50d0a9..585f422c 100644 --- a/bsp/buildroot/package/cloop/cloop.mk +++ b/bsp/buildroot/package/cloop/cloop.mk @@ -13,7 +13,8 @@ CLOOP_LICENSE_FILES = README advancecomp-1.15/COPYING HOST_CLOOP_DEPENDENCIES = host-zlib define HOST_CLOOP_BUILD_CMDS - $(HOST_CONFIGURE_OPTS) $(MAKE1) -C $(@D) APPSONLY=yes + $(HOST_CONFIGURE_OPTS) $(MAKE1) -C $(@D) APPSONLY=yes \ + CFLAGS="$(HOST_CFLAGS) -D_GNU_SOURCE" endef define HOST_CLOOP_INSTALL_CMDS diff --git a/bsp/buildroot/package/collectd/Config.in b/bsp/buildroot/package/collectd/Config.in index 3222547b..0cf04b51 100644 --- a/bsp/buildroot/package/collectd/Config.in +++ b/bsp/buildroot/package/collectd/Config.in @@ -389,7 +389,7 @@ config BR2_PACKAGE_COLLECTD_POSTGRESQL Connects to and executes SQL statements on a PostgreSQL database. It then reads back the results and, depending on the configuration, the returned values are then converted into - collectd “value lists”. + collectd 'value lists'. comment "postgresql support needs a toolchain w/ wchar" depends on !BR2_USE_WCHAR diff --git a/bsp/buildroot/package/collectd/collectd.hash b/bsp/buildroot/package/collectd/collectd.hash index cf7e0b83..08682b6b 100644 --- a/bsp/buildroot/package/collectd/collectd.hash +++ b/bsp/buildroot/package/collectd/collectd.hash @@ -1,5 +1,5 @@ # From https://collectd.org/files/SHA256SUM -sha256 7edd3643c0842215553b2421d5456f4e9a8a58b07e216b40a7e8e91026d8e501 collectd-5.7.1.tar.bz2 +sha256 9d20a0221569a8d6b80bbc52b86e5e84965f5bafdbf5dfc3790e0fed0763e592 collectd-5.7.2.tar.bz2 # Hash for license files sha256 ed0409b2b1c30566dab5fcdaf46ee70e140c99788e22f0267645a9357b476ae4 COPYING diff --git a/bsp/buildroot/package/collectd/collectd.mk b/bsp/buildroot/package/collectd/collectd.mk index 589324e6..7b2a5172 100644 --- a/bsp/buildroot/package/collectd/collectd.mk +++ b/bsp/buildroot/package/collectd/collectd.mk @@ -4,7 +4,7 @@ # ################################################################################ -COLLECTD_VERSION = 5.7.1 +COLLECTD_VERSION = 5.7.2 COLLECTD_SITE = http://collectd.org/files COLLECTD_SOURCE = collectd-$(COLLECTD_VERSION).tar.bz2 COLLECTD_CONF_ENV = ac_cv_lib_yajl_yajl_alloc=yes @@ -15,7 +15,7 @@ COLLECTD_LICENSE_FILES = COPYING libltdl/COPYING.LIB # These require unmet dependencies, are fringe, pointless or deprecated COLLECTD_PLUGINS_DISABLE = \ amqp apple_sensors aquaero ascent barometer dbi dpdkstat email \ - gmond grpc hddtemp intel_rdt ipmi java libvirt lpar lvm \ + gmond grpc hddtemp intel_rdt ipmi java lpar lua lvm \ madwifi mbmon mic multimeter netapp notify_desktop numa \ nut onewire oracle perl pf pinba powerdns python redis routeros \ rrdcached sigrok tape target_v5upgrade teamspeak2 ted \ diff --git a/bsp/buildroot/package/connman-gtk/connman-gtk.hash b/bsp/buildroot/package/connman-gtk/connman-gtk.hash index d71e77d2..fbc4acb1 100644 --- a/bsp/buildroot/package/connman-gtk/connman-gtk.hash +++ b/bsp/buildroot/package/connman-gtk/connman-gtk.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 49bdc4769a7c508b0130e4705eef21aec9df1ea4f5c29fee48a0cae8db828fca connman-gtk-1.1.1.tar.bz2 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/bsp/buildroot/package/connman-gtk/connman-gtk.mk b/bsp/buildroot/package/connman-gtk/connman-gtk.mk index 9888fcd4..0ea49198 100644 --- a/bsp/buildroot/package/connman-gtk/connman-gtk.mk +++ b/bsp/buildroot/package/connman-gtk/connman-gtk.mk @@ -8,8 +8,10 @@ CONNMAN_GTK_VERSION = 1.1.1 CONNMAN_GTK_SITE = https://github.com/jgke/connman-gtk/releases/download/v$(CONNMAN_GTK_VERSION) CONNMAN_GTK_SOURCE = connman-gtk-$(CONNMAN_GTK_VERSION).tar.bz2 CONNMAN_GTK_INSTALL_STAGING = YES -CONNMAN_GTK_DEPENDENCIES = host-intltool connman libglib2 libgtk3 +CONNMAN_GTK_DEPENDENCIES = host-intltool connman libglib2 libgtk3 \ + $(TARGET_NLS_DEPENDENCIES) CONNMAN_GTK_LICENSE = GPL-2.0+ CONNMAN_GTK_LICENSE_FILES = COPYING +CONNMAN_GTK_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/coreutils/coreutils.mk b/bsp/buildroot/package/coreutils/coreutils.mk index 3e8efbf0..8e5518f6 100644 --- a/bsp/buildroot/package/coreutils/coreutils.mk +++ b/bsp/buildroot/package/coreutils/coreutils.mk @@ -55,7 +55,7 @@ COREUTILS_CONF_ENV = ac_cv_c_restrict=no \ MAKEINFO=true \ INSTALL_PROGRAM=$(INSTALL) -COREUTILS_BIN_PROGS = cat chgrp chmod chown cp date dd df dir echo false \ +COREUTILS_BIN_PROGS = base64 cat chgrp chmod chown cp date dd df dir echo false \ kill link ln ls mkdir mknod mktemp mv nice printenv pwd rm rmdir \ vdir sleep stty sync touch true uname join diff --git a/bsp/buildroot/package/cracklib/cracklib.mk b/bsp/buildroot/package/cracklib/cracklib.mk index aeee60d1..387fd8ba 100644 --- a/bsp/buildroot/package/cracklib/cracklib.mk +++ b/bsp/buildroot/package/cracklib/cracklib.mk @@ -9,7 +9,8 @@ CRACKLIB_SITE = https://github.com/cracklib/cracklib/releases/download/cracklib- CRACKLIB_LICENSE = LGPL-2.1 CRACKLIB_LICENSE_FILES = COPYING.LIB CRACKLIB_INSTALL_STAGING = YES -CRACKLIB_DEPENDENCIES = host-cracklib +CRACKLIB_DEPENDENCIES = host-cracklib $(TARGET_NLS_DEPENDENCIES) +CRACKLIB_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) ifeq ($(BR2_PACKAGE_ZLIB),y) CRACKLIB_CONF_OPTS += --with-zlib diff --git a/bsp/buildroot/package/cryptopp/cryptopp.mk b/bsp/buildroot/package/cryptopp/cryptopp.mk index 8e3277a9..4565785c 100644 --- a/bsp/buildroot/package/cryptopp/cryptopp.mk +++ b/bsp/buildroot/package/cryptopp/cryptopp.mk @@ -15,16 +15,23 @@ define HOST_CRYPTOPP_EXTRACT_CMDS $(UNZIP) $(HOST_CRYPTOPP_DL_DIR)/$(CRYPTOPP_SOURCE) -d $(@D) endef +HOST_CRYPTOPP_CXXFLAGS = $(HOST_CFLAGS) -fPIC + +# _mm256_broadcastsi128_si256 has been added only in gcc 4.9 +ifneq ($(BR2_HOST_GCC_AT_LEAST_4_9),y) +HOST_CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_AVX2 +endif + HOST_CRYPTOPP_MAKE_OPTS = \ $(HOST_CONFIGURE_OPTS) \ - CXXFLAGS="$(HOST_CXXFLAGS) -fPIC" + CXXFLAGS="$(HOST_CRYPTOPP_CXXFLAGS)" define HOST_CRYPTOPP_BUILD_CMDS $(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_CRYPTOPP_MAKE_OPTS) shared endef define HOST_CRYPTOPP_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=$(HOST_DIR) install + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=$(HOST_DIR) install-lib endef $(eval $(host-generic-package)) diff --git a/bsp/buildroot/package/cups-filters/0001-Replace-relative-linking-with-absolute-linking.patch b/bsp/buildroot/package/cups-filters/0001-Replace-relative-linking-with-absolute-linking.patch deleted file mode 100644 index e4b35cda..00000000 --- a/bsp/buildroot/package/cups-filters/0001-Replace-relative-linking-with-absolute-linking.patch +++ /dev/null @@ -1,46 +0,0 @@ -From c26b4c3550557442890f2f790d4f8b61a3734c1f Mon Sep 17 00:00:00 2001 -From: Olivier Schonken -Date: Thu, 8 Mar 2018 12:32:23 +0200 -Subject: [PATCH] install: don't use ln -r - -Oldish enterprise-class distributions have too old versions of -coreutils, with ln not supporting -r. - -So we fake it. - -ln -r would create minimalist relative paths, but they are not -trivial to generate. Instead, we always create paths relative to the -root, i.e.: - - ln -s -r /usr/bin/foo /usr/sbin/foo - -would create: /usr/sbin/foo -> ../bin/foo -while we do : /usr/sbin/foo -> ../../usr/bin/foo - -Signed-off-by: Olivier Schonken ---- - Makefile.am | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index d959227..b49914a 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -998,11 +998,11 @@ install-exec-hook: - $(INSTALL) -d -m 755 $(DESTDIR)$(pkgfilterdir) - $(INSTALL) -d -m 755 $(DESTDIR)$(pkgbackenddir) - if ENABLE_FOOMATIC -- $(LN_S) -r -f $(DESTDIR)$(pkgfilterdir)/foomatic-rip $(DESTDIR)$(bindir) -+ $(LN_S) -f ../..$(pkgfilterdir)/foomatic-rip $(DESTDIR)$(bindir) - endif - if ENABLE_DRIVERLESS -- $(LN_S) -r -f $(DESTDIR)$(pkgppdgendir)/driverless $(DESTDIR)$(bindir) -- $(LN_S) -r -f $(DESTDIR)$(pkgppdgendir)/driverless $(DESTDIR)$(pkgbackenddir) -+ $(LN_S) -f ../..$(pkgppdgendir)/driverless $(DESTDIR)$(bindir) -+ $(LN_S) -f ../..$(pkgppdgendir)/driverless $(DESTDIR)$(pkgbackenddir) - endif - if ENABLE_BRAILLE - $(LN_S) -f imagetobrf $(DESTDIR)$(pkgfilterdir)/imagetoubrl --- -2.14.1 - diff --git a/bsp/buildroot/package/cups-filters/0001-install-support-old-ln-versions-without-the-r-option.patch b/bsp/buildroot/package/cups-filters/0001-install-support-old-ln-versions-without-the-r-option.patch new file mode 100644 index 00000000..1f155fce --- /dev/null +++ b/bsp/buildroot/package/cups-filters/0001-install-support-old-ln-versions-without-the-r-option.patch @@ -0,0 +1,214 @@ +From edd44df686b4ec983a327cabc5035106addb274f Mon Sep 17 00:00:00 2001 +From: Carlos Santos +Date: Mon, 16 Sep 2019 22:22:37 -0300 +Subject: [PATCH] install: support old ln versions without the -r option + +Oldish enterprise-class Linux distributions have outdated versions of +coreutils whose ln command do not support the -r option. Also non-Linux +systems like FreeBSD don't support that option. Use a shell script that +mimics the missing functionality. + +The script creates minimalist relative paths, like ln -r does, but in +order to simplify the logic, it requires that the arguments be absolute +paths and do not end with '/'. This is enough for our purposes. + +Add configuration logic to detect if ln supports the -r option, based on +the logic used by Autoconf to check if ln supports the -s option. + +Signed-off-by: Carlos Santos +--- + Makefile.am | 6 ++-- + configure.ac | 2 ++ + ln-srf | 49 ++++++++++++++++++++++++++ + m4/ac_ln_srf.m4 | 91 +++++++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 145 insertions(+), 3 deletions(-) + create mode 100755 ln-srf + create mode 100644 m4/ac_ln_srf.m4 + +diff --git a/Makefile.am b/Makefile.am +index 76b81de5..beb2882e 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -988,11 +988,11 @@ install-exec-hook: + $(INSTALL) -d -m 755 $(DESTDIR)$(pkgfilterdir) + $(INSTALL) -d -m 755 $(DESTDIR)$(pkgbackenddir) + if ENABLE_FOOMATIC +- $(LN_S) -r -f $(DESTDIR)$(pkgfilterdir)/foomatic-rip $(DESTDIR)$(bindir) ++ $(LN_SRF) $(DESTDIR)$(pkgfilterdir)/foomatic-rip $(DESTDIR)$(bindir) + endif + if ENABLE_DRIVERLESS +- $(LN_S) -r -f $(DESTDIR)$(pkgppdgendir)/driverless $(DESTDIR)$(bindir) +- $(LN_S) -r -f $(DESTDIR)$(pkgppdgendir)/driverless $(DESTDIR)$(pkgbackenddir) ++ $(LN_SRF) $(DESTDIR)$(pkgppdgendir)/driverless $(DESTDIR)$(bindir) ++ $(LN_SRF) $(DESTDIR)$(pkgppdgendir)/driverless $(DESTDIR)$(pkgbackenddir) + endif + if ENABLE_BRAILLE + $(LN_S) -f imagetobrf $(DESTDIR)$(pkgfilterdir)/imagetoubrl +diff --git a/configure.ac b/configure.ac +index d5a539b6..fbcf829a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -58,6 +58,8 @@ AM_ICONV + AC_PROG_CPP + AC_PROG_INSTALL + AC_PROG_LN_S ++AS_LN_SRF_PREPARE ++AC_PROG_LN_SRF + AC_PROG_MAKE_SET + AC_PROG_LIBTOOL + PKG_PROG_PKG_CONFIG([0.20]) +diff --git a/ln-srf b/ln-srf +new file mode 100755 +index 00000000..f395a760 +--- /dev/null ++++ b/ln-srf +@@ -0,0 +1,49 @@ ++#!/bin/sh ++# ++# Author: Carlos Santos ++# This file is in public domain. ++# ++ ++error() { ++ echo "$@" 1>&2 ++ exit 1 ++} ++ ++src="$1" ++dst="$2" ++ ++check_path() { ++ case "$2" in ++ */../*|*/./*|*/.|*/..) error "$1 path '$2' must be absolute";; ++ */) error "$1 path '$2' must not end with '/'";; ++ /?*) ;; ++ *) error "$1 path '$2' must start with '/'";; ++ esac ++} ++ ++check_path "source" "$src" ++check_path "destination" "$dst" ++ ++# strip leading '/' ++src=${src#/*} ++tmp=${dst#/*} ++ ++s_prefix=${src%%/*} ++d_prefix=${tmp%%/*} ++ ++# strip leading common ++while [ "$s_prefix" = "$d_prefix" ]; do ++ src="${src#$s_prefix/}" ++ tmp="${tmp#$d_prefix/}" ++ s_prefix=${src%%/*} ++ d_prefix=${tmp%%/*} ++done ++ ++s_prefix="../" ++while [ -n "$d_prefix" ] && [ "$tmp" != "$d_prefix" ]; do ++ s_prefix="../$s_prefix" ++ tmp="${tmp#$d_prefix/}" ++ d_prefix=${tmp%%/*} ++done ++ ++ln -s -f "$s_prefix$src" "$dst" +diff --git a/m4/ac_ln_srf.m4 b/m4/ac_ln_srf.m4 +new file mode 100644 +index 00000000..204b3439 +--- /dev/null ++++ b/m4/ac_ln_srf.m4 +@@ -0,0 +1,91 @@ ++# Adapted from Autoconf Version 2.63 (GPLv2). ++# ++# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ++# Free Software Foundation, Inc. ++# ++# 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 2, 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, write to the Free Software ++# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA ++# 02110-1301, USA. ++# ++# As a special exception, the Free Software Foundation gives unlimited ++# permission to copy, distribute and modify the configure scripts that ++# are the output of Autoconf. You need not follow the terms of the GNU ++# General Public License when using or distributing such scripts, even ++# though portions of the text of Autoconf appear in them. The GNU ++# General Public License (GPL) does govern all other use of the material ++# that constitutes the Autoconf program. ++# ++# Certain portions of the Autoconf source text are designed to be copied ++# (in certain cases, depending on the input) into the output of ++# Autoconf. We call these the "data" portions. The rest of the Autoconf ++# source text consists of comments plus executable code that decides which ++# of the data portions to output in any given case. We call these ++# comments and executable code the "non-data" portions. Autoconf never ++# copies any of the non-data portions into its output. ++# ++# This special exception to the GPL applies to versions of Autoconf ++# released by the Free Software Foundation. When you make and ++# distribute a modified version of Autoconf, you may extend this special ++# exception to the GPL to apply to your modified version as well, *unless* ++# your modified version has the potential to copy into its output some ++# of the text that was the non-data portion of the version that you started ++# with. (In other words, unless your change moves or copies text from ++# the non-data portions to the data portions.) If your modification has ++# such potential, you must delete any notice of this special exception ++# to the GPL from your modified version. ++ ++# AS_LN_SRF_PREPARE ++# ------------------------------------ ++m4_defun([AS_LN_SRF_PREPARE], ++[rm -f conf$$ conf$$.exe conf$$.file ++if test -d conf$$.dir; then ++ rm -f conf$$.dir/conf$$.file ++else ++ rm -f conf$$.dir ++ mkdir conf$$.dir 2>/dev/null ++fi ++if (echo >conf$$.file) 2>/dev/null; then ++ if ln -s -r conf$$.file conf$$ 2>/dev/null; then ++ as_ln_srf='ln -s -r -f' ++ elif ln -s conf$$.file conf$$ 2>/dev/null; then ++ as_ln_srf='./ln-srf' ++ # ... but there are two gotchas: ++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. ++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. ++ # In both cases, we have to default to `cp -pRf'. ++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || ++ as_ln_srf='cp -pRf' ++ elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_srf=ln ++ else ++ as_ln_srf='cp -pRf' ++ fi ++else ++ as_ln_srf='cp -pRf' ++fi ++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file ++rmdir conf$$.dir 2>/dev/null ++])# AS_LN_SRF_PREPARE ++ ++# AC_PROG_LN_SRF ++# -------------------------------- ++AC_DEFUN([AC_PROG_LN_SRF], ++[AC_MSG_CHECKING([whether ln -s -r -f works]) ++AC_SUBST([LN_SRF], [$as_ln_srf])dnl ++if test "$LN_SRF" = "ln -s -r -f"; then ++ AC_MSG_RESULT([yes]) ++else ++ AC_MSG_RESULT([no, using $LN_SRF]) ++fi ++])# AC_PROG_LN_SRF +-- +2.18.1 + diff --git a/bsp/buildroot/package/cups-filters/0002-filter-texttotext.c-link-with-libiconv-if-needed.patch b/bsp/buildroot/package/cups-filters/0002-filter-texttotext.c-link-with-libiconv-if-needed.patch new file mode 100644 index 00000000..cace0773 --- /dev/null +++ b/bsp/buildroot/package/cups-filters/0002-filter-texttotext.c-link-with-libiconv-if-needed.patch @@ -0,0 +1,122 @@ +From 734ef160b428c545d8c6ae16c4bfe3c036173aa4 Mon Sep 17 00:00:00 2001 +From: Carlos Santos +Date: Sun, 21 Jul 2019 23:54:29 -0300 +Subject: [PATCH] filter/texttotext.c: link with libiconv if needed + +texttotext.c uses iconv so it should link with libiconv on platforms +where it is a separate library (e.g. uClibc-ng without built-in NLS) +otherwise texttotext fails to link: + + CCLD texttotext +[...]/ld: texttotext-texttotext.o: in function `main': +texttotext.c:(.text.startup+0xde0): undefined reference to `libiconv_open' +[...]/ld: texttotext.c:(.text.startup+0xf9d): undefined reference to `libiconv' +[...]/ld: texttotext.c:(.text.startup+0xfd6): undefined reference to `libiconv' +[...]/ld: texttotext.c:(.text.startup+0x16c3): undefined reference to `libiconv_close' + +Modify autogen.sh to call autopoint, which adds the libiconv discovery. +It also creates a "po" skeleton but we can discard it, since it is not +really necessary. + +Fixes: https://bugs.busybox.net/show_bug.cgi?id=12031 + +Signed-off-by: Carlos Santos +--- + Makefile.am | 4 +++- + autogen.sh | 17 +++++++++++++++++ + configure.ac | 6 +++++- + 3 files changed, 25 insertions(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 72e023ed..76b81de5 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -778,7 +778,7 @@ texttotext_SOURCES = \ + filter/texttotext.c + EXTRA_texttotext_SOURCES = filter/strcasestr.c + texttotext_CFLAGS = $(CUPS_CFLAGS) +-texttotext_LDADD = $(STRCASESTR) $(CUPS_LIBS) ++texttotext_LDADD = $(STRCASESTR) $(CUPS_LIBS) $(LIBICONV) + texttotext_DEPENDENCIES = $(STRCASESTR) + + pdftops_SOURCES = \ +@@ -1049,3 +1049,5 @@ if ENABLE_BRAILLE + $(RM) $(DESTDIR)$(pkgfilterdir)/vectortoubrl + $(RM) $(DESTDIR)$(pkgfilterdir)/textbrftoindexv4 + endif ++ ++SUBDIRS = +diff --git a/autogen.sh b/autogen.sh +index 5462a323..cd7397a9 100755 +--- a/autogen.sh ++++ b/autogen.sh +@@ -13,11 +13,22 @@ aclocal --version > /dev/null 2> /dev/null || { + echo "error: aclocal not found" + exit 1 + } ++ + automake --version > /dev/null 2> /dev/null || { + echo "error: automake not found" + exit 1 + } + ++autopoint --version > /dev/null 2> /dev/null || { ++ echo "error: autopoint not found" ++ exit 1 ++} ++ ++gettext --version > /dev/null 2> /dev/null || { ++ echo "error: gettext not found" ++ exit 1 ++} ++ + for i in $TESTLIBTOOLIZE; do + if which $i > /dev/null 2>&1; then + LIBTOOLIZE=$i +@@ -39,6 +50,12 @@ fi + + rm -rf autom4te*.cache + ++autopoint --force || { ++ echo "error: autopoint failed" ++ exit 1 ++} ++# autopoint is for libiconv discovery; we don't want the po directory ++rm -rf po + $LIBTOOLIZE --force --copy || { + echo "error: libtoolize failed" + exit 1 +diff --git a/configure.ac b/configure.ac +index 607dc17a..d5a539b6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -18,7 +18,7 @@ AC_CONFIG_MACRO_DIR([m4]) + m4_include([m4/ac_define_dir.m4]) + m4_include([m4/ax_compare_version.m4]) + m4_include([m4/basic-directories.m4]) +-AM_INIT_AUTOMAKE([1.11 gnu dist-xz dist-bzip2]) ++AM_INIT_AUTOMAKE([1.11 gnu dist-xz dist-bzip2 subdir-objects]) + AM_SILENT_RULES([yes]) + AC_LANG([C++]) + AC_CONFIG_HEADERS([config.h]) +@@ -54,6 +54,7 @@ AC_PROG_CC + AC_PROG_CXX + AX_CXX_COMPILE_STDCXX([11],[noext],[mandatory]) + AM_PROG_CC_C_O ++AM_ICONV + AC_PROG_CPP + AC_PROG_INSTALL + AC_PROG_LN_S +@@ -61,6 +62,9 @@ AC_PROG_MAKE_SET + AC_PROG_LIBTOOL + PKG_PROG_PKG_CONFIG([0.20]) + ++AM_GNU_GETTEXT_VERSION([0.18.3]) ++AM_GNU_GETTEXT([external]) ++ + # ======================================== + # Specify the fontdir patch if not default + # ======================================== +-- +2.18.1 + diff --git a/bsp/buildroot/package/cups-filters/cups-filters.mk b/bsp/buildroot/package/cups-filters/cups-filters.mk index 81d91956..292c8e9b 100644 --- a/bsp/buildroot/package/cups-filters/cups-filters.mk +++ b/bsp/buildroot/package/cups-filters/cups-filters.mk @@ -8,7 +8,7 @@ CUPS_FILTERS_VERSION = 1.21.3 CUPS_FILTERS_SITE = http://openprinting.org/download/cups-filters CUPS_FILTERS_LICENSE = GPL-2.0, GPL-2.0+, GPL-3.0, GPL-3.0+, LGPL-2, LGPL-2.1+, MIT, BSD-4-Clause CUPS_FILTERS_LICENSE_FILES = COPYING -# 0001-Replace-relative-linking-with-absolute-linking.patch +# 0001-install-support-old-ln-versions-without-the-r-option.patch CUPS_FILTERS_AUTORECONF = YES CUPS_FILTERS_DEPENDENCIES = cups libglib2 lcms2 qpdf fontconfig freetype jpeg @@ -16,11 +16,20 @@ CUPS_FILTERS_DEPENDENCIES = cups libglib2 lcms2 qpdf fontconfig freetype jpeg CUPS_FILTERS_CONF_OPTS = --disable-imagefilters \ --disable-mutool \ --disable-foomatic \ + --disable-braille \ --with-cups-config=$(STAGING_DIR)/usr/bin/cups-config \ --with-sysroot=$(STAGING_DIR) \ --with-pdftops=pdftops \ --with-jpeg +# After 0002-filter-texttotext.c-link-with-libiconv-if-needed.patch autoreconf +# needs config.rpath and ABOUT-NLS, which are not in v1.25.4 yet. Fake them. +define CUPS_FILTERS_ADD_MISSING_FILE + touch $(@D)/config.rpath $(@D)/ABOUT-NLS +endef + +CUPS_FILTERS_PRE_CONFIGURE_HOOKS = CUPS_FILTERS_ADD_MISSING_FILE + ifeq ($(BR2_PACKAGE_LIBPNG),y) CUPS_FILTERS_CONF_OPTS += --with-png CUPS_FILTERS_DEPENDENCIES += libpng diff --git a/bsp/buildroot/package/cups/cups.hash b/bsp/buildroot/package/cups/cups.hash index 3d238d61..d75387c4 100644 --- a/bsp/buildroot/package/cups/cups.hash +++ b/bsp/buildroot/package/cups/cups.hash @@ -1,3 +1,3 @@ # Locally calculated: -sha256 77c8b2b3bb7fe8b5fbfffc307f2c817b2d7ec67b657f261a1dd1c61ab81205bb cups-2.2.10-source.tar.gz +sha256 0f61ab449e4748a24c6ab355b481ff7691247a140d327b2b7526fce34b7f9aa8 cups-2.2.12-source.tar.gz sha256 6e0e0ffbde118aae709f7ef65590de9071e8b2cd322f84fd645c6b64f3cc452c LICENSE.txt diff --git a/bsp/buildroot/package/cups/cups.mk b/bsp/buildroot/package/cups/cups.mk index b91fe7ac..21e4c221 100644 --- a/bsp/buildroot/package/cups/cups.mk +++ b/bsp/buildroot/package/cups/cups.mk @@ -4,7 +4,7 @@ # ################################################################################ -CUPS_VERSION = 2.2.10 +CUPS_VERSION = 2.2.12 CUPS_SOURCE = cups-$(CUPS_VERSION)-source.tar.gz CUPS_SITE = https://github.com/apple/cups/releases/download/v$(CUPS_VERSION) CUPS_LICENSE = GPL-2.0, LGPL-2.0 diff --git a/bsp/buildroot/package/dahdi-linux/dahdi-linux.hash b/bsp/buildroot/package/dahdi-linux/dahdi-linux.hash index c362f8ea..1847a4da 100644 --- a/bsp/buildroot/package/dahdi-linux/dahdi-linux.hash +++ b/bsp/buildroot/package/dahdi-linux/dahdi-linux.hash @@ -1,7 +1,7 @@ # sha1 from: http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases # sha256 locally computed -sha1 8cbd55b8611c6ed80bcdf84d537566b4934f3def dahdi-linux-2.11.1.tar.gz -sha256 f59f382365118205e77d2874f1c0e1546e936247bcc45f07a43bc21778bee9df dahdi-linux-2.11.1.tar.gz +sha1 9827f0afc625e293021b81daf94ec054145c975b dahdi-linux-3.0.0.tar.gz +sha256 02a8a680d20a3e243f37259edc3554ab9a488595a28562c45c33da3792d12caa dahdi-linux-3.0.0.tar.gz # Firmware files have no upstream hash, so sha56 locally computed sha256 3ff26cf80555fd7470b43a87c51d03c1db2a75abcd4561d79f69b6c48298e4a1 dahdi-fwload-vpmadt032-1.25.0.tar.gz diff --git a/bsp/buildroot/package/dahdi-linux/dahdi-linux.mk b/bsp/buildroot/package/dahdi-linux/dahdi-linux.mk index 6ac1e889..4d2c7e71 100644 --- a/bsp/buildroot/package/dahdi-linux/dahdi-linux.mk +++ b/bsp/buildroot/package/dahdi-linux/dahdi-linux.mk @@ -4,7 +4,7 @@ # ################################################################################ -DAHDI_LINUX_VERSION = 2.11.1 +DAHDI_LINUX_VERSION = 3.0.0 DAHDI_LINUX_SITE = http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases # We need to download all thoe firmware blobs ourselves, otherwise diff --git a/bsp/buildroot/package/dahdi-tools/dahdi-tools.hash b/bsp/buildroot/package/dahdi-tools/dahdi-tools.hash index 7b668c60..5538ed6b 100644 --- a/bsp/buildroot/package/dahdi-tools/dahdi-tools.hash +++ b/bsp/buildroot/package/dahdi-tools/dahdi-tools.hash @@ -1,7 +1,7 @@ # sha1 from http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases # sha256 locally computed -sha1 5da944e6d59a977f814230253f3ddf2847e7f31b dahdi-tools-2.11.1.tar.gz -sha256 53ffeb333f3e44b0c88e5b17475cdbf87d3f652eb81a6422de76250c061e2909 dahdi-tools-2.11.1.tar.gz +sha1 3e988256aae4b6a6ed8efb3ecc07753779f54823 dahdi-tools-3.0.0.tar.gz +sha256 5bebb20d5ae13fa13f0e2075603013954b962be477db02271eef44b3e41557c5 dahdi-tools-3.0.0.tar.gz # License files, locally computed sha256 fa5fc1d1eec39532ea517518eeefd7b6e3c14341a55e5880a0e2a49eee47a5b7 LICENSE diff --git a/bsp/buildroot/package/dahdi-tools/dahdi-tools.mk b/bsp/buildroot/package/dahdi-tools/dahdi-tools.mk index e97d944c..392dc091 100644 --- a/bsp/buildroot/package/dahdi-tools/dahdi-tools.mk +++ b/bsp/buildroot/package/dahdi-tools/dahdi-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -DAHDI_TOOLS_VERSION = 2.11.1 +DAHDI_TOOLS_VERSION = 3.0.0 DAHDI_TOOLS_SITE = http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases DAHDI_TOOLS_LICENSE = GPLv2, LGPLv2.1 diff --git a/bsp/buildroot/package/daq/daq.mk b/bsp/buildroot/package/daq/daq.mk index a23a9dc5..f0f996ba 100644 --- a/bsp/buildroot/package/daq/daq.mk +++ b/bsp/buildroot/package/daq/daq.mk @@ -18,6 +18,13 @@ DAQ_MAKE = $(MAKE1) # disable ipq module as libipq is deprecated DAQ_CONF_OPTS += --disable-ipq-module +# Set --with-dnet-{includes,libraries} even if ipq and nfq modules are disabled +# otherwise daq will call 'dnet-config --cflags' and 'dnet-config --libs' which +# will result in a build failure if libdnet is installed on host +DAQ_CONF_OPTS += \ + --with-dnet-includes=$(STAGING_DIR)/usr/include \ + --with-dnet-libraries=$(STAGING_DIR)/usr/lib + ifeq ($(BR2_PACKAGE_LIBDNET)$(BR2_PACKAGE_LIBNETFILTER_QUEUE),yy) DAQ_DEPENDENCIES += libdnet libnetfilter_queue DAQ_CONF_OPTS += --enable-nfq-module diff --git a/bsp/buildroot/package/davfs2/davfs2.hash b/bsp/buildroot/package/davfs2/davfs2.hash index 102659a3..7e2078be 100644 --- a/bsp/buildroot/package/davfs2/davfs2.hash +++ b/bsp/buildroot/package/davfs2/davfs2.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 c9c4e0f0912a782386216b2147eb9c36c47f193b8fcf3d637719e0b9fe7c96e0 davfs2-1.5.4.tar.gz +sha256 587c6a25ad78109995a7ccb8e60aa1c491b149f2c99d47033f3d5e648430ad2f davfs2-1.5.5.tar.gz # License file, locally calculated sha256 0ae0485a5bd37a63e63603596417e4eb0e653334fa6c7f932ca3a0e85d4af227 COPYING diff --git a/bsp/buildroot/package/davfs2/davfs2.mk b/bsp/buildroot/package/davfs2/davfs2.mk index f2b2fdbe..90f73f4d 100644 --- a/bsp/buildroot/package/davfs2/davfs2.mk +++ b/bsp/buildroot/package/davfs2/davfs2.mk @@ -4,7 +4,7 @@ # ################################################################################ -DAVFS2_VERSION = 1.5.4 +DAVFS2_VERSION = 1.5.5 DAVFS2_SITE = http://download.savannah.nongnu.org/releases/davfs2 DAVFS2_LICENSE = GPL-3.0+ DAVFS2_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/dbus/dbus.hash b/bsp/buildroot/package/dbus/dbus.hash index 92c0c942..9529d2e0 100644 --- a/bsp/buildroot/package/dbus/dbus.hash +++ b/bsp/buildroot/package/dbus/dbus.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://dbus.freedesktop.org/releases/dbus/dbus-1.12.10.tar.gz.asc +# https://dbus.freedesktop.org/releases/dbus/dbus-1.12.16.tar.gz.asc # using key 36EC5A6448A4F5EF79BEFE98E05AE1478F814C4F -sha256 4b693d24976258c3f2fa9cc33ad9288c5fbfa7a16481dbd9a8a429f7aa8cdcf7 dbus-1.12.10.tar.gz +sha256 54a22d2fa42f2eb2a871f32811c6005b531b9613b1b93a0d269b05e7549fec80 dbus-1.12.16.tar.gz # Locally calculated sha256 0e46f54efb12d04ab5c33713bacd0e140c9a35b57ae29e03c853203266e8f3a1 COPYING diff --git a/bsp/buildroot/package/dbus/dbus.mk b/bsp/buildroot/package/dbus/dbus.mk index 0a56de5a..a4043864 100644 --- a/bsp/buildroot/package/dbus/dbus.mk +++ b/bsp/buildroot/package/dbus/dbus.mk @@ -4,7 +4,7 @@ # ################################################################################ -DBUS_VERSION = 1.12.10 +DBUS_VERSION = 1.12.16 DBUS_SITE = https://dbus.freedesktop.org/releases/dbus DBUS_LICENSE = AFL-2.1 or GPL-2.0+ (library, tools), GPL-2.0+ (tools) DBUS_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/ddrescue/ddrescue.mk b/bsp/buildroot/package/ddrescue/ddrescue.mk index 9432e7a1..b7564d59 100644 --- a/bsp/buildroot/package/ddrescue/ddrescue.mk +++ b/bsp/buildroot/package/ddrescue/ddrescue.mk @@ -18,8 +18,14 @@ define DDRESCUE_CONFIGURE_CMDS ) endef +DDRESCUE_CXXFLAGS = $(TARGET_CXXFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +DDRESCUE_CXXFLAGS += -O0 +endif + define DDRESCUE_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) + $(TARGET_MAKE_ENV) $(MAKE) CXXFLAGS="$(DDRESCUE_CXXFLAGS)" -C $(@D) endef define DDRESCUE_INSTALL_TARGET_CMDS diff --git a/bsp/buildroot/package/dehydrated/dehydrated.hash b/bsp/buildroot/package/dehydrated/dehydrated.hash index 1d194e5a..388dd247 100644 --- a/bsp/buildroot/package/dehydrated/dehydrated.hash +++ b/bsp/buildroot/package/dehydrated/dehydrated.hash @@ -1,6 +1,6 @@ # Locally computed after verifying -# https://github.com/lukas2511/dehydrated/releases/download/v0.6.2/dehydrated-0.6.2.tar.gz.asc +# https://github.com/lukas2511/dehydrated/releases/download/v0.6.5/dehydrated-0.6.5.tar.gz.asc # with key 3C2F2605E078A1E18F4793909C4DBE6CF438F333 from https://keybase.io/lukas2511 -sha256 163384479199f06f59382ceb6291a299567a2f4f0b963b9b61f2db65a407e80e dehydrated-0.6.2.tar.gz +sha256 10aabd0027450bc70a18e49acaca7a9697e0cfb92368d3e508b7a4d6d69bfa35 dehydrated-0.6.5.tar.gz # License, locally computed sha256 b4583b7dd07e3e2a08906de38e7e329d41f921ed9dcb6310b3886e013a6b8723 LICENSE diff --git a/bsp/buildroot/package/dehydrated/dehydrated.mk b/bsp/buildroot/package/dehydrated/dehydrated.mk index b7de27a4..17c67b84 100644 --- a/bsp/buildroot/package/dehydrated/dehydrated.mk +++ b/bsp/buildroot/package/dehydrated/dehydrated.mk @@ -4,7 +4,7 @@ # ################################################################################ -DEHYDRATED_VERSION = 0.6.2 +DEHYDRATED_VERSION = 0.6.5 DEHYDRATED_SITE = https://github.com/lukas2511/dehydrated/releases/download/v$(DEHYDRATED_VERSION) DEHYDRATED_LICENSE = MIT diff --git a/bsp/buildroot/package/dhcp/Config.in b/bsp/buildroot/package/dhcp/Config.in index 53408309..01d144c5 100644 --- a/bsp/buildroot/package/dhcp/Config.in +++ b/bsp/buildroot/package/dhcp/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_DHCP help DHCP relay agent from the ISC DHCP distribution. - http://www.isc.org/products/DHCP + https://www.isc.org/downloads/dhcp/ if BR2_PACKAGE_DHCP diff --git a/bsp/buildroot/package/dialog/dialog.mk b/bsp/buildroot/package/dialog/dialog.mk index 73fabe07..b1933b88 100644 --- a/bsp/buildroot/package/dialog/dialog.mk +++ b/bsp/buildroot/package/dialog/dialog.mk @@ -9,7 +9,7 @@ DIALOG_SOURCE = dialog-$(DIALOG_VERSION).tgz DIALOG_SITE = ftp://ftp.invisible-island.net/dialog DIALOG_CONF_OPTS = --with-ncurses --with-curses-dir=$(STAGING_DIR)/usr \ --disable-rpath-hack -DIALOG_DEPENDENCIES = host-pkgconf ncurses +DIALOG_DEPENDENCIES = host-pkgconf ncurses $(TARGET_NLS_DEPENDENCIES) DIALOG_LICENSE = LGPL-2.1 DIALOG_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/docker-cli/docker-cli.hash b/bsp/buildroot/package/docker-cli/docker-cli.hash index 41686f0d..061e6117 100644 --- a/bsp/buildroot/package/docker-cli/docker-cli.hash +++ b/bsp/buildroot/package/docker-cli/docker-cli.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 f9be44f395617f3f75faac69ad90f93c94ee4050c193bfa05eddb520a27c5d44 docker-cli-v18.09.4.tar.gz +sha256 cef3f9e8615cde906619f7ab021655a8b974d1b497ce0e5787b1afccbeabb08d docker-cli-18.09.9.tar.gz sha256 2d81ea060825006fc8f3fe28aa5dc0ffeb80faf325b612c955229157b8c10dc0 LICENSE diff --git a/bsp/buildroot/package/docker-cli/docker-cli.mk b/bsp/buildroot/package/docker-cli/docker-cli.mk index 65701d15..201d782e 100644 --- a/bsp/buildroot/package/docker-cli/docker-cli.mk +++ b/bsp/buildroot/package/docker-cli/docker-cli.mk @@ -4,8 +4,8 @@ # ################################################################################ -DOCKER_CLI_VERSION = v18.09.4 -DOCKER_CLI_SITE = $(call github,docker,cli,$(DOCKER_CLI_VERSION)) +DOCKER_CLI_VERSION = 18.09.9 +DOCKER_CLI_SITE = $(call github,docker,cli,v$(DOCKER_CLI_VERSION)) DOCKER_CLI_WORKSPACE = gopath DOCKER_CLI_LICENSE = Apache-2.0 diff --git a/bsp/buildroot/package/docker-containerd/docker-containerd.hash b/bsp/buildroot/package/docker-containerd/docker-containerd.hash index fc7b6fcb..525191c6 100644 --- a/bsp/buildroot/package/docker-containerd/docker-containerd.hash +++ b/bsp/buildroot/package/docker-containerd/docker-containerd.hash @@ -1,3 +1,3 @@ # Computed locally -sha256 b92819bde71de947329814a3c649b8adb106cc03be16aae217b94297f4b843a1 docker-containerd-v1.2.5.tar.gz +sha256 f2d578b743fb9faa5b3477b7cf4b33d00501087043a53b27754f14bbe741f891 docker-containerd-v1.2.6.tar.gz sha256 4bbe3b885e8cd1907ab4cf9a41e862e74e24b5422297a4f2fe524e6a30ada2b4 LICENSE diff --git a/bsp/buildroot/package/docker-containerd/docker-containerd.mk b/bsp/buildroot/package/docker-containerd/docker-containerd.mk index 586fd1fa..c67b36e7 100644 --- a/bsp/buildroot/package/docker-containerd/docker-containerd.mk +++ b/bsp/buildroot/package/docker-containerd/docker-containerd.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOCKER_CONTAINERD_VERSION = v1.2.5 +DOCKER_CONTAINERD_VERSION = v1.2.6 DOCKER_CONTAINERD_SITE = $(call github,containerd,containerd,$(DOCKER_CONTAINERD_VERSION)) DOCKER_CONTAINERD_LICENSE = Apache-2.0 DOCKER_CONTAINERD_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/docker-engine/docker-engine.hash b/bsp/buildroot/package/docker-engine/docker-engine.hash index b268b7f3..b89310f9 100644 --- a/bsp/buildroot/package/docker-engine/docker-engine.hash +++ b/bsp/buildroot/package/docker-engine/docker-engine.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 1f4bd15d799420b587024fe3c6d7bd4eb584e509d30c8193db31411579780f2a docker-engine-v18.09.4.tar.gz +sha256 fa3a9e998627418d648495d06d168c4d26ed07859c9370d5fddbfd29c26d8592 docker-engine-18.09.9.tar.gz sha256 2d81ea060825006fc8f3fe28aa5dc0ffeb80faf325b612c955229157b8c10dc0 LICENSE diff --git a/bsp/buildroot/package/docker-engine/docker-engine.mk b/bsp/buildroot/package/docker-engine/docker-engine.mk index 92e364e6..6a225ee5 100644 --- a/bsp/buildroot/package/docker-engine/docker-engine.mk +++ b/bsp/buildroot/package/docker-engine/docker-engine.mk @@ -4,8 +4,8 @@ # ################################################################################ -DOCKER_ENGINE_VERSION = v18.09.4 -DOCKER_ENGINE_SITE = $(call github,docker,engine,$(DOCKER_ENGINE_VERSION)) +DOCKER_ENGINE_VERSION = 18.09.9 +DOCKER_ENGINE_SITE = $(call github,docker,engine,v$(DOCKER_ENGINE_VERSION)) DOCKER_ENGINE_LICENSE = Apache-2.0 DOCKER_ENGINE_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/docker-proxy/docker-proxy.hash b/bsp/buildroot/package/docker-proxy/docker-proxy.hash index 3ec184f5..58de6979 100644 --- a/bsp/buildroot/package/docker-proxy/docker-proxy.hash +++ b/bsp/buildroot/package/docker-proxy/docker-proxy.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 2eee331b6ded567a36e7db708405b34032b93938682cf049025f48b96d755bf6 docker-proxy-7b2b1feb1de4817d522cc372af149ff48d25028e.tar.gz +sha256 866c8d196b9396a383b437b0d775476459ed7c11f527c4f6bbf1fd08524b461d docker-proxy-55685ba49593e67f5e1c8180539379b16736c25e.tar.gz +sha256 cb5e8e7e5f4a3988e1063c142c60dc2df75605f4c46515e776e3aca6df976e14 LICENSE diff --git a/bsp/buildroot/package/docker-proxy/docker-proxy.mk b/bsp/buildroot/package/docker-proxy/docker-proxy.mk index dfa9d434..8843266c 100644 --- a/bsp/buildroot/package/docker-proxy/docker-proxy.mk +++ b/bsp/buildroot/package/docker-proxy/docker-proxy.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOCKER_PROXY_VERSION = 7b2b1feb1de4817d522cc372af149ff48d25028e +DOCKER_PROXY_VERSION = 55685ba49593e67f5e1c8180539379b16736c25e DOCKER_PROXY_SITE = $(call github,docker,libnetwork,$(DOCKER_PROXY_VERSION)) DOCKER_PROXY_LICENSE = Apache-2.0 diff --git a/bsp/buildroot/package/dosfstools/dosfstools.mk b/bsp/buildroot/package/dosfstools/dosfstools.mk index 6eb0851d..fdf973af 100644 --- a/bsp/buildroot/package/dosfstools/dosfstools.mk +++ b/bsp/buildroot/package/dosfstools/dosfstools.mk @@ -24,26 +24,36 @@ DOSFSTOOLS_CONF_OPTS += LIBS="-liconv" DOSFSTOOLS_DEPENDENCIES += libiconv endif -ifeq ($(BR2_PACKAGE_DOSFSTOOLS_FATLABEL),) -define DOSFSTOOLS_REMOVE_FATLABEL - rm -f $(addprefix $(TARGET_DIR)/sbin/,dosfslabel fatlabel) +ifeq ($(BR2_PACKAGE_DOSFSTOOLS_FATLABEL),y) +define DOSFSTOOLS_INSTALL_FATLABEL + $(INSTALL) -D -m 0755 $(@D)/src/fatlabel $(TARGET_DIR)/sbin/fatlabel + ln -sf fatlabel $(TARGET_DIR)/sbin/dosfslabel endef -DOSFSTOOLS_POST_INSTALL_TARGET_HOOKS += DOSFSTOOLS_REMOVE_FATLABEL endif -ifeq ($(BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT),) -define DOSFSTOOLS_REMOVE_FSCK_FAT - rm -f $(addprefix $(TARGET_DIR)/sbin/,fsck.fat dosfsck fsck.msdos fsck.vfat) +ifeq ($(BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT),y) +define DOSFSTOOLS_INSTALL_FSCK_FAT + $(INSTALL) -D -m 0755 $(@D)/src/fsck.fat $(TARGET_DIR)/sbin/fsck.fat + ln -sf fsck.fat $(TARGET_DIR)/sbin/fsck.vfat + ln -sf fsck.fat $(TARGET_DIR)/sbin/fsck.msdos + ln -sf fsck.fat $(TARGET_DIR)/sbin/dosfsck endef -DOSFSTOOLS_POST_INSTALL_TARGET_HOOKS += DOSFSTOOLS_REMOVE_FSCK_FAT endif -ifeq ($(BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT),) -define DOSFSTOOLS_REMOVE_MKFS_FAT - rm -f $(addprefix $(TARGET_DIR)/sbin/,mkfs.fat mkdosfs mkfs.msdos mkfs.vfat) +ifeq ($(BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT),y) +define DOSFSTOOLS_INSTALL_MKFS_FAT + $(INSTALL) -D -m 0755 $(@D)/src/mkfs.fat $(TARGET_DIR)/sbin/mkfs.fat + ln -sf mkfs.fat $(TARGET_DIR)/sbin/mkdosfs + ln -sf mkfs.fat $(TARGET_DIR)/sbin/mkfs.msdos + ln -sf mkfs.fat $(TARGET_DIR)/sbin/mkfs.vfat endef -DOSFSTOOLS_POST_INSTALL_TARGET_HOOKS += DOSFSTOOLS_REMOVE_MKFS_FAT endif +define DOSFSTOOLS_INSTALL_TARGET_CMDS + $(call DOSFSTOOLS_INSTALL_FATLABEL) + $(call DOSFSTOOLS_INSTALL_FSCK_FAT) + $(call DOSFSTOOLS_INSTALL_MKFS_FAT) +endef + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.hash b/bsp/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.hash index a1d88d49..eac67550 100644 --- a/bsp/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.hash +++ b/bsp/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.hash @@ -1,3 +1,3 @@ # Locally computed after checking signature -sha256 cbaa106e1c2b23824420efdd6a9f8572c64c8dccf75a3101a899b6ddb25149a5 dovecot-2.3-pigeonhole-0.5.5.tar.gz +sha256 d59d0c5c5225a126e5b98bf95d75e8dd368bdeeb3da2e9766dbe4fddaa9411b0 dovecot-2.3-pigeonhole-0.5.7.2.tar.gz sha256 fc9e9522216f2a9a28b31300e3c73c1df56acc27dfae951bf516e7995366b51a COPYING diff --git a/bsp/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.mk b/bsp/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.mk index 2a762673..43519499 100644 --- a/bsp/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.mk +++ b/bsp/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOVECOT_PIGEONHOLE_VERSION = 0.5.5 +DOVECOT_PIGEONHOLE_VERSION = 0.5.7.2 DOVECOT_PIGEONHOLE_SOURCE = dovecot-2.3-pigeonhole-$(DOVECOT_PIGEONHOLE_VERSION).tar.gz DOVECOT_PIGEONHOLE_SITE = https://pigeonhole.dovecot.org/releases/2.3 DOVECOT_PIGEONHOLE_LICENSE = LGPL-2.1 diff --git a/bsp/buildroot/package/dovecot/dovecot.hash b/bsp/buildroot/package/dovecot/dovecot.hash index 2b8492a3..3d78af00 100644 --- a/bsp/buildroot/package/dovecot/dovecot.hash +++ b/bsp/buildroot/package/dovecot/dovecot.hash @@ -1,5 +1,5 @@ # Locally computed after checking signature -sha256 ba14e41aefd81a868a35b83bcb54194116106424d37690519b50ea83c0f31bf2 dovecot-2.3.5.2.tar.gz +sha256 666ce084760a47e601d49a9be3c7993c48789d332631e8dfb45f443b367b1260 dovecot-2.3.7.2.tar.gz sha256 a363b132e494f662d98c820d1481297e6ae72f194c2c91b6c39e1518b86240a8 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL sha256 52b8c95fabb19575281874b661ef7968ea47e8f5d74ba0dd40ce512e52b3fc97 COPYING.MIT diff --git a/bsp/buildroot/package/dovecot/dovecot.mk b/bsp/buildroot/package/dovecot/dovecot.mk index d9b94eb8..65c2bcef 100644 --- a/bsp/buildroot/package/dovecot/dovecot.mk +++ b/bsp/buildroot/package/dovecot/dovecot.mk @@ -5,8 +5,8 @@ ################################################################################ DOVECOT_VERSION_MAJOR = 2.3 -DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).5.2 -DOVECOT_SITE = https://www.dovecot.org/releases/$(DOVECOT_VERSION_MAJOR) +DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).7.2 +DOVECOT_SITE = https://dovecot.org/releases/$(DOVECOT_VERSION_MAJOR) DOVECOT_INSTALL_STAGING = YES DOVECOT_LICENSE = LGPL-2.1, MIT, Public Domain, BSD-3-Clause, Unicode-DFS-2015 DOVECOT_LICENSE_FILES = COPYING COPYING.LGPL COPYING.MIT @@ -64,6 +64,13 @@ else DOVECOT_CONF_OPTS += --without-sodium endif +ifeq ($(BR2_PACKAGE_LINUX_PAM),y) +DOVECOT_CONF_OPTS += --with-pam +DOVECOT_DEPENDENCIES += linux-pam +else +DOVECOT_CONF_OPTS += --without-pam +endif + ifeq ($(BR2_PACKAGE_DOVECOT_MYSQL),y) DOVECOT_CONF_ENV += MYSQL_CONFIG="$(STAGING_DIR)/usr/bin/mysql_config" DOVECOT_CONF_OPTS += --with-mysql diff --git a/bsp/buildroot/package/dropbear/0003-Fix-for-issue-successfull-login-of-disabled-user-78.patch b/bsp/buildroot/package/dropbear/0003-Fix-for-issue-successfull-login-of-disabled-user-78.patch new file mode 100644 index 00000000..b3cec4c0 --- /dev/null +++ b/bsp/buildroot/package/dropbear/0003-Fix-for-issue-successfull-login-of-disabled-user-78.patch @@ -0,0 +1,35 @@ +From a0aa2749813331134452f80bb8a808bdc871ba41 Mon Sep 17 00:00:00 2001 +From: vincentto13 <33652988+vincentto13@users.noreply.github.com> +Date: Wed, 20 Mar 2019 15:03:40 +0100 +Subject: [PATCH] Fix for issue successfull login of disabled user (#78) + +This commit introduces fix for scenario: +1. Root login disabled on dropbear +2. PAM authentication model enabled + +While login as root user, after prompt for password +user is being notified about login failrue, but +after second attempt of prompt for password within +same session, login becames succesfull. + +Signed-off-by: Pawel Rapkiewicz +Signed-off-by: Peter Korsgaard +--- + svr-authpam.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/svr-authpam.c b/svr-authpam.c +index d201bc9..e236db4 100644 +--- a/svr-authpam.c ++++ b/svr-authpam.c +@@ -275,6 +275,7 @@ void svr_auth_pam(int valid_user) { + /* PAM auth succeeded but the username isn't allowed in for another reason + (checkusername() failed) */ + send_msg_userauth_failure(0, 1); ++ goto cleanup; + } + + /* successful authentication */ +-- +2.11.0 + diff --git a/bsp/buildroot/package/dropbear/dropbear.mk b/bsp/buildroot/package/dropbear/dropbear.mk index a5a8243b..5f99a220 100644 --- a/bsp/buildroot/package/dropbear/dropbear.mk +++ b/bsp/buildroot/package/dropbear/dropbear.mk @@ -7,7 +7,7 @@ DROPBEAR_VERSION = 2018.76 DROPBEAR_SITE = https://matt.ucc.asn.au/dropbear/releases DROPBEAR_SOURCE = dropbear-$(DROPBEAR_VERSION).tar.bz2 -DROPBEAR_LICENSE = MIT, BSD-2-Clause-like, BSD-2-Clause +DROPBEAR_LICENSE = MIT, BSD-2-Clause, BSD-3-Clause DROPBEAR_LICENSE_FILES = LICENSE DROPBEAR_TARGET_BINS = dropbearkey dropbearconvert scp DROPBEAR_PROGRAMS = dropbear $(DROPBEAR_TARGET_BINS) diff --git a/bsp/buildroot/package/e2fsprogs/e2fsprogs.hash b/bsp/buildroot/package/e2fsprogs/e2fsprogs.hash index 7619e262..c9018715 100644 --- a/bsp/buildroot/package/e2fsprogs/e2fsprogs.hash +++ b/bsp/buildroot/package/e2fsprogs/e2fsprogs.hash @@ -1,5 +1,5 @@ -# From https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.44.5/sha256sums.asc -sha256 ba5eb3069d69160d96818bb9700de9ab5a8458d9add1fd85d427c0000d34c5b9 e2fsprogs-1.44.5.tar.xz +# https://mirrors.edge.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.45.4/sha256sums.asc +sha256 65faf6b590ca1da97440d6446bd11de9e0914b42553740ba5d9d2a796fa0dc02 e2fsprogs-1.45.4.tar.xz # Locally calculated sha256 5da5ef153e559c1d990d4c3eedbedd4442db892d37eae1f35fff069de8ec9020 NOTICE sha256 032989b508f1a72ebee5b3417e55d06d473f9ee203e45ab11864a7e49cdec63d lib/ss/mit-sipb-copyright.h diff --git a/bsp/buildroot/package/e2fsprogs/e2fsprogs.mk b/bsp/buildroot/package/e2fsprogs/e2fsprogs.mk index f5785ab4..28fd7804 100644 --- a/bsp/buildroot/package/e2fsprogs/e2fsprogs.mk +++ b/bsp/buildroot/package/e2fsprogs/e2fsprogs.mk @@ -4,7 +4,7 @@ # ################################################################################ -E2FSPROGS_VERSION = 1.44.5 +E2FSPROGS_VERSION = 1.45.4 E2FSPROGS_SOURCE = e2fsprogs-$(E2FSPROGS_VERSION).tar.xz E2FSPROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/tytso/e2fsprogs/v$(E2FSPROGS_VERSION) E2FSPROGS_LICENSE = GPL-2.0, MIT-like with advertising clause (libss and libet) @@ -28,7 +28,8 @@ HOST_E2FSPROGS_CONF_OPTS = \ --disable-libuuid \ --disable-testio-debug \ --enable-symlink-install \ - --enable-elf-shlibs + --enable-elf-shlibs \ + --with-crond-dir=no # Set the binary directories to "/bin" and "/sbin", as busybox does, # so that we do not end up with two versions of e2fs tools. diff --git a/bsp/buildroot/package/elfutils/0004-libelf-Fix-possible-resource-leak-in-elf-32-64-_updatefile.patch b/bsp/buildroot/package/elfutils/0004-libelf-Fix-possible-resource-leak-in-elf-32-64-_updatefile.patch new file mode 100644 index 00000000..ab76bd7a --- /dev/null +++ b/bsp/buildroot/package/elfutils/0004-libelf-Fix-possible-resource-leak-in-elf-32-64-_updatefile.patch @@ -0,0 +1,32 @@ +From 75e147d0ab85262d9bb2fff093db7ce67dbd4b62 Mon Sep 17 00:00:00 2001 +From: Mark Wielaard +Date: Wed, 6 Mar 2019 19:56:54 +0100 +Subject: [PATCH] libelf: Fix possible resource leak in elf[32|64]_updatefile. + +When we cannot allocate enough memory to convert the data in +updatemmap we should free the scns before returning an error. + +Signed-off-by: Mark Wielaard +[Retrieved (and slightly updated to remove ChangeLog update) from: +https://sourceware.org/git/?p=elfutils.git;a=patch;h=75e147d0ab85262d9bb2fff093db7ce67dbd4b62] +Signed-off-by: Fabrice Fontaine +--- + libelf/elf32_updatefile.c | 1 + + 2 files changed, 6 insertions(+) + + * gelf_xlate.c (__elf_xfctstof): Remove alias. +diff --git a/libelf/elf32_updatefile.c b/libelf/elf32_updatefile.c +index 2899c6f..457d18e 100644 +--- a/libelf/elf32_updatefile.c ++++ b/libelf/elf32_updatefile.c +@@ -365,6 +365,7 @@ __elfw2(LIBELFBITS,updatemmap) (Elf *elf, int change_bo, size_t shnum) + char *converted = aligned_alloc (align, size); + if (converted == NULL) + { ++ free (scns); + __libelf_seterrno (ELF_E_NOMEM); + return 1; + } +-- +2.9.3 + diff --git a/bsp/buildroot/package/elfutils/0005-libelf-Use-posix_memalign-instead-of-aligned_alloc.patch b/bsp/buildroot/package/elfutils/0005-libelf-Use-posix_memalign-instead-of-aligned_alloc.patch new file mode 100644 index 00000000..70f1f9af --- /dev/null +++ b/bsp/buildroot/package/elfutils/0005-libelf-Use-posix_memalign-instead-of-aligned_alloc.patch @@ -0,0 +1,58 @@ +From 6bd060a23f43a842fbc37dd1bb8d6d7964eda36e Mon Sep 17 00:00:00 2001 +From: Mark Wielaard +Date: Thu, 7 Mar 2019 17:31:53 +0100 +Subject: [PATCH] libelf: Use posix_memalign instead of aligned_alloc. + +Older glibc might not have aligned_alloc (it is C11). +Use posix_memalign instead. posix_memalign requires the alignment to +be a multiple of sizeof (void *). So use malloc for smaller alignments. + +Signed-off-by: Mark Wielaard +[Retrieved (and slighlty updated to remove ChangeLog update) from: +https://sourceware.org/git/?p=elfutils.git;a=patch;h=6bd060a23f43a842fbc37dd1bb8d6d7964eda36e] +Signed-off-by: Fabrice Fontaine +--- + libelf/elf32_updatefile.c | 20 +++++++++++++++++--- + 2 files changed, 22 insertions(+), 3 deletions(-) + +diff --git a/libelf/elf32_updatefile.c b/libelf/elf32_updatefile.c +index 457d18e..eea51a7 100644 +--- a/libelf/elf32_updatefile.c ++++ b/libelf/elf32_updatefile.c +@@ -360,16 +360,30 @@ __elfw2(LIBELFBITS,updatemmap) (Elf *elf, int change_bo, size_t shnum) + else + { + /* We have to do the conversion on properly +- aligned memory first. */ ++ aligned memory first. align is a power of 2, ++ but posix_memalign only works for alignments ++ which are a multiple of sizeof (void *). ++ So use normal malloc for smaller alignments. */ + size_t size = dl->data.d.d_size; +- char *converted = aligned_alloc (align, size); ++ void *converted; ++ if (align < sizeof (void *)) ++ converted = malloc (size); ++ else ++ { ++ int res; ++ res = posix_memalign (&converted, align, size); ++ if (res != 0) ++ converted = NULL; ++ } ++ + if (converted == NULL) + { + free (scns); + __libelf_seterrno (ELF_E_NOMEM); + return 1; + } +- (*fctp) (converted, dl->data.d.d_buf, size, 1); ++ ++ (*fctp) (converted, dl->data.d.d_buf, size, 1); + + /* And then write it to the mmapped file. */ + memcpy (last_position, converted, size); +-- +2.9.3 + diff --git a/bsp/buildroot/package/elfutils/elfutils.hash b/bsp/buildroot/package/elfutils/elfutils.hash index 5a76cd58..15dddc2f 100644 --- a/bsp/buildroot/package/elfutils/elfutils.hash +++ b/bsp/buildroot/package/elfutils/elfutils.hash @@ -1,5 +1,5 @@ -# From https://sourceware.org/elfutils/ftp/0.174/sha512.sum -sha512 696708309c2a9a076099748809ecdc0490f4a8a842b2efc1aae0d746e7c5a8b203743f5626739eff837216b0c052696516b2821f5d3cc3f2eef86597c96d42df elfutils-0.174.tar.bz2 +# From https://sourceware.org/elfutils/ftp/0.176/sha512.sum +sha512 7f032913be363a43229ded85d495dcf7542b3c85974aaaba0d984228dc9ac1721da3dc388d3fa02325a80940161db7e9ad2c9e4521a424ad8a7d050c0902915b elfutils-0.176.tar.bz2 # Locally calculated sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING-GPLV2 diff --git a/bsp/buildroot/package/elfutils/elfutils.mk b/bsp/buildroot/package/elfutils/elfutils.mk index 2d62017b..ea548628 100644 --- a/bsp/buildroot/package/elfutils/elfutils.mk +++ b/bsp/buildroot/package/elfutils/elfutils.mk @@ -4,7 +4,7 @@ # ################################################################################ -ELFUTILS_VERSION = 0.174 +ELFUTILS_VERSION = 0.176 ELFUTILS_SOURCE = elfutils-$(ELFUTILS_VERSION).tar.bz2 ELFUTILS_SITE = https://sourceware.org/elfutils/ftp/$(ELFUTILS_VERSION) ELFUTILS_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/eudev/eudev.mk b/bsp/buildroot/package/eudev/eudev.mk index d88e010c..58a95902 100644 --- a/bsp/buildroot/package/eudev/eudev.mk +++ b/bsp/buildroot/package/eudev/eudev.mk @@ -51,6 +51,8 @@ endef # Required by default rules for input devices define EUDEV_USERS - - input -1 * - - - Input device group + - - render -1 * - - - DRI rendering nodes + - - kvm -1 * - - - kvm nodes endef $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/evtest/0001-Add-missing-limits.h-include.patch b/bsp/buildroot/package/evtest/0001-Add-missing-limits.h-include.patch new file mode 100644 index 00000000..6c7fc904 --- /dev/null +++ b/bsp/buildroot/package/evtest/0001-Add-missing-limits.h-include.patch @@ -0,0 +1,38 @@ +From 7d7c5a81b0e2f3321d269b7acc450d1eec7a910b Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Sun, 18 Aug 2019 09:57:23 +0300 +Subject: [PATCH] Add missing limits.h include +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes build with musl libc that does not include limits.h indirectly via +other headers. + +evtest.c: In function ‘scan_devices’: +evtest.c:886:14: error: ‘PATH_MAX’ undeclared (first use in this function); did you mean INT8_MAX’? + char fname[PATH_MAX]; + ^~~~~~~~ + +Signed-off-by: Baruch Siach +--- +Upstream status: sent to input-tools@lists.freedesktop.org (moderated) + + evtest.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/evtest.c b/evtest.c +index 37d4f8540333..548c203564d3 100644 +--- a/evtest.c ++++ b/evtest.c +@@ -56,6 +56,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.23.0.rc1 + diff --git a/bsp/buildroot/package/exim/0004-glibc.patch b/bsp/buildroot/package/exim/0004-glibc.patch deleted file mode 100644 index 7ae2ef8c..00000000 --- a/bsp/buildroot/package/exim/0004-glibc.patch +++ /dev/null @@ -1,27 +0,0 @@ -uClibc does not contain gnu/libc-version.h - -Patch sent upstream: https://bugs.exim.org/show_bug.cgi?id=2070 - -Signed-off-by: Bernd Kuhls - -diff -uNr exim-4.88.org/src/exim.c exim-4.88/src/exim.c ---- exim-4.88.org/src/exim.c 2016-12-18 15:02:28.000000000 +0100 -+++ exim-4.88/src/exim.c 2016-12-26 12:12:57.000000000 +0100 -@@ -12,7 +12,7 @@ - - #include "exim.h" - --#ifdef __GLIBC__ -+#if defined(__GLIBC__) && !defined(__UCLIBC__) - # include - #endif - -@@ -1044,7 +1044,7 @@ - fprintf(f, "Compiler: \n"); - #endif - --#ifdef __GLIBC__ -+#if defined(__GLIBC__) && !defined(__UCLIBC__) - fprintf(f, "Library version: Glibc: Compile: %d.%d\n", - __GLIBC__, __GLIBC_MINOR__); - if (__GLIBC_PREREQ(2, 1)) diff --git a/bsp/buildroot/package/exim/0006-remove-libnsl.patch b/bsp/buildroot/package/exim/0004-remove-libnsl.patch similarity index 100% rename from bsp/buildroot/package/exim/0006-remove-libnsl.patch rename to bsp/buildroot/package/exim/0004-remove-libnsl.patch diff --git a/bsp/buildroot/package/exim/0005-Fix-base64d-buffer-size-CVE-2018-6789.patch b/bsp/buildroot/package/exim/0005-Fix-base64d-buffer-size-CVE-2018-6789.patch deleted file mode 100644 index 1811a7ff..00000000 --- a/bsp/buildroot/package/exim/0005-Fix-base64d-buffer-size-CVE-2018-6789.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 062990cc1b2f9e5d82a413b53c8f0569075de700 Mon Sep 17 00:00:00 2001 -From: "Heiko Schlittermann (HS12-RIPE)" -Date: Mon, 5 Feb 2018 22:23:32 +0100 -Subject: [PATCH] Fix base64d() buffer size (CVE-2018-6789) - -Credits for discovering this bug: Meh Chang - -[Peter: Drop ChangeLog change, fix path] -Signed-off-by: Peter Korsgaard ---- - src/base64.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/src/base64.c b/src/base64.c -index f6f187f0..e58ca6c7 100644 ---- a/src/base64.c -+++ b/src/base64.c -@@ -152,10 +152,14 @@ static uschar dec64table[] = { - int - b64decode(const uschar *code, uschar **ptr) - { -+ - int x, y; --uschar *result = store_get(3*(Ustrlen(code)/4) + 1); -+uschar *result; - --*ptr = result; -+{ -+ int l = Ustrlen(code); -+ *ptr = result = store_get(1 + l/4 * 3 + l%4); -+} - - /* Each cycle of the loop handles a quantum of 4 input bytes. For the last - quantum this may decode to 1, 2, or 3 output bytes. */ --- -2.11.0 - diff --git a/bsp/buildroot/package/exim/0005-Fix-uClibc-build.patch b/bsp/buildroot/package/exim/0005-Fix-uClibc-build.patch new file mode 100644 index 00000000..9d5452bb --- /dev/null +++ b/bsp/buildroot/package/exim/0005-Fix-uClibc-build.patch @@ -0,0 +1,35 @@ +From 68ea4fc7ca53bf010e5ec738ad078452f0eaa639 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Tue, 23 Jul 2019 18:48:06 +0200 +Subject: [PATCH] Fix uClibc build +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +structs.h:757:18: error: ‘NS_MAXMSG’ undeclared here (not in a function); did you mean ‘N_MASC’? + uschar answer[NS_MAXMSG]; /* the answer itself */ + +Patch sent upstream: https://github.com/Exim/exim/pull/70 + +Signed-off-by: Bernd Kuhls +--- + OS/os.h-Linux | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/OS/os.h-Linux b/OS/os.h-Linux +index 63cf9babd..1d82e9bad 100644 +--- a/OS/os.h-Linux ++++ b/OS/os.h-Linux +@@ -87,5 +87,9 @@ then change the 0 to 1 in the next block. */ + # define TCPI_OPT_SYN_DATA 32 + #endif + ++/* Needed for uClibc */ ++#ifndef NS_MAXMSG ++# define NS_MAXMSG 65535 ++#endif + + /* End */ +-- +2.20.1 + diff --git a/bsp/buildroot/package/exim/0006-Fix-buffer-overflow-in-string_vformat.patch b/bsp/buildroot/package/exim/0006-Fix-buffer-overflow-in-string_vformat.patch new file mode 100644 index 00000000..5b022e2f --- /dev/null +++ b/bsp/buildroot/package/exim/0006-Fix-buffer-overflow-in-string_vformat.patch @@ -0,0 +1,44 @@ +From 478effbfd9c3cc5a627fc671d4bf94d13670d65f Mon Sep 17 00:00:00 2001 +From: Jeremy Harris +Date: Fri, 27 Sep 2019 12:21:49 +0100 +Subject: [PATCH] Fix buffer overflow in string_vformat. Bug 2449 + +Fixes CVE-2019-16928: +https://lists.exim.org/lurker/message/20190928.003428.2b4c81a7.en.html + +Downloaded from upstream commit +https://git.exim.org/exim.git/patch/478effbfd9c3cc5a627fc671d4bf94d13670d65f + +[adjusted patch of string.c and removed patches for test/] +Signed-off-by: Bernd Kuhls +--- + src/string.c | 4 ++-- + scripts/0000-Basic/0214 | 11 +++++++++++ + stdout/0214 | 7 +++++++ + 3 files changed, 20 insertions(+), 2 deletions(-) + +diff --git a/src/src/string.c b/src/src/string.c +index c6549bf..3445f8a 100644 +--- a/src/string.c ++++ b/src/string.c +@@ -1132,7 +1132,7 @@ store_reset(g->s + (g->size = g->ptr + 1)); + Arguments: + g the growable-string + p current end of data +- count amount to grow by ++ count amount to grow by, offset from p + */ + + static void +@@ -1590,7 +1590,7 @@ while (*fp) + } + else if (g->ptr >= lim - width) + { +- gstring_grow(g, g->ptr, width - (lim - g->ptr)); ++ gstring_grow(g, g->ptr, width); + lim = g->size - 1; + gp = CS g->s + g->ptr; + } +-- +1.9.1 + diff --git a/bsp/buildroot/package/exim/exim.hash b/bsp/buildroot/package/exim/exim.hash index 41f51b15..0d11683c 100644 --- a/bsp/buildroot/package/exim/exim.hash +++ b/bsp/buildroot/package/exim/exim.hash @@ -1,2 +1,3 @@ # Locally calculated after checking pgp signature -sha256 1a21322a10e2da9c0bd6a2a483b6e7ef8fa7f16efcab4c450fd73e7188f5fa94 exim-4.89.1.tar.xz +sha256 01d7ae481d03ff408f8e54fd9b250324ea5ddabc83b1db32917c7f27a096a654 exim-4.92.2.tar.xz +sha256 49240db527b7e55b312a46fc59794fde5dd006422e422257f4f057bfd27b3c8f LICENCE diff --git a/bsp/buildroot/package/exim/exim.mk b/bsp/buildroot/package/exim/exim.mk index bde2df11..b6a8566c 100644 --- a/bsp/buildroot/package/exim/exim.mk +++ b/bsp/buildroot/package/exim/exim.mk @@ -4,12 +4,12 @@ # ################################################################################ -EXIM_VERSION = 4.89.1 +EXIM_VERSION = 4.92.2 EXIM_SOURCE = exim-$(EXIM_VERSION).tar.xz -EXIM_SITE = ftp://ftp.exim.org/pub/exim/exim4 +EXIM_SITE = https://ftp.exim.org/pub/exim/exim4 EXIM_LICENSE = GPL-2.0+ EXIM_LICENSE_FILES = LICENCE -EXIM_DEPENDENCIES = pcre berkeleydb host-pkgconf +EXIM_DEPENDENCIES = host-berkeleydb host-pcre pcre berkeleydb host-pkgconf # Modify a variable value. It must already exist in the file, either # commented or not. @@ -65,7 +65,7 @@ endef endif ifeq ($(BR2_PACKAGE_OPENSSL),y) -EXIM_DEPENDENCIES += openssl +EXIM_DEPENDENCIES += host-openssl openssl define EXIM_USE_DEFAULT_CONFIG_FILE_OPENSSL $(call exim-config-change,SUPPORT_TLS,yes) $(call exim-config-change,USE_OPENSSL_PC,openssl) @@ -111,9 +111,17 @@ ifeq ($(BR2_STATIC_LIBS),y) EXIM_STATIC_FLAGS = LFLAGS="-pthread --static" endif +# We need the host version of macro_predef during the build, before +# building it we need to prepare the makefile. # "The -j (parallel) flag must not be used with make" # (http://www.exim.org/exim-html-current/doc/html/spec_html/ch04.html) define EXIM_BUILD_CMDS + $(TARGET_MAKE_ENV) build=br $(MAKE1) -C $(@D) makefile + $(HOST_MAKE_ENV) $(MAKE1) -C $(@D)/build-br macro_predef \ + CC=$(HOSTCC) \ + LNCC=$(HOSTCC) \ + CFLAGS="$(HOST_CFLAGS)" \ + LFLAGS="-fPIC $(HOST_LDFLAGS)" $(TARGET_MAKE_ENV) build=br $(MAKE1) -C $(@D) $(EXIM_STATIC_FLAGS) endef diff --git a/bsp/buildroot/package/expat/expat.hash b/bsp/buildroot/package/expat/expat.hash index 6c55972f..07faca5e 100644 --- a/bsp/buildroot/package/expat/expat.hash +++ b/bsp/buildroot/package/expat/expat.hash @@ -1,7 +1,7 @@ -# From https://sourceforge.net/projects/expat/files/expat/2.2.6/ -md5 ca047ae951b40020ac831c28859161b2 expat-2.2.6.tar.bz2 -sha1 c8947fc3119a797b55485f2f7bdaaeb49cc9df01 expat-2.2.6.tar.bz2 +# From https://sourceforge.net/projects/expat/files/expat/2.2.8/ +md5 cdf54239f892fc7914957f10de1e1c70 expat-2.2.8.tar.xz +sha1 500a848d7085df06020a86bf64c5f71c0052a080 expat-2.2.8.tar.xz # Locally calculated -sha256 17b43c2716d521369f82fc2dc70f359860e90fa440bea65b3b85f0b246ea81f2 expat-2.2.6.tar.bz2 +sha256 61caa81a49d858afb2031c7b1a25c97174e7f2009aa1ec4e1ffad2316b91779b expat-2.2.8.tar.xz sha256 46336ab2fec900803e2f1a4253e325ac01d998efb09bc6906651f7259e636f76 COPYING diff --git a/bsp/buildroot/package/expat/expat.mk b/bsp/buildroot/package/expat/expat.mk index 548ec826..20d0add8 100644 --- a/bsp/buildroot/package/expat/expat.mk +++ b/bsp/buildroot/package/expat/expat.mk @@ -4,9 +4,9 @@ # ################################################################################ -EXPAT_VERSION = 2.2.6 +EXPAT_VERSION = 2.2.8 EXPAT_SITE = http://downloads.sourceforge.net/project/expat/expat/$(EXPAT_VERSION) -EXPAT_SOURCE = expat-$(EXPAT_VERSION).tar.bz2 +EXPAT_SOURCE = expat-$(EXPAT_VERSION).tar.xz EXPAT_INSTALL_STAGING = YES EXPAT_DEPENDENCIES = host-pkgconf HOST_EXPAT_DEPENDENCIES = host-pkgconf diff --git a/bsp/buildroot/package/expect/expect.hash b/bsp/buildroot/package/expect/expect.hash index c89f3239..c4815abb 100644 --- a/bsp/buildroot/package/expect/expect.hash +++ b/bsp/buildroot/package/expect/expect.hash @@ -1,4 +1,4 @@ -# From https://sourceforge.net/projects/expect/files/Expect/5.45.3/expect5.45.3.tar.gz.SHA256 -sha256 c520717b7195944a69ce1492ec82ca0ac3f3baf060804e6c5ee6d505ea512be9 expect5.45.3.tar.gz +# From https://sourceforge.net/projects/expect/files/Expect/5.45.4/expect5.45.4.tar.gz.SHA256 +sha256 49a7da83b0bdd9f46d04a04deec19c7767bb9a323e40c4781f89caf760b92c34 expect5.45.4.tar.gz # Locally calculated sha256 b2415b17dc8d9a287f4509047ef5ac3436baef7ba7c50faef5222dcdf61a2bab README diff --git a/bsp/buildroot/package/expect/expect.mk b/bsp/buildroot/package/expect/expect.mk index ccde33a7..37b4ce70 100644 --- a/bsp/buildroot/package/expect/expect.mk +++ b/bsp/buildroot/package/expect/expect.mk @@ -4,7 +4,7 @@ # ################################################################################ -EXPECT_VERSION = 5.45.3 +EXPECT_VERSION = 5.45.4 EXPECT_SITE = https://sourceforge.net/projects/expect/files/Expect/$(EXPECT_VERSION) EXPECT_SOURCE = expect$(EXPECT_VERSION).tar.gz EXPECT_LICENSE = Public domain diff --git a/bsp/buildroot/package/faad2/0001-syntax.c-check-for-syntax-element-inconsistencies.patch b/bsp/buildroot/package/faad2/0001-syntax.c-check-for-syntax-element-inconsistencies.patch new file mode 100644 index 00000000..de97dbba --- /dev/null +++ b/bsp/buildroot/package/faad2/0001-syntax.c-check-for-syntax-element-inconsistencies.patch @@ -0,0 +1,64 @@ +From 466b01d504d7e45f1e9169ac90b3e34ab94aed14 Mon Sep 17 00:00:00 2001 +From: Hugo Lefeuvre +Date: Mon, 25 Feb 2019 10:49:03 +0100 +Subject: [PATCH] syntax.c: check for syntax element inconsistencies + +Implicit channel mapping reconfiguration is explicitely forbidden by +ISO/IEC 13818-7:2006 (8.5.3.3). Decoders should be able to detect such +files and reject them. FAAD2 does not perform any kind of checks +regarding this. + +This leads to security vulnerabilities when processing crafted AAC +files performing such reconfigurations. + +Add checks to decode_sce_lfe and decode_cpe to make sure such +inconsistencies are detected as early as possible. + +These checks first read hDecoder->frame: if this is not the first +frame then we make sure that the syntax element at the same position +in the previous frame also had element_id id_syn_ele. If not, return +21 as this is a fatal file structure issue. + +This patch addresses CVE-2018-20362 (fixes #26) and possibly other +related issues. + +Signed-off-by: Baruch Siach +--- +Upstream status: commit 466b01d504d7 + + libfaad/syntax.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/libfaad/syntax.c b/libfaad/syntax.c +index f8e808c269c0..e7fb11381e46 100644 +--- a/libfaad/syntax.c ++++ b/libfaad/syntax.c +@@ -344,6 +344,12 @@ static void decode_sce_lfe(NeAACDecStruct *hDecoder, + can become 2 when some form of Parametric Stereo coding is used + */ + ++ if (hDecoder->frame && hDecoder->element_id[hDecoder->fr_ch_ele] != id_syn_ele) { ++ /* element inconsistency */ ++ hInfo->error = 21; ++ return; ++ } ++ + /* save the syntax element id */ + hDecoder->element_id[hDecoder->fr_ch_ele] = id_syn_ele; + +@@ -395,6 +401,12 @@ static void decode_cpe(NeAACDecStruct *hDecoder, NeAACDecFrameInfo *hInfo, bitfi + return; + } + ++ if (hDecoder->frame && hDecoder->element_id[hDecoder->fr_ch_ele] != id_syn_ele) { ++ /* element inconsistency */ ++ hInfo->error = 21; ++ return; ++ } ++ + /* save the syntax element id */ + hDecoder->element_id[hDecoder->fr_ch_ele] = id_syn_ele; + +-- +2.20.1 + diff --git a/bsp/buildroot/package/faad2/0002-sbr_hfadj-sanitize-frequency-band-borders.patch b/bsp/buildroot/package/faad2/0002-sbr_hfadj-sanitize-frequency-band-borders.patch new file mode 100644 index 00000000..9c580f93 --- /dev/null +++ b/bsp/buildroot/package/faad2/0002-sbr_hfadj-sanitize-frequency-band-borders.patch @@ -0,0 +1,71 @@ +From 6b4a7cde30f2e2cb03e78ef476cc73179cfffda3 Mon Sep 17 00:00:00 2001 +From: Hugo Lefeuvre +Date: Thu, 11 Apr 2019 09:34:07 +0200 +Subject: [PATCH] sbr_hfadj: sanitize frequency band borders + +user passed f_table_lim contains frequency band borders. Frequency +bands are groups of consecutive QMF channels. This means that their +bounds, as provided by f_table_lim, should never exceed MAX_M (maximum +number of QMF channels). c.f. ISO/IEC 14496-3:2001 + +FAAD2 does not verify this, leading to security issues when +processing files defining f_table_lim with values > MAX_M. + +This patch sanitizes the values of f_table_lim so that they can be safely +used as index for Q_M_lim and G_lim arrays. + +Fixes #21 (CVE-2018-20194). + +Signed-off-by: Baruch Siach +--- +Upstream status: commit 6b4a7cde30f2e + + libfaad/sbr_hfadj.c | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git a/libfaad/sbr_hfadj.c b/libfaad/sbr_hfadj.c +index 3f310b8190d7..dda1ce8e249b 100644 +--- a/libfaad/sbr_hfadj.c ++++ b/libfaad/sbr_hfadj.c +@@ -485,6 +485,12 @@ static void calculate_gain(sbr_info *sbr, sbr_hfadj_info *adj, uint8_t ch) + ml1 = sbr->f_table_lim[sbr->bs_limiter_bands][k]; + ml2 = sbr->f_table_lim[sbr->bs_limiter_bands][k+1]; + ++ if (ml1 > MAX_M) ++ ml1 = MAX_M; ++ ++ if (ml2 > MAX_M) ++ ml2 = MAX_M; ++ + + /* calculate the accumulated E_orig and E_curr over the limiter band */ + for (m = ml1; m < ml2; m++) +@@ -949,6 +955,12 @@ static void calculate_gain(sbr_info *sbr, sbr_hfadj_info *adj, uint8_t ch) + ml1 = sbr->f_table_lim[sbr->bs_limiter_bands][k]; + ml2 = sbr->f_table_lim[sbr->bs_limiter_bands][k+1]; + ++ if (ml1 > MAX_M) ++ ml1 = MAX_M; ++ ++ if (ml2 > MAX_M) ++ ml2 = MAX_M; ++ + + /* calculate the accumulated E_orig and E_curr over the limiter band */ + for (m = ml1; m < ml2; m++) +@@ -1193,6 +1205,12 @@ static void calculate_gain(sbr_info *sbr, sbr_hfadj_info *adj, uint8_t ch) + ml1 = sbr->f_table_lim[sbr->bs_limiter_bands][k]; + ml2 = sbr->f_table_lim[sbr->bs_limiter_bands][k+1]; + ++ if (ml1 > MAX_M) ++ ml1 = MAX_M; ++ ++ if (ml2 > MAX_M) ++ ml2 = MAX_M; ++ + + /* calculate the accumulated E_orig and E_curr over the limiter band */ + for (m = ml1; m < ml2; m++) +-- +2.20.1 + diff --git a/bsp/buildroot/package/faad2/0003-Fix-a-couple-buffer-overflows.patch b/bsp/buildroot/package/faad2/0003-Fix-a-couple-buffer-overflows.patch new file mode 100644 index 00000000..6ae76087 --- /dev/null +++ b/bsp/buildroot/package/faad2/0003-Fix-a-couple-buffer-overflows.patch @@ -0,0 +1,50 @@ +From 942c3e0aee748ea6fe97cb2c1aa5893225316174 Mon Sep 17 00:00:00 2001 +From: Fabian Greffrath +Date: Mon, 10 Jun 2019 13:58:40 +0200 +Subject: [PATCH] Fix a couple buffer overflows + +https://hackerone.com/reports/502816 +https://hackerone.com/reports/507858 + +https://github.com/videolan/vlc/blob/master/contrib/src/faad2/faad2-fix-overflows.patch + +Signed-off-by: Baruch Siach +--- +Upstream status: commit 942c3e0aee748ea6 + + libfaad/bits.c | 5 ++++- + libfaad/syntax.c | 2 ++ + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/libfaad/bits.c b/libfaad/bits.c +index dc14d7a03952..4c0de24a5d9c 100644 +--- a/libfaad/bits.c ++++ b/libfaad/bits.c +@@ -167,7 +167,10 @@ void faad_resetbits(bitfile *ld, int bits) + int words = bits >> 5; + int remainder = bits & 0x1F; + +- ld->bytes_left = ld->buffer_size - words*4; ++ if (ld->buffer_size < words * 4) ++ ld->bytes_left = 0; ++ else ++ ld->bytes_left = ld->buffer_size - words*4; + + if (ld->bytes_left >= 4) + { +diff --git a/libfaad/syntax.c b/libfaad/syntax.c +index e7fb11381e46..c9925435dbd0 100644 +--- a/libfaad/syntax.c ++++ b/libfaad/syntax.c +@@ -2304,6 +2304,8 @@ static uint8_t excluded_channels(bitfile *ld, drc_info *drc) + while ((drc->additional_excluded_chns[n-1] = faad_get1bit(ld + DEBUGVAR(1,104,"excluded_channels(): additional_excluded_chns"))) == 1) + { ++ if (i >= MAX_CHANNELS - num_excl_chan - 7) ++ return n; + for (i = num_excl_chan; i < num_excl_chan+7; i++) + { + drc->exclude_mask[i] = faad_get1bit(ld +-- +2.20.1 + diff --git a/bsp/buildroot/package/faad2/0004-add-patch-to-prevent-crash-on-SCE-followed-by-CPE.patch b/bsp/buildroot/package/faad2/0004-add-patch-to-prevent-crash-on-SCE-followed-by-CPE.patch new file mode 100644 index 00000000..b759b037 --- /dev/null +++ b/bsp/buildroot/package/faad2/0004-add-patch-to-prevent-crash-on-SCE-followed-by-CPE.patch @@ -0,0 +1,54 @@ +From f1f8e002622196de3aa650163e5dc2888ebc7a63 Mon Sep 17 00:00:00 2001 +From: Fabian Greffrath +Date: Mon, 10 Jun 2019 13:59:49 +0200 +Subject: [PATCH] add patch to prevent crash on SCE followed by CPE + +hDecoder->element_alloced denotes whether or not we have allocated memory for +usage in terms of the specified channel element. Given that it previously only +had two states (1 meaning allocated, and 0 meaning not allocated), it would not +allocate enough memory for parsing a CPE it if is preceeded by a SCE (and +therefor crash). + +These changes fixes the issue by making sure that we allocate additional memory +if so is necessary, and the set of values for hDecoder->element_alloced[n] is +now: + + 0 = nothing allocated + 1 = allocated enough for SCE + 2 = allocated enough for CPE + +All branches that depend on hDecoder->element_alloced[n] prior to this patch +only checks if the value is, or is not, zero. The added state, 2, is therefor +correctly handled automatically. + +https://github.com/videolan/vlc/blob/master/contrib/src/faad2/faad2-fix-cpe-reconstruction.patch + +Signed-off-by: Baruch Siach +--- +Upstream status: commit f1f8e002622196d + libfaad/specrec.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libfaad/specrec.c b/libfaad/specrec.c +index 9797d6e79468..0e72207fc9c0 100644 +--- a/libfaad/specrec.c ++++ b/libfaad/specrec.c +@@ -1109,13 +1109,13 @@ uint8_t reconstruct_channel_pair(NeAACDecStruct *hDecoder, ic_stream *ics1, ic_s + #ifdef PROFILE + int64_t count = faad_get_ts(); + #endif +- if (hDecoder->element_alloced[hDecoder->fr_ch_ele] == 0) ++ if (hDecoder->element_alloced[hDecoder->fr_ch_ele] != 2) + { + retval = allocate_channel_pair(hDecoder, cpe->channel, (uint8_t)cpe->paired_channel); + if (retval > 0) + return retval; + +- hDecoder->element_alloced[hDecoder->fr_ch_ele] = 1; ++ hDecoder->element_alloced[hDecoder->fr_ch_ele] = 2; + } + + /* dequantisation and scaling */ +-- +2.20.1 + diff --git a/bsp/buildroot/package/ffmpeg/Config.in b/bsp/buildroot/package/ffmpeg/Config.in index 2d94c571..4377a32c 100644 --- a/bsp/buildroot/package/ffmpeg/Config.in +++ b/bsp/buildroot/package/ffmpeg/Config.in @@ -7,8 +7,6 @@ config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS depends on !BR2_nios2 # No support for ARMv7-M in the ARM assembly logic depends on !BR2_ARM_CPU_ARMV7M - # Microblaze build affected by gcc PR71124 (infinite loop) - depends on !BR2_microblaze # m68k coldfire causes a build failure, because the check for # atomics (atomic_store) succeeds, which causes ffmpeg to # think atomic intrinsics are available, while they are diff --git a/bsp/buildroot/package/ffmpeg/ffmpeg.hash b/bsp/buildroot/package/ffmpeg/ffmpeg.hash index e00c4ec5..e945130d 100644 --- a/bsp/buildroot/package/ffmpeg/ffmpeg.hash +++ b/bsp/buildroot/package/ffmpeg/ffmpeg.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 741cbd6394eaed370774ca4cc089eaafbc54d0824b9aa360d4b3b0cbcbc4a92c ffmpeg-3.4.5.tar.xz +sha256 3572279cb139d9e39dcfbc23edf438ff5311ec3fc5d0dcb3558e49591e5cb83e ffmpeg-3.4.6.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPLv2 sha256 b634ab5640e258563c536e658cad87080553df6f34f62269a21d554844e58bfe COPYING.LGPLv2.1 sha256 73d99bc83313fff665b426d6672b4e0479102bc402fe22314ac9ce94a38aa5ff LICENSE.md diff --git a/bsp/buildroot/package/ffmpeg/ffmpeg.mk b/bsp/buildroot/package/ffmpeg/ffmpeg.mk index b86d465d..d26555a5 100644 --- a/bsp/buildroot/package/ffmpeg/ffmpeg.mk +++ b/bsp/buildroot/package/ffmpeg/ffmpeg.mk @@ -4,7 +4,7 @@ # ################################################################################ -FFMPEG_VERSION = 3.4.5 +FFMPEG_VERSION = 3.4.6 FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.xz FFMPEG_SITE = http://ffmpeg.org/releases FFMPEG_INSTALL_STAGING = YES @@ -517,6 +517,14 @@ else ifneq ($(GCC_TARGET_ARCH),) FFMPEG_CONF_OPTS += --cpu="$(GCC_TARGET_ARCH)" endif +FFMPEG_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +FFMPEG_CONF_OPTS += --disable-optimizations +FFMPEG_CFLAGS += -O0 +endif + +FFMPEG_CONF_ENV += CFLAGS="$(FFMPEG_CFLAGS)" FFMPEG_CONF_OPTS += $(call qstrip,$(BR2_PACKAGE_FFMPEG_EXTRACONF)) # Override FFMPEG_CONFIGURE_CMDS: FFmpeg does not support --target and others diff --git a/bsp/buildroot/package/flare-engine/Config.in b/bsp/buildroot/package/flare-engine/Config.in index e299a6b7..cdcb0189 100644 --- a/bsp/buildroot/package/flare-engine/Config.in +++ b/bsp/buildroot/package/flare-engine/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_FLARE_ENGINE bool "flare-engine" depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS # SDL2 - depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_85180 select BR2_PACKAGE_SDL2 select BR2_PACKAGE_SDL2_IMAGE select BR2_PACKAGE_SDL2_MIXER @@ -18,6 +17,3 @@ config BR2_PACKAGE_FLARE_ENGINE comment "flare-engine needs a toolchain w/ C++, dynamic library" depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS - -comment "flare-engine needs a toolchain not affected by GCC bug 85180" - depends on BR2_TOOLCHAIN_HAS_GCC_BUG_85180 diff --git a/bsp/buildroot/package/flare-engine/flare-engine.mk b/bsp/buildroot/package/flare-engine/flare-engine.mk index 2f366023..8a656d69 100644 --- a/bsp/buildroot/package/flare-engine/flare-engine.mk +++ b/bsp/buildroot/package/flare-engine/flare-engine.mk @@ -19,4 +19,12 @@ ifeq ($(BR2_ENABLE_DEBUG),y) FLARE_ENGINE_CONF_OPTS += -DCMAKE_BUILD_TYPE=RelWithDebInfo endif +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +# CMakeLists.txt sets CMAKE_CXX_FLAGS_ depending on +# BUILD_TYPE, and this comes after the generic CMAKE_CXX_FLAGS. +# Override CMAKE_BUILD_TYPE so no overrides are applied. +FLARE_ENGINE_CONF_OPTS += -DCMAKE_BUILD_TYPE=Buildroot +FLARE_ENGINE_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -O0" +endif + $(eval $(cmake-package)) diff --git a/bsp/buildroot/package/freescale-imx/imx-uuc/imx-uuc.mk b/bsp/buildroot/package/freescale-imx/imx-uuc/imx-uuc.mk index 52d2b7c7..e94648b8 100644 --- a/bsp/buildroot/package/freescale-imx/imx-uuc/imx-uuc.mk +++ b/bsp/buildroot/package/freescale-imx/imx-uuc/imx-uuc.mk @@ -14,7 +14,7 @@ IMX_UUC_LICENSE_FILES = COPYING IMX_UUC_DEPENDENCIES = host-dosfstools define IMX_UUC_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CC=$(TARGET_CC) + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) endef define IMX_UUC_INSTALL_TARGET_CMDS diff --git a/bsp/buildroot/package/freeswitch/freeswitch.hash b/bsp/buildroot/package/freeswitch/freeswitch.hash index 6f90c215..1c5de7bc 100644 --- a/bsp/buildroot/package/freeswitch/freeswitch.hash +++ b/bsp/buildroot/package/freeswitch/freeswitch.hash @@ -1,11 +1,11 @@ -# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.8.5.tar.xz.md5 -md5 e3d750ed0bbf13ce6fe228af9af07bcd freeswitch-1.8.5.tar.xz -# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.8.5.tar.xz.sha1 -sha1 e9f95b42ed9dd41437a65bddbb5c1f647436e426 freeswitch-1.8.5.tar.xz -# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.8.5.tar.xz.sha256 -sha256 503a551be5d6df06162ea9d98a952b6fb524852ce2352fe3ca3a36a76995b046 freeswitch-1.8.5.tar.xz +# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.8.6.tar.xz.md5 +md5 cadec07057786cfb0bb805edc279d752 freeswitch-1.8.6.tar.xz +# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.8.6.tar.xz.sha1 +sha1 c6eb7de942a61604774ca08ac8070244b7c3167a freeswitch-1.8.6.tar.xz +# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.8.6.tar.xz.sha256 +sha256 b87f47e57d13de2b901bd1e4eb85491178e59a159a2831d7430abe7947f0d3a4 freeswitch-1.8.6.tar.xz # Locally computed -sha256 10299420c1e8602c0daf5a59d022621cd72a9148d1f0f33501edb3db3445c7fe COPYING +sha256 75c933202f40939cdc3827fce20a1efdaa38291e2b5a65d234eb16e2cffda66a COPYING sha256 e8e26b16da14aa3e6ed5c22c705fdc1f45d6225fca461ea9f7314bcdfdc414c4 libs/apr/LICENSE sha256 1eefb2ea1db0af7729a9d8a27d7c65d8a37ab185393f935b029aac6828ce315a libs/apr-util/LICENSE sha256 8267348d5af1262c11d1a08de2f5afc77457755f1ac658627dd9acf71011d615 libs/libvpx/LICENSE diff --git a/bsp/buildroot/package/freeswitch/freeswitch.mk b/bsp/buildroot/package/freeswitch/freeswitch.mk index 0b7544d0..8c0c7fb1 100644 --- a/bsp/buildroot/package/freeswitch/freeswitch.mk +++ b/bsp/buildroot/package/freeswitch/freeswitch.mk @@ -4,7 +4,7 @@ # ################################################################################ -FREESWITCH_VERSION = 1.8.5 +FREESWITCH_VERSION = 1.8.6 FREESWITCH_SOURCE = freeswitch-$(FREESWITCH_VERSION).tar.xz FREESWITCH_SITE = http://files.freeswitch.org/freeswitch-releases # External modules need headers/libs from staging diff --git a/bsp/buildroot/package/fwts/Config.in b/bsp/buildroot/package/fwts/Config.in index 94ac6063..269f065f 100644 --- a/bsp/buildroot/package/fwts/Config.in +++ b/bsp/buildroot/package/fwts/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_FWTS depends on BR2_i386 || BR2_x86_64 || BR2_aarch64 depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS # libbsd depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c - depends on BR2_USE_MMU # libglib2, libbsd + depends on BR2_USE_MMU # libglib2 depends on BR2_USE_WCHAR # libglib2, libbsd depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2, libbsd depends on BR2_TOOLCHAIN_USES_GLIBC # execinfo.h diff --git a/bsp/buildroot/package/gcc/7.4.0/1002-xtensa-backport-fix-for-PR-target-90922.patch b/bsp/buildroot/package/gcc/7.4.0/1002-xtensa-backport-fix-for-PR-target-90922.patch new file mode 100644 index 00000000..38e0309e --- /dev/null +++ b/bsp/buildroot/package/gcc/7.4.0/1002-xtensa-backport-fix-for-PR-target-90922.patch @@ -0,0 +1,43 @@ +From a592242578e573778241cae6d3928c064dcdfda4 Mon Sep 17 00:00:00 2001 +From: jcmvbkbc +Date: Tue, 18 Jun 2019 22:19:12 +0000 +Subject: [PATCH] xtensa: fix for PR target/90922 + +Stack pointer adjustment code in prologue missed a case of no +callee-saved registers and a stack frame size bigger than 128 bytes. +Handle that case. + +This fixes the following gcc tests with call0 ABI: + gcc.c-torture/execute/stdarg-2.c + gcc.dg/torture/pr55882.c + gcc.dg/torture/pr57569.c + +gcc/ +2019-06-18 Max Filippov + + * config/xtensa/xtensa.c (xtensa_expand_prologue): Add stack + pointer adjustment for the case of no callee-saved registers and + stack frame bigger than 128 bytes. + +Signed-off-by: Max Filippov +--- + gcc/config/xtensa/xtensa.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c +index 19bd616d67f6..ee5612441e25 100644 +--- a/gcc/config/xtensa/xtensa.c ++++ b/gcc/config/xtensa/xtensa.c +@@ -2802,7 +2802,8 @@ xtensa_expand_prologue (void) + gen_rtx_SET (mem, reg)); + } + } +- if (total_size > 1024) ++ if (total_size > 1024 ++ || (!callee_save_size && total_size > 128)) + { + rtx tmp_reg = gen_rtx_REG (Pmode, A9_REG); + emit_move_insn (tmp_reg, GEN_INT (total_size - +-- +2.11.0 + diff --git a/bsp/buildroot/package/gcc/7.4.0/1003-xtensa-fix-PR-target-91880.patch b/bsp/buildroot/package/gcc/7.4.0/1003-xtensa-fix-PR-target-91880.patch new file mode 100644 index 00000000..e75588bf --- /dev/null +++ b/bsp/buildroot/package/gcc/7.4.0/1003-xtensa-fix-PR-target-91880.patch @@ -0,0 +1,49 @@ +From 7c11710230921246156aecc20eb4b6ccaeaaa473 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Tue, 24 Sep 2019 04:15:17 -0700 +Subject: [PATCH] xtensa: fix PR target/91880 + +Xtensa hwloop_optimize segfaults when zero overhead loop is about to be +inserted as the first instruction of the function. +Insert zero overhead loop instruction into new basic block before the +loop when basic block that precedes the loop is empty. + +2019-09-26 Max Filippov +gcc/ + * config/xtensa/xtensa.c (hwloop_optimize): Insert zero overhead + loop instruction into new basic block before the loop when basic + block that precedes the loop is empty. + +Signed-off-by: Max Filippov +--- +Backported from: r276166 + + gcc/config/xtensa/xtensa.c | 5 ++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c +index ee5612441e25..2527468d57db 100644 +--- a/gcc/config/xtensa/xtensa.c ++++ b/gcc/config/xtensa/xtensa.c +@@ -4174,7 +4174,9 @@ hwloop_optimize (hwloop_info loop) + + seq = get_insns (); + +- if (!single_succ_p (entry_bb) || vec_safe_length (loop->incoming) > 1) ++ entry_after = BB_END (entry_bb); ++ if (!single_succ_p (entry_bb) || vec_safe_length (loop->incoming) > 1 ++ || !entry_after) + { + basic_block new_bb; + edge e; +@@ -4195,7 +4197,6 @@ hwloop_optimize (hwloop_info loop) + } + else + { +- entry_after = BB_END (entry_bb); + while (DEBUG_INSN_P (entry_after) + || (NOTE_P (entry_after) + && NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK +-- +2.11.0 + diff --git a/bsp/buildroot/package/gcc/8.3.0/0001-xtensa-backport-fix-for-PR-target-90922.patch b/bsp/buildroot/package/gcc/8.3.0/0001-xtensa-backport-fix-for-PR-target-90922.patch new file mode 100644 index 00000000..c961ce5d --- /dev/null +++ b/bsp/buildroot/package/gcc/8.3.0/0001-xtensa-backport-fix-for-PR-target-90922.patch @@ -0,0 +1,43 @@ +From a592242578e573778241cae6d3928c064dcdfda4 Mon Sep 17 00:00:00 2001 +From: jcmvbkbc +Date: Tue, 18 Jun 2019 22:19:12 +0000 +Subject: [PATCH] xtensa: fix for PR target/90922 + +Stack pointer adjustment code in prologue missed a case of no +callee-saved registers and a stack frame size bigger than 128 bytes. +Handle that case. + +This fixes the following gcc tests with call0 ABI: + gcc.c-torture/execute/stdarg-2.c + gcc.dg/torture/pr55882.c + gcc.dg/torture/pr57569.c + +gcc/ +2019-06-18 Max Filippov + + * config/xtensa/xtensa.c (xtensa_expand_prologue): Add stack + pointer adjustment for the case of no callee-saved registers and + stack frame bigger than 128 bytes. + +Signed-off-by: Max Filippov +--- + gcc/config/xtensa/xtensa.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c +index 19bd616d67f6..ee5612441e25 100644 +--- a/gcc/config/xtensa/xtensa.c ++++ b/gcc/config/xtensa/xtensa.c +@@ -2862,7 +2862,8 @@ xtensa_expand_prologue (void) + gen_rtx_SET (mem, reg)); + } + } +- if (total_size > 1024) ++ if (total_size > 1024 ++ || (!callee_save_size && total_size > 128)) + { + rtx tmp_reg = gen_rtx_REG (Pmode, A9_REG); + emit_move_insn (tmp_reg, GEN_INT (total_size - +-- +2.11.0 + diff --git a/bsp/buildroot/package/gcc/8.3.0/0002-xtensa-fix-PR-target-91880.patch b/bsp/buildroot/package/gcc/8.3.0/0002-xtensa-fix-PR-target-91880.patch new file mode 100644 index 00000000..e6535250 --- /dev/null +++ b/bsp/buildroot/package/gcc/8.3.0/0002-xtensa-fix-PR-target-91880.patch @@ -0,0 +1,49 @@ +From 7c11710230921246156aecc20eb4b6ccaeaaa473 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Tue, 24 Sep 2019 04:15:17 -0700 +Subject: [PATCH] xtensa: fix PR target/91880 + +Xtensa hwloop_optimize segfaults when zero overhead loop is about to be +inserted as the first instruction of the function. +Insert zero overhead loop instruction into new basic block before the +loop when basic block that precedes the loop is empty. + +2019-09-26 Max Filippov +gcc/ + * config/xtensa/xtensa.c (hwloop_optimize): Insert zero overhead + loop instruction into new basic block before the loop when basic + block that precedes the loop is empty. + +Signed-off-by: Max Filippov +--- +Backported from: r276166 + + gcc/config/xtensa/xtensa.c | 5 ++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c +index ee5612441e25..2527468d57db 100644 +--- a/gcc/config/xtensa/xtensa.c ++++ b/gcc/config/xtensa/xtensa.c +@@ -4232,7 +4232,9 @@ hwloop_optimize (hwloop_info loop) + + seq = get_insns (); + +- if (!single_succ_p (entry_bb) || vec_safe_length (loop->incoming) > 1) ++ entry_after = BB_END (entry_bb); ++ if (!single_succ_p (entry_bb) || vec_safe_length (loop->incoming) > 1 ++ || !entry_after) + { + basic_block new_bb; + edge e; +@@ -4253,7 +4255,6 @@ hwloop_optimize (hwloop_info loop) + } + else + { +- entry_after = BB_END (entry_bb); + while (DEBUG_INSN_P (entry_after) + || (NOTE_P (entry_after) + && NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK)) +-- +2.11.0 + diff --git a/bsp/buildroot/package/gcc/Config.in.host b/bsp/buildroot/package/gcc/Config.in.host index 8ec406a1..4934c285 100644 --- a/bsp/buildroot/package/gcc/Config.in.host +++ b/bsp/buildroot/package/gcc/Config.in.host @@ -68,6 +68,9 @@ config BR2_GCC_VERSION_8_X bool "gcc 8.x" # Broken or unsupported architectures depends on !BR2_or1k + # powerpc spe support has been deprecated since gcc 8.x. + # https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html + depends on !BR2_powerpc_SPE select BR2_TOOLCHAIN_GCC_AT_LEAST_8 endchoice diff --git a/bsp/buildroot/package/gdb/7.12.1/0008-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-gdb_wait-h.patch b/bsp/buildroot/package/gdb/7.12.1/0008-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-gdb_wait-h.patch new file mode 100644 index 00000000..3cfc0feb --- /dev/null +++ b/bsp/buildroot/package/gdb/7.12.1/0008-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-gdb_wait-h.patch @@ -0,0 +1,54 @@ +From 5a6c3296a7a90694ad4042f6256f3da6d4fa4ee8 Mon Sep 17 00:00:00 2001 +From: James Clarke +Date: Fri, 19 Jan 2018 17:22:49 +0000 +Subject: [PATCH] gdb: Fix ia64 defining TRAP_HWBKPT before including + gdb_wait.h + +On ia64, gdb_wait.h eventually includes siginfo-consts-arch.h, which +contains an enum with TRAP_HWBKPT, along with a #define. Thus we cannot +define TRAP_HWBKPT to 4 beforehand, and so gdb_wait.h must be included +earlier; include it from linux-ptrace.h so it can never come afterwards. + +gdb/ChangeLog: + + * nat/linux-ptrace.c: Remove unnecessary reinclusion of + gdb_ptrace.h, and move including gdb_wait.h ... + * nat/linux-ptrace.h: ... to here. + +Signed-off-by: Fabrice Fontaine +[Retrieved (and backported/updated to remove ChangeLog update) from: +https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=5a6c3296a7a90694ad4042f6256f3da6d4fa4ee8] +--- + gdb/ChangeLog | 6 ++++++ + gdb/nat/linux-ptrace.c | 2 -- + gdb/nat/linux-ptrace.h | 1 + + 3 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c +index 5c4ddc9..1f21ef0 100644 +--- a/gdb/nat/linux-ptrace.c ++++ b/gdb/nat/linux-ptrace.c +@@ -21,8 +21,6 @@ + #include "linux-procfs.h" + #include "linux-waitpid.h" + #include "buffer.h" +-#include "gdb_wait.h" +-#include "gdb_ptrace.h" + #include + + /* Stores the ptrace options supported by the running kernel. +diff --git a/gdb/nat/linux-ptrace.h b/gdb/nat/linux-ptrace.h +index 60967a3..dc180fb 100644 +--- a/gdb/nat/linux-ptrace.h ++++ b/gdb/nat/linux-ptrace.h +@@ -21,6 +21,7 @@ + struct buffer; + + #include "nat/gdb_ptrace.h" ++#include "gdb_wait.h" + + #ifdef __UCLIBC__ + #if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_HAS_MMU__)) +-- +2.9.3 + diff --git a/bsp/buildroot/package/gdb/8.0.1/0006-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-gdb_wait-h.patch b/bsp/buildroot/package/gdb/8.0.1/0006-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-gdb_wait-h.patch new file mode 100644 index 00000000..1e85d931 --- /dev/null +++ b/bsp/buildroot/package/gdb/8.0.1/0006-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-gdb_wait-h.patch @@ -0,0 +1,54 @@ +From 5a6c3296a7a90694ad4042f6256f3da6d4fa4ee8 Mon Sep 17 00:00:00 2001 +From: James Clarke +Date: Fri, 19 Jan 2018 17:22:49 +0000 +Subject: [PATCH] gdb: Fix ia64 defining TRAP_HWBKPT before including + gdb_wait.h + +On ia64, gdb_wait.h eventually includes siginfo-consts-arch.h, which +contains an enum with TRAP_HWBKPT, along with a #define. Thus we cannot +define TRAP_HWBKPT to 4 beforehand, and so gdb_wait.h must be included +earlier; include it from linux-ptrace.h so it can never come afterwards. + +gdb/ChangeLog: + + * nat/linux-ptrace.c: Remove unnecessary reinclusion of + gdb_ptrace.h, and move including gdb_wait.h ... + * nat/linux-ptrace.h: ... to here. + +Signed-off-by: Fabrice Fontaine +[Retrieved (and updated to remove ChangeLog update) from: +https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=5a6c3296a7a90694ad4042f6256f3da6d4fa4ee8] +--- + gdb/ChangeLog | 6 ++++++ + gdb/nat/linux-ptrace.c | 2 -- + gdb/nat/linux-ptrace.h | 1 + + 3 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c +index 5c4ddc9..1f21ef0 100644 +--- a/gdb/nat/linux-ptrace.c ++++ b/gdb/nat/linux-ptrace.c +@@ -21,8 +21,6 @@ + #include "linux-procfs.h" + #include "linux-waitpid.h" + #include "buffer.h" +-#include "gdb_wait.h" +-#include "gdb_ptrace.h" + #ifdef HAVE_SYS_PROCFS_H + #include + #endif +diff --git a/gdb/nat/linux-ptrace.h b/gdb/nat/linux-ptrace.h +index 60967a3..dc180fb 100644 +--- a/gdb/nat/linux-ptrace.h ++++ b/gdb/nat/linux-ptrace.h +@@ -21,6 +21,7 @@ + struct buffer; + + #include "nat/gdb_ptrace.h" ++#include "gdb_wait.h" + + #ifdef __UCLIBC__ + #if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_HAS_MMU__)) +-- +2.9.3 + diff --git a/bsp/buildroot/package/gdb/8.1.1/0007-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-gdb_wait-h.patch b/bsp/buildroot/package/gdb/8.1.1/0007-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-gdb_wait-h.patch new file mode 100644 index 00000000..1e85d931 --- /dev/null +++ b/bsp/buildroot/package/gdb/8.1.1/0007-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-gdb_wait-h.patch @@ -0,0 +1,54 @@ +From 5a6c3296a7a90694ad4042f6256f3da6d4fa4ee8 Mon Sep 17 00:00:00 2001 +From: James Clarke +Date: Fri, 19 Jan 2018 17:22:49 +0000 +Subject: [PATCH] gdb: Fix ia64 defining TRAP_HWBKPT before including + gdb_wait.h + +On ia64, gdb_wait.h eventually includes siginfo-consts-arch.h, which +contains an enum with TRAP_HWBKPT, along with a #define. Thus we cannot +define TRAP_HWBKPT to 4 beforehand, and so gdb_wait.h must be included +earlier; include it from linux-ptrace.h so it can never come afterwards. + +gdb/ChangeLog: + + * nat/linux-ptrace.c: Remove unnecessary reinclusion of + gdb_ptrace.h, and move including gdb_wait.h ... + * nat/linux-ptrace.h: ... to here. + +Signed-off-by: Fabrice Fontaine +[Retrieved (and updated to remove ChangeLog update) from: +https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=5a6c3296a7a90694ad4042f6256f3da6d4fa4ee8] +--- + gdb/ChangeLog | 6 ++++++ + gdb/nat/linux-ptrace.c | 2 -- + gdb/nat/linux-ptrace.h | 1 + + 3 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c +index 5c4ddc9..1f21ef0 100644 +--- a/gdb/nat/linux-ptrace.c ++++ b/gdb/nat/linux-ptrace.c +@@ -21,8 +21,6 @@ + #include "linux-procfs.h" + #include "linux-waitpid.h" + #include "buffer.h" +-#include "gdb_wait.h" +-#include "gdb_ptrace.h" + #ifdef HAVE_SYS_PROCFS_H + #include + #endif +diff --git a/gdb/nat/linux-ptrace.h b/gdb/nat/linux-ptrace.h +index 60967a3..dc180fb 100644 +--- a/gdb/nat/linux-ptrace.h ++++ b/gdb/nat/linux-ptrace.h +@@ -21,6 +21,7 @@ + struct buffer; + + #include "nat/gdb_ptrace.h" ++#include "gdb_wait.h" + + #ifdef __UCLIBC__ + #if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_HAS_MMU__)) +-- +2.9.3 + diff --git a/bsp/buildroot/package/gerbera/0002-Fix-find_program-taglib-config-when-cross-compiling.patch b/bsp/buildroot/package/gerbera/0002-Fix-find_program-taglib-config-when-cross-compiling.patch new file mode 100644 index 00000000..d5cc908e --- /dev/null +++ b/bsp/buildroot/package/gerbera/0002-Fix-find_program-taglib-config-when-cross-compiling.patch @@ -0,0 +1,46 @@ +From 0f78b883f02651bd15a96a7294e01f94b28c20f8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Krause?= +Date: Mon, 13 May 2019 13:42:14 +0200 +Subject: [PATCH] Fix find_program taglib-config when cross-compiling +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When cross-compiling Gerbera CMakes `find_program()` will search for +binaries on the host. This is typically correct, e.g. when search for +compilers or shells. + +When cross-compiling searching for `taglib-config` should not find the +binary on the host, instead it should find the binary in the sysroot +directory, as the host `taglib-config` will output the wrong host paths +and libs, whereas the sysroot `taglib-config` will output the correct sysroot +paths and libs. + +Therefore, use the `CMAKE_FIND_ROOT_PATH_MODE_PROGRAM` variable when +cross-compiling. This variable controls whether the `CMAKE_FIND_ROOT_PATH` +and `CMAKE_SYSROOT` are used by find_program(). + +Backported from: 0f78b883f02651bd15a96a7294e01f94b28c20f8 + +Signed-off-by: Jörg Krause +--- + cmake/FindTaglib.cmake | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/cmake/FindTaglib.cmake b/cmake/FindTaglib.cmake +index 46a20ff2..7135d766 100644 +--- a/cmake/FindTaglib.cmake ++++ b/cmake/FindTaglib.cmake +@@ -19,6 +19,9 @@ ELSE() + endif(NOT TAGLIB_MIN_VERSION) + + if(NOT WIN32) ++ if (CMAKE_CROSSCOMPILING) ++ set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY) ++ endif(CMAKE_CROSSCOMPILING) + find_program(TAGLIBCONFIG_EXECUTABLE NAMES taglib-config PATHS + ${BIN_INSTALL_DIR} + ) +-- +2.22.0 + diff --git a/bsp/buildroot/package/gerbera/S99gerbera b/bsp/buildroot/package/gerbera/S99gerbera index 8bbd221c..d1c74c88 100644 --- a/bsp/buildroot/package/gerbera/S99gerbera +++ b/bsp/buildroot/package/gerbera/S99gerbera @@ -1,7 +1,7 @@ #!/bin/sh DAEMON="gerbera" -PIDFILE="/var/run/$NAME.pid" +PIDFILE="/var/run/$DAEMON.pid" GERBERA_ARGS="-c /etc/gerbera/config.xml -l /var/log/gerbera.log" diff --git a/bsp/buildroot/package/giflib/0001-Address-SF-bug-113-Heap-Buffer-Overflow-2-in-functio.patch b/bsp/buildroot/package/giflib/0001-Address-SF-bug-113-Heap-Buffer-Overflow-2-in-functio.patch new file mode 100644 index 00000000..9c6f344b --- /dev/null +++ b/bsp/buildroot/package/giflib/0001-Address-SF-bug-113-Heap-Buffer-Overflow-2-in-functio.patch @@ -0,0 +1,31 @@ +From 08438a5098f3bb1de23a29334af55eba663f75bd Mon Sep 17 00:00:00 2001 +From: "Eric S. Raymond" +Date: Sat, 9 Feb 2019 10:52:21 -0500 +Subject: [PATCH] Address SF bug #113: Heap Buffer Overflow-2 in function + DGifDecompressLine()... + +This was CVE-2018-11490 + +[Retrieved from: +https://sourceforge.net/p/giflib/code/ci/08438a5098f3bb1de23a29334af55eba663f75bd] +Signed-off-by: Fabrice Fontaine +--- + lib/dgif_lib.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/dgif_lib.c b/lib/dgif_lib.c +index 15c1460..c4aee5f 100644 +--- a/lib/dgif_lib.c ++++ b/lib/dgif_lib.c +@@ -930,7 +930,7 @@ DGifDecompressLine(GifFileType *GifFile, GifPixelType *Line, int LineLen) + while (StackPtr != 0 && i < LineLen) + Line[i++] = Stack[--StackPtr]; + } +- if (LastCode != NO_SUCH_CODE && Prefix[Private->RunningCode - 2] == NO_SUCH_CODE) { ++ if (LastCode != NO_SUCH_CODE && Private->RunningCode - 2 < LZ_MAX_CODE && Prefix[Private->RunningCode - 2] == NO_SUCH_CODE) { + Prefix[Private->RunningCode - 2] = LastCode; + + if (CrntCode == Private->RunningCode - 2) { +-- +2.20.1 + diff --git a/bsp/buildroot/package/giflib/0002-Address-SF-bug-119-MemorySanitizer-FPE-on-unknown-ad.patch b/bsp/buildroot/package/giflib/0002-Address-SF-bug-119-MemorySanitizer-FPE-on-unknown-ad.patch new file mode 100644 index 00000000..60e9a324 --- /dev/null +++ b/bsp/buildroot/package/giflib/0002-Address-SF-bug-119-MemorySanitizer-FPE-on-unknown-ad.patch @@ -0,0 +1,28 @@ +From 799eb6a3af8a3dd81e2429bf11a72a57e541f908 Mon Sep 17 00:00:00 2001 +From: "Eric S. Raymond" +Date: Sun, 17 Mar 2019 12:37:21 -0400 +Subject: [PATCH] Address SF bug #119: MemorySanitizer: FPE on unknown address + +[Retrieved (and backported) from: +https://sourceforge.net/p/giflib/code/ci/08438a5098f3bb1de23a29334af55eba663f75bd] +Signed-off-by: Fabrice Fontaine +--- + dgif_lib.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/dgif_lib.c b/lib/dgif_lib.c +index 3a52467..179bd84 100644 +--- a/lib/dgif_lib.c ++++ b/lib/dgif_lib.c +@@ -1143,7 +1143,7 @@ DGifSlurp(GifFileType *GifFile) + + sp = &GifFile->SavedImages[GifFile->ImageCount - 1]; + /* Allocate memory for the image */ +- if (sp->ImageDesc.Width < 0 && sp->ImageDesc.Height < 0 && ++ if (sp->ImageDesc.Width <= 0 || sp->ImageDesc.Height <= 0 || + sp->ImageDesc.Width > (INT_MAX / sp->ImageDesc.Height)) { + return GIF_ERROR; + } +-- +2.20.1 + diff --git a/bsp/buildroot/package/giflib/giflib.hash b/bsp/buildroot/package/giflib/giflib.hash index cdd7bbde..189dca9f 100644 --- a/bsp/buildroot/package/giflib/giflib.hash +++ b/bsp/buildroot/package/giflib/giflib.hash @@ -1,3 +1,5 @@ # From http://sourceforge.net/projects/giflib/files md5 2c171ced93c0e83bb09e6ccad8e3ba2b giflib-5.1.4.tar.bz2 sha1 5f1157cfc377916280849e247b8e34fa0446513f giflib-5.1.4.tar.bz2 +# Locally computed +sha256 0c9b7990ecdca88b676db232c226548ac408b279f550d424d996f0d83591dd8e COPYING diff --git a/bsp/buildroot/package/git/git.mk b/bsp/buildroot/package/git/git.mk index 804a6e23..b1434fb7 100644 --- a/bsp/buildroot/package/git/git.mk +++ b/bsp/buildroot/package/git/git.mk @@ -66,6 +66,14 @@ ifeq ($(BR2_SYSTEM_ENABLE_NLS),) GIT_MAKE_OPTS += NO_GETTEXT=1 endif +GIT_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +GIT_CFLAGS += -O0 +endif + +GIT_CONF_OPTS += CFLAGS="$(GIT_CFLAGS)" + GIT_INSTALL_TARGET_OPTS = $(GIT_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install # assume yes for these tests, configure will bail out otherwise diff --git a/bsp/buildroot/package/glib-networking/glib-networking.mk b/bsp/buildroot/package/glib-networking/glib-networking.mk index 325cbcf8..163f1b0d 100644 --- a/bsp/buildroot/package/glib-networking/glib-networking.mk +++ b/bsp/buildroot/package/glib-networking/glib-networking.mk @@ -12,7 +12,6 @@ GLIB_NETWORKING_INSTALL_STAGING = YES GLIB_NETWORKING_DEPENDENCIES = \ $(TARGET_NLS_DEPENDENCIES) \ host-pkgconf \ - host-intltool \ libglib2 \ gnutls diff --git a/bsp/buildroot/package/glibc/glibc-2.28-94-g4aeff335ca19286ee2382d8eba794ae5fd49281a/glibc.hash b/bsp/buildroot/package/glibc/glibc-2.28-110-g57922433fa038faa6e37798b9655f85a94978d89/glibc.hash similarity index 69% rename from bsp/buildroot/package/glibc/glibc-2.28-94-g4aeff335ca19286ee2382d8eba794ae5fd49281a/glibc.hash rename to bsp/buildroot/package/glibc/glibc-2.28-110-g57922433fa038faa6e37798b9655f85a94978d89/glibc.hash index 442ef0d7..734621d9 100644 --- a/bsp/buildroot/package/glibc/glibc-2.28-94-g4aeff335ca19286ee2382d8eba794ae5fd49281a/glibc.hash +++ b/bsp/buildroot/package/glibc/glibc-2.28-110-g57922433fa038faa6e37798b9655f85a94978d89/glibc.hash @@ -1,5 +1,5 @@ # Locally calculated (fetched from Github) -sha256 295d436aac4dc45afc3b440f85fc4556c03b1140ca0f625ee015c8156d2f52ae glibc-glibc-2.28-94-g4aeff335ca19286ee2382d8eba794ae5fd49281a.tar.gz +sha256 8cfd8c4564b20e610b41e24cdab85d5b208453c51b06a64603e9ef3f86d6de0a glibc-glibc-2.28-110-g57922433fa038faa6e37798b9655f85a94978d89.tar.gz # Hashes for license files sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/bsp/buildroot/package/glibc/glibc.mk b/bsp/buildroot/package/glibc/glibc.mk index cb6f8097..94ffe9eb 100644 --- a/bsp/buildroot/package/glibc/glibc.mk +++ b/bsp/buildroot/package/glibc/glibc.mk @@ -13,7 +13,7 @@ GLIBC_SITE = $(call github,riscv,riscv-glibc,$(GLIBC_VERSION)) else # Generate version string using: # git describe --match 'glibc-*' --abbrev=40 origin/release/MAJOR.MINOR/master -GLIBC_VERSION = glibc-2.28-94-g4aeff335ca19286ee2382d8eba794ae5fd49281a +GLIBC_VERSION = glibc-2.28-110-g57922433fa038faa6e37798b9655f85a94978d89 # Upstream doesn't officially provide an https download link. # There is one (https://sourceware.org/git/glibc.git) but it's not reliable, # sometimes the connection times out. So use an unofficial github mirror. diff --git a/bsp/buildroot/package/glibmm/glibmm.mk b/bsp/buildroot/package/glibmm/glibmm.mk index 71f1dfd3..e66d56ea 100644 --- a/bsp/buildroot/package/glibmm/glibmm.mk +++ b/bsp/buildroot/package/glibmm/glibmm.mk @@ -13,4 +13,12 @@ GLIBMM_SITE = http://ftp.gnome.org/pub/gnome/sources/glibmm/$(GLIBMM_VERSION_MAJ GLIBMM_INSTALL_STAGING = YES GLIBMM_DEPENDENCIES = libglib2 libsigc host-pkgconf +GLIBMM_CXXFLAGS = $(TARGET_CXXFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +GLIBMM_CXXFLAGS += -O0 +endif + +GLIBMM_CONF_ENV += CXXFLAGS="$(GLIBMM_CXXFLAGS)" + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/gnupg2/gnupg2.hash b/bsp/buildroot/package/gnupg2/gnupg2.hash index f985e11a..806a07b8 100644 --- a/bsp/buildroot/package/gnupg2/gnupg2.hash +++ b/bsp/buildroot/package/gnupg2/gnupg2.hash @@ -1,7 +1,7 @@ -# From https://lists.gnupg.org/pipermail/gnupg-announce/2018q4/000433.html -sha1 2aeccc35ea8034306ff7a1072b84abbaa79619c3 gnupg-2.2.12.tar.bz2 +# From https://lists.gnupg.org/pipermail/gnupg-announce/2019q3/000439.html +sha1 12c1cee8871c03f0315fc8f27876364b75c95b12 gnupg-2.2.17.tar.bz2 # Calculated based on the hash above and signature -# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.12.tar.bz2.sig +# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.17.tar.bz2.sig # using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 -sha256 db030f8b4c98640e91300d36d516f1f4f8fe09514a94ea9fc7411ee1a34082cb gnupg-2.2.12.tar.bz2 +sha256 afa262868e39b651a2db4c071fba90415154243e83a830ca00516f9a807fd514 gnupg-2.2.17.tar.bz2 sha256 bc2d6664f6276fa0a72d57633b3ae68dc7dcb677b71018bf08c8e93e509f1357 COPYING diff --git a/bsp/buildroot/package/gnupg2/gnupg2.mk b/bsp/buildroot/package/gnupg2/gnupg2.mk index 9365e960..aa1f7b14 100644 --- a/bsp/buildroot/package/gnupg2/gnupg2.mk +++ b/bsp/buildroot/package/gnupg2/gnupg2.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNUPG2_VERSION = 2.2.12 +GNUPG2_VERSION = 2.2.17 GNUPG2_SOURCE = gnupg-$(GNUPG2_VERSION).tar.bz2 GNUPG2_SITE = https://gnupg.org/ftp/gcrypt/gnupg GNUPG2_LICENSE = GPL-3.0+ diff --git a/bsp/buildroot/package/gnuradio/Config.in b/bsp/buildroot/package/gnuradio/Config.in index 6d066977..80f6a1c5 100644 --- a/bsp/buildroot/package/gnuradio/Config.in +++ b/bsp/buildroot/package/gnuradio/Config.in @@ -66,11 +66,15 @@ config BR2_PACKAGE_GNURADIO_PYTHON bool "python support" depends on BR2_PACKAGE_PYTHON depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy select BR2_PACKAGE_BOOST_PYTHON select BR2_PACKAGE_PYTHON_NUMPY # runtime help Enable python component +comment "python support needs glibc or musl" + depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) + config BR2_PACKAGE_GNURADIO_UTILS bool "gr-utils support" depends on BR2_PACKAGE_GNURADIO_PYTHON diff --git a/bsp/buildroot/package/gnutls/gnutls.mk b/bsp/buildroot/package/gnutls/gnutls.mk index e7c59682..f2e654fc 100644 --- a/bsp/buildroot/package/gnutls/gnutls.mk +++ b/bsp/buildroot/package/gnutls/gnutls.mk @@ -46,7 +46,7 @@ endif # Prerequisite for crywrap ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y) -GNUTLS_CONF_ENV += LIBS="-largp" +GNUTLS_LIBS += -largp GNUTLS_DEPENDENCIES += argp-standalone endif @@ -86,4 +86,10 @@ else ifeq ($(BR2_PACKAGE_CA_CERTIFICATES),y) GNUTLS_CONF_OPTS += --with-default-trust-store-file=/etc/ssl/certs/ca-certificates.crt endif +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +GNUTLS_LIBS += -latomic +endif + +GNUTLS_CONF_ENV += LIBS="$(GNUTLS_LIBS)" + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/go/0002-Fix-CVE-2019-16276.patch b/bsp/buildroot/package/go/0002-Fix-CVE-2019-16276.patch new file mode 100644 index 00000000..c3fe163c --- /dev/null +++ b/bsp/buildroot/package/go/0002-Fix-CVE-2019-16276.patch @@ -0,0 +1,123 @@ +From: "Dr. Tobias Quathamer" +Date: Thu, 26 Sep 2019 11:46:46 +0200 +Subject: Fix CVE-2019-16276 + +Cherry-picked from upstream: +https://github.com/golang/go/commit/6e6f4aaf70c8b1cc81e65a26332aa9409de03ad8 + +[Upstream: https://sources.debian.org/src/golang-1.11/1.11.6-1+deb10u2/debian/patches/0007-Fix-CVE-2019-16276.patch] +Signed-off-by: Peter Korsgaard +--- + src/net/http/serve_test.go | 4 ++++ + src/net/http/transport_test.go | 27 +++++++++++++++++++++++++++ + src/net/textproto/reader.go | 10 ++-------- + src/net/textproto/reader_test.go | 13 ++++++------- + 4 files changed, 39 insertions(+), 15 deletions(-) + +diff --git a/src/net/http/serve_test.go b/src/net/http/serve_test.go +index a438541..18edf98 100644 +--- a/src/net/http/serve_test.go ++++ b/src/net/http/serve_test.go +@@ -4725,6 +4725,10 @@ func TestServerValidatesHeaders(t *testing.T) { + {"foo\xffbar: foo\r\n", 400}, // binary in header + {"foo\x00bar: foo\r\n", 400}, // binary in header + {"Foo: " + strings.Repeat("x", 1<<21) + "\r\n", 431}, // header too large ++ // Spaces between the header key and colon are not allowed. ++ // See RFC 7230, Section 3.2.4. ++ {"Foo : bar\r\n", 400}, ++ {"Foo\t: bar\r\n", 400}, + + {"foo: foo foo\r\n", 200}, // LWS space is okay + {"foo: foo\tfoo\r\n", 200}, // LWS tab is okay +diff --git a/src/net/http/transport_test.go b/src/net/http/transport_test.go +index b2036df..dff940e 100644 +--- a/src/net/http/transport_test.go ++++ b/src/net/http/transport_test.go +@@ -4838,3 +4838,30 @@ func TestClientTimeoutKillsConn_AfterHeaders(t *testing.T) { + t.Fatal("timeout") + } + } ++ ++func TestInvalidHeaderResponse(t *testing.T) { ++ setParallel(t) ++ defer afterTest(t) ++ cst := newClientServerTest(t, h1Mode, HandlerFunc(func(w ResponseWriter, r *Request) { ++ conn, buf, _ := w.(Hijacker).Hijack() ++ buf.Write([]byte("HTTP/1.1 200 OK\r\n" + ++ "Date: Wed, 30 Aug 2017 19:09:27 GMT\r\n" + ++ "Content-Type: text/html; charset=utf-8\r\n" + ++ "Content-Length: 0\r\n" + ++ "Foo : bar\r\n\r\n")) ++ buf.Flush() ++ conn.Close() ++ })) ++ defer cst.close() ++ res, err := cst.c.Get(cst.ts.URL) ++ if err != nil { ++ t.Fatal(err) ++ } ++ defer res.Body.Close() ++ if v := res.Header.Get("Foo"); v != "" { ++ t.Errorf(`unexpected "Foo" header: %q`, v) ++ } ++ if v := res.Header.Get("Foo "); v != "bar" { ++ t.Errorf(`bad "Foo " header value: %q, want %q`, v, "bar") ++ } ++} +diff --git a/src/net/textproto/reader.go b/src/net/textproto/reader.go +index feb464b..6a37b2d 100644 +--- a/src/net/textproto/reader.go ++++ b/src/net/textproto/reader.go +@@ -492,18 +492,12 @@ func (r *Reader) ReadMIMEHeader() (MIMEHeader, error) { + return m, err + } + +- // Key ends at first colon; should not have trailing spaces +- // but they appear in the wild, violating specs, so we remove +- // them if present. ++ // Key ends at first colon. + i := bytes.IndexByte(kv, ':') + if i < 0 { + return m, ProtocolError("malformed MIME header line: " + string(kv)) + } +- endKey := i +- for endKey > 0 && kv[endKey-1] == ' ' { +- endKey-- +- } +- key := canonicalMIMEHeaderKey(kv[:endKey]) ++ key := canonicalMIMEHeaderKey(kv[:i]) + + // As per RFC 7230 field-name is a token, tokens consist of one or more chars. + // We could return a ProtocolError here, but better to be liberal in what we +diff --git a/src/net/textproto/reader_test.go b/src/net/textproto/reader_test.go +index 7cff7b4..3af77d2 100644 +--- a/src/net/textproto/reader_test.go ++++ b/src/net/textproto/reader_test.go +@@ -188,11 +188,10 @@ func TestLargeReadMIMEHeader(t *testing.T) { + } + } + +-// Test that we read slightly-bogus MIME headers seen in the wild, +-// with spaces before colons, and spaces in keys. ++// TestReadMIMEHeaderNonCompliant checks that we don't normalize headers ++// with spaces before colons, and accept spaces in keys. + func TestReadMIMEHeaderNonCompliant(t *testing.T) { +- // Invalid HTTP response header as sent by an Axis security +- // camera: (this is handled by IE, Firefox, Chrome, curl, etc.) ++ // These invalid headers will be rejected by net/http according to RFC 7230. + r := reader("Foo: bar\r\n" + + "Content-Language: en\r\n" + + "SID : 0\r\n" + +@@ -202,9 +201,9 @@ func TestReadMIMEHeaderNonCompliant(t *testing.T) { + want := MIMEHeader{ + "Foo": {"bar"}, + "Content-Language": {"en"}, +- "Sid": {"0"}, +- "Audio Mode": {"None"}, +- "Privilege": {"127"}, ++ "SID ": {"0"}, ++ "Audio Mode ": {"None"}, ++ "Privilege ": {"127"}, + } + if !reflect.DeepEqual(m, want) || err != nil { + t.Fatalf("ReadMIMEHeader =\n%v, %v; want:\n%v", m, err, want) diff --git a/bsp/buildroot/package/go/go.hash b/bsp/buildroot/package/go/go.hash index fad5f29a..2b6248e9 100644 --- a/bsp/buildroot/package/go/go.hash +++ b/bsp/buildroot/package/go/go.hash @@ -1,3 +1,3 @@ # From https://golang.org/dl/ -sha256 a96da1425dcbec094736033a8a416316547f8100ab4b72c31d4824d761d3e133 go1.11.6.src.tar.gz +sha256 5032095fd3f641cafcce164f551e5ae873785ce7b07ca7c143aecd18f7ba4076 go1.11.13.src.tar.gz sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 LICENSE diff --git a/bsp/buildroot/package/go/go.mk b/bsp/buildroot/package/go/go.mk index b91040a1..f510440a 100644 --- a/bsp/buildroot/package/go/go.mk +++ b/bsp/buildroot/package/go/go.mk @@ -4,7 +4,7 @@ # ################################################################################ -GO_VERSION = 1.11.6 +GO_VERSION = 1.11.13 GO_SITE = https://storage.googleapis.com/golang GO_SOURCE = go$(GO_VERSION).src.tar.gz diff --git a/bsp/buildroot/package/gpsd/gpsd.mk b/bsp/buildroot/package/gpsd/gpsd.mk index 48d21348..bc9fcf27 100644 --- a/bsp/buildroot/package/gpsd/gpsd.mk +++ b/bsp/buildroot/package/gpsd/gpsd.mk @@ -195,10 +195,10 @@ ifeq ($(BR2_PACKAGE_GPSD_FIXED_PORT_SPEED),y) GPSD_SCONS_OPTS += fixed_port_speed=$(BR2_PACKAGE_GPSD_FIXED_PORT_SPEED_VALUE) endif ifeq ($(BR2_PACKAGE_GPSD_MAX_CLIENT),y) -GPSD_SCONS_OPTS += limited_max_clients=$(BR2_PACKAGE_GPSD_MAX_CLIENT_VALUE) +GPSD_SCONS_OPTS += max_clients=$(BR2_PACKAGE_GPSD_MAX_CLIENT_VALUE) endif ifeq ($(BR2_PACKAGE_GPSD_MAX_DEV),y) -GPSD_SCONS_OPTS += limited_max_devices=$(BR2_PACKAGE_GPSD_MAX_DEV_VALUE) +GPSD_SCONS_OPTS += max_devices=$(BR2_PACKAGE_GPSD_MAX_DEV_VALUE) endif GPSD_SCONS_ENV += LDFLAGS="$(GPSD_LDFLAGS)" CFLAGS="$(GPSD_CFLAGS)" diff --git a/bsp/buildroot/package/gstreamer/gst-ffmpeg/Config.in b/bsp/buildroot/package/gstreamer/gst-ffmpeg/Config.in index 1e95d016..32bfdd53 100644 --- a/bsp/buildroot/package/gstreamer/gst-ffmpeg/Config.in +++ b/bsp/buildroot/package/gstreamer/gst-ffmpeg/Config.in @@ -5,7 +5,6 @@ config BR2_PACKAGE_GST_FFMPEG depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6 # triggers https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65151 on sh depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 || !BR2_sh - depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_85180 select BR2_PACKAGE_GST_PLUGINS_BASE help GStreamer plugin containing one plugin with a set of @@ -29,6 +28,3 @@ endif comment "gst-ffmpeg needs a toolchain w/ gcc >= 5" depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5 && BR2_sh - -comment "gst-ffmpeg needs a toolchain not affected by GCC bug 85180" - depends on BR2_TOOLCHAIN_HAS_GCC_BUG_85180 diff --git a/bsp/buildroot/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk b/bsp/buildroot/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk index 6f41efb0..0d584a15 100644 --- a/bsp/buildroot/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk +++ b/bsp/buildroot/package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk @@ -90,6 +90,14 @@ ifeq ($(BR2_STATIC_LIBS),) GST_FFMPEG_CONF_EXTRA_OPTS += --enable-pic endif +GST_FFMPEG_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +GST_FFMPEG_CONF_EXTRA_OPTS += --disable-optimizations +GST_FFMPEG_CFLAGS += -O0 +endif + +GST_FFMPEG_CONF_ENV += CFLAGS="$(GST_FFMPEG_CFLAGS)" GST_FFMPEG_CONF_OPTS += --with-ffmpeg-extra-configure="$(GST_FFMPEG_CONF_EXTRA_OPTS)" $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/gstreamer1/gst1-plugins-bad/Config.in b/bsp/buildroot/package/gstreamer1/gst1-plugins-bad/Config.in index a2ceeb90..f0a84611 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-plugins-bad/Config.in +++ b/bsp/buildroot/package/gstreamer1/gst1-plugins-bad/Config.in @@ -332,11 +332,12 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DASH config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DECKLINK bool "decklink" depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS # help Blackmagic Decklink plugin -comment "decklink needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP +comment "decklink needs a toolchain w/ C++, dynamic library" + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DIRECTFB bool "directfb" diff --git a/bsp/buildroot/package/gstreamer1/gst1-plugins-base/0001-gstrtspconnection-Security-loophole-making-heap-over.patch b/bsp/buildroot/package/gstreamer1/gst1-plugins-base/0001-gstrtspconnection-Security-loophole-making-heap-over.patch new file mode 100644 index 00000000..de88f67a --- /dev/null +++ b/bsp/buildroot/package/gstreamer1/gst1-plugins-base/0001-gstrtspconnection-Security-loophole-making-heap-over.patch @@ -0,0 +1,31 @@ +From f672277509705c4034bc92a141eefee4524d15aa Mon Sep 17 00:00:00 2001 +From: Tobias Ronge +Date: Thu, 14 Mar 2019 10:12:27 +0100 +Subject: [PATCH] gstrtspconnection: Security loophole making heap overflow + +The former code allowed an attacker to create a heap overflow by +sending a longer than allowed session id in a response and including a +semicolon to change the maximum length. With this change, the parser +will never go beyond 512 bytes. + +Signed-off-by: Peter Korsgaard +--- + gst-libs/gst/rtsp/gstrtspconnection.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gst-libs/gst/rtsp/gstrtspconnection.c b/gst-libs/gst/rtsp/gstrtspconnection.c +index a6755bedd..c0429064a 100644 +--- a/gst-libs/gst/rtsp/gstrtspconnection.c ++++ b/gst-libs/gst/rtsp/gstrtspconnection.c +@@ -2461,7 +2461,7 @@ build_next (GstRTSPBuilder * builder, GstRTSPMessage * message, + maxlen = sizeof (conn->session_id) - 1; + /* the sessionid can have attributes marked with ; + * Make sure we strip them */ +- for (i = 0; session_id[i] != '\0'; i++) { ++ for (i = 0; i < maxlen && session_id[i] != '\0'; i++) { + if (session_id[i] == ';') { + maxlen = i; + /* parse timeout */ +-- +2.11.0 + diff --git a/bsp/buildroot/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk b/bsp/buildroot/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk index a86b137c..a5df7c66 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk +++ b/bsp/buildroot/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk @@ -15,6 +15,9 @@ GST1_RTSP_SERVER_DEPENDENCIES = \ gstreamer1 \ gst1-plugins-base \ gst1-plugins-good +GST1_RTSP_SERVER_CONF_OPTS = \ + --disable-examples \ + --disable-tests ifeq ($(BR2_PACKAGE_LIBCGROUP),y) GST1_RTSP_SERVER_DEPENDENCIES += libcgroup diff --git a/bsp/buildroot/package/gtkperf/gtkperf.hash b/bsp/buildroot/package/gtkperf/gtkperf.hash index 819851dd..72f35a26 100644 --- a/bsp/buildroot/package/gtkperf/gtkperf.hash +++ b/bsp/buildroot/package/gtkperf/gtkperf.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 9704344e732038eecbd007dd996a56293a6b027b5b76f3f036273a3fae1ab27b gtkperf_0.40.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/bsp/buildroot/package/gtkperf/gtkperf.mk b/bsp/buildroot/package/gtkperf/gtkperf.mk index 1d1230f1..cc043398 100644 --- a/bsp/buildroot/package/gtkperf/gtkperf.mk +++ b/bsp/buildroot/package/gtkperf/gtkperf.mk @@ -7,8 +7,9 @@ GTKPERF_VERSION = 0.40 GTKPERF_SOURCE = gtkperf_$(GTKPERF_VERSION).tar.gz GTKPERF_SITE = http://downloads.sourceforge.net/project/gtkperf/gtkperf/$(GTKPERF_VERSION) -GTKPERF_DEPENDENCIES = libgtk2 +GTKPERF_DEPENDENCIES = libgtk2 $(TARGET_NLS_DEPENDENCIES) GTKPERF_LICENSE = GPL-2.0 GTKPERF_LICENSE_FILES = COPYING +GTKPERF_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/gupnp-tools/gupnp-tools.mk b/bsp/buildroot/package/gupnp-tools/gupnp-tools.mk index 8f95e04f..06c7b1fd 100644 --- a/bsp/buildroot/package/gupnp-tools/gupnp-tools.mk +++ b/bsp/buildroot/package/gupnp-tools/gupnp-tools.mk @@ -19,7 +19,10 @@ GUPNP_TOOLS_DEPENDENCIES = \ gssdp \ gupnp \ libsoup \ - libgtk3 + libgtk3 \ + $(TARGET_NLS_DEPENDENCIES) + +GUPNP_TOOLS_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) ifeq ($(BR2_PACKAGE_GUPNP_AV),y) GUPNP_TOOLS_CONF_OPTS += --with-av diff --git a/bsp/buildroot/package/gvfs/gvfs.mk b/bsp/buildroot/package/gvfs/gvfs.mk index 47fbe0e8..9bfe9e60 100644 --- a/bsp/buildroot/package/gvfs/gvfs.mk +++ b/bsp/buildroot/package/gvfs/gvfs.mk @@ -9,13 +9,16 @@ GVFS_VERSION = $(GVFS_VERSION_MAJOR).4 GVFS_SOURCE = gvfs-$(GVFS_VERSION).tar.xz GVFS_SITE = http://ftp.gnome.org/pub/GNOME/sources/gvfs/$(GVFS_VERSION_MAJOR) GVFS_INSTALL_STAGING = YES -GVFS_DEPENDENCIES = host-pkgconf host-libglib2 libglib2 dbus shared-mime-info +GVFS_DEPENDENCIES = host-pkgconf host-libglib2 libglib2 dbus shared-mime-info \ + $(TARGET_NLS_DEPENDENCIES) GVFS_LICENSE = LGPL-2.0+ GVFS_LICENSE_FILES = COPYING # Export ac_cv_path_LIBGCRYPT_CONFIG unconditionally to prevent # build system from searching the host paths. -GVFS_CONF_ENV = ac_cv_path_LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config +GVFS_CONF_ENV = \ + ac_cv_path_LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config \ + LIBS=$(TARGET_NLS_LIBS) # Most of these are missing library support GVFS_CONF_OPTS = \ diff --git a/bsp/buildroot/package/haveged/haveged.hash b/bsp/buildroot/package/haveged/haveged.hash index d1133b69..fc785878 100644 --- a/bsp/buildroot/package/haveged/haveged.hash +++ b/bsp/buildroot/package/haveged/haveged.hash @@ -1,2 +1,3 @@ -# From http://www.issihosts.com/haveged/verify/haveged-1.9.1.sha1 -sha1 ab7234b7f57dbb7d500a5ab3cbf0494715ce6499 haveged-1.9.1.tar.gz +# Locally calculated +sha256 4d4c046755476d3734ffb78772c242c25913ff0eb7509c143671dae6ec9d1189 haveged-1.9.6.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/bsp/buildroot/package/haveged/haveged.mk b/bsp/buildroot/package/haveged/haveged.mk index a645557b..afb54df1 100644 --- a/bsp/buildroot/package/haveged/haveged.mk +++ b/bsp/buildroot/package/haveged/haveged.mk @@ -4,8 +4,8 @@ # ################################################################################ -HAVEGED_VERSION = 1.9.1 -HAVEGED_SITE = http://www.issihosts.com/haveged +HAVEGED_VERSION = 1.9.6 +HAVEGED_SITE = $(call github,jirka-h,haveged,v$(HAVEGED_VERSION)) HAVEGED_LICENSE = GPL-3.0+ HAVEGED_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/ifplugd/ifplugd.mk b/bsp/buildroot/package/ifplugd/ifplugd.mk index c7874b49..06b06074 100644 --- a/bsp/buildroot/package/ifplugd/ifplugd.mk +++ b/bsp/buildroot/package/ifplugd/ifplugd.mk @@ -6,7 +6,7 @@ IFPLUGD_VERSION = 0.28 IFPLUGD_SITE = http://0pointer.de/lennart/projects/ifplugd -IFPLUGD_LICENSE = GPL-2.0 +IFPLUGD_LICENSE = GPL-2.0+ IFPLUGD_LICENSE_FILES = LICENSE IFPLUGD_AUTORECONF = YES diff --git a/bsp/buildroot/package/imagemagick/imagemagick.hash b/bsp/buildroot/package/imagemagick/imagemagick.hash index 9d5a3956..f95fa275 100644 --- a/bsp/buildroot/package/imagemagick/imagemagick.hash +++ b/bsp/buildroot/package/imagemagick/imagemagick.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 e7c1b19923bb97ed456c78b63b3259b809ebc8e3967c6d086450370c67eedf06 7.0.7-39.tar.gz -sha256 2318cc05bbd2c25c1b2d13af1aadccc45b9cf6f94757421ae59a3c8ea9064f1c LICENSE +sha256 238ee17196fcb80bb58485910aaefc12d48f99e4043c2a28f06ff9588161c4e3 7.0.8-59.tar.gz +sha256 5b47db932754743460eba7a226aea85b63e3408d3c7affb4d0117f70c9594ded LICENSE diff --git a/bsp/buildroot/package/imagemagick/imagemagick.mk b/bsp/buildroot/package/imagemagick/imagemagick.mk index 76789805..a0c91f91 100644 --- a/bsp/buildroot/package/imagemagick/imagemagick.mk +++ b/bsp/buildroot/package/imagemagick/imagemagick.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMAGEMAGICK_VERSION = 7.0.7-39 +IMAGEMAGICK_VERSION = 7.0.8-59 IMAGEMAGICK_SOURCE = $(IMAGEMAGICK_VERSION).tar.gz IMAGEMAGICK_SITE = https://github.com/ImageMagick/ImageMagick/archive IMAGEMAGICK_LICENSE = Apache-2.0 @@ -40,6 +40,14 @@ IMAGEMAGICK_CONF_OPTS = \ IMAGEMAGICK_DEPENDENCIES = host-pkgconf +ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) +# Like postgreSQL, imagemagick does not build against uClibc with +# locales enabled, due to an uClibc bug, see +# http://lists.uclibc.org/pipermail/uclibc/2014-April/048326.html +# so overwrite automatic detection and disable locale support +IMAGEMAGICK_CONF_ENV += ac_cv_func_newlocale=no +endif + ifeq ($(BR2_PACKAGE_FONTCONFIG),y) IMAGEMAGICK_CONF_OPTS += --with-fontconfig IMAGEMAGICK_DEPENDENCIES += fontconfig @@ -173,6 +181,9 @@ HOST_IMAGEMAGICK_CONF_OPTS = \ --with-png \ --with-zlib +# uses clock_gettime, which was provided by librt in glibc < 2.17 +HOST_IMAGEMAGICK_CONF_ENV = LIBS="-lrt" + HOST_IMAGEMAGICK_DEPENDENCIES = \ host-libjpeg \ host-libpng \ diff --git a/bsp/buildroot/package/intel-microcode/Config.in b/bsp/buildroot/package/intel-microcode/Config.in index 495ebd72..4a45aa1e 100644 --- a/bsp/buildroot/package/intel-microcode/Config.in +++ b/bsp/buildroot/package/intel-microcode/Config.in @@ -5,3 +5,14 @@ config BR2_PACKAGE_INTEL_MICROCODE This package provides an Intel microcode data file that can be used to correct processor errors. The iucode-tool package and proper kernel support are required to upload the microcode. + + https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files + +config BR2_PACKAGE_INTEL_MICROCODE_INSTALL_TARGET + bool "install microcode files to /lib/firmware in target" + default y + depends on BR2_PACKAGE_INTEL_MICROCODE + help + Select this option to have the microcode files installed to + /lib/firmware/intel-ucode in the target root filesystem, in + addition to the images directory. diff --git a/bsp/buildroot/package/intel-microcode/intel-microcode.hash b/bsp/buildroot/package/intel-microcode/intel-microcode.hash index 183ba5ae..fbf7109f 100644 --- a/bsp/buildroot/package/intel-microcode/intel-microcode.hash +++ b/bsp/buildroot/package/intel-microcode/intel-microcode.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 46ab18699ec42eb6cc01ee1846ec4d7ca979766dee2156f92d69e2f6df548137 microcode-20180807a.tgz -sha256 c4698c6105d59fec11ad0929e77a003445c560c7706c089990030acbf10c9372 license +sha256 74ec7415988d40fa53686d994cf8cb27accdbd35c5373c4c3afc2e93372ebba5 intel-microcode-20190618.tar.gz +sha256 1f8bf63fc2b1b486c507b98ff7d283c7eb58c7945746b94188a310d6787cbee5 license diff --git a/bsp/buildroot/package/intel-microcode/intel-microcode.mk b/bsp/buildroot/package/intel-microcode/intel-microcode.mk index ed4ad628..74d5b6c5 100644 --- a/bsp/buildroot/package/intel-microcode/intel-microcode.mk +++ b/bsp/buildroot/package/intel-microcode/intel-microcode.mk @@ -4,18 +4,27 @@ # ################################################################################ -INTEL_MICROCODE_VERSION = 20180807a -INTEL_MICROCODE_SOURCE = microcode-$(INTEL_MICROCODE_VERSION).tgz -INTEL_MICROCODE_SITE = https://downloadmirror.intel.com/28087/eng -INTEL_MICROCODE_STRIP_COMPONENTS = 0 +INTEL_MICROCODE_VERSION = 20190618 +INTEL_MICROCODE_SITE = $(call github,intel,Intel-Linux-Processor-Microcode-Data-Files,microcode-$(INTEL_MICROCODE_VERSION)) INTEL_MICROCODE_LICENSE = PROPRIETARY INTEL_MICROCODE_LICENSE_FILES = license INTEL_MICROCODE_REDISTRIBUTE = NO +INTEL_MICROCODE_INSTALL_IMAGES = YES +define INTEL_MICROCODE_INSTALL_IMAGES_CMDS + mkdir -p $(BINARIES_DIR)/intel-ucode + $(INSTALL) -m 0644 -t $(BINARIES_DIR)/intel-ucode \ + $(@D)/intel-ucode/* +endef + +ifeq ($(BR2_PACKAGE_INTEL_MICROCODE_INSTALL_TARGET),y) define INTEL_MICROCODE_INSTALL_TARGET_CMDS mkdir -p $(TARGET_DIR)/lib/firmware/intel-ucode $(INSTALL) -m 0644 -t $(TARGET_DIR)/lib/firmware/intel-ucode \ $(@D)/intel-ucode/* endef +else +INTEL_MICROCODE_INSTALL_TARGET = NO +endif $(eval $(generic-package)) diff --git a/bsp/buildroot/package/iptables/0001-ebtables-vlan-fix-userspace-kernel-headers-collision.patch b/bsp/buildroot/package/iptables/0001-ebtables-vlan-fix-userspace-kernel-headers-collision.patch deleted file mode 100644 index 37c6f96a..00000000 --- a/bsp/buildroot/package/iptables/0001-ebtables-vlan-fix-userspace-kernel-headers-collision.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 51d374ba41ae4f1bb851228c06b030b83dd2092f Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Tue, 13 Nov 2018 19:22:08 +0200 -Subject: [PATCH] ebtables: vlan: fix userspace/kernel headers collision - -Build with musl libc fails because of conflicting struct ethhdr -definitions: - -In file included from .../sysroot/usr/include/net/ethernet.h:10:0, - from ../iptables/nft-bridge.h:8, - from libebt_vlan.c:18: -.../sysroot/usr/include/netinet/if_ether.h:107:8: error: redefinition of ‘struct ethhdr’ - struct ethhdr { - ^~~~~~ -In file included from libebt_vlan.c:16:0: -.../sysroot/usr/include/linux/if_ether.h:160:8: note: originally defined here - struct ethhdr { - ^~~~~~ - -Include the userspace header first for the definition suppression logic -to do the right thing. - -Signed-off-by: Baruch Siach -Signed-off-by: Pablo Neira Ayuso ---- -Upstream status: commit 51d374ba41ae - - extensions/libebt_vlan.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/extensions/libebt_vlan.c b/extensions/libebt_vlan.c -index 4a2eb7126895..be269c6cdb4c 100644 ---- a/extensions/libebt_vlan.c -+++ b/extensions/libebt_vlan.c -@@ -12,6 +12,7 @@ - #include - #include - #include -+#include - #include - #include - #include "iptables/nft.h" --- -2.19.1 - diff --git a/bsp/buildroot/package/iptables/0002-xtables-monitor-fix-build-with-older-glibc.patch b/bsp/buildroot/package/iptables/0002-xtables-monitor-fix-build-with-older-glibc.patch deleted file mode 100644 index 18dbc28f..00000000 --- a/bsp/buildroot/package/iptables/0002-xtables-monitor-fix-build-with-older-glibc.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 7c8791edac3e74f6ce0bf21f98bc820db8e55e62 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Fri, 16 Nov 2018 07:23:32 +0200 -Subject: [PATCH] xtables-monitor: fix build with older glibc - -glibc older than 2.19 only expose BSD style fields of struct tcphdr when -_BSD_SOURCE is define. Current glibc however, warn that _BSD_SOURCE is -deprecated. Migrate to the GNU style of tcphdr fields to make the code -compatible with any glibc version. - -Fix the following build failure: - -xtables-monitor.c: In function 'trace_print_packet': -xtables-monitor.c:406:43: error: 'const struct tcphdr' has no member named 'th_sport' - printf("SPORT=%d DPORT=%d ", ntohs(tcph->th_sport), ntohs(tcph->th_dport)); - ^ -xtables-monitor.c:406:66: error: 'const struct tcphdr' has no member named 'th_dport' - printf("SPORT=%d DPORT=%d ", ntohs(tcph->th_sport), ntohs(tcph->th_dport)); - ^ -... - -Signed-off-by: Baruch Siach -Signed-off-by: Florian Westphal ---- -Upstream status: commit 7c8791edac3e74 - - iptables/xtables-monitor.c | 30 ++++++++++++++---------------- - 1 file changed, 14 insertions(+), 16 deletions(-) - -diff --git a/iptables/xtables-monitor.c b/iptables/xtables-monitor.c -index 3b1ca777a28a..5d1611122df5 100644 ---- a/iptables/xtables-monitor.c -+++ b/iptables/xtables-monitor.c -@@ -403,26 +403,24 @@ static void trace_print_packet(const struct nftnl_trace *nlt, struct cb_arg *arg - case IPPROTO_UDP: - if (len < 4) - break; -- printf("SPORT=%d DPORT=%d ", ntohs(tcph->th_sport), ntohs(tcph->th_dport)); -+ printf("SPORT=%d DPORT=%d ", ntohs(tcph->source), ntohs(tcph->dest)); - break; - case IPPROTO_TCP: - if (len < sizeof(*tcph)) - break; -- printf("SPORT=%d DPORT=%d ", ntohs(tcph->th_sport), ntohs(tcph->th_dport)); -- if (tcph->th_flags & (TH_FIN|TH_SYN|TH_RST|TH_PUSH|TH_ACK|TH_URG)) { -- if (tcph->th_flags & TH_SYN) -- printf("SYN "); -- if (tcph->th_flags & TH_ACK) -- printf("ACK "); -- if (tcph->th_flags & TH_FIN) -- printf("FIN "); -- if (tcph->th_flags & TH_RST) -- printf("RST "); -- if (tcph->th_flags & TH_PUSH) -- printf("PSH "); -- if (tcph->th_flags & TH_URG) -- printf("URG "); -- } -+ printf("SPORT=%d DPORT=%d ", ntohs(tcph->source), ntohs(tcph->dest)); -+ if (tcph->syn) -+ printf("SYN "); -+ if (tcph->ack) -+ printf("ACK "); -+ if (tcph->fin) -+ printf("FIN "); -+ if (tcph->rst) -+ printf("RST "); -+ if (tcph->psh) -+ printf("PSH "); -+ if (tcph->urg) -+ printf("URG "); - break; - default: - break; --- -2.19.1 - diff --git a/bsp/buildroot/package/iptables/0003-include-fix-build-with-kernel-headers-before-4.2.patch b/bsp/buildroot/package/iptables/0003-include-fix-build-with-kernel-headers-before-4.2.patch deleted file mode 100644 index c5cd6437..00000000 --- a/bsp/buildroot/package/iptables/0003-include-fix-build-with-kernel-headers-before-4.2.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 8d9d7e4b9ef4c6e6abab2cf35c747d7ca36824bd Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Fri, 16 Nov 2018 09:30:33 +0200 -Subject: [PATCH] include: fix build with kernel headers before 4.2 - -Commit 672accf1530 (include: update kernel netfilter header files) -updated linux/netfilter.h and brought with it the update from kernel -commit a263653ed798 (netfilter: don't pull include/linux/netfilter.h -from netns headers). This triggers conflict of headers that is fixed in -kernel commit 279c6c7fa64f (api: fix compatibility of linux/in.h with -netinet/in.h) included in kernel version 4.2. For earlier kernel headers -we need a workaround that prevents the headers conflict. - -Fixes the following build failure: - -In file included from .../sysroot/usr/include/netinet/ip.h:25:0, - from ../include/libiptc/ipt_kernel_headers.h:8, - from ../include/libiptc/libiptc.h:6, - from libip4tc.c:29: -.../sysroot/usr/include/linux/in.h:26:3: error: redeclaration of enumerator ‘IPPROTO_IP’ - IPPROTO_IP = 0, /* Dummy protocol for TCP */ - ^ -.../sysroot/usr/include/netinet/in.h:33:5: note: previous definition of ‘IPPROTO_IP’ was here - IPPROTO_IP = 0, /* Dummy protocol for TCP. */ - ^~~~~~~~~~ - -Signed-off-by: Baruch Siach -Signed-off-by: Florian Westphal ---- -Upstream status: commit 8d9d7e4b9ef4c6 - - include/linux/netfilter.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h -index c3f087ac680c..bacf8cd92116 100644 ---- a/include/linux/netfilter.h -+++ b/include/linux/netfilter.h -@@ -3,7 +3,9 @@ - - #include - -+#ifndef _NETINET_IN_H - #include -+#endif - #include - #include - --- -2.19.1 - diff --git a/bsp/buildroot/package/iptables/0004-xtables-monitor-fix-build-with-musl-libc.patch b/bsp/buildroot/package/iptables/0004-xtables-monitor-fix-build-with-musl-libc.patch deleted file mode 100644 index 0b6358b2..00000000 --- a/bsp/buildroot/package/iptables/0004-xtables-monitor-fix-build-with-musl-libc.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 90b0d3abfc0b4150b198eb17080d75acc5838a59 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Sat, 17 Nov 2018 22:20:08 +0200 -Subject: [PATCH] xtables-monitor: fix build with musl libc - -Commit 7c8791edac3 ("xtables-monitor: fix build with older glibc") -changed the code to use GNU style tcphdr fields. Unfortunately, musl -libc requires _GNU_SOURCE definition to expose these fields. - -Fix the following build failure: - -xtables-monitor.c: In function ‘trace_print_packet’: -xtables-monitor.c:406:43: error: ‘const struct tcphdr’ has no member named ‘source’ - printf("SPORT=%d DPORT=%d ", ntohs(tcph->source), ntohs(tcph->dest)); - ^~ -xtables-monitor.c:406:64: error: ‘const struct tcphdr’ has no member named ‘dest’ - printf("SPORT=%d DPORT=%d ", ntohs(tcph->source), ntohs(tcph->dest)); - ^~ -... - -Cc: Florian Westphal -Signed-off-by: Baruch Siach -Signed-off-by: Florian Westphal ---- -Upstream status: commit 90b0d3abfc0b - - iptables/xtables-monitor.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/iptables/xtables-monitor.c b/iptables/xtables-monitor.c -index 5d1611122df5..f835c5e503e0 100644 ---- a/iptables/xtables-monitor.c -+++ b/iptables/xtables-monitor.c -@@ -9,6 +9,7 @@ - * This software has been sponsored by Sophos Astaro - */ - -+#define _GNU_SOURCE - #include - #include - #include --- -2.19.1 - diff --git a/bsp/buildroot/package/iptables/0005-include-extend-the-headers-conflict-workaround-to-in.patch b/bsp/buildroot/package/iptables/0005-include-extend-the-headers-conflict-workaround-to-in.patch deleted file mode 100644 index 6b1ffbd6..00000000 --- a/bsp/buildroot/package/iptables/0005-include-extend-the-headers-conflict-workaround-to-in.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 23dee088cd54aae94f1b71046f2ab2b206eedd42 Mon Sep 17 00:00:00 2001 -Message-Id: <23dee088cd54aae94f1b71046f2ab2b206eedd42.1543092537.git.baruch@tkos.co.il> -From: Baruch Siach -Date: Sat, 24 Nov 2018 22:33:37 +0200 -Subject: [PATCH] include: extend the headers conflict workaround to in6.h - -Commit 8d9d7e4b9ef ("include: fix build with kernel headers before 4.2") -introduced a kernel/user headers conflict workaround that allows build -of iptables with kernel headers older than 4.2. This minor extension -allows build with kernel headers older than 3.12, which is the version -that introduced explicit IP headers synchronization. - -Cc: Florian Westphal -Signed-off-by: Baruch Siach ---- -Upstream status: https://www.spinics.net/lists/netfilter-devel/msg57029.html - - include/linux/netfilter.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h -index bacf8cd92116..042d8b1478e0 100644 ---- a/include/linux/netfilter.h -+++ b/include/linux/netfilter.h -@@ -5,8 +5,8 @@ - - #ifndef _NETINET_IN_H - #include --#endif - #include -+#endif - #include - - /* Responses from hook functions. */ --- -2.19.1 - diff --git a/bsp/buildroot/package/iptables/iptables.hash b/bsp/buildroot/package/iptables/iptables.hash index d84bd3af..2e149aa1 100644 --- a/bsp/buildroot/package/iptables/iptables.hash +++ b/bsp/buildroot/package/iptables/iptables.hash @@ -1,4 +1,4 @@ # From https://netfilter.org/projects/iptables/downloads.html -sha256 a3778b50ed1a3256f9ca975de82c2204e508001fc2471238c8c97f3d1c4c12af iptables-1.8.2.tar.bz2 +sha256 a23cac034181206b4545f4e7e730e76e08b5f3dd78771ba9645a6756de9cdd80 iptables-1.8.3.tar.bz2 # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/bsp/buildroot/package/iptables/iptables.mk b/bsp/buildroot/package/iptables/iptables.mk index 54494937..ae5cf4dd 100644 --- a/bsp/buildroot/package/iptables/iptables.mk +++ b/bsp/buildroot/package/iptables/iptables.mk @@ -4,7 +4,7 @@ # ################################################################################ -IPTABLES_VERSION = 1.8.2 +IPTABLES_VERSION = 1.8.3 IPTABLES_SOURCE = iptables-$(IPTABLES_VERSION).tar.bz2 IPTABLES_SITE = https://netfilter.org/projects/iptables/files IPTABLES_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/irssi/irssi.hash b/bsp/buildroot/package/irssi/irssi.hash index 0f298137..6a91e164 100644 --- a/bsp/buildroot/package/irssi/irssi.hash +++ b/bsp/buildroot/package/irssi/irssi.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 1b386ca026aa1875c380fd00ef1d24b71fb87cdae39ef5349ecca16c4567feac irssi-1.0.7.tar.xz +sha256 414fdee2ffaeb90a55f141b7fb3899608631dc891e2bc1f5e91ca31f1a621101 irssi-1.0.8.tar.xz # Locally calculated sha256 a1a27cb2ecee8d5378fbb3562f577104a445d6d66fee89286e16758305e63e2b COPYING diff --git a/bsp/buildroot/package/irssi/irssi.mk b/bsp/buildroot/package/irssi/irssi.mk index 611365f8..4d7268d2 100644 --- a/bsp/buildroot/package/irssi/irssi.mk +++ b/bsp/buildroot/package/irssi/irssi.mk @@ -4,7 +4,7 @@ # ################################################################################ -IRSSI_VERSION = 1.0.7 +IRSSI_VERSION = 1.0.8 IRSSI_SOURCE = irssi-$(IRSSI_VERSION).tar.xz # Do not use the github helper here. The generated tarball is *NOT* the # same as the one uploaded by upstream for the release. diff --git a/bsp/buildroot/package/iucode-tool/Config.in b/bsp/buildroot/package/iucode-tool/Config.in index d81dabb1..f9f2521a 100644 --- a/bsp/buildroot/package/iucode-tool/Config.in +++ b/bsp/buildroot/package/iucode-tool/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_IUCODE_TOOL bool "iucode-tool" depends on BR2_x86_64 || BR2_i386 select BR2_PACKAGE_INTEL_MICROCODE + select BR2_PACKAGE_INTEL_MICROCODE_INSTALL_TARGET select BR2_PACKAGE_ARGP_STANDALONE \ if BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL help diff --git a/bsp/buildroot/package/jasper/jasper.mk b/bsp/buildroot/package/jasper/jasper.mk index b544a7c1..31fded77 100644 --- a/bsp/buildroot/package/jasper/jasper.mk +++ b/bsp/buildroot/package/jasper/jasper.mk @@ -25,4 +25,12 @@ else JASPER_CONF_OPTS += -DJAS_ENABLE_LIBJPEG=OFF endif +JASPER_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +JASPER_CFLAGS += -O0 +endif + +JASPER_CONF_OPTS += -DCMAKE_C_FLAGS="$(JASPER_CFLAGS)" + $(eval $(cmake-package)) diff --git a/bsp/buildroot/package/joe/joe.mk b/bsp/buildroot/package/joe/joe.mk index 3d0e9f77..3aef8e4c 100644 --- a/bsp/buildroot/package/joe/joe.mk +++ b/bsp/buildroot/package/joe/joe.mk @@ -6,7 +6,7 @@ JOE_VERSION = 4.4 JOE_SITE = http://downloads.sourceforge.net/project/joe-editor/JOE%20sources/joe-$(JOE_VERSION) -JOE_LICENSE = GPL-1.0+ +JOE_LICENSE = GPL-2.0+ JOE_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_NCURSES),y) diff --git a/bsp/buildroot/package/json-glib/json-glib.mk b/bsp/buildroot/package/json-glib/json-glib.mk index 77c0c453..5c1fca3f 100644 --- a/bsp/buildroot/package/json-glib/json-glib.mk +++ b/bsp/buildroot/package/json-glib/json-glib.mk @@ -17,4 +17,8 @@ JSON_GLIB_DEPENDENCIES = \ host-pkgconf \ libglib2 +JSON_GLIB_CONF_OPTS = -Dintrospection=false + +JSON_GLIB_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) + $(eval $(meson-package)) diff --git a/bsp/buildroot/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.mk b/bsp/buildroot/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.mk index 7b96e1f1..3c4281b9 100644 --- a/bsp/buildroot/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.mk +++ b/bsp/buildroot/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.mk @@ -8,7 +8,7 @@ KF5_EXTRA_CMAKE_MODULES_VERSION = $(KF5_VERSION) KF5_EXTRA_CMAKE_MODULES_SITE = $(KF5_SITE) KF5_EXTRA_CMAKE_MODULES_SOURCE = extra-cmake-modules-$(KF5_EXTRA_CMAKE_MODULES_VERSION).tar.xz KF5_EXTRA_CMAKE_MODULES_LICENSE = BSD-3-Clause -KF5_EXTRA_CMAKE_MODULES_LICENSE_FILE = COPYING-CMAKE-SCRIPTS +KF5_EXTRA_CMAKE_MODULES_LICENSE_FILES = COPYING-CMAKE-SCRIPTS KF5_EXTRA_CMAKE_MODULES_DEPENDENCIES = host-pkgconf KF5_EXTRA_CMAKE_MODULES_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk b/bsp/buildroot/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk index 6cf7a3d1..ea6aac4e 100644 --- a/bsp/buildroot/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk +++ b/bsp/buildroot/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk @@ -13,4 +13,11 @@ KF5_KCOREADDONS_LICENSE_FILES = COPYING.LIB KF5_KCOREADDONS_DEPENDENCIES = kf5-extra-cmake-modules qt5tools KF5_KCOREADDONS_INSTALL_STAGING = YES +KF5_KCOREADDONS_CXXFLAGS = $(TARGET_CXXFLAGS) +KF5_KCOREADDONS_CONF_OPTS = -DCMAKE_CXX_FLAGS="$(KF5_KCOREADDONS_CXXFLAGS)" + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +KF5_KCOREADDONS_CXXFLAGS += -latomic +endif + $(eval $(cmake-package)) diff --git a/bsp/buildroot/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk b/bsp/buildroot/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk index 20fbc102..2a782b35 100644 --- a/bsp/buildroot/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk +++ b/bsp/buildroot/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk @@ -8,7 +8,7 @@ KF5_MODEMMANAGER_QT_VERSION = $(KF5_VERSION) KF5_MODEMMANAGER_QT_SITE = $(KF5_SITE) KF5_MODEMMANAGER_QT_SOURCE = modemmanager-qt-$(KF5_MODEMMANAGER_QT_VERSION).tar.xz KF5_MODEMMANAGER_QT_LICENSE = LGPL-2.1+ -KF5_MODEMMANAGER_QT_LICENSE_FILE = COPYING.LIB +KF5_MODEMMANAGER_QT_LICENSE_FILES = COPYING.LIB KF5_MODEMMANAGER_QT_DEPENDENCIES = kf5-extra-cmake-modules modem-manager qt5base KF5_MODEMMANAGER_QT_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.mk b/bsp/buildroot/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.mk index 52e70e3c..c383f98e 100644 --- a/bsp/buildroot/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.mk +++ b/bsp/buildroot/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.mk @@ -8,7 +8,7 @@ KF5_NETWORKMANAGER_QT_VERSION = $(KF5_VERSION) KF5_NETWORKMANAGER_QT_SITE = $(KF5_SITE) KF5_NETWORKMANAGER_QT_SOURCE = networkmanager-qt-$(KF5_NETWORKMANAGER_QT_VERSION).tar.xz KF5_NETWORKMANAGER_QT_LICENSE = LGPL-2.1+ -KF5_NETWORKMANAGER_QT_LICENSE_FILE = COPYING.LIB +KF5_NETWORKMANAGER_QT_LICENSE_FILES = COPYING.LIB KF5_NETWORKMANAGER_QT_DEPENDENCIES = kf5-extra-cmake-modules network-manager qt5base KF5_NETWORKMANAGER_QT_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/kismet/kismet.mk b/bsp/buildroot/package/kismet/kismet.mk index cee814b5..d3946d65 100644 --- a/bsp/buildroot/package/kismet/kismet.mk +++ b/bsp/buildroot/package/kismet/kismet.mk @@ -15,6 +15,14 @@ KISMET_LICENSE_FILES = debian/copyright # We touch configure.in: KISMET_AUTORECONF = YES +KISMET_CXXFLAGS = $(TARGET_CXXFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +KISMET_CXXFLAGS += -O0 +endif + +KISMET_CONF_ENV += CXXFLAGS="$(KISMET_CXXFLAGS)" + ifeq ($(BR2_PACKAGE_LIBCAP),y) KISMET_DEPENDENCIES += libcap endif diff --git a/bsp/buildroot/package/lftp/lftp.mk b/bsp/buildroot/package/lftp/lftp.mk index 93a0bf5c..b8a2b243 100644 --- a/bsp/buildroot/package/lftp/lftp.mk +++ b/bsp/buildroot/package/lftp/lftp.mk @@ -25,6 +25,9 @@ endif ifeq ($(BR2_PACKAGE_EXPAT)$(BR2_PACKAGE_LFTP_PROTO_HTTP),yy) LFTP_DEPENDENCIES += expat +LFTP_CONF_OPTS += --with-expat=$(STAGING_DIR)/usr +else +LFTP_CONF_OPTS += --without-expat endif ifeq ($(BR2_PACKAGE_GNUTLS),y) diff --git a/bsp/buildroot/package/libbsd/0001-flopen-fix-build-with-musl-libc.patch b/bsp/buildroot/package/libbsd/0001-flopen-fix-build-with-musl-libc.patch deleted file mode 100644 index 6f0aeffe..00000000 --- a/bsp/buildroot/package/libbsd/0001-flopen-fix-build-with-musl-libc.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 8575450b9c1226fc38196b29e33c67f2b58cacf5 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Tue, 5 Jun 2018 19:18:47 +0300 -Subject: [PATCH] flopen: fix build with musl libc -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Commit 993828d84ee (Add flopenat() function from FreeBSD) dropped the -fcntl.h header. This breaks the build with musl libc: - -flopen.c: In function ‘vflopenat’: -flopen.c:60:14: error: ‘O_CREAT’ undeclared (first use in this function) - if (flags & O_CREAT) { - ^~~~~~~ - -Restore the fcntl.h header include to fix the build. - -Signed-off-by: Baruch Siach ---- -Upstream status: sent to libbsd@lists.freedesktop.org - - src/flopen.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/flopen.c b/src/flopen.c -index b9972c94ec90..ff20d074445b 100644 ---- a/src/flopen.c -+++ b/src/flopen.c -@@ -32,6 +32,7 @@ - #include - - #include -+#include - #include - #include - --- -2.17.1 - diff --git a/bsp/buildroot/package/libbsd/Config.in b/bsp/buildroot/package/libbsd/Config.in index 0f320302..a163ce9b 100644 --- a/bsp/buildroot/package/libbsd/Config.in +++ b/bsp/buildroot/package/libbsd/Config.in @@ -5,8 +5,6 @@ config BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS depends on !BR2_microblaze depends on !BR2_arc depends on !BR2_xtensa - # uClibc on noMMU doesn't provide __register_atfork() - depends on !(BR2_TOOLCHAIN_USES_UCLIBC && !BR2_USE_MMU) config BR2_PACKAGE_LIBBSD bool "libbsd" diff --git a/bsp/buildroot/package/libbsd/libbsd.hash b/bsp/buildroot/package/libbsd/libbsd.hash index 93af3944..95887bd6 100644 --- a/bsp/buildroot/package/libbsd/libbsd.hash +++ b/bsp/buildroot/package/libbsd/libbsd.hash @@ -1,3 +1,3 @@ -# From https://lists.freedesktop.org/archives/libbsd/2018-May/000190.html -sha256 56d835742327d69faccd16955a60b6dcf30684a8da518c4eca0ac713b9e0a7a4 libbsd-0.9.1.tar.xz -sha256 df6d8e1b5b3a5b06376c658c8ad3afc82687f1c0e0404cec4738ad14b2675708 COPYING +# From https://lists.freedesktop.org/archives/libbsd/2019-August/000229.html +sha256 34b8adc726883d0e85b3118fa13605e179a62b31ba51f676136ecb2d0bc1a887 libbsd-0.10.0.tar.xz +sha256 933d14a6bc89ee1fd7adbf5b6ec97f6ff0e002549d0b0c164f8a8895371d78f8 COPYING diff --git a/bsp/buildroot/package/libbsd/libbsd.mk b/bsp/buildroot/package/libbsd/libbsd.mk index 2d78b8c5..27bac683 100644 --- a/bsp/buildroot/package/libbsd/libbsd.mk +++ b/bsp/buildroot/package/libbsd/libbsd.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBBSD_VERSION = 0.9.1 +LIBBSD_VERSION = 0.10.0 LIBBSD_SOURCE = libbsd-$(LIBBSD_VERSION).tar.xz -LIBBSD_SITE = https://archive.hadrons.org/software/libbsd +LIBBSD_SITE = https://libbsd.freedesktop.org/releases LIBBSD_LICENSE = BSD-2-Clause, BSD-3-Clause, BSD-4-Clause, BSD-5-Clause, \ MIT, ISC, Beerware LIBBSD_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/libcdaudio/0001-libcdaudio-enable-autoreconf.patch b/bsp/buildroot/package/libcdaudio/0001-libcdaudio-enable-autoreconf.patch new file mode 100644 index 00000000..ab2296c0 --- /dev/null +++ b/bsp/buildroot/package/libcdaudio/0001-libcdaudio-enable-autoreconf.patch @@ -0,0 +1,43 @@ +From 9c2873b1d9292bcf43c862b6777d41c40521424c Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Sun, 13 Jan 2019 22:27:42 +0100 +Subject: [PATCH] libcdaudio: enable autoreconf + +Fixes the following two autoreconf errors (by simple removing of the +two offending lines): + + configure.ac:20: error: automatic de-ANSI-fication support has been removed + + Makefile.am:2: error: automatic de-ANSI-fication support has been removed + +Signed-off-by: Peter Seiderer +--- + Makefile.am | 1 - + configure.ac | 1 - + 2 files changed, 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index f639dd8..a32cfe6 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,5 +1,4 @@ + ## Process this file with automake to produce Makefile.in +-AUTOMAKE_OPTIONS = ansi2knr + SUBDIRS = src + + bin_SCRIPTS = libcdaudio-config +diff --git a/configure.ac b/configure.ac +index bbdd42d..6699ceb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -17,7 +17,6 @@ AM_CONFIG_HEADER(config.h) + AC_PROG_AWK + AC_PROG_CC + AC_PROG_CPP +-AM_C_PROTOTYPES + AM_PROG_CC_STDC + AC_PROG_INSTALL + AC_PROG_LN_S +-- +2.20.1 + diff --git a/bsp/buildroot/package/libcdaudio/libcdaudio.mk b/bsp/buildroot/package/libcdaudio/libcdaudio.mk index 5d421eba..651289d7 100644 --- a/bsp/buildroot/package/libcdaudio/libcdaudio.mk +++ b/bsp/buildroot/package/libcdaudio/libcdaudio.mk @@ -11,4 +11,7 @@ LIBCDAUDIO_CONFIG_SCRIPTS = libcdaudio-config LIBCDAUDIO_LICENSE = GPL-2.0+ LIBCDAUDIO_LICENSE_FILES = COPYING +# fix configure failure when the toolchain doesn't have C++ support +LIBCDAUDIO_AUTORECONF = YES + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/libcurl/libcurl.hash b/bsp/buildroot/package/libcurl/libcurl.hash index d321adcd..8f2d0c05 100644 --- a/bsp/buildroot/package/libcurl/libcurl.hash +++ b/bsp/buildroot/package/libcurl/libcurl.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://curl.haxx.se/download/curl-7.64.1.tar.xz.asc +# https://curl.haxx.se/download/curl-7.66.0.tar.xz.asc # with key 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 -sha256 9252332a7f871ce37bfa7f78bdd0a0e3924d8187cc27cb57c76c9474a7168fb3 curl-7.64.1.tar.xz +sha256 dbb48088193016d079b97c5c3efde8efa56ada2ebf336e8a97d04eb8e2ed98c1 curl-7.66.0.tar.xz sha256 8c8824f50e73a021f5dde1fccbf69685939247399a33a32abab1fa448c9ddabb COPYING diff --git a/bsp/buildroot/package/libcurl/libcurl.mk b/bsp/buildroot/package/libcurl/libcurl.mk index 852054a4..e78049cd 100644 --- a/bsp/buildroot/package/libcurl/libcurl.mk +++ b/bsp/buildroot/package/libcurl/libcurl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCURL_VERSION = 7.64.1 +LIBCURL_VERSION = 7.66.0 LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.xz LIBCURL_SITE = https://curl.haxx.se/download LIBCURL_DEPENDENCIES = host-pkgconf \ diff --git a/bsp/buildroot/package/libdnet/libdnet.mk b/bsp/buildroot/package/libdnet/libdnet.mk index 00d9c4fd..d1cc0bf1 100644 --- a/bsp/buildroot/package/libdnet/libdnet.mk +++ b/bsp/buildroot/package/libdnet/libdnet.mk @@ -13,6 +13,7 @@ LIBDNET_AUTORECONF = YES LIBDNET_CONF_OPTS = \ --with-gnu-ld \ --with-check=no +LIBDNET_CONFIG_SCRIPTS = dnet-config ifneq ($(BR2_PACKAGE_LIBDNET_PYTHON),) LIBDNET_DEPENDENCIES = python diff --git a/bsp/buildroot/package/libgcrypt/0001-build-Don-t-default-to-underscore-yes-for-cross-buil.patch b/bsp/buildroot/package/libgcrypt/0001-build-Don-t-default-to-underscore-yes-for-cross-buil.patch new file mode 100644 index 00000000..032cb7c8 --- /dev/null +++ b/bsp/buildroot/package/libgcrypt/0001-build-Don-t-default-to-underscore-yes-for-cross-buil.patch @@ -0,0 +1,48 @@ +From 7fec3ac22efb86fce90a9edc5696e16ee88a65c7 Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Wed, 24 Oct 2018 14:29:45 +0900 +Subject: [PATCH] build: Don't default to underscore=yes for cross-build. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* acinclude.m4: Don't set ac_cv_sys_symbol_underscore +for cross build. + +-- + +It made sense in the past when cross compile were basically for a.out +system, but nowadays, it's better not to assume that. + +Fetched from: 0f4545b441b6fbdd6e9c4e95f5f2a367483e78ad + +Signed-off-by: NIIBE Yutaka +Signed-off-by: Jörg Krause +--- + acinclude.m4 | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index fc208c53..6f7789d0 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -111,14 +111,10 @@ case "${host}" in + ac_cv_sys_symbol_underscore=yes + ;; + *) +- if test "$cross_compiling" = yes; then +- if test "x$ac_cv_sys_symbol_underscore" = x ; then +- ac_cv_sys_symbol_underscore=yes +- fi +- else ++ if test "$cross_compiling" != yes; then + tmp_do_check="yes" + fi +- ;; ++ ;; + esac + if test "$tmp_do_check" = "yes"; then + AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE]) +-- +2.22.0 + diff --git a/bsp/buildroot/package/libgcrypt/0001-reconfigure.patch b/bsp/buildroot/package/libgcrypt/0001-reconfigure.patch deleted file mode 100644 index 87d29a29..00000000 --- a/bsp/buildroot/package/libgcrypt/0001-reconfigure.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/configure b/configure -index 70a6d50..8f55d95 100755 ---- a/configure -+++ b/configure -@@ -22306,14 +22306,15 @@ case "${host}" in - i386-emx-os2 | i345686-pc-os2*emx | i386-pc-msdosdjgpp) - ac_cv_sys_symbol_underscore=yes - ;; -- *) -- if test "$cross_compiling" = yes; then -- if test "x$ac_cv_sys_symbol_underscore" = x ; then -- ac_cv_sys_symbol_underscore=yes -+ *)if test -z "$ac_cv_sys_symbol_underscore";then -+ if test "$cross_compiling" = yes; then -+ if test "x$ac_cv_sys_symbol_underscore" = x ; then -+ ac_cv_sys_symbol_underscore=yes -+ fi -+ else -+ tmp_do_check="yes" -+ fi - fi -- else -- tmp_do_check="yes" -- fi - ;; - esac - if test "$tmp_do_check" = "yes"; then diff --git a/bsp/buildroot/package/libgcrypt/0002-configure.ac-add-an-option-to-disable-tests.patch b/bsp/buildroot/package/libgcrypt/0002-configure.ac-add-an-option-to-disable-tests.patch new file mode 100644 index 00000000..21ff20a4 --- /dev/null +++ b/bsp/buildroot/package/libgcrypt/0002-configure.ac-add-an-option-to-disable-tests.patch @@ -0,0 +1,66 @@ +From 7fe1b8a53cc8c865c2a10dcd8f6cb4e51ccc6300 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 29 Jul 2019 12:19:10 +0200 +Subject: [PATCH] configure.ac: add an option to disable tests + +Add an option to allow the user to disable tests, this can be useful for +example when the toolchain does not provide thread. Indeed, in this +case, libgcrypt fails to build t-lock: + +t-lock.c: In function 'run_test': +t-lock.c:359:3: error: unknown type name 'pthread_t' + pthread_t rthread; + +Fixes: + - http://autobuild.buildroot.org/results/50a8ba572e3fafd3c6a39bd54bcfcaf78b5ad325 + +Signed-off-by: Fabrice Fontaine +--- + Makefile.am | 7 ++++++- + configure.ac | 10 ++++++++++ + 2 files changed, 16 insertions(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 7fa4fa4d..f0bd90e4 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -39,9 +39,14 @@ else + doc = + endif + ++if BUILD_TESTS ++tests = tests ++else ++tests = ++endif + + DIST_SUBDIRS = m4 compat mpi cipher random src doc tests +-SUBDIRS = compat mpi cipher random src $(doc) tests ++SUBDIRS = compat mpi cipher random src $(doc) $(tests) + + EXTRA_DIST = autogen.sh autogen.rc README.GIT LICENSES \ + ChangeLog-2011 build-aux/ChangeLog-2011 doc/ChangeLog-2011 \ +diff --git a/configure.ac b/configure.ac +index e8c8cd39..1a6b61e5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2710,6 +2710,16 @@ AC_ARG_ENABLE([doc], AC_HELP_STRING([--disable-doc], + AM_CONDITIONAL([BUILD_DOC], [test "x$build_doc" != xno]) + + ++# ++# Option to disable building of tests ++# ++build_tests=yes ++AC_ARG_ENABLE([tests], AC_HELP_STRING([--disable-tests], ++ [do not build tests]), ++ build_tests=$enableval, build_tests=yes) ++AM_CONDITIONAL([BUILD_TESTS], [test "x$build_tests" != xno]) ++ ++ + # + # Provide information about the build. + # +-- +2.20.1 + diff --git a/bsp/buildroot/package/libgcrypt/libgcrypt.hash b/bsp/buildroot/package/libgcrypt/libgcrypt.hash index 000f26dd..580bdf33 100644 --- a/bsp/buildroot/package/libgcrypt/libgcrypt.hash +++ b/bsp/buildroot/package/libgcrypt/libgcrypt.hash @@ -1,7 +1,7 @@ -# From https://lists.gnupg.org/pipermail/gnupg-announce/2018q4/000431.html -sha1 4a8ef9db6922f3a31992aca5640b4198a69b58fc libgcrypt-1.8.4.tar.bz2 +# From https://lists.gnupg.org/pipermail/gnupg-announce/2019q3/000440.html +sha1 2d8781e92f88706707a1e76fb628b499ad538a30 libgcrypt-1.8.5.tar.bz2 # Locally calculated after checking signature -# https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.4.tar.bz2.sig +# https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.5.tar.bz2.sig # using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 -sha256 f638143a0672628fde0cad745e9b14deb85dffb175709cacc1f4fe24b93f2227 libgcrypt-1.8.4.tar.bz2 +sha256 3b4a2a94cb637eff5bdebbcaf46f4d95c4f25206f459809339cdada0eb577ac3 libgcrypt-1.8.5.tar.bz2 sha256 ca0061fc1381a3ab242310e4b3f56389f28e3d460eb2fd822ed7a21c6f030532 COPYING.LIB diff --git a/bsp/buildroot/package/libgcrypt/libgcrypt.mk b/bsp/buildroot/package/libgcrypt/libgcrypt.mk index 452cf17c..d21513bd 100644 --- a/bsp/buildroot/package/libgcrypt/libgcrypt.mk +++ b/bsp/buildroot/package/libgcrypt/libgcrypt.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGCRYPT_VERSION = 1.8.4 +LIBGCRYPT_VERSION = 1.8.5 LIBGCRYPT_SOURCE = libgcrypt-$(LIBGCRYPT_VERSION).tar.bz2 LIBGCRYPT_LICENSE = LGPL-2.1+ LIBGCRYPT_LICENSE_FILES = COPYING.LIB @@ -13,9 +13,11 @@ LIBGCRYPT_INSTALL_STAGING = YES LIBGCRYPT_DEPENDENCIES = libgpg-error LIBGCRYPT_CONFIG_SCRIPTS = libgcrypt-config -LIBGCRYPT_CONF_ENV = \ - ac_cv_sys_symbol_underscore=no +# Patching acinclude.m4 in 0001 +# Patching configure.ac and Makefile.am in 0002 +LIBGCRYPT_AUTORECONF = YES LIBGCRYPT_CONF_OPTS = \ + --disable-tests \ --with-gpg-error-prefix=$(STAGING_DIR)/usr # Libgcrypt doesn't support assembly for coldfire diff --git a/bsp/buildroot/package/libgit2/libgit2.hash b/bsp/buildroot/package/libgit2/libgit2.hash index 41ab87bf..2d06c26d 100644 --- a/bsp/buildroot/package/libgit2/libgit2.hash +++ b/bsp/buildroot/package/libgit2/libgit2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 0b7ca31cb959ff1b22afa0da8621782afe61f99242bf716c403802ffbdb21d51 libgit2-v0.27.4.tar.gz +sha256 adf17310b590e6e7618f070c742b5ee028aeeed2c60099bc4190c386b5060de1 libgit2-0.27.9.tar.gz sha256 d9a8038088df84fde493fa33a0f1e537252eeb9642122aa4b862690197152813 COPYING diff --git a/bsp/buildroot/package/libgit2/libgit2.mk b/bsp/buildroot/package/libgit2/libgit2.mk index 551e3dea..25a93d72 100644 --- a/bsp/buildroot/package/libgit2/libgit2.mk +++ b/bsp/buildroot/package/libgit2/libgit2.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBGIT2_VERSION = v0.27.4 -LIBGIT2_SITE = $(call github,libgit2,libgit2,$(LIBGIT2_VERSION)) +LIBGIT2_VERSION = 0.27.9 +LIBGIT2_SITE = $(call github,libgit2,libgit2,v$(LIBGIT2_VERSION)) LIBGIT2_LICENSE = GPL-2.0 with linking exception LIBGIT2_LICENSE_FILES = COPYING LIBGIT2_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/libglib2/0003-gdbus-Avoid-printing-null-strings.patch b/bsp/buildroot/package/libglib2/0003-gdbus-Avoid-printing-null-strings.patch new file mode 100644 index 00000000..800d3609 --- /dev/null +++ b/bsp/buildroot/package/libglib2/0003-gdbus-Avoid-printing-null-strings.patch @@ -0,0 +1,73 @@ +From 79492bb914e419c54298ba6324e3d595e51c16c3 Mon Sep 17 00:00:00 2001 +From: Ernestas Kulik +Date: Tue, 29 Jan 2019 09:50:46 +0100 +Subject: [PATCH] gdbus: Avoid printing null strings +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This mostly affects the 2.56 branch, but, given that GCC 9 is being +stricter about passing null string pointers to printf-like functions, it +might make sense to proactively fix such calls. + +gdbusauth.c: In function '_g_dbus_auth_run_server': +gdbusauth.c:1302:11: error: '%s' directive argument is null +[-Werror=format-overflow=] + 1302 | debug_print ("SERVER: WaitingForBegin, read '%s'", + line); + | + +gdbusmessage.c: In function ‘g_dbus_message_to_blob’: +gdbusmessage.c:2730:30: error: ‘%s’ directive argument is null [-Werror=format-overflow=] + 2730 | tupled_signature_str = g_strdup_printf ("(%s)", signature_str); + | + +Signed-off-by: Grzegorz Blach +--- + gio/gdbusauth.c | 2 +- + gio/gdbusmessage.c | 5 ++--- + 2 files changed, 3 insertions(+), 4 deletions(-) + +diff --git a/gio/gdbusauth.c b/gio/gdbusauth.c +index 1f8ea8057..752ec23fc 100644 +--- a/gio/gdbusauth.c ++++ b/gio/gdbusauth.c +@@ -1272,9 +1272,9 @@ _g_dbus_auth_run_server (GDBusAuth *auth, + &line_length, + cancellable, + error); +- debug_print ("SERVER: WaitingForBegin, read '%s'", line); + if (line == NULL) + goto out; ++ debug_print ("SERVER: WaitingForBegin, read '%s'", line); + if (g_strcmp0 (line, "BEGIN") == 0) + { + /* YAY, done! */ +diff --git a/gio/gdbusmessage.c b/gio/gdbusmessage.c +index 3221b925d..3a1a1f9e9 100644 +--- a/gio/gdbusmessage.c ++++ b/gio/gdbusmessage.c +@@ -2731,7 +2731,6 @@ g_dbus_message_to_blob (GDBusMessage *message, + if (message->body != NULL) + { + gchar *tupled_signature_str; +- tupled_signature_str = g_strdup_printf ("(%s)", signature_str); + if (signature == NULL) + { + g_set_error (error, +@@ -2739,10 +2738,10 @@ g_dbus_message_to_blob (GDBusMessage *message, + G_IO_ERROR_INVALID_ARGUMENT, + _("Message body has signature “%s” but there is no signature header"), + signature_str); +- g_free (tupled_signature_str); + goto out; + } +- else if (g_strcmp0 (tupled_signature_str, g_variant_get_type_string (message->body)) != 0) ++ tupled_signature_str = g_strdup_printf ("(%s)", signature_str); ++ if (g_strcmp0 (tupled_signature_str, g_variant_get_type_string (message->body)) != 0) + { + g_set_error (error, + G_IO_ERROR, +-- +2.21.0 + diff --git a/bsp/buildroot/package/libglib2/0005-gfile-Limit-access-to-files-when-copying.patch b/bsp/buildroot/package/libglib2/0005-gfile-Limit-access-to-files-when-copying.patch new file mode 100644 index 00000000..750767df --- /dev/null +++ b/bsp/buildroot/package/libglib2/0005-gfile-Limit-access-to-files-when-copying.patch @@ -0,0 +1,56 @@ +From cf09035d361287dfadc93f09272ce68b4a9457ad Mon Sep 17 00:00:00 2001 +From: Ondrej Holy +Date: Thu, 23 May 2019 10:41:53 +0200 +Subject: [PATCH] gfile: Limit access to files when copying + +file_copy_fallback creates new files with default permissions and +set the correct permissions after the operation is finished. This +might cause that the files can be accessible by more users during +the operation than expected. Use G_FILE_CREATE_PRIVATE for the new +files to limit access to those files. + +(cherry picked from commit d8f8f4d637ce43f8699ba94c9b7648beda0ca174) +Signed-off-by: Peter Korsgaard +--- + gio/gfile.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/gio/gfile.c b/gio/gfile.c +index a67aad383..ff313ebf8 100644 +--- a/gio/gfile.c ++++ b/gio/gfile.c +@@ -3279,12 +3279,12 @@ file_copy_fallback (GFile *source, + out = (GOutputStream*)_g_local_file_output_stream_replace (_g_local_file_get_filename (G_LOCAL_FILE (destination)), + FALSE, NULL, + flags & G_FILE_COPY_BACKUP, +- G_FILE_CREATE_REPLACE_DESTINATION, +- info, ++ G_FILE_CREATE_REPLACE_DESTINATION | ++ G_FILE_CREATE_PRIVATE, info, + cancellable, error); + else + out = (GOutputStream*)_g_local_file_output_stream_create (_g_local_file_get_filename (G_LOCAL_FILE (destination)), +- FALSE, 0, info, ++ FALSE, G_FILE_CREATE_PRIVATE, info, + cancellable, error); + } + else if (flags & G_FILE_COPY_OVERWRITE) +@@ -3292,12 +3292,13 @@ file_copy_fallback (GFile *source, + out = (GOutputStream *)g_file_replace (destination, + NULL, + flags & G_FILE_COPY_BACKUP, +- G_FILE_CREATE_REPLACE_DESTINATION, ++ G_FILE_CREATE_REPLACE_DESTINATION | ++ G_FILE_CREATE_PRIVATE, + cancellable, error); + } + else + { +- out = (GOutputStream *)g_file_create (destination, 0, cancellable, error); ++ out = (GOutputStream *)g_file_create (destination, G_FILE_CREATE_PRIVATE, cancellable, error); + } + + if (!out) +-- +2.11.0 + diff --git a/bsp/buildroot/package/libglib2/libglib2.hash b/bsp/buildroot/package/libglib2/libglib2.hash index 57403a21..faa01ef5 100644 --- a/bsp/buildroot/package/libglib2/libglib2.hash +++ b/bsp/buildroot/package/libglib2/libglib2.hash @@ -1,4 +1,4 @@ -# https://download.gnome.org/sources/glib/2.56/glib-2.56.3.sha256sum -sha256 a9a4c5b4c81b6c75bc140bdf5e32120ef3ce841b7413214ecf5f987acec74cb2 glib-2.56.3.tar.xz +# https://download.gnome.org/sources/glib/2.56/glib-2.56.4.sha256sum +sha256 27f703d125efb07f8a743666b580df0b4095c59fc8750e8890132c91d437504c glib-2.56.4.tar.xz # License files, locally calculated sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/bsp/buildroot/package/libglib2/libglib2.mk b/bsp/buildroot/package/libglib2/libglib2.mk index 44c05911..63bfec32 100644 --- a/bsp/buildroot/package/libglib2/libglib2.mk +++ b/bsp/buildroot/package/libglib2/libglib2.mk @@ -5,7 +5,7 @@ ################################################################################ LIBGLIB2_VERSION_MAJOR = 2.56 -LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).3 +LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).4 LIBGLIB2_SOURCE = glib-$(LIBGLIB2_VERSION).tar.xz LIBGLIB2_SITE = http://ftp.gnome.org/pub/gnome/sources/glib/$(LIBGLIB2_VERSION_MAJOR) LIBGLIB2_LICENSE = LGPL-2.1+ diff --git a/bsp/buildroot/package/libglu/libglu.mk b/bsp/buildroot/package/libglu/libglu.mk index 0e5242f8..604045c2 100644 --- a/bsp/buildroot/package/libglu/libglu.mk +++ b/bsp/buildroot/package/libglu/libglu.mk @@ -10,7 +10,7 @@ LIBGLU_SOURCE = glu-$(LIBGLU_VERSION).tar.gz LIBGLU_LICENSE = SGI-B-2.0 LIBGLU_LICENSE_FILES = include/GL/glu.h LIBGLU_INSTALL_STAGING = YES -# upstream does not distribute a autoconf´ed configure script +# upstream does not distribute a autoconf'ed configure script LIBGLU_AUTORECONF = YES LIBGLU_DEPENDENCIES = libgl host-pkgconf diff --git a/bsp/buildroot/package/libgpg-error/0001-gawk5-support.patch b/bsp/buildroot/package/libgpg-error/0001-gawk5-support.patch new file mode 100644 index 00000000..09d114c4 --- /dev/null +++ b/bsp/buildroot/package/libgpg-error/0001-gawk5-support.patch @@ -0,0 +1,162 @@ +From 7865041c77f4f7005282f10f9b6666b19072fbdf Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Mon, 15 Apr 2019 15:10:44 +0900 +Subject: [PATCH] awk: Prepare for Gawk 5.0. + +* src/Makefile.am: Use pkg_namespace (instead of namespace). +* src/mkerrnos.awk: Likewise. +* lang/cl/mkerrcodes.awk: Don't escape # in regexp. +* src/mkerrcodes.awk, src/mkerrcodes1.awk, src/mkerrcodes2.awk: Ditto. + +Downloaded from +https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-libs/libgpg-error/files/libgpg-error-1.36-gawk5-support.patch + +Signed-off-by: Bernd Kuhls +-- + +In Gawk 5.0, regexp routines are replaced by Gnulib implementation, +which only allows escaping specific characters. + +GnuPG-bug-id: 4459 +Reported-by: Marius Schamschula +Signed-off-by: NIIBE Yutaka +--- + lang/cl/mkerrcodes.awk | 2 +- + src/Makefile.am | 2 +- + src/mkerrcodes.awk | 2 +- + src/mkerrcodes1.awk | 2 +- + src/mkerrcodes2.awk | 2 +- + src/mkerrnos.awk | 2 +- + src/mkstrtable.awk | 10 +++++----- + 7 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/lang/cl/mkerrcodes.awk b/lang/cl/mkerrcodes.awk +index ae29043..9a1fc18 100644 +--- a/lang/cl/mkerrcodes.awk ++++ b/lang/cl/mkerrcodes.awk +@@ -122,7 +122,7 @@ header { + } + + !header { +- sub (/\#.+/, ""); ++ sub (/#.+/, ""); + sub (/[ ]+$/, ""); # Strip trailing space and tab characters. + + if (/^$/) +diff --git a/src/Makefile.am b/src/Makefile.am +index ce1b882..f2590cb 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -293,7 +293,7 @@ code-from-errno.h: mkerrcodes$(EXEEXT_FOR_BUILD) Makefile + + errnos-sym.h: Makefile mkstrtable.awk errnos.in + $(AWK) -f $(srcdir)/mkstrtable.awk -v textidx=2 -v nogettext=1 \ +- -v prefix=GPG_ERR_ -v namespace=errnos_ \ ++ -v prefix=GPG_ERR_ -v pkg_namespace=errnos_ \ + $(srcdir)/errnos.in >$@ + + +diff --git a/src/mkerrcodes.awk b/src/mkerrcodes.awk +index 46d436c..e9c857c 100644 +--- a/src/mkerrcodes.awk ++++ b/src/mkerrcodes.awk +@@ -85,7 +85,7 @@ header { + } + + !header { +- sub (/\#.+/, ""); ++ sub (/#.+/, ""); + sub (/[ ]+$/, ""); # Strip trailing space and tab characters. + + if (/^$/) +diff --git a/src/mkerrcodes1.awk b/src/mkerrcodes1.awk +index a771a73..4578e29 100644 +--- a/src/mkerrcodes1.awk ++++ b/src/mkerrcodes1.awk +@@ -81,7 +81,7 @@ header { + } + + !header { +- sub (/\#.+/, ""); ++ sub (/#.+/, ""); + sub (/[ ]+$/, ""); # Strip trailing space and tab characters. + + if (/^$/) +diff --git a/src/mkerrcodes2.awk b/src/mkerrcodes2.awk +index ea58503..188f7a4 100644 +--- a/src/mkerrcodes2.awk ++++ b/src/mkerrcodes2.awk +@@ -91,7 +91,7 @@ header { + } + + !header { +- sub (/\#.+/, ""); ++ sub (/#.+/, ""); + sub (/[ ]+$/, ""); # Strip trailing space and tab characters. + + if (/^$/) +diff --git a/src/mkerrnos.awk b/src/mkerrnos.awk +index f79df66..15b1aad 100644 +--- a/src/mkerrnos.awk ++++ b/src/mkerrnos.awk +@@ -83,7 +83,7 @@ header { + } + + !header { +- sub (/\#.+/, ""); ++ sub (/#.+/, ""); + sub (/[ ]+$/, ""); # Strip trailing space and tab characters. + + if (/^$/) +diff --git a/src/mkstrtable.awk b/src/mkstrtable.awk +index c9de9c1..285e45f 100644 +--- a/src/mkstrtable.awk ++++ b/src/mkstrtable.awk +@@ -77,7 +77,7 @@ + # + # The variable prefix can be used to prepend a string to each message. + # +-# The variable namespace can be used to prepend a string to each ++# The variable pkg_namespace can be used to prepend a string to each + # variable and macro name. + + BEGIN { +@@ -102,7 +102,7 @@ header { + print "/* The purpose of this complex string table is to produce"; + print " optimal code with a minimum of relocations. */"; + print ""; +- print "static const char " namespace "msgstr[] = "; ++ print "static const char " pkg_namespace "msgstr[] = "; + header = 0; + } + else +@@ -110,7 +110,7 @@ header { + } + + !header { +- sub (/\#.+/, ""); ++ sub (/#.+/, ""); + sub (/[ ]+$/, ""); # Strip trailing space and tab characters. + + if (/^$/) +@@ -150,7 +150,7 @@ END { + else + print " gettext_noop (\"" last_msgstr "\");"; + print ""; +- print "static const int " namespace "msgidx[] ="; ++ print "static const int " pkg_namespace "msgidx[] ="; + print " {"; + for (i = 0; i < coded_msgs; i++) + print " " pos[i] ","; +@@ -158,7 +158,7 @@ END { + print " };"; + print ""; + print "static GPG_ERR_INLINE int"; +- print namespace "msgidxof (int code)"; ++ print pkg_namespace "msgidxof (int code)"; + print "{"; + print " return (0 ? 0"; + +-- +2.21.0 + diff --git a/bsp/buildroot/package/libgpg-error/libgpg-error.mk b/bsp/buildroot/package/libgpg-error/libgpg-error.mk index d26d92fb..a34c85bf 100644 --- a/bsp/buildroot/package/libgpg-error/libgpg-error.mk +++ b/bsp/buildroot/package/libgpg-error/libgpg-error.mk @@ -10,6 +10,8 @@ LIBGPG_ERROR_SOURCE = libgpg-error-$(LIBGPG_ERROR_VERSION).tar.bz2 LIBGPG_ERROR_LICENSE = GPL-2.0+, LGPL-2.1+ LIBGPG_ERROR_LICENSE_FILES = COPYING COPYING.LIB LIBGPG_ERROR_INSTALL_STAGING = YES +# 0001-gawk5-support.patch +LIBGPG_ERROR_AUTORECONF = YES LIBGPG_ERROR_CONFIG_SCRIPTS = gpg-error-config LIBGPG_ERROR_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) LIBGPG_ERROR_CONF_OPTS = --disable-tests \ diff --git a/bsp/buildroot/package/libgtk2/libgtk2.mk b/bsp/buildroot/package/libgtk2/libgtk2.mk index 8f60573a..710e6e47 100644 --- a/bsp/buildroot/package/libgtk2/libgtk2.mk +++ b/bsp/buildroot/package/libgtk2/libgtk2.mk @@ -21,7 +21,10 @@ LIBGTK2_CONF_ENV = \ LIBGTK2_CONF_OPTS = --disable-glibtest --enable-explicit-deps=no -LIBGTK2_DEPENDENCIES = host-pkgconf host-libgtk2 libglib2 cairo pango atk gdk-pixbuf +LIBGTK2_DEPENDENCIES = host-pkgconf host-libgtk2 libglib2 cairo pango atk \ + gdk-pixbuf $(TARGET_NLS_DEPENDENCIES) + +LIBGTK2_MAKE_OPTS = LIBS=$(TARGET_NLS_LIBS) # Xorg dependencies LIBGTK2_CONF_OPTS += \ diff --git a/bsp/buildroot/package/libgtk3/libgtk3.mk b/bsp/buildroot/package/libgtk3/libgtk3.mk index bdf820de..b9adc673 100644 --- a/bsp/buildroot/package/libgtk3/libgtk3.mk +++ b/bsp/buildroot/package/libgtk3/libgtk3.mk @@ -24,9 +24,11 @@ LIBGTK3_CONF_OPTS = \ # Override pkg-config pkgdatadir variable, it needs the prefix LIBGTK3_MAKE_OPTS = \ - WAYLAND_PROTOCOLS_DATADIR=$(STAGING_DIR)/usr/share/wayland-protocols + WAYLAND_PROTOCOLS_DATADIR=$(STAGING_DIR)/usr/share/wayland-protocols \ + LIBS=$(TARGET_NLS_LIBS) -LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk libglib2 cairo pango gdk-pixbuf libepoxy +LIBGTK3_DEPENDENCIES = host-pkgconf host-libgtk3 atk libglib2 cairo pango \ + gdk-pixbuf libepoxy $(TARGET_NLS_DEPENDENCIES) ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) LIBGTK3_DEPENDENCIES += fontconfig xlib_libX11 xlib_libXext xlib_libXrender xlib_libXi diff --git a/bsp/buildroot/package/libmodplug/libmodplug.hash b/bsp/buildroot/package/libmodplug/libmodplug.hash index d50a56ee..e75152e2 100644 --- a/bsp/buildroot/package/libmodplug/libmodplug.hash +++ b/bsp/buildroot/package/libmodplug/libmodplug.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 77462d12ee99476c8645cb5511363e3906b88b33a6b54362b4dbc0f39aa2daad libmodplug-0.8.8.5.tar.gz +sha256 457ca5a6c179656d66c01505c0d95fafaead4329b9dbaa0f997d00a3508ad9de libmodplug-0.8.9.0.tar.gz sha256 49942e7b3b175f549e751feb08b5270ca6f6c5fb7a1be9f9517db275ec32c92e COPYING diff --git a/bsp/buildroot/package/libmodplug/libmodplug.mk b/bsp/buildroot/package/libmodplug/libmodplug.mk index d9d74df5..05786ce8 100644 --- a/bsp/buildroot/package/libmodplug/libmodplug.mk +++ b/bsp/buildroot/package/libmodplug/libmodplug.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMODPLUG_VERSION = 0.8.8.5 +LIBMODPLUG_VERSION = 0.8.9.0 LIBMODPLUG_SITE = http://downloads.sourceforge.net/project/modplug-xmms/libmodplug/$(LIBMODPLUG_VERSION) LIBMODPLUG_INSTALL_STAGING = YES LIBMODPLUG_LICENSE = Public Domain diff --git a/bsp/buildroot/package/libnftnl/0002-Add-Libs.private-field-to-libnftnl.pc.patch b/bsp/buildroot/package/libnftnl/0001-Add-Libs.private-field-to-libnftnl.pc.patch similarity index 100% rename from bsp/buildroot/package/libnftnl/0002-Add-Libs.private-field-to-libnftnl.pc.patch rename to bsp/buildroot/package/libnftnl/0001-Add-Libs.private-field-to-libnftnl.pc.patch diff --git a/bsp/buildroot/package/libnftnl/0001-Rename-xfree-to-libnftnl_xfree-to-avoid-symbol-namin.patch b/bsp/buildroot/package/libnftnl/0001-Rename-xfree-to-libnftnl_xfree-to-avoid-symbol-namin.patch deleted file mode 100644 index 213aab79..00000000 --- a/bsp/buildroot/package/libnftnl/0001-Rename-xfree-to-libnftnl_xfree-to-avoid-symbol-namin.patch +++ /dev/null @@ -1,1032 +0,0 @@ -From 90a0152c224fa90f648b27187859bd84f6426e1b Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 2 Jun 2016 23:03:27 -0300 -Subject: [PATCH] Rename xfree() to libnftnl_xfree() to avoid symbol naming - conflict - -When ELF binaries and shared libraries are used, the internal -functions of libnftnl such as xfree() are not visible to the outside -world (their visibility is 'hidden'). Therefore, the fact that other -programs (especially nftables) may have symbols with the same name -does not cause any problem. - -However, when doing static linking on a non-ELF platform (such as -Blackfin, which uses the FLAT binary format), there is no way of -encoding this visibility. Therefore, the xfree() symbols of libnftnl -becomes visible to the outside world, causing a conflict with the -xfree() symbol defined by nftables. - -To solve this, this patch renames the libnftnl xfree() function to -libnftnl_xfree(). - -Signed-off-by: Thomas Petazzoni -[Gustavo: update for version 1.0.7] -Signed-off-by: Gustavo Zacarias -[baruch: update for versions 1.0.9, 1.1.2] -Signed-off-by: Baruch Siach ---- - include/utils.h | 2 +- - src/chain.c | 36 ++++++++++++++++++------------------ - src/common.c | 2 +- - src/expr.c | 4 ++-- - src/expr/data_reg.c | 2 +- - src/expr/dynset.c | 2 +- - src/expr/flow_offload.c | 2 +- - src/expr/immediate.c | 2 +- - src/expr/log.c | 6 +++--- - src/expr/lookup.c | 2 +- - src/expr/match.c | 6 +++--- - src/expr/target.c | 6 +++--- - src/flowtable.c | 32 ++++++++++++++++---------------- - src/gen.c | 2 +- - src/object.c | 14 +++++++------- - src/rule.c | 32 ++++++++++++++++---------------- - src/ruleset.c | 2 +- - src/set.c | 28 ++++++++++++++-------------- - src/set_elem.c | 28 ++++++++++++++-------------- - src/table.c | 14 +++++++------- - src/trace.c | 14 +++++++------- - src/udata.c | 2 +- - src/utils.c | 2 +- - 23 files changed, 121 insertions(+), 121 deletions(-) - -diff --git a/include/utils.h b/include/utils.h -index 3cc659652fe2..820556715013 100644 ---- a/include/utils.h -+++ b/include/utils.h -@@ -17,7 +17,7 @@ - - #define __noreturn __attribute__((__noreturn__)) - --#define xfree(ptr) free((void *)ptr); -+#define nftnl_xfree(ptr) free((void *)ptr); - - #define div_round_up(n, d) (((n) + (d) - 1) / (d)) - -diff --git a/src/chain.c b/src/chain.c -index 01d62c84f140..93e193955934 100644 ---- a/src/chain.c -+++ b/src/chain.c -@@ -97,14 +97,14 @@ EXPORT_SYMBOL(nftnl_chain_free); - void nftnl_chain_free(const struct nftnl_chain *c) - { - if (c->flags & (1 << NFTNL_CHAIN_NAME)) -- xfree(c->name); -+ nftnl_xfree(c->name); - if (c->flags & (1 << NFTNL_CHAIN_TABLE)) -- xfree(c->table); -+ nftnl_xfree(c->table); - if (c->flags & (1 << NFTNL_CHAIN_TYPE)) -- xfree(c->type); -+ nftnl_xfree(c->type); - if (c->flags & (1 << NFTNL_CHAIN_DEV)) -- xfree(c->dev); -- xfree(c); -+ nftnl_xfree(c->dev); -+ nftnl_xfree(c); - } - - EXPORT_SYMBOL(nftnl_chain_is_set); -@@ -121,15 +121,15 @@ void nftnl_chain_unset(struct nftnl_chain *c, uint16_t attr) - - switch (attr) { - case NFTNL_CHAIN_NAME: -- xfree(c->name); -+ nftnl_xfree(c->name); - break; - case NFTNL_CHAIN_TABLE: -- xfree(c->table); -+ nftnl_xfree(c->table); - break; - case NFTNL_CHAIN_USE: - break; - case NFTNL_CHAIN_TYPE: -- xfree(c->type); -+ nftnl_xfree(c->type); - break; - case NFTNL_CHAIN_HOOKNUM: - case NFTNL_CHAIN_PRIO: -@@ -140,7 +140,7 @@ void nftnl_chain_unset(struct nftnl_chain *c, uint16_t attr) - case NFTNL_CHAIN_FAMILY: - break; - case NFTNL_CHAIN_DEV: -- xfree(c->dev); -+ nftnl_xfree(c->dev); - break; - default: - return; -@@ -169,7 +169,7 @@ int nftnl_chain_set_data(struct nftnl_chain *c, uint16_t attr, - switch(attr) { - case NFTNL_CHAIN_NAME: - if (c->flags & (1 << NFTNL_CHAIN_NAME)) -- xfree(c->name); -+ nftnl_xfree(c->name); - - c->name = strdup(data); - if (!c->name) -@@ -177,7 +177,7 @@ int nftnl_chain_set_data(struct nftnl_chain *c, uint16_t attr, - break; - case NFTNL_CHAIN_TABLE: - if (c->flags & (1 << NFTNL_CHAIN_TABLE)) -- xfree(c->table); -+ nftnl_xfree(c->table); - - c->table = strdup(data); - if (!c->table) -@@ -209,7 +209,7 @@ int nftnl_chain_set_data(struct nftnl_chain *c, uint16_t attr, - break; - case NFTNL_CHAIN_TYPE: - if (c->flags & (1 << NFTNL_CHAIN_TYPE)) -- xfree(c->type); -+ nftnl_xfree(c->type); - - c->type = strdup(data); - if (!c->type) -@@ -217,7 +217,7 @@ int nftnl_chain_set_data(struct nftnl_chain *c, uint16_t attr, - break; - case NFTNL_CHAIN_DEV: - if (c->flags & (1 << NFTNL_CHAIN_DEV)) -- xfree(c->dev); -+ nftnl_xfree(c->dev); - - c->dev = strdup(data); - if (!c->dev) -@@ -541,7 +541,7 @@ int nftnl_chain_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_chain *c) - - if (tb[NFTA_CHAIN_NAME]) { - if (c->flags & (1 << NFTNL_CHAIN_NAME)) -- xfree(c->name); -+ nftnl_xfree(c->name); - c->name = strdup(mnl_attr_get_str(tb[NFTA_CHAIN_NAME])); - if (!c->name) - return -1; -@@ -549,7 +549,7 @@ int nftnl_chain_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_chain *c) - } - if (tb[NFTA_CHAIN_TABLE]) { - if (c->flags & (1 << NFTNL_CHAIN_TABLE)) -- xfree(c->table); -+ nftnl_xfree(c->table); - c->table = strdup(mnl_attr_get_str(tb[NFTA_CHAIN_TABLE])); - if (!c->table) - return -1; -@@ -579,7 +579,7 @@ int nftnl_chain_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_chain *c) - } - if (tb[NFTA_CHAIN_TYPE]) { - if (c->flags & (1 << NFTNL_CHAIN_TYPE)) -- xfree(c->type); -+ nftnl_xfree(c->type); - c->type = strdup(mnl_attr_get_str(tb[NFTA_CHAIN_TYPE])); - if (!c->type) - return -1; -@@ -711,7 +711,7 @@ void nftnl_chain_list_free(struct nftnl_chain_list *list) - list_del(&r->head); - nftnl_chain_free(r); - } -- xfree(list); -+ nftnl_xfree(list); - } - - EXPORT_SYMBOL(nftnl_chain_list_is_empty); -@@ -797,5 +797,5 @@ struct nftnl_chain *nftnl_chain_list_iter_next(struct nftnl_chain_list_iter *ite - EXPORT_SYMBOL(nftnl_chain_list_iter_destroy); - void nftnl_chain_list_iter_destroy(struct nftnl_chain_list_iter *iter) - { -- xfree(iter); -+ nftnl_xfree(iter); - } -diff --git a/src/common.c b/src/common.c -index feb13b2aa836..de7e9d08b9e2 100644 ---- a/src/common.c -+++ b/src/common.c -@@ -68,7 +68,7 @@ struct nftnl_parse_err *nftnl_parse_err_alloc(void) - EXPORT_SYMBOL(nftnl_parse_err_free); - void nftnl_parse_err_free(struct nftnl_parse_err *err) - { -- xfree(err); -+ nftnl_xfree(err); - } - - EXPORT_SYMBOL(nftnl_parse_perror); -diff --git a/src/expr.c b/src/expr.c -index 80c4c36a9bd7..f5e44cd16349 100644 ---- a/src/expr.c -+++ b/src/expr.c -@@ -51,7 +51,7 @@ void nftnl_expr_free(const struct nftnl_expr *expr) - if (expr->ops->free) - expr->ops->free(expr); - -- xfree(expr); -+ nftnl_xfree(expr); - } - - EXPORT_SYMBOL(nftnl_expr_is_set); -@@ -260,7 +260,7 @@ struct nftnl_expr *nftnl_expr_parse(struct nlattr *attr) - return expr; - - err2: -- xfree(expr); -+ nftnl_xfree(expr); - err1: - return NULL; - } -diff --git a/src/expr/data_reg.c b/src/expr/data_reg.c -index 67165feb931f..c6f3cec48caf 100644 ---- a/src/expr/data_reg.c -+++ b/src/expr/data_reg.c -@@ -225,7 +225,7 @@ void nftnl_free_verdict(const union nftnl_data_reg *data) - switch(data->verdict) { - case NFT_JUMP: - case NFT_GOTO: -- xfree(data->chain); -+ nftnl_xfree(data->chain); - break; - default: - break; -diff --git a/src/expr/dynset.c b/src/expr/dynset.c -index 68115ba50c94..4e8093b7e9db 100644 ---- a/src/expr/dynset.c -+++ b/src/expr/dynset.c -@@ -276,7 +276,7 @@ static void nftnl_expr_dynset_free(const struct nftnl_expr *e) - { - struct nftnl_expr_dynset *dynset = nftnl_expr_data(e); - -- xfree(dynset->set_name); -+ nftnl_xfree(dynset->set_name); - } - - struct expr_ops expr_ops_dynset = { -diff --git a/src/expr/flow_offload.c b/src/expr/flow_offload.c -index 6ccec9a13396..877ad072ba53 100644 ---- a/src/expr/flow_offload.c -+++ b/src/expr/flow_offload.c -@@ -122,7 +122,7 @@ static void nftnl_expr_flow_free(const struct nftnl_expr *e) - { - struct nftnl_expr_flow *flow = nftnl_expr_data(e); - -- xfree(flow->table_name); -+ nftnl_xfree(flow->table_name); - } - - struct expr_ops expr_ops_flow = { -diff --git a/src/expr/immediate.c b/src/expr/immediate.c -index 47106ae86675..b0289f9397fb 100644 ---- a/src/expr/immediate.c -+++ b/src/expr/immediate.c -@@ -44,7 +44,7 @@ nftnl_expr_immediate_set(struct nftnl_expr *e, uint16_t type, - break; - case NFTNL_EXPR_IMM_CHAIN: - if (e->flags & (1 << NFTNL_EXPR_IMM_CHAIN)) -- xfree(imm->data.chain); -+ nftnl_xfree(imm->data.chain); - - imm->data.chain = strdup(data); - if (!imm->data.chain) -diff --git a/src/expr/log.c b/src/expr/log.c -index bbe43d2dc6bc..a5952ce10ccc 100644 ---- a/src/expr/log.c -+++ b/src/expr/log.c -@@ -39,7 +39,7 @@ static int nftnl_expr_log_set(struct nftnl_expr *e, uint16_t type, - switch(type) { - case NFTNL_EXPR_LOG_PREFIX: - if (log->flags & (1 << NFTNL_EXPR_LOG_PREFIX)) -- xfree(log->prefix); -+ nftnl_xfree(log->prefix); - - log->prefix = strdup(data); - if (!log->prefix) -@@ -155,7 +155,7 @@ nftnl_expr_log_parse(struct nftnl_expr *e, struct nlattr *attr) - - if (tb[NFTA_LOG_PREFIX]) { - if (log->prefix) -- xfree(log->prefix); -+ nftnl_xfree(log->prefix); - - log->prefix = strdup(mnl_attr_get_str(tb[NFTA_LOG_PREFIX])); - if (!log->prefix) -@@ -255,7 +255,7 @@ static void nftnl_expr_log_free(const struct nftnl_expr *e) - { - struct nftnl_expr_log *log = nftnl_expr_data(e); - -- xfree(log->prefix); -+ nftnl_xfree(log->prefix); - } - - struct expr_ops expr_ops_log = { -diff --git a/src/expr/lookup.c b/src/expr/lookup.c -index a495ac0fdcfc..4fce24288c57 100644 ---- a/src/expr/lookup.c -+++ b/src/expr/lookup.c -@@ -209,7 +209,7 @@ static void nftnl_expr_lookup_free(const struct nftnl_expr *e) - { - struct nftnl_expr_lookup *lookup = nftnl_expr_data(e); - -- xfree(lookup->set_name); -+ nftnl_xfree(lookup->set_name); - } - - struct expr_ops expr_ops_lookup = { -diff --git a/src/expr/match.c b/src/expr/match.c -index 4fa74b2da893..7ee706753b68 100644 ---- a/src/expr/match.c -+++ b/src/expr/match.c -@@ -50,7 +50,7 @@ nftnl_expr_match_set(struct nftnl_expr *e, uint16_t type, - break; - case NFTNL_EXPR_MT_INFO: - if (e->flags & (1 << NFTNL_EXPR_MT_INFO)) -- xfree(mt->data); -+ nftnl_xfree(mt->data); - - mt->data = data; - mt->data_len = data_len; -@@ -147,7 +147,7 @@ static int nftnl_expr_match_parse(struct nftnl_expr *e, struct nlattr *attr) - void *match_data; - - if (e->flags & (1 << NFTNL_EXPR_MT_INFO)) -- xfree(match->data); -+ nftnl_xfree(match->data); - - match_data = calloc(1, len); - if (match_data == NULL) -@@ -186,7 +186,7 @@ static void nftnl_expr_match_free(const struct nftnl_expr *e) - { - struct nftnl_expr_match *match = nftnl_expr_data(e); - -- xfree(match->data); -+ nftnl_xfree(match->data); - } - - struct expr_ops expr_ops_match = { -diff --git a/src/expr/target.c b/src/expr/target.c -index 91000386704a..5d0763edf63f 100644 ---- a/src/expr/target.c -+++ b/src/expr/target.c -@@ -50,7 +50,7 @@ nftnl_expr_target_set(struct nftnl_expr *e, uint16_t type, - break; - case NFTNL_EXPR_TG_INFO: - if (e->flags & (1 << NFTNL_EXPR_TG_INFO)) -- xfree(tg->data); -+ nftnl_xfree(tg->data); - - tg->data = data; - tg->data_len = data_len; -@@ -147,7 +147,7 @@ static int nftnl_expr_target_parse(struct nftnl_expr *e, struct nlattr *attr) - void *target_data; - - if (target->data) -- xfree(target->data); -+ nftnl_xfree(target->data); - - target_data = calloc(1, len); - if (target_data == NULL) -@@ -186,7 +186,7 @@ static void nftnl_expr_target_free(const struct nftnl_expr *e) - { - struct nftnl_expr_target *target = nftnl_expr_data(e); - -- xfree(target->data); -+ nftnl_xfree(target->data); - } - - struct expr_ops expr_ops_target = { -diff --git a/src/flowtable.c b/src/flowtable.c -index c939306b56c4..f1b3eef48b73 100644 ---- a/src/flowtable.c -+++ b/src/flowtable.c -@@ -45,16 +45,16 @@ void nftnl_flowtable_free(const struct nftnl_flowtable *c) - int i; - - if (c->flags & (1 << NFTNL_FLOWTABLE_NAME)) -- xfree(c->name); -+ nftnl_xfree(c->name); - if (c->flags & (1 << NFTNL_FLOWTABLE_TABLE)) -- xfree(c->table); -+ nftnl_xfree(c->table); - if (c->flags & (1 << NFTNL_FLOWTABLE_DEVICES)) { - for (i = 0; i < c->dev_array_len; i++) -- xfree(c->dev_array[i]); -+ nftnl_xfree(c->dev_array[i]); - -- xfree(c->dev_array); -+ nftnl_xfree(c->dev_array); - } -- xfree(c); -+ nftnl_xfree(c); - } - EXPORT_SYMBOL(nftnl_flowtable_free); - -@@ -73,10 +73,10 @@ void nftnl_flowtable_unset(struct nftnl_flowtable *c, uint16_t attr) - - switch (attr) { - case NFTNL_FLOWTABLE_NAME: -- xfree(c->name); -+ nftnl_xfree(c->name); - break; - case NFTNL_FLOWTABLE_TABLE: -- xfree(c->table); -+ nftnl_xfree(c->table); - break; - case NFTNL_FLOWTABLE_HOOKNUM: - case NFTNL_FLOWTABLE_PRIO: -@@ -86,8 +86,8 @@ void nftnl_flowtable_unset(struct nftnl_flowtable *c, uint16_t attr) - break; - case NFTNL_FLOWTABLE_DEVICES: - for (i = 0; i < c->dev_array_len; i++) { -- xfree(c->dev_array[i]); -- xfree(c->dev_array); -+ nftnl_xfree(c->dev_array[i]); -+ nftnl_xfree(c->dev_array); - } - break; - default: -@@ -117,7 +117,7 @@ int nftnl_flowtable_set_data(struct nftnl_flowtable *c, uint16_t attr, - switch(attr) { - case NFTNL_FLOWTABLE_NAME: - if (c->flags & (1 << NFTNL_FLOWTABLE_NAME)) -- xfree(c->name); -+ nftnl_xfree(c->name); - - c->name = strdup(data); - if (!c->name) -@@ -125,7 +125,7 @@ int nftnl_flowtable_set_data(struct nftnl_flowtable *c, uint16_t attr, - break; - case NFTNL_FLOWTABLE_TABLE: - if (c->flags & (1 << NFTNL_FLOWTABLE_TABLE)) -- xfree(c->table); -+ nftnl_xfree(c->table); - - c->table = strdup(data); - if (!c->table) -@@ -147,8 +147,8 @@ int nftnl_flowtable_set_data(struct nftnl_flowtable *c, uint16_t attr, - - if (c->flags & (1 << NFTNL_FLOWTABLE_DEVICES)) { - for (i = 0; i < c->dev_array_len; i++) { -- xfree(c->dev_array[i]); -- xfree(c->dev_array); -+ nftnl_xfree(c->dev_array[i]); -+ nftnl_xfree(c->dev_array); - } - } - -@@ -423,7 +423,7 @@ int nftnl_flowtable_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_flowtab - - if (tb[NFTA_FLOWTABLE_NAME]) { - if (c->flags & (1 << NFTNL_FLOWTABLE_NAME)) -- xfree(c->name); -+ nftnl_xfree(c->name); - c->name = strdup(mnl_attr_get_str(tb[NFTA_FLOWTABLE_NAME])); - if (!c->name) - return -1; -@@ -431,7 +431,7 @@ int nftnl_flowtable_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_flowtab - } - if (tb[NFTA_FLOWTABLE_TABLE]) { - if (c->flags & (1 << NFTNL_FLOWTABLE_TABLE)) -- xfree(c->table); -+ nftnl_xfree(c->table); - c->table = strdup(mnl_attr_get_str(tb[NFTA_FLOWTABLE_TABLE])); - if (!c->table) - return -1; -@@ -635,7 +635,7 @@ void nftnl_flowtable_list_free(struct nftnl_flowtable_list *list) - list_del(&s->head); - nftnl_flowtable_free(s); - } -- xfree(list); -+ nftnl_xfree(list); - } - EXPORT_SYMBOL(nftnl_flowtable_list_free); - -diff --git a/src/gen.c b/src/gen.c -index 1fc909930d86..c69f6f87deae 100644 ---- a/src/gen.c -+++ b/src/gen.c -@@ -38,7 +38,7 @@ struct nftnl_gen *nftnl_gen_alloc(void) - EXPORT_SYMBOL(nftnl_gen_free); - void nftnl_gen_free(const struct nftnl_gen *gen) - { -- xfree(gen); -+ nftnl_xfree(gen); - } - - EXPORT_SYMBOL(nftnl_gen_is_set); -diff --git a/src/object.c b/src/object.c -index e88203a82441..28e04486c76c 100644 ---- a/src/object.c -+++ b/src/object.c -@@ -53,11 +53,11 @@ EXPORT_SYMBOL(nftnl_obj_free); - void nftnl_obj_free(const struct nftnl_obj *obj) - { - if (obj->flags & (1 << NFTNL_OBJ_TABLE)) -- xfree(obj->table); -+ nftnl_xfree(obj->table); - if (obj->flags & (1 << NFTNL_OBJ_NAME)) -- xfree(obj->name); -+ nftnl_xfree(obj->name); - -- xfree(obj); -+ nftnl_xfree(obj); - } - - EXPORT_SYMBOL(nftnl_obj_is_set); -@@ -81,11 +81,11 @@ void nftnl_obj_set_data(struct nftnl_obj *obj, uint16_t attr, - - switch (attr) { - case NFTNL_OBJ_TABLE: -- xfree(obj->table); -+ nftnl_xfree(obj->table); - obj->table = strdup(data); - break; - case NFTNL_OBJ_NAME: -- xfree(obj->name); -+ nftnl_xfree(obj->name); - obj->name = strdup(data); - break; - case NFTNL_OBJ_TYPE: -@@ -452,7 +452,7 @@ void nftnl_obj_list_free(struct nftnl_obj_list *list) - list_del(&r->head); - nftnl_obj_free(r); - } -- xfree(list); -+ nftnl_xfree(list); - } - - EXPORT_SYMBOL(nftnl_obj_list_is_empty); -@@ -539,5 +539,5 @@ struct nftnl_obj *nftnl_obj_list_iter_next(struct nftnl_obj_list_iter *iter) - EXPORT_SYMBOL(nftnl_obj_list_iter_destroy); - void nftnl_obj_list_iter_destroy(struct nftnl_obj_list_iter *iter) - { -- xfree(iter); -+ nftnl_xfree(iter); - } -diff --git a/src/rule.c b/src/rule.c -index 9af8fae2a803..0fce46e5c944 100644 ---- a/src/rule.c -+++ b/src/rule.c -@@ -75,13 +75,13 @@ void nftnl_rule_free(const struct nftnl_rule *r) - nftnl_expr_free(e); - - if (r->flags & (1 << (NFTNL_RULE_TABLE))) -- xfree(r->table); -+ nftnl_xfree(r->table); - if (r->flags & (1 << (NFTNL_RULE_CHAIN))) -- xfree(r->chain); -+ nftnl_xfree(r->chain); - if (r->flags & (1 << (NFTNL_RULE_USERDATA))) -- xfree(r->user.data); -+ nftnl_xfree(r->user.data); - -- xfree(r); -+ nftnl_xfree(r); - } - - EXPORT_SYMBOL(nftnl_rule_is_set); -@@ -98,10 +98,10 @@ void nftnl_rule_unset(struct nftnl_rule *r, uint16_t attr) - - switch (attr) { - case NFTNL_RULE_TABLE: -- xfree(r->table); -+ nftnl_xfree(r->table); - break; - case NFTNL_RULE_CHAIN: -- xfree(r->chain); -+ nftnl_xfree(r->chain); - break; - case NFTNL_RULE_HANDLE: - case NFTNL_RULE_COMPAT_PROTO: -@@ -111,7 +111,7 @@ void nftnl_rule_unset(struct nftnl_rule *r, uint16_t attr) - case NFTNL_RULE_ID: - break; - case NFTNL_RULE_USERDATA: -- xfree(r->user.data); -+ nftnl_xfree(r->user.data); - break; - } - -@@ -137,7 +137,7 @@ int nftnl_rule_set_data(struct nftnl_rule *r, uint16_t attr, - switch(attr) { - case NFTNL_RULE_TABLE: - if (r->flags & (1 << NFTNL_RULE_TABLE)) -- xfree(r->table); -+ nftnl_xfree(r->table); - - r->table = strdup(data); - if (!r->table) -@@ -145,7 +145,7 @@ int nftnl_rule_set_data(struct nftnl_rule *r, uint16_t attr, - break; - case NFTNL_RULE_CHAIN: - if (r->flags & (1 << NFTNL_RULE_CHAIN)) -- xfree(r->chain); -+ nftnl_xfree(r->chain); - - r->chain = strdup(data); - if (!r->chain) -@@ -168,7 +168,7 @@ int nftnl_rule_set_data(struct nftnl_rule *r, uint16_t attr, - break; - case NFTNL_RULE_USERDATA: - if (r->flags & (1 << NFTNL_RULE_USERDATA)) -- xfree(r->user.data); -+ nftnl_xfree(r->user.data); - - r->user.data = malloc(data_len); - if (!r->user.data) -@@ -453,7 +453,7 @@ int nftnl_rule_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_rule *r) - - if (tb[NFTA_RULE_TABLE]) { - if (r->flags & (1 << NFTNL_RULE_TABLE)) -- xfree(r->table); -+ nftnl_xfree(r->table); - r->table = strdup(mnl_attr_get_str(tb[NFTA_RULE_TABLE])); - if (!r->table) - return -1; -@@ -461,7 +461,7 @@ int nftnl_rule_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_rule *r) - } - if (tb[NFTA_RULE_CHAIN]) { - if (r->flags & (1 << NFTNL_RULE_CHAIN)) -- xfree(r->chain); -+ nftnl_xfree(r->chain); - r->chain = strdup(mnl_attr_get_str(tb[NFTA_RULE_CHAIN])); - if (!r->chain) - return -1; -@@ -490,7 +490,7 @@ int nftnl_rule_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_rule *r) - mnl_attr_get_payload(tb[NFTA_RULE_USERDATA]); - - if (r->flags & (1 << NFTNL_RULE_USERDATA)) -- xfree(r->user.data); -+ nftnl_xfree(r->user.data); - - r->user.len = mnl_attr_get_payload_len(tb[NFTA_RULE_USERDATA]); - -@@ -737,7 +737,7 @@ struct nftnl_expr *nftnl_expr_iter_next(struct nftnl_expr_iter *iter) - EXPORT_SYMBOL(nftnl_expr_iter_destroy); - void nftnl_expr_iter_destroy(struct nftnl_expr_iter *iter) - { -- xfree(iter); -+ nftnl_xfree(iter); - } - - struct nftnl_rule_list { -@@ -767,7 +767,7 @@ void nftnl_rule_list_free(struct nftnl_rule_list *list) - list_del(&r->head); - nftnl_rule_free(r); - } -- xfree(list); -+ nftnl_xfree(list); - } - - EXPORT_SYMBOL(nftnl_rule_list_is_empty); -@@ -865,5 +865,5 @@ struct nftnl_rule *nftnl_rule_list_iter_next(struct nftnl_rule_list_iter *iter) - EXPORT_SYMBOL(nftnl_rule_list_iter_destroy); - void nftnl_rule_list_iter_destroy(const struct nftnl_rule_list_iter *iter) - { -- xfree(iter); -+ nftnl_xfree(iter); - } -diff --git a/src/ruleset.c b/src/ruleset.c -index 2468bd46cd5d..16059a305309 100644 ---- a/src/ruleset.c -+++ b/src/ruleset.c -@@ -70,7 +70,7 @@ void nftnl_ruleset_free(const struct nftnl_ruleset *r) - nftnl_set_list_free(r->set_list); - if (r->flags & (1 << NFTNL_RULESET_RULELIST)) - nftnl_rule_list_free(r->rule_list); -- xfree(r); -+ nftnl_xfree(r); - } - - EXPORT_SYMBOL(nftnl_ruleset_is_set); -diff --git a/src/set.c b/src/set.c -index d1bdb165ab4b..53e54715d4b8 100644 ---- a/src/set.c -+++ b/src/set.c -@@ -46,17 +46,17 @@ void nftnl_set_free(const struct nftnl_set *s) - struct nftnl_set_elem *elem, *tmp; - - if (s->flags & (1 << NFTNL_SET_TABLE)) -- xfree(s->table); -+ nftnl_xfree(s->table); - if (s->flags & (1 << NFTNL_SET_NAME)) -- xfree(s->name); -+ nftnl_xfree(s->name); - if (s->flags & (1 << NFTNL_SET_USERDATA)) -- xfree(s->user.data); -+ nftnl_xfree(s->user.data); - - list_for_each_entry_safe(elem, tmp, &s->element_list, head) { - list_del(&elem->head); - nftnl_set_elem_free(elem); - } -- xfree(s); -+ nftnl_xfree(s); - } - - EXPORT_SYMBOL(nftnl_set_is_set); -@@ -73,10 +73,10 @@ void nftnl_set_unset(struct nftnl_set *s, uint16_t attr) - - switch (attr) { - case NFTNL_SET_TABLE: -- xfree(s->table); -+ nftnl_xfree(s->table); - break; - case NFTNL_SET_NAME: -- xfree(s->name); -+ nftnl_xfree(s->name); - break; - case NFTNL_SET_HANDLE: - case NFTNL_SET_FLAGS: -@@ -93,7 +93,7 @@ void nftnl_set_unset(struct nftnl_set *s, uint16_t attr) - case NFTNL_SET_GC_INTERVAL: - break; - case NFTNL_SET_USERDATA: -- xfree(s->user.data); -+ nftnl_xfree(s->user.data); - break; - default: - return; -@@ -127,7 +127,7 @@ int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data, - switch(attr) { - case NFTNL_SET_TABLE: - if (s->flags & (1 << NFTNL_SET_TABLE)) -- xfree(s->table); -+ nftnl_xfree(s->table); - - s->table = strdup(data); - if (!s->table) -@@ -135,7 +135,7 @@ int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data, - break; - case NFTNL_SET_NAME: - if (s->flags & (1 << NFTNL_SET_NAME)) -- xfree(s->name); -+ nftnl_xfree(s->name); - - s->name = strdup(data); - if (!s->name) -@@ -182,7 +182,7 @@ int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data, - break; - case NFTNL_SET_USERDATA: - if (s->flags & (1 << NFTNL_SET_USERDATA)) -- xfree(s->user.data); -+ nftnl_xfree(s->user.data); - - s->user.data = malloc(data_len); - if (!s->user.data) -@@ -492,7 +492,7 @@ int nftnl_set_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) - - if (tb[NFTA_SET_TABLE]) { - if (s->flags & (1 << NFTNL_SET_TABLE)) -- xfree(s->table); -+ nftnl_xfree(s->table); - s->table = strdup(mnl_attr_get_str(tb[NFTA_SET_TABLE])); - if (!s->table) - return -1; -@@ -500,7 +500,7 @@ int nftnl_set_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) - } - if (tb[NFTA_SET_NAME]) { - if (s->flags & (1 << NFTNL_SET_NAME)) -- xfree(s->name); -+ nftnl_xfree(s->name); - s->name = strdup(mnl_attr_get_str(tb[NFTA_SET_NAME])); - if (!s->name) - return -1; -@@ -742,7 +742,7 @@ void nftnl_set_list_free(struct nftnl_set_list *list) - list_del(&s->head); - nftnl_set_free(s); - } -- xfree(list); -+ nftnl_xfree(list); - } - - EXPORT_SYMBOL(nftnl_set_list_is_empty); -@@ -834,7 +834,7 @@ struct nftnl_set *nftnl_set_list_iter_next(struct nftnl_set_list_iter *iter) - EXPORT_SYMBOL(nftnl_set_list_iter_destroy); - void nftnl_set_list_iter_destroy(const struct nftnl_set_list_iter *iter) - { -- xfree(iter); -+ nftnl_xfree(iter); - } - - static struct nftnl_set *nftnl_set_lookup(const char *this_set_name, -diff --git a/src/set_elem.c b/src/set_elem.c -index ff983a67d62a..fac96cd368f1 100644 ---- a/src/set_elem.c -+++ b/src/set_elem.c -@@ -43,18 +43,18 @@ EXPORT_SYMBOL(nftnl_set_elem_free); - void nftnl_set_elem_free(struct nftnl_set_elem *s) - { - if (s->flags & (1 << NFTNL_SET_ELEM_CHAIN)) -- xfree(s->data.chain); -+ nftnl_xfree(s->data.chain); - - if (s->flags & (1 << NFTNL_SET_ELEM_EXPR)) - nftnl_expr_free(s->expr); - - if (s->flags & (1 << NFTNL_SET_ELEM_USERDATA)) -- xfree(s->user.data); -+ nftnl_xfree(s->user.data); - - if (s->flags & (1 << NFTNL_SET_ELEM_OBJREF)) -- xfree(s->objref); -+ nftnl_xfree(s->objref); - -- xfree(s); -+ nftnl_xfree(s); - } - - EXPORT_SYMBOL(nftnl_set_elem_is_set); -@@ -71,7 +71,7 @@ void nftnl_set_elem_unset(struct nftnl_set_elem *s, uint16_t attr) - - switch (attr) { - case NFTNL_SET_ELEM_CHAIN: -- xfree(s->data.chain); -+ nftnl_xfree(s->data.chain); - break; - case NFTNL_SET_ELEM_FLAGS: - case NFTNL_SET_ELEM_KEY: /* NFTA_SET_ELEM_KEY */ -@@ -81,13 +81,13 @@ void nftnl_set_elem_unset(struct nftnl_set_elem *s, uint16_t attr) - case NFTNL_SET_ELEM_EXPIRATION: /* NFTA_SET_ELEM_EXPIRATION */ - break; - case NFTNL_SET_ELEM_USERDATA: /* NFTA_SET_ELEM_USERDATA */ -- xfree(s->user.data); -+ nftnl_xfree(s->user.data); - break; - case NFTNL_SET_ELEM_EXPR: - nftnl_expr_free(s->expr); - break; - case NFTNL_SET_ELEM_OBJREF: -- xfree(s->objref); -+ nftnl_xfree(s->objref); - break; - default: - return; -@@ -113,7 +113,7 @@ int nftnl_set_elem_set(struct nftnl_set_elem *s, uint16_t attr, - break; - case NFTNL_SET_ELEM_CHAIN: /* NFTA_SET_ELEM_DATA */ - if (s->flags & (1 << NFTNL_SET_ELEM_CHAIN)) -- xfree(s->data.chain); -+ nftnl_xfree(s->data.chain); - - s->data.chain = strdup(data); - if (!s->data.chain) -@@ -128,7 +128,7 @@ int nftnl_set_elem_set(struct nftnl_set_elem *s, uint16_t attr, - break; - case NFTNL_SET_ELEM_USERDATA: /* NFTA_SET_ELEM_USERDATA */ - if (s->flags & (1 << NFTNL_SET_ELEM_USERDATA)) -- xfree(s->user.data); -+ nftnl_xfree(s->user.data); - - s->user.data = malloc(data_len); - if (!s->user.data) -@@ -138,7 +138,7 @@ int nftnl_set_elem_set(struct nftnl_set_elem *s, uint16_t attr, - break; - case NFTNL_SET_ELEM_OBJREF: - if (s->flags & (1 << NFTNL_SET_ELEM_OBJREF)) -- xfree(s->objref); -+ nftnl_xfree(s->objref); - - s->objref = strdup(data); - if (!s->objref) -@@ -436,7 +436,7 @@ static int nftnl_set_elems_parse2(struct nftnl_set *s, const struct nlattr *nest - mnl_attr_get_payload(tb[NFTA_SET_ELEM_USERDATA]); - - if (e->flags & (1 << NFTNL_RULE_USERDATA)) -- xfree(e->user.data); -+ nftnl_xfree(e->user.data); - - e->user.len = mnl_attr_get_payload_len(tb[NFTA_SET_ELEM_USERDATA]); - e->user.data = malloc(e->user.len); -@@ -521,7 +521,7 @@ int nftnl_set_elems_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) - - if (tb[NFTA_SET_ELEM_LIST_TABLE]) { - if (s->flags & (1 << NFTNL_SET_TABLE)) -- xfree(s->table); -+ nftnl_xfree(s->table); - s->table = - strdup(mnl_attr_get_str(tb[NFTA_SET_ELEM_LIST_TABLE])); - if (!s->table) -@@ -530,7 +530,7 @@ int nftnl_set_elems_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) - } - if (tb[NFTA_SET_ELEM_LIST_SET]) { - if (s->flags & (1 << NFTNL_SET_NAME)) -- xfree(s->name); -+ nftnl_xfree(s->name); - s->name = - strdup(mnl_attr_get_str(tb[NFTA_SET_ELEM_LIST_SET])); - if (!s->name) -@@ -729,7 +729,7 @@ struct nftnl_set_elem *nftnl_set_elems_iter_next(struct nftnl_set_elems_iter *it - EXPORT_SYMBOL(nftnl_set_elems_iter_destroy); - void nftnl_set_elems_iter_destroy(struct nftnl_set_elems_iter *iter) - { -- xfree(iter); -+ nftnl_xfree(iter); - } - - static bool nftnl_attr_nest_overflow(struct nlmsghdr *nlh, -diff --git a/src/table.c b/src/table.c -index 54259eec7d06..888991b1b80d 100644 ---- a/src/table.c -+++ b/src/table.c -@@ -47,9 +47,9 @@ EXPORT_SYMBOL(nftnl_table_free); - void nftnl_table_free(const struct nftnl_table *t) - { - if (t->flags & (1 << NFTNL_TABLE_NAME)) -- xfree(t->name); -+ nftnl_xfree(t->name); - -- xfree(t); -+ nftnl_xfree(t); - } - - EXPORT_SYMBOL(nftnl_table_is_set); -@@ -66,7 +66,7 @@ void nftnl_table_unset(struct nftnl_table *t, uint16_t attr) - - switch (attr) { - case NFTNL_TABLE_NAME: -- xfree(t->name); -+ nftnl_xfree(t->name); - break; - case NFTNL_TABLE_FLAGS: - case NFTNL_TABLE_HANDLE: -@@ -94,7 +94,7 @@ int nftnl_table_set_data(struct nftnl_table *t, uint16_t attr, - switch (attr) { - case NFTNL_TABLE_NAME: - if (t->flags & (1 << NFTNL_TABLE_NAME)) -- xfree(t->name); -+ nftnl_xfree(t->name); - - t->name = strdup(data); - if (!t->name) -@@ -258,7 +258,7 @@ int nftnl_table_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_table *t) - - if (tb[NFTA_TABLE_NAME]) { - if (t->flags & (1 << NFTNL_TABLE_NAME)) -- xfree(t->name); -+ nftnl_xfree(t->name); - t->name = strdup(mnl_attr_get_str(tb[NFTA_TABLE_NAME])); - if (!t->name) - return -1; -@@ -395,7 +395,7 @@ void nftnl_table_list_free(struct nftnl_table_list *list) - list_del(&r->head); - nftnl_table_free(r); - } -- xfree(list); -+ nftnl_xfree(list); - } - - EXPORT_SYMBOL(nftnl_table_list_is_empty); -@@ -481,5 +481,5 @@ struct nftnl_table *nftnl_table_list_iter_next(struct nftnl_table_list_iter *ite - EXPORT_SYMBOL(nftnl_table_list_iter_destroy); - void nftnl_table_list_iter_destroy(const struct nftnl_table_list_iter *iter) - { -- xfree(iter); -+ nftnl_xfree(iter); - } -diff --git a/src/trace.c b/src/trace.c -index f4264377508e..8a18391d83d1 100644 ---- a/src/trace.c -+++ b/src/trace.c -@@ -61,13 +61,13 @@ struct nftnl_trace *nftnl_trace_alloc(void) - EXPORT_SYMBOL(nftnl_trace_free); - void nftnl_trace_free(const struct nftnl_trace *t) - { -- xfree(t->chain); -- xfree(t->table); -- xfree(t->jump_target); -- xfree(t->ll.data); -- xfree(t->nh.data); -- xfree(t->th.data); -- xfree(t); -+ nftnl_xfree(t->chain); -+ nftnl_xfree(t->table); -+ nftnl_xfree(t->jump_target); -+ nftnl_xfree(t->ll.data); -+ nftnl_xfree(t->nh.data); -+ nftnl_xfree(t->th.data); -+ nftnl_xfree(t); - } - - EXPORT_SYMBOL(nftnl_trace_is_set); -diff --git a/src/udata.c b/src/udata.c -index b5a47295b40d..3b3be548036d 100644 ---- a/src/udata.c -+++ b/src/udata.c -@@ -33,7 +33,7 @@ struct nftnl_udata_buf *nftnl_udata_buf_alloc(uint32_t data_size) - EXPORT_SYMBOL(nftnl_udata_buf_free); - void nftnl_udata_buf_free(const struct nftnl_udata_buf *buf) - { -- xfree(buf); -+ nftnl_xfree(buf); - } - - EXPORT_SYMBOL(nftnl_udata_buf_len); -diff --git a/src/utils.c b/src/utils.c -index f641bf93ec68..02e7476a0ced 100644 ---- a/src/utils.c -+++ b/src/utils.c -@@ -304,7 +304,7 @@ int nftnl_fprintf(FILE *fp, const void *obj, uint32_t cmd, uint32_t type, - - out: - if (buf != _buf) -- xfree(buf); -+ nftnl_xfree(buf); - - return ret; - } --- -2.19.1 - diff --git a/bsp/buildroot/package/libnftnl/libnftnl.hash b/bsp/buildroot/package/libnftnl/libnftnl.hash index 3ecaeb8a..64bd07a2 100644 --- a/bsp/buildroot/package/libnftnl/libnftnl.hash +++ b/bsp/buildroot/package/libnftnl/libnftnl.hash @@ -1,3 +1,3 @@ # From http://www.netfilter.org/projects/libnftnl/downloads.html -sha256 a5c7b7a6c13c9c5898b13fcb1126fefce2015d5a96d7c354b19aaa40b6aece5d libnftnl-1.1.2.tar.bz2 +sha256 22dd97d3b06ae8c67499506e2bfd6803ce116479076ec3700e7a4c7cd9fcba0f libnftnl-1.1.3.tar.bz2 sha256 98193898c663001eff2fdcfb676e210c13042bc1a05e8d570c363efa396f8e24 COPYING diff --git a/bsp/buildroot/package/libnftnl/libnftnl.mk b/bsp/buildroot/package/libnftnl/libnftnl.mk index b8e015ba..a3fba488 100644 --- a/bsp/buildroot/package/libnftnl/libnftnl.mk +++ b/bsp/buildroot/package/libnftnl/libnftnl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNFTNL_VERSION = 1.1.2 +LIBNFTNL_VERSION = 1.1.3 LIBNFTNL_SITE = https://netfilter.org/projects/libnftnl/files LIBNFTNL_SOURCE = libnftnl-$(LIBNFTNL_VERSION).tar.bz2 LIBNFTNL_LICENSE = GPL-2.0+ diff --git a/bsp/buildroot/package/libnspr/0001-nios2.patch b/bsp/buildroot/package/libnspr/0001-nios2.patch index 2a967c45..52fbbfdd 100644 --- a/bsp/buildroot/package/libnspr/0001-nios2.patch +++ b/bsp/buildroot/package/libnspr/0001-nios2.patch @@ -1,17 +1,18 @@ -Add Nios-II support +Bug 1578360 - Add Nios-II support [Gustavo: update for nspr 4.10.9] Signed-off-by: Ezequiel Garcia [Fabrice: update for nspr 4.20] Signed-off-by: Fabrice Fontaine +[Giulio: update for nspr 4.22] +Signed-off-by: Giulio Benetti -Index: b/nspr/pr/include/md/_linux.cfg -=================================================================== ---- a/nspr/pr/include/md/_linux.cfg -+++ b/nspr/pr/include/md/_linux.cfg -@@ -1112,6 +1112,51 @@ - #define PR_BYTES_PER_WORD_LOG2 3 - #define PR_BYTES_PER_DWORD_LOG2 3 +diff -r 3af4891397ab -r 8487beb203e9 nspr/pr/include/md/_linux.cfg +--- a/nspr/pr/include/md/_linux.cfg Mon Aug 19 16:17:52 2019 +0200 ++++ b/nspr/pr/include/md/_linux.cfg Tue Sep 03 11:25:11 2019 +0200 +@@ -1157,6 +1157,51 @@ + #define PR_BYTES_PER_WORD_LOG2 2 + #define PR_BYTES_PER_DWORD_LOG2 3 +#elif defined(__nios2__) + @@ -61,14 +62,13 @@ Index: b/nspr/pr/include/md/_linux.cfg #else #error "Unknown CPU architecture" -Index: b/nspr/pr/include/md/_linux.h -=================================================================== ---- a/nspr/pr/include/md/_linux.h -+++ b/nspr/pr/include/md/_linux.h -@@ -57,6 +57,8 @@ - #define _PR_SI_ARCHITECTURE "riscv32" - #elif defined(__riscv) && (__riscv_xlen == 64) +diff -r 3af4891397ab -r 8487beb203e9 nspr/pr/include/md/_linux.h +--- a/nspr/pr/include/md/_linux.h Mon Aug 19 16:17:52 2019 +0200 ++++ b/nspr/pr/include/md/_linux.h Tue Sep 03 11:25:11 2019 +0200 +@@ -63,6 +63,8 @@ #define _PR_SI_ARCHITECTURE "riscv64" + #elif defined(__arc__) + #define _PR_SI_ARCHITECTURE "arc" +#elif defined(__nios2__) +#define _PR_SI_ARCHITECTURE "nios2" #else diff --git a/bsp/buildroot/package/libnspr/0002-microblaze.patch b/bsp/buildroot/package/libnspr/0002-microblaze.patch index 4c23259d..6558882b 100644 --- a/bsp/buildroot/package/libnspr/0002-microblaze.patch +++ b/bsp/buildroot/package/libnspr/0002-microblaze.patch @@ -1,15 +1,16 @@ -Add Microblaze support +Bug 1578363 - Add Microblaze support [Gustavo: update for nspr 4.10.9] Signed-off-by: Spenser Gilliland [Fabrice: update for nspr 4.20] Signed-off-by: Fabrice Fontaine +[Giulio: update for nspr 4.22] +Signed-off-by: Giulio Benetti -Index: b/nspr/pr/include/md/_linux.cfg -=================================================================== ---- a/nspr/pr/include/md/_linux.cfg -+++ b/nspr/pr/include/md/_linux.cfg -@@ -1157,6 +1157,56 @@ +diff -r 8487beb203e9 -r ab7d5c504daf nspr/pr/include/md/_linux.cfg +--- a/nspr/pr/include/md/_linux.cfg Tue Sep 03 11:25:11 2019 +0200 ++++ b/nspr/pr/include/md/_linux.cfg Tue Sep 03 11:33:15 2019 +0200 +@@ -1202,6 +1202,56 @@ #define PR_BYTES_PER_WORD_LOG2 2 #define PR_BYTES_PER_DWORD_LOG2 3 @@ -66,16 +67,15 @@ Index: b/nspr/pr/include/md/_linux.cfg #else #error "Unknown CPU architecture" -Index: b/nspr/pr/include/md/_linux.h -=================================================================== ---- a/nspr/pr/include/md/_linux.h -+++ b/nspr/pr/include/md/_linux.h -@@ -57,6 +57,8 @@ - #define _PR_SI_ARCHITECTURE "riscv32" - #elif defined(__riscv) && (__riscv_xlen == 64) - #define _PR_SI_ARCHITECTURE "riscv64" -+#elif defined(__microblaze__) -+#define _PR_SI_ARCHITECTURE "microblaze" +diff -r 8487beb203e9 -r ab7d5c504daf nspr/pr/include/md/_linux.h +--- a/nspr/pr/include/md/_linux.h Tue Sep 03 11:25:11 2019 +0200 ++++ b/nspr/pr/include/md/_linux.h Tue Sep 03 11:33:15 2019 +0200 +@@ -65,6 +65,8 @@ + #define _PR_SI_ARCHITECTURE "arc" #elif defined(__nios2__) #define _PR_SI_ARCHITECTURE "nios2" ++#elif defined(__microblaze__) ++#define _PR_SI_ARCHITECTURE "microblaze" #else + #error "Unknown CPU architecture" + #endif diff --git a/bsp/buildroot/package/libnspr/0003-nds32.patch b/bsp/buildroot/package/libnspr/0003-nds32.patch new file mode 100644 index 00000000..49d0d81a --- /dev/null +++ b/bsp/buildroot/package/libnspr/0003-nds32.patch @@ -0,0 +1,73 @@ +Bug 1578364 - Add Nds32 support + +Signed-off-by: Nylon Chen +[Giulio: update for nspr 4.22] +Signed-off-by: Giulio Benetti + +diff -r ab7d5c504daf -r d212d80704a2 nspr/pr/include/md/_linux.cfg +--- a/nspr/pr/include/md/_linux.cfg Tue Sep 03 11:33:15 2019 +0200 ++++ b/nspr/pr/include/md/_linux.cfg Tue Sep 03 11:36:05 2019 +0200 +@@ -1252,6 +1252,51 @@ + #define PR_BYTES_PER_WORD_LOG2 2 + #define PR_BYTES_PER_DWORD_LOG2 3 + ++#elif defined(__nds32__) ++ ++#define IS_LITTLE_ENDIAN 1 ++#undef IS_BIG_ENDIAN ++ ++#define PR_BYTES_PER_BYTE 1 ++#define PR_BYTES_PER_SHORT 2 ++#define PR_BYTES_PER_INT 4 ++#define PR_BYTES_PER_INT64 8 ++#define PR_BYTES_PER_LONG 4 ++#define PR_BYTES_PER_FLOAT 4 ++#define PR_BYTES_PER_DOUBLE 8 ++#define PR_BYTES_PER_WORD 4 ++#define PR_BYTES_PER_DWORD 8 ++ ++#define PR_BITS_PER_BYTE 8 ++#define PR_BITS_PER_SHORT 16 ++#define PR_BITS_PER_INT 32 ++#define PR_BITS_PER_INT64 64 ++#define PR_BITS_PER_LONG 32 ++#define PR_BITS_PER_FLOAT 32 ++#define PR_BITS_PER_DOUBLE 64 ++#define PR_BITS_PER_WORD 32 ++ ++#define PR_BITS_PER_BYTE_LOG2 3 ++#define PR_BITS_PER_SHORT_LOG2 4 ++#define PR_BITS_PER_INT_LOG2 5 ++#define PR_BITS_PER_INT64_LOG2 6 ++#define PR_BITS_PER_LONG_LOG2 5 ++#define PR_BITS_PER_FLOAT_LOG2 5 ++#define PR_BITS_PER_DOUBLE_LOG2 6 ++#define PR_BITS_PER_WORD_LOG2 5 ++ ++#define PR_ALIGN_OF_SHORT 2 ++#define PR_ALIGN_OF_INT 4 ++#define PR_ALIGN_OF_LONG 4 ++#define PR_ALIGN_OF_INT64 4 ++#define PR_ALIGN_OF_FLOAT 4 ++#define PR_ALIGN_OF_DOUBLE 4 ++#define PR_ALIGN_OF_POINTER 4 ++#define PR_ALIGN_OF_WORD 4 ++ ++#define PR_BYTES_PER_WORD_LOG2 2 ++#define PR_BYTES_PER_DWORD_LOG2 3 ++ + #else + + #error "Unknown CPU architecture" +diff -r ab7d5c504daf -r d212d80704a2 nspr/pr/include/md/_linux.h +--- a/nspr/pr/include/md/_linux.h Tue Sep 03 11:33:15 2019 +0200 ++++ b/nspr/pr/include/md/_linux.h Tue Sep 03 11:36:05 2019 +0200 +@@ -67,6 +67,8 @@ + #define _PR_SI_ARCHITECTURE "nios2" + #elif defined(__microblaze__) + #define _PR_SI_ARCHITECTURE "microblaze" ++#elif defined(__nds32__) ++#define _PR_SI_ARCHITECTURE "nds32" + #else + #error "Unknown CPU architecture" + #endif diff --git a/bsp/buildroot/package/libnspr/libnspr.hash b/bsp/buildroot/package/libnspr/libnspr.hash index 33710b65..321b6795 100644 --- a/bsp/buildroot/package/libnspr/libnspr.hash +++ b/bsp/buildroot/package/libnspr/libnspr.hash @@ -1,4 +1,4 @@ # From https://ftp.mozilla.org/pub/nspr/releases/v4.20/src/SHA256SUMS -sha256 2c8964913da89ffbaf464d49ce44d79e8804e1794ef9a8c52a7bff7224d1556e nspr-4.20.tar.gz +sha256 c9e4b6cc24856ec93202fe13704b38b38ba219f0f2aeac93090ce2b6c696d430 nspr-4.22.tar.gz # Locally calculated sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 nspr/LICENSE diff --git a/bsp/buildroot/package/libnspr/libnspr.mk b/bsp/buildroot/package/libnspr/libnspr.mk index 763c5393..29005d52 100644 --- a/bsp/buildroot/package/libnspr/libnspr.mk +++ b/bsp/buildroot/package/libnspr/libnspr.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNSPR_VERSION = 4.20 +LIBNSPR_VERSION = 4.22 LIBNSPR_SOURCE = nspr-$(LIBNSPR_VERSION).tar.gz LIBNSPR_SITE = https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v$(LIBNSPR_VERSION)/src LIBNSPR_SUBDIR = nspr diff --git a/bsp/buildroot/package/libnss/0003-Bug-1580126-Fix-build-failure-on-aarch64_be-while-bu.patch b/bsp/buildroot/package/libnss/0003-Bug-1580126-Fix-build-failure-on-aarch64_be-while-bu.patch new file mode 100644 index 00000000..ed415c13 --- /dev/null +++ b/bsp/buildroot/package/libnss/0003-Bug-1580126-Fix-build-failure-on-aarch64_be-while-bu.patch @@ -0,0 +1,36 @@ +From 6b3819159949ed7fc099e588e2e0669407135121 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Tue, 10 Sep 2019 11:29:02 +0200 +Subject: [PATCH] Bug 1580126 - Fix build failure on aarch64_be while building + freebl/gcm + +Build failure is caused by different #ifdef conditions in gcm.c and +gcm-aarch64.c that leads to double declaration of the same gcm_* +functions. + +Fix #ifdef condition in gcm-aarch64.c making it the same as the one in +gcm.c. + +[Upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=1580126] +Signed-off-by: Giulio Benetti +--- + nss/lib/freebl/gcm-aarch64.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/nss/lib/freebl/gcm-aarch64.c b/nss/lib/freebl/gcm-aarch64.c +index 65ea9fb5f..3f3c046d7 100644 +--- a/nss/lib/freebl/gcm-aarch64.c ++++ b/nss/lib/freebl/gcm-aarch64.c +@@ -9,7 +9,8 @@ + #include "secerr.h" + + /* old gcc doesn't support some poly64x2_t intrinsic */ +-#if defined(__clang__) || (defined(__GNUC__) && __GNUC__ > 6) ++#if defined(__aarch64__) && defined(IS_LITTLE_ENDIAN) && \ ++ (defined(__clang__) || defined(__GNUC__) && __GNUC__ > 6) + + #include + +-- +2.17.1 + diff --git a/bsp/buildroot/package/libnss/libnss.hash b/bsp/buildroot/package/libnss/libnss.hash index 9c3cefd8..678f39b0 100644 --- a/bsp/buildroot/package/libnss/libnss.hash +++ b/bsp/buildroot/package/libnss/libnss.hash @@ -1,4 +1,4 @@ -# From https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_39_RTM/src/SHA256SUMS -sha256 6be64dd76f212415cc8bc34343ac1e7389048db4db9a023a84873c411dc5864b nss-3.39.tar.gz +# From https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_42_1_RTM/src/SHA256SUMS +sha256 6b699649d285602ba258a4b0957cb841eafc94eff5735a9da8da0adbb9a10cef nss-3.46.tar.gz # Locally calculated sha256 a20c1a32d1f8102432360b42e932869f7c11c7cdbacf9cac554c422132af47f4 nss/COPYING diff --git a/bsp/buildroot/package/libnss/libnss.mk b/bsp/buildroot/package/libnss/libnss.mk index 73c9b08f..0366f3cf 100644 --- a/bsp/buildroot/package/libnss/libnss.mk +++ b/bsp/buildroot/package/libnss/libnss.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNSS_VERSION = 3.39 +LIBNSS_VERSION = 3.46 LIBNSS_SOURCE = nss-$(LIBNSS_VERSION).tar.gz LIBNSS_SITE = https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_$(subst .,_,$(LIBNSS_VERSION))_RTM/src LIBNSS_DISTDIR = dist @@ -13,6 +13,14 @@ LIBNSS_DEPENDENCIES = libnspr sqlite zlib LIBNSS_LICENSE = MPL-2.0 LIBNSS_LICENSE_FILES = nss/COPYING +# Need to pass down TARGET_CFLAGS and TARGET_LDFLAGS +define LIBNSS_FIXUP_LINUX_MK + echo 'OS_CFLAGS += $(TARGET_CFLAGS)' >> $(@D)/nss/coreconf/Linux.mk + echo 'LDFLAGS += $(TARGET_LDFLAGS)' >> $(@D)/nss/coreconf/Linux.mk +endef + +LIBNSS_PRE_CONFIGURE_HOOKS += LIBNSS_FIXUP_LINUX_MK + # --gc-sections triggers binutils ld segfault # https://sourceware.org/bugzilla/show_bug.cgi?id=21180 ifeq ($(BR2_microblaze),y) @@ -33,7 +41,6 @@ LIBNSS_BUILD_VARS = \ MOZILLA_CLIENT=1 \ NSPR_INCLUDE_DIR=$(STAGING_DIR)/usr/include/nspr \ NSPR_LIB_DIR=$(STAGING_DIR)/usr/lib \ - BUILD_OPT=1 \ NS_USE_GCC=1 \ NSS_DISABLE_GTESTS=1 \ NSS_USE_SYSTEM_SQLITE=1 \ @@ -41,7 +48,8 @@ LIBNSS_BUILD_VARS = \ NATIVE_CC="$(HOSTCC)" \ OS_ARCH="Linux" \ OS_RELEASE="2.6" \ - OS_TEST="$(LIBNSS_ARCH)" + OS_TEST="$(LIBNSS_ARCH)" \ + NSS_ENABLE_WERROR=0 # #pragma usage needs gcc >= 4.8 # See https://bugzilla.mozilla.org/show_bug.cgi?id=1226179 @@ -102,13 +110,13 @@ HOST_LIBNSS_BUILD_VARS = \ MOZILLA_CLIENT=1 \ NSPR_INCLUDE_DIR=$(HOST_DIR)/include/nspr \ NSPR_LIB_DIR=$(HOST_DIR)/lib \ - BUILD_OPT=1 \ NS_USE_GCC=1 \ NSS_DISABLE_GTESTS=1 \ NSS_USE_SYSTEM_SQLITE=1 \ SQLITE_INCLUDE_DIR=$(HOST_DIR)/include \ ZLIB_INCLUDE_DIR=$(HOST_DIR)/include \ - NSS_ENABLE_ECC=1 + NSS_ENABLE_ECC=1 \ + NSS_ENABLE_WERROR=0 HOST_LIBNSS_DEPENDENCIES = host-libnspr host-sqlite host-zlib diff --git a/bsp/buildroot/package/libopenssl/0004-apps-ocsp.c-Use-the-same-HAVE_FORK-NO_FORK-as-in-spe.patch b/bsp/buildroot/package/libopenssl/0004-apps-ocsp.c-Use-the-same-HAVE_FORK-NO_FORK-as-in-spe.patch deleted file mode 100644 index 83989fe7..00000000 --- a/bsp/buildroot/package/libopenssl/0004-apps-ocsp.c-Use-the-same-HAVE_FORK-NO_FORK-as-in-spe.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 4c992673890f1d1ecb9aa46112b2ca80db016b67 Mon Sep 17 00:00:00 2001 -From: Richard Levitte -Date: Mon, 12 Nov 2018 18:16:27 +0100 -Subject: [PATCH] apps/ocsp.c Use the same HAVE_FORK / NO_FORK as in speed.c - -This allows the user to override our defaults if needed, and in a -consistent manner. - -Partial fix for #7607 - -Upstream: https://github.com/openssl/openssl/pull/7624 -Signed-off-by: Patrick Havelange ---- - apps/ocsp.c | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - -diff --git a/apps/ocsp.c b/apps/ocsp.c -index 7fd78624bb..315b072932 100644 ---- a/apps/ocsp.c -+++ b/apps/ocsp.c -@@ -36,7 +36,21 @@ NON_EMPTY_TRANSLATION_UNIT - # include - # include - --# if defined(OPENSSL_SYS_UNIX) && !defined(OPENSSL_NO_SOCK) \ -+#ifndef HAVE_FORK -+# if defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_WINDOWS) -+# define HAVE_FORK 0 -+# else -+# define HAVE_FORK 1 -+# endif -+#endif -+ -+#if HAVE_FORK -+# undef NO_FORK -+#else -+# define NO_FORK -+#endif -+ -+# if !defined(NO_FORK) && !defined(OPENSSL_NO_SOCK) \ - && !defined(OPENSSL_NO_POSIX_IO) - # define OCSP_DAEMON - # include --- -2.17.1 - diff --git a/bsp/buildroot/package/libopenssl/0005-Revert-Reduce-stack-usage-in-tls13_hkdf_expand.patch b/bsp/buildroot/package/libopenssl/0005-Revert-Reduce-stack-usage-in-tls13_hkdf_expand.patch deleted file mode 100644 index 104fa476..00000000 --- a/bsp/buildroot/package/libopenssl/0005-Revert-Reduce-stack-usage-in-tls13_hkdf_expand.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 56e0f123dc17cb99f50efbae4bbbab77f360818f Mon Sep 17 00:00:00 2001 -From: Matt Caswell -Date: Mon, 3 Dec 2018 18:14:57 +0000 -Subject: [PATCH] Revert "Reduce stack usage in tls13_hkdf_expand" - -This reverts commit ec0c5f5693e39c5a013f81e6dd9dfd09ec65162d. - -SSL_export_keying_material() may use longer label lengths. - -Fixes #7712 - -Reviewed-by: Tim Hudson -(Merged from https://github.com/openssl/openssl/pull/7755) - -(cherry picked from commit ed371b8cbac0d0349667558c061c1ae380cf75eb) -Signed-off-by: Bernd Kuhls ---- - ssl/tls13_enc.c | 16 ++++------------ - 1 file changed, 4 insertions(+), 12 deletions(-) - -diff --git a/ssl/tls13_enc.c b/ssl/tls13_enc.c -index b6825d20c2..f7ab0fa470 100644 ---- a/ssl/tls13_enc.c -+++ b/ssl/tls13_enc.c -@@ -13,14 +13,7 @@ - #include - #include - --/* -- * RFC 8446, 7.1 Key Schedule, says: -- * Note: With common hash functions, any label longer than 12 characters -- * requires an additional iteration of the hash function to compute. -- * The labels in this specification have all been chosen to fit within -- * this limit. -- */ --#define TLS13_MAX_LABEL_LEN 12 -+#define TLS13_MAX_LABEL_LEN 246 - - /* Always filled with zeros */ - static const unsigned char default_zeros[EVP_MAX_MD_SIZE]; -@@ -36,15 +29,14 @@ int tls13_hkdf_expand(SSL *s, const EVP_MD *md, const unsigned char *secret, - const unsigned char *data, size_t datalen, - unsigned char *out, size_t outlen) - { -- static const unsigned char label_prefix[] = "tls13 "; -+ const unsigned char label_prefix[] = "tls13 "; - EVP_PKEY_CTX *pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_HKDF, NULL); - int ret; - size_t hkdflabellen; - size_t hashlen; - /* -- * 2 bytes for length of derived secret + 1 byte for length of combined -- * prefix and label + bytes for the label itself + 1 byte length of hash -- * + bytes for the hash itself -+ * 2 bytes for length of whole HkdfLabel + 1 byte for length of combined -+ * prefix and label + bytes for the label itself + bytes for the hash - */ - unsigned char hkdflabel[sizeof(uint16_t) + sizeof(uint8_t) + - + sizeof(label_prefix) + TLS13_MAX_LABEL_LEN --- -2.20.1 - diff --git a/bsp/buildroot/package/libopenssl/0006-Fix-some-SSL_export_keying_material-issues.patch b/bsp/buildroot/package/libopenssl/0006-Fix-some-SSL_export_keying_material-issues.patch deleted file mode 100644 index 242ec7a8..00000000 --- a/bsp/buildroot/package/libopenssl/0006-Fix-some-SSL_export_keying_material-issues.patch +++ /dev/null @@ -1,426 +0,0 @@ -From db860ea3dcf56a1993c66da22bd44460d7ac4914 Mon Sep 17 00:00:00 2001 -From: Matt Caswell -Date: Tue, 4 Dec 2018 08:37:04 +0000 -Subject: [PATCH] Fix some SSL_export_keying_material() issues - -Fix some issues in tls13_hkdf_expand() which impact the above function -for TLSv1.3. In particular test that we can use the maximum label length -in TLSv1.3. - -Reviewed-by: Tim Hudson -(Merged from https://github.com/openssl/openssl/pull/7755) - -(cherry picked from commit 0fb2815b873304d145ed00283454fc9f3bd35e6b) -Signed-off-by: Bernd Kuhls ---- - doc/man3/SSL_export_keying_material.pod | 3 +- - ssl/ssl_locl.h | 2 +- - ssl/statem/extensions.c | 2 +- - ssl/statem/statem_clnt.c | 2 +- - ssl/statem/statem_srvr.c | 2 +- - ssl/tls13_enc.c | 73 +++++++++++++++++-------- - test/sslapitest.c | 48 ++++++++++++---- - test/tls13secretstest.c | 2 +- - 8 files changed, 92 insertions(+), 42 deletions(-) - -diff --git a/doc/man3/SSL_export_keying_material.pod b/doc/man3/SSL_export_keying_material.pod -index abebf911fc..4c81a60ffb 100644 ---- a/doc/man3/SSL_export_keying_material.pod -+++ b/doc/man3/SSL_export_keying_material.pod -@@ -59,7 +59,8 @@ B