diff --git a/buildroot/CHANGES b/buildroot/CHANGES index a33ad56a7..7e1e5a58c 100644 --- a/buildroot/CHANGES +++ b/buildroot/CHANGES @@ -1,3 +1,40 @@ +2020.11.2, released January 31st, 2021 + + Important / security related fixes. + + Download: Ensure git submodules are correctly fetched if + enabled for a package with _GIT_SUBMODULES = YES and the + host variant is downloaded first. + + Toolchain: Mark CodeSourcery Aarch64 2014.11 toolchain as not + having libatomic. Bootlin PowerPC-440 FP toolchain updated for + SecurePLT fix. + + pkg-stats: Fix python 3.8+ deprecation warning. + + meson: Ensure ccache is not detected and used, as it may + conflict with the ccache handling in Buildroot. + + Updated/fixed packages: barebox, boost, brltty, dbus, + docker-containerd, dovecot, dovecot-pigeonhole, + environment-setup, firmware-imx, gcc, gerbera, glibc, + gmrender-resurrect, igd2-for-linux, kodi-pvr-zattoo, libclc, + libfuse3, libllcp, libodb-mysql, libtorrent-rasterbar, + libupnp, lpc32xxcdl, luarocks, mpd, multipath-tools, mutt, + nfs-utils, nodejs, openjpeg, openldap, opentracing-cpp, + openvpn, p11-kit, paho-mqtt-c, php, poppler, postgresql, + python3, redis, resiprocate, rpm, runc, socat, sslh, sudo, + sunxi-mali-mainline-driver, syslog-ng, systemd, tini, + tpm2-tss, trace-cmd, tzdata, uboot-tools, uhd, ushare, + util-linux, vlc, wavpack, wireguard-linux-compat, wolfssl, + xapp_xload, xorriso, zic + + Removed packages: libupnp18 + + Issues resolved (http://bugs.uclibc.org): + + #13471: package/mpd/mpd.conf make use of path not created + 2020.11.1, released December 27th, 2020 Important / security related fixes. diff --git a/buildroot/Config.in.legacy b/buildroot/Config.in.legacy index 9eb18907d..ff2af6ee6 100644 --- a/buildroot/Config.in.legacy +++ b/buildroot/Config.in.legacy @@ -146,6 +146,16 @@ endif comment "Legacy options removed in 2020.11" +config BR2_PACKAGE_LIBUPNP18 + bool "libupnp18 package removed" + select BR2_LEGACY + select BR2_PACKAGE_LIBUPNP + help + Version 1.8.x of libupnp (i.e. libupnp18) has been removed + because it will never be fixed against CallStranger a.k.a. + CVE-2020-12695. The libupnp package (which has been updated to + version 1.14.x) has been selected instead. + config BR2_PACKAGE_OPENCV bool "opencv package was removed" select BR2_LEGACY diff --git a/buildroot/DEVELOPERS b/buildroot/DEVELOPERS index ca256e00d..ec29a76ed 100644 --- a/buildroot/DEVELOPERS +++ b/buildroot/DEVELOPERS @@ -405,6 +405,7 @@ F: package/perl-netaddr-ip/ F: package/perl-timedate/ F: package/perl-uri/ F: package/perl-www-robotrules/ +F: package/php/ F: package/pixman/ F: package/pngquant/ F: package/pound/ @@ -851,7 +852,6 @@ F: package/librsync/ F: package/libsoup/ F: package/libsoxr/ F: package/libupnp/ -F: package/libupnp18/ F: package/libv4l/ F: package/libxslt/ F: package/mbedtls/ @@ -2254,6 +2254,7 @@ F: package/ogre/ F: package/openpowerlink/ F: package/physfs/ F: package/piglit/ +F: package/qemu/ F: package/solarus/ F: package/stress-ng/ F: package/supertux/ @@ -2591,7 +2592,7 @@ F: toolchain/ N: Timo Ketola F: package/fbgrab/ -N: Titouan Christophe +N: Titouan Christophe F: package/avro-c/ F: package/mosquitto/ F: package/python-avro/ diff --git a/buildroot/Makefile b/buildroot/Makefile index 06f1ef6ae..293b5880f 100644 --- a/buildroot/Makefile +++ b/buildroot/Makefile @@ -92,9 +92,9 @@ all: .PHONY: all # Set and export the version string -export BR2_VERSION := 2020.11.1 +export BR2_VERSION := 2020.11.2 # Actual time the release is cut (for reproducible builds) -BR2_VERSION_EPOCH = 1609079000 +BR2_VERSION_EPOCH = 1612125000 # Save running make version since it's clobbered by the make package RUNNING_MAKE_VERSION := $(MAKE_VERSION) diff --git a/buildroot/boot/barebox/barebox.mk b/buildroot/boot/barebox/barebox.mk index 9d62037e7..77550aaed 100644 --- a/buildroot/boot/barebox/barebox.mk +++ b/buildroot/boot/barebox/barebox.mk @@ -138,6 +138,11 @@ define $(1)_INSTALL_IMAGES_CMDS $$($(1)_INSTALL_CUSTOM_ENV) endef +# Starting with barebox v2020.09.0, the kconfig used calls the +# cross-compiler to check its capabilities. So we need the +# toolchain before we can call the configurators. +$(1)_KCONFIG_DEPENDENCIES += toolchain + ifeq ($$(BR2_TARGET_$(1)_BAREBOXENV),y) define $(1)_INSTALL_TARGET_CMDS cp $$(@D)/scripts/bareboxenv-target $$(TARGET_DIR)/usr/bin/bareboxenv diff --git a/buildroot/boot/lpc32xxcdl/lpc32xxcdl.hash b/buildroot/boot/lpc32xxcdl/lpc32xxcdl.hash new file mode 100644 index 000000000..8c6b73d63 --- /dev/null +++ b/buildroot/boot/lpc32xxcdl/lpc32xxcdl.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 ded3fa936a96d3fb8188ca6214f57b5208bd49e5416bd69f38bfc810b34197bc lpc32xx_cdl-v2.11.zip diff --git a/buildroot/boot/lpc32xxcdl/lpc32xxcdl.mk b/buildroot/boot/lpc32xxcdl/lpc32xxcdl.mk index 30afed050..9f5cd27f5 100644 --- a/buildroot/boot/lpc32xxcdl/lpc32xxcdl.mk +++ b/buildroot/boot/lpc32xxcdl/lpc32xxcdl.mk @@ -4,9 +4,9 @@ # ################################################################################ -LPC32XXCDL_VERSION = lpc32xx_cdl_v2.11 -LPC32XXCDL_SITE = http://git.lpcware.com/lpc3xxx_cdl.git -LPC32XXCDL_SITE_METHOD = git +LPC32XXCDL_VERSION = 2.11 +LPC32XXCDL_SOURCE = lpc32xx_cdl-v$(LPC32XXCDL_VERSION).zip +LPC32XXCDL_SITE = https://community.nxp.com/pwmxy87654/attachments/pwmxy87654/lpcware-archive/61/2 LPC32XXCDL_INSTALL_TARGET = NO LPC32XXCDL_INSTALL_IMAGES = YES @@ -45,13 +45,14 @@ LPC32XXCDL_BOARD_STARTUP_DIR = \ # Source files are with dos newlines, which our patch infrastructure doesn't # handle. Work around it by converting the affected files to unix newlines # before patching -define LPC32XXCDL_DOS2UNIX_FOR_PATCH +define LPC32XXCDL_EXTRACT_CMDS + unzip $(LPC32XXCDL_DL_DIR)/$(LPC32XXCDL_SOURCE) -d $(@D) + mv $(@D)/lpc3xxx_cdl/* $(@D) + rmdir $(@D)/lpc3xxx_cdl/ sed -n 's|^[+-]\{3\} [^/]\+\([^ \t]*\)\(.*\)|$(@D)\1|p' \ boot/lpc32xxcdl/*.patch| sort -u | xargs $(SED) 's/\x0D$$//' endef -LPC32XXCDL_POST_EXTRACT_HOOKS += LPC32XXCDL_DOS2UNIX_FOR_PATCH - define LPC32XXCDL_BUILD_CMDS $(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D) $(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_KICKSTART_BURNER) diff --git a/buildroot/docs/manual/adding-packages-cmake.txt b/buildroot/docs/manual/adding-packages-cmake.txt index 6ccf3902f..73f094302 100644 --- a/buildroot/docs/manual/adding-packages-cmake.txt +++ b/buildroot/docs/manual/adding-packages-cmake.txt @@ -126,14 +126,19 @@ typical packages will therefore only use a few of them. in the build step. These are passed after the +make+ command. By default, empty. +* +LIBFOO_INSTALL_OPTS+ contains the make options used to + install the package to the host directory. By default, the value + is +install+, which is correct for most CMake packages. It is still + possible to override it. + * +LIBFOO_INSTALL_STAGING_OPTS+ contains the make options used to install the package to the staging directory. By default, the value - is +DESTDIR=$(STAGING_DIR) install+, which is correct for most + is +DESTDIR=$(STAGING_DIR) install/fast+, which is correct for most CMake packages. It is still possible to override it. * +LIBFOO_INSTALL_TARGET_OPTS+ contains the make options used to install the package to the target directory. By default, the value - is +DESTDIR=$(TARGET_DIR) install+. The default value is correct + is +DESTDIR=$(TARGET_DIR) install/fast+. The default value is correct for most CMake packages, but it is still possible to override it if needed. diff --git a/buildroot/docs/manual/manual.html b/buildroot/docs/manual/manual.html index 9cba6a44a..d2c5c57c0 100644 --- a/buildroot/docs/manual/manual.html +++ b/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. Details about packages
8.9. Graphing the dependencies between packages
8.10. Graphing the build duration
8.11. Graphing the filesystem size contribution of packages
8.12. Top-level parallel build
8.13. Integration with Eclipse
8.14. 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. Using SELinux in Buildroot
10.1. Enabling SELinux support
10.2. SELinux policy tweaking
11. Frequently Asked Questions & Troubleshooting
11.1. The boot hangs after Starting network…
11.2. Why is there no compiler on the target?
11.3. Why are there no development files on the target?
11.4. Why is there no documentation on the target?
11.5. Why are some packages not visible in the Buildroot config menu?
11.6. Why not use the target directory as a chroot directory?
11.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?
11.8. How to speed-up the build process?
12. Known issues
13. Legal notice and licensing
13.1. Complying with open source licenses
13.2. Complying with the Buildroot license
14. Beyond Buildroot
14.1. Boot the generated images
14.2. Chroot
III. Developer guide
15. How Buildroot works
16. Coding style
16.1. Config.in file
16.2. The .mk file
16.3. The documentation
16.4. Support scripts
17. Adding support for a particular board
18. Adding new packages to Buildroot
18.1. Package directory
18.2. Config files
18.3. The .mk file
18.4. The .hash file
18.5. Infrastructure for packages with specific build systems
18.6. Infrastructure for autotools-based packages
18.7. Infrastructure for CMake-based packages
18.8. Infrastructure for Python packages
18.9. Infrastructure for LuaRocks-based packages
18.10. Infrastructure for Perl/CPAN packages
18.11. Infrastructure for virtual packages
18.12. Infrastructure for packages using kconfig for configuration files
18.13. Infrastructure for rebar-based packages
18.14. Infrastructure for Waf-based packages
18.15. Infrastructure for Meson-based packages
18.16. Integration of Cargo-based packages
18.17. Infrastructure for Go packages
18.18. Infrastructure for QMake-based packages
18.19. Infrastructure for packages building kernel modules
18.20. Infrastructure for asciidoc documents
18.21. Infrastructure specific to the Linux kernel package
18.22. Hooks available in the various build steps
18.23. Gettext integration and interaction with packages
18.24. Tips and tricks
18.25. Conclusion
19. Patching a package
19.1. Providing patches
19.2. How patches are applied
19.3. Format and licensing of the package patches
19.4. Integrating patches found on the Web
20. Download infrastructure
21. Debugging Buildroot
22. Contributing to Buildroot
22.1. Reproducing, analyzing and fixing bugs
22.2. Analyzing and fixing autobuild failures
22.3. Reviewing and testing patches
22.4. Work on items from the TODO list
22.5. Submitting patches
22.6. Reporting issues/bugs or getting help
22.7. Using the run-tests framework
23. DEVELOPERS file and get-developers
24. Release Engineering
24.1. Releases
24.2. Development
IV. Appendix
25. Makedev syntax documentation
26. Makeusers syntax documentation
27. Migrating from older Buildroot versions
27.1. Migrating to 2016.11
27.2. Migrating to 2017.08

Buildroot 2020.11.1 manual generated on 2020-12-27 -14:25:12 UTC from git revision 804a9e1865

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. Details about packages
8.9. Graphing the dependencies between packages
8.10. Graphing the build duration
8.11. Graphing the filesystem size contribution of packages
8.12. Top-level parallel build
8.13. Integration with Eclipse
8.14. 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. Using SELinux in Buildroot
10.1. Enabling SELinux support
10.2. SELinux policy tweaking
11. Frequently Asked Questions & Troubleshooting
11.1. The boot hangs after Starting network…
11.2. Why is there no compiler on the target?
11.3. Why are there no development files on the target?
11.4. Why is there no documentation on the target?
11.5. Why are some packages not visible in the Buildroot config menu?
11.6. Why not use the target directory as a chroot directory?
11.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?
11.8. How to speed-up the build process?
12. Known issues
13. Legal notice and licensing
13.1. Complying with open source licenses
13.2. Complying with the Buildroot license
14. Beyond Buildroot
14.1. Boot the generated images
14.2. Chroot
III. Developer guide
15. How Buildroot works
16. Coding style
16.1. Config.in file
16.2. The .mk file
16.3. The documentation
16.4. Support scripts
17. Adding support for a particular board
18. Adding new packages to Buildroot
18.1. Package directory
18.2. Config files
18.3. The .mk file
18.4. The .hash file
18.5. Infrastructure for packages with specific build systems
18.6. Infrastructure for autotools-based packages
18.7. Infrastructure for CMake-based packages
18.8. Infrastructure for Python packages
18.9. Infrastructure for LuaRocks-based packages
18.10. Infrastructure for Perl/CPAN packages
18.11. Infrastructure for virtual packages
18.12. Infrastructure for packages using kconfig for configuration files
18.13. Infrastructure for rebar-based packages
18.14. Infrastructure for Waf-based packages
18.15. Infrastructure for Meson-based packages
18.16. Integration of Cargo-based packages
18.17. Infrastructure for Go packages
18.18. Infrastructure for QMake-based packages
18.19. Infrastructure for packages building kernel modules
18.20. Infrastructure for asciidoc documents
18.21. Infrastructure specific to the Linux kernel package
18.22. Hooks available in the various build steps
18.23. Gettext integration and interaction with packages
18.24. Tips and tricks
18.25. Conclusion
19. Patching a package
19.1. Providing patches
19.2. How patches are applied
19.3. Format and licensing of the package patches
19.4. Integrating patches found on the Web
20. Download infrastructure
21. Debugging Buildroot
22. Contributing to Buildroot
22.1. Reproducing, analyzing and fixing bugs
22.2. Analyzing and fixing autobuild failures
22.3. Reviewing and testing patches
22.4. Work on items from the TODO list
22.5. Submitting patches
22.6. Reporting issues/bugs or getting help
22.7. Using the run-tests framework
23. DEVELOPERS file and get-developers
24. Release Engineering
24.1. Releases
24.2. Development
IV. Appendix
25. Makedev syntax documentation
26. Makeusers syntax documentation
27. Migrating from older Buildroot versions
27.1. Migrating to 2016.11
27.2. Migrating to 2017.08

Buildroot 2020.11.2 manual generated on 2021-01-31 +20:36:50 UTC from git revision 551cb63007

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-2020 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 @@ -1052,7 +1052,7 @@ or will be generating the tarball on your own), Buildroot also allows you to just prepare the SDK with make prepare-sdk without actually generating a tarball.

For your convenience, by selecting the option BR2_PACKAGE_HOST_ENVIRONMENT_SETUP, you can get a -setup-environment script installed in output/host/ and therefore +environment-setup script installed in output/host/ and therefore in your SDK. This script can be sourced with . your/sdk/path/environment-setup to export a number of environment variables that will help cross-compile your projects using the @@ -3653,14 +3653,19 @@ typical packages will therefore only use a few of them.

