diff --git a/bsp/buildroot/CHANGES b/bsp/buildroot/CHANGES index 365d2bbe..e5021f7f 100644 --- a/bsp/buildroot/CHANGES +++ b/bsp/buildroot/CHANGES @@ -1,3 +1,73 @@ +2019.02.2, Released April 29th, 2019 + + Important / security related fixes. + + Only build host-lzip / host-xz when really needed by packages, + not just when not available on the build host. + + fs: Set FAKEROOTDONTTRYCHOWN environment variable to not + forward {f,l,}chown calls to libc when running under fakeroot + to fix issues when building in restricted environments + (E.G. user namespace with bubblewrap). + + Linux: Also build default make target to ensure extra files + like the gdb scripts enabled by CONFIG_GDB_SCRIPTS are also + built. Notice: This may mean that extra host utilities like + uboot-mkimage are needed. + + Defconfigs: ASUS tinker and Amarula vyasa rk3822: Support + larger kernel images, Atmel SAM5D27, SAM5D2,3,4 xplained: + Increase rootfs size to fit utilities, Raspberry Pi 64bit: + Include overlays in sdcard image + + Updated/fixed packages: android-tools, apache, bind, binutils, + busybox, civetweb, cjson, copas, davfs2, docker-cli, + docker-containerd, docker-engine, dovecot, dovecot-pigeonhole, + freerdp, gerbera, ghostscript, git, gnutls, go, gst-omx, + gst1-plugins-base, gst1-plugins-ugly, haproxy, hostapd, + ipsec-tools, libfreefare, libfuse, libkrb5, libpng, libxml2, + libxslt, linknx, linux, linux-firmware, linux-tools, live555, + lldp, lrzsz, lynx, madplay, make, minicom, mongodb, msmtp, + musl, mutt, neon, netsnmp, numactl, opus, perl, php, + postgresql, pure-ftpd, python-urllib3, python3, qt5base, + rapidxml, rpm, rsyslog, ruby, runc, samba4, sane-backends, + softether, stunnel, sysklogd, syslinux, syslog-ng, + systemd-bootchart, thttpd, thrift, tiff, tor, tpm2-tools, + tpm2-tss, webkitgtk, yaffs2utils, wget, wpa_supplicant, wsapi, + xapp_xfd, xapp_xload, xlib_libXpm, xserver_xorg-server, xz, + znc + + Issues resolved (http://bugs.uclibc.org): + + #11756: package/syslinux: MBR's don't fit because of binutils.. + #11761: Building custom kernel 5.1-rc3 or later breaks on objtool + +2019.02.1, Released March 29th, 2019 + + Important / security related fixes. + + pkg-generic: Only tweak .la files needing it to ensure they + are not included in subsequent package file lists. + + test-pkg: Generate a basic package config if none is + specified. + + Updated/fixed packages: asterisk, avahi, bash, beecrypt, + binutils, busybox, clamav, cups, efl, eigen, fetchmail, file, + flashrom, fltk, gerbera, git, glibc, gnuradio, go, + gst-plugins-bad, intel-gmmlib, jq, kexec, kf5-modemmanager-qt, + leveldb, libcurl, libdrm, libftdi1, libglib2, libiio, libpcap, + libseccomp, libssh2, log4cplus, lvm2, mariadb, mender, + mongodb, mosquitto, musl, nodejs, ntp, openjpeg, owfs, php, + pure-ftpd, putty, python-aiojobs, qt5webkit, rdesktop, samba4, + sunxi-tools, supertux, swupdate, tpm2-abrmd, tpm2-tss, + wavemon, wireshark, vsftpd, xapp_xdm, xen, + xdriver_xf86-video-fbdev, xlib_libXdmcp + + Issues resolved (http://bugs.uclibc.org): + + #11716: Typo on website, saying latest release is 2018.2.11 + 2019.02, released March 4th, 2019 Minor fixes. diff --git a/bsp/buildroot/Config.in.legacy b/bsp/buildroot/Config.in.legacy index 25b48fba..7e8b5150 100644 --- a/bsp/buildroot/Config.in.legacy +++ b/bsp/buildroot/Config.in.legacy @@ -146,6 +146,12 @@ endif comment "Legacy options removed in 2019.02" +config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_APEXSINK + bool "gst-plugins-bad apexsink option removed" + select BR2_LEGACY + help + The gst-plugins-bad apexsink option was removed. + config BR2_PACKAGE_QT bool "qt package removed" select BR2_LEGACY diff --git a/bsp/buildroot/DEVELOPERS b/bsp/buildroot/DEVELOPERS index f9b6a0e7..8a0d1260 100644 --- a/bsp/buildroot/DEVELOPERS +++ b/bsp/buildroot/DEVELOPERS @@ -168,6 +168,7 @@ F: package/sysdig/ N: Anisse Astier F: package/go/ F: package/nghttp2/ +F: package/pkg-golang.mk N: Anthony Viallard F: package/gnuplot/ @@ -420,8 +421,7 @@ F: package/pdmenu/ N: Carlo Caione F: package/sunxi-boards/ -N: Carlos Santos -F: package/aer-inject/ +N: Carlos Santos F: package/busybox/ F: package/gtest/ F: package/initscripts/ @@ -484,6 +484,7 @@ F: package/docker-engine/ F: package/docker-proxy/ F: package/go/ F: package/mosh/ +F: package/pkg-golang.mk F: package/rtl8821au/ F: package/runc/ F: package/tini/ diff --git a/bsp/buildroot/Makefile b/bsp/buildroot/Makefile index 2b91d409..c510b7cb 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 +export BR2_VERSION := 2019.02.2 # Actual time the release is cut (for reproducible builds) -BR2_VERSION_EPOCH = 1551735000 +BR2_VERSION_EPOCH = 1556527000 # Save running make version since it's clobbered by the make package RUNNING_MAKE_VERSION := $(MAKE_VERSION) @@ -1170,7 +1170,7 @@ release: OUT = buildroot-$(BR2_VERSION) release: git archive --format=tar --prefix=$(OUT)/ HEAD > $(OUT).tar $(MAKE) O=$(OUT) manual-html manual-text manual-pdf - $(MAKE) O=$(OUT) manual-clean + $(MAKE) O=$(OUT) clean tar rf $(OUT).tar $(OUT) gzip -9 -c < $(OUT).tar > $(OUT).tar.gz bzip2 -9 -c < $(OUT).tar > $(OUT).tar.bz2 diff --git a/bsp/buildroot/VERSION b/bsp/buildroot/VERSION index 8c4abf0c..7a25a214 100644 --- a/bsp/buildroot/VERSION +++ b/bsp/buildroot/VERSION @@ -1 +1 @@ -buildroot 2019_02 +buildroot 2019_02_2 diff --git a/bsp/buildroot/board/amarula/vyasa/patches/uboot/0001-include-configs-Increase-CONFIG_SYS_BOOTM_LEN-to-16M.patch b/bsp/buildroot/board/amarula/vyasa/patches/uboot/0001-include-configs-Increase-CONFIG_SYS_BOOTM_LEN-to-16M.patch new file mode 100644 index 00000000..64a147c0 --- /dev/null +++ b/bsp/buildroot/board/amarula/vyasa/patches/uboot/0001-include-configs-Increase-CONFIG_SYS_BOOTM_LEN-to-16M.patch @@ -0,0 +1,35 @@ +From 8ee2b03039cccf64402a72dea2185d7fe1972729 Mon Sep 17 00:00:00 2001 +From: Shyam Saini +Date: Mon, 15 Apr 2019 16:16:16 +0530 +Subject: [PATCH] include: configs: Increase CONFIG_SYS_BOOTM_LEN to 16MB + +The default value of CONFIG_SYS_BOOTM_LEN is 0x800000 i.e, 8MB which +causes board reset because of larger uImage size. + +Error log snippet: + Booting using the fdt blob at 0x1f00000 + Loading Kernel Image ... Image too large: increase CONFIG_SYS_BOOTM_LEN +Must RESET board to recover +resetting ... + +Signed-off-by: Shyam Saini +--- + include/configs/rk3288_common.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h +index 72a54bc0ab..eab7cf4d86 100644 +--- a/include/configs/rk3288_common.h ++++ b/include/configs/rk3288_common.h +@@ -9,6 +9,8 @@ + #include + #include "rockchip-common.h" + ++#define CONFIG_SYS_BOOTM_LEN (16 << 20) /* 16MB */ ++ + #define CONFIG_SKIP_LOWLEVEL_INIT_ONLY + #define CONFIG_SYS_MALLOC_LEN (32 << 20) + #define CONFIG_SYS_CBSIZE 1024 +-- +2.11.0 + diff --git a/bsp/buildroot/board/asus/tinker/patches/uboot/0001-include-configs-Increase-CONFIG_SYS_BOOTM_LEN-to-16M.patch b/bsp/buildroot/board/asus/tinker/patches/uboot/0001-include-configs-Increase-CONFIG_SYS_BOOTM_LEN-to-16M.patch new file mode 100644 index 00000000..64a147c0 --- /dev/null +++ b/bsp/buildroot/board/asus/tinker/patches/uboot/0001-include-configs-Increase-CONFIG_SYS_BOOTM_LEN-to-16M.patch @@ -0,0 +1,35 @@ +From 8ee2b03039cccf64402a72dea2185d7fe1972729 Mon Sep 17 00:00:00 2001 +From: Shyam Saini +Date: Mon, 15 Apr 2019 16:16:16 +0530 +Subject: [PATCH] include: configs: Increase CONFIG_SYS_BOOTM_LEN to 16MB + +The default value of CONFIG_SYS_BOOTM_LEN is 0x800000 i.e, 8MB which +causes board reset because of larger uImage size. + +Error log snippet: + Booting using the fdt blob at 0x1f00000 + Loading Kernel Image ... Image too large: increase CONFIG_SYS_BOOTM_LEN +Must RESET board to recover +resetting ... + +Signed-off-by: Shyam Saini +--- + include/configs/rk3288_common.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h +index 72a54bc0ab..eab7cf4d86 100644 +--- a/include/configs/rk3288_common.h ++++ b/include/configs/rk3288_common.h +@@ -9,6 +9,8 @@ + #include + #include "rockchip-common.h" + ++#define CONFIG_SYS_BOOTM_LEN (16 << 20) /* 16MB */ ++ + #define CONFIG_SKIP_LOWLEVEL_INIT_ONLY + #define CONFIG_SYS_MALLOC_LEN (32 << 20) + #define CONFIG_SYS_CBSIZE 1024 +-- +2.11.0 + diff --git a/bsp/buildroot/board/raspberrypi/genimage-raspberrypi3-64.cfg b/bsp/buildroot/board/raspberrypi/genimage-raspberrypi3-64.cfg index 0d0ca750..af1d17cd 100644 --- a/bsp/buildroot/board/raspberrypi/genimage-raspberrypi3-64.cfg +++ b/bsp/buildroot/board/raspberrypi/genimage-raspberrypi3-64.cfg @@ -9,6 +9,7 @@ image boot.vfat { "rpi-firmware/config.txt", "rpi-firmware/fixup.dat", "rpi-firmware/start.elf", + "rpi-firmware/overlays", "Image" } } diff --git a/bsp/buildroot/boot/syslinux/0014-Fix-build-with-binutils-note-gnu-property-section.patch b/bsp/buildroot/boot/syslinux/0014-Fix-build-with-binutils-note-gnu-property-section.patch new file mode 100644 index 00000000..fedd8156 --- /dev/null +++ b/bsp/buildroot/boot/syslinux/0014-Fix-build-with-binutils-note-gnu-property-section.patch @@ -0,0 +1,47 @@ +From beb526ca925983c7da229043790ecd552d910650 Mon Sep 17 00:00:00 2001 +From: Christian Stewart +Date: Thu, 4 Apr 2019 23:24:31 -0700 +Subject: [PATCH] Fix build with binutils note gnu property section + +This fixes the following build error with newer binutils: + + objcopy -O binary mbr.elf mbr.bin + perl /build/syslinux/src/syslinux/mbr/checksize.pl mbr.bin + mbr.bin: too big (452 > 440) + +Corresponding bug reports: + + - https://bugs.archlinux.org/task/60405 + - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=906414 + +Strips the .note.gnu.property in the linker scripts for the MBRs. + +Signed-off-by: Christian Stewart +--- + mbr/i386/mbr.ld | 1 + + mbr/x86_64/mbr.ld | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/mbr/i386/mbr.ld b/mbr/i386/mbr.ld +index d14ba802..53683461 100644 +--- a/mbr/i386/mbr.ld ++++ b/mbr/i386/mbr.ld +@@ -70,4 +70,5 @@ SECTIONS + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } + /DISCARD/ : { *(.note.GNU-stack) } ++ /DISCARD/ : { *(.note.gnu.property) } + } +diff --git a/mbr/x86_64/mbr.ld b/mbr/x86_64/mbr.ld +index ae27d49a..b8c0d895 100644 +--- a/mbr/x86_64/mbr.ld ++++ b/mbr/x86_64/mbr.ld +@@ -69,4 +69,5 @@ SECTIONS + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } + /DISCARD/ : { *(.note.GNU-stack) } ++ /DISCARD/ : { *(.note.gnu.property) } + } +-- +2.21.0 + diff --git a/bsp/buildroot/configs/amarula_vyasa_rk3288_defconfig b/bsp/buildroot/configs/amarula_vyasa_rk3288_defconfig index 88fb6abb..b1267f85 100644 --- a/bsp/buildroot/configs/amarula_vyasa_rk3288_defconfig +++ b/bsp/buildroot/configs/amarula_vyasa_rk3288_defconfig @@ -44,3 +44,4 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/amarula/vyasa/genimage.cfg" BR2_ROOTFS_POST_BUILD_SCRIPT="board/amarula/vyasa/post-build.sh" +BR2_GLOBAL_PATCH_DIR="board/amarula/vyasa/patches/" diff --git a/bsp/buildroot/configs/asus_tinker_rk3288_defconfig b/bsp/buildroot/configs/asus_tinker_rk3288_defconfig index a0df3de8..b14cb0a2 100644 --- a/bsp/buildroot/configs/asus_tinker_rk3288_defconfig +++ b/bsp/buildroot/configs/asus_tinker_rk3288_defconfig @@ -43,3 +43,4 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/asus/tinker/genimage.cfg" BR2_ROOTFS_POST_BUILD_SCRIPT="board/asus/tinker/post-build.sh" +BR2_GLOBAL_PATCH_DIR="board/asus/tinker/patches/" diff --git a/bsp/buildroot/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig b/bsp/buildroot/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig index 9985b647..1ae4b853 100644 --- a/bsp/buildroot/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig +++ b/bsp/buildroot/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig @@ -67,6 +67,7 @@ BR2_PACKAGE_HTOP=y BR2_PACKAGE_VIM=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" diff --git a/bsp/buildroot/configs/atmel_sama5d2_xplained_mmc_dev_defconfig b/bsp/buildroot/configs/atmel_sama5d2_xplained_mmc_dev_defconfig index bc5414c4..e140a44e 100644 --- a/bsp/buildroot/configs/atmel_sama5d2_xplained_mmc_dev_defconfig +++ b/bsp/buildroot/configs/atmel_sama5d2_xplained_mmc_dev_defconfig @@ -83,6 +83,7 @@ BR2_PACKAGE_VIM=y # Filesystem BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # Bootloaders BR2_TARGET_AT91BOOTSTRAP3=y diff --git a/bsp/buildroot/configs/atmel_sama5d3_xplained_mmc_dev_defconfig b/bsp/buildroot/configs/atmel_sama5d3_xplained_mmc_dev_defconfig index a1e34ab8..da1c4eb7 100644 --- a/bsp/buildroot/configs/atmel_sama5d3_xplained_mmc_dev_defconfig +++ b/bsp/buildroot/configs/atmel_sama5d3_xplained_mmc_dev_defconfig @@ -82,6 +82,7 @@ BR2_PACKAGE_VIM=y # Filesystem BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # Bootloaders BR2_TARGET_AT91BOOTSTRAP3=y diff --git a/bsp/buildroot/configs/atmel_sama5d4_xplained_mmc_dev_defconfig b/bsp/buildroot/configs/atmel_sama5d4_xplained_mmc_dev_defconfig index f20e114f..cfac503f 100644 --- a/bsp/buildroot/configs/atmel_sama5d4_xplained_mmc_dev_defconfig +++ b/bsp/buildroot/configs/atmel_sama5d4_xplained_mmc_dev_defconfig @@ -83,6 +83,7 @@ BR2_PACKAGE_VIM=y # Filesystem BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # Bootloaders BR2_TARGET_AT91BOOTSTRAP3=y diff --git a/bsp/buildroot/configs/beaglebone_defconfig b/bsp/buildroot/configs/beaglebone_defconfig index 2d9fba57..b4f152fd 100644 --- a/bsp/buildroot/configs/beaglebone_defconfig +++ b/bsp/buildroot/configs/beaglebone_defconfig @@ -26,3 +26,5 @@ BR2_TARGET_UBOOT_SPL_NAME="MLO" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/bsp/buildroot/configs/qemu_nios2_10m50_defconfig b/bsp/buildroot/configs/qemu_nios2_10m50_defconfig index d7e7c335..c07abc37 100644 --- a/bsp/buildroot/configs/qemu_nios2_10m50_defconfig +++ b/bsp/buildroot/configs/qemu_nios2_10m50_defconfig @@ -8,3 +8,6 @@ BR2_TARGET_ROOTFS_INITRAMFS=y # Linux headers same as kernel, a 4.19 series BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y + +# Kernel needs mkimage +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/bsp/buildroot/configs/qemu_ppc_mpc8544ds_defconfig b/bsp/buildroot/configs/qemu_ppc_mpc8544ds_defconfig index d6ebef75..98985b7b 100644 --- a/bsp/buildroot/configs/qemu_ppc_mpc8544ds_defconfig +++ b/bsp/buildroot/configs/qemu_ppc_mpc8544ds_defconfig @@ -23,3 +23,6 @@ BR2_LINUX_KERNEL_VMLINUX=y # Serial port config BR2_TARGET_GENERIC_GETTY=y BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" + +# Kernel needs mkimage +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/bsp/buildroot/configs/qemu_ppc_virtex_ml507_defconfig b/bsp/buildroot/configs/qemu_ppc_virtex_ml507_defconfig index c71465dd..eddaf355 100644 --- a/bsp/buildroot/configs/qemu_ppc_virtex_ml507_defconfig +++ b/bsp/buildroot/configs/qemu_ppc_virtex_ml507_defconfig @@ -21,3 +21,6 @@ BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/ppc-virtex-ml507/linux.config" BR2_LINUX_KERNEL_VMLINUX=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="virtex440-ml507" + +# Kernel needs mkimage +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/bsp/buildroot/docs/manual/manual.html b/bsp/buildroot/docs/manual/manual.html index b2102ed2..e88c665c 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 manual generated on 2019-03-04 -21:52:42 UTC from git revision b9674056fb

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.2 manual generated on 2019-04-29 +08:38:29 UTC from git revision 3b4b3e7cd4

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 @@ -272,7 +272,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 +547,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 @@ -2670,7 +2670,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 @@ -4979,7 +4979,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. @@ -5061,7 +5061,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 970d0230..73d341f7 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 627dadc7..d9c2e6fe 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 manual generated on 2019-03-04 21:52:47 UTC from -git revision b9674056fb +Buildroot 2019.02.2 manual generated on 2019-04-29 08:38:35 UTC from +git revision 3b4b3e7cd4 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= -b9674056fbe8d37c1b11ad524075f21dc5deaa15] file in the Buildroot +3b4b3e7cd4618e56f5c6a8ea098ffd573a2e868e] file in the Buildroot sources for the full text of this license. Copyright © 2004-2019 The Buildroot developers diff --git a/bsp/buildroot/docs/website/download.html b/bsp/buildroot/docs/website/download.html index 3fc6c289..a3d69cdc 100644 --- a/bsp/buildroot/docs/website/download.html +++ b/bsp/buildroot/docs/website/download.html @@ -8,7 +8,7 @@
      Download
      -

      Latest stable / long term support release: 2018.02.11

      +

      Latest stable / long term support release: 2019.02

      diff --git a/bsp/buildroot/fs/common.mk b/bsp/buildroot/fs/common.mk index a560417c..b361ecce 100644 --- a/bsp/buildroot/fs/common.mk +++ b/bsp/buildroot/fs/common.mk @@ -138,7 +138,7 @@ $$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME): $$(ROOTFS_$(2)_DEPENDENCIES) $$(call PRINTF,$$(ROOTFS_REPRODUCIBLE)) >> $$(FAKEROOT_SCRIPT) $$(call PRINTF,$$(ROOTFS_$(2)_CMD)) >> $$(FAKEROOT_SCRIPT) chmod a+x $$(FAKEROOT_SCRIPT) - PATH=$$(BR_PATH) $$(HOST_DIR)/bin/fakeroot -- $$(FAKEROOT_SCRIPT) + PATH=$$(BR_PATH) FAKEROOTDONTTRYCHOWN=1 $$(HOST_DIR)/bin/fakeroot -- $$(FAKEROOT_SCRIPT) $(Q)rm -rf $$(TARGET_DIR) ifneq ($$(ROOTFS_$(2)_COMPRESS_CMD),) PATH=$$(BR_PATH) $$(ROOTFS_$(2)_COMPRESS_CMD) $$@ > $$@$$(ROOTFS_$(2)_COMPRESS_EXT) diff --git a/bsp/buildroot/linux/Config.in b/bsp/buildroot/linux/Config.in index f17334ae..f35c9ec4 100644 --- a/bsp/buildroot/linux/Config.in +++ b/bsp/buildroot/linux/Config.in @@ -35,7 +35,7 @@ config BR2_LINUX_KERNEL_LATEST_VERSION bool "Latest version (4.19)" config BR2_LINUX_KERNEL_LATEST_CIP_VERSION - bool "Latest CIP SLTS version (v4.4.171-cip30)" + bool "Latest CIP SLTS version (v4.4.176-cip31)" help CIP launched in the spring of 2016 to address the needs of organizations in industries such as power generation and @@ -122,8 +122,8 @@ endif config BR2_LINUX_KERNEL_VERSION string - default "4.19.25" if BR2_LINUX_KERNEL_LATEST_VERSION - default "v4.4.171-cip30" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION + default "4.19.36" 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 default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL @@ -257,7 +257,7 @@ config BR2_LINUX_KERNEL_SIMPLEIMAGE config BR2_LINUX_KERNEL_IMAGE bool "Image" - depends on BR2_aarch64 + depends on BR2_aarch64 || BR2_riscv config BR2_LINUX_KERNEL_LINUX_BIN bool "linux.bin" diff --git a/bsp/buildroot/linux/linux.hash b/bsp/buildroot/linux/linux.hash index d7ddd1c8..76cc5472 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 1cf544308195250805e0731c716691bea4c1ed29e03e6f9ae5be6dc16785a504 linux-4.20.12.tar.xz -sha256 7ec71d90d6e96e6f741676d157ac06f30c75be4eaf1649143a3c8b7d4f919731 linux-4.19.25.tar.xz -sha256 7aa43e34e4c9e5965da29cef5ae196e06006f8c0d1d65fd755a2f197f0796a11 linux-4.14.103.tar.xz -sha256 c09af067af62d299f5e33c279968de58c88fb7c59bd05e8f3bb460f611f60515 linux-4.9.160.tar.xz -sha256 27da5401aa691762f3361c143f453877f499c02ea6c9c743b09538cb1af1c75d linux-4.4.176.tar.xz +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 diff --git a/bsp/buildroot/linux/linux.mk b/bsp/buildroot/linux/linux.mk index 2b5d096e..51fd41fa 100644 --- a/bsp/buildroot/linux/linux.mk +++ b/bsp/buildroot/linux/linux.mk @@ -37,15 +37,10 @@ else ifneq ($(findstring -rc,$(LINUX_VERSION)),) LINUX_SITE = https://git.kernel.org/torvalds/t else LINUX_SOURCE = linux-$(LINUX_VERSION).tar.xz -# In X.Y.Z, get X and Y. We replace dots and dashes by spaces in order -# to use the $(word) function. We support versions such as 4.0, 3.1, -# 2.6.32, 2.6.32-rc1, 3.0-rc6, etc. ifeq ($(findstring x2.6.,x$(LINUX_VERSION)),x2.6.) LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v2.6 -else ifeq ($(findstring x3.,x$(LINUX_VERSION)),x3.) -LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v3.x -else ifeq ($(findstring x4.,x$(LINUX_VERSION)),x4.) -LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v4.x +else +LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v$(firstword $(subst ., ,$(LINUX_VERSION))).x endif endif @@ -64,6 +59,10 @@ BR_NO_CHECK_HASH_FOR += $(notdir $(LINUX_PATCHES)) # be directories in the patch list (unlike for other packages). LINUX_PATCH = $(filter ftp://% http://% https://%,$(LINUX_PATCHES)) +LINUX_MAKE_ENV = \ + $(TARGET_MAKE_ENV) \ + BR_BINARIES_DIR=$(BINARIES_DIR) + LINUX_INSTALL_IMAGES = YES LINUX_DEPENDENCIES = host-kmod @@ -100,7 +99,13 @@ LINUX_DEPENDENCIES += host-openssl endif ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y) -LINUX_DEPENDENCIES += host-elfutils +LINUX_DEPENDENCIES += host-elfutils host-pkgconf +LINUX_MAKE_ENV += \ + PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ + PKG_CONFIG_SYSROOT_DIR="/" \ + PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \ + PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \ + PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/share/pkgconfig" endif # If host-uboot-tools is selected by the user, assume it is needed to @@ -124,10 +129,6 @@ LINUX_MAKE_FLAGS = \ CROSS_COMPILE="$(TARGET_CROSS)" \ DEPMOD=$(HOST_DIR)/sbin/depmod -LINUX_MAKE_ENV = \ - $(TARGET_MAKE_ENV) \ - BR_BINARIES_DIR=$(BINARIES_DIR) - ifeq ($(BR2_REPRODUCIBLE),y) LINUX_MAKE_ENV += \ KBUILD_BUILD_VERSION=1 \ @@ -438,15 +439,16 @@ endif endif # Compilation. We make sure the kernel gets rebuilt when the -# configuration has changed. +# configuration has changed. We call the 'all' and +# '$(LINUX_TARGET_NAME)' targets separately because calling them in +# the same $(MAKE) invocation has shown to cause parallel build +# issues. define LINUX_BUILD_CMDS $(foreach dts,$(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)), \ cp -f $(dts) $(LINUX_ARCH_PATH)/boot/dts/ ) + $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) all $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_TARGET_NAME) - @if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \ - $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) modules ; \ - fi $(LINUX_BUILD_DTB) $(LINUX_APPEND_DTB) endef diff --git a/bsp/buildroot/package/am33x-cm3/S93-am335x-pm-firmware-load b/bsp/buildroot/package/am33x-cm3/S93-am335x-pm-firmware-load old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/android-tools/0005-Use-pkgconf-to-get-libs-deps.patch b/bsp/buildroot/package/android-tools/0005-Use-pkgconf-to-get-libs-deps.patch new file mode 100644 index 00000000..63ea1fb6 --- /dev/null +++ b/bsp/buildroot/package/android-tools/0005-Use-pkgconf-to-get-libs-deps.patch @@ -0,0 +1,35 @@ +makefiles: use pkgconf to get libs deps + +LIBS lists library dependencies without taking into account static linking +that need ordered listing and more libraries listed since differently from +shared linking dependency is not transparent(i.e. -lcrypto could need +-latomic etc.). + +Replace -lcrypto with `pkg-config --libs libcrypto` command to be sure all +needed libraries are listed during linking. + +Signed-off-by: Giulio Benetti +--- +diff -urpN android-tools-4.2.2+git20130218.orig/debian/makefiles/adbd.mk android-tools-4.2.2+git20130218/debian/makefiles/adbd.mk +--- android-tools-4.2.2+git20130218.orig/debian/makefiles/adbd.mk 2019-04-08 16:05:02.967710428 +0200 ++++ android-tools-4.2.2+git20130218/debian/makefiles/adbd.mk 2019-04-08 16:30:42.463084426 +0200 +@@ -44,7 +44,7 @@ CPPFLAGS+= -DADBD_NON_ANDROID + CPPFLAGS+= -I$(SRCDIR)/core/adbd + CPPFLAGS+= -I$(SRCDIR)/core/include + +-LIBS+= -lc -lpthread -lz -lcrypto -lcrypt ++LIBS+= -lc -lpthread -lz `pkg-config --libs libcrypto` -lcrypt + + OBJS= $(patsubst %, %.o, $(basename $(SRCS))) + +diff -urpN android-tools-4.2.2+git20130218.orig/debian/makefiles/adb.mk android-tools-4.2.2+git20130218/debian/makefiles/adb.mk +--- android-tools-4.2.2+git20130218.orig/debian/makefiles/adb.mk 2019-04-08 16:05:02.959701400 +0200 ++++ android-tools-4.2.2+git20130218/debian/makefiles/adb.mk 2019-04-08 16:31:06.529426250 +0200 +@@ -41,7 +41,7 @@ CPPFLAGS+= -DHAVE_TERMIO_H + CPPFLAGS+= -I$(SRCDIR)/core/adb + CPPFLAGS+= -I$(SRCDIR)/core/include + +-LIBS+= -lc -lpthread -lz -lcrypto ++LIBS+= -lc -lpthread -lz `pkg-config --libs libcrypto` + + OBJS= $(SRCS:.c=.o) diff --git a/bsp/buildroot/package/android-tools/0005-fix-static-link-zlib.patch b/bsp/buildroot/package/android-tools/0005-fix-static-link-zlib.patch deleted file mode 100644 index dff4df6e..00000000 --- a/bsp/buildroot/package/android-tools/0005-fix-static-link-zlib.patch +++ /dev/null @@ -1,36 +0,0 @@ -Fix static linking of adb/adbd - -Both adb and adbd use OpenSSL, which indirectly uses zlib. Since -adb/adbd also use zlib directly -lz is included in the linker flags, -but not at the right position to ensure that static linking works: to -make it possible for OpenSSL symbols to see zlib symbols, -lz must -appear after -lcrypto. - -Signed-off-by: Thomas Petazzoni - -Index: b/debian/makefiles/adb.mk -=================================================================== ---- a/debian/makefiles/adb.mk -+++ b/debian/makefiles/adb.mk -@@ -41,7 +41,7 @@ - CPPFLAGS+= -I$(SRCDIR)/core/adb - CPPFLAGS+= -I$(SRCDIR)/core/include - --LIBS+= -lc -lpthread -lz -lcrypto -+LIBS+= -lc -lpthread -lcrypto -lz - - OBJS= $(SRCS:.c=.o) - -Index: b/debian/makefiles/adbd.mk -=================================================================== ---- a/debian/makefiles/adbd.mk -+++ b/debian/makefiles/adbd.mk -@@ -44,7 +44,7 @@ - CPPFLAGS+= -I$(SRCDIR)/core/adbd - CPPFLAGS+= -I$(SRCDIR)/core/include - --LIBS+= -lc -lpthread -lz -lcrypto -lcrypt -+LIBS+= -lc -lpthread -lcrypto -lz -lcrypt - - OBJS= $(patsubst %, %.o, $(basename $(SRCS))) - diff --git a/bsp/buildroot/package/android-tools/android-tools.mk b/bsp/buildroot/package/android-tools/android-tools.mk index 6f6ca772..3d5c76a3 100644 --- a/bsp/buildroot/package/android-tools/android-tools.mk +++ b/bsp/buildroot/package/android-tools/android-tools.mk @@ -11,6 +11,8 @@ ANDROID_TOOLS_EXTRA_DOWNLOADS = android-tools_$(ANDROID_TOOLS_VERSION)-3ubuntu41 HOST_ANDROID_TOOLS_EXTRA_DOWNLOADS = $(ANDROID_TOOLS_EXTRA_DOWNLOADS) ANDROID_TOOLS_LICENSE = Apache-2.0 ANDROID_TOOLS_LICENSE_FILES = debian/copyright +ANDROID_TOOLS_DEPENDENCIES = host-pkgconf +HOST_ANDROID_TOOLS_DEPENDENCIES = host-pkgconf # Extract the Debian tarball inside the sources define ANDROID_TOOLS_DEBIAN_EXTRACT diff --git a/bsp/buildroot/package/apache/apache.hash b/bsp/buildroot/package/apache/apache.hash index fd42cd48..0c3a1d53 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.38.tar.bz2.sha256 -sha256 7dc65857a994c98370dc4334b260101a7a04be60e6e74a5c57a6dee1bc8f394a httpd-2.4.38.tar.bz2 +# From http://archive.apache.org/dist/httpd/httpd-2.4.39.tar.bz2.sha256 +sha256 b4ca9d05773aa59b54d66cd8f4744b945289f084d3be17d7981d1783a5decfa2 httpd-2.4.39.tar.bz2 # Locally computed sha256 c49c0819a726b70142621715dae3159c47b0349c2bc9db079070f28dadac0229 LICENSE diff --git a/bsp/buildroot/package/apache/apache.mk b/bsp/buildroot/package/apache/apache.mk index dd8f175f..ebb28b65 100644 --- a/bsp/buildroot/package/apache/apache.mk +++ b/bsp/buildroot/package/apache/apache.mk @@ -4,7 +4,7 @@ # ################################################################################ -APACHE_VERSION = 2.4.38 +APACHE_VERSION = 2.4.39 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/asterisk/asterisk.hash b/bsp/buildroot/package/asterisk/asterisk.hash index e126372f..d8cc5669 100644 --- a/bsp/buildroot/package/asterisk/asterisk.hash +++ b/bsp/buildroot/package/asterisk/asterisk.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 d74ba84ad92cd710eb071940e6057ef644d71864431d91aaafe0717a8939afc3 asterisk-16.1.1.tar.gz +sha256 c022e9d5410ed94ab1aa51ba1e2a8b196f0dfa15bcd0bd545d06efee4c786578 asterisk-16.2.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 3b4d97a2..65f8d3fd 100644 --- a/bsp/buildroot/package/asterisk/asterisk.mk +++ b/bsp/buildroot/package/asterisk/asterisk.mk @@ -4,7 +4,7 @@ # ################################################################################ -ASTERISK_VERSION = 16.1.1 +ASTERISK_VERSION = 16.2.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/avahi/0001-Drop-legacy-unicast-queries-from-address-not-on-loca.patch b/bsp/buildroot/package/avahi/0001-Drop-legacy-unicast-queries-from-address-not-on-loca.patch new file mode 100644 index 00000000..0e8408c8 --- /dev/null +++ b/bsp/buildroot/package/avahi/0001-Drop-legacy-unicast-queries-from-address-not-on-loca.patch @@ -0,0 +1,48 @@ +From e111def44a7df4624a4aa3f85fe98054bffb6b4f Mon Sep 17 00:00:00 2001 +From: Trent Lloyd +Date: Sat, 22 Dec 2018 09:06:07 +0800 +Subject: [PATCH] Drop legacy unicast queries from address not on local link + +When handling legacy unicast queries, ensure that the source IP is +inside a subnet on the local link, otherwise drop the packet. + +Fixes #145 +Fixes #203 +CVE-2017-6519 +CVE-2018-100084 + +Backported from: e111def44a7df4624a4aa3f85fe98054bffb6b4f +Signed-off-by: Artem Panfilov +--- + avahi-core/server.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/avahi-core/server.c b/avahi-core/server.c +index a2cb19a8..a2580e38 100644 +--- a/avahi-core/server.c ++++ b/avahi-core/server.c +@@ -930,6 +930,7 @@ static void dispatch_packet(AvahiServer *s, AvahiDnsPacket *p, const AvahiAddres + + if (avahi_dns_packet_is_query(p)) { + int legacy_unicast = 0; ++ char t[AVAHI_ADDRESS_STR_MAX]; + + /* For queries EDNS0 might allow ARCOUNT != 0. We ignore the + * AR section completely here, so far. Until the day we add +@@ -947,6 +948,13 @@ static void dispatch_packet(AvahiServer *s, AvahiDnsPacket *p, const AvahiAddres + legacy_unicast = 1; + } + ++ if (!is_mdns_mcast_address(dst_address) && ++ !avahi_interface_address_on_link(i, src_address)) { ++ ++ avahi_log_debug("Received non-local unicast query from host %s on interface '%s.%i'.", avahi_address_snprint(t, sizeof(t), src_address), i->hardware->name, i->protocol); ++ return; ++ } ++ + if (legacy_unicast) + reflect_legacy_unicast_query_packet(s, p, i, src_address, port); + +-- +2.19.1 + diff --git a/bsp/buildroot/package/bash/0001-bash44-019.patch b/bsp/buildroot/package/bash/0001-bash44-019.patch new file mode 100644 index 00000000..b3d2f331 --- /dev/null +++ b/bsp/buildroot/package/bash/0001-bash44-019.patch @@ -0,0 +1,54 @@ +From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-019 + +Signed-off-by: Peter Korsgaard + + BASH PATCH REPORT + ================= + +Bash-Release: 4.4 +Patch-ID: bash44-019 + +Bug-Reported-by: Kieran Grant +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2018-02/msg00002.html + +Bug-Description: + +With certain values for PS1, especially those that wrap onto three or more +lines, readline will miscalculate the number of invisible characters, +leading to crashes and core dumps. + +Patch (apply with `patch -p0'): + +*** bash-4.4.18/lib/readline/display.c 2016-07-28 14:49:33.000000000 -0400 +--- b/lib/readline/display.c 2018-02-03 19:19:35.000000000 -0500 +*************** +*** 772,776 **** + wadjust = (newlines == 0) + ? prompt_invis_chars_first_line +! : ((newlines == prompt_lines_estimate) ? wrap_offset : prompt_invis_chars_first_line); + + /* fix from Darin Johnson for prompt string with +--- b/788,794 ---- + wadjust = (newlines == 0) + ? prompt_invis_chars_first_line +! : ((newlines == prompt_lines_estimate) +! ? (wrap_offset - prompt_invis_chars_first_line) +! : 0); + + /* fix from Darin Johnson for prompt string with +*** bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 18 + + #endif /* _PATCHLEVEL_H_ */ +--- b/26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 19 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/bsp/buildroot/package/bash/0002-bash44-020.patch b/bsp/buildroot/package/bash/0002-bash44-020.patch new file mode 100644 index 00000000..20f3abb5 --- /dev/null +++ b/bsp/buildroot/package/bash/0002-bash44-020.patch @@ -0,0 +1,181 @@ +From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-020 + +Signed-off-by: Peter Korsgaard + + BASH PATCH REPORT + ================= + +Bash-Release: 4.4 +Patch-ID: bash44-020 + +Bug-Reported-by: Graham Northup +Bug-Reference-ID: <537530c3-61f0-349b-9de6-fa4e2487f428@clarkson.edu> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2017-02/msg00025.html + +Bug-Description: + +In circumstances involving long-running scripts that create and reap many +processes, it is possible for the hash table bash uses to store exit +statuses from asynchronous processes to develop loops. This patch fixes +the loop causes and adds code to detect any future loops. + +Patch (apply with `patch -p0'): + +*** bash-4.4-patched/jobs.c 2016-11-11 13:42:55.000000000 -0500 +--- b/jobs.c 2017-02-22 15:16:28.000000000 -0500 +*************** +*** 813,818 **** + struct pidstat *ps; + +! bucket = pshash_getbucket (pid); +! psi = bgp_getindex (); + ps = &bgpids.storage[psi]; + +--- b/796,815 ---- + struct pidstat *ps; + +! /* bucket == existing chain of pids hashing to same value +! psi = where were going to put this pid/status */ +! +! bucket = pshash_getbucket (pid); /* index into pidstat_table */ +! psi = bgp_getindex (); /* bgpids.head, index into storage */ +! +! /* XXX - what if psi == *bucket? */ +! if (psi == *bucket) +! { +! #ifdef DEBUG +! internal_warning ("hashed pid %d (pid %d) collides with bgpids.head, skipping", psi, pid); +! #endif +! bgpids.storage[psi].pid = NO_PID; /* make sure */ +! psi = bgp_getindex (); /* skip to next one */ +! } +! + ps = &bgpids.storage[psi]; + +*************** +*** 842,845 **** +--- b/839,843 ---- + { + struct pidstat *ps; ++ ps_index_t *bucket; + + ps = &bgpids.storage[psi]; +*************** +*** 847,856 **** + return; + +! if (ps->bucket_next != NO_PID) + bgpids.storage[ps->bucket_next].bucket_prev = ps->bucket_prev; +! if (ps->bucket_prev != NO_PID) + bgpids.storage[ps->bucket_prev].bucket_next = ps->bucket_next; + else +! *(pshash_getbucket (ps->pid)) = ps->bucket_next; + } + +--- b/845,861 ---- + return; + +! if (ps->bucket_next != NO_PIDSTAT) + bgpids.storage[ps->bucket_next].bucket_prev = ps->bucket_prev; +! if (ps->bucket_prev != NO_PIDSTAT) + bgpids.storage[ps->bucket_prev].bucket_next = ps->bucket_next; + else +! { +! bucket = pshash_getbucket (ps->pid); +! *bucket = ps->bucket_next; /* deleting chain head in hash table */ +! } +! +! /* clear out this cell, just in case */ +! ps->pid = NO_PID; +! ps->bucket_next = ps->bucket_prev = NO_PIDSTAT; + } + +*************** +*** 859,863 **** + pid_t pid; + { +! ps_index_t psi; + + if (bgpids.storage == 0 || bgpids.nalloc == 0 || bgpids.npid == 0) +--- b/864,868 ---- + pid_t pid; + { +! ps_index_t psi, orig_psi; + + if (bgpids.storage == 0 || bgpids.nalloc == 0 || bgpids.npid == 0) +*************** +*** 865,871 **** + + /* Search chain using hash to find bucket in pidstat_table */ +! for (psi = *(pshash_getbucket (pid)); psi != NO_PIDSTAT; psi = bgpids.storage[psi].bucket_next) +! if (bgpids.storage[psi].pid == pid) +! break; + + if (psi == NO_PIDSTAT) +--- b/870,883 ---- + + /* Search chain using hash to find bucket in pidstat_table */ +! for (orig_psi = psi = *(pshash_getbucket (pid)); psi != NO_PIDSTAT; psi = bgpids.storage[psi].bucket_next) +! { +! if (bgpids.storage[psi].pid == pid) +! break; +! if (orig_psi == bgpids.storage[psi].bucket_next) /* catch reported bug */ +! { +! internal_warning ("bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next", psi); +! return 0; +! } +! } + + if (psi == NO_PIDSTAT) +*************** +*** 905,909 **** + pid_t pid; + { +! ps_index_t psi; + + if (bgpids.storage == 0 || bgpids.nalloc == 0 || bgpids.npid == 0) +--- b/917,921 ---- + pid_t pid; + { +! ps_index_t psi, orig_psi; + + if (bgpids.storage == 0 || bgpids.nalloc == 0 || bgpids.npid == 0) +*************** +*** 911,917 **** + + /* Search chain using hash to find bucket in pidstat_table */ +! for (psi = *(pshash_getbucket (pid)); psi != NO_PIDSTAT; psi = bgpids.storage[psi].bucket_next) +! if (bgpids.storage[psi].pid == pid) +! return (bgpids.storage[psi].status); + + return -1; +--- b/923,936 ---- + + /* Search chain using hash to find bucket in pidstat_table */ +! for (orig_psi = psi = *(pshash_getbucket (pid)); psi != NO_PIDSTAT; psi = bgpids.storage[psi].bucket_next) +! { +! if (bgpids.storage[psi].pid == pid) +! return (bgpids.storage[psi].status); +! if (orig_psi == bgpids.storage[psi].bucket_next) /* catch reported bug */ +! { +! internal_warning ("bgp_search: LOOP: psi (%d) == storage[psi].bucket_next", psi); +! return -1; +! } +! } + + return -1; +*** bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 19 + + #endif /* _PATCHLEVEL_H_ */ +--- b/26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 20 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/bsp/buildroot/package/bash/0003-bash44-021.patch b/bsp/buildroot/package/bash/0003-bash44-021.patch new file mode 100644 index 00000000..52f3b75e --- /dev/null +++ b/bsp/buildroot/package/bash/0003-bash44-021.patch @@ -0,0 +1,61 @@ +From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-021 + +Signed-off-by: Peter Korsgaard + + BASH PATCH REPORT + ================= + +Bash-Release: 4.4 +Patch-ID: bash44-021 + +Bug-Reported-by: werner@suse.de +Bug-Reference-ID: <201803281402.w2SE2VOa000476@noether.suse.de> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2018-03/msg00196.html + +Bug-Description: + +A SIGINT received inside a SIGINT trap handler can possibly cause the +shell to loop. + +Patch (apply with `patch -p0'): + +*** bash-20180329/jobs.c 2018-02-11 18:07:22.000000000 -0500 +--- b/jobs.c 2018-04-02 14:24:21.000000000 -0400 +*************** +*** 2690,2694 **** + if (job_control == 0 || (subshell_environment&SUBSHELL_COMSUB)) + { +! old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler); + waiting_for_child = 0; + if (old_sigint_handler == SIG_IGN) +--- b/2690,2704 ---- + if (job_control == 0 || (subshell_environment&SUBSHELL_COMSUB)) + { +! SigHandler *temp_sigint_handler; +! +! temp_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler); +! if (temp_sigint_handler == wait_sigint_handler) +! { +! #if defined (DEBUG) +! internal_warning ("wait_for: recursively setting old_sigint_handler to wait_sigint_handler: running_trap = %d", running_trap); +! #endif +! } +! else +! old_sigint_handler = temp_sigint_handler; + waiting_for_child = 0; + if (old_sigint_handler == SIG_IGN) +*** bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 20 + + #endif /* _PATCHLEVEL_H_ */ +--- b/26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 21 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/bsp/buildroot/package/bash/0004-bash44-022.patch b/bsp/buildroot/package/bash/0004-bash44-022.patch new file mode 100644 index 00000000..0db270a1 --- /dev/null +++ b/bsp/buildroot/package/bash/0004-bash44-022.patch @@ -0,0 +1,65 @@ +From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-022 + +Signed-off-by: Peter Korsgaard + + BASH PATCH REPORT + ================= + +Bash-Release: 4.4 +Patch-ID: bash44-022 + +Bug-Reported-by: Nuzhna Pomoshch +Bug-Reference-ID: <1317167476.1492079.1495999776464@mail.yahoo.com> +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2017-05/msg00005.html + +Bug-Description: + +There are cases where a failing readline command (e.g., delete-char at the end +of a line) can cause a multi-character key sequence to `back up' and attempt +to re-read some of the characters in the sequence. + +Patch (apply with `patch -p0'): + +*** bash-4.4-patched/lib/readline/readline.c 2016-04-20 15:53:52.000000000 -0400 +--- b/lib/readline/readline.c 2018-05-26 17:19:00.000000000 -0400 +*************** +*** 1058,1062 **** + r = _rl_dispatch (ANYOTHERKEY, m); + } +! else if (r && map[ANYOTHERKEY].function) + { + /* We didn't match (r is probably -1), so return something to +--- b/1056,1060 ---- + r = _rl_dispatch (ANYOTHERKEY, m); + } +! else if (r < 0 && map[ANYOTHERKEY].function) + { + /* We didn't match (r is probably -1), so return something to +*************** +*** 1070,1074 **** + return -2; + } +! else if (r && got_subseq) + { + /* OK, back up the chain. */ +--- b/1068,1072 ---- + return -2; + } +! else if (r < 0 && got_subseq) /* XXX */ + { + /* OK, back up the chain. */ +*** bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 21 + + #endif /* _PATCHLEVEL_H_ */ +--- b/26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 22 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/bsp/buildroot/package/bash/0005-bash44-023.patch b/bsp/buildroot/package/bash/0005-bash44-023.patch new file mode 100644 index 00000000..05b18902 --- /dev/null +++ b/bsp/buildroot/package/bash/0005-bash44-023.patch @@ -0,0 +1,56 @@ +From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-023 + +Signed-off-by: Peter Korsgaard + + BASH PATCH REPORT + ================= + +Bash-Release: 4.4 +Patch-ID: bash44-023 + +Bug-Reported-by: Martijn Dekker +Bug-Reference-ID: <5326d6b9-2625-1d32-3e6e-ad1d15462c09@inlv.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2016-11/msg00041.html + +Bug-Description: + +When sourcing a file from an interactive shell, setting the SIGINT handler +to the default and typing ^C will cause the shell to exit. + +Patch (apply with `patch -p0'): + +*** bash-4.4-patched/builtins/trap.def 2016-01-25 13:32:38.000000000 -0500 +--- b/builtins/trap.def 2016-11-06 12:04:35.000000000 -0500 +*************** +*** 99,102 **** +--- b/99,103 ---- + + extern int posixly_correct, subshell_environment; ++ extern int sourcelevel, running_trap; + + int +*************** +*** 213,216 **** +--- b/214,220 ---- + if (interactive) + set_signal_handler (SIGINT, sigint_sighandler); ++ /* special cases for interactive == 0 */ ++ else if (interactive_shell && (sourcelevel||running_trap)) ++ set_signal_handler (SIGINT, sigint_sighandler); + else + set_signal_handler (SIGINT, termsig_sighandler); +*** bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 22 + + #endif /* _PATCHLEVEL_H_ */ +--- b/26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 23 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/bsp/buildroot/package/beecrypt/0003-don-t-check-for-cplusplus-compiler.patch b/bsp/buildroot/package/beecrypt/0003-don-t-check-for-cplusplus-compiler.patch new file mode 100644 index 00000000..32f16799 --- /dev/null +++ b/bsp/buildroot/package/beecrypt/0003-don-t-check-for-cplusplus-compiler.patch @@ -0,0 +1,27 @@ +configure.ac: don't check for C++ compiler + +Signed-off-by: Fabrice Fontaine + +diff -durN beecrypt-4.2.1-orig/configure.ac beecrypt-4.2.1/configure.ac +--- beecrypt-4.2.1-orig/configure.ac 2019-03-01 19:58:16.516117640 +0100 ++++ beecrypt-4.2.1/configure.ac 2019-03-01 21:10:17.707391803 +0100 +@@ -119,9 +119,6 @@ + + # Checks for C compiler and preprocessor + AC_PROG_CC +-AC_PROG_CPP +-AC_PROG_CXX +-AC_PROG_CXXCPP + AM_PROG_AS + AC_PROG_LD + AC_PROG_LN_S +@@ -133,9 +130,6 @@ + AC_LANG_PUSH(C) + AC_OPENMP + AC_LANG_POP(C) +-AC_LANG_PUSH(C++) +-AC_OPENMP +-AC_LANG_POP(C++) + + # Checks for compiler characteristics and flags + if test "$ac_enable_expert_mode" = no; then 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 new file mode 100644 index 00000000..2701de76 --- /dev/null +++ b/bsp/buildroot/package/bind/0002-Replace-atomic-operations-in-bin-named-client.c-with.patch @@ -0,0 +1,133 @@ +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 3072d2d2..cdd4bdd3 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.5-P4/bind-9.11.5-P4.tar.gz.asc -# with key BE0E9748B718253A28BB89FFF1B11BF05CF02E57 -sha256 7e8c08192bcbaeb6e9f2391a70e67583b027b90e8c4bc1605da6eb126edde434 bind-9.11.5-P4.tar.gz +# Verified from https://ftp.isc.org/isc/bind9/9.11.6-P1/bind-9.11.6-P1.tar.gz.asc +# with key 156890685EA0DF6A1371EF2017CC5DB1F0088407 +sha256 58ace2abb4d048b67abcdef0649ecd6cbd3b0652734a41a1d34f942d5500f8ef bind-9.11.6-P1.tar.gz sha256 cd02c93b8dcda794f55dfd1231828d69633072a98eee4874f9cf732d22d9dcde COPYRIGHT diff --git a/bsp/buildroot/package/bind/bind.mk b/bsp/buildroot/package/bind/bind.mk index 572eacd1..42c240a7 100644 --- a/bsp/buildroot/package/bind/bind.mk +++ b/bsp/buildroot/package/bind/bind.mk @@ -4,7 +4,7 @@ # ################################################################################ -BIND_VERSION = 9.11.5-P4 +BIND_VERSION = 9.11.6-P1 BIND_SITE = https://ftp.isc.org/isc/bind9/$(BIND_VERSION) # bind does not support parallel builds. BIND_MAKE = $(MAKE1) @@ -74,8 +74,11 @@ else BIND_CONF_OPTS += --with-openssl=no endif -# Used by dnssec-checkds and dnssec-coverage -ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),) +# Used by dnssec-keymgr +ifeq ($(BR2_PACKAGE_PYTHON_PLY),y) +BIND_DEPENDENCIES += host-python-ply +BIND_CONF_OPTS += --with-python=$(HOST_DIR)/usr/bin/python +else BIND_CONF_OPTS += --with-python=no endif diff --git a/bsp/buildroot/package/binutils/2.30/0010-gas-use-literals-const16-for-xtensa-loop-relaxation.patch b/bsp/buildroot/package/binutils/2.30/0010-gas-use-literals-const16-for-xtensa-loop-relaxation.patch new file mode 100644 index 00000000..ed617bca --- /dev/null +++ b/bsp/buildroot/package/binutils/2.30/0010-gas-use-literals-const16-for-xtensa-loop-relaxation.patch @@ -0,0 +1,294 @@ +From 0dbdfb7918d0b0cfcb8883b24c1291574bf5bb7c Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Tue, 2 Apr 2019 14:32:42 -0700 +Subject: [PATCH] gas: use literals/const16 for xtensa loop relaxation + +Loop opcode relaxation that uses addi/addmi doesn't work well with other +relaxations that may cause code movement. Instead of encoding fixed loop +end offset in the relaxed sequence use l32r or a pair of const16 to load +loop end address. This way the address of the loop end gets a relocation +record and it gets updated appropriately. + +gas/ +2019-04-02 Max Filippov + + * config/tc-xtensa.c (convert_frag_immed): Drop + convert_frag_immed_finish_loop invocation. + (convert_frag_immed_finish_loop): Drop declaration and + definition. + * config/xtensa-relax.c (widen_spec_list): Replace loop + widening that uses addi/addmi with widening that uses l32r + and const16. + +Signed-off-by: Max Filippov +--- + gas/config/tc-xtensa.c | 120 ---------------------------------------------- + gas/config/xtensa-relax.c | 77 ++++++++++++++++++++--------- + 2 files changed, 55 insertions(+), 142 deletions(-) + +diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c +index 3bdbbc931cfc..0cc06361cf6f 100644 +--- a/gas/config/tc-xtensa.c ++++ b/gas/config/tc-xtensa.c +@@ -10668,7 +10668,6 @@ convert_frag_fill_nop (fragS *fragP) + static fixS *fix_new_exp_in_seg + (segT, subsegT, fragS *, int, int, expressionS *, int, + bfd_reloc_code_real_type); +-static void convert_frag_immed_finish_loop (segT, fragS *, TInsn *); + + static void + convert_frag_immed (segT segP, +@@ -10910,9 +10909,6 @@ convert_frag_immed (segT segP, + } + } + +- if (expanded && xtensa_opcode_is_loop (isa, orig_tinsn.opcode) == 1) +- convert_frag_immed_finish_loop (segP, fragP, &orig_tinsn); +- + if (expanded && is_direct_call_opcode (orig_tinsn.opcode)) + { + /* Add an expansion note on the expanded instruction. */ +@@ -10949,122 +10945,6 @@ fix_new_exp_in_seg (segT new_seg, + } + + +-/* Relax a loop instruction so that it can span loop >256 bytes. +- +- loop as, .L1 +- .L0: +- rsr as, LEND +- wsr as, LBEG +- addi as, as, lo8 (label-.L1) +- addmi as, as, mid8 (label-.L1) +- wsr as, LEND +- isync +- rsr as, LCOUNT +- addi as, as, 1 +- .L1: +- <> +- label: +-*/ +- +-static void +-convert_frag_immed_finish_loop (segT segP, fragS *fragP, TInsn *tinsn) +-{ +- TInsn loop_insn; +- TInsn addi_insn; +- TInsn addmi_insn; +- unsigned long target; +- static xtensa_insnbuf insnbuf = NULL; +- unsigned int loop_length, loop_length_hi, loop_length_lo; +- xtensa_isa isa = xtensa_default_isa; +- addressT loop_offset; +- addressT addi_offset = 9; +- addressT addmi_offset = 12; +- fragS *next_fragP; +- int target_count; +- +- if (!insnbuf) +- insnbuf = xtensa_insnbuf_alloc (isa); +- +- /* Get the loop offset. */ +- loop_offset = get_expanded_loop_offset (tinsn->opcode); +- +- /* Validate that there really is a LOOP at the loop_offset. Because +- loops are not bundleable, we can assume that the instruction will be +- in slot 0. */ +- tinsn_from_chars (&loop_insn, fragP->fr_opcode + loop_offset, 0); +- tinsn_immed_from_frag (&loop_insn, fragP, 0); +- +- gas_assert (xtensa_opcode_is_loop (isa, loop_insn.opcode) == 1); +- addi_offset += loop_offset; +- addmi_offset += loop_offset; +- +- gas_assert (tinsn->ntok == 2); +- if (tinsn->tok[1].X_op == O_constant) +- target = tinsn->tok[1].X_add_number; +- else if (tinsn->tok[1].X_op == O_symbol) +- { +- /* Find the fragment. */ +- symbolS *sym = tinsn->tok[1].X_add_symbol; +- gas_assert (S_GET_SEGMENT (sym) == segP +- || S_GET_SEGMENT (sym) == absolute_section); +- target = (S_GET_VALUE (sym) + tinsn->tok[1].X_add_number); +- } +- else +- { +- as_bad (_("invalid expression evaluation type %d"), tinsn->tok[1].X_op); +- target = 0; +- } +- +- loop_length = target - (fragP->fr_address + fragP->fr_fix); +- loop_length_hi = loop_length & ~0x0ff; +- loop_length_lo = loop_length & 0x0ff; +- if (loop_length_lo >= 128) +- { +- loop_length_lo -= 256; +- loop_length_hi += 256; +- } +- +- /* Because addmi sign-extends the immediate, 'loop_length_hi' can be at most +- 32512. If the loop is larger than that, then we just fail. */ +- if (loop_length_hi > 32512) +- as_bad_where (fragP->fr_file, fragP->fr_line, +- _("loop too long for LOOP instruction")); +- +- tinsn_from_chars (&addi_insn, fragP->fr_opcode + addi_offset, 0); +- gas_assert (addi_insn.opcode == xtensa_addi_opcode); +- +- tinsn_from_chars (&addmi_insn, fragP->fr_opcode + addmi_offset, 0); +- gas_assert (addmi_insn.opcode == xtensa_addmi_opcode); +- +- set_expr_const (&addi_insn.tok[2], loop_length_lo); +- tinsn_to_insnbuf (&addi_insn, insnbuf); +- +- fragP->tc_frag_data.is_insn = TRUE; +- xtensa_insnbuf_to_chars +- (isa, insnbuf, (unsigned char *) fragP->fr_opcode + addi_offset, 0); +- +- set_expr_const (&addmi_insn.tok[2], loop_length_hi); +- tinsn_to_insnbuf (&addmi_insn, insnbuf); +- xtensa_insnbuf_to_chars +- (isa, insnbuf, (unsigned char *) fragP->fr_opcode + addmi_offset, 0); +- +- /* Walk through all of the frags from here to the loop end +- and mark them as no_transform to keep them from being modified +- by the linker. If we ever have a relocation for the +- addi/addmi of the difference of two symbols we can remove this. */ +- +- target_count = 0; +- for (next_fragP = fragP; next_fragP != NULL; +- next_fragP = next_fragP->fr_next) +- { +- next_fragP->tc_frag_data.is_no_transform = TRUE; +- if (next_fragP->tc_frag_data.is_loop_target) +- target_count++; +- if (target_count == 2) +- break; +- } +-} +- + + /* A map that keeps information on a per-subsegment basis. This is + maintained during initial assembly, but is invalid once the +diff --git a/gas/config/xtensa-relax.c b/gas/config/xtensa-relax.c +index cb296ed85ed2..daf15d52c259 100644 +--- a/gas/config/xtensa-relax.c ++++ b/gas/config/xtensa-relax.c +@@ -87,13 +87,7 @@ + when the first and second operands are not the same as specified + by the "| %at!=%as" precondition clause. + {"l32i %at,%as,%imm | %at!=%as", +- "LITERAL %imm; l32r %at,%LITERAL; add %at,%at,%as; l32i %at,%at,0"} +- +- There is special case for loop instructions here, but because we do +- not currently have the ability to represent the difference of two +- symbols, the conversion requires special code in the assembler to +- write the operands of the addi/addmi pair representing the +- difference of the old and new loop end label. */ ++ "LITERAL %imm; l32r %at,%LITERAL; add %at,%at,%as; l32i %at,%at,0"} */ + + #include "as.h" + #include "xtensa-isa.h" +@@ -306,44 +300,83 @@ static string_pattern_pair widen_spec_list[] = + {"l32i %at,%as,%imm | %at!=%as ? IsaUseConst16", + "const16 %at,HI16U(%imm); const16 %at,LOW16U(%imm); add %at,%at,%as; l32i %at,%at,0"}, + +- /* This is only PART of the loop instruction. In addition, +- hardcoded into its use is a modification of the final operand in +- the instruction in bytes 9 and 12. */ +- {"loop %as,%label | %as!=1 ? IsaUseLoops", ++ /* Widening loops with literals. */ ++ {"loop %as,%label | %as!=1 ? IsaUseLoops ? IsaUseL32R", ++ "loop %as,%LABEL;" ++ "rsr.lend %as;" /* LEND */ ++ "wsr.lbeg %as;" /* LBEG */ ++ "LITERAL %label;" ++ "l32r %as, %LITERAL;" ++ "nop;" ++ "wsr.lend %as;" ++ "isync;" ++ "rsr.lcount %as;" /* LCOUNT */ ++ "addi %as, %as, 1;" ++ "LABEL"}, ++ {"loopgtz %as,%label | %as!=1 ? IsaUseLoops ? IsaUseL32R", ++ "beqz %as,%label;" ++ "bltz %as,%label;" ++ "loopgtz %as,%LABEL;" ++ "rsr.lend %as;" /* LEND */ ++ "wsr.lbeg %as;" /* LBEG */ ++ "LITERAL %label;" ++ "l32r %as, %LITERAL;" ++ "nop;" ++ "wsr.lend %as;" ++ "isync;" ++ "rsr.lcount %as;" /* LCOUNT */ ++ "addi %as, %as, 1;" ++ "LABEL"}, ++ {"loopnez %as,%label | %as!=1 ? IsaUseLoops ? IsaUseL32R", ++ "beqz %as,%label;" ++ "loopnez %as,%LABEL;" ++ "rsr.lend %as;" /* LEND */ ++ "wsr.lbeg %as;" /* LBEG */ ++ "LITERAL %label;" ++ "l32r %as, %LITERAL;" ++ "nop;" ++ "wsr.lend %as;" ++ "isync;" ++ "rsr.lcount %as;" /* LCOUNT */ ++ "addi %as, %as, 1;" ++ "LABEL"}, ++ ++ /* Widening loops with const16. */ ++ {"loop %as,%label | %as!=1 ? IsaUseLoops ? IsaUseConst16", + "loop %as,%LABEL;" + "rsr.lend %as;" /* LEND */ + "wsr.lbeg %as;" /* LBEG */ +- "addi %as, %as, 0;" /* lo8(%label-%LABEL1) */ +- "addmi %as, %as, 0;" /* mid8(%label-%LABEL1) */ ++ "const16 %as,HI16U(%label);" ++ "const16 %as,LOW16U(%label);" + "wsr.lend %as;" + "isync;" + "rsr.lcount %as;" /* LCOUNT */ +- "addi %as, %as, 1;" /* density -> addi.n %as, %as, 1 */ ++ "addi %as, %as, 1;" + "LABEL"}, +- {"loopgtz %as,%label | %as!=1 ? IsaUseLoops", ++ {"loopgtz %as,%label | %as!=1 ? IsaUseLoops ? IsaUseConst16", + "beqz %as,%label;" + "bltz %as,%label;" + "loopgtz %as,%LABEL;" + "rsr.lend %as;" /* LEND */ + "wsr.lbeg %as;" /* LBEG */ +- "addi %as, %as, 0;" /* lo8(%label-%LABEL1) */ +- "addmi %as, %as, 0;" /* mid8(%label-%LABEL1) */ ++ "const16 %as,HI16U(%label);" ++ "const16 %as,LOW16U(%label);" + "wsr.lend %as;" + "isync;" + "rsr.lcount %as;" /* LCOUNT */ +- "addi %as, %as, 1;" /* density -> addi.n %as, %as, 1 */ ++ "addi %as, %as, 1;" + "LABEL"}, +- {"loopnez %as,%label | %as!=1 ? IsaUseLoops", ++ {"loopnez %as,%label | %as!=1 ? IsaUseLoops ? IsaUseConst16", + "beqz %as,%label;" + "loopnez %as,%LABEL;" + "rsr.lend %as;" /* LEND */ + "wsr.lbeg %as;" /* LBEG */ +- "addi %as, %as, 0;" /* lo8(%label-%LABEL1) */ +- "addmi %as, %as, 0;" /* mid8(%label-%LABEL1) */ ++ "const16 %as,HI16U(%label);" ++ "const16 %as,LOW16U(%label);" + "wsr.lend %as;" + "isync;" + "rsr.lcount %as;" /* LCOUNT */ +- "addi %as, %as, 1;" /* density -> addi.n %as, %as, 1 */ ++ "addi %as, %as, 1;" + "LABEL"}, + + /* Relaxing to wide branches. Order is important here. With wide +-- +2.11.0 + diff --git a/bsp/buildroot/package/binutils/2.31.1/0012-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch b/bsp/buildroot/package/binutils/2.31.1/0012-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch new file mode 100644 index 00000000..8a05af4b --- /dev/null +++ b/bsp/buildroot/package/binutils/2.31.1/0012-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch @@ -0,0 +1,568 @@ +From 6737a6b34f4823deb7142f27b4074831a37ac1e1 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Fri, 20 Jul 2018 09:18:47 -0700 +Subject: [PATCH] x86: Add a GNU_PROPERTY_X86_ISA_1_USED note if needed + +When -z separate-code, which is enabled by default for Linux/x86, is +used to create executable, ld won't place any data in the code-only +PT_LOAD segment. If there are no data sections placed before the +code-only PT_LOAD segment, the program headers won't be mapped into +any PT_LOAD segment. When the executable tries to access it (based +on the program header address passed in AT_PHDR), it will lead to +segfault. This patch inserts a GNU_PROPERTY_X86_ISA_1_USED note if +there may be no data sections before the text section so that the +first PT_LOAD segment won't be code-only and will contain the program +header. + +Testcases are adjusted to either pass "-z noseparate-code" to ld or +discard the .note.gnu.property section. A Linux/x86 run-time test is +added. + +bfd/ + + PR ld/23428 + * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): If the + separate code program header is needed, make sure that the first + read-only PT_LOAD segment has no code by adding a + GNU_PROPERTY_X86_ISA_1_USED note. + +ld/ + + PR ld/23428 + * testsuite/ld-elf/linux-x86.S: New file. + * testsuite/ld-elf/linux-x86.exp: Likewise. + * testsuite/ld-elf/pr23428.c: Likewise. + * testsuite/ld-elf/sec64k.exp: Pass "-z noseparate-code" to ld + for Linux/x86 targets. + * testsuite/ld-i386/abs-iamcu.d: Likewise. + * testsuite/ld-i386/abs.d: Likewise. + * testsuite/ld-i386/pr12718.d: Likewise. + * testsuite/ld-i386/pr12921.d: Likewise. + * testsuite/ld-x86-64/abs-k1om.d: Likewise. + * testsuite/ld-x86-64/abs-l1om.d: Likewise. + * testsuite/ld-x86-64/abs.d: Likewise. + * testsuite/ld-x86-64/pr12718.d: Likewise. + * testsuite/ld-x86-64/pr12921.d: Likewise. + * testsuite/ld-linkonce/zeroeh.ld: Discard .note.gnu.property + section. + * testsuite/ld-scripts/print-memory-usage.t: Likewise. + * testsuite/ld-scripts/size-2.t: Likewise. + * testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Use ld + to create executable if language is "asm". + +(cherry picked from commit 241e64e3b42cd9eba514b8e0ad2ef39a337f10a5) +Signed-off-by: Norbert Lange +--- + bfd/ChangeLog | 8 ++++ + bfd/elfxx-x86.c | 60 +++++++++++++++++++------- + ld/ChangeLog | 24 +++++++++++ + ld/testsuite/ld-elf/linux-x86.S | 63 ++++++++++++++++++++++++++++ + ld/testsuite/ld-elf/linux-x86.exp | 46 ++++++++++++++++++++ + ld/testsuite/ld-elf/pr23428.c | 43 +++++++++++++++++++ + ld/testsuite/ld-elf/sec64k.exp | 2 + + ld/testsuite/ld-i386/abs-iamcu.d | 2 +- + ld/testsuite/ld-i386/abs.d | 2 +- + ld/testsuite/ld-i386/pr12718.d | 2 +- + ld/testsuite/ld-i386/pr12921.d | 2 +- + ld/testsuite/ld-linkonce/zeroeh.ld | 1 + + ld/testsuite/ld-scripts/print-memory-usage.t | 2 + + ld/testsuite/ld-scripts/size-2.t | 1 + + ld/testsuite/ld-x86-64/abs-k1om.d | 2 +- + ld/testsuite/ld-x86-64/abs-l1om.d | 2 +- + ld/testsuite/ld-x86-64/abs.d | 2 +- + ld/testsuite/ld-x86-64/pr12718.d | 2 +- + ld/testsuite/ld-x86-64/pr12921.d | 2 +- + ld/testsuite/lib/ld-lib.exp | 5 ++- + 20 files changed, 248 insertions(+), 25 deletions(-) + create mode 100644 ld/testsuite/ld-elf/linux-x86.S + create mode 100644 ld/testsuite/ld-elf/linux-x86.exp + create mode 100644 ld/testsuite/ld-elf/pr23428.c + +diff --git a/bfd/ChangeLog b/bfd/ChangeLog +index 1c1174a..d3831b7 100644 +--- a/bfd/ChangeLog ++++ b/bfd/ChangeLog +@@ -1,3 +1,11 @@ ++2018-07-23 H.J. Lu ++ ++ PR ld/23428 ++ * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): If the ++ separate code program header is needed, make sure that the first ++ read-only PT_LOAD segment has no code by adding a ++ GNU_PROPERTY_X86_ISA_1_USED note. ++ + 2018-07-18 Nick Clifton + + * development.sh: Set to true. +diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c +index a2497aa..2e4ff88 100644 +--- a/bfd/elfxx-x86.c ++++ b/bfd/elfxx-x86.c +@@ -2524,6 +2524,7 @@ _bfd_x86_elf_link_setup_gnu_properties + const struct elf_backend_data *bed; + unsigned int class_align = ABI_64_P (info->output_bfd) ? 3 : 2; + unsigned int got_align; ++ bfd_boolean has_text = FALSE; + + features = 0; + if (info->ibt) +@@ -2538,24 +2539,59 @@ _bfd_x86_elf_link_setup_gnu_properties + if (bfd_get_flavour (pbfd) == bfd_target_elf_flavour + && bfd_count_sections (pbfd) != 0) + { ++ if (!has_text) ++ { ++ /* Check if there is no non-empty text section. */ ++ sec = bfd_get_section_by_name (pbfd, ".text"); ++ if (sec != NULL && sec->size != 0) ++ has_text = TRUE; ++ } ++ + ebfd = pbfd; + + if (elf_properties (pbfd) != NULL) + break; + } + +- if (ebfd != NULL && features) ++ bed = get_elf_backend_data (info->output_bfd); ++ ++ htab = elf_x86_hash_table (info, bed->target_id); ++ if (htab == NULL) ++ return pbfd; ++ ++ if (ebfd != NULL) + { +- /* If features is set, add GNU_PROPERTY_X86_FEATURE_1_IBT and +- GNU_PROPERTY_X86_FEATURE_1_SHSTK. */ +- prop = _bfd_elf_get_property (ebfd, +- GNU_PROPERTY_X86_FEATURE_1_AND, +- 4); +- prop->u.number |= features; +- prop->pr_kind = property_number; ++ prop = NULL; ++ if (features) ++ { ++ /* If features is set, add GNU_PROPERTY_X86_FEATURE_1_IBT and ++ GNU_PROPERTY_X86_FEATURE_1_SHSTK. */ ++ prop = _bfd_elf_get_property (ebfd, ++ GNU_PROPERTY_X86_FEATURE_1_AND, ++ 4); ++ prop->u.number |= features; ++ prop->pr_kind = property_number; ++ } ++ else if (has_text ++ && elf_properties (ebfd) == NULL ++ && elf_tdata (info->output_bfd)->o->build_id.sec == NULL ++ && !htab->elf.dynamic_sections_created ++ && !info->traditional_format ++ && (info->output_bfd->flags & D_PAGED) != 0 ++ && info->separate_code) ++ { ++ /* If the separate code program header is needed, make sure ++ that the first read-only PT_LOAD segment has no code by ++ adding a GNU_PROPERTY_X86_ISA_1_USED note. */ ++ prop = _bfd_elf_get_property (ebfd, ++ GNU_PROPERTY_X86_ISA_1_USED, ++ 4); ++ prop->u.number = GNU_PROPERTY_X86_ISA_1_486; ++ prop->pr_kind = property_number; ++ } + + /* Create the GNU property note section if needed. */ +- if (pbfd == NULL) ++ if (prop != NULL && pbfd == NULL) + { + sec = bfd_make_section_with_flags (ebfd, + NOTE_GNU_PROPERTY_SECTION_NAME, +@@ -2581,12 +2617,6 @@ error_alignment: + + pbfd = _bfd_elf_link_setup_gnu_properties (info); + +- bed = get_elf_backend_data (info->output_bfd); +- +- htab = elf_x86_hash_table (info, bed->target_id); +- if (htab == NULL) +- return pbfd; +- + htab->r_info = init_table->r_info; + htab->r_sym = init_table->r_sym; + +diff --git a/ld/ChangeLog b/ld/ChangeLog +index c07e442..cfadbd4 100644 +--- a/ld/ChangeLog ++++ b/ld/ChangeLog +@@ -1,3 +1,27 @@ ++2018-07-23 H.J. Lu ++ ++ PR ld/23428 ++ * testsuite/ld-elf/linux-x86.S: New file. ++ * testsuite/ld-elf/linux-x86.exp: Likewise. ++ * testsuite/ld-elf/pr23428.c: Likewise. ++ * testsuite/ld-elf/sec64k.exp: Pass "-z noseparate-code" to ld ++ for Linux/x86 targets. ++ * testsuite/ld-i386/abs-iamcu.d: Likewise. ++ * testsuite/ld-i386/abs.d: Likewise. ++ * testsuite/ld-i386/pr12718.d: Likewise. ++ * testsuite/ld-i386/pr12921.d: Likewise. ++ * testsuite/ld-x86-64/abs-k1om.d: Likewise. ++ * testsuite/ld-x86-64/abs-l1om.d: Likewise. ++ * testsuite/ld-x86-64/abs.d: Likewise. ++ * testsuite/ld-x86-64/pr12718.d: Likewise. ++ * testsuite/ld-x86-64/pr12921.d: Likewise. ++ * testsuite/ld-linkonce/zeroeh.ld: Discard .note.gnu.property ++ section. ++ * testsuite/ld-scripts/print-memory-usage.t: Likewise. ++ * testsuite/ld-scripts/size-2.t: Likewise. ++ * testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Use ld to ++ create executable if language is "asm". ++ + 2018-07-18 Nick Clifton + + 2.31.1 Release point. +diff --git a/ld/testsuite/ld-elf/linux-x86.S b/ld/testsuite/ld-elf/linux-x86.S +new file mode 100644 +index 0000000..bdf40c6 +--- /dev/null ++++ b/ld/testsuite/ld-elf/linux-x86.S +@@ -0,0 +1,63 @@ ++ .text ++ .globl _start ++ .type _start,@function ++ .p2align 4 ++_start: ++ xorl %ebp, %ebp ++#ifdef __LP64__ ++ popq %rdi ++ movq %rsp, %rsi ++ andq $~15, %rsp ++#elif defined __x86_64__ ++ mov (%rsp),%edi ++ addl $4,%esp ++ movl %esp, %esi ++ andl $~15, %esp ++#else ++ popl %esi ++ movl %esp, %ecx ++ andl $~15, %esp ++ ++ subl $8,%esp ++ pushl %ecx ++ pushl %esi ++#endif ++ ++ call main ++ ++ hlt ++ ++ .type syscall, @function ++ .globl syscall ++ .p2align 4 ++syscall: ++#ifdef __x86_64__ ++ movq %rdi, %rax /* Syscall number -> rax. */ ++ movq %rsi, %rdi /* shift arg1 - arg5. */ ++ movq %rdx, %rsi ++ movq %rcx, %rdx ++ movq %r8, %r10 ++ movq %r9, %r8 ++ movq 8(%rsp),%r9 /* arg6 is on the stack. */ ++ syscall /* Do the system call. */ ++#else ++ push %ebp ++ push %edi ++ push %esi ++ push %ebx ++ mov 0x2c(%esp),%ebp ++ mov 0x28(%esp),%edi ++ mov 0x24(%esp),%esi ++ mov 0x20(%esp),%edx ++ mov 0x1c(%esp),%ecx ++ mov 0x18(%esp),%ebx ++ mov 0x14(%esp),%eax ++ int $0x80 ++ pop %ebx ++ pop %esi ++ pop %edi ++ pop %ebp ++#endif ++ ret /* Return to caller. */ ++ .size syscall, .-syscall ++ .section .note.GNU-stack,"",@progbits +diff --git a/ld/testsuite/ld-elf/linux-x86.exp b/ld/testsuite/ld-elf/linux-x86.exp +new file mode 100644 +index 0000000..36217c6 +--- /dev/null ++++ b/ld/testsuite/ld-elf/linux-x86.exp +@@ -0,0 +1,46 @@ ++# Expect script for simple native Linux/x86 tests. ++# Copyright (C) 2018 Free Software Foundation, Inc. ++# ++# This file is part of the GNU Binutils. ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 3 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, ++# MA 02110-1301, USA. ++# ++ ++# Test very simple native Linux/x86 programs with linux-x86.S. ++if { ![isnative] || [which $CC] == 0 \ ++ || (![istarget "i?86-*-linux*"] \ ++ && ![istarget "x86_64-*-linux*"] \ ++ && ![istarget "amd64-*-linux*"]) } { ++ return ++} ++ ++# Add $PLT_CFLAGS if PLT is expected. ++global PLT_CFLAGS ++# Add $NOPIE_CFLAGS and $NOPIE_LDFLAGS if non-PIE is required. ++global NOPIE_CFLAGS NOPIE_LDFLAGS ++ ++run_ld_link_exec_tests [list \ ++ [list \ ++ "Run PR ld/23428 test" \ ++ "--no-dynamic-linker -z separate-code" \ ++ "" \ ++ { linux-x86.S pr23428.c } \ ++ "pr23428" \ ++ "pass.out" \ ++ "$NOPIE_CFLAGS -fno-asynchronous-unwind-tables" \ ++ "asm" \ ++ ] \ ++] +diff --git a/ld/testsuite/ld-elf/pr23428.c b/ld/testsuite/ld-elf/pr23428.c +new file mode 100644 +index 0000000..3631ed7 +--- /dev/null ++++ b/ld/testsuite/ld-elf/pr23428.c +@@ -0,0 +1,43 @@ ++#include ++#include ++#include ++ ++#define STRING_COMMA_LEN(STR) (STR), (sizeof (STR) - 1) ++ ++int ++main (int argc, char **argv) ++{ ++ char **ev = &argv[argc + 1]; ++ char **evp = ev; ++ ElfW(auxv_t) *av; ++ const ElfW(Phdr) *phdr = NULL; ++ size_t phnum = 0; ++ size_t loadnum = 0; ++ int fd = STDOUT_FILENO; ++ size_t i; ++ ++ while (*evp++ != NULL) ++ ; ++ ++ av = (ElfW(auxv_t) *) evp; ++ ++ for (; av->a_type != AT_NULL; ++av) ++ switch (av->a_type) ++ { ++ case AT_PHDR: ++ phdr = (const void *) av->a_un.a_val; ++ break; ++ case AT_PHNUM: ++ phnum = av->a_un.a_val; ++ break; ++ } ++ ++ for (i = 0; i < phnum; i++, phdr++) ++ if (phdr->p_type == PT_LOAD) ++ loadnum++; ++ ++ syscall (SYS_write, fd, STRING_COMMA_LEN ("PASS\n")); ++ ++ syscall (SYS_exit, !loadnum); ++ return 0; ++} +diff --git a/ld/testsuite/ld-elf/sec64k.exp b/ld/testsuite/ld-elf/sec64k.exp +index b58139e..3909c0e 100644 +--- a/ld/testsuite/ld-elf/sec64k.exp ++++ b/ld/testsuite/ld-elf/sec64k.exp +@@ -177,6 +177,8 @@ if { ![istarget "d10v-*-*"] + foreach sfile $sfiles { puts $ofd "#source: $sfile" } + if { [istarget spu*-*-*] } { + puts $ofd "#ld: --local-store 0:0" ++ } elseif { [istarget "i?86-*-linux*"] || [istarget "x86_64-*-linux*"] } { ++ puts $ofd "#ld: -z noseparate-code" + } else { + puts $ofd "#ld:" + } +diff --git a/ld/testsuite/ld-i386/abs-iamcu.d b/ld/testsuite/ld-i386/abs-iamcu.d +index ac9beff..aba7d6b 100644 +--- a/ld/testsuite/ld-i386/abs-iamcu.d ++++ b/ld/testsuite/ld-i386/abs-iamcu.d +@@ -2,7 +2,7 @@ + #source: abs.s + #source: zero.s + #as: --32 -march=iamcu +-#ld: -m elf_iamcu ++#ld: -m elf_iamcu -z noseparate-code + #objdump: -rs -j .text + + .*: file format .* +diff --git a/ld/testsuite/ld-i386/abs.d b/ld/testsuite/ld-i386/abs.d +index e660aca..191ee44 100644 +--- a/ld/testsuite/ld-i386/abs.d ++++ b/ld/testsuite/ld-i386/abs.d +@@ -2,7 +2,7 @@ + #as: --32 + #source: abs.s + #source: zero.s +-#ld: -melf_i386 ++#ld: -melf_i386 -z noseparate-code + #objdump: -rs + + .*: file format .* +diff --git a/ld/testsuite/ld-i386/pr12718.d b/ld/testsuite/ld-i386/pr12718.d +index ec51540..7eba52d 100644 +--- a/ld/testsuite/ld-i386/pr12718.d ++++ b/ld/testsuite/ld-i386/pr12718.d +@@ -1,6 +1,6 @@ + #name: PR ld/12718 + #as: --32 +-#ld: -melf_i386 ++#ld: -melf_i386 -z noseparate-code + #readelf: -S + + There are 5 section headers, starting at offset 0x[0-9a-f]+: +diff --git a/ld/testsuite/ld-i386/pr12921.d b/ld/testsuite/ld-i386/pr12921.d +index e49079b..ea2da3e 100644 +--- a/ld/testsuite/ld-i386/pr12921.d ++++ b/ld/testsuite/ld-i386/pr12921.d +@@ -1,6 +1,6 @@ + #name: PR ld/12921 + #as: --32 +-#ld: -melf_i386 ++#ld: -melf_i386 -z noseparate-code + #readelf: -S --wide + + There are 7 section headers, starting at offset 0x[0-9a-f]+: +diff --git a/ld/testsuite/ld-linkonce/zeroeh.ld b/ld/testsuite/ld-linkonce/zeroeh.ld +index b22eaa1..f89855a 100644 +--- a/ld/testsuite/ld-linkonce/zeroeh.ld ++++ b/ld/testsuite/ld-linkonce/zeroeh.ld +@@ -2,4 +2,5 @@ SECTIONS { + .text 0xa00 : { *(.text); *(.gnu.linkonce.t.*) } + .gcc_except_table 0x2000 : { *(.gcc_except_table) } + .eh_frame 0x4000 : { *(.eh_frame) } ++ /DISCARD/ : { *(.note.gnu.property) } + } +diff --git a/ld/testsuite/ld-scripts/print-memory-usage.t b/ld/testsuite/ld-scripts/print-memory-usage.t +index 5ff057a..6eda1d2 100644 +--- a/ld/testsuite/ld-scripts/print-memory-usage.t ++++ b/ld/testsuite/ld-scripts/print-memory-usage.t +@@ -11,4 +11,6 @@ SECTIONS + *(.data) + *(.rw) + } ++ ++ /DISCARD/ : { *(.note.gnu.property) } + } +diff --git a/ld/testsuite/ld-scripts/size-2.t b/ld/testsuite/ld-scripts/size-2.t +index 7238639..c3c4edd 100644 +--- a/ld/testsuite/ld-scripts/size-2.t ++++ b/ld/testsuite/ld-scripts/size-2.t +@@ -18,4 +18,5 @@ SECTIONS + LONG (SIZEOF (.tdata)) + LONG (SIZEOF (.tbss)) + } :image ++ /DISCARD/ : { *(.note.gnu.property) } + } +diff --git a/ld/testsuite/ld-x86-64/abs-k1om.d b/ld/testsuite/ld-x86-64/abs-k1om.d +index 2c26639..6b0fde0 100644 +--- a/ld/testsuite/ld-x86-64/abs-k1om.d ++++ b/ld/testsuite/ld-x86-64/abs-k1om.d +@@ -2,7 +2,7 @@ + #source: ../ld-i386/abs.s + #source: ../ld-i386/zero.s + #as: --64 -march=k1om +-#ld: -m elf_k1om ++#ld: -m elf_k1om -z noseparate-code + #objdump: -rs -j .text + + .*: file format .* +diff --git a/ld/testsuite/ld-x86-64/abs-l1om.d b/ld/testsuite/ld-x86-64/abs-l1om.d +index 1fb96d4..f87869f 100644 +--- a/ld/testsuite/ld-x86-64/abs-l1om.d ++++ b/ld/testsuite/ld-x86-64/abs-l1om.d +@@ -2,7 +2,7 @@ + #source: ../ld-i386/abs.s + #source: ../ld-i386/zero.s + #as: --64 -march=l1om +-#ld: -m elf_l1om ++#ld: -m elf_l1om -z noseparate-code + #objdump: -rs -j .text + #target: x86_64-*-linux* + +diff --git a/ld/testsuite/ld-x86-64/abs.d b/ld/testsuite/ld-x86-64/abs.d +index b24b018..d99ab46 100644 +--- a/ld/testsuite/ld-x86-64/abs.d ++++ b/ld/testsuite/ld-x86-64/abs.d +@@ -1,7 +1,7 @@ + #name: Absolute non-overflowing relocs + #source: ../ld-i386/abs.s + #source: ../ld-i386/zero.s +-#ld: ++#ld: -z noseparate-code + #objdump: -rs + + .*: file format .* +diff --git a/ld/testsuite/ld-x86-64/pr12718.d b/ld/testsuite/ld-x86-64/pr12718.d +index 07d1732..2c503ff 100644 +--- a/ld/testsuite/ld-x86-64/pr12718.d ++++ b/ld/testsuite/ld-x86-64/pr12718.d +@@ -1,6 +1,6 @@ + #name: PR ld/12718 + #as: --64 +-#ld: -melf_x86_64 ++#ld: -melf_x86_64 -z noseparate-code + #readelf: -S --wide + + There are 5 section headers, starting at offset 0x[0-9a-f]+: +diff --git a/ld/testsuite/ld-x86-64/pr12921.d b/ld/testsuite/ld-x86-64/pr12921.d +index 6fe6abe..1162d55 100644 +--- a/ld/testsuite/ld-x86-64/pr12921.d ++++ b/ld/testsuite/ld-x86-64/pr12921.d +@@ -1,6 +1,6 @@ + #name: PR ld/12921 + #as: --64 +-#ld: -melf_x86_64 ++#ld: -melf_x86_64 -z noseparate-code + #readelf: -S --wide + + There are 7 section headers, starting at offset 0x[0-9a-f]+: +diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp +index cfbefe9..1095091 100644 +--- a/ld/testsuite/lib/ld-lib.exp ++++ b/ld/testsuite/lib/ld-lib.exp +@@ -1482,7 +1482,10 @@ proc run_ld_link_exec_tests { ldtests args } { + continue + } + +- if { [ string match "c++" $lang ] } { ++ if { [ string match "asm" $lang ] } { ++ set link_proc ld_link ++ set link_cmd $ld ++ } elseif { [ string match "c++" $lang ] } { + set link_proc ld_link + set link_cmd $CXX + } else { +-- +2.9.3 + diff --git a/bsp/buildroot/package/binutils/2.31.1/0013-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch b/bsp/buildroot/package/binutils/2.31.1/0013-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch new file mode 100644 index 00000000..a4c48985 --- /dev/null +++ b/bsp/buildroot/package/binutils/2.31.1/0013-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch @@ -0,0 +1,588 @@ +From d55c3e36094f06bb1fb02f5eac19fdccf1d91f7e Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Wed, 8 Aug 2018 06:09:15 -0700 +Subject: [PATCH] x86: Properly merge GNU_PROPERTY_X86_ISA_1_USED +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf8 +Content-Transfer-Encoding: 8bit + +Without the GNU_PROPERTY_X86_ISA_1_USED property, all ISAs may be used. +If a bit in the GNU_PROPERTY_X86_ISA_1_USED property is unset, the +corresponding x86 instruction set isn’t used. When merging properties +from 2 input files and one input file doesn't have the +GNU_PROPERTY_X86_ISA_1_USED property, the output file shouldn't have +it neither. This patch removes the GNU_PROPERTY_X86_ISA_1_USED +property if an input file doesn't have it. + +This patch replaces the GNU_PROPERTY_X86_ISA_1_USED property with the +GNU_PROPERTY_X86_ISA_1_NEEDED property which is the minimum ISA +requirement. + +bfd/ + + PR ld/23486 + * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Remove + GNU_PROPERTY_X86_ISA_1_USED if an input file doesn't have it. + (_bfd_x86_elf_link_setup_gnu_properties): Adding the + GNU_PROPERTY_X86_ISA_1_NEEDED, instead of + GNU_PROPERTY_X86_ISA_1_USED, property. + +ld/ + + PR ld/23486 + * testsuite/ld-i386/i386.exp: Run PR ld/23486 tests. + * testsuite/ld-x86-64/x86-64.exp: Likewise. + * testsuite/ld-i386/pr23486a.d: New file. + * testsuite/ld-i386/pr23486b.d: Likewise. + * testsuite/ld-x86-64/pr23486a-x32.d: Likewise. + * testsuite/ld-x86-64/pr23486a.d: Likewise. + * testsuite/ld-x86-64/pr23486a.s: Likewise. + * testsuite/ld-x86-64/pr23486b-x32.d: Likewise. + * testsuite/ld-x86-64/pr23486b.d: Likewise. + * testsuite/ld-x86-64/pr23486b.s: Likewise. + * testsuite/ld-i386/property-3.r: Remove "x86 ISA used". + * testsuite/ld-i386/property-4.r: Likewise. + * testsuite/ld-i386/property-5.r: Likewise. + * testsuite/ld-i386/property-x86-ibt3a.d: Likewise. + * testsuite/ld-i386/property-x86-ibt3b.d: Likewise. + * testsuite/ld-i386/property-x86-shstk3a.d: Likewise. + * testsuite/ld-i386/property-x86-shstk3b.d: Likewise. + * testsuite/ld-x86-64/property-3.r: Likewise. + * testsuite/ld-x86-64/property-4.r: Likewise. + * testsuite/ld-x86-64/property-5.r: Likewise. + * testsuite/ld-x86-64/property-x86-ibt3a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt3a.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt3b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt3b.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk3a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk3a.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk3b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk3b.d: Likewise. + +(cherry picked from commit f7309df20c4e787041cedc4a6aced89c15259e54) +Signed-off-by: Norbert Lange +--- + bfd/ChangeLog | 9 +++++++ + bfd/elfxx-x86.c | 25 ++++++++++++++---- + ld/ChangeLog | 32 +++++++++++++++++++++++ + ld/testsuite/ld-i386/i386.exp | 2 ++ + ld/testsuite/ld-i386/pr23486a.d | 10 +++++++ + ld/testsuite/ld-i386/pr23486b.d | 10 +++++++ + ld/testsuite/ld-i386/property-3.r | 1 - + ld/testsuite/ld-i386/property-4.r | 1 - + ld/testsuite/ld-i386/property-5.r | 1 - + ld/testsuite/ld-i386/property-x86-ibt3a.d | 5 ++-- + ld/testsuite/ld-i386/property-x86-ibt3b.d | 5 ++-- + ld/testsuite/ld-i386/property-x86-shstk3a.d | 5 ++-- + ld/testsuite/ld-i386/property-x86-shstk3b.d | 5 ++-- + ld/testsuite/ld-x86-64/pr23486a-x32.d | 10 +++++++ + ld/testsuite/ld-x86-64/pr23486a.d | 10 +++++++ + ld/testsuite/ld-x86-64/pr23486a.s | 30 +++++++++++++++++++++ + ld/testsuite/ld-x86-64/pr23486b-x32.d | 10 +++++++ + ld/testsuite/ld-x86-64/pr23486b.d | 10 +++++++ + ld/testsuite/ld-x86-64/pr23486b.s | 30 +++++++++++++++++++++ + ld/testsuite/ld-x86-64/property-3.r | 1 - + ld/testsuite/ld-x86-64/property-4.r | 1 - + ld/testsuite/ld-x86-64/property-5.r | 1 - + ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d | 5 ++-- + ld/testsuite/ld-x86-64/property-x86-ibt3a.d | 5 ++-- + ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d | 5 ++-- + ld/testsuite/ld-x86-64/property-x86-ibt3b.d | 5 ++-- + ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d | 5 ++-- + ld/testsuite/ld-x86-64/property-x86-shstk3a.d | 5 ++-- + ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d | 5 ++-- + ld/testsuite/ld-x86-64/property-x86-shstk3b.d | 5 ++-- + ld/testsuite/ld-x86-64/x86-64.exp | 4 +++ + 31 files changed, 211 insertions(+), 47 deletions(-) + create mode 100644 ld/testsuite/ld-i386/pr23486a.d + create mode 100644 ld/testsuite/ld-i386/pr23486b.d + create mode 100644 ld/testsuite/ld-x86-64/pr23486a-x32.d + create mode 100644 ld/testsuite/ld-x86-64/pr23486a.d + create mode 100644 ld/testsuite/ld-x86-64/pr23486a.s + create mode 100644 ld/testsuite/ld-x86-64/pr23486b-x32.d + create mode 100644 ld/testsuite/ld-x86-64/pr23486b.d + create mode 100644 ld/testsuite/ld-x86-64/pr23486b.s + +diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c +index 2e4ff88..7ccfd25 100644 +--- a/bfd/elfxx-x86.c ++++ b/bfd/elfxx-x86.c +@@ -2407,12 +2407,27 @@ _bfd_x86_elf_merge_gnu_properties (struct bfd_link_info *info, + switch (pr_type) + { + case GNU_PROPERTY_X86_ISA_1_USED: ++ if (aprop == NULL || bprop == NULL) ++ { ++ /* Only one of APROP and BPROP can be NULL. */ ++ if (aprop != NULL) ++ { ++ /* Remove this property since the other input file doesn't ++ have it. */ ++ aprop->pr_kind = property_remove; ++ updated = TRUE; ++ } ++ break; ++ } ++ goto or_property; ++ + case GNU_PROPERTY_X86_ISA_1_NEEDED: + if (aprop != NULL && bprop != NULL) + { ++or_property: + number = aprop->u.number; + aprop->u.number = number | bprop->u.number; +- /* Remove the property if ISA bits are empty. */ ++ /* Remove the property if all bits are empty. */ + if (aprop->u.number == 0) + { + aprop->pr_kind = property_remove; +@@ -2428,14 +2443,14 @@ _bfd_x86_elf_merge_gnu_properties (struct bfd_link_info *info, + { + if (aprop->u.number == 0) + { +- /* Remove APROP if ISA bits are empty. */ ++ /* Remove APROP if all bits are empty. */ + aprop->pr_kind = property_remove; + updated = TRUE; + } + } + else + { +- /* Return TRUE if APROP is NULL and ISA bits of BPROP ++ /* Return TRUE if APROP is NULL and all bits of BPROP + aren't empty to indicate that BPROP should be added + to ABFD. */ + updated = bprop->u.number != 0; +@@ -2582,9 +2597,9 @@ _bfd_x86_elf_link_setup_gnu_properties + { + /* If the separate code program header is needed, make sure + that the first read-only PT_LOAD segment has no code by +- adding a GNU_PROPERTY_X86_ISA_1_USED note. */ ++ adding a GNU_PROPERTY_X86_ISA_1_NEEDED note. */ + prop = _bfd_elf_get_property (ebfd, +- GNU_PROPERTY_X86_ISA_1_USED, ++ GNU_PROPERTY_X86_ISA_1_NEEDED, + 4); + prop->u.number = GNU_PROPERTY_X86_ISA_1_486; + prop->pr_kind = property_number; +diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp +index 6d794fe..78dad02 100644 +--- a/ld/testsuite/ld-i386/i386.exp ++++ b/ld/testsuite/ld-i386/i386.exp +@@ -462,6 +462,8 @@ run_dump_test "pr23189" + run_dump_test "pr23194" + run_dump_test "pr23372a" + run_dump_test "pr23372b" ++run_dump_test "pr23486a" ++run_dump_test "pr23486b" + + if { !([istarget "i?86-*-linux*"] + || [istarget "i?86-*-gnu*"] +diff --git a/ld/testsuite/ld-i386/pr23486a.d b/ld/testsuite/ld-i386/pr23486a.d +new file mode 100644 +index 0000000..41a6dcf +--- /dev/null ++++ b/ld/testsuite/ld-i386/pr23486a.d +@@ -0,0 +1,10 @@ ++#source: ../ld-x86-64/pr23486a.s ++#source: ../ld-x86-64/pr23486b.s ++#as: --32 ++#ld: -r -m elf_i386 ++#readelf: -n ++ ++Displaying notes found in: .note.gnu.property ++ Owner Data size Description ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586 +diff --git a/ld/testsuite/ld-i386/pr23486b.d b/ld/testsuite/ld-i386/pr23486b.d +new file mode 100644 +index 0000000..08019b7 +--- /dev/null ++++ b/ld/testsuite/ld-i386/pr23486b.d +@@ -0,0 +1,10 @@ ++#source: ../ld-x86-64/pr23486b.s ++#source: ../ld-x86-64/pr23486a.s ++#as: --32 ++#ld: -r -m elf_i386 ++#readelf: -n ++ ++Displaying notes found in: .note.gnu.property ++ Owner Data size Description ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586 +diff --git a/ld/testsuite/ld-i386/property-3.r b/ld/testsuite/ld-i386/property-3.r +index 0ed91f5..d03203c 100644 +--- a/ld/testsuite/ld-i386/property-3.r ++++ b/ld/testsuite/ld-i386/property-3.r +@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property + Owner Data size Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: stack size: 0x800000 +- x86 ISA used: 586, SSE + x86 ISA needed: i486, 586 + #pass +diff --git a/ld/testsuite/ld-i386/property-4.r b/ld/testsuite/ld-i386/property-4.r +index cb2bc15..da295eb 100644 +--- a/ld/testsuite/ld-i386/property-4.r ++++ b/ld/testsuite/ld-i386/property-4.r +@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property + Owner Data size Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: stack size: 0x800000 +- x86 ISA used: i486, 586, SSE + x86 ISA needed: i486, 586, SSE + #pass +diff --git a/ld/testsuite/ld-i386/property-5.r b/ld/testsuite/ld-i386/property-5.r +index 5529650..e414159 100644 +--- a/ld/testsuite/ld-i386/property-5.r ++++ b/ld/testsuite/ld-i386/property-5.r +@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property + Owner Data size Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: stack size: 0x900000 +- x86 ISA used: i486, 586, SSE + x86 ISA needed: i486, 586, SSE + #pass +diff --git a/ld/testsuite/ld-i386/property-x86-ibt3a.d b/ld/testsuite/ld-i386/property-x86-ibt3a.d +index 4bb35b0..0aedea1 100644 +--- a/ld/testsuite/ld-i386/property-x86-ibt3a.d ++++ b/ld/testsuite/ld-i386/property-x86-ibt3a.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: i486, 586, SSE2, SSE3 +- x86 ISA needed: 586, SSE, SSE3, SSE4_1 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1 +diff --git a/ld/testsuite/ld-i386/property-x86-ibt3b.d b/ld/testsuite/ld-i386/property-x86-ibt3b.d +index 418d58a..bd69ac6 100644 +--- a/ld/testsuite/ld-i386/property-x86-ibt3b.d ++++ b/ld/testsuite/ld-i386/property-x86-ibt3b.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: i486, 586, SSE2, SSE3 +- x86 ISA needed: 586, SSE, SSE3, SSE4_1 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1 +diff --git a/ld/testsuite/ld-i386/property-x86-shstk3a.d b/ld/testsuite/ld-i386/property-x86-shstk3a.d +index e261038..76d2a39 100644 +--- a/ld/testsuite/ld-i386/property-x86-shstk3a.d ++++ b/ld/testsuite/ld-i386/property-x86-shstk3a.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: i486, 586, SSE2, SSE3 +- x86 ISA needed: 586, SSE, SSE3, SSE4_1 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1 +diff --git a/ld/testsuite/ld-i386/property-x86-shstk3b.d b/ld/testsuite/ld-i386/property-x86-shstk3b.d +index 25f3d23..e770ecf 100644 +--- a/ld/testsuite/ld-i386/property-x86-shstk3b.d ++++ b/ld/testsuite/ld-i386/property-x86-shstk3b.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: i486, 586, SSE2, SSE3 +- x86 ISA needed: 586, SSE, SSE3, SSE4_1 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1 +diff --git a/ld/testsuite/ld-x86-64/pr23486a-x32.d b/ld/testsuite/ld-x86-64/pr23486a-x32.d +new file mode 100644 +index 0000000..6d9fa68 +--- /dev/null ++++ b/ld/testsuite/ld-x86-64/pr23486a-x32.d +@@ -0,0 +1,10 @@ ++#source: pr23486a.s ++#source: pr23486b.s ++#as: --x32 ++#ld: -r -m elf32_x86_64 ++#readelf: -n ++ ++Displaying notes found in: .note.gnu.property ++ Owner Data size Description ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586 +diff --git a/ld/testsuite/ld-x86-64/pr23486a.d b/ld/testsuite/ld-x86-64/pr23486a.d +new file mode 100644 +index 0000000..dc2b7bf +--- /dev/null ++++ b/ld/testsuite/ld-x86-64/pr23486a.d +@@ -0,0 +1,10 @@ ++#source: pr23486a.s ++#source: pr23486b.s ++#as: --64 -defsym __64_bit__=1 ++#ld: -r -m elf_x86_64 ++#readelf: -n ++ ++Displaying notes found in: .note.gnu.property ++ Owner Data size Description ++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586 +diff --git a/ld/testsuite/ld-x86-64/pr23486a.s b/ld/testsuite/ld-x86-64/pr23486a.s +new file mode 100644 +index 0000000..a07d0c7 +--- /dev/null ++++ b/ld/testsuite/ld-x86-64/pr23486a.s +@@ -0,0 +1,30 @@ ++ .section ".note.gnu.property", "a" ++.ifdef __64_bit__ ++ .p2align 3 ++.else ++ .p2align 2 ++.endif ++ .long 1f - 0f /* name length. */ ++ .long 4f - 1f /* data length. */ ++ /* NT_GNU_PROPERTY_TYPE_0 */ ++ .long 5 /* note type. */ ++0: ++ .asciz "GNU" /* vendor name. */ ++1: ++.ifdef __64_bit__ ++ .p2align 3 ++.else ++ .p2align 2 ++.endif ++ /* GNU_PROPERTY_X86_ISA_1_USED */ ++ .long 0xc0000000 /* pr_type. */ ++ .long 3f - 2f /* pr_datasz. */ ++2: ++ .long 0xa ++3: ++.ifdef __64_bit__ ++ .p2align 3 ++.else ++ .p2align 2 ++.endif ++4: +diff --git a/ld/testsuite/ld-x86-64/pr23486b-x32.d b/ld/testsuite/ld-x86-64/pr23486b-x32.d +new file mode 100644 +index 0000000..0445e69 +--- /dev/null ++++ b/ld/testsuite/ld-x86-64/pr23486b-x32.d +@@ -0,0 +1,10 @@ ++#source: pr23486b.s ++#source: pr23486a.s ++#as: --x32 ++#ld: -r -m elf32_x86_64 ++#readelf: -n ++ ++Displaying notes found in: .note.gnu.property ++ Owner Data size Description ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586 +diff --git a/ld/testsuite/ld-x86-64/pr23486b.d b/ld/testsuite/ld-x86-64/pr23486b.d +new file mode 100644 +index 0000000..dc2b7bf +--- /dev/null ++++ b/ld/testsuite/ld-x86-64/pr23486b.d +@@ -0,0 +1,10 @@ ++#source: pr23486a.s ++#source: pr23486b.s ++#as: --64 -defsym __64_bit__=1 ++#ld: -r -m elf_x86_64 ++#readelf: -n ++ ++Displaying notes found in: .note.gnu.property ++ Owner Data size Description ++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586 +diff --git a/ld/testsuite/ld-x86-64/pr23486b.s b/ld/testsuite/ld-x86-64/pr23486b.s +new file mode 100644 +index 0000000..c5167ee +--- /dev/null ++++ b/ld/testsuite/ld-x86-64/pr23486b.s +@@ -0,0 +1,30 @@ ++ .section ".note.gnu.property", "a" ++.ifdef __64_bit__ ++ .p2align 3 ++.else ++ .p2align 2 ++.endif ++ .long 1f - 0f /* name length. */ ++ .long 4f - 1f /* data length. */ ++ /* NT_GNU_PROPERTY_TYPE_0 */ ++ .long 5 /* note type. */ ++0: ++ .asciz "GNU" /* vendor name. */ ++1: ++.ifdef __64_bit__ ++ .p2align 3 ++.else ++ .p2align 2 ++.endif ++ /* GNU_PROPERTY_X86_ISA_1_NEEDED */ ++ .long 0xc0000001 /* pr_type. */ ++ .long 3f - 2f /* pr_datasz. */ ++2: ++ .long 0x3 ++3: ++.ifdef __64_bit__ ++ .p2align 3 ++.else ++ .p2align 2 ++.endif ++4: +diff --git a/ld/testsuite/ld-x86-64/property-3.r b/ld/testsuite/ld-x86-64/property-3.r +index 0ed91f5..d03203c 100644 +--- a/ld/testsuite/ld-x86-64/property-3.r ++++ b/ld/testsuite/ld-x86-64/property-3.r +@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property + Owner Data size Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: stack size: 0x800000 +- x86 ISA used: 586, SSE + x86 ISA needed: i486, 586 + #pass +diff --git a/ld/testsuite/ld-x86-64/property-4.r b/ld/testsuite/ld-x86-64/property-4.r +index cb2bc15..da295eb 100644 +--- a/ld/testsuite/ld-x86-64/property-4.r ++++ b/ld/testsuite/ld-x86-64/property-4.r +@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property + Owner Data size Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: stack size: 0x800000 +- x86 ISA used: i486, 586, SSE + x86 ISA needed: i486, 586, SSE + #pass +diff --git a/ld/testsuite/ld-x86-64/property-5.r b/ld/testsuite/ld-x86-64/property-5.r +index 5529650..e414159 100644 +--- a/ld/testsuite/ld-x86-64/property-5.r ++++ b/ld/testsuite/ld-x86-64/property-5.r +@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property + Owner Data size Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: stack size: 0x900000 +- x86 ISA used: i486, 586, SSE + x86 ISA needed: i486, 586, SSE + #pass +diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d b/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d +index 011426f..4cec728 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d ++++ b/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3a.d b/ld/testsuite/ld-x86-64/property-x86-ibt3a.d +index 1b4229a..a8df49a 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-ibt3a.d ++++ b/ld/testsuite/ld-x86-64/property-x86-ibt3a.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d b/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d +index 290ed6a..c112626 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d ++++ b/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3b.d b/ld/testsuite/ld-x86-64/property-x86-ibt3b.d +index 1142e03..f10dffd 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-ibt3b.d ++++ b/ld/testsuite/ld-x86-64/property-x86-ibt3b.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d b/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d +index 819542d..0147a3c 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d ++++ b/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3a.d b/ld/testsuite/ld-x86-64/property-x86-shstk3a.d +index 4c5d0e0..1f8c2dc 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-shstk3a.d ++++ b/ld/testsuite/ld-x86-64/property-x86-shstk3a.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d b/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d +index ba181e0..7ca2539 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d ++++ b/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3b.d b/ld/testsuite/ld-x86-64/property-x86-shstk3b.d +index 5216f38..f66a40e 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-shstk3b.d ++++ b/ld/testsuite/ld-x86-64/property-x86-shstk3b.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp +index 6edb9e8..ae21e55 100644 +--- a/ld/testsuite/ld-x86-64/x86-64.exp ++++ b/ld/testsuite/ld-x86-64/x86-64.exp +@@ -403,6 +403,10 @@ run_dump_test "pr23372a" + run_dump_test "pr23372a-x32" + run_dump_test "pr23372b" + run_dump_test "pr23372b-x32" ++run_dump_test "pr23486a" ++run_dump_test "pr23486a-x32" ++run_dump_test "pr23486b" ++run_dump_test "pr23486b-x32" + + if { ![istarget "x86_64-*-linux*"] && ![istarget "x86_64-*-nacl*"]} { + return +-- +2.9.3 + diff --git a/bsp/buildroot/package/binutils/2.31.1/0014-x86-Properly-add-X86_ISA_1_NEEDED-property.patch b/bsp/buildroot/package/binutils/2.31.1/0014-x86-Properly-add-X86_ISA_1_NEEDED-property.patch new file mode 100644 index 00000000..356914c9 --- /dev/null +++ b/bsp/buildroot/package/binutils/2.31.1/0014-x86-Properly-add-X86_ISA_1_NEEDED-property.patch @@ -0,0 +1,140 @@ +From 28a27bdbb9500797e6767f80c8128b09112aeed5 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Sat, 11 Aug 2018 06:41:33 -0700 +Subject: [PATCH] x86: Properly add X86_ISA_1_NEEDED property + +Existing properties may be removed during property merging. We avoid +adding X86_ISA_1_NEEDED property only if existing properties won't be +removed. + +bfd/ + + PR ld/23428 + * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Don't + add X86_ISA_1_NEEDED property only if existing properties won't + be removed. + +ld/ + + PR ld/23428 + * testsuite/ld-elf/dummy.s: New file. + * testsuite/ld-elf/linux-x86.S: Add X86_FEATURE_1_AND property. + * testsuite/ld-elf/linux-x86.exp: Add dummy.s to pr23428. + +(cherry picked from commit ab9e342807d132182892de1be1a92d6e91a5c1da) +Signed-off-by: Norbert Lange +--- + bfd/ChangeLog | 7 +++++++ + bfd/elfxx-x86.c | 28 ++++++++++++++++++++++------ + ld/ChangeLog | 7 +++++++ + ld/testsuite/ld-elf/dummy.s | 1 + + ld/testsuite/ld-elf/linux-x86.S | 28 ++++++++++++++++++++++++++++ + ld/testsuite/ld-elf/linux-x86.exp | 2 +- + 6 files changed, 66 insertions(+), 7 deletions(-) + create mode 100644 ld/testsuite/ld-elf/dummy.s + +diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c +index 7ccfd25..2d8f7b6 100644 +--- a/bfd/elfxx-x86.c ++++ b/bfd/elfxx-x86.c +@@ -2588,7 +2588,6 @@ _bfd_x86_elf_link_setup_gnu_properties + prop->pr_kind = property_number; + } + else if (has_text +- && elf_properties (ebfd) == NULL + && elf_tdata (info->output_bfd)->o->build_id.sec == NULL + && !htab->elf.dynamic_sections_created + && !info->traditional_format +@@ -2598,11 +2597,28 @@ _bfd_x86_elf_link_setup_gnu_properties + /* If the separate code program header is needed, make sure + that the first read-only PT_LOAD segment has no code by + adding a GNU_PROPERTY_X86_ISA_1_NEEDED note. */ +- prop = _bfd_elf_get_property (ebfd, +- GNU_PROPERTY_X86_ISA_1_NEEDED, +- 4); +- prop->u.number = GNU_PROPERTY_X86_ISA_1_486; +- prop->pr_kind = property_number; ++ elf_property_list *list; ++ bfd_boolean need_property = TRUE; ++ ++ for (list = elf_properties (ebfd); list; list = list->next) ++ switch (list->property.pr_type) ++ { ++ case GNU_PROPERTY_STACK_SIZE: ++ case GNU_PROPERTY_NO_COPY_ON_PROTECTED: ++ case GNU_PROPERTY_X86_ISA_1_NEEDED: ++ /* These properties won't be removed during merging. */ ++ need_property = FALSE; ++ break; ++ } ++ ++ if (need_property) ++ { ++ prop = _bfd_elf_get_property (ebfd, ++ GNU_PROPERTY_X86_ISA_1_NEEDED, ++ 4); ++ prop->u.number = GNU_PROPERTY_X86_ISA_1_486; ++ prop->pr_kind = property_number; ++ } + } + + /* Create the GNU property note section if needed. */ +diff --git a/ld/testsuite/ld-elf/dummy.s b/ld/testsuite/ld-elf/dummy.s +new file mode 100644 +index 0000000..403f980 +--- /dev/null ++++ b/ld/testsuite/ld-elf/dummy.s +@@ -0,0 +1 @@ ++# Dummy +diff --git a/ld/testsuite/ld-elf/linux-x86.S b/ld/testsuite/ld-elf/linux-x86.S +index bdf40c6..d94abc1 100644 +--- a/ld/testsuite/ld-elf/linux-x86.S ++++ b/ld/testsuite/ld-elf/linux-x86.S +@@ -61,3 +61,31 @@ syscall: + ret /* Return to caller. */ + .size syscall, .-syscall + .section .note.GNU-stack,"",@progbits ++ ++ .section ".note.gnu.property", "a" ++#ifdef __LP64__ ++ .p2align 3 ++#else ++ .p2align 2 ++#endif ++ .long 1f - 0f /* name length */ ++ .long 5f - 2f /* data length */ ++ .long 5 /* note type */ ++0: .asciz "GNU" /* vendor name */ ++1: ++#ifdef __LP64__ ++ .p2align 3 ++#else ++ .p2align 2 ++#endif ++2: .long 0xc0000002 /* pr_type. */ ++ .long 4f - 3f /* pr_datasz. */ ++3: ++ .long 0x2 ++4: ++#ifdef __LP64__ ++ .p2align 3 ++#else ++ .p2align 2 ++#endif ++5: +diff --git a/ld/testsuite/ld-elf/linux-x86.exp b/ld/testsuite/ld-elf/linux-x86.exp +index 36217c6..f6f5a80 100644 +--- a/ld/testsuite/ld-elf/linux-x86.exp ++++ b/ld/testsuite/ld-elf/linux-x86.exp +@@ -37,7 +37,7 @@ run_ld_link_exec_tests [list \ + "Run PR ld/23428 test" \ + "--no-dynamic-linker -z separate-code" \ + "" \ +- { linux-x86.S pr23428.c } \ ++ { linux-x86.S pr23428.c dummy.s } \ + "pr23428" \ + "pass.out" \ + "$NOPIE_CFLAGS -fno-asynchronous-unwind-tables" \ +-- +2.9.3 + diff --git a/bsp/buildroot/package/binutils/2.31.1/0015-bfd-xtensa-fix-shrink_dynamic_reloc_sections-for-exp.patch b/bsp/buildroot/package/binutils/2.31.1/0015-bfd-xtensa-fix-shrink_dynamic_reloc_sections-for-exp.patch new file mode 100644 index 00000000..b80e1fa7 --- /dev/null +++ b/bsp/buildroot/package/binutils/2.31.1/0015-bfd-xtensa-fix-shrink_dynamic_reloc_sections-for-exp.patch @@ -0,0 +1,41 @@ +From 278989f23735aa501be1052e085540c75c126dbb Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Thu, 28 Mar 2019 17:03:57 -0700 +Subject: [PATCH] bfd: xtensa: fix shrink_dynamic_reloc_sections for + export-dynamic + +shrink_dynamic_reloc_sections must remove PLT entry that was created for +an undefined weak symbol in the presence of --export-dynamic option when +relaxation coalesces literals pointing to that symbol. This fixes the +following assertion: + + ld: BFD (GNU Binutils) 2.31.1 internal error, aborting at + elf32-xtensa.c:3292 in elf_xtensa_finish_dynamic_sections + +2019-03-28 Max Filippov +bfd/ + * elf32-xtensa.c (shrink_dynamic_reloc_sections): Add + info->export_dynamic to the conditional. + +Signed-off-by: Max Filippov +--- + bfd/elf32-xtensa.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c +index c3df3d6db756..37ea200eea74 100644 +--- a/bfd/elf32-xtensa.c ++++ b/bfd/elf32-xtensa.c +@@ -10083,7 +10083,8 @@ shrink_dynamic_reloc_sections (struct bfd_link_info *info, + && (input_section->flags & SEC_ALLOC) != 0 + && (dynamic_symbol || bfd_link_pic (info)) + && (!h || h->root.type != bfd_link_hash_undefweak +- || (dynamic_symbol && bfd_link_dll (info)))) ++ || (dynamic_symbol ++ && (bfd_link_dll (info) || info->export_dynamic)))) + { + asection *srel; + bfd_boolean is_plt = FALSE; +-- +2.11.0 + diff --git a/bsp/buildroot/package/binutils/2.31.1/0016-gas-use-literals-const16-for-xtensa-loop-relaxation.patch b/bsp/buildroot/package/binutils/2.31.1/0016-gas-use-literals-const16-for-xtensa-loop-relaxation.patch new file mode 100644 index 00000000..ed617bca --- /dev/null +++ b/bsp/buildroot/package/binutils/2.31.1/0016-gas-use-literals-const16-for-xtensa-loop-relaxation.patch @@ -0,0 +1,294 @@ +From 0dbdfb7918d0b0cfcb8883b24c1291574bf5bb7c Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Tue, 2 Apr 2019 14:32:42 -0700 +Subject: [PATCH] gas: use literals/const16 for xtensa loop relaxation + +Loop opcode relaxation that uses addi/addmi doesn't work well with other +relaxations that may cause code movement. Instead of encoding fixed loop +end offset in the relaxed sequence use l32r or a pair of const16 to load +loop end address. This way the address of the loop end gets a relocation +record and it gets updated appropriately. + +gas/ +2019-04-02 Max Filippov + + * config/tc-xtensa.c (convert_frag_immed): Drop + convert_frag_immed_finish_loop invocation. + (convert_frag_immed_finish_loop): Drop declaration and + definition. + * config/xtensa-relax.c (widen_spec_list): Replace loop + widening that uses addi/addmi with widening that uses l32r + and const16. + +Signed-off-by: Max Filippov +--- + gas/config/tc-xtensa.c | 120 ---------------------------------------------- + gas/config/xtensa-relax.c | 77 ++++++++++++++++++++--------- + 2 files changed, 55 insertions(+), 142 deletions(-) + +diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c +index 3bdbbc931cfc..0cc06361cf6f 100644 +--- a/gas/config/tc-xtensa.c ++++ b/gas/config/tc-xtensa.c +@@ -10668,7 +10668,6 @@ convert_frag_fill_nop (fragS *fragP) + static fixS *fix_new_exp_in_seg + (segT, subsegT, fragS *, int, int, expressionS *, int, + bfd_reloc_code_real_type); +-static void convert_frag_immed_finish_loop (segT, fragS *, TInsn *); + + static void + convert_frag_immed (segT segP, +@@ -10910,9 +10909,6 @@ convert_frag_immed (segT segP, + } + } + +- if (expanded && xtensa_opcode_is_loop (isa, orig_tinsn.opcode) == 1) +- convert_frag_immed_finish_loop (segP, fragP, &orig_tinsn); +- + if (expanded && is_direct_call_opcode (orig_tinsn.opcode)) + { + /* Add an expansion note on the expanded instruction. */ +@@ -10949,122 +10945,6 @@ fix_new_exp_in_seg (segT new_seg, + } + + +-/* Relax a loop instruction so that it can span loop >256 bytes. +- +- loop as, .L1 +- .L0: +- rsr as, LEND +- wsr as, LBEG +- addi as, as, lo8 (label-.L1) +- addmi as, as, mid8 (label-.L1) +- wsr as, LEND +- isync +- rsr as, LCOUNT +- addi as, as, 1 +- .L1: +- <> +- label: +-*/ +- +-static void +-convert_frag_immed_finish_loop (segT segP, fragS *fragP, TInsn *tinsn) +-{ +- TInsn loop_insn; +- TInsn addi_insn; +- TInsn addmi_insn; +- unsigned long target; +- static xtensa_insnbuf insnbuf = NULL; +- unsigned int loop_length, loop_length_hi, loop_length_lo; +- xtensa_isa isa = xtensa_default_isa; +- addressT loop_offset; +- addressT addi_offset = 9; +- addressT addmi_offset = 12; +- fragS *next_fragP; +- int target_count; +- +- if (!insnbuf) +- insnbuf = xtensa_insnbuf_alloc (isa); +- +- /* Get the loop offset. */ +- loop_offset = get_expanded_loop_offset (tinsn->opcode); +- +- /* Validate that there really is a LOOP at the loop_offset. Because +- loops are not bundleable, we can assume that the instruction will be +- in slot 0. */ +- tinsn_from_chars (&loop_insn, fragP->fr_opcode + loop_offset, 0); +- tinsn_immed_from_frag (&loop_insn, fragP, 0); +- +- gas_assert (xtensa_opcode_is_loop (isa, loop_insn.opcode) == 1); +- addi_offset += loop_offset; +- addmi_offset += loop_offset; +- +- gas_assert (tinsn->ntok == 2); +- if (tinsn->tok[1].X_op == O_constant) +- target = tinsn->tok[1].X_add_number; +- else if (tinsn->tok[1].X_op == O_symbol) +- { +- /* Find the fragment. */ +- symbolS *sym = tinsn->tok[1].X_add_symbol; +- gas_assert (S_GET_SEGMENT (sym) == segP +- || S_GET_SEGMENT (sym) == absolute_section); +- target = (S_GET_VALUE (sym) + tinsn->tok[1].X_add_number); +- } +- else +- { +- as_bad (_("invalid expression evaluation type %d"), tinsn->tok[1].X_op); +- target = 0; +- } +- +- loop_length = target - (fragP->fr_address + fragP->fr_fix); +- loop_length_hi = loop_length & ~0x0ff; +- loop_length_lo = loop_length & 0x0ff; +- if (loop_length_lo >= 128) +- { +- loop_length_lo -= 256; +- loop_length_hi += 256; +- } +- +- /* Because addmi sign-extends the immediate, 'loop_length_hi' can be at most +- 32512. If the loop is larger than that, then we just fail. */ +- if (loop_length_hi > 32512) +- as_bad_where (fragP->fr_file, fragP->fr_line, +- _("loop too long for LOOP instruction")); +- +- tinsn_from_chars (&addi_insn, fragP->fr_opcode + addi_offset, 0); +- gas_assert (addi_insn.opcode == xtensa_addi_opcode); +- +- tinsn_from_chars (&addmi_insn, fragP->fr_opcode + addmi_offset, 0); +- gas_assert (addmi_insn.opcode == xtensa_addmi_opcode); +- +- set_expr_const (&addi_insn.tok[2], loop_length_lo); +- tinsn_to_insnbuf (&addi_insn, insnbuf); +- +- fragP->tc_frag_data.is_insn = TRUE; +- xtensa_insnbuf_to_chars +- (isa, insnbuf, (unsigned char *) fragP->fr_opcode + addi_offset, 0); +- +- set_expr_const (&addmi_insn.tok[2], loop_length_hi); +- tinsn_to_insnbuf (&addmi_insn, insnbuf); +- xtensa_insnbuf_to_chars +- (isa, insnbuf, (unsigned char *) fragP->fr_opcode + addmi_offset, 0); +- +- /* Walk through all of the frags from here to the loop end +- and mark them as no_transform to keep them from being modified +- by the linker. If we ever have a relocation for the +- addi/addmi of the difference of two symbols we can remove this. */ +- +- target_count = 0; +- for (next_fragP = fragP; next_fragP != NULL; +- next_fragP = next_fragP->fr_next) +- { +- next_fragP->tc_frag_data.is_no_transform = TRUE; +- if (next_fragP->tc_frag_data.is_loop_target) +- target_count++; +- if (target_count == 2) +- break; +- } +-} +- + + /* A map that keeps information on a per-subsegment basis. This is + maintained during initial assembly, but is invalid once the +diff --git a/gas/config/xtensa-relax.c b/gas/config/xtensa-relax.c +index cb296ed85ed2..daf15d52c259 100644 +--- a/gas/config/xtensa-relax.c ++++ b/gas/config/xtensa-relax.c +@@ -87,13 +87,7 @@ + when the first and second operands are not the same as specified + by the "| %at!=%as" precondition clause. + {"l32i %at,%as,%imm | %at!=%as", +- "LITERAL %imm; l32r %at,%LITERAL; add %at,%at,%as; l32i %at,%at,0"} +- +- There is special case for loop instructions here, but because we do +- not currently have the ability to represent the difference of two +- symbols, the conversion requires special code in the assembler to +- write the operands of the addi/addmi pair representing the +- difference of the old and new loop end label. */ ++ "LITERAL %imm; l32r %at,%LITERAL; add %at,%at,%as; l32i %at,%at,0"} */ + + #include "as.h" + #include "xtensa-isa.h" +@@ -306,44 +300,83 @@ static string_pattern_pair widen_spec_list[] = + {"l32i %at,%as,%imm | %at!=%as ? IsaUseConst16", + "const16 %at,HI16U(%imm); const16 %at,LOW16U(%imm); add %at,%at,%as; l32i %at,%at,0"}, + +- /* This is only PART of the loop instruction. In addition, +- hardcoded into its use is a modification of the final operand in +- the instruction in bytes 9 and 12. */ +- {"loop %as,%label | %as!=1 ? IsaUseLoops", ++ /* Widening loops with literals. */ ++ {"loop %as,%label | %as!=1 ? IsaUseLoops ? IsaUseL32R", ++ "loop %as,%LABEL;" ++ "rsr.lend %as;" /* LEND */ ++ "wsr.lbeg %as;" /* LBEG */ ++ "LITERAL %label;" ++ "l32r %as, %LITERAL;" ++ "nop;" ++ "wsr.lend %as;" ++ "isync;" ++ "rsr.lcount %as;" /* LCOUNT */ ++ "addi %as, %as, 1;" ++ "LABEL"}, ++ {"loopgtz %as,%label | %as!=1 ? IsaUseLoops ? IsaUseL32R", ++ "beqz %as,%label;" ++ "bltz %as,%label;" ++ "loopgtz %as,%LABEL;" ++ "rsr.lend %as;" /* LEND */ ++ "wsr.lbeg %as;" /* LBEG */ ++ "LITERAL %label;" ++ "l32r %as, %LITERAL;" ++ "nop;" ++ "wsr.lend %as;" ++ "isync;" ++ "rsr.lcount %as;" /* LCOUNT */ ++ "addi %as, %as, 1;" ++ "LABEL"}, ++ {"loopnez %as,%label | %as!=1 ? IsaUseLoops ? IsaUseL32R", ++ "beqz %as,%label;" ++ "loopnez %as,%LABEL;" ++ "rsr.lend %as;" /* LEND */ ++ "wsr.lbeg %as;" /* LBEG */ ++ "LITERAL %label;" ++ "l32r %as, %LITERAL;" ++ "nop;" ++ "wsr.lend %as;" ++ "isync;" ++ "rsr.lcount %as;" /* LCOUNT */ ++ "addi %as, %as, 1;" ++ "LABEL"}, ++ ++ /* Widening loops with const16. */ ++ {"loop %as,%label | %as!=1 ? IsaUseLoops ? IsaUseConst16", + "loop %as,%LABEL;" + "rsr.lend %as;" /* LEND */ + "wsr.lbeg %as;" /* LBEG */ +- "addi %as, %as, 0;" /* lo8(%label-%LABEL1) */ +- "addmi %as, %as, 0;" /* mid8(%label-%LABEL1) */ ++ "const16 %as,HI16U(%label);" ++ "const16 %as,LOW16U(%label);" + "wsr.lend %as;" + "isync;" + "rsr.lcount %as;" /* LCOUNT */ +- "addi %as, %as, 1;" /* density -> addi.n %as, %as, 1 */ ++ "addi %as, %as, 1;" + "LABEL"}, +- {"loopgtz %as,%label | %as!=1 ? IsaUseLoops", ++ {"loopgtz %as,%label | %as!=1 ? IsaUseLoops ? IsaUseConst16", + "beqz %as,%label;" + "bltz %as,%label;" + "loopgtz %as,%LABEL;" + "rsr.lend %as;" /* LEND */ + "wsr.lbeg %as;" /* LBEG */ +- "addi %as, %as, 0;" /* lo8(%label-%LABEL1) */ +- "addmi %as, %as, 0;" /* mid8(%label-%LABEL1) */ ++ "const16 %as,HI16U(%label);" ++ "const16 %as,LOW16U(%label);" + "wsr.lend %as;" + "isync;" + "rsr.lcount %as;" /* LCOUNT */ +- "addi %as, %as, 1;" /* density -> addi.n %as, %as, 1 */ ++ "addi %as, %as, 1;" + "LABEL"}, +- {"loopnez %as,%label | %as!=1 ? IsaUseLoops", ++ {"loopnez %as,%label | %as!=1 ? IsaUseLoops ? IsaUseConst16", + "beqz %as,%label;" + "loopnez %as,%LABEL;" + "rsr.lend %as;" /* LEND */ + "wsr.lbeg %as;" /* LBEG */ +- "addi %as, %as, 0;" /* lo8(%label-%LABEL1) */ +- "addmi %as, %as, 0;" /* mid8(%label-%LABEL1) */ ++ "const16 %as,HI16U(%label);" ++ "const16 %as,LOW16U(%label);" + "wsr.lend %as;" + "isync;" + "rsr.lcount %as;" /* LCOUNT */ +- "addi %as, %as, 1;" /* density -> addi.n %as, %as, 1 */ ++ "addi %as, %as, 1;" + "LABEL"}, + + /* Relaxing to wide branches. Order is important here. With wide +-- +2.11.0 + diff --git a/bsp/buildroot/package/binutils/2.31.1/0017-xtensa-gas-put-.literal_position-at-section-start.patch b/bsp/buildroot/package/binutils/2.31.1/0017-xtensa-gas-put-.literal_position-at-section-start.patch new file mode 100644 index 00000000..b4bbc27b --- /dev/null +++ b/bsp/buildroot/package/binutils/2.31.1/0017-xtensa-gas-put-.literal_position-at-section-start.patch @@ -0,0 +1,96 @@ +From 471702ac4a57878a06e8167f063274cf413e548d Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Mon, 8 Apr 2019 13:47:18 -0700 +Subject: [PATCH] xtensa: gas: put .literal_position at section start + +Provide literal position at the beginning of each section for literal +space reserved by relaxations when text-section-literals or +auto-litpools options are used. Remove code that adds fill frag to the +literal section for every .literal_position directive to avoid creation +of empty literal sections. + +Fix auto-litpools tests that got literal pool address changes. + +gas/ +2019-04-11 Max Filippov + + * config/tc-xtensa.c (xtensa_is_init_fini): Add declaration. + (xtensa_mark_literal_pool_location): Don't add fill frag to literal + section that records literal pool location. + (md_begin): Call xtensa_mark_literal_pool_location when text + section literals or auto litpools are used. + (xtensa_elf_section_change_hook): Call + xtensa_mark_literal_pool_location when text section literals or + auto litpools are used, there's no literal pool location defined + for the current section and it's not .init or .fini. + +Signed-off-by: Max Filippov +--- + gas/config/tc-xtensa.c | 22 +++++++++------------- + 1 file changed, 9 insertions(+), 13 deletions(-) + +diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c +index 0cc06361cf6f..6a80e76fed8c 100644 +--- a/gas/config/tc-xtensa.c ++++ b/gas/config/tc-xtensa.c +@@ -497,6 +497,7 @@ static fixS *xg_append_jump (fragS *fragP, symbolS *sym, offsetT offset); + static void xtensa_maybe_create_literal_pool_frag (bfd_boolean, bfd_boolean); + static bfd_boolean auto_litpools = FALSE; + static int auto_litpool_limit = 0; ++static bfd_boolean xtensa_is_init_fini (segT seg); + + /* Alignment Functions. */ + +@@ -4797,7 +4798,6 @@ xtensa_mark_literal_pool_location (void) + { + /* Any labels pointing to the current location need + to be adjusted to after the literal pool. */ +- emit_state s; + fragS *pool_location; + + if (use_literal_section) +@@ -4818,19 +4818,7 @@ xtensa_mark_literal_pool_location (void) + RELAX_LITERAL_POOL_END, NULL, 0, NULL); + xtensa_set_frag_assembly_state (frag_now); + +- /* Now put a frag into the literal pool that points to this location. */ + set_literal_pool_location (now_seg, pool_location); +- xtensa_switch_to_non_abs_literal_fragment (&s); +- frag_align (2, 0, 0); +- record_alignment (now_seg, 2); +- +- /* Close whatever frag is there. */ +- frag_variant (rs_fill, 0, 0, 0, NULL, 0, NULL); +- xtensa_set_frag_assembly_state (frag_now); +- frag_now->tc_frag_data.literal_frag = pool_location; +- frag_variant (rs_fill, 0, 0, 0, NULL, 0, NULL); +- xtensa_restore_emit_state (&s); +- xtensa_set_frag_assembly_state (frag_now); + } + + +@@ -5334,6 +5322,9 @@ md_begin (void) + /* Set up the assembly state. */ + if (!frag_now->tc_frag_data.is_assembly_state_set) + xtensa_set_frag_assembly_state (frag_now); ++ ++ if (!use_literal_section) ++ xtensa_mark_literal_pool_location (); + } + + +@@ -5933,6 +5924,11 @@ xtensa_elf_section_change_hook (void) + /* Set up the assembly state. */ + if (!frag_now->tc_frag_data.is_assembly_state_set) + xtensa_set_frag_assembly_state (frag_now); ++ ++ if (!use_literal_section ++ && seg_info (now_seg)->tc_segment_info_data.literal_pool_loc == NULL ++ && !xtensa_is_init_fini (now_seg)) ++ xtensa_mark_literal_pool_location (); + } + + +-- +2.11.0 + diff --git a/bsp/buildroot/package/busybox/0004-udhcpc-check-that-4-byte-options-are-indeed-4-byte-closes-11506.patch b/bsp/buildroot/package/busybox/0004-udhcpc-check-that-4-byte-options-are-indeed-4-byte-closes-11506.patch new file mode 100644 index 00000000..b40979e3 --- /dev/null +++ b/bsp/buildroot/package/busybox/0004-udhcpc-check-that-4-byte-options-are-indeed-4-byte-closes-11506.patch @@ -0,0 +1,137 @@ +From 6d3b4bb24da9a07c263f3c1acf8df85382ff562c Mon Sep 17 00:00:00 2001 +From: Denys Vlasenko +Date: Mon, 17 Dec 2018 18:07:18 +0100 +Subject: udhcpc: check that 4-byte options are indeed 4-byte, closes 11506 + +function old new delta +udhcp_get_option32 - 27 +27 +udhcp_get_option 231 248 +17 +------------------------------------------------------------------------------ +(add/remove: 1/0 grow/shrink: 1/0 up/down: 44/0) Total: 44 bytes + +Signed-off-by: Denys Vlasenko +Signed-off-by: Jared Bents +--- + networking/udhcp/common.c | 19 +++++++++++++++++++ + networking/udhcp/common.h | 4 ++++ + networking/udhcp/dhcpc.c | 6 +++--- + networking/udhcp/dhcpd.c | 6 +++--- + 4 files changed, 29 insertions(+), 6 deletions(-) + +diff --git a/networking/udhcp/common.c b/networking/udhcp/common.c +index e5fd74f91..41b05b855 100644 +--- a/networking/udhcp/common.c ++++ b/networking/udhcp/common.c +@@ -272,6 +272,15 @@ uint8_t* FAST_FUNC udhcp_get_option(struct dhcp_packet *packet, int code) + goto complain; /* complain and return NULL */ + + if (optionptr[OPT_CODE] == code) { ++ if (optionptr[OPT_LEN] == 0) { ++ /* So far no valid option with length 0 known. ++ * Having this check means that searching ++ * for DHCP_MESSAGE_TYPE need not worry ++ * that returned pointer might be unsafe ++ * to dereference. ++ */ ++ goto complain; /* complain and return NULL */ ++ } + log_option("option found", optionptr); + return optionptr + OPT_DATA; + } +@@ -289,6 +298,16 @@ uint8_t* FAST_FUNC udhcp_get_option(struct dhcp_packet *packet, int code) + return NULL; + } + ++uint8_t* FAST_FUNC udhcp_get_option32(struct dhcp_packet *packet, int code) ++{ ++ uint8_t *r = udhcp_get_option(packet, code); ++ if (r) { ++ if (r[-1] != 4) ++ r = NULL; ++ } ++ return r; ++} ++ + /* Return the position of the 'end' option (no bounds checking) */ + int FAST_FUNC udhcp_end_option(uint8_t *optionptr) + { +diff --git a/networking/udhcp/common.h b/networking/udhcp/common.h +index 7ad603d33..9511152ff 100644 +--- a/networking/udhcp/common.h ++++ b/networking/udhcp/common.h +@@ -205,6 +205,10 @@ extern const uint8_t dhcp_option_lengths[] ALIGN1; + unsigned FAST_FUNC udhcp_option_idx(const char *name, const char *option_strings); + + uint8_t *udhcp_get_option(struct dhcp_packet *packet, int code) FAST_FUNC; ++/* Same as above + ensures that option length is 4 bytes ++ * (returns NULL if size is different) ++ */ ++uint8_t *udhcp_get_option32(struct dhcp_packet *packet, int code) FAST_FUNC; + int udhcp_end_option(uint8_t *optionptr) FAST_FUNC; + void udhcp_add_binary_option(struct dhcp_packet *packet, uint8_t *addopt) FAST_FUNC; + #if ENABLE_UDHCPC || ENABLE_UDHCPD +diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c +index 4b23e4d39..5b3fd531c 100644 +--- a/networking/udhcp/dhcpc.c ++++ b/networking/udhcp/dhcpc.c +@@ -1691,7 +1691,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) + * They say ISC DHCP client supports this case. + */ + server_addr = 0; +- temp = udhcp_get_option(&packet, DHCP_SERVER_ID); ++ temp = udhcp_get_option32(&packet, DHCP_SERVER_ID); + if (!temp) { + bb_error_msg("no server ID, using 0.0.0.0"); + } else { +@@ -1718,7 +1718,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) + struct in_addr temp_addr; + uint8_t *temp; + +- temp = udhcp_get_option(&packet, DHCP_LEASE_TIME); ++ temp = udhcp_get_option32(&packet, DHCP_LEASE_TIME); + if (!temp) { + bb_error_msg("no lease time with ACK, using 1 hour lease"); + lease_seconds = 60 * 60; +@@ -1813,7 +1813,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) + uint32_t svid; + uint8_t *temp; + +- temp = udhcp_get_option(&packet, DHCP_SERVER_ID); ++ temp = udhcp_get_option32(&packet, DHCP_SERVER_ID); + if (!temp) { + non_matching_svid: + log1("received DHCP NAK with wrong" +diff --git a/networking/udhcp/dhcpd.c b/networking/udhcp/dhcpd.c +index a8cd3f03b..477856d11 100644 +--- a/networking/udhcp/dhcpd.c ++++ b/networking/udhcp/dhcpd.c +@@ -640,7 +640,7 @@ static void add_server_options(struct dhcp_packet *packet) + static uint32_t select_lease_time(struct dhcp_packet *packet) + { + uint32_t lease_time_sec = server_config.max_lease_sec; +- uint8_t *lease_time_opt = udhcp_get_option(packet, DHCP_LEASE_TIME); ++ uint8_t *lease_time_opt = udhcp_get_option32(packet, DHCP_LEASE_TIME); + if (lease_time_opt) { + move_from_unaligned32(lease_time_sec, lease_time_opt); + lease_time_sec = ntohl(lease_time_sec); +@@ -987,7 +987,7 @@ int udhcpd_main(int argc UNUSED_PARAM, char **argv) + } + + /* Get SERVER_ID if present */ +- server_id_opt = udhcp_get_option(&packet, DHCP_SERVER_ID); ++ server_id_opt = udhcp_get_option32(&packet, DHCP_SERVER_ID); + if (server_id_opt) { + uint32_t server_id_network_order; + move_from_unaligned32(server_id_network_order, server_id_opt); +@@ -1011,7 +1011,7 @@ int udhcpd_main(int argc UNUSED_PARAM, char **argv) + } + + /* Get REQUESTED_IP if present */ +- requested_ip_opt = udhcp_get_option(&packet, DHCP_REQUESTED_IP); ++ requested_ip_opt = udhcp_get_option32(&packet, DHCP_REQUESTED_IP); + if (requested_ip_opt) { + move_from_unaligned32(requested_nip, requested_ip_opt); + } +-- +cgit v1.2.1 + diff --git a/bsp/buildroot/package/busybox/0005-udhcpc-when-decoding-DHCP_SUBNET-ensure-it-is-4-bytes-long.patch b/bsp/buildroot/package/busybox/0005-udhcpc-when-decoding-DHCP_SUBNET-ensure-it-is-4-bytes-long.patch new file mode 100644 index 00000000..05939db4 --- /dev/null +++ b/bsp/buildroot/package/busybox/0005-udhcpc-when-decoding-DHCP_SUBNET-ensure-it-is-4-bytes-long.patch @@ -0,0 +1,58 @@ +From 74d9f1ba37010face4bd1449df4d60dd84450b06 Mon Sep 17 00:00:00 2001 +From: Denys Vlasenko +Date: Mon, 7 Jan 2019 15:33:42 +0100 +Subject: udhcpc: when decoding DHCP_SUBNET, ensure it is 4 bytes long + +function old new delta +udhcp_run_script 795 801 +6 + +Signed-off-by: Denys Vlasenko +Signed-off-by: Jared Bents +--- + networking/udhcp/common.c | 2 +- + networking/udhcp/common.h | 2 +- + networking/udhcp/dhcpc.c | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/networking/udhcp/common.c b/networking/udhcp/common.c +index 4c2221b77..fc4de5716 100644 +--- a/networking/udhcp/common.c ++++ b/networking/udhcp/common.c +@@ -302,7 +302,7 @@ uint8_t* FAST_FUNC udhcp_get_option32(struct dhcp_packet *packet, int code) + { + uint8_t *r = udhcp_get_option(packet, code); + if (r) { +- if (r[-1] != 4) ++ if (r[-OPT_DATA + OPT_LEN] != 4) + r = NULL; + } + return r; +diff --git a/networking/udhcp/common.h b/networking/udhcp/common.h +index 9511152ff..62f9a2a4a 100644 +--- a/networking/udhcp/common.h ++++ b/networking/udhcp/common.h +@@ -119,7 +119,7 @@ enum { + //#define DHCP_TIME_SERVER 0x04 /* RFC 868 time server (32-bit, 0 = 1.1.1900) */ + //#define DHCP_NAME_SERVER 0x05 /* IEN 116 _really_ ancient kind of NS */ + //#define DHCP_DNS_SERVER 0x06 +-//#define DHCP_LOG_SERVER 0x07 /* port 704 UDP log (not syslog) ++//#define DHCP_LOG_SERVER 0x07 /* port 704 UDP log (not syslog) */ + //#define DHCP_COOKIE_SERVER 0x08 /* "quote of the day" server */ + //#define DHCP_LPR_SERVER 0x09 + #define DHCP_HOST_NAME 0x0c /* 12: either client informs server or server gives name to client */ +diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c +index 5b3fd531c..dcec8cdfd 100644 +--- a/networking/udhcp/dhcpc.c ++++ b/networking/udhcp/dhcpc.c +@@ -531,7 +531,7 @@ static char **fill_envp(struct dhcp_packet *packet) + temp = udhcp_get_option(packet, code); + *curr = xmalloc_optname_optval(temp, &dhcp_optflags[i], opt_name); + putenv(*curr++); +- if (code == DHCP_SUBNET) { ++ if (code == DHCP_SUBNET && temp[-OPT_DATA + OPT_LEN] == 4) { + /* Subnet option: make things like "$ip/$mask" possible */ + uint32_t subnet; + move_from_unaligned32(subnet, temp); +-- +cgit v1.2.1 + diff --git a/bsp/buildroot/package/busybox/S01syslogd b/bsp/buildroot/package/busybox/S01syslogd index 6e642a67..15006bc0 100644 --- a/bsp/buildroot/package/busybox/S01syslogd +++ b/bsp/buildroot/package/busybox/S01syslogd @@ -44,12 +44,12 @@ restart() { } case "$1" in - start|stop|restart) + start|stop|restart) "$1";; reload) # Restart, since there is no true "reload" feature. restart;; - *) - echo "Usage: $0 {start|stop|restart|reload}" - exit 1 + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 esac diff --git a/bsp/buildroot/package/busybox/S02klogd b/bsp/buildroot/package/busybox/S02klogd index a4200cfb..0677e1e5 100644 --- a/bsp/buildroot/package/busybox/S02klogd +++ b/bsp/buildroot/package/busybox/S02klogd @@ -44,12 +44,12 @@ restart() { } case "$1" in - start|stop|restart) + start|stop|restart) "$1";; reload) # Restart, since there is no true "reload" feature. restart;; - *) - echo "Usage: $0 {start|stop|restart|reload}" - exit 1 + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 esac diff --git a/bsp/buildroot/package/busybox/busybox.config b/bsp/buildroot/package/busybox/busybox.config index 38de13d4..1d9560d6 100644 --- a/bsp/buildroot/package/busybox/busybox.config +++ b/bsp/buildroot/package/busybox/busybox.config @@ -321,7 +321,7 @@ CONFIG_UNIQ=y CONFIG_UNLINK=y CONFIG_USLEEP=y CONFIG_UUDECODE=y -# CONFIG_BASE64 is not set +CONFIG_BASE64=y CONFIG_UUENCODE=y CONFIG_WC=y # CONFIG_FEATURE_WC_LARGE is not set diff --git a/bsp/buildroot/package/civetweb/civetweb.mk b/bsp/buildroot/package/civetweb/civetweb.mk index fe1cdd56..1652239e 100644 --- a/bsp/buildroot/package/civetweb/civetweb.mk +++ b/bsp/buildroot/package/civetweb/civetweb.mk @@ -32,8 +32,8 @@ endif ifeq ($(BR2_PACKAGE_OPENSSL),y) CIVETWEB_COPT += -DNO_SSL_DL -CIVETWEB_LIBS += -lssl -lcrypto -lz -CIVETWEB_DEPENDENCIES += openssl +CIVETWEB_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs openssl` +CIVETWEB_DEPENDENCIES += openssl host-pkgconf else CIVETWEB_COPT += -DNO_SSL endif diff --git a/bsp/buildroot/package/cjson/cjson.hash b/bsp/buildroot/package/cjson/cjson.hash index 9c39bb32..32a05b3c 100644 --- a/bsp/buildroot/package/cjson/cjson.hash +++ b/bsp/buildroot/package/cjson/cjson.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 cc544fdd065f3dd19113f1d5ba5f61d696e0f810f291f4b585d1dec361b0188e cjson-v1.7.10.tar.gz +sha256 17ace0e31ebd639906983b05fe1d51576b948ca5411c2162f55dd34c122162ca cjson-v1.7.11.tar.gz sha256 a36dda207c36db5818729c54e7ad4e8b0c6fba847491ba64f372c1a2037b6d5c LICENSE diff --git a/bsp/buildroot/package/cjson/cjson.mk b/bsp/buildroot/package/cjson/cjson.mk index b2ef1c85..e6ab71b9 100644 --- a/bsp/buildroot/package/cjson/cjson.mk +++ b/bsp/buildroot/package/cjson/cjson.mk @@ -4,7 +4,7 @@ # ################################################################################ -CJSON_VERSION = v1.7.10 +CJSON_VERSION = v1.7.11 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 9ac68e76..4b61cd96 100644 --- a/bsp/buildroot/package/clamav/clamav.hash +++ b/bsp/buildroot/package/clamav/clamav.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 fa368fa9b2f57638696150c7d108b06dec284e8d8e3b8e702c784947c01fb806 clamav-0.101.1.tar.gz +sha256 0a12ebdf6ff7a74c0bde2bdc2b55cae33449e6dd953ec90824a9e01291277634 clamav-0.101.2.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 8900b481..5bb0aa09 100644 --- a/bsp/buildroot/package/clamav/clamav.mk +++ b/bsp/buildroot/package/clamav/clamav.mk @@ -4,7 +4,7 @@ # ################################################################################ -CLAMAV_VERSION = 0.101.1 +CLAMAV_VERSION = 0.101.2 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/copas/0001-Do-not-load-coxpcall-for-LuaJIT.patch b/bsp/buildroot/package/copas/0001-Do-not-load-coxpcall-for-LuaJIT.patch new file mode 100644 index 00000000..9a7f38c6 --- /dev/null +++ b/bsp/buildroot/package/copas/0001-Do-not-load-coxpcall-for-LuaJIT.patch @@ -0,0 +1,49 @@ +From 8d1b5a9b973a9891d676dabf31807eb825d7f262 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fran=C3=A7ois=20Perrad?= +Date: Wed, 6 Sep 2017 00:00:56 +0200 +Subject: [PATCH] Do not load coxpcall for LuaJIT + +* coxpcall is only required with PUC Lua 5.1, but not with LuaJIT + +use the same logic as in copas.lua. +this fixes issue #63. + +Fetch from: https://github.com/keplerproject/copas/commit/8d1b5a9b973a9891d676dabf31807eb825d7f262 +Signed-off-by: Francois Perrad +--- + doc/us/index.html | 5 +++++ + src/copas/limit.lua | 2 +- + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/copas-2_0_2/doc/us/index.html b/doc/us/index.html +index 1d008c2..c4d85ef 100644 +--- a/copas-2_0_2/doc/us/index.html ++++ b/copas-2_0_2/doc/us/index.html +@@ -114,6 +114,11 @@ LuaSocket, Coxpcall (only +

      History

      + +
      ++
      Copas [unreleased]
      ++
        ++
      • Fixed: coxpcall dependency in limit.lua #63 (Francois Perrad)
      • ++
      ++ +
      Copas 2.0.2 [2017]
      +
        +
      • Added: copas.running flag
      • +diff --git a/copas-2_0_2/src/copas/limit.lua b/src/copas/limit.lua +index ea178be..f0dfe17 100644 +--- a/copas-2_0_2/src/copas/limit.lua ++++ b/copas-2_0_2/src/copas/limit.lua +@@ -10,7 +10,7 @@ local pack = table.pack or function(...) return {n=select('#',...),...} end + local unpack = function(t) return (table.unpack or unpack)(t, 1, t.n or #t) end + + local pcall = pcall +-if _VERSION=="Lua 5.1" then -- obsolete: only for Lua 5.1 compatibility ++if _VERSION=="Lua 5.1" and not jit then -- obsolete: only for Lua 5.1 compatibility + pcall = require("coxpcall").pcall + end + +-- +2.17.1 + diff --git a/bsp/buildroot/package/copas/Config.in b/bsp/buildroot/package/copas/Config.in index f4e05ea2..2de19671 100644 --- a/bsp/buildroot/package/copas/Config.in +++ b/bsp/buildroot/package/copas/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_COPAS bool "copas" - select BR2_PACKAGE_COXPCALL if BR2_PACKAGE_LUA_5_1 || BR2_PACKAGE_LUAJIT # runtime + select BR2_PACKAGE_COXPCALL if BR2_PACKAGE_LUA_5_1 # runtime select BR2_PACKAGE_LUASOCKET # runtime help Copas is a dispatcher based on coroutines that can be used diff --git a/bsp/buildroot/package/cups/0005-Fix-builds-without-PAM-Issue-5283.patch b/bsp/buildroot/package/cups/0005-Fix-builds-without-PAM-Issue-5283.patch deleted file mode 100644 index ff242f82..00000000 --- a/bsp/buildroot/package/cups/0005-Fix-builds-without-PAM-Issue-5283.patch +++ /dev/null @@ -1,189 +0,0 @@ -From 570933a6a3597371bae1beeb754ee8711d6305ab Mon Sep 17 00:00:00 2001 -From: Michael R Sweet -Date: Mon, 2 Apr 2018 20:05:13 -0400 -Subject: [PATCH] Fix builds without PAM (Issue #5283) - -[baruch: drop CHANGES.md hunk] -Signed-off-by: Baruch Siach ---- -Upstream status: commit 570933a6a3 - - CHANGES.md | 8 ++- - scheduler/auth.c | 134 ++--------------------------------------------- - 2 files changed, 11 insertions(+), 131 deletions(-) - -diff --git a/scheduler/auth.c b/scheduler/auth.c -index 8b134b5d7257..fa4e2715de34 100644 ---- a/scheduler/auth.c -+++ b/scheduler/auth.c -@@ -1,8 +1,8 @@ - /* - * Authorization routines for the CUPS scheduler. - * -- * Copyright 2007-2016 by Apple Inc. -- * Copyright 1997-2007 by Easy Software Products, all rights reserved. -+ * Copyright © 2007-2018 by Apple Inc. -+ * Copyright © 1997-2007 by Easy Software Products, all rights reserved. - * - * This file contains Kerberos support code, copyright 2006 by - * Jelmer Vernooij. -@@ -71,9 +71,6 @@ static int check_authref(cupsd_client_t *con, const char *right); - static int compare_locations(cupsd_location_t *a, - cupsd_location_t *b); - static cupsd_authmask_t *copy_authmask(cupsd_authmask_t *am, void *data); --#if !HAVE_LIBPAM --static char *cups_crypt(const char *pw, const char *salt); --#endif /* !HAVE_LIBPAM */ - static void free_authmask(cupsd_authmask_t *am, void *data); - #if HAVE_LIBPAM - static int pam_func(int, const struct pam_message **, -@@ -694,14 +691,14 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */ - * client... - */ - -- pass = cups_crypt(password, pw->pw_passwd); -+ pass = crypt(password, pw->pw_passwd); - - if (!pass || strcmp(pw->pw_passwd, pass)) - { - # ifdef HAVE_SHADOW_H - if (spw) - { -- pass = cups_crypt(password, spw->sp_pwdp); -+ pass = crypt(password, spw->sp_pwdp); - - if (pass == NULL || strcmp(spw->sp_pwdp, pass)) - { -@@ -1995,129 +1992,6 @@ copy_authmask(cupsd_authmask_t *mask, /* I - Existing auth mask */ - } - - --#if !HAVE_LIBPAM --/* -- * 'cups_crypt()' - Encrypt the password using the DES or MD5 algorithms, -- * as needed. -- */ -- --static char * /* O - Encrypted password */ --cups_crypt(const char *pw, /* I - Password string */ -- const char *salt) /* I - Salt (key) string */ --{ -- if (!strncmp(salt, "$1$", 3)) -- { -- /* -- * Use MD5 passwords without the benefit of PAM; this is for -- * Slackware Linux, and the algorithm was taken from the -- * old shadow-19990827/lib/md5crypt.c source code... :( -- */ -- -- int i; /* Looping var */ -- unsigned long n; /* Output number */ -- int pwlen; /* Length of password string */ -- const char *salt_end; /* End of "salt" data for MD5 */ -- char *ptr; /* Pointer into result string */ -- _cups_md5_state_t state; /* Primary MD5 state info */ -- _cups_md5_state_t state2; /* Secondary MD5 state info */ -- unsigned char digest[16]; /* MD5 digest result */ -- static char result[120]; /* Final password string */ -- -- -- /* -- * Get the salt data between dollar signs, e.g. $1$saltdata$md5. -- * Get a maximum of 8 characters of salt data after $1$... -- */ -- -- for (salt_end = salt + 3; *salt_end && (salt_end - salt) < 11; salt_end ++) -- if (*salt_end == '$') -- break; -- -- /* -- * Compute the MD5 sum we need... -- */ -- -- pwlen = strlen(pw); -- -- _cupsMD5Init(&state); -- _cupsMD5Append(&state, (unsigned char *)pw, pwlen); -- _cupsMD5Append(&state, (unsigned char *)salt, salt_end - salt); -- -- _cupsMD5Init(&state2); -- _cupsMD5Append(&state2, (unsigned char *)pw, pwlen); -- _cupsMD5Append(&state2, (unsigned char *)salt + 3, salt_end - salt - 3); -- _cupsMD5Append(&state2, (unsigned char *)pw, pwlen); -- _cupsMD5Finish(&state2, digest); -- -- for (i = pwlen; i > 0; i -= 16) -- _cupsMD5Append(&state, digest, i > 16 ? 16 : i); -- -- for (i = pwlen; i > 0; i >>= 1) -- _cupsMD5Append(&state, (unsigned char *)((i & 1) ? "" : pw), 1); -- -- _cupsMD5Finish(&state, digest); -- -- for (i = 0; i < 1000; i ++) -- { -- _cupsMD5Init(&state); -- -- if (i & 1) -- _cupsMD5Append(&state, (unsigned char *)pw, pwlen); -- else -- _cupsMD5Append(&state, digest, 16); -- -- if (i % 3) -- _cupsMD5Append(&state, (unsigned char *)salt + 3, salt_end - salt - 3); -- -- if (i % 7) -- _cupsMD5Append(&state, (unsigned char *)pw, pwlen); -- -- if (i & 1) -- _cupsMD5Append(&state, digest, 16); -- else -- _cupsMD5Append(&state, (unsigned char *)pw, pwlen); -- -- _cupsMD5Finish(&state, digest); -- } -- -- /* -- * Copy the final sum to the result string and return... -- */ -- -- memcpy(result, salt, (size_t)(salt_end - salt)); -- ptr = result + (salt_end - salt); -- *ptr++ = '$'; -- -- for (i = 0; i < 5; i ++, ptr += 4) -- { -- n = ((((unsigned)digest[i] << 8) | (unsigned)digest[i + 6]) << 8); -- -- if (i < 4) -- n |= (unsigned)digest[i + 12]; -- else -- n |= (unsigned)digest[5]; -- -- to64(ptr, n, 4); -- } -- -- to64(ptr, (unsigned)digest[11], 2); -- ptr += 2; -- *ptr = '\0'; -- -- return (result); -- } -- else -- { -- /* -- * Use the standard crypt() function... -- */ -- -- return (crypt(pw, salt)); -- } --} --#endif /* !HAVE_LIBPAM */ -- -- - /* - * 'free_authmask()' - Free function for auth masks. - */ --- -2.17.0 - diff --git a/bsp/buildroot/package/cups/cups.hash b/bsp/buildroot/package/cups/cups.hash index a19b3b09..3d238d61 100644 --- a/bsp/buildroot/package/cups/cups.hash +++ b/bsp/buildroot/package/cups/cups.hash @@ -1,3 +1,3 @@ # Locally calculated: -sha256 3c4b637b737077565ccdfbd5f61785d03f49461ae736fcc2c0ffaf41d2c6ea6a cups-2.2.7-source.tar.gz +sha256 77c8b2b3bb7fe8b5fbfffc307f2c817b2d7ec67b657f261a1dd1c61ab81205bb cups-2.2.10-source.tar.gz sha256 6e0e0ffbde118aae709f7ef65590de9071e8b2cd322f84fd645c6b64f3cc452c LICENSE.txt diff --git a/bsp/buildroot/package/cups/cups.mk b/bsp/buildroot/package/cups/cups.mk index 8f338248..b91fe7ac 100644 --- a/bsp/buildroot/package/cups/cups.mk +++ b/bsp/buildroot/package/cups/cups.mk @@ -4,7 +4,7 @@ # ################################################################################ -CUPS_VERSION = 2.2.7 +CUPS_VERSION = 2.2.10 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/darkhttpd/S50darkhttpd b/bsp/buildroot/package/darkhttpd/S50darkhttpd old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/davfs2/0002-fix-iconv.patch b/bsp/buildroot/package/davfs2/0002-fix-iconv.patch new file mode 100644 index 00000000..f2bae8f8 --- /dev/null +++ b/bsp/buildroot/package/davfs2/0002-fix-iconv.patch @@ -0,0 +1,48 @@ +webdav.c: fix iconv calls + +Replace HAVE_ICONV_H by HAVE_ICONV to fix build with iconv indeed +HAVE_ICONV_H is never set as AC_CHECK_HEADERS is not called to check for +iconv.h + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://savannah.nongnu.org/bugs/index.php?56178] + +diff -Naurp davfs2-1.5.4-orig/src/webdav.c davfs2-1.5.4/src/webdav.c +--- davfs2-1.5.4-orig/src/webdav.c 2019-04-20 12:12:38.252599230 +0200 ++++ davfs2-1.5.4/src/webdav.c 2019-04-20 12:13:33.012925300 +0200 +@@ -25,7 +25,7 @@ + #ifdef HAVE_FCNTL_H + #include + #endif +-#ifdef HAVE_ICONV_H ++#ifdef HAVE_ICONV + #include + #endif + #ifdef HAVE_LANGINFO_H +@@ -231,7 +231,7 @@ static int initialized; + Needed by ssl_verify() which may be called at any time. */ + static int have_terminal; + +-#ifdef HAVE_ICONV_H ++#ifdef HAVE_ICONV + /* Handle to convert character encoding from utf-8 to LC_CTYPE. + If NULL no conversion is done. */ + static iconv_t from_utf_8; +@@ -264,7 +264,7 @@ static char **cookie_list; + /* Private function prototypes and inline functions */ + /*==================================================*/ + +-#ifdef HAVE_ICONV_H ++#ifdef HAVE_ICONV + static void + convert(char **s, iconv_t conv); + #endif +@@ -337,7 +337,7 @@ dav_init_webdav(const dav_args *args) + if (args->neon_debug & ~NE_DBG_HTTPPLAIN) + syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Initializing webdav"); + +-#ifdef HAVE_ICONV_H ++#ifdef HAVE_ICONV + char *lc_charset = nl_langinfo(CODESET); + if (lc_charset && strcasecmp(lc_charset, "UTF-8") != 0) { + from_utf_8 = iconv_open(lc_charset, "UTF-8"); diff --git a/bsp/buildroot/package/davfs2/davfs2.mk b/bsp/buildroot/package/davfs2/davfs2.mk index c1f8477f..f2b2fdbe 100644 --- a/bsp/buildroot/package/davfs2/davfs2.mk +++ b/bsp/buildroot/package/davfs2/davfs2.mk @@ -9,9 +9,13 @@ DAVFS2_SITE = http://download.savannah.nongnu.org/releases/davfs2 DAVFS2_LICENSE = GPL-3.0+ DAVFS2_LICENSE_FILES = COPYING -DAVFS2_DEPENDENCIES = neon +DAVFS2_DEPENDENCIES = \ + neon \ + $(if $(BR2_PACKAGE_LIBICONV),libiconv) \ + $(TARGET_NLS_DEPENDENCIES) DAVFS2_CONF_ENV += \ - ac_cv_path_NEON_CONFIG=$(STAGING_DIR)/usr/bin/neon-config + ac_cv_path_NEON_CONFIG=$(STAGING_DIR)/usr/bin/neon-config \ + LIBS=$(TARGET_NLS_LIBS) $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/dhcp/S80dhcp-relay b/bsp/buildroot/package/dhcp/S80dhcp-relay old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/dhcp/S80dhcp-server b/bsp/buildroot/package/dhcp/S80dhcp-server old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/docker-cli/docker-cli.hash b/bsp/buildroot/package/docker-cli/docker-cli.hash index 9782f34b..41686f0d 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 29f3a435bfcd52dbe26f6315ee92bffc0220a537608935a2c3870f6b729fc16e docker-cli-v18.09.2.tar.gz +sha256 f9be44f395617f3f75faac69ad90f93c94ee4050c193bfa05eddb520a27c5d44 docker-cli-v18.09.4.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 c3dd5369..65701d15 100644 --- a/bsp/buildroot/package/docker-cli/docker-cli.mk +++ b/bsp/buildroot/package/docker-cli/docker-cli.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOCKER_CLI_VERSION = v18.09.2 +DOCKER_CLI_VERSION = v18.09.4 DOCKER_CLI_SITE = $(call github,docker,cli,$(DOCKER_CLI_VERSION)) DOCKER_CLI_WORKSPACE = gopath diff --git a/bsp/buildroot/package/docker-containerd/Config.in b/bsp/buildroot/package/docker-containerd/Config.in index 4a4db1cd..72ca9313 100644 --- a/bsp/buildroot/package/docker-containerd/Config.in +++ b/bsp/buildroot/package/docker-containerd/Config.in @@ -3,9 +3,7 @@ config BR2_PACKAGE_DOCKER_CONTAINERD depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 # runc depends on !BR2_TOOLCHAIN_USES_UCLIBC # runc - depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM # runc depends on BR2_USE_MMU # util-linux select BR2_PACKAGE_RUNC # runtime dependency select BR2_PACKAGE_UTIL_LINUX # runtime dependency @@ -16,7 +14,7 @@ config BR2_PACKAGE_DOCKER_CONTAINERD help containerd is a daemon to control runC. - https://github.com/docker/containerd + https://containerd.io/ if BR2_PACKAGE_DOCKER_CONTAINERD @@ -34,6 +32,4 @@ comment "docker-containerd needs a glibc or musl toolchain w/ threads" depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 || BR2_TOOLCHAIN_USES_UCLIBC - depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_UCLIBC diff --git a/bsp/buildroot/package/docker-containerd/docker-containerd.hash b/bsp/buildroot/package/docker-containerd/docker-containerd.hash index cae88f40..fc7b6fcb 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 ff4c2ad680c9e2484e335868a54b0c1ea49d9165dd5b38b64ef7d9dacf2b96b4 docker-containerd-v1.2.3.tar.gz +sha256 b92819bde71de947329814a3c649b8adb106cc03be16aae217b94297f4b843a1 docker-containerd-v1.2.5.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 9088c176..586fd1fa 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.3 +DOCKER_CONTAINERD_VERSION = v1.2.5 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/Config.in b/bsp/buildroot/package/docker-engine/Config.in index 08f30e43..3c973104 100644 --- a/bsp/buildroot/package/docker-engine/Config.in +++ b/bsp/buildroot/package/docker-engine/Config.in @@ -3,9 +3,7 @@ config BR2_PACKAGE_DOCKER_ENGINE depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 # docker-containerd -> runc depends on !BR2_TOOLCHAIN_USES_UCLIBC # docker-containerd -> runc - depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM # docker-containerd -> runc depends on BR2_USE_MMU # docker-containerd select BR2_PACKAGE_DOCKER_CONTAINERD # runtime dependency select BR2_PACKAGE_DOCKER_PROXY # runtime dependency @@ -52,10 +50,8 @@ config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_VFS endif -comment "docker-engine needs a glibc or musl toolchain w/ threads, headers >= 3.11" +comment "docker-engine needs a glibc or musl toolchain w/ threads" depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 || BR2_TOOLCHAIN_USES_UCLIBC - depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_UCLIBC depends on BR2_USE_MMU diff --git a/bsp/buildroot/package/docker-engine/docker-engine.hash b/bsp/buildroot/package/docker-engine/docker-engine.hash index fe7b0d3b..b268b7f3 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 4babbcbc3e1d7750c61a1e5bee29bd206256948961feaac5b44cabb0c70a50a6 docker-engine-v18.09.2.tar.gz +sha256 1f4bd15d799420b587024fe3c6d7bd4eb584e509d30c8193db31411579780f2a docker-engine-v18.09.4.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 e2f59666..92e364e6 100644 --- a/bsp/buildroot/package/docker-engine/docker-engine.mk +++ b/bsp/buildroot/package/docker-engine/docker-engine.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOCKER_ENGINE_VERSION = v18.09.2 +DOCKER_ENGINE_VERSION = v18.09.4 DOCKER_ENGINE_SITE = $(call github,docker,engine,$(DOCKER_ENGINE_VERSION)) DOCKER_ENGINE_LICENSE = Apache-2.0 diff --git a/bsp/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.hash b/bsp/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.hash index 5ad9406a..a1d88d49 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 547999e67a001abc5e654c7e35653d3fe057fa9a47a24257e39a79c41ef08516 dovecot-2.3-pigeonhole-0.5.4.tar.gz +sha256 cbaa106e1c2b23824420efdd6a9f8572c64c8dccf75a3101a899b6ddb25149a5 dovecot-2.3-pigeonhole-0.5.5.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 18420467..2a762673 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.4 +DOVECOT_PIGEONHOLE_VERSION = 0.5.5 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 e4a07ba4..2b8492a3 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 b8873e2ce5c33e58963bb7a8d2ff8427c09dbfdd63e13a0b0f4502864043aa07 dovecot-2.3.4.1.tar.gz +sha256 ba14e41aefd81a868a35b83bcb54194116106424d37690519b50ea83c0f31bf2 dovecot-2.3.5.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 bffc8ac5..d9b94eb8 100644 --- a/bsp/buildroot/package/dovecot/dovecot.mk +++ b/bsp/buildroot/package/dovecot/dovecot.mk @@ -5,7 +5,7 @@ ################################################################################ DOVECOT_VERSION_MAJOR = 2.3 -DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).4.1 +DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).5.2 DOVECOT_SITE = https://www.dovecot.org/releases/$(DOVECOT_VERSION_MAJOR) DOVECOT_INSTALL_STAGING = YES DOVECOT_LICENSE = LGPL-2.1, MIT, Public Domain, BSD-3-Clause, Unicode-DFS-2015 diff --git a/bsp/buildroot/package/efl/0001-evas-gl-make-GLintptr-etc.-also-ndefed-for-GL_VERSIO.patch b/bsp/buildroot/package/efl/0001-evas-gl-make-GLintptr-etc.-also-ndefed-for-GL_VERSIO.patch new file mode 100644 index 00000000..b64a200f --- /dev/null +++ b/bsp/buildroot/package/efl/0001-evas-gl-make-GLintptr-etc.-also-ndefed-for-GL_VERSIO.patch @@ -0,0 +1,34 @@ +From d045dd99acdd47be238642d4f9384dccacde2b42 Mon Sep 17 00:00:00 2001 +From: "Carsten Haitzler (Rasterman)" +Date: Sat, 15 Dec 2018 16:19:01 +0000 +Subject: [PATCH] evas gl - make GLintptr etc. also ndefed for GL_VERSION_1_5 + fix typedef + +It seems that GL_VERSION_1_5 define == these provided by gl already. At +least reading the mesa headers I do, so this should fix T7502 + +Signed-off-by: Vadim Kochan +--- + src/lib/evas/Evas_GL.h | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/lib/evas/Evas_GL.h b/src/lib/evas/Evas_GL.h +index fa3e6f4..5524d82 100644 +--- a/src/lib/evas/Evas_GL.h ++++ b/src/lib/evas/Evas_GL.h +@@ -4272,9 +4272,11 @@ typedef signed int GLfixed; // Changed khronos_int32_t + + #ifndef GL_ES_VERSION_2_0 + /* GL types for handling large vertex buffer objects */ +-#include ++# ifndef GL_VERSION_1_5 ++# include + typedef ptrdiff_t GLintptr; // Changed khronos_intptr_t + typedef ptrdiff_t GLsizeiptr; // Changed khronos_ssize_t ++# endif + #endif + + /* Some definitions from GLES 3.0. +-- +2.14.1 + diff --git a/bsp/buildroot/package/eigen/eigen.hash b/bsp/buildroot/package/eigen/eigen.hash index 4a1bcdf9..e5c84040 100644 --- a/bsp/buildroot/package/eigen/eigen.hash +++ b/bsp/buildroot/package/eigen/eigen.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 dd254beb0bafc695d0f62ae1a222ff85b52dbaa3a16f76e781dce22d0d20a4a6 3.3.4.tar.bz2 +sha256 9f13cf90dedbe3e52a19f43000d71fdf72e986beb9a5436dddcd61ff9d77a3ce 3.3.7.tar.bz2 sha256 4f877e5ae4672568ef82cfd0023e2cef4a7cf55d867ab249efc9569a7eb9e5b1 COPYING.BSD sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.GPL sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL diff --git a/bsp/buildroot/package/eigen/eigen.mk b/bsp/buildroot/package/eigen/eigen.mk index 27c4e212..5c9e0284 100644 --- a/bsp/buildroot/package/eigen/eigen.mk +++ b/bsp/buildroot/package/eigen/eigen.mk @@ -4,7 +4,7 @@ # ################################################################################ -EIGEN_VERSION = 3.3.4 +EIGEN_VERSION = 3.3.7 EIGEN_SOURCE = $(EIGEN_VERSION).tar.bz2 EIGEN_SITE = https://bitbucket.org/eigen/eigen/get EIGEN_LICENSE = MPL2, BSD-3-Clause, LGPL-2.1 diff --git a/bsp/buildroot/package/fetchmail/0002-enable-libressl.patch b/bsp/buildroot/package/fetchmail/0001-enable-libressl.patch similarity index 100% rename from bsp/buildroot/package/fetchmail/0002-enable-libressl.patch rename to bsp/buildroot/package/fetchmail/0001-enable-libressl.patch diff --git a/bsp/buildroot/package/fetchmail/0001-fix-openssl-static-link.patch b/bsp/buildroot/package/fetchmail/0001-fix-openssl-static-link.patch deleted file mode 100644 index 1a5f4d6f..00000000 --- a/bsp/buildroot/package/fetchmail/0001-fix-openssl-static-link.patch +++ /dev/null @@ -1,30 +0,0 @@ -Fix checking for statically build OpenSSL with libz dependency - -Fixes -http://autobuild.buildroot.net/results/48a/48ad6d3659cf1f04581b7e3d115bebf454ff17fd/ - -configure: Enabling OpenSSL support in /home/br/br/output/host/usr/i486-buildroot-linux-uclibc/sysroot/usr. -checking for additional library dependencies of SSL... error -configure: error: cannot link with SSL - check config.log - -In config.log multiple linking errors to libz can be found: - -configure:10099: /home/br/br/output/host/usr/bin/i486-ctng-linux-uclibc-gcc -o - conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64 - /home/br/br/output/host/usr/i486-buildroot-linux-uclibc/sysroot/usr/lib/libcrypto.a(c_zlib.o): - In function `zlib_stateful_c_zlib.c:(.text+0x56): undefined reference to `inflate' - -Signed-off-by: Bernd Kuhls - -diff -uNr fetchmail-6.3.26.org/configure.ac fetchmail-6.3.26/configure.ac ---- fetchmail-6.3.26.org/configure.ac 2013-04-23 22:51:10.000000000 +0200 -+++ fetchmail-6.3.26/configure.ac 2014-07-27 09:20:25.000000000 +0200 -@@ -778,7 +778,7 @@ - AC_MSG_ERROR([SSL support enabled, but OpenSSL not found]) - fi - LDFLAGS="$LDFLAGS -L$with_ssl/lib" -- LIBS="$LIBS -lssl -lcrypto" -+ LIBS="-lssl -lcrypto $LIBS" - dnl check if -ldl is needed - AC_MSG_CHECKING([for additional library dependencies of SSL]) - found=0 diff --git a/bsp/buildroot/package/fetchmail/0002-configure.ac-use-pkg-config-to-find-openssl.patch b/bsp/buildroot/package/fetchmail/0002-configure.ac-use-pkg-config-to-find-openssl.patch new file mode 100644 index 00000000..aefed7f2 --- /dev/null +++ b/bsp/buildroot/package/fetchmail/0002-configure.ac-use-pkg-config-to-find-openssl.patch @@ -0,0 +1,69 @@ +From 1ed0af7f1bbcaccbd7356bd90596f5c942b64720 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 22 Mar 2019 20:24:54 +0100 +Subject: [PATCH 1/1] configure.ac: use pkg-config to find openssl + +openssl can have multiples dependencies such as libatomic on sparcv8 +32 bits + +Fixes: + - http://autobuild.buildroot.org/results/58e5aa7c6ba8fe7474071d7a3cba6ed3a1b4cff4 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://gitlab.com/fetchmail/fetchmail/merge_requests/14] +--- + configure.ac | 37 +++++++++++++++++++------------------ + 1 file changed, 19 insertions(+), 18 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 16b0fcba..3a75ec6e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -778,24 +778,25 @@ then + else + AC_MSG_ERROR([SSL support enabled, but OpenSSL not found]) + fi +- LDFLAGS="$LDFLAGS -L$with_ssl/lib" +- LIBS="$LIBS -lssl -lcrypto" +- dnl check if -ldl is needed +- AC_MSG_CHECKING([for additional library dependencies of SSL]) +- found=0 +- save_LIBS="$LIBS" +- for i in "" "-ldl" ; do +- LIBS="$LDFLAGS $save_LIBS $i" +- AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ],[SSL_library_init()])],[found=1; break]) +- done +- if test $found = 0 ; then +- AC_MSG_RESULT([error]) +- AC_MSG_ERROR([cannot link with SSL - check config.log]) +- fi +- LIBS="$save_LIBS $i" +- if test "$i" = "" ; then i="(none)" ; fi +- AC_MSG_RESULT($i) +- dnl XXX FIXME: use pkg-config if available! ++ PKG_CHECK_MODULES([SSL],[libssl libcrypto],[LIBS="$LIBS $SSL_LIBS"],[ ++ LDFLAGS="$LDFLAGS -L$with_ssl/lib" ++ LIBS="$LIBS -lssl -lcrypto" ++ dnl check if -ldl is needed ++ AC_MSG_CHECKING([for additional library dependencies of SSL]) ++ found=0 ++ save_LIBS="$LIBS" ++ for i in "" "-ldl" ; do ++ LIBS="$LDFLAGS $save_LIBS $i" ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ],[SSL_library_init()])],[found=1; break]) ++ done ++ if test $found = 0 ; then ++ AC_MSG_RESULT([error]) ++ AC_MSG_ERROR([cannot link with SSL - check config.log]) ++ fi ++ LIBS="$save_LIBS $i" ++ if test "$i" = "" ; then i="(none)" ; fi ++ AC_MSG_RESULT($i) ++ ]) + AC_DEFINE(SSL_ENABLE) + else + AC_MSG_WARN(Disabling SSL support.) +-- +2.20.1 + diff --git a/bsp/buildroot/package/fetchmail/fetchmail.mk b/bsp/buildroot/package/fetchmail/fetchmail.mk index 37bbeabf..41505e86 100644 --- a/bsp/buildroot/package/fetchmail/fetchmail.mk +++ b/bsp/buildroot/package/fetchmail/fetchmail.mk @@ -13,17 +13,12 @@ FETCHMAIL_LICENSE_FILES = COPYING FETCHMAIL_AUTORECONF = YES FETCHMAIL_GETTEXTIZE = YES -# needed to help fetchmail detecting the availability of openssl, -# because it doesn't use pkg-config -ifeq ($(BR2_STATIC_LIBS),y) -FETCHMAIL_CONF_ENV += LIBS="-lz" -endif - FETCHMAIL_CONF_OPTS = \ --with-ssl=$(STAGING_DIR)/usr FETCHMAIL_DEPENDENCIES = \ ca-certificates \ + host-pkgconf \ openssl \ $(TARGET_NLS_DEPENDENCIES) diff --git a/bsp/buildroot/package/file/file.hash b/bsp/buildroot/package/file/file.hash index c279dff6..7948e856 100644 --- a/bsp/buildroot/package/file/file.hash +++ b/bsp/buildroot/package/file/file.hash @@ -1,5 +1,7 @@ -# Locally calculated -sha256 f15a50dbbfa83fec0bd1161e8e191b092ec832720e30cd14536e044ac623b20a file-5.34.tar.gz -sha256 3c0ad13c36f891a9b4f951e59eb2fc108065a46f849697cc6fd3cdb41cc23a3d COPYING -sha256 d98ee4d8d95e7d021a5dfc41f137ecc3b624a7b98e8bd793130202d12a21ed57 src/mygetopt.h -sha256 85e358d575ad4ac5b38b623a25b24246ccff3c7e680d930c0a9ff5228fe434b6 src/vasprintf.c +# Locally calculated after verifying signature +# ftp://ftp.astron.com/pub/file/file-5.36.tar.gz.asc +# using key BE04995BA8F90ED0C0C176C471112AB16CB33B3A +sha256 fb608290c0fd2405a8f63e5717abf6d03e22e183fb21884413d1edd918184379 file-5.36.tar.gz +sha256 0bfa856a9930bddadbef95d1be1cf4e163c0be618e76ea3275caaf255283e274 COPYING +sha256 4ccb60d623884ef637af4a5bc16b2cb350163e2135e967655837336019a64462 src/mygetopt.h +sha256 7ac061e1a1c840c4dfa0573aec6f3497676c9295b5ec4190d3576646eb1646bf src/vasprintf.c diff --git a/bsp/buildroot/package/file/file.mk b/bsp/buildroot/package/file/file.mk index b5b12978..1a835015 100644 --- a/bsp/buildroot/package/file/file.mk +++ b/bsp/buildroot/package/file/file.mk @@ -4,7 +4,7 @@ # ################################################################################ -FILE_VERSION = 5.34 +FILE_VERSION = 5.36 FILE_SITE = ftp://ftp.astron.com/pub/file FILE_DEPENDENCIES = host-file zlib HOST_FILE_DEPENDENCIES = host-zlib diff --git a/bsp/buildroot/package/flashrom/0001-platform-Add-riscv-to-known-platforms.patch b/bsp/buildroot/package/flashrom/0001-platform-Add-riscv-to-known-platforms.patch new file mode 100644 index 00000000..06eb9256 --- /dev/null +++ b/bsp/buildroot/package/flashrom/0001-platform-Add-riscv-to-known-platforms.patch @@ -0,0 +1,41 @@ +From a9a03cc6ba71825bfae0d64e1888f33c77345bc3 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 17 Mar 2018 23:08:29 -0700 +Subject: [PATCH] platform: Add riscv to known platforms + +Change-Id: I724a99e2493fcbf71c2fc2d9f6a1ad607c737087 +Signed-off-by: Khem Raj +Reviewed-on: https://review.coreboot.org/25260 +Tested-by: build bot (Jenkins) +Reviewed-by: Paul Menzel +Reviewed-by: David Hendricks +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/flashrom/flashrom/commit/a9a03cc6ba71825bfae0d64e1888f33c77345bc3] +--- + platform.h | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/platform.h b/platform.h +index e3b7674ae..65fe85881 100644 +--- a/platform.h ++++ b/platform.h +@@ -69,6 +69,9 @@ + #elif defined (__m68k__) + #define __FLASHROM_ARCH__ "m68k" + #define IS_M68K 1 ++#elif defined (__riscv) ++ #define __FLASHROM_ARCH__ "riscv" ++ #define IS_RISCV 1 + #elif defined (__sh__) + #define __FLASHROM_ARCH__ "sh" + #define IS_SH 1 +@@ -77,7 +80,7 @@ + #define IS_S390 1 + #endif + +-#if !(IS_X86 || IS_MIPS || IS_PPC || IS_ARM || IS_SPARC || IS_ALPHA || IS_HPPA || IS_M68K || IS_SH || IS_S390) ++#if !(IS_X86 || IS_MIPS || IS_PPC || IS_ARM || IS_SPARC || IS_ALPHA || IS_HPPA || IS_M68K || IS_RISCV || IS_SH || IS_S390) + #error Unknown architecture + #endif + diff --git a/bsp/buildroot/package/flashrom/Config.in b/bsp/buildroot/package/flashrom/Config.in index e7844a0a..c333c297 100644 --- a/bsp/buildroot/package/flashrom/Config.in +++ b/bsp/buildroot/package/flashrom/Config.in @@ -1,13 +1,18 @@ +config BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS + bool + default y if BR2_aarch64 || BR2_aarch64_be + default y if BR2_arm || BR2_armeb + default y if BR2_i386 || BR2_x86_64 + default y if BR2_m68k + default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le + default y if BR2_riscv + default y if BR2_sh + default y if BR2_sparc || BR2_sparc64 + config BR2_PACKAGE_FLASHROM bool "flashrom" - depends on BR2_i386 || BR2_x86_64 - depends on BR2_TOOLCHAIN_HAS_THREADS # libusb - select BR2_PACKAGE_PCIUTILS - select BR2_PACKAGE_LIBUSB - select BR2_PACKAGE_LIBUSB_COMPAT - select BR2_PACKAGE_LIBFTDI - # dmidecode is only a runtime dependency - select BR2_PACKAGE_DMIDECODE + depends on BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS help flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips. It is designed to flash @@ -16,7 +21,3 @@ config BR2_PACKAGE_FLASHROM programmer devices. http://flashrom.org/ - -comment "flashrom needs a toolchain w/ threads" - depends on BR2_i386 || BR2_x86_64 - depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/flashrom/flashrom.mk b/bsp/buildroot/package/flashrom/flashrom.mk index 70f47b5a..733ad731 100644 --- a/bsp/buildroot/package/flashrom/flashrom.mk +++ b/bsp/buildroot/package/flashrom/flashrom.mk @@ -7,13 +7,45 @@ FLASHROM_VERSION = 1.0 FLASHROM_SOURCE = flashrom-$(FLASHROM_VERSION).tar.bz2 FLASHROM_SITE = https://download.flashrom.org/releases -FLASHROM_DEPENDENCIES = pciutils libusb libusb-compat libftdi host-pkgconf FLASHROM_LICENSE = GPL-2.0+ FLASHROM_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_LIBFTDI),y) +FLASHROM_DEPENDENCIES += host-pkgconf libftdi +FLASHROM_MAKE_OPTS += \ + CONFIG_FT2232_SPI=yes \ + CONFIG_USBBLASTER_SPI=yes +else +FLASHROM_MAKE_OPTS += \ + CONFIG_FT2232_SPI=no \ + CONFIG_USBBLASTER_SPI=no +endif + +ifeq ($(BR2_PACKAGE_LIBUSB),y) +FLASHROM_DEPENDENCIES += host-pkgconf libusb +FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBUSB1_PROGRAMMERS=yes +else +FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBUSB1_PROGRAMMERS=no +endif + +ifeq ($(BR2_PACKAGE_LIBUSB_COMPAT),y) +FLASHROM_DEPENDENCIES += host-pkgconf libusb-compat +FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=yes +else +FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no +endif + +ifeq ($(BR2_PACKAGE_PCIUTILS),y) +FLASHROM_DEPENDENCIES += pciutils +FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBPCI_PROGRAMMERS=yes +else +FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBPCI_PROGRAMMERS=no +endif + define FLASHROM_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ - CFLAGS="$(TARGET_CFLAGS) -DHAVE_STRNLEN" -C $(@D) + CFLAGS="$(TARGET_CFLAGS) -DHAVE_STRNLEN" \ + $(FLASHROM_MAKE_OPTS) -C $(@D) endef define FLASHROM_INSTALL_TARGET_CMDS diff --git a/bsp/buildroot/package/fltk/fltk.mk b/bsp/buildroot/package/fltk/fltk.mk index 611d79da..c37a1317 100644 --- a/bsp/buildroot/package/fltk/fltk.mk +++ b/bsp/buildroot/package/fltk/fltk.mk @@ -54,4 +54,11 @@ else FLTK_CONF_OPTS += --disable-xinerama endif +ifeq ($(BR2_PACKAGE_XLIB_LIBXRENDER),y) +FLTK_DEPENDENCIES += xlib_libXrender +FLTK_CONF_OPTS += --enable-xrender +else +FLTK_CONF_OPTS += --disable-xrender +endif + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/freerdp/0001-xf_floatbar.c-fix-build-without-Xfixes.patch b/bsp/buildroot/package/freerdp/0001-xf_floatbar.c-fix-build-without-Xfixes.patch new file mode 100644 index 00000000..c0b41958 --- /dev/null +++ b/bsp/buildroot/package/freerdp/0001-xf_floatbar.c-fix-build-without-Xfixes.patch @@ -0,0 +1,32 @@ +From 7dbb64cb62049159d9d71b9be39f469bbd116f41 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 18 Apr 2019 23:40:52 +0200 +Subject: [PATCH] xf_floatbar.c: fix build without Xfixes + +Remove unneeded include on Xfixes.h as it is not always available and +not used in xf_floatbar.c + +Fixes: + - http://autobuild.buildroot.org/results/69245e574787bada718c52c805ec137041dc233d + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/FreeRDP/FreeRDP/pull/5354] +--- + client/X11/xf_floatbar.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/client/X11/xf_floatbar.c b/client/X11/xf_floatbar.c +index 3643b6052..04912aa79 100644 +--- a/client/X11/xf_floatbar.c ++++ b/client/X11/xf_floatbar.c +@@ -19,7 +19,6 @@ + #include + #include + #include +-#include + #include + + #include "xf_floatbar.h" +-- +2.20.1 + diff --git a/bsp/buildroot/package/freerdp/freerdp.hash b/bsp/buildroot/package/freerdp/freerdp.hash index 44b7b876..7a685955 100644 --- a/bsp/buildroot/package/freerdp/freerdp.hash +++ b/bsp/buildroot/package/freerdp/freerdp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a09e338b996fada44bf1277f423240d0fa82289799e2e5dea9d9c63201554de1 freerdp-2.0.0-rc2.tar.gz +sha256 3406f3bfab63f81c1533029a5bf73949ff60f22f6e155c5a08005b8b8afe6d49 freerdp-2.0.0-rc4.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/bsp/buildroot/package/freerdp/freerdp.mk b/bsp/buildroot/package/freerdp/freerdp.mk index 91e4ae47..0f32ff47 100644 --- a/bsp/buildroot/package/freerdp/freerdp.mk +++ b/bsp/buildroot/package/freerdp/freerdp.mk @@ -4,7 +4,7 @@ # ################################################################################ -FREERDP_VERSION = 2.0.0-rc2 +FREERDP_VERSION = 2.0.0-rc4 FREERDP_SITE = $(call github,FreeRDP,FreeRDP,$(FREERDP_VERSION)) FREERDP_DEPENDENCIES = libglib2 openssl zlib FREERDP_LICENSE = Apache-2.0 diff --git a/bsp/buildroot/package/gerbera/0001-CMakeLists.txt-fix-static-build-with-curl-and-libidn.patch b/bsp/buildroot/package/gerbera/0001-CMakeLists.txt-fix-static-build-with-curl-and-libidn.patch new file mode 100644 index 00000000..94f742c3 --- /dev/null +++ b/bsp/buildroot/package/gerbera/0001-CMakeLists.txt-fix-static-build-with-curl-and-libidn.patch @@ -0,0 +1,41 @@ +From de0e7fe3b56cff79c11aedc89448814fab8d1877 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 8 Mar 2019 19:11:11 +0100 +Subject: [PATCH] MakeLists.txt: fix static build with curl and libidn2 + +curl can be statically linked with libidn2, in this case, build fails: +/accts/mlweber1/rclinux/rc-buildroot-test/scripts/instance-0/output/host/m68k-buildroot-linux-uclibc/sysroot/usr/lib/libcurl.a(libcurl_la-url.o): In function `free_idnconverted_hostname.isra.1': +url.c:(.text+0xf4): undefined reference to `idn2_free' + +To fix this issue, add a call to pkg_check_modules to retrieve any +needed dependencies + +Fixes: + - http://autobuild.buildroot.org/results/be5893b507d22a23951efeea20c18642742cef5a + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/gerbera/gerbera/pull/429] +--- + CMakeLists.txt | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d0eed230..e6b62c96 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -443,7 +443,11 @@ if(WITH_MYSQL) + endif() + + if(WITH_CURL) +- find_package (CURL REQUIRED) ++ find_package(PkgConfig QUIET) ++ pkg_check_modules (CURL QUIET libcurl) ++ if (NOT CURL_FOUND) ++ find_package (CURL REQUIRED) ++ endif() + if (CURL_FOUND) + include_directories(${CURL_INCLUDE_DIRS}) + target_link_libraries (gerbera ${CURL_LIBRARIES}) +-- +2.20.1 + diff --git a/bsp/buildroot/package/gerbera/0002-cmake-FindFFMPEG-cmake-use-pkgconfig.patch b/bsp/buildroot/package/gerbera/0002-cmake-FindFFMPEG-cmake-use-pkgconfig.patch new file mode 100644 index 00000000..b5f79173 --- /dev/null +++ b/bsp/buildroot/package/gerbera/0002-cmake-FindFFMPEG-cmake-use-pkgconfig.patch @@ -0,0 +1,175 @@ +From fbbc07ce53e884b1603461ee5642d5f02788678d Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 21 Mar 2019 16:32:44 +0100 +Subject: [PATCH] cmake/FindFFMPEG.cmake: use pkgconfig + +ffmpeg has too many optional dependencies (opus, openssl, ...) instead +of trying to find them all one by one, use pkg-config to get them and +fallback on current mechanism + +Fixes: + - http://autobuild.buildroot.org/results/2b99fabd798db84a0fce26ad696c58e54c6ff626 + - http://autobuild.buildroot.org/results/95e410e5ab34c6d4626a58f97c0d2d5e6829a300 + +Signed-off-by: Fabrice Fontaine +[Retrieved (and backported) from: +https://github.com/gerbera/gerbera/commit/fbbc07ce53e884b1603461ee5642d5f02788678d] +--- + cmake/FindFFMPEG.cmake | 147 +++++++++++++++++++++-------------------- + 1 file changed, 75 insertions(+), 72 deletions(-) + +diff --git a/cmake/FindFFMPEG.cmake b/cmake/FindFFMPEG.cmake +index 0a4a409f..9548b566 100644 +--- a/cmake/FindFFMPEG.cmake ++++ b/cmake/FindFFMPEG.cmake +@@ -82,70 +82,76 @@ ENDIF (NOT FFMPEG_INCLUDE_DIR) + # ffmpeg uses relative includes such as or + get_filename_component(FFMPEG_INCLUDE_DIR ${FFMPEG_INCLUDE_DIR} ABSOLUTE) + +-FIND_LIBRARY(FFMPEG_avformat_LIBRARY avformat +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_avcodec_LIBRARY avcodec +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_avutil_LIBRARY avutil +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_swresample_LIBRARY swresample +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_vorbis_LIBRARY vorbis +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_dc1394_LIBRARY dc1394_control +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_vorbisenc_LIBRARY vorbisenc +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_theora_LIBRARY theora +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_dts_LIBRARY dts +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_gsm_LIBRARY gsm +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_swscale_LIBRARY swscale +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_z_LIBRARY z +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_bz2_LIBRARY bz2 +- /usr/local/lib +- /usr/lib +- ) ++CHECK_STRUCT_HAS_MEMBER("struct AVStream" codecpar libavformat/avformat.h HAVE_AVSTREAM_CODECPAR LANGUAGE C) ++ ++FIND_PACKAGE(PkgConfig QUIET) ++PKG_CHECK_MODULES(FFMPEG QUIET libavformat libavutil) ++IF (NOT FFMPEG_FOUND) ++ FIND_LIBRARY(FFMPEG_avformat_LIBRARY avformat ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_avcodec_LIBRARY avcodec ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_avutil_LIBRARY avutil ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_swresample_LIBRARY swresample ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_vorbis_LIBRARY vorbis ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_dc1394_LIBRARY dc1394_control ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_vorbisenc_LIBRARY vorbisenc ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_theora_LIBRARY theora ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_dts_LIBRARY dts ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_gsm_LIBRARY gsm ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_swscale_LIBRARY swscale ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_z_LIBRARY z ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_bz2_LIBRARY bz2 ++ /usr/local/lib ++ /usr/lib ++ ) ++ENDIF(NOT FFMPEG_FOUND) + + SET(FFMPEG_LIBRARIES) + IF (FFMPEG_INCLUDE_DIR) +@@ -205,9 +211,6 @@ IF (FFMPEG_INCLUDE_DIR) + ENDIF (FFMPEG_bz2_LIBRARY) + + SET(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} CACHE INTERNAL "All presently found FFMPEG libraries.") +- +- CHECK_STRUCT_HAS_MEMBER("struct AVStream" codecpar libavformat/avformat.h HAVE_AVSTREAM_CODECPAR LANGUAGE C) +- + ENDIF (FFMPEG_avutil_LIBRARY) + ENDIF (FFMPEG_avcodec_LIBRARY) + ENDIF (FFMPEG_avformat_LIBRARY) diff --git a/bsp/buildroot/package/gerbera/0003-cmake-FindLibUpnp.cmake-fix-static-linking.patch b/bsp/buildroot/package/gerbera/0003-cmake-FindLibUpnp.cmake-fix-static-linking.patch new file mode 100644 index 00000000..510bf283 --- /dev/null +++ b/bsp/buildroot/package/gerbera/0003-cmake-FindLibUpnp.cmake-fix-static-linking.patch @@ -0,0 +1,44 @@ +From e2f8e6c30e43c1818a6677d17de87f53c9414405 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 2 Apr 2019 10:44:06 +0200 +Subject: [PATCH] cmake/FindLibUpnp.cmake: fix static linking + +Fix static linking with an openssl enabled upnp: + - remove libupnp-1.8 from pkg_check_modules call otherwise test will + fail if libupnp-1.8.pc is not found + - add PC_UPNP_LIBRARIES to UPNP_LIBRARIES + +Fixes: + - http://autobuild.buildroot.org/results/10098c8972725d54b717ddc8ea41f4de5e5b066d + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/gerbera/gerbera/pull/443] +--- + cmake/FindLibUpnp.cmake | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/cmake/FindLibUpnp.cmake b/cmake/FindLibUpnp.cmake +index ec198d4d..5d2b032d 100644 +--- a/cmake/FindLibUpnp.cmake ++++ b/cmake/FindLibUpnp.cmake +@@ -8,7 +8,7 @@ + # UPNP_HAS_REUSEADDR - If LinUPnP was built with SO_REUSEADDR support + + find_package(PkgConfig QUIET) +-pkg_check_modules (PC_UPNP QUIET libupnp-1.8 libupnp) ++pkg_search_module (PC_UPNP QUIET libupnp-1.8 libupnp) + + find_path(UPNP_INCLUDE_DIR upnp.h + HINTS ${PC_UPNP_INCLUDEDIR} ${PC_UPNP_INCLUDE_DIRS} +@@ -41,7 +41,7 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(UPnP + VERSION_VAR UPNP_VERSION_STRING) + + if (UPNP_FOUND) +- set (UPNP_LIBRARIES ${UPNP_UPNP_LIBRARY} ${UPNP_IXML_LIBRARY}) ++ set (UPNP_LIBRARIES ${UPNP_UPNP_LIBRARY} ${UPNP_IXML_LIBRARY} ${PC_UPNP_LIBRARIES}) + set (UPNP_INCLUDE_DIRS ${UPNP_INCLUDE_DIR} ) + endif () + +-- +2.14.1 + diff --git a/bsp/buildroot/package/ghostscript/0002-Bug-700986-Remove-the-crazy-md5-file-copying-nonsense.patch b/bsp/buildroot/package/ghostscript/0002-Bug-700986-Remove-the-crazy-md5-file-copying-nonsense.patch new file mode 100644 index 00000000..49bcfcdd --- /dev/null +++ b/bsp/buildroot/package/ghostscript/0002-Bug-700986-Remove-the-crazy-md5-file-copying-nonsense.patch @@ -0,0 +1,252 @@ +From d86210973df93ccca0befd56afba2132da925ebc Mon Sep 17 00:00:00 2001 +From: Chris Liddell +Date: Thu, 18 Apr 2019 16:58:41 +0100 +Subject: [PATCH] Bug 700986: Remove the crazy md5 file copying nonsense + +To preserve building as a standalone test exe, we avoided using Ghostscript +includes in the md5 source and header files, but dynamically add them to +copies of the files during the build. Since we no longer need/care for the +stand alone exe, remove the build complication, and just include the header +file normally. + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +http://git.ghostscript.com/?p=user/chrisl/ghostpdl.git;a=commitdiff;h=d86210973df9] +--- + base/gsmd5.h | 2 + + base/lib.mak | 10 +-- + base/md5main.c | 141 ----------------------------------------- + doc/Develop.htm | 1 - + windows/ghostscript.vcproj | 4 -- + windows/ghostscript_rt.vcxproj | 1 - + 6 files changed, 5 insertions(+), 154 deletions(-) + delete mode 100644 base/md5main.c + +diff --git a/base/gsmd5.h b/base/gsmd5.h +index 206ea6b..b159afb 100644 +--- a/base/gsmd5.h ++++ b/base/gsmd5.h +@@ -50,6 +50,8 @@ + #ifndef md5_INCLUDED + # define md5_INCLUDED + ++#include "memory_.h" ++ + /* + * This package supports both compile-time and run-time determination of CPU + * byte order. If ARCH_IS_BIG_ENDIAN is defined as 0, the code will be +diff --git a/base/lib.mak b/base/lib.mak +index 3ed088a..21e2cb7 100644 +--- a/base/lib.mak ++++ b/base/lib.mak +@@ -387,13 +387,8 @@ gsmd5_h=$(GLSRC)gsmd5.h + # We have to use a slightly different compilation approach in order to + # get std.h included when compiling md5.c. + md5_=$(GLOBJ)gsmd5.$(OBJ) +-$(GLOBJ)gsmd5.$(OBJ) : $(GLSRC)gsmd5.c $(AK) $(gsmd5_h)\ +- $(EXP)$(ECHOGS_XE) $(LIB_MAK) $(MAKEDIRS) +- $(EXP)$(ECHOGS_XE) -w $(GLGEN)gsmd5.h -x 23 include -x 2022 memory_.h -x 22 +- $(EXP)$(ECHOGS_XE) -a $(GLGEN)gsmd5.h -+R $(GLSRC)gsmd5.h +- $(CP_) $(GLSRC)gsmd5.c $(GLGEN)gsmd5.c +- $(GLCC) $(GLO_)gsmd5.$(OBJ) $(C_) $(GLGEN)gsmd5.c +- $(RM_) $(GLGEN)gsmd5.c $(GLGEN)gsmd5.h ++$(GLOBJ)gsmd5.$(OBJ) : $(GLSRC)gsmd5.c $(AK) $(gsmd5_h) $(LIB_MAK) $(MAKEDIRS) ++ $(GLCC) $(GLO_)gsmd5.$(OBJ) $(C_) $(GLSRC)gsmd5.c + + # SHA-256 digest + sha2_h=$(GLSRC)sha2.h +@@ -12346,3 +12341,4 @@ $(GLSRC)gxshade4.h:$(GLSRC)gstypes.h + $(GLSRC)gxshade4.h:$(GLSRC)stdpre.h + $(GLSRC)gxshade4.h:$(GLGEN)arch.h + $(GLSRC)gxshade4.h:$(GLSRC)gs_dll_call.h ++$(GLSRC)gsmd5.h:$(GLSRC)memory_.h +diff --git a/base/md5main.c b/base/md5main.c +deleted file mode 100644 +index 75c523b..0000000 +--- a/base/md5main.c ++++ /dev/null +@@ -1,141 +0,0 @@ +-/* +- Copyright (C) 2002-2018 Artifex Software, Inc. +- All rights reserved. +- +- This software is provided 'as-is', without any express or implied +- warranty. In no event will the authors be held liable for any damages +- arising from the use of this software. +- +- Permission is granted to anyone to use this software for any purpose, +- including commercial applications, and to alter it and redistribute it +- freely, subject to the following restrictions: +- +- 1. The origin of this software must not be misrepresented; you must not +- claim that you wrote the original software. If you use this software +- in a product, an acknowledgment in the product documentation would be +- appreciated but is not required. +- 2. Altered source versions must be plainly marked as such, and must not be +- misrepresented as being the original software. +- 3. This notice may not be removed or altered from any source distribution. +- +- L. Peter Deutsch +- ghost@aladdin.com +- +- */ +-/* +- Independent implementation of MD5 (RFC 1321). +- +- This code implements the MD5 Algorithm defined in RFC 1321, whose +- text is available at +- http://www.ietf.org/rfc/rfc1321.txt +- The code is derived from the text of the RFC, including the test suite +- (section A.5) but excluding the rest of Appendix A. It does not include +- any code or documentation that is identified in the RFC as being +- copyrighted. +- +- The original and principal author of md5.c is L. Peter Deutsch +- . Other authors are noted in the change history +- that follows (in reverse chronological order): +- +- 2007-06-08 RG Namespaced the api calls to avoid conflict with other +- implementations when linking gs as a library. +- 2002-04-13 lpd Splits off main program into a separate file, md5main.c. +- */ +- +-#include "gsmd5.h" +-#include +-#include +-#include +- +-/* +- * This file builds an executable that performs various functions related +- * to the MD5 library. Typical compilation: +- * gcc -o md5main -lm md5main.c md5.c +- */ +-static const char *const usage = "\ +-Usage:\n\ +- md5main --test # run the self-test (A.5 of RFC 1321)\n\ +- md5main --t-values # print the T values for the library\n\ +- md5main --version # print the version of the package\n\ +-"; +-static const char *const version = "2002-04-13"; +- +-/* Run the self-test. */ +-static int +-do_test(void) +-{ +- static const char *const test[7*2] = { +- "", "d41d8cd98f00b204e9800998ecf8427e", +- "a", "0cc175b9c0f1b6a831c399e269772661", +- "abc", "900150983cd24fb0d6963f7d28e17f72", +- "message digest", "f96b697d7cb7938d525a2f31aaf161d0", +- "abcdefghijklmnopqrstuvwxyz", "c3fcd3d76192e4007dfb496cca67e13b", +- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", +- "d174ab98d277d9f5a5611c2c9f419d9f", +- "12345678901234567890123456789012345678901234567890123456789012345678901234567890", "57edf4a22be3c955ac49da2e2107b67a" +- }; +- int i; +- int status = 0; +- +- for (i = 0; i < 7*2; i += 2) { +- gs_md5_state_t state; +- gs_md5_byte_t digest[16]; +- char hex_output[16*2 + 1]; +- int di; +- +- gs_md5_init(&state); +- gs_md5_append(&state, (const gs_md5_byte_t *)test[i], strlen(test[i])); +- gs_md5_finish(&state, digest); +- for (di = 0; di < 16; ++di) +- gs_sprintf(hex_output + di * 2, "%02x", digest[di]); +- if (strcmp(hex_output, test[i + 1])) { +- printf("MD5 (\"%s\") = ", test[i]); +- puts(hex_output); +- printf("**** ERROR, should be: %s\n", test[i + 1]); +- status = 1; +- } +- } +- if (status == 0) +- puts("md5 self-test completed successfully."); +- return status; +-} +- +-/* Print the T values. */ +-static int +-do_t_values(void) +-{ +- int i; +- for (i = 1; i <= 64; ++i) { +- unsigned long v = (unsigned long)(4294967296.0 * fabs(sin((double)i))); +- +- /* +- * The following nonsense is only to avoid compiler warnings about +- * "integer constant is unsigned in ANSI C, signed with -traditional". +- */ +- if (v >> 31) { +- printf("#define T%d /* 0x%08lx */ (T_MASK ^ 0x%08lx)\n", i, +- v, (unsigned long)(unsigned int)(~v)); +- } else { +- printf("#define T%d 0x%08lx\n", i, v); +- } +- } +- return 0; +-} +- +-/* Main program */ +-int +-main(int argc, char *argv[]) +-{ +- if (argc == 2) { +- if (!strcmp(argv[1], "--test")) +- return do_test(); +- if (!strcmp(argv[1], "--t-values")) +- return do_t_values(); +- if (!strcmp(argv[1], "--version")) { +- puts(version); +- return 0; +- } +- } +- puts(usage); +- return 0; +-} +diff --git a/doc/Develop.htm b/doc/Develop.htm +index c1ffceb..1ed3030 100644 +--- a/doc/Develop.htm ++++ b/doc/Develop.htm +@@ -684,7 +684,6 @@ Other: + base/gx.h, + base/gsmd5.c, + base/gsmd5.h, +-base/md5main.c, + base/aes.c, + base/aes.h. + +diff --git a/windows/ghostscript.vcproj b/windows/ghostscript.vcproj +index d607949..fdbeaa1 100644 +--- a/windows/ghostscript.vcproj ++++ b/windows/ghostscript.vcproj +@@ -2510,10 +2510,6 @@ + > + + +- +- + +diff --git a/windows/ghostscript_rt.vcxproj b/windows/ghostscript_rt.vcxproj +index 589b2d1..fca736b 100644 +--- a/windows/ghostscript_rt.vcxproj ++++ b/windows/ghostscript_rt.vcxproj +@@ -597,7 +597,6 @@ + + + +- + + + +-- +2.9.1 + + diff --git a/bsp/buildroot/package/ghostscript/0002-Sanitize-op-stack-for-error-conditions.patch b/bsp/buildroot/package/ghostscript/0002-Sanitize-op-stack-for-error-conditions.patch deleted file mode 100644 index 7909cfec..00000000 --- a/bsp/buildroot/package/ghostscript/0002-Sanitize-op-stack-for-error-conditions.patch +++ /dev/null @@ -1,176 +0,0 @@ -From a1de1e6ab51ab37a17975aad1193f2523e7e7e84 Mon Sep 17 00:00:00 2001 -From: Chris Liddell -Date: Wed, 5 Dec 2018 12:22:13 +0000 -Subject: [PATCH] Sanitize op stack for error conditions - -We save the stacks to an array and store the array for the error handler to -access. - -For SAFER, we traverse the array, and deep copy any op arrays (procedures). As -we make these copies, we check for operators that do *not* exist in systemdict, -when we find one, we replace the operator with a name object (of the form -"/--opname--"). - -Signed-off-by: Baruch Siach ---- -Upstream status: commit 13b0a36f818 - - psi/int.mak | 3 +- - psi/interp.c | 8 ++++++ - psi/istack.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++ - psi/istack.h | 3 ++ - 4 files changed, 91 insertions(+), 1 deletion(-) - -diff --git a/psi/int.mak b/psi/int.mak -index 6ab5bf0069dd..6b349cb042dd 100644 ---- a/psi/int.mak -+++ b/psi/int.mak -@@ -204,7 +204,8 @@ $(PSOBJ)iparam.$(OBJ) : $(PSSRC)iparam.c $(GH)\ - $(PSOBJ)istack.$(OBJ) : $(PSSRC)istack.c $(GH) $(memory__h)\ - $(ierrors_h) $(gsstruct_h) $(gsutil_h)\ - $(ialloc_h) $(istack_h) $(istkparm_h) $(istruct_h) $(iutil_h) $(ivmspace_h)\ -- $(store_h) $(INT_MAK) $(MAKEDIRS) -+ $(store_h) $(icstate_h) $(iname_h) $(dstack_h) $(idict_h) \ -+ $(INT_MAK) $(MAKEDIRS) - $(PSCC) $(PSO_)istack.$(OBJ) $(C_) $(PSSRC)istack.c - - $(PSOBJ)iutil.$(OBJ) : $(PSSRC)iutil.c $(GH) $(math__h) $(memory__h) $(string__h)\ -diff --git a/psi/interp.c b/psi/interp.c -index 6dc0ddae1b3c..aa5779c51420 100644 ---- a/psi/interp.c -+++ b/psi/interp.c -@@ -761,6 +761,7 @@ copy_stack(i_ctx_t *i_ctx_p, const ref_stack_t * pstack, int skip, ref * arr) - uint size = ref_stack_count(pstack) - skip; - uint save_space = ialloc_space(idmemory); - int code, i; -+ ref *safety, *safe; - - if (size > 65535) - size = 65535; -@@ -778,6 +779,13 @@ copy_stack(i_ctx_t *i_ctx_p, const ref_stack_t * pstack, int skip, ref * arr) - make_null(&arr->value.refs[i]); - } - } -+ if (pstack == &o_stack && dict_find_string(systemdict, "SAFETY", &safety) > 0 && -+ dict_find_string(safety, "safe", &safe) > 0 && r_has_type(safe, t_boolean) && -+ safe->value.boolval == true) { -+ code = ref_stack_array_sanitize(i_ctx_p, arr, arr); -+ if (code < 0) -+ return code; -+ } - ialloc_set_space(idmemory, save_space); - return code; - } -diff --git a/psi/istack.c b/psi/istack.c -index 8fe151fa5628..f1a3e511534d 100644 ---- a/psi/istack.c -+++ b/psi/istack.c -@@ -27,6 +27,10 @@ - #include "iutil.h" - #include "ivmspace.h" /* for local/global test */ - #include "store.h" -+#include "icstate.h" -+#include "iname.h" -+#include "dstack.h" -+#include "idict.h" - - /* Forward references */ - static void init_block(ref_stack_t *pstack, const ref *pblock_array, -@@ -294,6 +298,80 @@ ref_stack_store_check(const ref_stack_t *pstack, ref *parray, uint count, - return 0; - } - -+int -+ref_stack_array_sanitize(i_ctx_t *i_ctx_p, ref *sarr, ref *darr) -+{ -+ int i, code; -+ ref obj, arr2; -+ ref *pobj2; -+ gs_memory_t *mem = (gs_memory_t *)idmemory->current; -+ -+ if (!r_is_array(sarr) || !r_has_type(darr, t_array)) -+ return_error(gs_error_typecheck); -+ -+ for (i = 0; i < r_size(sarr); i++) { -+ code = array_get(mem, sarr, i, &obj); -+ if (code < 0) -+ make_null(&obj); -+ switch(r_type(&obj)) { -+ case t_operator: -+ { -+ int index = op_index(&obj); -+ -+ if (index > 0 && index < op_def_count) { -+ const byte *data = (const byte *)(op_index_def(index)->oname + 1); -+ if (dict_find_string(systemdict, (const char *)data, &pobj2) <= 0) { -+ byte *s = gs_alloc_bytes(mem, strlen((char *)data) + 5, "ref_stack_array_sanitize"); -+ if (s) { -+ s[0] = '\0'; -+ strcpy((char *)s, "--"); -+ strcpy((char *)s + 2, (char *)data); -+ strcpy((char *)s + strlen((char *)data) + 2, "--"); -+ } -+ else { -+ s = (byte *)data; -+ } -+ code = name_ref(imemory, s, strlen((char *)s), &obj, 1); -+ if (code < 0) make_null(&obj); -+ if (s != data) -+ gs_free_object(mem, s, "ref_stack_array_sanitize"); -+ } -+ } -+ else { -+ make_null(&obj); -+ } -+ ref_assign(darr->value.refs + i, &obj); -+ break; -+ } -+ case t_array: -+ case t_shortarray: -+ case t_mixedarray: -+ { -+ int attrs = r_type_attrs(&obj) & (a_write | a_read | a_execute | a_executable); -+ /* We only want to copy executable arrays */ -+ if (attrs & (a_execute | a_executable)) { -+ code = ialloc_ref_array(&arr2, attrs, r_size(&obj), "ref_stack_array_sanitize"); -+ if (code < 0) { -+ make_null(&arr2); -+ } -+ else { -+ code = ref_stack_array_sanitize(i_ctx_p, &obj, &arr2); -+ } -+ ref_assign(darr->value.refs + i, &arr2); -+ } -+ else { -+ ref_assign(darr->value.refs + i, &obj); -+ } -+ break; -+ } -+ default: -+ ref_assign(darr->value.refs + i, &obj); -+ } -+ } -+ return 0; -+} -+ -+ - /* - * Store the top 'count' elements of a stack, starting 'skip' elements below - * the top, into an array, with or without store/undo checking. age=-1 for -diff --git a/psi/istack.h b/psi/istack.h -index 051dcbe216cf..54be405adfb3 100644 ---- a/psi/istack.h -+++ b/psi/istack.h -@@ -129,6 +129,9 @@ int ref_stack_store(const ref_stack_t *pstack, ref *parray, uint count, - uint skip, int age, bool check, - gs_dual_memory_t *idmem, client_name_t cname); - -+int -+ref_stack_array_sanitize(i_ctx_t *i_ctx_p, ref *sarr, ref *darr); -+ - /* - * Pop the top N elements off a stack. - * The number must not exceed the number of elements in use. --- -2.20.1 - diff --git a/bsp/buildroot/package/ghostscript/0003-Any-transient-procedures-that-call-.force-operators.patch b/bsp/buildroot/package/ghostscript/0003-Any-transient-procedures-that-call-.force-operators.patch deleted file mode 100644 index f4c1db11..00000000 --- a/bsp/buildroot/package/ghostscript/0003-Any-transient-procedures-that-call-.force-operators.patch +++ /dev/null @@ -1,441 +0,0 @@ -From f0397dbfbe5eea325613ff375b30eb0db5551ffe Mon Sep 17 00:00:00 2001 -From: Chris Liddell -Date: Thu, 13 Dec 2018 15:28:34 +0000 -Subject: [PATCH] Any transient procedures that call .force* operators - -(i.e. for conditionals or loops) make them executeonly. - -Signed-off-by: Baruch Siach ---- -Upstream status: commit 2db98f9c661 - - Resource/Init/gs_diskn.ps | 2 +- - Resource/Init/gs_dps1.ps | 4 ++-- - Resource/Init/gs_fntem.ps | 4 ++-- - Resource/Init/gs_fonts.ps | 12 ++++++------ - Resource/Init/gs_init.ps | 4 ++-- - Resource/Init/gs_lev2.ps | 11 ++++++----- - Resource/Init/gs_pdfwr.ps | 2 +- - Resource/Init/gs_res.ps | 4 ++-- - Resource/Init/gs_setpd.ps | 2 +- - Resource/Init/pdf_base.ps | 13 ++++++++----- - Resource/Init/pdf_draw.ps | 16 +++++++++------- - Resource/Init/pdf_font.ps | 6 +++--- - Resource/Init/pdf_main.ps | 4 ++-- - Resource/Init/pdf_ops.ps | 7 ++++--- - 14 files changed, 49 insertions(+), 42 deletions(-) - -diff --git a/Resource/Init/gs_diskn.ps b/Resource/Init/gs_diskn.ps -index fd694bc44b5a..8bf20542040d 100644 ---- a/Resource/Init/gs_diskn.ps -+++ b/Resource/Init/gs_diskn.ps -@@ -51,7 +51,7 @@ systemdict begin - mark 5 1 roll ] mark exch { { } forall } forall ] - //systemdict /.searchabledevs 2 index .forceput - exch .setglobal -- } -+ } executeonly - if - } .bind executeonly odef % must be bound and hidden for .forceput - -diff --git a/Resource/Init/gs_dps1.ps b/Resource/Init/gs_dps1.ps -index ec5db61b9f03..4fae2839940c 100644 ---- a/Resource/Init/gs_dps1.ps -+++ b/Resource/Init/gs_dps1.ps -@@ -78,7 +78,7 @@ level2dict begin - .currentglobal - { % Current mode is global; delete from local directory too. - //systemdict /LocalFontDirectory .knownget -- { 1 index .forceundef } % LocalFontDirectory is readonly -+ { 1 index .forceundef } executeonly % LocalFontDirectory is readonly - if - } - { % Current mode is local; if there was a shadowed global -@@ -126,7 +126,7 @@ level2dict begin - } - ifelse - } forall -- pop counttomark 2 idiv { .forceundef } repeat pop % readonly -+ pop counttomark 2 idiv { .forceundef } executeonly repeat pop % readonly - } - if - //SharedFontDirectory exch .forcecopynew pop -diff --git a/Resource/Init/gs_fntem.ps b/Resource/Init/gs_fntem.ps -index c1f7651f18cc..6eb672a6840e 100644 ---- a/Resource/Init/gs_fntem.ps -+++ b/Resource/Init/gs_fntem.ps -@@ -401,12 +401,12 @@ currentdict end def - .forceput % FontInfo can be read-only. - pop % bool - exit -- } if -+ } executeonly if - dup /FontInfo get % bool - /GlyphNames2Unicode /Unicode /Decoding findresource - .forceput % FontInfo can be read-only. - exit -- } loop -+ } executeonly loop - exch setglobal - } .bind executeonly odef % must be bound and hidden for .forceput - -diff --git a/Resource/Init/gs_fonts.ps b/Resource/Init/gs_fonts.ps -index 803faca4918d..290da0cd6819 100644 ---- a/Resource/Init/gs_fonts.ps -+++ b/Resource/Init/gs_fonts.ps -@@ -374,7 +374,7 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if - /.setnativefontmapbuilt { % set whether we've been run - dup type /booleantype eq { - systemdict exch /.nativefontmapbuilt exch .forceput -- } -+ } executeonly - {pop} - ifelse - } .bind executeonly odef -@@ -1007,11 +1007,11 @@ $error /SubstituteFont { } put - { 2 index gcheck currentglobal - 2 copy eq { - pop pop .forceput -- } { -+ } executeonly { - 5 1 roll setglobal - dup length string copy - .forceput setglobal -- } ifelse -+ } executeonly ifelse - } .bind executeonly odef % must be bound and hidden for .forceput - - % Attempt to load a font from a file. -@@ -1084,7 +1084,7 @@ $error /SubstituteFont { } put - .FontDirectory 3 index .forceundef % readonly - 1 index (r) file .loadfont .FontDirectory exch - /.setglobal .systemvar exec -- } -+ } executeonly - { .loadfont .FontDirectory - } - ifelse -@@ -1105,7 +1105,7 @@ $error /SubstituteFont { } put - dup 3 index .fontknownget - { dup /PathLoad 4 index .putgstringcopy - 4 1 roll pop pop pop //true exit -- } if -+ } executeonly if - - % Maybe the file had a different FontName. - % See if we can get a FontName from the file, and if so, -@@ -1134,7 +1134,7 @@ $error /SubstituteFont { } put - ifelse % Stack: origfontname fontdict - exch pop //true exit - % Stack: fontdict -- } -+ } executeonly - if pop % Stack: origfontname fontdirectory path - } - if pop pop % Stack: origfontname -diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps -index d733124b96d1..56c0bd268b53 100644 ---- a/Resource/Init/gs_init.ps -+++ b/Resource/Init/gs_init.ps -@@ -2357,7 +2357,7 @@ SAFER { .setsafeglobal } if - % Update the copy of the user parameters. - mark .currentuserparams counttomark 2 idiv { - userparams 3 1 roll .forceput % userparams is read-only -- } repeat pop -+ } executeonly repeat pop - % Turn on idiom recognition, if available. - currentuserparams /IdiomRecognition known { - /IdiomRecognition //true .definepsuserparam -@@ -2376,7 +2376,7 @@ SAFER { .setsafeglobal } if - % Remove real system params from pssystemparams. - mark .currentsystemparams counttomark 2 idiv { - pop pssystemparams exch .forceundef -- } repeat pop -+ } executeonly repeat pop - } if - - % Set up AlignToPixels : -diff --git a/Resource/Init/gs_lev2.ps b/Resource/Init/gs_lev2.ps -index 44fe61956659..0f0d57331c23 100644 ---- a/Resource/Init/gs_lev2.ps -+++ b/Resource/Init/gs_lev2.ps -@@ -154,7 +154,8 @@ end - % protect top level of parameters that we copied - dup type dup /arraytype eq exch /stringtype eq or { readonly } if - /userparams .systemvar 3 1 roll .forceput % userparams is read-only -- } { -+ } executeonly -+ { - pop pop - } ifelse - } forall -@@ -224,7 +225,7 @@ end - % protect top level parameters that we copied - dup type dup /arraytype eq exch /stringtype eq or { readonly } if - //pssystemparams 3 1 roll .forceput % pssystemparams is read-only -- } -+ } executeonly - { pop pop - } - ifelse -@@ -934,7 +935,7 @@ mark - dup /PaintProc get - 1 index /Implementation known not { - 1 index dup /Implementation //null .forceput readonly pop -- } if -+ } executeonly if - exec - }.bind odef - -@@ -958,7 +959,7 @@ mark - dup /PaintProc get - 1 index /Implementation known not { - 1 index dup /Implementation //null .forceput readonly pop -- } if -+ } executeonly if - /UNROLLFORMS where {/UNROLLFORMS get}{false}ifelse not - %% [CTM] <
        > PaintProc .beginform - - { -@@ -1005,7 +1006,7 @@ mark - %% Form dictioanry using the /Implementation key). - 1 dict dup /FormID 4 -1 roll put - 1 index exch /Implementation exch .forceput readonly pop -- } -+ } executeonly - ifelse - } - { -diff --git a/Resource/Init/gs_pdfwr.ps b/Resource/Init/gs_pdfwr.ps -index 58e75d3a4831..b425103d1cf3 100644 ---- a/Resource/Init/gs_pdfwr.ps -+++ b/Resource/Init/gs_pdfwr.ps -@@ -650,7 +650,7 @@ currentdict /.pdfmarkparams .undef - } ifelse - } bind .makeoperator .forceput - systemdict /.pdf_hooked_DSC_Creator //true .forceput -- } if -+ } executeonly if - pop - } if - } { -diff --git a/Resource/Init/gs_res.ps b/Resource/Init/gs_res.ps -index 8eb8bb0e5829..d9b34599e7c2 100644 ---- a/Resource/Init/gs_res.ps -+++ b/Resource/Init/gs_res.ps -@@ -152,7 +152,7 @@ setglobal - % use .forceput / .forcedef later to replace the dummy, - % empty .Instances dictionary with the real one later. - readonly -- } { -+ }{ - /defineresource cvx /typecheck signaloperror - } ifelse - } bind executeonly odef -@@ -424,7 +424,7 @@ status { - % As noted above, Category dictionaries are read-only, - % so we have to use .forcedef here. - /.Instances 1 index .forcedef % Category dict is read-only -- } if -+ } executeonly if - } - { .LocalInstances dup //.emptydict eq - { pop 3 dict localinstancedict Category 2 index put -diff --git a/Resource/Init/gs_setpd.ps b/Resource/Init/gs_setpd.ps -index e22597ebb5f3..7875d1f2f131 100644 ---- a/Resource/Init/gs_setpd.ps -+++ b/Resource/Init/gs_setpd.ps -@@ -634,7 +634,7 @@ NOMEDIAATTRS { - SETPDDEBUG { (Rolling back.) = pstack flush } if - 3 index 2 index 3 -1 roll .forceput - 4 index 1 index .knownget -- { 4 index 3 1 roll .forceput } -+ { 4 index 3 1 roll .forceput } executeonly - { 3 index exch .undef } - ifelse - } bind executeonly odef -diff --git a/Resource/Init/pdf_base.ps b/Resource/Init/pdf_base.ps -index b45e9803165e..73127296c221 100644 ---- a/Resource/Init/pdf_base.ps -+++ b/Resource/Init/pdf_base.ps -@@ -130,26 +130,29 @@ currentdict /num-chars-dict .undef - - /.pdfexectoken { % .pdfexectoken ? - PDFDEBUG { -- pdfdict /PDFSTEPcount known not { pdfdict /PDFSTEPcount 1 .forceput } if -+ pdfdict /PDFSTEPcount known not { pdfdict /PDFSTEPcount 1 .forceput } executeonly if - PDFSTEP { - pdfdict /PDFtokencount 2 copy .knownget { 1 add } { 1 } ifelse .forceput - PDFSTEPcount 1 gt { - pdfdict /PDFSTEPcount PDFSTEPcount 1 sub .forceput -- } { -+ } executeonly -+ { - dup ==only - ( step # ) print PDFtokencount =only - ( ? ) print flush 1 //false .outputpage - (%stdin) (r) file 255 string readline { - token { - exch pop pdfdict /PDFSTEPcount 3 -1 roll .forceput -- } { -+ } executeonly -+ { - pdfdict /PDFSTEPcount 1 .forceput -- } ifelse % token -+ } executeonly ifelse % token - } { - pop /PDFSTEP //false def % EOF on stdin - } ifelse % readline - } ifelse % PDFSTEPcount > 1 -- } { -+ } executeonly -+ { - dup ==only () = flush - } ifelse % PDFSTEP - } if % PDFDEBUG -diff --git a/Resource/Init/pdf_draw.ps b/Resource/Init/pdf_draw.ps -index 6b0ba93e1e73..40c6ac80acce 100644 ---- a/Resource/Init/pdf_draw.ps -+++ b/Resource/Init/pdf_draw.ps -@@ -1118,14 +1118,14 @@ currentdict end readonly def - pdfdict /.Qqwarning_issued //true .forceput - .setglobal - pdfformaterror -- } ifelse -+ } executeonly ifelse - } - { - currentglobal pdfdict gcheck .setglobal - pdfdict /.Qqwarning_issued //true .forceput - .setglobal - pdfformaterror -- } ifelse -+ } executeonly ifelse - end - } ifelse - } loop -@@ -1141,14 +1141,14 @@ currentdict end readonly def - pdfdict /.Qqwarning_issued //true .forceput - .setglobal - pdfformaterror -- } ifelse -+ } executeonly ifelse - } - { - currentglobal pdfdict gcheck .setglobal - pdfdict /.Qqwarning_issued //true .forceput - .setglobal - pdfformaterror -- } ifelse -+ } executeonly ifelse - } if - pop - -@@ -2350,9 +2350,10 @@ currentdict /last-ditch-bpc-csp undef - /IncrementAppearanceNumber { - pdfdict /AppearanceNumber .knownget { - 1 add pdfdict /AppearanceNumber 3 -1 roll .forceput -- }{ -+ } executeonly -+ { - pdfdict /AppearanceNumber 0 .forceput -- } ifelse -+ } executeonly ifelse - }bind executeonly odef - - /MakeAppearanceName { -@@ -2510,7 +2511,8 @@ currentdict /last-ditch-bpc-csp undef - %% want to preserve it. - pdfdict /.PreservePDFForm false .forceput - /q cvx /execform cvx 5 -2 roll -- }{ -+ } executeonly -+ { - /q cvx /PDFexecform cvx 5 -2 roll - } ifelse - -diff --git a/Resource/Init/pdf_font.ps b/Resource/Init/pdf_font.ps -index bea9ea95ad1d..4cd62b9d9bb4 100644 ---- a/Resource/Init/pdf_font.ps -+++ b/Resource/Init/pdf_font.ps -@@ -714,7 +714,7 @@ currentdict end readonly def - pop pop pop - currentdict /.stackdepth .forceundef - currentdict /.dstackdepth .forceundef -- } -+ } executeonly - {pop pop pop} - ifelse - -@@ -1232,7 +1232,7 @@ currentdict /eexec_pdf_param_dict .undef - (\n **** Warning: Type 3 glyph has unbalanced q/Q operators \(too many q's\)\n Output may be incorrect.\n) - pdfformatwarning - pdfdict /.Qqwarning_issued //true .forceput -- } if -+ } executeonly if - Q - } repeat - Q -@@ -2016,7 +2016,7 @@ currentdict /CMap_read_dict undef - /CIDFallBack /CIDFont findresource - } if - exit -- } if -+ } executeonly if - } if - } if - -diff --git a/Resource/Init/pdf_main.ps b/Resource/Init/pdf_main.ps -index 00da47a48711..37e69b39ac98 100644 ---- a/Resource/Init/pdf_main.ps -+++ b/Resource/Init/pdf_main.ps -@@ -2701,14 +2701,14 @@ currentdict /PDF2PS_matrix_key undef - pdfdict /.Qqwarning_issued //true .forceput - .setglobal - pdfformaterror -- } ifelse -+ } executeonly ifelse - } - { - currentglobal pdfdict gcheck .setglobal - pdfdict /.Qqwarning_issued //true .forceput - .setglobal - pdfformaterror -- } ifelse -+ } executeonly ifelse - } if - } if - pop -diff --git a/Resource/Init/pdf_ops.ps b/Resource/Init/pdf_ops.ps -index 8672d617f363..aa0964139a56 100644 ---- a/Resource/Init/pdf_ops.ps -+++ b/Resource/Init/pdf_ops.ps -@@ -184,14 +184,14 @@ currentdict /gput_always_allow .undef - pdfdict /.Qqwarning_issued //true .forceput - .setglobal - pdfformaterror -- } ifelse -+ } executeonly ifelse - } - { - currentglobal pdfdict gcheck .setglobal - pdfdict /.Qqwarning_issued //true .forceput - .setglobal - pdfformaterror -- } ifelse -+ } executeonly ifelse - } if - } bind executeonly odef - -@@ -439,7 +439,8 @@ currentdict /gput_always_allow .undef - dup type /booleantype eq { - .currentSMask type /dicttype eq { - .currentSMask /Processed 2 index .forceput -- } { -+ } executeonly -+ { - .setSMask - }ifelse - }{ --- -2.20.1 - diff --git a/bsp/buildroot/package/ghostscript/0004-Bug700317-Fix-logic-for-an-older-change.patch b/bsp/buildroot/package/ghostscript/0004-Bug700317-Fix-logic-for-an-older-change.patch deleted file mode 100644 index 65ebd44d..00000000 --- a/bsp/buildroot/package/ghostscript/0004-Bug700317-Fix-logic-for-an-older-change.patch +++ /dev/null @@ -1,31 +0,0 @@ -From af9a9dceb7be7df743d55c4d078a1ae846b6f556 Mon Sep 17 00:00:00 2001 -From: Chris Liddell -Date: Sat, 15 Dec 2018 09:08:32 +0000 -Subject: [PATCH] Bug700317: Fix logic for an older change - -Unlike almost every other function in gs, dict_find_string() returns 1 on -success 0 or <0 on failure. The logic for this case was wrong. - -Signed-off-by: Baruch Siach ---- -Upstream status: commit 99f13091a3 - - psi/interp.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/psi/interp.c b/psi/interp.c -index aa5779c51420..f6c45bbe24dc 100644 ---- a/psi/interp.c -+++ b/psi/interp.c -@@ -703,7 +703,7 @@ again: - * i.e. it's an internal operator we have hidden - */ - code = dict_find_string(systemdict, (const char *)bufptr, &tobj); -- if (code < 0) { -+ if (code <= 0) { - buf[0] = buf[1] = buf[rlen + 2] = buf[rlen + 3] = '-'; - rlen += 4; - bufptr = buf; --- -2.20.1 - diff --git a/bsp/buildroot/package/ghostscript/0005-Harden-some-uses-of-.force-operators.patch b/bsp/buildroot/package/ghostscript/0005-Harden-some-uses-of-.force-operators.patch deleted file mode 100644 index f5a70ac4..00000000 --- a/bsp/buildroot/package/ghostscript/0005-Harden-some-uses-of-.force-operators.patch +++ /dev/null @@ -1,135 +0,0 @@ -From b197ea0e528c20b7ee67785c50b4e06e0aa990f8 Mon Sep 17 00:00:00 2001 -From: Chris Liddell -Date: Tue, 18 Dec 2018 10:42:10 +0000 -Subject: [PATCH] Harden some uses of .force* operators - -by adding a few immediate evalutions - -Signed-off-by: Baruch Siach ---- -Upstream status: commit 59d8f4deef90 - - Resource/Init/gs_dps1.ps | 4 ++-- - Resource/Init/gs_fonts.ps | 20 ++++++++++---------- - Resource/Init/gs_init.ps | 6 +++--- - 3 files changed, 15 insertions(+), 15 deletions(-) - -diff --git a/Resource/Init/gs_dps1.ps b/Resource/Init/gs_dps1.ps -index 4fae2839940c..b75ea14e77a3 100644 ---- a/Resource/Init/gs_dps1.ps -+++ b/Resource/Init/gs_dps1.ps -@@ -74,7 +74,7 @@ level2dict begin - } odef - % undefinefont has to take local/global VM into account. - /undefinefont % undefinefont - -- { .FontDirectory 1 .argindex .forceundef % FontDirectory is readonly -+ { //.FontDirectory 1 .argindex .forceundef % FontDirectory is readonly - .currentglobal - { % Current mode is global; delete from local directory too. - //systemdict /LocalFontDirectory .knownget -@@ -85,7 +85,7 @@ level2dict begin - % definition, copy it into the local directory. - //systemdict /SharedFontDirectory .knownget - { 1 index .knownget -- { .FontDirectory 2 index 3 -1 roll { put } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse } % readonly -+ { //.FontDirectory 2 index 3 -1 roll { put } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse } % readonly - if - } - if -diff --git a/Resource/Init/gs_fonts.ps b/Resource/Init/gs_fonts.ps -index 290da0cd6819..c13a2fcc2d43 100644 ---- a/Resource/Init/gs_fonts.ps -+++ b/Resource/Init/gs_fonts.ps -@@ -516,7 +516,7 @@ buildfontdict 3 /.buildfont3 cvx put - if - } - if -- dup .FontDirectory 4 -2 roll { .growput } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse % readonly -+ dup //.FontDirectory 4 -2 roll { .growput } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse % readonly - % If the font originated as a resource, register it. - currentfile .currentresourcefile eq { dup .registerfont } if - readonly -@@ -943,7 +943,7 @@ $error /SubstituteFont { } put - % Try to find a font using only the present contents of Fontmap. - /.tryfindfont { % .tryfindfont true - % .tryfindfont false -- .FontDirectory 1 index .fontknownget -+ //.FontDirectory 1 index .fontknownget - { % Already loaded - exch pop //true - } -@@ -975,7 +975,7 @@ $error /SubstituteFont { } put - { % Font with a procedural definition - exec % The procedure will load the font. - % Check to make sure this really happened. -- .FontDirectory 1 index .knownget -+ //.FontDirectory 1 index .knownget - { exch pop //true exit } - if - } -@@ -1081,11 +1081,11 @@ $error /SubstituteFont { } put - % because it's different depending on language level. - .currentglobal exch /.setglobal .systemvar exec - % Remove the fake definition, if any. -- .FontDirectory 3 index .forceundef % readonly -- 1 index (r) file .loadfont .FontDirectory exch -+ //.FontDirectory 3 index .forceundef % readonly -+ 1 index (r) file .loadfont //.FontDirectory exch - /.setglobal .systemvar exec - } executeonly -- { .loadfont .FontDirectory -+ { .loadfont //.FontDirectory - } - ifelse - % Stack: fontname fontfilename fontdirectory -@@ -1119,8 +1119,8 @@ $error /SubstituteFont { } put - % Stack: origfontname fontdirectory filefontname fontdict - 3 -1 roll pop - % Stack: origfontname filefontname fontdict -- dup /FontName get dup FontDirectory exch .forceundef -- GlobalFontDirectory exch .forceundef -+ dup /FontName get dup //.FontDirectory exch .forceundef -+ /GlobalFontDirectory .systemvar exch .forceundef - dup length dict .copydict dup 3 index /FontName exch put - 2 index exch definefont - exch -@@ -1176,10 +1176,10 @@ currentdict /.putgstringcopy .undef - { - { - pop dup type /stringtype eq { cvn } if -- .FontDirectory 1 index known not { -+ //.FontDirectory 1 index known not { - 2 dict dup /FontName 3 index put - dup /FontType 1 put -- .FontDirectory 3 1 roll { put } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse % readonly -+ //.FontDirectory 3 1 roll { put } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse % readonly - } { - pop - } ifelse -diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps -index 56c0bd268b53..d9a0829f7f97 100644 ---- a/Resource/Init/gs_init.ps -+++ b/Resource/Init/gs_init.ps -@@ -1168,8 +1168,8 @@ errordict /unknownerror .undef - }ifelse - }forall - noaccess pop -- systemdict /.setsafeerrors .forceundef -- systemdict /.SAFERERRORLIST .forceundef -+ //systemdict /.setsafeerrors .forceundef -+ //systemdict /.SAFERERRORLIST .forceundef - } bind executeonly odef - - SAFERERRORS {.setsafererrors} if -@@ -2114,7 +2114,7 @@ currentdict /tempfilepaths undef - - /.locksafe { - .locksafe_userparams -- systemdict /getenv {pop //false} .forceput -+ //systemdict /getenv {pop //false} .forceput - % setpagedevice has the side effect of clearing the page, but - % we will just document that. Using setpagedevice keeps the device - % properties and pagedevice .LockSafetyParams in agreement even --- -2.20.1 - diff --git a/bsp/buildroot/package/ghostscript/0006-Undefine-a-bunch-of-gs_fonts.ps-specific-procs.patch b/bsp/buildroot/package/ghostscript/0006-Undefine-a-bunch-of-gs_fonts.ps-specific-procs.patch deleted file mode 100644 index 4bbdef9d..00000000 --- a/bsp/buildroot/package/ghostscript/0006-Undefine-a-bunch-of-gs_fonts.ps-specific-procs.patch +++ /dev/null @@ -1,587 +0,0 @@ -From 5628be1c41d23298aa5fce2f6dd48e2eb81f4be1 Mon Sep 17 00:00:00 2001 -From: Chris Liddell -Date: Wed, 9 Jan 2019 14:24:07 +0000 -Subject: [PATCH] Undefine a bunch of gs_fonts.ps specific procs - -Also reorder and add some immediate evaluation, so it still works with the -undefining. - -Signed-off-by: Baruch Siach ---- -Upstream status: commit 2768d1a6dddb - - Resource/Init/gs_dps1.ps | 3 +- - Resource/Init/gs_fonts.ps | 275 +++++++++++++++++++++----------------- - Resource/Init/gs_res.ps | 6 +- - 3 files changed, 156 insertions(+), 128 deletions(-) - -diff --git a/Resource/Init/gs_dps1.ps b/Resource/Init/gs_dps1.ps -index b75ea14e77a3..8700c8cb304b 100644 ---- a/Resource/Init/gs_dps1.ps -+++ b/Resource/Init/gs_dps1.ps -@@ -67,7 +67,8 @@ level2dict begin - - /selectfont % selectfont - - { -- { 1 .argindex findfont -+ { -+ 1 .argindex findfont - 1 index dup type /arraytype eq { makefont } { scalefont } ifelse - setfont pop pop - } stopped { /selectfont .systemvar $error /errorname get signalerror } if -diff --git a/Resource/Init/gs_fonts.ps b/Resource/Init/gs_fonts.ps -index c13a2fcc2d43..056223544340 100644 ---- a/Resource/Init/gs_fonts.ps -+++ b/Resource/Init/gs_fonts.ps -@@ -100,7 +100,7 @@ userdict /.nativeFontmap .FontDirectory maxlength dict put - { 2 index token not - { (Fontmap entry for ) print 1 index =only - ( ends prematurely! Giving up.) = flush -- {.loadFontmap} 0 get 1 .quit -+ {//.loadFontmap exec} 0 get 1 .quit - } if - dup /; eq { pop 3 index 3 1 roll .growput exit } if - pop -@@ -202,6 +202,14 @@ NOFONTPATH { /FONTPATH () def } if - { pop } - { /FONTPATH (GS_FONTPATH) getenv not { () } if def } - ifelse -+ -+% The following are dummy definitions that, if we have a FONTPATH, will -+% be replaced in the following section. -+% They are here so immediately evaulation will work, and allow them to -+% undefined at the bottom of the file. -+/.scanfontbegin{} bind def -+/.scanfontdir {} bind def -+ - FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if - /FONTPATH [ FONTPATH .pathlist ] def - -@@ -242,12 +250,12 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if - /.scanfontbegin - { % Construct the table of all file names already in Fontmap. - currentglobal //true setglobal -- .scanfontdict dup maxlength Fontmap length 2 add .max .setmaxlength -+ //.scanfontdict dup maxlength Fontmap length 2 add .max .setmaxlength - Fontmap - { exch pop - { dup type /stringtype eq -- { .splitfilename pop .fonttempstring copy .lowerstring cvn -- .scanfontdict exch //true put -+ { //.splitfilename exec pop //.fonttempstring copy //.lowerstring exec cvn -+ //.scanfontdict exch //true put - } - { pop - } -@@ -280,9 +288,9 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if - /txt //true - .dicttomark def - /.scan1fontstring 8192 string def --% %%BeginFont: is not per Adobe documentation, but a few fonts have it. -+% BeginFont: is not per Adobe documentation, but a few fonts have it. - /.scanfontheaders [(%!PS-Adobe*) (%!FontType*) (%%BeginFont:*)] def --0 .scanfontheaders { length .max } forall 6 add % extra for PFB header -+0 //.scanfontheaders { length .max } forall 6 add % extra for PFB header - /.scan1fontfirst exch string def - /.scanfontdir % .scanfontdir - - { currentglobal exch //true setglobal -@@ -291,10 +299,10 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if - 0 0 0 4 -1 roll % found scanned files - { % stack: - exch 1 add exch % increment filecount -- dup .splitfilename .fonttempstring copy .lowerstring -+ dup //.splitfilename exec //.fonttempstring copy //.lowerstring exec - % stack: - % -- .scanfontskip exch known exch .scanfontdict exch known or -+ //.scanfontskip exch known exch //.scanfontdict exch known or - { pop - % stack: - } -@@ -309,7 +317,7 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if - % On some platforms, the file operator will open directories, - % but an error will occur if we try to read from one. - % Handle this possibility here. -- dup .scan1fontfirst { readstring } .internalstopped -+ dup //.scan1fontfirst { readstring } .internalstopped - { pop pop () } - { pop } - ifelse -@@ -322,7 +330,7 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if - { dup length 6 sub 6 exch getinterval } - if - % Check for font file headers. -- //false .scanfontheaders -+ //false //.scanfontheaders - { 2 index exch .stringmatch or - } - forall exch pop -@@ -335,7 +343,7 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if - { exch copystring exch - DEBUG { ( ) print dup =only flush } if - 1 index .definenativefontmap -- .splitfilename pop //true .scanfontdict 3 1 roll .growput -+ //.splitfilename exec pop //true //.scanfontdict 3 1 roll .growput - % Increment fontcount. - 3 -1 roll 1 add 3 1 roll - } -@@ -352,7 +360,7 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if - } - ifelse - } -- .scan1fontstring filenameforall -+ //.scan1fontstring filenameforall - QUIET - { pop pop pop } - { ( ) print =only ( files, ) print =only ( scanned, ) print -@@ -422,7 +430,6 @@ systemdict /NONATIVEFONTMAP known .setnativefontmapbuilt - //true .setnativefontmapbuilt - } ifelse - } bind def --currentdict /.setnativefontmapbuilt .forceundef - - % Create the dictionary that registers the .buildfont procedure - % (called by definefont) for each FontType. -@@ -526,7 +533,8 @@ buildfontdict 3 /.buildfont3 cvx put - % We use this only for explicitly aliased fonts, not substituted fonts: - % we think this matches the observed behavior of Adobe interpreters. - /.aliasfont % .aliasfont -- { .currentglobal 3 1 roll dup .gcheck .setglobal -+ { -+ currentglobal 3 1 roll dup gcheck setglobal - % - dup length 2 add dict % - dup 3 -1 roll % -@@ -541,7 +549,7 @@ buildfontdict 3 /.buildfont3 cvx put - % whose FontName is a local non-string, if someone passed a - % garbage value to findfont. In this case, just don't - % call definefont at all. -- 2 index dup type /stringtype eq exch .gcheck or 1 index .gcheck not or -+ 2 index dup type /stringtype eq exch gcheck or 1 index gcheck not or - { pop % - 1 index dup type /stringtype eq { cvn } if - % -@@ -566,10 +574,11 @@ buildfontdict 3 /.buildfont3 cvx put - % Don't bind in definefont, since Level 2 redefines it. - /definefont .systemvar exec - } -- { /findfont cvx {.completefont} .errorexec pop exch pop -+ { -+ /findfont cvx {.completefont} //.errorexec exec pop exch pop - } - ifelse -- exch .setglobal -+ exch setglobal - } odef % so findfont will bind it - - % Define .loadfontfile for loading a font. If we recognize Type 1 and/or -@@ -669,10 +678,19 @@ buildfontdict 3 /.buildfont3 cvx put - [(Cn) 4] [(Cond) 4] [(Narrow) 4] [(Pkg) 4] [(Compr) 4] - [(Serif) 8] [(Sans) -8] - ] readonly def -+ -+/.fontnamestring { % .fontnamestring -+ dup type dup /nametype eq { -+ pop .namestring -+ } { -+ /stringtype ne { pop () } if -+ } ifelse -+} bind def -+ - /.fontnameproperties { % .fontnameproperties - % -- .fontnamestring -- .substituteproperties { -+ //.fontnamestring exec -+ //.substituteproperties { - 2 copy 0 get search { - pop pop pop dup length 1 sub 1 exch getinterval 3 -1 roll exch { - dup 0 ge { or } { neg not and } ifelse -@@ -710,13 +728,7 @@ buildfontdict 3 /.buildfont3 cvx put - % .nametostring - dup type /nametype eq { .namestring } if - } bind def --/.fontnamestring { % .fontnamestring -- dup type dup /nametype eq { -- pop .namestring -- } { -- /stringtype ne { pop () } if -- } ifelse --} bind def -+ - /.substitutefontname { % .substitutefontname - % - % Look for properties and/or a face name in the font name. -@@ -724,7 +736,7 @@ buildfontdict 3 /.buildfont3 cvx put - % base font; otherwise, use the default font. - % Note that the "substituted" font name may be the same as - % the requested one; the caller must check this. -- exch .fontnamestring { -+ exch //.fontnamestring exec { - defaultfontname /Helvetica-Oblique /Helvetica-Bold /Helvetica-BoldOblique - /Helvetica-Narrow /Helvetica-Narrow-Oblique - /Helvetica-Narrow-Bold /Helvetica-Narrow-BoldOblique -@@ -734,12 +746,12 @@ buildfontdict 3 /.buildfont3 cvx put - } 3 1 roll - % Stack: facelist properties fontname - % Look for a face name. -- .substitutefaces { -+ //.substitutefaces { - 2 copy 0 get search { - pop pop pop - % Stack: facelist properties fontname [(pattern) family properties] - dup 2 get 4 -1 roll or 3 1 roll -- 1 get .substitutefamilies exch get -+ 1 get //.substitutefamilies exch get - 4 -1 roll pop 3 1 roll - } { - pop pop -@@ -748,7 +760,7 @@ buildfontdict 3 /.buildfont3 cvx put - 1 index length mod get exec - } bind def - /.substitutefont { % .substitutefont -- dup 0 exch .fontnameproperties .substitutefontname -+ dup 0 exch //.fontnameproperties exec .substitutefontname - % Only accept fonts known in the Fontmap. - Fontmap 1 index known not - { -@@ -814,7 +826,7 @@ FAKEFONTS not { (%END FAKEFONTS) .skipeof } if - counttomark 1 sub { .aliasfont } repeat end - % mark - exch pop exch pop --} odef -+} bind odef - /findfont { - .findfont - } bind def -@@ -860,7 +872,7 @@ FAKEFONTS not { (%END FAKEFONTS) .skipeof } if - } { - dup .substitutefont - 2 copy eq { pop defaultfontname } if -- .checkalias -+ //.checkalias exec - QUIET not { - SHORTERRORS { - (%%[) print 1 index =only -@@ -886,8 +898,8 @@ $error /SubstituteFont { } put - //null 0 1 FONTPATH length 1 sub { - FONTPATH 1 index get //null ne { exch pop exit } if pop - } for dup //null ne { -- dup 0 eq { .scanfontbegin } if -- FONTPATH 1 index get .scanfontdir -+ dup 0 eq { //.scanfontbegin exec} if -+ FONTPATH 1 index get //.scanfontdir exec - FONTPATH exch //null put //true - } { - pop //false -@@ -897,11 +909,10 @@ $error /SubstituteFont { } put - % scanning of FONTPATH. - /.dofindfont { % mark .dofindfont % mark ... - .tryfindfont not { -- - % We didn't find the font. If we haven't scanned - % all the directories in FONTPATH, scan the next one - % now and look for the font again. -- .scannextfontdir { -+ //.scannextfontdir exec { - % Start over with an empty alias list. - counttomark 1 sub { pop } repeat % mark - .dofindfont -@@ -927,6 +938,7 @@ $error /SubstituteFont { } put - } if - % Substitute for the font. Don't alias. - % Same stack as at the beginning of .dofindfont. -+ - $error /SubstituteFont get exec - % - % igorm: I guess the surrounding code assumes that .stdsubstfont -@@ -935,72 +947,11 @@ $error /SubstituteFont { } put - % used in .dofindfont and through .stdsubstfont - % just to represent a simple iteration, - % which accumulates the aliases after the mark. -- .stdsubstfont -+ //.stdsubstfont exec - } ifelse - } ifelse - } if - } bind def --% Try to find a font using only the present contents of Fontmap. --/.tryfindfont { % .tryfindfont true -- % .tryfindfont false -- //.FontDirectory 1 index .fontknownget -- { % Already loaded -- exch pop //true -- } -- { -- dup Fontmap exch .knownget -- { //true //true } -- { % Unknown font name. Look for a file with the -- % same name as the requested font. -- dup .tryloadfont -- { exch pop //true //false } -- { -- % if we can't load by name check the native font map -- dup .nativeFontmap exch .knownget -- { //true //true } -- { //false //false } ifelse -- } ifelse -- } ifelse -- -- { % Try each element of the Fontmap in turn. -- pop -- //false exch % (in case we exhaust the list) -- % Stack: fontname false fontmaplist -- { exch pop -- dup type /nametype eq -- { % Font alias -- .checkalias .tryfindfont exit -- } -- { dup dup type dup /arraytype eq exch /packedarraytype eq or exch xcheck and -- { % Font with a procedural definition -- exec % The procedure will load the font. -- % Check to make sure this really happened. -- //.FontDirectory 1 index .knownget -- { exch pop //true exit } -- if -- } -- { % Font file name -- //true .loadfontloop { //true exit } if -- } -- ifelse -- } -- ifelse //false -- } -- forall -- % Stack: font true -or- fontname false -- { //true -- } -- { % None of the Fontmap entries worked. -- % Try loading a file with the same name -- % as the requested font. -- .tryloadfont -- } -- ifelse -- } -- if -- } -- ifelse -- } bind def - - % any user of .putgstringcopy must use bind and executeonly - /.putgstringcopy % .putgstringcopy - -@@ -1014,25 +965,6 @@ $error /SubstituteFont { } put - } executeonly ifelse - } .bind executeonly odef % must be bound and hidden for .forceput - --% Attempt to load a font from a file. --/.tryloadfont { % .tryloadfont true -- % .tryloadfont false -- dup .nametostring -- % Hack: check for the presence of the resource machinery. -- /.genericrfn where { -- pop -- pop dup .fonttempstring /FontResourceDir getsystemparam .genericrfn -- {//false .loadfontloop} .internalstopped {//false} if { -- //true -- } { -- dup .nametostring -- {//true .loadfontloop} .internalstopped {//false} if -- } ifelse -- } { -- {//true .loadfontloop} .internalstopped {//false} if -- } ifelse --} bind def -- - /.loadfontloop { % .loadfontloop - % true - % -or- -@@ -1102,7 +1034,7 @@ $error /SubstituteFont { } put - } if - - % Check to make sure the font was actually loaded. -- dup 3 index .fontknownget -+ dup 3 index //.fontknownget exec - { dup /PathLoad 4 index .putgstringcopy - 4 1 roll pop pop pop //true exit - } executeonly if -@@ -1113,7 +1045,7 @@ $error /SubstituteFont { } put - exch dup % Stack: origfontname fontdirectory path path - (r) file .findfontname - { % Stack: origfontname fontdirectory path filefontname -- 2 index 1 index .fontknownget -+ 2 index 1 index //.fontknownget exec - { % Yes. Stack: origfontname fontdirectory path filefontname fontdict - dup 4 -1 roll /PathLoad exch .putgstringcopy - % Stack: origfontname fontdirectory filefontname fontdict -@@ -1136,7 +1068,7 @@ $error /SubstituteFont { } put - % Stack: fontdict - } executeonly - if pop % Stack: origfontname fontdirectory path -- } -+ } executeonly - if pop pop % Stack: origfontname - - % The font definitely did not load correctly. -@@ -1150,7 +1082,87 @@ $error /SubstituteFont { } put - - } bind executeonly odef % must be bound and hidden for .putgstringcopy - --currentdict /.putgstringcopy .undef -+% Attempt to load a font from a file. -+/.tryloadfont { % .tryloadfont true -+ % .tryloadfont false -+ dup //.nametostring exec -+ % Hack: check for the presence of the resource machinery. -+ /.genericrfn where { -+ pop -+ pop dup //.fonttempstring /FontResourceDir getsystemparam .genericrfn -+ {//false .loadfontloop} .internalstopped {//false} if { -+ //true -+ } { -+ dup //.nametostring exec -+ {//true .loadfontloop} .internalstopped {//false} if -+ } ifelse -+ } { -+ {//true .loadfontloop} .internalstopped {//false} if -+ } ifelse -+} bind def -+ -+% Try to find a font using only the present contents of Fontmap. -+/.tryfindfont { % .tryfindfont true -+ % .tryfindfont false -+ //.FontDirectory 1 index //.fontknownget exec -+ { % Already loaded -+ exch pop //true -+ } -+ { -+ dup Fontmap exch .knownget -+ { //true //true } -+ { % Unknown font name. Look for a file with the -+ % same name as the requested font. -+ dup //.tryloadfont exec -+ { exch pop //true //false } -+ { -+ % if we can't load by name check the native font map -+ dup .nativeFontmap exch .knownget -+ { //true //true } -+ { //false //false } ifelse -+ } ifelse -+ } ifelse -+ -+ { % Try each element of the Fontmap in turn. -+ pop -+ //false exch % (in case we exhaust the list) -+ % Stack: fontname false fontmaplist -+ { exch pop -+ dup type /nametype eq -+ { % Font alias -+ //.checkalias exec -+ .tryfindfont exit -+ } -+ { dup dup type dup /arraytype eq exch /packedarraytype eq or exch xcheck and -+ { % Font with a procedural definition -+ exec % The procedure will load the font. -+ % Check to make sure this really happened. -+ //.FontDirectory 1 index .knownget -+ { exch pop //true exit } -+ if -+ } -+ { % Font file name -+ //true .loadfontloop { //true exit } if -+ } -+ ifelse -+ } -+ ifelse //false -+ } -+ forall -+ % Stack: font true -or- fontname false -+ { //true -+ } -+ { % None of the Fontmap entries worked. -+ % Try loading a file with the same name -+ % as the requested font. -+ //.tryloadfont exec -+ } -+ ifelse -+ } -+ if -+ } -+ ifelse -+ } bind def - - % Define a procedure to load all known fonts. - % This isn't likely to be very useful. -@@ -1192,9 +1204,9 @@ FAKEFONTS { exch } if pop def % don't bind, .current/setglobal get redefined - /.loadinitialfonts - { NOFONTMAP not - { /FONTMAP where -- { pop [ FONTMAP .pathlist ] -+ { pop [ FONTMAP //.pathlist exec] - { dup VMDEBUG findlibfile -- { exch pop .loadFontmap } -+ { exch pop //.loadFontmap exec } - { /undefinedfilename signalerror } - ifelse - } -@@ -1208,7 +1220,7 @@ FAKEFONTS { exch } if pop def % don't bind, .current/setglobal get redefined - pop pop - defaultfontmap_content { .definefontmap } forall - } { -- .loadFontmap -+ //.loadFontmap exec - } ifelse - } { - pop pop -@@ -1272,3 +1284,18 @@ FAKEFONTS { exch } if pop def % don't bind, .current/setglobal get redefined - { .makemodifiedfont - dup /FontName get exch definefont pop - } bind def -+ -+% Undef these, not needed outside this file -+[ -+ % /.fonttempstring /.scannextfontdir - are also used in gs_res.ps, so are undefined there -+ % /.fontnameproperties - is used in pdf_font.ps -+ % /.scanfontheaders - used in gs_cff.ps, gs_ttf.ps -+ /.loadfontloop /.tryloadfont /.findfont /.pathlist /.loadFontmap /.lowerstring -+ /.splitfilename /.scanfontdict /.scanfontbegin -+ /.scanfontskip /.scan1fontstring -+ /.scan1fontfirst /.scanfontdir -+ /.setnativefontmapbuilt /.aliasfont -+ /.setloadingfont /.substitutefaces /.substituteproperties /.substitutefamilies -+ /.nametostring /.fontnamestring /.checkalias /.fontknownget /.stdsubstfont -+ /.putgstringcopy -+] {systemdict exch .forceundef} forall -diff --git a/Resource/Init/gs_res.ps b/Resource/Init/gs_res.ps -index d9b34599e7c2..fd7eaf953ae9 100644 ---- a/Resource/Init/gs_res.ps -+++ b/Resource/Init/gs_res.ps -@@ -961,7 +961,7 @@ userdict /.localcsdefaults //false put - dup type /nametype eq { .namestring } if - dup type /stringtype ne { //false exit } if - % Check the resource directory. -- dup .fonttempstring /FontResourceDir getsystemparam .genericrfn -+ dup //.fonttempstring /FontResourceDir getsystemparam .genericrfn - status { - pop pop pop pop //true exit - } if -@@ -969,7 +969,7 @@ userdict /.localcsdefaults //false put - % as the font. - findlibfile { closefile //true exit } if - % Scan a FONTPATH directory and try again. -- .scannextfontdir not { //false exit } if -+ //.scannextfontdir exec not { //false exit } if - } loop - } bind def - -@@ -1008,7 +1008,7 @@ currentdict /.fontstatusaux .undef - } ifelse - } bind executeonly - /ResourceForAll { -- { .scannextfontdir not { exit } if } loop -+ { //.scannextfontdir exec not { exit } if } loop - /Generic /Category findresource /ResourceForAll get exec - } bind executeonly - /.ResourceFileStatus { --- -2.20.1 - diff --git a/bsp/buildroot/package/ghostscript/0007-Remove-.forcedef-and-harden-.force-ops-more.patch b/bsp/buildroot/package/ghostscript/0007-Remove-.forcedef-and-harden-.force-ops-more.patch deleted file mode 100644 index 8c21c34e..00000000 --- a/bsp/buildroot/package/ghostscript/0007-Remove-.forcedef-and-harden-.force-ops-more.patch +++ /dev/null @@ -1,345 +0,0 @@ -From ba2336b3b1ca5cfe1e67dbe37a084c9644a65ac7 Mon Sep 17 00:00:00 2001 -From: Chris Liddell -Date: Fri, 11 Jan 2019 13:36:36 +0000 -Subject: [PATCH] Remove .forcedef, and harden .force* ops more - -Remove .forcedef and replace all uses with a direct call to .forceput instead. - -Ensure every procedure (named and trasient) that calls .forceput is -executeonly. - -Signed-off-by: Baruch Siach ---- -Upstream status: commit 49c8092da88e - - Resource/Init/gs_dps1.ps | 15 +++++++----- - Resource/Init/gs_init.ps | 28 ++++++++------------- - Resource/Init/gs_lev2.ps | 51 +++++++++++++++++++-------------------- - Resource/Init/gs_ll3.ps | 5 ++-- - Resource/Init/gs_res.ps | 29 +++++++++++----------- - Resource/Init/gs_statd.ps | 4 +-- - 6 files changed, 63 insertions(+), 69 deletions(-) - -diff --git a/Resource/Init/gs_dps1.ps b/Resource/Init/gs_dps1.ps -index 8700c8cb304b..3d2cf7a1ad01 100644 ---- a/Resource/Init/gs_dps1.ps -+++ b/Resource/Init/gs_dps1.ps -@@ -33,14 +33,17 @@ systemdict begin - - /SharedFontDirectory .FontDirectory .gcheck - { .currentglobal //false .setglobal -+ currentdict - /LocalFontDirectory .FontDirectory dup maxlength dict copy -- .forcedef % LocalFontDirectory is local, systemdict is global -+ .forceput % LocalFontDirectory is local, systemdict is global - .setglobal .FontDirectory -- } -- { /LocalFontDirectory .FontDirectory -- .forcedef % LocalFontDirectory is local, systemdict is global -+ } executeonly -+ { -+ currentdict -+ /LocalFontDirectory .FontDirectory -+ .forceput % LocalFontDirectory is local, systemdict is global - 50 dict -- } -+ }executeonly - ifelse def - - end % systemdict -@@ -55,7 +58,7 @@ level2dict begin - { //SharedFontDirectory } - { /LocalFontDirectory .systemvar } % can't embed ref to local VM - ifelse .forceput pop % LocalFontDirectory is local, systemdict is global -- } .bind odef -+ } .bind executeonly odef - % Don't just copy (load) the definition of .setglobal: - % it gets redefined for LL3. - /setshared { /.setglobal .systemvar exec } odef -diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps -index d9a0829f7f97..45bebf479bae 100644 ---- a/Resource/Init/gs_init.ps -+++ b/Resource/Init/gs_init.ps -@@ -54,7 +54,7 @@ systemdict exch - dup /userdict - currentdict dup 200 .setmaxlength % userdict - .forceput % userdict is local, systemdict is global -- } -+ } executeonly - if begin - - % Define dummy local/global operators if needed. -@@ -299,13 +299,6 @@ QUIET not { printgreeting flush } if - 1 index exch .makeoperator def - } .bind def - --% Define a special version of def for storing local objects into global --% dictionaries. Like .forceput, this exists only during initialization. --/.forcedef { % .forcedef - -- 1 .argindex pop % check # of args -- currentdict 3 1 roll .forceput --} .bind odef -- - % Define procedures for accessing variables in systemdict and userdict - % regardless of the contents of the dictionary stack. - /.systemvar { % .systemvar -@@ -347,7 +340,7 @@ DELAYBIND - } - ifelse - } .bind def --} if -+} executeonly if - - %**************** BACKWARD COMPATIBILITY **************** - /hwsizedict mark /HWSize //null .dicttomark readonly def -@@ -655,7 +648,7 @@ currentdict /.typenames .undef - /ifelse .systemvar - ] cvx executeonly - exch .setglobal --} odef -+} executeonly odef - systemdict /internaldict dup .makeinternaldict .makeoperator - .forceput % proc is local, systemdict is global - -@@ -1093,7 +1086,7 @@ def - - % Define $error. This must be in local VM. - .currentglobal //false .setglobal --/$error 40 dict .forcedef % $error is local, systemdict is global -+currentdict /$error 40 dict .forceput % $error is local, systemdict is global - % newerror, errorname, command, errorinfo, - % ostack, estack, dstack, recordstacks, - % binary, globalmode, -@@ -1112,8 +1105,8 @@ end - % Define errordict similarly. It has one entry per error name, - % plus handleerror. However, some astonishingly badly written PostScript - % files require it to have at least one empty slot. --/errordict ErrorNames length 3 add dict --.forcedef % errordict is local, systemdict is global -+currentdict /errordict ErrorNames length 3 add dict -+.forceput % errordict is local, systemdict is global - .setglobal % back to global VM - % gserrordict contains all the default error handling methods, but unlike - % errordict it is noaccess after creation (also it is in global VM). -@@ -1273,8 +1266,9 @@ end - (END PROCS) VMDEBUG - - % Define the font directory. -+currentdict - /FontDirectory //false .setglobal 100 dict //true .setglobal --.forcedef % FontDirectory is local, systemdict is global -+.forceput % FontDirectory is local, systemdict is global - - % Define the encoding dictionary. - /EncodingDirectory 16 dict def % enough for Level 2 + PDF standard encodings -@@ -2333,7 +2327,6 @@ SAFER { .setsafeglobal } if - //systemdict /UndefinePostScriptOperators get exec - //systemdict /UndefinePDFOperators get exec - //systemdict /.forcecopynew .forceundef % remove temptation -- //systemdict /.forcedef .forceundef % ditto - //systemdict /.forceput .forceundef % ditto - //systemdict /.undef .forceundef % ditto - //systemdict /.forceundef .forceundef % ditto -@@ -2368,9 +2361,9 @@ SAFER { .setsafeglobal } if - % (and, if implemented, context switching). - .currentglobal //false .setglobal - mark userparams { } forall .dicttomark readonly -- /userparams exch .forcedef % systemdict is read-only -+ currentdict exch /userparams exch .forceput % systemdict is read-only - .setglobal --} if -+} executeonly if - /.currentsystemparams where { - pop - % Remove real system params from pssystemparams. -@@ -2458,7 +2451,6 @@ end - DELAYBIND not { - systemdict /.bindnow .undef % We only need this for DELAYBIND - systemdict /.forcecopynew .undef % remove temptation -- systemdict /.forcedef .undef % ditto - systemdict /.forceput .undef % ditto - systemdict /.forceundef .undef % ditto - } if -diff --git a/Resource/Init/gs_lev2.ps b/Resource/Init/gs_lev2.ps -index 0f0d57331c23..9c0c3a6fc485 100644 ---- a/Resource/Init/gs_lev2.ps -+++ b/Resource/Init/gs_lev2.ps -@@ -304,31 +304,30 @@ end - psuserparams exch /.checkFilePermitparams load put - .setglobal - --pssystemparams begin -- /CurDisplayList 0 .forcedef -- /CurFormCache 0 .forcedef -- /CurInputDevice () .forcedef -- /CurOutlineCache 0 .forcedef -- /CurOutputDevice () .forcedef -- /CurPatternCache 0 .forcedef -- /CurUPathCache 0 .forcedef -- /CurScreenStorage 0 .forcedef -- /CurSourceList 0 .forcedef -- /DoPrintErrors //false .forcedef -- /JobTimeout 0 .forcedef -- /LicenseID (LN-001) .forcedef % bogus -- /MaxDisplayList 140000 .forcedef -- /MaxFormCache 100000 .forcedef -- /MaxImageBuffer 524288 .forcedef -- /MaxOutlineCache 65000 .forcedef -- /MaxPatternCache 100000 .forcedef -- /MaxUPathCache 300000 .forcedef -- /MaxScreenStorage 84000 .forcedef -- /MaxSourceList 25000 .forcedef -- /PrinterName product .forcedef -- /RamSize 4194304 .forcedef -- /WaitTimeout 40 .forcedef --end -+pssystemparams -+dup /CurDisplayList 0 .forceput -+dup /CurFormCache 0 .forceput -+dup /CurInputDevice () .forceput -+dup /CurOutlineCache 0 .forceput -+dup /CurOutputDevice () .forceput -+dup /CurPatternCache 0 .forceput -+dup /CurUPathCache 0 .forceput -+dup /CurScreenStorage 0 .forceput -+dup /CurSourceList 0 .forceput -+dup /DoPrintErrors //false .forceput -+dup /JobTimeout 0 .forceput -+dup /LicenseID (LN-001) .forceput % bogus -+dup /MaxDisplayList 140000 .forceput -+dup /MaxFormCache 100000 .forceput -+dup /MaxImageBuffer 524288 .forceput -+dup /MaxOutlineCache 65000 .forceput -+dup /MaxPatternCache 100000 .forceput -+dup /MaxUPathCache 300000 .forceput -+dup /MaxScreenStorage 84000 .forceput -+dup /MaxSourceList 25000 .forceput -+dup /PrinterName product .forceput -+dup /RamSize 4194304 .forceput -+ /WaitTimeout 40 .forceput - - % Define the procedures for handling comment scanning. The names - % %ProcessComment and %ProcessDSCComment are known to the interpreter. -@@ -710,7 +709,7 @@ pop % currentsystemparams - /statusdict currentdict def - - currentdict end --/statusdict exch .forcedef % statusdict is local, systemdict is global -+currentdict exch /statusdict exch .forceput % statusdict is local, systemdict is global - - % The following compatibility operators are in systemdict. They are - % defined here, rather than in gs_init.ps, because they require the -diff --git a/Resource/Init/gs_ll3.ps b/Resource/Init/gs_ll3.ps -index c86721f39fc0..881af44e9fd2 100644 ---- a/Resource/Init/gs_ll3.ps -+++ b/Resource/Init/gs_ll3.ps -@@ -521,9 +521,8 @@ end - % Define additional user and system parameters. - /HalftoneMode 0 .definepsuserparam - /MaxSuperScreen 1016 .definepsuserparam --pssystemparams begin % read-only, so use .forcedef -- /MaxDisplayAndSourceList 160000 .forcedef --end -+% read-only, so use .forceput -+pssystemparams /MaxDisplayAndSourceList 160000 .forceput - - % Define the IdiomSet resource category. - { /IdiomSet } { -diff --git a/Resource/Init/gs_res.ps b/Resource/Init/gs_res.ps -index fd7eaf953ae9..0b4e0514b2a1 100644 ---- a/Resource/Init/gs_res.ps -+++ b/Resource/Init/gs_res.ps -@@ -41,10 +41,10 @@ level2dict begin - % However, Ed Taft of Adobe says their interpreters don't implement this - % either, so we aren't going to worry about it for a while. - --currentglobal //false setglobal systemdict begin -- /localinstancedict 5 dict -- .forcedef % localinstancedict is local, systemdict is global --end //true setglobal -+currentglobal //false setglobal -+ systemdict /localinstancedict 5 dict -+ .forceput % localinstancedict is local, systemdict is global -+//true setglobal - /.emptydict 0 dict readonly def - setglobal - -@@ -149,7 +149,7 @@ setglobal - dup [ exch 0 -1 ] exch - .Instances 4 2 roll put - % Make the Category dictionary read-only. We will have to -- % use .forceput / .forcedef later to replace the dummy, -+ % use .forceput / .forceput later to replace the dummy, - % empty .Instances dictionary with the real one later. - readonly - }{ -@@ -304,7 +304,8 @@ systemdict begin - dup () ne { - .file_name_directory_separator concatstrings - } if -- 2 index exch //false .file_name_combine not { -+ 2 index exch //false -+ .file_name_combine not { - (Error: .default_resource_dir returned ) print exch print ( that can't combine with ) print = - /.default_resource_dir cvx /configurationerror signalerror - } if -@@ -317,14 +318,14 @@ currentdict /pssystemparams known not { - pssystemparams begin - .default_resource_dir - /FontResourceDir (Font) .resource_dir_name -- readonly .forcedef % pssys'params is r-o -+ readonly currentdict 3 1 roll .forceput % pssys'params is r-o - /GenericResourceDir () .resource_dir_name -- readonly .forcedef % pssys'params is r-o -+ readonly currentdict 3 1 roll .forceput % pssys'params is r-o - pop % .default_resource_dir - /GenericResourcePathSep -- .file_name_separator readonly .forcedef % pssys'params is r-o -- (%diskFontResourceDir) cvn (/Resource/Font/) readonly .forcedef % pssys'params is r-o -- (%diskGenericResourceDir) cvn (/Resource/) readonly .forcedef % pssys'params is r-o -+ .file_name_separator readonly currentdict 3 1 roll .forceput % pssys'params is r-o -+ currentdict (%diskFontResourceDir) cvn (/Resource/Font/) readonly .forceput % pssys'params is r-o -+ currentdict (%diskGenericResourceDir) cvn (/Resource/) readonly .forceput % pssys'params is r-o - end - end - -@@ -422,8 +423,8 @@ status { - .Instances dup //.emptydict eq { - pop 3 dict - % As noted above, Category dictionaries are read-only, -- % so we have to use .forcedef here. -- /.Instances 1 index .forcedef % Category dict is read-only -+ % so we have to use .forceput here. -+ currentdict /.Instances 2 index .forceput % Category dict is read-only - } executeonly if - } - { .LocalInstances dup //.emptydict eq -@@ -441,7 +442,7 @@ status { - { /defineresource cvx /typecheck signaloperror - } - ifelse --} .bind executeonly .makeoperator % executeonly to prevent access to .forcedef -+} .bind executeonly .makeoperator % executeonly to prevent access to .forceput - /UndefineResource - { { dup 2 index .knownget - { dup 1 get 1 ge -diff --git a/Resource/Init/gs_statd.ps b/Resource/Init/gs_statd.ps -index 20d4c96c4f8f..b6a76590dd09 100644 ---- a/Resource/Init/gs_statd.ps -+++ b/Resource/Init/gs_statd.ps -@@ -21,10 +21,10 @@ systemdict begin - % We make statusdict a little larger for Level 2 stuff. - % Note that it must be allocated in local VM. - .currentglobal //false .setglobal -- /statusdict 91 dict .forcedef % statusdict is local, sys'dict global -+ currentdict /statusdict 91 dict .forceput % statusdict is local, sys'dict global - % To support the Level 2 job control features, - % serverdict must also be in local VM. -- /serverdict 10 dict .forcedef % serverdict is local, sys'dict global -+ currentdict /serverdict 10 dict .forceput % serverdict is local, sys'dict global - .setglobal - end - --- -2.20.1 - diff --git a/bsp/buildroot/package/ghostscript/ghostscript.hash b/bsp/buildroot/package/ghostscript/ghostscript.hash index 15ef95e7..383a414d 100644 --- a/bsp/buildroot/package/ghostscript/ghostscript.hash +++ b/bsp/buildroot/package/ghostscript/ghostscript.hash @@ -1,5 +1,5 @@ -# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs926/SHA512SUMS -sha512 3ddb83029edf32282357bf606f4045a9ac73df6543cd423cfad09158ec12ada083a0dbb5aac3b73ae24cbc6c1e9d7574257a5c1fae63ba8776fbb00150ef2a3e ghostscript-9.26.tar.xz +# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs927/SHA512SUMS +sha512 5e67ad45a80f01c6ef0eabb1c76dfa8fb6e7f0fde8d82fd5daaf12f370c288a672f8fa69c74d9e30255582267e9a906e4e8b13655f8d993fefdfc8dbdb5d5401 ghostscript-9.27.tar.xz # Hash for license file: sha256 6f852249f975287b3efd43a5883875e47fa9f3125e2f1b18b5c09517ac30ecf2 LICENSE diff --git a/bsp/buildroot/package/ghostscript/ghostscript.mk b/bsp/buildroot/package/ghostscript/ghostscript.mk index 357fd08c..fefac2ae 100644 --- a/bsp/buildroot/package/ghostscript/ghostscript.mk +++ b/bsp/buildroot/package/ghostscript/ghostscript.mk @@ -4,8 +4,8 @@ # ################################################################################ -GHOSTSCRIPT_VERSION = 9.26 -GHOSTSCRIPT_SITE = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs926 +GHOSTSCRIPT_VERSION = 9.27 +GHOSTSCRIPT_SITE = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs$(subst .,,$(GHOSTSCRIPT_VERSION)) GHOSTSCRIPT_SOURCE = ghostscript-$(GHOSTSCRIPT_VERSION).tar.xz GHOSTSCRIPT_LICENSE = AGPL-3.0 GHOSTSCRIPT_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/git/0001-configure.ac-Properly-check-for-libintl.patch b/bsp/buildroot/package/git/0001-configure.ac-Properly-check-for-libintl.patch new file mode 100644 index 00000000..2f367f54 --- /dev/null +++ b/bsp/buildroot/package/git/0001-configure.ac-Properly-check-for-libintl.patch @@ -0,0 +1,49 @@ +From 01da08fd60a0bdb2994f85f943dba148d9321d4d Mon Sep 17 00:00:00 2001 +From: Vadim Kochan +Date: Wed, 17 Apr 2019 01:25:40 +0300 +Subject: [PATCH 1/1] configure.ac: Properly check for libintl + +Some libc implementations like uclibc or musl provides +gettext stubs via libintl library but this case is not checked +by AC_CHECK_LIBRARY(c, gettext ...) because gcc has gettext as builtin +which passess the check. + +So check it with included libintl.h where gettext may unfold into +libintl_gettext which will cause check to fail if libintl_gettext are +needed to be linked with -lintl. + +Signed-off-by: Vadim Kochan +--- + configure.ac | 16 +++++++++++++--- + 1 file changed, 13 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 7f84151..0b8e25f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -762,9 +762,19 @@ AC_CHECK_LIB([c], [basename], + GIT_CONF_SUBST([NEEDS_LIBGEN]) + test -n "$NEEDS_LIBGEN" && LIBS="$LIBS -lgen" + +-AC_CHECK_LIB([c], [gettext], +-[LIBC_CONTAINS_LIBINTL=YesPlease], +-[LIBC_CONTAINS_LIBINTL=]) ++AC_DEFUN([LIBINTL_SRC], [ ++AC_LANG_PROGRAM([[ ++#include ++]],[[ ++char *msg = gettext("test"); ++]])]) ++ ++AC_MSG_CHECKING([if libc contains libintl]) ++AC_LINK_IFELSE([LIBINTL_SRC], ++ [AC_MSG_RESULT([yes]) ++ LIBC_CONTAINS_LIBINTL=YesPlease], ++ [AC_MSG_RESULT([no]) ++ LIBC_CONTAINS_LIBINTL=]) + GIT_CONF_SUBST([LIBC_CONTAINS_LIBINTL]) + + # +-- +2.14.1 + diff --git a/bsp/buildroot/package/git/git.mk b/bsp/buildroot/package/git/git.mk index 9b176d36..804a6e23 100644 --- a/bsp/buildroot/package/git/git.mk +++ b/bsp/buildroot/package/git/git.mk @@ -10,11 +10,12 @@ GIT_SITE = $(BR2_KERNEL_MIRROR)/software/scm/git GIT_LICENSE = GPL-2.0, LGPL-2.1+ GIT_LICENSE_FILES = COPYING LGPL-2.1 GIT_DEPENDENCIES = zlib $(TARGET_NLS_DEPENDENCIES) +GIT_AUTORECONF = YES ifeq ($(BR2_PACKAGE_OPENSSL),y) -GIT_DEPENDENCIES += openssl +GIT_DEPENDENCIES += host-pkgconf openssl GIT_CONF_OPTS += --with-openssl -GIT_CONF_ENV_LIBS += $(if $(BR2_STATIC_LIBS),-lz) +GIT_MAKE_OPTS += LIB_4_CRYPTO="`$(PKG_CONFIG_HOST_BINARY) --libs libssl libcrypto`" else GIT_CONF_OPTS += --without-openssl endif diff --git a/bsp/buildroot/package/glibc/glibc-2.28-69-g1e5c5303a522764d7e9d2302a60e4a32cdb902f1/glibc.hash b/bsp/buildroot/package/glibc/glibc-2.28-94-g4aeff335ca19286ee2382d8eba794ae5fd49281a/glibc.hash similarity index 69% rename from bsp/buildroot/package/glibc/glibc-2.28-69-g1e5c5303a522764d7e9d2302a60e4a32cdb902f1/glibc.hash rename to bsp/buildroot/package/glibc/glibc-2.28-94-g4aeff335ca19286ee2382d8eba794ae5fd49281a/glibc.hash index e83b1caf..442ef0d7 100644 --- a/bsp/buildroot/package/glibc/glibc-2.28-69-g1e5c5303a522764d7e9d2302a60e4a32cdb902f1/glibc.hash +++ b/bsp/buildroot/package/glibc/glibc-2.28-94-g4aeff335ca19286ee2382d8eba794ae5fd49281a/glibc.hash @@ -1,5 +1,5 @@ # Locally calculated (fetched from Github) -sha256 ebf04c7b00153d6df8beceec0666d4b13e1ac613b40d5774d1b8c6f61c1686e6 glibc-glibc-2.28-69-g1e5c5303a522764d7e9d2302a60e4a32cdb902f1.tar.gz +sha256 295d436aac4dc45afc3b440f85fc4556c03b1140ca0f625ee015c8156d2f52ae glibc-glibc-2.28-94-g4aeff335ca19286ee2382d8eba794ae5fd49281a.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 ec5b3ced..cb6f8097 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-69-g1e5c5303a522764d7e9d2302a60e4a32cdb902f1 +GLIBC_VERSION = glibc-2.28-94-g4aeff335ca19286ee2382d8eba794ae5fd49281a # 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/gnuradio/Config.in b/bsp/buildroot/package/gnuradio/Config.in index 3fdaea85..6d066977 100644 --- a/bsp/buildroot/package/gnuradio/Config.in +++ b/bsp/buildroot/package/gnuradio/Config.in @@ -56,6 +56,12 @@ config BR2_PACKAGE_GNURADIO_FEC help FEC signal processing blocks +config BR2_PACKAGE_GNURADIO_LOG + bool "gr-log support" + select BR2_PACKAGE_LOG4CPP + help + Enable logger component + config BR2_PACKAGE_GNURADIO_PYTHON bool "python support" depends on BR2_PACKAGE_PYTHON diff --git a/bsp/buildroot/package/gnuradio/gnuradio.mk b/bsp/buildroot/package/gnuradio/gnuradio.mk index 202c2213..ef9723cb 100644 --- a/bsp/buildroot/package/gnuradio/gnuradio.mk +++ b/bsp/buildroot/package/gnuradio/gnuradio.mk @@ -115,6 +115,13 @@ else GNURADIO_CONF_OPTS += -DENABLE_GR_FILTER=OFF endif +ifeq ($(BR2_PACKAGE_GNURADIO_LOG),y) +GNURADIO_DEPENDENCIES += log4cpp +GNURADIO_CONF_OPTS += -DENABLE_GR_LOG=ON +else +GNURADIO_CONF_OPTS += -DENABLE_GR_LOG=OFF +endif + ifeq ($(BR2_PACKAGE_GNURADIO_PYTHON),y) GNURADIO_DEPENDENCIES += python GNURADIO_CONF_OPTS += -DENABLE_PYTHON=ON diff --git a/bsp/buildroot/package/gnutls/gnutls.hash b/bsp/buildroot/package/gnutls/gnutls.hash index 1af0e2d4..8c0e0d69 100644 --- a/bsp/buildroot/package/gnutls/gnutls.hash +++ b/bsp/buildroot/package/gnutls/gnutls.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/gnutls-3.6.6.tar.xz.sig -sha256 bb9acab8af2ac430edf45faaaa4ed2c51f86e57cb57689be6701aceef4732ca7 gnutls-3.6.6.tar.xz +# https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/gnutls-3.6.7.1.tar.xz.sig +sha256 881b26409ecd8ea4c514fd3fbdb6fae5fab422ca7b71116260e263940a4bbbad gnutls-3.6.7.1.tar.xz # Locally calculated -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 doc/COPYING +sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b doc/COPYING sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 doc/COPYING.LESSER diff --git a/bsp/buildroot/package/gnutls/gnutls.mk b/bsp/buildroot/package/gnutls/gnutls.mk index c6d2d727..e7c59682 100644 --- a/bsp/buildroot/package/gnutls/gnutls.mk +++ b/bsp/buildroot/package/gnutls/gnutls.mk @@ -5,7 +5,7 @@ ################################################################################ GNUTLS_VERSION_MAJOR = 3.6 -GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).6 +GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).7.1 GNUTLS_SOURCE = gnutls-$(GNUTLS_VERSION).tar.xz GNUTLS_SITE = https://www.gnupg.org/ftp/gcrypt/gnutls/v$(GNUTLS_VERSION_MAJOR) GNUTLS_LICENSE = LGPL-2.1+ (core library), GPL-3.0+ (gnutls-openssl library) diff --git a/bsp/buildroot/package/go/go.hash b/bsp/buildroot/package/go/go.hash index 29891399..fad5f29a 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 bc1ef02bb1668835db1390a2e478dcbccb5dd16911691af9d75184bbe5aa943e go1.11.5.src.tar.gz +sha256 a96da1425dcbec094736033a8a416316547f8100ab4b72c31d4824d761d3e133 go1.11.6.src.tar.gz sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 LICENSE diff --git a/bsp/buildroot/package/go/go.mk b/bsp/buildroot/package/go/go.mk index 1558b55e..b91040a1 100644 --- a/bsp/buildroot/package/go/go.mk +++ b/bsp/buildroot/package/go/go.mk @@ -4,7 +4,7 @@ # ################################################################################ -GO_VERSION = 1.11.5 +GO_VERSION = 1.11.6 GO_SITE = https://storage.googleapis.com/golang GO_SOURCE = go$(GO_VERSION).src.tar.gz @@ -37,13 +37,16 @@ GO_GOARCH = mips64le endif HOST_GO_DEPENDENCIES = host-go-bootstrap +HOST_GO_HOST_CACHE = $(HOST_DIR)/usr/share/host-go-cache HOST_GO_ROOT = $(HOST_DIR)/lib/go +HOST_GO_TARGET_CACHE = $(HOST_DIR)/usr/share/go-cache # For the convienience of target packages. HOST_GO_TOOLDIR = $(HOST_GO_ROOT)/pkg/tool/linux_$(GO_GOARCH) HOST_GO_TARGET_ENV = \ GO111MODULE=off \ GOARCH=$(GO_GOARCH) \ + GOCACHE="$(HOST_GO_TARGET_CACHE)" \ GOROOT="$(HOST_GO_ROOT)" \ CC="$(TARGET_CC)" \ CXX="$(TARGET_CXX)" \ @@ -63,6 +66,7 @@ endif # HOSTCC_NOCCACHE. See https://github.com/golang/go/issues/11685. HOST_GO_MAKE_ENV = \ GO111MODULE=off \ + GOCACHE=$(HOST_GO_HOST_CACHE) \ GOROOT_BOOTSTRAP=$(HOST_GO_BOOTSTRAP_ROOT) \ GOROOT_FINAL=$(HOST_GO_ROOT) \ GOROOT="$(@D)" \ diff --git a/bsp/buildroot/package/gstreamer/gst-plugins-bad/Config.in b/bsp/buildroot/package/gstreamer/gst-plugins-bad/Config.in index f45981f6..411e4b61 100644 --- a/bsp/buildroot/package/gstreamer/gst-plugins-bad/Config.in +++ b/bsp/buildroot/package/gstreamer/gst-plugins-bad/Config.in @@ -242,10 +242,6 @@ config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_Y4M comment "plugins with external dependencies (there may be more available)" -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_APEXSINK - bool "apexsink" - select BR2_PACKAGE_OPENSSL - config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_BZ2 bool "bz2" select BR2_PACKAGE_BZIP2 @@ -324,14 +320,13 @@ config BR2_PACKAGE_GST_PLUGINS_BAD_ZBAR bool "zbar" depends on BR2_TOOLCHAIN_HAS_THREADS # zbar-> libv4l depends on BR2_USE_MMU # zbar-> libv4l - depends on !BR2_STATIC_LIBS # zbar-> libv4l depends on BR2_INSTALL_LIBSTDCPP # zbar-> libv4l depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # zbar select BR2_PACKAGE_ZBAR -comment "zbar plugin needs a toolchain w/ threads, dynamic library, C++ and headers >= 3.17" +comment "zbar plugin needs a toolchain w/ threads, C++ and headers >= 3.17" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \ + depends on !BR2_TOOLCHAIN_HAS_THREADS \ || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 endif diff --git a/bsp/buildroot/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk b/bsp/buildroot/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk index 856ff966..a98eac42 100644 --- a/bsp/buildroot/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk +++ b/bsp/buildroot/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk @@ -12,6 +12,7 @@ GST_PLUGINS_BAD_LICENSE = LGPL-2.1+, GPL-2.0+ GST_PLUGINS_BAD_LICENSE_FILES = COPYING.LIB COPYING GST_PLUGINS_BAD_CONF_OPTS = \ + --disable-apexsink \ --disable-examples \ --disable-spandsp @@ -472,13 +473,6 @@ GST_PLUGINS_BAD_CONF_OPTS += --disable-y4m endif # plugins with deps -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_APEXSINK),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-apexsink -GST_PLUGINS_BAD_DEPENDENCIES += openssl -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-apexsink -endif - ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_BZ2),y) GST_PLUGINS_BAD_CONF_OPTS += --enable-bz2 GST_PLUGINS_BAD_DEPENDENCIES += bzip2 diff --git a/bsp/buildroot/package/gstreamer1/gst-omx/gst-omx.mk b/bsp/buildroot/package/gstreamer1/gst-omx/gst-omx.mk index 5dda1eb1..bb325ad1 100644 --- a/bsp/buildroot/package/gstreamer1/gst-omx/gst-omx.mk +++ b/bsp/buildroot/package/gstreamer1/gst-omx/gst-omx.mk @@ -12,26 +12,26 @@ GST_OMX_LICENSE = LGPL-2.1 GST_OMX_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) -GST_OMX_CONF_OPTS = \ - --with-omx-target=rpi +GST_OMX_VARIANT = rpi GST_OMX_CONF_ENV = \ CFLAGS="$(TARGET_CFLAGS) \ -I$(STAGING_DIR)/usr/include/IL \ -I$(STAGING_DIR)/usr/include/interface/vcos/pthreads \ -I$(STAGING_DIR)/usr/include/interface/vmcs_host/linux" -endif - -ifeq ($(BR2_PACKAGE_BELLAGIO),y) -GST_OMX_CONF_OPTS = \ - --with-omx-target=bellagio +else ifeq ($(BR2_PACKAGE_BELLAGIO),y) +GST_OMX_VARIANT = bellagio GST_OMX_CONF_ENV = \ CFLAGS="$(TARGET_CFLAGS) \ -DOMX_VERSION_MAJOR=1 \ -DOMX_VERSION_MINOR=1 \ -DOMX_VERSION_REVISION=2 \ -DOMX_VERSION_STEP=0" +else +GST_OMX_VARIANT = generic endif +GST_OMX_CONF_OPTS += --with-omx-target=$(GST_OMX_VARIANT) + GST_OMX_DEPENDENCIES = gstreamer1 gst1-plugins-base libopenmax # adjust library paths to where buildroot installs them diff --git a/bsp/buildroot/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/bsp/buildroot/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk index fb976f9a..5b7db081 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk +++ b/bsp/buildroot/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk @@ -11,7 +11,6 @@ GST1_PLUGINS_BASE_INSTALL_STAGING = YES GST1_PLUGINS_BASE_LICENSE_FILES = COPYING.LIB GST1_PLUGINS_BASE_LICENSE = LGPL-2.0+, LGPL-2.1+ -# gio_unix_2_0 is only used for tests GST1_PLUGINS_BASE_CONF_OPTS = \ --disable-examples \ --disable-valgrind \ diff --git a/bsp/buildroot/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk b/bsp/buildroot/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk index 2f9b204e..25546258 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk +++ b/bsp/buildroot/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk @@ -46,7 +46,7 @@ else GST1_PLUGINS_UGLY_CONF_OPTS += --disable-dvdsub endif -ifeq ($(BR2_PACKAGE_GST_PLUGINS_UGL1_PLUGIN_XINGMUX),y) +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_XINGMUX),y) GST1_PLUGINS_UGLY_CONF_OPTS += --enable-xingmux else GST1_PLUGINS_UGLY_CONF_OPTS += --disable-xingmux diff --git a/bsp/buildroot/package/haproxy/Config.in b/bsp/buildroot/package/haproxy/Config.in index 78cbf6e1..670de5a3 100644 --- a/bsp/buildroot/package/haproxy/Config.in +++ b/bsp/buildroot/package/haproxy/Config.in @@ -1,7 +1,16 @@ -config BR2_PACKAGE_HAPROXY - bool "haproxy" +config BR2_PACKAGE_HAPROXY_ARCH_SUPPORTS + bool + default y + # internal compiler error: in do_output_reload, at reload1.c:7978 + depends on !BR2_microblaze + # src/proto_http.c:6330:1: internal compiler error: Segmentation fault + depends on !BR2_nios2 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60040 depends on !(BR2_sh4 && !BR2_TOOLCHAIN_GCC_AT_LEAST_7) + +config BR2_PACKAGE_HAPROXY + bool "haproxy" + depends on BR2_PACKAGE_HAPROXY_ARCH_SUPPORTS depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_HAS_SYNC_4 # __sync_*_4 intrisics help diff --git a/bsp/buildroot/package/hostapd/hostapd.hash b/bsp/buildroot/package/hostapd/hostapd.hash index 833c7aca..8901aa43 100644 --- a/bsp/buildroot/package/hostapd/hostapd.hash +++ b/bsp/buildroot/package/hostapd/hostapd.hash @@ -1,4 +1,20 @@ # Locally calculated sha256 21b0dda3cc3abe75849437f6b9746da461f88f0ea49dd621216936f87440a141 hostapd-2.7.tar.gz +sha256 86979655f1c5a9578acbf83e8acdf69a36dcc0966a8819f3b6918530ad3e0c67 0001-OpenSSL-Use-constant-time-operations-for-private-big.patch +sha256 5663da175ecc344c90bea8c95ab831ad47a8002ccbb834f6c091705b92e90e71 0002-Add-helper-functions-for-constant-time-operations.patch +sha256 e5a6bc9f587351d4495740239ceb0a64958a59b3e875722dcaeb4c93fa517f64 0003-OpenSSL-Use-constant-time-selection-for-crypto_bignu.patch +sha256 aa5b722bebbaf175ff89a3653c3d048afe0d0f866989fca6b4c8e882a864392a 0004-EAP-pwd-Use-constant-time-and-memory-access-for-find.patch +sha256 bad9eeaeb118f88303a7a718820b3ba03d705e99b6183b3c44556bedf99db423 0005-SAE-Minimize-timing-differences-in-PWE-derivation.patch +sha256 ae7be450f652f6f77ad868856ab61ba6cb6d7e768585cf5f9f9f674a66e05b40 0006-SAE-Avoid-branches-in-is_quadratic_residue_blind.patch +sha256 86b731c787ca58ac001d20fb769b136e2ca76bf81a8465a8e72c50573cfc4b09 0007-SAE-Mask-timing-of-MODP-groups-22-23-24.patch +sha256 ff7305005217a34818dae247886b9fb1b1db781ab31fb5eac9ebdd9cb0d1edfe 0008-SAE-Use-const_time-selection-for-PWE-in-FFC.patch +sha256 707057cc0e60fe763350f82135dbe407bc289a4958879c8ff1e9413243a1caa4 0009-SAE-Use-constant-time-operations-in-sae_test_pwd_see.patch +sha256 82d8ae4fabfe3674bcb5412befe3a74e40d6485906589c219be72e4fd1e70baa 0010-SAE-Fix-confirm-message-validation-in-error-cases.patch +sha256 ff8d6d92ad4b01987be63cdaf67a24d2eba5b3cd654f37664a8a198e501c0e3b 0011-EAP-pwd-server-Verify-received-scalar-and-element.patch +sha256 d5ebf4e5a810e9a0c035f9268195c542273998ea70fd58697ee25965094062cc 0012-EAP-pwd-server-Detect-reflection-attacks.patch +sha256 7156656498f03b24a0b69a26a59d17a9fcc8e76761f1dabe6d13b4176ffd2ef8 0013-EAP-pwd-client-Verify-received-scalar-and-element.patch +sha256 69926854ec2a79dada290f79f04202764c5d6400d232e3a567ebe633a02c1c66 0014-EAP-pwd-Check-element-x-y-coordinates-explicitly.patch +sha256 cba82a051a39c48872250b2e85ca8ebc628cfe75a9ccec29f3e994abd4156152 0001-EAP-pwd-server-Fix-reassembly-buffer-handling.patch +sha256 dc0e015463e1fd1f230795e1a49ddd1b9d00e726cd9f38846d0f4892d7978162 0003-EAP-pwd-peer-Fix-reassembly-buffer-handling.patch sha256 e204da659d0583c71af23cb9b55536fe99598ee26a44104344f456e4d17350c6 rtlxdrv.patch sha256 76eeecd8fc291a71f29189ea20e6a34387b8048a959cbc6a65c41b98194643a2 README diff --git a/bsp/buildroot/package/hostapd/hostapd.mk b/bsp/buildroot/package/hostapd/hostapd.mk index 0b3fa064..550f8872 100644 --- a/bsp/buildroot/package/hostapd/hostapd.mk +++ b/bsp/buildroot/package/hostapd/hostapd.mk @@ -6,6 +6,23 @@ HOSTAPD_VERSION = 2.7 HOSTAPD_SITE = http://w1.fi/releases +HOSTAPD_PATCH = \ + https://w1.fi/security/2019-1/0001-OpenSSL-Use-constant-time-operations-for-private-big.patch \ + https://w1.fi/security/2019-1/0002-Add-helper-functions-for-constant-time-operations.patch \ + https://w1.fi/security/2019-1/0003-OpenSSL-Use-constant-time-selection-for-crypto_bignu.patch \ + https://w1.fi/security/2019-2/0004-EAP-pwd-Use-constant-time-and-memory-access-for-find.patch \ + https://w1.fi/security/2019-1/0005-SAE-Minimize-timing-differences-in-PWE-derivation.patch \ + https://w1.fi/security/2019-1/0006-SAE-Avoid-branches-in-is_quadratic_residue_blind.patch \ + https://w1.fi/security/2019-1/0007-SAE-Mask-timing-of-MODP-groups-22-23-24.patch \ + https://w1.fi/security/2019-1/0008-SAE-Use-const_time-selection-for-PWE-in-FFC.patch \ + https://w1.fi/security/2019-1/0009-SAE-Use-constant-time-operations-in-sae_test_pwd_see.patch \ + https://w1.fi/security/2019-3/0010-SAE-Fix-confirm-message-validation-in-error-cases.patch \ + https://w1.fi/security/2019-4/0011-EAP-pwd-server-Verify-received-scalar-and-element.patch \ + https://w1.fi/security/2019-4/0012-EAP-pwd-server-Detect-reflection-attacks.patch \ + https://w1.fi/security/2019-4/0013-EAP-pwd-client-Verify-received-scalar-and-element.patch \ + https://w1.fi/security/2019-4/0014-EAP-pwd-Check-element-x-y-coordinates-explicitly.patch \ + https://w1.fi/security/2019-5/0001-EAP-pwd-server-Fix-reassembly-buffer-handling.patch \ + https://w1.fi/security/2019-5/0003-EAP-pwd-peer-Fix-reassembly-buffer-handling.patch HOSTAPD_SUBDIR = hostapd HOSTAPD_CONFIG = $(HOSTAPD_DIR)/$(HOSTAPD_SUBDIR)/.config HOSTAPD_DEPENDENCIES = host-pkgconf @@ -20,8 +37,8 @@ HOSTAPD_CONFIG_DISABLE = # Try to use openssl if it's already available ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) -HOSTAPD_DEPENDENCIES += libopenssl -HOSTAPD_LIBS += $(if $(BR2_STATIC_LIBS),-lcrypto -lz) +HOSTAPD_DEPENDENCIES += host-pkgconf libopenssl +HOSTAPD_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs openssl` HOSTAPD_CONFIG_EDITS += 's/\#\(CONFIG_TLS=openssl\)/\1/' else HOSTAPD_CONFIG_DISABLE += CONFIG_EAP_PWD diff --git a/bsp/buildroot/package/initscripts/init.d/S20urandom b/bsp/buildroot/package/initscripts/init.d/S20urandom old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/input-event-daemon/S99input-event-daemon b/bsp/buildroot/package/input-event-daemon/S99input-event-daemon old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/intel-gmmlib/Config.in b/bsp/buildroot/package/intel-gmmlib/Config.in index ef92a911..9d5fbd9c 100644 --- a/bsp/buildroot/package/intel-gmmlib/Config.in +++ b/bsp/buildroot/package/intel-gmmlib/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_INTEL_GMMLIB bool "intel-gmmlib" depends on BR2_x86_64 + depends on !BR2_STATIC_LIBS help The Intel(R) Graphics Memory Management Library provides device specific and buffer management for the Intel(R) @@ -8,3 +9,6 @@ config BR2_PACKAGE_INTEL_GMMLIB Media Driver for VAAPI. https://github.com/intel/gmmlib + +comment "intel-gmmlib needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/ipsec-tools/ipsec-tools.mk b/bsp/buildroot/package/ipsec-tools/ipsec-tools.mk index 86722725..7ac6b5cb 100644 --- a/bsp/buildroot/package/ipsec-tools/ipsec-tools.mk +++ b/bsp/buildroot/package/ipsec-tools/ipsec-tools.mk @@ -9,17 +9,14 @@ IPSEC_TOOLS_SOURCE = ipsec-tools-$(IPSEC_TOOLS_VERSION).tar.bz2 IPSEC_TOOLS_SITE = http://sourceforge.net/projects/ipsec-tools/files/ipsec-tools/$(IPSEC_TOOLS_VERSION) IPSEC_TOOLS_INSTALL_STAGING = YES IPSEC_TOOLS_MAKE = $(MAKE1) -IPSEC_TOOLS_DEPENDENCIES = openssl flex host-flex host-bison +IPSEC_TOOLS_DEPENDENCIES = openssl flex host-pkgconf host-flex host-bison # we patch configure.ac IPSEC_TOOLS_AUTORECONF = YES # configure hardcodes -Werror, so override CFLAGS on make invocation IPSEC_TOOLS_MAKE_OPTS = CFLAGS='$(TARGET_CFLAGS)' -# openssl uses zlib, so we need to explicitly link with it when static -ifeq ($(BR2_STATIC_LIBS),y) -IPSEC_TOOLS_CONF_ENV += LIBS=-lz -endif +IPSEC_TOOLS_CONF_ENV = LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` IPSEC_TOOLS_CONF_OPTS = \ --without-libpam \ diff --git a/bsp/buildroot/package/jq/jq.hash b/bsp/buildroot/package/jq/jq.hash index 2cd64056..449619b0 100644 --- a/bsp/buildroot/package/jq/jq.hash +++ b/bsp/buildroot/package/jq/jq.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 c4d2bfec6436341113419debf479d833692cc5cdab7eb0326b5a4d4fbe9f493c jq-1.5.tar.gz +sha256 5de8c8e29aaa3fb9cc6b47bb27299f271354ebb72514e3accadc7d38b5bbaa72 jq-1.6.tar.gz +sha256 111136aebcbfa68b6b0084e582b30e981da76adcff84eab6f9be32a1f38c5bf1 COPYING diff --git a/bsp/buildroot/package/jq/jq.mk b/bsp/buildroot/package/jq/jq.mk index 79629faa..aebe8c86 100644 --- a/bsp/buildroot/package/jq/jq.mk +++ b/bsp/buildroot/package/jq/jq.mk @@ -4,7 +4,7 @@ # ################################################################################ -JQ_VERSION = 1.5 +JQ_VERSION = 1.6 JQ_SITE = https://github.com/stedolan/jq/releases/download/jq-$(JQ_VERSION) JQ_LICENSE = MIT (code), CC-BY-3.0 (documentation) JQ_LICENSE_FILES = COPYING @@ -17,8 +17,8 @@ JQ_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -std=c99 -D_GNU_SOURCE" HOST_JQ_CONF_ENV += CFLAGS="$(HOST_CFLAGS) -std=c99 -D_GNU_SOURCE" # jq explicitly enables maintainer mode, which we don't need/want -JQ_CONF_OPTS += --disable-maintainer-mode -HOST_JQ_CONF_OPTS += --disable-maintainer-mode +JQ_CONF_OPTS += --disable-maintainer-mode --without-oniguruma +HOST_JQ_CONF_OPTS += --disable-maintainer-mode --without-oniguruma $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/kexec/Config.in b/bsp/buildroot/package/kexec/Config.in index c8cdea56..410e503d 100644 --- a/bsp/buildroot/package/kexec/Config.in +++ b/bsp/buildroot/package/kexec/Config.in @@ -2,7 +2,8 @@ config BR2_PACKAGE_KEXEC bool "kexec" depends on BR2_i386 || BR2_x86_64 || BR2_arm || BR2_armeb || \ BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el || \ - BR2_powerpc || BR2_sh4 || BR2_sh4a || BR2_aarch64 + BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \ + BR2_sh4 || BR2_sh4a || BR2_aarch64 help Kexec is a user space utility for loading another kernel and asking the currently running kernel to do something with diff --git a/bsp/buildroot/package/kexec/kexec.hash b/bsp/buildroot/package/kexec/kexec.hash index 24294909..f87692b6 100644 --- a/bsp/buildroot/package/kexec/kexec.hash +++ b/bsp/buildroot/package/kexec/kexec.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/linux/utils/kernel/kexec/sha256sums.asc -sha256 504c816b769da573167b63f3b6d4fce3740f231c98d8db0c4fda47a4b90482a9 kexec-tools-2.0.17.tar.xz +sha256 f020f07341977eb512663e301c2de60c6589e141467c16a8efd58243c0b2b238 kexec-tools-2.0.18.tar.xz # locally calculated sha256 fa5fc1d1eec39532ea517518eeefd7b6e3c14341a55e5880a0e2a49eee47a5b7 COPYING diff --git a/bsp/buildroot/package/kexec/kexec.mk b/bsp/buildroot/package/kexec/kexec.mk index b0f4367d..b011c0b4 100644 --- a/bsp/buildroot/package/kexec/kexec.mk +++ b/bsp/buildroot/package/kexec/kexec.mk @@ -4,7 +4,7 @@ # ################################################################################ -KEXEC_VERSION = 2.0.17 +KEXEC_VERSION = 2.0.18 KEXEC_SOURCE = kexec-tools-$(KEXEC_VERSION).tar.xz KEXEC_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kexec KEXEC_LICENSE = GPL-2.0 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 9bbeeaa7..20fbc102 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 @@ -13,4 +13,9 @@ KF5_MODEMMANAGER_QT_LICENSE_FILE = COPYING.LIB KF5_MODEMMANAGER_QT_DEPENDENCIES = kf5-extra-cmake-modules modem-manager qt5base KF5_MODEMMANAGER_QT_INSTALL_STAGING = YES +# Uses __atomic_fetch_add_4 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +KF5_MODEMMANAGER_QT_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -latomic" +endif + $(eval $(cmake-package)) diff --git a/bsp/buildroot/package/leveldb/0003-Generate-position-independant-code-for-static-librar.patch b/bsp/buildroot/package/leveldb/0003-Generate-position-independant-code-for-static-librar.patch new file mode 100644 index 00000000..dce06ec7 --- /dev/null +++ b/bsp/buildroot/package/leveldb/0003-Generate-position-independant-code-for-static-librar.patch @@ -0,0 +1,52 @@ +From 6ed1b57ef6bcee0d497c181730710b2b0fafbfb3 Mon Sep 17 00:00:00 2001 +From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= +Date: Fri, 31 Aug 2018 12:23:46 -0400 +Subject: [PATCH] Generate position independant code for static library +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit + +Currently, only shared libraries are using the PIC flag. + +Generalize this flag for static libraries in order to let them linkable +by dynamic libraries. + +Fixes: + + /home/gportay/src/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-amd-linux-gnu/6.2.0/../../../../x86_64-amd-linux-gnu/bin/ld: /home/gportay/src/buildroot/output/host/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libmemenv.a(memenv.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC + /home/gportay/src/buildroot/output/host/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libmemenv.a: error adding symbols: Bad value + collect2: error: ld returned 1 exit status + +Upstream-Status: Inappropriate [upstream has migrated to cmake] +Signed-off-by: Gaël PORTAY +--- + build_detect_platform | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/build_detect_platform b/build_detect_platform +index d2a20ce..4839444 100755 +--- a/build_detect_platform ++++ b/build_detect_platform +@@ -55,8 +55,8 @@ fi + + COMMON_FLAGS= + CROSS_COMPILE= +-PLATFORM_CCFLAGS= +-PLATFORM_CXXFLAGS= ++PLATFORM_CCFLAGS="-fPIC" ++PLATFORM_CXXFLAGS="-fPIC" + PLATFORM_LDFLAGS= + PLATFORM_LIBS= + PLATFORM_SHARED_EXT="so" +@@ -197,7 +197,7 @@ else + EOF + if [ "$?" = 0 ]; then + COMMON_FLAGS="$COMMON_FLAGS -DLEVELDB_PLATFORM_POSIX -DLEVELDB_ATOMIC_PRESENT" +- PLATFORM_CXXFLAGS="-std=c++0x" ++ PLATFORM_CXXFLAGS="$PLATFORM_CXXFLAGS -std=c++0x" + else + COMMON_FLAGS="$COMMON_FLAGS -DLEVELDB_PLATFORM_POSIX" + fi +-- +2.18.0 + diff --git a/bsp/buildroot/package/leveldb/leveldb.mk b/bsp/buildroot/package/leveldb/leveldb.mk index af9e8798..6078cd49 100644 --- a/bsp/buildroot/package/leveldb/leveldb.mk +++ b/bsp/buildroot/package/leveldb/leveldb.mk @@ -25,6 +25,8 @@ define LEVELDB_INSTALL_STAGING_CMDS $(TARGET_MAKE_ENV) $(MAKE1) \ INSTALL_ROOT=$(STAGING_DIR) INSTALL_PREFIX=/usr \ $(LEVELDB_MAKE_ARGS) -C $(@D) install + $(INSTALL) -D -m 0644 $(@D)/out-static/libmemenv.a $(STAGING_DIR)/usr/lib/libmemenv.a + $(INSTALL) -D -m 0644 $(@D)/helpers/memenv/memenv.h $(STAGING_DIR)/usr/include/helpers/memenv/memenv.h endef define LEVELDB_INSTALL_TARGET_CMDS diff --git a/bsp/buildroot/package/libcurl/libcurl.hash b/bsp/buildroot/package/libcurl/libcurl.hash index b158600e..d321adcd 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.0.tar.xz.asc +# https://curl.haxx.se/download/curl-7.64.1.tar.xz.asc # with key 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 -sha256 2f2f13fa34d44aa29cb444077ad7dc4dc6d189584ad552e0aaeb06e608af6001 curl-7.64.0.tar.xz +sha256 9252332a7f871ce37bfa7f78bdd0a0e3924d8187cc27cb57c76c9474a7168fb3 curl-7.64.1.tar.xz sha256 8c8824f50e73a021f5dde1fccbf69685939247399a33a32abab1fa448c9ddabb COPYING diff --git a/bsp/buildroot/package/libcurl/libcurl.mk b/bsp/buildroot/package/libcurl/libcurl.mk index 509dbdb5..852054a4 100644 --- a/bsp/buildroot/package/libcurl/libcurl.mk +++ b/bsp/buildroot/package/libcurl/libcurl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCURL_VERSION = 7.64.0 +LIBCURL_VERSION = 7.64.1 LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.xz LIBCURL_SITE = https://curl.haxx.se/download LIBCURL_DEPENDENCIES = host-pkgconf \ diff --git a/bsp/buildroot/package/libdrm/Config.in b/bsp/buildroot/package/libdrm/Config.in index 581f9219..3cb0e02a 100644 --- a/bsp/buildroot/package/libdrm/Config.in +++ b/bsp/buildroot/package/libdrm/Config.in @@ -36,6 +36,7 @@ config BR2_PACKAGE_LIBDRM_RADEON config BR2_PACKAGE_LIBDRM_AMDGPU bool "amdgpu" + depends on BR2_USE_MMU # fork() depends on BR2_PACKAGE_LIBDRM_HAS_ATOMIC select BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC help diff --git a/bsp/buildroot/package/libfreefare/libfreefare.mk b/bsp/buildroot/package/libfreefare/libfreefare.mk index 13e6f2ad..16f15b34 100644 --- a/bsp/buildroot/package/libfreefare/libfreefare.mk +++ b/bsp/buildroot/package/libfreefare/libfreefare.mk @@ -9,13 +9,9 @@ LIBFREEFARE_SOURCE = libfreefare-$(LIBFREEFARE_VERSION).tar.bz2 # Do not use the github helper here, the generated tarball is *NOT* # the same as the one uploaded by upstream for the release. LIBFREEFARE_SITE = https://github.com/nfc-tools/libfreefare/releases/download/libfreefare-$(LIBFREEFARE_VERSION) -LIBFREEFARE_DEPENDENCIES = libnfc openssl +LIBFREEFARE_DEPENDENCIES = host-pkgconf libnfc openssl LIBFREEFARE_LICENSE = LGPL-3.0+ with exception LIBFREEFARE_LICENSE_FILES = COPYING - -ifeq ($(BR2_STATIC_LIBS),y) -# openssl needs zlib even if the libfreefare example itself doesn't -LIBFREEFARE_CONF_ENV += LIBS='-lz' -endif +LIBFREEFARE_CONF_ENV += LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/libftdi1/libftdi1.mk b/bsp/buildroot/package/libftdi1/libftdi1.mk index c45c83a7..014dd840 100644 --- a/bsp/buildroot/package/libftdi1/libftdi1.mk +++ b/bsp/buildroot/package/libftdi1/libftdi1.mk @@ -11,6 +11,7 @@ LIBFTDI1_INSTALL_STAGING = YES LIBFTDI1_DEPENDENCIES = libusb LIBFTDI1_LICENSE = LGPL-2.0 (libftdi1), GPL-2.0 with exception (ftdipp1) LIBFTDI1_LICENSE_FILES = LICENSE COPYING.GPL COPYING.LIB +LIBFTDI1_CONFIG_SCRIPTS = libftdi1-config LIBFTDI1_CONF_OPTS = -DDOCUMENTATION=OFF -DEXAMPLES=OFF ifeq ($(BR2_PACKAGE_LIBFTDI1_LIBFTDIPP1),y) diff --git a/bsp/buildroot/package/libfuse/libfuse.hash b/bsp/buildroot/package/libfuse/libfuse.hash index 3d1b9730..f5223259 100644 --- a/bsp/buildroot/package/libfuse/libfuse.hash +++ b/bsp/buildroot/package/libfuse/libfuse.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 5e84f81d8dd527ea74f39b6bc001c874c02bad6871d7a9b0c14efb57430eafe3 fuse-2.9.8.tar.gz +sha256 d0e69d5d608cc22ff4843791ad097f554dd32540ddc9bed7638cc6fea7c1b4b5 fuse-2.9.9.tar.gz # Hash for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/bsp/buildroot/package/libfuse/libfuse.mk b/bsp/buildroot/package/libfuse/libfuse.mk index e8a79a31..074dc598 100644 --- a/bsp/buildroot/package/libfuse/libfuse.mk +++ b/bsp/buildroot/package/libfuse/libfuse.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBFUSE_VERSION = 2.9.8 +LIBFUSE_VERSION = 2.9.9 LIBFUSE_SOURCE = fuse-$(LIBFUSE_VERSION).tar.gz LIBFUSE_SITE = https://github.com/libfuse/libfuse/releases/download/fuse-$(LIBFUSE_VERSION) LIBFUSE_LICENSE = GPL-2.0, LGPL-2.1 @@ -14,11 +14,29 @@ LIBFUSE_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) LIBFUSE_CONF_OPTS = \ --disable-example \ --enable-lib \ - --enable-util + --enable-util \ + UDEV_RULES_PATH=/lib/udev/rules.d + +ifeq ($(BR2_PACKAGE_HAS_UDEV),y) +define LIBFUSE_INSTALL_UDEV + mkdir -p $(TARGET_DIR)/lib/udev/rules.d + cp $(STAGING_DIR)/lib/udev/rules.d/*-fuse.rules $(TARGET_DIR)/lib/udev/rules.d +endef + +LIBFUSE_POST_INSTALL_TARGET_HOOKS += LIBFUSE_INSTALL_UDEV +endif define LIBFUSE_INSTALL_TARGET_CMDS cp -dpf $(STAGING_DIR)/usr/bin/fusermount $(TARGET_DIR)/usr/bin/ cp -dpf $(STAGING_DIR)/usr/lib/libfuse.so* $(TARGET_DIR)/usr/lib/ endef +define LIBFUSE_DEVICES + /dev/fuse c 666 0 0 10 229 0 0 - +endef + +define LIBFUSE_PERMISSIONS + /usr/bin/fusermount f 4755 0 0 - - - - - +endef + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/libglib2/libglib2.mk b/bsp/buildroot/package/libglib2/libglib2.mk index f602c371..44c05911 100644 --- a/bsp/buildroot/package/libglib2/libglib2.mk +++ b/bsp/buildroot/package/libglib2/libglib2.mk @@ -137,6 +137,13 @@ LIBGLIB2_CONF_OPTS += --with-libiconv=gnu LIBGLIB2_DEPENDENCIES += libiconv endif +ifeq ($(BR2_PACKAGE_LIBSELINUX),y) +LIBGLIB2_CONF_OPTS += --enable-selinux +LIBGLIB2_DEPENDENCIES += libselinux +else +LIBGLIB2_CONF_OPTS += --disable-selinux +endif + # Purge gdb-related files ifneq ($(BR2_PACKAGE_GDB),y) define LIBGLIB2_REMOVE_GDB_FILES diff --git a/bsp/buildroot/package/libiio/libiio.hash b/bsp/buildroot/package/libiio/libiio.hash index fbb4bccb..800b2ee8 100644 --- a/bsp/buildroot/package/libiio/libiio.hash +++ b/bsp/buildroot/package/libiio/libiio.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 12063db7a9366aa00bfd789db30afaddb29686bc29b3ce1e5d4adfe1c3b42527 libiio-0.14.tar.gz +sha256 a729f8ff48137ad271a3e2951f322b35c1bf2ec075b488d75c8bd071c693fd19 libiio-0.15.tar.gz sha256 102900208eef27b766380135906d431dba87edaa7ec6aa72e6ebd3dd67f3a97b COPYING.txt diff --git a/bsp/buildroot/package/libiio/libiio.mk b/bsp/buildroot/package/libiio/libiio.mk index d2376bca..2371a710 100644 --- a/bsp/buildroot/package/libiio/libiio.mk +++ b/bsp/buildroot/package/libiio/libiio.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBIIO_VERSION = 0.14 +LIBIIO_VERSION = 0.15 LIBIIO_SITE = $(call github,analogdevicesinc,libiio,v$(LIBIIO_VERSION)) LIBIIO_INSTALL_STAGING = YES LIBIIO_LICENSE = LGPL-2.1+ diff --git a/bsp/buildroot/package/libkrb5/libkrb5.mk b/bsp/buildroot/package/libkrb5/libkrb5.mk index 5ba0ab18..56345416 100644 --- a/bsp/buildroot/package/libkrb5/libkrb5.mk +++ b/bsp/buildroot/package/libkrb5/libkrb5.mk @@ -11,7 +11,7 @@ LIBKRB5_SOURCE = krb5-$(LIBKRB5_VERSION).tar.gz LIBKRB5_SUBDIR = src LIBKRB5_LICENSE = MIT LIBKRB5_LICENSE_FILES = NOTICE -LIBKRB5_DEPENDENCIES = host-bison +LIBKRB5_DEPENDENCIES = host-bison $(TARGET_NLS_DEPENDENCIES) LIBKRB5_INSTALL_STAGING = YES # The configure script uses AC_TRY_RUN tests to check for those values, @@ -20,7 +20,8 @@ LIBKRB5_INSTALL_STAGING = YES LIBKRB5_CONF_ENV = \ ac_cv_printf_positional=yes \ ac_cv_func_regcomp=yes \ - krb5_cv_attr_constructor_destructor=yes,yes + krb5_cv_attr_constructor_destructor=yes,yes \ + LIBS=$(TARGET_NLS_LIBS) # Never use the host packages LIBKRB5_CONF_OPTS = \ diff --git a/bsp/buildroot/package/libpcap/Config.in b/bsp/buildroot/package/libpcap/Config.in index 643acbef..74429f20 100644 --- a/bsp/buildroot/package/libpcap/Config.in +++ b/bsp/buildroot/package/libpcap/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_LIBPCAP bool "libpcap" + select BR2_PACKAGE_BLUEZ5_UTILS_HEADERS if BR2_PACKAGE_BLUEZ5_UTILS select BR2_PACKAGE_ZLIB help A system-independent library for user-level network packet diff --git a/bsp/buildroot/package/libpcap/libpcap.mk b/bsp/buildroot/package/libpcap/libpcap.mk index 12608722..ebceca52 100644 --- a/bsp/buildroot/package/libpcap/libpcap.mk +++ b/bsp/buildroot/package/libpcap/libpcap.mk @@ -16,6 +16,8 @@ LIBPCAP_CONF_ENV = \ CFLAGS="$(LIBPCAP_CFLAGS)" LIBPCAP_CFLAGS = $(TARGET_CFLAGS) LIBPCAP_CONF_OPTS = --disable-yydebug --with-pcap=linux --without-dag +# Disable dbus to break recursive dependencies +LIBPCAP_CONF_OPTS += --disable-dbus LIBPCAP_CONFIG_SCRIPTS = pcap-config # Omit -rpath from pcap-config output @@ -24,21 +26,12 @@ define LIBPCAP_CONFIG_REMOVE_RPATH endef LIBPCAP_POST_BUILD_HOOKS = LIBPCAP_CONFIG_REMOVE_RPATH -ifeq ($(BR2_PACKAGE_BLUEZ_UTILS),y) -LIBPCAP_DEPENDENCIES += bluez_utils -else ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS),y) -LIBPCAP_DEPENDENCIES += bluez5_utils +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_HEADERS),y) +LIBPCAP_DEPENDENCIES += bluez5_utils-headers else LIBPCAP_CONF_OPTS += --disable-bluetooth endif -ifeq ($(BR2_PACKAGE_DBUS),y) -LIBPCAP_CONF_OPTS += --enable-dbus -LIBPCAP_DEPENDENCIES += dbus -else -LIBPCAP_CONF_OPTS += --disable-dbus -endif - ifeq ($(BR2_PACKAGE_LIBNL),y) LIBPCAP_DEPENDENCIES += libnl LIBPCAP_CFLAGS += "-I$(STAGING_DIR)/usr/include/libnl3" diff --git a/bsp/buildroot/package/libpng/libpng.hash b/bsp/buildroot/package/libpng/libpng.hash index 066d2c3b..e86b8c65 100644 --- a/bsp/buildroot/package/libpng/libpng.hash +++ b/bsp/buildroot/package/libpng/libpng.hash @@ -1,6 +1,6 @@ -# From https://sourceforge.net/projects/libpng/files/libpng16/1.6.36/ -md5 df2be2d29c40937fe1f5349b16bc2826 libpng-1.6.36.tar.xz -sha1 aec9548c8319104226cc4c31d1f5e524f1b55295 libpng-1.6.36.tar.xz +# From https://sourceforge.net/projects/libpng/files/libpng16/1.6.37/ +md5 015e8e15db1eecde5f2eb9eb5b6e59e9 libpng-1.6.37.tar.xz +sha1 3ab93fabbf4c27e1c4724371df408d9a1bd3f656 libpng-1.6.37.tar.xz # Locally computed: -sha256 eceb924c1fa6b79172fdfd008d335f0e59172a86a66481e09d4089df872aa319 libpng-1.6.36.tar.xz -sha256 142da07fb4b0cceb861b2e69fe7e5b602f25ec7adc85b0a426133d9ee0d2e116 LICENSE +sha256 505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca libpng-1.6.37.tar.xz +sha256 bf5e22b9dce8464064ae17a48ea1133c3369ac9e1d80ef9e320e5219aa14ea9b LICENSE diff --git a/bsp/buildroot/package/libpng/libpng.mk b/bsp/buildroot/package/libpng/libpng.mk index f956f9ce..5c30a4f9 100644 --- a/bsp/buildroot/package/libpng/libpng.mk +++ b/bsp/buildroot/package/libpng/libpng.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBPNG_VERSION = 1.6.36 +LIBPNG_VERSION = 1.6.37 LIBPNG_SERIES = 16 LIBPNG_SOURCE = libpng-$(LIBPNG_VERSION).tar.xz LIBPNG_SITE = http://downloads.sourceforge.net/project/libpng/libpng$(LIBPNG_SERIES)/$(LIBPNG_VERSION) diff --git a/bsp/buildroot/package/libseccomp/0001-remove-static.patch b/bsp/buildroot/package/libseccomp/0001-remove-static.patch index 9f0ac210..60a1ff00 100644 --- a/bsp/buildroot/package/libseccomp/0001-remove-static.patch +++ b/bsp/buildroot/package/libseccomp/0001-remove-static.patch @@ -1,4 +1,4 @@ -From 8632287cf6863b580340f846ac14adf2609abdb0 Mon Sep 17 00:00:00 2001 +From 5d010fb06eae43b284e5ccc322f6de47eb42b751 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Sat, 2 Jun 2018 13:45:22 +0200 Subject: [PATCH] remove static @@ -14,16 +14,18 @@ and slighly updated to work with 2.3.3 Signed-off-by: Bernd Kuhls Signed-off-by: Fabrice Fontaine +[Peter: updated for v2.4.0 which adds scmp_api_level] +Signed-off-by: Peter Korsgaard --- - tools/Makefile.am | 2 -- - 1 file changed, 2 deletions(-) + tools/Makefile.am | 3 --- + 1 file changed, 3 deletions(-) diff --git a/tools/Makefile.am b/tools/Makefile.am -index 70b4aed..ef74270 100644 +index f768365..5f9d571 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am -@@ -35,8 +35,6 @@ scmp_bpf_disasm_SOURCES = scmp_bpf_disasm.c bpf.h util.h - scmp_bpf_sim_SOURCES = scmp_bpf_sim.c bpf.h util.h +@@ -37,10 +37,7 @@ scmp_bpf_sim_SOURCES = scmp_bpf_sim.c bpf.h util.h + scmp_api_level_SOURCES = scmp_api_level.c scmp_sys_resolver_LDADD = ../src/libseccomp.la -scmp_sys_resolver_LDFLAGS = -static @@ -31,6 +33,8 @@ index 70b4aed..ef74270 100644 -scmp_arch_detect_LDFLAGS = -static scmp_bpf_disasm_LDADD = util.la scmp_bpf_sim_LDADD = util.la + scmp_api_level_LDADD = ../src/libseccomp.la +-scmp_api_level_LDFLAGS = -static -- -2.14.1 +2.11.0 diff --git a/bsp/buildroot/package/libseccomp/libseccomp.hash b/bsp/buildroot/package/libseccomp/libseccomp.hash index 0362ce9b..0823903c 100644 --- a/bsp/buildroot/package/libseccomp/libseccomp.hash +++ b/bsp/buildroot/package/libseccomp/libseccomp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 5a52495207f00d1254707f11226e17c16ec53f5038d65bbabf1892873fa2fe5b libseccomp-v2.3.3.tar.gz +sha256 b7ee0299157fb7a6a81c99f2e0d7e64429b7d7c0eae43c3a6ef91e87eeed2868 libseccomp-v2.4.0.tar.gz sha256 102900208eef27b766380135906d431dba87edaa7ec6aa72e6ebd3dd67f3a97b LICENSE diff --git a/bsp/buildroot/package/libseccomp/libseccomp.mk b/bsp/buildroot/package/libseccomp/libseccomp.mk index afa2d361..90b981f0 100644 --- a/bsp/buildroot/package/libseccomp/libseccomp.mk +++ b/bsp/buildroot/package/libseccomp/libseccomp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSECCOMP_VERSION = v2.3.3 +LIBSECCOMP_VERSION = v2.4.0 LIBSECCOMP_SITE = $(call github,seccomp,libseccomp,$(LIBSECCOMP_VERSION)) LIBSECCOMP_LICENSE = LGPL-2.1 LIBSECCOMP_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/libssh2/0003-openssl-fix-dereferencing-ambiguity-potentially-caus.patch b/bsp/buildroot/package/libssh2/0003-openssl-fix-dereferencing-ambiguity-potentially-caus.patch deleted file mode 100644 index 44eed2ba..00000000 --- a/bsp/buildroot/package/libssh2/0003-openssl-fix-dereferencing-ambiguity-potentially-caus.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 28fe5e4de437f8fce6e428b7db9bc8640cda4c61 Mon Sep 17 00:00:00 2001 -From: Giulio Benetti -Date: Thu, 13 Sep 2018 09:51:35 +0200 -Subject: [PATCH] openssl: fix dereferencing ambiguity potentially causing - build failure -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -When dereferencing from *aes_ctr_cipher, being a pointer itself, -ambiguity can occur with compiler and build can fail reporting: -openssl.c:574:20: error: ‘*aes_ctr_cipher’ is a pointer; did you mean to use ‘->’? - *aes_ctr_cipher->nid = type; - -Sorround every *aes_ctr_cipher-> occurence with paranthesis like this -(*aes_ctr_cipher)-> - -Signed-off-by: Giulio Benetti -Upstream: https://github.com/libssh2/libssh2/commit/b5b6673c2823a18753a14571a6c01bde33fa3a8b ---- - src/openssl.c | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/src/openssl.c b/src/openssl.c -index 678d5de..c26aaec 100644 ---- a/src/openssl.c -+++ b/src/openssl.c -@@ -571,13 +571,13 @@ make_ctr_evp (size_t keylen, EVP_CIPHER **aes_ctr_cipher, int type) - EVP_CIPHER_meth_set_cleanup(*aes_ctr_cipher, aes_ctr_cleanup); - } - #else -- *aes_ctr_cipher->nid = type; -- *aes_ctr_cipher->block_size = 16; -- *aes_ctr_cipher->key_len = keylen; -- *aes_ctr_cipher->iv_len = 16; -- *aes_ctr_cipher->init = aes_ctr_init; -- *aes_ctr_cipher->do_cipher = aes_ctr_do_cipher; -- *aes_ctr_cipher->cleanup = aes_ctr_cleanup; -+ (*aes_ctr_cipher)->nid = type; -+ (*aes_ctr_cipher)->block_size = 16; -+ (*aes_ctr_cipher)->key_len = keylen; -+ (*aes_ctr_cipher)->iv_len = 16; -+ (*aes_ctr_cipher)->init = aes_ctr_init; -+ (*aes_ctr_cipher)->do_cipher = aes_ctr_do_cipher; -+ (*aes_ctr_cipher)->cleanup = aes_ctr_cleanup; - #endif - - return *aes_ctr_cipher; --- -2.17.1 - diff --git a/bsp/buildroot/package/libssh2/libssh2.hash b/bsp/buildroot/package/libssh2/libssh2.hash index d57c8d70..c4732a2c 100644 --- a/bsp/buildroot/package/libssh2/libssh2.hash +++ b/bsp/buildroot/package/libssh2/libssh2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ec2b32b44ae5f8fe094f663f63953fb31314de838eb36e8c47e5a89137b5a1bc libssh2-8b870ad771cbd9cd29edbb3dbb0878e950f868ab.tar.gz +sha256 468e7a81a8121c06cb099eef2e17106b0b8c2e1d890b1c0e34e1951f182babb1 libssh2-1b3cbaff518f32e5b70650d4b7b52361b1410d37.tar.gz sha256 e15ed284a15e80115467d6d7f030f0d89d8fabbecd78fb6e0f861f0cfc128fd9 COPYING diff --git a/bsp/buildroot/package/libssh2/libssh2.mk b/bsp/buildroot/package/libssh2/libssh2.mk index 89cb7332..ed0dd40b 100644 --- a/bsp/buildroot/package/libssh2/libssh2.mk +++ b/bsp/buildroot/package/libssh2/libssh2.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSSH2_VERSION = 8b870ad771cbd9cd29edbb3dbb0878e950f868ab +LIBSSH2_VERSION = 1b3cbaff518f32e5b70650d4b7b52361b1410d37 LIBSSH2_SITE = $(call github,libssh2,libssh2,$(LIBSSH2_VERSION)) LIBSSH2_LICENSE = BSD LIBSSH2_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/libxml2/libxml2.mk b/bsp/buildroot/package/libxml2/libxml2.mk index 3b3714ff..f4b4de09 100644 --- a/bsp/buildroot/package/libxml2/libxml2.mk +++ b/bsp/buildroot/package/libxml2/libxml2.mk @@ -5,7 +5,7 @@ ################################################################################ LIBXML2_VERSION = 2.9.9 -LIBXML2_SITE = ftp://xmlsoft.org/libxml2 +LIBXML2_SITE = http://xmlsoft.org/sources LIBXML2_INSTALL_STAGING = YES LIBXML2_LICENSE = MIT LIBXML2_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/libxslt/0001-Fix-security-framework-bypass.patch b/bsp/buildroot/package/libxslt/0001-Fix-security-framework-bypass.patch new file mode 100644 index 00000000..16700362 --- /dev/null +++ b/bsp/buildroot/package/libxslt/0001-Fix-security-framework-bypass.patch @@ -0,0 +1,122 @@ +From e03553605b45c88f0b4b2980adfbbb8f6fca2fd6 Mon Sep 17 00:00:00 2001 +From: Nick Wellnhofer +Date: Sun, 24 Mar 2019 09:51:39 +0100 +Subject: [PATCH] Fix security framework bypass + +xsltCheckRead and xsltCheckWrite return -1 in case of error but callers +don't check for this condition and allow access. With a specially +crafted URL, xsltCheckRead could be tricked into returning an error +because of a supposedly invalid URL that would still be loaded +succesfully later on. + +Fixes #12. + +Thanks to Felix Wilhelm for the report. + +Signed-off-by: Peter Korsgaard +--- + libxslt/documents.c | 18 ++++++++++-------- + libxslt/imports.c | 9 +++++---- + libxslt/transform.c | 9 +++++---- + libxslt/xslt.c | 9 +++++---- + 4 files changed, 25 insertions(+), 20 deletions(-) + +diff --git a/libxslt/documents.c b/libxslt/documents.c +index 3f3a7312..4aad11bb 100644 +--- a/libxslt/documents.c ++++ b/libxslt/documents.c +@@ -296,10 +296,11 @@ xsltLoadDocument(xsltTransformContextPtr ctxt, const xmlChar *URI) { + int res; + + res = xsltCheckRead(ctxt->sec, ctxt, URI); +- if (res == 0) { +- xsltTransformError(ctxt, NULL, NULL, +- "xsltLoadDocument: read rights for %s denied\n", +- URI); ++ if (res <= 0) { ++ if (res == 0) ++ xsltTransformError(ctxt, NULL, NULL, ++ "xsltLoadDocument: read rights for %s denied\n", ++ URI); + return(NULL); + } + } +@@ -372,10 +373,11 @@ xsltLoadStyleDocument(xsltStylesheetPtr style, const xmlChar *URI) { + int res; + + res = xsltCheckRead(sec, NULL, URI); +- if (res == 0) { +- xsltTransformError(NULL, NULL, NULL, +- "xsltLoadStyleDocument: read rights for %s denied\n", +- URI); ++ if (res <= 0) { ++ if (res == 0) ++ xsltTransformError(NULL, NULL, NULL, ++ "xsltLoadStyleDocument: read rights for %s denied\n", ++ URI); + return(NULL); + } + } +diff --git a/libxslt/imports.c b/libxslt/imports.c +index 874870cc..3783b247 100644 +--- a/libxslt/imports.c ++++ b/libxslt/imports.c +@@ -130,10 +130,11 @@ xsltParseStylesheetImport(xsltStylesheetPtr style, xmlNodePtr cur) { + int secres; + + secres = xsltCheckRead(sec, NULL, URI); +- if (secres == 0) { +- xsltTransformError(NULL, NULL, NULL, +- "xsl:import: read rights for %s denied\n", +- URI); ++ if (secres <= 0) { ++ if (secres == 0) ++ xsltTransformError(NULL, NULL, NULL, ++ "xsl:import: read rights for %s denied\n", ++ URI); + goto error; + } + } +diff --git a/libxslt/transform.c b/libxslt/transform.c +index 13793914..0636dbd0 100644 +--- a/libxslt/transform.c ++++ b/libxslt/transform.c +@@ -3493,10 +3493,11 @@ xsltDocumentElem(xsltTransformContextPtr ctxt, xmlNodePtr node, + */ + if (ctxt->sec != NULL) { + ret = xsltCheckWrite(ctxt->sec, ctxt, filename); +- if (ret == 0) { +- xsltTransformError(ctxt, NULL, inst, +- "xsltDocumentElem: write rights for %s denied\n", +- filename); ++ if (ret <= 0) { ++ if (ret == 0) ++ xsltTransformError(ctxt, NULL, inst, ++ "xsltDocumentElem: write rights for %s denied\n", ++ filename); + xmlFree(URL); + xmlFree(filename); + return; +diff --git a/libxslt/xslt.c b/libxslt/xslt.c +index 780a5ad7..a234eb79 100644 +--- a/libxslt/xslt.c ++++ b/libxslt/xslt.c +@@ -6763,10 +6763,11 @@ xsltParseStylesheetFile(const xmlChar* filename) { + int res; + + res = xsltCheckRead(sec, NULL, filename); +- if (res == 0) { +- xsltTransformError(NULL, NULL, NULL, +- "xsltParseStylesheetFile: read rights for %s denied\n", +- filename); ++ if (res <= 0) { ++ if (res == 0) ++ xsltTransformError(NULL, NULL, NULL, ++ "xsltParseStylesheetFile: read rights for %s denied\n", ++ filename); + return(NULL); + } + } +-- +2.11.0 + diff --git a/bsp/buildroot/package/libxslt/libxslt.mk b/bsp/buildroot/package/libxslt/libxslt.mk index 5b1c0ae2..4632301b 100644 --- a/bsp/buildroot/package/libxslt/libxslt.mk +++ b/bsp/buildroot/package/libxslt/libxslt.mk @@ -5,7 +5,7 @@ ################################################################################ LIBXSLT_VERSION = 1.1.32 -LIBXSLT_SITE = ftp://xmlsoft.org/libxslt +LIBXSLT_SITE = http://xmlsoft.org/sources LIBXSLT_INSTALL_STAGING = YES LIBXSLT_LICENSE = MIT LIBXSLT_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/linknx/linknx.hash b/bsp/buildroot/package/linknx/linknx.hash index 40e26766..312e43bf 100644 --- a/bsp/buildroot/package/linknx/linknx.hash +++ b/bsp/buildroot/package/linknx/linknx.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 635b8fbd3477fd7d85a95955b93f327cd5a389db80dc18cdae04de19a3a8a972 linknx-0.0.1.33.tar.gz +sha256 c03cea027b4b40e4402fabd08557736727ec3d5bc54ad64ab6472de432198cad LICENSE diff --git a/bsp/buildroot/package/linknx/linknx.mk b/bsp/buildroot/package/linknx/linknx.mk index dfabef55..5801eb5f 100644 --- a/bsp/buildroot/package/linknx/linknx.mk +++ b/bsp/buildroot/package/linknx/linknx.mk @@ -7,6 +7,7 @@ LINKNX_VERSION = 0.0.1.33 LINKNX_SITE = $(call github,linknx,linknx,$(LINKNX_VERSION)) LINKNX_LICENSE = GPL-2.0+ +LINKNX_LICENSE_FILES = LICENSE LINKNX_INSTALL_STAGING = YES LINKNX_CONF_OPTS = \ --without-log4cpp \ diff --git a/bsp/buildroot/package/linux-firmware/Config.in b/bsp/buildroot/package/linux-firmware/Config.in index eaf68de8..6b182dc6 100644 --- a/bsp/buildroot/package/linux-firmware/Config.in +++ b/bsp/buildroot/package/linux-firmware/Config.in @@ -59,6 +59,11 @@ config BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT help Firmware files for QCA Rome 6174A bluetooth support. +config BR2_PACKAGE_LINUX_FIRMWARE_TI_CC2560 + bool "TI CC2560" + help + Firmware files for Bluetooth modules CC2560 and CC2560A + endmenu # Bluetooth menu "WiFi firmware" @@ -282,11 +287,6 @@ config BR2_PACKAGE_LINUX_FIRMWARE_REDPINE_RS9113 help Firmware files for WLAN and Bluetooth modules rs9113 -config BR2_PACKAGE_LINUX_FIRMWARE_TI_CC2560 - bool "TI CC2560" - help - Firmware files for Bluetooth modules CC2560 and CC2560A - config BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X bool "TI wl127x" help diff --git a/bsp/buildroot/package/linux-headers/Config.in.host b/bsp/buildroot/package/linux-headers/Config.in.host index 15574689..ff3d464f 100644 --- a/bsp/buildroot/package/linux-headers/Config.in.host +++ b/bsp/buildroot/package/linux-headers/Config.in.host @@ -287,11 +287,11 @@ endchoice config BR2_DEFAULT_KERNEL_HEADERS string - default "4.4.176" if BR2_KERNEL_HEADERS_4_4 - default "4.9.160" if BR2_KERNEL_HEADERS_4_9 - default "4.14.103" if BR2_KERNEL_HEADERS_4_14 - default "4.19.25" if BR2_KERNEL_HEADERS_4_19 - default "4.20.12" if BR2_KERNEL_HEADERS_4_20 + default "4.4.178" if BR2_KERNEL_HEADERS_4_4 + default "4.9.170" if BR2_KERNEL_HEADERS_4_9 + default "4.14.113" if BR2_KERNEL_HEADERS_4_14 + default "4.19.36" if BR2_KERNEL_HEADERS_4_19 + default "4.20.17" if BR2_KERNEL_HEADERS_4_20 default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION default "custom" if BR2_KERNEL_HEADERS_CUSTOM_TARBALL default BR2_KERNEL_HEADERS_CUSTOM_REPO_VERSION \ diff --git a/bsp/buildroot/package/linux-headers/linux-headers.mk b/bsp/buildroot/package/linux-headers/linux-headers.mk index 45e17688..95432ade 100644 --- a/bsp/buildroot/package/linux-headers/linux-headers.mk +++ b/bsp/buildroot/package/linux-headers/linux-headers.mk @@ -27,42 +27,34 @@ LINUX_HEADERS_CUSTOM_TARBALL_LOCATION = $(call qstrip,$(BR2_KERNEL_HEADERS_CUSTO LINUX_HEADERS_REPO_URL = $(call qstrip,$(BR2_KERNEL_HEADERS_CUSTOM_REPO_URL)) endif # BR2_KERNEL_HEADERS_AS_KERNEL -# Configure tarball filenames. +# Compute LINUX_HEADERS_SOURCE and LINUX_HEADERS_SITE from the configuration ifeq ($(LINUX_HEADERS_CUSTOM_TARBALL),y) LINUX_HEADERS_SOURCE = $(notdir $(LINUX_HEADERS_CUSTOM_TARBALL_LOCATION)) -else ifeq ($(LINUX_HEADERS_CUSTOM_GIT)$(LINUX_HEADERS_CUSTOM_HG)$(LINUX_HEADERS_CUSTOM_SVN),y) -LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.gz -else -LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.xz -endif - -# Configure the various kernel source locations. -ifeq ($(LINUX_HEADERS_CUSTOM_TARBALL),y) LINUX_HEADERS_SITE = $(patsubst %/,%,$(dir $(LINUX_HEADERS_CUSTOM_TARBALL_LOCATION))) else ifeq ($(LINUX_HEADERS_CUSTOM_GIT),y) +LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.gz LINUX_HEADERS_SITE = $(LINUX_HEADERS_REPO_URL) LINUX_HEADERS_SITE_METHOD = git else ifeq ($(LINUX_HEADERS_CUSTOM_HG),y) +LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.gz LINUX_HEADERS_SITE = $(LINUX_HEADERS_REPO_URL) LINUX_HEADERS_SITE_METHOD = hg else ifeq ($(LINUX_HEADERS_CUSTOM_SVN),y) +LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.gz LINUX_HEADERS_SITE = $(LINUX_HEADERS_REPO_URL) LINUX_HEADERS_SITE_METHOD = svn +else ifneq ($(findstring -rc,$(LINUX_HEADERS_VERSION)),) +# Since 4.12-rc1, -rc kernels are generated from cgit. This also works for +# older -rc kernels. +LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.gz +LINUX_HEADERS_SITE = https://git.kernel.org/torvalds/t else -# In X.Y.Z, get X and Y. We replace dots and dashes by spaces in order -# to use the $(word) function. We support versions such as 4.0, 3.1, -# 2.6.32, 2.6.32-rc1, 3.0-rc6, etc. +LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.xz ifeq ($(findstring x2.6.,x$(LINUX_HEADERS_VERSION)),x2.6.) LINUX_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v2.6 -else ifeq ($(findstring x3.,x$(LINUX_HEADERS_VERSION)),x3.) -LINUX_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v3.x -else ifeq ($(findstring x4.,x$(LINUX_HEADERS_VERSION)),x4.) -LINUX_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v4.x +else +LINUX_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v$(firstword $(subst ., ,$(LINUX_HEADERS_VERSION))).x endif # x2.6 -# release candidates are in testing/ subdir -ifneq ($(findstring -rc,$(LINUX_HEADERS_VERSION)),) -LINUX_HEADERS_SITE := $(LINUX_HEADERS_SITE)/testing -endif # -rc endif # LINUX_HEADERS_CUSTOM_TARBALL # Apply any necessary patches if we are using the headers from a kernel diff --git a/bsp/buildroot/package/linux-tools/Config.in b/bsp/buildroot/package/linux-tools/Config.in index f4199fd6..1c660f76 100644 --- a/bsp/buildroot/package/linux-tools/Config.in +++ b/bsp/buildroot/package/linux-tools/Config.in @@ -45,6 +45,7 @@ config BR2_PACKAGE_LINUX_TOOLS_PCI config BR2_PACKAGE_LINUX_TOOLS_PERF bool "perf" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 select BR2_PACKAGE_LINUX_TOOLS help perf (sometimes "Perf Events" or perf tools, originally @@ -83,8 +84,14 @@ config BR2_PACKAGE_LINUX_TOOLS_SELFTESTS depends on BR2_USE_MMU # bash select BR2_PACKAGE_LINUX_TOOLS select BR2_PACKAGE_BASH # runtime + select BR2_PACKAGE_NCURSES + select BR2_PACKAGE_NCURSES_TARGET_PROGS # runtime (tput) + select BR2_PACKAGE_KMOD + select BR2_PACKAGE_KMOD_TOOLS # runtime (modprobe -n) select BR2_PACKAGE_POPT select BR2_PACKAGE_LIBCAP_NG + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS # runtime (taskset) help Build and install (to /usr/lib/kselftests) kernel selftests. diff --git a/bsp/buildroot/package/live555/live555.hash b/bsp/buildroot/package/live555/live555.hash index 024dcac1..f8e5b5e6 100644 --- a/bsp/buildroot/package/live555/live555.hash +++ b/bsp/buildroot/package/live555/live555.hash @@ -1,5 +1,3 @@ -# From http://live555.com/liveMedia/public/live555-latest-md5.txt -md5 3383dea853735b7a73eda6ddb52b6372 live.2018.10.17.tar.gz # Locally generated -sha256 7c68d9c95b39acd309a2b6a4fc14c3837544a9be3f64062ed38d1ad6f68dc9e8 live.2018.10.17.tar.gz +sha256 0bd0c26d980425d9a419d835193e292a08a968f175da1902da4b495f126d5abd live.2019.03.06.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/bsp/buildroot/package/live555/live555.mk b/bsp/buildroot/package/live555/live555.mk index 6a6d3536..250eea23 100644 --- a/bsp/buildroot/package/live555/live555.mk +++ b/bsp/buildroot/package/live555/live555.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIVE555_VERSION = 2018.10.17 +LIVE555_VERSION = 2019.03.06 LIVE555_SOURCE = live.$(LIVE555_VERSION).tar.gz -LIVE555_SITE = http://www.live555.com/liveMedia/public +LIVE555_SITE = http://www.live555.com LIVE555_LICENSE = LGPL-2.1+ LIVE555_LICENSE_FILES = COPYING LIVE555_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/lldpd/lldpd.hash b/bsp/buildroot/package/lldpd/lldpd.hash index 17851977..1c0e3809 100644 --- a/bsp/buildroot/package/lldpd/lldpd.hash +++ b/bsp/buildroot/package/lldpd/lldpd.hash @@ -1,2 +1,3 @@ # Locally computed sha256 450b622aac7ae1758f1ef82f3b7b94ec47f2ff33abfb0e6ac82555b9ee55f151 lldpd-1.0.1.tar.gz +sha256 0e96a5aea65f16e2239231ce4ab90497f8bc3bb8fe6abe9299aade4726ff7c8d LICENSE diff --git a/bsp/buildroot/package/lldpd/lldpd.mk b/bsp/buildroot/package/lldpd/lldpd.mk index 6a520448..506b6f13 100644 --- a/bsp/buildroot/package/lldpd/lldpd.mk +++ b/bsp/buildroot/package/lldpd/lldpd.mk @@ -8,7 +8,7 @@ LLDPD_VERSION = 1.0.1 LLDPD_SITE = http://media.luffy.cx/files/lldpd LLDPD_DEPENDENCIES = host-pkgconf libevent LLDPD_LICENSE = ISC -LLDPD_LICENSE_FILES = README.md +LLDPD_LICENSE_FILES = LICENSE # 0002-configure-do-not-check-for-libbsd.patch / 0003-configure-remove-check-on-CXX-compiler.patch LLDPD_AUTORECONF = YES @@ -31,7 +31,6 @@ LLDPD_CONF_OPTS = \ --without-embedded-libevent \ --without-snmp \ --without-xml \ - --without-json \ --without-seccomp \ --without-libbsd \ --disable-hardening \ diff --git a/bsp/buildroot/package/log4cplus/log4cplus.mk b/bsp/buildroot/package/log4cplus/log4cplus.mk index 0bc4fc9a..82fc7135 100644 --- a/bsp/buildroot/package/log4cplus/log4cplus.mk +++ b/bsp/buildroot/package/log4cplus/log4cplus.mk @@ -11,6 +11,13 @@ LOG4CPLUS_LICENSE = Apache-2.0, BSD-2-Clause, BSD-like (threadpool) LOG4CPLUS_LICENSE_FILES = LICENSE LOG4CPLUS_INSTALL_STAGING = YES +ifeq ($(BR2_PACKAGE_QT5BASE),y) +LOG4CPLUS_DEPENDENCIES += host-pkgconf qt5base +LOG4CPLUS_CONF_OPTS += --with-qt5 +else +LOG4CPLUS_CONF_OPTS += --without-qt5 +endif + ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) LOG4CPLUS_CONF_ENV += LIBS='-latomic' endif diff --git a/bsp/buildroot/package/lrzsz/lrzsz.mk b/bsp/buildroot/package/lrzsz/lrzsz.mk index 25ecf3de..6c682328 100644 --- a/bsp/buildroot/package/lrzsz/lrzsz.mk +++ b/bsp/buildroot/package/lrzsz/lrzsz.mk @@ -9,6 +9,8 @@ LRZSZ_SITE = http://www.ohse.de/uwe/releases LRZSZ_CONF_OPTS = --disable-timesync LRZSZ_LICENSE = GPL-2.0+ LRZSZ_LICENSE_FILES = COPYING +LRZSZ_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) +LRZSZ_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) define LRZSZ_POST_CONFIGURE_HOOKS $(SED) "s/-lnsl//;" $(@D)/src/Makefile diff --git a/bsp/buildroot/package/lvm2/lvm2.hash b/bsp/buildroot/package/lvm2/lvm2.hash index 697a4139..ad0d93b1 100644 --- a/bsp/buildroot/package/lvm2/lvm2.hash +++ b/bsp/buildroot/package/lvm2/lvm2.hash @@ -1,5 +1,5 @@ # From ftp://sources.redhat.com/pub/lvm2/sha512.sum -sha512 6e0a10ab48be4f0c751447c6ab88b8f9fa1dcd1d703de77966e8507b173df70b1987fa0be252c31dfce9e0ee70e5f439db58c8f534e24144a70f254c091554ee LVM2.2.02.180.tgz +sha512 3947523c6b0862ada40677ed171ed0cf95e070119e377296fc5ccb153e9c4212d34c0b16a887dbd68ccf265525345dabfed2aa59fb3604555429a7e2ecfff4d7 LVM2.2.02.183.tgz # Locally computed sha256 checksums sha256 e76fbcd2fb97cf202da330301327754d2db5c58b5b4bebd3a8a749393e7603d1 COPYING sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING.LIB diff --git a/bsp/buildroot/package/lvm2/lvm2.mk b/bsp/buildroot/package/lvm2/lvm2.mk index 152381d6..7fdb9a7e 100644 --- a/bsp/buildroot/package/lvm2/lvm2.mk +++ b/bsp/buildroot/package/lvm2/lvm2.mk @@ -4,7 +4,7 @@ # ################################################################################ -LVM2_VERSION = 2.02.180 +LVM2_VERSION = 2.02.183 LVM2_SOURCE = LVM2.$(LVM2_VERSION).tgz LVM2_SITE = ftp://sources.redhat.com/pub/lvm2 LVM2_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/lynx/lynx.mk b/bsp/buildroot/package/lynx/lynx.mk index 174d741d..3ac5b4ca 100644 --- a/bsp/buildroot/package/lynx/lynx.mk +++ b/bsp/buildroot/package/lynx/lynx.mk @@ -21,8 +21,9 @@ LYNX_CONF_OPTS += --with-screen=slang endif ifeq ($(BR2_PACKAGE_OPENSSL),y) -LYNX_DEPENDENCIES += openssl -LYNX_CONF_OPTS += --with-ssl +LYNX_DEPENDENCIES += host-pkgconf openssl +LYNX_CONF_OPTS += --with-ssl=$(STAGING_DIR)/usr +LYNX_CONF_ENV = LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` else ifeq ($(BR2_PACKAGE_GNUTLS),y) LYNX_DEPENDENCIES += gnutls LYNX_CONF_OPTS += --with-gnutls diff --git a/bsp/buildroot/package/madplay/0004-configure-ac-call-AM_MKINSTALLDIRS.patch b/bsp/buildroot/package/madplay/0004-configure-ac-call-AM_MKINSTALLDIRS.patch new file mode 100644 index 00000000..7d3fb8dd --- /dev/null +++ b/bsp/buildroot/package/madplay/0004-configure-ac-call-AM_MKINSTALLDIRS.patch @@ -0,0 +1,23 @@ +configure.ac: call AM_MKINSTALLDIRS to substitute @MKINSTALLDIRS@ + +MKINSTALLDIRS is obsolete and doesn't get automatically called. + +Force call AM_MKINSTALLDIRS() macro to substitute every @MKINSTALLDIRS@ +occurence in *.in files. + +Signed-off-by: Giulio Benetti + +diff -urpN madplay-0.15.2b.orig/configure.ac madplay-0.15.2b/configure.ac +--- madplay-0.15.2b.orig/configure.ac 2019-04-16 12:06:03.781018755 +0200 ++++ madplay-0.15.2b/configure.ac 2019-04-16 12:07:48.399162610 +0200 +@@ -146,6 +146,10 @@ ALL_LINGUAS="en es fr hr no" + AM_GNU_GETTEXT([use-libtool]) + AM_GNU_GETTEXT_VERSION(0.14.1) + ++dnl Substitute MKINSTALLDIRS ++ ++AM_MKINSTALLDIRS() ++ + dnl Checks for header files. + + AC_HEADER_STDC diff --git a/bsp/buildroot/package/make/0001-glob-Do-not-assume-glibc-glob-internals.patch b/bsp/buildroot/package/make/0001-glob-Do-not-assume-glibc-glob-internals.patch new file mode 100644 index 00000000..33ded3c5 --- /dev/null +++ b/bsp/buildroot/package/make/0001-glob-Do-not-assume-glibc-glob-internals.patch @@ -0,0 +1,70 @@ +From 193f1e81edd6b1b56b0eb0ff8aa4b41c7b4257b4 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Sun, 24 Sep 2017 09:12:58 -0400 +Subject: [PATCH] glob: Do not assume glibc glob internals. + +It has been proposed that glibc glob start using gl_lstat, +which the API allows it to do. GNU 'make' should not get in +the way of this. See: +https://sourceware.org/ml/libc-alpha/2017-09/msg00409.html + +* dir.c (local_lstat): New function, like local_stat. +(dir_setup_glob): Use it to initialize gl_lstat too, as the API +requires. + +Signed-off-by: Samuel Mendoza-Jonas +(from upstream commit 193f1e81edd6b1b56b0eb0ff8aa4b41c7b4257b4) +--- + dir.c | 29 +++++++++++++++++++++++++++-- + 1 file changed, 27 insertions(+), 2 deletions(-) + +diff --git a/dir.c b/dir.c +index adbb8a9..c343e4c 100644 +--- a/dir.c ++++ b/dir.c +@@ -1299,15 +1299,40 @@ local_stat (const char *path, struct stat *buf) + } + #endif + ++/* Similarly for lstat. */ ++#if !defined(lstat) && !defined(WINDOWS32) || defined(VMS) ++# ifndef VMS ++# ifndef HAVE_SYS_STAT_H ++int lstat (const char *path, struct stat *sbuf); ++# endif ++# else ++ /* We are done with the fake lstat. Go back to the real lstat */ ++# ifdef lstat ++# undef lstat ++# endif ++# endif ++# define local_lstat lstat ++#elif defined(WINDOWS32) ++/* Windows doesn't support lstat(). */ ++# define local_lstat local_stat ++#else ++static int ++local_lstat (const char *path, struct stat *buf) ++{ ++ int e; ++ EINTRLOOP (e, lstat (path, buf)); ++ return e; ++} ++#endif ++ + void + dir_setup_glob (glob_t *gl) + { + gl->gl_opendir = open_dirstream; + gl->gl_readdir = read_dirstream; + gl->gl_closedir = free; ++ gl->gl_lstat = local_lstat; + gl->gl_stat = local_stat; +- /* We don't bother setting gl_lstat, since glob never calls it. +- The slot is only there for compatibility with 4.4 BSD. */ + } + + void +-- +2.21.0 + diff --git a/bsp/buildroot/package/mariadb/mariadb.hash b/bsp/buildroot/package/mariadb/mariadb.hash index f68eb402..db24f7bb 100644 --- a/bsp/buildroot/package/mariadb/mariadb.hash +++ b/bsp/buildroot/package/mariadb/mariadb.hash @@ -1,9 +1,9 @@ -# From https://downloads.mariadb.org/mariadb/10.3.11 -md5 e13ab133060886cda814d68ebd1dc27b mariadb-10.3.11.tar.gz -sha1 7b75d7ec06642f26ce197e07f5ba16283061cc87 mariadb-10.3.11.tar.gz -sha256 211655b794c9d5397ba3be6c90737eac02e882f296268299239db47ba328f1b2 mariadb-10.3.11.tar.gz -sha512 1adc1f9bbabf848726c669a7a0ab01257ba31882758b53fbf3b1316f2295670dba1c3d1f3292d7c1a749c701504588694a55d020839e690595897b0e20435298 mariadb-10.3.11.tar.gz +# From https://downloads.mariadb.org/mariadb/10.3.13 +md5 603ce42e35b9a688f2cca05275acb5cb mariadb-10.3.13.tar.gz +sha1 08467885412184e99b835732913d445fd2c4b1b3 mariadb-10.3.13.tar.gz +sha256 b2aa857ef5b84f85a7ea60a1eac7b34c0ca5151c71a0d44ce2d7fb028d71459a mariadb-10.3.13.tar.gz +sha512 3cbd93291aa43b235e5b81d953ea69fb32df54fb518f922f69b5485952f01fae693c77b0efac37f414ed7ff132d3b58f899812bdb7be8a5b344c3640e2c3a0dd mariadb-10.3.13.tar.gz # Hash for license files -sha256 a298aaf95cb7e594d15b29ae6b5a9ee22a2be4344379fd29304df4e0f19f695a README.md +sha256 43f4b5b13cecbbdb04a180cbf6c2bd64237819d1a32165b7d475c1b392e6a8d1 README.md sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/bsp/buildroot/package/mariadb/mariadb.mk b/bsp/buildroot/package/mariadb/mariadb.mk index e1764920..356dd29a 100644 --- a/bsp/buildroot/package/mariadb/mariadb.mk +++ b/bsp/buildroot/package/mariadb/mariadb.mk @@ -4,7 +4,7 @@ # ################################################################################ -MARIADB_VERSION = 10.3.11 +MARIADB_VERSION = 10.3.13 MARIADB_SITE = https://downloads.mariadb.org/interstitial/mariadb-$(MARIADB_VERSION)/source MARIADB_LICENSE = GPL-2.0 (server), GPL-2.0 with FLOSS exception (GPL client library), LGPL-2.0 (LGPL client library) # Tarball no longer contains LGPL license text diff --git a/bsp/buildroot/package/mender/mender.service b/bsp/buildroot/package/mender/mender.service index 8b60a4f1..2a5f476e 100644 --- a/bsp/buildroot/package/mender/mender.service +++ b/bsp/buildroot/package/mender/mender.service @@ -12,7 +12,7 @@ if [ -L /var/lib/mender \ if rm -f /var/lib/mender >/dev/null 2>&1; then \ mkdir -p /var/lib/mender; \ else \ - echo "No persistent location to store mender data. Data will be lost\ + echo "No persistent location to store mender data. Data will be lost" \ echo "at reboot. Are you sure this is what you want to do?"; \ mkdir -p "$(readlink /var/lib/mender)"; \ fi; \ diff --git a/bsp/buildroot/package/mesa3d/Config.in b/bsp/buildroot/package/mesa3d/Config.in index 5019f268..fdd64b03 100644 --- a/bsp/buildroot/package/mesa3d/Config.in +++ b/bsp/buildroot/package/mesa3d/Config.in @@ -125,6 +125,7 @@ comment "R600 driver needs a uClibc or glibc toolchain when llvm is enabled" config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI bool "Gallium Radeon SI driver" + depends on BR2_USE_MMU # libdrm depends on BR2_i386 || BR2_x86_64 depends on BR2_PACKAGE_MESA3D_LLVM depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils @@ -141,6 +142,7 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI # Radeon SI needs libelf # musl is not currently compatible with elfutils comment "Radeon SI driver needs a uClibc or glibc toolchain" + depends on BR2_USE_MMU depends on BR2_PACKAGE_MESA3D_LLVM depends on !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) diff --git a/bsp/buildroot/package/minicom/0002-src-Makefile.am-fix-ascii-xfr-link-with-lintl.patch b/bsp/buildroot/package/minicom/0002-src-Makefile.am-fix-ascii-xfr-link-with-lintl.patch new file mode 100644 index 00000000..efc880d2 --- /dev/null +++ b/bsp/buildroot/package/minicom/0002-src-Makefile.am-fix-ascii-xfr-link-with-lintl.patch @@ -0,0 +1,44 @@ +From 6fe734c5a1d51e2d4a3c1cd4d7a61cc246faa3f2 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 20 Apr 2019 13:34:23 +0200 +Subject: [PATCH] src/Makefile.am: fix ascii-xfr link with lintl + +ascii-xfr needs to link with lintl if needed: + +/home/dawncrow/buildroot-test/scripts/instance-0/output/host/bin/m68k-linux-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -W -Wall -Wextra -std=gnu99 -Wno-format-truncation -o ascii-xfr ascii-xfr.o ../lib/libport.a -lncurses +ascii-xfr.o: In function `stats': +ascii-xfr.c:(.text+0x4c): undefined reference to `libintl_gettext' +ascii-xfr.c:(.text+0xb2): undefined reference to `libintl_gettext' +ascii-xfr.o: In function `usage': +ascii-xfr.c:(.text+0x10e): undefined reference to `libintl_gettext' +ascii-xfr.o: In function `asend': +ascii-xfr.c:(.text+0x534): undefined reference to `libintl_gettext' +ascii-xfr.o: In function `main': +ascii-xfr.c:(.text.startup+0xc8): undefined reference to `libintl_gettext' +ascii-xfr.o:ascii-xfr.c:(.text.startup+0x1a8): more undefined references to `libintl_gettext' follow + +Fixes: + - http://autobuild.buildroot.org/results/e64cdcf648764be53a3e951304bb89dc9410db23 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://salsa.debian.org/minicom-team/minicom/merge_requests/7] +--- + src/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/Makefile.am b/src/Makefile.am +index 19b1888..ba92f71 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -29,6 +29,7 @@ confdir = @MINICOM_CONFDIR@ + AM_CPPFLAGS = @CPPFLAGS@ -I$(top_srcdir)/lib -DCONFDIR=\"$(confdir)\" \ + -DLOCALEDIR=\"$(datadir)/locale\" + ++ascii_xfr_LDADD = @LIBINTL@ + minicom_LDADD = @LIBINTL@ $(LIBICONV) $(MINICOM_LIBPORT) $(LOCKDEV_LIBS) + minicom_keyserv_LDADD = @LIBINTL@ $(MINICOM_LIBPORT) + runscript_LDADD = @LIBINTL@ $(MINICOM_LIBPORT) +-- +2.20.1 + diff --git a/bsp/buildroot/package/mongodb/Config.in b/bsp/buildroot/package/mongodb/Config.in index 969b8e06..9c5dba83 100644 --- a/bsp/buildroot/package/mongodb/Config.in +++ b/bsp/buildroot/package/mongodb/Config.in @@ -3,11 +3,12 @@ config BR2_PACKAGE_MONGODB_ARCH_SUPPORTS bool # ARM needs LDREX/STREX, so ARMv6+ default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5 - default y if BR2_aarch64 || BR2_powerpc64 || BR2_x86_64 + default y if BR2_aarch64 || BR2_x86_64 config BR2_PACKAGE_MONGODB bool "mongodb" depends on BR2_PACKAGE_MONGODB_ARCH_SUPPORTS + depends on !BR2_PACKAGE_PYTHON3 depends on BR2_TOOLCHAIN_USES_GLIBC # needs glibc malloc_usable_size depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS @@ -19,6 +20,7 @@ config BR2_PACKAGE_MONGODB select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS select BR2_PACKAGE_BOOST_SYSTEM select BR2_PACKAGE_PCRE + select BR2_PACKAGE_PCRE_UTF # runtime select BR2_PACKAGE_SNAPPY select BR2_PACKAGE_SQLITE select BR2_PACKAGE_YAML_CPP @@ -38,3 +40,4 @@ comment "mongodb needs a glibc toolchain w/ wchar, threads, C++, gcc >= 6" !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_USES_GLIBC || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_6 depends on BR2_PACKAGE_MONGODB_ARCH_SUPPORTS + depends on !BR2_PACKAGE_PYTHON3 diff --git a/bsp/buildroot/package/mosquitto/mosquitto.hash b/bsp/buildroot/package/mosquitto/mosquitto.hash index 17a467a7..25b99101 100644 --- a/bsp/buildroot/package/mosquitto/mosquitto.hash +++ b/bsp/buildroot/package/mosquitto/mosquitto.hash @@ -1,5 +1,5 @@ # Locally calculated after checking gpg signature -sha256 d4024c3388502d50be4192991e90d66dfb344376104df3f63846c9f201779955 mosquitto-1.5.7.tar.gz +sha256 78d7e70c3794dc3a1d484b4f2f8d3addebe9c2da3f5a1cebe557f7d13beb0da4 mosquitto-1.5.8.tar.gz # License files sha256 cc77e25bafd40637b7084f04086d606f0a200051b61806f97c93405926670bc1 LICENSE.txt diff --git a/bsp/buildroot/package/mosquitto/mosquitto.mk b/bsp/buildroot/package/mosquitto/mosquitto.mk index d17fae5d..51c0abd0 100644 --- a/bsp/buildroot/package/mosquitto/mosquitto.mk +++ b/bsp/buildroot/package/mosquitto/mosquitto.mk @@ -4,7 +4,7 @@ # ################################################################################ -MOSQUITTO_VERSION = 1.5.7 +MOSQUITTO_VERSION = 1.5.8 MOSQUITTO_SITE = https://mosquitto.org/files/source MOSQUITTO_LICENSE = EPL-1.0 or EDLv1.0 MOSQUITTO_LICENSE_FILES = LICENSE.txt epl-v10 edl-v10 diff --git a/bsp/buildroot/package/msmtp/msmtp.mk b/bsp/buildroot/package/msmtp/msmtp.mk index 079c7c23..db3d42cd 100644 --- a/bsp/buildroot/package/msmtp/msmtp.mk +++ b/bsp/buildroot/package/msmtp/msmtp.mk @@ -46,10 +46,6 @@ MSMTP_DEPENDENCIES += gnutls else ifeq ($(BR2_PACKAGE_OPENSSL),y) MSMTP_CONF_OPTS += --with-tls=openssl MSMTP_DEPENDENCIES += openssl -ifeq ($(BR2_STATIC_LIBS),y) -# openssl uses zlib, so we need to explicitly link with it when static -MSMTP_CONF_ENV += LIBS=-lz -endif else MSMTP_CONF_OPTS += --with-tls=no endif diff --git a/bsp/buildroot/package/musl/musl.hash b/bsp/buildroot/package/musl/musl.hash index 91214246..56444017 100644 --- a/bsp/buildroot/package/musl/musl.hash +++ b/bsp/buildroot/package/musl/musl.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature from -# http://www.musl-libc.org/releases/musl-1.1.21.tar.gz.asc -sha256 c742b66f6f49c9e5f52f64d8b79fecb5a0f6e0203fca176c70ca20f6be285f44 musl-1.1.21.tar.gz +# http://www.musl-libc.org/releases/musl-1.1.22.tar.gz.asc +sha256 8b0941a48d2f980fd7036cfbd24aa1d414f03d9a0652ecbd5ec5c7ff1bee29e3 musl-1.1.22.tar.gz sha256 a3ae1b9fc5d4938f5734734383b9813d27a5652df23010c6f9d4c5419b239a41 COPYRIGHT diff --git a/bsp/buildroot/package/musl/musl.mk b/bsp/buildroot/package/musl/musl.mk index 90c75392..5db5bbd2 100644 --- a/bsp/buildroot/package/musl/musl.mk +++ b/bsp/buildroot/package/musl/musl.mk @@ -4,7 +4,7 @@ # ################################################################################ -MUSL_VERSION = 1.1.21 +MUSL_VERSION = 1.1.22 MUSL_SITE = http://www.musl-libc.org/releases MUSL_LICENSE = MIT MUSL_LICENSE_FILES = COPYRIGHT @@ -58,7 +58,7 @@ endef define MUSL_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ DESTDIR=$(TARGET_DIR) install-libs - $(RM) $(addprefix $(TARGET_DIR)/lib/,crt1.o crtn.o crti.o Scrt1.o) + $(RM) $(addprefix $(TARGET_DIR)/lib/,crt1.o crtn.o crti.o rcrt1.o Scrt1.o) endef $(eval $(generic-package)) diff --git a/bsp/buildroot/package/mutt/0001-configure.ac-fix-static-build-with-idn2-and-unistrin.patch b/bsp/buildroot/package/mutt/0001-configure.ac-fix-static-build-with-idn2-and-unistrin.patch new file mode 100644 index 00000000..c802cbb3 --- /dev/null +++ b/bsp/buildroot/package/mutt/0001-configure.ac-fix-static-build-with-idn2-and-unistrin.patch @@ -0,0 +1,37 @@ +From c53b36698fe4721fb562908ac6119aa9280383af Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 14 Apr 2019 10:22:12 +0200 +Subject: [PATCH] configure.ac: fix static build with idn2 and unistring + +Commit 78db40f25c6479b14da5a73adf7207bfbec5ccc5 did not fix static build +failure + +AC_SEARCH_LIBS prepends the library to LIBS as a result -lunistring is +added before -lidn2. To fix static build, we must set -lunistring after +-lidn2 + +Fixes: + - http://autobuild.buildroot.org/results/c9544b4f1a0252e260a2ed19218fa950f4dc2d2d + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://gitlab.com/muttmua/mutt/merge_requests/42] +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index bd8beb91..75943eee 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1402,7 +1402,7 @@ if test "x$with_idn2" != "xno"; then + AC_SEARCH_LIBS([idn2_check_version], [idn2], [ + AC_DEFINE([HAVE_LIBIDN2], 1, [Define to 1 if you have the GNU idn2 library]) + dnl -lunistring is needed for static linking +- AC_SEARCH_LIBS([u8_strconv_from_locale], [unistring]) ++ AC_SEARCH_LIBS([u8_strconv_from_locale], [unistring], [LIBS="$LIBS -lunistring"]) + MUTTLIBS="$MUTTLIBS $LIBS" + + dnl libidn2 >= 2.0.0 declares compatibility macros in idn2.h +-- +2.20.1 + diff --git a/bsp/buildroot/package/mutt/mutt.mk b/bsp/buildroot/package/mutt/mutt.mk index a336839c..5860e843 100644 --- a/bsp/buildroot/package/mutt/mutt.mk +++ b/bsp/buildroot/package/mutt/mutt.mk @@ -10,6 +10,8 @@ MUTT_LICENSE = GPL-2.0+ MUTT_LICENSE_FILES = GPL MUTT_DEPENDENCIES = ncurses MUTT_CONF_OPTS = --disable-doc --disable-smtp +# We're patching configure.ac +MUTT_AUTORECONF = YES ifeq ($(BR2_PACKAGE_LIBICONV),y) MUTT_DEPENDENCIES += libiconv diff --git a/bsp/buildroot/package/neon/neon.mk b/bsp/buildroot/package/neon/neon.mk index 1b8eb368..2c00e6a8 100644 --- a/bsp/buildroot/package/neon/neon.mk +++ b/bsp/buildroot/package/neon/neon.mk @@ -11,7 +11,8 @@ NEON_LICENSE_FILES = src/COPYING.LIB test/COPYING README NEON_INSTALL_STAGING = YES NEON_CONF_OPTS = --without-gssapi --disable-rpath NEON_CONFIG_SCRIPTS = neon-config -NEON_DEPENDENCIES = host-pkgconf +NEON_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) +NEON_CONF_ENV = ne_cv_libsfor_bindtextdomain=$(TARGET_NLS_LIBS) ifeq ($(BR2_PACKAGE_NEON_ZLIB),y) NEON_CONF_OPTS += --with-zlib=$(STAGING_DIR) diff --git a/bsp/buildroot/package/netsnmp/netsnmp.mk b/bsp/buildroot/package/netsnmp/netsnmp.mk index 4bd65ef1..ed573c51 100644 --- a/bsp/buildroot/package/netsnmp/netsnmp.mk +++ b/bsp/buildroot/package/netsnmp/netsnmp.mk @@ -53,15 +53,12 @@ endif # OpenSSL ifeq ($(BR2_PACKAGE_OPENSSL),y) -NETSNMP_DEPENDENCIES += openssl +NETSNMP_DEPENDENCIES += host-pkgconf openssl NETSNMP_CONF_OPTS += \ --with-openssl=$(STAGING_DIR)/usr/include/openssl \ --with-security-modules="tsm,usm" \ --with-transports="DTLSUDP,TLSTCP" -ifeq ($(BR2_STATIC_LIBS),y) -# openssl uses zlib, so we need to explicitly link with it when static -NETSNMP_CONF_ENV += LIBS=-lz -endif +NETSNMP_CONF_ENV += LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` else ifeq ($(BR2_PACKAGE_NETSNMP_OPENSSL_INTERNAL),y) NETSNMP_CONF_OPTS += --with-openssl=internal else diff --git a/bsp/buildroot/package/nodejs/nodejs.hash b/bsp/buildroot/package/nodejs/nodejs.hash index 5a06e532..ad8ad4ad 100644 --- a/bsp/buildroot/package/nodejs/nodejs.hash +++ b/bsp/buildroot/package/nodejs/nodejs.hash @@ -1,5 +1,5 @@ -# From https://nodejs.org/dist/v8.15.0/SHASUMS256.txt -sha256 968523333947cc3f769d73dedc6c9c60580826d8714bc0e62ca4589de6a7c633 node-v8.15.0.tar.xz +# From https://nodejs.org/dist/v8.15.1/SHASUMS256.txt +sha256 6b6486a3f452624941f6e11dd5f878c298d43e9c21b5f43ca1721dc7ce25add1 node-v8.15.1.tar.xz # Hash for license file sha256 b87be6c1479ed977481115869c2dd8b6d59e5ea55aa09939d6c898242121b2f5 LICENSE diff --git a/bsp/buildroot/package/nodejs/nodejs.mk b/bsp/buildroot/package/nodejs/nodejs.mk index 446cb77d..06d2eaad 100644 --- a/bsp/buildroot/package/nodejs/nodejs.mk +++ b/bsp/buildroot/package/nodejs/nodejs.mk @@ -4,7 +4,7 @@ # ################################################################################ -NODEJS_VERSION = 8.15.0 +NODEJS_VERSION = 8.15.1 NODEJS_SOURCE = node-v$(NODEJS_VERSION).tar.xz NODEJS_SITE = http://nodejs.org/dist/v$(NODEJS_VERSION) NODEJS_DEPENDENCIES = host-python host-nodejs c-ares \ diff --git a/bsp/buildroot/package/ntp/0003-fix-nommu.patch b/bsp/buildroot/package/ntp/0003-fix-nommu.patch deleted file mode 100644 index 0959fa0b..00000000 --- a/bsp/buildroot/package/ntp/0003-fix-nommu.patch +++ /dev/null @@ -1,29 +0,0 @@ -Fix no-MMU build - -The detach_from_terminal() is unused for no-MMU, but it depends on symbols -that are not defined for no-MMU. Don't define detach_from_terminal() when -HAVE_WORKING_FORK is not defined. - -Signed-off-by: Baruch Siach ---- -Upstream status: http://bugs.ntp.org/show_bug.cgi?id=3538 - -diff -Nuar ntp-4.2.8p12.orig/ntpd/ntpd.c ntp-4.2.8p12/ntpd/ntpd.c ---- ntp-4.2.8p12.orig/ntpd/ntpd.c 2018-08-14 14:51:30.000000000 +0300 -+++ ntp-4.2.8p12/ntpd/ntpd.c 2018-10-13 21:25:25.858261249 +0300 -@@ -534,6 +534,7 @@ - * Detach from terminal (much like daemon()) - * Nothe that this function calls exit() - */ -+# ifdef HAVE_WORKING_FORK - static void - detach_from_terminal( - int pipe_fds[2], -@@ -617,6 +618,7 @@ - - return; - } -+# endif /* HAVE_WORKING_FORK */ - - #ifdef HAVE_DROPROOT - /* diff --git a/bsp/buildroot/package/ntp/0004-fix-work-fork-without-droproot.patch b/bsp/buildroot/package/ntp/0004-fix-work-fork-without-droproot.patch deleted file mode 100644 index cb6fec01..00000000 --- a/bsp/buildroot/package/ntp/0004-fix-work-fork-without-droproot.patch +++ /dev/null @@ -1,26 +0,0 @@ -Fix work_fork build when droproot is disabled - -The set_user_group_ids() depends on HAVE_DROPROOT. When HAVE_DROPROOT is not -enabled, work_fork.c code causes a link failure: - -../libntp/libntp.a(work_fork.o): In function `send_blocking_req_internal': -work_fork.c:(.text+0x498): undefined reference to `set_user_group_ids' - -Make the set_user_group_ids() call depend on HAVE_DROPROOT. - -Signed-off-by: Baruch Siach ---- -Upstream status: http://bugs.ntp.org/show_bug.cgi?id=3539 - ---- ntp-4.2.8p12.orig/libntp/work_fork.c 2018-08-14 14:51:06.000000000 +0300 -+++ ntp-4.2.8p12/libntp/work_fork.c 2018-10-15 21:10:54.580917962 +0300 -@@ -594,7 +594,9 @@ - init_logging("ntp_intres", 0, FALSE); - setup_logfile(NULL); - -+#if defined(HAVE_DROPROOT) - (void) set_user_group_ids(); -+#endif - - /* - * And now back to the portable code diff --git a/bsp/buildroot/package/ntp/ntp.hash b/bsp/buildroot/package/ntp/ntp.hash index 2fd8a832..4014936e 100644 --- a/bsp/buildroot/package/ntp/ntp.hash +++ b/bsp/buildroot/package/ntp/ntp.hash @@ -1,5 +1,5 @@ -# From https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p12.tar.gz.md5 -md5 1522d66574bae14abb2622746dad2bdc ntp-4.2.8p12.tar.gz +# From https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p13.tar.gz.md5 +md5 ea040ab9b4ca656b5229b89d6b822f13 ntp-4.2.8p13.tar.gz # Calculated based on the hash above -sha256 709b222b5013d77d26bfff532b5ea470a8039497ef29d09363931c036cb30454 ntp-4.2.8p12.tar.gz -sha256 62c87b269365b38b55359b16dfde7ec28c683c722ef489db90afd0f2e478e4a1 COPYRIGHT +sha256 288772cecfcd9a53694ffab108d1825a31ba77f3a8466b0401baeca3bc232a38 ntp-4.2.8p13.tar.gz +sha256 3828da5fc8126889d6a64432288ace08526c490bf5427d799931689069968d91 COPYRIGHT diff --git a/bsp/buildroot/package/ntp/ntp.mk b/bsp/buildroot/package/ntp/ntp.mk index c62d59e8..d53fcc5d 100644 --- a/bsp/buildroot/package/ntp/ntp.mk +++ b/bsp/buildroot/package/ntp/ntp.mk @@ -5,7 +5,7 @@ ################################################################################ NTP_VERSION_MAJOR = 4.2 -NTP_VERSION = $(NTP_VERSION_MAJOR).8p12 +NTP_VERSION = $(NTP_VERSION_MAJOR).8p13 NTP_SITE = https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-$(NTP_VERSION_MAJOR) NTP_DEPENDENCIES = host-pkgconf libevent NTP_LICENSE = NTP diff --git a/bsp/buildroot/package/numactl/0001-Fix-usage-of-GLIBC_PREREQ-for-non-glibc-toolchains.patch b/bsp/buildroot/package/numactl/0001-Fix-usage-of-GLIBC_PREREQ-for-non-glibc-toolchains.patch deleted file mode 100644 index ebb934f6..00000000 --- a/bsp/buildroot/package/numactl/0001-Fix-usage-of-GLIBC_PREREQ-for-non-glibc-toolchains.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 3770bdc4fa7b9059db5cd2aa8bb09b50fa15e456 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Fri, 12 Feb 2016 19:25:02 +0100 -Subject: [PATCH] Fix usage of __GLIBC_PREREQ for non-glibc toolchains - -The way __GLIBC_PREREQ() is currently used means that it's evaluated -even if __GLIBC__ is not defined. But obviously, __GLIBC_PREREQ will -not exist if __GLIBC__ is not defined, causing build failures on C -libraries not defining __GLIBC__ such as the musl C library. - -Patch originally taken from: -https://github.com/voidlinux/void-packages/blob/master/srcpkgs/numactl/patches/musl.patch - -Signed-off-by: Bernd Kuhls -[Bernd: Reworked to fix uClibc] -Signed-off-by: Thomas Petazzoni -[Thomas: improve patch description.] -[Upstream commit: https://github.com/numactl/numactl/commit/3770bdc4fa7b9059db5cd2aa8bb09b50fa15e456.] ---- - syscall.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/syscall.c b/syscall.c -index 4589b85..37782d9 100644 ---- a/syscall.c -+++ b/syscall.c -@@ -115,7 +115,7 @@ - - #endif - --#if defined(__GLIBC__) && __GLIBC_PREREQ(2, 11) -+#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 11) - - /* glibc 2.11 seems to have working 6 argument sycall. Use the - glibc supplied syscall in this case. diff --git a/bsp/buildroot/package/numactl/0002-Fix-usage-of-GLIBC_PREREQ-for-non-glibc-toolchains.patch b/bsp/buildroot/package/numactl/0002-Fix-usage-of-GLIBC_PREREQ-for-non-glibc-toolchains.patch deleted file mode 100644 index a98fd724..00000000 --- a/bsp/buildroot/package/numactl/0002-Fix-usage-of-GLIBC_PREREQ-for-non-glibc-toolchains.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 31dc2951c758698bff060aeae8ffd8854616183b Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Fri, 12 Feb 2016 19:25:02 +0100 -Subject: [PATCH] Fix usage of __GLIBC_PREREQ for non-glibc toolchains - -The way __GLIBC_PREREQ() is currently used means that it's evaluated -even if __GLIBC__ is not defined. But obviously, __GLIBC_PREREQ will -not exist if __GLIBC__ is not defined, causing build failures on C -libraries not defining __GLIBC__ such as the musl C library. - -Patch originally taken from: -https://github.com/voidlinux/void-packages/blob/master/srcpkgs/numactl/patches/musl.patch - -Signed-off-by: Bernd Kuhls -[Bernd: Reworked to fix uClibc] -Signed-off-by: Thomas Petazzoni -[Thomas: improve patch description.] -[Upstream commit: https://github.com/numactl/numactl/commit/31dc2951c758698bff060aeae8ffd8854616183b] ---- - syscall.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/syscall.c b/syscall.c -index 37782d9..255853d 100644 ---- a/syscall.c -+++ b/syscall.c -@@ -115,7 +115,11 @@ - - #endif - --#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 11) -+#ifndef __GLIBC_PREREQ -+# define __GLIBC_PREREQ(x,y) 0 -+#endif -+ -+#if defined(__GLIBC__) && __GLIBC_PREREQ(2, 11) - - /* glibc 2.11 seems to have working 6 argument sycall. Use the - glibc supplied syscall in this case. diff --git a/bsp/buildroot/package/openjpeg/0004-install-static-lib.patch b/bsp/buildroot/package/openjpeg/0004-install-static-lib.patch deleted file mode 100644 index 4a3bbfa2..00000000 --- a/bsp/buildroot/package/openjpeg/0004-install-static-lib.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 66297f07a43d2770a97c8456d20202f3d051d980 Mon Sep 17 00:00:00 2001 -From: Even Rouault -Date: Mon, 9 Oct 2017 11:40:43 +0200 -Subject: [PATCH] Unix build: fix regression of 2.3.0 where a shared-only or - static-only build lacks the installation target for the library (#1019, fixes - regression introduced by 3dfc6ca2bcf06fd1adb6b6b4cecc6c092f08ba0b) - -Downloaded from upstream commit -https://github.com/uclouvain/openjpeg/commit/66297f07a43d2770a97c8456d20202f3d051d980 - -Signed-off-by: Bernd Kuhls ---- - src/lib/openjp2/CMakeLists.txt | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/lib/openjp2/CMakeLists.txt b/src/lib/openjp2/CMakeLists.txt -index 0b4520384..f8990ccf0 100644 ---- a/src/lib/openjp2/CMakeLists.txt -+++ b/src/lib/openjp2/CMakeLists.txt -@@ -99,6 +99,7 @@ else() - set(INSTALL_LIBS ${OPENJPEG_LIBRARY_NAME} openjp2_static) - else() - add_library(${OPENJPEG_LIBRARY_NAME} ${OPENJPEG_SRCS}) -+ set(INSTALL_LIBS ${OPENJPEG_LIBRARY_NAME}) - endif() - endif() - diff --git a/bsp/buildroot/package/openjpeg/openjpeg.hash b/bsp/buildroot/package/openjpeg/openjpeg.hash index dd3cf26c..8a6fda48 100644 --- a/bsp/buildroot/package/openjpeg/openjpeg.hash +++ b/bsp/buildroot/package/openjpeg/openjpeg.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 3dc787c1bb6023ba846c2a0d9b1f6e179f1cd255172bde9eb75b01f1e6c7d71a openjpeg-2.3.0.tar.gz +sha256 3389a1aa908c2b577863da213db3a170df3edbb1432e99ae5fd3f2ac721d69d3 openjpeg-51f097e6d5754ddae93e716276fe8176b44ec548.tar.gz +sha256 a6af136f3e15038a666b61f376612a07d9a4e48cb7c01adbf3e33b3f14ab49b6 LICENSE diff --git a/bsp/buildroot/package/openjpeg/openjpeg.mk b/bsp/buildroot/package/openjpeg/openjpeg.mk index 9a8fdab7..6036ab95 100644 --- a/bsp/buildroot/package/openjpeg/openjpeg.mk +++ b/bsp/buildroot/package/openjpeg/openjpeg.mk @@ -4,8 +4,8 @@ # ################################################################################ -OPENJPEG_VERSION = 2.3.0 -OPENJPEG_SITE = $(call github,uclouvain,openjpeg,v$(OPENJPEG_VERSION)) +OPENJPEG_VERSION = 51f097e6d5754ddae93e716276fe8176b44ec548 +OPENJPEG_SITE = $(call github,uclouvain,openjpeg,$(OPENJPEG_VERSION)) OPENJPEG_LICENSE = BSD-2-Clause OPENJPEG_LICENSE_FILES = LICENSE OPENJPEG_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/opus/opus.hash b/bsp/buildroot/package/opus/opus.hash index c9166479..2a94d372 100644 --- a/bsp/buildroot/package/opus/opus.hash +++ b/bsp/buildroot/package/opus/opus.hash @@ -1,5 +1,5 @@ # From http://downloads.xiph.org/releases/opus/SHA256SUMS.txt -sha256 4f3d69aefdf2dbaf9825408e452a8a414ffc60494c70633560700398820dc550 opus-1.3.tar.gz +sha256 65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d opus-1.3.1.tar.gz # Hash for license file sha256 8338ce8d922bb4416ce3dd1e5680173332435e3f0755007ac7801ccd674fe682 COPYING diff --git a/bsp/buildroot/package/opus/opus.mk b/bsp/buildroot/package/opus/opus.mk index b3cfa21f..f23461a3 100644 --- a/bsp/buildroot/package/opus/opus.mk +++ b/bsp/buildroot/package/opus/opus.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPUS_VERSION = 1.3 +OPUS_VERSION = 1.3.1 OPUS_SITE = https://downloads.xiph.org/releases/opus OPUS_LICENSE = BSD-3-Clause OPUS_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/owfs/0001-configure.ac-check-for-localtime_r.patch b/bsp/buildroot/package/owfs/0001-configure.ac-check-for-localtime_r.patch deleted file mode 100644 index b25aa598..00000000 --- a/bsp/buildroot/package/owfs/0001-configure.ac-check-for-localtime_r.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 75e92438bcdb78a90912366b07bf503646806686 Mon Sep 17 00:00:00 2001 -From: "Arnout Vandecappelle (Essensium/Mind)" -Date: Sun, 21 Feb 2016 17:02:06 +0100 -Subject: [PATCH] configure.ac: check for localtime_r - -HAVE_LOCALTIME_R is used in owftp.c, so it should be checked for. - -Without this, static build fails because localtime_r is defined twice. - -Upstream-Status: Submitted -https://sourceforge.net/p/owfs/mailman/message/34873667/ - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) -[Bernd: rebased against version 3.2p1] -Signed-off-by: Bernd Kuhls ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index c22dde9..12fdd18 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1646,7 +1646,7 @@ - AC_FUNC_STRFTIME - AC_FUNC_STRTOD - AC_TYPE_SIGNAL --AC_CHECK_FUNCS([accept daemon getaddrinfo freeaddrinfo gethostbyname2_r gethostbyaddr_r gethostbyname_r getservbyname_r getopt getopt_long gmtime_r gettimeofday localtime_r inet_ntop inet_pton memchr memset select socket strcasecmp strchr strdup strncasecmp strtol strtoul twalk tsearch tfind tdelete tdestroy vasprintf strsep vsprintf vsnprintf writev getline]) -+AC_CHECK_FUNCS([accept daemon getaddrinfo freeaddrinfo gethostbyname2_r gethostbyaddr_r gethostbyname_r getservbyname_r getopt getopt_long gmtime_r gettimeofday localtime_r inet_ntop inet_pton memchr memset select socket strcasecmp strchr strdup strncasecmp strtol strtoul twalk tsearch tfind tdelete tdestroy vasprintf strsep vsprintf vsnprintf writev getline localtime_r]) - - save_LIBS="$LIBS" - LIBS="" --- -2.7.0 - diff --git a/bsp/buildroot/package/owfs/0002-include-sys-sysmacros.h-for-major.patch b/bsp/buildroot/package/owfs/0001-include-sys-sysmacros.h-for-major.patch similarity index 100% rename from bsp/buildroot/package/owfs/0002-include-sys-sysmacros.h-for-major.patch rename to bsp/buildroot/package/owfs/0001-include-sys-sysmacros.h-for-major.patch diff --git a/bsp/buildroot/package/owfs/owfs.mk b/bsp/buildroot/package/owfs/owfs.mk index e1201471..cd1c2dba 100644 --- a/bsp/buildroot/package/owfs/owfs.mk +++ b/bsp/buildroot/package/owfs/owfs.mk @@ -9,7 +9,7 @@ OWFS_SITE = http://downloads.sourceforge.net/project/owfs/owfs/$(OWFS_VERSION) OWFS_DEPENDENCIES = host-pkgconf OWFS_CONF_OPTS = --disable-owperl --without-perl5 --disable-owtcl --without-tcl -# 0001-configure.ac-check-for-localtime_r.patch touches configure.ac +# We're patching configure.ac OWFS_AUTORECONF = YES # owtcl license is declared in module/ownet/c/src/include/ow_functions.h @@ -42,6 +42,20 @@ else OWFS_CONF_OPTS += --disable-owfs endif +ifeq ($(BR2_PACKAGE_LIBFTDI1),y) +OWFS_CONF_OPTS += \ + --enable-ftdi \ + --with-libftdi-config=$(STAGING_DIR)/usr/bin/libftdi1-config +OWFS_DEPENDENCIES += libftdi1 +else ifeq ($(BR2_PACKAGE_LIBFTDI),y) +OWFS_CONF_OPTS += \ + --enable-ftdi \ + --with-libftdi-config=$(STAGING_DIR)/usr/bin/libftdi-config +OWFS_DEPENDENCIES += libftdi +else +OWFS_CONF_OPTS += --disable-ftdi +endif + ifeq ($(BR2_PACKAGE_LIBUSB),y) OWFS_CONF_OPTS += --enable-usb OWFS_DEPENDENCIES += libusb diff --git a/bsp/buildroot/package/perl/perl.hash b/bsp/buildroot/package/perl/perl.hash index 57169008..4604d271 100644 --- a/bsp/buildroot/package/perl/perl.hash +++ b/bsp/buildroot/package/perl/perl.hash @@ -1,7 +1,7 @@ -# Hashes from: http://www.cpan.org/src/5.0/perl-5.28.1.tar.xz.{md5,sha1,sha256}.txt -md5 fbb590c305f2f88578f448581b8cf9c4 perl-5.28.1.tar.xz -sha1 5fc239bebb8c484c3f5c58e663274ce668981651 perl-5.28.1.tar.xz -sha256 fea7162d4cca940a387f0587b93f6737d884bf74d8a9d7cfd978bc12cd0b202d perl-5.28.1.tar.xz +# Hashes from: http://www.cpan.org/src/5.0/perl-5.28.2.tar.xz.{md5,sha1,sha256}.txt +md5 6bb75770e9ba085b32bf13e4be71e4ac perl-5.28.2.tar.xz +sha1 e7be78eca9ac5596783e6abcf957408050a7b650 perl-5.28.2.tar.xz +sha256 0b0189bfa4b2da20e899b4bdd746ac402e8f746a58e4fcf5516484157f2aab07 perl-5.28.2.tar.xz -# Hashes from: https://github.com/arsv/perl-cross/releases/download/1.2.1/perl-cross-1.2.1.hash -sha256 8b706bc688ddf71b62d649bde72f648669f18b37fe0c54ec6201142ca3943498 perl-cross-1.2.1.tar.gz +# Hashes from: https://github.com/arsv/perl-cross/releases/download/1.2.3/perl-cross-1.2.3.hash +sha256 84583a1bb5f3a2c64d13d031386c114382e5c62955c6f84a27cec8318536627c perl-cross-1.2.3.tar.gz diff --git a/bsp/buildroot/package/perl/perl.mk b/bsp/buildroot/package/perl/perl.mk index 9205ef64..ecb21c4b 100644 --- a/bsp/buildroot/package/perl/perl.mk +++ b/bsp/buildroot/package/perl/perl.mk @@ -6,14 +6,14 @@ # When updating the version here, also update utils/scancpan PERL_VERSION_MAJOR = 28 -PERL_VERSION = 5.$(PERL_VERSION_MAJOR).1 +PERL_VERSION = 5.$(PERL_VERSION_MAJOR).2 PERL_SITE = http://www.cpan.org/src/5.0 PERL_SOURCE = perl-$(PERL_VERSION).tar.xz PERL_LICENSE = Artistic or GPL-1.0+ PERL_LICENSE_FILES = Artistic Copying README PERL_INSTALL_STAGING = YES -PERL_CROSS_VERSION = 1.2.1 +PERL_CROSS_VERSION = 1.2.3 # DO NOT refactor with the github helper (the result is not the same) PERL_CROSS_SITE = https://github.com/arsv/perl-cross/releases/download/$(PERL_CROSS_VERSION) PERL_CROSS_SOURCE = perl-cross-$(PERL_CROSS_VERSION).tar.gz diff --git a/bsp/buildroot/package/php/0005-Call-apxs-with-correct-prefix.patch b/bsp/buildroot/package/php/0004-Call-apxs-with-correct-prefix.patch similarity index 100% rename from bsp/buildroot/package/php/0005-Call-apxs-with-correct-prefix.patch rename to bsp/buildroot/package/php/0004-Call-apxs-with-correct-prefix.patch diff --git a/bsp/buildroot/package/php/0004-OPcache-flock-mechanism-is-obviously-linux-so-force-.patch b/bsp/buildroot/package/php/0004-OPcache-flock-mechanism-is-obviously-linux-so-force-.patch deleted file mode 100644 index 5c3814f6..00000000 --- a/bsp/buildroot/package/php/0004-OPcache-flock-mechanism-is-obviously-linux-so-force-.patch +++ /dev/null @@ -1,82 +0,0 @@ -From bedbd41ef0a5ce80b83a6f6eaebd7c90f0bc5615 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Tue, 9 Aug 2016 11:52:19 +0200 -Subject: [PATCH] OPcache: flock mechanism is obviously linux so force it. - -Signed-off-by: Gustavo Zacarias -Signed-off-by: Bernd Kuhls -[Bernd: update for 7.2.12 & 7.3.2] -Signed-off-by: Adam Duskett -[aduskett@gmail.com: Update for 7.3.0] ---- - ext/opcache/config.m4 | 34 ++-------------------------------- - 1 file changed, 2 insertions(+), 32 deletions(-) - -diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4 -index fbb9b21..ffddc8e 100644 ---- a/ext/opcache/config.m4 -+++ b/ext/opcache/config.m4 -@@ -334,58 +334,8 @@ int main() { - msg=yes],[msg=no],[msg=no]) - AC_MSG_RESULT([$msg]) - --flock_type=unknown --AC_MSG_CHECKING(for struct flock layout) -- --if test "$flock_type" = "unknown"; then --AC_RUN_IFELSE([AC_LANG_SOURCE([[ -- #include -- struct flock lock = { 1, 2, 3, 4, 5, 6, 7 }; -- int main() { -- if(lock.l_type == 1 && lock.l_whence == 2 && lock.l_start == 6 && lock.l_len== 7) { -- return 0; -- } -- return 1; -- } --]])], [ -- flock_type=aix64 -- AC_DEFINE([HAVE_FLOCK_AIX64], [], [Struct flock is 64-bit AIX-type]) --], []) --fi -- --if test "$flock_type" = "unknown"; then --AC_RUN_IFELSE([AC_LANG_SOURCE([[ -- #include -- struct flock lock = { 1, 2, 3, 4, 5 }; -- int main() { -- if(lock.l_type == 1 && lock.l_whence == 2 && lock.l_start == 3 && lock.l_len == 4) { -- return 0; -- } -- return 1; -- } --]])], [ -- flock_type=linux -- AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type]) --], []) --fi -- --if test "$flock_type" = "unknown"; then --AC_RUN_IFELSE([AC_LANG_SOURCE([[ -- #include -- struct flock lock = { 1, 2, 3, 4, 5 }; -- int main() { -- if(lock.l_start == 1 && lock.l_len == 2 && lock.l_type == 4 && lock.l_whence == 5) { -- return 0; -- } -- return 1; -- } --]])], [ -- flock_type=bsd -- AC_DEFINE([HAVE_FLOCK_BSD], [], [Struct flock is BSD-type]) --], []) --fi -- --AC_MSG_RESULT([$flock_type]) -+flock_type=linux -+AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type]) - - if test "$flock_type" = "unknown"; then - AC_MSG_ERROR([Don't know how to define struct flock on this system[,] set --enable-opcache=no]) --- -2.7.4 - diff --git a/bsp/buildroot/package/php/php.hash b/bsp/buildroot/package/php/php.hash index 5d74a28b..fb255219 100644 --- a/bsp/buildroot/package/php/php.hash +++ b/bsp/buildroot/package/php/php.hash @@ -1,5 +1,5 @@ # From http://php.net/downloads.php -sha256 010b868b4456644ae227d05ad236c8b0a1f57dc6320e7e5ad75e86c5baf0a9a8 php-7.3.2.tar.xz +sha256 6fe79fa1f8655f98ef6708cde8751299796d6c1e225081011f4104625b923b83 php-7.3.4.tar.xz # License file sha256 f689b8fa63bea7950ce6a21bf52ed88ea0d77673ee76e6de12f51191174d91b8 LICENSE diff --git a/bsp/buildroot/package/php/php.mk b/bsp/buildroot/package/php/php.mk index 061b2f26..541c7675 100644 --- a/bsp/buildroot/package/php/php.mk +++ b/bsp/buildroot/package/php/php.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_VERSION = 7.3.2 +PHP_VERSION = 7.3.4 PHP_SITE = http://www.php.net/distributions PHP_SOURCE = php-$(PHP_VERSION).tar.xz PHP_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/pkg-generic.mk b/bsp/buildroot/package/pkg-generic.mk index 4353bd38..cbe885aa 100644 --- a/bsp/buildroot/package/pkg-generic.mk +++ b/bsp/buildroot/package/pkg-generic.mk @@ -294,7 +294,8 @@ $(BUILD_DIR)/%/.stamp_staging_installed: $(addprefix $(STAGING_DIR)/usr/bin/,$($(PKG)_CONFIG_SCRIPTS)) ;\ fi @$(call MESSAGE,"Fixing libtool files") - $(Q)find $(STAGING_DIR)/usr/lib* -name "*.la" | xargs --no-run-if-empty \ + for la in $$(find $(STAGING_DIR)/usr/lib* -name "*.la"); do \ + cp -a "$${la}" "$${la}.fixed" && \ $(SED) "s:$(BASE_DIR):@BASE_DIR@:g" \ -e "s:$(STAGING_DIR):@STAGING_DIR@:g" \ $(if $(TOOLCHAIN_EXTERNAL_INSTALL_DIR),\ @@ -303,7 +304,14 @@ $(BUILD_DIR)/%/.stamp_staging_installed: $(if $(TOOLCHAIN_EXTERNAL_INSTALL_DIR),\ -e "s:@TOOLCHAIN_EXTERNAL_INSTALL_DIR@:$(TOOLCHAIN_EXTERNAL_INSTALL_DIR):g") \ -e "s:@STAGING_DIR@:$(STAGING_DIR):g" \ - -e "s:@BASE_DIR@:$(BASE_DIR):g" + -e "s:@BASE_DIR@:$(BASE_DIR):g" \ + "$${la}.fixed" && \ + if cmp -s "$${la}" "$${la}.fixed"; then \ + rm -f "$${la}.fixed"; \ + else \ + mv "$${la}.fixed" "$${la}"; \ + fi || exit 1; \ + done @$(call step_end,install-staging) $(Q)touch $@ @@ -607,12 +615,16 @@ $(2)_EXTRACT_DEPENDENCIES += $$(BR2_TAR_HOST_DEPENDENCY) endif ifeq ($$(filter host-tar host-skeleton host-xz host-lzip host-fakedate,$(1)),) +ifneq ($$(filter .xz .lzma,$$(suffix $$($(2)_SOURCE))),) $(2)_EXTRACT_DEPENDENCIES += $$(BR2_XZCAT_HOST_DEPENDENCY) endif +endif ifeq ($$(filter host-tar host-skeleton host-xz host-lzip host-fakedate,$(1)),) +ifneq ($$(filter .lz,$$(suffix $$($(2)_SOURCE))),) $(2)_EXTRACT_DEPENDENCIES += $$(BR2_LZIP_HOST_DEPENDENCY) endif +endif ifeq ($$(BR2_CCACHE),y) ifeq ($$(filter host-tar host-skeleton host-xz host-lzip host-fakedate host-ccache,$(1)),) diff --git a/bsp/buildroot/package/pkg-kconfig.mk b/bsp/buildroot/package/pkg-kconfig.mk index ce11e148..60aae387 100644 --- a/bsp/buildroot/package/pkg-kconfig.mk +++ b/bsp/buildroot/package/pkg-kconfig.mk @@ -179,7 +179,9 @@ endif # nconfig, gconfig, xconfig). # So we simply remove our PATH and PKG_CONFIG_* variables. $(2)_CONFIGURATOR_MAKE_ENV = \ - $$(filter-out PATH=% PKG_CONFIG=% PKG_CONFIG_SYSROOT_DIR=% PKG_CONFIG_LIBDIR=%,$$($(2)_MAKE_ENV)) \ + $$(filter-out PATH=% PKG_CONFIG=% PKG_CONFIG_SYSROOT_DIR=% \ + PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=% PKG_CONFIG_ALLOW_SYSTEM_LIBS=% \ + PKG_CONFIG_LIBDIR=%,$$($(2)_MAKE_ENV)) \ PKG_CONFIG_PATH="$(HOST_PKG_CONFIG_PATH)" # Configuration editors (menuconfig, ...) diff --git a/bsp/buildroot/package/postgresql/postgresql.mk b/bsp/buildroot/package/postgresql/postgresql.mk index c7e9f526..8f014601 100644 --- a/bsp/buildroot/package/postgresql/postgresql.mk +++ b/bsp/buildroot/package/postgresql/postgresql.mk @@ -14,8 +14,10 @@ POSTGRESQL_CONFIG_SCRIPTS = pg_config POSTGRESQL_CONF_ENV = \ ac_cv_type_struct_sockaddr_in6=yes \ pgac_cv_snprintf_long_long_int_modifier="ll" \ - pgac_cv_snprintf_size_t_support=yes + pgac_cv_snprintf_size_t_support=yes \ + LIBS=$(TARGET_NLS_LIBS) POSTGRESQL_CONF_OPTS = --disable-rpath +POSTGRESQL_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) # https://www.postgresql.org/docs/11/static/install-procedure.html: # "If you want to invoke the build from another makefile rather than diff --git a/bsp/buildroot/package/pure-ftpd/pure-ftpd.mk b/bsp/buildroot/package/pure-ftpd/pure-ftpd.mk index ae3ca9d1..6b85b0c6 100644 --- a/bsp/buildroot/package/pure-ftpd/pure-ftpd.mk +++ b/bsp/buildroot/package/pure-ftpd/pure-ftpd.mk @@ -31,12 +31,17 @@ ifeq ($(BR2_PACKAGE_LIBSODIUM),y) PURE_FTPD_DEPENDENCIES += libsodium endif +ifeq ($(BR2_PACKAGE_OPENLDAP),y) +PURE_FTPD_CONF_OPTS += --with-ldap +PURE_FTPD_DEPENDENCIES += openldap +else +PURE_FTPD_CONF_OPTS += --without-ldap +endif + ifeq ($(BR2_PACKAGE_OPENSSL),y) PURE_FTPD_CONF_OPTS += --with-tls -PURE_FTPD_DEPENDENCIES += openssl -ifeq ($(BR2_STATIC_LIBS),y) -PURE_FTPD_CONF_ENV += LIBS='-lssl -lcrypto -lz' -endif +PURE_FTPD_DEPENDENCIES += host-pkgconf openssl +PURE_FTPD_CONF_ENV += LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` else PURE_FTPD_CONF_OPTS += --without-tls endif diff --git a/bsp/buildroot/package/putty/0001-Fix-compilation-with-NO_GSSAPI.patch b/bsp/buildroot/package/putty/0001-Fix-compilation-with-NO_GSSAPI.patch new file mode 100644 index 00000000..56a29e19 --- /dev/null +++ b/bsp/buildroot/package/putty/0001-Fix-compilation-with-NO_GSSAPI.patch @@ -0,0 +1,266 @@ +From 7ad08649a223a4cd61e67d8334a147f55c79399d Mon Sep 17 00:00:00 2001 +From: Jacob Nevins +Date: Mon, 25 Mar 2019 23:46:59 +0000 +Subject: [PATCH] Fix compilation with NO_GSSAPI. + +This is a fairly shallow patch, which removes the UI and interactions +with external libraries. Some other machinery (which is dead code in +this configuration) is left in place. + +Adapted by me from a patch by Jeroen Roovers. + +Signed-off-by: Baruch Siach +--- +Upstream status: commit 7ad08649a22 + + config.c | 4 ++++ + settings.c | 12 ++++++++++-- + ssh.c | 16 +++++++++++++++- + ssh2transport.c | 3 +-- + ssh2userauth.c | 8 ++++++-- + sshserver.c | 13 ++++++++++++- + 6 files changed, 48 insertions(+), 8 deletions(-) + +diff --git a/config.c b/config.c +index 9c299feecc21..6528a9696584 100644 +--- a/config.c ++++ b/config.c +@@ -2442,10 +2442,12 @@ void setup_config_box(struct controlbox *b, bool midsession, + HELPCTX(ssh_kexlist), + kexlist_handler, P(NULL)); + c->listbox.height = KEX_MAX; ++#ifndef NO_GSSAPI + ctrl_checkbox(s, "Attempt GSSAPI key exchange", + 'k', HELPCTX(ssh_gssapi), + conf_checkbox_handler, + I(CONF_try_gssapi_kex)); ++#endif + + s = ctrl_getset(b, "Connection/SSH/Kex", "repeat", + "Options controlling key re-exchange"); +@@ -2455,11 +2457,13 @@ void setup_config_box(struct controlbox *b, bool midsession, + conf_editbox_handler, + I(CONF_ssh_rekey_time), + I(-1)); ++#ifndef NO_GSSAPI + ctrl_editbox(s, "Minutes between GSS checks (0 for never)", NO_SHORTCUT, 20, + HELPCTX(ssh_kex_repeat), + conf_editbox_handler, + I(CONF_gssapirekey), + I(-1)); ++#endif + ctrl_editbox(s, "Max data before rekey (0 for no limit)", 'x', 20, + HELPCTX(ssh_kex_repeat), + conf_editbox_handler, +diff --git a/settings.c b/settings.c +index 8d56302677d9..54f5ab7b2919 100644 +--- a/settings.c ++++ b/settings.c +@@ -592,21 +592,25 @@ void save_open_settings(settings_w *sesskey, Conf *conf) + write_setting_b(sesskey, "Compression", conf_get_bool(conf, CONF_compression)); + write_setting_b(sesskey, "TryAgent", conf_get_bool(conf, CONF_tryagent)); + write_setting_b(sesskey, "AgentFwd", conf_get_bool(conf, CONF_agentfwd)); ++#ifndef NO_GSSAPI + write_setting_b(sesskey, "GssapiFwd", conf_get_bool(conf, CONF_gssapifwd)); ++#endif + write_setting_b(sesskey, "ChangeUsername", conf_get_bool(conf, CONF_change_username)); + wprefs(sesskey, "Cipher", ciphernames, CIPHER_MAX, conf, CONF_ssh_cipherlist); + wprefs(sesskey, "KEX", kexnames, KEX_MAX, conf, CONF_ssh_kexlist); + wprefs(sesskey, "HostKey", hknames, HK_MAX, conf, CONF_ssh_hklist); + write_setting_i(sesskey, "RekeyTime", conf_get_int(conf, CONF_ssh_rekey_time)); ++#ifndef NO_GSSAPI + write_setting_i(sesskey, "GssapiRekey", conf_get_int(conf, CONF_gssapirekey)); ++#endif + write_setting_s(sesskey, "RekeyBytes", conf_get_str(conf, CONF_ssh_rekey_data)); + write_setting_b(sesskey, "SshNoAuth", conf_get_bool(conf, CONF_ssh_no_userauth)); + write_setting_b(sesskey, "SshBanner", conf_get_bool(conf, CONF_ssh_show_banner)); + write_setting_b(sesskey, "AuthTIS", conf_get_bool(conf, CONF_try_tis_auth)); + write_setting_b(sesskey, "AuthKI", conf_get_bool(conf, CONF_try_ki_auth)); ++#ifndef NO_GSSAPI + write_setting_b(sesskey, "AuthGSSAPI", conf_get_bool(conf, CONF_try_gssapi_auth)); + write_setting_b(sesskey, "AuthGSSAPIKEX", conf_get_bool(conf, CONF_try_gssapi_kex)); +-#ifndef NO_GSSAPI + wprefs(sesskey, "GSSLibs", gsslibkeywords, ngsslibs, conf, CONF_ssh_gsslist); + write_setting_filename(sesskey, "GSSCustom", conf_get_filename(conf, CONF_ssh_gss_custom)); + #endif +@@ -937,7 +941,9 @@ void load_open_settings(settings_r *sesskey, Conf *conf) + gppb(sesskey, "TryAgent", true, conf, CONF_tryagent); + gppb(sesskey, "AgentFwd", false, conf, CONF_agentfwd); + gppb(sesskey, "ChangeUsername", false, conf, CONF_change_username); ++#ifndef NO_GSSAPI + gppb(sesskey, "GssapiFwd", false, conf, CONF_gssapifwd); ++#endif + gprefs(sesskey, "Cipher", "\0", + ciphernames, CIPHER_MAX, conf, CONF_ssh_cipherlist); + { +@@ -990,7 +996,9 @@ void load_open_settings(settings_r *sesskey, Conf *conf) + gprefs(sesskey, "HostKey", "ed25519,ecdsa,rsa,dsa,WARN", + hknames, HK_MAX, conf, CONF_ssh_hklist); + gppi(sesskey, "RekeyTime", 60, conf, CONF_ssh_rekey_time); ++#ifndef NO_GSSAPI + gppi(sesskey, "GssapiRekey", GSS_DEF_REKEY_MINS, conf, CONF_gssapirekey); ++#endif + gpps(sesskey, "RekeyBytes", "1G", conf, CONF_ssh_rekey_data); + { + /* SSH-2 only by default */ +@@ -1007,9 +1015,9 @@ void load_open_settings(settings_r *sesskey, Conf *conf) + gppb(sesskey, "SshBanner", true, conf, CONF_ssh_show_banner); + gppb(sesskey, "AuthTIS", false, conf, CONF_try_tis_auth); + gppb(sesskey, "AuthKI", true, conf, CONF_try_ki_auth); ++#ifndef NO_GSSAPI + gppb(sesskey, "AuthGSSAPI", true, conf, CONF_try_gssapi_auth); + gppb(sesskey, "AuthGSSAPIKEX", true, conf, CONF_try_gssapi_kex); +-#ifndef NO_GSSAPI + gprefs(sesskey, "GSSLibs", "\0", + gsslibkeywords, ngsslibs, conf, CONF_ssh_gsslist); + gppfile(sesskey, "GSSCustom", conf, CONF_ssh_gss_custom); +diff --git a/ssh.c b/ssh.c +index e35ebc64e2b5..e8ad61b8085d 100644 +--- a/ssh.c ++++ b/ssh.c +@@ -50,7 +50,9 @@ struct Ssh { + ssh_sharing_state *connshare; + bool attempting_connshare; + ++#ifndef NO_GSSAPI + struct ssh_connection_shared_gss_state gss_state; ++#endif + + char *savedhost; + int savedport; +@@ -252,10 +254,18 @@ static void ssh_got_ssh_version(struct ssh_version_receiver *rcv, + conf_get_bool(ssh->conf, CONF_tryagent), username, + conf_get_bool(ssh->conf, CONF_change_username), + conf_get_bool(ssh->conf, CONF_try_ki_auth), ++#ifndef NO_GSSAPI + conf_get_bool(ssh->conf, CONF_try_gssapi_auth), + conf_get_bool(ssh->conf, CONF_try_gssapi_kex), + conf_get_bool(ssh->conf, CONF_gssapifwd), +- &ssh->gss_state); ++ &ssh->gss_state ++#else ++ false, ++ false, ++ false, ++ NULL ++#endif ++ ); + ssh_connect_ppl(ssh, userauth_layer); + transport_child_layer = userauth_layer; + +@@ -267,7 +277,11 @@ static void ssh_got_ssh_version(struct ssh_version_receiver *rcv, + ssh->fullhostname, + ssh_verstring_get_local(old_bpp), + ssh_verstring_get_remote(old_bpp), ++#ifndef NO_GSSAPI + &ssh->gss_state, ++#else ++ NULL, ++#endif + &ssh->stats, transport_child_layer, false); + ssh_connect_ppl(ssh, ssh->base_layer); + +diff --git a/ssh2transport.c b/ssh2transport.c +index 8640d89d4be4..5e8955a0275f 100644 +--- a/ssh2transport.c ++++ b/ssh2transport.c +@@ -1781,6 +1781,7 @@ static void ssh2_transport_gss_update(struct ssh2_transport_state *s, + if (mins > 0 && s->gss_ctxt_lifetime <= mins * 60) + s->gss_status |= GSS_CTXT_EXPIRES; + } ++#endif /* NO_GSSAPI */ + + ptrlen ssh2_transport_get_session_id(PacketProtocolLayer *ppl) + { +@@ -1805,8 +1806,6 @@ void ssh2_transport_notify_auth_done(PacketProtocolLayer *ppl) + queue_idempotent_callback(&s->ppl.ic_process_queue); + } + +-#endif /* NO_GSSAPI */ +- + static bool ssh2_transport_get_specials( + PacketProtocolLayer *ppl, add_special_fn_t add_special, void *ctx) + { +diff --git a/ssh2userauth.c b/ssh2userauth.c +index fc4139230557..7f5a129295ab 100644 +--- a/ssh2userauth.c ++++ b/ssh2userauth.c +@@ -613,8 +613,10 @@ static void ssh2_userauth_process_queue(PacketProtocolLayer *ppl) + * Scan it for method identifiers we know about. + */ + bool srv_pubkey = false, srv_passwd = false; +- bool srv_keyb_inter = false, srv_gssapi = false; +- bool srv_gssapi_keyex_auth = false; ++ bool srv_keyb_inter = false; ++#ifndef NO_GSSAPI ++ bool srv_gssapi = false, srv_gssapi_keyex_auth = false; ++#endif + + for (ptrlen method; get_commasep_word(&methods, &method) ;) { + if (ptrlen_eq_string(method, "publickey")) +@@ -623,10 +625,12 @@ static void ssh2_userauth_process_queue(PacketProtocolLayer *ppl) + srv_passwd = true; + else if (ptrlen_eq_string(method, "keyboard-interactive")) + srv_keyb_inter = true; ++#ifndef NO_GSSAPI + else if (ptrlen_eq_string(method, "gssapi-with-mic")) + srv_gssapi = true; + else if (ptrlen_eq_string(method, "gssapi-keyex")) + srv_gssapi_keyex_auth = true; ++#endif + } + + /* +diff --git a/sshserver.c b/sshserver.c +index 5f6e7ddeeaec..5c34bb356757 100644 +--- a/sshserver.c ++++ b/sshserver.c +@@ -50,7 +50,9 @@ struct server { + PacketProtocolLayer *base_layer; + ConnectionLayer *cl; + ++#ifndef NO_GSSAPI + struct ssh_connection_shared_gss_state gss_state; ++#endif + }; + + static void ssh_server_free_callback(void *vsrv); +@@ -245,9 +247,11 @@ Plug *ssh_server_plug( + bufchain_init(&srv->out_raw); + bufchain_init(&srv->dummy_user_input); + ++#ifndef NO_GSSAPI + /* FIXME: replace with sensible */ + srv->gss_state.libs = snew(struct ssh_gss_liblist); + srv->gss_state.libs->nlibraries = 0; ++#endif + + return &srv->plug; + } +@@ -297,7 +301,9 @@ static void ssh_server_free_callback(void *vsrv) + conf_free(srv->conf); + log_free(srv->logctx); + ++#ifndef NO_GSSAPI + sfree(srv->gss_state.libs); /* FIXME: replace with sensible */ ++#endif + + sfree(srv); + +@@ -442,7 +448,12 @@ static void server_got_ssh_version(struct ssh_version_receiver *rcv, + srv->conf, NULL, 0, NULL, + ssh_verstring_get_remote(old_bpp), + ssh_verstring_get_local(old_bpp), +- &srv->gss_state, &srv->stats, transport_child_layer, true); ++#ifndef NO_GSSAPI ++ &srv->gss_state, ++#else ++ NULL, ++#endif ++ &srv->stats, transport_child_layer, true); + ssh2_transport_provide_hostkeys( + srv->base_layer, srv->hostkeys, srv->nhostkeys); + if (userauth_layer) +-- +2.20.1 + diff --git a/bsp/buildroot/package/putty/0002-unix-uxpoll-need-_XOPEN_SOURCE.patch b/bsp/buildroot/package/putty/0002-unix-uxpoll-need-_XOPEN_SOURCE.patch new file mode 100644 index 00000000..fb4b6c26 --- /dev/null +++ b/bsp/buildroot/package/putty/0002-unix-uxpoll-need-_XOPEN_SOURCE.patch @@ -0,0 +1,39 @@ +From c1b9d07d39e33e40d2ad04be176367cf48271cfd Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 26 Mar 2019 20:00:45 +0200 +Subject: [PATCH] unix/uxpoll: need _XOPEN_SOURCE +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The code needs _XOPEN_SOURCE for some poll() flags. + +Fix this build failure with uClibc: + +./../unix/uxpoll.c: In function ‘pollwrap_add_fd_rwx’: +./../unix/uxpoll.c:75:32: error: ‘POLLRDNORM’ undeclared (first use in this function); did you mean ‘POLLNVAL’? + #define SELECT_R_IN (POLLIN | POLLRDNORM | POLLRDBAND) + ^ +./../unix/uxpoll.c:87:19: note: in expansion of macro ‘SELECT_R_IN’ + events |= SELECT_R_IN; + ^~~~~~~~~~~ + +Signed-off-by: Baruch Siach +--- +Upstream status: issue reported to upstream developers + + unix/uxpoll.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/unix/uxpoll.c b/unix/uxpoll.c +index bbc5490d125d..6fe6ac7ba0c1 100644 +--- a/unix/uxpoll.c ++++ b/unix/uxpoll.c +@@ -1,3 +1,4 @@ ++#define _XOPEN_SOURCE + #include + + #include "putty.h" +-- +2.20.1 + diff --git a/bsp/buildroot/package/putty/0003-Fix-uClibc-build-issues.patch b/bsp/buildroot/package/putty/0003-Fix-uClibc-build-issues.patch new file mode 100644 index 00000000..ceefded9 --- /dev/null +++ b/bsp/buildroot/package/putty/0003-Fix-uClibc-build-issues.patch @@ -0,0 +1,93 @@ +From 0554cfbb926a2ba26efda08865b270af8536e0bb Mon Sep 17 00:00:00 2001 +From: Simon Tatham +Date: Tue, 26 Mar 2019 20:03:09 +0200 +Subject: [PATCH] Fix uClibc build issues +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fix two uClibc build failures. + +Missing sys/auxv.h header: + +./../unix/uxutils.c:5:10: fatal error: sys/auxv.h: No such file or directory + #include + ^~~~~~~~~~~~ + +Missing futimes() implementation: + +./../unix/uxsftpserver.c: In function ‘uss_fsetstat’: +./../unix/uxsftpserver.c:441:25: warning: implicit declaration of function ‘futimes’; did you mean ‘lutimes’? [-Wimplicit-function-declaration] + #define FD_PREFIX(func) f ## func + ^ +./../unix/uxsftpserver.c:435:17: note: in expansion of macro ‘FD_PREFIX’ + if (api_prefix(utimes)(api_arg, tv) < 0) \ + ^~~~~~~~~~ +./../unix/uxsftpserver.c:470:5: note: in expansion of macro ‘SETSTAT_GUTS’ + SETSTAT_GUTS(FD_PREFIX, fd, attrs, success); + ^~~~~~~~~~~~ + +unix/uxsftpserver.o: In function `uss_fsetstat': +uxsftpserver.c:(.text+0x1058): undefined reference to `futimes' + +Signed-off-by: Baruch Siach +--- +Upstream status: patch suggested by upstream developer Simon Tatham + + configure.ac | 3 ++- + unix/uxsftpserver.c | 10 ++++++++++ + unix/uxutils.c | 3 ++- + 3 files changed, 14 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 35552ed24dbe..1949ef62f219 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -173,8 +173,9 @@ AC_CHECK_LIB(X11, XOpenDisplay, + [GTK_LIBS="-lX11 $GTK_LIBS" + AC_DEFINE([HAVE_LIBX11],[],[Define if libX11.a is available])]) + +-AC_CHECK_FUNCS([getaddrinfo posix_openpt ptsname setresuid strsignal updwtmpx fstatat dirfd]) ++AC_CHECK_FUNCS([getaddrinfo posix_openpt ptsname setresuid strsignal updwtmpx fstatat dirfd futimes]) + AC_CHECK_DECLS([CLOCK_MONOTONIC], [], [], [[#include ]]) ++AC_CHECK_HEADERS([sys/auxv.h asm/hwcap.h]) + AC_SEARCH_LIBS([clock_gettime], [rt], [AC_DEFINE([HAVE_CLOCK_GETTIME],[],[Define if clock_gettime() is available])]) + + AC_CACHE_CHECK([for SO_PEERCRED and dependencies], [x_cv_linux_so_peercred], [ +diff --git a/unix/uxsftpserver.c b/unix/uxsftpserver.c +index 6fab0ba090d6..a90344e04219 100644 +--- a/unix/uxsftpserver.c ++++ b/unix/uxsftpserver.c +@@ -412,6 +412,16 @@ static void uss_fstat(SftpServer *srv, SftpReplyBuilder *reply, + } + } + ++#if !HAVE_FUTIMES ++static inline int futimes(int fd, const struct timeval tv[2]) ++{ ++ /* If the OS doesn't support futimes(3) then we have to pretend it ++ * always returns failure */ ++ errno = EINVAL; ++ return -1; ++} ++#endif ++ + /* + * The guts of setstat and fsetstat, macroised so that they can call + * fchown(fd,...) or chown(path,...) depending on parameters. +diff --git a/unix/uxutils.c b/unix/uxutils.c +index fcbcc4d422c1..f01bc2c14a2d 100644 +--- a/unix/uxutils.c ++++ b/unix/uxutils.c +@@ -1,6 +1,7 @@ + #include "ssh.h" + +-#if defined __linux__ && (defined __arm__ || defined __aarch64__) ++#if defined __linux__ && (defined __arm__ || defined __aarch64__) && \ ++ HAVE_SYS_AUXV_H && HAVE_ASM_HWCAP_H + + #include + #include +-- +2.20.1 + diff --git a/bsp/buildroot/package/putty/putty.hash b/bsp/buildroot/package/putty/putty.hash index e0527105..30f51848 100644 --- a/bsp/buildroot/package/putty/putty.hash +++ b/bsp/buildroot/package/putty/putty.hash @@ -1,3 +1,6 @@ -# Hashes from: http://the.earth.li/~sgtatham/putty/0.70/{sha256,sha512}sums -sha256 bb8aa49d6e96c5a8e18a057f3150a1695ed99a24eef699e783651d1f24e7b0be putty-0.70.tar.gz -sha512 2aaf4fa2b4ad2d82eb5cdc4419ade79e0c5d8bd3c093db92b3c048e6107f85a5f1647f9d8203cda0906ce2b926725a75319f981cb32e6f1ebf50b1f738564fed putty-0.70.tar.gz +# Hashes from: http://the.earth.li/~sgtatham/putty/0.71/{sha256,sha512}sums +sha256 2f931ce2f89780cc8ca7bbed90fcd22c44515d2773f5fa954069e209b48ec6b8 putty-0.71.tar.gz +sha512 f8791210bd5925b26d51b13f0558eea15dbac40808051165b236d6436226f5c2b0aa7d69288ed9e2bddc1066455678cfd0af73ef6b715a136c42f3b6f754ac07 putty-0.71.tar.gz + +# Locally calculated +sha256 b517b4a9504ba0f651d5e590245197b88d9a81d073905cc798cc9464c5ca7ba8 LICENCE diff --git a/bsp/buildroot/package/putty/putty.mk b/bsp/buildroot/package/putty/putty.mk index 52f2d4c3..68622a57 100644 --- a/bsp/buildroot/package/putty/putty.mk +++ b/bsp/buildroot/package/putty/putty.mk @@ -4,13 +4,14 @@ # ################################################################################ -PUTTY_VERSION = 0.70 +PUTTY_VERSION = 0.71 PUTTY_SITE = http://the.earth.li/~sgtatham/putty/$(PUTTY_VERSION) -PUTTY_SUBDIR = unix PUTTY_LICENSE = MIT PUTTY_LICENSE_FILES = LICENCE PUTTY_CONF_OPTS = --disable-gtktest PUTTY_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -Wno-error" +# Patching configure.ac +PUTTY_AUTORECONF = YES ifeq ($(BR2_PACKAGE_LIBGTK2),y) PUTTY_CONF_OPTS += --with-gtk=2 diff --git a/bsp/buildroot/package/python-aiojobs/Config.in b/bsp/buildroot/package/python-aiojobs/Config.in index 54d6c02a..ab619851 100644 --- a/bsp/buildroot/package/python-aiojobs/Config.in +++ b/bsp/buildroot/package/python-aiojobs/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_AIOJOBS bool "python-aiojobs" depends on BR2_PACKAGE_PYTHON3 - select BR2_PACKAGE_PYTHON_AIOHTTP # runtime help Jobs scheduler for managing background task (asyncio). diff --git a/bsp/buildroot/package/python-urllib3/python-urllib3.hash b/bsp/buildroot/package/python-urllib3/python-urllib3.hash index 098c7940..ec075cb4 100644 --- a/bsp/buildroot/package/python-urllib3/python-urllib3.hash +++ b/bsp/buildroot/package/python-urllib3/python-urllib3.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/urllib3/json -md5 f3d8b1841539200c949a33e87e551d8e urllib3-1.24.1.tar.gz -sha256 de9529817c93f27c8ccbfead6985011db27bd0ddfcdb2d86f3f663385c6a9c22 urllib3-1.24.1.tar.gz +md5 20bb5a170a534bd0acd98bfc007fcc22 urllib3-1.24.2.tar.gz +sha256 9a247273df709c4fedb38c711e44292304f73f39ab01beda9f6b9fc375669ac3 urllib3-1.24.2.tar.gz # Locally computed sha256 checksums sha256 11db569430ca5ad793f1399297b8df5041a22137abaf90642ea71da21d59121c LICENSE.txt diff --git a/bsp/buildroot/package/python-urllib3/python-urllib3.mk b/bsp/buildroot/package/python-urllib3/python-urllib3.mk index a2c3096a..893d32d9 100644 --- a/bsp/buildroot/package/python-urllib3/python-urllib3.mk +++ b/bsp/buildroot/package/python-urllib3/python-urllib3.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_URLLIB3_VERSION = 1.24.1 +PYTHON_URLLIB3_VERSION = 1.24.2 PYTHON_URLLIB3_SOURCE = urllib3-$(PYTHON_URLLIB3_VERSION).tar.gz -PYTHON_URLLIB3_SITE = https://files.pythonhosted.org/packages/b1/53/37d82ab391393565f2f831b8eedbffd57db5a718216f82f1a8b4d381a1c1 +PYTHON_URLLIB3_SITE = https://files.pythonhosted.org/packages/fd/fa/b21f4f03176463a6cccdb612a5ff71b927e5224e83483012747c12fc5d62 PYTHON_URLLIB3_LICENSE = MIT PYTHON_URLLIB3_LICENSE_FILES = LICENSE.txt PYTHON_URLLIB3_SETUP_TYPE = setuptools diff --git a/bsp/buildroot/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch b/bsp/buildroot/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch index 406f873a..f6fa3d75 100644 --- a/bsp/buildroot/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch +++ b/bsp/buildroot/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch @@ -18,7 +18,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index 82e830727e..b38bd79121 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1385,6 +1385,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c +@@ -1393,6 +1393,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \ $(DESTDIR)$(LIBDEST)/distutils/tests ; \ fi @@ -26,7 +26,7 @@ index 82e830727e..b38bd79121 100644 -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \ -d $(LIBDEST) -f \ -@@ -1412,6 +1413,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c +@@ -1420,6 +1421,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c $(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \ -d $(LIBDEST)/site-packages -f \ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages diff --git a/bsp/buildroot/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch b/bsp/buildroot/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch index 537e23cb..36b5af03 100644 --- a/bsp/buildroot/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch +++ b/bsp/buildroot/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch @@ -13,7 +13,7 @@ diff --git a/configure.ac b/configure.ac index a76b5444df..5f87c4db5a 100644 --- a/configure.ac +++ b/configure.ac -@@ -3985,7 +3985,7 @@ fi +@@ -4056,7 +4056,7 @@ fi AC_MSG_RESULT($ac_cv_buggy_getaddrinfo) diff --git a/bsp/buildroot/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch b/bsp/buildroot/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch index 6e07b292..647f3251 100644 --- a/bsp/buildroot/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch +++ b/bsp/buildroot/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch @@ -47,7 +47,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index b38bd79121..4ce917ab8d 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -196,6 +196,8 @@ FILEMODE= 644 +@@ -204,6 +204,8 @@ FILEMODE= 644 # configure script arguments CONFIG_ARGS= @CONFIG_ARGS@ @@ -56,7 +56,7 @@ index b38bd79121..4ce917ab8d 100644 # Subdirectories with code SRCDIRS= @SRCDIRS@ -@@ -609,6 +611,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o +@@ -617,6 +619,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o esac; \ echo "$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ @@ -64,7 +64,7 @@ index b38bd79121..4ce917ab8d 100644 $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build"; \ $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ -@@ -1508,7 +1511,8 @@ libainstall: @DEF_MAKE_RULE@ python-config +@@ -1526,7 +1529,8 @@ libainstall: @DEF_MAKE_RULE@ python-config # Install the dynamically loadable modules # This goes into $(exec_prefix) sharedinstall: sharedmods @@ -78,7 +78,7 @@ diff --git a/configure.ac b/configure.ac index 5f87c4db5a..d5ee2aedfb 100644 --- a/configure.ac +++ b/configure.ac -@@ -2902,6 +2902,8 @@ LIBS="$withval $LIBS" +@@ -2966,6 +2966,8 @@ LIBS="$withval $LIBS" PKG_PROG_PKG_CONFIG @@ -91,7 +91,7 @@ diff --git a/setup.py b/setup.py index fe477974bd..86643ae8bf 100644 --- a/setup.py +++ b/setup.py -@@ -43,7 +43,11 @@ host_platform = get_platform() +@@ -48,7 +48,11 @@ host_platform = get_platform() COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS")) # This global variable is used to hold the list of modules to be disabled. diff --git a/bsp/buildroot/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch b/bsp/buildroot/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch index 649ab205..b3a0e532 100644 --- a/bsp/buildroot/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch +++ b/bsp/buildroot/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch @@ -24,7 +24,7 @@ diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ex index 74de782d8a..d0c847b365 100644 --- a/Lib/distutils/command/build_ext.py +++ b/Lib/distutils/command/build_ext.py -@@ -233,7 +233,10 @@ class build_ext(Command): +@@ -234,7 +234,10 @@ class build_ext(Command): if (sysconfig.get_config_var('Py_ENABLE_SHARED')): if not sysconfig.python_build: # building third party extensions diff --git a/bsp/buildroot/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch b/bsp/buildroot/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch index 1579415b..d8c5b0fa 100644 --- a/bsp/buildroot/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch +++ b/bsp/buildroot/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch @@ -12,7 +12,7 @@ diff --git a/setup.py b/setup.py index 86643ae8bf..cd00fbdbda 100644 --- a/setup.py +++ b/setup.py -@@ -850,12 +850,9 @@ class PyBuildExt(build_ext): +@@ -855,12 +855,9 @@ class PyBuildExt(build_ext): pass # Issue 7384: Already linked against curses or tinfo. elif curses_library: readline_libs.append(curses_library) diff --git a/bsp/buildroot/package/python3/0006-Don-t-add-multiarch-paths.patch b/bsp/buildroot/package/python3/0006-Don-t-add-multiarch-paths.patch index 71c064ad..e55640d4 100644 --- a/bsp/buildroot/package/python3/0006-Don-t-add-multiarch-paths.patch +++ b/bsp/buildroot/package/python3/0006-Don-t-add-multiarch-paths.patch @@ -20,7 +20,7 @@ diff --git a/setup.py b/setup.py index cd00fbdbda..c956fa08d1 100644 --- a/setup.py +++ b/setup.py -@@ -547,10 +547,10 @@ class PyBuildExt(build_ext): +@@ -552,10 +552,10 @@ class PyBuildExt(build_ext): if not cross_compiling: add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') diff --git a/bsp/buildroot/package/python3/0007-Abort-on-failed-module-build.patch b/bsp/buildroot/package/python3/0007-Abort-on-failed-module-build.patch index f95889df..a7071e19 100644 --- a/bsp/buildroot/package/python3/0007-Abort-on-failed-module-build.patch +++ b/bsp/buildroot/package/python3/0007-Abort-on-failed-module-build.patch @@ -17,7 +17,7 @@ diff --git a/setup.py b/setup.py index c956fa08d1..b3add2be76 100644 --- a/setup.py +++ b/setup.py -@@ -358,6 +358,7 @@ class PyBuildExt(build_ext): +@@ -363,6 +363,7 @@ class PyBuildExt(build_ext): print("Failed to build these modules:") print_three_column(failed) print() diff --git a/bsp/buildroot/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch b/bsp/buildroot/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch index c5b301d4..5c645201 100644 --- a/bsp/buildroot/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch +++ b/bsp/buildroot/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch @@ -23,7 +23,7 @@ diff --git a/setup.py b/setup.py index b3add2be76..29bfd174d2 100644 --- a/setup.py +++ b/setup.py -@@ -514,7 +514,7 @@ class PyBuildExt(build_ext): +@@ -519,7 +519,7 @@ class PyBuildExt(build_ext): tmpfile = os.path.join(self.build_temp, 'gccpaths') if not os.path.exists(self.build_temp): os.makedirs(self.build_temp) diff --git a/bsp/buildroot/package/python3/0013-Add-an-option-to-disable-installation-of-test-module.patch b/bsp/buildroot/package/python3/0013-Add-an-option-to-disable-installation-of-test-module.patch index 35aa73c3..8180880e 100644 --- a/bsp/buildroot/package/python3/0013-Add-an-option-to-disable-installation-of-test-module.patch +++ b/bsp/buildroot/package/python3/0013-Add-an-option-to-disable-installation-of-test-module.patch @@ -19,7 +19,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index 4ce917ab8d..4110fff4ac 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1251,8 +1251,28 @@ maninstall: altmaninstall +@@ -1259,8 +1259,28 @@ maninstall: altmaninstall # Install the library XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax @@ -54,7 +54,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index 1ff2362..194dbfc 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1326,26 +1326,24 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ +@@ -1334,26 +1334,24 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ test/test_importlib/source \ test/test_importlib/zipdata01 \ test/test_importlib/zipdata02 \ @@ -99,7 +99,7 @@ diff --git a/configure.ac b/configure.ac index d5ee2aedfb..f924937fe1 100644 --- a/configure.ac +++ b/configure.ac -@@ -3162,6 +3162,11 @@ if test "$posix_threads" = "yes"; then +@@ -3226,6 +3226,11 @@ if test "$posix_threads" = "yes"; then AC_CHECK_FUNCS(pthread_getcpuclockid) fi diff --git a/bsp/buildroot/package/python3/0014-Add-an-option-to-disable-pydoc.patch b/bsp/buildroot/package/python3/0014-Add-an-option-to-disable-pydoc.patch index 8055009d..6f6e265c 100644 --- a/bsp/buildroot/package/python3/0014-Add-an-option-to-disable-pydoc.patch +++ b/bsp/buildroot/package/python3/0014-Add-an-option-to-disable-pydoc.patch @@ -20,7 +20,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index 4110fff4ac..badb2af35d 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1221,7 +1221,9 @@ bininstall: altbininstall +@@ -1229,7 +1229,9 @@ bininstall: altbininstall -rm -f $(DESTDIR)$(BINDIR)/idle3 (cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle3) -rm -f $(DESTDIR)$(BINDIR)/pydoc3 @@ -30,7 +30,7 @@ index 4110fff4ac..badb2af35d 100644 -rm -f $(DESTDIR)$(BINDIR)/2to3 (cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3) -rm -f $(DESTDIR)$(BINDIR)/pyvenv -@@ -1269,7 +1271,7 @@ LIBSUBDIRS= tkinter site-packages \ +@@ -1277,7 +1279,7 @@ LIBSUBDIRS= tkinter site-packages \ multiprocessing multiprocessing/dummy \ unittest \ venv venv/scripts venv/scripts/common venv/scripts/posix \ @@ -39,7 +39,7 @@ index 4110fff4ac..badb2af35d 100644 TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ tkinter/test/test_ttk test \ -@@ -1344,6 +1346,10 @@ ifeq (@TEST_MODULES@,yes) +@@ -1352,6 +1354,10 @@ ifeq (@TEST_MODULES@,yes) LIBSUBDIRS += $(TESTSUBDIRS) endif @@ -54,7 +54,7 @@ diff --git a/configure.ac b/configure.ac index f924937fe1..1621fa1611 100644 --- a/configure.ac +++ b/configure.ac -@@ -3162,6 +3162,12 @@ if test "$posix_threads" = "yes"; then +@@ -3226,6 +3226,12 @@ if test "$posix_threads" = "yes"; then AC_CHECK_FUNCS(pthread_getcpuclockid) fi @@ -71,7 +71,7 @@ diff --git a/setup.py b/setup.py index 29bfd174d2..94dd337fef 100644 --- a/setup.py +++ b/setup.py -@@ -2332,6 +2332,12 @@ def main(): +@@ -2337,6 +2337,12 @@ def main(): # turn off warnings when deprecated modules are imported import warnings warnings.filterwarnings("ignore",category=DeprecationWarning) @@ -84,7 +84,7 @@ index 29bfd174d2..94dd337fef 100644 setup(# PyPI Metadata (PEP 301) name = "Python", version = sys.version.split()[0], -@@ -2356,8 +2362,7 @@ def main(): +@@ -2361,8 +2367,7 @@ def main(): # If you change the scripts installed here, you also need to # check the PyBuildScripts command above, and change the links # created by the bininstall target in Makefile.pre.in diff --git a/bsp/buildroot/package/python3/0015-Add-an-option-to-disable-lib2to3.patch b/bsp/buildroot/package/python3/0015-Add-an-option-to-disable-lib2to3.patch index 3d3c5de3..d2ce9177 100644 --- a/bsp/buildroot/package/python3/0015-Add-an-option-to-disable-lib2to3.patch +++ b/bsp/buildroot/package/python3/0015-Add-an-option-to-disable-lib2to3.patch @@ -20,7 +20,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index badb2af35d..931cc3ed07 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1225,7 +1225,9 @@ ifeq (@PYDOC@,yes) +@@ -1233,7 +1233,9 @@ ifeq (@PYDOC@,yes) (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) endif -rm -f $(DESTDIR)$(BINDIR)/2to3 @@ -30,7 +30,7 @@ index badb2af35d..931cc3ed07 100644 -rm -f $(DESTDIR)$(BINDIR)/pyvenv (cd $(DESTDIR)$(BINDIR); $(LN) -s pyvenv-$(VERSION) pyvenv) if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \ -@@ -1262,7 +1264,6 @@ LIBSUBDIRS= tkinter site-packages \ +@@ -1270,7 +1272,6 @@ LIBSUBDIRS= tkinter site-packages \ html json http dbm xmlrpc \ sqlite3 \ logging csv wsgiref urllib \ @@ -38,7 +38,7 @@ index badb2af35d..931cc3ed07 100644 ctypes ctypes/macholib \ idlelib idlelib/Icons \ distutils distutils/command $(XMLLIBSUBDIRS) \ -@@ -1332,9 +1333,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ +@@ -1340,9 +1341,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ test/test_email test/test_email/data \ test/test_json \ sqlite3/test \ @@ -48,7 +48,7 @@ index badb2af35d..931cc3ed07 100644 ctypes/test \ idlelib/idle_test \ distutils/tests \ -@@ -1342,6 +1340,14 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ +@@ -1350,6 +1348,14 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ test/test_tools test/test_warnings test/test_warnings/data \ unittest/test unittest/test/testmock @@ -63,7 +63,7 @@ index badb2af35d..931cc3ed07 100644 ifeq (@TEST_MODULES@,yes) LIBSUBDIRS += $(TESTSUBDIRS) endif -@@ -1441,10 +1447,12 @@ ifeq (@PYC_BUILD@,yes) +@@ -1449,10 +1455,12 @@ ifeq (@PYC_BUILD@,yes) -d $(LIBDEST)/site-packages -f \ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages endif @@ -80,7 +80,7 @@ diff --git a/configure.ac b/configure.ac index 1621fa1611..13b2edf8b7 100644 --- a/configure.ac +++ b/configure.ac -@@ -3174,6 +3174,12 @@ AC_ARG_ENABLE(test-modules, +@@ -3238,6 +3238,12 @@ AC_ARG_ENABLE(test-modules, AS_HELP_STRING([--disable-test-modules], [disable test modules]), [ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ]) @@ -97,7 +97,7 @@ diff --git a/setup.py b/setup.py index 94dd337fef..76429e1326 100644 --- a/setup.py +++ b/setup.py -@@ -2333,10 +2333,11 @@ def main(): +@@ -2338,10 +2338,11 @@ def main(): import warnings warnings.filterwarnings("ignore",category=DeprecationWarning) diff --git a/bsp/buildroot/package/python3/0016-Add-option-to-disable-the-sqlite3-module.patch b/bsp/buildroot/package/python3/0016-Add-option-to-disable-the-sqlite3-module.patch index e5192cc4..134a7ef8 100644 --- a/bsp/buildroot/package/python3/0016-Add-option-to-disable-the-sqlite3-module.patch +++ b/bsp/buildroot/package/python3/0016-Add-option-to-disable-the-sqlite3-module.patch @@ -16,7 +16,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index 931cc3ed07..a1ce0712cd 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1262,7 +1262,6 @@ LIBSUBDIRS= tkinter site-packages \ +@@ -1270,7 +1270,6 @@ LIBSUBDIRS= tkinter site-packages \ email email/mime \ ensurepip ensurepip/_bundled \ html json http dbm xmlrpc \ @@ -24,7 +24,7 @@ index 931cc3ed07..a1ce0712cd 100644 logging csv wsgiref urllib \ ctypes ctypes/macholib \ idlelib idlelib/Icons \ -@@ -1332,7 +1331,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ +@@ -1340,7 +1339,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ test/test_asyncio \ test/test_email test/test_email/data \ test/test_json \ @@ -32,7 +32,7 @@ index 931cc3ed07..a1ce0712cd 100644 ctypes/test \ idlelib/idle_test \ distutils/tests \ -@@ -1348,6 +1346,11 @@ TESTSUBDIRS += lib2to3/tests \ +@@ -1356,6 +1354,11 @@ TESTSUBDIRS += lib2to3/tests \ lib2to3/tests/data/fixers/myfixes endif @@ -48,7 +48,7 @@ diff --git a/configure.ac b/configure.ac index 13b2edf8b7..d7582cfea4 100644 --- a/configure.ac +++ b/configure.ac -@@ -3162,6 +3162,15 @@ if test "$posix_threads" = "yes"; then +@@ -3226,6 +3226,15 @@ if test "$posix_threads" = "yes"; then AC_CHECK_FUNCS(pthread_getcpuclockid) fi diff --git a/bsp/buildroot/package/python3/0017-Add-an-option-to-disable-the-tk-module.patch b/bsp/buildroot/package/python3/0017-Add-an-option-to-disable-the-tk-module.patch index 96918f02..57d45a22 100644 --- a/bsp/buildroot/package/python3/0017-Add-an-option-to-disable-the-tk-module.patch +++ b/bsp/buildroot/package/python3/0017-Add-an-option-to-disable-the-tk-module.patch @@ -16,7 +16,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index a1ce0712cd..dc1e917cc3 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1256,7 +1256,7 @@ maninstall: altmaninstall +@@ -1264,7 +1264,7 @@ maninstall: altmaninstall # Install the library XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax @@ -25,7 +25,7 @@ index a1ce0712cd..dc1e917cc3 100644 asyncio \ collections concurrent concurrent/futures encodings \ email email/mime \ -@@ -1273,8 +1273,7 @@ LIBSUBDIRS= tkinter site-packages \ +@@ -1281,8 +1281,7 @@ LIBSUBDIRS= tkinter site-packages \ venv venv/scripts venv/scripts/common venv/scripts/posix \ curses @@ -35,7 +35,7 @@ index a1ce0712cd..dc1e917cc3 100644 test/audiodata \ test/capath test/data \ test/cjkencodings test/decimaltestdata test/xmltestdata \ -@@ -1338,6 +1337,12 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ +@@ -1346,6 +1345,12 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ test/test_tools test/test_warnings test/test_warnings/data \ unittest/test unittest/test/testmock @@ -52,7 +52,7 @@ diff --git a/configure.ac b/configure.ac index d7582cfea4..6a56a5b0c1 100644 --- a/configure.ac +++ b/configure.ac -@@ -3171,6 +3171,15 @@ if test "$SQLITE3" = "no" ; then +@@ -3235,6 +3235,15 @@ if test "$SQLITE3" = "no" ; then DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" fi diff --git a/bsp/buildroot/package/python3/0018-Add-an-option-to-disable-the-curses-module.patch b/bsp/buildroot/package/python3/0018-Add-an-option-to-disable-the-curses-module.patch index 8205d2fe..767ded5a 100644 --- a/bsp/buildroot/package/python3/0018-Add-an-option-to-disable-the-curses-module.patch +++ b/bsp/buildroot/package/python3/0018-Add-an-option-to-disable-the-curses-module.patch @@ -16,7 +16,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index dc1e917cc3..6a6bc082cd 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1270,8 +1270,7 @@ LIBSUBDIRS= site-packages \ +@@ -1278,8 +1278,7 @@ LIBSUBDIRS= site-packages \ turtledemo \ multiprocessing multiprocessing/dummy \ unittest \ @@ -26,7 +26,7 @@ index dc1e917cc3..6a6bc082cd 100644 TESTSUBDIRS= test \ test/audiodata \ -@@ -1343,6 +1342,10 @@ TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \ +@@ -1351,6 +1350,10 @@ TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \ tkinter/test/test_ttk endif @@ -41,7 +41,7 @@ diff --git a/configure.ac b/configure.ac index 6a56a5b0c1..5896b39ff9 100644 --- a/configure.ac +++ b/configure.ac -@@ -3180,6 +3180,15 @@ if test "$TK" = "no"; then +@@ -3244,6 +3244,15 @@ if test "$TK" = "no"; then DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" fi diff --git a/bsp/buildroot/package/python3/0019-Add-an-option-to-disable-expat.patch b/bsp/buildroot/package/python3/0019-Add-an-option-to-disable-expat.patch index 6057a7f7..6667eaf6 100644 --- a/bsp/buildroot/package/python3/0019-Add-an-option-to-disable-expat.patch +++ b/bsp/buildroot/package/python3/0019-Add-an-option-to-disable-expat.patch @@ -23,7 +23,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index 6a6bc082cd..dc4b92b6fe 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1265,7 +1265,7 @@ LIBSUBDIRS= site-packages \ +@@ -1273,7 +1273,7 @@ LIBSUBDIRS= site-packages \ logging csv wsgiref urllib \ ctypes ctypes/macholib \ idlelib idlelib/Icons \ @@ -32,7 +32,7 @@ index 6a6bc082cd..dc4b92b6fe 100644 importlib \ turtledemo \ multiprocessing multiprocessing/dummy \ -@@ -1346,6 +1346,10 @@ ifeq (@CURSES@,yes) +@@ -1354,6 +1354,10 @@ ifeq (@CURSES@,yes) LIBSUBDIRS += curses endif @@ -47,7 +47,7 @@ diff --git a/configure.ac b/configure.ac index 5896b39ff9..6f21482207 100644 --- a/configure.ac +++ b/configure.ac -@@ -2905,13 +2905,21 @@ PKG_PROG_PKG_CONFIG +@@ -2969,13 +2969,21 @@ PKG_PROG_PKG_CONFIG AC_SUBST(DISABLED_EXTENSIONS) # Check for use of the system expat library @@ -78,7 +78,7 @@ diff --git a/setup.py b/setup.py index 76429e1326..38aa5e605e 100644 --- a/setup.py +++ b/setup.py -@@ -1485,7 +1485,7 @@ class PyBuildExt(build_ext): +@@ -1490,7 +1490,7 @@ class PyBuildExt(build_ext): # # More information on Expat can be found at www.libexpat.org. # diff --git a/bsp/buildroot/package/python3/0020-Add-an-option-to-disable-CJK-codecs.patch b/bsp/buildroot/package/python3/0020-Add-an-option-to-disable-CJK-codecs.patch index 096278ca..ee81e0bc 100644 --- a/bsp/buildroot/package/python3/0020-Add-an-option-to-disable-CJK-codecs.patch +++ b/bsp/buildroot/package/python3/0020-Add-an-option-to-disable-CJK-codecs.patch @@ -12,7 +12,7 @@ diff --git a/configure.ac b/configure.ac index 6f21482207..c7742faf41 100644 --- a/configure.ac +++ b/configure.ac -@@ -3179,6 +3179,12 @@ if test "$SQLITE3" = "no" ; then +@@ -3243,6 +3243,12 @@ if test "$SQLITE3" = "no" ; then DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" fi diff --git a/bsp/buildroot/package/python3/0021-Add-an-option-to-disable-NIS.patch b/bsp/buildroot/package/python3/0021-Add-an-option-to-disable-NIS.patch index ecddd46e..d38f858b 100644 --- a/bsp/buildroot/package/python3/0021-Add-an-option-to-disable-NIS.patch +++ b/bsp/buildroot/package/python3/0021-Add-an-option-to-disable-NIS.patch @@ -15,7 +15,7 @@ diff --git a/configure.ac b/configure.ac index c7742faf41..42a871bb09 100644 --- a/configure.ac +++ b/configure.ac -@@ -3185,6 +3185,12 @@ AC_ARG_ENABLE(codecs-cjk, +@@ -3249,6 +3249,12 @@ AC_ARG_ENABLE(codecs-cjk, DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk _codecs_iso2022" fi]) diff --git a/bsp/buildroot/package/python3/0022-Add-an-option-to-disable-unicodedata.patch b/bsp/buildroot/package/python3/0022-Add-an-option-to-disable-unicodedata.patch index 8d246921..17e9861e 100644 --- a/bsp/buildroot/package/python3/0022-Add-an-option-to-disable-unicodedata.patch +++ b/bsp/buildroot/package/python3/0022-Add-an-option-to-disable-unicodedata.patch @@ -12,7 +12,7 @@ diff --git a/configure.ac b/configure.ac index 42a871bb09..1d610e132b 100644 --- a/configure.ac +++ b/configure.ac -@@ -3191,6 +3191,12 @@ AC_ARG_ENABLE(nis, +@@ -3255,6 +3255,12 @@ AC_ARG_ENABLE(nis, DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" fi]) diff --git a/bsp/buildroot/package/python3/0023-Add-an-option-to-disable-IDLE.patch b/bsp/buildroot/package/python3/0023-Add-an-option-to-disable-IDLE.patch index 068ff2c1..98607c5e 100644 --- a/bsp/buildroot/package/python3/0023-Add-an-option-to-disable-IDLE.patch +++ b/bsp/buildroot/package/python3/0023-Add-an-option-to-disable-IDLE.patch @@ -19,7 +19,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index dc4b92b6fe..3e43066d90 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1219,7 +1219,9 @@ bininstall: altbininstall +@@ -1227,7 +1227,9 @@ bininstall: altbininstall -rm -f $(DESTDIR)$(LIBPC)/python3.pc (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python3.pc) -rm -f $(DESTDIR)$(BINDIR)/idle3 @@ -29,7 +29,7 @@ index dc4b92b6fe..3e43066d90 100644 -rm -f $(DESTDIR)$(BINDIR)/pydoc3 ifeq (@PYDOC@,yes) (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) -@@ -1264,7 +1266,6 @@ LIBSUBDIRS= site-packages \ +@@ -1272,7 +1274,6 @@ LIBSUBDIRS= site-packages \ html json http dbm xmlrpc \ logging csv wsgiref urllib \ ctypes ctypes/macholib \ @@ -37,7 +37,7 @@ index dc4b92b6fe..3e43066d90 100644 distutils distutils/command \ importlib \ turtledemo \ -@@ -1350,6 +1351,10 @@ ifeq (@EXPAT@,yes) +@@ -1358,6 +1359,10 @@ ifeq (@EXPAT@,yes) LIBSUBDIRS += $(XMLLIBSUBDIRS) endif @@ -52,7 +52,7 @@ diff --git a/configure.ac b/configure.ac index 1d610e132b..2699e7ceb1 100644 --- a/configure.ac +++ b/configure.ac -@@ -3233,6 +3233,12 @@ AC_ARG_ENABLE(lib2to3, +@@ -3297,6 +3297,12 @@ AC_ARG_ENABLE(lib2to3, AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]), [ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ]) @@ -69,7 +69,7 @@ diff --git a/setup.py b/setup.py index 38aa5e605e..d642825c1e 100644 --- a/setup.py +++ b/setup.py -@@ -2333,11 +2333,13 @@ def main(): +@@ -2338,11 +2338,13 @@ def main(): import warnings warnings.filterwarnings("ignore",category=DeprecationWarning) diff --git a/bsp/buildroot/package/python3/0024-Add-an-option-to-disable-decimal.patch b/bsp/buildroot/package/python3/0024-Add-an-option-to-disable-decimal.patch index 3dcaac96..31ffbc6b 100644 --- a/bsp/buildroot/package/python3/0024-Add-an-option-to-disable-decimal.patch +++ b/bsp/buildroot/package/python3/0024-Add-an-option-to-disable-decimal.patch @@ -20,7 +20,7 @@ diff --git a/configure.ac b/configure.ac index 2699e7ceb1..e2c3b6f25c 100644 --- a/configure.ac +++ b/configure.ac -@@ -2956,13 +2956,20 @@ fi +@@ -3020,13 +3020,20 @@ fi AC_SUBST(LIBFFI_INCLUDEDIR) # Check for use of the system libmpdec library @@ -50,7 +50,7 @@ diff --git a/setup.py b/setup.py index d642825c1e..5b98255857 100644 --- a/setup.py +++ b/setup.py -@@ -2010,7 +2010,7 @@ class PyBuildExt(build_ext): +@@ -2015,7 +2015,7 @@ class PyBuildExt(build_ext): def _decimal_ext(self): extra_compile_args = [] undef_macros = [] diff --git a/bsp/buildroot/package/python3/0025-Add-an-option-to-disable-the-ossaudiodev-module.patch b/bsp/buildroot/package/python3/0025-Add-an-option-to-disable-the-ossaudiodev-module.patch index 83e1e349..b7b195a1 100644 --- a/bsp/buildroot/package/python3/0025-Add-an-option-to-disable-the-ossaudiodev-module.patch +++ b/bsp/buildroot/package/python3/0025-Add-an-option-to-disable-the-ossaudiodev-module.patch @@ -12,7 +12,7 @@ diff --git a/configure.ac b/configure.ac index e2c3b6f25c..8e3dded25e 100644 --- a/configure.ac +++ b/configure.ac -@@ -2971,6 +2971,12 @@ else +@@ -3035,6 +3035,12 @@ else fi AC_SUBST(MPDEC) diff --git a/bsp/buildroot/package/python3/0026-Add-an-option-to-disable-openssl-support.patch b/bsp/buildroot/package/python3/0026-Add-an-option-to-disable-openssl-support.patch index ad4da1ad..2d569e92 100644 --- a/bsp/buildroot/package/python3/0026-Add-an-option-to-disable-openssl-support.patch +++ b/bsp/buildroot/package/python3/0026-Add-an-option-to-disable-openssl-support.patch @@ -12,7 +12,7 @@ diff --git a/configure.ac b/configure.ac index 8e3dded25e..28bcdabd67 100644 --- a/configure.ac +++ b/configure.ac -@@ -3210,6 +3210,12 @@ AC_ARG_ENABLE(unicodedata, +@@ -3274,6 +3274,12 @@ AC_ARG_ENABLE(unicodedata, DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata" fi]) diff --git a/bsp/buildroot/package/python3/0027-Add-an-option-to-disable-the-readline-module.patch b/bsp/buildroot/package/python3/0027-Add-an-option-to-disable-the-readline-module.patch index ec399a8d..1a28dd82 100644 --- a/bsp/buildroot/package/python3/0027-Add-an-option-to-disable-the-readline-module.patch +++ b/bsp/buildroot/package/python3/0027-Add-an-option-to-disable-the-readline-module.patch @@ -12,7 +12,7 @@ diff --git a/configure.ac b/configure.ac index 28bcdabd67..484f6ebaca 100644 --- a/configure.ac +++ b/configure.ac -@@ -3216,6 +3216,12 @@ AC_ARG_ENABLE(openssl, +@@ -3280,6 +3280,12 @@ AC_ARG_ENABLE(openssl, DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl _ssl _hashlib" fi]) diff --git a/bsp/buildroot/package/python3/0028-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch b/bsp/buildroot/package/python3/0028-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch index 7753acf7..4bf60fd6 100644 --- a/bsp/buildroot/package/python3/0028-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch +++ b/bsp/buildroot/package/python3/0028-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch @@ -12,7 +12,7 @@ diff --git a/configure.ac b/configure.ac index 484f6ebaca..79538df0cf 100644 --- a/configure.ac +++ b/configure.ac -@@ -3222,6 +3222,24 @@ AC_ARG_ENABLE(readline, +@@ -3286,6 +3286,24 @@ AC_ARG_ENABLE(readline, DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} readline" fi]) diff --git a/bsp/buildroot/package/python3/0030-Fix-cross-compiling-the-uuid-module.patch b/bsp/buildroot/package/python3/0030-Fix-cross-compiling-the-uuid-module.patch index 93df02f6..8b4dca91 100644 --- a/bsp/buildroot/package/python3/0030-Fix-cross-compiling-the-uuid-module.patch +++ b/bsp/buildroot/package/python3/0030-Fix-cross-compiling-the-uuid-module.patch @@ -23,7 +23,7 @@ diff --git a/setup.py b/setup.py index 1a7085c5c4..f33d0b57b8 100644 --- a/setup.py +++ b/setup.py -@@ -1627,7 +1627,8 @@ class PyBuildExt(build_ext): +@@ -1632,7 +1632,8 @@ class PyBuildExt(build_ext): missing.append('_tkinter') # Build the _uuid module if possible diff --git a/bsp/buildroot/package/python3/0031-Add-an-option-to-disable-uuid-module.patch b/bsp/buildroot/package/python3/0031-Add-an-option-to-disable-uuid-module.patch index c429c59a..1c674b54 100644 --- a/bsp/buildroot/package/python3/0031-Add-an-option-to-disable-uuid-module.patch +++ b/bsp/buildroot/package/python3/0031-Add-an-option-to-disable-uuid-module.patch @@ -12,7 +12,7 @@ diff --git a/configure.ac b/configure.ac index b022460e73..505b7c9be0 100644 --- a/configure.ac +++ b/configure.ac -@@ -3258,6 +3258,15 @@ if test "$CURSES" = "no"; then +@@ -3322,6 +3322,15 @@ if test "$CURSES" = "no"; then DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel" fi diff --git a/bsp/buildroot/package/python3/0033-bpo-35746-Fix-segfault-in-ssl-s-cert-parser-GH-11569.patch b/bsp/buildroot/package/python3/0033-bpo-35746-Fix-segfault-in-ssl-s-cert-parser-GH-11569.patch deleted file mode 100644 index c29ab7ef..00000000 --- a/bsp/buildroot/package/python3/0033-bpo-35746-Fix-segfault-in-ssl-s-cert-parser-GH-11569.patch +++ /dev/null @@ -1,121 +0,0 @@ -From be5de958e9052e322b0087c6dba81cdad0c3e031 Mon Sep 17 00:00:00 2001 -From: "Miss Islington (bot)" - <31488909+miss-islington@users.noreply.github.com> -Date: Tue, 15 Jan 2019 15:03:36 -0800 -Subject: [PATCH] bpo-35746: Fix segfault in ssl's cert parser (GH-11569) - -Fix a NULL pointer deref in ssl module. The cert parser did not handle CRL -distribution points with empty DP or URI correctly. A malicious or buggy -certificate can result into segfault. - -Signed-off-by: Christian Heimes - -https://bugs.python.org/issue35746 -(cherry picked from commit a37f52436f9aa4b9292878b72f3ff1480e2606c3) - -Co-authored-by: Christian Heimes -Signed-off-by: Peter Korsgaard ---- - Lib/test/talos-2019-0758.pem | 22 ++++++++++++++++++++++ - Lib/test/test_ssl.py | 22 ++++++++++++++++++++++ - .../2019-01-15-18-16-05.bpo-35746.nMSd0j.rst | 3 +++ - Modules/_ssl.c | 4 ++++ - 4 files changed, 51 insertions(+) - create mode 100644 Lib/test/talos-2019-0758.pem - create mode 100644 Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst - -diff --git a/Lib/test/talos-2019-0758.pem b/Lib/test/talos-2019-0758.pem -new file mode 100644 -index 0000000000..13b95a77fd ---- /dev/null -+++ b/Lib/test/talos-2019-0758.pem -@@ -0,0 +1,22 @@ -+-----BEGIN CERTIFICATE----- -+MIIDqDCCApKgAwIBAgIBAjALBgkqhkiG9w0BAQswHzELMAkGA1UEBhMCVUsxEDAO -+BgNVBAMTB2NvZHktY2EwHhcNMTgwNjE4MTgwMDU4WhcNMjgwNjE0MTgwMDU4WjA7 -+MQswCQYDVQQGEwJVSzEsMCoGA1UEAxMjY29kZW5vbWljb24tdm0tMi50ZXN0Lmxh -+bC5jaXNjby5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC63fGB -+J80A9Av1GB0bptslKRIUtJm8EeEu34HkDWbL6AJY0P8WfDtlXjlPaLqFa6sqH6ES -+V48prSm1ZUbDSVL8R6BYVYpOlK8/48xk4pGTgRzv69gf5SGtQLwHy8UPBKgjSZoD -+5a5k5wJXGswhKFFNqyyxqCvWmMnJWxXTt2XDCiWc4g4YAWi4O4+6SeeHVAV9rV7C -+1wxqjzKovVe2uZOHjKEzJbbIU6JBPb6TRfMdRdYOw98n1VXDcKVgdX2DuuqjCzHP -+WhU4Tw050M9NaK3eXp4Mh69VuiKoBGOLSOcS8reqHIU46Reg0hqeL8LIL6OhFHIF -+j7HR6V1X6F+BfRS/AgMBAAGjgdYwgdMwCQYDVR0TBAIwADAdBgNVHQ4EFgQUOktp -+HQjxDXXUg8prleY9jeLKeQ4wTwYDVR0jBEgwRoAUx6zgPygZ0ZErF9sPC4+5e2Io -+UU+hI6QhMB8xCzAJBgNVBAYTAlVLMRAwDgYDVQQDEwdjb2R5LWNhggkA1QEAuwb7 -+2s0wCQYDVR0SBAIwADAuBgNVHREEJzAlgiNjb2Rlbm9taWNvbi12bS0yLnRlc3Qu -+bGFsLmNpc2NvLmNvbTAOBgNVHQ8BAf8EBAMCBaAwCwYDVR0fBAQwAjAAMAsGCSqG -+SIb3DQEBCwOCAQEAvqantx2yBlM11RoFiCfi+AfSblXPdrIrHvccepV4pYc/yO6p -+t1f2dxHQb8rWH3i6cWag/EgIZx+HJQvo0rgPY1BFJsX1WnYf1/znZpkUBGbVmlJr -+t/dW1gSkNS6sPsM0Q+7HPgEv8CPDNK5eo7vU2seE0iWOkxSyVUuiCEY9ZVGaLVit -+p0C78nZ35Pdv4I+1cosmHl28+es1WI22rrnmdBpH8J1eY6WvUw2xuZHLeNVN0TzV -+Q3qq53AaCWuLOD1AjESWuUCxMZTK9DPS4JKXTK8RLyDeqOvJGjsSWp3kL0y3GaQ+ -+10T1rfkKJub2+m9A9duin1fn6tHc2wSvB7m3DA== -+-----END CERTIFICATE----- -diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py -index f1b9565c8d..b6794ce3a8 100644 ---- a/Lib/test/test_ssl.py -+++ b/Lib/test/test_ssl.py -@@ -116,6 +116,7 @@ NONEXISTINGCERT = data_file("XXXnonexisting.pem") - BADKEY = data_file("badkey.pem") - NOKIACERT = data_file("nokia.pem") - NULLBYTECERT = data_file("nullbytecert.pem") -+TALOS_INVALID_CRLDP = data_file("talos-2019-0758.pem") - - DHFILE = data_file("ffdh3072.pem") - BYTES_DHFILE = os.fsencode(DHFILE) -@@ -365,6 +366,27 @@ class BasicSocketTests(unittest.TestCase): - self.assertEqual(p['crlDistributionPoints'], - ('http://SVRIntl-G3-crl.verisign.com/SVRIntlG3.crl',)) - -+ def test_parse_cert_CVE_2019_5010(self): -+ p = ssl._ssl._test_decode_cert(TALOS_INVALID_CRLDP) -+ if support.verbose: -+ sys.stdout.write("\n" + pprint.pformat(p) + "\n") -+ self.assertEqual( -+ p, -+ { -+ 'issuer': ( -+ (('countryName', 'UK'),), (('commonName', 'cody-ca'),)), -+ 'notAfter': 'Jun 14 18:00:58 2028 GMT', -+ 'notBefore': 'Jun 18 18:00:58 2018 GMT', -+ 'serialNumber': '02', -+ 'subject': ((('countryName', 'UK'),), -+ (('commonName', -+ 'codenomicon-vm-2.test.lal.cisco.com'),)), -+ 'subjectAltName': ( -+ ('DNS', 'codenomicon-vm-2.test.lal.cisco.com'),), -+ 'version': 3 -+ } -+ ) -+ - def test_parse_cert_CVE_2013_4238(self): - p = ssl._ssl._test_decode_cert(NULLBYTECERT) - if support.verbose: -diff --git a/Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst b/Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst -new file mode 100644 -index 0000000000..dffe347eec ---- /dev/null -+++ b/Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst -@@ -0,0 +1,3 @@ -+[CVE-2019-5010] Fix a NULL pointer deref in ssl module. The cert parser did -+not handle CRL distribution points with empty DP or URI correctly. A -+malicious or buggy certificate can result into segfault. -diff --git a/Modules/_ssl.c b/Modules/_ssl.c -index 9894ad821d..9baec8a9bc 100644 ---- a/Modules/_ssl.c -+++ b/Modules/_ssl.c -@@ -1516,6 +1516,10 @@ _get_crl_dp(X509 *certificate) { - STACK_OF(GENERAL_NAME) *gns; - - dp = sk_DIST_POINT_value(dps, i); -+ if (dp->distpoint == NULL) { -+ /* Ignore empty DP value, CVE-2019-5010 */ -+ continue; -+ } - gns = dp->distpoint->name.fullname; - - for (j=0; j < sk_GENERAL_NAME_num(gns); j++) { --- -2.11.0 - diff --git a/bsp/buildroot/package/python3/python3.hash b/bsp/buildroot/package/python3/python3.hash index 5a525130..d5209c23 100644 --- a/bsp/buildroot/package/python3/python3.hash +++ b/bsp/buildroot/package/python3/python3.hash @@ -1,5 +1,5 @@ -# From https://www.python.org/downloads/release/python-372/ -md5 df6ec36011808205beda239c72f947cb Python-3.7.2.tar.xz +# From https://www.python.org/downloads/release/python-373/ +md5 93df27aec0cd18d6d42173e601ffbbfd Python-3.7.3.tar.xz # Locally computed -sha256 d83fe8ce51b1bb48bbcf0550fd265b9a75cdfdfa93f916f9e700aef8444bf1bb Python-3.7.2.tar.xz -sha256 b9a6d9320b8f2693e8d41e496ce56caadacaddcca9be2a64a61749278f425cf2 LICENSE +sha256 da60b54064d4cfcd9c26576f6df2690e62085123826cff2e667e72a91952d318 Python-3.7.3.tar.xz +sha256 a77d71d6be6f9032e6b6e5d2cf6da68f9eeab9036edfbc043633c8979cd5e82c LICENSE diff --git a/bsp/buildroot/package/python3/python3.mk b/bsp/buildroot/package/python3/python3.mk index ef2c4857..2211cfed 100644 --- a/bsp/buildroot/package/python3/python3.mk +++ b/bsp/buildroot/package/python3/python3.mk @@ -5,7 +5,7 @@ ################################################################################ PYTHON3_VERSION_MAJOR = 3.7 -PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).2 +PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).3 PYTHON3_SOURCE = Python-$(PYTHON3_VERSION).tar.xz PYTHON3_SITE = https://python.org/ftp/python/$(PYTHON3_VERSION) PYTHON3_LICENSE = Python-2.0, others diff --git a/bsp/buildroot/package/qt5/qt5base/qt5base.mk b/bsp/buildroot/package/qt5/qt5base/qt5base.mk index e7f6e658..1c20b67e 100644 --- a/bsp/buildroot/package/qt5/qt5base/qt5base.mk +++ b/bsp/buildroot/package/qt5/qt5base/qt5base.mk @@ -318,7 +318,7 @@ define QT5BASE_CONFIGURE_CMDS (cd $(@D); \ $(TARGET_MAKE_ENV) \ PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ - MAKEFLAGS="$(MAKEFLAGS) -j$(PARALLEL_JOBS)" \ + MAKEFLAGS="-j$(PARALLEL_JOBS) $(MAKEFLAGS)" \ ./configure \ -v \ -prefix /usr \ diff --git a/bsp/buildroot/package/qt5/qt5webkit/Config.in b/bsp/buildroot/package/qt5/qt5webkit/Config.in index 72c641b9..e8008f7b 100644 --- a/bsp/buildroot/package/qt5/qt5webkit/Config.in +++ b/bsp/buildroot/package/qt5/qt5webkit/Config.in @@ -3,10 +3,13 @@ config BR2_PACKAGE_QT5WEBKIT depends on !BR2_STATIC_LIBS depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE depends on BR2_HOST_GCC_AT_LEAST_4_8 # icu + depends on BR2_INSTALL_LIBSTDCPP # leveldb depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # icu + depends on BR2_TOOLCHAIN_HAS_THREADS # leveldb depends on !BR2_BINFMT_FLAT # icu # assumes a FPU is available on MIPS depends on !BR2_MIPS_SOFT_FLOAT + select BR2_PACKAGE_LEVELDB select BR2_PACKAGE_QT5BASE select BR2_PACKAGE_QT5BASE_ICU select BR2_PACKAGE_QT5BASE_GUI diff --git a/bsp/buildroot/package/qt5/qt5webkit/qt5webkit.mk b/bsp/buildroot/package/qt5/qt5webkit/qt5webkit.mk index e8d368fb..a0a0998d 100644 --- a/bsp/buildroot/package/qt5/qt5webkit/qt5webkit.mk +++ b/bsp/buildroot/package/qt5/qt5webkit/qt5webkit.mk @@ -16,7 +16,7 @@ endif QT5WEBKIT_SOURCE = qtwebkit-opensource-src-$(QT5WEBKIT_VERSION).tar.xz QT5WEBKIT_DEPENDENCIES = \ host-bison host-flex host-gperf host-python host-ruby \ - qt5base sqlite + leveldb qt5base sqlite QT5WEBKIT_INSTALL_STAGING = YES QT5WEBKIT_LICENSE_FILES = Source/WebCore/LICENSE-LGPL-2 Source/WebCore/LICENSE-LGPL-2.1 @@ -45,7 +45,7 @@ endef QT5WEBKIT_PRE_CONFIGURE_HOOKS += QT5WEBKIT_PYTHON2_SYMLINK define QT5WEBKIT_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(HOST_DIR)/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(HOST_DIR)/bin/qmake WEBKIT_CONFIG+=use_system_leveldb) endef define QT5WEBKIT_BUILD_CMDS diff --git a/bsp/buildroot/package/rapidxml/rapidxml.mk b/bsp/buildroot/package/rapidxml/rapidxml.mk index 9d034d82..ef2dd397 100644 --- a/bsp/buildroot/package/rapidxml/rapidxml.mk +++ b/bsp/buildroot/package/rapidxml/rapidxml.mk @@ -21,7 +21,8 @@ define RAPIDXML_EXTRACT_CMDS endef define RAPIDXML_INSTALL_STAGING_CMDS - cp -dpfr $(@D)/*hpp $(STAGING_DIR)/usr/include + mkdir -p $(STAGING_DIR)/usr/include/rapidxml + cp -dpfr $(@D)/*hpp $(STAGING_DIR)/usr/include/rapidxml endef $(eval $(generic-package)) diff --git a/bsp/buildroot/package/rdesktop/0002-openssl11.patch b/bsp/buildroot/package/rdesktop/0002-openssl11.patch deleted file mode 100644 index 050d6f69..00000000 --- a/bsp/buildroot/package/rdesktop/0002-openssl11.patch +++ /dev/null @@ -1,130 +0,0 @@ -From bd6aa6acddf0ba640a49834807872f4cc0d0a773 Mon Sep 17 00:00:00 2001 -From: Jani Hakala -Date: Thu, 16 Jun 2016 14:28:15 +0300 -Subject: [PATCH] Fix OpenSSL 1.1 compability issues - -Some data types have been made opaque in OpenSSL version 1.1 so -stack allocation and accessing struct fields directly does not work. - -Downloaded from upstream commit -https://github.com/rdesktop/rdesktop/commit/bd6aa6acddf0ba640a49834807872f4cc0d0a773 - -Signed-off-by: Bernd Kuhls ---- - ssl.c | 65 ++++++++++++++++++++++++++++++++++++----------------------- - 1 file changed, 40 insertions(+), 25 deletions(-) - -diff --git a/ssl.c b/ssl.c -index 48751255..032e9b9e 100644 ---- a/ssl.c -+++ b/ssl.c -@@ -88,7 +88,7 @@ rdssl_rsa_encrypt(uint8 * out, uint8 * in, int len, uint32 modulus_size, uint8 * - uint8 * exponent) - { - BN_CTX *ctx; -- BIGNUM mod, exp, x, y; -+ BIGNUM *mod, *exp, *x, *y; - uint8 inr[SEC_MAX_MODULUS_SIZE]; - int outlen; - -@@ -98,24 +98,24 @@ rdssl_rsa_encrypt(uint8 * out, uint8 * in, int len, uint32 modulus_size, uint8 * - reverse(inr, len); - - ctx = BN_CTX_new(); -- BN_init(&mod); -- BN_init(&exp); -- BN_init(&x); -- BN_init(&y); -- -- BN_bin2bn(modulus, modulus_size, &mod); -- BN_bin2bn(exponent, SEC_EXPONENT_SIZE, &exp); -- BN_bin2bn(inr, len, &x); -- BN_mod_exp(&y, &x, &exp, &mod, ctx); -- outlen = BN_bn2bin(&y, out); -+ mod = BN_new(); -+ exp = BN_new(); -+ x = BN_new(); -+ y = BN_new(); -+ -+ BN_bin2bn(modulus, modulus_size, mod); -+ BN_bin2bn(exponent, SEC_EXPONENT_SIZE, exp); -+ BN_bin2bn(inr, len, x); -+ BN_mod_exp(y, x, exp, mod, ctx); -+ outlen = BN_bn2bin(y, out); - reverse(out, outlen); - if (outlen < (int) modulus_size) - memset(out + outlen, 0, modulus_size - outlen); - -- BN_free(&y); -- BN_clear_free(&x); -- BN_free(&exp); -- BN_free(&mod); -+ BN_free(y); -+ BN_clear_free(x); -+ BN_free(exp); -+ BN_free(mod); - BN_CTX_free(ctx); - } - -@@ -146,12 +146,20 @@ rdssl_cert_to_rkey(RDSSL_CERT * cert, uint32 * key_len) - - Kudos to Richard Levitte for the following (. intiutive .) - lines of code that resets the OID and let's us extract the key. */ -- nid = OBJ_obj2nid(cert->cert_info->key->algor->algorithm); -+ -+ X509_PUBKEY *key = NULL; -+ X509_ALGOR *algor = NULL; -+ -+ key = X509_get_X509_PUBKEY(cert); -+ algor = X509_PUBKEY_get0_param(NULL, NULL, 0, &algor, key); -+ -+ nid = OBJ_obj2nid(algor->algorithm); -+ - if ((nid == NID_md5WithRSAEncryption) || (nid == NID_shaWithRSAEncryption)) - { - DEBUG_RDP5(("Re-setting algorithm type to RSA in server certificate\n")); -- ASN1_OBJECT_free(cert->cert_info->key->algor->algorithm); -- cert->cert_info->key->algor->algorithm = OBJ_nid2obj(NID_rsaEncryption); -+ X509_PUBKEY_set0_param(key, OBJ_nid2obj(NID_rsaEncryption), -+ 0, NULL, NULL, 0); - } - epk = X509_get_pubkey(cert); - if (NULL == epk) -@@ -201,14 +209,24 @@ rdssl_rkey_get_exp_mod(RDSSL_RKEY * rkey, uint8 * exponent, uint32 max_exp_len, - { - int len; - -- if ((BN_num_bytes(rkey->e) > (int) max_exp_len) || -- (BN_num_bytes(rkey->n) > (int) max_mod_len)) -+ BIGNUM *e = NULL; -+ BIGNUM *n = NULL; -+ -+#if OPENSSL_VERSION_NUMBER < 0x10100000L -+ e = rkey->e; -+ n = rkey->n; -+#else -+ RSA_get0_key(rkey, &e, &n, NULL); -+#endif -+ -+ if ((BN_num_bytes(e) > (int) max_exp_len) || -+ (BN_num_bytes(n) > (int) max_mod_len)) - { - return 1; - } -- len = BN_bn2bin(rkey->e, exponent); -+ len = BN_bn2bin(e, exponent); - reverse(exponent, len); -- len = BN_bn2bin(rkey->n, modulus); -+ len = BN_bn2bin(n, modulus); - reverse(modulus, len); - return 0; - } -@@ -229,8 +247,5 @@ void - rdssl_hmac_md5(const void *key, int key_len, const unsigned char *msg, int msg_len, - unsigned char *md) - { -- HMAC_CTX ctx; -- HMAC_CTX_init(&ctx); - HMAC(EVP_md5(), key, key_len, msg, msg_len, md, NULL); -- HMAC_CTX_cleanup(&ctx); - } diff --git a/bsp/buildroot/package/rdesktop/rdesktop.hash b/bsp/buildroot/package/rdesktop/rdesktop.hash index cc1f55b7..a43fab76 100644 --- a/bsp/buildroot/package/rdesktop/rdesktop.hash +++ b/bsp/buildroot/package/rdesktop/rdesktop.hash @@ -1,3 +1,3 @@ -# From http://sourceforge.net/projects/rdesktop/files/rdesktop/1.8.3/ -md5 86e8b368a7c715e74ded92e0d7912dc5 rdesktop-1.8.3.tar.gz -sha1 aa1e56043782e04a0121357b24874e3ad6ae7b1d rdesktop-1.8.3.tar.gz +# Locally calculated +sha256 516f04df92f16eba04c96bbf9aeb05b9da686689c2bb5c107e0941583e09f933 rdesktop-1.8.4.tar.gz +sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/bsp/buildroot/package/rdesktop/rdesktop.mk b/bsp/buildroot/package/rdesktop/rdesktop.mk index da8a80ef..d97422cf 100644 --- a/bsp/buildroot/package/rdesktop/rdesktop.mk +++ b/bsp/buildroot/package/rdesktop/rdesktop.mk @@ -4,8 +4,8 @@ # ################################################################################ -RDESKTOP_VERSION = 1.8.3 -RDESKTOP_SITE = http://downloads.sourceforge.net/project/rdesktop/rdesktop/$(RDESKTOP_VERSION) +RDESKTOP_VERSION = 1.8.4 +RDESKTOP_SITE = $(call github,rdesktop,rdesktop,v$(RDESKTOP_VERSION)) RDESKTOP_DEPENDENCIES = host-pkgconf openssl xlib_libX11 xlib_libXt \ $(if $(BR2_PACKAGE_ALSA_LIB_PCM),alsa-lib) \ $(if $(BR2_PACKAGE_LIBAO),libao) \ @@ -13,6 +13,8 @@ RDESKTOP_DEPENDENCIES = host-pkgconf openssl xlib_libX11 xlib_libXt \ RDESKTOP_CONF_OPTS = --with-openssl=$(STAGING_DIR)/usr --disable-credssp RDESKTOP_LICENSE = GPL-3.0+ RDESKTOP_LICENSE_FILES = COPYING +# From git +RDESKTOP_AUTORECONF = YES ifeq ($(BR2_PACKAGE_PCSC_LITE),y) RDESKTOP_DEPENDENCIES += pcsc-lite diff --git a/bsp/buildroot/package/rpi-firmware/rpi-firmware.mk b/bsp/buildroot/package/rpi-firmware/rpi-firmware.mk index e41b3442..630bc670 100644 --- a/bsp/buildroot/package/rpi-firmware/rpi-firmware.mk +++ b/bsp/buildroot/package/rpi-firmware/rpi-firmware.mk @@ -24,6 +24,12 @@ define RPI_FIRMWARE_INSTALL_DTB_OVERLAYS $(INSTALL) -D -m 0644 $${ovldtb} $(BINARIES_DIR)/rpi-firmware/overlays/$${ovldtb##*/} || exit 1; \ done endef +else +# Still create the directory, so a genimage.cfg can include it independently of +# whether _INSTALL_DTB_OVERLAYS is selected or not. +define RPI_FIRMWARE_INSTALL_DTB_OVERLAYS + $(INSTALL) -d $(BINARIES_DIR)/rpi-firmware/overlays +endef endif ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_VCDBG),y) diff --git a/bsp/buildroot/package/rpm/0001-configure-ac-use-link-instead-of-compile-for-gcc-flags-test.patch b/bsp/buildroot/package/rpm/0001-configure-ac-use-link-instead-of-compile-for-gcc-flags-test.patch deleted file mode 100644 index 6f6a2aba..00000000 --- a/bsp/buildroot/package/rpm/0001-configure-ac-use-link-instead-of-compile-for-gcc-flags-test.patch +++ /dev/null @@ -1,33 +0,0 @@ -From b5f1895aae096836d6e8e155ee289e1b10fcabcb Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 10 Oct 2015 23:17:44 +0200 -Subject: [PATCH] configure.ac: use link instead of compile for gcc flags test - -The logic that tests whether gcc supports or not certain flags uses -AC_COMPILE_IFELSE(). However, when checking for stack smashing -protection support, an AC_LINK_IFELSE() test is needed, since the -build might work but not the link stage if certain libraries are -missing for proper stack smashing protection support. - -Therefore, this commit switches to use AC_LINK_IFELSE(). - -[Upstream commit: https://github.com/rpm-software-management/rpm/commit/b5f1895aae096836d6e8e155ee289e1b10fcabcb] -Signed-off-by: Thomas Petazzoni -Signed-off-by: James Knight ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 6ece8c9fd..822294c3f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -43,7 +43,7 @@ if test "$GCC" = yes; then - echo - for flag in $cflags_to_try; do - CFLAGS="$CFLAGS $flag -Werror" -- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[return 0;]])],[ -+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[return 0;]])],[ - echo " $flag" - RPMCFLAGS="$RPMCFLAGS $flag" - ],[]) diff --git a/bsp/buildroot/package/rpm/0002-configure-ac-correct-stack-protector-check.patch b/bsp/buildroot/package/rpm/0002-configure-ac-correct-stack-protector-check.patch deleted file mode 100644 index 9d2942b4..00000000 --- a/bsp/buildroot/package/rpm/0002-configure-ac-correct-stack-protector-check.patch +++ /dev/null @@ -1,45 +0,0 @@ -From c810a0aca3f1148d2072d44b91b8cc9caeb4cf19 Mon Sep 17 00:00:00 2001 -From: James Knight -Date: Wed, 16 Nov 2016 15:54:46 -0500 -Subject: [PATCH] configure.ac: correct stack protector check - -If a used toolchain accepts the `-fstack-protector` option but does not -provide a stack smashing protector implementation (ex. libssp), linking -will fail: - - .libs/rpmio.o: In function `Fdescr': - rpmio.c:(.text+0x672): undefined reference to `__stack_chk_fail_local' - .libs/rpmio.o: In function `Fdopen': - rpmio.c:(.text+0xce9): undefined reference to `__stack_chk_fail_local' - .libs/rpmio.o: In function `ufdCopy': - rpmio.c:(.text+0x10f7): undefined reference to `__stack_chk_fail_local' - ... - -This is a result of testing for `-fstack-protector` support using a main -that GCC does not inject guards. GCC's manual notes that stack protector -code is only added when "[functions] that call alloca, and functions -with buffers larger than 8 bytes" [1]. This commit adjusts the stack -protector check to allocate memory on the stack (via `alloca`). - -[1]: https://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/Optimize-Options.html - -Signed-off-by: James Knight -[Upstream commit: https://github.com/rpm-software-management/rpm/commit/c810a0aca3f1148d2072d44b91b8cc9caeb4cf19] -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index a9730d3bc..b4b3fe8fb 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -43,7 +43,7 @@ if test "$GCC" = yes; then - echo - for flag in $cflags_to_try; do - CFLAGS="$CFLAGS $flag -Werror" -- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[return 0;]])],[ -+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[alloca(100);]])],[ - echo " $flag" - RPMCFLAGS="$RPMCFLAGS $flag" - ],[]) diff --git a/bsp/buildroot/package/rpm/0002-rpmio-digest_nss.c-fix-build-on-musl.patch b/bsp/buildroot/package/rpm/0002-rpmio-digest_nss.c-fix-build-on-musl.patch new file mode 100644 index 00000000..66aeb647 --- /dev/null +++ b/bsp/buildroot/package/rpm/0002-rpmio-digest_nss.c-fix-build-on-musl.patch @@ -0,0 +1,32 @@ +From 817dbe77e3e5a6d89540000a48584358efb4b03a Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 1 Apr 2019 07:33:19 +0200 +Subject: [PATCH] rpmio/digest_nss.c: fix build on musl + +signal.h must be included to be able to use sigaction + +Fixes: + - http://autobuild.buildroot.org/results/395fd44a930dfc2ad380bc735c26d9ce62344295 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://github.com/rpm-software-management/rpm/pull/650] +--- + rpmio/digest_nss.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/rpmio/digest_nss.c b/rpmio/digest_nss.c +index 50f8c8e90..1692a9221 100644 +--- a/rpmio/digest_nss.c ++++ b/rpmio/digest_nss.c +@@ -3,6 +3,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.14.1 + diff --git a/bsp/buildroot/package/rpm/0003-Detect-bfd.h-to-enable-disable-sepdebugcrcfix-buildi.patch b/bsp/buildroot/package/rpm/0003-Detect-bfd.h-to-enable-disable-sepdebugcrcfix-buildi.patch deleted file mode 100644 index e1fd0697..00000000 --- a/bsp/buildroot/package/rpm/0003-Detect-bfd.h-to-enable-disable-sepdebugcrcfix-buildi.patch +++ /dev/null @@ -1,55 +0,0 @@ -From edadcf67980764c104c25c7c1a0ba91257b89698 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 8 Dec 2016 23:33:30 +0100 -Subject: [PATCH 1/2] Detect bfd.h to enable/disable sepdebugcrcfix building - -tools/sepdebugcrcfix includes , but this header from binutils -is not checked in the configure script. Due to this, sepdebugcrcfix is -attempted to be built even when is not available. This commit -addresses that by adding the appropriate configure check. - -This fixes the following build error: - -tools/sepdebugcrcfix.c:31:17: fatal error: bfd.h: No such file or directory -compilation terminated. -make[3]: *** [tools/sepdebugcrcfix.o] Error 1 - -Signed-off-by: Thomas Petazzoni ---- - Makefile.am | 2 ++ - configure.ac | 3 +++ - 2 files changed, 5 insertions(+) - -diff --git a/Makefile.am b/Makefile.am -index 863138c..d8a68f0 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -168,9 +168,11 @@ elfdeps_SOURCES = tools/elfdeps.c - elfdeps_LDADD = rpmio/librpmio.la - elfdeps_LDADD += @WITH_LIBELF_LIB@ @WITH_POPT_LIB@ - -+if HAS_BFD_H - rpmlibexec_PROGRAMS += sepdebugcrcfix - sepdebugcrcfix_SOURCES = tools/sepdebugcrcfix.c - sepdebugcrcfix_LDADD = @WITH_LIBELF_LIB@ -+endif # HAS_BFD_H - endif - endif - -diff --git a/configure.ac b/configure.ac -index c5ae701..b99ecb8 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -242,6 +242,9 @@ AC_CHECK_HEADERS([dwarf.h], [ - ]) - AM_CONDITIONAL(LIBDWARF,[test "$WITH_LIBDWARF" = yes]) - -+AC_CHECK_HEADERS([bfd.h]) -+AM_CONDITIONAL(HAS_BFD_H, [test "${ac_cv_header_bfd_h}" = "yes"]) -+ - #================= - # Check for beecrypt library if requested. - AC_ARG_WITH(beecrypt, [ --with-beecrypt build with beecrypt support ],,[with_beecrypt=no]) --- -2.7.4 - diff --git a/bsp/buildroot/package/rpm/0003-Makefile.am-rpm2-cpio-archive-needs-lintl.patch b/bsp/buildroot/package/rpm/0003-Makefile.am-rpm2-cpio-archive-needs-lintl.patch new file mode 100644 index 00000000..14d1d37d --- /dev/null +++ b/bsp/buildroot/package/rpm/0003-Makefile.am-rpm2-cpio-archive-needs-lintl.patch @@ -0,0 +1,51 @@ +From 317bc5263fcb31ce788c76fe1947b2e0783e4542 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 25 Apr 2019 18:49:24 +0200 +Subject: [PATCH] Makefile.am: rpm2{cpio,archive} needs lintl + +Add LIBINTL to rpm2{cpio,archive}_LDADD otherwise build fails on: + +/home/buildroot/autobuild/instance-2/output/host/bin/xtensa-linux-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I. -I./include/ -I./build -I./lib -I./rpmio -I./misc -DLOCALEDIR="\"/usr/share/locale\"" -DLIBRPMALIAS_FILENAME="\"rpmpopt-4.14.2.1\"" -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/home/buildroot/autobuild/instance-2/output/host/xtensa-buildroot-linux-uclibc/sysroot/usr/include -fPIC -DPIC -D_REENTRANT -Wall -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -fno-strict-aliasing -Wempty-body -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -mlongcalls -mauto-litpools -Os -I/home/buildroot/autobuild/instance-2/output/host/xtensa-buildroot-linux-uclibc/sysroot/usr/include/beecrypt -c -o tools/rpmdeps.o tools/rpmdeps.c +/home/buildroot/autobuild/instance-2/output/host/opt/ext-toolchain/bin/../lib/gcc/xtensa-buildroot-linux-uclibc/7.4.0/../../../../xtensa-buildroot-linux-uclibc/bin/ld: rpm2cpio.o: undefined reference to symbol 'libintl_dgettext' +/home/buildroot/autobuild/instance-2/output/host/xtensa-buildroot-linux-uclibc/sysroot/usr/lib/libintl.so.8: error adding symbols: DSO missing from command line +collect2: error: ld returned 1 exit status +Makefile:962: recipe for target 'rpm2cpio' failed +make[3]: *** [rpm2cpio] Error 1 +make[3]: *** Waiting for unfinished jobs.... +libtool: link: /home/buildroot/autobuild/instance-2/output/host/bin/xtensa-linux-gcc -std=gnu99 -fPIC -DPIC -D_REENTRANT -Wall -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -fno-strict-aliasing -Wempty-body -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -mlongcalls -mauto-litpools -Os -I/home/buildroot/autobuild/instance-2/output/host/xtensa-buildroot-linux-uclibc/sysroot/usr/include/beecrypt -o rpm2archive rpm2archive.o lib/.libs/librpm.so /home/buildroot/autobuild/instance-2/output/build/rpm-4.14.2.1/rpmio/.libs/librpmio.so -lcap -ldb rpmio/.libs/librpmio.so -lbeecrypt -lbz2 -lz -llzma -lpopt -larchive -lpthread -Wl,-rpath -Wl,/home/buildroot/autobuild/instance-2/output/build/rpm-4.14.2.1/lib/.libs -Wl,-rpath -Wl,/home/buildroot/autobuild/instance-2/output/build/rpm-4.14.2.1/rpmio/.libs +/home/buildroot/autobuild/instance-2/output/host/opt/ext-toolchain/bin/../lib/gcc/xtensa-buildroot-linux-uclibc/7.4.0/../../../../xtensa-buildroot-linux-uclibc/bin/ld: rpm2archive.o: undefined reference to symbol 'libintl_dgettext' +/home/buildroot/autobuild/instance-2/output/host/xtensa-buildroot-linux-uclibc/sysroot/usr/lib/libintl.so.8: error adding symbols: DSO missing from command line +collect2: error: ld returned 1 exit status +Makefile:958: recipe for target 'rpm2archive' failed + +Fixes: + - http://autobuild.buildroot.org/results/26e20e19d878811d90fce52eb0951ee4d8b59068 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://github.com/rpm-software-management/rpm/pull/683] +--- + Makefile.am | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 057b7892c..e15240e60 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -145,11 +145,11 @@ rpmspec_LDADD += @WITH_POPT_LIB@ + + rpm2cpio_SOURCES = rpm2cpio.c debug.h system.h + rpm2cpio_LDADD = lib/librpm.la rpmio/librpmio.la +-rpm2cpio_LDADD += @WITH_POPT_LIB@ ++rpm2cpio_LDADD += @WITH_POPT_LIB@ @LIBINTL@ + + rpm2archive_SOURCES = rpm2archive.c debug.h system.h + rpm2archive_LDADD = lib/librpm.la rpmio/librpmio.la +-rpm2archive_LDADD += @WITH_POPT_LIB@ @WITH_ARCHIVE_LIB@ ++rpm2archive_LDADD += @WITH_POPT_LIB@ @WITH_ARCHIVE_LIB@ @LIBINTL@ + + + if LIBELF +-- +2.20.1 + diff --git a/bsp/buildroot/package/rpm/0004-tools-sepdebugcrcfix.c-fix-build-with-recent-binutil.patch b/bsp/buildroot/package/rpm/0004-tools-sepdebugcrcfix.c-fix-build-with-recent-binutil.patch deleted file mode 100644 index bebe9451..00000000 --- a/bsp/buildroot/package/rpm/0004-tools-sepdebugcrcfix.c-fix-build-with-recent-binutil.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 65afab91444d4996a8e61d1e2d27d52e18417ef5 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 8 Dec 2016 23:45:55 +0100 -Subject: [PATCH 2/2] tools/sepdebugcrcfix.c: fix build with recent binutils - -Moderately recent binutils versions install a header that -checks if config.h is included. While this makes sense in binutils -itself, it does not outside. So the binutils developers have added a -check: if PACKAGE or PACKAGE_VERSION are defined, they assume you're -re-using bfd.h outside of binutils, and therefore including it without -including config.h is legit. - -So we take the same approch as numerous users of bfd.h: fake a PACKAGE -definition. See for example tools/perf/util/srcline.c in the Linux -kernel source tree. - -This fixes the following build error: - -In file included from tools/sepdebugcrcfix.c:31:0: -/home/test/autobuild/run/instance-0/output/host/usr/arc-buildroot-linux-uclibc/sysroot/usr/include/bfd.h:35:2: error: #error config.h must be included before this header - #error config.h must be included before this header - -Signed-off-by: Thomas Petazzoni ---- - tools/sepdebugcrcfix.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/tools/sepdebugcrcfix.c b/tools/sepdebugcrcfix.c -index cd7fa02..e7b480f 100644 ---- a/tools/sepdebugcrcfix.c -+++ b/tools/sepdebugcrcfix.c -@@ -28,6 +28,8 @@ - #include - #include - #include -+/* Needed to please */ -+#define PACKAGE "rpm" - #include - - #define _(x) x --- -2.7.4 - diff --git a/bsp/buildroot/package/rpm/rpm.hash b/bsp/buildroot/package/rpm/rpm.hash index 7ae9ec73..b550e127 100644 --- a/bsp/buildroot/package/rpm/rpm.hash +++ b/bsp/buildroot/package/rpm/rpm.hash @@ -1,2 +1,5 @@ -# From http://rpm.org/wiki/Releases/4.13.0.1 -sha1 9566f95f38fcb214e439c552f378c2f64ba0aff9 rpm-4.13.0.1.tar.bz2 +# From https://rpm.org/wiki/Releases/4.14.2.1.html +sha256 1139c24b7372f89c0a697096bf9809be70ba55e006c23ff47305c1849d98acda rpm-4.14.2.1.tar.bz2 + +# Hash for license file +sha256 d56f4f1f290f6920cb053aef0dbcd0b853cda289e2568b364ddbfce220a6f3e0 COPYING diff --git a/bsp/buildroot/package/rpm/rpm.mk b/bsp/buildroot/package/rpm/rpm.mk index 87c2059e..5efbad6d 100644 --- a/bsp/buildroot/package/rpm/rpm.mk +++ b/bsp/buildroot/package/rpm/rpm.mk @@ -4,17 +4,15 @@ # ################################################################################ -RPM_VERSION_MAJOR = 4.13 -RPM_VERSION = $(RPM_VERSION_MAJOR).0.1 +RPM_VERSION_MAJOR = 4.14 +RPM_VERSION = $(RPM_VERSION_MAJOR).2.1 RPM_SOURCE = rpm-$(RPM_VERSION).tar.bz2 RPM_SITE = http://ftp.rpm.org/releases/rpm-$(RPM_VERSION_MAJOR).x RPM_DEPENDENCIES = host-pkgconf berkeleydb file popt zlib \ $(TARGET_NLS_DEPENDENCIES) RPM_LICENSE = GPL-2.0 or LGPL-2.0 (library only) RPM_LICENSE_FILES = COPYING - -# 0001-configure-ac-use-link-instead-of-compile-for-gcc-flags-test.patch -# 0002-configure-ac-correct-stack-protector-check.patch +# We're patching Makefile.am RPM_AUTORECONF = YES RPM_CONF_OPTS = \ @@ -35,11 +33,11 @@ endif ifeq ($(BR2_PACKAGE_LIBNSS),y) RPM_DEPENDENCIES += libnss -RPM_CONF_OPTS += --without-beecrypt +RPM_CONF_OPTS += --with-crypto=nss RPM_CFLAGS += -I$(STAGING_DIR)/usr/include/nss -I$(STAGING_DIR)/usr/include/nspr else RPM_DEPENDENCIES += beecrypt -RPM_CONF_OPTS += --with-beecrypt +RPM_CONF_OPTS += --with-crypto=beecrypt RPM_CFLAGS += -I$(STAGING_DIR)/usr/include/beecrypt endif diff --git a/bsp/buildroot/package/rsyslog/S01rsyslogd b/bsp/buildroot/package/rsyslog/S01rsyslogd index e9922d93..78421876 100644 --- a/bsp/buildroot/package/rsyslog/S01rsyslogd +++ b/bsp/buildroot/package/rsyslog/S01rsyslogd @@ -41,13 +41,13 @@ restart() { } case "$1" in - start|stop|restart) + start|stop|restart) "$1";; reload) # Restart, since there is no true "reload" feature (does not # reconfigure/restart on SIGHUP, just closes all open files). restart;; - *) - echo "Usage: $0 {start|stop|restart|reload}" - exit 1 + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 esac diff --git a/bsp/buildroot/package/ruby/ruby.hash b/bsp/buildroot/package/ruby/ruby.hash index b36d4946..fa9eddc2 100644 --- a/bsp/buildroot/package/ruby/ruby.hash +++ b/bsp/buildroot/package/ruby/ruby.hash @@ -1,5 +1,5 @@ -# https://www.ruby-lang.org/en/news/2018/10/17/ruby-2-4-5-released/ -sha256 2f0cdcce9989f63ef7c2939bdb17b1ef244c4f384d85b8531d60e73d8cc31eeb ruby-2.4.5.tar.xz +# https://www.ruby-lang.org/en/news/2019/04/01/ruby-2-4-6-released/ +sha256 25da31b9815bfa9bba9f9b793c055a40a35c43c6adfb1fdbd81a09099f9b529c ruby-2.4.6.tar.xz # License files, Locally calculated sha256 609292a6d848ab223073944fc2d844449391a5ba2055a8b5baf1726bc13b39cb LEGAL sha256 f5eb1b2956d5f7a67b2e5722a3749bc2fe86f9c580f2e3f5a08519cf073b5864 COPYING diff --git a/bsp/buildroot/package/ruby/ruby.mk b/bsp/buildroot/package/ruby/ruby.mk index 3e71596b..10424020 100644 --- a/bsp/buildroot/package/ruby/ruby.mk +++ b/bsp/buildroot/package/ruby/ruby.mk @@ -5,7 +5,7 @@ ################################################################################ RUBY_VERSION_MAJOR = 2.4 -RUBY_VERSION = $(RUBY_VERSION_MAJOR).5 +RUBY_VERSION = $(RUBY_VERSION_MAJOR).6 RUBY_VERSION_EXT = 2.4.0 RUBY_SITE = http://cache.ruby-lang.org/pub/ruby/$(RUBY_VERSION_MAJOR) RUBY_SOURCE = ruby-$(RUBY_VERSION).tar.xz diff --git a/bsp/buildroot/package/runc/0001-nsenter-clone-proc-self-exe-to-avoid-exposing-host-b.patch b/bsp/buildroot/package/runc/0001-nsenter-clone-proc-self-exe-to-avoid-exposing-host-b.patch deleted file mode 100644 index a0bc7ba3..00000000 --- a/bsp/buildroot/package/runc/0001-nsenter-clone-proc-self-exe-to-avoid-exposing-host-b.patch +++ /dev/null @@ -1,338 +0,0 @@ -From 0a8e4117e7f715d5fbeef398405813ce8e88558b Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Wed, 9 Jan 2019 13:40:01 +1100 -Subject: [PATCH] nsenter: clone /proc/self/exe to avoid exposing host binary - to container - -There are quite a few circumstances where /proc/self/exe pointing to a -pretty important container binary is a _bad_ thing, so to avoid this we -have to make a copy (preferably doing self-clean-up and not being -writeable). - -We require memfd_create(2) -- though there is an O_TMPFILE fallback -- -but we can always extend this to use a scratch MNT_DETACH overlayfs or -tmpfs. The main downside to this approach is no page-cache sharing for -the runc binary (which overlayfs would give us) but this is far less -complicated. - -This is only done during nsenter so that it happens transparently to the -Go code, and any libcontainer users benefit from it. This also makes -ExtraFiles and --preserve-fds handling trivial (because we don't need to -worry about it). - -Fixes: CVE-2019-5736 -Co-developed-by: Christian Brauner -Signed-off-by: Aleksa Sarai -Signed-off-by: Peter Korsgaard ---- - libcontainer/nsenter/cloned_binary.c | 268 +++++++++++++++++++++++++++++++++++ - libcontainer/nsenter/nsexec.c | 11 ++ - 2 files changed, 279 insertions(+) - create mode 100644 libcontainer/nsenter/cloned_binary.c - -diff --git a/libcontainer/nsenter/cloned_binary.c b/libcontainer/nsenter/cloned_binary.c -new file mode 100644 -index 00000000..c8a42c23 ---- /dev/null -+++ b/libcontainer/nsenter/cloned_binary.c -@@ -0,0 +1,268 @@ -+/* -+ * Copyright (C) 2019 Aleksa Sarai -+ * Copyright (C) 2019 SUSE LLC -+ * -+ * Licensed under the Apache License, Version 2.0 (the "License"); -+ * you may not use this file except in compliance with the License. -+ * You may obtain a copy of the License at -+ * -+ * http://www.apache.org/licenses/LICENSE-2.0 -+ * -+ * Unless required by applicable law or agreed to in writing, software -+ * distributed under the License is distributed on an "AS IS" BASIS, -+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ * See the License for the specific language governing permissions and -+ * limitations under the License. -+ */ -+ -+#define _GNU_SOURCE -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+/* Use our own wrapper for memfd_create. */ -+#if !defined(SYS_memfd_create) && defined(__NR_memfd_create) -+# define SYS_memfd_create __NR_memfd_create -+#endif -+#ifdef SYS_memfd_create -+# define HAVE_MEMFD_CREATE -+/* memfd_create(2) flags -- copied from . */ -+# ifndef MFD_CLOEXEC -+# define MFD_CLOEXEC 0x0001U -+# define MFD_ALLOW_SEALING 0x0002U -+# endif -+int memfd_create(const char *name, unsigned int flags) -+{ -+ return syscall(SYS_memfd_create, name, flags); -+} -+#endif -+ -+/* This comes directly from . */ -+#ifndef F_LINUX_SPECIFIC_BASE -+# define F_LINUX_SPECIFIC_BASE 1024 -+#endif -+#ifndef F_ADD_SEALS -+# define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) -+# define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10) -+#endif -+#ifndef F_SEAL_SEAL -+# define F_SEAL_SEAL 0x0001 /* prevent further seals from being set */ -+# define F_SEAL_SHRINK 0x0002 /* prevent file from shrinking */ -+# define F_SEAL_GROW 0x0004 /* prevent file from growing */ -+# define F_SEAL_WRITE 0x0008 /* prevent writes */ -+#endif -+ -+#define RUNC_SENDFILE_MAX 0x7FFFF000 /* sendfile(2) is limited to 2GB. */ -+#ifdef HAVE_MEMFD_CREATE -+# define RUNC_MEMFD_COMMENT "runc_cloned:/proc/self/exe" -+# define RUNC_MEMFD_SEALS \ -+ (F_SEAL_SEAL | F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE) -+#endif -+ -+static void *must_realloc(void *ptr, size_t size) -+{ -+ void *old = ptr; -+ do { -+ ptr = realloc(old, size); -+ } while(!ptr); -+ return ptr; -+} -+ -+/* -+ * Verify whether we are currently in a self-cloned program (namely, is -+ * /proc/self/exe a memfd). F_GET_SEALS will only succeed for memfds (or rather -+ * for shmem files), and we want to be sure it's actually sealed. -+ */ -+static int is_self_cloned(void) -+{ -+ int fd, ret, is_cloned = 0; -+ -+ fd = open("/proc/self/exe", O_RDONLY|O_CLOEXEC); -+ if (fd < 0) -+ return -ENOTRECOVERABLE; -+ -+#ifdef HAVE_MEMFD_CREATE -+ ret = fcntl(fd, F_GET_SEALS); -+ is_cloned = (ret == RUNC_MEMFD_SEALS); -+#else -+ struct stat statbuf = {0}; -+ ret = fstat(fd, &statbuf); -+ if (ret >= 0) -+ is_cloned = (statbuf.st_nlink == 0); -+#endif -+ close(fd); -+ return is_cloned; -+} -+ -+/* -+ * Basic wrapper around mmap(2) that gives you the file length so you can -+ * safely treat it as an ordinary buffer. Only gives you read access. -+ */ -+static char *read_file(char *path, size_t *length) -+{ -+ int fd; -+ char buf[4096], *copy = NULL; -+ -+ if (!length) -+ return NULL; -+ -+ fd = open(path, O_RDONLY | O_CLOEXEC); -+ if (fd < 0) -+ return NULL; -+ -+ *length = 0; -+ for (;;) { -+ int n; -+ -+ n = read(fd, buf, sizeof(buf)); -+ if (n < 0) -+ goto error; -+ if (!n) -+ break; -+ -+ copy = must_realloc(copy, (*length + n) * sizeof(*copy)); -+ memcpy(copy + *length, buf, n); -+ *length += n; -+ } -+ close(fd); -+ return copy; -+ -+error: -+ close(fd); -+ free(copy); -+ return NULL; -+} -+ -+/* -+ * A poor-man's version of "xargs -0". Basically parses a given block of -+ * NUL-delimited data, within the given length and adds a pointer to each entry -+ * to the array of pointers. -+ */ -+static int parse_xargs(char *data, int data_length, char ***output) -+{ -+ int num = 0; -+ char *cur = data; -+ -+ if (!data || *output != NULL) -+ return -1; -+ -+ while (cur < data + data_length) { -+ num++; -+ *output = must_realloc(*output, (num + 1) * sizeof(**output)); -+ (*output)[num - 1] = cur; -+ cur += strlen(cur) + 1; -+ } -+ (*output)[num] = NULL; -+ return num; -+} -+ -+/* -+ * "Parse" out argv and envp from /proc/self/cmdline and /proc/self/environ. -+ * This is necessary because we are running in a context where we don't have a -+ * main() that we can just get the arguments from. -+ */ -+static int fetchve(char ***argv, char ***envp) -+{ -+ char *cmdline = NULL, *environ = NULL; -+ size_t cmdline_size, environ_size; -+ -+ cmdline = read_file("/proc/self/cmdline", &cmdline_size); -+ if (!cmdline) -+ goto error; -+ environ = read_file("/proc/self/environ", &environ_size); -+ if (!environ) -+ goto error; -+ -+ if (parse_xargs(cmdline, cmdline_size, argv) <= 0) -+ goto error; -+ if (parse_xargs(environ, environ_size, envp) <= 0) -+ goto error; -+ -+ return 0; -+ -+error: -+ free(environ); -+ free(cmdline); -+ return -EINVAL; -+} -+ -+static int clone_binary(void) -+{ -+ int binfd, memfd; -+ ssize_t sent = 0; -+ -+#ifdef HAVE_MEMFD_CREATE -+ memfd = memfd_create(RUNC_MEMFD_COMMENT, MFD_CLOEXEC | MFD_ALLOW_SEALING); -+#else -+ memfd = open("/tmp", O_TMPFILE | O_EXCL | O_RDWR | O_CLOEXEC, 0711); -+#endif -+ if (memfd < 0) -+ return -ENOTRECOVERABLE; -+ -+ binfd = open("/proc/self/exe", O_RDONLY | O_CLOEXEC); -+ if (binfd < 0) -+ goto error; -+ -+ sent = sendfile(memfd, binfd, NULL, RUNC_SENDFILE_MAX); -+ close(binfd); -+ if (sent < 0) -+ goto error; -+ -+#ifdef HAVE_MEMFD_CREATE -+ int err = fcntl(memfd, F_ADD_SEALS, RUNC_MEMFD_SEALS); -+ if (err < 0) -+ goto error; -+#else -+ /* Need to re-open "memfd" as read-only to avoid execve(2) giving -EXTBUSY. */ -+ int newfd; -+ char *fdpath = NULL; -+ -+ if (asprintf(&fdpath, "/proc/self/fd/%d", memfd) < 0) -+ goto error; -+ newfd = open(fdpath, O_RDONLY | O_CLOEXEC); -+ free(fdpath); -+ if (newfd < 0) -+ goto error; -+ -+ close(memfd); -+ memfd = newfd; -+#endif -+ return memfd; -+ -+error: -+ close(memfd); -+ return -EIO; -+} -+ -+int ensure_cloned_binary(void) -+{ -+ int execfd; -+ char **argv = NULL, **envp = NULL; -+ -+ /* Check that we're not self-cloned, and if we are then bail. */ -+ int cloned = is_self_cloned(); -+ if (cloned > 0 || cloned == -ENOTRECOVERABLE) -+ return cloned; -+ -+ if (fetchve(&argv, &envp) < 0) -+ return -EINVAL; -+ -+ execfd = clone_binary(); -+ if (execfd < 0) -+ return -EIO; -+ -+ fexecve(execfd, argv, envp); -+ return -ENOEXEC; -+} -diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c -index 28269dfc..7750af35 100644 ---- a/libcontainer/nsenter/nsexec.c -+++ b/libcontainer/nsenter/nsexec.c -@@ -534,6 +534,9 @@ void join_namespaces(char *nslist) - free(namespaces); - } - -+/* Defined in cloned_binary.c. */ -+extern int ensure_cloned_binary(void); -+ - void nsexec(void) - { - int pipenum; -@@ -549,6 +552,14 @@ void nsexec(void) - if (pipenum == -1) - return; - -+ /* -+ * We need to re-exec if we are not in a cloned binary. This is necessary -+ * to ensure that containers won't be able to access the host binary -+ * through /proc/self/exe. See CVE-2019-5736. -+ */ -+ if (ensure_cloned_binary() < 0) -+ bail("could not ensure we are a cloned binary"); -+ - /* Parse all of the netlink configuration. */ - nl_parse(pipenum, &config); - --- -2.11.0 - diff --git a/bsp/buildroot/package/runc/Config.in b/bsp/buildroot/package/runc/Config.in index cfd26e98..47c850ef 100644 --- a/bsp/buildroot/package/runc/Config.in +++ b/bsp/buildroot/package/runc/Config.in @@ -3,18 +3,14 @@ config BR2_PACKAGE_RUNC depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 # O_TMPFILE depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve - depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM # glibc < 2.19 help runC is a CLI tool for spawning and running containers according to the OCP specification. https://github.com/opencontainers/runc -comment "runc needs a glibc or musl toolchain w/ threads, headers >= 3.11" +comment "runc needs a glibc or musl toolchain toolchain w/ threads" depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS && \ BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 || BR2_TOOLCHAN_USES_UCLIBC - depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAN_USES_UCLIBC diff --git a/bsp/buildroot/package/runc/runc.hash b/bsp/buildroot/package/runc/runc.hash index 1636e5b8..24c30f57 100644 --- a/bsp/buildroot/package/runc/runc.hash +++ b/bsp/buildroot/package/runc/runc.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 a221f8380e7b5806031f54d423af6dde24c305dad49868056cf70e5f5f4ef771 runc-v1.0.0-rc6.tar.gz +sha256 e8388b812d93a8a131a2a2fdd851847295c8e341721002940dadd2999fb81b51 runc-v1.0.0-rc7.tar.gz sha256 552a739c3b25792263f731542238b92f6f8d07e9a488eae27e6c4690038a8243 LICENSE diff --git a/bsp/buildroot/package/runc/runc.mk b/bsp/buildroot/package/runc/runc.mk index 05396612..56463b46 100644 --- a/bsp/buildroot/package/runc/runc.mk +++ b/bsp/buildroot/package/runc/runc.mk @@ -4,7 +4,7 @@ # ################################################################################ -RUNC_VERSION = v1.0.0-rc6 +RUNC_VERSION = v1.0.0-rc7 RUNC_SITE = $(call github,opencontainers,runc,$(RUNC_VERSION)) RUNC_LICENSE = Apache-2.0 RUNC_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/samba4/samba4.hash b/bsp/buildroot/package/samba4/samba4.hash index de349c30..7762456c 100644 --- a/bsp/buildroot/package/samba4/samba4.hash +++ b/bsp/buildroot/package/samba4/samba4.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -# https://download.samba.org/pub/samba/stable/samba-4.9.4.tar.asc -sha256 6d98a8d8bcccbe788e4bbb406362e6676311aca711a3f3cc9b3a404bb9ff0b4f samba-4.9.4.tar.gz +# https://download.samba.org/pub/samba/stable/samba-4.9.6.tar.asc +sha256 c9205a651a83d69e200fec9dd65e9fa360f0c75ab3275b3dcb74e5cbaec60807 samba-4.9.6.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/bsp/buildroot/package/samba4/samba4.mk b/bsp/buildroot/package/samba4/samba4.mk index 9f771cf8..f6dbda9d 100644 --- a/bsp/buildroot/package/samba4/samba4.mk +++ b/bsp/buildroot/package/samba4/samba4.mk @@ -4,7 +4,7 @@ # ################################################################################ -SAMBA4_VERSION = 4.9.4 +SAMBA4_VERSION = 4.9.6 SAMBA4_SITE = https://download.samba.org/pub/samba/stable SAMBA4_SOURCE = samba-$(SAMBA4_VERSION).tar.gz SAMBA4_INSTALL_STAGING = YES @@ -18,7 +18,7 @@ SAMBA4_DEPENDENCIES = \ $(if $(BR2_PACKAGE_READLINE),readline) \ $(TARGET_NLS_DEPENDENCIES) SAMBA4_CFLAGS = $(TARGET_CFLAGS) -SAMBA4_LDFLAGS = $(TARGET_LDFLAGS) +SAMBA4_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) SAMBA4_CONF_ENV = \ CFLAGS="$(SAMBA4_CFLAGS)" \ LDFLAGS="$(SAMBA4_LDFLAGS)" diff --git a/bsp/buildroot/package/sane-backends/0002-Add-missing-sys-types.h-includes.patch b/bsp/buildroot/package/sane-backends/0002-Add-missing-sys-types.h-includes.patch deleted file mode 100644 index 8ab41f1f..00000000 --- a/bsp/buildroot/package/sane-backends/0002-Add-missing-sys-types.h-includes.patch +++ /dev/null @@ -1,106 +0,0 @@ -From d33f16f463e888846d69ddfbeeb963d40972b654 Mon Sep 17 00:00:00 2001 -From: Luiz Angelo Daros de Luca -Date: Thu, 15 Oct 2015 12:35:00 +0900 -Subject: [PATCH] Add missing includes - -[Thomas: backport from upstream commit -33495ef9b42a783c8f5f2c056ac5699481d3cc7e, allows to fix the build with -the musl C library.] -Signed-off-by: Thomas Petazzoni ---- - backend/epsonds-io.c | 3 +++ - backend/hp5400.c | 3 +++ - backend/hp5590.c | 3 +++ - backend/kvs20xx_cmd.h | 4 ++++ - backend/kvs40xx.h | 3 +++ - include/sane/sanei_udp.h | 3 +++ - 6 files changed, 19 insertions(+) - -diff --git a/backend/epsonds-io.c b/backend/epsonds-io.c -index 28bacfc..512997d 100644 ---- a/backend/epsonds-io.c -+++ b/backend/epsonds-io.c -@@ -16,6 +16,9 @@ - #include "sane/config.h" - #include - #include /* sleep */ -+#ifdef HAVE_SYS_TYPES_H -+#include -+#endif - - #include "epsonds.h" - #include "epsonds-io.h" -diff --git a/backend/hp5400.c b/backend/hp5400.c -index 61de3db..cfa2dc9 100644 ---- a/backend/hp5400.c -+++ b/backend/hp5400.c -@@ -67,6 +67,9 @@ - #include /* malloc, free */ - #include /* memcpy */ - #include -+#ifdef HAVE_SYS_TYPES_H -+#include -+#endif - - - #define HP5400_CONFIG_FILE "hp5400.conf" -diff --git a/backend/hp5590.c b/backend/hp5590.c -index 7b1cd60..5422372 100644 ---- a/backend/hp5590.c -+++ b/backend/hp5590.c -@@ -48,6 +48,9 @@ - #include - #include - #include -+#ifdef HAVE_SYS_TYPES_H -+#include -+#endif - - #include "../include/sane/sane.h" - #define BACKEND_NAME hp5590 -diff --git a/backend/kvs20xx_cmd.h b/backend/kvs20xx_cmd.h -index c18b754..4acaf62 100644 ---- a/backend/kvs20xx_cmd.h -+++ b/backend/kvs20xx_cmd.h -@@ -9,6 +9,10 @@ - Panasonic KV-S20xx USB-SCSI scanners. - */ - -+#ifdef HAVE_SYS_TYPES_H -+#include -+#endif -+ - #define COMMAND_BLOCK 1 - #define DATA_BLOCK 2 - #define RESPONSE_BLOCK 3 -diff --git a/backend/kvs40xx.h b/backend/kvs40xx.h -index fa17163..02e0da6 100644 ---- a/backend/kvs40xx.h -+++ b/backend/kvs40xx.h -@@ -10,6 +10,9 @@ - - #include "../include/sane/config.h" - #include -+#ifdef HAVE_SYS_TYPES_H -+#include -+#endif - - #undef BACKEND_NAME - #define BACKEND_NAME kvs40xx -diff --git a/include/sane/sanei_udp.h b/include/sane/sanei_udp.h -index c44afdd..e32fc1a 100644 ---- a/include/sane/sanei_udp.h -+++ b/include/sane/sanei_udp.h -@@ -27,6 +27,9 @@ - #include - #include - #endif -+#ifdef HAVE_SYS_TYPES_H -+#include -+#endif - - extern SANE_Status sanei_udp_open(const char *host, int port, int *fdp); - extern SANE_Status sanei_udp_open_broadcast(int *fdp); --- -2.7.4 - diff --git a/bsp/buildroot/package/sane-backends/0003-sane_backend-add-missing-config.h.patch b/bsp/buildroot/package/sane-backends/0002-sane_backend-add-missing-config.h.patch similarity index 100% rename from bsp/buildroot/package/sane-backends/0003-sane_backend-add-missing-config.h.patch rename to bsp/buildroot/package/sane-backends/0002-sane_backend-add-missing-config.h.patch diff --git a/bsp/buildroot/package/sane-backends/sane-backends.hash b/bsp/buildroot/package/sane-backends/sane-backends.hash index a7693e25..ddf82500 100644 --- a/bsp/buildroot/package/sane-backends/sane-backends.hash +++ b/bsp/buildroot/package/sane-backends/sane-backends.hash @@ -1,2 +1,5 @@ -# From http://www.sane-project.org/sane-md5sums.txt -md5 f9ed5405b3c12f07c6ca51ee60225fe7 sane-backends-1.0.25.tar.gz +# From https://gitlab.com/sane-project/backends/tags/RELEASE_1_0_27 +sha256 293747bf37275c424ebb2c833f8588601a60b2f9653945d5a3194875355e36c9 sane-backends-1.0.27.tar.gz + +# Hash for license file +sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING diff --git a/bsp/buildroot/package/sane-backends/sane-backends.mk b/bsp/buildroot/package/sane-backends/sane-backends.mk index ed3b9124..092123e1 100644 --- a/bsp/buildroot/package/sane-backends/sane-backends.mk +++ b/bsp/buildroot/package/sane-backends/sane-backends.mk @@ -4,8 +4,9 @@ # ################################################################################ -SANE_BACKENDS_VERSION = 1.0.25 -SANE_BACKENDS_SITE = https://alioth.debian.org/frs/download.php/file/4146 +SANE_BACKENDS_VERSION = 1.0.27 +SANE_BACKENDS_SITE = \ + https://gitlab.com/sane-project/backends/uploads/a3ba9fff29253a94e84074917bff581a SANE_BACKENDS_CONFIG_SCRIPTS = sane-config SANE_BACKENDS_LICENSE = GPL-2.0+ SANE_BACKENDS_LICENSE_FILES = COPYING @@ -23,9 +24,9 @@ endif ifeq ($(BR2_PACKAGE_LIBUSB),y) SANE_BACKENDS_DEPENDENCIES += libusb -SANE_BACKENDS_CONF_OPTS += --enable-libusb_1_0 +SANE_BACKENDS_CONF_OPTS += --with-usb else -SANE_BACKENDS_CONF_OPTS += --disable-libusb +SANE_BACKENDS_CONF_OPTS += --without-usb endif ifeq ($(BR2_PACKAGE_JPEG),y) diff --git a/bsp/buildroot/package/softether/softether.mk b/bsp/buildroot/package/softether/softether.mk index 31378e8b..1a31abd4 100644 --- a/bsp/buildroot/package/softether/softether.mk +++ b/bsp/buildroot/package/softether/softether.mk @@ -8,7 +8,7 @@ SOFTETHER_VERSION = v4.28-9669-beta SOFTETHER_SITE = $(call github,SoftEtherVPN,SoftEtherVPN_stable,$(SOFTETHER_VERSION)) SOFTETHER_LICENSE = GPL-2.0 SOFTETHER_LICENSE_FILES = LICENSE -SOFTETHER_DEPENDENCIES = host-softether libopenssl readline +SOFTETHER_DEPENDENCIES = host-pkgconf host-softether libopenssl readline SOFTETHER_AUTORECONF = YES ifeq ($(BR2_ENABLE_LOCALE),) @@ -16,14 +16,7 @@ SOFTETHER_DEPENDENCIES += libiconv SOFTETHER_CONF_ENV = LIBS+=" -liconv" endif -ifeq ($(BR2_STATIC_LIBS),y) -# openssl needs zlib -SOFTETHER_CONF_ENV += LIBS+=" -lz" -endif - -SOFTETHER_CONF_OPTS = \ - --with-openssl="$(STAGING_DIR)/usr" \ - --with-zlib="$(STAGING_DIR)/usr" +SOFTETHER_CONF_OPTS = --with-zlib="$(STAGING_DIR)/usr" # host-libiconv does not exist, therefore we need this extra line HOST_SOFTETHER_DEPENDENCIES = host-pkgconf host-libopenssl host-readline diff --git a/bsp/buildroot/package/stunnel/stunnel.hash b/bsp/buildroot/package/stunnel/stunnel.hash index d3b9451c..999a4500 100644 --- a/bsp/buildroot/package/stunnel/stunnel.hash +++ b/bsp/buildroot/package/stunnel/stunnel.hash @@ -1,5 +1,5 @@ -# From https://www.stunnel.org/downloads/stunnel-5.44.tar.gz.sha256 -sha256 990a325dbb47d77d88772dd02fbbd27d91b1fea3ece76c9ff4461eca93f12299 stunnel-5.44.tar.gz +# From https://www.stunnel.org/downloads/stunnel-5.53.tar.gz.sha256 +sha256 80439896ee14269eb70bc8bc669433c7d619018a62c9f9c5c760a24515302585 stunnel-5.53.tar.gz # Locally calculated -sha256 c43821865591e4d893906e2801b5ec4de58e51978f5563a61475cd0adc0bec4d COPYING +sha256 81d0b7244f44ef81dd0b299cf681037c5a42d468b8533e53aff6d1ac84c97dc8 COPYING sha256 1ee2b290e92c211b08df10e9fcaf32596cdb22b8eae731b18c2c074a4a83eebe COPYRIGHT.GPL diff --git a/bsp/buildroot/package/stunnel/stunnel.mk b/bsp/buildroot/package/stunnel/stunnel.mk index 4a5d2a03..adfa0748 100644 --- a/bsp/buildroot/package/stunnel/stunnel.mk +++ b/bsp/buildroot/package/stunnel/stunnel.mk @@ -5,14 +5,14 @@ ################################################################################ STUNNEL_VERSION_MAJOR = 5 -STUNNEL_VERSION = $(STUNNEL_VERSION_MAJOR).44 +STUNNEL_VERSION = $(STUNNEL_VERSION_MAJOR).53 STUNNEL_SITE = http://www.usenix.org.uk/mirrors/stunnel/archive/$(STUNNEL_VERSION_MAJOR).x -STUNNEL_DEPENDENCIES = openssl +STUNNEL_DEPENDENCIES = host-pkgconf openssl STUNNEL_CONF_OPTS = --with-ssl=$(STAGING_DIR)/usr --with-threads=fork \ --disable-libwrap STUNNEL_CONF_ENV = \ ax_cv_check_cflags___fstack_protector=$(if $(BR2_TOOLCHAIN_HAS_SSP),yes,no) \ - LIBS=$(if $(BR2_STATIC_LIBS),-lz) + LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` STUNNEL_LICENSE = GPL-2.0+ STUNNEL_LICENSE_FILES = COPYING COPYRIGHT.GPL diff --git a/bsp/buildroot/package/sunxi-tools/0001-meminfo-Access-to-io-memory-via-pointers.patch b/bsp/buildroot/package/sunxi-tools/0001-meminfo-Access-to-io-memory-via-pointers.patch new file mode 100644 index 00000000..997c413f --- /dev/null +++ b/bsp/buildroot/package/sunxi-tools/0001-meminfo-Access-to-io-memory-via-pointers.patch @@ -0,0 +1,59 @@ +From 5c0a443ba336f10a8db6a99c769aa84ad37ed4d2 Mon Sep 17 00:00:00 2001 +From: Vadim Kochan +Date: Wed, 20 Feb 2019 02:48:43 +0200 +Subject: [PATCH] meminfo: Access to io memory via pointers + +The main reason for this is to be able compile with musl library, +because there is no support of inx/outx functions for ARM platform. + +Signed-off-by: Vadim Kochan +--- + meminfo.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/meminfo.c b/meminfo.c +index 0b0ff23..7d9f10f 100644 +--- a/meminfo.c ++++ b/meminfo.c +@@ -22,7 +22,6 @@ + #include + #include + #include +-#include + #include + + #include "common.h" +@@ -74,24 +73,26 @@ static enum sunxi_soc_version soc_version; + unsigned int + sunxi_io_read(void *base, int offset) + { +- return inl((unsigned long) (base + offset)); ++ unsigned long port = (unsigned long) (base + offset); ++ return *((volatile unsigned long *) port); + } + + void + sunxi_io_write(void *base, int offset, unsigned int value) + { +- outl(value, (unsigned long) (base + offset)); ++ unsigned long port = (unsigned long) (base + offset); ++ *((volatile unsigned long *) port) = value; + } + + void + sunxi_io_mask(void *base, int offset, unsigned int value, unsigned int mask) + { +- unsigned int tmp = inl((unsigned long) (base + offset)); ++ unsigned int tmp = sunxi_io_read(base, offset); + + tmp &= ~mask; + tmp |= value & mask; + +- outl(tmp, (unsigned long) (base + offset)); ++ sunxi_io_write(base, offset, tmp); + } + + +-- +2.14.1 + diff --git a/bsp/buildroot/package/supertux/0001-Fix-build-on-PowerPC.patch b/bsp/buildroot/package/supertux/0001-Fix-build-on-PowerPC.patch new file mode 100644 index 00000000..e40abac6 --- /dev/null +++ b/bsp/buildroot/package/supertux/0001-Fix-build-on-PowerPC.patch @@ -0,0 +1,81 @@ +From cfcd478fe69ca1b3923f388a349a4f67ac2c03aa Mon Sep 17 00:00:00 2001 +From: Shawn Anastasio +Date: Sun, 3 Feb 2019 13:22:57 -0600 +Subject: [PATCH] Fix build on PowerPC + +On PowerPC-based architectures, SDL includes the altivec.h header +for SIMD intrinsics. Unfortunately, altivec.h defines some types which +conflict with C++ types like bool and std::vector. This commit adds +a wrapper for altivec.h which resolves these conflicts and allows +supertux to build and run. + +Tested on a ppc64le workstation. + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/SuperTux/supertux/pull/1056/commits/cfcd478fe69ca1b3923f388a349a4f67ac2c03aa] +--- + CMakeLists.txt | 15 ++++++++++++++- + src/ppc/altivec.h | 6 ++++++ + 2 files changed, 20 insertions(+), 1 deletion(-) + create mode 100644 src/ppc/altivec.h + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 70b9673b50..b9b6ea3ea6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -376,6 +376,11 @@ endif() + + include(ConfigureChecks) + ++# Include altivec wrapper on ppc ++if(CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc.*") ++ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/ppc) ++endif() ++ + + ## Also build external/squirrel + +@@ -420,6 +425,13 @@ if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/external/tinygettext/CMakeLists.txt) + message(FATAL_ERROR "tinygettext submodule is not checked out or ${CMAKE_CURRENT_SOURCE_DIR}/external/tinygettext/CMakeLists.txt is missing") + endif() + ++# Include altivec wrapper on ppc ++if(CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc.*") ++ set(TINYGETTEXT_CXX_FLAGS "-isystem ${CMAKE_CURRENT_SOURCE_DIR}/src/ppc ${CMAKE_CXX_FLAGS}") ++else() ++ set(TINYGETTEXT_CXX_FLAGS "${CMAKE_CXX_FLAGS}") ++endif() ++ + set(TINYGETTEXT_PREFIX ${CMAKE_BINARY_DIR}/tinygettext/) + ExternalProject_Add(tinygettext + SOURCE_DIR "${CMAKE_SOURCE_DIR}/external/tinygettext/" +@@ -428,7 +440,7 @@ ExternalProject_Add(tinygettext + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} + -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} + -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} +- -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} ++ -DCMAKE_CXX_FLAGS=${TINYGETTEXT_CXX_FLAGS} + -DBUILD_SHARED_LIBS=OFF + -DHAVE_SDL=ON + -DVCPKG_BUILD=${VCPKG_BUILD} +@@ -443,6 +455,7 @@ set_target_properties(tinygettext_lib PROPERTIES IMPORTED_LOCATION "${TINYGETTEX + + include_directories(SYSTEM ${TINYGETTEXT_PREFIX}/include) + ++ + ## external/SDL_ttf with patches + find_package(Freetype REQUIRED) + find_package(RAQM) +diff --git a/src/ppc/altivec.h b/src/ppc/altivec.h +new file mode 100644 +index 0000000000..7ede8246ed +--- /dev/null ++++ b/src/ppc/altivec.h +@@ -0,0 +1,6 @@ ++#include_next ++ ++// The altivec headers redefine vector and bool which conflict ++// with C++'s bool type and std::vector. Undefine them here. ++#undef vector ++#undef bool diff --git a/bsp/buildroot/package/swupdate/0001-Makefile-fix-static-build.patch b/bsp/buildroot/package/swupdate/0001-Makefile-fix-static-build.patch new file mode 100644 index 00000000..56901f98 --- /dev/null +++ b/bsp/buildroot/package/swupdate/0001-Makefile-fix-static-build.patch @@ -0,0 +1,62 @@ +From 15a324f8c67548f219256a5a75ba8123cc5bdac6 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 4 Mar 2019 21:51:36 +0100 +Subject: [PATCH] Makefile: fix static build + +Don't build and install lua_swupdate.so if HAVE_LUA isn't set to y +otherwise build will fail if the toolchain only suports building static +libraries + +Fixes: + - http://autobuild.buildroot.org/results/c11c4d26983e0347d96f3dda62e6d72b031967bb + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/sbabic/swupdate/pull/49] +--- + Makefile | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index cfeb9a6..cac99b5 100644 +--- a/Makefile ++++ b/Makefile +@@ -369,11 +369,15 @@ tools-bins := $(patsubst $(tools-y)/%.c,$(tools-y)/%,$(wildcard $(tools-y)/*.c)) + tools-bins-unstr:= $(patsubst %,%_unstripped,$(tools-bins)) + tools-all := $(tools-objs) + ++ifeq ($(HAVE_LUA),y) ++lua_swupdate := lua_swupdate.so ++endif ++ + shared-dirs := $(shareds-y) + shared-libs := $(patsubst %,%/built-in.o, $(shareds-y)) + shared-all := $(shared-libs) + +-all: swupdate ${tools-bins} lua_swupdate.so ++all: swupdate ${tools-bins} ${lua_swupdate} + + # Do modpost on a prelinked vmlinux. The finally linked vmlinux has + # relevant sections renamed as per the linker script. +@@ -434,7 +438,6 @@ install: all + install -d ${DESTDIR}/usr/bin + install -d ${DESTDIR}/usr/include + install -d ${DESTDIR}/usr/lib +- install -d ${DESTDIR}/usr/lib/lua/$(LUAVER) + install -m 755 swupdate ${DESTDIR}/usr/bin + for i in ${tools-bins};do \ + install -m 755 $$i ${DESTDIR}/usr/bin; \ +@@ -443,7 +446,10 @@ install: all + install -m 0644 include/swupdate_status.h ${DESTDIR}/usr/include + install -m 0644 include/progress_ipc.h ${DESTDIR}/usr/include + install -m 0755 ipc/lib.a ${DESTDIR}/usr/lib/libswupdate.a +- install -m 0755 lua_swupdate.so $(DESTDIR)/usr/lib/lua/$(LUAVER) ++ if [ $(HAVE_LUA) = y ]; then \ ++ install -d ${DESTDIR}/usr/lib/lua/$(LUAVER); \ ++ install -m 0755 ${lua_swupdate} $(DESTDIR)/usr/lib/lua/$(LUAVER); \ ++ fi + + PHONY += run-tests + tests: \ +-- +2.14.1 + diff --git a/bsp/buildroot/package/sysklogd/S01syslogd b/bsp/buildroot/package/sysklogd/S01syslogd index d0951f02..26036328 100644 --- a/bsp/buildroot/package/sysklogd/S01syslogd +++ b/bsp/buildroot/package/sysklogd/S01syslogd @@ -54,9 +54,9 @@ reload() { } case "$1" in - start|stop|restart|reload) - "$1";; - *) - echo "Usage: $0 {start|stop|restart|reload}" - exit 1 + start|stop|restart|reload) + "$1";; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 esac diff --git a/bsp/buildroot/package/sysklogd/S02klogd b/bsp/buildroot/package/sysklogd/S02klogd index 93f39e1f..ba728aa9 100644 --- a/bsp/buildroot/package/sysklogd/S02klogd +++ b/bsp/buildroot/package/sysklogd/S02klogd @@ -57,9 +57,9 @@ reload() { } case "$1" in - start|stop|restart|reload) - "$1";; - *) - echo "Usage: $0 {start|stop|restart|reload}" - exit 1 + start|stop|restart|reload) + "$1";; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 esac diff --git a/bsp/buildroot/package/syslog-ng/0003-look-for-pthread-atfork-also-in-libc-nonshared.patch b/bsp/buildroot/package/syslog-ng/0003-look-for-pthread-atfork-also-in-libc-nonshared.patch new file mode 100644 index 00000000..0f8454af --- /dev/null +++ b/bsp/buildroot/package/syslog-ng/0003-look-for-pthread-atfork-also-in-libc-nonshared.patch @@ -0,0 +1,49 @@ +From a844abca43349739c36a4cdb7ea6f3bce560bd7f Mon Sep 17 00:00:00 2001 +From: Rolf Eike Beer +Date: Thu, 8 Nov 2018 08:14:46 +0100 +Subject: [PATCH] look for pthread_atfork() also in lib c_nonshared + +Newer versions of glibc do not have pthread_nonshared anymore, instead the +symbol is in c_nonshared. This fixes a crash on start on those platforms +(namely with syslog-ng). + +Signed-off-by: Rolf Eike Beer +[ThomasDS: backport from https://github.com/buytenh/ivykis/pull/16, at this +moment not yet merged upstream. +See also: +- https://github.com/buytenh/ivykis/issues/15 +- https://github.com/balabit/syslog-ng/issues/2263 +] +Signed-off-by: Thomas De Schampheleire + +--- + configure.ac | 2 ++ + src/pthr.h | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/lib/ivykis/configure.ac b/lib/ivykis/configure.ac +index e9b10c0..56440d1 100644 +--- a/lib/ivykis/configure.ac ++++ b/lib/ivykis/configure.ac +@@ -88,6 +88,8 @@ esac + # link in libpthread_nonshared.a if it is available. + # + AC_CHECK_LIB([pthread_nonshared], [pthread_atfork]) ++# the lib is gone in glibc 2.28, things are now in c_nonshared ++AC_CHECK_LIB([c_nonshared], [pthread_atfork]) + + # Checks for header files. + AC_CHECK_HEADERS([process.h]) +diff --git a/lib/ivykis/src/pthr.h b/lib/ivykis/src/pthr.h +index a41eaf3..32c1af2 100644 +--- a/lib/ivykis/src/pthr.h ++++ b/lib/ivykis/src/pthr.h +@@ -42,7 +42,7 @@ static inline int pthreads_available(void) + * symbol because that causes it to be undefined even if you link + * libpthread_nonshared.a in explicitly. + */ +-#ifndef HAVE_LIBPTHREAD_NONSHARED ++#if !defined(HAVE_LIBPTHREAD_NONSHARED) && !defined(HAVE_LIBC_NONSHARED) + #pragma weak pthread_atfork + #endif + diff --git a/bsp/buildroot/package/syslog-ng/S01syslog-ng b/bsp/buildroot/package/syslog-ng/S01syslog-ng index 1d74bf88..2ced6f8b 100644 --- a/bsp/buildroot/package/syslog-ng/S01syslog-ng +++ b/bsp/buildroot/package/syslog-ng/S01syslog-ng @@ -54,9 +54,9 @@ reload() { } case "$1" in - start|stop|restart|reload) - "$1";; - *) - echo "Usage: $0 {start|stop|restart|reload}" - exit 1 + start|stop|restart|reload) + "$1";; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 esac diff --git a/bsp/buildroot/package/systemd-bootchart/Config.in b/bsp/buildroot/package/systemd-bootchart/Config.in index 8deb6b9b..9af13db1 100644 --- a/bsp/buildroot/package/systemd-bootchart/Config.in +++ b/bsp/buildroot/package/systemd-bootchart/Config.in @@ -1,5 +1,18 @@ +config BR2_PACKAGE_SYSTEMD_BOOTCHART_ARCH_SUPPORTS + bool + # see src/architecture.h + default y if BR2_aarch64 || BR2_aarch64_be + default y if BR2_arm || BR2_armeb + default y if BR2_i386 || BR2_x86_64 + default y if BR2_m68k + default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le + default y if BR2_sh + default y if BR2_sparc || BR2_sparc64 + config BR2_PACKAGE_SYSTEMD_BOOTCHART bool "systemd-bootchart" + depends on BR2_PACKAGE_SYSTEMD_BOOTCHART_ARCH_SUPPORTS depends on BR2_INIT_SYSTEMD depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 help @@ -22,5 +35,6 @@ config BR2_PACKAGE_SYSTEMD_BOOTCHART http://www.freedesktop.org/software/systemd/man/systemd-bootchart.html comment "systemd-bootchart needs a toolchain w/ headers >= 3.17" + depends on BR2_PACKAGE_SYSTEMD_BOOTCHART_ARCH_SUPPORTS depends on BR2_INIT_SYSTEMD depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 diff --git a/bsp/buildroot/package/thrift/thrift.mk b/bsp/buildroot/package/thrift/thrift.mk index 8a284229..6014bbfc 100644 --- a/bsp/buildroot/package/thrift/thrift.mk +++ b/bsp/buildroot/package/thrift/thrift.mk @@ -31,8 +31,6 @@ endif # thrift doesn't use the regular flags BUILD_{STATIC,SHARED}_LIBS ifeq ($(BR2_STATIC_LIBS),y) -# openssl uses zlib, so we need to explicitly link with it when static -THRIFT_CONF_ENV += LIBS=-lz THRIFT_CONF_OPTS += -DWITH_STATIC_LIB=ON -DWITH_BOOST_STATIC=ON -DWITH_SHARED_LIB=OFF else ifeq ($(BR2_SHARED_LIBS),y) THRIFT_CONF_OPTS += -DWITH_STATIC_LIB=OFF -DWITH_BOOST_STATIC=OFF -DWITH_SHARED_LIB=ON diff --git a/bsp/buildroot/package/thttpd/0001-getline.patch b/bsp/buildroot/package/thttpd/0001-getline.patch deleted file mode 100644 index 35c366ae..00000000 --- a/bsp/buildroot/package/thttpd/0001-getline.patch +++ /dev/null @@ -1,26 +0,0 @@ -Fix glibc/eglibc getline() conflicting functions. - -Signed-off-by: Gustavo Zacarias ---- - -diff -Nura thttpd-2.25b.orig/extras/htpasswd.c thttpd-2.25b/extras/htpasswd.c ---- thttpd-2.25b.orig/extras/htpasswd.c 2001-12-18 21:08:08.000000000 -0300 -+++ thttpd-2.25b/extras/htpasswd.c 2011-11-25 11:42:47.198582812 -0300 -@@ -49,7 +49,7 @@ - while((line[y++] = line[x++])); - } - --static int getline(char *s, int n, FILE *f) { -+static int get_line(char *s, int n, FILE *f) { - register int i=0; - - while(1) { -@@ -189,7 +189,7 @@ - strcpy(user,argv[2]); - - found = 0; -- while(!(getline(line,MAX_STRING_LEN,f))) { -+ while(!(get_line(line,MAX_STRING_LEN,f))) { - if(found || (line[0] == '#') || (!line[0])) { - putline(tfp,line); - continue; diff --git a/bsp/buildroot/package/thttpd/thttpd.hash b/bsp/buildroot/package/thttpd/thttpd.hash index 2400f5bc..4bdd7fe7 100644 --- a/bsp/buildroot/package/thttpd/thttpd.hash +++ b/bsp/buildroot/package/thttpd/thttpd.hash @@ -1,3 +1,3 @@ -# From http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/t/thttpd/thttpd_2.25b-11.dsc -sha256 07719b08b1cff6a21c08697a7bcb4395425b07ee753106262fb62a03a7d32360 thttpd_2.25b.orig.tar.gz -sha256 4d213c18daf121d21412cc54864fbca250e1773a91df6573373e1d2273a2cec9 thttpd_2.25b-11.diff.gz +# Locally calculated +sha256 99c09f47da326b1e7b5295c45549d2b65534dce27c44812cf7eef1441681a397 thttpd-2.29.tar.gz +sha256 be059e6b8219d5bb5480fa6a2864bbb34892f56951d03d08b356bc1fa8c81a01 thttpd.c diff --git a/bsp/buildroot/package/thttpd/thttpd.mk b/bsp/buildroot/package/thttpd/thttpd.mk index f1bee013..29611fff 100644 --- a/bsp/buildroot/package/thttpd/thttpd.mk +++ b/bsp/buildroot/package/thttpd/thttpd.mk @@ -4,23 +4,11 @@ # ################################################################################ -THTTPD_VERSION = 2.25b -THTTPD_SOURCE = thttpd_$(THTTPD_VERSION).orig.tar.gz -THTTPD_PATCH = thttpd_$(THTTPD_VERSION)-11.diff.gz -THTTPD_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/t/thttpd +THTTPD_VERSION = 2.29 +THTTPD_SITE = https://acme.com/software/thttpd THTTPD_LICENSE = BSD-2-Clause THTTPD_LICENSE_FILES = thttpd.c -ifneq ($(THTTPD_PATCH),) -define THTTPD_DEBIAN_PATCHES - if [ -d $(@D)/debian/patches ]; then \ - $(APPLY_PATCHES) $(@D) $(@D)/debian/patches \*.patch; \ - fi -endef -endif - -THTTPD_POST_PATCH_HOOKS = THTTPD_DEBIAN_PATCHES - THTTPD_MAKE = $(MAKE1) define THTTPD_INSTALL_TARGET_CMDS diff --git a/bsp/buildroot/package/tiff/0001-Fix-for-simple-memory-leak-that-was-assigned-CVE-2019-6128.patch b/bsp/buildroot/package/tiff/0001-Fix-for-simple-memory-leak-that-was-assigned-CVE-2019-6128.patch new file mode 100644 index 00000000..638760b7 --- /dev/null +++ b/bsp/buildroot/package/tiff/0001-Fix-for-simple-memory-leak-that-was-assigned-CVE-2019-6128.patch @@ -0,0 +1,53 @@ +From 0c74a9f49b8d7a36b17b54a7428b3526d20f88a8 Mon Sep 17 00:00:00 2001 +From: Scott Gayou +Date: Wed, 23 Jan 2019 15:03:53 -0500 +Subject: [PATCH] Fix for simple memory leak that was assigned CVE-2019-6128. + +pal2rgb failed to free memory on a few errors. This was reported +here: http://bugzilla.maptools.org/show_bug.cgi?id=2836. + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://gitlab.com/libtiff/libtiff/commit/ae0bed1fe530a82faf2e9ea1775109dbf301a971] +--- + tools/pal2rgb.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/tools/pal2rgb.c b/tools/pal2rgb.c +index 01d8502e..9492f1cf 100644 +--- a/tools/pal2rgb.c ++++ b/tools/pal2rgb.c +@@ -118,12 +118,14 @@ main(int argc, char* argv[]) + shortv != PHOTOMETRIC_PALETTE) { + fprintf(stderr, "%s: Expecting a palette image.\n", + argv[optind]); ++ (void) TIFFClose(in); + return (-1); + } + if (!TIFFGetField(in, TIFFTAG_COLORMAP, &rmap, &gmap, &bmap)) { + fprintf(stderr, + "%s: No colormap (not a valid palette image).\n", + argv[optind]); ++ (void) TIFFClose(in); + return (-1); + } + bitspersample = 0; +@@ -131,11 +133,14 @@ main(int argc, char* argv[]) + if (bitspersample != 8) { + fprintf(stderr, "%s: Sorry, can only handle 8-bit images.\n", + argv[optind]); ++ (void) TIFFClose(in); + return (-1); + } + out = TIFFOpen(argv[optind+1], "w"); +- if (out == NULL) ++ if (out == NULL) { ++ (void) TIFFClose(in); + return (-2); ++ } + cpTags(in, out); + TIFFGetField(in, TIFFTAG_IMAGEWIDTH, &imagewidth); + TIFFGetField(in, TIFFTAG_IMAGELENGTH, &imagelength); +-- +2.18.1 + diff --git a/bsp/buildroot/package/tiff/0001-libtiff-tif_dirwrite.c-in-TIFFWriteDirectoryTagCheck.patch b/bsp/buildroot/package/tiff/0001-libtiff-tif_dirwrite.c-in-TIFFWriteDirectoryTagCheck.patch deleted file mode 100644 index 2be989b9..00000000 --- a/bsp/buildroot/package/tiff/0001-libtiff-tif_dirwrite.c-in-TIFFWriteDirectoryTagCheck.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 6173a57d39e04d68b139f8c1aa499a24dbe74ba1 Mon Sep 17 00:00:00 2001 -From: Even Rouault -Date: Fri, 30 Jun 2017 17:29:44 +0000 -Subject: [PATCH] * libtiff/tif_dirwrite.c: in - TIFFWriteDirectoryTagCheckedXXXX() functions associated with LONG8/SLONG8 - data type, replace assertion that the file is BigTIFF, by a non-fatal error. - Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2712 Reported by team - OWL337 - -[Peter: drop ChangeLog modification] -Signed-off-by: Peter Korsgaard ---- - libtiff/tif_dirwrite.c | 20 ++++++++++++++++---- - 1 file changed, 23 insertions(+), 4 deletions(-) - -diff --git a/libtiff/tif_dirwrite.c b/libtiff/tif_dirwrite.c -index 2967da58..8d6686ba 100644 ---- a/libtiff/tif_dirwrite.c -+++ b/libtiff/tif_dirwrite.c -@@ -2111,7 +2111,10 @@ TIFFWriteDirectoryTagCheckedLong8(TIFF* tif, uint32* ndir, TIFFDirEntry* dir, ui - { - uint64 m; - assert(sizeof(uint64)==8); -- assert(tif->tif_flags&TIFF_BIGTIFF); -+ if( !(tif->tif_flags&TIFF_BIGTIFF) ) { -+ TIFFErrorExt(tif->tif_clientdata,"TIFFWriteDirectoryTagCheckedLong8","LONG8 not allowed for ClassicTIFF"); -+ return(0); -+ } - m=value; - if (tif->tif_flags&TIFF_SWAB) - TIFFSwabLong8(&m); -@@ -2124,7 +2127,10 @@ TIFFWriteDirectoryTagCheckedLong8Array(TIFF* tif, uint32* ndir, TIFFDirEntry* di - { - assert(count<0x20000000); - assert(sizeof(uint64)==8); -- assert(tif->tif_flags&TIFF_BIGTIFF); -+ if( !(tif->tif_flags&TIFF_BIGTIFF) ) { -+ TIFFErrorExt(tif->tif_clientdata,"TIFFWriteDirectoryTagCheckedLong8","LONG8 not allowed for ClassicTIFF"); -+ return(0); -+ } - if (tif->tif_flags&TIFF_SWAB) - TIFFSwabArrayOfLong8(value,count); - return(TIFFWriteDirectoryTagData(tif,ndir,dir,tag,TIFF_LONG8,count,count*8,value)); -@@ -2136,7 +2142,10 @@ TIFFWriteDirectoryTagCheckedSlong8(TIFF* tif, uint32* ndir, TIFFDirEntry* dir, u - { - int64 m; - assert(sizeof(int64)==8); -- assert(tif->tif_flags&TIFF_BIGTIFF); -+ if( !(tif->tif_flags&TIFF_BIGTIFF) ) { -+ TIFFErrorExt(tif->tif_clientdata,"TIFFWriteDirectoryTagCheckedLong8","SLONG8 not allowed for ClassicTIFF"); -+ return(0); -+ } - m=value; - if (tif->tif_flags&TIFF_SWAB) - TIFFSwabLong8((uint64*)(&m)); -@@ -2149,7 +2158,10 @@ TIFFWriteDirectoryTagCheckedSlong8Array(TIFF* tif, uint32* ndir, TIFFDirEntry* d - { - assert(count<0x20000000); - assert(sizeof(int64)==8); -- assert(tif->tif_flags&TIFF_BIGTIFF); -+ if( !(tif->tif_flags&TIFF_BIGTIFF) ) { -+ TIFFErrorExt(tif->tif_clientdata,"TIFFWriteDirectoryTagCheckedLong8","SLONG8 not allowed for ClassicTIFF"); -+ return(0); -+ } - if (tif->tif_flags&TIFF_SWAB) - TIFFSwabArrayOfLong8((uint64*)value,count); - return(TIFFWriteDirectoryTagData(tif,ndir,dir,tag,TIFF_SLONG8,count,count*8,value)); --- -2.11.0 - diff --git a/bsp/buildroot/package/tiff/tiff.hash b/bsp/buildroot/package/tiff/tiff.hash index 516cb062..21eb4bd3 100644 --- a/bsp/buildroot/package/tiff/tiff.hash +++ b/bsp/buildroot/package/tiff/tiff.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 59d7a5a8ccd92059913f246877db95a2918e6c04fb9d43fd74e5c3390dac2910 tiff-4.0.8.tar.gz +sha256 2c52d11ccaf767457db0c46795d9c7d1a8d8f76f68b0b800a3dfe45786b996e4 tiff-4.0.10.tar.gz +sha256 fbd6fed7938541d2c809c0826225fc85e551fdbfa8732b10f0c87e0847acafd7 COPYRIGHT diff --git a/bsp/buildroot/package/tiff/tiff.mk b/bsp/buildroot/package/tiff/tiff.mk index 405cb925..aef08b34 100644 --- a/bsp/buildroot/package/tiff/tiff.mk +++ b/bsp/buildroot/package/tiff/tiff.mk @@ -4,7 +4,7 @@ # ################################################################################ -TIFF_VERSION = 4.0.8 +TIFF_VERSION = 4.0.10 TIFF_SITE = http://download.osgeo.org/libtiff TIFF_LICENSE = tiff license TIFF_LICENSE_FILES = COPYRIGHT diff --git a/bsp/buildroot/package/tor/0001-Fix-static-linking-with-OpenSSL.patch b/bsp/buildroot/package/tor/0001-Fix-static-linking-with-OpenSSL.patch index 50ea00af..e4cd24e1 100644 --- a/bsp/buildroot/package/tor/0001-Fix-static-linking-with-OpenSSL.patch +++ b/bsp/buildroot/package/tor/0001-Fix-static-linking-with-OpenSSL.patch @@ -15,11 +15,25 @@ Signed-off-by: Vicente Olivert Riera Signed-off-by: Bernd Kuhls Signed-off-by: Fabrice Fontaine --- + acinclude.m4 | 2 +- configure.ac | 4 ++-- src/test/include.am | 8 ++++---- src/tools/include.am | 4 ++-- - 3 files changed, 8 insertions(+), 8 deletions(-) + 4 files changed, 9 insertions(+), 9 deletions(-) +diff --git a/acinclude.m4 b/acinclude.m4 +index 5ecdf1d5c..be5633f4f 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -166,7 +166,7 @@ AC_CACHE_CHECK([for $1 directory], tor_cv_library_$1_dir, [ + + for tor_trydir in "$try$1dir" "(system)" "$prefix" /usr/local /usr/pkg $8; do + LDFLAGS="$tor_saved_LDFLAGS" +- LIBS="$tor_saved_LIBS $3" ++ LIBS="$3 $tor_saved_LIBS" + CPPFLAGS="$tor_saved_CPPFLAGS" + + if test -z "$tor_trydir" ; then diff --git a/configure.ac b/configure.ac index 05e1392cf..580befa6b 100644 --- a/configure.ac diff --git a/bsp/buildroot/package/tpm2-abrmd/Config.in b/bsp/buildroot/package/tpm2-abrmd/Config.in index d18f7361..db0ea661 100644 --- a/bsp/buildroot/package/tpm2-abrmd/Config.in +++ b/bsp/buildroot/package/tpm2-abrmd/Config.in @@ -16,8 +16,8 @@ config BR2_PACKAGE_TPM2_ABRMD The package also provides a client library for interacting with the daemon via TPM Command Transmission Interface (TCTI). - It is intended for use with the SAPI library (libsapi) like - any other TCTI. + It is intended for use with the SAPI library (libtss2-sys) + like any other TCTI. https://github.com/tpm2-software/tpm2-abrmd diff --git a/bsp/buildroot/package/tpm2-tools/Config.in b/bsp/buildroot/package/tpm2-tools/Config.in index d8660a8f..35ca63bf 100644 --- a/bsp/buildroot/package/tpm2-tools/Config.in +++ b/bsp/buildroot/package/tpm2-tools/Config.in @@ -1,12 +1,7 @@ config BR2_PACKAGE_TPM2_TOOLS bool "tpm2-tools" - depends on BR2_USE_MMU # dbus, libglib - depends on BR2_USE_WCHAR # libglib -> gettext - depends on BR2_TOOLCHAIN_HAS_THREADS # libglib depends on !BR2_STATIC_LIBS # tpm2-tss - select BR2_PACKAGE_DBUS select BR2_PACKAGE_LIBCURL - select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_TPM2_TSS help @@ -23,7 +18,5 @@ config BR2_PACKAGE_TPM2_TOOLS https://github.com/tpm2-software/tpm2-tools -comment "tpm2-tools needs a toolchain w/ dynamic library, wchar, threads" - depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - BR2_STATIC_LIBS +comment "tpm2-tools needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/tpm2-tools/tpm2-tools.hash b/bsp/buildroot/package/tpm2-tools/tpm2-tools.hash index ae228c59..d2bd31cd 100644 --- a/bsp/buildroot/package/tpm2-tools/tpm2-tools.hash +++ b/bsp/buildroot/package/tpm2-tools/tpm2-tools.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 cc95576f49cf9bacf75772fd98dcb7edc5172a6a8dfa20c215fe3cc69b0a3a16 tpm2-tools-3.1.3.tar.gz +sha256 2f515200e9a7958ee13015150f7958c8a332eb071c2564c33f81ebe32c4f6033 tpm2-tools-3.1.4.tar.gz sha256 3d6b149c8b042bd5f3db678d587fbe55230d071ca084bd38dcae451679c6dd45 LICENSE diff --git a/bsp/buildroot/package/tpm2-tools/tpm2-tools.mk b/bsp/buildroot/package/tpm2-tools/tpm2-tools.mk index f7e2f852..e7423db6 100644 --- a/bsp/buildroot/package/tpm2-tools/tpm2-tools.mk +++ b/bsp/buildroot/package/tpm2-tools/tpm2-tools.mk @@ -4,11 +4,11 @@ # ################################################################################ -TPM2_TOOLS_VERSION = 3.1.3 +TPM2_TOOLS_VERSION = 3.1.4 TPM2_TOOLS_SITE = https://github.com/tpm2-software/tpm2-tools/releases/download/$(TPM2_TOOLS_VERSION) -TPM2_TOOLS_LICENSE = BSD-2-Clause +TPM2_TOOLS_LICENSE = BSD-3-Clause TPM2_TOOLS_LICENSE_FILES = LICENSE -TPM2_TOOLS_DEPENDENCIES = dbus libcurl libglib2 openssl tpm2-tss host-pkgconf +TPM2_TOOLS_DEPENDENCIES = libcurl openssl tpm2-tss host-pkgconf # -fstack-protector-all and FORTIFY_SOURCE=2 is used by # default. Disable that so the BR2_SSP_* / BR2_FORTIFY_SOURCE_* options diff --git a/bsp/buildroot/package/tpm2-tss/Config.in b/bsp/buildroot/package/tpm2-tss/Config.in index 2fb5b0f2..2d619750 100644 --- a/bsp/buildroot/package/tpm2-tss/Config.in +++ b/bsp/buildroot/package/tpm2-tss/Config.in @@ -17,7 +17,7 @@ config BR2_PACKAGE_TPM2_TSS variants may be useful for integration into event-driven programming environments. Both the synchronous and asynchronous API are exposed through a single library: - libsapi. + libtss2-sys. * TPM Command Transmission Interface (TCTI) that is described in the same specification. This API provides a standard @@ -26,10 +26,10 @@ config BR2_PACKAGE_TPM2_TSS implementing the TCTI API will be implemented as a way to abstract various platform specific IPC mechanisms. Currently this repository provides two TCTI implementations: - libtcti-device and libtcti-socket. The prior should be used - for direct access to the TPM through the Linux kernel - driver. The later implements the protocol exposed by the - Microsoft software TPM2 simulator. + libtss2-tcti-device and libtss2-tcti-mssim. The prior should + be used for direct access to the TPM through the Linux + kernel driver. The later implements the protocol exposed by + the Microsoft software TPM2 simulator. https://github.com/tpm2-software/tpm2-tss diff --git a/bsp/buildroot/package/tpm2-tss/tpm2-tss.hash b/bsp/buildroot/package/tpm2-tss/tpm2-tss.hash index 8d623202..9368357c 100644 --- a/bsp/buildroot/package/tpm2-tss/tpm2-tss.hash +++ b/bsp/buildroot/package/tpm2-tss/tpm2-tss.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 b3f3a0319a3ed9d03465755b57bc60ec5e3b3bac2a0d1d2c79ca1ed412aed8ce tpm2-tss-2.1.1.tar.gz +sha256 bddfa4ab2ceb6394bcacf7db5d6419cbfabdb22702b6df75c59e60dd5f3fafb5 tpm2-tss-2.1.3.tar.gz sha256 f7da3c2da12cec3348bb7ee9e2a9e651a241450b2efb67da29d5a75ef2da058a LICENSE diff --git a/bsp/buildroot/package/tpm2-tss/tpm2-tss.mk b/bsp/buildroot/package/tpm2-tss/tpm2-tss.mk index 672f483d..e02abb44 100644 --- a/bsp/buildroot/package/tpm2-tss/tpm2-tss.mk +++ b/bsp/buildroot/package/tpm2-tss/tpm2-tss.mk @@ -4,7 +4,7 @@ # ################################################################################ -TPM2_TSS_VERSION = 2.1.1 +TPM2_TSS_VERSION = 2.1.3 TPM2_TSS_SITE = https://github.com/tpm2-software/tpm2-tss/releases/download/$(TPM2_TSS_VERSION) TPM2_TSS_LICENSE = BSD-2-Clause TPM2_TSS_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/vsftpd/0004-Prevent-hang-in-SIGCHLD-handler.patch b/bsp/buildroot/package/vsftpd/0004-Prevent-hang-in-SIGCHLD-handler.patch new file mode 100644 index 00000000..0732c5f6 --- /dev/null +++ b/bsp/buildroot/package/vsftpd/0004-Prevent-hang-in-SIGCHLD-handler.patch @@ -0,0 +1,87 @@ +From 1e65a0a15f819b8bf1b551bd84f71d0da1f5a00c Mon Sep 17 00:00:00 2001 +From: Martin Sehnoutka +Date: Thu, 17 Nov 2016 13:02:27 +0100 +Subject: [PATCH] Prevent hanging in SIGCHLD handler. + +vsftpd can now handle pam_exec.so in pam.d config without hanging +in SIGCHLD handler. + +[Abdelmalek: +Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1198259 +Fetched from: +https://src.fedoraproject.org/cgit/rpms/vsftpd.git/plain/0026-Prevent-hanging-in-SIGCHLD-handler.patch] +Signed-off-by: Abdelmalek Benelouezzane +--- + sysutil.c | 4 ++-- + sysutil.h | 2 +- + twoprocess.c | 13 +++++++++++-- + 3 files changed, 14 insertions(+), 5 deletions(-) + +diff --git a/sysutil.c b/sysutil.c +index 6d7cb3f..099748f 100644 +--- a/sysutil.c ++++ b/sysutil.c +@@ -608,13 +608,13 @@ vsf_sysutil_exit(int exit_code) + } + + struct vsf_sysutil_wait_retval +-vsf_sysutil_wait(void) ++vsf_sysutil_wait(int hang) + { + struct vsf_sysutil_wait_retval retval; + vsf_sysutil_memclr(&retval, sizeof(retval)); + while (1) + { +- int sys_ret = wait(&retval.exit_status); ++ int sys_ret = waitpid(-1, &retval.exit_status, hang ? 0 : WNOHANG); + if (sys_ret < 0 && errno == EINTR) + { + vsf_sysutil_check_pending_actions(kVSFSysUtilUnknown, 0, 0); +diff --git a/sysutil.h b/sysutil.h +index c145bdf..13153cd 100644 +--- a/sysutil.h ++++ b/sysutil.h +@@ -177,7 +177,7 @@ struct vsf_sysutil_wait_retval + int PRIVATE_HANDS_OFF_syscall_retval; + int PRIVATE_HANDS_OFF_exit_status; + }; +-struct vsf_sysutil_wait_retval vsf_sysutil_wait(void); ++struct vsf_sysutil_wait_retval vsf_sysutil_wait(int hang); + int vsf_sysutil_wait_reap_one(void); + int vsf_sysutil_wait_get_retval( + const struct vsf_sysutil_wait_retval* p_waitret); +diff --git a/twoprocess.c b/twoprocess.c +index 33d84dc..b1891e7 100644 +--- a/twoprocess.c ++++ b/twoprocess.c +@@ -47,8 +47,17 @@ static void + handle_sigchld(void* duff) + { + +- struct vsf_sysutil_wait_retval wait_retval = vsf_sysutil_wait(); ++ struct vsf_sysutil_wait_retval wait_retval = vsf_sysutil_wait(0); + (void) duff; ++ if (!vsf_sysutil_wait_get_exitcode(&wait_retval) && ++ !vsf_sysutil_wait_get_retval(&wait_retval)) ++ /* There was nobody to wait for, possibly caused by underlying library ++ * which created a new process through fork()/vfork() and already picked ++ * it up, e.g. by pam_exec.so or integrity check routines for libraries ++ * when FIPS mode is on (nss freebl), which can lead to calling prelink ++ * if the prelink package is installed. ++ */ ++ return; + /* Child died, so we'll do the same! Report it as an error unless the child + * exited normally with zero exit code + */ +@@ -390,7 +399,7 @@ common_do_login(struct vsf_session* p_sess, const struct mystr* p_user_str, + priv_sock_send_result(p_sess->parent_fd, PRIV_SOCK_RESULT_OK); + if (!p_sess->control_use_ssl) + { +- (void) vsf_sysutil_wait(); ++ (void) vsf_sysutil_wait(1); + } + else + { +-- +2.14.4 + diff --git a/bsp/buildroot/package/wavemon/Config.in b/bsp/buildroot/package/wavemon/Config.in index b72a6177..0cb4cb5c 100644 --- a/bsp/buildroot/package/wavemon/Config.in +++ b/bsp/buildroot/package/wavemon/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_WAVEMON bool "wavemon" - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_NCURSES select BR2_PACKAGE_LIBNL help @@ -15,5 +15,5 @@ config BR2_PACKAGE_WAVEMON https://github.com/uoaerg/wavemon -comment "wavemon needs a toolchain w/ NPTL" - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL +comment "wavemon needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/webkitgtk/webkitgtk.hash b/bsp/buildroot/package/webkitgtk/webkitgtk.hash index ed251197..d024343d 100644 --- a/bsp/buildroot/package/webkitgtk/webkitgtk.hash +++ b/bsp/buildroot/package/webkitgtk/webkitgtk.hash @@ -1,7 +1,7 @@ -# From https://webkitgtk.org/releases/webkitgtk-2.22.6.tar.xz.sums -md5 7c21a30f7f078f0b712caf0c7ee966a4 webkitgtk-2.22.6.tar.xz -sha1 26a8f8951da03aa4dfc2c25257b6899ea3c2558f webkitgtk-2.22.6.tar.xz -sha256 df90db9c0db0a2072b945fa3e1d45865922bd686c4659cce6cb5897ce357c85b webkitgtk-2.22.6.tar.xz +# From https://webkitgtk.org/releases/webkitgtk-2.22.7.tar.xz.sums +md5 47386c10a9c3975f933c85404f35ff3b webkitgtk-2.22.7.tar.xz +sha1 5f45147f6fc4b6a0dd3c545bf857679313230507 webkitgtk-2.22.7.tar.xz +sha256 4be6f7d605cd0a690fd26e8aa83b089a33ad9d419148eafcfb60580dd2af30ff webkitgtk-2.22.7.tar.xz # Hashes for license files: sha256 0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4 Source/WebCore/LICENSE-APPLE diff --git a/bsp/buildroot/package/webkitgtk/webkitgtk.mk b/bsp/buildroot/package/webkitgtk/webkitgtk.mk index c17bbc80..a30c6146 100644 --- a/bsp/buildroot/package/webkitgtk/webkitgtk.mk +++ b/bsp/buildroot/package/webkitgtk/webkitgtk.mk @@ -4,8 +4,8 @@ # ################################################################################ -WEBKITGTK_VERSION = 2.22.6 -WEBKITGTK_SITE = http://www.webkitgtk.org/releases +WEBKITGTK_VERSION = 2.22.7 +WEBKITGTK_SITE = https://www.webkitgtk.org/releases WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz WEBKITGTK_INSTALL_STAGING = YES WEBKITGTK_LICENSE = LGPL-2.1+, BSD-2-Clause diff --git a/bsp/buildroot/package/wget/wget.hash b/bsp/buildroot/package/wget/wget.hash index 7d1a1c55..956e1127 100644 --- a/bsp/buildroot/package/wget/wget.hash +++ b/bsp/buildroot/package/wget/wget.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/wget/wget-1.20.1.tar.lz.sig +# https://ftp.gnu.org/gnu/wget/wget-1.20.3.tar.lz.sig # with key 1CB27DBC98614B2D5841646D08302DB6A2670428 -sha256 0f63e84dd23dc53ab3ab6f483c3afff8301e54c165783f772101cdd9b1c64928 wget-1.20.1.tar.lz +sha256 69607ce8216c2d1126b7a872db594b3f21e511e660e07ca1f81be96650932abb wget-1.20.3.tar.lz # Locally calculated sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b COPYING diff --git a/bsp/buildroot/package/wget/wget.mk b/bsp/buildroot/package/wget/wget.mk index 5cdecbcc..7b9c3e75 100644 --- a/bsp/buildroot/package/wget/wget.mk +++ b/bsp/buildroot/package/wget/wget.mk @@ -4,7 +4,7 @@ # ################################################################################ -WGET_VERSION = 1.20.1 +WGET_VERSION = 1.20.3 WGET_SOURCE = wget-$(WGET_VERSION).tar.lz WGET_SITE = $(BR2_GNU_MIRROR)/wget WGET_DEPENDENCIES = host-pkgconf diff --git a/bsp/buildroot/package/wireshark/0001-packet-gtp-c-remove-unneeded-named-structures.patch b/bsp/buildroot/package/wireshark/0001-packet-gtp-c-remove-unneeded-named-structures.patch new file mode 100644 index 00000000..0a894a28 --- /dev/null +++ b/bsp/buildroot/package/wireshark/0001-packet-gtp-c-remove-unneeded-named-structures.patch @@ -0,0 +1,75 @@ +From 020e25b660250c97c8085e64cf85074ccfcdd06b Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 5 Mar 2019 20:59:49 +0100 +Subject: [PATCH] packet-gtp.c: remove unneeded named structures + +In uclibc, _header is already in sigcontext.h: + +packet-gtp.c:2361:16: error: redefinition of 'struct _header' + typedef struct _header { + ^~~~~~~ +In file included from /home/dawncrow/buildroot-test/scripts/instance-0/output/host/i686-buildroot-linux-uclibc/sysroot/usr/include/bits/sigcontext.h:30:0, + from /home/dawncrow/buildroot-test/scripts/instance-0/output/host/i686-buildroot-linux-uclibc/sysroot/usr/include/signal.h:311, + from /home/dawncrow/buildroot-test/scripts/instance-0/output/host/i686-buildroot-linux-uclibc/sysroot/usr/include/glib-2.0/glib/gbacktrace.h:36, + from /home/dawncrow/buildroot-test/scripts/instance-0/output/host/i686-buildroot-linux-uclibc/sysroot/usr/include/glib-2.0/glib.h:34, + from ../../epan/proto.h:28, + from ../../epan/packet.h:14, + from packet-gtp.c:43: +/home/dawncrow/buildroot-test/scripts/instance-0/output/host/i686-buildroot-linux-uclibc/sysroot/usr/include/asm/sigcontext.h:173:8: note: originally defined here + struct _header { + +To fix this issue, transform _header and other named structures (with +the exception of gtp_conv_info_t) into unnamed structures + +Fixes: + - http://autobuild.buildroot.org/results/c41d42fe3489bc63c42e7ce7a9eccb1b4ca7b9b2 + +Change-Id: I78116233c2a8dd7c54723b7cb558254bd5143bd2 +Signed-off-by: Fabrice Fontaine +Reviewed-on: https://code.wireshark.org/review/32335 +Petri-Dish: Guy Harris +Tested-by: Petri Dish Buildbot +Reviewed-by: Guy Harris +[Retrieved from: +https://github.com/wireshark/wireshark/commit/020e25b660250c97c8085e64cf85074ccfcdd06b] +--- + epan/dissectors/packet-gtp.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/epan/dissectors/packet-gtp.c b/epan/dissectors/packet-gtp.c +index 4c40e7aa54..971197e4ae 100644 +--- a/epan/dissectors/packet-gtp.c ++++ b/epan/dissectors/packet-gtp.c +@@ -2170,7 +2170,7 @@ GHashTable* session_table; + /* Relation between -> frame */ + wmem_tree_t* frame_tree; + +-typedef struct gtp_info { ++typedef struct { + guint32 teid; + guint32 frame; + } gtp_info_t; +@@ -2482,7 +2482,7 @@ static int decode_gtp_node_addr(tvbuff_t * tvb, int offset, packet_info * pinfo, + static int decode_gtp_priv_ext(tvbuff_t * tvb, int offset, packet_info * pinfo, proto_tree * tree, session_args_t * args _U_); + static int decode_gtp_unknown(tvbuff_t * tvb, int offset, packet_info * pinfo, proto_tree * tree, session_args_t * args _U_); + +-typedef struct _gtp_opt { ++typedef struct { + int optcode; + int (*decode) (tvbuff_t *, int, packet_info *, proto_tree *, session_args_t *); + } gtp_opt_t; +@@ -2661,12 +2661,12 @@ id_to_str(tvbuff_t *tvb, gint offset) + /* Next definitions and function check_field_presence checks if given field + * in GTP packet is compliant with ETSI + */ +-typedef struct _header { ++typedef struct { + guint8 code; + guint8 presence; + } ext_header; + +-typedef struct _message { ++typedef struct { + guint8 code; + ext_header fields[32]; + } _gtp_mess_items; diff --git a/bsp/buildroot/package/wireshark/wireshark.hash b/bsp/buildroot/package/wireshark/wireshark.hash index bad0a0fd..071940e1 100644 --- a/bsp/buildroot/package/wireshark/wireshark.hash +++ b/bsp/buildroot/package/wireshark/wireshark.hash @@ -1,4 +1,4 @@ -# From: https://www.wireshark.org/download/src/all-versions/SIGNATURES-2.6.6.txt -sha256 487933ea075bdbb25d8df06017d9c4f49fc20eb7f6ec80af086718ed5550e863 wireshark-2.6.6.tar.xz +# From: https://www.wireshark.org/download/src/all-versions/SIGNATURES-2.6.7.txt +sha256 747b3e7a37414942959f76f198be49dcbcca936bda538c4408942ce71bfd2b71 wireshark-2.6.7.tar.xz # Locally calculated sha256 7cdbed2b697efaa45576a033f1ac0e73cd045644a91c79bbf41d4a7d81dac7bf COPYING diff --git a/bsp/buildroot/package/wireshark/wireshark.mk b/bsp/buildroot/package/wireshark/wireshark.mk index c0123882..a917efb5 100644 --- a/bsp/buildroot/package/wireshark/wireshark.mk +++ b/bsp/buildroot/package/wireshark/wireshark.mk @@ -4,7 +4,7 @@ # ################################################################################ -WIRESHARK_VERSION = 2.6.6 +WIRESHARK_VERSION = 2.6.7 WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.xz WIRESHARK_SITE = https://www.wireshark.org/download/src/all-versions WIRESHARK_LICENSE = wireshark license @@ -145,6 +145,13 @@ else WIRESHARK_CONF_OPTS += --without-snappy endif +ifeq ($(BR2_PACKAGE_SPANDSP),y) +WIRESHARK_CONF_OPTS += --with-spandsp +WIRESHARK_DEPENDENCIES += spandsp +else +WIRESHARK_CONF_OPTS += --without-spandsp +endif + define WIRESHARK_REMOVE_DOCS find $(TARGET_DIR)/usr/share/wireshark -name '*.txt' -print0 \ -o -name '*.html' -print0 | xargs -0 rm -f diff --git a/bsp/buildroot/package/wpa_supplicant/wpa_supplicant.hash b/bsp/buildroot/package/wpa_supplicant/wpa_supplicant.hash index 5b5d5fca..2da15f7f 100644 --- a/bsp/buildroot/package/wpa_supplicant/wpa_supplicant.hash +++ b/bsp/buildroot/package/wpa_supplicant/wpa_supplicant.hash @@ -1,3 +1,19 @@ # Locally calculated sha256 76ea6b06b7a2ea8e6d9eb1a9166166f1656e6d48c7508914f592100c95c73074 wpa_supplicant-2.7.tar.gz +sha256 86979655f1c5a9578acbf83e8acdf69a36dcc0966a8819f3b6918530ad3e0c67 0001-OpenSSL-Use-constant-time-operations-for-private-big.patch +sha256 5663da175ecc344c90bea8c95ab831ad47a8002ccbb834f6c091705b92e90e71 0002-Add-helper-functions-for-constant-time-operations.patch +sha256 e5a6bc9f587351d4495740239ceb0a64958a59b3e875722dcaeb4c93fa517f64 0003-OpenSSL-Use-constant-time-selection-for-crypto_bignu.patch +sha256 aa5b722bebbaf175ff89a3653c3d048afe0d0f866989fca6b4c8e882a864392a 0004-EAP-pwd-Use-constant-time-and-memory-access-for-find.patch +sha256 bad9eeaeb118f88303a7a718820b3ba03d705e99b6183b3c44556bedf99db423 0005-SAE-Minimize-timing-differences-in-PWE-derivation.patch +sha256 ae7be450f652f6f77ad868856ab61ba6cb6d7e768585cf5f9f9f674a66e05b40 0006-SAE-Avoid-branches-in-is_quadratic_residue_blind.patch +sha256 86b731c787ca58ac001d20fb769b136e2ca76bf81a8465a8e72c50573cfc4b09 0007-SAE-Mask-timing-of-MODP-groups-22-23-24.patch +sha256 ff7305005217a34818dae247886b9fb1b1db781ab31fb5eac9ebdd9cb0d1edfe 0008-SAE-Use-const_time-selection-for-PWE-in-FFC.patch +sha256 707057cc0e60fe763350f82135dbe407bc289a4958879c8ff1e9413243a1caa4 0009-SAE-Use-constant-time-operations-in-sae_test_pwd_see.patch +sha256 82d8ae4fabfe3674bcb5412befe3a74e40d6485906589c219be72e4fd1e70baa 0010-SAE-Fix-confirm-message-validation-in-error-cases.patch +sha256 ff8d6d92ad4b01987be63cdaf67a24d2eba5b3cd654f37664a8a198e501c0e3b 0011-EAP-pwd-server-Verify-received-scalar-and-element.patch +sha256 d5ebf4e5a810e9a0c035f9268195c542273998ea70fd58697ee25965094062cc 0012-EAP-pwd-server-Detect-reflection-attacks.patch +sha256 7156656498f03b24a0b69a26a59d17a9fcc8e76761f1dabe6d13b4176ffd2ef8 0013-EAP-pwd-client-Verify-received-scalar-and-element.patch +sha256 69926854ec2a79dada290f79f04202764c5d6400d232e3a567ebe633a02c1c66 0014-EAP-pwd-Check-element-x-y-coordinates-explicitly.patch +sha256 cba82a051a39c48872250b2e85ca8ebc628cfe75a9ccec29f3e994abd4156152 0001-EAP-pwd-server-Fix-reassembly-buffer-handling.patch +sha256 dc0e015463e1fd1f230795e1a49ddd1b9d00e726cd9f38846d0f4892d7978162 0003-EAP-pwd-peer-Fix-reassembly-buffer-handling.patch sha256 76eeecd8fc291a71f29189ea20e6a34387b8048a959cbc6a65c41b98194643a2 README diff --git a/bsp/buildroot/package/wpa_supplicant/wpa_supplicant.mk b/bsp/buildroot/package/wpa_supplicant/wpa_supplicant.mk index f56637f4..a518ecc2 100644 --- a/bsp/buildroot/package/wpa_supplicant/wpa_supplicant.mk +++ b/bsp/buildroot/package/wpa_supplicant/wpa_supplicant.mk @@ -6,6 +6,23 @@ WPA_SUPPLICANT_VERSION = 2.7 WPA_SUPPLICANT_SITE = http://w1.fi/releases +WPA_SUPPLICANT_PATCH = \ + https://w1.fi/security/2019-1/0001-OpenSSL-Use-constant-time-operations-for-private-big.patch \ + https://w1.fi/security/2019-1/0002-Add-helper-functions-for-constant-time-operations.patch \ + https://w1.fi/security/2019-1/0003-OpenSSL-Use-constant-time-selection-for-crypto_bignu.patch \ + https://w1.fi/security/2019-2/0004-EAP-pwd-Use-constant-time-and-memory-access-for-find.patch \ + https://w1.fi/security/2019-1/0005-SAE-Minimize-timing-differences-in-PWE-derivation.patch \ + https://w1.fi/security/2019-1/0006-SAE-Avoid-branches-in-is_quadratic_residue_blind.patch \ + https://w1.fi/security/2019-1/0007-SAE-Mask-timing-of-MODP-groups-22-23-24.patch \ + https://w1.fi/security/2019-1/0008-SAE-Use-const_time-selection-for-PWE-in-FFC.patch \ + https://w1.fi/security/2019-1/0009-SAE-Use-constant-time-operations-in-sae_test_pwd_see.patch \ + https://w1.fi/security/2019-3/0010-SAE-Fix-confirm-message-validation-in-error-cases.patch \ + https://w1.fi/security/2019-4/0011-EAP-pwd-server-Verify-received-scalar-and-element.patch \ + https://w1.fi/security/2019-4/0012-EAP-pwd-server-Detect-reflection-attacks.patch \ + https://w1.fi/security/2019-4/0013-EAP-pwd-client-Verify-received-scalar-and-element.patch \ + https://w1.fi/security/2019-4/0014-EAP-pwd-Check-element-x-y-coordinates-explicitly.patch \ + https://w1.fi/security/2019-5/0001-EAP-pwd-server-Fix-reassembly-buffer-handling.patch \ + https://w1.fi/security/2019-5/0003-EAP-pwd-peer-Fix-reassembly-buffer-handling.patch WPA_SUPPLICANT_LICENSE = BSD-3-Clause WPA_SUPPLICANT_LICENSE_FILES = README WPA_SUPPLICANT_CONFIG = $(WPA_SUPPLICANT_DIR)/wpa_supplicant/.config @@ -90,8 +107,8 @@ endif # Try to use openssl if it's already available ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) -WPA_SUPPLICANT_DEPENDENCIES += libopenssl -WPA_SUPPLICANT_LIBS += $(if $(BR2_STATIC_LIBS),-lcrypto -lz) +WPA_SUPPLICANT_DEPENDENCIES += host-pkgconf libopenssl +WPA_SUPPLICANT_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs openssl` WPA_SUPPLICANT_CONFIG_EDITS += 's/\#\(CONFIG_TLS=openssl\)/\1/' else WPA_SUPPLICANT_CONFIG_DISABLE += CONFIG_EAP_PWD diff --git a/bsp/buildroot/package/wsapi/Config.in b/bsp/buildroot/package/wsapi/Config.in index 60c029dd..72e2dcd8 100644 --- a/bsp/buildroot/package/wsapi/Config.in +++ b/bsp/buildroot/package/wsapi/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_WSAPI bool "wsapi" - select BR2_PACKAGE_COXPCALL # runtime + select BR2_PACKAGE_COXPCALL if BR2_PACKAGE_LUA_5_1 # runtime select BR2_PACKAGE_LUAFILESYSTEM # runtime select BR2_PACKAGE_RINGS # runtime help diff --git a/bsp/buildroot/package/x11r7/xapp_xdm/xapp_xdm.hash b/bsp/buildroot/package/x11r7/xapp_xdm/xapp_xdm.hash index 207d769f..605be9de 100644 --- a/bsp/buildroot/package/x11r7/xapp_xdm/xapp_xdm.hash +++ b/bsp/buildroot/package/x11r7/xapp_xdm/xapp_xdm.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2011-September/001737.html -sha256 d4da426ddea0124279a3f2e00a26db61944690628ee818a64df9d27352081c47 xdm-1.1.11.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2019-March/002959.html +md5 47c4c3bf8d59b64b64d134df8b5e5ec5 xdm-1.1.12.tar.bz2 +sha1 5cc5590e40837949b1a63cb030878f8ceebd4d85 xdm-1.1.12.tar.bz2 +sha256 0dd283f72dda098d09e2925b9278c95e21551e693a5802ab442d1b577d8327f4 xdm-1.1.12.tar.bz2 +sha512 1a4be0a070ced5db8fda6fc74794c9f9ed0cb37fa440fda6a3a7652aff62dfc3d7ba68b9facf054671ebf0f4db2a0eec29d0aa3716e3407ccd5529bac3553bdb xdm-1.1.12.tar.bz2 +# Locally computed +sha256 b33b4bebbd6511b3e15315e8e29d67f25334ee45da8b7da6e6e97c53a70c6923 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xdm/xapp_xdm.mk b/bsp/buildroot/package/x11r7/xapp_xdm/xapp_xdm.mk index 422ee53b..3c91e215 100644 --- a/bsp/buildroot/package/x11r7/xapp_xdm/xapp_xdm.mk +++ b/bsp/buildroot/package/x11r7/xapp_xdm/xapp_xdm.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XDM_VERSION = 1.1.11 +XAPP_XDM_VERSION = 1.1.12 XAPP_XDM_SOURCE = xdm-$(XAPP_XDM_VERSION).tar.bz2 XAPP_XDM_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XDM_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_xfd/xapp_xfd.mk b/bsp/buildroot/package/x11r7/xapp_xfd/xapp_xfd.mk index 06c9c83e..89b3f299 100644 --- a/bsp/buildroot/package/x11r7/xapp_xfd/xapp_xfd.mk +++ b/bsp/buildroot/package/x11r7/xapp_xfd/xapp_xfd.mk @@ -9,7 +9,13 @@ XAPP_XFD_SOURCE = xfd-$(XAPP_XFD_VERSION).tar.bz2 XAPP_XFD_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XFD_LICENSE = MIT XAPP_XFD_LICENSE_FILES = COPYING -XAPP_XFD_DEPENDENCIES = freetype fontconfig xlib_libXaw xlib_libXft +XAPP_XFD_DEPENDENCIES = \ + freetype \ + fontconfig \ + xlib_libXaw \ + xlib_libXft \ + $(TARGET_NLS_DEPENDENCIES) XAPP_XFD_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults +XAPP_XFD_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xapp_xload/xapp_xload.mk b/bsp/buildroot/package/x11r7/xapp_xload/xapp_xload.mk index 605359ba..4bb21ecf 100644 --- a/bsp/buildroot/package/x11r7/xapp_xload/xapp_xload.mk +++ b/bsp/buildroot/package/x11r7/xapp_xload/xapp_xload.mk @@ -9,8 +9,9 @@ XAPP_XLOAD_SOURCE = xload-$(XAPP_XLOAD_VERSION).tar.bz2 XAPP_XLOAD_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XLOAD_LICENSE = MIT XAPP_XLOAD_LICENSE_FILES = COPYING -XAPP_XLOAD_DEPENDENCIES = xlib_libXaw +XAPP_XLOAD_DEPENDENCIES = xlib_libXaw $(TARGET_NLS_DEPENDENCIES) XAPP_XLOAD_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults +XAPP_XLOAD_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) # musl doesn't have rwhod.h, but xload can replace it with stubs diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/Config.in index 43090c75..c42255f5 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_AMDGPU bool "xf86-video-amdgpu" + depends on BR2_USE_MMU # libdrm depends on BR2_PACKAGE_MESA3D_DRI_DRIVER depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # gbm select BR2_PACKAGE_LIBDRM @@ -11,5 +12,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_AMDGPU AMD GPU video driver comment "xf86-video-amdgpu needs egl/opengl support from mesa3d" + depends on BR2_USE_MMU depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL || \ !BR2_PACKAGE_MESA3D_DRI_DRIVER diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.hash b/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.hash index 0f34e517..d0cbc090 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.hash +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.hash @@ -1,2 +1,2 @@ # From http://lists.x.org/archives/xorg-announce/2013-September/002324.html -sha256 9dd4b326498223abbfdf786089a46ea3db4fa6bbd341308eb48a9e00bc3fd51b xf86-video-fbdev-0.4.4.tar.bz2 +sha256 dcc3d85f378022180e437a9ec00a59b6cb7680ff79c40394d695060af2374699 xf86-video-fbdev-0.5.0.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.mk index f39311e6..a480befd 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_FBDEV_VERSION = 0.4.4 +XDRIVER_XF86_VIDEO_FBDEV_VERSION = 0.5.0 XDRIVER_XF86_VIDEO_FBDEV_SOURCE = xf86-video-fbdev-$(XDRIVER_XF86_VIDEO_FBDEV_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_FBDEV_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_FBDEV_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.hash b/bsp/buildroot/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.hash index 6b50cb1c..0dbea635 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.hash +++ b/bsp/buildroot/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2015-March/002554.html -sha256 81fe09867918fff258296e1e1e159f0dc639cb30d201c53519f25ab73af4e4e2 libXdmcp-1.1.2.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2019-March/002974.html +md5 115c5c12ecce0e749cd91d999a5fd160 libXdmcp-1.1.3.tar.bz2 +sha1 0a8f8a274f829331efb1e8e2027c38631b204dd0 libXdmcp-1.1.3.tar.bz2 +sha256 20523b44aaa513e17c009e873ad7bbc301507a3224c232610ce2e099011c6529 libXdmcp-1.1.3.tar.bz2 +sha512 cb1d4650f97d66e73acd2465ec7d757b9b797cce2f85e301860a44997a461837eea845ec9bd5b639ec5ca34c804f8bdd870697a5ce3f4e270b687c9ef74f25ec libXdmcp-1.1.3.tar.bz2 +# Locally computed +sha256 8a3c3f35b0dbcb60a4e242b9e4394a352a65bb27deb2938ea1e2e62a626e16e9 COPYING diff --git a/bsp/buildroot/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk b/bsp/buildroot/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk index 44a6f005..1182903e 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk @@ -4,7 +4,7 @@ # ################################################################################ -XLIB_LIBXDMCP_VERSION = 1.1.2 +XLIB_LIBXDMCP_VERSION = 1.1.3 XLIB_LIBXDMCP_SOURCE = libXdmcp-$(XLIB_LIBXDMCP_VERSION).tar.bz2 XLIB_LIBXDMCP_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXDMCP_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xlib_libXpm/xlib_libXpm.mk b/bsp/buildroot/package/x11r7/xlib_libXpm/xlib_libXpm.mk index 7e11c4b5..391493a4 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXpm/xlib_libXpm.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXpm/xlib_libXpm.mk @@ -15,9 +15,10 @@ XLIB_LIBXPM_AUTORECONF = YES XLIB_LIBXPM_DEPENDENCIES = xlib_libX11 xlib_libXext xlib_libXt xorgproto \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) \ $(TARGET_NLS_DEPENDENCIES) +XLIB_LIBXPM_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) ifeq ($(BR2_SYSTEM_ENABLE_NLS),) -XLIB_LIBXPM_CONF_ENV = ac_cv_search_gettext=no +XLIB_LIBXPM_CONF_ENV += ac_cv_search_gettext=no endif $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0001-modesettings-needs-dri2.patch b/bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.4/0001-modesettings-needs-dri2.patch similarity index 100% rename from bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0001-modesettings-needs-dri2.patch rename to bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.4/0001-modesettings-needs-dri2.patch diff --git a/bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch b/bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.4/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch similarity index 100% rename from bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch rename to bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.4/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch diff --git a/bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0003-Remove-check-for-useSIGIO-option.patch b/bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.4/0003-Remove-check-for-useSIGIO-option.patch similarity index 100% rename from bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0003-Remove-check-for-useSIGIO-option.patch rename to bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.4/0003-Remove-check-for-useSIGIO-option.patch diff --git a/bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0004-include-misc.h-fix-uClibc-build.patch b/bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.4/0004-include-misc.h-fix-uClibc-build.patch similarity index 100% rename from bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0004-include-misc.h-fix-uClibc-build.patch rename to bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.4/0004-include-misc.h-fix-uClibc-build.patch diff --git a/bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.4/0005-hw-xwayland-Makefile.am-fix-build-without-glx.patch b/bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.4/0005-hw-xwayland-Makefile.am-fix-build-without-glx.patch new file mode 100644 index 00000000..5f19a26d --- /dev/null +++ b/bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.4/0005-hw-xwayland-Makefile.am-fix-build-without-glx.patch @@ -0,0 +1,45 @@ +From b1d2a82d644518c1a75775244ac63be738aaf062 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 19 Apr 2019 10:19:50 +0200 +Subject: [PATCH] hw/xwayland/Makefile.am: fix build without glx + +Commit d8ec33fe0542141aed1d9016d2ecaf52da944b4b added libglxvnd.la to +Xwayland_LDFLAGS but GLX can be disabled through --disable-glx. +In this case, build fails on: + +make[3]: *** No rule to make target '../../glx/libglxvnd.la', needed by 'Xwayland'. Stop. +make[3]: *** Waiting for unfinished jobs.... + +Fixes: + - http://autobuild.buildroot.org/results/397f8098c57fc6c88aa12dc8d35ebb1b933d52ef + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://gitlab.freedesktop.org/xorg/xserver/merge_requests/173] +--- + hw/xwayland/Makefile.am | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/hw/xwayland/Makefile.am b/hw/xwayland/Makefile.am +index bc1cb8506..502879e2a 100644 +--- a/hw/xwayland/Makefile.am ++++ b/hw/xwayland/Makefile.am +@@ -21,10 +21,14 @@ Xwayland_SOURCES = \ + $(top_srcdir)/Xi/stubs.c \ + $(top_srcdir)/mi/miinitext.c + ++if GLX ++GLXVND_LIB = $(top_builddir)/glx/libglxvnd.la ++endif ++ + Xwayland_LDADD = \ + $(glamor_lib) \ + $(XWAYLAND_LIBS) \ +- $(top_builddir)/glx/libglxvnd.la \ ++ $(GLXVND_LIB) \ + $(XWAYLAND_SYS_LIBS) \ + $(top_builddir)/Xext/libXvidmode.la \ + $(XSERVER_SYS_LIBS) +-- +2.20.1 + diff --git a/bsp/buildroot/package/x11r7/xserver_xorg-server/Config.in b/bsp/buildroot/package/x11r7/xserver_xorg-server/Config.in index 7ccb2bd9..ed238d57 100644 --- a/bsp/buildroot/package/x11r7/xserver_xorg-server/Config.in +++ b/bsp/buildroot/package/x11r7/xserver_xorg-server/Config.in @@ -61,7 +61,7 @@ choice bool "X Window System server version" config BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_20 - bool "1.20.3" + bool "1.20.4" select BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_24 select BR2_PACKAGE_XLIB_LIBXFONT2 @@ -79,7 +79,7 @@ endchoice config BR2_PACKAGE_XSERVER_XORG_SERVER_VERSION string - default "1.20.3" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_20 + default "1.20.4" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_20 default "1.17.4" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_17 default "1.14.7" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_14 diff --git a/bsp/buildroot/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash b/bsp/buildroot/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash index 4cde15e5..5c1beb13 100644 --- a/bsp/buildroot/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash +++ b/bsp/buildroot/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash @@ -3,8 +3,8 @@ sha1 7a95765e56b124758fcd7b609589e65b8870880b x sha256 fcf66fa6ad86227613d2d3e8ae13ded297e2a1e947e9060a083eaf80d323451f xorg-server-1.14.7.tar.bz2 # From https://lists.x.org/archives/xorg-announce/2015-October/002650.html sha256 0c4b45c116a812a996eb432d8508cf26c2ec8c3916ff2a50781796882f8d6457 xorg-server-1.17.4.tar.bz2 -# From https://lists.x.org/archives/xorg-announce/2018-October/002928.html -md5 8ee29e8b24cef6b3cfa747ec01b9155a xorg-server-1.20.3.tar.bz2 -sha1 a522cd543606b4d0509d821b8061904951171c50 xorg-server-1.20.3.tar.bz2 -sha256 1b3ce466c12cacbe2252b3ad5b0ed561972eef9d09e75900d65fb1e21f9201de xorg-server-1.20.3.tar.bz2 -sha512 ee44554f86df4297f54c5871fe7a18954eeef4338775a25f36d6577b279c4775f61128da71b86cfaeadcc080838d6749dede138d4db178866579da2056543fba xorg-server-1.20.3.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2019-February/002957.html +md5 c4841cc24b79420205d082fe82e0a650 xorg-server-1.20.4.tar.bz2 +sha1 1a79da92122124cb782a4eebfd83fd33d5c0d7d4 xorg-server-1.20.4.tar.bz2 +sha256 fe0fd493ebe93bfc56bede382fa204458ff5f636ea54d413a5d1bd58e19166ee xorg-server-1.20.4.tar.bz2 +sha512 f1c92ef6d7613e0636973d3395b48dfdad42230847ab1c8b1cea84647a968f649f9aba97bdb01c10ee8351cbe954d4e6ca4a0fc84bb8fa662d49c8ba2aee00a8 xorg-server-1.20.4.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/bsp/buildroot/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk index 14f81047..a33cb250 100644 --- a/bsp/buildroot/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +++ b/bsp/buildroot/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk @@ -47,6 +47,7 @@ XSERVER_XORG_SERVER_CONF_OPTS = \ --disable-xnest \ --disable-xephyr \ --disable-dmx \ + --disable-unit-tests \ --with-builder-addr=buildroot@buildroot.org \ CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/pixman-1 -O2" \ --with-fontrootdir=/usr/share/fonts/X11/ \ diff --git a/bsp/buildroot/package/xen/0004-xenpmd-make-32-bit-gcc-8-1-non-debug-build-work.patch b/bsp/buildroot/package/xen/0004-xenpmd-make-32-bit-gcc-8-1-non-debug-build-work.patch new file mode 100644 index 00000000..9c51c554 --- /dev/null +++ b/bsp/buildroot/package/xen/0004-xenpmd-make-32-bit-gcc-8-1-non-debug-build-work.patch @@ -0,0 +1,79 @@ +From e75c9dc85fdeeeda0b98d8cd8d784e0508c3ffb8 Mon Sep 17 00:00:00 2001 +From: Wei Liu +Date: Thu, 26 Jul 2018 15:58:54 +0100 +Subject: [PATCH] xenpmd: make 32 bit gcc 8.1 non-debug build work + +32 bit gcc 8.1 non-debug build yields: + +xenpmd.c:354:23: error: '%02x' directive output may be truncated writing between 2 and 8 bytes into a region of size 3 [-Werror=format-truncation=] + snprintf(val, 3, "%02x", + ^~~~ +xenpmd.c:354:22: note: directive argument in the range [40, 2147483778] + snprintf(val, 3, "%02x", + ^~~~~~ +xenpmd.c:354:5: note: 'snprintf' output between 3 and 9 bytes into a destination of size 3 + snprintf(val, 3, "%02x", + ^~~~~~~~~~~~~~~~~~~~~~~~ + (unsigned int)(9*4 + + ~~~~~~~~~~~~~~~~~~~~ + strlen(info->model_number) + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + strlen(info->serial_number) + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + strlen(info->battery_type) + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + strlen(info->oem_info) + 4)); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +All info->* used in calculation are 32 bytes long, and the parsing +code makes sure they are null-terminated, so the end result of the +expression won't exceed 255, which should be able to be fit into 3 +bytes in hexadecimal format. + +Add an assertion to make gcc happy. + +Signed-off-by: Wei Liu +Acked-by: Ian Jackson +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/xen-project/xen/commit/e75c9dc85fdeeeda0b98d8cd8d784e0508c3ffb8] +--- + tools/xenpmd/xenpmd.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/tools/xenpmd/xenpmd.c b/tools/xenpmd/xenpmd.c +index 56412a9a81c..1c801caa712 100644 +--- a/tools/xenpmd/xenpmd.c ++++ b/tools/xenpmd/xenpmd.c +@@ -40,6 +40,7 @@ + #include + #include + #include ++#include + + /* #define RUN_STANDALONE */ + #define RUN_IN_SIMULATE_MODE +@@ -345,18 +346,17 @@ void write_ulong_lsb_first(char *temp_val, unsigned long val) + void write_battery_info_to_xenstore(struct battery_info *info) + { + char val[1024], string_info[256]; ++ unsigned int len; + + xs_mkdir(xs, XBT_NULL, "/pm"); + + memset(val, 0, 1024); + memset(string_info, 0, 256); + /* write 9 dwords (so 9*4) + length of 4 strings + 4 null terminators */ +- snprintf(val, 3, "%02x", +- (unsigned int)(9*4 + +- strlen(info->model_number) + +- strlen(info->serial_number) + +- strlen(info->battery_type) + +- strlen(info->oem_info) + 4)); ++ len = 9 * 4 + strlen(info->model_number) + strlen(info->serial_number) + ++ strlen(info->battery_type) + strlen(info->oem_info) + 4; ++ assert(len < 255); ++ snprintf(val, 3, "%02x", len); + write_ulong_lsb_first(val+2, info->present); + write_ulong_lsb_first(val+10, info->design_capacity); + write_ulong_lsb_first(val+18, info->last_full_capacity); diff --git a/bsp/buildroot/package/xz/xz.hash b/bsp/buildroot/package/xz/xz.hash index 20a4a474..28018c76 100644 --- a/bsp/buildroot/package/xz/xz.hash +++ b/bsp/buildroot/package/xz/xz.hash @@ -1,2 +1,8 @@ # Locally calculated after checking pgp signature sha256 fd9ca16de1052aac899ad3495ad20dfa906c27b4a5070102a2ec35ca3a4740c1 xz-5.2.3.tar.bz2 + +# Hash for license files +sha256 c4f8e14fafe458d84808a4cd8b69f94673ebe2bf8fc992291629a69ac12218f8 COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPLv2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.GPLv3 +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPLv2.1 diff --git a/bsp/buildroot/package/xz/xz.mk b/bsp/buildroot/package/xz/xz.mk index bcdac13e..6a0dc258 100644 --- a/bsp/buildroot/package/xz/xz.mk +++ b/bsp/buildroot/package/xz/xz.mk @@ -9,8 +9,8 @@ XZ_SOURCE = xz-$(XZ_VERSION).tar.bz2 XZ_SITE = http://tukaani.org/xz XZ_INSTALL_STAGING = YES XZ_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' -XZ_LICENSE = GPL-2.0+, GPL-3.0+, LGPL-2.1+ -XZ_LICENSE_FILES = COPYING.GPLv2 COPYING.GPLv3 COPYING.LGPLv2.1 +XZ_LICENSE = Public Domain, GPL-2.0+, GPL-3.0+, LGPL-2.1+ +XZ_LICENSE_FILES = COPYING COPYING.GPLv2 COPYING.GPLv3 COPYING.LGPLv2.1 ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) XZ_CONF_OPTS = --enable-threads diff --git a/bsp/buildroot/package/yaffs2utils/yaffs2utils.mk b/bsp/buildroot/package/yaffs2utils/yaffs2utils.mk index c2a87eac..d3a8bdc9 100644 --- a/bsp/buildroot/package/yaffs2utils/yaffs2utils.mk +++ b/bsp/buildroot/package/yaffs2utils/yaffs2utils.mk @@ -15,6 +15,7 @@ define HOST_YAFFS2UTILS_BUILD_CMDS endef define HOST_YAFFS2UTILS_INSTALL_CMDS + mkdir -p $(HOST_DIR)/bin $(HOST_MAKE_ENV) $(MAKE) -C $(@D) INSTALLDIR=$(HOST_DIR)/bin install endef diff --git a/bsp/buildroot/package/znc/znc.hash b/bsp/buildroot/package/znc/znc.hash index 0845df53..b685a7bf 100644 --- a/bsp/buildroot/package/znc/znc.hash +++ b/bsp/buildroot/package/znc/znc.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 60b4e78f54c532c32673d1ef8e5f606c530ef3a6d6b76ea1daa66459a86682a9 znc-1.7.2.tar.gz +sha256 1e4cc31837a1e8e6cc310873659a167cec16a3fd4281cbc3bf364e42352c113d znc-1.7.3.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/bsp/buildroot/package/znc/znc.mk b/bsp/buildroot/package/znc/znc.mk index b2e422c0..fdc147a8 100644 --- a/bsp/buildroot/package/znc/znc.mk +++ b/bsp/buildroot/package/znc/znc.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZNC_VERSION = 1.7.2 +ZNC_VERSION = 1.7.3 ZNC_SITE = http://znc.in/releases/archive ZNC_LICENSE = Apache-2.0 ZNC_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/utils/getdeveloperlib.py b/bsp/buildroot/utils/getdeveloperlib.py index 2c8d4775..35c618f7 100644 --- a/bsp/buildroot/utils/getdeveloperlib.py +++ b/bsp/buildroot/utils/getdeveloperlib.py @@ -1,7 +1,9 @@ +from __future__ import print_function import os import re import glob import subprocess +import sys # # Patch parsing functions @@ -167,13 +169,15 @@ def parse_developers(basepath=None): continue elif line.startswith("N:"): if name is not None or len(files) != 0: - print("Syntax error in DEVELOPERS file, line %d" % linen) + print("Syntax error in DEVELOPERS file, line %d" % linen, + file=sys.stderr) name = line[2:].strip() elif line.startswith("F:"): fname = line[2:].strip() dev_files = glob.glob(os.path.join(basepath, fname)) if len(dev_files) == 0: - print("WARNING: '%s' doesn't match any file" % fname) + print("WARNING: '%s' doesn't match any file" % fname, + file=sys.stderr) files += dev_files elif line == "": if not name: @@ -182,7 +186,8 @@ def parse_developers(basepath=None): files = [] name = None else: - print("Syntax error in DEVELOPERS file, line %d: '%s'" % (linen, line)) + print("Syntax error in DEVELOPERS file, line %d: '%s'" % (linen, line), + file=sys.stderr) return None linen += 1 # handle last developer diff --git a/bsp/buildroot/utils/test-pkg b/bsp/buildroot/utils/test-pkg index 1995fa85..cce4679b 100755 --- a/bsp/buildroot/utils/test-pkg +++ b/bsp/buildroot/utils/test-pkg @@ -2,12 +2,20 @@ set -e TOOLCHAINS_CSV='support/config-fragments/autobuild/toolchain-configs.csv' +TEMP_CONF="" + +do_clean() { + if [ ! -z "${TEMP_CONF}" ]; then + rm -f "${TEMP_CONF}" + fi +} main() { local o O opts local cfg dir pkg random toolchains_dir toolchain all number mode local ret nb nb_skip nb_fail nb_legal nb_tc build_dir local -a toolchains + local pkg_br_name o='hac:d:n:p:r:t:' O='help,config-snippet:build-dir:package:,random:,toolchains-dir:' @@ -50,8 +58,15 @@ main() { ;; esac done + + trap do_clean INT TERM HUP EXIT + if [ -z "${cfg}" ]; then - printf "error: no config snippet specified\n" >&2; exit 1 + pkg_br_name="${pkg//-/_}" + pkg_br_name="BR2_PACKAGE_${pkg_br_name^^}" + TEMP_CONF=$(mktemp /tmp/test-${pkg}-config.XXXXXX) + echo "${pkg_br_name}=y" > ${TEMP_CONF} + cfg="${TEMP_CONF}" fi if [ ! -e "${cfg}" ]; then printf "error: %s: no such file\n" "${cfg}" >&2; exit 1