make command. By default, empty.
  • +LIBFOO_INSTALL_OPTS contains the make options used to + install the package to the host directory. By default, the value + is install, which is correct for most CMake packages. It is still + possible to override it. +
  • LIBFOO_INSTALL_STAGING_OPTS contains the make options used to install the package to the staging directory. By default, the value - is DESTDIR=$(STAGING_DIR) install, which is correct for most + is DESTDIR=$(STAGING_DIR) install/fast, which is correct for most CMake packages. It is still possible to override it.
  • LIBFOO_INSTALL_TARGET_OPTS contains the make options used to install the package to the target directory. By default, the value - is DESTDIR=$(TARGET_DIR) install. The default value is correct + is DESTDIR=$(TARGET_DIR) install/fast. The default value is correct for most CMake packages, but it is still possible to override it if needed.
  • With the CMake infrastructure, all the steps required to build and @@ -5382,7 +5387,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. @@ -5596,7 +5601,7 @@ to trigger all run-test test case jobs:
  •  $ git push gitlab HEAD:<name>-runtime-tests
    • to trigger one test case job, a specific branch naming string is used that includes the full test case name. -
     $ git push gitlab HEAD:<name>-<test case name>


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

    Chapter 23. DEVELOPERS file and get-developers

    The main Buildroot directory contains a file named DEVELOPERS that +

     $ git push gitlab HEAD:<name>-<test case name>


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

    Chapter 23. 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/buildroot/docs/manual/manual.pdf b/buildroot/docs/manual/manual.pdf index 8cce6a6db..8aa1401a7 100644 Binary files a/buildroot/docs/manual/manual.pdf and b/buildroot/docs/manual/manual.pdf differ diff --git a/buildroot/docs/manual/manual.text b/buildroot/docs/manual/manual.text index 84a913e43..ebc30bc8b 100644 --- a/buildroot/docs/manual/manual.text +++ b/buildroot/docs/manual/manual.text @@ -174,13 +174,13 @@ List of Examples --------------------------------------------------------------------- -Buildroot 2020.11.1 manual generated on 2020-12-27 14:25:17 UTC from -git revision 804a9e1865 +Buildroot 2020.11.2 manual generated on 2021-01-31 20:36:55 UTC from +git revision 551cb63007 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= -804a9e18656c1584b059129e0b5cebe2a2405fac] file in the Buildroot +551cb630079316efe928d7c2eb0358a19e38fc48] file in the Buildroot sources for the full text of this license. Copyright © 2004-2020 The Buildroot developers @@ -1710,7 +1710,7 @@ you to just prepare the SDK with make prepare-sdk without actually generating a tarball. For your convenience, by selecting the option -BR2_PACKAGE_HOST_ENVIRONMENT_SETUP, you can get a setup-environment +BR2_PACKAGE_HOST_ENVIRONMENT_SETUP, you can get a environment-setup script installed in output/host/ and therefore in your SDK. This script can be sourced with . your/sdk/path/environment-setup to export a number of environment variables that will help cross-compile @@ -5225,13 +5225,17 @@ typical packages will therefore only use a few of them. * LIBFOO_MAKE_OPTS, to specify additional variables to pass to make in the build step. These are passed after the make command. By default, empty. + * LIBFOO_INSTALL_OPTS contains the make options used to install the + package to the host directory. By default, the value is install, + which is correct for most CMake packages. It is still possible to + override it. * LIBFOO_INSTALL_STAGING_OPTS contains the make options used to install the package to the staging directory. By default, the - value is DESTDIR=$(STAGING_DIR) install, which is correct for - most CMake packages. It is still possible to override it. + value is DESTDIR=$(STAGING_DIR) install/fast, which is correct + for most CMake packages. It is still possible to override it. * LIBFOO_INSTALL_TARGET_OPTS contains the make options used to install the package to the target directory. By default, the - value is DESTDIR=$(TARGET_DIR) install. The default value is + value is DESTDIR=$(TARGET_DIR) install/fast. The default value is correct for most CMake packages, but it is still possible to override it if needed. diff --git a/buildroot/docs/manual/using-buildroot-toolchain.txt b/buildroot/docs/manual/using-buildroot-toolchain.txt index 110be5939..09408ef05 100644 --- a/buildroot/docs/manual/using-buildroot-toolchain.txt +++ b/buildroot/docs/manual/using-buildroot-toolchain.txt @@ -35,7 +35,7 @@ generating a tarball. For your convenience, by selecting the option +BR2_PACKAGE_HOST_ENVIRONMENT_SETUP+, you can get a -+setup-environment+ script installed in +output/host/+ and therefore ++environment-setup+ script installed in +output/host/+ and therefore in your SDK. This script can be sourced with +. your/sdk/path/environment-setup+ to export a number of environment variables that will help cross-compile your projects using the diff --git a/buildroot/linux/Config.in b/buildroot/linux/Config.in index 64f7c94a5..a856f5a74 100644 --- a/buildroot/linux/Config.in +++ b/buildroot/linux/Config.in @@ -125,7 +125,7 @@ endif config BR2_LINUX_KERNEL_VERSION string - default "5.9.14" if BR2_LINUX_KERNEL_LATEST_VERSION + default "5.9.16" if BR2_LINUX_KERNEL_LATEST_VERSION default "4.19.152-cip37" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION default "4.19.152-cip37-rt16" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \ diff --git a/buildroot/linux/linux.hash b/buildroot/linux/linux.hash index 3a257750b..c18240d8b 100644 --- a/buildroot/linux/linux.hash +++ b/buildroot/linux/linux.hash @@ -1,12 +1,12 @@ # From https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc -sha256 39fcfb41dcdf71b6b42b88eff3d8cedbe7523830ccae847f3914c0b97e1e6b49 linux-5.9.14.tar.xz +sha256 b0d7abae88e5f91893627c645e680a95c818defd1b4fcaf3e2afb4b2b6b4ab86 linux-5.9.16.tar.xz sha256 4ab4a3f694b7b4cfbe78871eab34c8039ad33692144c45c669827a594da85534 linux-5.8.18.tar.xz -sha256 beec970bbb93de8ab839f27930f7ab00c7bd65af0ffa07a50e765affdc2561c6 linux-5.4.83.tar.xz +sha256 d37449403664cc3b1bac96d0d9a199dbe619885cd899c0ae3108843f42e3d522 linux-5.4.93.tar.xz # From https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc -sha256 e52a49ceb639d871478a143c314648c35e22222c317ecdf49866830fea5c3dfc linux-4.4.248.tar.xz -sha256 4687268061c9933c298b30d28e4bf1a30dfbab7c0da4bee194968e4f81ffeccf linux-4.9.248.tar.xz -sha256 0e1bc32c4842c3bbee3a15454408f528acd4d3c5e83312b93008d5ee2e9a0c79 linux-4.14.212.tar.xz -sha256 3eeec4e5eb8a129be3536357ecb028fae7d82fac933dcfac0b6089ee398fc5fc linux-4.19.163.tar.xz +sha256 661e98b9448cbac948c705fd44cd7d30200422ee1cb02950d142aa99a1b3985a linux-4.4.253.tar.xz +sha256 9a5b51a8350201bd38e3ff13909323a6571b4572a7b3caed76e462b07619bc18 linux-4.9.253.tar.xz +sha256 62a36a25431016d98d0f1cff98be432086c51f86fd79042bd10a867b3a924d11 linux-4.14.217.tar.xz +sha256 f4e352fe0eb986e5b532b99d9b0725a67046cbb3e5f53fcd5b098cbaeb2ac60a linux-4.19.171.tar.xz # Locally computed sha256 d2a06f52143deb929b8d513cf9afc9bd065951389a80fa70bc4d63025b5b3fb9 linux-cip-4.19.152-cip37.tar.gz sha256 bc1dacd3d0f526de3e8754a444e8e02a54521527af639ddb907cb35cda775a8c linux-cip-4.19.152-cip37-rt16.tar.gz diff --git a/buildroot/package/Config.in b/buildroot/package/Config.in index 016a99ed1..645481f4d 100644 --- a/buildroot/package/Config.in +++ b/buildroot/package/Config.in @@ -1764,7 +1764,6 @@ menu "Networking" source "package/libuev/Config.in" source "package/libuhttpd/Config.in" source "package/libupnp/Config.in" - source "package/libupnp18/Config.in" source "package/libupnpp/Config.in" source "package/liburiparser/Config.in" source "package/libuwsc/Config.in" diff --git a/buildroot/package/azmq/Config.in b/buildroot/package/azmq/Config.in index 2904890d5..37131a260 100644 --- a/buildroot/package/azmq/Config.in +++ b/buildroot/package/azmq/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_AZMQ depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # boost-log depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 depends on BR2_USE_WCHAR # boost + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr select BR2_PACKAGE_ZEROMQ select BR2_PACKAGE_BOOST @@ -21,6 +22,7 @@ config BR2_PACKAGE_AZMQ https://github.com/zeromq/azmq comment "azmq needs a toolchain w/ C++11, wchar and NPTL" + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ && BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS_NPTL) diff --git a/buildroot/package/bitcoin/Config.in b/buildroot/package/bitcoin/Config.in index 65af15293..7ce4f8065 100644 --- a/buildroot/package/bitcoin/Config.in +++ b/buildroot/package/bitcoin/Config.in @@ -10,6 +10,7 @@ config BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS config BR2_PACKAGE_BITCOIN bool "bitcoin" depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS # boost @@ -37,6 +38,7 @@ config BR2_PACKAGE_BITCOIN comment "bitcoin needs a toolchain w/ C++, threads, wchar" depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR diff --git a/buildroot/package/boost/Config.in b/buildroot/package/boost/Config.in index 121650b8b..f9e7b0a89 100644 --- a/buildroot/package/boost/Config.in +++ b/buildroot/package/boost/Config.in @@ -52,6 +52,7 @@ config BR2_PACKAGE_BOOST_LAYOUT config BR2_PACKAGE_BOOST_ATOMIC bool "boost-atomic" + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS help C++11-style atomic<>. @@ -82,6 +83,8 @@ config BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS config BR2_PACKAGE_BOOST_CONTEXT bool "boost-context" depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \ + || BR2_TOOLCHAIN_GCC_AT_LEAST_6 # boost-thread depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 select BR2_PACKAGE_BOOST_THREAD if !BR2_TOOLCHAIN_GCC_AT_LEAST_6 help @@ -101,6 +104,7 @@ comment "boost-contract needs a toolchain w/ NPTL" config BR2_PACKAGE_BOOST_COROUTINE bool "boost-coroutine" depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context, boost-thread select BR2_PACKAGE_BOOST_CHRONO select BR2_PACKAGE_BOOST_CONTEXT @@ -113,6 +117,7 @@ config BR2_PACKAGE_BOOST_COROUTINE comment "boost-coroutine needs a toolchain not affected by GCC bug 64735" depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 config BR2_PACKAGE_BOOST_DATE_TIME @@ -135,6 +140,8 @@ config BR2_PACKAGE_BOOST_FIBER # mips support uses the "pause" instruction, only available # since mips32r2/mips64r2. depends on !BR2_MIPS_CPU_MIPS32 && !BR2_MIPS_CPU_MIPS64 + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \ + || BR2_TOOLCHAIN_GCC_AT_LEAST_6 # boost-context -> boost-thread depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context select BR2_PACKAGE_BOOST_CONTEXT select BR2_PACKAGE_BOOST_FILESYSTEM @@ -144,10 +151,14 @@ config BR2_PACKAGE_BOOST_FIBER comment "boost-fiber needs a toolchain w/ NPTL" depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \ + || BR2_TOOLCHAIN_GCC_AT_LEAST_6 depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL comment "boost-fiber needs a toolchain not affected by GCC bug 64735" depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \ + || BR2_TOOLCHAIN_GCC_AT_LEAST_6 depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 config BR2_PACKAGE_BOOST_FILESYSTEM @@ -190,6 +201,8 @@ config BR2_PACKAGE_BOOST_LOCALE # details. depends on !(BR2_STATIC_LIBS && BR2_PACKAGE_ICU) depends on !(BR2_TOOLCHAIN_HAS_GCC_BUG_64735 && BR2_PACKAGE_ICU) # boost-thread + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \ + || !BR2_PACKAGE_ICU # boost-thread select BR2_PACKAGE_BOOST_SYSTEM select BR2_PACKAGE_BOOST_THREAD if BR2_PACKAGE_ICU select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE @@ -197,16 +210,19 @@ config BR2_PACKAGE_BOOST_LOCALE Provide localization and Unicode handling tools for C++. comment "boost-locale needs a toolchain w/ dynamic library" + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on BR2_PACKAGE_ICU depends on BR2_STATIC_LIBS comment "boost-locale needs a toolchain not affected by GCC bug 64735" + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on BR2_PACKAGE_ICU depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 config BR2_PACKAGE_BOOST_LOG bool "boost-log" depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread select BR2_PACKAGE_BOOST_ATOMIC select BR2_PACKAGE_BOOST_DATE_TIME @@ -218,6 +234,7 @@ config BR2_PACKAGE_BOOST_LOG Logging library. comment "boost-log needs a toolchain w/ NPTL" + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL comment "boost-log needs a toolchain not affected by GCC bug 64735" @@ -313,8 +330,8 @@ config BR2_PACKAGE_BOOST_TEST config BR2_PACKAGE_BOOST_THREAD bool "boost-thread" + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::current_exception - select BR2_PACKAGE_BOOST_ATOMIC if !BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS select BR2_PACKAGE_BOOST_CHRONO select BR2_PACKAGE_BOOST_SYSTEM help @@ -332,6 +349,7 @@ config BR2_PACKAGE_BOOST_TIMER config BR2_PACKAGE_BOOST_TYPE_ERASURE bool "boost-type_erasure" + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread select BR2_PACKAGE_BOOST_SYSTEM select BR2_PACKAGE_BOOST_THREAD @@ -346,6 +364,7 @@ config BR2_PACKAGE_BOOST_WAVE # limitation of assembler for coldfire # error: Tried to convert PC relative branch to absolute jump depends on !BR2_m68k_cf + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread select BR2_PACKAGE_BOOST_DATE_TIME select BR2_PACKAGE_BOOST_FILESYSTEM diff --git a/buildroot/package/brltty/brltty.mk b/buildroot/package/brltty/brltty.mk index 4f40e65fc..3924fa0c1 100644 --- a/buildroot/package/brltty/brltty.mk +++ b/buildroot/package/brltty/brltty.mk @@ -96,6 +96,13 @@ else BRLTTY_CONF_OPTS += --without-rgx-package endif +ifeq ($(BR2_PACKAGE_POLKIT),y) +BRLTTY_DEPENDENCIES += polkit +BRLTTY_CONF_OPTS += --enable-polkit +else +BRLTTY_CONF_OPTS += --disable-polkit +endif + ifeq ($(BR2_PACKAGE_SYSTEMD),y) BRLTTY_DEPENDENCIES += systemd BRLTTY_CONF_OPTS += --with-service-package diff --git a/buildroot/package/dbus/Config.in b/buildroot/package/dbus/Config.in index 653f7482f..5650b5777 100644 --- a/buildroot/package/dbus/Config.in +++ b/buildroot/package/dbus/Config.in @@ -7,7 +7,7 @@ config BR2_PACKAGE_DBUS help The D-Bus message bus system. - http://www.freedesktop.org/wiki/Software/dbus + https://www.freedesktop.org/wiki/Software/dbus comment "dbus needs a toolchain w/ threads" depends on BR2_USE_MMU diff --git a/buildroot/package/dbus/dbus.hash b/buildroot/package/dbus/dbus.hash index cfa06301f..06512e565 100644 --- a/buildroot/package/dbus/dbus.hash +++ b/buildroot/package/dbus/dbus.hash @@ -1,6 +1,7 @@ # Locally calculated after checking pgp signature -# https://dbus.freedesktop.org/releases/dbus/dbus-1.12.18.tar.gz.asc +# https://dbus.freedesktop.org/releases/dbus/dbus-1.12.20.tar.gz.asc # using key 36EC5A6448A4F5EF79BEFE98E05AE1478F814C4F -sha256 64cf4d70840230e5e9bc784d153880775ab3db19d656ead8a0cb9c0ab5a95306 dbus-1.12.18.tar.gz +sha256 f77620140ecb4cdc67f37fb444f8a6bea70b5b6461f12f1cbe2cec60fa7de5fe dbus-1.12.20.tar.gz + # Locally calculated sha256 0e46f54efb12d04ab5c33713bacd0e140c9a35b57ae29e03c853203266e8f3a1 COPYING diff --git a/buildroot/package/dbus/dbus.mk b/buildroot/package/dbus/dbus.mk index b58f1ddda..149183437 100644 --- a/buildroot/package/dbus/dbus.mk +++ b/buildroot/package/dbus/dbus.mk @@ -4,7 +4,7 @@ # ################################################################################ -DBUS_VERSION = 1.12.18 +DBUS_VERSION = 1.12.20 DBUS_SITE = https://dbus.freedesktop.org/releases/dbus DBUS_LICENSE = AFL-2.1 or GPL-2.0+ (library, tools), GPL-2.0+ (tools) DBUS_LICENSE_FILES = COPYING diff --git a/buildroot/package/docker-containerd/docker-containerd.mk b/buildroot/package/docker-containerd/docker-containerd.mk index c68e3818a..2eed6e346 100644 --- a/buildroot/package/docker-containerd/docker-containerd.mk +++ b/buildroot/package/docker-containerd/docker-containerd.mk @@ -12,7 +12,7 @@ DOCKER_CONTAINERD_LICENSE_FILES = LICENSE DOCKER_CONTAINERD_GOMOD = github.com/containerd/containerd DOCKER_CONTAINERD_LDFLAGS = \ - -X github.com/docker/containerd.GitCommit=$(DOCKER_CONTAINERD_VERSION) + -X $(DOCKER_CONTAINERD_GOMOD)/version.Version=$(DOCKER_CONTAINERD_VERSION) DOCKER_CONTAINERD_BUILD_TARGETS = cmd/ctr cmd/containerd cmd/containerd-shim diff --git a/buildroot/package/domoticz/Config.in b/buildroot/package/domoticz/Config.in index 642d39482..88de23264 100644 --- a/buildroot/package/domoticz/Config.in +++ b/buildroot/package/domoticz/Config.in @@ -8,6 +8,7 @@ config BR2_PACKAGE_DOMOTICZ depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR depends on BR2_PACKAGE_LUA_5_3 + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_DATE_TIME @@ -30,6 +31,7 @@ config BR2_PACKAGE_DOMOTICZ comment "domoticz needs lua 5.3 and a toolchain w/ C++, gcc >= 4.8, NPTL, wchar, dynamic library" depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ diff --git a/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.hash b/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.hash index 7f4b8579c..f2c76a05f 100644 --- a/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.hash +++ b/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.hash @@ -1,3 +1,3 @@ # Locally computed after checking signature -sha256 0b972a441f680545ddfacd2f41fb2a705fb03249d46ed5ce7e01fe68b6cfb5f0 dovecot-2.3-pigeonhole-0.5.11.tar.gz +sha256 911fe566da5b638eab1b11105314300bc9049cc3832d4bd2aed44c265013bf17 dovecot-2.3-pigeonhole-0.5.13.tar.gz sha256 fc9e9522216f2a9a28b31300e3c73c1df56acc27dfae951bf516e7995366b51a COPYING diff --git a/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.mk b/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.mk index 462c99290..5c4cdb633 100644 --- a/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.mk +++ b/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOVECOT_PIGEONHOLE_VERSION = 0.5.11 +DOVECOT_PIGEONHOLE_VERSION = 0.5.13 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/buildroot/package/dovecot/dovecot.hash b/buildroot/package/dovecot/dovecot.hash index e5c2ab6f4..4d69f3abd 100644 --- a/buildroot/package/dovecot/dovecot.hash +++ b/buildroot/package/dovecot/dovecot.hash @@ -1,5 +1,5 @@ # Locally computed after checking signature -sha256 d3d9ea9010277f57eb5b9f4166a5d2ba539b172bd6d5a2b2529a6db524baafdc dovecot-2.3.11.3.tar.gz -sha256 a363b132e494f662d98c820d1481297e6ae72f194c2c91b6c39e1518b86240a8 COPYING +sha256 a3f875b80ec11a452480690108660030978c94fa8e796ad6d943a874b496f1c4 dovecot-2.3.13.tar.gz +sha256 319a9830aab406109cd67cb45496587566a8123203d66d037b209ca3e13de02a COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL sha256 52b8c95fabb19575281874b661ef7968ea47e8f5d74ba0dd40ce512e52b3fc97 COPYING.MIT diff --git a/buildroot/package/dovecot/dovecot.mk b/buildroot/package/dovecot/dovecot.mk index f0508753a..3100bfbc9 100644 --- a/buildroot/package/dovecot/dovecot.mk +++ b/buildroot/package/dovecot/dovecot.mk @@ -5,7 +5,7 @@ ################################################################################ DOVECOT_VERSION_MAJOR = 2.3 -DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).11.3 +DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).13 DOVECOT_SITE = https://dovecot.org/releases/$(DOVECOT_VERSION_MAJOR) DOVECOT_INSTALL_STAGING = YES DOVECOT_LICENSE = LGPL-2.1, MIT, Public Domain, BSD-3-Clause, Unicode-DFS-2015 diff --git a/buildroot/package/freescale-imx/firmware-imx/Config.in b/buildroot/package/freescale-imx/firmware-imx/Config.in index 587f40242..881077979 100644 --- a/buildroot/package/freescale-imx/firmware-imx/Config.in +++ b/buildroot/package/freescale-imx/firmware-imx/Config.in @@ -18,6 +18,8 @@ config BR2_PACKAGE_FIRMWARE_IMX_SDMA_FW_NAME default "imx51" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 default "imx53" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53 default "imx6q" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q + default "imx6q" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S + default "imx6q" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M default "imx7d" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM diff --git a/buildroot/package/freescale-imx/firmware-imx/firmware-imx.mk b/buildroot/package/freescale-imx/firmware-imx/firmware-imx.mk index fb3cfe640..1ff09baff 100644 --- a/buildroot/package/freescale-imx/firmware-imx/firmware-imx.mk +++ b/buildroot/package/freescale-imx/firmware-imx/firmware-imx.mk @@ -116,9 +116,11 @@ endif FIRMWARE_IMX_VPU_FW_NAME = $(call qstrip,$(BR2_PACKAGE_FIRMWARE_IMX_VPU_FW_NAME)) ifneq ($(FIRMWARE_IMX_VPU_FW_NAME),) define FIRMWARE_IMX_INSTALL_TARGET_VPU_FW - mkdir -p $(TARGET_DIR)/lib/firmware/imx/vpu - cp $(@D)/firmware/vpu/vpu_fw_$(FIRMWARE_IMX_VPU_FW_NAME)*.bin \ - $(TARGET_DIR)/lib/firmware/imx/vpu/ + mkdir -p $(TARGET_DIR)/lib/firmware/vpu + for i in $$(find $(@D)/firmware/vpu/vpu_fw_$(FIRMWARE_IMX_VPU_FW_NAME)*.bin); do \ + cp $$i $(TARGET_DIR)/lib/firmware/vpu/ ; \ + ln -sf vpu/$$(basename $$i) $(TARGET_DIR)/lib/firmware/$$(basename $$i) ; \ + done endef endif diff --git a/buildroot/package/gcc/10.2.0/0001-arc-Refurbish-adc-sbc-patterns.patch b/buildroot/package/gcc/10.2.0/0001-arc-Refurbish-adc-sbc-patterns.patch new file mode 100644 index 000000000..ed7b000ed --- /dev/null +++ b/buildroot/package/gcc/10.2.0/0001-arc-Refurbish-adc-sbc-patterns.patch @@ -0,0 +1,242 @@ +From 09944fba5bfb8e5543ce043c70d08222cf2f97ff Mon Sep 17 00:00:00 2001 +From: Claudiu Zissulescu +Date: Wed, 11 Nov 2020 12:31:10 +0200 +Subject: [PATCH] arc: Refurbish adc/sbc patterns + +The adc/sbc patterns were unecessary spliting, remove that and +associated functions. + +gcc/ChangeLog: + +2020-10-11 Claudiu Zissulescu + + * config/arc/arc-protos.h (arc_scheduling_not_expected): Remove + it. + (arc_sets_cc_p): Likewise. + (arc_need_delay): Likewise. + * config/arc/arc.c (arc_sets_cc_p): Likewise. + (arc_need_delay): Likewise. + (arc_scheduling_not_expected): Likewise. + * config/arc/arc.md: Convert adc/sbc patterns to simple + instruction definitions. + +Signed-off-by: Claudiu Zissulescu +Signed-off-by: Veronika Kremneva +--- + gcc/config/arc/arc-protos.h | 3 -- + gcc/config/arc/arc.c | 53 ------------------------- + gcc/config/arc/arc.md | 95 ++++++++++++++------------------------------- + 3 files changed, 29 insertions(+), 122 deletions(-) + +diff --git a/gcc/config/arc/arc-protos.h b/gcc/config/arc/arc-protos.h +index c72d78e3b9e..de4cf47c818 100644 +--- a/gcc/config/arc/arc-protos.h ++++ b/gcc/config/arc/arc-protos.h +@@ -90,10 +90,7 @@ extern void split_subsi (rtx *); + extern void arc_split_move (rtx *); + extern const char *arc_short_long (rtx_insn *insn, const char *, const char *); + extern rtx arc_regno_use_in (unsigned int, rtx); +-extern bool arc_scheduling_not_expected (void); +-extern bool arc_sets_cc_p (rtx_insn *insn); + extern int arc_label_align (rtx_insn *label); +-extern bool arc_need_delay (rtx_insn *insn); + extern bool arc_text_label (rtx_insn *insn); + + extern bool arc_short_comparison_p (rtx, int); +diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c +index fcb83c4e23e..2daf83dd009 100644 +--- a/gcc/config/arc/arc.c ++++ b/gcc/config/arc/arc.c +@@ -10341,59 +10341,6 @@ arc_attr_type (rtx_insn *insn) + return get_attr_type (insn); + } + +-/* Return true if insn sets the condition codes. */ +- +-bool +-arc_sets_cc_p (rtx_insn *insn) +-{ +- if (NONJUMP_INSN_P (insn)) +- if (rtx_sequence *seq = dyn_cast (PATTERN (insn))) +- insn = seq->insn (seq->len () - 1); +- return arc_attr_type (insn) == TYPE_COMPARE; +-} +- +-/* Return true if INSN is an instruction with a delay slot we may want +- to fill. */ +- +-bool +-arc_need_delay (rtx_insn *insn) +-{ +- rtx_insn *next; +- +- if (!flag_delayed_branch) +- return false; +- /* The return at the end of a function needs a delay slot. */ +- if (NONJUMP_INSN_P (insn) && GET_CODE (PATTERN (insn)) == USE +- && (!(next = next_active_insn (insn)) +- || ((!NONJUMP_INSN_P (next) || GET_CODE (PATTERN (next)) != SEQUENCE) +- && arc_attr_type (next) == TYPE_RETURN)) +- && (!TARGET_PAD_RETURN +- || (prev_active_insn (insn) +- && prev_active_insn (prev_active_insn (insn)) +- && prev_active_insn (prev_active_insn (prev_active_insn (insn)))))) +- return true; +- if (NONJUMP_INSN_P (insn) +- ? (GET_CODE (PATTERN (insn)) == USE +- || GET_CODE (PATTERN (insn)) == CLOBBER +- || GET_CODE (PATTERN (insn)) == SEQUENCE) +- : JUMP_P (insn) +- ? (GET_CODE (PATTERN (insn)) == ADDR_VEC +- || GET_CODE (PATTERN (insn)) == ADDR_DIFF_VEC) +- : !CALL_P (insn)) +- return false; +- return num_delay_slots (insn) != 0; +-} +- +-/* Return true if the scheduling pass(es) has/have already run, +- i.e. where possible, we should try to mitigate high latencies +- by different instruction selection. */ +- +-bool +-arc_scheduling_not_expected (void) +-{ +- return cfun->machine->arc_reorg_started; +-} +- + /* Code has a minimum p2 alignment of 1, which we must restore after + an ADDR_DIFF_VEC. */ + +diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md +index d4d9f59a3ea..6c09c86884f 100644 +--- a/gcc/config/arc/arc.md ++++ b/gcc/config/arc/arc.md +@@ -2857,43 +2857,25 @@ archs4x, archs4xd" + (set_attr "type" "compare") + (set_attr "length" "4,4,8")]) + +-; w/c/c comes first (rather than w/0/C_0) to prevent the middle-end +-; needlessly prioritizing the matching constraint. +-; Rcw/0/C_0 comes before w/c/L so that the lower latency conditional +-; execution is used where possible. +-(define_insn_and_split "adc" +- [(set (match_operand:SI 0 "dest_reg_operand" "=w,Rcw,w,Rcw,w") +- (plus:SI (plus:SI (ltu:SI (reg:CC_C CC_REG) (const_int 0)) +- (match_operand:SI 1 "nonmemory_operand" +- "%c,0,c,0,cCal")) +- (match_operand:SI 2 "nonmemory_operand" "c,C_0,L,I,cCal")))] ++(define_insn "adc" ++ [(set (match_operand:SI 0 "register_operand" "=r, r,r,r, r,r") ++ (plus:SI ++ (plus:SI ++ (ltu:SI (reg:CC_C CC_REG) (const_int 0)) ++ (match_operand:SI 1 "nonmemory_operand" "%r, 0,r,0,Cal,r")) ++ (match_operand:SI 2 "nonmemory_operand" "r,C_0,L,I, r,Cal")))] + "register_operand (operands[1], SImode) + || register_operand (operands[2], SImode)" + "@ +- adc %0,%1,%2 +- add.cs %0,%1,1 +- adc %0,%1,%2 +- adc %0,%1,%2 +- adc %0,%1,%2" +- ; if we have a bad schedule after sched2, split. +- "reload_completed +- && !optimize_size && (!TARGET_ARC600_FAMILY) +- && arc_scheduling_not_expected () +- && arc_sets_cc_p (prev_nonnote_insn (insn)) +- /* If next comes a return or other insn that needs a delay slot, +- expect the adc to get into the delay slot. */ +- && next_nonnote_insn (insn) +- && !arc_need_delay (next_nonnote_insn (insn)) +- /* Restore operands before emitting. */ +- && (extract_insn_cached (insn), 1)" +- [(set (match_dup 0) (match_dup 3)) +- (cond_exec +- (ltu (reg:CC_C CC_REG) (const_int 0)) +- (set (match_dup 0) (plus:SI (match_dup 0) (const_int 1))))] +- "operands[3] = simplify_gen_binary (PLUS, SImode, operands[1], operands[2]);" ++ adc\\t%0,%1,%2 ++ add.cs\\t%0,%1,1 ++ adc\\t%0,%1,%2 ++ adc\\t%0,%1,%2 ++ adc\\t%0,%1,%2 ++ adc\\t%0,%1,%2" + [(set_attr "cond" "use") + (set_attr "type" "cc_arith") +- (set_attr "length" "4,4,4,4,8")]) ++ (set_attr "length" "4,4,4,4,8,8")]) + + ; combiner-splitter cmp / scc -> cmp / adc + (define_split +@@ -3025,7 +3007,7 @@ archs4x, archs4xd" + DONE; + } + emit_insn (gen_sub_f (l0, l1, l2)); +- emit_insn (gen_sbc (h0, h1, h2, gen_rtx_REG (CCmode, CC_REG))); ++ emit_insn (gen_sbc (h0, h1, h2)); + DONE; + ") + +@@ -3040,44 +3022,25 @@ archs4x, archs4xd" + (set_attr "type" "cc_arith") + (set_attr "length" "4")]) + +-; w/c/c comes first (rather than Rcw/0/C_0) to prevent the middle-end +-; needlessly prioritizing the matching constraint. +-; Rcw/0/C_0 comes before w/c/L so that the lower latency conditional execution +-; is used where possible. +-(define_insn_and_split "sbc" +- [(set (match_operand:SI 0 "dest_reg_operand" "=w,Rcw,w,Rcw,w") +- (minus:SI (minus:SI (match_operand:SI 1 "nonmemory_operand" +- "c,0,c,0,cCal") +- (ltu:SI (match_operand:CC_C 3 "cc_use_register") +- (const_int 0))) +- (match_operand:SI 2 "nonmemory_operand" "c,C_0,L,I,cCal")))] ++(define_insn "sbc" ++ [(set (match_operand:SI 0 "dest_reg_operand" "=r,r,r,r,r,r") ++ (minus:SI ++ (minus:SI ++ (match_operand:SI 1 "nonmemory_operand" "r, 0,r,0, r,Cal") ++ (ltu:SI (reg:CC_C CC_REG) (const_int 0))) ++ (match_operand:SI 2 "nonmemory_operand" "r,C_0,L,I,Cal,r")))] + "register_operand (operands[1], SImode) + || register_operand (operands[2], SImode)" + "@ +- sbc %0,%1,%2 +- sub.cs %0,%1,1 +- sbc %0,%1,%2 +- sbc %0,%1,%2 +- sbc %0,%1,%2" +- ; if we have a bad schedule after sched2, split. +- "reload_completed +- && !optimize_size && (!TARGET_ARC600_FAMILY) +- && arc_scheduling_not_expected () +- && arc_sets_cc_p (prev_nonnote_insn (insn)) +- /* If next comes a return or other insn that needs a delay slot, +- expect the adc to get into the delay slot. */ +- && next_nonnote_insn (insn) +- && !arc_need_delay (next_nonnote_insn (insn)) +- /* Restore operands before emitting. */ +- && (extract_insn_cached (insn), 1)" +- [(set (match_dup 0) (match_dup 4)) +- (cond_exec +- (ltu (reg:CC_C CC_REG) (const_int 0)) +- (set (match_dup 0) (plus:SI (match_dup 0) (const_int -1))))] +- "operands[4] = simplify_gen_binary (MINUS, SImode, operands[1], operands[2]);" ++ sbc\\t%0,%1,%2 ++ sub.cs\\t%0,%1,1 ++ sbc\\t%0,%1,%2 ++ sbc\\t%0,%1,%2 ++ sbc\\t%0,%1,%2 ++ sbc\\t%0,%1,%2" + [(set_attr "cond" "use") + (set_attr "type" "cc_arith") +- (set_attr "length" "4,4,4,4,8")]) ++ (set_attr "length" "4,4,4,4,8,8")]) + + (define_insn "sub_f" + [(set (reg:CC CC_REG) +-- +2.16.2 + diff --git a/buildroot/package/gcc/10.2.0/0002-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch b/buildroot/package/gcc/10.2.0/0002-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch new file mode 100644 index 000000000..6f11713c6 --- /dev/null +++ b/buildroot/package/gcc/10.2.0/0002-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch @@ -0,0 +1,325 @@ +From 472472ee0aaccb6389747d6281c34c558bcca7d8 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Wed, 20 Jan 2021 23:26:29 +0100 +Subject: [PATCH] Revert "re PR target/92095 (internal error with -O1 + -mcpu=niagara2 -fPIE)" + +This reverts commit 0a83f1a441d7aaadecb368c237b6ee70bd7b91d6. + +Building the Buildroot defconfig qemu_sparc_ss10_defconfig using +gcc 8.4, 9.3 and 10 produce a broken rootfs that trigger illegal +instruction messages. + +gcc 8.3, 9.2 are the latest working gcc version. +git bisect between gcc 8.4 and 8.4 allowed to identify +the commit that introcuce the regression. + +Reverting this patch allowed to produce a working rootfs. + +Signed-off-by: Romain Naour +Cc: Eric Botcazou +--- + gcc/config/sparc/sparc-protos.h | 1 - + gcc/config/sparc/sparc.c | 121 +++++++----------- + gcc/config/sparc/sparc.md | 5 +- + .../gcc.c-torture/compile/20191108-1.c | 14 -- + gcc/testsuite/gcc.target/sparc/overflow-3.c | 2 +- + gcc/testsuite/gcc.target/sparc/overflow-4.c | 2 +- + gcc/testsuite/gcc.target/sparc/overflow-5.c | 2 +- + 7 files changed, 53 insertions(+), 94 deletions(-) + delete mode 100644 gcc/testsuite/gcc.c-torture/compile/20191108-1.c + +diff --git a/gcc/config/sparc/sparc-protos.h b/gcc/config/sparc/sparc-protos.h +index f525cd7a422..0d9f47af644 100644 +--- a/gcc/config/sparc/sparc-protos.h ++++ b/gcc/config/sparc/sparc-protos.h +@@ -69,7 +69,6 @@ extern void sparc_split_reg_mem (rtx, rtx, machine_mode); + extern void sparc_split_mem_reg (rtx, rtx, machine_mode); + extern int sparc_split_reg_reg_legitimate (rtx, rtx); + extern void sparc_split_reg_reg (rtx, rtx, machine_mode); +-extern const char *output_load_pcrel_sym (rtx *); + extern const char *output_ubranch (rtx, rtx_insn *); + extern const char *output_cbranch (rtx, rtx, int, int, int, rtx_insn *); + extern const char *output_return (rtx_insn *); +diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c +index aefced85fe1..3ff6f9200f6 100644 +--- a/gcc/config/sparc/sparc.c ++++ b/gcc/config/sparc/sparc.c +@@ -4192,6 +4192,13 @@ eligible_for_sibcall_delay (rtx_insn *trial) + static bool + sparc_cannot_force_const_mem (machine_mode mode, rtx x) + { ++ /* After IRA has run in PIC mode, it is too late to put anything into the ++ constant pool if the PIC register hasn't already been initialized. */ ++ if ((lra_in_progress || reload_in_progress) ++ && flag_pic ++ && !crtl->uses_pic_offset_table) ++ return true; ++ + switch (GET_CODE (x)) + { + case CONST_INT: +@@ -4227,11 +4234,9 @@ sparc_cannot_force_const_mem (machine_mode mode, rtx x) + } + + /* Global Offset Table support. */ +-static GTY(()) rtx got_symbol_rtx = NULL_RTX; +-static GTY(()) rtx got_register_rtx = NULL_RTX; + static GTY(()) rtx got_helper_rtx = NULL_RTX; +- +-static GTY(()) bool got_helper_needed = false; ++static GTY(()) rtx got_register_rtx = NULL_RTX; ++static GTY(()) rtx got_symbol_rtx = NULL_RTX; + + /* Return the SYMBOL_REF for the Global Offset Table. */ + +@@ -4244,6 +4249,27 @@ sparc_got (void) + return got_symbol_rtx; + } + ++#ifdef HAVE_GAS_HIDDEN ++# define USE_HIDDEN_LINKONCE 1 ++#else ++# define USE_HIDDEN_LINKONCE 0 ++#endif ++ ++static void ++get_pc_thunk_name (char name[32], unsigned int regno) ++{ ++ const char *reg_name = reg_names[regno]; ++ ++ /* Skip the leading '%' as that cannot be used in a ++ symbol name. */ ++ reg_name += 1; ++ ++ if (USE_HIDDEN_LINKONCE) ++ sprintf (name, "__sparc_get_pc_thunk.%s", reg_name); ++ else ++ ASM_GENERATE_INTERNAL_LABEL (name, "LADDPC", regno); ++} ++ + /* Wrapper around the load_pcrel_sym{si,di} patterns. */ + + static rtx +@@ -4263,78 +4289,30 @@ gen_load_pcrel_sym (rtx op0, rtx op1, rtx op2) + return insn; + } + +-/* Output the load_pcrel_sym{si,di} patterns. */ +- +-const char * +-output_load_pcrel_sym (rtx *operands) +-{ +- if (flag_delayed_branch) +- { +- output_asm_insn ("sethi\t%%hi(%a1-4), %0", operands); +- output_asm_insn ("call\t%a2", operands); +- output_asm_insn (" add\t%0, %%lo(%a1+4), %0", operands); +- } +- else +- { +- output_asm_insn ("sethi\t%%hi(%a1-8), %0", operands); +- output_asm_insn ("add\t%0, %%lo(%a1-4), %0", operands); +- output_asm_insn ("call\t%a2", operands); +- output_asm_insn (" nop", NULL); +- } +- +- if (operands[2] == got_helper_rtx) +- got_helper_needed = true; +- +- return ""; +-} +- +-#ifdef HAVE_GAS_HIDDEN +-# define USE_HIDDEN_LINKONCE 1 +-#else +-# define USE_HIDDEN_LINKONCE 0 +-#endif +- + /* Emit code to load the GOT register. */ + + void + load_got_register (void) + { +- rtx insn; ++ if (!got_register_rtx) ++ got_register_rtx = gen_rtx_REG (Pmode, GLOBAL_OFFSET_TABLE_REGNUM); + + if (TARGET_VXWORKS_RTP) +- { +- if (!got_register_rtx) +- got_register_rtx = pic_offset_table_rtx; +- +- insn = gen_vxworks_load_got (); +- } ++ emit_insn (gen_vxworks_load_got ()); + else + { +- if (!got_register_rtx) +- got_register_rtx = gen_rtx_REG (Pmode, GLOBAL_OFFSET_TABLE_REGNUM); +- + /* The GOT symbol is subject to a PC-relative relocation so we need a + helper function to add the PC value and thus get the final value. */ + if (!got_helper_rtx) + { + char name[32]; +- +- /* Skip the leading '%' as that cannot be used in a symbol name. */ +- if (USE_HIDDEN_LINKONCE) +- sprintf (name, "__sparc_get_pc_thunk.%s", +- reg_names[REGNO (got_register_rtx)] + 1); +- else +- ASM_GENERATE_INTERNAL_LABEL (name, "LADDPC", +- REGNO (got_register_rtx)); +- ++ get_pc_thunk_name (name, GLOBAL_OFFSET_TABLE_REGNUM); + got_helper_rtx = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (name)); + } + +- insn +- = gen_load_pcrel_sym (got_register_rtx, sparc_got (), got_helper_rtx); ++ emit_insn (gen_load_pcrel_sym (got_register_rtx, sparc_got (), ++ got_helper_rtx)); + } +- +- emit_insn (insn); + } + + /* Ensure that we are not using patterns that are not OK with PIC. */ +@@ -5499,7 +5477,7 @@ save_local_or_in_reg_p (unsigned int regno, int leaf_function) + return true; + + /* GOT register (%l7) if needed. */ +- if (got_register_rtx && regno == REGNO (got_register_rtx)) ++ if (regno == GLOBAL_OFFSET_TABLE_REGNUM && got_register_rtx) + return true; + + /* If the function accesses prior frames, the frame pointer and the return +@@ -12542,9 +12520,10 @@ static void + sparc_file_end (void) + { + /* If we need to emit the special GOT helper function, do so now. */ +- if (got_helper_needed) ++ if (got_helper_rtx) + { + const char *name = XSTR (got_helper_rtx, 0); ++ const char *reg_name = reg_names[GLOBAL_OFFSET_TABLE_REGNUM]; + #ifdef DWARF2_UNWIND_INFO + bool do_cfi; + #endif +@@ -12581,22 +12560,17 @@ sparc_file_end (void) + #ifdef DWARF2_UNWIND_INFO + do_cfi = dwarf2out_do_cfi_asm (); + if (do_cfi) +- output_asm_insn (".cfi_startproc", NULL); ++ fprintf (asm_out_file, "\t.cfi_startproc\n"); + #endif + if (flag_delayed_branch) +- { +- output_asm_insn ("jmp\t%%o7+8", NULL); +- output_asm_insn (" add\t%%o7, %0, %0", &got_register_rtx); +- } ++ fprintf (asm_out_file, "\tjmp\t%%o7+8\n\t add\t%%o7, %s, %s\n", ++ reg_name, reg_name); + else +- { +- output_asm_insn ("add\t%%o7, %0, %0", &got_register_rtx); +- output_asm_insn ("jmp\t%%o7+8", NULL); +- output_asm_insn (" nop", NULL); +- } ++ fprintf (asm_out_file, "\tadd\t%%o7, %s, %s\n\tjmp\t%%o7+8\n\t nop\n", ++ reg_name, reg_name); + #ifdef DWARF2_UNWIND_INFO + if (do_cfi) +- output_asm_insn (".cfi_endproc", NULL); ++ fprintf (asm_out_file, "\t.cfi_endproc\n"); + #endif + } + +@@ -13091,10 +13065,7 @@ sparc_init_pic_reg (void) + edge entry_edge; + rtx_insn *seq; + +- /* In PIC mode, we need to always initialize the PIC register if optimization +- is enabled, because we are called from IRA and LRA may later force things +- to the constant pool for optimization purposes. */ +- if (!flag_pic || (!crtl->uses_pic_offset_table && !optimize)) ++ if (!crtl->uses_pic_offset_table) + return; + + start_sequence (); +diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md +index 231c0d84778..899804b80ae 100644 +--- a/gcc/config/sparc/sparc.md ++++ b/gcc/config/sparc/sparc.md +@@ -1604,7 +1604,10 @@ + (clobber (reg:P O7_REG))] + "REGNO (operands[0]) == INTVAL (operands[3])" + { +- return output_load_pcrel_sym (operands); ++ if (flag_delayed_branch) ++ return "sethi\t%%hi(%a1-4), %0\n\tcall\t%a2\n\t add\t%0, %%lo(%a1+4), %0"; ++ else ++ return "sethi\t%%hi(%a1-8), %0\n\tadd\t%0, %%lo(%a1-4), %0\n\tcall\t%a2\n\t nop"; + } + [(set (attr "type") (const_string "multi")) + (set (attr "length") +diff --git a/gcc/testsuite/gcc.c-torture/compile/20191108-1.c b/gcc/testsuite/gcc.c-torture/compile/20191108-1.c +deleted file mode 100644 +index 7929751bb06..00000000000 +--- a/gcc/testsuite/gcc.c-torture/compile/20191108-1.c ++++ /dev/null +@@ -1,14 +0,0 @@ +-/* PR target/92095 */ +-/* Testcase by Sergei Trofimovich */ +- +-typedef union { +- double a; +- int b[2]; +-} c; +- +-double d(int e) +-{ +- c f; +- (&f)->b[0] = 15728640; +- return e ? -(&f)->a : (&f)->a; +-} +diff --git a/gcc/testsuite/gcc.target/sparc/overflow-3.c b/gcc/testsuite/gcc.target/sparc/overflow-3.c +index 52d6ab2b688..86dddfb09e6 100644 +--- a/gcc/testsuite/gcc.target/sparc/overflow-3.c ++++ b/gcc/testsuite/gcc.target/sparc/overflow-3.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-require-effective-target lp64 } */ +-/* { dg-options "-O -fno-pie" } */ ++/* { dg-options "-O" } */ + + #include + #include +diff --git a/gcc/testsuite/gcc.target/sparc/overflow-4.c b/gcc/testsuite/gcc.target/sparc/overflow-4.c +index c6121b958c3..019feee335c 100644 +--- a/gcc/testsuite/gcc.target/sparc/overflow-4.c ++++ b/gcc/testsuite/gcc.target/sparc/overflow-4.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-require-effective-target lp64 } */ +-/* { dg-options "-O -fno-pie -mno-vis3 -mno-vis4" } */ ++/* { dg-options "-O -mno-vis3 -mno-vis4" } */ + + #include + #include +diff --git a/gcc/testsuite/gcc.target/sparc/overflow-5.c b/gcc/testsuite/gcc.target/sparc/overflow-5.c +index f00283f6e7b..67d4ac38095 100644 +--- a/gcc/testsuite/gcc.target/sparc/overflow-5.c ++++ b/gcc/testsuite/gcc.target/sparc/overflow-5.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-require-effective-target lp64 } */ +-/* { dg-options "-O -fno-pie -mvis3" } */ ++/* { dg-options "-O -mvis3" } */ + + #include + #include +-- +2.25.4 + diff --git a/buildroot/package/gcc/8.4.0/0002-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch b/buildroot/package/gcc/8.4.0/0002-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch new file mode 100644 index 000000000..ec2bf8835 --- /dev/null +++ b/buildroot/package/gcc/8.4.0/0002-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch @@ -0,0 +1,322 @@ +From bb9b71752267444b4360442b89129bfc0ae938d3 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Wed, 20 Jan 2021 23:06:07 +0100 +Subject: [PATCH] Revert "re PR target/92095 (internal error with -O1 + -mcpu=niagara2 -fPIE)" + +This reverts commit 3fcce773f0f914c0499b130c6e9efa0e45ee54a0. + +Building the Buildroot defconfig qemu_sparc_ss10_defconfig using +gcc 8.4, 9.3 and 10 produce a broken rootfs that trigger illegal +instruction messages. + +gcc 8.3, 9.2 are the latest working gcc version. +git bisect between gcc 8.4 and 8.4 allowed to identify +the commit that introcuce the regression. + +Reverting this patch allowed to produce a working rootfs. + +Signed-off-by: Romain Naour +Cc: Eric Botcazou +--- + gcc/config/sparc/sparc-protos.h | 1 - + gcc/config/sparc/sparc.c | 121 +++++++----------- + gcc/config/sparc/sparc.md | 5 +- + .../gcc.c-torture/compile/20191108-1.c | 14 -- + gcc/testsuite/gcc.target/sparc/overflow-3.c | 2 +- + gcc/testsuite/gcc.target/sparc/overflow-4.c | 2 +- + gcc/testsuite/gcc.target/sparc/overflow-5.c | 2 +- + 7 files changed, 53 insertions(+), 94 deletions(-) + delete mode 100644 gcc/testsuite/gcc.c-torture/compile/20191108-1.c + +diff --git a/gcc/config/sparc/sparc-protos.h b/gcc/config/sparc/sparc-protos.h +index b3f73c2f2bf..71a067e871c 100644 +--- a/gcc/config/sparc/sparc-protos.h ++++ b/gcc/config/sparc/sparc-protos.h +@@ -69,7 +69,6 @@ extern void sparc_split_reg_mem (rtx, rtx, machine_mode); + extern void sparc_split_mem_reg (rtx, rtx, machine_mode); + extern int sparc_split_reg_reg_legitimate (rtx, rtx); + extern void sparc_split_reg_reg (rtx, rtx, machine_mode); +-extern const char *output_load_pcrel_sym (rtx *); + extern const char *output_ubranch (rtx, rtx_insn *); + extern const char *output_cbranch (rtx, rtx, int, int, int, rtx_insn *); + extern const char *output_return (rtx_insn *); +diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c +index 73032d33596..db1b428db90 100644 +--- a/gcc/config/sparc/sparc.c ++++ b/gcc/config/sparc/sparc.c +@@ -4200,6 +4200,13 @@ eligible_for_sibcall_delay (rtx_insn *trial) + static bool + sparc_cannot_force_const_mem (machine_mode mode, rtx x) + { ++ /* After IRA has run in PIC mode, it is too late to put anything into the ++ constant pool if the PIC register hasn't already been initialized. */ ++ if ((lra_in_progress || reload_in_progress) ++ && flag_pic ++ && !crtl->uses_pic_offset_table) ++ return true; ++ + switch (GET_CODE (x)) + { + case CONST_INT: +@@ -4235,11 +4242,9 @@ sparc_cannot_force_const_mem (machine_mode mode, rtx x) + } + + /* Global Offset Table support. */ +-static GTY(()) rtx got_symbol_rtx = NULL_RTX; +-static GTY(()) rtx got_register_rtx = NULL_RTX; + static GTY(()) rtx got_helper_rtx = NULL_RTX; +- +-static GTY(()) bool got_helper_needed = false; ++static GTY(()) rtx got_register_rtx = NULL_RTX; ++static GTY(()) rtx got_symbol_rtx = NULL_RTX; + + /* Return the SYMBOL_REF for the Global Offset Table. */ + +@@ -4252,6 +4257,27 @@ sparc_got (void) + return got_symbol_rtx; + } + ++#ifdef HAVE_GAS_HIDDEN ++# define USE_HIDDEN_LINKONCE 1 ++#else ++# define USE_HIDDEN_LINKONCE 0 ++#endif ++ ++static void ++get_pc_thunk_name (char name[32], unsigned int regno) ++{ ++ const char *reg_name = reg_names[regno]; ++ ++ /* Skip the leading '%' as that cannot be used in a ++ symbol name. */ ++ reg_name += 1; ++ ++ if (USE_HIDDEN_LINKONCE) ++ sprintf (name, "__sparc_get_pc_thunk.%s", reg_name); ++ else ++ ASM_GENERATE_INTERNAL_LABEL (name, "LADDPC", regno); ++} ++ + /* Wrapper around the load_pcrel_sym{si,di} patterns. */ + + static rtx +@@ -4271,78 +4297,30 @@ gen_load_pcrel_sym (rtx op0, rtx op1, rtx op2) + return insn; + } + +-/* Output the load_pcrel_sym{si,di} patterns. */ +- +-const char * +-output_load_pcrel_sym (rtx *operands) +-{ +- if (flag_delayed_branch) +- { +- output_asm_insn ("sethi\t%%hi(%a1-4), %0", operands); +- output_asm_insn ("call\t%a2", operands); +- output_asm_insn (" add\t%0, %%lo(%a1+4), %0", operands); +- } +- else +- { +- output_asm_insn ("sethi\t%%hi(%a1-8), %0", operands); +- output_asm_insn ("add\t%0, %%lo(%a1-4), %0", operands); +- output_asm_insn ("call\t%a2", operands); +- output_asm_insn (" nop", NULL); +- } +- +- if (operands[2] == got_helper_rtx) +- got_helper_needed = true; +- +- return ""; +-} +- +-#ifdef HAVE_GAS_HIDDEN +-# define USE_HIDDEN_LINKONCE 1 +-#else +-# define USE_HIDDEN_LINKONCE 0 +-#endif +- + /* Emit code to load the GOT register. */ + + void + load_got_register (void) + { +- rtx insn; ++ if (!got_register_rtx) ++ got_register_rtx = gen_rtx_REG (Pmode, GLOBAL_OFFSET_TABLE_REGNUM); + + if (TARGET_VXWORKS_RTP) +- { +- if (!got_register_rtx) +- got_register_rtx = pic_offset_table_rtx; +- +- insn = gen_vxworks_load_got (); +- } ++ emit_insn (gen_vxworks_load_got ()); + else + { +- if (!got_register_rtx) +- got_register_rtx = gen_rtx_REG (Pmode, GLOBAL_OFFSET_TABLE_REGNUM); +- + /* The GOT symbol is subject to a PC-relative relocation so we need a + helper function to add the PC value and thus get the final value. */ + if (!got_helper_rtx) + { + char name[32]; +- +- /* Skip the leading '%' as that cannot be used in a symbol name. */ +- if (USE_HIDDEN_LINKONCE) +- sprintf (name, "__sparc_get_pc_thunk.%s", +- reg_names[REGNO (got_register_rtx)] + 1); +- else +- ASM_GENERATE_INTERNAL_LABEL (name, "LADDPC", +- REGNO (got_register_rtx)); +- ++ get_pc_thunk_name (name, GLOBAL_OFFSET_TABLE_REGNUM); + got_helper_rtx = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (name)); + } + +- insn +- = gen_load_pcrel_sym (got_register_rtx, sparc_got (), got_helper_rtx); ++ emit_insn (gen_load_pcrel_sym (got_register_rtx, sparc_got (), ++ got_helper_rtx)); + } +- +- emit_insn (insn); + } + + /* Ensure that we are not using patterns that are not OK with PIC. */ +@@ -5494,7 +5472,7 @@ save_local_or_in_reg_p (unsigned int regno, int leaf_function) + return true; + + /* GOT register (%l7) if needed. */ +- if (got_register_rtx && regno == REGNO (got_register_rtx)) ++ if (regno == GLOBAL_OFFSET_TABLE_REGNUM && got_register_rtx) + return true; + + /* If the function accesses prior frames, the frame pointer and the return +@@ -12475,9 +12453,10 @@ static void + sparc_file_end (void) + { + /* If we need to emit the special GOT helper function, do so now. */ +- if (got_helper_needed) ++ if (got_helper_rtx) + { + const char *name = XSTR (got_helper_rtx, 0); ++ const char *reg_name = reg_names[GLOBAL_OFFSET_TABLE_REGNUM]; + #ifdef DWARF2_UNWIND_INFO + bool do_cfi; + #endif +@@ -12514,22 +12493,17 @@ sparc_file_end (void) + #ifdef DWARF2_UNWIND_INFO + do_cfi = dwarf2out_do_cfi_asm (); + if (do_cfi) +- output_asm_insn (".cfi_startproc", NULL); ++ fprintf (asm_out_file, "\t.cfi_startproc\n"); + #endif + if (flag_delayed_branch) +- { +- output_asm_insn ("jmp\t%%o7+8", NULL); +- output_asm_insn (" add\t%%o7, %0, %0", &got_register_rtx); +- } ++ fprintf (asm_out_file, "\tjmp\t%%o7+8\n\t add\t%%o7, %s, %s\n", ++ reg_name, reg_name); + else +- { +- output_asm_insn ("add\t%%o7, %0, %0", &got_register_rtx); +- output_asm_insn ("jmp\t%%o7+8", NULL); +- output_asm_insn (" nop", NULL); +- } ++ fprintf (asm_out_file, "\tadd\t%%o7, %s, %s\n\tjmp\t%%o7+8\n\t nop\n", ++ reg_name, reg_name); + #ifdef DWARF2_UNWIND_INFO + if (do_cfi) +- output_asm_insn (".cfi_endproc", NULL); ++ fprintf (asm_out_file, "\t.cfi_endproc\n"); + #endif + } + +@@ -13035,10 +13009,7 @@ sparc_init_pic_reg (void) + edge entry_edge; + rtx_insn *seq; + +- /* In PIC mode, we need to always initialize the PIC register if optimization +- is enabled, because we are called from IRA and LRA may later force things +- to the constant pool for optimization purposes. */ +- if (!flag_pic || (!crtl->uses_pic_offset_table && !optimize)) ++ if (!crtl->uses_pic_offset_table) + return; + + start_sequence (); +diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md +index 468e2cc5d3b..25134bd1148 100644 +--- a/gcc/config/sparc/sparc.md ++++ b/gcc/config/sparc/sparc.md +@@ -1601,7 +1601,10 @@ + (clobber (reg:P O7_REG))] + "REGNO (operands[0]) == INTVAL (operands[3])" + { +- return output_load_pcrel_sym (operands); ++ if (flag_delayed_branch) ++ return "sethi\t%%hi(%a1-4), %0\n\tcall\t%a2\n\t add\t%0, %%lo(%a1+4), %0"; ++ else ++ return "sethi\t%%hi(%a1-8), %0\n\tadd\t%0, %%lo(%a1-4), %0\n\tcall\t%a2\n\t nop"; + } + [(set (attr "type") (const_string "multi")) + (set (attr "length") +diff --git a/gcc/testsuite/gcc.c-torture/compile/20191108-1.c b/gcc/testsuite/gcc.c-torture/compile/20191108-1.c +deleted file mode 100644 +index 7929751bb06..00000000000 +--- a/gcc/testsuite/gcc.c-torture/compile/20191108-1.c ++++ /dev/null +@@ -1,14 +0,0 @@ +-/* PR target/92095 */ +-/* Testcase by Sergei Trofimovich */ +- +-typedef union { +- double a; +- int b[2]; +-} c; +- +-double d(int e) +-{ +- c f; +- (&f)->b[0] = 15728640; +- return e ? -(&f)->a : (&f)->a; +-} +diff --git a/gcc/testsuite/gcc.target/sparc/overflow-3.c b/gcc/testsuite/gcc.target/sparc/overflow-3.c +index 18253bb6e5e..8cb24f52f7b 100644 +--- a/gcc/testsuite/gcc.target/sparc/overflow-3.c ++++ b/gcc/testsuite/gcc.target/sparc/overflow-3.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O -fno-pie" } */ ++/* { dg-options "-O" } */ + /* { dg-require-effective-target lp64 } */ + + #include +diff --git a/gcc/testsuite/gcc.target/sparc/overflow-4.c b/gcc/testsuite/gcc.target/sparc/overflow-4.c +index fb30877efb9..868edea2b9e 100644 +--- a/gcc/testsuite/gcc.target/sparc/overflow-4.c ++++ b/gcc/testsuite/gcc.target/sparc/overflow-4.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O -fno-pie -mno-vis3" } */ ++/* { dg-options "-O -mno-vis3" } */ + /* { dg-require-effective-target lp64 } */ + + #include +diff --git a/gcc/testsuite/gcc.target/sparc/overflow-5.c b/gcc/testsuite/gcc.target/sparc/overflow-5.c +index 509d957715d..501ce04f7a1 100644 +--- a/gcc/testsuite/gcc.target/sparc/overflow-5.c ++++ b/gcc/testsuite/gcc.target/sparc/overflow-5.c +@@ -1,5 +1,5 @@ + /* { dg-do compile } */ +-/* { dg-options "-O -fno-pie -mvis3" } */ ++/* { dg-options "-O -mvis3" } */ + /* { dg-require-effective-target lp64 } */ + + #include +-- +2.25.4 + diff --git a/buildroot/package/gcc/9.3.0/0005-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch b/buildroot/package/gcc/9.3.0/0005-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch new file mode 100644 index 000000000..8ed281e98 --- /dev/null +++ b/buildroot/package/gcc/9.3.0/0005-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch @@ -0,0 +1,325 @@ +From 0d7fe4806d9dce76367c193d5199df6a2b98009f Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Wed, 20 Jan 2021 23:22:16 +0100 +Subject: [PATCH] Revert "re PR target/92095 (internal error with -O1 + -mcpu=niagara2 -fPIE)" + +This reverts commit 6bf2990842388101897b6f465524cbc295ee8cf9. + +Building the Buildroot defconfig qemu_sparc_ss10_defconfig using +gcc 8.4, 9.3 and 10 produce a broken rootfs that trigger illegal +instruction messages. + +gcc 8.3, 9.2 are the latest working gcc version. +git bisect between gcc 8.4 and 8.4 allowed to identify +the commit that introcuce the regression. + +Reverting this patch allowed to produce a working rootfs. + +Signed-off-by: Romain Naour +Cc: Eric Botcazou +--- + gcc/config/sparc/sparc-protos.h | 1 - + gcc/config/sparc/sparc.c | 121 +++++++----------- + gcc/config/sparc/sparc.md | 5 +- + .../gcc.c-torture/compile/20191108-1.c | 14 -- + gcc/testsuite/gcc.target/sparc/overflow-3.c | 2 +- + gcc/testsuite/gcc.target/sparc/overflow-4.c | 2 +- + gcc/testsuite/gcc.target/sparc/overflow-5.c | 2 +- + 7 files changed, 53 insertions(+), 94 deletions(-) + delete mode 100644 gcc/testsuite/gcc.c-torture/compile/20191108-1.c + +diff --git a/gcc/config/sparc/sparc-protos.h b/gcc/config/sparc/sparc-protos.h +index ef1adb69ede..9bdae7b9faa 100644 +--- a/gcc/config/sparc/sparc-protos.h ++++ b/gcc/config/sparc/sparc-protos.h +@@ -69,7 +69,6 @@ extern void sparc_split_reg_mem (rtx, rtx, machine_mode); + extern void sparc_split_mem_reg (rtx, rtx, machine_mode); + extern int sparc_split_reg_reg_legitimate (rtx, rtx); + extern void sparc_split_reg_reg (rtx, rtx, machine_mode); +-extern const char *output_load_pcrel_sym (rtx *); + extern const char *output_ubranch (rtx, rtx_insn *); + extern const char *output_cbranch (rtx, rtx, int, int, int, rtx_insn *); + extern const char *output_return (rtx_insn *); +diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c +index a993aab7639..2974d174e93 100644 +--- a/gcc/config/sparc/sparc.c ++++ b/gcc/config/sparc/sparc.c +@@ -4205,6 +4205,13 @@ eligible_for_sibcall_delay (rtx_insn *trial) + static bool + sparc_cannot_force_const_mem (machine_mode mode, rtx x) + { ++ /* After IRA has run in PIC mode, it is too late to put anything into the ++ constant pool if the PIC register hasn't already been initialized. */ ++ if ((lra_in_progress || reload_in_progress) ++ && flag_pic ++ && !crtl->uses_pic_offset_table) ++ return true; ++ + switch (GET_CODE (x)) + { + case CONST_INT: +@@ -4240,11 +4247,9 @@ sparc_cannot_force_const_mem (machine_mode mode, rtx x) + } + + /* Global Offset Table support. */ +-static GTY(()) rtx got_symbol_rtx = NULL_RTX; +-static GTY(()) rtx got_register_rtx = NULL_RTX; + static GTY(()) rtx got_helper_rtx = NULL_RTX; +- +-static GTY(()) bool got_helper_needed = false; ++static GTY(()) rtx got_register_rtx = NULL_RTX; ++static GTY(()) rtx got_symbol_rtx = NULL_RTX; + + /* Return the SYMBOL_REF for the Global Offset Table. */ + +@@ -4257,6 +4262,27 @@ sparc_got (void) + return got_symbol_rtx; + } + ++#ifdef HAVE_GAS_HIDDEN ++# define USE_HIDDEN_LINKONCE 1 ++#else ++# define USE_HIDDEN_LINKONCE 0 ++#endif ++ ++static void ++get_pc_thunk_name (char name[32], unsigned int regno) ++{ ++ const char *reg_name = reg_names[regno]; ++ ++ /* Skip the leading '%' as that cannot be used in a ++ symbol name. */ ++ reg_name += 1; ++ ++ if (USE_HIDDEN_LINKONCE) ++ sprintf (name, "__sparc_get_pc_thunk.%s", reg_name); ++ else ++ ASM_GENERATE_INTERNAL_LABEL (name, "LADDPC", regno); ++} ++ + /* Wrapper around the load_pcrel_sym{si,di} patterns. */ + + static rtx +@@ -4276,78 +4302,30 @@ gen_load_pcrel_sym (rtx op0, rtx op1, rtx op2) + return insn; + } + +-/* Output the load_pcrel_sym{si,di} patterns. */ +- +-const char * +-output_load_pcrel_sym (rtx *operands) +-{ +- if (flag_delayed_branch) +- { +- output_asm_insn ("sethi\t%%hi(%a1-4), %0", operands); +- output_asm_insn ("call\t%a2", operands); +- output_asm_insn (" add\t%0, %%lo(%a1+4), %0", operands); +- } +- else +- { +- output_asm_insn ("sethi\t%%hi(%a1-8), %0", operands); +- output_asm_insn ("add\t%0, %%lo(%a1-4), %0", operands); +- output_asm_insn ("call\t%a2", operands); +- output_asm_insn (" nop", NULL); +- } +- +- if (operands[2] == got_helper_rtx) +- got_helper_needed = true; +- +- return ""; +-} +- +-#ifdef HAVE_GAS_HIDDEN +-# define USE_HIDDEN_LINKONCE 1 +-#else +-# define USE_HIDDEN_LINKONCE 0 +-#endif +- + /* Emit code to load the GOT register. */ + + void + load_got_register (void) + { +- rtx insn; ++ if (!got_register_rtx) ++ got_register_rtx = gen_rtx_REG (Pmode, GLOBAL_OFFSET_TABLE_REGNUM); + + if (TARGET_VXWORKS_RTP) +- { +- if (!got_register_rtx) +- got_register_rtx = pic_offset_table_rtx; +- +- insn = gen_vxworks_load_got (); +- } ++ emit_insn (gen_vxworks_load_got ()); + else + { +- if (!got_register_rtx) +- got_register_rtx = gen_rtx_REG (Pmode, GLOBAL_OFFSET_TABLE_REGNUM); +- + /* The GOT symbol is subject to a PC-relative relocation so we need a + helper function to add the PC value and thus get the final value. */ + if (!got_helper_rtx) + { + char name[32]; +- +- /* Skip the leading '%' as that cannot be used in a symbol name. */ +- if (USE_HIDDEN_LINKONCE) +- sprintf (name, "__sparc_get_pc_thunk.%s", +- reg_names[REGNO (got_register_rtx)] + 1); +- else +- ASM_GENERATE_INTERNAL_LABEL (name, "LADDPC", +- REGNO (got_register_rtx)); +- ++ get_pc_thunk_name (name, GLOBAL_OFFSET_TABLE_REGNUM); + got_helper_rtx = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (name)); + } + +- insn +- = gen_load_pcrel_sym (got_register_rtx, sparc_got (), got_helper_rtx); ++ emit_insn (gen_load_pcrel_sym (got_register_rtx, sparc_got (), ++ got_helper_rtx)); + } +- +- emit_insn (insn); + } + + /* Ensure that we are not using patterns that are not OK with PIC. */ +@@ -5512,7 +5490,7 @@ save_local_or_in_reg_p (unsigned int regno, int leaf_function) + return true; + + /* GOT register (%l7) if needed. */ +- if (got_register_rtx && regno == REGNO (got_register_rtx)) ++ if (regno == GLOBAL_OFFSET_TABLE_REGNUM && got_register_rtx) + return true; + + /* If the function accesses prior frames, the frame pointer and the return +@@ -12555,9 +12533,10 @@ static void + sparc_file_end (void) + { + /* If we need to emit the special GOT helper function, do so now. */ +- if (got_helper_needed) ++ if (got_helper_rtx) + { + const char *name = XSTR (got_helper_rtx, 0); ++ const char *reg_name = reg_names[GLOBAL_OFFSET_TABLE_REGNUM]; + #ifdef DWARF2_UNWIND_INFO + bool do_cfi; + #endif +@@ -12594,22 +12573,17 @@ sparc_file_end (void) + #ifdef DWARF2_UNWIND_INFO + do_cfi = dwarf2out_do_cfi_asm (); + if (do_cfi) +- output_asm_insn (".cfi_startproc", NULL); ++ fprintf (asm_out_file, "\t.cfi_startproc\n"); + #endif + if (flag_delayed_branch) +- { +- output_asm_insn ("jmp\t%%o7+8", NULL); +- output_asm_insn (" add\t%%o7, %0, %0", &got_register_rtx); +- } ++ fprintf (asm_out_file, "\tjmp\t%%o7+8\n\t add\t%%o7, %s, %s\n", ++ reg_name, reg_name); + else +- { +- output_asm_insn ("add\t%%o7, %0, %0", &got_register_rtx); +- output_asm_insn ("jmp\t%%o7+8", NULL); +- output_asm_insn (" nop", NULL); +- } ++ fprintf (asm_out_file, "\tadd\t%%o7, %s, %s\n\tjmp\t%%o7+8\n\t nop\n", ++ reg_name, reg_name); + #ifdef DWARF2_UNWIND_INFO + if (do_cfi) +- output_asm_insn (".cfi_endproc", NULL); ++ fprintf (asm_out_file, "\t.cfi_endproc\n"); + #endif + } + +@@ -13115,10 +13089,7 @@ sparc_init_pic_reg (void) + edge entry_edge; + rtx_insn *seq; + +- /* In PIC mode, we need to always initialize the PIC register if optimization +- is enabled, because we are called from IRA and LRA may later force things +- to the constant pool for optimization purposes. */ +- if (!flag_pic || (!crtl->uses_pic_offset_table && !optimize)) ++ if (!crtl->uses_pic_offset_table) + return; + + start_sequence (); +diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md +index 0a6e27ffa83..7af62d599b9 100644 +--- a/gcc/config/sparc/sparc.md ++++ b/gcc/config/sparc/sparc.md +@@ -1604,7 +1604,10 @@ + (clobber (reg:P O7_REG))] + "REGNO (operands[0]) == INTVAL (operands[3])" + { +- return output_load_pcrel_sym (operands); ++ if (flag_delayed_branch) ++ return "sethi\t%%hi(%a1-4), %0\n\tcall\t%a2\n\t add\t%0, %%lo(%a1+4), %0"; ++ else ++ return "sethi\t%%hi(%a1-8), %0\n\tadd\t%0, %%lo(%a1-4), %0\n\tcall\t%a2\n\t nop"; + } + [(set (attr "type") (const_string "multi")) + (set (attr "length") +diff --git a/gcc/testsuite/gcc.c-torture/compile/20191108-1.c b/gcc/testsuite/gcc.c-torture/compile/20191108-1.c +deleted file mode 100644 +index 7929751bb06..00000000000 +--- a/gcc/testsuite/gcc.c-torture/compile/20191108-1.c ++++ /dev/null +@@ -1,14 +0,0 @@ +-/* PR target/92095 */ +-/* Testcase by Sergei Trofimovich */ +- +-typedef union { +- double a; +- int b[2]; +-} c; +- +-double d(int e) +-{ +- c f; +- (&f)->b[0] = 15728640; +- return e ? -(&f)->a : (&f)->a; +-} +diff --git a/gcc/testsuite/gcc.target/sparc/overflow-3.c b/gcc/testsuite/gcc.target/sparc/overflow-3.c +index 52d6ab2b688..86dddfb09e6 100644 +--- a/gcc/testsuite/gcc.target/sparc/overflow-3.c ++++ b/gcc/testsuite/gcc.target/sparc/overflow-3.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-require-effective-target lp64 } */ +-/* { dg-options "-O -fno-pie" } */ ++/* { dg-options "-O" } */ + + #include + #include +diff --git a/gcc/testsuite/gcc.target/sparc/overflow-4.c b/gcc/testsuite/gcc.target/sparc/overflow-4.c +index c6121b958c3..019feee335c 100644 +--- a/gcc/testsuite/gcc.target/sparc/overflow-4.c ++++ b/gcc/testsuite/gcc.target/sparc/overflow-4.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-require-effective-target lp64 } */ +-/* { dg-options "-O -fno-pie -mno-vis3 -mno-vis4" } */ ++/* { dg-options "-O -mno-vis3 -mno-vis4" } */ + + #include + #include +diff --git a/gcc/testsuite/gcc.target/sparc/overflow-5.c b/gcc/testsuite/gcc.target/sparc/overflow-5.c +index f00283f6e7b..67d4ac38095 100644 +--- a/gcc/testsuite/gcc.target/sparc/overflow-5.c ++++ b/gcc/testsuite/gcc.target/sparc/overflow-5.c +@@ -1,6 +1,6 @@ + /* { dg-do compile } */ + /* { dg-require-effective-target lp64 } */ +-/* { dg-options "-O -fno-pie -mvis3" } */ ++/* { dg-options "-O -mvis3" } */ + + #include + #include +-- +2.25.4 + diff --git a/buildroot/package/gerbera/0001-fix-matroska-build-without-js-taglib-or-atrailers.patch b/buildroot/package/gerbera/0001-fix-matroska-build-without-js-taglib-or-atrailers.patch deleted file mode 100644 index 6898e8ebe..000000000 --- a/buildroot/package/gerbera/0001-fix-matroska-build-without-js-taglib-or-atrailers.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 0ac781b0b0deef5c02c32a70ac484f882c3f4dd0 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 24 Dec 2019 18:55:57 +0100 -Subject: [PATCH] fix matroska build without js, taglib or atrailers -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -i2i function is used in matroska_handler.cc but this function is defined -only if defined(HAVE_JS) || defined(HAVE_TAGLIB) || defined(ATRAILERS) -as a result compilation fails if HAVE_MATROSKA is set but HAVE_JS, -HAVE_TAGLIG or ATRAILERS are not. - -Backported from: 0ac781b0b0deef5c02c32a70ac484f882c3f4dd0 - -Signed-off-by: Fabrice Fontaine -Signed-off-by: Jörg Krause ---- - src/string_converter.cc | 2 +- - src/string_converter.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/string_converter.cc b/src/string_converter.cc -index f669c661..7a3c55d7 100644 ---- a/src/string_converter.cc -+++ b/src/string_converter.cc -@@ -218,7 +218,7 @@ Ref StringConverter::p2i() - } - #endif - --#if defined(HAVE_JS) || defined(HAVE_TAGLIB) || defined(ATRAILERS) -+#if defined(HAVE_JS) || defined(HAVE_TAGLIB) || defined(ATRAILERS) || defined(HAVE_MATROSKA) - - Ref StringConverter::i2i() - { -diff --git a/src/string_converter.h b/src/string_converter.h -index 58495430..f75bf833 100644 ---- a/src/string_converter.h -+++ b/src/string_converter.h -@@ -65,7 +65,7 @@ public: - static zmm::Ref p2i(); - - #endif --#if defined(HAVE_JS) || defined(HAVE_TAGLIB) || defined(ATRAILERS) -+#if defined(HAVE_JS) || defined(HAVE_TAGLIB) || defined(ATRAILERS) || defined(HAVE_MATROSKA) - /// \brief safeguard - internal to internal - needed to catch some - /// scenarious where the user may have forgotten to add proper conversion - /// in the script. --- -2.26.1 - diff --git a/buildroot/package/gerbera/0002-cmake-FindLibMagic-cmake-fix-static-linking.patch b/buildroot/package/gerbera/0002-cmake-FindLibMagic-cmake-fix-static-linking.patch deleted file mode 100644 index f6cc276e7..000000000 --- a/buildroot/package/gerbera/0002-cmake-FindLibMagic-cmake-fix-static-linking.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 7fdcabd80c823694d190e5baa8c657ffcae5e777 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Fri, 31 Jan 2020 17:14:11 +0100 -Subject: [PATCH] cmake/FindLibMagic.cmake: fix static linking - -libmagic can optionally depends on xz (for lzma) or bzip2 since version -5.38 and -https://github.com/file/file/commit/b259a07ea95827f565faa20f0316e5b2704064f7 -so use pkg-config to retrieve those static dependencies and avoid the -following build failure: - -[100%] Linking CXX executable gerbera -/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/br-user/autobuild/run/instance-0/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libmagic.a(compress.o): in function `uncompressbuf': -compress.c:(.text+0x69c): undefined reference to `BZ2_bzDecompressInit' -/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x710): undefined reference to `BZ2_bzDecompress' -/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x730): undefined reference to `BZ2_bzDecompressEnd' -/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x7bc): undefined reference to `lzma_auto_decoder' -/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x828): undefined reference to `lzma_code' -/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x848): undefined reference to `lzma_end' - -It should be noted that libmagic.pc is not currently provided in the -official file package (which provides libmagic), an issue has been -opened to add libmagic.pc: https://bugs.astron.com/view.php?id=136 - -Fixes: - - http://autobuild.buildroot.org/results/37b1ef54dc41100689f311fbc31fc9300dc6ae63 - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/gerbera/gerbera/commit/7fdcabd80c823694d190e5baa8c657ffcae5e777] ---- - cmake/FindLibMagic.cmake | 15 +++++++++++++-- - 1 file changed, 13 insertions(+), 2 deletions(-) - -diff --git a/cmake/FindLibMagic.cmake b/cmake/FindLibMagic.cmake -index f68ab923..04995af4 100644 ---- a/cmake/FindLibMagic.cmake -+++ b/cmake/FindLibMagic.cmake -@@ -1,11 +1,22 @@ - INCLUDE (FindPackageHandleStandardArgs) - --FIND_PATH(MAGIC_INCLUDE_DIR magic.h) --FIND_LIBRARY(MAGIC_LIBRARIES NAMES magic) -+find_package(PkgConfig QUIET) -+ -+pkg_check_modules(PC_MAGIC QUIET libmagic) -+ -+FIND_PATH(MAGIC_INCLUDE_DIR magic.h -+ HINTS ${PC_MAGIC_INCLUDEDIR} ${PC_MAGIC_INCLUDE_DIRS}) -+FIND_LIBRARY(MAGIC_LIBRARIES NAMES magic -+ HINTS ${PC_MAGIC_LIBDIR} ${PC_MAGIC_LIBRARY_DIRS}) - - # handle the QUIETLY and REQUIRED arguments and set MAGIC_FOUND to TRUE - find_package_handle_standard_args(MAGIC DEFAULT_MSG MAGIC_LIBRARIES) - -+if (MAGIC_FOUND) -+ set (MAGIC_LIBRARIES ${MAGIC_LIBRARY} ${PC_MAGIC_LIBRARIES}) -+ set (MAGIC_INCLUDE_DIRS ${MAGIC_INCLUDE_DIR} ) -+endif () -+ - MARK_AS_ADVANCED( - MAGIC_LIBRARIES - MAGIC_INCLUDE_DIRS ) diff --git a/buildroot/package/gerbera/0003-cmake-FindMatroska-fix-static-linking.patch b/buildroot/package/gerbera/0003-cmake-FindMatroska-fix-static-linking.patch deleted file mode 100644 index 128d61704..000000000 --- a/buildroot/package/gerbera/0003-cmake-FindMatroska-fix-static-linking.patch +++ /dev/null @@ -1,37 +0,0 @@ -From aab2eacbaad10759294f4fd74bbb5ecef3cf3a8d Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 24 Dec 2019 22:57:18 +0100 -Subject: [PATCH] cmake/FindMatroska: fix static linking - -Fix static linking with libmatrasoka by adding PC_EBM_LIBRARIES to -EBML_LIBRARIES and PC_MAT_LIBRARIES to MATROSKA_LIBRARIES - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/gerbera/gerbera/commit/aab2eacbaad10759294f4fd74bbb5ecef3cf3a8d] ---- - cmake/FindMatroska.cmake | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/cmake/FindMatroska.cmake b/cmake/FindMatroska.cmake -index 4b09a5ec..12ca593d 100644 ---- a/cmake/FindMatroska.cmake -+++ b/cmake/FindMatroska.cmake -@@ -23,7 +23,7 @@ FIND_LIBRARY(EBML_LIBRARY ebml - FIND_PACKAGE_HANDLE_STANDARD_ARGS(EBML - REQUIRED_VARS EBML_LIBRARY EBML_INCLUDE_DIR) - if (EBML_FOUND) -- set (EBML_LIBRARIES ${EBML_LIBRARY}) -+ set (EBML_LIBRARIES ${EBML_LIBRARY} ${PC_EBM_LIBRARIES}) - set (EBML_INCLUDE_DIRS ${EBML_INCLUDE_DIR} ) - endif () - MARK_AS_ADVANCED( -@@ -41,7 +41,7 @@ find_library(MATROSKA_LIBRARY matroska - FIND_PACKAGE_HANDLE_STANDARD_ARGS(MATROSKA - REQUIRED_VARS MATROSKA_LIBRARY MATROSKA_INCLUDE_DIR) - if (MATROSKA_FOUND) -- set (MATROSKA_LIBRARIES ${MATROSKA_LIBRARY}) -+ set (MATROSKA_LIBRARIES ${MATROSKA_LIBRARY} ${PC_MAT_LIBRARIES}) - set (MATROSKA_INCLUDE_DIRS ${MATROSKA_INCLUDE_DIR} ) - endif () - MARK_AS_ADVANCED( diff --git a/buildroot/package/gerbera/Config.in b/buildroot/package/gerbera/Config.in index e10f78b77..b734de95d 100644 --- a/buildroot/package/gerbera/Config.in +++ b/buildroot/package/gerbera/Config.in @@ -3,12 +3,15 @@ config BR2_PACKAGE_GERBERA depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17 optional + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17 filesystem depends on BR2_INSTALL_LIBSTDCPP - depends on !BR2_PACKAGE_LIBUPNP # libupnp18 - select BR2_PACKAGE_EXPAT + depends on BR2_USE_WCHAR # fmt + select BR2_PACKAGE_FMT select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE - select BR2_PACKAGE_LIBUPNP18 + select BR2_PACKAGE_LIBUPNP if !BR2_PACKAGE_LIBNPUPNP + select BR2_PACKAGE_PUGIXML + select BR2_PACKAGE_PUGIXML_XPATH_SUPPORT + select BR2_PACKAGE_SPDLOG select BR2_PACKAGE_SQLITE select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID @@ -19,9 +22,8 @@ config BR2_PACKAGE_GERBERA https://gerbera.io -comment "gerbera needs a toolchain w/ C++, threads, gcc >= 7" +comment "gerbera needs a toolchain w/ C++, threads, wchar, gcc >= 8" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_ATOMIC - depends on !BR2_PACKAGE_LIBUPNP depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_7 + !BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_8 diff --git a/buildroot/package/gerbera/gerbera.hash b/buildroot/package/gerbera/gerbera.hash index b1fdcbf2d..e584db135 100644 --- a/buildroot/package/gerbera/gerbera.hash +++ b/buildroot/package/gerbera/gerbera.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 904a9031c85ac805e4c139f363510226952683d7257acd1dee25ba1e97fd7651 gerbera-1.4.0.tar.gz -sha256 cae4138373be41fd2be75faf41ce7efbcf49fb17d0e05ad1c51cc01ac335b9b6 LICENSE.md +sha256 cbe7ea78977db8c02fcca1759ed149f199a590afaf4a6d21ffcca8623d1a0cc5 gerbera-1.6.4.tar.gz +sha256 cae4138373be41fd2be75faf41ce7efbcf49fb17d0e05ad1c51cc01ac335b9b6 LICENSE.md diff --git a/buildroot/package/gerbera/gerbera.mk b/buildroot/package/gerbera/gerbera.mk index 7f0ac664f..6e3637779 100644 --- a/buildroot/package/gerbera/gerbera.mk +++ b/buildroot/package/gerbera/gerbera.mk @@ -4,14 +4,15 @@ # ################################################################################ -GERBERA_VERSION = 1.4.0 +GERBERA_VERSION = 1.6.4 GERBERA_SITE = $(call github,gerbera,gerbera,v$(GERBERA_VERSION)) GERBERA_LICENSE = GPL-2.0 GERBERA_LICENSE_FILES = LICENSE.md GERBERA_DEPENDENCIES = \ - expat \ + fmt \ host-pkgconf \ - libupnp18 \ + pugixml \ + spdlog \ sqlite \ util-linux \ zlib @@ -70,6 +71,15 @@ else GERBERA_CONF_OPTS += -DWITH_MATROSKA=OFF endif +# Either libupnp or libnpupnp are guranteed to be enabled +ifeq ($(BR2_PACKAGE_LIBNPUPNP),y) +GERBERA_DEPENDENCIES += libnpupnp +GERBERA_CONF_OPTS += -DWITH_NPUPNP=ON +else +GERBERA_DEPENDENCIES += libupnp +GERBERA_CONF_OPTS += -DWITH_NPUPNP=OFF +endif + ifeq ($(BR2_PACKAGE_MYSQL),y) GERBERA_DEPENDENCIES += mysql GERBERA_CONF_OPTS += -DWITH_MYSQL=ON diff --git a/buildroot/package/glibc/2.31-54-g6fdf971c9dbf7dac9bea552113fe4694015bbc4d/glibc.hash b/buildroot/package/glibc/2.31-74-gd0c84d22b6a67f85a1eed3b93aef30e6953294b5/glibc.hash similarity index 70% rename from buildroot/package/glibc/2.31-54-g6fdf971c9dbf7dac9bea552113fe4694015bbc4d/glibc.hash rename to buildroot/package/glibc/2.31-74-gd0c84d22b6a67f85a1eed3b93aef30e6953294b5/glibc.hash index a1b2ae12f..df58d6f47 100644 --- a/buildroot/package/glibc/2.31-54-g6fdf971c9dbf7dac9bea552113fe4694015bbc4d/glibc.hash +++ b/buildroot/package/glibc/2.31-74-gd0c84d22b6a67f85a1eed3b93aef30e6953294b5/glibc.hash @@ -1,5 +1,5 @@ # Locally calculated (fetched from Github) -sha256 e1f2c9b424a4e0c00e7ad123a4204f7bc8afd3c504aeb8c79b1086509fd67176 glibc-2.31-54-g6fdf971c9dbf7dac9bea552113fe4694015bbc4d.tar.gz +sha256 d7495fb929497bedff9827d01091a4df681cfcbe5204de1d47fc5dab1ba7457c glibc-2.31-74-gd0c84d22b6a67f85a1eed3b93aef30e6953294b5.tar.gz # Hashes for license files sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/buildroot/package/glibc/glibc.mk b/buildroot/package/glibc/glibc.mk index 4721177d8..b068a006a 100644 --- a/buildroot/package/glibc/glibc.mk +++ b/buildroot/package/glibc/glibc.mk @@ -20,7 +20,7 @@ else ifeq ($(BR2_RISCV_32),y) # Until 2.33 is released, just use master GLIBC_VERSION = 2.32.9000-69-gbd394d131c10c9ec22c6424197b79410042eed99 else -GLIBC_VERSION = 2.31-54-g6fdf971c9dbf7dac9bea552113fe4694015bbc4d +GLIBC_VERSION = 2.31-74-gd0c84d22b6a67f85a1eed3b93aef30e6953294b5 endif # Upstream doesn't officially provide an https download link. # There is one (https://sourceware.org/git/glibc.git) but it's not reliable, diff --git a/buildroot/package/gmrender-resurrect/0001-Drop-UpnpInit.patch b/buildroot/package/gmrender-resurrect/0001-Drop-UpnpInit.patch new file mode 100644 index 000000000..18ec7bb51 --- /dev/null +++ b/buildroot/package/gmrender-resurrect/0001-Drop-UpnpInit.patch @@ -0,0 +1,175 @@ +From dc8c4d4dc234311b3099e7f1efadf5d9733c81e9 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 21 Aug 2020 21:29:00 +0200 +Subject: [PATCH] Drop UpnpInit + +UpnpInit has been dropped from libupnp 1.14.x as it can't be fixed +against CallStranger a.k.a. CVE-2020-12695 so replace it by UpnpInit2 +which is available since version 1.6.7 and +https://github.com/pupnp/pupnp/commit/2bcbdffd89a70364147d345ec5e70a3fce5cbc29 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://github.com/hzeller/gmrender-resurrect/pull/214] +--- + dist-scripts/centos7/README.md | 2 +- + dist-scripts/debian/gmediarender.1 | 8 ++------ + dist-scripts/fedora/README.md | 2 +- + src/main.c | 13 ++++--------- + src/upnp_device.c | 18 +++++++++--------- + src/upnp_device.h | 2 +- + 6 files changed, 18 insertions(+), 27 deletions(-) + +diff --git a/dist-scripts/centos7/README.md b/dist-scripts/centos7/README.md +index 278d777..ed82fb6 100644 +--- a/dist-scripts/centos7/README.md ++++ b/dist-scripts/centos7/README.md +@@ -45,7 +45,7 @@ Additional configuration is also recommended, sice there's no configuration file + # vi /etc/systemd/system/gmediarender.service.d/customize.conf # or nano, or emacs, or whatever editor you like + [Service] + ExecStart= +- ExecStart=/usr/bin/gmediarender --port=49494 --ip-address= -f "DLNA Renderer GMediaRender" ++ ExecStart=/usr/bin/gmediarender --port=49494 --interface-name= -f "DLNA Renderer GMediaRender" + + # systemctl daemon-reload + # systemctl start gmediarender.service +diff --git a/dist-scripts/debian/gmediarender.1 b/dist-scripts/debian/gmediarender.1 +index 96123ff..b2b1359 100644 +--- a/dist-scripts/debian/gmediarender.1 ++++ b/dist-scripts/debian/gmediarender.1 +@@ -50,12 +50,8 @@ Usually, it is desirable for the renderer + to show up on controllers under a recognisable and unique name. This is + the option to set that name. + .TP +-.B \-I, \-\-ip\-address \fI\\fP +-The local IP address the service is running and advertised on. +- +-This can +-only be a single address, and must be explicitly specified (i.e. not +-0.0.0.0). ++.B \-I, \-\-interface\-name \fI\\fP ++The local interface name the service is running and advertised on. + .TP + .B \-p, \-\-port \fI\\fP + Port to listen to. [49152..65535]. +diff --git a/dist-scripts/fedora/README.md b/dist-scripts/fedora/README.md +index 7b9ea4b..45aa536 100644 +--- a/dist-scripts/fedora/README.md ++++ b/dist-scripts/fedora/README.md +@@ -43,7 +43,7 @@ Additional configuration is also recommended, sice there's no configuration file + # vi /etc/systemd/system/gmediarender.service.d/customize.conf # or nano, or emacs, or whatever editor you like + [Service] + ExecStart= +- ExecStart=/usr/bin/gmediarender --port=49494 --ip-address= -f "DLNA Renderer GMediaRender" ++ ExecStart=/usr/bin/gmediarender --port=49494 --interface-name= -f "DLNA Renderer GMediaRender" + + # systemctl daemon-reload + # systemctl start gmediarender.service +diff --git a/src/main.c b/src/main.c +index ef720e3..2030c49 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -69,11 +69,7 @@ static gboolean show_transport_scpd = FALSE; + static gboolean show_outputs = FALSE; + static gboolean daemon_mode = FALSE; + +-// IP-address seems strange in libupnp: they actually don't bind to +-// that address, but to INADDR_ANY (miniserver.c in upnp library). +-// Apparently they just use this for the advertisement ? Anyway, 0.0.0.0 would +-// not work. +-static const gchar *ip_address = NULL; ++static const gchar *interface_name = NULL; + static int listen_port = 49494; + + #ifdef GMRENDER_UUID +@@ -92,9 +88,8 @@ static const gchar *mime_filter = NULL; + static GOptionEntry option_entries[] = { + { "version", 0, 0, G_OPTION_ARG_NONE, &show_version, + "Output version information and exit", NULL }, +- { "ip-address", 'I', 0, G_OPTION_ARG_STRING, &ip_address, +- "The local IP address the service is running and advertised " +- "(only one, 0.0.0.0 won't work)", NULL }, ++ { "interface-name", 'I', 0, G_OPTION_ARG_STRING, &interface_name, ++ "The local interface name the service is running and advertised", NULL }, + // The following is not very reliable, as libupnp does not set + // SO_REUSEADDR by default, so it might increment (sending patch). + { "port", 'p', 0, G_OPTION_ARG_INT, &listen_port, +@@ -302,7 +297,7 @@ int main(int argc, char **argv) + listen_port); + return EXIT_FAILURE; + } +- device = upnp_device_init(upnp_renderer, ip_address, listen_port); ++ device = upnp_device_init(upnp_renderer, interface_name, listen_port); + if (device == NULL) { + Log_error("main", "ERROR: Failed to initialize UPnP device"); + return EXIT_FAILURE; +diff --git a/src/upnp_device.c b/src/upnp_device.c +index db65e4f..3151238 100644 +--- a/src/upnp_device.c ++++ b/src/upnp_device.c +@@ -416,13 +416,13 @@ static UPNP_CALLBACK(event_handler, EventType, event, userdata) + + static gboolean initialize_device(struct upnp_device_descriptor *device_def, + struct upnp_device *result_device, +- const char *ip_address, ++ const char *interface_name, + unsigned short port) + { + int rc; + char *buf; + +- rc = UpnpInit(ip_address, port); ++ rc = UpnpInit2(interface_name, port); + /* There have been situations reported in which UPNP had issues + * initializing right after network came up. #129 + */ +@@ -430,13 +430,13 @@ static gboolean initialize_device(struct upnp_device_descriptor *device_def, + static const int kRetryTimeMs = 1000; + while (rc != UPNP_E_SUCCESS && retries_left--) { + usleep(kRetryTimeMs * 1000); +- Log_error("upnp", "UpnpInit(ip=%s, port=%d) Error: %s (%d). Retrying... (%ds)", +- ip_address, port, UpnpGetErrorMessage(rc), rc, retries_left); +- rc = UpnpInit(ip_address, port); ++ Log_error("upnp", "UpnpInit2(interface=%s, port=%d) Error: %s (%d). Retrying... (%ds)", ++ interface_name, port, UpnpGetErrorMessage(rc), rc, retries_left); ++ rc = UpnpInit2(interface_name, port); + } + if (UPNP_E_SUCCESS != rc) { +- Log_error("upnp", "UpnpInit(ip=%s, port=%d) Error: %s (%d). Giving up.", +- ip_address, port, UpnpGetErrorMessage(rc), rc); ++ Log_error("upnp", "UpnpInit2(interface=%s, port=%d) Error: %s (%d). Giving up.", ++ interface_name, port, UpnpGetErrorMessage(rc), rc); + return FALSE; + } + Log_info("upnp", "Registered IP=%s port=%d\n", +@@ -483,7 +483,7 @@ static gboolean initialize_device(struct upnp_device_descriptor *device_def, + } + + struct upnp_device *upnp_device_init(struct upnp_device_descriptor *device_def, +- const char *ip_address, ++ const char *interface_name, + unsigned short port) + { + int rc; +@@ -516,7 +516,7 @@ struct upnp_device *upnp_device_init(struct upnp_device_descriptor *device_def, + webserver_register_buf(srv->scpd_url, buf, "text/xml"); + } + +- if (!initialize_device(device_def, result_device, ip_address, port)) { ++ if (!initialize_device(device_def, result_device, interface_name, port)) { + UpnpFinish(); + free(result_device); + return NULL; +diff --git a/src/upnp_device.h b/src/upnp_device.h +index 3e635e1..8c8e783 100644 +--- a/src/upnp_device.h ++++ b/src/upnp_device.h +@@ -49,7 +49,7 @@ struct upnp_device; + struct action_event; + + struct upnp_device *upnp_device_init(struct upnp_device_descriptor *device_def, +- const char *ip_address, ++ const char *interface_name, + unsigned short port); + + void upnp_device_shutdown(struct upnp_device *device); diff --git a/buildroot/package/gmrender-resurrect/Config.in b/buildroot/package/gmrender-resurrect/Config.in index e7424e3b2..db655ad7f 100644 --- a/buildroot/package/gmrender-resurrect/Config.in +++ b/buildroot/package/gmrender-resurrect/Config.in @@ -5,7 +5,7 @@ config BR2_PACKAGE_GMRENDER_RESURRECT depends on BR2_USE_MMU # gstreamer1 select BR2_PACKAGE_GSTREAMER1 select BR2_PACKAGE_GST1_PLUGINS_BASE # run-time only - select BR2_PACKAGE_LIBUPNP18 if !BR2_PACKAGE_LIBUPNP + select BR2_PACKAGE_LIBUPNP help UPnP (DLNA) media renderer based on gstreamer diff --git a/buildroot/package/gmrender-resurrect/gmrender-resurrect.mk b/buildroot/package/gmrender-resurrect/gmrender-resurrect.mk index e25be3949..3500ab376 100644 --- a/buildroot/package/gmrender-resurrect/gmrender-resurrect.mk +++ b/buildroot/package/gmrender-resurrect/gmrender-resurrect.mk @@ -13,6 +13,6 @@ GMRENDER_RESURRECT_LICENSE = GPL-2.0+ GMRENDER_RESURRECT_LICENSE_FILES = COPYING GMRENDER_RESURRECT_DEPENDENCIES = \ gstreamer1 \ - $(if $(BR2_PACKAGE_LIBUPNP),libupnp,libupnp18) + libupnp $(eval $(autotools-package)) diff --git a/buildroot/package/gnuradio/Config.in b/buildroot/package/gnuradio/Config.in index cd31ce886..c7b01b454 100644 --- a/buildroot/package/gnuradio/Config.in +++ b/buildroot/package/gnuradio/Config.in @@ -1,5 +1,6 @@ comment "gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library" depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS @@ -13,6 +14,7 @@ config BR2_PACKAGE_GNURADIO depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_USE_MMU # use fork() depends on BR2_USE_WCHAR # boost + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_ATOMIC diff --git a/buildroot/package/gqrx/Config.in b/buildroot/package/gqrx/Config.in index d873c6a4d..af4d69381 100644 --- a/buildroot/package/gqrx/Config.in +++ b/buildroot/package/gqrx/Config.in @@ -1,6 +1,7 @@ comment "gqrx needs a toolchain w/ C++, threads, wchar, dynamic library" depends on BR2_USE_MMU # gnuradio depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_USE_WCHAR || !BR2_STATIC_LIBS @@ -19,6 +20,7 @@ config BR2_PACKAGE_GQRX depends on BR2_USE_WCHAR # boost depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_PACKAGE_QT5 + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # gnuradio -> boost-atomic depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # gnuradio select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS diff --git a/buildroot/package/igd2-for-linux/0001-fix-build-with-gcc-10.patch b/buildroot/package/igd2-for-linux/0001-fix-build-with-gcc-10.patch deleted file mode 100644 index 32474a3ad..000000000 --- a/buildroot/package/igd2-for-linux/0001-fix-build-with-gcc-10.patch +++ /dev/null @@ -1,199 +0,0 @@ -From 23ed73623810a0894c8efd9eb79dd38483794a3b Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Thu, 20 Aug 2020 18:17:03 +0200 -Subject: [PATCH] fix build with gcc 10 - -This will fix build failures with -fno-common which is enabled by -default with gcc 10 - -Fixes: - - http://autobuild.buildroot.org/results/f296984c3851fc28341210e36ef1b55b2edac209 - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/Orange-OpenSource/igd2-for-linux/commit/23ed73623810a0894c8efd9eb79dd38483794a3b] -Signed-off-by: Fabrice Fontaine ---- - linuxigd2/src/gatedevice.c | 37 +++++++++++++++++++++++++++++++++ - linuxigd2/src/gatedevice.h | 42 +++++++++----------------------------- - linuxigd2/src/pinholev6.c | 2 ++ - linuxigd2/src/pinholev6.h | 2 +- - linuxigd2/src/pmlist.c | 5 +++++ - linuxigd2/src/pmlist.h | 2 +- - linuxigd2/src/wanipv6fw.h | 3 --- - 7 files changed, 56 insertions(+), 37 deletions(-) - -diff --git a/linuxigd2/src/gatedevice.c b/linuxigd2/src/gatedevice.c -index 8be53e5..a50525d 100644 ---- a/linuxigd2/src/gatedevice.c -+++ b/linuxigd2/src/gatedevice.c -@@ -41,6 +41,43 @@ - #include "wanipv6fw.h" - #include "config.h" - -+// Thread which contains all kind of timers and threads used in gatedevice.c and deviceprotection.c -+TimerThread gExpirationTimerThread; -+ -+// IGD Device Globals -+UpnpDevice_Handle deviceHandle; -+UpnpDevice_Handle deviceHandleIPv6; -+UpnpDevice_Handle deviceHandleIPv6UlaGua; -+char *gateUDN; -+char *wanUDN; -+char *wanConnectionUDN; -+char *lanUDN; -+long int startup_time; -+unsigned long connection_stats[STATS_LIMIT]; // this is used for defining if connection is in idling -+long int idle_time; -+ -+// State Variables -+char ConnectionType[50]; -+char PossibleConnectionTypes[50]; -+char ConnectionStatus[20]; -+char LastConnectionError[35]; -+long int AutoDisconnectTime; -+long int IdleDisconnectTime; -+long int WarnDisconnectDelay; -+int RSIPAvailable; -+int NATEnabled; -+char ExternalIPAddress[INET6_ADDRSTRLEN]; -+int PortMappingNumberOfEntries; -+int PortMappingEnabled; -+char RemoteHost[INET6_ADDRSTRLEN]; // updated IPv6 addrss length 16 -> 46 -+long int SystemUpdateID; -+ -+// WANEthLinkConfig state variables -+char EthernetLinkStatus[12]; -+ -+char FirewallEnabled[2]; -+char InboundPinholeAllowed[2]; -+ - //Definitions for mapping expiration timer thread - static ThreadPool gExpirationThreadPool; - static ThreadPoolJob gEventUpdateJob; -diff --git a/linuxigd2/src/gatedevice.h b/linuxigd2/src/gatedevice.h -index 28d6b21..dbaa0c2 100644 ---- a/linuxigd2/src/gatedevice.h -+++ b/linuxigd2/src/gatedevice.h -@@ -33,42 +33,20 @@ - #include "util.h" - - // Thread which contains all kind of timers and threads used in gatedevice.c and deviceprotection.c --TimerThread gExpirationTimerThread; -+extern TimerThread gExpirationTimerThread; - - // IGD Device Globals --UpnpDevice_Handle deviceHandle; --UpnpDevice_Handle deviceHandleIPv6; --UpnpDevice_Handle deviceHandleIPv6UlaGua; --char *gateUDN; --char *wanUDN; --char *wanConnectionUDN; --char *lanUDN; --long int startup_time; --unsigned long connection_stats[STATS_LIMIT]; // this is used for defining if connection is in idling --long int idle_time; -- --// State Variables --char ConnectionType[50]; --char PossibleConnectionTypes[50]; --char ConnectionStatus[20]; --char LastConnectionError[35]; --long int AutoDisconnectTime; --long int IdleDisconnectTime; --long int WarnDisconnectDelay; --int RSIPAvailable; --int NATEnabled; --char ExternalIPAddress[INET6_ADDRSTRLEN]; --int PortMappingNumberOfEntries; --int PortMappingEnabled; --char RemoteHost[INET6_ADDRSTRLEN]; // updated IPv6 addrss length 16 -> 46 --long int SystemUpdateID; -- --// WANEthLinkConfig state variables --char EthernetLinkStatus[12]; -+extern UpnpDevice_Handle deviceHandle; -+extern UpnpDevice_Handle deviceHandleIPv6; -+extern UpnpDevice_Handle deviceHandleIPv6UlaGua; -+extern char *gateUDN; -+extern char *wanUDN; -+extern char *wanConnectionUDN; -+extern char *lanUDN; - - // Linked list for portmapping entries --struct portMap *pmlist_Head; --struct portMap *pmlist_Current; -+extern struct portMap *pmlist_Head; -+extern struct portMap *pmlist_Current; - - // WanIPConnection Actions - int EventHandler(Upnp_EventType EventType, void *Event, void *Cookie); -diff --git a/linuxigd2/src/pinholev6.c b/linuxigd2/src/pinholev6.c -index 44e8a19..78f886d 100644 ---- a/linuxigd2/src/pinholev6.c -+++ b/linuxigd2/src/pinholev6.c -@@ -41,6 +41,8 @@ extern "C" { - #include "gatedevice.h" - #include "pinholev6.h" - -+struct pinholev6 *ph_first; -+ - static const char * add_rule_str = "ip6tables -I %s " //upnp forward chain - "-i %s " //input interface - "-o %s " //output interface -diff --git a/linuxigd2/src/pinholev6.h b/linuxigd2/src/pinholev6.h -index 295b9f9..353ae27 100644 ---- a/linuxigd2/src/pinholev6.h -+++ b/linuxigd2/src/pinholev6.h -@@ -37,7 +37,7 @@ struct pinholev6 { - - struct pinholev6 *next; - --} *ph_first; -+}; - - struct phv6_expirationEvent - { -diff --git a/linuxigd2/src/pmlist.c b/linuxigd2/src/pmlist.c -index 1b3fe05..95d0c61 100644 ---- a/linuxigd2/src/pmlist.c -+++ b/linuxigd2/src/pmlist.c -@@ -41,6 +41,11 @@ - #include "iptc.h" - #endif - -+// Linked list for portmapping entries -+struct portMap *pmlist_Head; -+struct portMap *pmlist_Current; -+struct portMap *pmlist_Tail; -+ - /** - * Create new portMap struct of rule to add iptables. - * portMap-struct is internal presentation of iptables rule in IGD. -diff --git a/linuxigd2/src/pmlist.h b/linuxigd2/src/pmlist.h -index 436d228..017500d 100644 ---- a/linuxigd2/src/pmlist.h -+++ b/linuxigd2/src/pmlist.h -@@ -57,7 +57,7 @@ struct portMap - - struct portMap* next; - struct portMap* prev; --} *pmlist_Head, *pmlist_Tail, *pmlist_Current; -+}; - - //struct portMap* pmlist_NewNode(void); - struct portMap* pmlist_NewNode(int enabled, long int duration, char *remoteHost, -diff --git a/linuxigd2/src/wanipv6fw.h b/linuxigd2/src/wanipv6fw.h -index 55419fe..a50d267 100644 ---- a/linuxigd2/src/wanipv6fw.h -+++ b/linuxigd2/src/wanipv6fw.h -@@ -46,9 +46,6 @@ extern "C" { - #define ERR_SRC_ADD_WILDCARD 708 - #define ERR_NO_TRAFFIC 709 - --char FirewallEnabled[2]; --char InboundPinholeAllowed[2]; -- - //----------------------------------------------------------------------------- - - int InitFirewallv6(void); diff --git a/buildroot/package/igd2-for-linux/Config.in b/buildroot/package/igd2-for-linux/Config.in index 157cc6f30..f1658d3aa 100644 --- a/buildroot/package/igd2-for-linux/Config.in +++ b/buildroot/package/igd2-for-linux/Config.in @@ -18,7 +18,7 @@ config BR2_PACKAGE_IGD2_FOR_LINUX Please edit /etc/upnpd.conf before using upnpd! - https://github.com/ffontaine/igd2-for-linux + https://github.com/Orange-OpenSource/igd2-for-linux comment "igd2-for-linux needs a toolchain w/ threads, wchar" depends on BR2_USE_MMU diff --git a/buildroot/package/igd2-for-linux/igd2-for-linux.hash b/buildroot/package/igd2-for-linux/igd2-for-linux.hash index ecde4b51c..fc215727d 100644 --- a/buildroot/package/igd2-for-linux/igd2-for-linux.hash +++ b/buildroot/package/igd2-for-linux/igd2-for-linux.hash @@ -1,3 +1,4 @@ # Locally computed: -sha256 523545a26b0d662e9f6913bec2518df6e70f4d497935d88983d994336a1b0ea9 igd2-for-linux-1.2.tar.gz -sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 linuxigd2/doc/LICENSE +sha256 e3fcc7c9da4ad1ca16227b3b1b3712bcfb3f6ec922685eee7ae4a76edfa32bb4 igd2-for-linux-2.0.tar.gz +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 linuxigd2/doc/LICENSE +sha256 c8b99423cad48bb44e2cf52a496361404290865eac259a82da6d1e4331ececb3 linuxigd2/src/threadutil/COPYING diff --git a/buildroot/package/igd2-for-linux/igd2-for-linux.mk b/buildroot/package/igd2-for-linux/igd2-for-linux.mk index 478c35399..85119a14b 100644 --- a/buildroot/package/igd2-for-linux/igd2-for-linux.mk +++ b/buildroot/package/igd2-for-linux/igd2-for-linux.mk @@ -4,11 +4,12 @@ # ################################################################################ -IGD2_FOR_LINUX_VERSION = 1.2 -IGD2_FOR_LINUX_SITE = $(call github,ffontaine,igd2-for-linux,v$(IGD2_FOR_LINUX_VERSION)) +IGD2_FOR_LINUX_VERSION = 2.0 +IGD2_FOR_LINUX_SITE = \ + $(call github,Orange-OpenSource,igd2-for-linux,v$(IGD2_FOR_LINUX_VERSION)) -IGD2_FOR_LINUX_LICENSE = GPL-2.0 -IGD2_FOR_LINUX_LICENSE_FILES = linuxigd2/doc/LICENSE +IGD2_FOR_LINUX_LICENSE = GPL-2.0, BSD-3-Clause +IGD2_FOR_LINUX_LICENSE_FILES = linuxigd2/doc/LICENSE linuxigd2/src/threadutil/COPYING IGD2_FOR_LINUX_DEPENDENCIES = libupnp diff --git a/buildroot/package/kodi-pvr-zattoo/Config.in b/buildroot/package/kodi-pvr-zattoo/Config.in index ab7ff7003..5dfadcadd 100644 --- a/buildroot/package/kodi-pvr-zattoo/Config.in +++ b/buildroot/package/kodi-pvr-zattoo/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_KODI_PVR_ZATTOO bool "kodi-pvr-zattoo" select BR2_PACKAGE_KODI_PLATFORM select BR2_PACKAGE_LIBPLATFORM - select BR2_PACKAGE_RAPIDXML + select BR2_PACKAGE_RAPIDJSON select BR2_PACKAGE_TINYXML2 help Kodi PVR-Addon for Zattoo diff --git a/buildroot/package/kodi-pvr-zattoo/kodi-pvr-zattoo.mk b/buildroot/package/kodi-pvr-zattoo/kodi-pvr-zattoo.mk index 7afe92e87..78fc01f19 100644 --- a/buildroot/package/kodi-pvr-zattoo/kodi-pvr-zattoo.mk +++ b/buildroot/package/kodi-pvr-zattoo/kodi-pvr-zattoo.mk @@ -8,6 +8,6 @@ KODI_PVR_ZATTOO_VERSION = 18.1.21-Leia KODI_PVR_ZATTOO_SITE = $(call github,rbuehlma,pvr.zattoo,$(KODI_PVR_ZATTOO_VERSION)) KODI_PVR_ZATTOO_LICENSE = GPL-2.0+ KODI_PVR_ZATTOO_LICENSE_FILES = debian/copyright -KODI_PVR_ZATTOO_DEPENDENCIES = kodi-platform libplatform rapidxml tinyxml2 +KODI_PVR_ZATTOO_DEPENDENCIES = kodi-platform libplatform rapidjson tinyxml2 $(eval $(cmake-package)) diff --git a/buildroot/package/libclc/libclc.mk b/buildroot/package/libclc/libclc.mk index 630616905..6fe8e10a7 100644 --- a/buildroot/package/libclc/libclc.mk +++ b/buildroot/package/libclc/libclc.mk @@ -6,7 +6,7 @@ # Use the latest commit from release_90 branch. LIBCLC_VERSION = d1cbc92e2ceee59963f5c3a576382e5bba31f060 -LIBCLC_SITE = https://git.llvm.org/git/libclc +LIBCLC_SITE = https://github.com/llvm-mirror/libclc LIBCLC_SITE_METHOD = git LIBCLC_LICENSE = Apache-2.0 with exceptions or MIT LIBCLC_LICENSE_FILES = LICENSE.TXT diff --git a/buildroot/package/libcpprestsdk/Config.in b/buildroot/package/libcpprestsdk/Config.in index af97509d1..97f00e338 100644 --- a/buildroot/package/libcpprestsdk/Config.in +++ b/buildroot/package/libcpprestsdk/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_LIBCPPRESTSDK depends on BR2_ENABLE_LOCALE depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR # boost + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_PACKAGE_BOOST @@ -23,6 +24,7 @@ config BR2_PACKAGE_LIBCPPRESTSDK https://github.com/Microsoft/cpprestsdk comment "libcpprestsdk needs a toolchain w/ NPTL, C++, wchar, locale" + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ !BR2_INSTALL_LIBSTDCPP || \ !BR2_USE_WCHAR || !BR2_ENABLE_LOCALE diff --git a/buildroot/package/libfuse3/libfuse3.mk b/buildroot/package/libfuse3/libfuse3.mk index f6d8dd0ab..0a896d8da 100644 --- a/buildroot/package/libfuse3/libfuse3.mk +++ b/buildroot/package/libfuse3/libfuse3.mk @@ -23,4 +23,8 @@ define LIBFUSE3_PERMISSIONS /usr/bin/fusermount3 f 4755 0 0 - - - - - endef +define LIBFUSE3_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_FUSE_FS) +endef + $(eval $(meson-package)) diff --git a/buildroot/package/libllcp/Config.in b/buildroot/package/libllcp/Config.in index 1660e92a8..5dc5c36a6 100644 --- a/buildroot/package/libllcp/Config.in +++ b/buildroot/package/libllcp/Config.in @@ -1,9 +1,12 @@ config BR2_PACKAGE_LIBLLCP bool "libllcp" - depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_LIBNFC help Library extending libnfc with support for Logical Link Control Protocol. https://github.com/nfc-tools/libllcp + +comment "libllcp needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/buildroot/package/libodb-mysql/libodb-mysql.mk b/buildroot/package/libodb-mysql/libodb-mysql.mk index 835e5bc6b..a9040c65f 100644 --- a/buildroot/package/libodb-mysql/libodb-mysql.mk +++ b/buildroot/package/libodb-mysql/libodb-mysql.mk @@ -12,6 +12,6 @@ LIBODB_MYSQL_INSTALL_STAGING = YES LIBODB_MYSQL_LICENSE = GPL-2.0 LIBODB_MYSQL_LICENSE_FILES = LICENSE LIBODB_MYSQL_DEPENDENCIES = libodb mysql -LIBODB_MYSQL_CONF_ENV = LIBS="$(shell $(STAGING_DIR)/usr/bin/mysql_config --libs)" +LIBODB_MYSQL_CONF_ENV = LIBS=`$(STAGING_DIR)/usr/bin/mysql_config --libs` $(eval $(autotools-package)) diff --git a/buildroot/package/libtorrent-rasterbar/Config.in b/buildroot/package/libtorrent-rasterbar/Config.in index b2508b8b7..fe9a9fc02 100644 --- a/buildroot/package/libtorrent-rasterbar/Config.in +++ b/buildroot/package/libtorrent-rasterbar/Config.in @@ -1,8 +1,8 @@ comment "libtorrent-rasterbar needs a toolchain w/ C++, threads, wchar, gcc >= 4.9" depends on BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \ - !BR2_HOST_GCC_AT_LEAST_4_9 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 comment "libtorrent-rasterbar needs exception_ptr" depends on BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK @@ -11,7 +11,6 @@ comment "libtorrent-rasterbar needs exception_ptr" config BR2_PACKAGE_LIBTORRENT_RASTERBAR bool "libtorrent-rasterbar" depends on BR2_INSTALL_LIBSTDCPP # boost - depends on BR2_HOST_GCC_AT_LEAST_4_9 # C++11 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 depends on BR2_TOOLCHAIN_HAS_THREADS # boost depends on BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK diff --git a/buildroot/package/libupnp/libupnp.hash b/buildroot/package/libupnp/libupnp.hash index e52b7ea9d..6b16eff3c 100644 --- a/buildroot/package/libupnp/libupnp.hash +++ b/buildroot/package/libupnp/libupnp.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 c5a300b86775435c076d58a79cc0d5a977d76027d2a7d721590729b7f369fa43 libupnp-1.6.25.tar.bz2 -sha256 0375955c8a79d6e8fa0792d45d00fc4e7710d7ac95bcbd27f9225a83f5c946fd LICENSE +sha256 ecb23d4291968c8a7bdd4eb16fc2250dbacc16b354345a13342d67f571d35ceb libupnp-1.14.0.tar.bz2 +sha256 c8b99423cad48bb44e2cf52a496361404290865eac259a82da6d1e4331ececb3 COPYING diff --git a/buildroot/package/libupnp/libupnp.mk b/buildroot/package/libupnp/libupnp.mk index 8831885ba..d44abe279 100644 --- a/buildroot/package/libupnp/libupnp.mk +++ b/buildroot/package/libupnp/libupnp.mk @@ -4,12 +4,24 @@ # ################################################################################ -LIBUPNP_VERSION = 1.6.25 +LIBUPNP_VERSION = 1.14.0 LIBUPNP_SOURCE = libupnp-$(LIBUPNP_VERSION).tar.bz2 -LIBUPNP_SITE = http://downloads.sourceforge.net/project/pupnp/pupnp/libUPnP%20$(LIBUPNP_VERSION) +LIBUPNP_SITE = \ + http://downloads.sourceforge.net/project/pupnp/pupnp/libupnp-$(LIBUPNP_VERSION) LIBUPNP_CONF_ENV = ac_cv_lib_compat_ftime=no LIBUPNP_INSTALL_STAGING = YES LIBUPNP_LICENSE = BSD-3-Clause -LIBUPNP_LICENSE_FILES = LICENSE +LIBUPNP_LICENSE_FILES = COPYING +LIBUPNP_DEPENDENCIES = host-pkgconf + +# Bind the internal miniserver socket with reuseaddr to allow clean restarts. +LIBUPNP_CONF_OPTS += --enable-reuseaddr + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +LIBUPNP_CONF_OPTS += --enable-open-ssl +LIBUPNP_DEPENDENCIES += openssl +else +LIBUPNP_CONF_OPTS += --disable-open-ssl +endif $(eval $(autotools-package)) diff --git a/buildroot/package/libupnp18/Config.in b/buildroot/package/libupnp18/Config.in deleted file mode 100644 index 58508e4e2..000000000 --- a/buildroot/package/libupnp18/Config.in +++ /dev/null @@ -1,16 +0,0 @@ -config BR2_PACKAGE_LIBUPNP18 - bool "libupnp18" - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on !BR2_PACKAGE_LIBUPNP - help - The portable SDK for UPnP(tm) Devices (libupnp) provides - developers with an API and open source code for building - control points, devices, and bridges that are compliant with - Version 1.0 of the Universal Plug and Play Device Architecture - Specification - - http://pupnp.sourceforge.net/ - -comment "libupnp18 needs a toolchain w/ threads" - depends on !BR2_PACKAGE_LIBUPNP - depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/buildroot/package/libupnp18/libupnp18.hash b/buildroot/package/libupnp18/libupnp18.hash deleted file mode 100644 index ba9ce1bcd..000000000 --- a/buildroot/package/libupnp18/libupnp18.hash +++ /dev/null @@ -1,5 +0,0 @@ -# From https://sourceforge.net/projects/pupnp/files/pupnp/libupnp-1.8.7/libupnp-1.8.7.tar.bz2.sha1 -sha1 2ea3011180c58b0584f0cb73cc8e685a0a1c4ec8 libupnp-1.8.7.tar.bz2 -# Locally computed: -sha256 e38c69b2b67322e67cd53680db9b02c7c1f720a47a3cd626fd89d57d2dca93b8 libupnp-1.8.7.tar.bz2 -sha256 c8b99423cad48bb44e2cf52a496361404290865eac259a82da6d1e4331ececb3 COPYING diff --git a/buildroot/package/libupnp18/libupnp18.mk b/buildroot/package/libupnp18/libupnp18.mk deleted file mode 100644 index f17a1a720..000000000 --- a/buildroot/package/libupnp18/libupnp18.mk +++ /dev/null @@ -1,26 +0,0 @@ -################################################################################ -# -# libupnp18 -# -################################################################################ - -LIBUPNP18_VERSION = 1.8.7 -LIBUPNP18_SOURCE = libupnp-$(LIBUPNP18_VERSION).tar.bz2 -LIBUPNP18_SITE = http://downloads.sourceforge.net/project/pupnp/pupnp/libupnp-$(LIBUPNP18_VERSION) -LIBUPNP18_CONF_ENV = ac_cv_lib_compat_ftime=no -LIBUPNP18_INSTALL_STAGING = YES -LIBUPNP18_LICENSE = BSD-3-Clause -LIBUPNP18_LICENSE_FILES = COPYING -LIBUPNP18_DEPENDENCIES = host-pkgconf - -# Bind the internal miniserver socket with reuseaddr to allow clean restarts. -LIBUPNP18_CONF_OPTS += --enable-reuseaddr - -ifeq ($(BR2_PACKAGE_OPENSSL),y) -LIBUPNP18_CONF_OPTS += --enable-open-ssl -LIBUPNP18_DEPENDENCIES += openssl -else -LIBUPNP18_CONF_OPTS += --disable-open-ssl -endif - -$(eval $(autotools-package)) diff --git a/buildroot/package/linux-headers/Config.in.host b/buildroot/package/linux-headers/Config.in.host index 437cc2699..935b22226 100644 --- a/buildroot/package/linux-headers/Config.in.host +++ b/buildroot/package/linux-headers/Config.in.host @@ -346,13 +346,13 @@ endchoice config BR2_DEFAULT_KERNEL_HEADERS string - default "4.4.248" if BR2_KERNEL_HEADERS_4_4 - default "4.9.248" if BR2_KERNEL_HEADERS_4_9 - default "4.14.212" if BR2_KERNEL_HEADERS_4_14 - default "4.19.163" if BR2_KERNEL_HEADERS_4_19 - default "5.4.83" if BR2_KERNEL_HEADERS_5_4 + default "4.4.253" if BR2_KERNEL_HEADERS_4_4 + default "4.9.253" if BR2_KERNEL_HEADERS_4_9 + default "4.14.217" if BR2_KERNEL_HEADERS_4_14 + default "4.19.171" if BR2_KERNEL_HEADERS_4_19 + default "5.4.93" if BR2_KERNEL_HEADERS_5_4 default "5.8.18" if BR2_KERNEL_HEADERS_5_8 - default "5.9.14" if BR2_KERNEL_HEADERS_5_9 + default "5.9.16" if BR2_KERNEL_HEADERS_5_9 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/buildroot/package/luarocks/luarocks.mk b/buildroot/package/luarocks/luarocks.mk index 670e7487a..6ce8f2fa8 100644 --- a/buildroot/package/luarocks/luarocks.mk +++ b/buildroot/package/luarocks/luarocks.mk @@ -17,8 +17,7 @@ LUAROCKS_CONFIG_FILE = $(LUAROCKS_CONFIG_DIR)/luarocks/config.lua HOST_LUAROCKS_CONFIG_FILE = $(LUAROCKS_CONFIG_DIR)/luarocks/host-config.lua define LUAROCKS_ADDON_EXTRACT - mkdir $(@D)/src/luarocks/cmd/external - cp package/luarocks/buildroot.lua $(@D)/src/luarocks/cmd/external/buildroot.lua + $(INSTALL) -D -m 0644 package/luarocks/buildroot.lua $(@D)/src/luarocks/cmd/external/buildroot.lua endef HOST_LUAROCKS_POST_EXTRACT_HOOKS += LUAROCKS_ADDON_EXTRACT diff --git a/buildroot/package/mpd/Config.in b/buildroot/package/mpd/Config.in index fbde82ab5..c7cb96315 100644 --- a/buildroot/package/mpd/Config.in +++ b/buildroot/package/mpd/Config.in @@ -390,7 +390,7 @@ config BR2_PACKAGE_MPD_TCP config BR2_PACKAGE_MPD_UPNP bool "UPnP" select BR2_PACKAGE_EXPAT - select BR2_PACKAGE_LIBUPNP18 if !BR2_PACKAGE_LIBUPNP + select BR2_PACKAGE_LIBUPNP select BR2_PACKAGE_MPD_CURL help Enable MPD UPnP client support. diff --git a/buildroot/package/mpd/mpd.mk b/buildroot/package/mpd/mpd.mk index a5825fffe..687363bbf 100644 --- a/buildroot/package/mpd/mpd.mk +++ b/buildroot/package/mpd/mpd.mk @@ -304,7 +304,7 @@ endif ifeq ($(BR2_PACKAGE_MPD_UPNP),y) MPD_DEPENDENCIES += \ expat \ - $(if $(BR2_PACKAGE_LIBUPNP),libupnp,libupnp18) + libupnp MPD_CONF_OPTS += -Dupnp=enabled else MPD_CONF_OPTS += -Dupnp=disabled @@ -333,6 +333,8 @@ endif define MPD_INSTALL_EXTRA_FILES $(INSTALL) -m 0644 -D package/mpd/mpd.conf $(TARGET_DIR)/etc/mpd.conf + mkdir -p $(TARGET_DIR)/var/lib/mpd/music + mkdir -p $(TARGET_DIR)/var/lib/mpd/playlists endef MPD_POST_INSTALL_TARGET_HOOKS += MPD_INSTALL_EXTRA_FILES diff --git a/buildroot/package/multipath-tools/0001-kpartx-libmultipath-use-pkg-config-to-get-path-to-he.patch b/buildroot/package/multipath-tools/0001-kpartx-libmultipath-use-pkg-config-to-get-path-to-he.patch index 43cf165f7..0d46f12a6 100644 --- a/buildroot/package/multipath-tools/0001-kpartx-libmultipath-use-pkg-config-to-get-path-to-he.patch +++ b/buildroot/package/multipath-tools/0001-kpartx-libmultipath-use-pkg-config-to-get-path-to-he.patch @@ -1,6 +1,6 @@ -From f55b1a37e2c43b67e7fd7f6a39afe2b2316b7cf9 Mon Sep 17 00:00:00 2001 +From 922855e245c8bdadc0d24b5b706549b18fb5f079 Mon Sep 17 00:00:00 2001 From: Alexander Egorenkov -Date: Mon, 31 Aug 2020 19:05:46 +0200 +Date: Sat, 21 Nov 2020 11:08:56 +0100 Subject: [PATCH] kpartx, libmultipath: use pkg-config to get path to headers @@ -9,9 +9,9 @@ to enable cross-compilation. Signed-off-by: Alexander Egorenkov --- - kpartx/Makefile | 2 +- - libmultipath/Makefile | 8 ++++---- - 2 files changed, 5 insertions(+), 5 deletions(-) + kpartx/Makefile | 2 +- + libmultipath/Makefile | 12 ++++++------ + 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/kpartx/Makefile b/kpartx/Makefile index 2906a984..29573890 100644 @@ -27,10 +27,10 @@ index 2906a984..29573890 100644 endif diff --git a/libmultipath/Makefile b/libmultipath/Makefile -index e5651e49..51ad0193 100644 +index 62ba16e8..3ad9130c 100644 --- a/libmultipath/Makefile +++ b/libmultipath/Makefile -@@ -20,19 +20,19 @@ ifdef SYSTEMD +@@ -20,27 +20,27 @@ ifdef SYSTEMD endif endif @@ -39,6 +39,11 @@ index e5651e49..51ad0193 100644 CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE endif +-ifneq ($(call check_func,dm_task_get_errno,/usr/include/libdevmapper.h),0) ++ifneq ($(call check_func,dm_task_get_errno,$(shell $(PKG_CONFIG) --variable=includedir devmapper)/libdevmapper.h),0) + CFLAGS += -DLIBDM_API_GET_ERRNO + endif + -ifneq ($(call check_func,dm_task_set_cookie,/usr/include/libdevmapper.h),0) +ifneq ($(call check_func,dm_task_set_cookie,$(shell $(PKG_CONFIG) --variable=includedir devmapper)/libdevmapper.h),0) CFLAGS += -DLIBDM_API_COOKIE @@ -54,6 +59,11 @@ index e5651e49..51ad0193 100644 CFLAGS += -DLIBDM_API_DEFERRED endif +-ifneq ($(call check_func,dm_hold_control_dev,/usr/include/libdevmapper.h),0) ++ifneq ($(call check_func,dm_hold_control_dev,$(shell $(PKG_CONFIG) --variable=includedir devmapper)/libdevmapper.h),0) + CFLAGS += -DLIBDM_API_HOLD_CONTROL + endif + -- -2.28.0 +2.29.2 diff --git a/buildroot/package/multipath-tools/0005-Makefile.inc-Enable-systemd-if-ENABLE_SYSTEMD-is-def.patch b/buildroot/package/multipath-tools/0002-Makefile.inc-Enable-systemd-if-ENABLE_SYSTEMD-is-def.patch similarity index 100% rename from buildroot/package/multipath-tools/0005-Makefile.inc-Enable-systemd-if-ENABLE_SYSTEMD-is-def.patch rename to buildroot/package/multipath-tools/0002-Makefile.inc-Enable-systemd-if-ENABLE_SYSTEMD-is-def.patch diff --git a/buildroot/package/multipath-tools/0002-libmpathpersist-depend-on-libmultipath.patch b/buildroot/package/multipath-tools/0002-libmpathpersist-depend-on-libmultipath.patch deleted file mode 100644 index cdd408122..000000000 --- a/buildroot/package/multipath-tools/0002-libmpathpersist-depend-on-libmultipath.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 48f537b9fef4f9db761466b8951fb63243f06602 Mon Sep 17 00:00:00 2001 -From: Christian Hesse -Date: Wed, 6 May 2020 09:35:47 +0200 -Subject: [PATCH] libmpathpersist: depend on libmultipath - -Without this the build fails with: - -/usr/bin/ld: cannot find -lmultipath - -Signed-off-by: Christian Hesse -Signed-off-by: Alexander Egorenkov ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 1dee3680..ba1d73ba 100644 ---- a/Makefile -+++ b/Makefile -@@ -28,7 +28,7 @@ all: $(BUILDDIRS) - $(BUILDDIRS): - $(MAKE) -C $@ - --multipath multipathd mpathpersist: libmultipath -+libmpathpersist multipath multipathd mpathpersist: libmultipath - mpathpersist: libmpathpersist - - $(BUILDDIRS.clean): --- -2.28.0 - diff --git a/buildroot/package/multipath-tools/0003-fix-boolean-value-with-json-c-0.14.patch b/buildroot/package/multipath-tools/0003-fix-boolean-value-with-json-c-0.14.patch deleted file mode 100644 index 5154eb429..000000000 --- a/buildroot/package/multipath-tools/0003-fix-boolean-value-with-json-c-0.14.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 82129852d74785267f95ef598ac483ff9af38a55 Mon Sep 17 00:00:00 2001 -From: "mail@eworm.de" -Date: Sat, 25 Apr 2020 21:11:13 +0200 -Subject: [PATCH] fix boolean value with json-c 0.14 - -Upstream json-c removed the TRUE and FALSE defines in commit -0992aac61f8b087efd7094e9ac2b84fa9c040fcd. - -[mwilck]: Use stdbool.h, and keep the log message unchanged. - -Signed-off-by: Christian Hesse -Signed-off-by: Martin Wilck -Signed-off-by: Alexander Egorenkov ---- - libdmmp/libdmmp_private.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/libdmmp/libdmmp_private.h b/libdmmp/libdmmp_private.h -index ac85b63f..b1a6ddea 100644 ---- a/libdmmp/libdmmp_private.h -+++ b/libdmmp/libdmmp_private.h -@@ -30,6 +30,7 @@ - #include - #include - #include -+#include - #include - - #include "libdmmp/libdmmp.h" -@@ -82,7 +83,7 @@ static out_type func_name(struct dmmp_context *ctx, const char *var_name) { \ - do { \ - json_type j_type = json_type_null; \ - json_object *j_obj_tmp = NULL; \ -- if (json_object_object_get_ex(j_obj, key, &j_obj_tmp) != TRUE) { \ -+ if (json_object_object_get_ex(j_obj, key, &j_obj_tmp) != true) { \ - _error(ctx, "Invalid JSON output from multipathd IPC: " \ - "key '%s' not found", key); \ - rc = DMMP_ERR_IPC_ERROR; \ --- -2.28.0 - diff --git a/buildroot/package/multipath-tools/0004-multipath-tools-Makefile-add-install-dependency.patch b/buildroot/package/multipath-tools/0004-multipath-tools-Makefile-add-install-dependency.patch deleted file mode 100644 index 43bb30585..000000000 --- a/buildroot/package/multipath-tools/0004-multipath-tools-Makefile-add-install-dependency.patch +++ /dev/null @@ -1,34 +0,0 @@ -From ec2b935d2af33651f34de8bd6e428156005c2e3d Mon Sep 17 00:00:00 2001 -From: Martin Wilck -Date: Tue, 12 May 2020 22:13:51 +0200 -Subject: [PATCH] multipath-tools Makefile: add install dependency - -$(libdir) must exist before running "make install" on prioritizer, checker, -and foreign libraries. - -Cc: Christian Hesse - -Signed-off-by: Martin Wilck -Signed-off-by: Alexander Egorenkov ---- - Makefile | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/Makefile b/Makefile -index fec3b73b..8bcaba66 100644 ---- a/Makefile -+++ b/Makefile -@@ -32,6 +32,10 @@ libmultipath libdmmp: libmpathcmd - libmpathpersist multipath multipathd: libmultipath - mpathpersist multipathd: libmpathpersist - -+libmultipath/checkers.install \ -+ libmultipath/prioritizers.install \ -+ libmultipath/foreign.install: libmultipath.install -+ - $(BUILDDIRS.clean): - $(MAKE) -C ${@:.clean=} clean - --- -2.28.0 - diff --git a/buildroot/package/multipath-tools/multipath-tools.hash b/buildroot/package/multipath-tools/multipath-tools.hash index 7eaf24609..fc94b3f72 100644 --- a/buildroot/package/multipath-tools/multipath-tools.hash +++ b/buildroot/package/multipath-tools/multipath-tools.hash @@ -1,3 +1,7 @@ # Locally computed: -sha256 ccd73bf67621161d9e42d1a770c3a7efff6e252433e8b8ed5f64a88cb5e7151d multipath-tools-0.8.4.tar.gz -sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING +sha256 0549ebe39fd3950ec49c16304da408c2bfe1b18d386d8e6647b5bcb60363c8aa multipath-tools-0.8.5.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSES/GPL-2.0 +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 LICENSES/GPL-3.0 +sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c LICENSES/LGPL-2.0 +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSES/LGPL-2.1 +sha256 afa9db94ff46f8d011251273f547ba958da6a0150a2b797b10fa8c8cfa74bbda README.md diff --git a/buildroot/package/multipath-tools/multipath-tools.mk b/buildroot/package/multipath-tools/multipath-tools.mk index 60ca90b70..877ed672c 100644 --- a/buildroot/package/multipath-tools/multipath-tools.mk +++ b/buildroot/package/multipath-tools/multipath-tools.mk @@ -4,12 +4,28 @@ # ################################################################################ -MULTIPATH_TOOLS_VERSION = 0.8.4 -MULTIPATH_TOOLS_SITE = $(call github,openSUSE,multipath-tools,$(MULTIPATH_TOOLS_VERSION)) -MULTIPATH_TOOLS_LICENSE = LGPL-2.0 -MULTIPATH_TOOLS_LICENSE_FILES = COPYING +MULTIPATH_TOOLS_VERSION = 0.8.5 +MULTIPATH_TOOLS_SITE = $(call github,opensvc,multipath-tools,$(MULTIPATH_TOOLS_VERSION)) + +MULTIPATH_TOOLS_LICENSE = \ + LGPL-2.0 (default), \ + LGPL-2.1+ (libmpathcmd), \ + GPL-2.0+ (libmultipath), \ + GPL-3.0+ (libdmmp) +MULTIPATH_TOOLS_LICENSE_FILES = \ + LICENSES/GPL-2.0 \ + LICENSES/GPL-3.0 \ + LICENSES/LGPL-2.0 \ + LICENSES/LGPL-2.1 \ + README.md + MULTIPATH_TOOLS_DEPENDENCIES = lvm2 json-c readline udev liburcu libaio host-pkgconf -MULTIPATH_TOOLS_MAKE_OPTS = LIB="lib" RUN="run" OPTFLAGS="" STACKPROT="" +MULTIPATH_TOOLS_MAKE_OPTS = \ + LIB="lib" \ + RUN="run" \ + OPTFLAGS="" \ + STACKPROT="" \ + WARNFLAGS="" ifeq ($(BR2_PACKAGE_SYSTEMD),y) MULTIPATH_TOOLS_DEPENDENCIES += systemd diff --git a/buildroot/package/mutt/0002-CVE-2021-3181-1.patch b/buildroot/package/mutt/0002-CVE-2021-3181-1.patch new file mode 100644 index 000000000..cbb12cf2f --- /dev/null +++ b/buildroot/package/mutt/0002-CVE-2021-3181-1.patch @@ -0,0 +1,40 @@ +From 4a2becbdb4422aaffe3ce314991b9d670b7adf17 Mon Sep 17 00:00:00 2001 +From: Kevin McCarthy +Date: Sun, 17 Jan 2021 10:40:37 -0800 +Subject: [PATCH] Fix memory leak parsing group addresses without a display + name. + +When there was a group address terminator with no previous +addresses (including the group display-name), an address would be +allocated but not attached to the address list. + +Change this to only allocate when last exists. + +It would be more correct to not allocate at all unless we are inside a +group list, but I will address that in a separate commit to master. + +[Retrieved from: +https://git.launchpad.net/ubuntu/+source/mutt/plain/debian/patches/CVE-2021-3181-1.patch?h=import/1.14.6-1ubuntu0.2] +Signed-off-by: Peter Korsgaard +--- + rfc822.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +Index: mutt-1.14.6/rfc822.c +=================================================================== +--- mutt-1.14.6.orig/rfc822.c ++++ mutt-1.14.6/rfc822.c +@@ -491,11 +491,10 @@ ADDRESS *rfc822_parse_adrlist (ADDRESS * + #endif + + /* add group terminator */ +- cur = rfc822_new_address (); + if (last) + { +- last->next = cur; +- last = cur; ++ last->next = rfc822_new_address (); ++ last = last->next; + } + + phraselen = 0; diff --git a/buildroot/package/mutt/0003-CVE-2021-3181-2.patch b/buildroot/package/mutt/0003-CVE-2021-3181-2.patch new file mode 100644 index 000000000..c3184a40e --- /dev/null +++ b/buildroot/package/mutt/0003-CVE-2021-3181-2.patch @@ -0,0 +1,53 @@ +From 939b02b33ae29bc0d642570c1dcfd4b339037d19 Mon Sep 17 00:00:00 2001 +From: Kevin McCarthy +Date: Sun, 17 Jan 2021 10:53:19 -0800 +Subject: [PATCH] Don't allocate a group terminator unless we are in a + group-list. + +This will reduce memory allocation for garbage/spam address lists. + +It also makes no sense to store a terminator when there wasn't a +display-name indicating the start of a group. + +[Retrieved from: +https://git.launchpad.net/ubuntu/+source/mutt/plain/debian/patches/CVE-2021-3181-2.patch?h=import/1.14.6-1ubuntu0.2] +Signed-off-by: Peter Korsgaard +--- + rfc822.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +Index: mutt-1.14.6/rfc822.c +=================================================================== +--- mutt-1.14.6.orig/rfc822.c ++++ mutt-1.14.6/rfc822.c +@@ -378,7 +378,7 @@ add_addrspec (ADDRESS **top, ADDRESS **l + + ADDRESS *rfc822_parse_adrlist (ADDRESS *top, const char *s) + { +- int ws_pending, nl; ++ int ws_pending, nl, in_group = 0; + #ifdef EXACT_ADDRESS + const char *begin; + #endif +@@ -455,6 +455,7 @@ ADDRESS *rfc822_parse_adrlist (ADDRESS * + terminate_buffer (phrase, phraselen); + cur->mailbox = safe_strdup (phrase); + cur->group = 1; ++ in_group = 1; + + if (last) + last->next = cur; +@@ -491,11 +492,12 @@ ADDRESS *rfc822_parse_adrlist (ADDRESS * + #endif + + /* add group terminator */ +- if (last) ++ if (last && in_group) + { + last->next = rfc822_new_address (); + last = last->next; + } ++ in_group = 0; + + phraselen = 0; + commentlen = 0; diff --git a/buildroot/package/mutt/0004-CVE-2021-3181-3.patch b/buildroot/package/mutt/0004-CVE-2021-3181-3.patch new file mode 100644 index 000000000..42d0cbaef --- /dev/null +++ b/buildroot/package/mutt/0004-CVE-2021-3181-3.patch @@ -0,0 +1,30 @@ +From d4305208955c5cdd9fe96dfa61e7c1e14e176a14 Mon Sep 17 00:00:00 2001 +From: Kevin McCarthy +Date: Sun, 17 Jan 2021 11:05:36 -0800 +Subject: [PATCH] Add group terminator if it is left off. + +If there is no terminating ";" add one to the list, to make the text +re-rendering correct. + +[Retrieved from: +https://git.launchpad.net/ubuntu/+source/mutt/plain/debian/patches/CVE-2021-3181-3.patch?h=import/1.14.6-1ubuntu0.2] +Signed-off-by: Peter Korsgaard +--- + rfc822.c | 4 ++++ + 1 file changed, 4 insertions(+) + +Index: mutt-1.14.6/rfc822.c +=================================================================== +--- mutt-1.14.6.orig/rfc822.c ++++ mutt-1.14.6/rfc822.c +@@ -560,6 +560,10 @@ ADDRESS *rfc822_parse_adrlist (ADDRESS * + last->val = mutt_substrdup (begin, s - nl < begin ? begin : s - nl); + #endif + ++ /* add group terminator, if it was left off */ ++ if (last && in_group) ++ last->next = rfc822_new_address (); ++ + return top; + } + diff --git a/buildroot/package/mutt/mutt.mk b/buildroot/package/mutt/mutt.mk index 4e1400457..587232e82 100644 --- a/buildroot/package/mutt/mutt.mk +++ b/buildroot/package/mutt/mutt.mk @@ -14,6 +14,11 @@ MUTT_CONF_OPTS = --disable-doc --disable-smtp # 0001-Ensure-IMAP-connection-is-closed-after-a-connection-error.patch MUTT_IGNORE_CVES += CVE-2020-28896 +# 0002-CVE-2021-3181-1.patch +# 0003-CVE-2021-3181-2.patch +# 0004-CVE-2021-3181-3.patch +MUTT_IGNORE_CVES += CVE-2021-3181 + ifeq ($(BR2_PACKAGE_LIBICONV),y) MUTT_DEPENDENCIES += libiconv MUTT_CONF_OPTS += --enable-iconv diff --git a/buildroot/package/nfs-utils/Config.in b/buildroot/package/nfs-utils/Config.in index cfca03401..da563db0f 100644 --- a/buildroot/package/nfs-utils/Config.in +++ b/buildroot/package/nfs-utils/Config.in @@ -7,7 +7,6 @@ config BR2_PACKAGE_NFS_UTILS depends on BR2_TOOLCHAIN_HAS_THREADS # libtirpc, rpcbind depends on BR2_USE_MMU # fork() select BR2_PACKAGE_LIBTIRPC # IPv6 requires libtirpc - select BR2_PACKAGE_RPCBIND # runtime help The NFS Linux kernel server. @@ -28,6 +27,7 @@ config BR2_PACKAGE_NFS_UTILS_RPC_LOCKD config BR2_PACKAGE_NFS_UTILS_RPC_NFSD bool "rpc.nfsd" default y + select BR2_PACKAGE_RPCBIND # runtime help NFS server diff --git a/buildroot/package/nodejs/nodejs.hash b/buildroot/package/nodejs/nodejs.hash index 61259425b..b3ea15ca3 100644 --- a/buildroot/package/nodejs/nodejs.hash +++ b/buildroot/package/nodejs/nodejs.hash @@ -1,5 +1,5 @@ -# From https://nodejs.org/dist/v12.19.1/SHASUMS256.txt -sha256 74077e0cc3db000a6f3cc685b220e609807b61adc8e7d8243e8511d478d1b17d node-v12.19.1.tar.xz +# From https://nodejs.org/dist/v12.20.1/SHASUMS256.txt +sha256 e00eee325d705b2bfa9929b7d061eb2315402d7e8548945eac9870bf84321853 node-v12.20.1.tar.xz # Hash for license file -sha256 0dc03af08b95ea0c1e27f8fd591dee4383eb6f2c304db6eb6cdfb6751f7da87b LICENSE +sha256 221417a7ca275112a5ac54639b36ee3c5184e74631ea1e1b01b701293b655190 LICENSE diff --git a/buildroot/package/nodejs/nodejs.mk b/buildroot/package/nodejs/nodejs.mk index 524a6b5d8..8916d4794 100644 --- a/buildroot/package/nodejs/nodejs.mk +++ b/buildroot/package/nodejs/nodejs.mk @@ -4,7 +4,7 @@ # ################################################################################ -NODEJS_VERSION = 12.19.1 +NODEJS_VERSION = 12.20.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/buildroot/package/openjpeg/0004-Revert-Use-INC_DIR-for-OPENJPEG_INCLUDE_DIRS-fixes-u.patch b/buildroot/package/openjpeg/0004-Revert-Use-INC_DIR-for-OPENJPEG_INCLUDE_DIRS-fixes-u.patch new file mode 100644 index 000000000..b85556a67 --- /dev/null +++ b/buildroot/package/openjpeg/0004-Revert-Use-INC_DIR-for-OPENJPEG_INCLUDE_DIRS-fixes-u.patch @@ -0,0 +1,37 @@ +From 14f4c27e7c91f745a1dda9991b5deea3cbef2072 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 7 Jan 2021 14:09:50 +0100 +Subject: [PATCH] Revert "Use INC_DIR for OPENJPEG_INCLUDE_DIRS (fixes + uclouvain#1174)" + +This reverts commit 65586374d639cfc0104419992f9022174b412594 which +breaks cross-compilation of poppler under buildroot (because of +DESTDIR usage). + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/uclouvain/openjpeg/pull/1321] +--- + cmake/OpenJPEGConfig.cmake.in | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/cmake/OpenJPEGConfig.cmake.in b/cmake/OpenJPEGConfig.cmake.in +index 8a726697..2925108a 100644 +--- a/cmake/OpenJPEGConfig.cmake.in ++++ b/cmake/OpenJPEGConfig.cmake.in +@@ -27,8 +27,12 @@ if(EXISTS ${SELF_DIR}/OpenJPEGTargets.cmake) + # This is an install tree + include(${SELF_DIR}/OpenJPEGTargets.cmake) + ++ # We find a relative path from the PKG directory to header files. ++ set(PKG_DIR "@CMAKE_INSTALL_PREFIX@/@OPENJPEG_INSTALL_PACKAGE_DIR@") + set(INC_DIR "@CMAKE_INSTALL_PREFIX@/@OPENJPEG_INSTALL_INCLUDE_DIR@") +- get_filename_component(OPENJPEG_INCLUDE_DIRS "${INC_DIR}" ABSOLUTE) ++ file(RELATIVE_PATH PKG_TO_INC_RPATH "${PKG_DIR}" "${INC_DIR}") ++ ++ get_filename_component(OPENJPEG_INCLUDE_DIRS "${SELF_DIR}/${PKG_TO_INC_RPATH}" ABSOLUTE) + + else() + if(EXISTS ${SELF_DIR}/OpenJPEGExports.cmake) +-- +2.29.2 + diff --git a/buildroot/package/openjpeg/0004-convertbmp-detect-invalid-file-dimensions-early.patch b/buildroot/package/openjpeg/0004-convertbmp-detect-invalid-file-dimensions-early.patch deleted file mode 100644 index c648020bf..000000000 --- a/buildroot/package/openjpeg/0004-convertbmp-detect-invalid-file-dimensions-early.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 21399f6b7d318fcdf4406d5e88723c4922202aa3 Mon Sep 17 00:00:00 2001 -From: Young Xiao -Date: Sat, 16 Mar 2019 19:57:27 +0800 -Subject: [PATCH] convertbmp: detect invalid file dimensions early - -width/length dimensions read from bmp headers are not necessarily -valid. For instance they may have been maliciously set to very large -values with the intention to cause DoS (large memory allocation, stack -overflow). In these cases we want to detect the invalid size as early -as possible. - -This commit introduces a counter which verifies that the number of -written bytes corresponds to the advertized width/length. - -See commit 8ee335227bbc for details. - -Signed-off-by: Young Xiao -[Retrieved from: -https://github.com/uclouvain/openjpeg/commit/21399f6b7d318fcdf4406d5e88723c4922202aa3] -Signed-off-by: Fabrice Fontaine ---- - src/bin/jp2/convertbmp.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/src/bin/jp2/convertbmp.c b/src/bin/jp2/convertbmp.c -index 0af52f816..ec34f535b 100644 ---- a/src/bin/jp2/convertbmp.c -+++ b/src/bin/jp2/convertbmp.c -@@ -622,13 +622,13 @@ static OPJ_BOOL bmp_read_rle8_data(FILE* IN, OPJ_UINT8* pData, - static OPJ_BOOL bmp_read_rle4_data(FILE* IN, OPJ_UINT8* pData, - OPJ_UINT32 stride, OPJ_UINT32 width, OPJ_UINT32 height) - { -- OPJ_UINT32 x, y; -+ OPJ_UINT32 x, y, written; - OPJ_UINT8 *pix; - const OPJ_UINT8 *beyond; - - beyond = pData + stride * height; - pix = pData; -- x = y = 0U; -+ x = y = written = 0U; - while (y < height) { - int c = getc(IN); - if (c == EOF) { -@@ -642,6 +642,7 @@ static OPJ_BOOL bmp_read_rle4_data(FILE* IN, OPJ_UINT8* pData, - for (j = 0; (j < c) && (x < width) && - ((OPJ_SIZE_T)pix < (OPJ_SIZE_T)beyond); j++, x++, pix++) { - *pix = (OPJ_UINT8)((j & 1) ? (c1 & 0x0fU) : ((c1 >> 4) & 0x0fU)); -+ written++; - } - } else { /* absolute mode */ - c = getc(IN); -@@ -671,6 +672,7 @@ static OPJ_BOOL bmp_read_rle4_data(FILE* IN, OPJ_UINT8* pData, - c1 = (OPJ_UINT8)getc(IN); - } - *pix = (OPJ_UINT8)((j & 1) ? (c1 & 0x0fU) : ((c1 >> 4) & 0x0fU)); -+ written++; - } - if (((c & 3) == 1) || ((c & 3) == 2)) { /* skip padding byte */ - getc(IN); -@@ -678,6 +680,10 @@ static OPJ_BOOL bmp_read_rle4_data(FILE* IN, OPJ_UINT8* pData, - } - } - } /* while(y < height) */ -+ if (written != width * height) { -+ fprintf(stderr, "warning, image's actual size does not match advertized one\n"); -+ return OPJ_FALSE; -+ } - return OPJ_TRUE; - } - diff --git a/buildroot/package/openjpeg/0005-bmp_read_rle4_data-avoid-potential-infinite-loop.patch b/buildroot/package/openjpeg/0005-bmp_read_rle4_data-avoid-potential-infinite-loop.patch deleted file mode 100644 index dbaea3c8d..000000000 --- a/buildroot/package/openjpeg/0005-bmp_read_rle4_data-avoid-potential-infinite-loop.patch +++ /dev/null @@ -1,86 +0,0 @@ -From 3aef207f90e937d4931daf6d411e092f76d82e66 Mon Sep 17 00:00:00 2001 -From: Young Xiao -Date: Sat, 16 Mar 2019 20:09:59 +0800 -Subject: [PATCH] bmp_read_rle4_data(): avoid potential infinite loop - -[Retrieved from: -https://github.com/uclouvain/openjpeg/commit/3aef207f90e937d4931daf6d411e092f76d82e66] -Signed-off-by: Fabrice Fontaine ---- - src/bin/jp2/convertbmp.c | 32 ++++++++++++++++++++++++++------ - 1 file changed, 26 insertions(+), 6 deletions(-) - -diff --git a/src/bin/jp2/convertbmp.c b/src/bin/jp2/convertbmp.c -index ec34f535b..2fc4e9bc4 100644 ---- a/src/bin/jp2/convertbmp.c -+++ b/src/bin/jp2/convertbmp.c -@@ -632,12 +632,18 @@ static OPJ_BOOL bmp_read_rle4_data(FILE* IN, OPJ_UINT8* pData, - while (y < height) { - int c = getc(IN); - if (c == EOF) { -- break; -+ return OPJ_FALSE; - } - - if (c) { /* encoded mode */ -- int j; -- OPJ_UINT8 c1 = (OPJ_UINT8)getc(IN); -+ int j, c1_int; -+ OPJ_UINT8 c1; -+ -+ c1_int = getc(IN); -+ if (c1_int == EOF) { -+ return OPJ_FALSE; -+ } -+ c1 = (OPJ_UINT8)c1_int; - - for (j = 0; (j < c) && (x < width) && - ((OPJ_SIZE_T)pix < (OPJ_SIZE_T)beyond); j++, x++, pix++) { -@@ -647,7 +653,7 @@ static OPJ_BOOL bmp_read_rle4_data(FILE* IN, OPJ_UINT8* pData, - } else { /* absolute mode */ - c = getc(IN); - if (c == EOF) { -- break; -+ return OPJ_FALSE; - } - - if (c == 0x00) { /* EOL */ -@@ -658,8 +664,14 @@ static OPJ_BOOL bmp_read_rle4_data(FILE* IN, OPJ_UINT8* pData, - break; - } else if (c == 0x02) { /* MOVE by dxdy */ - c = getc(IN); -+ if (c == EOF) { -+ return OPJ_FALSE; -+ } - x += (OPJ_UINT32)c; - c = getc(IN); -+ if (c == EOF) { -+ return OPJ_FALSE; -+ } - y += (OPJ_UINT32)c; - pix = pData + y * stride + x; - } else { /* 03 .. 255 : absolute mode */ -@@ -669,13 +681,21 @@ static OPJ_BOOL bmp_read_rle4_data(FILE* IN, OPJ_UINT8* pData, - for (j = 0; (j < c) && (x < width) && - ((OPJ_SIZE_T)pix < (OPJ_SIZE_T)beyond); j++, x++, pix++) { - if ((j & 1) == 0) { -- c1 = (OPJ_UINT8)getc(IN); -+ int c1_int; -+ c1_int = getc(IN); -+ if (c1_int == EOF) { -+ return OPJ_FALSE; -+ } -+ c1 = (OPJ_UINT8)c1_int; - } - *pix = (OPJ_UINT8)((j & 1) ? (c1 & 0x0fU) : ((c1 >> 4) & 0x0fU)); - written++; - } - if (((c & 3) == 1) || ((c & 3) == 2)) { /* skip padding byte */ -- getc(IN); -+ c = getc(IN); -+ if (c == EOF) { -+ return OPJ_FALSE; -+ } - } - } - } diff --git a/buildroot/package/openjpeg/0006-opj_j2k_update_image_dimensions-reject-images-whose-coordinates.patch b/buildroot/package/openjpeg/0006-opj_j2k_update_image_dimensions-reject-images-whose-coordinates.patch deleted file mode 100644 index fe1390a31..000000000 --- a/buildroot/package/openjpeg/0006-opj_j2k_update_image_dimensions-reject-images-whose-coordinates.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 024b8407392cb0b82b04b58ed256094ed5799e04 Mon Sep 17 00:00:00 2001 -From: Even Rouault -Date: Sat, 11 Jan 2020 01:51:19 +0100 -Subject: [PATCH] opj_j2k_update_image_dimensions(): reject images whose - coordinates are beyond INT_MAX (fixes #1228) - -[Retrieved from: -https://github.com/uclouvain/openjpeg/commit/024b8407392cb0b82b04b58ed256094ed5799e04] -Signed-off-by: Fabrice Fontaine ---- - src/lib/openjp2/j2k.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/src/lib/openjp2/j2k.c b/src/lib/openjp2/j2k.c -index 14f6ff41a..922550eb1 100644 ---- a/src/lib/openjp2/j2k.c -+++ b/src/lib/openjp2/j2k.c -@@ -9221,6 +9221,14 @@ static OPJ_BOOL opj_j2k_update_image_dimensions(opj_image_t* p_image, - l_img_comp = p_image->comps; - for (it_comp = 0; it_comp < p_image->numcomps; ++it_comp) { - OPJ_INT32 l_h, l_w; -+ if (p_image->x0 > (OPJ_UINT32)INT_MAX || -+ p_image->y0 > (OPJ_UINT32)INT_MAX || -+ p_image->x1 > (OPJ_UINT32)INT_MAX || -+ p_image->y1 > (OPJ_UINT32)INT_MAX) { -+ opj_event_msg(p_manager, EVT_ERROR, -+ "Image coordinates above INT_MAX are not supported\n"); -+ return OPJ_FALSE; -+ } - - l_img_comp->x0 = (OPJ_UINT32)opj_int_ceildiv((OPJ_INT32)p_image->x0, - (OPJ_INT32)l_img_comp->dx); diff --git a/buildroot/package/openjpeg/0007-opj_tcd_init_tile-avoid-integer-overflow.patch b/buildroot/package/openjpeg/0007-opj_tcd_init_tile-avoid-integer-overflow.patch deleted file mode 100644 index 7d82377d5..000000000 --- a/buildroot/package/openjpeg/0007-opj_tcd_init_tile-avoid-integer-overflow.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 05f9b91e60debda0e83977e5e63b2e66486f7074 Mon Sep 17 00:00:00 2001 -From: Even Rouault -Date: Thu, 30 Jan 2020 00:59:57 +0100 -Subject: [PATCH] opj_tcd_init_tile(): avoid integer overflow - -That could lead to later assertion failures. - -Fixes #1231 / CVE-2020-8112 -[Retrieved from: -https://github.com/uclouvain/openjpeg/commit/05f9b91e60debda0e83977e5e63b2e66486f7074] -Signed-off-by: Fabrice Fontaine ---- - src/lib/openjp2/tcd.c | 20 ++++++++++++++++++-- - 1 file changed, 18 insertions(+), 2 deletions(-) - -diff --git a/src/lib/openjp2/tcd.c b/src/lib/openjp2/tcd.c -index deecc4dff..aa419030a 100644 ---- a/src/lib/openjp2/tcd.c -+++ b/src/lib/openjp2/tcd.c -@@ -905,8 +905,24 @@ static INLINE OPJ_BOOL opj_tcd_init_tile(opj_tcd_t *p_tcd, OPJ_UINT32 p_tile_no, - /* p. 64, B.6, ISO/IEC FDIS15444-1 : 2000 (18 august 2000) */ - l_tl_prc_x_start = opj_int_floordivpow2(l_res->x0, (OPJ_INT32)l_pdx) << l_pdx; - l_tl_prc_y_start = opj_int_floordivpow2(l_res->y0, (OPJ_INT32)l_pdy) << l_pdy; -- l_br_prc_x_end = opj_int_ceildivpow2(l_res->x1, (OPJ_INT32)l_pdx) << l_pdx; -- l_br_prc_y_end = opj_int_ceildivpow2(l_res->y1, (OPJ_INT32)l_pdy) << l_pdy; -+ { -+ OPJ_UINT32 tmp = ((OPJ_UINT32)opj_int_ceildivpow2(l_res->x1, -+ (OPJ_INT32)l_pdx)) << l_pdx; -+ if (tmp > (OPJ_UINT32)INT_MAX) { -+ opj_event_msg(manager, EVT_ERROR, "Integer overflow\n"); -+ return OPJ_FALSE; -+ } -+ l_br_prc_x_end = (OPJ_INT32)tmp; -+ } -+ { -+ OPJ_UINT32 tmp = ((OPJ_UINT32)opj_int_ceildivpow2(l_res->y1, -+ (OPJ_INT32)l_pdy)) << l_pdy; -+ if (tmp > (OPJ_UINT32)INT_MAX) { -+ opj_event_msg(manager, EVT_ERROR, "Integer overflow\n"); -+ return OPJ_FALSE; -+ } -+ l_br_prc_y_end = (OPJ_INT32)tmp; -+ } - /*fprintf(stderr, "\t\t\tprc_x_start=%d, prc_y_start=%d, br_prc_x_end=%d, br_prc_y_end=%d \n", l_tl_prc_x_start, l_tl_prc_y_start, l_br_prc_x_end ,l_br_prc_y_end );*/ - - l_res->pw = (l_res->x0 == l_res->x1) ? 0U : (OPJ_UINT32)(( diff --git a/buildroot/package/openjpeg/0008-opj_decompress-fix-double-free-on-input-directory-with-mix-of-valid.patch b/buildroot/package/openjpeg/0008-opj_decompress-fix-double-free-on-input-directory-with-mix-of-valid.patch deleted file mode 100644 index 4c1b3eb2a..000000000 --- a/buildroot/package/openjpeg/0008-opj_decompress-fix-double-free-on-input-directory-with-mix-of-valid.patch +++ /dev/null @@ -1,43 +0,0 @@ -From e8e258ab049240c2dd1f1051b4e773b21e2d3dc0 Mon Sep 17 00:00:00 2001 -From: Even Rouault -Date: Sun, 28 Jun 2020 14:19:59 +0200 -Subject: [PATCH] opj_decompress: fix double-free on input directory with mix - of valid and invalid images (CVE-2020-15389) - -Fixes #1261 - -Credits to @Ruia-ruia for reporting and analysis. - -[Retrieved from: -https://github.com/uclouvain/openjpeg/commit/e8e258ab049240c2dd1f1051b4e773b21e2d3dc0] -Signed-off-by: Fabrice Fontaine ---- - src/bin/jp2/opj_decompress.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/bin/jp2/opj_decompress.c b/src/bin/jp2/opj_decompress.c -index 7eeb0952f..2634907f0 100644 ---- a/src/bin/jp2/opj_decompress.c -+++ b/src/bin/jp2/opj_decompress.c -@@ -1316,10 +1316,6 @@ static opj_image_t* upsample_image_components(opj_image_t* original) - int main(int argc, char **argv) - { - opj_decompress_parameters parameters; /* decompression parameters */ -- opj_image_t* image = NULL; -- opj_stream_t *l_stream = NULL; /* Stream */ -- opj_codec_t* l_codec = NULL; /* Handle to a decompressor */ -- opj_codestream_index_t* cstr_index = NULL; - - OPJ_INT32 num_images, imageno; - img_fol_t img_fol; -@@ -1393,6 +1389,10 @@ int main(int argc, char **argv) - - /*Decoding image one by one*/ - for (imageno = 0; imageno < num_images ; imageno++) { -+ opj_image_t* image = NULL; -+ opj_stream_t *l_stream = NULL; /* Stream */ -+ opj_codec_t* l_codec = NULL; /* Handle to a decompressor */ -+ opj_codestream_index_t* cstr_index = NULL; - - if (!parameters.quiet) { - fprintf(stderr, "\n"); diff --git a/buildroot/package/openjpeg/openjpeg.hash b/buildroot/package/openjpeg/openjpeg.hash index 31c5b5040..879824525 100644 --- a/buildroot/package/openjpeg/openjpeg.hash +++ b/buildroot/package/openjpeg/openjpeg.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 63f5a4713ecafc86de51bfad89cc07bb788e9bba24ebbf0c4ca637621aadb6a9 openjpeg-2.3.1.tar.gz -sha256 a6af136f3e15038a666b61f376612a07d9a4e48cb7c01adbf3e33b3f14ab49b6 LICENSE +sha256 8702ba68b442657f11aaeb2b338443ca8d5fb95b0d845757968a7be31ef7f16d openjpeg-2.4.0.tar.gz +sha256 a6af136f3e15038a666b61f376612a07d9a4e48cb7c01adbf3e33b3f14ab49b6 LICENSE diff --git a/buildroot/package/openjpeg/openjpeg.mk b/buildroot/package/openjpeg/openjpeg.mk index b65dbce80..7663cbb0b 100644 --- a/buildroot/package/openjpeg/openjpeg.mk +++ b/buildroot/package/openjpeg/openjpeg.mk @@ -4,25 +4,12 @@ # ################################################################################ -OPENJPEG_VERSION = 2.3.1 +OPENJPEG_VERSION = 2.4.0 OPENJPEG_SITE = $(call github,uclouvain,openjpeg,v$(OPENJPEG_VERSION)) OPENJPEG_LICENSE = BSD-2-Clause OPENJPEG_LICENSE_FILES = LICENSE OPENJPEG_INSTALL_STAGING = YES -# 0004-convertbmp-detect-invalid-file-dimensions-early.patch -# 0005-bmp_read_rle4_data-avoid-potential-infinite-loop.patch -OPENJPEG_IGNORE_CVES += CVE-2019-12973 - -# 0006-opj_j2k_update_image_dimensions-reject-images-whose-coordinates.patch -OPENJPEG_IGNORE_CVES += CVE-2020-6851 - -# 0007-opj_tcd_init_tile-avoid-integer-overflow.patch -OPENJPEG_IGNORE_CVES += CVE-2020-8112 - -# 0008-opj_decompress-fix-double-free-on-input-directory-with-mix-of-valid.patch -OPENJPEG_IGNORE_CVES += CVE-2020-15389 - OPENJPEG_DEPENDENCIES += $(if $(BR2_PACKAGE_ZLIB),zlib) OPENJPEG_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBPNG),libpng) OPENJPEG_DEPENDENCIES += $(if $(BR2_PACKAGE_TIFF),tiff) diff --git a/buildroot/package/openldap/openldap.hash b/buildroot/package/openldap/openldap.hash index 4908f6e69..f2ffdf53b 100644 --- a/buildroot/package/openldap/openldap.hash +++ b/buildroot/package/openldap/openldap.hash @@ -1,7 +1,7 @@ -# From https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.56.md5 -md5 82a7dcf7aeaf95fdad16017c0ed9983a openldap-2.4.56.tgz -# From https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.56.sha1 -sha1 4c617b87bd50ef8d071e7deb7525af79b08d4910 openldap-2.4.56.tgz +# From https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.57.md5 +md5 e3349456c3a66e5e6155be7ddc3f042c openldap-2.4.57.tgz +# From https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.57.sha1 +sha1 1cffa70a3ea8545948041fd113f8f53bc24d6d87 openldap-2.4.57.tgz # Locally computed -sha256 25520e0363c93f3bcb89802a4aa3db33046206039436e0c7c9262db5a61115e0 openldap-2.4.56.tgz +sha256 c7ba47e1e6ecb5b436f3d43281df57abeffa99262141aec822628bc220f6b45a openldap-2.4.57.tgz sha256 310fe25c858a9515fc8c8d7d1f24a67c9496f84a91e0a0e41ea9975b1371e569 LICENSE diff --git a/buildroot/package/openldap/openldap.mk b/buildroot/package/openldap/openldap.mk index e44c958c4..e361fc420 100644 --- a/buildroot/package/openldap/openldap.mk +++ b/buildroot/package/openldap/openldap.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENLDAP_VERSION = 2.4.56 +OPENLDAP_VERSION = 2.4.57 OPENLDAP_SOURCE = openldap-$(OPENLDAP_VERSION).tgz OPENLDAP_SITE = https://www.openldap.org/software/download/OpenLDAP/openldap-release OPENLDAP_LICENSE = OpenLDAP Public License diff --git a/buildroot/package/opentracing-cpp/opentracing-cpp.mk b/buildroot/package/opentracing-cpp/opentracing-cpp.mk index d466a8023..0605cd5d9 100644 --- a/buildroot/package/opentracing-cpp/opentracing-cpp.mk +++ b/buildroot/package/opentracing-cpp/opentracing-cpp.mk @@ -22,4 +22,6 @@ else ifeq ($(BR2_SHARED_LIBS),y) OPENTRACING_CPP_CONF_OPTS += -DBUILD_STATIC_LIBS=OFF endif +OPENTRACING_CPP_CONF_OPTS += -DENABLE_LINTING=OFF + $(eval $(cmake-package)) diff --git a/buildroot/package/openvpn/openvpn.mk b/buildroot/package/openvpn/openvpn.mk index 1008c47b5..bc01c893c 100644 --- a/buildroot/package/openvpn/openvpn.mk +++ b/buildroot/package/openvpn/openvpn.mk @@ -72,11 +72,6 @@ else OPENVPN_CONF_OPTS += --disable-systemd endif -define OPENVPN_INSTALL_TARGET_CMDS - $(INSTALL) -m 755 $(@D)/src/openvpn/openvpn \ - $(TARGET_DIR)/usr/sbin/openvpn -endef - define OPENVPN_INSTALL_INIT_SYSV $(INSTALL) -m 755 -D package/openvpn/S60openvpn \ $(TARGET_DIR)/etc/init.d/S60openvpn diff --git a/buildroot/package/p11-kit/0001-p11-kit-lists-c-Add-stdint-h-to-fix-compilation.patch b/buildroot/package/p11-kit/0001-p11-kit-lists-c-Add-stdint-h-to-fix-compilation.patch new file mode 100644 index 000000000..d4828666d --- /dev/null +++ b/buildroot/package/p11-kit/0001-p11-kit-lists-c-Add-stdint-h-to-fix-compilation.patch @@ -0,0 +1,28 @@ +From 507c394cfcf4edffc5e4450c5d737e545c26b857 Mon Sep 17 00:00:00 2001 +From: Daniel Engberg +Date: Sat, 12 Dec 2020 18:56:38 +0100 +Subject: [PATCH] p11-kit/lists.c: Add stdint.h to fix compilation + +Add stdint.h otherwise compilation fails on FreeBSD 13-CURRENT with "use of undeclared identifier 'SIZE_MAX'" + +Signed-off-by: Daniel Engberg + +[Retrieved from: +https://github.com/p11-glue/p11-kit/commit/507c394cfcf4edffc5e4450c5d737e545c26b857] +Signed-off-by: Fabrice Fontaine +--- + p11-kit/lists.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/p11-kit/lists.c b/p11-kit/lists.c +index 365a6d89..1d9062be 100644 +--- a/p11-kit/lists.c ++++ b/p11-kit/lists.c +@@ -39,6 +39,7 @@ + + #include + #include ++#include + #include + #include + #include diff --git a/buildroot/package/p11-kit/Config.in b/buildroot/package/p11-kit/Config.in index a6b726188..9be76c2f4 100644 --- a/buildroot/package/p11-kit/Config.in +++ b/buildroot/package/p11-kit/Config.in @@ -3,8 +3,6 @@ config BR2_PACKAGE_P11_KIT depends on !BR2_STATIC_LIBS depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_THREADS - select BR2_PACKAGE_LIBFFI - select BR2_PACKAGE_LIBTASN1 help Provides a way to load and enumerate PKCS#11 modules. Provides a standard configuration setup for installing PKCS#11 diff --git a/buildroot/package/p11-kit/p11-kit.hash b/buildroot/package/p11-kit/p11-kit.hash index 45f0f1d64..3481a40b0 100644 --- a/buildroot/package/p11-kit/p11-kit.hash +++ b/buildroot/package/p11-kit/p11-kit.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 4b34e92ae36fa493e0d94366c767f06d5f9951e3d8581d10fd935d738db1574d p11-kit-0.23.16.1.tar.gz +sha256 8a8f40153dd5a3f8e7c03e641f8db400133fb2a6a9ab2aee1b6d0cb0495ec6b6 p11-kit-0.23.22.tar.xz # Locally computed -sha256 2e1ba993904df807a10c3eda1e5c272338edc35674b679773a8b3ad460731054 COPYING +sha256 2e1ba993904df807a10c3eda1e5c272338edc35674b679773a8b3ad460731054 COPYING diff --git a/buildroot/package/p11-kit/p11-kit.mk b/buildroot/package/p11-kit/p11-kit.mk index 1f72e0515..81972f811 100644 --- a/buildroot/package/p11-kit/p11-kit.mk +++ b/buildroot/package/p11-kit/p11-kit.mk @@ -4,9 +4,9 @@ # ################################################################################ -P11_KIT_VERSION = 0.23.16.1 +P11_KIT_VERSION = 0.23.22 +P11_KIT_SOURCE = p11-kit-$(P11_KIT_VERSION).tar.xz P11_KIT_SITE = https://github.com/p11-glue/p11-kit/releases/download/$(P11_KIT_VERSION) -P11_KIT_DEPENDENCIES = host-pkgconf libffi libtasn1 P11_KIT_INSTALL_STAGING = YES P11_KIT_CONF_OPTS = --disable-static P11_KIT_CONF_ENV = ac_cv_have_decl_program_invocation_short_name=yes \ @@ -14,10 +14,27 @@ P11_KIT_CONF_ENV = ac_cv_have_decl_program_invocation_short_name=yes \ P11_KIT_LICENSE = BSD-3-Clause P11_KIT_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_LIBFFI),y) +P11_KIT_DEPENDENCIES += host-pkgconf libffi +P11_KIT_CONF_OPTS += --with-libffi +else +P11_KIT_CONF_OPTS += --without-libffi +endif + +ifeq ($(BR2_PACKAGE_LIBTASN1),y) +P11_KIT_DEPENDENCIES += host-pkgconf libtasn1 +P11_KIT_CONF_OPTS += \ + --enable-trust-module \ + --with-libtasn1 ifeq ($(BR2_PACKAGE_CA_CERTIFICATES),y) P11_KIT_CONF_OPTS += --with-trust-paths=/etc/ssl/certs/ca-certificates.crt else P11_KIT_CONF_OPTS += --without-trust-paths endif +else +P11_KIT_CONF_OPTS += \ + --disable-trust-module \ + --without-libtasn1 +endif $(eval $(autotools-package)) diff --git a/buildroot/package/paho-mqtt-c/paho-mqtt-c.hash b/buildroot/package/paho-mqtt-c/paho-mqtt-c.hash index 93ce1b34f..5223757f0 100644 --- a/buildroot/package/paho-mqtt-c/paho-mqtt-c.hash +++ b/buildroot/package/paho-mqtt-c/paho-mqtt-c.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 19e9f04ddf244ab8c937d7e631ca15cedce7df95712c554107600e80efdaf277 paho-mqtt-c-1.3.7.tar.gz +sha256 4920ff685344cdb0272568bc4414dcf48fcdfc4a98c78b1f3ca49c38417bf391 paho-mqtt-c-1.3.8.tar.gz sha256 83bbba033dc985487e321b6dfde111772affb73460be48726299fed3da684b1c edl-v10 sha256 0becf16567beb77fa252b7664631dd177c8f9a1889e48995b45379c7130e5303 epl-v20 sha256 bc0f3f447097eb82a29ad6c2f4929572bb548b6bd4c9e38fde1bf131a771b7a0 LICENSE diff --git a/buildroot/package/paho-mqtt-c/paho-mqtt-c.mk b/buildroot/package/paho-mqtt-c/paho-mqtt-c.mk index a477c8baa..b9b4f217f 100644 --- a/buildroot/package/paho-mqtt-c/paho-mqtt-c.mk +++ b/buildroot/package/paho-mqtt-c/paho-mqtt-c.mk @@ -4,7 +4,7 @@ # ################################################################################ -PAHO_MQTT_C_VERSION = 1.3.7 +PAHO_MQTT_C_VERSION = 1.3.8 PAHO_MQTT_C_SITE = $(call github,eclipse,paho.mqtt.c,v$(PAHO_MQTT_C_VERSION)) PAHO_MQTT_C_LICENSE = EPL-2.0 or BSD-3-Clause PAHO_MQTT_C_LICENSE_FILES = epl-v20 edl-v10 LICENSE diff --git a/buildroot/package/php/0002-iconv-tweak-iconv-detection.patch b/buildroot/package/php/0002-iconv-tweak-iconv-detection.patch index 959afd80d..65ed6055b 100644 --- a/buildroot/package/php/0002-iconv-tweak-iconv-detection.patch +++ b/buildroot/package/php/0002-iconv-tweak-iconv-detection.patch @@ -26,7 +26,7 @@ diff --git a/build/php.m4 b/build/php.m4 index 9586c490..8b3d47ed 100644 --- a/build/php.m4 +++ b/build/php.m4 -@@ -1967,7 +1967,7 @@ AC_DEFUN([PHP_SETUP_ICONV], [ +@@ -1973,7 +1973,7 @@ AC_DEFUN([PHP_SETUP_ICONV], [ dnl Check external libs for iconv funcs. if test "$found_iconv" = "no"; then diff --git a/buildroot/package/php/Config.in b/buildroot/package/php/Config.in index 246957354..6fa420428 100644 --- a/buildroot/package/php/Config.in +++ b/buildroot/package/php/Config.in @@ -10,6 +10,7 @@ config BR2_PACKAGE_PHP !BR2_PACKAGE_PHP_SAPI_FPM && \ BR2_USE_MMU select BR2_PACKAGE_PHP_SAPI_CLI if !BR2_USE_MMU + select BR2_PACKAGE_PCRE2 help PHP is a widely-used general-purpose scripting language that is especially suited for Web development diff --git a/buildroot/package/php/php.hash b/buildroot/package/php/php.hash index 5078228f4..46c589661 100644 --- a/buildroot/package/php/php.hash +++ b/buildroot/package/php/php.hash @@ -1,5 +1,5 @@ # From https://www.php.net/downloads.php -sha256 aead303e3abac23106529560547baebbedba0bb2943b91d5aa08fff1f41680f4 php-7.4.13.tar.xz +sha256 f9f3c37969fcd9006c1dbb1dd76ab53f28c698a1646fa2dde8547c3f45e02886 php-7.4.14.tar.xz # License file sha256 0967ad6cf4b7fe81d38709d7aaef3fecb3bd685be7eebb37b864aa34c991baa7 LICENSE diff --git a/buildroot/package/php/php.mk b/buildroot/package/php/php.mk index 0feb96e97..fa518c301 100644 --- a/buildroot/package/php/php.mk +++ b/buildroot/package/php/php.mk @@ -4,13 +4,13 @@ # ################################################################################ -PHP_VERSION = 7.4.13 +PHP_VERSION = 7.4.14 PHP_SITE = http://www.php.net/distributions PHP_SOURCE = php-$(PHP_VERSION).tar.xz PHP_INSTALL_STAGING = YES PHP_INSTALL_STAGING_OPTS = INSTALL_ROOT=$(STAGING_DIR) install PHP_INSTALL_TARGET_OPTS = INSTALL_ROOT=$(TARGET_DIR) install -PHP_DEPENDENCIES = host-pkgconf +PHP_DEPENDENCIES = host-pkgconf pcre2 PHP_LICENSE = PHP-3.01 PHP_LICENSE_FILES = LICENSE PHP_CONF_OPTS = \ @@ -18,6 +18,7 @@ PHP_CONF_OPTS = \ --infodir=/usr/share/info \ --with-config-file-scan-dir=/etc/php.d \ --disable-all \ + --with-external-pcre \ --without-pear \ --with-config-file-path=/etc \ --disable-phpdbg \ @@ -258,11 +259,6 @@ define PHP_DISABLE_VALGRIND endef PHP_POST_CONFIGURE_HOOKS += PHP_DISABLE_VALGRIND -### Use external PCRE if it's available -ifeq ($(BR2_PACKAGE_PCRE2),y) -PHP_CONF_OPTS += --with-pcre-regex=$(STAGING_DIR)/usr -PHP_DEPENDENCIES += pcre2 - ifeq ($(BR2_PACKAGE_PCRE2_JIT),y) PHP_CONF_OPTS += --with-pcre-jit=yes PHP_CONF_ENV += ac_cv_have_pcre2_jit=yes @@ -271,21 +267,6 @@ PHP_CONF_OPTS += --with-pcre-jit=no PHP_CONF_ENV += ac_cv_have_pcre2_jit=no endif -else -# The bundled pcre library is not configurable through ./configure options, -# and by default is configured to be thread-safe, so it wants pthreads. So -# we must explicitly tell it when we don't have threads. -ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),) -PHP_CFLAGS += -DSLJIT_SINGLE_THREADED=1 -endif -# check ext/pcre/pcrelib/sljit/sljitConfigInternal.h for supported archs -ifeq ($(BR2_i386)$(BR2_x86_64)$(BR2_arm)$(BR2_armeb)$(BR2_aarch64)$(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el)$(BR2_powerpc)$(BR2_sparc),y) -PHP_CONF_OPTS += --with-pcre-jit -else -PHP_CONF_OPTS += --without-pcre-jit -endif -endif - ifeq ($(BR2_PACKAGE_PHP_EXT_CURL),y) PHP_CONF_OPTS += --with-curl PHP_DEPENDENCIES += libcurl diff --git a/buildroot/package/pkg-cmake.mk b/buildroot/package/pkg-cmake.mk index 3ee706725..c00105100 100644 --- a/buildroot/package/pkg-cmake.mk +++ b/buildroot/package/pkg-cmake.mk @@ -58,7 +58,7 @@ $(2)_MAKE_ENV ?= $(2)_MAKE_OPTS ?= $(2)_INSTALL_OPTS ?= install $(2)_INSTALL_STAGING_OPTS ?= DESTDIR=$$(STAGING_DIR) install/fast -$(2)_INSTALL_TARGET_OPTS ?= DESTDIR=$$(TARGET_DIR) install/fast +$(2)_INSTALL_TARGET_OPTS ?= DESTDIR=$$(TARGET_DIR) install/fast $(3)_SUPPORTS_IN_SOURCE_BUILD ?= YES diff --git a/buildroot/package/pkg-generic.mk b/buildroot/package/pkg-generic.mk index 54de03da0..021658d63 100644 --- a/buildroot/package/pkg-generic.mk +++ b/buildroot/package/pkg-generic.mk @@ -567,6 +567,12 @@ ifneq ($$(filter bzr cvs hg,$$($(2)_SITE_METHOD)),) BR_NO_CHECK_HASH_FOR += $$($(2)_SOURCE) endif +ifndef $(2)_GIT_SUBMODULES + ifdef $(3)_GIT_SUBMODULES + $(2)_GIT_SUBMODULES = $$($(3)_GIT_SUBMODULES) + endif +endif + # Do not accept to download git submodule if not using the git method ifneq ($$($(2)_GIT_SUBMODULES),) ifneq ($$($(2)_SITE_METHOD),git) diff --git a/buildroot/package/pkg-meson.mk b/buildroot/package/pkg-meson.mk index e0b843dc3..de0e6e8ea 100644 --- a/buildroot/package/pkg-meson.mk +++ b/buildroot/package/pkg-meson.mk @@ -81,7 +81,11 @@ define $(2)_CONFIGURE_CMDS -e "/^\[properties\]$$$$/s:$$$$:$$(foreach x,$$($(2)_MESON_EXTRA_PROPERTIES),\n$$(x)):" \ package/meson/cross-compilation.conf.in \ > $$($$(PKG)_SRCDIR)/build/cross-compilation.conf - PATH=$$(BR_PATH) $$($$(PKG)_CONF_ENV) $$(MESON) \ + PATH=$$(BR_PATH) \ + CC_FOR_BUILD="$(HOSTCC)" \ + CXX_FOR_BUILD="$(HOSTCC)" \ + $$($$(PKG)_CONF_ENV) \ + $$(MESON) \ --prefix=/usr \ --libdir=lib \ --default-library=$(if $(BR2_STATIC_LIBS),static,shared) \ diff --git a/buildroot/package/poppler/poppler.mk b/buildroot/package/poppler/poppler.mk index e452c2336..c5e1a800f 100644 --- a/buildroot/package/poppler/poppler.mk +++ b/buildroot/package/poppler/poppler.mk @@ -27,6 +27,10 @@ ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) POPPLER_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -latomic" endif +ifeq ($(BR2_PACKAGE_BOOST),y) +POPPLER_DEPENDENCIES += boost +endif + ifeq ($(BR2_PACKAGE_JPEG),y) POPPLER_DEPENDENCIES += jpeg POPPLER_CONF_OPTS += -DENABLE_DCTDECODER=libjpeg -DWITH_JPEG=ON @@ -98,6 +102,9 @@ endif ifeq ($(BR2_PACKAGE_LIBGLIB2),y) POPPLER_DEPENDENCIES += libglib2 +POPPLER_CONF_OPTS += -DENABLE_GLIB=ON +else +POPPLER_CONF_OPTS += -DENABLE_GLIB=OFF endif ifeq ($(BR2_PACKAGE_LIBNSS),y) diff --git a/buildroot/package/postgresql/pg_config b/buildroot/package/postgresql/pg_config index 59a9e6cfa..3b0cb35f2 100644 --- a/buildroot/package/postgresql/pg_config +++ b/buildroot/package/postgresql/pg_config @@ -2,7 +2,6 @@ # # Minimal pg_config implementation as replacement for the native pg_config application -# Only implements --includedir and --libdir # prefix=/usr @@ -11,6 +10,9 @@ case "$1" in --includedir) echo "$prefix/include" ;; + --pkgincludedir) + echo "$prefix/include/postgresql" + ;; --includedir-server) echo "$prefix/include/postgresql/server" ;; @@ -23,6 +25,51 @@ case "$1" in --configure) echo "@POSTGRESQL_CONF_OPTIONS@" ;; + --pgxs) + echo "$prefix/lib/postgresql/pgxs/src/makefiles/pgxs.mk" + ;; + --cflags) + echo "@TARGET_CFLAGS@" + ;; + --cc) + echo "@TARGET_CC@" + ;; + --pkglibdir) + echo "/usr/lib/postgresql" + ;; + --bindir) + echo "/usr/bin" + ;; + --sharedir) + echo "/usr/share/postgresql" + ;; + --localedir) + echo "/usr/share/locale" + ;; + --docdir) + echo "/usr/share/doc/postgresql" + ;; + --mandir) + echo "/usr/share/man" + ;; *) - echo "Usage: $0 {--includedir|--includedir-server|--libdir|--version|--configure}" + echo "Usage: $0 {OPTION}" + echo + echo "Options:" + echo + echo " --includedir show location of C header files of the client interfaces" + echo " --pkgincludedir show location of other C header files" + echo " --includedir-server show location of C header files for the server" + echo " --libdir show location of object code libraries" + echo " --version show the PostgreSQL version" + echo " --configure show options given to configure script" + echo " --pgxs show location of extension makefile" + echo " --cflags show CFLAGS value used when PostgreSQL was built" + echo " --cc show CC value used when PostgreSQL was built" + echo " --pkglibdir show location of dynamically loadable modules" + echo " --bindir show location of user executables" + echo " --sharedir show location of architecture-independent support files" + echo " --localedir show location of locale support files" + echo " --docdir show location of documentation files" + echo " --mandir show location of manual pages" esac diff --git a/buildroot/package/postgresql/postgresql.mk b/buildroot/package/postgresql/postgresql.mk index 4c5f200bd..85b767de7 100644 --- a/buildroot/package/postgresql/postgresql.mk +++ b/buildroot/package/postgresql/postgresql.mk @@ -117,6 +117,8 @@ define POSTGRESQL_INSTALL_CUSTOM_PG_CONFIG $(STAGING_DIR)/usr/bin/pg_config $(SED) "s|@POSTGRESQL_CONF_OPTIONS@|$(POSTGRESQL_CONF_OPTS)|g" $(STAGING_DIR)/usr/bin/pg_config $(SED) "s|@POSTGRESQL_VERSION@|$(POSTGRESQL_VERSION)|g" $(STAGING_DIR)/usr/bin/pg_config + $(SED) "s|@TARGET_CFLAGS@|$(TARGET_CFLAGS)|g" $(STAGING_DIR)/usr/bin/pg_config + $(SED) "s|@TARGET_CC@|$(TARGET_CC)|g" $(STAGING_DIR)/usr/bin/pg_config endef POSTGRESQL_POST_INSTALL_STAGING_HOOKS += POSTGRESQL_INSTALL_CUSTOM_PG_CONFIG diff --git a/buildroot/package/python3/python3.hash b/buildroot/package/python3/python3.hash index 3de1e8353..2165daffc 100644 --- a/buildroot/package/python3/python3.hash +++ b/buildroot/package/python3/python3.hash @@ -1,5 +1,5 @@ -# From https://www.python.org/downloads/release/python-390/ -md5 6ebfe157f6e88d9eabfbaf3fa92129f6 Python-3.9.0.tar.xz +# From https://www.python.org/downloads/release/python-391/ +md5 61981498e75ac8f00adcb908281fadb6 Python-3.9.1.tar.xz # Locally computed -sha256 9c73e63c99855709b9be0b3cc9e5b072cb60f37311e8c4e50f15576a0bf82854 Python-3.9.0.tar.xz +sha256 991c3f8ac97992f3d308fefeb03a64db462574eadbff34ce8bc5bb583d9903ff Python-3.9.1.tar.xz sha256 1dceef1677a39befa8bf0285ab2db441ba117520bb2de839547ace006a17750d LICENSE diff --git a/buildroot/package/python3/python3.mk b/buildroot/package/python3/python3.mk index d4e08e91d..f2516dee9 100644 --- a/buildroot/package/python3/python3.mk +++ b/buildroot/package/python3/python3.mk @@ -5,7 +5,7 @@ ################################################################################ PYTHON3_VERSION_MAJOR = 3.9 -PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).0 +PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).1 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/buildroot/package/redis/redis.hash b/buildroot/package/redis/redis.hash index a16bf9dff..b72605013 100644 --- a/buildroot/package/redis/redis.hash +++ b/buildroot/package/redis/redis.hash @@ -1,5 +1,5 @@ # From https://github.com/redis/redis-hashes/blob/master/README -sha256 dc2bdcf81c620e9f09cfd12e85d3bc631c897b2db7a55218fd8a65eaa37f86dd redis-6.0.9.tar.gz +sha256 79bbb894f9dceb33ca699ee3ca4a4e1228be7fb5547aeb2f99d921e86c1285bd redis-6.0.10.tar.gz # Locally calculated sha256 97f0a15b7bbae580d2609dad2e11f1956ae167be296ab60f4691ab9c30ee9828 COPYING diff --git a/buildroot/package/redis/redis.mk b/buildroot/package/redis/redis.mk index b0d8e1cd5..0a6f7045c 100644 --- a/buildroot/package/redis/redis.mk +++ b/buildroot/package/redis/redis.mk @@ -4,7 +4,7 @@ # ################################################################################ -REDIS_VERSION = 6.0.9 +REDIS_VERSION = 6.0.10 REDIS_SITE = http://download.redis.io/releases REDIS_LICENSE = BSD-3-Clause (core); MIT and BSD family licenses (Bundled components) REDIS_LICENSE_FILES = COPYING diff --git a/buildroot/package/resiprocate/Config.in b/buildroot/package/resiprocate/Config.in index ed57e09c1..509c11ffd 100644 --- a/buildroot/package/resiprocate/Config.in +++ b/buildroot/package/resiprocate/Config.in @@ -41,6 +41,7 @@ config BR2_PACKAGE_RESIPROCATE_REND config BR2_PACKAGE_RESIPROCATE_APPS bool "resiprocate-apps" + select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_PCRE help Build apps clicktocall and sipdial diff --git a/buildroot/package/rpm/0003-Check-for-OpenMP-version-at-configure-time.patch b/buildroot/package/rpm/0003-Check-for-OpenMP-version-at-configure-time.patch new file mode 100644 index 000000000..2292702e5 --- /dev/null +++ b/buildroot/package/rpm/0003-Check-for-OpenMP-version-at-configure-time.patch @@ -0,0 +1,78 @@ +From 6a780f10c2b600cfc38f8b8f20cb7e40b979f541 Mon Sep 17 00:00:00 2001 +From: Michal Domonkos +Date: Tue, 4 Aug 2020 16:50:21 +0200 +Subject: [PATCH] Check for OpenMP version at configure time + +Only accept OpenMP >= 4.5, due to the "priority" clause that we use +since commit 6f6f5e7, and also document that in the INSTALL file. + +If explicitly required with --enable-openmp, fail configuration if the +version is not available. + +https://www.openmp.org/wp-content/uploads/openmp-4.5.pdf + +Resolves: #1315 +[Retrieved from: +https://github.com/rpm-software-management/rpm/commit/6a780f10c2b600cfc38f8b8f20cb7e40b979f541] +Signed-off-by: Fabrice Fontaine +--- + INSTALL | 6 ++++++ + configure.ac | 25 +++++++++++++++++++++++-- + 2 files changed, 29 insertions(+), 2 deletions(-) + +diff --git a/INSTALL b/INSTALL +index cfbe54a3e..7622b2efe 100644 +--- a/INSTALL ++++ b/INSTALL +@@ -142,6 +142,12 @@ If you plan on using cryptographic signatures you will need a version + of GPG, available from + http://www.gnupg.org/ + ++OpenMP multithreading support is automatically enabled if your C compiler has ++support for OpenMP version 4.5 or higher (to disable, pass the --disable-openmp ++option to configure). For GCC, OpenMP 4.5 is fully supported since GCC 6.1, ++which is available from ++ http://www.gnu.org/ ++ + To compile RPM: + -------------- + +diff --git a/configure.ac b/configure.ac +index 1346ee704..35003619d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -167,11 +167,32 @@ AC_SUBST(WITH_LZMA_LIB) + + # AC_OPENMP supports --enable/disable-openmp out of the box, but it doesn't + # actually give us a way to conditionalize the build based on that. Argh. ++# Version 4.5 (201511) introduced "priority" clause for tasks. + OPENMP_CFLAGS= + AC_OPENMP + AS_IF([test "x$ac_cv_prog_c_openmp" != x && +- test "x$ac_cv_prog_c_openmp" != unsupported],[ +- AC_DEFINE(ENABLE_OPENMP, 1, [Enable multithreading support?]) ++ test "x$ac_cv_prog_c_openmp" != xunsupported],[ ++ old_CFLAGS=$CFLAGS ++ CFLAGS="$CFLAGS $OPENMP_CFLAGS" ++ AC_MSG_CHECKING([OpenMP is at least version 4.5]) ++ AC_RUN_IFELSE( ++ [AC_LANG_PROGRAM( ++ [#include ], ++ [#if _OPENMP < 201511 ++ exit(1); ++ #endif ++ ] ++ )], ++ [AC_MSG_RESULT([yes]) ++ AC_DEFINE(ENABLE_OPENMP, 1, [Enable multithreading support?]) ++ ], ++ [AC_MSG_RESULT([no]) ++ if test "$enable_openmp" = "yes"; then ++ AC_MSG_ERROR([OpenMP too old]) ++ fi ++ ] ++ ) ++ CFLAGS=$old_CFLAGS + ]) + AC_SUBST(OPENMP_CFLAGS) + diff --git a/buildroot/package/rpm/0004-configure-ac-fix-cross-compilation.patch b/buildroot/package/rpm/0004-configure-ac-fix-cross-compilation.patch new file mode 100644 index 000000000..6a958b3aa --- /dev/null +++ b/buildroot/package/rpm/0004-configure-ac-fix-cross-compilation.patch @@ -0,0 +1,33 @@ +From 13585fbbe83eb177b13d86c2d6f11ff41a68d07e Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 10 Nov 2020 18:20:24 +0100 +Subject: [PATCH] configure.ac: fix cross-compilation + +Use AC_COMPILE_IFELSE as AC_RUN_IFELSE raises a build failure when +cross-compiling + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/rpm-software-management/rpm/commit/13585fbbe83eb177b13d86c2d6f11ff41a68d07e] +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 38d3c286a..a83016449 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -175,11 +175,11 @@ AS_IF([test "x$ac_cv_prog_c_openmp" != x && + old_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $OPENMP_CFLAGS" + AC_MSG_CHECKING([OpenMP is at least version 4.5]) +- AC_RUN_IFELSE( ++ AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [#include ], + [#if _OPENMP < 201511 +- exit(1); ++ #error + #endif + ] + )], diff --git a/buildroot/package/rpm/0005-Really-disable-OpenMP-if-too-old.patch b/buildroot/package/rpm/0005-Really-disable-OpenMP-if-too-old.patch new file mode 100644 index 000000000..2628ccc53 --- /dev/null +++ b/buildroot/package/rpm/0005-Really-disable-OpenMP-if-too-old.patch @@ -0,0 +1,26 @@ +From 662a367f427d653c6b8fbc7fbd1ace5ba120a25f Mon Sep 17 00:00:00 2001 +From: Michal Domonkos +Date: Thu, 3 Dec 2020 15:11:57 +0100 +Subject: [PATCH] Really disable OpenMP if too old + +Fix up for commit 6a780f1. + +[Retrieved from: +https://github.com/rpm-software-management/rpm/pull/1455] +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index c853cd9af..beb65ff8a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -187,6 +187,7 @@ AS_IF([test "x$ac_cv_prog_c_openmp" != x && + AC_DEFINE(ENABLE_OPENMP, 1, [Enable multithreading support?]) + ], + [AC_MSG_RESULT([no]) ++ OPENMP_CFLAGS= + if test "$enable_openmp" = "yes"; then + AC_MSG_ERROR([OpenMP too old]) + fi diff --git a/buildroot/package/rpm/rpm.mk b/buildroot/package/rpm/rpm.mk index 661409294..351ae0994 100644 --- a/buildroot/package/rpm/rpm.mk +++ b/buildroot/package/rpm/rpm.mk @@ -19,7 +19,12 @@ RPM_DEPENDENCIES = \ $(TARGET_NLS_DEPENDENCIES) RPM_LICENSE = GPL-2.0 or LGPL-2.0 (library only) RPM_LICENSE_FILES = COPYING +# We're patching configure.ac +RPM_AUTORECONF = YES +# Don't set --{dis,en}-openmp as upstream wants to abort the build if +# --enable-openmp is provided and OpenMP is < 4.5: +# https://github.com/rpm-software-management/rpm/pull/1433 RPM_CONF_OPTS = \ --disable-python \ --disable-rpath \ @@ -106,12 +111,6 @@ else RPM_CONF_OPTS += --disable-zstd endif -ifeq ($(BR2_TOOLCHAIN_HAS_OPENMP),y) -RPM_CONF_OPTS += --enable-openmp -else -RPM_CONF_OPTS += --disable-openmp -endif - # ac_cv_prog_cc_c99: RPM uses non-standard GCC extensions (ex. `asm`). RPM_CONF_ENV = \ ac_cv_prog_cc_c99='-std=gnu99' \ diff --git a/buildroot/package/runc/runc.mk b/buildroot/package/runc/runc.mk index c559244e8..45fe1442a 100644 --- a/buildroot/package/runc/runc.mk +++ b/buildroot/package/runc/runc.mk @@ -9,7 +9,7 @@ RUNC_SITE = $(call github,opencontainers,runc,v$(RUNC_VERSION)) RUNC_LICENSE = Apache-2.0 RUNC_LICENSE_FILES = LICENSE -RUNC_LDFLAGS = -X main.gitCommit=$(RUNC_VERSION) +RUNC_LDFLAGS = -X main.version=$(RUNC_VERSION) RUNC_TAGS = cgo static_build ifeq ($(BR2_PACKAGE_LIBAPPARMOR),y) diff --git a/buildroot/package/socat/socat.hash b/buildroot/package/socat/socat.hash index e5b65925d..5a4c52045 100644 --- a/buildroot/package/socat/socat.hash +++ b/buildroot/package/socat/socat.hash @@ -1,8 +1,8 @@ # From http://www.dest-unreach.org/socat/download.md5sum -md5 3cca4f8cd9d2d1caabd9cc099451bac9 socat-1.7.3.4.tar.bz2 +md5 36cad050ecf4981ab044c3fbd75c643f socat-1.7.4.1.tar.bz2 # From http://www.dest-unreach.org/socat/download.sha256sum -sha256 972374ca86f65498e23e3259c2ee1b8f9dbeb04d12c2a78c0c9b5d1cb97dfdfc socat-1.7.3.4.tar.bz2 +sha256 3faca25614e89123dff5045680549ecef519d02e331aaf3c4f5a8f6837c675e9 socat-1.7.4.1.tar.bz2 # Locally calculated -sha256 4846488cea98a2905dc75b7aa5eea721568e372447efe06b85bd896ee8c54f10 README -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING -sha256 fd9e48ca316a5032069b9521f4f4b4d9b1c60365012bae1e62286bcd5bd2e761 COPYING.OpenSSL +sha256 b1ebebbce145027f4268211f36d121b083aeeabdc1736eb144b8afd8e86ce8da README +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 fd9e48ca316a5032069b9521f4f4b4d9b1c60365012bae1e62286bcd5bd2e761 COPYING.OpenSSL diff --git a/buildroot/package/socat/socat.mk b/buildroot/package/socat/socat.mk index 4bfdc18f9..ad450727e 100644 --- a/buildroot/package/socat/socat.mk +++ b/buildroot/package/socat/socat.mk @@ -4,7 +4,7 @@ # ################################################################################ -SOCAT_VERSION = 1.7.3.4 +SOCAT_VERSION = 1.7.4.1 SOCAT_SOURCE = socat-$(SOCAT_VERSION).tar.bz2 SOCAT_SITE = http://www.dest-unreach.org/socat/download SOCAT_LICENSE = GPL-2.0 with OpenSSL exception diff --git a/buildroot/package/sslh/Config.in b/buildroot/package/sslh/Config.in index e608586c2..f6b46f321 100644 --- a/buildroot/package/sslh/Config.in +++ b/buildroot/package/sslh/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_SSLH bool "sslh" - # uses fork() - depends on BR2_USE_MMU + depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBCONFIG if BR2_PACKAGE_SYSTEMD help Applicative protocol multiplexer diff --git a/buildroot/package/sudo/sudo.hash b/buildroot/package/sudo/sudo.hash index fff1aa234..ee30b3226 100644 --- a/buildroot/package/sudo/sudo.hash +++ b/buildroot/package/sudo/sudo.hash @@ -1,4 +1,4 @@ # From: http://www.sudo.ws/download.html -sha256 7ea8d97a3cee4c844e0887ea7a1bd80eb54cc98fd77966776cb1a80653ad454f sudo-1.8.31.tar.gz +sha256 539e2ef43c8a55026697fb0474ab6a925a11206b5aa58710cb42a0e1c81f0978 sudo-1.9.5p2.tar.gz # Locally calculated -sha256 be099fd0ee954224f392dde163aef6d6359c58a5afa1ebb1bd55058318add789 doc/LICENSE +sha256 505c5955c373514e2533a24a8346f44038e29cba874f5ca83beb171a7409089f doc/LICENSE diff --git a/buildroot/package/sudo/sudo.mk b/buildroot/package/sudo/sudo.mk index a4def4368..c08cf1c4a 100644 --- a/buildroot/package/sudo/sudo.mk +++ b/buildroot/package/sudo/sudo.mk @@ -4,7 +4,7 @@ # ################################################################################ -SUDO_VERSION = 1.8.31 +SUDO_VERSION = 1.9.5p2 SUDO_SITE = https://www.sudo.ws/sudo/dist SUDO_LICENSE = ISC, BSD-3-Clause SUDO_LICENSE_FILES = doc/LICENSE diff --git a/buildroot/package/sunxi-mali-mainline-driver/0001-mali-support-building-against-5.9.patch b/buildroot/package/sunxi-mali-mainline-driver/0001-mali-support-building-against-5.9.patch new file mode 100644 index 000000000..f4e5386b5 --- /dev/null +++ b/buildroot/package/sunxi-mali-mainline-driver/0001-mali-support-building-against-5.9.patch @@ -0,0 +1,269 @@ +From 66731b7ec7d36e86d772aee84a84b648f37dbf5d Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Thu, 17 Dec 2020 01:32:21 +0100 +Subject: [PATCH] mali: support building against 5.9 + +Add patches to fix build failure with Linux version 5.9 due to +asm/uaccess.h changes and HAVE_UNLOCKED_IOCTL macro missing in version +r6p0 and r6p2. While for r8p1 and r9p0 patch is the same and is located +in patches/ root and fix HAVE_UNLOCKED_IOCTL issue only. + +Signed-off-by: Giulio Benetti +--- + ...24-mali-support-building-against-5.9.patch | 36 +++++++++ + ...24-mali-support-building-against-5.9.patch | 76 +++++++++++++++++++ + patches/r6p0/series | 1 + + ...24-mali-support-building-against-5.9.patch | 76 +++++++++++++++++++ + patches/r6p2/series | 1 + + patches/r8p1/series | 1 + + patches/r9p0/series | 1 + + 7 files changed, 192 insertions(+) + create mode 100644 patches/0024-mali-support-building-against-5.9.patch + create mode 100644 patches/r6p0/0024-mali-support-building-against-5.9.patch + create mode 100644 patches/r6p2/0024-mali-support-building-against-5.9.patch + +diff --git a/patches/0024-mali-support-building-against-5.9.patch b/patches/0024-mali-support-building-against-5.9.patch +new file mode 100644 +index 0000000..c54dfef +--- /dev/null ++++ b/patches/0024-mali-support-building-against-5.9.patch +@@ -0,0 +1,36 @@ ++From f760b79bc15557a13d9bb68a9a3fb9c8e08dfbae Mon Sep 17 00:00:00 2001 ++From: Giulio Benetti ++Date: Thu, 17 Dec 2020 16:41:49 +0100 ++Subject: [PATCH] mali: support building against 5.9 ++ ++Starting from Linux version 5.9.0 HAVE_UNLOCKED_IOCTL macro has been ++removed making actual code to use .ioctl struct member resulting in a ++build failure, so let's declare locally such macro if Linux ++version >= 5.9.0. ++ ++Signed-off-by: Giulio Benetti ++--- ++ src/devicedrv/mali/linux/mali_kernel_linux.c | 7 +++++++ ++ 1 file changed, 7 insertions(+) ++ ++diff --git a/src/devicedrv/mali/linux/mali_kernel_linux.c b/src/devicedrv/mali/linux/mali_kernel_linux.c ++index d7893a3..9005466 100644 ++--- a/src/devicedrv/mali/linux/mali_kernel_linux.c +++++ b/src/devicedrv/mali/linux/mali_kernel_linux.c ++@@ -65,6 +65,13 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(mali_hw_counter); ++ EXPORT_TRACEPOINT_SYMBOL_GPL(mali_sw_counters); ++ #endif /* CONFIG_TRACEPOINTS */ ++ +++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0) +++/* From Linux version 5.9.0 HAVE_UNLOCKED_IOCTL has been removed +++ * so let's reintroduce it here. +++ */ +++#define HAVE_UNLOCKED_IOCTL +++#endif +++ ++ #ifdef CONFIG_MALI_DEVFREQ ++ #include "mali_devfreq.h" ++ #include "mali_osk_mali.h" ++-- ++2.25.1 ++ +diff --git a/patches/r6p0/0024-mali-support-building-against-5.9.patch b/patches/r6p0/0024-mali-support-building-against-5.9.patch +new file mode 100644 +index 0000000..54b773b +--- /dev/null ++++ b/patches/r6p0/0024-mali-support-building-against-5.9.patch +@@ -0,0 +1,76 @@ ++From 44dbb7d2036ba41d5db46fadb86e0461fce0948f Mon Sep 17 00:00:00 2001 ++From: Giulio Benetti ++Date: Thu, 17 Dec 2020 02:26:49 +0100 ++Subject: [PATCH] mali: support building against 5.9 ++ ++Starting from Linux version 5.9.0 HAVE_UNLOCKED_IOCTL macro has been ++removed making actual code to use .ioctl struct member resulting in a ++build failure, so let's declare locally such macro if Linux ++version >= 5.9.0. ++ ++Starting from Linux version 5.9.0 also part of has been ++moved to so let's include if Linux ++version >= 5.9.0. ++ ++Signed-off-by: Giulio Benetti ++--- ++ src/devicedrv/mali/linux/mali_kernel_linux.c | 7 +++++++ ++ src/devicedrv/mali/linux/mali_osk_mali.c | 5 +++++ ++ src/devicedrv/mali/linux/mali_osk_misc.c | 5 +++++ ++ 3 files changed, 17 insertions(+) ++ ++diff --git a/src/devicedrv/mali/linux/mali_kernel_linux.c b/src/devicedrv/mali/linux/mali_kernel_linux.c ++index 34cb3d7..c098c77 100755 ++--- a/src/devicedrv/mali/linux/mali_kernel_linux.c +++++ b/src/devicedrv/mali/linux/mali_kernel_linux.c ++@@ -63,6 +63,13 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(mali_hw_counter); ++ EXPORT_TRACEPOINT_SYMBOL_GPL(mali_sw_counters); ++ #endif /* CONFIG_TRACEPOINTS */ ++ +++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0) +++/* From Linux version 5.9.0 HAVE_UNLOCKED_IOCTL has been removed +++ * so let's reintroduce it here. +++ */ +++#define HAVE_UNLOCKED_IOCTL +++#endif +++ ++ /* from the __malidrv_build_info.c file that is generated during build */ ++ extern const char *__malidrv_build_info(void); ++ ++diff --git a/src/devicedrv/mali/linux/mali_osk_mali.c b/src/devicedrv/mali/linux/mali_osk_mali.c ++index ee82b6e..1491d10 100755 ++--- a/src/devicedrv/mali/linux/mali_osk_mali.c +++++ b/src/devicedrv/mali/linux/mali_osk_mali.c ++@@ -13,7 +13,12 @@ ++ * Implementation of the OS abstraction layer which is specific for the Mali kernel device driver ++ */ ++ #include +++#include +++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0) +++#include +++#else ++ #include +++#endif ++ #include ++ #include ++ #include ++diff --git a/src/devicedrv/mali/linux/mali_osk_misc.c b/src/devicedrv/mali/linux/mali_osk_misc.c ++index 0a619e3..87ff192 100755 ++--- a/src/devicedrv/mali/linux/mali_osk_misc.c +++++ b/src/devicedrv/mali/linux/mali_osk_misc.c ++@@ -13,7 +13,12 @@ ++ * Implementation of the OS abstraction layer for the kernel device driver ++ */ ++ #include +++#include +++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0) +++#include +++#else ++ #include +++#endif ++ #include ++ #include ++ #include ++-- ++2.25.1 ++ +diff --git a/patches/r6p0/series b/patches/r6p0/series +index 50e54d6..4074177 100644 +--- a/patches/r6p0/series ++++ b/patches/r6p0/series +@@ -17,3 +17,4 @@ r6p0/0013-mali-support-building-against-4.15.patch + 0021-mali-support-building-against-5.3.patch + r6p0/0022-mali-support-building-against-5.6.patch + 0023-mali-support-building-against-5.7.patch ++r6p0/0024-mali-support-building-against-5.9.patch +diff --git a/patches/r6p2/0024-mali-support-building-against-5.9.patch b/patches/r6p2/0024-mali-support-building-against-5.9.patch +new file mode 100644 +index 0000000..0f9ca40 +--- /dev/null ++++ b/patches/r6p2/0024-mali-support-building-against-5.9.patch +@@ -0,0 +1,76 @@ ++From ebcecb62301c49e0dd67032e7db14c20be2df48b Mon Sep 17 00:00:00 2001 ++From: Giulio Benetti ++Date: Thu, 17 Dec 2020 00:49:45 +0100 ++Subject: [PATCH] mali: support building against 5.9 ++ ++Starting from Linux version 5.9.0 HAVE_UNLOCKED_IOCTL macro has been ++removed making actual code to use .ioctl struct member resulting in a ++build failure, so let's declare locally such macro if Linux ++version >= 5.9.0. ++ ++Starting from Linux version 5.9.0 also part of has been ++moved to so let's include if Linux ++version >= 5.9.0. ++ ++Signed-off-by: Giulio Benetti ++--- ++ src/devicedrv/mali/linux/mali_kernel_linux.c | 7 +++++++ ++ src/devicedrv/mali/linux/mali_osk_mali.c | 5 +++++ ++ src/devicedrv/mali/linux/mali_osk_misc.c | 5 +++++ ++ 3 files changed, 17 insertions(+) ++ ++diff --git a/src/devicedrv/mali/linux/mali_kernel_linux.c b/src/devicedrv/mali/linux/mali_kernel_linux.c ++index 9bfa2bd..51e5012 100755 ++--- a/src/devicedrv/mali/linux/mali_kernel_linux.c +++++ b/src/devicedrv/mali/linux/mali_kernel_linux.c ++@@ -69,6 +69,13 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(mali_sw_counters); ++ #include "mali_devfreq.h" ++ #include "mali_osk_mali.h" ++ +++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0) +++/* From Linux version 5.9.0 HAVE_UNLOCKED_IOCTL has been removed +++ * so let's reintroduce it here. +++ */ +++#define HAVE_UNLOCKED_IOCTL +++#endif +++ ++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0) ++ #include ++ #else ++diff --git a/src/devicedrv/mali/linux/mali_osk_mali.c b/src/devicedrv/mali/linux/mali_osk_mali.c ++index 272d196..fdb8952 100755 ++--- a/src/devicedrv/mali/linux/mali_osk_mali.c +++++ b/src/devicedrv/mali/linux/mali_osk_mali.c ++@@ -13,7 +13,12 @@ ++ * Implementation of the OS abstraction layer which is specific for the Mali kernel device driver ++ */ ++ #include +++#include +++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0) +++#include +++#else ++ #include +++#endif ++ #include ++ #include ++ #include ++diff --git a/src/devicedrv/mali/linux/mali_osk_misc.c b/src/devicedrv/mali/linux/mali_osk_misc.c ++index 7dda283..58c6a4c 100755 ++--- a/src/devicedrv/mali/linux/mali_osk_misc.c +++++ b/src/devicedrv/mali/linux/mali_osk_misc.c ++@@ -13,7 +13,12 @@ ++ * Implementation of the OS abstraction layer for the kernel device driver ++ */ ++ #include +++#include +++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0) +++#include +++#else ++ #include +++#endif ++ #include ++ #include ++ #include ++-- ++2.25.1 ++ +diff --git a/patches/r6p2/series b/patches/r6p2/series +index 4c68a77..775bc6f 100644 +--- a/patches/r6p2/series ++++ b/patches/r6p2/series +@@ -20,3 +20,4 @@ r6p2/0016-mali-support-building-against-4.16.patch + 0021-mali-support-building-against-5.3.patch + r6p2/0022-mali-support-building-against-5.6.patch + 0023-mali-support-building-against-5.7.patch ++r6p2/0024-mali-support-building-against-5.9.patch +diff --git a/patches/r8p1/series b/patches/r8p1/series +index a49a59b..0f15e40 100644 +--- a/patches/r8p1/series ++++ b/patches/r8p1/series +@@ -15,3 +15,4 @@ r8p1/0017-mali-support-building-against-4.9-later.patch + 0021-mali-support-building-against-5.3.patch + r6p2/0022-mali-support-building-against-5.6.patch + 0023-mali-support-building-against-5.7.patch ++0024-mali-support-building-against-5.9.patch +diff --git a/patches/r9p0/series b/patches/r9p0/series +index 301177c..866e869 100644 +--- a/patches/r9p0/series ++++ b/patches/r9p0/series +@@ -12,3 +12,4 @@ r6p2/0016-mali-support-building-against-4.16.patch + 0021-mali-support-building-against-5.3.patch + r6p2/0022-mali-support-building-against-5.6.patch + 0023-mali-support-building-against-5.7.patch ++0024-mali-support-building-against-5.9.patch +-- +2.25.1 + diff --git a/buildroot/package/sunxi-mali-mainline-driver/0002-mali-support-building-against-5.10.patch b/buildroot/package/sunxi-mali-mainline-driver/0002-mali-support-building-against-5.10.patch new file mode 100644 index 000000000..d64d3af1e --- /dev/null +++ b/buildroot/package/sunxi-mali-mainline-driver/0002-mali-support-building-against-5.10.patch @@ -0,0 +1,98 @@ +From 8ea1fb65dd5db556b386a1ed726f7315d3511c2b Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Thu, 17 Dec 2020 01:54:52 +0100 +Subject: [PATCH] mali: support building against 5.10 + +Add patch to fix build failure with Linux version 5.10 due to missing +linux/dma-contiguous.h which content has been moved to +linux/dma-mapping.h + +Signed-off-by: Giulio Benetti +--- + ...5-mali-support-building-against-5.10.patch | 34 +++++++++++++++++++ + patches/r6p0/series | 1 + + patches/r6p2/series | 1 + + patches/r8p1/series | 1 + + patches/r9p0/series | 1 + + 5 files changed, 38 insertions(+) + create mode 100644 patches/0025-mali-support-building-against-5.10.patch + +diff --git a/patches/0025-mali-support-building-against-5.10.patch b/patches/0025-mali-support-building-against-5.10.patch +new file mode 100644 +index 0000000..e9070e7 +--- /dev/null ++++ b/patches/0025-mali-support-building-against-5.10.patch +@@ -0,0 +1,34 @@ ++From 9a6b4558bb7f470152ab00692010f07fd0bfa8f8 Mon Sep 17 00:00:00 2001 ++From: Giulio Benetti ++Date: Thu, 17 Dec 2020 01:19:33 +0100 ++Subject: [PATCH] mali: support building against 5.10 ++ ++Starting from Linux version 5.10.0 has been ++removed and its content moved to and this leads ++to build failure with Linux 5.10. So let's include ++ only if we're building with Linux ++version < 5.10.0. ++ ++Signed-off-by: Giulio Benetti ++--- ++ src/devicedrv/mali/platform/sunxi/sunxi.c | 3 +++ ++ 1 file changed, 3 insertions(+) ++ ++diff --git a/src/devicedrv/mali/platform/sunxi/sunxi.c b/src/devicedrv/mali/platform/sunxi/sunxi.c ++index 74ebe0b..a8df0d9 100644 ++--- a/src/devicedrv/mali/platform/sunxi/sunxi.c +++++ b/src/devicedrv/mali/platform/sunxi/sunxi.c ++@@ -3,7 +3,10 @@ ++ #include ++ #include ++ #include +++#include +++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0) ++ #include +++#endif ++ #include ++ #include ++ #include ++-- ++2.25.1 ++ +diff --git a/patches/r6p0/series b/patches/r6p0/series +index 4074177..5d4883f 100644 +--- a/patches/r6p0/series ++++ b/patches/r6p0/series +@@ -18,3 +18,4 @@ r6p0/0013-mali-support-building-against-4.15.patch + r6p0/0022-mali-support-building-against-5.6.patch + 0023-mali-support-building-against-5.7.patch + r6p0/0024-mali-support-building-against-5.9.patch ++0025-mali-support-building-against-5.10.patch +diff --git a/patches/r6p2/series b/patches/r6p2/series +index 775bc6f..e19cf11 100644 +--- a/patches/r6p2/series ++++ b/patches/r6p2/series +@@ -21,3 +21,4 @@ r6p2/0016-mali-support-building-against-4.16.patch + r6p2/0022-mali-support-building-against-5.6.patch + 0023-mali-support-building-against-5.7.patch + r6p2/0024-mali-support-building-against-5.9.patch ++0025-mali-support-building-against-5.10.patch +diff --git a/patches/r8p1/series b/patches/r8p1/series +index 0f15e40..4ad43c1 100644 +--- a/patches/r8p1/series ++++ b/patches/r8p1/series +@@ -16,3 +16,4 @@ r8p1/0017-mali-support-building-against-4.9-later.patch + r6p2/0022-mali-support-building-against-5.6.patch + 0023-mali-support-building-against-5.7.patch + 0024-mali-support-building-against-5.9.patch ++0025-mali-support-building-against-5.10.patch +diff --git a/patches/r9p0/series b/patches/r9p0/series +index 866e869..dca4e02 100644 +--- a/patches/r9p0/series ++++ b/patches/r9p0/series +@@ -13,3 +13,4 @@ r6p2/0016-mali-support-building-against-4.16.patch + r6p2/0022-mali-support-building-against-5.6.patch + 0023-mali-support-building-against-5.7.patch + 0024-mali-support-building-against-5.9.patch ++0025-mali-support-building-against-5.10.patch +-- +2.25.1 + diff --git a/buildroot/package/syslog-ng/syslog-ng.mk b/buildroot/package/syslog-ng/syslog-ng.mk index 7c2368efb..31608f3a0 100644 --- a/buildroot/package/syslog-ng/syslog-ng.mk +++ b/buildroot/package/syslog-ng/syslog-ng.mk @@ -99,10 +99,10 @@ endif ifeq ($(BR2_PACKAGE_NETSNMP),y) SYSLOG_NG_DEPENDENCIES += netsnmp -SYSLOG_NG_CONF_OPTS += --enable-snmp-dest +SYSLOG_NG_CONF_OPTS += --enable-afsnmp SYSLOG_NG_CONF_OPTS += --with-net-snmp="$(STAGING_DIR)/usr/bin" else -SYSLOG_NG_CONF_OPTS += --disable-snmp-dest +SYSLOG_NG_CONF_OPTS += --disable-afsnmp endif define SYSLOG_NG_INSTALL_INIT_SYSV @@ -113,7 +113,7 @@ endef # By default syslog-ng installs a .service that requires a config file at # /etc/default, so provide one with the default values. define SYSLOG_NG_INSTALL_INIT_SYSTEMD - mkdir $(TARGET_DIR)/usr/lib/systemd/system/syslog-ng@.service.d + mkdir -p $(TARGET_DIR)/usr/lib/systemd/system/syslog-ng@.service.d printf '[Install]\nDefaultInstance=default\n' \ >$(TARGET_DIR)/usr/lib/systemd/system/syslog-ng@.service.d/buildroot-default-instance.conf endef diff --git a/buildroot/package/systemd/systemd.mk b/buildroot/package/systemd/systemd.mk index 1e4171a9e..aa65ecdaa 100644 --- a/buildroot/package/systemd/systemd.mk +++ b/buildroot/package/systemd/systemd.mk @@ -576,7 +576,7 @@ ifneq ($(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)),) # * enable serial-getty@xxx for other $BR2_TARGET_GENERIC_TTY_PATH # * rewrite baudrates if a baudrate is provided define SYSTEMD_INSTALL_SERVICE_TTY - mkdir $(TARGET_DIR)/usr/lib/systemd/system/getty@.service.d; \ + mkdir -p $(TARGET_DIR)/usr/lib/systemd/system/getty@.service.d; \ printf '[Install]\nDefaultInstance=\n' \ >$(TARGET_DIR)/usr/lib/systemd/system/getty@.service.d/buildroot-console.conf; \ if [ $(BR2_TARGET_GENERIC_GETTY_PORT) = "console" ]; \ @@ -588,7 +588,7 @@ define SYSTEMD_INSTALL_SERVICE_TTY $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)) \ >$(TARGET_DIR)/usr/lib/systemd/system/getty@.service.d/buildroot-console.conf; \ else \ - mkdir $(TARGET_DIR)/usr/lib/systemd/system/serial-getty@.service.d;\ + mkdir -p $(TARGET_DIR)/usr/lib/systemd/system/serial-getty@.service.d;\ printf '[Install]\nDefaultInstance=%s\n' \ $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)) \ >$(TARGET_DIR)/usr/lib/systemd/system/serial-getty@.service.d/buildroot-console.conf;\ diff --git a/buildroot/package/tini/tini.mk b/buildroot/package/tini/tini.mk index 157477f8d..af4a3bcb5 100644 --- a/buildroot/package/tini/tini.mk +++ b/buildroot/package/tini/tini.mk @@ -30,6 +30,7 @@ endef define TINI_INSTALL_TARGET_CMDS $(INSTALL) -D -m 0755 $(@D)/bin/tini $(TARGET_DIR)/usr/bin/tini + ln -sf tini $(TARGET_DIR)/usr/bin/docker-init endef # Tini's CMakeLists.txt is not suitable for Buildroot. diff --git a/buildroot/package/tpm2-tss/tpm2-tss.hash b/buildroot/package/tpm2-tss/tpm2-tss.hash index 49432314d..6856fd4fd 100644 --- a/buildroot/package/tpm2-tss/tpm2-tss.hash +++ b/buildroot/package/tpm2-tss/tpm2-tss.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 2432533a1cac0f0d15d0337d2f0a23591a50b36aad68ab72412ce694818b7e76 tpm2-tss-3.0.1.tar.gz +sha256 78392be7309baf47f51b122f566ac915fd4d1760ea78571cba2e1484f9b5be17 tpm2-tss-3.0.3.tar.gz sha256 18c1bf4b1ba1fb2c4ffa7398c234d83c0d55475298e470ae1e5e3a8a8bd2e448 LICENSE diff --git a/buildroot/package/tpm2-tss/tpm2-tss.mk b/buildroot/package/tpm2-tss/tpm2-tss.mk index 70e39bc2b..bde6b352b 100644 --- a/buildroot/package/tpm2-tss/tpm2-tss.mk +++ b/buildroot/package/tpm2-tss/tpm2-tss.mk @@ -4,7 +4,7 @@ # ################################################################################ -TPM2_TSS_VERSION = 3.0.1 +TPM2_TSS_VERSION = 3.0.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/buildroot/package/trace-cmd/trace-cmd.mk b/buildroot/package/trace-cmd/trace-cmd.mk index dfca6a170..09bbf0f2e 100644 --- a/buildroot/package/trace-cmd/trace-cmd.mk +++ b/buildroot/package/trace-cmd/trace-cmd.mk @@ -7,7 +7,6 @@ TRACE_CMD_VERSION = trace-cmd-v2.7 TRACE_CMD_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git TRACE_CMD_SITE_METHOD = git -TRACE_CMD_INSTALL_STAGING = YES TRACE_CMD_LICENSE = GPL-2.0, LGPL-2.1 TRACE_CMD_LICENSE_FILES = COPYING COPYING.LIB diff --git a/buildroot/package/tzdata/tzdata.hash b/buildroot/package/tzdata/tzdata.hash index 8f0a9050f..6a1ccc128 100644 --- a/buildroot/package/tzdata/tzdata.hash +++ b/buildroot/package/tzdata/tzdata.hash @@ -1,4 +1,4 @@ -# From https://mm.icann.org/pipermail/tz-announce/2020-April/000058.html -sha512 2a2fc2e3ad8a6e4c574242296c847ad582c2c1d86add9c556e65c812d19b9528522e3c4dddb5239017091825d2acc5a2ccaf21dc41b900b6c300ef4264cc5a9d tzdata2020a.tar.gz +# From https://mm.icann.org/pipermail/tz-announce/2020-December/000064.html +sha512 dd312def18c807452fda2e697514e2064c5f51ebdbedd0cfe6f231252c76ee5d4409f653b295ed5657b7d30b868690047fdb70a10942e69eaa40b77473e3f9ca tzdata2020f.tar.gz # Locally computed: sha256 0613408568889f5739e5ae252b722a2659c02002839ad970a63dc5e9174b27cf LICENSE diff --git a/buildroot/package/tzdata/tzdata.mk b/buildroot/package/tzdata/tzdata.mk index 114d60195..04f5d84bf 100644 --- a/buildroot/package/tzdata/tzdata.mk +++ b/buildroot/package/tzdata/tzdata.mk @@ -4,7 +4,7 @@ # ################################################################################ -TZDATA_VERSION = 2020a +TZDATA_VERSION = 2020f TZDATA_SOURCE = tzdata$(TZDATA_VERSION).tar.gz TZDATA_SITE = https://www.iana.org/time-zones/repository/releases TZDATA_STRIP_COMPONENTS = 0 @@ -17,7 +17,7 @@ TZDATA_LICENSE_FILES = LICENSE # dependencies TZDATA_DEFAULT_ZONELIST = \ africa antarctica asia australasia europe northamerica \ - southamerica pacificnew etcetera backward systemv factory + southamerica etcetera backward factory ifeq ($(call qstrip,$(BR2_TARGET_TZ_ZONELIST)),default) TZDATA_ZONELIST = $(TZDATA_DEFAULT_ZONELIST) @@ -51,8 +51,8 @@ endef define HOST_TZDATA_BUILD_CMDS (cd $(@D); \ for zone in $(TZDATA_ZONELIST); do \ - $(ZIC) -d _output/posix -y yearistype.sh $$zone || exit 1; \ - $(ZIC) -d _output/right -L leapseconds -y yearistype.sh $$zone || exit 1; \ + $(ZIC) -d _output/posix $$zone || exit 1; \ + $(ZIC) -d _output/right -L leapseconds $$zone || exit 1; \ done; \ ) endef diff --git a/buildroot/package/uboot-tools/uboot-tools.mk b/buildroot/package/uboot-tools/uboot-tools.mk index 6aa7cba2d..b24078928 100644 --- a/buildroot/package/uboot-tools/uboot-tools.mk +++ b/buildroot/package/uboot-tools/uboot-tools.mk @@ -87,6 +87,8 @@ define UBOOT_TOOLS_INSTALL_TARGET_CMDS $(UBOOT_TOOLS_INSTALL_FIT_CHECK_SIGN) endef +# host-uboot-tools + define HOST_UBOOT_TOOLS_CONFIGURE_CMDS mkdir -p $(@D)/include/config touch $(@D)/include/config/auto.conf @@ -106,10 +108,6 @@ HOST_UBOOT_TOOLS_MAKE_OPTS += CONFIG_FIT_SIGNATURE=y CONFIG_FIT_SIGNATURE_MAX_SI HOST_UBOOT_TOOLS_DEPENDENCIES += host-openssl endif -define HOST_UBOOT_TOOLS_BUILD_CMDS - $(BR2_MAKE1) -C $(@D) $(HOST_UBOOT_TOOLS_MAKE_OPTS) tools-only -endef - ifeq ($(BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE),y) UBOOT_TOOLS_GENERATE_ENV_FILE = $(call qstrip,$(BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE)) @@ -122,30 +120,32 @@ define HOST_UBOOT_TOOLS_GENERATE_ENV_DEFAULTS > $(UBOOT_TOOLS_GENERATE_ENV_FILE) endef HOST_UBOOT_TOOLS_DEPENDENCIES += uboot -endif - -define HOST_UBOOT_TOOLS_GENERATE_ENV_IMAGE - $(HOST_UBOOT_TOOLS_GENERATE_ENV_DEFAULTS) - $(HOST_DIR)/bin/mkenvimage -s $(BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SIZE) \ - $(if $(BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_REDUNDANT),-r) \ - $(if $(filter "BIG",$(BR2_ENDIAN)),-b) \ - -o $(BINARIES_DIR)/uboot-env.bin \ - $(UBOOT_TOOLS_GENERATE_ENV_FILE) -endef +endif #UBOOT_TOOLS_GENERATE_ENV_FILE:BR2_TARGET_UBOOT ifeq ($(BR_BUILDING),y) ifeq ($(call qstrip,$(BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SIZE)),) $(error Please provide U-Boot environment size (BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SIZE setting)) endif -# If U-Boot is available, ENVIMAGE_SOURCE is optional because the default can -# be taken from U-Boot. +# If U-Boot is not available, ENVIMAGE_SOURCE must be provided by user, +# otherwise it is optional because the default can be taken from U-Boot ifeq ($(BR2_TARGET_UBOOT),) -ifeq ($(call qstrip,$(BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE),) -$(error Please provide U-Boot environment file BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE setting)) +ifeq ($(call qstrip,$(BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE)),) +$(error Please provide U-Boot environment file (BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE setting)) endif endif #BR2_TARGET_UBOOT endif #BR_BUILDING +define HOST_UBOOT_TOOLS_GENERATE_ENVIMAGE + $(HOST_UBOOT_TOOLS_GENERATE_ENV_DEFAULTS) + $(@D)/tools/mkenvimage -s $(BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SIZE) \ + $(if $(BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_REDUNDANT),-r) \ + $(if $(filter "BIG",$(BR2_ENDIAN)),-b) \ + -o $(@D)/tools/uboot-env.bin \ + $(UBOOT_TOOLS_GENERATE_ENV_FILE) +endef +define HOST_UBOOT_TOOLS_INSTALL_ENVIMAGE + $(INSTALL) -m 0755 -D $(@D)/tools/uboot-env.bin $(BINARIES_DIR)/uboot-env.bin +endef endif #BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE ifeq ($(BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT),y) @@ -154,17 +154,29 @@ ifeq ($(call qstrip,$(BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE)),) $(error Please define a source file for U-Boot boot script (BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE setting)) endif endif #BR_BUILDING + +define HOST_UBOOT_TOOLS_GENERATE_BOOT_SCRIPT + $(@D)/tools/mkimage -C none -A $(MKIMAGE_ARCH) -T script \ + -d $(call qstrip,$(BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE)) \ + $(@D)/tools/boot.scr +endef +define HOST_UBOOT_TOOLS_INSTALL_BOOT_SCRIPT + $(INSTALL) -m 0755 -D $(@D)/tools/boot.scr $(BINARIES_DIR)/boot.scr +endef endif #BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT +define HOST_UBOOT_TOOLS_BUILD_CMDS + $(BR2_MAKE1) -C $(@D) $(HOST_UBOOT_TOOLS_MAKE_OPTS) tools-only + $(HOST_UBOOT_TOOLS_GENERATE_ENVIMAGE) + $(HOST_UBOOT_TOOLS_GENERATE_BOOT_SCRIPT) +endef + define HOST_UBOOT_TOOLS_INSTALL_CMDS $(INSTALL) -m 0755 -D $(@D)/tools/mkimage $(HOST_DIR)/bin/mkimage $(INSTALL) -m 0755 -D $(@D)/tools/mkenvimage $(HOST_DIR)/bin/mkenvimage $(INSTALL) -m 0755 -D $(@D)/tools/dumpimage $(HOST_DIR)/bin/dumpimage - $(HOST_UBOOT_TOOLS_GENERATE_ENV_IMAGE) - $(if $(BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT), - $(MKIMAGE) -C none -A $(MKIMAGE_ARCH) -T script \ - -d $(call qstrip,$(BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE)) \ - $(BINARIES_DIR)/boot.scr) + $(HOST_UBOOT_TOOLS_INSTALL_ENVIMAGE) + $(HOST_UBOOT_TOOLS_INSTALL_BOOT_SCRIPT) endef $(eval $(generic-package)) diff --git a/buildroot/package/uhd/0003-add-RISC-V-endian-detection.patch b/buildroot/package/uhd/0003-add-RISC-V-endian-detection.patch new file mode 100644 index 000000000..fb1168ba3 --- /dev/null +++ b/buildroot/package/uhd/0003-add-RISC-V-endian-detection.patch @@ -0,0 +1,113 @@ +From d4717a38d2287c2f583fefb2a0ed273337a92bb6 Mon Sep 17 00:00:00 2001 +From: Gwenhael Goavec-Merou +Date: Mon, 11 Jan 2021 18:18:26 +0100 +Subject: [PATCH] msgpack/predef: add riscV support + +When the target CPU is riscV, msgpack is unable to detect endianness with a list of errors like: + +uhd/host/lib/deps/rpclib/include/rpc/msgpack/pack.hpp:190:2: error: #error msgpack-c supports only big endian and little endian + 190 | #error msgpack-c supports only big endian and little endian + | ^~~~~ + +and with subsequent errors: + +uhd0/host/lib/deps/rpclib/include/rpc/msgpack/pack.hpp:236:46: error: there are no arguments to 'take8_8' that depend on a template parameter, so a declaration of 'take8_8' must be available [-fpermissive] + 236 | char buf[2] = {static_cast(0xccu), take8_8(d)}; + | + +This is due to a missing support for this architecture in msgpack. +This patch adapt commit from https://github.com/boostorg/predef + +[backported from https://github.com/EttusResearch/uhd/pull/400] + +Signed-off-by: Gwenhael Goavec-Merou +--- + .../include/rpc/msgpack/predef/architecture.h | 1 + + .../rpc/msgpack/predef/architecture/riscv.h | 48 +++++++++++++++++++ + .../include/rpc/msgpack/predef/other/endian.h | 3 +- + 3 files changed, 51 insertions(+), 1 deletion(-) + create mode 100644 host/lib/deps/rpclib/include/rpc/msgpack/predef/architecture/riscv.h + +diff --git a/host/lib/deps/rpclib/include/rpc/msgpack/predef/architecture.h b/host/lib/deps/rpclib/include/rpc/msgpack/predef/architecture.h +index 4a0ce2749..1bd998c59 100644 +--- a/host/lib/deps/rpclib/include/rpc/msgpack/predef/architecture.h ++++ b/host/lib/deps/rpclib/include/rpc/msgpack/predef/architecture.h +@@ -18,6 +18,7 @@ http://www.boost.org/LICENSE_1_0.txt) + #include + #include + #include ++#include + #include + #include + #include +diff --git a/host/lib/deps/rpclib/include/rpc/msgpack/predef/architecture/riscv.h b/host/lib/deps/rpclib/include/rpc/msgpack/predef/architecture/riscv.h +new file mode 100644 +index 000000000..8b819d77e +--- /dev/null ++++ b/host/lib/deps/rpclib/include/rpc/msgpack/predef/architecture/riscv.h +@@ -0,0 +1,48 @@ ++/* ++Copyright Andreas Schwab 2019 ++Distributed under the Boost Software License, Version 1.0. ++(See accompanying file LICENSE_1_0.txt or copy at ++http://www.boost.org/LICENSE_1_0.txt) ++*/ ++ ++#ifndef BOOST_PREDEF_ARCHITECTURE_RISCV_H ++#define BOOST_PREDEF_ARCHITECTURE_RISCV_H ++ ++#include ++#include ++ ++/* tag::reference[] ++= `BOOST_ARCH_RISCV` ++ ++http://en.wikipedia.org/wiki/RISC-V[RISC-V] architecture. ++ ++[options="header"] ++|=== ++| {predef_symbol} | {predef_version} ++ ++| `+__riscv+` | {predef_detection} ++|=== ++*/ // end::reference[] ++ ++#define BOOST_ARCH_RISCV BOOST_VERSION_NUMBER_NOT_AVAILABLE ++ ++#if defined(__riscv) ++# undef BOOST_ARCH_RISCV ++# define BOOST_ARCH_RISCV BOOST_VERSION_NUMBER_AVAILABLE ++#endif ++ ++#if BOOST_ARCH_RISCV ++# define BOOST_ARCH_RISCV_AVAILABLE ++#endif ++ ++#if BOOST_ARCH_RISCV ++# undef BOOST_ARCH_WORD_BITS_32 ++# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE ++#endif ++ ++#define BOOST_ARCH_RISCV_NAME "RISC-V" ++ ++#endif ++ ++#include ++BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_RISCV,BOOST_ARCH_RISCV_NAME) +diff --git a/host/lib/deps/rpclib/include/rpc/msgpack/predef/other/endian.h b/host/lib/deps/rpclib/include/rpc/msgpack/predef/other/endian.h +index 3f367b3d4..a7c1fb4dc 100644 +--- a/host/lib/deps/rpclib/include/rpc/msgpack/predef/other/endian.h ++++ b/host/lib/deps/rpclib/include/rpc/msgpack/predef/other/endian.h +@@ -127,7 +127,8 @@ information and acquired knowledge: + defined(__AARCH64EL__) || \ + defined(_MIPSEL) || \ + defined(__MIPSEL) || \ +- defined(__MIPSEL__) ++ defined(__MIPSEL__) || \ ++ defined(__riscv) + # undef MSGPACK_ENDIAN_LITTLE_BYTE + # define MSGPACK_ENDIAN_LITTLE_BYTE MSGPACK_VERSION_NUMBER_AVAILABLE + # endif +-- +2.26.2 + diff --git a/buildroot/package/uhd/Config.in b/buildroot/package/uhd/Config.in index 32cb4cf89..b9aa665c3 100644 --- a/buildroot/package/uhd/Config.in +++ b/buildroot/package/uhd/Config.in @@ -1,5 +1,6 @@ comment "uhd needs a toolchain w/ C++, NPTL, wchar, dynamic library" depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS @@ -10,6 +11,7 @@ config BR2_PACKAGE_UHD bool "uhd" depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_USE_MMU # use fork() diff --git a/buildroot/package/ushare/0004-switch-to-libupnp-1.14.x-API.patch b/buildroot/package/ushare/0004-switch-to-libupnp-1.14.x-API.patch new file mode 100644 index 000000000..e200bb192 --- /dev/null +++ b/buildroot/package/ushare/0004-switch-to-libupnp-1.14.x-API.patch @@ -0,0 +1,433 @@ +From 4643b9cb9e6c0331fd663437a7ed8061b9edf971 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 24 Aug 2020 19:26:03 +0200 +Subject: [PATCH] switch to libupnp 1.14.x API + +Use the new libupnp 1.14.x API (i.e. UpnpInit2) to allow ushare to be +protected against CallStranger a.k.a. CVE-2020-12695 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/ddugovic/uShare/commit/4643b9cb9e6c0331fd663437a7ed8061b9edf971] +--- + configure | 2 -- + src/http.c | 50 +++++++++++++++++++++++++++++++------------------- + src/http.h | 24 ++++++++++++++++++------ + src/services.c | 28 ++++++++++++++++++---------- + src/services.h | 6 +++--- + src/ushare.c | 36 ++++++++++++++++++------------------ + src/ushare.h | 2 +- + 7 files changed, 89 insertions(+), 59 deletions(-) + +diff --git a/configure b/configure +index 20a08ed..4a3efe0 100755 +--- a/configure ++++ b/configure +@@ -638,8 +638,6 @@ fi + echolog "Checking for libixml ..." + check_lib upnp/ixml.h ixmlRelaxParser -lixml || die "Error, can't find libixml !" + +-echolog "Checking for libthreadutil ..." +-check_lib upnp/ThreadPool.h ThreadPoolAdd "-lthreadutil -lpthread" || die "Error, can't find libthreadutil !" + add_extralibs -lpthread + + libupnp_min_version="1.4.2" +diff --git a/src/http.c b/src/http.c +index 8a4e67d..1e5b350 100644 +--- a/src/http.c ++++ b/src/http.c +@@ -68,17 +68,19 @@ struct web_file_t { + + + static inline void +-set_info_file (struct File_Info *info, const size_t length, ++set_info_file (UpnpFileInfo *info, const size_t length, + const char *content_type) + { +- info->file_length = length; +- info->last_modified = 0; +- info->is_directory = 0; +- info->is_readable = 1; +- info->content_type = ixmlCloneDOMString (content_type); ++ UpnpFileInfo_set_FileLength(info, length); ++ UpnpFileInfo_set_LastModified(info, 0); ++ UpnpFileInfo_set_IsDirectory(info, 0); ++ UpnpFileInfo_set_IsReadable(info, 1); ++ UpnpFileInfo_set_ContentType(info, ixmlCloneDOMString (content_type)); + } + +-int http_get_info (const char *filename, struct File_Info *info) ++int http_get_info (const char *filename, UpnpFileInfo *info, ++ const void* cookie __attribute__((unused)), ++ const void** requestCookie __attribute__((unused))) + { + extern struct ushare_t *ut; + struct upnp_entry_t *entry = NULL; +@@ -143,15 +145,15 @@ int http_get_info (const char *filename, struct File_Info *info) + { + if (errno != EACCES) + return -1; +- info->is_readable = 0; ++ UpnpFileInfo_set_IsReadable(info, 0); + } + else +- info->is_readable = 1; ++ UpnpFileInfo_set_IsReadable(info, 1); + + /* file exist and can be read */ +- info->file_length = st.st_size; +- info->last_modified = st.st_mtime; +- info->is_directory = S_ISDIR (st.st_mode); ++ UpnpFileInfo_set_FileLength(info, st.st_size); ++ UpnpFileInfo_set_LastModified(info, st.st_mtime); ++ UpnpFileInfo_set_IsDirectory(info, S_ISDIR (st.st_mode)); + + protocol = + #ifdef HAVE_DLNA +@@ -172,11 +174,11 @@ int http_get_info (const char *filename, struct File_Info *info) + + if (content_type) + { +- info->content_type = ixmlCloneDOMString (content_type); ++ UpnpFileInfo_set_ContentType(info, ixmlCloneDOMString (content_type)); + free (content_type); + } + else +- info->content_type = ixmlCloneDOMString (""); ++ UpnpFileInfo_set_ContentType(info, ixmlCloneDOMString ("")); + + return 0; + } +@@ -197,7 +199,9 @@ get_file_memory (const char *fullpath, const char *description, + return ((UpnpWebFileHandle) file); + } + +-UpnpWebFileHandle http_open (const char *filename, enum UpnpOpenFileMode mode) ++UpnpWebFileHandle http_open (const char *filename, enum UpnpOpenFileMode mode, ++ const void* cookie __attribute__((unused)), ++ const void* requestCookie __attribute__((unused))) + { + extern struct ushare_t *ut; + struct upnp_entry_t *entry = NULL; +@@ -250,7 +254,9 @@ UpnpWebFileHandle http_open (const char *filename, enum UpnpOpenFileMode mode) + return ((UpnpWebFileHandle) file); + } + +-int http_read (UpnpWebFileHandle fh, char *buf, size_t buflen) ++int http_read (UpnpWebFileHandle fh, char *buf, size_t buflen, ++ const void* cookie __attribute__((unused)), ++ const void* requestCookie __attribute__((unused))) + { + struct web_file_t *file = (struct web_file_t *) fh; + ssize_t len = -1; +@@ -285,14 +291,18 @@ int http_read (UpnpWebFileHandle fh, char *buf, size_t buflen) + + int http_write (UpnpWebFileHandle fh __attribute__((unused)), + char *buf __attribute__((unused)), +- size_t buflen __attribute__((unused))) ++ size_t buflen __attribute__((unused)), ++ const void* cookie __attribute__((unused)), ++ const void* requestCookie __attribute__((unused))) + { + log_verbose ("http write\n"); + + return 0; + } + +-int http_seek (UpnpWebFileHandle fh, off_t offset, int origin) ++int http_seek (UpnpWebFileHandle fh, off_t offset, int origin, ++ const void* cookie __attribute__((unused)), ++ const void* requestCookie __attribute__((unused))) + { + struct web_file_t *file = (struct web_file_t *) fh; + off_t newpos = -1; +@@ -366,7 +376,9 @@ int http_seek (UpnpWebFileHandle fh, off_t offset, int origin) + return 0; + } + +-int http_close (UpnpWebFileHandle fh) ++int http_close (UpnpWebFileHandle fh, ++ const void* cookie __attribute__((unused)), ++ const void* requestCookie __attribute__((unused))) + { + struct web_file_t *file = (struct web_file_t *) fh; + +diff --git a/src/http.h b/src/http.h +index 32d6bcc..c912a7b 100644 +--- a/src/http.h ++++ b/src/http.h +@@ -25,18 +25,30 @@ + #include + #include + +-int http_get_info (const char *filename, struct File_Info *info); ++int http_get_info (const char *filename, UpnpFileInfo *info, ++ const void* cookie __attribute__((unused)), ++ const void** requestCookie __attribute__((unused))); + +-UpnpWebFileHandle http_open (const char *filename, enum UpnpOpenFileMode mode); ++UpnpWebFileHandle http_open (const char *filename, enum UpnpOpenFileMode mode, ++ const void* cookie __attribute__((unused)), ++ const void* requestCookie __attribute__((unused))); + +-int http_read (UpnpWebFileHandle fh, char *buf, size_t buflen); ++int http_read (UpnpWebFileHandle fh, char *buf, size_t buflen, ++ const void* cookie __attribute__((unused)), ++ const void* requestCookie __attribute__((unused))); + +-int http_seek (UpnpWebFileHandle fh, off_t offset, int origin); ++int http_seek (UpnpWebFileHandle fh, off_t offset, int origin, ++ const void* cookie __attribute__((unused)), ++ const void* requestCookie __attribute__((unused))); + + int http_write (UpnpWebFileHandle fh __attribute__((unused)), + char *buf __attribute__((unused)), +- size_t buflen __attribute__((unused))); ++ size_t buflen __attribute__((unused)), ++ const void* cookie __attribute__((unused)), ++ const void* requestCookie __attribute__((unused))); + +-int http_close (UpnpWebFileHandle fh); ++int http_close (UpnpWebFileHandle fh, ++ const void* cookie __attribute__((unused)), ++ const void* requestCookie __attribute__((unused))); + + #endif /* _HTTP_H_ */ +diff --git a/src/services.c b/src/services.c +index aec9cf8..287df55 100644 +--- a/src/services.c ++++ b/src/services.c +@@ -62,25 +62,28 @@ static struct service_t services[] = { + }; + + bool +-find_service_action (struct Upnp_Action_Request *request, ++find_service_action (UpnpActionRequest *request, + struct service_t **service, + struct service_action_t **action) + { + int c, d; ++ const char *actionName = NULL; + + *service = NULL; + *action = NULL; ++ ++ actionName = UpnpActionRequest_get_ActionName_cstr(request); + +- if (!request || !request->ActionName) ++ if (!request || !actionName) + return false; + + for (c = 0; services[c].id != NULL; c++) +- if (!strcmp (services[c].id, request->ServiceID)) ++ if (!strcmp (services[c].id, UpnpActionRequest_get_ServiceID_cstr(request))) + { + *service = &services[c]; + for (d = 0; services[c].actions[d].name; d++) + { +- if (!strcmp (services[c].actions[d].name, request->ActionName)) ++ if (!strcmp (services[c].actions[d].name, actionName)) + { + *action = &services[c].actions[d]; + return true; +@@ -97,6 +100,7 @@ upnp_add_response (struct action_event_t *event, char *key, const char *value) + { + char *val; + int res; ++ IXML_Document* actionResult = NULL; + + if (!event || !event->status || !key || !value) + return false; +@@ -105,8 +109,9 @@ upnp_add_response (struct action_event_t *event, char *key, const char *value) + if (!val) + return false; + +- res = UpnpAddToActionResponse (&event->request->ActionResult, +- event->request->ActionName, ++ actionResult = UpnpActionRequest_get_ActionResult(event->request); ++ res = UpnpAddToActionResponse (&actionResult, ++ UpnpActionRequest_get_ActionName_cstr(event->request), + event->service->type, key, val); + + if (res != UPNP_E_SUCCESS) +@@ -120,14 +125,17 @@ upnp_add_response (struct action_event_t *event, char *key, const char *value) + } + + char * +-upnp_get_string (struct Upnp_Action_Request *request, const char *key) ++upnp_get_string (UpnpActionRequest *request, const char *key) + { + IXML_Node *node = NULL; ++ IXML_Document *actionRequest = NULL; + +- if (!request || !request->ActionRequest || !key) ++ actionRequest = UpnpActionRequest_get_ActionRequest(request); ++ ++ if (!request || !actionRequest || !key) + return NULL; + +- node = (IXML_Node *) request->ActionRequest; ++ node = (IXML_Node *) actionRequest; + if (!node) + { + log_verbose ("Invalid action request document\n"); +@@ -157,7 +165,7 @@ upnp_get_string (struct Upnp_Action_Request *request, const char *key) + } + + int +-upnp_get_ui4 (struct Upnp_Action_Request *request, const char *key) ++upnp_get_ui4 (UpnpActionRequest *request, const char *key) + { + char *value; + int val; +diff --git a/src/services.h b/src/services.h +index 89c072e..d5726b4 100644 +--- a/src/services.h ++++ b/src/services.h +@@ -39,15 +39,15 @@ struct service_t { + + #define SERVICE_CONTENT_TYPE "text/xml" + +-bool find_service_action (struct Upnp_Action_Request *request, ++bool find_service_action (UpnpActionRequest *request, + struct service_t **service, + struct service_action_t **action); + + bool upnp_add_response (struct action_event_t *event, + char *key, const char *value); + +-char * upnp_get_string (struct Upnp_Action_Request *request, const char *key); ++char * upnp_get_string (UpnpActionRequest *request, const char *key); + +-int upnp_get_ui4 (struct Upnp_Action_Request *request, const char *key); ++int upnp_get_ui4 (UpnpActionRequest *request, const char *key); + + #endif /* _SERVICES_H_ */ +diff --git a/src/ushare.c b/src/ushare.c +index 28fd67e..92e2345 100644 +--- a/src/ushare.c ++++ b/src/ushare.c +@@ -177,7 +177,7 @@ ushare_signal_exit (void) + } + + static void +-handle_action_request (struct Upnp_Action_Request *request) ++handle_action_request (UpnpActionRequest *request) + { + struct service_t *service; + struct service_action_t *action; +@@ -187,25 +187,25 @@ handle_action_request (struct Upnp_Action_Request *request) + if (!request || !ut) + return; + +- if (request->ErrCode != UPNP_E_SUCCESS) ++ if (UpnpActionRequest_get_ErrCode(request) != UPNP_E_SUCCESS) + return; + +- if (strcmp (request->DevUDN + 5, ut->udn)) ++ if (strcmp (UpnpActionRequest_get_DevUDN_cstr(request) + 5, ut->udn)) + return; + +- ip = (*(struct sockaddr_in *)&request->CtrlPtIPAddr).sin_addr.s_addr; ++ ip = (*(struct sockaddr_in *)UpnpActionRequest_get_CtrlPtIPAddr(request)).sin_addr.s_addr; + ip = ntohl (ip); + sprintf (val, "%d.%d.%d.%d", + (ip >> 24) & 0xFF, (ip >> 16) & 0xFF, (ip >> 8) & 0xFF, ip & 0xFF); + + if (ut->verbose) + { +- DOMString str = ixmlPrintDocument (request->ActionRequest); ++ DOMString str = ixmlPrintDocument (UpnpActionRequest_get_ActionRequest(request)); + log_verbose ("***************************************************\n"); + log_verbose ("** New Action Request **\n"); + log_verbose ("***************************************************\n"); +- log_verbose ("ServiceID: %s\n", request->ServiceID); +- log_verbose ("ActionName: %s\n", request->ActionName); ++ log_verbose ("ServiceID: %s\n", UpnpActionRequest_get_ServiceID_cstr(request)); ++ log_verbose ("ActionName: %s\n", UpnpActionRequest_get_ActionName_cstr(request)); + log_verbose ("CtrlPtIP: %s\n", val); + log_verbose ("Action Request:\n%s\n", str); + ixmlFreeDOMString (str); +@@ -220,11 +220,11 @@ handle_action_request (struct Upnp_Action_Request *request) + event.service = service; + + if (action->function (&event) && event.status) +- request->ErrCode = UPNP_E_SUCCESS; ++ UpnpActionRequest_set_ErrCode(request, UPNP_E_SUCCESS); + + if (ut->verbose) + { +- DOMString str = ixmlPrintDocument (request->ActionResult); ++ DOMString str = ixmlPrintDocument (UpnpActionRequest_get_ActionResult(request)); + log_verbose ("Action Result:\n%s", str); + log_verbose ("***************************************************\n"); + log_verbose ("\n"); +@@ -235,22 +235,22 @@ handle_action_request (struct Upnp_Action_Request *request) + } + + if (service) /* Invalid Action name */ +- strcpy (request->ErrStr, "Unknown Service Action"); ++ UpnpActionRequest_strcpy_ErrStr(request, "Unknown Service Action"); + else /* Invalid Service name */ +- strcpy (request->ErrStr, "Unknown Service ID"); ++ UpnpActionRequest_strcpy_ErrStr(request, "Unknown Service ID"); + +- request->ActionResult = NULL; +- request->ErrCode = UPNP_SOAP_E_INVALID_ACTION; ++ UpnpActionRequest_set_ActionResult(request, NULL); ++ UpnpActionRequest_set_ErrCode(request, UPNP_SOAP_E_INVALID_ACTION); + } + + static int +-device_callback_event_handler (Upnp_EventType type, void *event, ++device_callback_event_handler (Upnp_EventType type, const void *event, + void *cookie __attribute__((unused))) + { + switch (type) + { + case UPNP_CONTROL_ACTION_REQUEST: +- handle_action_request ((struct Upnp_Action_Request *) event); ++ handle_action_request ((UpnpActionRequest *) event); + break; + case UPNP_CONTROL_ACTION_COMPLETE: + case UPNP_EVENT_SUBSCRIPTION_REQUEST: +@@ -323,7 +323,7 @@ init_upnp (struct ushare_t *ut) + #endif /* HAVE_DLNA */ + + log_info (_("Initializing UPnP subsystem ...\n")); +- res = UpnpInit (ut->ip, ut->port); ++ res = UpnpInit2 (ut->interface, ut->port); + if (res != UPNP_E_SUCCESS) + { + log_error (_("Cannot initialize UPnP subsystem\n")); +@@ -351,7 +351,7 @@ init_upnp (struct ushare_t *ut) + log_info (_("UPnP MediaServer listening on %s:%d\n"), + UpnpGetServerIpAddress (), ut->port); + +- UpnpEnableWebserver (TRUE); ++ UpnpEnableWebserver (1); + + #define upnp_set_callback(cb, func) \ + do { \ +@@ -371,7 +371,7 @@ init_upnp (struct ushare_t *ut) + upnp_set_callback(Write, http_write); + upnp_set_callback(Close, http_close); + +- res = UpnpAddVirtualDir (VIRTUAL_DIR); ++ res = UpnpAddVirtualDir (VIRTUAL_DIR, NULL, NULL); + if (res != UPNP_E_SUCCESS) + { + log_error (_("Cannot add virtual directory for web server\n")); +diff --git a/src/ushare.h b/src/ushare.h +index a29da01..cd86cef 100644 +--- a/src/ushare.h ++++ b/src/ushare.h +@@ -125,7 +125,7 @@ struct ushare_t { + }; + + struct action_event_t { +- struct Upnp_Action_Request *request; ++ UpnpActionRequest *request; + bool status; + struct service_t *service; + }; diff --git a/buildroot/package/util-linux/util-linux.hash b/buildroot/package/util-linux/util-linux.hash index fce97c489..c5f5c69a4 100644 --- a/buildroot/package/util-linux/util-linux.hash +++ b/buildroot/package/util-linux/util-linux.hash @@ -1,5 +1,5 @@ # From https://www.kernel.org/pub/linux/utils/util-linux/v2.36/sha256sums.asc -sha256 9e4b1c67eb13b9b67feb32ae1dc0d50e08ce9e5d82e1cccd0ee771ad2fa9e0b1 util-linux-2.36.tar.xz +sha256 09fac242172cd8ec27f0739d8d192402c69417617091d8c6e974841568f37eed util-linux-2.36.1.tar.xz # License files, locally calculated sha256 869660b5269f4f40a8a679da7f403ea3a6e71d46087aab5e14871b09bcb55955 README.licensing sha256 9b718a9460fed5952466421235bc79eb49d4e9eacc920d7a9dd6285ab8fd6c6d Documentation/licenses/COPYING.BSD-3-Clause diff --git a/buildroot/package/util-linux/util-linux.mk b/buildroot/package/util-linux/util-linux.mk index 0b29ef4d6..b726f8950 100644 --- a/buildroot/package/util-linux/util-linux.mk +++ b/buildroot/package/util-linux/util-linux.mk @@ -8,7 +8,7 @@ # util-linux-libs/util-linux-libs.mk needs to be updated accordingly as well. UTIL_LINUX_VERSION_MAJOR = 2.36 -UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR) +UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR).1 UTIL_LINUX_SOURCE = util-linux-$(UTIL_LINUX_VERSION).tar.xz UTIL_LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/util-linux/v$(UTIL_LINUX_VERSION_MAJOR) diff --git a/buildroot/package/vlc/0011-qt-fix-missing-header-when-compiling-with-Qt-5.15.patch b/buildroot/package/vlc/0011-qt-fix-missing-header-when-compiling-with-Qt-5.15.patch deleted file mode 100644 index 169351193..000000000 --- a/buildroot/package/vlc/0011-qt-fix-missing-header-when-compiling-with-Qt-5.15.patch +++ /dev/null @@ -1,56 +0,0 @@ -From a44d2f3aa6075fb6e63da75f84a257294d21d161 Mon Sep 17 00:00:00 2001 -From: Pierre Lamot -Date: Wed, 27 May 2020 11:05:53 +0200 -Subject: [PATCH] qt: fix missing header when compiling with Qt 5.15 - -Upstream bug report: https://trac.videolan.org/vlc/ticket/24882 - -Signed-off-by: Bernd Kuhls -[backported upstream commit for modules/gui/qt/dialogs/plugins.cpp - http://git.videolan.org/?p=vlc.git;a=patch;h=0e88143ed2fe8eedfa4d3afdafcd0df901644c1d - the other two patches were proposed on the upstream bugtracker] ---- - modules/gui/qt/components/playlist/views.cpp | 1 + - modules/gui/qt/dialogs/plugins.cpp | 1 + - modules/gui/qt/util/timetooltip.hpp | 1 + - 3 files changed, 3 insertions(+) - -diff --git a/modules/gui/qt/components/playlist/views.cpp b/modules/gui/qt/components/playlist/views.cpp -index ecc6b9918d..d3fd76da1a 100644 ---- a/modules/gui/qt/components/playlist/views.cpp -+++ b/modules/gui/qt/components/playlist/views.cpp -@@ -35,6 +35,7 @@ - #include - #include - #include -+#include - - #include - -diff --git a/modules/gui/qt/dialogs/plugins.cpp b/modules/gui/qt/dialogs/plugins.cpp -index 93c92b9fa6..e05ec0594a 100644 ---- a/modules/gui/qt/dialogs/plugins.cpp -+++ b/modules/gui/qt/dialogs/plugins.cpp -@@ -66,6 +66,7 @@ - #include - #include - #include -+#include - - //match the image source (width/height) - #define SCORE_ICON_WIDTH_SCALE 4 -diff --git a/modules/gui/qt/util/timetooltip.hpp b/modules/gui/qt/util/timetooltip.hpp -index b6d7c646c9..f213eac459 100644 ---- a/modules/gui/qt/util/timetooltip.hpp -+++ b/modules/gui/qt/util/timetooltip.hpp -@@ -25,6 +25,7 @@ - #include "qt.hpp" - - #include -+#include - - class TimeTooltip : public QWidget - { --- -2.27.0 - diff --git a/buildroot/package/vlc/vlc.hash b/buildroot/package/vlc/vlc.hash index 7775e449f..f404cbf33 100644 --- a/buildroot/package/vlc/vlc.hash +++ b/buildroot/package/vlc/vlc.hash @@ -1,9 +1,7 @@ -# From https://get.videolan.org/vlc/3.0.11/vlc-3.0.11.tar.xz.sha256 -sha256 3e94a1acf33445e9da15d528aa48657aa26b912eaa2656b403d43860a8834919 vlc-3.0.11.tar.xz -# From https://get.videolan.org/vlc/3.0.11/vlc-3.0.11.tar.xz.sha1 -sha1 66d377a2f24b6b865d5c56530e10d84b8262b46c vlc-3.0.11.tar.xz -# From https://get.videolan.org/vlc/3.0.11/vlc-3.0.11.tar.xz.md5 -md5 7e68f9e2d307eb7cc16e7345cda9e978 vlc-3.0.11.tar.xz +# From https://get.videolan.org/vlc/3.0.12/vlc-3.0.12.tar.xz.sha256 +sha256 eff458f38a92126094f44f2263c2bf2c7cdef271b48192d0fe7b1726388cf879 vlc-3.0.12.tar.xz +# From https://get.videolan.org/vlc/3.0.12/vlc-3.0.12.tar.xz.sha1 +sha1 39ef414a07202ec6569acda4c5d91e8576d453bf vlc-3.0.12.tar.xz # Locally computed sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/buildroot/package/vlc/vlc.mk b/buildroot/package/vlc/vlc.mk index 23dcc5d46..945ea5d65 100644 --- a/buildroot/package/vlc/vlc.mk +++ b/buildroot/package/vlc/vlc.mk @@ -4,11 +4,13 @@ # ################################################################################ -VLC_VERSION = 3.0.11 +VLC_VERSION = 3.0.12 VLC_SITE = https://get.videolan.org/vlc/$(VLC_VERSION) VLC_SOURCE = vlc-$(VLC_VERSION).tar.xz VLC_LICENSE = GPL-2.0+, LGPL-2.1+ VLC_LICENSE_FILES = COPYING COPYING.LIB +VLC_CPE_ID_VENDOR = videolan +VLC_CPE_ID_NAME = vlc_media_player VLC_DEPENDENCIES = host-pkgconf VLC_AUTORECONF = YES @@ -376,9 +378,9 @@ else VLC_CONF_OPTS += --disable-theora endif -ifeq ($(BR2_PACKAGE_LIBUPNP)$(BR2_PACKAGE_LIBUPNP18),y) +ifeq ($(BR2_PACKAGE_LIBUPNP),y) VLC_CONF_OPTS += --enable-upnp -VLC_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBUPNP),libupnp,libupnp18) +VLC_DEPENDENCIES += libupnp else VLC_CONF_OPTS += --disable-upnp endif diff --git a/buildroot/package/wavpack/wavpack.hash b/buildroot/package/wavpack/wavpack.hash index eeef73032..abc9ab690 100644 --- a/buildroot/package/wavpack/wavpack.hash +++ b/buildroot/package/wavpack/wavpack.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 b444379a0bee0330f137cb3e9a100e6a12a63a6d01987ba66b3729f85e282307 wavpack-5.3.0.tar.xz -sha256 a0bbe245dfe263f73946b72306e8336818009ff1e52b119784c288f2785fc260 COPYING +sha256 4bde6a6b2a86614a6bd2579e60dcc974e2c8f93608d2281110a717c1b3c28b79 wavpack-5.4.0.tar.xz +sha256 f38defde000d62c4ff158f1445cb85a0c2f67cbc1d3cfa34ed882f439f6e3b43 COPYING diff --git a/buildroot/package/wavpack/wavpack.mk b/buildroot/package/wavpack/wavpack.mk index 6403f93ac..d44982232 100644 --- a/buildroot/package/wavpack/wavpack.mk +++ b/buildroot/package/wavpack/wavpack.mk @@ -4,7 +4,7 @@ # ################################################################################ -WAVPACK_VERSION = 5.3.0 +WAVPACK_VERSION = 5.4.0 WAVPACK_SITE = \ https://github.com/dbry/WavPack/releases/download/$(WAVPACK_VERSION) WAVPACK_SOURCE = wavpack-$(WAVPACK_VERSION).tar.xz diff --git a/buildroot/package/wireguard-linux-compat/wireguard-linux-compat.hash b/buildroot/package/wireguard-linux-compat/wireguard-linux-compat.hash index 8895875cf..194c79857 100644 --- a/buildroot/package/wireguard-linux-compat/wireguard-linux-compat.hash +++ b/buildroot/package/wireguard-linux-compat/wireguard-linux-compat.hash @@ -1,4 +1,4 @@ -# https://lists.zx2c4.com/pipermail/wireguard/2020-November/005997.html -sha256 89eae7f0c0bd6c8df3ba2e090984974ff68741a9f26aa0922890f8ca727897e1 wireguard-linux-compat-1.0.20201112.tar.xz +# https://lists.zx2c4.com/pipermail/wireguard/2020-December/006210.html +sha256 6e5289a8b602eaaf1383aebefcbc41b8ad2721269055858b150363076c1c2132 wireguard-linux-compat-1.0.20201221.tar.xz # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/buildroot/package/wireguard-linux-compat/wireguard-linux-compat.mk b/buildroot/package/wireguard-linux-compat/wireguard-linux-compat.mk index 76585e0bc..ef21e2e11 100644 --- a/buildroot/package/wireguard-linux-compat/wireguard-linux-compat.mk +++ b/buildroot/package/wireguard-linux-compat/wireguard-linux-compat.mk @@ -4,7 +4,7 @@ # ################################################################################ -WIREGUARD_LINUX_COMPAT_VERSION = 1.0.20201112 +WIREGUARD_LINUX_COMPAT_VERSION = 1.0.20201221 WIREGUARD_LINUX_COMPAT_SITE = https://git.zx2c4.com/wireguard-linux-compat/snapshot WIREGUARD_LINUX_COMPAT_SOURCE = wireguard-linux-compat-$(WIREGUARD_LINUX_COMPAT_VERSION).tar.xz WIREGUARD_LINUX_COMPAT_LICENSE = GPL-2.0 diff --git a/buildroot/package/wolfssl/0001-Make-ByteReverseWords-available-for-big-and-little-endian.patch b/buildroot/package/wolfssl/0001-Make-ByteReverseWords-available-for-big-and-little-endian.patch deleted file mode 100644 index 48a318d53..000000000 --- a/buildroot/package/wolfssl/0001-Make-ByteReverseWords-available-for-big-and-little-endian.patch +++ /dev/null @@ -1,32 +0,0 @@ -From b90acc91d0cd276befe7f08f87ba2dc5ee7122ff Mon Sep 17 00:00:00 2001 -From: Tesfa Mael -Date: Wed, 26 Aug 2020 10:13:06 -0700 -Subject: [PATCH] Make ByteReverseWords available for big and little endian - -[Retrieved from: -https://github.com/wolfSSL/wolfssl/pull/3255/commits/b90acc91d0cd276befe7f08f87ba2dc5ee7122ff] -Signed-off-by: Fabrice Fontaine ---- - wolfcrypt/src/misc.c | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/wolfcrypt/src/misc.c b/wolfcrypt/src/misc.c -index fe66ee0a1a..23bfa1adc5 100644 ---- a/wolfcrypt/src/misc.c -+++ b/wolfcrypt/src/misc.c -@@ -120,7 +120,6 @@ WC_STATIC WC_INLINE word32 ByteReverseWord32(word32 value) - return rotlFixed(value, 16U); - #endif - } --#if defined(LITTLE_ENDIAN_ORDER) - /* This routine performs a byte swap of words array of a given count. */ - WC_STATIC WC_INLINE void ByteReverseWords(word32* out, const word32* in, - word32 byteCount) -@@ -131,7 +130,6 @@ WC_STATIC WC_INLINE void ByteReverseWords(word32* out, const word32* in, - out[i] = ByteReverseWord32(in[i]); - - } --#endif /* LITTLE_ENDIAN_ORDER */ - - #if defined(WORD64_AVAILABLE) && !defined(WOLFSSL_NO_WORD64_OPS) - diff --git a/buildroot/package/wolfssl/wolfssl.hash b/buildroot/package/wolfssl/wolfssl.hash index 0ee55276d..f5a25fe98 100644 --- a/buildroot/package/wolfssl/wolfssl.hash +++ b/buildroot/package/wolfssl/wolfssl.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 7de62300ce14daa0051bfefc7c4d6302f96cabc768b6ae49eda77523b118250c wolfssl-4.5.0-stable.tar.gz +sha256 053aefbb02d0b06b27c5e2df6875b4b587318755b7db9d6aa8d72206b310a848 wolfssl-4.6.0-stable.tar.gz # Hash for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/buildroot/package/wolfssl/wolfssl.mk b/buildroot/package/wolfssl/wolfssl.mk index e2833144f..202340114 100644 --- a/buildroot/package/wolfssl/wolfssl.mk +++ b/buildroot/package/wolfssl/wolfssl.mk @@ -4,7 +4,7 @@ # ################################################################################ -WOLFSSL_VERSION = 4.5.0-stable +WOLFSSL_VERSION = 4.6.0-stable WOLFSSL_SITE = $(call github,wolfSSL,wolfssl,v$(WOLFSSL_VERSION)) WOLFSSL_INSTALL_STAGING = YES diff --git a/buildroot/package/x11r7/xapp_xload/xapp_xload.mk b/buildroot/package/x11r7/xapp_xload/xapp_xload.mk index 4bb21ecf0..9f491ccdc 100644 --- a/buildroot/package/x11r7/xapp_xload/xapp_xload.mk +++ b/buildroot/package/x11r7/xapp_xload/xapp_xload.mk @@ -18,4 +18,8 @@ ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) XAPP_XLOAD_CONF_OPTS += CFLAGS="$(TARGET_CFLAGS) -DRLOADSTUB" endif +ifeq ($(BR2_SYSTEM_ENABLE_NLS),) +XAPP_XLOAD_CONF_ENV += ac_cv_search_gettext=no +endif + $(eval $(autotools-package)) diff --git a/buildroot/package/xorriso/xorriso.hash b/buildroot/package/xorriso/xorriso.hash index b594b9143..faaeab5fa 100644 --- a/buildroot/package/xorriso/xorriso.hash +++ b/buildroot/package/xorriso/xorriso.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 a93fa7ae5bb1902198cddfec25201388156932f36f2f5da829bf4fcae9a6062b xorriso-1.5.0.tar.gz -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING -sha256 72e99e72cd68f226415e5d898f3b38e24ae7991ed038ed72d789fff5b060f028 COPYRIGHT +sha256 3b69f5c93ae7c40c5bbe4a847fa3963f5efc9c565551622f77121c5792fc17e7 xorriso-1.5.2.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 72e99e72cd68f226415e5d898f3b38e24ae7991ed038ed72d789fff5b060f028 COPYRIGHT diff --git a/buildroot/package/xorriso/xorriso.mk b/buildroot/package/xorriso/xorriso.mk index 472623ea5..7b38f268b 100644 --- a/buildroot/package/xorriso/xorriso.mk +++ b/buildroot/package/xorriso/xorriso.mk @@ -4,7 +4,7 @@ # ################################################################################ -XORRISO_VERSION = 1.5.0 +XORRISO_VERSION = 1.5.2 XORRISO_SITE = $(BR2_GNU_MIRROR)/xorriso XORRISO_LICENSE = GPL-3.0+ XORRISO_LICENSE_FILES = COPYING COPYRIGHT diff --git a/buildroot/package/zic/0001-remove-dependency-check-on-version-file.patch b/buildroot/package/zic/0001-remove-dependency-check-on-version-file.patch index f4b259052..193c26304 100644 --- a/buildroot/package/zic/0001-remove-dependency-check-on-version-file.patch +++ b/buildroot/package/zic/0001-remove-dependency-check-on-version-file.patch @@ -18,10 +18,10 @@ diff --git a/Makefile b/Makefile index 1b714a8..00d2c09 100644 --- a/Makefile +++ b/Makefile -@@ -437,7 +437,7 @@ INSTALL: ALL install date.1 - cp date $(DESTDIR)$(BINDIR)/. - cp -f date.1 $(DESTDIR)$(MANDIR)/man1/. - +@@ -587,7 +587,7 @@ INSTALL: ALL install date.1 + # Otherwise, use $(VERSION) unless it is "unknown" and there is already + # a 'version' file, in which case reuse the existing 'version' contents + # and append "-dirty" if the contents do not already end in "-dirty". -version: $(VERSION_DEPS) +version: { (type git) >/dev/null 2>&1 && \ diff --git a/buildroot/package/zic/zic.hash b/buildroot/package/zic/zic.hash index 677bb0f05..3cee80bcd 100644 --- a/buildroot/package/zic/zic.hash +++ b/buildroot/package/zic/zic.hash @@ -1,4 +1,4 @@ -# From https://mm.icann.org/pipermail/tz-announce/2020-April/000058.html -sha512 5235d6590e844491df32375857f5f36ba0046f2d21a078375188dff79b125cf9b69136a0a431624de1ecfa9d53b62a232f0e6ee0b734294cec62b670e6265cb2 tzcode2020a.tar.gz +# From https://mm.icann.org/pipermail/tz-announce/2020-December/000064.html +sha512 5f6bf1b508434842eb9dacacc744b5f3375c35b88e401ef372b5fde80ad2f523484fe52a6e99460e402230406ebf6a9261a97efde45a610f8e8085893d55c4ed tzcode2020f.tar.gz # Locally computed: sha256 0613408568889f5739e5ae252b722a2659c02002839ad970a63dc5e9174b27cf LICENSE diff --git a/buildroot/package/zic/zic.mk b/buildroot/package/zic/zic.mk index 98f3bca58..7529b682a 100644 --- a/buildroot/package/zic/zic.mk +++ b/buildroot/package/zic/zic.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZIC_VERSION = 2020a +ZIC_VERSION = 2020f ZIC_SOURCE = tzcode$(ZIC_VERSION).tar.gz ZIC_SITE = https://www.iana.org/time-zones/repository/releases ZIC_STRIP_COMPONENTS = 0 diff --git a/buildroot/support/config-fragments/autobuild/bootlin-x86-64-glibc.config b/buildroot/support/config-fragments/autobuild/bootlin-x86-64-glibc.config index 6a372803b..815eb658e 100644 --- a/buildroot/support/config-fragments/autobuild/bootlin-x86-64-glibc.config +++ b/buildroot/support/config-fragments/autobuild/bootlin-x86-64-glibc.config @@ -1,15 +1,5 @@ BR2_x86_64=y BR2_x86_corei7=y BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y -BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--glibc--bleeding-edge-2020.02-2.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_9=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y -# BR2_TOOLCHAIN_EXTERNAL_LOCALE is not set -BR2_TOOLCHAIN_EXTERNAL_CXX=y -BR2_TOOLCHAIN_EXTERNAL_HAS_SSP=y -BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG=y -BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS=y -BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_BLEEDING_EDGE=y diff --git a/buildroot/support/dependencies/check-host-cmake.mk b/buildroot/support/dependencies/check-host-cmake.mk index 01f38da37..33281f0bc 100644 --- a/buildroot/support/dependencies/check-host-cmake.mk +++ b/buildroot/support/dependencies/check-host-cmake.mk @@ -3,7 +3,12 @@ # package is bumped or a new one added, and it requires a higher # version, our cmake infra will catch it and build its own. # +ifeq ($(BR2_PACKAGE_GERBERA),y) +# gerbera needs 3.14+ +BR2_CMAKE_VERSION_MIN = 3.14 +else BR2_CMAKE_VERSION_MIN = 3.10 +endif BR2_CMAKE_CANDIDATES ?= cmake cmake3 BR2_CMAKE ?= $(call suitable-host-package,cmake,\ diff --git a/buildroot/support/misc/Vagrantfile b/buildroot/support/misc/Vagrantfile index 753a9bdcd..ed12abd2f 100644 --- a/buildroot/support/misc/Vagrantfile +++ b/buildroot/support/misc/Vagrantfile @@ -5,7 +5,7 @@ ################################################################################ # Buildroot version to use -RELEASE='2020.11.1' +RELEASE='2020.11.2' ### Change here for more memory/cores ### VM_MEMORY=2048 diff --git a/buildroot/support/scripts/pkg-stats b/buildroot/support/scripts/pkg-stats index d44f8241c..f6460cf6f 100755 --- a/buildroot/support/scripts/pkg-stats +++ b/buildroot/support/scripts/pkg-stats @@ -32,7 +32,6 @@ brpath = os.path.normpath(os.path.join(os.path.dirname(__file__), "..", "..")) sys.path.append(os.path.join(brpath, "utils")) from getdeveloperlib import parse_developers # noqa: E402 -import cve as cvecheck # noqa: E402 INFRA_RE = re.compile(r"\$\(eval \$\(([a-z-]*)-package\)\)") @@ -414,7 +413,7 @@ async def check_package_urls(packages): async with aiohttp.ClientSession(connector=connector, trust_env=True) as sess: packages = [p for p in packages if p.status['url'][0] == 'ok'] for pkg in packages: - tasks.append(check_url_status(sess, pkg, len(packages))) + tasks.append(asyncio.ensure_future(check_url_status(sess, pkg, len(packages)))) await asyncio.wait(tasks) @@ -532,7 +531,7 @@ async def check_package_latest_version(packages): async with aiohttp.ClientSession(connector=connector, trust_env=True) as sess: packages = [p for p in packages if p.has_valid_infra] for pkg in packages: - tasks.append(check_package_latest_version_get(sess, pkg, len(packages))) + tasks.append(asyncio.ensure_future(check_package_latest_version_get(sess, pkg, len(packages)))) await asyncio.wait(tasks) @@ -950,7 +949,13 @@ def parse_args(): def __main__(): + global cvecheck + args = parse_args() + + if args.nvd_path: + import cve as cvecheck + if args.packages: package_list = args.packages.split(",") elif args.configpackages: @@ -964,7 +969,7 @@ def __main__(): print("Build package list ...") packages = get_pkglist(args.npackages, package_list) print("Getting developers ...") - developers = parse_developers(brpath) + developers = parse_developers() print("Build defconfig list ...") defconfigs = get_defconfig_list() for d in defconfigs: diff --git a/buildroot/toolchain/Config.in b/buildroot/toolchain/Config.in index db2ab0f05..5611e5c6d 100644 --- a/buildroot/toolchain/Config.in +++ b/buildroot/toolchain/Config.in @@ -697,6 +697,7 @@ config BR2_TOOLCHAIN_HAS_SYNC_8 config BR2_TOOLCHAIN_HAS_LIBATOMIC bool default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 && \ + !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 && \ BR2_TOOLCHAIN_HAS_THREADS && \ !BR2_BINFMT_FLAT diff --git a/buildroot/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options b/buildroot/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options index 3c94ae153..c64c4bb35 100644 --- a/buildroot/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options +++ b/buildroot/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options @@ -2523,7 +2523,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_GLIBC_BLEEDING_EDGE - bool "powerpc-440fp glibc bleeding-edge 2020.08-1" + bool "powerpc-440fp glibc bleeding-edge 2020.08-2" depends on BR2_powerpc depends on BR2_powerpc_440fp depends on BR2_USE_MMU @@ -2538,8 +2538,8 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_GLIBC_BLEEDING_EDGE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL - select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_TOOLCHAIN_EXTERNAL_GLIBC help Bootlin toolchain for the powerpc-440fp architecture, using the glibc C library. This is a bleeding-edge version, which @@ -2549,7 +2549,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_GLIBC_STABLE - bool "powerpc-440fp glibc stable 2020.08-1" + bool "powerpc-440fp glibc stable 2020.08-2" depends on BR2_powerpc depends on BR2_powerpc_440fp depends on BR2_USE_MMU @@ -2564,8 +2564,8 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_GLIBC_STABLE select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL - select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_TOOLCHAIN_EXTERNAL_GLIBC help Bootlin toolchain for the powerpc-440fp architecture, using the glibc C library. This is a stable version, which means @@ -2575,7 +2575,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_MUSL_BLEEDING_EDGE - bool "powerpc-440fp musl bleeding-edge 2020.08-1" + bool "powerpc-440fp musl bleeding-edge 2020.08-2" depends on BR2_powerpc depends on BR2_powerpc_440fp depends on BR2_USE_MMU @@ -2598,7 +2598,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_MUSL_STABLE - bool "powerpc-440fp musl stable 2020.08-1" + bool "powerpc-440fp musl stable 2020.08-2" depends on BR2_powerpc depends on BR2_powerpc_440fp depends on BR2_USE_MMU @@ -2621,7 +2621,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_UCLIBC_BLEEDING_EDGE - bool "powerpc-440fp uclibc bleeding-edge 2020.08-1" + bool "powerpc-440fp uclibc bleeding-edge 2020.08-2" depends on BR2_powerpc depends on BR2_powerpc_440fp select BR2_TOOLCHAIN_GCC_AT_LEAST_10 @@ -2645,7 +2645,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_UCLIBC_STABLE - bool "powerpc-440fp uclibc stable 2020.08-1" + bool "powerpc-440fp uclibc stable 2020.08-2" depends on BR2_powerpc depends on BR2_powerpc_440fp select BR2_TOOLCHAIN_GCC_AT_LEAST_9 diff --git a/buildroot/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.hash b/buildroot/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.hash index 8764f395f..3e6eb99cc 100644 --- a/buildroot/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.hash +++ b/buildroot/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.hash @@ -200,18 +200,18 @@ sha256 697ef122917022f400003931bc6da75fe07bb5234ef8186cbe027e560f04a168 openri sha256 e45d02c9272c909db1c92b6403ed1e0813889ef0c22b2f5166d2675f62d3f20f openrisc--uclibc--bleeding-edge-2020.08-1.tar.bz2 # From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--uclibc--stable-2020.08-1.sha256 sha256 62c60f9f99828a01f3a16060ceba74b8e2603a8ca3585649434a66f721ecdf75 openrisc--uclibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--glibc--bleeding-edge-2020.08-1.sha256 -sha256 d7e3ab961be0b39f40b428790e48f9f3e44290bb7bed51446bc7c8d66aacf0da powerpc-440fp--glibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--glibc--stable-2020.08-1.sha256 -sha256 99ab7272cf8fec3e0ce67935bea9c077a2e9bd9076388238c3976cdf1e8f19e0 powerpc-440fp--glibc--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--musl--bleeding-edge-2020.08-1.sha256 -sha256 182dd8d2a4203863c663301b8ee6e59101a0b87dbb03aa3b919944338a2947fe powerpc-440fp--musl--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--musl--stable-2020.08-1.sha256 -sha256 4658f631506b7d73a7f6816caa6b8e052d5d203e14a77bd6904af8ee9ebf2868 powerpc-440fp--musl--stable-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--uclibc--bleeding-edge-2020.08-1.sha256 -sha256 e6570a1683260620bec129e849f68488e59460a99158c5c3e48b30432ec043c7 powerpc-440fp--uclibc--bleeding-edge-2020.08-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--uclibc--stable-2020.08-1.sha256 -sha256 ed632b806c8e8fa77e0d1f43d57ae169629ce94e4783044771ee60775001d207 powerpc-440fp--uclibc--stable-2020.08-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--glibc--bleeding-edge-2020.08-2.sha256 +sha256 7b7c2f66ccd3d44cd8a829b5879277be9cfb17f34a26d5055b29a6bab40ff9df powerpc-440fp--glibc--bleeding-edge-2020.08-2.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--glibc--stable-2020.08-2.sha256 +sha256 ae7b3d06090dfcf54b1e3b4bd4fda9ae5aaaf34aba9118820e6e9d8f1b70c0c4 powerpc-440fp--glibc--stable-2020.08-2.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--musl--bleeding-edge-2020.08-2.sha256 +sha256 a6def102659538e3e5838bf4267cd33486d795db753a7109b5e413499ef5df89 powerpc-440fp--musl--bleeding-edge-2020.08-2.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--musl--stable-2020.08-2.sha256 +sha256 76de0310078633ff34654c8c54d7e80a609c58521a7f2a8041ae4a574889d38a powerpc-440fp--musl--stable-2020.08-2.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--uclibc--bleeding-edge-2020.08-2.sha256 +sha256 abbe38fc92a71d568c08452f99fe3470e5ded9a666c6829d9104fcf06b984503 powerpc-440fp--uclibc--bleeding-edge-2020.08-2.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--uclibc--stable-2020.08-2.sha256 +sha256 d4346ce563ddfbd4946b2dfbc766cafebbf4b09488dc8b398ab8bb242bac9268 powerpc-440fp--uclibc--stable-2020.08-2.tar.bz2 # From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--glibc--bleeding-edge-2020.08-1.sha256 sha256 fe4b9817f060d84118fff5b7d855eacac472975f2adfececb641d2999f94a7ea powerpc-e300c3--glibc--bleeding-edge-2020.08-1.tar.bz2 # From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--glibc--stable-2020.08-1.sha256 diff --git a/buildroot/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.mk b/buildroot/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.mk index 71f53f6d5..cfe447428 100644 --- a/buildroot/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.mk +++ b/buildroot/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.mk @@ -607,37 +607,37 @@ TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/relea endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-2 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-440fp--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-2 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-440fp--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-2 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-440fp--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-2 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-440fp--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-2 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-440fp--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2020.08-2 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-440fp--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs endif diff --git a/buildroot/utils/checkpackagelib/lib_mk.py b/buildroot/utils/checkpackagelib/lib_mk.py index 45e37e459..027835443 100644 --- a/buildroot/utils/checkpackagelib/lib_mk.py +++ b/buildroot/utils/checkpackagelib/lib_mk.py @@ -16,12 +16,13 @@ from checkpackagelib.lib import Utf8Characters # noqa: F401 # used in more than one check start_conditional = ["ifdef", "ifeq", "ifndef", "ifneq"] +continue_conditional = ["elif", "else"] end_conditional = ["endif"] class Indent(_CheckFunction): COMMENT = re.compile(r"^\s*#") - CONDITIONAL = re.compile(r"^\s*({})\s".format("|".join(start_conditional + end_conditional))) + CONDITIONAL = re.compile(r"^\s*({})\s".format("|".join(start_conditional + end_conditional + continue_conditional))) ENDS_WITH_BACKSLASH = re.compile(r"^[^#].*\\$") END_DEFINE = re.compile(r"^\s*endef\s") MAKEFILE_TARGET = re.compile(r"^[^# \t]+:\s") @@ -43,7 +44,7 @@ class Indent(_CheckFunction): expect_tabs = False if self.define or self.backslash or self.makefile_target: expect_tabs = True - if self.CONDITIONAL.search(text): + if not self.backslash and self.CONDITIONAL.search(text): expect_tabs = False # calculate for next line diff --git a/buildroot/utils/get-developers b/buildroot/utils/get-developers index 750fc556d..9182b2d85 100755 --- a/buildroot/utils/get-developers +++ b/buildroot/utils/get-developers @@ -3,7 +3,6 @@ import argparse import getdeveloperlib import sys -import os def parse_args(): @@ -45,10 +44,6 @@ def __main__(): print("No action specified") return - # getdeveloperlib expects to be executed from the toplevel buildroot - # directory, which is one level up from this script - os.chdir(os.path.join(os.path.dirname(os.path.realpath(__file__)), '..')) - devs = getdeveloperlib.parse_developers() if devs is None: sys.exit(1) @@ -75,11 +70,9 @@ def __main__(): # Handle the files action if args.files is not None: - args.files = [os.path.abspath(f) for f in args.files] for dev in devs: - for devfile in dev.files: - commonfiles = [f for f in args.files if f.startswith(devfile)] - if commonfiles: + for f in args.files: + if dev.hasfile(f): print(dev.name) break diff --git a/buildroot/utils/getdeveloperlib.py b/buildroot/utils/getdeveloperlib.py index f57f41887..d7a90457e 100644 --- a/buildroot/utils/getdeveloperlib.py +++ b/buildroot/utils/getdeveloperlib.py @@ -6,6 +6,8 @@ import subprocess import sys import unittest +brpath = os.path.normpath(os.path.join(os.path.dirname(__file__), "..")) + # # Patch parsing functions # @@ -94,14 +96,14 @@ def get_all_test_cases(suite): yield (suite.__module__, suite.__class__.__name__) -def list_unittests(path): +def list_unittests(): """Use the unittest module to retreive all test cases from a given directory""" loader = unittest.TestLoader() - suite = loader.discover(path) + suite = loader.discover(os.path.join(brpath, "support", "testing")) tests = {} for module, test in get_all_test_cases(suite): - module_path = os.path.join(path, *module.split('.')) + module_path = os.path.join("support", "testing", *module.split('.')) tests.setdefault(module_path, []).append('%s.%s' % (module, test)) return tests @@ -124,9 +126,7 @@ class Developer: self.defconfigs = parse_developer_defconfigs(files) def hasfile(self, f): - f = os.path.abspath(f) for fs in self.files: - fs = os.path.abspath(fs) if f.startswith(fs): return True return False @@ -158,7 +158,7 @@ def parse_developer_packages(fnames): patterns, and return a list of those packages.""" packages = set() for fname in fnames: - for root, dirs, files in os.walk(fname): + for root, dirs, files in os.walk(os.path.join(brpath, fname)): for f in files: path = os.path.join(root, f) if fname_get_package_infra(path): @@ -223,7 +223,7 @@ def parse_developer_runtime_tests(fnames): # List all files recursively for fname in fnames: if os.path.isdir(fname): - for root, _dirs, files in os.walk(fname): + for root, _dirs, files in os.walk(os.path.join(brpath, fname)): all_files += [os.path.join(root, f) for f in files] else: all_files.append(fname) @@ -237,15 +237,13 @@ def parse_developer_runtime_tests(fnames): return runtimes -def parse_developers(basepath=None): +def parse_developers(): """Parse the DEVELOPERS file and return a list of Developer objects.""" developers = [] linen = 0 - if basepath is None: - basepath = os.getcwd() global unittests - unittests = list_unittests(os.path.join(basepath, 'support/testing')) - with open(os.path.join(basepath, "DEVELOPERS"), "r") as f: + unittests = list_unittests() + with open(os.path.join(brpath, "DEVELOPERS"), "r") as f: files = [] name = None for line in f: @@ -259,11 +257,11 @@ def parse_developers(basepath=None): name = line[2:].strip() elif line.startswith("F:"): fname = line[2:].strip() - dev_files = glob.glob(os.path.join(basepath, fname)) + dev_files = glob.glob(os.path.join(brpath, fname)) if len(dev_files) == 0: print("WARNING: '%s' doesn't match any file" % fname, file=sys.stderr) - files += dev_files + files += [os.path.relpath(f, brpath) for f in dev_files] elif line == "": if not name: continue