aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Peter Korsgaard <peter@korsgaard.com>2020-09-02 18:07:52 +0200
committerGravatar Peter Korsgaard <peter@korsgaard.com>2020-09-02 18:14:46 +0200
commitc287d789b7106b60e8d7bf3eb01e266ae15cafa1 (patch)
tree82e704acb618658ccb18f1cb9106238957d18941
parente3d7f5fe51d4d8d612cfdad798fb6cba183e15a9 (diff)
parent841ee767be173126ec61f77b7022da2be6665d8c (diff)
downloadbuildroot-c287d789b7106b60e8d7bf3eb01e266ae15cafa1.tar.gz
buildroot-c287d789b7106b60e8d7bf3eb01e266ae15cafa1.tar.bz2
Merge branch 'next'
A number of merge conflicts, but hopefully they are all sorted out now. Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
-rw-r--r--Config.in.legacy34
-rw-r--r--DEVELOPERS26
-rw-r--r--Makefile9
-rw-r--r--board/radxa/rockpi-n8/extlinux.conf4
-rw-r--r--board/radxa/rockpi-n8/genimage.cfg39
-rwxr-xr-xboard/radxa/rockpi-n8/post-build.sh5
-rw-r--r--board/radxa/rockpi-n8/readme.txt61
-rw-r--r--board/roseapplepi/genimage.cfg10
-rw-r--r--board/roseapplepi/linux.config45
-rw-r--r--board/roseapplepi/patches/linux/0001-arm-dts-owl-s500-Fix-incorrect-PPI.patch52
-rw-r--r--board/roseapplepi/patches/linux/0001-unbreak-xhci-trace.patch31
-rw-r--r--board/roseapplepi/patches/linux/0002-arm-dts-owl-s500-add-RoseapplePi.patch89
-rw-r--r--board/roseapplepi/patches/linux/0002-kernel-add-support-for-gcc-5.patch99
-rw-r--r--board/roseapplepi/patches/linux/0003-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch54
-rw-r--r--board/roseapplepi/patches/linux/0004-Fix-compile-errors-with-gcc5.patch121
-rw-r--r--board/roseapplepi/patches/linux/0005-compiler-gcc-integrate-the-various-compiler-gcc-345-.patch363
-rw-r--r--[-rwxr-xr-x]board/roseapplepi/uEnv.txt2
-rw-r--r--boot/at91bootstrap3/Config.in4
-rw-r--r--boot/at91bootstrap3/at91bootstrap3.hash2
-rw-r--r--configs/rock_pi_n8_defconfig45
-rw-r--r--configs/roseapplepi_defconfig20
-rw-r--r--docs/manual/adding-packages-golang.txt16
-rw-r--r--package/Config.in17
-rw-r--r--package/Config.in.host1
-rw-r--r--package/amd-catalyst/0001-Add-support-for-Linux-4.0.patch45
-rw-r--r--package/amd-catalyst/0002-Add-support-for-Linux-4.1.patch31
-rw-r--r--package/amd-catalyst/0003-Add-support-for-Linux-4.2.patch121
-rw-r--r--package/amd-catalyst/0004-Use-fpregs_active-instead-of-has_fpu.patch33
-rw-r--r--package/amd-catalyst/0005-Use-a-local-copy-of-copy_xregs_to_kernel.patch79
-rw-r--r--package/amd-catalyst/0006-Add-support-for-Linux-4.4.patch78
-rw-r--r--package/amd-catalyst/0007-remove-gpl-symbols.patch54
-rw-r--r--package/amd-catalyst/20-fglrx.conf4
-rw-r--r--package/amd-catalyst/Config.in65
-rw-r--r--package/amd-catalyst/amd-catalyst.hash2
-rw-r--r--package/amd-catalyst/amd-catalyst.mk162
-rw-r--r--package/amd-catalyst/gl.pc12
-rw-r--r--package/botan/botan.hash2
-rw-r--r--package/botan/botan.mk2
-rw-r--r--package/busybox/0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch4
-rw-r--r--package/busybox/0003-date-Use-64-prefix-syscall-if-we-have-to.patch61
-rw-r--r--package/busybox/0004-time-Use-64-prefix-syscall-if-we-have-to.patch50
-rw-r--r--package/busybox/0005-runsv-Use-64-prefix-syscall-if-we-have-to.patch50
-rw-r--r--package/busybox/0006-Remove-syscall-wrappers-around-clock_gettime-closes-.patch134
-rw-r--r--package/busybox/0007-Remove-stime-function-calls.patch97
-rw-r--r--package/busybox/busybox.hash4
-rw-r--r--package/busybox/busybox.mk3
-rw-r--r--package/c-capnproto/Config.in8
-rw-r--r--package/cage/cage.hash2
-rw-r--r--package/cage/cage.mk4
-rw-r--r--package/capnproto/Config.in8
-rw-r--r--package/capnproto/capnproto.hash2
-rw-r--r--package/capnproto/capnproto.mk2
-rw-r--r--package/collectd/Config.in11
-rw-r--r--package/collectd/collectd.mk4
-rw-r--r--package/docker-cli/docker-cli.mk6
-rw-r--r--package/docker-containerd/docker-containerd.mk2
-rw-r--r--package/docker-engine/docker-engine.mk2
-rw-r--r--package/docker-proxy/docker-proxy.mk2
-rw-r--r--package/easydbus/Config.in5
-rw-r--r--package/easyframes/Config.in10
-rw-r--r--package/easyframes/easyframes.hash3
-rw-r--r--package/easyframes/easyframes.mk13
-rw-r--r--package/eudev/Config.in1
-rw-r--r--package/eudev/eudev.mk10
-rw-r--r--package/exfatprogs/exfatprogs.hash2
-rw-r--r--package/exfatprogs/exfatprogs.mk2
-rw-r--r--package/freeswitch/Config.in2
-rw-r--r--package/freeswitch/freeswitch.hash11
-rw-r--r--package/freeswitch/freeswitch.mk9
-rw-r--r--package/frr/Config.in25
-rw-r--r--package/frr/S50frr46
-rw-r--r--package/frr/frr.hash3
-rw-r--r--package/frr/frr.mk66
-rw-r--r--package/gdb/8.1.1/0006-Move-is_regular_file-from-common-utils.c-to-filestuf.patch172
-rw-r--r--package/gdb/8.1.1/0007-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-gdb_wait-h.patch54
-rw-r--r--package/gdb/8.1.1/0008-Fix-incorrect-use-of-is-operator-for-comparison-in-p.patch42
-rw-r--r--package/gdb/9.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch (renamed from package/gdb/8.1.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch)24
-rw-r--r--package/gdb/9.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch (renamed from package/gdb/8.1.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch)10
-rw-r--r--package/gdb/9.2/0003-use-asm-sgidefs.h.patch (renamed from package/gdb/8.1.1/0003-use-asm-sgidefs.h.patch)6
-rw-r--r--package/gdb/9.2/0004-gdbserver-fix-build-for-m68k.patch (renamed from package/gdb/8.1.1/0004-gdbserver-fix-build-for-m68k.patch)6
-rw-r--r--package/gdb/9.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch (renamed from package/gdb/8.1.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch)16
-rw-r--r--package/gdb/Config.in.host10
-rw-r--r--package/gdb/gdb.hash2
-rw-r--r--package/gdb/gdb.mk23
-rw-r--r--package/gensio/gensio.hash6
-rw-r--r--package/gensio/gensio.mk2
-rw-r--r--package/gnuplot/0001-configure-add-without-demo-option.patch34
-rw-r--r--package/gnuplot/gnuplot.hash8
-rw-r--r--package/gnuplot/gnuplot.mk2
-rw-r--r--package/go/go.mk30
-rw-r--r--package/grpc/0001-target-build-using-host-plugin.patch4
-rw-r--r--package/grpc/0002-Properly-detect-the-availability-of-pthread_setname_.patch7
-rw-r--r--package/grpc/Config.in3
-rw-r--r--package/grpc/grpc.hash2
-rw-r--r--package/grpc/grpc.mk10
-rw-r--r--package/gsl/gsl.hash4
-rw-r--r--package/gsl/gsl.mk2
-rw-r--r--package/guile/0003-workaround-ice-ssa-corruption.patch64
-rw-r--r--package/guile/guile.hash2
-rw-r--r--package/guile/guile.mk2
-rw-r--r--package/gupnp/gupnp.hash4
-rw-r--r--package/gupnp/gupnp.mk2
-rw-r--r--package/i2pd/i2pd.hash3
-rw-r--r--package/i2pd/i2pd.mk2
-rw-r--r--package/iptraf-ng/Config.in12
-rw-r--r--package/iptraf-ng/iptraf-ng.hash3
-rw-r--r--package/iptraf-ng/iptraf-ng.mk19
-rw-r--r--package/iputils/0001-meson.build-fix-static-build-with-libidn2.patch39
-rw-r--r--package/iputils/iputils.hash4
-rw-r--r--package/iputils/iputils.mk17
-rw-r--r--package/kodi-visualisation-goom/kodi-visualisation-goom.hash2
-rw-r--r--package/kodi-visualisation-goom/kodi-visualisation-goom.mk2
-rw-r--r--package/lftp/lftp.hash8
-rw-r--r--package/lftp/lftp.mk2
-rw-r--r--package/libbacktrace/Config.in7
-rw-r--r--package/libbacktrace/libbacktrace.hash3
-rw-r--r--package/libbacktrace/libbacktrace.mk13
-rw-r--r--package/libblockdev/0001-Provide-replacement-function-for-strerror_l.patch69
-rw-r--r--package/libblockdev/Config.in70
-rw-r--r--package/libblockdev/libblockdev.hash3
-rw-r--r--package/libblockdev/libblockdev.mk82
-rw-r--r--package/libbytesize/0001-remove-msgcat-dependency.patch36
-rw-r--r--package/libbytesize/Config.in10
-rw-r--r--package/libbytesize/libbytesize.hash3
-rw-r--r--package/libbytesize/libbytesize.mk27
-rw-r--r--package/libcamera/libcamera.hash2
-rw-r--r--package/libcamera/libcamera.mk5
-rw-r--r--package/libcap-ng/0001-Fix-compilation-without-pthread.h.patch47
-rw-r--r--package/libcap-ng/libcap-ng.hash6
-rw-r--r--package/libcap-ng/libcap-ng.mk4
-rw-r--r--package/libcap/0001-build-system-fixes-for-cross-compilation.patch53
-rw-r--r--package/libcap/0002-libcap-split-install-into-install-shared-install-sta.patch48
-rw-r--r--package/libcap/0003-libcap-cap_file.c-fix-build-with-old-kernel-headers.patch51
-rw-r--r--package/libcap/libcap.hash4
-rw-r--r--package/libcap/libcap.mk2
-rw-r--r--package/libidn/libidn.hash8
-rw-r--r--package/libidn/libidn.mk2
-rw-r--r--package/libinput/libinput.hash10
-rw-r--r--package/libinput/libinput.mk2
-rw-r--r--package/libmatroska/libmatroska.hash2
-rw-r--r--package/libmatroska/libmatroska.mk2
-rw-r--r--package/libnpupnp/libnpupnp.hash4
-rw-r--r--package/libnpupnp/libnpupnp.mk2
-rw-r--r--package/libnspr/libnspr.hash4
-rw-r--r--package/libnspr/libnspr.mk2
-rw-r--r--package/libnss/libnss.hash4
-rw-r--r--package/libnss/libnss.mk2
-rw-r--r--package/libuev/Config.in6
-rw-r--r--package/libuev/libuev.hash4
-rw-r--r--package/libuev/libuev.mk15
-rw-r--r--package/libuhttpd/libuhttpd.hash2
-rw-r--r--package/libuhttpd/libuhttpd.mk2
-rw-r--r--package/libupnpp/libupnpp.hash4
-rw-r--r--package/libupnpp/libupnpp.mk2
-rw-r--r--package/libyang/libyang.hash2
-rw-r--r--package/libyang/libyang.mk5
-rw-r--r--package/linuxptp/0002-fix-building-with-new-kernel-headers.patch55
-rw-r--r--package/linuxptp/linuxptp.hash10
-rw-r--r--package/linuxptp/linuxptp.mk2
-rw-r--r--package/lua-compat53/Config.in2
-rw-r--r--package/lua-cqueues/lua-cqueues.hash2
-rw-r--r--package/lua-cqueues/lua-cqueues.mk2
-rw-r--r--package/lua-flu/Config.in5
-rw-r--r--package/lua-http/Config.in2
-rw-r--r--package/lua-messagepack/lua-messagepack.mk2
-rw-r--r--package/lua-sdl2/Config.in5
-rw-r--r--package/lua/5.4.0/0001-root-path.patch17
-rw-r--r--package/lua/5.4.0/0002-shared-libs-for-lua.patch78
-rw-r--r--package/lua/5.4.0/0011-linenoise.patch25
-rw-r--r--package/lua/Config.in6
-rw-r--r--package/lua/lua.hash3
-rw-r--r--package/lua/lua.mk10
-rw-r--r--package/luainterpreter/Config.in4
-rw-r--r--package/luainterpreter/luainterpreter.mk6
-rw-r--r--package/lualogging/Config.in2
-rw-r--r--package/lualogging/lualogging.hash4
-rw-r--r--package/lualogging/lualogging.mk2
-rw-r--r--package/luv/Config.in5
-rw-r--r--package/mesa3d-headers/mesa3d-headers.mk2
-rw-r--r--package/mesa3d/mesa3d.hash6
-rw-r--r--package/mesa3d/mesa3d.mk2
-rw-r--r--package/meson-tools/Config.in.host9
-rw-r--r--package/meson-tools/meson-tools.hash3
-rw-r--r--package/meson-tools/meson-tools.mk26
-rw-r--r--package/meson/0003-backends-fix-rpath-match-pattern.patch123
-rw-r--r--package/meson/meson.hash4
-rw-r--r--package/meson/meson.mk2
-rw-r--r--package/musl/musl.hash6
-rw-r--r--package/musl/musl.mk2
-rw-r--r--package/mutt/mutt.hash2
-rw-r--r--package/mutt/mutt.mk2
-rw-r--r--package/nano/nano.hash4
-rw-r--r--package/nano/nano.mk4
-rw-r--r--package/nasm/nasm.hash4
-rw-r--r--package/nasm/nasm.mk2
-rw-r--r--package/ncmpc/ncmpc.hash2
-rw-r--r--package/ncmpc/ncmpc.mk2
-rw-r--r--package/netdata/netdata.hash2
-rw-r--r--package/netdata/netdata.mk2
-rw-r--r--package/netopeer2/0001-build-BUGFIX-take-DESTDIR-into-account-649.patch33
-rw-r--r--package/netopeer2/0002-scripts-CHANGE-use-su-only-for-effective-root.patch79
-rw-r--r--package/netopeer2/netopeer2.hash2
-rw-r--r--package/netopeer2/netopeer2.mk2
-rw-r--r--package/nut/nut.mk2
-rw-r--r--package/nvidia-tegra23/Config.in38
-rw-r--r--package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in26
-rw-r--r--package/nvidia-tegra23/nvidia-tegra23-binaries/egl.pc10
-rw-r--r--package/nvidia-tegra23/nvidia-tegra23-binaries/gles.pc10
-rw-r--r--package/nvidia-tegra23/nvidia-tegra23-binaries/glesv2.pc10
-rw-r--r--package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.hash3
-rw-r--r--package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.mk64
-rw-r--r--package/nvidia-tegra23/nvidia-tegra23-codecs/Config.in7
-rw-r--r--package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.hash3
-rw-r--r--package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.mk32
-rw-r--r--package/nvidia-tegra23/nvidia-tegra23.mk18
-rw-r--r--package/openlayers/openlayers.hash2
-rw-r--r--package/openlayers/openlayers.mk2
-rw-r--r--package/oprofile/0002-configure.ac-add-foreign-option-to-AM_INIT_AUTOMAKE.patch36
-rw-r--r--package/oprofile/0003-Macro-wrappers-to-handle-the-binutils-2.34-api-chang.patch169
-rw-r--r--package/oprofile/oprofile.hash8
-rw-r--r--package/oprofile/oprofile.mk5
-rw-r--r--package/parted/Config.in6
-rw-r--r--package/pkg-generic.mk17
-rw-r--r--package/pkg-golang.mk58
-rw-r--r--package/pkg-luarocks.mk3
-rw-r--r--package/pkg-utils.mk5
-rw-r--r--package/powertop/powertop.hash8
-rw-r--r--package/powertop/powertop.mk3
-rw-r--r--package/prosody/Config.in4
-rw-r--r--package/python-ansicolors/Config.in6
-rw-r--r--package/python-ansicolors/python-ansicolors.hash5
-rw-r--r--package/python-ansicolors/python-ansicolors.mk20
-rw-r--r--package/python-bsdiff4/Config.in8
-rw-r--r--package/python-bsdiff4/python-bsdiff4.hash5
-rw-r--r--package/python-bsdiff4/python-bsdiff4.mk14
-rw-r--r--package/python-cffi/python-cffi.hash4
-rw-r--r--package/python-cffi/python-cffi.mk4
-rw-r--r--package/python-hiredis/python-hiredis.hash8
-rw-r--r--package/python-hiredis/python-hiredis.mk4
-rw-r--r--package/python-more-itertools/python-more-itertools.hash4
-rw-r--r--package/python-more-itertools/python-more-itertools.mk4
-rw-r--r--package/python-netaddr/python-netaddr.hash4
-rw-r--r--package/python-netaddr/python-netaddr.mk4
-rw-r--r--package/python-packaging/Config.in8
-rw-r--r--package/python-packaging/python-packaging.hash7
-rw-r--r--package/python-packaging/python-packaging.mk14
-rw-r--r--package/python-psutil/python-psutil.hash4
-rw-r--r--package/python-psutil/python-psutil.mk4
-rw-r--r--package/python-pyparted/Config.in6
-rw-r--r--package/python-pyzmq/python-pyzmq.hash4
-rw-r--r--package/python-pyzmq/python-pyzmq.mk4
-rw-r--r--package/python-requests/python-requests.hash4
-rw-r--r--package/python-requests/python-requests.mk4
-rw-r--r--package/python-sh/python-sh.hash6
-rw-r--r--package/python-sh/python-sh.mk4
-rw-r--r--package/python-urllib3/python-urllib3.hash2
-rw-r--r--package/python-urllib3/python-urllib3.mk4
-rw-r--r--package/python-wtforms/python-wtforms.hash4
-rw-r--r--package/python-wtforms/python-wtforms.mk6
-rw-r--r--package/python3-psutil/python3-psutil.mk4
-rw-r--r--package/qemu/qemu.hash2
-rw-r--r--package/qemu/qemu.mk2
-rw-r--r--package/re2/Config.in14
-rw-r--r--package/re2/re2.hash3
-rw-r--r--package/re2/re2.mk17
-rw-r--r--package/redir/Config.in7
-rw-r--r--package/redir/redir.hash4
-rw-r--r--package/redir/redir.mk17
-rw-r--r--package/runc/runc.mk3
-rw-r--r--package/rust-bin/rust-bin.hash92
-rw-r--r--package/rust-bin/rust-bin.mk2
-rw-r--r--package/rust/rust.hash8
-rw-r--r--package/rust/rust.mk2
-rw-r--r--package/ser2net/ser2net.hash6
-rw-r--r--package/ser2net/ser2net.mk2
-rw-r--r--package/snmppp/snmppp.hash4
-rw-r--r--package/snmppp/snmppp.mk2
-rw-r--r--package/sofia-sip/0001-soa_tag.h-reintroduce-soatag_local_sdp_str_ref.patch6
-rw-r--r--package/sofia-sip/0002-sofia-sip-fix-s2tcase.c.patch (renamed from package/freeswitch/0001-sofia-sip-fix-s2tcase.c.patch)8
-rw-r--r--package/sofia-sip/Config.in2
-rw-r--r--package/sofia-sip/sofia-sip.hash2
-rw-r--r--package/sofia-sip/sofia-sip.mk4
-rw-r--r--package/spandsp/Config.in2
-rw-r--r--package/spandsp/spandsp.hash4
-rw-r--r--package/spandsp/spandsp.mk5
-rw-r--r--package/stress-ng/0001-stress-ng.h-suppress-kernel-sysinfo.h.patch49
-rw-r--r--package/stress-ng/stress-ng.hash2
-rw-r--r--package/stress-ng/stress-ng.mk2
-rw-r--r--package/sysrepo/sysrepo.hash2
-rw-r--r--package/sysrepo/sysrepo.mk2
-rw-r--r--package/systemd/Config.in1
-rw-r--r--package/systemd/systemd.mk5
-rw-r--r--package/udev/udev.mk7
-rw-r--r--package/udisks/Config.in10
-rw-r--r--package/udisks/udisks.mk12
-rw-r--r--package/uhd/0001-host-CMakeLists-add-boost-unit_test_framework-requir.patch40
-rw-r--r--package/uhd/0002-host-fix-build-boost-173.patch577
-rw-r--r--package/uhd/Config.in79
-rw-r--r--package/uhd/uhd.hash4
-rw-r--r--package/uhd/uhd.mk94
-rw-r--r--package/uredir/Config.in9
-rw-r--r--package/uredir/uredir.hash4
-rw-r--r--package/uredir/uredir.mk13
-rw-r--r--package/util-linux/Config.in3
l---------package/util-linux/util-linux-libs/util-linux-libs.hash1
-rw-r--r--package/util-linux/util-linux-libs/util-linux-libs.mk86
-rw-r--r--package/util-linux/util-linux.mk47
-rw-r--r--package/watchdog/Config.in10
-rw-r--r--package/watchdog/watchdog.hash3
-rw-r--r--package/watchdog/watchdog.mk15
-rw-r--r--package/wayland-utils/Config.in7
-rw-r--r--package/wayland-utils/wayland-utils.hash6
-rw-r--r--package/wayland-utils/wayland-utils.mk14
-rw-r--r--package/wlroots/wlroots.hash4
-rw-r--r--package/wlroots/wlroots.mk2
-rw-r--r--package/x11r7/xserver_xorg-server/0001-modesettings-needs-dri2.patch (renamed from package/x11r7/xserver_xorg-server/1.20.9/0001-modesettings-needs-dri2.patch)0
-rw-r--r--package/x11r7/xserver_xorg-server/0002-Remove-check-for-useSIGIO-option.patch (renamed from package/x11r7/xserver_xorg-server/1.20.9/0002-Remove-check-for-useSIGIO-option.patch)0
-rw-r--r--package/x11r7/xserver_xorg-server/0003-include-misc.h-fix-uClibc-build.patch (renamed from package/x11r7/xserver_xorg-server/1.20.9/0003-include-misc.h-fix-uClibc-build.patch)0
-rw-r--r--package/x11r7/xserver_xorg-server/0004-hw-xwayland-Makefile.am-fix-build-without-glx.patch (renamed from package/x11r7/xserver_xorg-server/1.20.9/0004-hw-xwayland-Makefile.am-fix-build-without-glx.patch)0
-rw-r--r--package/x11r7/xserver_xorg-server/0005-hw-xfree86-common-xf86Init.c-fix-build-without-glx.patch (renamed from package/x11r7/xserver_xorg-server/1.20.9/0005-hw-xfree86-common-xf86Init.c-fix-build-without-glx.patch)0
-rw-r--r--package/x11r7/xserver_xorg-server/1.14.7/0001-sdksyms-gcc5.patch50
-rw-r--r--package/x11r7/xserver_xorg-server/1.14.7/0002-Xi-Zero-target-buffer-in-SProcXSendExtensionEvent.patch39
-rw-r--r--package/x11r7/xserver_xorg-server/1.14.7/0003-dix-Disallow-GenericEvent-in-SendEvent-request.patch71
-rw-r--r--package/x11r7/xserver_xorg-server/1.14.7/0004-Xi-Verify-all-events-in-ProcXSendExtensionEvent.patch50
-rw-r--r--package/x11r7/xserver_xorg-server/1.14.7/0005-Xi-Do-not-try-to-swap-GenericEvent.patch45
-rw-r--r--package/x11r7/xserver_xorg-server/1.17.4/0001-modesettings-needs-dri2.patch19
-rw-r--r--package/x11r7/xserver_xorg-server/1.17.4/0002-Xi-Zero-target-buffer-in-SProcXSendExtensionEvent.patch39
-rw-r--r--package/x11r7/xserver_xorg-server/1.17.4/0003-dix-Disallow-GenericEvent-in-SendEvent-request.patch71
-rw-r--r--package/x11r7/xserver_xorg-server/1.17.4/0004-Xi-Verify-all-events-in-ProcXSendExtensionEvent.patch50
-rw-r--r--package/x11r7/xserver_xorg-server/1.17.4/0005-Xi-Do-not-try-to-swap-GenericEvent.patch45
-rw-r--r--package/x11r7/xserver_xorg-server/Config.in48
-rw-r--r--package/x11r7/xserver_xorg-server/xorg.service11
-rw-r--r--package/x11r7/xserver_xorg-server/xserver_xorg-server.hash5
-rw-r--r--package/x11r7/xserver_xorg-server/xserver_xorg-server.mk13
-rw-r--r--package/xen/0001-9pfs-include-linux-limits.h-for-XATTR_SIZE_MAX.patch (renamed from package/xen/0002-9pfs-include-linux-limits.h-for-XATTR_SIZE_MAX.patch)0
-rw-r--r--package/xen/0001-xen-Rules.mk-fix-build-with-CFLAGS-from-environment.patch36
-rw-r--r--package/xen/xen.hash5
-rw-r--r--package/xen/xen.mk4
-rw-r--r--support/misc/gitlab-ci.yml.in9
-rwxr-xr-xsupport/scripts/check-bin-arch3
-rwxr-xr-xsupport/scripts/cve-checker192
-rwxr-xr-xsupport/scripts/cve.py244
-rwxr-xr-xsupport/scripts/gen-bootlin-toolchains472
-rwxr-xr-xsupport/scripts/pkg-stats143
-rw-r--r--support/testing/tests/toolchain/test_external.py14
-rw-r--r--support/testing/tests/toolchain/test_external_bootlin.py2354
-rw-r--r--system/Config.in3
-rw-r--r--toolchain/toolchain-external/Config.in6
-rw-r--r--toolchain/toolchain-external/toolchain-external-bootlin/Config.in9
-rw-r--r--toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options3587
-rw-r--r--toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.hash308
-rw-r--r--toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.mk927
352 files changed, 10966 insertions, 4344 deletions
diff --git a/Config.in.legacy b/Config.in.legacy
index 4e2809b562..aec2633fd2 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -144,6 +144,33 @@ endif
###############################################################################
+comment "Legacy options removed in 2020.11"
+
+config BR2_PACKAGE_XSERVER_XORG_SERVER_AIGLX
+ bool "X.org Enable AIGLX Extension"
+ select BR2_LEGACY
+ help
+ AIGLX Extension was removed in X.org X server version 1.19.0
+
+config BR2_PACKAGE_AMD_CATALYST
+ bool "amd-catalyst"
+ select BR2_LEGACY
+ help
+ Current X.org server is incompatible with this driver.
+
+config BR2_PACKAGE_NVIDIA_TEGRA23
+ bool "nvidia-tegra23 package removed"
+ select BR2_LEGACY
+ help
+ Current X.org server is incompatible with this driver.
+
+config BR2_GDB_VERSION_8_1
+ bool "gdb 8.1.x has been removed"
+ select BR2_LEGACY
+ help
+ The 8.1.x version of gdb has been removed. Use a newer
+ version instead.
+
comment "Legacy options removed in 2020.08"
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
@@ -1086,13 +1113,6 @@ config BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT
BR2_PACKAGE_DOCKER_CLI_STATIC, following the package split of
docker-engine and docker-cli.
-config BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_19
- bool "Modular X.org server was updated to version 1.20.0"
- select BR2_LEGACY
- select BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_20
- help
- Modular X.org server was updated to version 1.20.0
-
config BR2_PACKAGE_XPROTO_APPLEWMPROTO
bool "xproto-applewmproto package replaced by xorgproto"
select BR2_LEGACY
diff --git a/DEVELOPERS b/DEVELOPERS
index 3c3dcda859..192eab8de9 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -44,6 +44,8 @@ F: package/imx-usb-loader/
F: package/janus-gateway/
F: package/json-for-modern-cpp/
F: package/libabseil-cpp/
+F: package/libblockdev/
+F: package/libbytesize/
F: package/libcpprestsdk/
F: package/libcutl/
F: package/libodb/
@@ -116,6 +118,9 @@ N: Adrien Gallouët <adrien@gallouet.fr>
F: package/bird/
F: package/glorytun/
+N: Alejandro González <alejandro.gonzalez.correo@gmail.com>
+F: package/watchdog/
+
N: Aleksander Morgado <aleksander@aleksander.es>
F: package/libmbim/
F: package/libqmi/
@@ -629,6 +634,9 @@ N: Cyril Bur <cyrilbur@gmail.com>
F: arch/Config.in.powerpc
F: package/kvm-unit-tests
+N: Dagg Stompler <daggs@gmx.com>
+F: package/meson-tools/
+
N: Daniel J. Leach <dleach@belcan.com>
F: package/dacapo/
@@ -1094,6 +1102,7 @@ F: package/python-cheetah/
F: package/python-markdown/
F: package/python-remi/
F: package/python-sip/
+F: package/uhd/
N: Heiko Thiery <heiko.thiery@gmail.com>
F: package/ipmitool/
@@ -1111,6 +1120,9 @@ F: package/gauche/
F: package/gmrender-resurrect/
F: package/squeezelite/
+N: Horatiu Vultur <horatiu.vultur@microchip.com>
+F: package/easyframes/
+
N: Ian Haylock <haylocki@yahoo.co.uk>
F: package/python-rpi-gpio/
@@ -1598,6 +1610,8 @@ F: package/lua-stdlib/
F: package/luaossl/
F: package/murata-cyw-fw/
F: package/netdata/
+F: package/python-ansicolors/
+F: package/python-packaging/
F: package/rs485conf/
F: package/turbolua/
F: support/testing/tests/package/test_netdata.py
@@ -1824,6 +1838,9 @@ N: Michael Fischer <mf@go-sys.de>
F: package/gnuplot/
F: package/sdl2/
+N: Michael Nosthoff <buildroot@heine.tech>
+F: package/re2/
+
N: Michael Rommel <rommel@layer-7.net>
F: package/knock/
F: package/python-crc16/
@@ -1897,8 +1914,6 @@ F: package/libgit2/
N: Nicolas Serafini <nicolas.serafini@sensefly.com>
F: package/exiv2/
-F: package/nvidia-tegra23/nvidia-tegra23-binaries/
-F: package/nvidia-tegra23/nvidia-tegra23-codecs/
F: package/ofono/
N: Nikolay Dimitrov <nikolay.dimitrov@retrohub.org>
@@ -2053,6 +2068,7 @@ F: package/gstreamer1/gst1-validate/
F: package/gstreamer1/gstreamer1-editing-services/
F: package/iwd/
F: package/libevdev/
+F: package/libuev/
F: package/log4cplus/
F: package/postgresql/
F: package/python-colorzero/
@@ -2060,6 +2076,9 @@ F: package/python-gpiozero/
F: package/qt5/
F: package/quotatool/
F: package/racehound/
+F: package/redir/
+F: package/uredir/
+F: package/wayland-utils/
N: Peter Thompson <peter.macleod.thompson@gmail.com>
F: package/sdl2_gfx/
@@ -2433,9 +2452,11 @@ F: package/powertop/
N: Suniel Mahesh <sunil@amarulasolutions.com>
F: board/firefly/
F: board/radxa/rockpi-4
+F: board/radxa/rockpi-n8
F: board/radxa/rockpi-n10
F: configs/roc_pc_rk3399_defconfig
F: configs/rock_pi_4_defconfig
+F: configs/rock_pi_n8_defconfig
F: configs/rock_pi_n10_defconfig
F: package/arm-gnu-a-toolchain/
@@ -2584,6 +2605,7 @@ F: package/tstools/
N: Vadim Kochan <vadim4j@gmail.com>
F: package/brcm-patchram-plus/
+F: package/frr/
F: package/gettext-tiny/
F: package/tinyssh/
diff --git a/Makefile b/Makefile
index 0da0902864..9648fa58d8 100644
--- a/Makefile
+++ b/Makefile
@@ -125,7 +125,7 @@ endif
noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconfig \
defconfig %_defconfig allyesconfig allnoconfig alldefconfig syncconfig release \
randpackageconfig allyespackageconfig allnopackageconfig \
- print-version olddefconfig distclean manual manual-% check-package
+ print-version olddefconfig distclean manual manual-% check-package check-flake8
# Some global targets do not trigger a build, but are used to collect
# metadata, or do various checks. When such targets are triggered,
@@ -1208,6 +1208,13 @@ release:
print-version:
@echo $(BR2_VERSION_FULL)
+check-flake8:
+ $(Q)git ls-tree -r --name-only HEAD \
+ | xargs file \
+ | grep 'Python script' \
+ | cut -d':' -f1 \
+ | xargs -- python3 -m flake8 --statistics --max-line-length=132
+
check-package:
find $(TOPDIR) -type f \( -name '*.mk' -o -name '*.hash' -o -name 'Config.*' \) \
-exec ./utils/check-package {} +
diff --git a/board/radxa/rockpi-n8/extlinux.conf b/board/radxa/rockpi-n8/extlinux.conf
new file mode 100644
index 0000000000..c323fe10ef
--- /dev/null
+++ b/board/radxa/rockpi-n8/extlinux.conf
@@ -0,0 +1,4 @@
+label RK3288_ROCKPI_N8 linux
+ kernel /zImage
+ devicetree /rk3288-rock-pi-n8.dtb
+ append console=ttyS2,115200n8 root=/dev/mmcblk0p4 rw rootwait
diff --git a/board/radxa/rockpi-n8/genimage.cfg b/board/radxa/rockpi-n8/genimage.cfg
new file mode 100644
index 0000000000..88b55de376
--- /dev/null
+++ b/board/radxa/rockpi-n8/genimage.cfg
@@ -0,0 +1,39 @@
+image boot.vfat {
+ vfat {
+ files = {
+ "zImage",
+ "rk3288-rock-pi-n8.dtb",
+ "extlinux"
+ }
+ }
+ size = 16M
+}
+
+image sdcard.img {
+
+ hdimage {
+ gpt = true
+ }
+
+ partition loader1 {
+ image = "idbloader.img"
+ offset = 32K
+ }
+
+ partition loader2 {
+ image = "u-boot-dtb.img"
+ offset = 8M
+ }
+
+ partition boot {
+ partition-type = 0xC
+ bootable = "true"
+ image = "boot.vfat"
+ offset = 16M
+ }
+
+ partition rootfs {
+ partition-type = 0x83
+ image = "rootfs.ext4"
+ }
+}
diff --git a/board/radxa/rockpi-n8/post-build.sh b/board/radxa/rockpi-n8/post-build.sh
new file mode 100755
index 0000000000..ba29375c05
--- /dev/null
+++ b/board/radxa/rockpi-n8/post-build.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+BOARD_DIR="$(dirname $0)"
+
+install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf
diff --git a/board/radxa/rockpi-n8/readme.txt b/board/radxa/rockpi-n8/readme.txt
new file mode 100644
index 0000000000..ac83d5c8c6
--- /dev/null
+++ b/board/radxa/rockpi-n8/readme.txt
@@ -0,0 +1,61 @@
+RADXA ROCKPI-N8
+================
+https://wiki.radxa.com/RockpiN8
+
+Build:
+======
+ $ make rock_pi_n8_defconfig
+ $ make
+
+Files created in output directory
+=================================
+
+output/images
+.
+├── boot.vfat
+├── extlinux
+├── idbloader.img
+├── rk3288-rock-pi-n8.dtb
+├── rootfs.ext2
+├── rootfs.ext4 -> rootfs.ext2
+├── rootfs.tar
+├── sdcard.img
+├── u-boot.bin
+├── u-boot-dtb.bin
+├── u-boot-dtb.img
+└── zImage
+
+Creating bootable SD card:
+==========================
+
+Simply invoke (as root)
+
+sudo dd if=output/images/sdcard.img of=/dev/sdX && sync
+
+Where X is your SD card device.
+
+Booting:
+========
+
+Serial console:
+---------------
+RockPi-N8 has a 40-pin GPIO header. The pin layout is as follows:
+
+pin 6: gnd
+pin 8: tx
+pin 10: rx
+
+Baudrate for this board is 115200.
+
+The boot order on rockpi-n8 is emmc, sd. If emmc contains a valid Image, the board
+always boots from emmc. To boot from SD, erase emmc as per the guide:
+
+https://wiki.amarulasolutions.com/bsp/setup/rockchip/rk3399_emmc.html
+
+Login:
+------
+Enter 'root' as login user, and the prompt is ready.
+
+wiki link:
+----------
+https://wiki.amarulasolutions.com/bsp/rockchip/rk3288/rock-pi-n8.html
diff --git a/board/roseapplepi/genimage.cfg b/board/roseapplepi/genimage.cfg
index 4d40e65bba..f4a353e823 100644
--- a/board/roseapplepi/genimage.cfg
+++ b/board/roseapplepi/genimage.cfg
@@ -7,10 +7,10 @@ image boot.vfat {
"uImage"
}
file kernel.dtb {
- image = "actduino_bubble_gum_sdboot_linux.dtb"
+ image = "owl-s500-roseapplepi.dtb"
}
}
- size = 10M
+ size = 128M
}
image sdcard.img {
@@ -34,10 +34,4 @@ image sdcard.img {
bootable = "true"
image = "boot.vfat"
}
-
- partition rootfs {
- partition-type = 0x83
- image = "rootfs.ext4"
- size = 512M
- }
}
diff --git a/board/roseapplepi/linux.config b/board/roseapplepi/linux.config
new file mode 100644
index 0000000000..aea48b7730
--- /dev/null
+++ b/board/roseapplepi/linux.config
@@ -0,0 +1,45 @@
+# CONFIG_SWAP is not set
+# CONFIG_CROSS_MEMORY_ATTACH is not set
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+# CONFIG_CPU_ISOLATION is not set
+# CONFIG_KALLSYMS is not set
+# CONFIG_RSEQ is not set
+CONFIG_EMBEDDED=y
+# CONFIG_SLUB_DEBUG is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_ARCH_ACTIONS=y
+CONFIG_SMP=y
+CONFIG_ARM_PSCI=y
+CONFIG_HIGHMEM=y
+CONFIG_VFP=y
+CONFIG_NEON=y
+# CONFIG_SUSPEND is not set
+# CONFIG_STACKPROTECTOR is not set
+# CONFIG_MQ_IOSCHED_KYBER is not set
+# CONFIG_COREDUMP is not set
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+# CONFIG_INET_DIAG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_WIRELESS is not set
+# CONFIG_ETHTOOL_NETLINK is not set
+# CONFIG_VT is not set
+CONFIG_SERIAL_OWL=y
+# CONFIG_HW_RANDOM is not set
+# CONFIG_HID is not set
+# CONFIG_USB_SUPPORT is not set
+# CONFIG_VIRTIO_MENU is not set
+# CONFIG_VHOST_MENU is not set
+# CONFIG_IOMMU_SUPPORT is not set
+CONFIG_EXT4_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_MISC_FILESYSTEMS is not set
+# CONFIG_NETWORK_FILESYSTEMS is not set
+# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
+# CONFIG_CRYPTO_HW is not set
+# CONFIG_FTRACE is not set
+# CONFIG_RUNTIME_TESTING_MENU is not set
diff --git a/board/roseapplepi/patches/linux/0001-arm-dts-owl-s500-Fix-incorrect-PPI.patch b/board/roseapplepi/patches/linux/0001-arm-dts-owl-s500-Fix-incorrect-PPI.patch
new file mode 100644
index 0000000000..615be675ae
--- /dev/null
+++ b/board/roseapplepi/patches/linux/0001-arm-dts-owl-s500-Fix-incorrect-PPI.patch
@@ -0,0 +1,52 @@
+From: Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
+Subject: [PATCH 1/4] arm: dts: owl-s500: Fix incorrect PPI interrupt specifiers
+To: Rob Herring <robh+dt@kernel.org>,
+ Andreas Färber <afaerber@suse.de>,
+ Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
+Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
+ linux-kernel@vger.kernel.org
+Date: Mon, 15 Jun 2020 03:19:08 +0300 (10 weeks, 3 days, 20 hours ago)
+X-Mailer: git-send-email 2.27.0
+
+The PPI interrupts for cortex-a9 were incorrectly specified, fix them.
+
+Fixes: fdfe7f4f9d85 ("ARM: dts: Add Actions Semi S500 and LeMaker Guitar")
+Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
+Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
+---
+ arch/arm/boot/dts/owl-s500.dtsi | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/arch/arm/boot/dts/owl-s500.dtsi b/arch/arm/boot/dts/owl-s500.dtsi
+index 5ceb6cc4451d..1dbe4e8b38ac 100644
+--- a/arch/arm/boot/dts/owl-s500.dtsi
++++ b/arch/arm/boot/dts/owl-s500.dtsi
+@@ -84,21 +84,21 @@ scu: scu@b0020000 {
+ global_timer: timer@b0020200 {
+ compatible = "arm,cortex-a9-global-timer";
+ reg = <0xb0020200 0x100>;
+- interrupts = <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
++ interrupts = <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
+ status = "disabled";
+ };
+
+ twd_timer: timer@b0020600 {
+ compatible = "arm,cortex-a9-twd-timer";
+ reg = <0xb0020600 0x20>;
+- interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
++ interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
+ status = "disabled";
+ };
+
+ twd_wdt: wdt@b0020620 {
+ compatible = "arm,cortex-a9-twd-wdt";
+ reg = <0xb0020620 0xe0>;
+- interrupts = <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
++ interrupts = <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
+ status = "disabled";
+ };
+
+--
+2.27.0
+
+
diff --git a/board/roseapplepi/patches/linux/0001-unbreak-xhci-trace.patch b/board/roseapplepi/patches/linux/0001-unbreak-xhci-trace.patch
deleted file mode 100644
index 79e8c800d2..0000000000
--- a/board/roseapplepi/patches/linux/0001-unbreak-xhci-trace.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-[PATCH] unbreak xhci-trace compilation
-
-When commit 84a99f6fc5d4 (xhci: add traces for debug messages in
-xhci_address_device) was backported to the owl tree as part of commit
-5b2ea66f15396 (usb: add owl usb driver), the specific CFLAGS needed for
-xhci-trace.c were missed, causing build breakage:
-
- CC drivers/usb/host/xhci-trace.o
-In file included from drivers/usb/host/xhci-trace.h:151:0,
- from drivers/usb/host/xhci-trace.c:15:
-include/trace/define_trace.h:79:43: fatal error: ./xhci-trace.h: No such file or directory
-
-Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
----
- drivers/usb/host/Makefile | 3 +++
- 1 file changed, 3 insertions(+)
-
-Index: linux-59dbf6a4998e967eb9c6bdcc9b506c0d96acb26b/drivers/usb/host/Makefile
-===================================================================
---- linux-59dbf6a4998e967eb9c6bdcc9b506c0d96acb26b.orig/drivers/usb/host/Makefile
-+++ linux-59dbf6a4998e967eb9c6bdcc9b506c0d96acb26b/drivers/usb/host/Makefile
-@@ -4,6 +4,9 @@
-
- ccflags-$(CONFIG_USB_DEBUG) := -DDEBUG
-
-+# tell define_trace.h where to find the xhci trace header
-+CFLAGS_xhci-trace.o := -I$(src)
-+
- isp1760-y := isp1760-hcd.o isp1760-if.o
-
- fhci-y := fhci-hcd.o fhci-hub.o fhci-q.o
diff --git a/board/roseapplepi/patches/linux/0002-arm-dts-owl-s500-add-RoseapplePi.patch b/board/roseapplepi/patches/linux/0002-arm-dts-owl-s500-add-RoseapplePi.patch
new file mode 100644
index 0000000000..87a6ee245f
--- /dev/null
+++ b/board/roseapplepi/patches/linux/0002-arm-dts-owl-s500-add-RoseapplePi.patch
@@ -0,0 +1,89 @@
+From: Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
+Subject: [PATCH 4/4] arm: dts: owl-s500: Add RoseapplePi
+To: Rob Herring <robh+dt@kernel.org>,
+ Andreas Färber <afaerber@suse.de>,
+ Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
+Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
+ linux-arm-kernel@lists.infradead.org
+Date: Mon, 15 Jun 2020 03:19:11 +0300 (10 weeks, 3 days, 20 hours ago)
+X-Mailer: git-send-email 2.27.0
+
+Add a Device Tree for the RoseapplePi SBC.
+
+Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
+Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
+---
+ arch/arm/boot/dts/Makefile | 1 +
+ arch/arm/boot/dts/owl-s500-roseapplepi.dts | 47 ++++++++++++++++++++++
+ 2 files changed, 48 insertions(+)
+ create mode 100644 arch/arm/boot/dts/owl-s500-roseapplepi.dts
+
+diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
+index e8dd99201397..d0712e7275da 100644
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -856,6 +856,7 @@ dtb-$(CONFIG_ARCH_ORION5X) += \
+ dtb-$(CONFIG_ARCH_ACTIONS) += \
+ owl-s500-cubieboard6.dtb \
+ owl-s500-guitar-bb-rev-b.dtb \
++ owl-s500-roseapplepi.dtb \
+ owl-s500-sparky.dtb
+ dtb-$(CONFIG_ARCH_PRIMA2) += \
+ prima2-evb.dtb
+diff --git a/arch/arm/boot/dts/owl-s500-roseapplepi.dts b/arch/arm/boot/dts/owl-s500-roseapplepi.dts
+new file mode 100644
+index 000000000000..c61fbaa3821e
+--- /dev/null
++++ b/arch/arm/boot/dts/owl-s500-roseapplepi.dts
+@@ -0,0 +1,47 @@
++// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
++/*
++ * Roseapple Pi
++ *
++ * Copyright (c) 2020 Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
++ */
++
++/dts-v1/;
++
++#include "owl-s500.dtsi"
++
++/ {
++ compatible = "roseapplepi,roseapplepi", "actions,s500";
++ model = "Roseapple Pi";
++
++ aliases {
++ serial2 = &uart2;
++ };
++
++ chosen {
++ stdout-path = "serial2:115200n8";
++ };
++
++ memory@0 {
++ device_type = "memory";
++ reg = <0x0 0x80000000>; /* 2GB */
++ };
++
++ uart2_clk: uart2-clk {
++ compatible = "fixed-clock";
++ clock-frequency = <921600>;
++ #clock-cells = <0>;
++ };
++};
++
++&twd_timer {
++ status = "okay";
++};
++
++&timer {
++ clocks = <&hosc>;
++};
++
++&uart2 {
++ status = "okay";
++ clocks = <&uart2_clk>;
++};
+--
+2.27.0
+
+
diff --git a/board/roseapplepi/patches/linux/0002-kernel-add-support-for-gcc-5.patch b/board/roseapplepi/patches/linux/0002-kernel-add-support-for-gcc-5.patch
deleted file mode 100644
index 8d3c703e3a..0000000000
--- a/board/roseapplepi/patches/linux/0002-kernel-add-support-for-gcc-5.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 96b4fb75d15be65edc5494579e4a944534042f99 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sasha.levin@oracle.com>
-Date: Mon, 13 Oct 2014 15:51:05 -0700
-Subject: [PATCH] kernel: add support for gcc 5
-
-We're missing include/linux/compiler-gcc5.h which is required now
-because gcc branched off to v5 in trunk.
-
-Just copy the relevant bits out of include/linux/compiler-gcc4.h,
-no new code is added as of now.
-
-This fixes a build error when using gcc 5.
-
-Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
-Cc: <stable@vger.kernel.org>
-Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-(cherry picked from commit 71458cfc782eafe4b27656e078d379a34e472adf)
-Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
----
- include/linux/compiler-gcc5.h | 66 +++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 66 insertions(+)
- create mode 100644 include/linux/compiler-gcc5.h
-
-diff --git a/include/linux/compiler-gcc5.h b/include/linux/compiler-gcc5.h
-new file mode 100644
-index 0000000..cdd1cc2
---- /dev/null
-+++ b/include/linux/compiler-gcc5.h
-@@ -0,0 +1,66 @@
-+#ifndef __LINUX_COMPILER_H
-+#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead."
-+#endif
-+
-+#define __used __attribute__((__used__))
-+#define __must_check __attribute__((warn_unused_result))
-+#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
-+
-+/* Mark functions as cold. gcc will assume any path leading to a call
-+ to them will be unlikely. This means a lot of manual unlikely()s
-+ are unnecessary now for any paths leading to the usual suspects
-+ like BUG(), printk(), panic() etc. [but let's keep them for now for
-+ older compilers]
-+
-+ Early snapshots of gcc 4.3 don't support this and we can't detect this
-+ in the preprocessor, but we can live with this because they're unreleased.
-+ Maketime probing would be overkill here.
-+
-+ gcc also has a __attribute__((__hot__)) to move hot functions into
-+ a special section, but I don't see any sense in this right now in
-+ the kernel context */
-+#define __cold __attribute__((__cold__))
-+
-+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
-+
-+#ifndef __CHECKER__
-+# define __compiletime_warning(message) __attribute__((warning(message)))
-+# define __compiletime_error(message) __attribute__((error(message)))
-+#endif /* __CHECKER__ */
-+
-+/*
-+ * Mark a position in code as unreachable. This can be used to
-+ * suppress control flow warnings after asm blocks that transfer
-+ * control elsewhere.
-+ *
-+ * Early snapshots of gcc 4.5 don't support this and we can't detect
-+ * this in the preprocessor, but we can live with this because they're
-+ * unreleased. Really, we need to have autoconf for the kernel.
-+ */
-+#define unreachable() __builtin_unreachable()
-+
-+/* Mark a function definition as prohibited from being cloned. */
-+#define __noclone __attribute__((__noclone__))
-+
-+/*
-+ * Tell the optimizer that something else uses this function or variable.
-+ */
-+#define __visible __attribute__((externally_visible))
-+
-+/*
-+ * GCC 'asm goto' miscompiles certain code sequences:
-+ *
-+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
-+ *
-+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
-+ * Fixed in GCC 4.8.2 and later versions.
-+ *
-+ * (asm goto is automatically volatile - the naming reflects this.)
-+ */
-+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
-+
-+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
-+#define __HAVE_BUILTIN_BSWAP32__
-+#define __HAVE_BUILTIN_BSWAP64__
-+#define __HAVE_BUILTIN_BSWAP16__
-+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
---
-2.10.2
-
diff --git a/board/roseapplepi/patches/linux/0003-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch b/board/roseapplepi/patches/linux/0003-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch
deleted file mode 100644
index da38f26679..0000000000
--- a/board/roseapplepi/patches/linux/0003-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 8ac9a3f6dbf00d861134bea3f2c930defed6311a Mon Sep 17 00:00:00 2001
-From: Behan Webster <behanw@converseincode.com>
-Date: Wed, 24 Sep 2014 01:06:46 +0100
-Subject: [PATCH] ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h
-
-With compilers which follow the C99 standard (like modern versions of gcc and
-clang), "extern inline" does the wrong thing (emits code for an externally
-linkable version of the inline function). In this case using static inline
-and removing the NULL version of return_address in return_address.c does
-the right thing.
-
-Signed-off-by: Behan Webster <behanw@converseincode.com>
-Reviewed-by: Mark Charlebois <charlebm@gmail.com>
-Acked-by: Steven Rostedt <rostedt@goodmis.org>
-Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-(cherry picked from commit aeea3592a13bf12861943e44fc48f1f270941f8d)
-Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
----
- arch/arm/include/asm/ftrace.h | 2 +-
- arch/arm/kernel/return_address.c | 5 -----
- 2 files changed, 1 insertion(+), 6 deletions(-)
-
-diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h
-index f89515a..2bb8cac 100644
---- a/arch/arm/include/asm/ftrace.h
-+++ b/arch/arm/include/asm/ftrace.h
-@@ -45,7 +45,7 @@ void *return_address(unsigned int);
-
- #else
-
--extern inline void *return_address(unsigned int level)
-+static inline void *return_address(unsigned int level)
- {
- return NULL;
- }
-diff --git a/arch/arm/kernel/return_address.c b/arch/arm/kernel/return_address.c
-index 2f8f523..a3b587f 100755
---- a/arch/arm/kernel/return_address.c
-+++ b/arch/arm/kernel/return_address.c
-@@ -63,11 +63,6 @@ void *return_address(unsigned int level)
- //#warning "TODO: return_address should use unwind tables"
- //#endif
-
--void *return_address(unsigned int level)
--{
-- return NULL;
--}
--
- #endif /* if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) / else */
-
- EXPORT_SYMBOL_GPL(return_address);
---
-2.10.2
-
diff --git a/board/roseapplepi/patches/linux/0004-Fix-compile-errors-with-gcc5.patch b/board/roseapplepi/patches/linux/0004-Fix-compile-errors-with-gcc5.patch
deleted file mode 100644
index d76e2851b5..0000000000
--- a/board/roseapplepi/patches/linux/0004-Fix-compile-errors-with-gcc5.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From ef34609395c72a1e777ef9c3fb6ce60aa92976bb Mon Sep 17 00:00:00 2001
-From: Marco Franceschetti <vonfritz1@gmail.com>
-Date: Sun, 13 Mar 2016 09:44:54 +0100
-Subject: [PATCH] Fix compile errors with gcc5
-
-(cherry picked from commit e824d45043efd49607f66c89c921b07c1523bf9e)
-Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
----
- drivers/net/wireless/actions/rtl8188etv/include/ieee80211.h | 6 +++---
- drivers/net/wireless/actions/rtl8723bs/include/ieee80211.h | 6 +++---
- drivers/net/wireless/actions/rtl8723bs_vq0/include/ieee80211.h | 6 +++---
- drivers/net/wireless/actions/rtl8723bu/include/ieee80211.h | 6 +++---
- 4 files changed, 12 insertions(+), 12 deletions(-)
-
-diff --git a/drivers/net/wireless/actions/rtl8188etv/include/ieee80211.h b/drivers/net/wireless/actions/rtl8188etv/include/ieee80211.h
-index fc293c4..0898cd4 100755
---- a/drivers/net/wireless/actions/rtl8188etv/include/ieee80211.h
-+++ b/drivers/net/wireless/actions/rtl8188etv/include/ieee80211.h
-@@ -1314,18 +1314,18 @@ enum ieee80211_state {
- (((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \
- (((Addr[5]) & 0xff) == 0xff))
- #else
--extern __inline int is_multicast_mac_addr(const u8 *addr)
-+static __inline int is_multicast_mac_addr(const u8 *addr)
- {
- return ((addr[0] != 0xff) && (0x01 & addr[0]));
- }
-
--extern __inline int is_broadcast_mac_addr(const u8 *addr)
-+static __inline int is_broadcast_mac_addr(const u8 *addr)
- {
- return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \
- (addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff));
- }
-
--extern __inline int is_zero_mac_addr(const u8 *addr)
-+static __inline int is_zero_mac_addr(const u8 *addr)
- {
- return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \
- (addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00));
-diff --git a/drivers/net/wireless/actions/rtl8723bs/include/ieee80211.h b/drivers/net/wireless/actions/rtl8723bs/include/ieee80211.h
-index 09475ef..56e0f5a 100755
---- a/drivers/net/wireless/actions/rtl8723bs/include/ieee80211.h
-+++ b/drivers/net/wireless/actions/rtl8723bs/include/ieee80211.h
-@@ -1318,18 +1318,18 @@ enum ieee80211_state {
- (((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \
- (((Addr[5]) & 0xff) == 0xff))
- #else
--extern __inline int is_multicast_mac_addr(const u8 *addr)
-+static __inline int is_multicast_mac_addr(const u8 *addr)
- {
- return ((addr[0] != 0xff) && (0x01 & addr[0]));
- }
-
--extern __inline int is_broadcast_mac_addr(const u8 *addr)
-+static __inline int is_broadcast_mac_addr(const u8 *addr)
- {
- return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \
- (addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff));
- }
-
--extern __inline int is_zero_mac_addr(const u8 *addr)
-+static __inline int is_zero_mac_addr(const u8 *addr)
- {
- return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \
- (addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00));
-diff --git a/drivers/net/wireless/actions/rtl8723bs_vq0/include/ieee80211.h b/drivers/net/wireless/actions/rtl8723bs_vq0/include/ieee80211.h
-index 5dfc421..95144b6 100755
---- a/drivers/net/wireless/actions/rtl8723bs_vq0/include/ieee80211.h
-+++ b/drivers/net/wireless/actions/rtl8723bs_vq0/include/ieee80211.h
-@@ -1314,18 +1314,18 @@ enum ieee80211_state {
- (((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \
- (((Addr[5]) & 0xff) == 0xff))
- #else
--extern __inline int is_multicast_mac_addr(const u8 *addr)
-+static __inline int is_multicast_mac_addr(const u8 *addr)
- {
- return ((addr[0] != 0xff) && (0x01 & addr[0]));
- }
-
--extern __inline int is_broadcast_mac_addr(const u8 *addr)
-+static __inline int is_broadcast_mac_addr(const u8 *addr)
- {
- return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \
- (addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff));
- }
-
--extern __inline int is_zero_mac_addr(const u8 *addr)
-+static __inline int is_zero_mac_addr(const u8 *addr)
- {
- return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \
- (addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00));
-diff --git a/drivers/net/wireless/actions/rtl8723bu/include/ieee80211.h b/drivers/net/wireless/actions/rtl8723bu/include/ieee80211.h
-index 09475ef..56e0f5a 100755
---- a/drivers/net/wireless/actions/rtl8723bu/include/ieee80211.h
-+++ b/drivers/net/wireless/actions/rtl8723bu/include/ieee80211.h
-@@ -1318,18 +1318,18 @@ enum ieee80211_state {
- (((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \
- (((Addr[5]) & 0xff) == 0xff))
- #else
--extern __inline int is_multicast_mac_addr(const u8 *addr)
-+static __inline int is_multicast_mac_addr(const u8 *addr)
- {
- return ((addr[0] != 0xff) && (0x01 & addr[0]));
- }
-
--extern __inline int is_broadcast_mac_addr(const u8 *addr)
-+static __inline int is_broadcast_mac_addr(const u8 *addr)
- {
- return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \
- (addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff));
- }
-
--extern __inline int is_zero_mac_addr(const u8 *addr)
-+static __inline int is_zero_mac_addr(const u8 *addr)
- {
- return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \
- (addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00));
---
-2.10.2
-
diff --git a/board/roseapplepi/patches/linux/0005-compiler-gcc-integrate-the-various-compiler-gcc-345-.patch b/board/roseapplepi/patches/linux/0005-compiler-gcc-integrate-the-various-compiler-gcc-345-.patch
deleted file mode 100644
index 791dd930c7..0000000000
--- a/board/roseapplepi/patches/linux/0005-compiler-gcc-integrate-the-various-compiler-gcc-345-.patch
+++ /dev/null
@@ -1,363 +0,0 @@
-From 21be6b635320321216dde9201fa57a3aed60ee12 Mon Sep 17 00:00:00 2001
-From: Joe Perches <joe@perches.com>
-Date: Thu, 25 Jun 2015 15:01:02 -0700
-Subject: [PATCH] compiler-gcc: integrate the various compiler-gcc[345].h files
-
-As gcc major version numbers are going to advance rather rapidly in the
-future, there's no real value in separate files for each compiler
-version.
-
-Deduplicate some of the macros #defined in each file too.
-
-Neaten comments using normal kernel commenting style.
-
-Signed-off-by: Joe Perches <joe@perches.com>
-Cc: Andi Kleen <andi@firstfloor.org>
-Cc: Michal Marek <mmarek@suse.cz>
-Cc: Segher Boessenkool <segher@kernel.crashing.org>
-Cc: Sasha Levin <levinsasha928@gmail.com>
-Cc: Anton Blanchard <anton@samba.org>
-Cc: Alan Modra <amodra@gmail.com>
-Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-(cherry picked from commit cb984d101b30eb7478d32df56a0023e4603cba7f)
-Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
----
- include/linux/compiler-gcc.h | 120 ++++++++++++++++++++++++++++++++++++++++--
- include/linux/compiler-gcc3.h | 23 --------
- include/linux/compiler-gcc4.h | 88 -------------------------------
- include/linux/compiler-gcc5.h | 66 -----------------------
- 4 files changed, 116 insertions(+), 181 deletions(-)
- delete mode 100644 include/linux/compiler-gcc3.h
- delete mode 100644 include/linux/compiler-gcc4.h
- delete mode 100644 include/linux/compiler-gcc5.h
-
-diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
-index 24545cd90a25..0c5d746850c2 100644
---- a/include/linux/compiler-gcc.h
-+++ b/include/linux/compiler-gcc.h
-@@ -97,10 +97,122 @@
- #define __maybe_unused __attribute__((unused))
- #define __always_unused __attribute__((unused))
-
--#define __gcc_header(x) #x
--#define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h)
--#define gcc_header(x) _gcc_header(x)
--#include gcc_header(__GNUC__)
-+/* gcc version specific checks */
-+
-+#if GCC_VERSION < 30200
-+# error Sorry, your compiler is too old - please upgrade it.
-+#endif
-+
-+#if GCC_VERSION < 30300
-+# define __used __attribute__((__unused__))
-+#else
-+# define __used __attribute__((__used__))
-+#endif
-+
-+#ifdef CONFIG_GCOV_KERNEL
-+# if GCC_VERSION < 30400
-+# error "GCOV profiling support for gcc versions below 3.4 not included"
-+# endif /* __GNUC_MINOR__ */
-+#endif /* CONFIG_GCOV_KERNEL */
-+
-+#if GCC_VERSION >= 30400
-+#define __must_check __attribute__((warn_unused_result))
-+#endif
-+
-+#if GCC_VERSION >= 40000
-+
-+/* GCC 4.1.[01] miscompiles __weak */
-+#ifdef __KERNEL__
-+# if GCC_VERSION >= 40100 && GCC_VERSION <= 40101
-+# error Your version of gcc miscompiles the __weak directive
-+# endif
-+#endif
-+
-+#define __used __attribute__((__used__))
-+#define __compiler_offsetof(a, b) \
-+ __builtin_offsetof(a, b)
-+
-+#if GCC_VERSION >= 40100 && GCC_VERSION < 40600
-+# define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
-+#endif
-+
-+#if GCC_VERSION >= 40300
-+/* Mark functions as cold. gcc will assume any path leading to a call
-+ * to them will be unlikely. This means a lot of manual unlikely()s
-+ * are unnecessary now for any paths leading to the usual suspects
-+ * like BUG(), printk(), panic() etc. [but let's keep them for now for
-+ * older compilers]
-+ *
-+ * Early snapshots of gcc 4.3 don't support this and we can't detect this
-+ * in the preprocessor, but we can live with this because they're unreleased.
-+ * Maketime probing would be overkill here.
-+ *
-+ * gcc also has a __attribute__((__hot__)) to move hot functions into
-+ * a special section, but I don't see any sense in this right now in
-+ * the kernel context
-+ */
-+#define __cold __attribute__((__cold__))
-+
-+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
-+
-+#ifndef __CHECKER__
-+# define __compiletime_warning(message) __attribute__((warning(message)))
-+# define __compiletime_error(message) __attribute__((error(message)))
-+#endif /* __CHECKER__ */
-+#endif /* GCC_VERSION >= 40300 */
-+
-+#if GCC_VERSION >= 40500
-+/*
-+ * Mark a position in code as unreachable. This can be used to
-+ * suppress control flow warnings after asm blocks that transfer
-+ * control elsewhere.
-+ *
-+ * Early snapshots of gcc 4.5 don't support this and we can't detect
-+ * this in the preprocessor, but we can live with this because they're
-+ * unreleased. Really, we need to have autoconf for the kernel.
-+ */
-+#define unreachable() __builtin_unreachable()
-+
-+/* Mark a function definition as prohibited from being cloned. */
-+#define __noclone __attribute__((__noclone__))
-+
-+#endif /* GCC_VERSION >= 40500 */
-+
-+#if GCC_VERSION >= 40600
-+/*
-+ * Tell the optimizer that something else uses this function or variable.
-+ */
-+#define __visible __attribute__((externally_visible))
-+#endif
-+
-+/*
-+ * GCC 'asm goto' miscompiles certain code sequences:
-+ *
-+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
-+ *
-+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
-+ *
-+ * (asm goto is automatically volatile - the naming reflects this.)
-+ */
-+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
-+
-+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
-+#if GCC_VERSION >= 40400
-+#define __HAVE_BUILTIN_BSWAP32__
-+#define __HAVE_BUILTIN_BSWAP64__
-+#endif
-+#if GCC_VERSION >= 40800 || (defined(__powerpc__) && GCC_VERSION >= 40600)
-+#define __HAVE_BUILTIN_BSWAP16__
-+#endif
-+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
-+
-+#if GCC_VERSION >= 50000
-+#define KASAN_ABI_VERSION 4
-+#elif GCC_VERSION >= 40902
-+#define KASAN_ABI_VERSION 3
-+#endif
-+
-+#endif /* gcc version >= 40000 specific checks */
-
- #if !defined(__noclone)
- #define __noclone /* not needed */
-diff --git a/include/linux/compiler-gcc3.h b/include/linux/compiler-gcc3.h
-deleted file mode 100644
-index 7d89febe4d79..000000000000
---- a/include/linux/compiler-gcc3.h
-+++ /dev/null
-@@ -1,23 +0,0 @@
--#ifndef __LINUX_COMPILER_H
--#error "Please don't include <linux/compiler-gcc3.h> directly, include <linux/compiler.h> instead."
--#endif
--
--#if GCC_VERSION < 30200
--# error Sorry, your compiler is too old - please upgrade it.
--#endif
--
--#if GCC_VERSION >= 30300
--# define __used __attribute__((__used__))
--#else
--# define __used __attribute__((__unused__))
--#endif
--
--#if GCC_VERSION >= 30400
--#define __must_check __attribute__((warn_unused_result))
--#endif
--
--#ifdef CONFIG_GCOV_KERNEL
--# if GCC_VERSION < 30400
--# error "GCOV profiling support for gcc versions below 3.4 not included"
--# endif /* __GNUC_MINOR__ */
--#endif /* CONFIG_GCOV_KERNEL */
-diff --git a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h
-deleted file mode 100644
-index 2507fd2a1eb4..000000000000
---- a/include/linux/compiler-gcc4.h
-+++ /dev/null
-@@ -1,88 +0,0 @@
--#ifndef __LINUX_COMPILER_H
--#error "Please don't include <linux/compiler-gcc4.h> directly, include <linux/compiler.h> instead."
--#endif
--
--/* GCC 4.1.[01] miscompiles __weak */
--#ifdef __KERNEL__
--# if GCC_VERSION >= 40100 && GCC_VERSION <= 40101
--# error Your version of gcc miscompiles the __weak directive
--# endif
--#endif
--
--#define __used __attribute__((__used__))
--#define __must_check __attribute__((warn_unused_result))
--#define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
--
--#if GCC_VERSION >= 40100 && GCC_VERSION < 40600
--# define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
--#endif
--
--#if GCC_VERSION >= 40300
--/* Mark functions as cold. gcc will assume any path leading to a call
-- to them will be unlikely. This means a lot of manual unlikely()s
-- are unnecessary now for any paths leading to the usual suspects
-- like BUG(), printk(), panic() etc. [but let's keep them for now for
-- older compilers]
--
-- Early snapshots of gcc 4.3 don't support this and we can't detect this
-- in the preprocessor, but we can live with this because they're unreleased.
-- Maketime probing would be overkill here.
--
-- gcc also has a __attribute__((__hot__)) to move hot functions into
-- a special section, but I don't see any sense in this right now in
-- the kernel context */
--#define __cold __attribute__((__cold__))
--
--#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
--
--#ifndef __CHECKER__
--# define __compiletime_warning(message) __attribute__((warning(message)))
--# define __compiletime_error(message) __attribute__((error(message)))
--#endif /* __CHECKER__ */
--#endif /* GCC_VERSION >= 40300 */
--
--#if GCC_VERSION >= 40500
--/*
-- * Mark a position in code as unreachable. This can be used to
-- * suppress control flow warnings after asm blocks that transfer
-- * control elsewhere.
-- *
-- * Early snapshots of gcc 4.5 don't support this and we can't detect
-- * this in the preprocessor, but we can live with this because they're
-- * unreleased. Really, we need to have autoconf for the kernel.
-- */
--#define unreachable() __builtin_unreachable()
--
--/* Mark a function definition as prohibited from being cloned. */
--#define __noclone __attribute__((__noclone__))
--
--#endif /* GCC_VERSION >= 40500 */
--
--#if GCC_VERSION >= 40600
--/*
-- * Tell the optimizer that something else uses this function or variable.
-- */
--#define __visible __attribute__((externally_visible))
--#endif
--
--/*
-- * GCC 'asm goto' miscompiles certain code sequences:
-- *
-- * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
-- *
-- * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
-- * Fixed in GCC 4.8.2 and later versions.
-- *
-- * (asm goto is automatically volatile - the naming reflects this.)
-- */
--#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
--
--#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
--#if GCC_VERSION >= 40400
--#define __HAVE_BUILTIN_BSWAP32__
--#define __HAVE_BUILTIN_BSWAP64__
--#endif
--#if GCC_VERSION >= 40800 || (defined(__powerpc__) && GCC_VERSION >= 40600)
--#define __HAVE_BUILTIN_BSWAP16__
--#endif
--#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
-diff --git a/include/linux/compiler-gcc5.h b/include/linux/compiler-gcc5.h
-deleted file mode 100644
-index cdd1cc202d51..000000000000
---- a/include/linux/compiler-gcc5.h
-+++ /dev/null
-@@ -1,66 +0,0 @@
--#ifndef __LINUX_COMPILER_H
--#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead."
--#endif
--
--#define __used __attribute__((__used__))
--#define __must_check __attribute__((warn_unused_result))
--#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
--
--/* Mark functions as cold. gcc will assume any path leading to a call
-- to them will be unlikely. This means a lot of manual unlikely()s
-- are unnecessary now for any paths leading to the usual suspects
-- like BUG(), printk(), panic() etc. [but let's keep them for now for
-- older compilers]
--
-- Early snapshots of gcc 4.3 don't support this and we can't detect this
-- in the preprocessor, but we can live with this because they're unreleased.
-- Maketime probing would be overkill here.
--
-- gcc also has a __attribute__((__hot__)) to move hot functions into
-- a special section, but I don't see any sense in this right now in
-- the kernel context */
--#define __cold __attribute__((__cold__))
--
--#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
--
--#ifndef __CHECKER__
--# define __compiletime_warning(message) __attribute__((warning(message)))
--# define __compiletime_error(message) __attribute__((error(message)))
--#endif /* __CHECKER__ */
--
--/*
-- * Mark a position in code as unreachable. This can be used to
-- * suppress control flow warnings after asm blocks that transfer
-- * control elsewhere.
-- *
-- * Early snapshots of gcc 4.5 don't support this and we can't detect
-- * this in the preprocessor, but we can live with this because they're
-- * unreleased. Really, we need to have autoconf for the kernel.
-- */
--#define unreachable() __builtin_unreachable()
--
--/* Mark a function definition as prohibited from being cloned. */
--#define __noclone __attribute__((__noclone__))
--
--/*
-- * Tell the optimizer that something else uses this function or variable.
-- */
--#define __visible __attribute__((externally_visible))
--
--/*
-- * GCC 'asm goto' miscompiles certain code sequences:
-- *
-- * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
-- *
-- * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
-- * Fixed in GCC 4.8.2 and later versions.
-- *
-- * (asm goto is automatically volatile - the naming reflects this.)
-- */
--#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
--
--#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
--#define __HAVE_BUILTIN_BSWAP32__
--#define __HAVE_BUILTIN_BSWAP64__
--#define __HAVE_BUILTIN_BSWAP16__
--#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
---
-2.11.0
-
diff --git a/board/roseapplepi/uEnv.txt b/board/roseapplepi/uEnv.txt
index f9646e498e..2b9de727b4 100755..100644
--- a/board/roseapplepi/uEnv.txt
+++ b/board/roseapplepi/uEnv.txt
@@ -1,3 +1,3 @@
# no ramdisk
ramdisk_addr_r=-
-bootargs=clk_ignore_unused root=/dev/mmcblk0p2
+bootargs=console=ttyOWL2,115200
diff --git a/boot/at91bootstrap3/Config.in b/boot/at91bootstrap3/Config.in
index 5492ace8fb..25ab30489f 100644
--- a/boot/at91bootstrap3/Config.in
+++ b/boot/at91bootstrap3/Config.in
@@ -19,7 +19,7 @@ choice
prompt "AT91 Bootstrap 3 version"
config BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION
- bool "3.9.2"
+ bool "3.9.3"
config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT
bool "Custom Git repository"
@@ -51,7 +51,7 @@ endif
config BR2_TARGET_AT91BOOTSTRAP3_VERSION
string
- default "v3.9.2" if BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION
+ default "v3.9.3" if BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION
default BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION \
if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT
default "custom" if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL
diff --git a/boot/at91bootstrap3/at91bootstrap3.hash b/boot/at91bootstrap3/at91bootstrap3.hash
index 5741b829f5..6671a4ac70 100644
--- a/boot/at91bootstrap3/at91bootstrap3.hash
+++ b/boot/at91bootstrap3/at91bootstrap3.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 6cf37df482024f3770fe1880f768a675beda16323a90e702860d9e5478105b3f at91bootstrap3-v3.9.2.tar.gz
+sha256 dd6a3c57c1c84fc3b18187bee3d139146a0e032dd1d8edea7b242730e0bc4fe1 at91bootstrap3-v3.9.3.tar.gz
sha256 732b2a55b5905031d8ae420136ffb5f8889214865784386bf754cffab8d2bc6e main.c
diff --git a/configs/rock_pi_n8_defconfig b/configs/rock_pi_n8_defconfig
new file mode 100644
index 0000000000..9c671d416e
--- /dev/null
+++ b/configs/rock_pi_n8_defconfig
@@ -0,0 +1,45 @@
+# Architecture
+BR2_arm=y
+BR2_cortex_a17=y
+BR2_ARM_FPU_NEON_VFPV4=y
+
+# Linux headers same as kernel, a 5.7 series
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_7=y
+
+# Bootloader
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
+BR2_TARGET_UBOOT_CUSTOM_GIT=y
+BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/amarula/u-boot-amarula.git"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="ba120841bf40ebaed049d64bb4f980083a1cf6b7"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rock-pi-n8-rk3288"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
+BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
+BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y
+BR2_TARGET_UBOOT_FORMAT_DTB_BIN=y
+BR2_TARGET_UBOOT_SPL=y
+BR2_TARGET_UBOOT_SPL_NAME="idbloader.img"
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/amarula/linux-amarula.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="5dcb0132685b07beb82065c5d7521e6c555c55b6"
+BR2_LINUX_KERNEL_USE_DEFCONFIG=y
+BR2_LINUX_KERNEL_DEFCONFIG="multi_v7"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="rk3288-rock-pi-n8"
+BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+
+# Filesystem
+BR2_TARGET_GENERIC_HOSTNAME="rockpi-n8"
+BR2_TARGET_GENERIC_ISSUE="Welcome to ROCKPI-N8"
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
+BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/radxa/rockpi-n8/genimage.cfg"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/radxa/rockpi-n8/post-build.sh"
diff --git a/configs/roseapplepi_defconfig b/configs/roseapplepi_defconfig
index d315a02e16..45c42ec0f9 100644
--- a/configs/roseapplepi_defconfig
+++ b/configs/roseapplepi_defconfig
@@ -2,27 +2,25 @@ BR2_arm=y
BR2_cortex_a9=y
BR2_ARM_ENABLE_NEON=y
BR2_ARM_ENABLE_VFP=y
-
BR2_GLOBAL_PATCH_DIR="board/roseapplepi/patches"
-# Linux headers same as kernel, a 3.10 series
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y
-# kernel does not build with gcc 8.x
-BR2_GCC_VERSION_7_X=y
+# Linux headers same as kernel, a 5.7 series
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_7=y
BR2_ROOTFS_POST_BUILD_SCRIPT="board/roseapplepi/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/roseapplepi/genimage.cfg"
BR2_LINUX_KERNEL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,xapp-le,kernel,59dbf6a4998e967eb9c6bdcc9b506c0d96acb26b)/linux-59dbf6a4998e967eb9c6bdcc9b506c0d96acb26b.tar.gz"
-BR2_LINUX_KERNEL_DEFCONFIG="actduino_bubble_gum_linux"
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.7.19"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/roseapplepi/linux.config"
BR2_LINUX_KERNEL_UIMAGE=y
+BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
-BR2_LINUX_KERNEL_INTREE_DTS_NAME="actduino_bubble_gum_sdboot_linux"
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="owl-s500-roseapplepi"
# Filesystem / image
-BR2_TARGET_ROOTFS_EXT2=y
-BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_INITRAMFS=y
# BR2_TARGET_ROOTFS_TAR is not set
# Bootloaders
diff --git a/docs/manual/adding-packages-golang.txt b/docs/manual/adding-packages-golang.txt
index 8c467689be..3b34579200 100644
--- a/docs/manual/adding-packages-golang.txt
+++ b/docs/manual/adding-packages-golang.txt
@@ -76,15 +76,13 @@ optionally be defined, depending on the package's needs. Many of them
are only useful in very specific cases, typical packages will
therefore only use a few of them, or none.
-* If your package need a custom +GOPATH+ to be compiled in, you can
- use the +FOO_WORKSPACE+ variable. The +GOPATH+ being used will be
- +<package-srcdir>/<FOO_WORKSPACE>+. If +FOO_WORKSPACE+ is not
- specified, it defaults to +_gopath+.
-
-* +FOO_SRC_SUBDIR+ is the sub-directory where your source will be
- compiled relatively to the +GOPATH+. An example value is
- +github.com/bar/foo+. If +FOO_SRC_SUBDIR+ is not specified, it
- defaults to a value infered from the +FOO_SITE+ variable.
+* The package must specify its Go module name in the +FOO_GOMOD+
+ variable. If not specified, it defaults to
+ +URL-domain/1st-part-of-URL/2nd-part-of-URL+, e.g +FOO_GOMOD+ will
+ take the value +github.com/bar/foo+ for a package that specifies
+ +FOO_SITE = $(call github,bar,foo,$(FOO_VERSION))+. The Go package
+ infrastructure will automatically generate a minimal +go.mod+ file
+ in the package source tree if it doesn't exist.
* +FOO_LDFLAGS+ and +FOO_TAGS+ can be used to pass respectively the
+LDFLAGS+ or the +TAGS+ to the +go+ build command.
diff --git a/package/Config.in b/package/Config.in
index d7e79f4795..e625241da1 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -417,7 +417,6 @@ endmenu
source "package/acpitool/Config.in"
source "package/aer-inject/Config.in"
source "package/am335x-pru-package/Config.in"
- source "package/amd-catalyst/Config.in"
source "package/apcupsd/Config.in"
source "package/avrdude/Config.in"
source "package/bcache-tools/Config.in"
@@ -500,7 +499,6 @@ endmenu
source "package/nanocom/Config.in"
source "package/neard/Config.in"
source "package/nvidia-driver/Config.in"
- source "package/nvidia-tegra23/Config.in"
source "package/nvme/Config.in"
source "package/ofono/Config.in"
source "package/on2-8170-modules/Config.in"
@@ -872,6 +870,7 @@ menu "External python modules"
source "package/python-aiosignal/Config.in"
source "package/python-aiozipkin/Config.in"
source "package/python-alsaaudio/Config.in"
+ source "package/python-ansicolors/Config.in"
source "package/python-argh/Config.in"
source "package/python-argon2-cffi/Config.in"
source "package/python-arrow/Config.in"
@@ -895,6 +894,7 @@ menu "External python modules"
source "package/python-bluezero/Config.in"
source "package/python-bottle/Config.in"
source "package/python-brotli/Config.in"
+ source "package/python-bsdiff4/Config.in"
source "package/python-bunch/Config.in"
source "package/python-cached-property/Config.in"
source "package/python-can/Config.in"
@@ -1044,6 +1044,7 @@ menu "External python modules"
source "package/python-nfc/Config.in"
source "package/python-numpy/Config.in"
source "package/python-oauthlib/Config.in"
+ source "package/python-packaging/Config.in"
source "package/python-paho-mqtt/Config.in"
source "package/python-pam/Config.in"
source "package/python-paramiko/Config.in"
@@ -1469,6 +1470,7 @@ menu "Graphics"
source "package/waffle/Config.in"
source "package/wayland/Config.in"
source "package/wayland-protocols/Config.in"
+ source "package/wayland-utils/Config.in"
source "package/waylandpp/Config.in"
source "package/webkitgtk/Config.in"
source "package/webp/Config.in"
@@ -1494,6 +1496,7 @@ menu "Hardware handling"
source "package/let-me-create/Config.in"
source "package/libaio/Config.in"
source "package/libatasmart/Config.in"
+ source "package/libblockdev/Config.in"
source "package/libcec/Config.in"
source "package/libfreefare/Config.in"
source "package/libftdi/Config.in"
@@ -1533,6 +1536,7 @@ menu "Hardware handling"
source "package/owfs/Config.in"
source "package/pcsc-lite/Config.in"
source "package/tslib/Config.in"
+ source "package/uhd/Config.in"
source "package/urg/Config.in"
endmenu
@@ -1737,6 +1741,7 @@ menu "Networking"
source "package/libtirpc/Config.in"
source "package/libtorrent/Config.in"
source "package/libtorrent-rasterbar/Config.in"
+ source "package/libuev/Config.in"
source "package/libuhttpd/Config.in"
source "package/libupnp/Config.in"
source "package/libupnp18/Config.in"
@@ -1831,7 +1836,9 @@ menu "Other"
source "package/libatomic_ops/Config.in"
source "package/libavl/Config.in"
source "package/libb64/Config.in"
+ source "package/libbacktrace/Config.in"
source "package/libbsd/Config.in"
+ source "package/libbytesize/Config.in"
source "package/libcap/Config.in"
source "package/libcap-ng/Config.in"
source "package/libcgroup/Config.in"
@@ -1942,6 +1949,7 @@ menu "Text and terminal handling"
source "package/pcre/Config.in"
source "package/pcre2/Config.in"
source "package/popt/Config.in"
+ source "package/re2/Config.in"
source "package/readline/Config.in"
source "package/slang/Config.in"
source "package/tclap/Config.in"
@@ -2039,6 +2047,7 @@ menu "Networking applications"
source "package/dnsmasq/Config.in"
source "package/drbd-utils/Config.in"
source "package/dropbear/Config.in"
+ source "package/easyframes/Config.in"
source "package/ebtables/Config.in"
source "package/ejabberd/Config.in"
source "package/ethtool/Config.in"
@@ -2051,6 +2060,7 @@ menu "Networking applications"
source "package/fping/Config.in"
source "package/freeswitch/Config.in"
source "package/freeswitch-mod-bcg729/Config.in"
+ source "package/frr/Config.in"
source "package/gerbera/Config.in"
source "package/gesftpserver/Config.in"
source "package/gloox/Config.in"
@@ -2180,6 +2190,7 @@ endif
source "package/rabbitmq-server/Config.in"
source "package/radvd/Config.in"
source "package/reaver/Config.in"
+ source "package/redir/Config.in"
source "package/rp-pppoe/Config.in"
source "package/rpcbind/Config.in"
source "package/rsh-redone/Config.in"
@@ -2232,6 +2243,7 @@ endif
source "package/uhttpd/Config.in"
source "package/ulogd/Config.in"
source "package/unbound/Config.in"
+ source "package/uredir/Config.in"
source "package/ushare/Config.in"
source "package/ussp-push/Config.in"
source "package/vde2/Config.in"
@@ -2421,6 +2433,7 @@ menu "System tools"
source "package/tpm2-totp/Config.in"
source "package/unscd/Config.in"
source "package/util-linux/Config.in"
+ source "package/watchdog/Config.in"
source "package/xdg-dbus-proxy/Config.in"
source "package/xen/Config.in"
source "package/xvisor/Config.in"
diff --git a/package/Config.in.host b/package/Config.in.host
index fb29622ccb..ec64d2feb3 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -42,6 +42,7 @@ menu "Host utilities"
source "package/lpc3250loader/Config.in.host"
source "package/lttng-babeltrace/Config.in.host"
source "package/mender-artifact/Config.in.host"
+ source "package/meson-tools/Config.in.host"
source "package/mfgtools/Config.in.host"
source "package/mkpasswd/Config.in.host"
source "package/mtd/Config.in.host"
diff --git a/package/amd-catalyst/0001-Add-support-for-Linux-4.0.patch b/package/amd-catalyst/0001-Add-support-for-Linux-4.0.patch
deleted file mode 100644
index a0db9621a1..0000000000
--- a/package/amd-catalyst/0001-Add-support-for-Linux-4.0.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From c35482bc0cc56b40263b74c3e58e42be867fd9f2 Mon Sep 17 00:00:00 2001
-From: Alberto Milone <alberto.milone@canonical.com>
-Date: Thu, 17 Sep 2015 15:41:46 +0200
-Subject: [PATCH] Add support for Linux 4.0
-
-Signed-off-by: Romain Perier <romain.perier@free-electrons.com>
----
- common/lib/modules/fglrx/build_mod/firegl_public.c | 5 +++++
- common/lib/modules/fglrx/build_mod/kcl_str.c | 4 ++++
- 2 files changed, 9 insertions(+)
-
-diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
-index 677565d..6017e89 100755
---- a/common/lib/modules/fglrx/build_mod/firegl_public.c
-+++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
-@@ -285,6 +285,11 @@ MODULE_DEVICE_TABLE(pci, fglrx_pci_table);
-
- MODULE_INFO(supported, "external");
-
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 20, 0)
-+#define read_cr4() __read_cr4()
-+#define write_cr4(cr4) __write_cr4(cr4)
-+#endif
-+
- /* globals constants */
- const char* KCL_SYSINFO_OsVersionString = UTS_RELEASE;
- const unsigned int KCL_SYSINFO_PageSize = PAGE_SIZE;
-diff --git a/common/lib/modules/fglrx/build_mod/kcl_str.c b/common/lib/modules/fglrx/build_mod/kcl_str.c
-index 2d89eb0..bacdb69 100755
---- a/common/lib/modules/fglrx/build_mod/kcl_str.c
-+++ b/common/lib/modules/fglrx/build_mod/kcl_str.c
-@@ -42,6 +42,10 @@
- #include "kcl_type.h"
- #include "kcl_str.h"
-
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 20, 0)
-+#define strnicmp strncasecmp
-+#endif
-+
- /** \brief Fill memory with a constant byte
- * \param s Pointer to memory
- * \param c Initializing value
---
-2.8.1
-
diff --git a/package/amd-catalyst/0002-Add-support-for-Linux-4.1.patch b/package/amd-catalyst/0002-Add-support-for-Linux-4.1.patch
deleted file mode 100644
index cc95916e1e..0000000000
--- a/package/amd-catalyst/0002-Add-support-for-Linux-4.1.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From e9c8ccb4c8c842042542b792c51f9a7ec6c85e06 Mon Sep 17 00:00:00 2001
-From: Alberto Milone <alberto.milone@canonical.com>
-Date: Thu, 17 Sep 2015 15:44:59 +0200
-Subject: [PATCH] Add support for Linux 4.1
-
-Signed-off-by: Romain Perier <romain.perier@free-electrons.com>
----
- common/lib/modules/fglrx/build_mod/firegl_public.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
-index 6017e89..94778f1 100755
---- a/common/lib/modules/fglrx/build_mod/firegl_public.c
-+++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
-@@ -3508,10 +3508,12 @@ int ATI_API_CALL KCL_InstallInterruptHandler(
- KCL_PUB_InterruptHandlerWrap,
- #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
- ((useMSI) ? (SA_INTERRUPT) : (SA_SHIRQ)),
--#else
-+#elif LINUX_VERSION_CODE < KERNEL_VERSION(4,1,0)
- //when MSI enabled. keep irq disabled when calling the action handler,
- //exclude this IRQ from irq balancing (only on one CPU)
- ((useMSI) ? (IRQF_DISABLED) : (IRQF_SHARED)),
-+#else
-+ ((useMSI) ? (0x0) : (IRQF_SHARED)),
- #endif
- dev_name,
- context);
---
-2.8.1
-
diff --git a/package/amd-catalyst/0003-Add-support-for-Linux-4.2.patch b/package/amd-catalyst/0003-Add-support-for-Linux-4.2.patch
deleted file mode 100644
index 7458162965..0000000000
--- a/package/amd-catalyst/0003-Add-support-for-Linux-4.2.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From e2e6c2dac2a0311a022208dd289374b832538329 Mon Sep 17 00:00:00 2001
-From: Alberto Milone <alberto.milone@canonical.com>
-Date: Tue, 14 Jul 2015 12:56:37 +0200
-Subject: [PATCH] Add support for Linux 4.2
-
-Deal with the FPU code renaming
-
-Signed-off-by: Romain Perier <romain.perier@free-electrons.com>
----
- common/lib/modules/fglrx/build_mod/firegl_public.c | 38 ++++++++++++++++++++++
- 1 file changed, 38 insertions(+)
-
-diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
-index 94778f1..749ea51 100755
---- a/common/lib/modules/fglrx/build_mod/firegl_public.c
-+++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
-@@ -191,9 +191,17 @@
- #include <linux/string.h>
- #include <linux/gfp.h>
- #include <linux/swap.h>
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
- #include "asm/i387.h"
-+#else
-+#include <asm/fpu/api.h>
-+#endif
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
- #include <asm/fpu-internal.h>
-+#else
-+#include <asm/fpu/internal.h>
-+#endif
- #endif
-
- #include "firegl_public.h"
-@@ -1711,6 +1719,9 @@ void ATI_API_CALL KCL_SetCurrentProcessState(KCL_ENUM_ProcessState state)
-
- #if defined(__i386__)
- #ifndef __HAVE_ARCH_CMPXCHG
-+#ifndef __xg
-+#define __xg(x) ((volatile long *)(x))
-+#endif
- static inline
- unsigned long __fgl_cmpxchg(volatile void *ptr, unsigned long old,
- unsigned long new, int size)
-@@ -1747,7 +1758,11 @@ unsigned long ATI_API_CALL kcl__cmpxchg(volatile void *ptr, unsigned long old,
- unsigned long new, int size)
- {
- #ifndef __HAVE_ARCH_CMPXCHG
-+#if defined(__i386__)
- return __fgl_cmpxchg(ptr,old,new,size);
-+#elif defined(__x86_64__)
-+ return cmpxchg((unsigned long*)ptr,old,new);
-+#endif
- #else
- /* On kernel version 2.6.34 passing a variable or unsupported size
- * argument to the __cmpxchg macro causes the default-clause of a
-@@ -6443,21 +6458,36 @@ static int KCL_fpu_save_init(struct task_struct *tsk)
- struct fpu *fpu = &tsk->thread.fpu;
-
- if(static_cpu_has(X86_FEATURE_XSAVE)) {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
- fpu_xsave(fpu);
- if (!(fpu->state->xsave.xsave_hdr.xstate_bv & XSTATE_FP))
-+#else
-+ copy_xregs_to_kernel(&fpu->state.xsave);
-+ if (!(fpu->state.xsave.header.xfeatures & XSTATE_FP))
-+#endif
- return 1;
- } else if (static_cpu_has(X86_FEATURE_FXSR)) {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
- fpu_fxsave(fpu);
-+#else
-+ copy_fxregs_to_kernel(fpu);
-+#endif
- } else {
- asm volatile("fnsave %[fx]; fwait"
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
- : [fx] "=m" (fpu->state->fsave));
-+#else
-+ : [fx] "=m" (fpu->state.fsave));
-+#endif
- return 0;
- }
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
- if (unlikely(fpu->state->fxsave.swd & X87_FSW_ES)) {
- asm volatile("fnclex");
- return 0;
- }
-+#endif
- return 1;
- }
- #endif
-@@ -6469,8 +6499,12 @@ static int KCL_fpu_save_init(struct task_struct *tsk)
- void ATI_API_CALL KCL_fpu_begin(void)
- {
- #ifdef CONFIG_X86_64
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
- kernel_fpu_begin();
- #else
-+ __kernel_fpu_begin();
-+#endif
-+#else
- #ifdef TS_USEDFPU
- struct thread_info *cur_thread = current_thread_info();
- struct task_struct *cur_task = get_current();
-@@ -6515,7 +6549,11 @@ void ATI_API_CALL KCL_fpu_begin(void)
- */
- void ATI_API_CALL KCL_fpu_end(void)
- {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
- kernel_fpu_end();
-+#else
-+ __kernel_fpu_end();
-+#endif
- }
-
- /** Create new directory entry under "/proc/...."
---
-2.8.1
-
diff --git a/package/amd-catalyst/0004-Use-fpregs_active-instead-of-has_fpu.patch b/package/amd-catalyst/0004-Use-fpregs_active-instead-of-has_fpu.patch
deleted file mode 100644
index 4d375b8ad8..0000000000
--- a/package/amd-catalyst/0004-Use-fpregs_active-instead-of-has_fpu.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 7120f00015570a2e4d9b6532731960d509c71cba Mon Sep 17 00:00:00 2001
-From: Alberto Milone <alberto.milone@canonical.com>
-Date: Thu, 17 Sep 2015 15:48:30 +0200
-Subject: [PATCH] Use fpregs_active instead of has_fpu
-
-This is for Linux 4.2
-
-Thanks to Tim Gardner for the patch.
-
-Signed-off-by: Romain Perier <romain.perier@free-electrons.com>
----
- common/lib/modules/fglrx/build_mod/firegl_public.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
-index 749ea51..4c1f9a5 100755
---- a/common/lib/modules/fglrx/build_mod/firegl_public.c
-+++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
-@@ -6528,7 +6528,11 @@ void ATI_API_CALL KCL_fpu_begin(void)
- /* The thread structure is changed with the commit below for kernel 3.3:
- * https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8
- */
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)
-+ if (cur_task->thread.fpu.fpregs_active)
-+#else
- if (cur_task->thread.fpu.has_fpu)
-+#endif
- #else
- if (cur_task->thread.has_fpu)
- #endif
---
-2.8.1
-
diff --git a/package/amd-catalyst/0005-Use-a-local-copy-of-copy_xregs_to_kernel.patch b/package/amd-catalyst/0005-Use-a-local-copy-of-copy_xregs_to_kernel.patch
deleted file mode 100644
index c9513ef188..0000000000
--- a/package/amd-catalyst/0005-Use-a-local-copy-of-copy_xregs_to_kernel.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From eb703737be5c91c1a0817351db8ec152c523c85d Mon Sep 17 00:00:00 2001
-From: Alberto Milone <alberto.milone@canonical.com>
-Date: Thu, 17 Sep 2015 15:49:46 +0200
-Subject: [PATCH] Use a local copy of copy_xregs_to_kernel
-
-This is needed for Linux 4.2.
-
-Thanks to Tim Gardner for the patch.
-
-Signed-off-by: Romain Perier <romain.perier@free-electrons.com>
----
- common/lib/modules/fglrx/build_mod/firegl_public.c | 44 +++++++++++++++++++++-
- 1 file changed, 43 insertions(+), 1 deletion(-)
-
-diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
-index 4c1f9a5..bb67bba 100755
---- a/common/lib/modules/fglrx/build_mod/firegl_public.c
-+++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
-@@ -6443,6 +6443,48 @@ int ATI_API_CALL kcl_sscanf(const char * buf, const char * fmt, ...)
- return i;
- }
-
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)
-+/*
-+ * Save processor xstate to xsave area.
-+ */
-+static void _copy_xregs_to_kernel(struct xregs_state *xstate)
-+{
-+ u64 mask = -1;
-+ u32 lmask = mask;
-+ u32 hmask = mask >> 32;
-+ int err = 0;
-+
-+ /*WARN_ON(!alternatives_patched);*/
-+
-+ /*
-+ * If xsaves is enabled, xsaves replaces xsaveopt because
-+ * it supports compact format and supervisor states in addition to
-+ * modified optimization in xsaveopt.
-+ *
-+ * Otherwise, if xsaveopt is enabled, xsaveopt replaces xsave
-+ * because xsaveopt supports modified optimization which is not
-+ * supported by xsave.
-+ *
-+ * If none of xsaves and xsaveopt is enabled, use xsave.
-+ */
-+ alternative_input_2(
-+ "1:"XSAVE,
-+ XSAVEOPT,
-+ X86_FEATURE_XSAVEOPT,
-+ XSAVES,
-+ X86_FEATURE_XSAVES,
-+ [xstate] "D" (xstate), "a" (lmask), "d" (hmask) :
-+ "memory");
-+ asm volatile("2:\n\t"
-+ xstate_fault(err)
-+ : "0" (err)
-+ : "memory");
-+
-+ /* We should never fault when copying to a kernel buffer: */
-+ WARN_ON_FPU(err);
-+}
-+#endif
-+
- /** \brief Generate UUID
- * \param buf pointer to the generated UUID
- * \return None
-@@ -6462,7 +6504,7 @@ static int KCL_fpu_save_init(struct task_struct *tsk)
- fpu_xsave(fpu);
- if (!(fpu->state->xsave.xsave_hdr.xstate_bv & XSTATE_FP))
- #else
-- copy_xregs_to_kernel(&fpu->state.xsave);
-+ _copy_xregs_to_kernel(&fpu->state.xsave);
- if (!(fpu->state.xsave.header.xfeatures & XSTATE_FP))
- #endif
- return 1;
---
-2.8.1
-
diff --git a/package/amd-catalyst/0006-Add-support-for-Linux-4.4.patch b/package/amd-catalyst/0006-Add-support-for-Linux-4.4.patch
deleted file mode 100644
index 104e2c599d..0000000000
--- a/package/amd-catalyst/0006-Add-support-for-Linux-4.4.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 54b230e26a1889c08507e791ab043f8a4b4ff771 Mon Sep 17 00:00:00 2001
-From: Romain Perier <romain.perier@free-electrons.com>
-Date: Thu, 7 Jul 2016 14:40:53 +0200
-Subject: [PATCH] Add support for Linux 4.4
-
-It fixes various things like the use of seq_printf because its API
-changed. It also replaces the call to mtrr_add and mtrr_del by
-arch_phys_wc_add and arch_phys_wc_del because these symbols are
-no longer exported for Linux >= 4.3.x.
-
-Signed-off-by: Romain Perier <romain.perier@free-electrons.com>
----
- common/lib/modules/fglrx/build_mod/firegl_public.c | 21 +++++++++++++++++++++
- 1 file changed, 21 insertions(+)
-
-diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
-index bb67bba..b4b2d30 100755
---- a/common/lib/modules/fglrx/build_mod/firegl_public.c
-+++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
-@@ -636,9 +636,16 @@ static int firegl_major_proc_read(struct seq_file *m, void* data)
-
- len = snprintf(buf, request, "%d\n", major);
- #else
-+
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)
-+ seq_printf(m, "%d\n", major);
-+ len = 0;
-+#else
- len = seq_printf(m, "%d\n", major);
- #endif
-
-+#endif
-+
- KCL_DEBUG1(FN_FIREGL_PROC, "return len=%i\n",len);
-
- return len;
-@@ -3432,7 +3439,11 @@ int ATI_API_CALL KCL_MEM_MTRR_Support(void)
- int ATI_API_CALL KCL_MEM_MTRR_AddRegionWc(unsigned long base, unsigned long size)
- {
- #ifdef CONFIG_MTRR
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)
-+ return arch_phys_wc_add(base, size);
-+#else
- return mtrr_add(base, size, MTRR_TYPE_WRCOMB, 1);
-+#endif
- #else /* !CONFIG_MTRR */
- return -EPERM;
- #endif /* !CONFIG_MTRR */
-@@ -3441,7 +3452,12 @@ int ATI_API_CALL KCL_MEM_MTRR_AddRegionWc(unsigned long base, unsigned long size
- int ATI_API_CALL KCL_MEM_MTRR_DeleteRegion(int reg, unsigned long base, unsigned long size)
- {
- #ifdef CONFIG_MTRR
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)
-+ arch_phys_wc_del(reg);
-+ return 0;
-+#else
- return mtrr_del(reg, base, size);
-+#endif
- #else /* !CONFIG_MTRR */
- return -EPERM;
- #endif /* !CONFIG_MTRR */
-@@ -6505,8 +6521,13 @@ static int KCL_fpu_save_init(struct task_struct *tsk)
- if (!(fpu->state->xsave.xsave_hdr.xstate_bv & XSTATE_FP))
- #else
- _copy_xregs_to_kernel(&fpu->state.xsave);
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0)
-+ if (!(fpu->state.xsave.header.xfeatures & XFEATURE_MASK_FP))
-+#else
- if (!(fpu->state.xsave.header.xfeatures & XSTATE_FP))
- #endif
-+
-+#endif
- return 1;
- } else if (static_cpu_has(X86_FEATURE_FXSR)) {
- #if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
---
-2.8.1
-
diff --git a/package/amd-catalyst/0007-remove-gpl-symbols.patch b/package/amd-catalyst/0007-remove-gpl-symbols.patch
deleted file mode 100644
index d0094b0934..0000000000
--- a/package/amd-catalyst/0007-remove-gpl-symbols.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-Author: Manuel Rüger <mrueg@gentoo.org>
-Date: Sat, 2 Jan 2016 17:24:30 +0100
-URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/x11-drivers/ati-drivers/files?id=179aa11ed2f1bd79cf1b190263c3a7a07279fc50
-
-Signed-off-by: Romain Perier <romain.perier@free-electrons.com>
----
---- a/common/lib/modules/fglrx/build_mod/firegl_public.c 2015-09-18 23:57:02.000000000 -0400
-+++ b/common/lib/modules/fglrx/build_mod/firegl_public.c 2015-09-18 23:57:11.000000000 -0400
-@@ -136,7 +136,6 @@
- #include <asm/mman.h>
- #include <asm/uaccess.h>
- #include <asm/processor.h>
--#include <asm/tlbflush.h> // for flush_tlb_page
- #include <asm/cpufeature.h>
- #ifdef CONFIG_MTRR
- #include <asm/mtrr.h>
-@@ -251,6 +250,26 @@
- #define WRITE_CR4(x) write_cr4(x)
- #endif
-
-+#define __flush_tlb_one(addr) asm volatile("invlpg (%0)" ::"r" (addr) : "memory")
-+#define __flush_tlb() native_write_cr3(native_read_cr3())
-+
-+static inline void __flush_tlb_all(void)
-+{
-+ if (cpu_has_pge)
-+ {
-+ unsigned long flags, cr4;
-+ raw_local_irq_save(flags);
-+ cr4 = native_read_cr4();
-+ native_write_cr4(cr4 & ~X86_CR4_PGE);
-+ native_write_cr4(cr4);
-+ raw_local_irq_restore(flags);
-+ }
-+ else
-+ {
-+ __flush_tlb();
-+ }
-+}
-+
- // ============================================================
- /* globals */
-
---- a/common/lib/modules/fglrx/build_mod/kcl_acpi.c 2015-09-19 00:43:35.000000000 -0400
-+++ b/common/lib/modules/fglrx/build_mod/kcl_acpi.c 2015-09-19 00:43:48.000000000 -0400
-@@ -868,7 +868,7 @@ void ATI_API_CALL KCL_ACPI_No_Hotplug(vo
- #elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)
- if(pdev)
- {
--#if (UTS_UBUNTU_RELEASE_ABI < 0 && LINUX_VERSION_CODE < KERNEL_VERSION(4,1,3)) || (UTS_UBUNTU_RELEASE_ABI >= 0 && UTS_UBUNTU_RELEASE_ABI < 26 && LINUX_VERSION_CODE <= KERNEL_VERSION(3,19,8))
-+#if 0 && (UTS_UBUNTU_RELEASE_ABI < 0 && LINUX_VERSION_CODE < KERNEL_VERSION(4,1,3)) || (UTS_UBUNTU_RELEASE_ABI >= 0 && UTS_UBUNTU_RELEASE_ABI < 26 && LINUX_VERSION_CODE <= KERNEL_VERSION(3,19,8))
- pci_ignore_hotplug(pdev);
- #else
- pdev->ignore_hotplug = 1;
diff --git a/package/amd-catalyst/20-fglrx.conf b/package/amd-catalyst/20-fglrx.conf
deleted file mode 100644
index d83ff582f6..0000000000
--- a/package/amd-catalyst/20-fglrx.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-Section "Device"
- Identifier "AMD Radeon GPU"
- Driver "fglrx"
-EndSection
diff --git a/package/amd-catalyst/Config.in b/package/amd-catalyst/Config.in
deleted file mode 100644
index 1a5bf02953..0000000000
--- a/package/amd-catalyst/Config.in
+++ /dev/null
@@ -1,65 +0,0 @@
-comment "amd-catalyst needs a glibc toolchain"
- depends on BR2_i386 || BR2_x86_64
- depends on !BR2_TOOLCHAIN_USES_GLIBC
-
-config BR2_PACKAGE_AMD_CATALYST
- bool "amd-catalyst"
- depends on BR2_i386 || BR2_x86_64
- depends on BR2_TOOLCHAIN_USES_GLIBC
- help
- The binary-only driver blob for AMD cards.
- This driver supports AMD Radeon HD 5xxx and newer graphics
- cards.
-
- http://www.amd.com/
-
-if BR2_PACKAGE_AMD_CATALYST
-
-comment "amd-catalyst X.org drivers needs a modular Xorg server <= 1.17"
- depends on !BR2_PACKAGE_XORG7 \
- || !BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR \
- || !BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_19
-
-config BR2_PACKAGE_AMD_CATALYST_XORG
- bool "X.org drivers"
- default y
- depends on BR2_PACKAGE_XORG7
- depends on BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR
- depends on BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_19
- select BR2_PACKAGE_XSERVER_XORG_SERVER_AIGLX
- select BR2_PACKAGE_ACPID # runtime
- select BR2_PACKAGE_XLIB_LIBX11 # runtime
- select BR2_PACKAGE_XLIB_LIBXEXT # runtime
- select BR2_PACKAGE_XLIB_LIBXCOMPOSITE # runtime
- # This package does not have standard GL headers
- select BR2_PACKAGE_MESA3D_HEADERS
- select BR2_PACKAGE_HAS_LIBGL
-
-if BR2_PACKAGE_AMD_CATALYST_XORG
-
-config BR2_PACKAGE_PROVIDES_LIBGL
- default "amd-catalyst"
-
-config BR2_PACKAGE_AMD_CATALYST_CMDLINE_TOOLS
- bool "command-line configuration tools"
- help
- Build and install the AMD command line tools.
-
-endif
-
-comment "amd-catalyst kernel module needs a kernel to be built"
- depends on !BR2_LINUX_KERNEL
-
-config BR2_PACKAGE_AMD_CATALYST_MODULE
- bool "fglrx kernel module"
- depends on BR2_LINUX_KERNEL
- help
- Builds and install the fglrx kernel module
-
-config BR2_PACKAGE_AMD_CATALYST_OPENCL
- bool "OpenCL support"
- help
- Installs the OpenCL binary blobs and the ICD profile
- for GPGPU computing.
-
-endif # BR2_PACKAGE_AMD_CATALYST
diff --git a/package/amd-catalyst/amd-catalyst.hash b/package/amd-catalyst/amd-catalyst.hash
deleted file mode 100644
index 9f9b0a3149..0000000000
--- a/package/amd-catalyst/amd-catalyst.hash
+++ /dev/null
@@ -1,2 +0,0 @@
-# Locally computed
-sha256 bf3e6e7d5c51db3d075410a3f116f865b82823debc1d66698d187249feec6a91 amd-catalyst-15.9-linux-installer-15.201.1151-x86.x86_64.zip
diff --git a/package/amd-catalyst/amd-catalyst.mk b/package/amd-catalyst/amd-catalyst.mk
deleted file mode 100644
index fe8aa850f0..0000000000
--- a/package/amd-catalyst/amd-catalyst.mk
+++ /dev/null
@@ -1,162 +0,0 @@
-################################################################################
-#
-# amd-catalyst
-#
-################################################################################
-
-AMD_CATALYST_VERSION = 15.9
-AMD_CATALYST_VERBOSE_VER = 15.201.1151
-AMD_CATALYST_SITE = http://www2.ati.com/drivers/linux
-AMD_CATALYST_DL_OPTS = --referer='http://support.amd.com'
-AMD_CATALYST_SOURCE = amd-catalyst-$(AMD_CATALYST_VERSION)-linux-installer-$(AMD_CATALYST_VERBOSE_VER)-x86.x86_64.zip
-AMD_CATALYST_LICENSE = AMD Software License
-AMD_CATALYST_LICENSE_FILES = LICENSE.TXT
-AMD_CATALYST_INSTALL_STAGING = YES
-AMD_CATALYST_SUFFIX = $(if $(BR2_x86_64),_64)
-AMD_CATALYST_ARCH_DIR = $(@D)/arch/x86$(AMD_CATALYST_SUFFIX)
-AMD_CATALYST_LIB_SUFFIX = $(if $(BR2_x86_64),64)
-
-define AMD_CATALYST_EXTRACT_CMDS
- unzip -q $(AMD_CATALYST_DL_DIR)/$(AMD_CATALYST_SOURCE) -d $(@D)
- $(SHELL) $(@D)/AMD-Catalyst-$(AMD_CATALYST_VERSION)-Linux-installer-$(AMD_CATALYST_VERBOSE_VER)-x86.x86_64.run --extract $(@D)
-endef
-
-ifeq ($(BR2_PACKAGE_AMD_CATALYST_MODULE),y)
-AMD_CATALYST_MODULE_SUBDIRS = common/lib/modules/fglrx/build_mod/2.6.x
-AMD_CATALYST_MODULE_MAKE_OPTS = \
- CFLAGS_MODULE="-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
-
-define AMD_CATALYST_PREPARE_MODULE
- # The Makefile expects to have source in the folder 2.6.x
- cp $(@D)/common/lib/modules/fglrx/build_mod/*.{c,h} \
- $(@D)/common/lib/modules/fglrx/build_mod/2.6.x
- # This static lib is required during the link
- cp $(@D)/arch/x86$(AMD_CATALYST_SUFFIX)/lib/modules/fglrx/build_mod/libfglrx_ip.a \
- $(@D)/common/lib/modules/fglrx/build_mod/2.6.x
-endef
-
-AMD_CATALYST_POST_PATCH_HOOKS += AMD_CATALYST_PREPARE_MODULE
-
-$(eval $(kernel-module))
-endif
-
-ifeq ($(BR2_PACKAGE_AMD_CATALYST_OPENCL),y)
-
-AMD_CATALYST_OCL_SUFFIX = $(if $(BR2_x86_64),64,32)
-AMD_CATALYST_OPENCL_FILES = \
- libOpenCL.so.1 \
- libaticalcl.so \
- libamdocl$(AMD_CATALYST_OCL_SUFFIX).so \
- libamdocl12cl$(AMD_CATALYST_OCL_SUFFIX).so
-
-define AMD_CATALYST_INSTALL_OPENCL
- $(foreach f,$(AMD_CATALYST_OPENCL_FILES), \
- $(INSTALL) -D -m 0755 $(AMD_CATALYST_ARCH_DIR)/usr/lib$(AMD_CATALYST_LIB_SUFFIX)/$(f) $(TARGET_DIR)/usr/lib/$(f)
- )
- ln -sf libOpenCL.so.1 \
- $(TARGET_DIR)/usr/lib/libOpenCL.so
- $(INSTALL) -m 0755 $(AMD_CATALYST_ARCH_DIR)/usr/bin/clinfo \
- $(TARGET_DIR)/usr/bin/clinfo
- $(INSTALL) -D -m 0644 $(AMD_CATALYST_ARCH_DIR)/etc/OpenCL/vendors/amdocl$(AMD_CATALYST_OCL_SUFFIX).icd \
- $(TARGET_DIR)/etc/OpenCL/vendors/amdocl$(AMD_CATALYST_OCL_SUFFIX).icd
-endef
-
-endif
-
-ifeq ($(BR2_PACKAGE_AMD_CATALYST_XORG), y)
-
-# GL headers are needed by any package that wants to use libgl, so they need to
-# be installed before any user of it. The only way to do so is to have this
-# package depends on mesa3d-headers.
-AMD_CATALYST_DEPENDENCIES += mesa3d-headers
-AMD_CATALYST_PROVIDES = libgl
-AMD_CATALYST_X11R6_LIB = $(@D)/xpic$(if $(BR2_x86_64),_64a)/usr/X11R6/lib$(AMD_CATALYST_LIB_SUFFIX)
-
-define AMD_CATALYST_INSTALL_GL_LIBS
- $(INSTALL) -m 0644 $(AMD_CATALYST_ARCH_DIR)/usr/X11R6/lib$(AMD_CATALYST_LIB_SUFFIX)/fglrx/fglrx-libGL.so.1.2 \
- $(1)/usr/lib
- ln -sf fglrx-libGL.so.1.2 $(1)/usr/lib/libGL.so.1.2
- ln -sf fglrx-libGL.so.1.2 $(1)/usr/lib/libGL.so.1
- ln -sf fglrx-libGL.so.1.2 $(1)/usr/lib/libGL.so
-endef
-
-define AMD_CATALYST_INSTALL_STAGING_XORG
- $(call AMD_CATALYST_INSTALL_GL_LIBS,$(STAGING_DIR))
- $(INSTALL) -D -m 0644 package/amd-catalyst/gl.pc \
- $(STAGING_DIR)/usr/lib/pkgconfig/gl.pc
-endef
-
-AMD_CATALYST_XORG_DRIVERS_FILES = modules/amdxmm.so \
- modules/drivers/fglrx_drv.so \
- modules/linux/libfglrxdrm.so
-
-define AMD_CATALYST_INSTALL_XORG
- # Xorg drivers
- $(foreach f,$(AMD_CATALYST_XORG_DRIVERS_FILES), \
- $(INSTALL) -D -m 0755 $(AMD_CATALYST_X11R6_LIB)/$(f) \
- $(TARGET_DIR)/usr/lib/xorg/$(f)
- )
-
- # Xorg is not able to detect the driver automatically
- $(INSTALL) -D -m 0644 package/amd-catalyst/20-fglrx.conf \
- $(TARGET_DIR)/etc/X11/xorg.conf.d/20-fglrx.conf
-
- # Common files: containing binary profiles about GPUs,
- # required by the fglrx_drv xorg driver
- $(INSTALL) -d $(TARGET_DIR)/etc/ati
- $(INSTALL) -m 0644 $(@D)/common/etc/ati/* $(TARGET_DIR)/etc/ati/
-
- # DRI and GLX xorg modules: by default DRI is activated,
- # these modules are required by the fglrx_drv.so xorg driver
- $(INSTALL) -D -m 0644 $(AMD_CATALYST_ARCH_DIR)/usr/X11R6/lib$(AMD_CATALYST_LIB_SUFFIX)/modules/dri/fglrx_dri.so \
- $(TARGET_DIR)/usr/lib/dri/fglrx_dri.so
- $(INSTALL) -D -m 0644 $(AMD_CATALYST_X11R6_LIB)/modules/extensions/fglrx/fglrx-libglx.so \
- $(TARGET_DIR)/usr/lib/xorg/modules/extensions/libglx.so
- $(INSTALL) -D -m 0644 $(AMD_CATALYST_X11R6_LIB)/modules/glesx.so \
- $(TARGET_DIR)/usr/lib/xorg/modules/glesx.so
-
- # Userspace GL libraries, also runtime dependency of most of the cmdline
- # tools
- $(INSTALL) -m 0644 $(AMD_CATALYST_ARCH_DIR)/usr/X11R6/lib$(AMD_CATALYST_LIB_SUFFIX)/*.so \
- $(TARGET_DIR)/usr/lib/
- $(call AMD_CATALYST_INSTALL_GL_LIBS,$(TARGET_DIR))
-
- # Runtime dependency required by libfglrxdrm.so
- $(INSTALL) -m 0644 $(AMD_CATALYST_ARCH_DIR)/usr/lib$(AMD_CATALYST_LIB_SUFFIX)/libatiuki.so.1.0 \
- $(TARGET_DIR)/usr/lib/
- ln -sf libatiuki.so.1.0 \
- $(TARGET_DIR)/usr/lib/libatiuki.so.1
-endef
-
-endif
-
-ifeq ($(BR2_PACKAGE_AMD_CATALYST_CMDLINE_TOOLS), y)
-AMD_CATALYST_CMDLINE_TOOLS_FILES = \
- atiode \
- atiodcli \
- fgl_glxgears \
- aticonfig \
- amd-console-helper \
- fglrxinfo
-
-define AMD_CATALYST_INSTALL_CMDLINE_TOOLS
- $(INSTALL) -m 0755 $(AMD_CATALYST_ARCH_DIR)/usr/sbin/atieventsd \
- $(TARGET_DIR)/usr/sbin
- $(foreach f,$(AMD_CATALYST_CMDLINE_TOOLS_FILES), \
- $(INSTALL) -D -m 0755 $(AMD_CATALYST_ARCH_DIR)/usr/X11R6/bin/$(f) \
- $(TARGET_DIR)/usr/bin/$(f)
- )
-endef
-endif
-
-define AMD_CATALYST_INSTALL_STAGING_CMDS
- $(call AMD_CATALYST_INSTALL_STAGING_XORG)
-endef
-
-define AMD_CATALYST_INSTALL_TARGET_CMDS
- $(call AMD_CATALYST_INSTALL_XORG)
- $(call AMD_CATALYST_INSTALL_CMDLINE_TOOLS)
- $(call AMD_CATALYST_INSTALL_OPENCL)
-endef
-
-$(eval $(generic-package))
diff --git a/package/amd-catalyst/gl.pc b/package/amd-catalyst/gl.pc
deleted file mode 100644
index 8729271fa0..0000000000
--- a/package/amd-catalyst/gl.pc
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=/usr
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
-
-Name: gl
-Description: AMD Catalyst OpenGL library
-Version: 15.9
-Libs: -L${libdir} -lGL -lm -lXext -lX11 -ldl
-Cflags: -I${includedir}
-glx_tls: no
-
diff --git a/package/botan/botan.hash b/package/botan/botan.hash
index 15e79bbe40..e8d62aa98c 100644
--- a/package/botan/botan.hash
+++ b/package/botan/botan.hash
@@ -1,4 +1,4 @@
# From https://botan.randombit.net/releases/sha256sums.txt
-sha256 0c10f12b424a40ee19bde00292098e201d7498535c062d8d5b586d07861a54b5 Botan-2.14.0.tar.xz
+sha256 d88af1307f1fefac79aa4f2f524699478d69ce15a857cf2d0a90ac6bf2a50009 Botan-2.15.0.tar.xz
# Locally computed
sha256 fb7f0322d36fba55ca17d77bc203a9f09a40daa8a249b75cf8887aba36cec9d0 license.txt
diff --git a/package/botan/botan.mk b/package/botan/botan.mk
index a5551b110f..19677a40e0 100644
--- a/package/botan/botan.mk
+++ b/package/botan/botan.mk
@@ -4,7 +4,7 @@
#
################################################################################
-BOTAN_VERSION = 2.14.0
+BOTAN_VERSION = 2.15.0
BOTAN_SOURCE = Botan-$(BOTAN_VERSION).tar.xz
BOTAN_SITE = http://botan.randombit.net/releases
BOTAN_LICENSE = BSD-2-Clause
diff --git a/package/busybox/0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch b/package/busybox/0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch
index 8375ae0531..84435442c9 100644
--- a/package/busybox/0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch
+++ b/package/busybox/0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch
@@ -5,7 +5,9 @@ Subject: [PATCH] Makefile.flags: strip non -l arguments returned by pkg-config
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[yann.morin.1998@free.fr: refresh for 1.29.0]
+[petr.vorel@gmail.com: refresh for 1.32.0]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
---
Makefile.flags | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
@@ -14,7 +16,7 @@ diff --git a/Makefile.flags b/Makefile.flags
index 307afa7..885e323 100644
--- a/Makefile.flags
+++ b/Makefile.flags
-@@ -153,7 +153,9 @@ ifeq ($(CONFIG_SELINUX),y)
+@@ -176,7 +176,9 @@ ifeq ($(CONFIG_SELINUX),y)
SELINUX_PC_MODULES = libselinux libsepol
$(eval $(call pkg_check_modules,SELINUX,$(SELINUX_PC_MODULES)))
CPPFLAGS += $(SELINUX_CFLAGS)
diff --git a/package/busybox/0003-date-Use-64-prefix-syscall-if-we-have-to.patch b/package/busybox/0003-date-Use-64-prefix-syscall-if-we-have-to.patch
deleted file mode 100644
index 2b89584f00..0000000000
--- a/package/busybox/0003-date-Use-64-prefix-syscall-if-we-have-to.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 29ba834ed7d968de0460f7fd87156d43d8120d8f Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@wdc.com>
-Date: Wed, 18 Sep 2019 09:28:49 -0700
-Subject: [PATCH] date: Use 64 prefix syscall if we have to
-
-Some 32-bit architectures no longer have the 32-bit time_t syscalls.
-Instead they have suffixed syscalls that returns a 64-bit time_t. If
-the architecture doesn't have the non-suffixed syscall and is using a
-64-bit time_t let's use the suffixed syscall instead.
-
-This fixes build issues when building for RISC-V 32-bit with 5.1+ kernel
-headers.
-
-If an architecture only supports the suffixed syscalls, but is still
-using a 32-bit time_t fall back to the libc call.
-
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-
-(cherry picked from commit b7b7452f292f03eefafa6fd1da9bcfc933dee15a)
-
-Signed-off-by: Carlos Santos <unixmania@gmail.com>
----
- coreutils/date.c | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/coreutils/date.c b/coreutils/date.c
-index 3414d38ae..1e0a675ca 100644
---- a/coreutils/date.c
-+++ b/coreutils/date.c
-@@ -36,7 +36,7 @@
- //config:# defaults to "no": stat's nanosecond field is a bit non-portable
- //config:config FEATURE_DATE_NANO
- //config: bool "Support %[num]N nanosecond format specifier"
--//config: default n # syscall(__NR_clock_gettime)
-+//config: default n # syscall(__NR_clock_gettime) or syscall(__NR_clock_gettime64)
- //config: depends on DATE
- //config: select PLATFORM_LINUX
- //config: help
-@@ -271,10 +271,17 @@ int date_main(int argc UNUSED_PARAM, char **argv)
- */
- #endif
- } else {
--#if ENABLE_FEATURE_DATE_NANO
-+#if ENABLE_FEATURE_DATE_NANO && defined(__NR_clock_gettime)
- /* libc has incredibly messy way of doing this,
- * typically requiring -lrt. We just skip all this mess */
- syscall(__NR_clock_gettime, CLOCK_REALTIME, &ts);
-+#elif ENABLE_FEATURE_DATE_NANO && __TIMESIZE == 64
-+ /* Let's only support the 64 suffix syscalls for 64-bit time_t.
-+ * This simplifies the code for us as we don't need to convert
-+ * between 64-bit and 32-bit. We also don't have a way to
-+ * report overflow errors here.
-+ */
-+ syscall(__NR_clock_gettime64, CLOCK_REALTIME, &ts);
- #else
- time(&ts.tv_sec);
- #endif
---
-2.18.2
-
diff --git a/package/busybox/0004-time-Use-64-prefix-syscall-if-we-have-to.patch b/package/busybox/0004-time-Use-64-prefix-syscall-if-we-have-to.patch
deleted file mode 100644
index 4481a82bac..0000000000
--- a/package/busybox/0004-time-Use-64-prefix-syscall-if-we-have-to.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 88732c5593e16ef6177f6e6110132ed69b06d2eb Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@wdc.com>
-Date: Wed, 18 Sep 2019 09:28:50 -0700
-Subject: [PATCH] time: Use 64 prefix syscall if we have to
-
-Some 32-bit architectures no longer have the 32-bit time_t syscalls.
-Instead they have suffixed syscalls that returns a 64-bit time_t. If
-the architecture doesn't have the non-suffixed syscall and is using a
-64-bit time_t let's use the suffixed syscall instead.
-
-This fixes build issues when building for RISC-V 32-bit with 5.1+ kernel
-headers.
-
-If an architecture only supports the suffixed syscalls, but is still
-using a 32-bit time_t report a compilation error. This avoids us have to
-deal with converting between 64-bit and 32-bit values. There are
-currently no architectures where this is the case.
-
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-
-(cherry picked from commit 902d3992922fc8db8495d5fb30a4581711b60c62)
-
-Signed-off-by: Carlos Santos <unixmania@gmail.com>
----
- libbb/time.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/libbb/time.c b/libbb/time.c
-index f9b8da0b3..821f9a24b 100644
---- a/libbb/time.c
-+++ b/libbb/time.c
-@@ -257,7 +257,14 @@ char* FAST_FUNC strftime_YYYYMMDDHHMMSS(char *buf, unsigned len, time_t *tp)
- * typically requiring -lrt. We just skip all this mess */
- static void get_mono(struct timespec *ts)
- {
-+#if defined(__NR_clock_gettime)
- if (syscall(__NR_clock_gettime, CLOCK_MONOTONIC, ts))
-+#elif __TIMESIZE == 64
-+ if (syscall(__NR_clock_gettime64, CLOCK_MONOTONIC, ts))
-+#else
-+# error "We currently don't support architectures without " \
-+ "the __NR_clock_gettime syscall and 32-bit time_t"
-+#endif
- bb_error_msg_and_die("clock_gettime(MONOTONIC) failed");
- }
- unsigned long long FAST_FUNC monotonic_ns(void)
---
-2.18.2
-
diff --git a/package/busybox/0005-runsv-Use-64-prefix-syscall-if-we-have-to.patch b/package/busybox/0005-runsv-Use-64-prefix-syscall-if-we-have-to.patch
deleted file mode 100644
index 0d25a6e72e..0000000000
--- a/package/busybox/0005-runsv-Use-64-prefix-syscall-if-we-have-to.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 8f4b588eb9737c2c0d1b199c7e609d880e0858a8 Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@wdc.com>
-Date: Wed, 18 Sep 2019 09:28:51 -0700
-Subject: [PATCH] runsv: Use 64 prefix syscall if we have to
-
-Some 32-bit architectures no longer have the 32-bit time_t syscalls.
-Instead they have suffixed syscalls that returns a 64-bit time_t. If
-the architecture doesn't have the non-suffixed syscall and is using a
-64-bit time_t let's use the suffixed syscall instead.
-
-This fixes build issues when building for RISC-V 32-bit with 5.1+ kernel
-headers.
-
-If an architecture only supports the suffixed syscalls, but is still
-using a 32-bit time_t report a compilation error. This avoids us have to
-deal with converting between 64-bit and 32-bit values. There are
-currently no architectures where this is the case.
-
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-
-(cherry picked from commit ad27d44ebe950335616f37e36863469dc181b455)
-
-Signed-off-by: Carlos Santos <unixmania@gmail.com>
----
- runit/runsv.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/runit/runsv.c b/runit/runsv.c
-index ccc762d78..737909b0e 100644
---- a/runit/runsv.c
-+++ b/runit/runsv.c
-@@ -55,7 +55,14 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- * typically requiring -lrt. We just skip all this mess */
- static void gettimeofday_ns(struct timespec *ts)
- {
-+#if defined(__NR_clock_gettime)
- syscall(__NR_clock_gettime, CLOCK_REALTIME, ts);
-+#elif __TIMESIZE == 64
-+ syscall(__NR_clock_gettime64, CLOCK_REALTIME, ts);
-+#else
-+# error "We currently don't support architectures without " \
-+ "the __NR_clock_gettime syscall and 32-bit time_t"
-+#endif
- }
- #else
- static void gettimeofday_ns(struct timespec *ts)
---
-2.18.2
-
diff --git a/package/busybox/0006-Remove-syscall-wrappers-around-clock_gettime-closes-.patch b/package/busybox/0006-Remove-syscall-wrappers-around-clock_gettime-closes-.patch
deleted file mode 100644
index 9d95d683f3..0000000000
--- a/package/busybox/0006-Remove-syscall-wrappers-around-clock_gettime-closes-.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-From 07375fc6fd5912f34a36a097dc679f6e0af23f8a Mon Sep 17 00:00:00 2001
-From: Denys Vlasenko <vda.linux@googlemail.com>
-Date: Thu, 24 Oct 2019 16:26:55 +0200
-Subject: [PATCH] Remove syscall wrappers around clock_gettime, closes 12091
-
-12091 "Direct use of __NR_clock_gettime is not time64-safe".
-
-function old new delta
-runsv_main 1698 1712 +14
-startservice 378 383 +5
-get_mono 31 25 -6
-date_main 932 926 -6
-gettimeofday_ns 17 - -17
-------------------------------------------------------------------------------
-(add/remove: 0/1 grow/shrink: 2/2 up/down: 19/-29) Total: -10 bytes
-
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-
-(cherry picked from commit be5a505d771a77c640acc35ceaa470c80e62f954)
-
-Signed-off-by: Carlos Santos <unixmania@gmail.com>
----
- Makefile.flags | 6 ++++--
- coreutils/date.c | 16 +++-------------
- libbb/time.c | 11 +----------
- runit/runsv.c | 11 +----------
- 4 files changed, 9 insertions(+), 35 deletions(-)
-
-diff --git a/Makefile.flags b/Makefile.flags
-index 6f6142cc5..bea464753 100644
---- a/Makefile.flags
-+++ b/Makefile.flags
-@@ -129,10 +129,12 @@ endif
- # fall back to using a temp file:
- CRYPT_AVAILABLE := $(shell echo 'int main(void){return 0;}' >crypttest.c; $(CC) $(CFLAGS) -lcrypt -o /dev/null crypttest.c >/dev/null 2>&1 && echo "y"; rm crypttest.c)
- ifeq ($(CRYPT_AVAILABLE),y)
--LDLIBS += m crypt
-+LDLIBS += m rt crypt
- else
--LDLIBS += m
-+LDLIBS += m rt
- endif
-+# libm may be needed for dc, awk, ntpd
-+# librt may be needed for clock_gettime()
-
- # libpam may use libpthread, libdl and/or libaudit.
- # On some platforms that requires an explicit -lpthread, -ldl, -laudit.
-diff --git a/coreutils/date.c b/coreutils/date.c
-index 1e0a675ca..e479c23a2 100644
---- a/coreutils/date.c
-+++ b/coreutils/date.c
-@@ -33,10 +33,9 @@
- //config: Enable option (-I) to output an ISO-8601 compliant
- //config: date/time string.
- //config:
--//config:# defaults to "no": stat's nanosecond field is a bit non-portable
- //config:config FEATURE_DATE_NANO
- //config: bool "Support %[num]N nanosecond format specifier"
--//config: default n # syscall(__NR_clock_gettime) or syscall(__NR_clock_gettime64)
-+//config: default n # stat's nanosecond field is a bit non-portable
- //config: depends on DATE
- //config: select PLATFORM_LINUX
- //config: help
-@@ -271,17 +270,8 @@ int date_main(int argc UNUSED_PARAM, char **argv)
- */
- #endif
- } else {
--#if ENABLE_FEATURE_DATE_NANO && defined(__NR_clock_gettime)
-- /* libc has incredibly messy way of doing this,
-- * typically requiring -lrt. We just skip all this mess */
-- syscall(__NR_clock_gettime, CLOCK_REALTIME, &ts);
--#elif ENABLE_FEATURE_DATE_NANO && __TIMESIZE == 64
-- /* Let's only support the 64 suffix syscalls for 64-bit time_t.
-- * This simplifies the code for us as we don't need to convert
-- * between 64-bit and 32-bit. We also don't have a way to
-- * report overflow errors here.
-- */
-- syscall(__NR_clock_gettime64, CLOCK_REALTIME, &ts);
-+#if ENABLE_FEATURE_DATE_NANO
-+ clock_gettime(CLOCK_REALTIME, &ts);
- #else
- time(&ts.tv_sec);
- #endif
-diff --git a/libbb/time.c b/libbb/time.c
-index 821f9a24b..1077bfa4f 100644
---- a/libbb/time.c
-+++ b/libbb/time.c
-@@ -253,18 +253,9 @@ char* FAST_FUNC strftime_YYYYMMDDHHMMSS(char *buf, unsigned len, time_t *tp)
- #define CLOCK_MONOTONIC 1
- #endif
-
--/* libc has incredibly messy way of doing this,
-- * typically requiring -lrt. We just skip all this mess */
- static void get_mono(struct timespec *ts)
- {
--#if defined(__NR_clock_gettime)
-- if (syscall(__NR_clock_gettime, CLOCK_MONOTONIC, ts))
--#elif __TIMESIZE == 64
-- if (syscall(__NR_clock_gettime64, CLOCK_MONOTONIC, ts))
--#else
--# error "We currently don't support architectures without " \
-- "the __NR_clock_gettime syscall and 32-bit time_t"
--#endif
-+ if (clock_gettime(CLOCK_MONOTONIC, ts))
- bb_error_msg_and_die("clock_gettime(MONOTONIC) failed");
- }
- unsigned long long FAST_FUNC monotonic_ns(void)
-diff --git a/runit/runsv.c b/runit/runsv.c
-index 737909b0e..36d85101e 100644
---- a/runit/runsv.c
-+++ b/runit/runsv.c
-@@ -51,18 +51,9 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- #if ENABLE_MONOTONIC_SYSCALL
- #include <sys/syscall.h>
-
--/* libc has incredibly messy way of doing this,
-- * typically requiring -lrt. We just skip all this mess */
- static void gettimeofday_ns(struct timespec *ts)
- {
--#if defined(__NR_clock_gettime)
-- syscall(__NR_clock_gettime, CLOCK_REALTIME, ts);
--#elif __TIMESIZE == 64
-- syscall(__NR_clock_gettime64, CLOCK_REALTIME, ts);
--#else
--# error "We currently don't support architectures without " \
-- "the __NR_clock_gettime syscall and 32-bit time_t"
--#endif
-+ clock_gettime(CLOCK_REALTIME, ts);
- }
- #else
- static void gettimeofday_ns(struct timespec *ts)
---
-2.18.2
-
diff --git a/package/busybox/0007-Remove-stime-function-calls.patch b/package/busybox/0007-Remove-stime-function-calls.patch
deleted file mode 100644
index 58e1ced3de..0000000000
--- a/package/busybox/0007-Remove-stime-function-calls.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From 59102e499ac25c4311246d2b9417b3e5830cf851 Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@wdc.com>
-Date: Tue, 19 Nov 2019 13:06:40 +0100
-Subject: [PATCH] Remove stime() function calls
-
-stime() has been deprecated in glibc 2.31 and replaced with
-clock_settime(). Let's replace the stime() function calls with
-clock_settime() in preperation.
-
-function old new delta
-rdate_main 197 224 +27
-clock_settime - 27 +27
-date_main 926 941 +15
-stime 37 - -37
-------------------------------------------------------------------------------
-(add/remove: 2/2 grow/shrink: 2/0 up/down: 69/-37) Total: 32 bytes
-
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-
-(cherry picked from commit d3539be8f27b8cbfdfee460fe08299158f08bcd9)
-
-Signed-off-by: Carlos Santos <unixmania@gmail.com>
----
- coreutils/date.c | 6 +++++-
- libbb/missing_syscalls.c | 8 --------
- util-linux/rdate.c | 8 ++++++--
- 3 files changed, 11 insertions(+), 11 deletions(-)
-
-diff --git a/coreutils/date.c b/coreutils/date.c
-index e479c23a2..77a7d1368 100644
---- a/coreutils/date.c
-+++ b/coreutils/date.c
-@@ -276,6 +276,9 @@ int date_main(int argc UNUSED_PARAM, char **argv)
- time(&ts.tv_sec);
- #endif
- }
-+#if !ENABLE_FEATURE_DATE_NANO
-+ ts.tv_nsec = 0;
-+#endif
- localtime_r(&ts.tv_sec, &tm_time);
-
- /* If date string is given, update tm_time, and maybe set date */
-@@ -298,9 +301,10 @@ int date_main(int argc UNUSED_PARAM, char **argv)
- if (date_str[0] != '@')
- tm_time.tm_isdst = -1;
- ts.tv_sec = validate_tm_time(date_str, &tm_time);
-+ ts.tv_nsec = 0;
-
- /* if setting time, set it */
-- if ((opt & OPT_SET) && stime(&ts.tv_sec) < 0) {
-+ if ((opt & OPT_SET) && clock_settime(CLOCK_REALTIME, &ts) < 0) {
- bb_perror_msg("can't set date");
- }
- }
-diff --git a/libbb/missing_syscalls.c b/libbb/missing_syscalls.c
-index 87cf59b3d..dc40d9155 100644
---- a/libbb/missing_syscalls.c
-+++ b/libbb/missing_syscalls.c
-@@ -15,14 +15,6 @@ pid_t getsid(pid_t pid)
- return syscall(__NR_getsid, pid);
- }
-
--int stime(const time_t *t)
--{
-- struct timeval tv;
-- tv.tv_sec = *t;
-- tv.tv_usec = 0;
-- return settimeofday(&tv, NULL);
--}
--
- int sethostname(const char *name, size_t len)
- {
- return syscall(__NR_sethostname, name, len);
-diff --git a/util-linux/rdate.c b/util-linux/rdate.c
-index 70f829e7f..878375d78 100644
---- a/util-linux/rdate.c
-+++ b/util-linux/rdate.c
-@@ -95,9 +95,13 @@ int rdate_main(int argc UNUSED_PARAM, char **argv)
- if (!(flags & 2)) { /* no -p (-s may be present) */
- if (time(NULL) == remote_time)
- bb_error_msg("current time matches remote time");
-- else
-- if (stime(&remote_time) < 0)
-+ else {
-+ struct timespec ts;
-+ ts.tv_sec = remote_time;
-+ ts.tv_nsec = 0;
-+ if (clock_settime(CLOCK_REALTIME, &ts) < 0)
- bb_perror_msg_and_die("can't set time of day");
-+ }
- }
-
- if (flags != 1) /* not lone -s */
---
-2.18.2
-
diff --git a/package/busybox/busybox.hash b/package/busybox/busybox.hash
index e5b05ae731..cf744ffcda 100644
--- a/package/busybox/busybox.hash
+++ b/package/busybox/busybox.hash
@@ -1,4 +1,4 @@
-# From https://busybox.net/downloads/busybox-1.31.1.tar.bz2.sha256
-sha256 d0f940a72f648943c1f2211e0e3117387c31d765137d92bd8284a3fb9752a998 busybox-1.31.1.tar.bz2
+# From https://busybox.net/downloads/busybox-1.32.0.tar.bz2.sha256
+sha256 c35d87f1d04b2b153d33c275c2632e40d388a88f19a9e71727e0bbbff51fe689 busybox-1.32.0.tar.bz2
# Locally computed
sha256 bbfc9843646d483c334664f651c208b9839626891d8f17604db2146962f43548 LICENSE
diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index 7a1a506963..7862beb790 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -4,7 +4,7 @@
#
################################################################################
-BUSYBOX_VERSION = 1.31.1
+BUSYBOX_VERSION = 1.32.0
BUSYBOX_SITE = http://www.busybox.net/downloads
BUSYBOX_SOURCE = busybox-$(BUSYBOX_VERSION).tar.bz2
BUSYBOX_LICENSE = GPL-2.0
@@ -67,6 +67,7 @@ BUSYBOX_DEPENDENCIES = \
$(if $(BR2_PACKAGE_USBUTILS),usbutils) \
$(if $(BR2_PACKAGE_UTIL_LINUX),util-linux) \
$(if $(BR2_PACKAGE_VIM),vim) \
+ $(if $(BR2_PACKAGE_WATCHDOG),watchdog) \
$(if $(BR2_PACKAGE_WGET),wget) \
$(if $(BR2_PACKAGE_WHOIS),whois)
diff --git a/package/c-capnproto/Config.in b/package/c-capnproto/Config.in
index d1f3236af8..41a59d7a22 100644
--- a/package/c-capnproto/Config.in
+++ b/package/c-capnproto/Config.in
@@ -6,6 +6,8 @@ config BR2_PACKAGE_C_CAPNPROTO
depends on BR2_INSTALL_LIBSTDCPP # capnproto
depends on BR2_TOOLCHAIN_HAS_THREADS # capnproto
depends on BR2_TOOLCHAIN_HAS_ATOMIC # capnproto
+ depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # capnproto
+ depends on BR2_TOOLCHAIN_HAS_UCONTEXT # capnproto
select BR2_PACKAGE_CAPNPROTO
help
A C plugin for Cap'n Proto. Generates the code generator
@@ -14,10 +16,12 @@ config BR2_PACKAGE_C_CAPNPROTO
https://github.com/opensourcerouting/c-capnproto
-comment "c-capnproto needs host and target gcc >= 5 w/ C++14, threads, atomic"
+comment "c-capnproto needs host and target gcc >= 5 w/ C++14, threads, atomic, ucontext and not gcc bug 64735"
depends on BR2_USE_MMU
depends on!BR2_HOST_GCC_AT_LEAST_5 || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \
!BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_HAS_THREADS || \
- !BR2_TOOLCHAIN_HAS_ATOMIC
+ !BR2_TOOLCHAIN_HAS_ATOMIC || \
+ BR2_TOOLCHAIN_HAS_GCC_BUG_64735 || \
+ !BR2_TOOLCHAIN_HAS_UCONTEXT
diff --git a/package/cage/cage.hash b/package/cage/cage.hash
index 3177474960..5cae952d72 100644
--- a/package/cage/cage.hash
+++ b/package/cage/cage.hash
@@ -1,5 +1,5 @@
# Generated locally
-sha256 2f9bc2bd3c61cddb0d3b406754c4906eabf5a5d1aade26eb361dffccff2601e3 cage-6eb693c05b5b34d4ed5ad8234a9f79a14ac8e07d.tar.gz
+sha256 38a3e3968f00cc58fe1d9448e972cfac7d1efa30c48699f09032f264101a55ac cage-0.1.2.1.tar.gz
# Hashes for license files:
sha256 e117104073335dbaf78596fb1bedf89dda63c71f60f0b665947b2d369c77ecee LICENSE
diff --git a/package/cage/cage.mk b/package/cage/cage.mk
index 3d259912cc..9fc01d36c1 100644
--- a/package/cage/cage.mk
+++ b/package/cage/cage.mk
@@ -4,8 +4,8 @@
#
################################################################################
-CAGE_VERSION = 6eb693c05b5b34d4ed5ad8234a9f79a14ac8e07d
-CAGE_SITE = $(call github,Hjdskes,cage,$(CAGE_VERSION))
+CAGE_VERSION = 0.1.2.1
+CAGE_SITE = https://github.com/Hjdskes/cage/releases/download/v$(CAGE_VERSION)
CAGE_LICENSE = MIT
CAGE_LICENSE_FILES = LICENSE
CAGE_DEPENDENCIES = host-pkgconf wlroots
diff --git a/package/capnproto/Config.in b/package/capnproto/Config.in
index cd9cb647af..943ba9de29 100644
--- a/package/capnproto/Config.in
+++ b/package/capnproto/Config.in
@@ -6,6 +6,8 @@ config BR2_PACKAGE_CAPNPROTO
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_TOOLCHAIN_HAS_ATOMIC
+ depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735
+ depends on BR2_TOOLCHAIN_HAS_UCONTEXT
help
Cap'n Proto is an insanely fast data interchange format
and capability-based RPC system. Think JSON, except
@@ -15,10 +17,12 @@ config BR2_PACKAGE_CAPNPROTO
https://capnproto.org/index.html
-comment "capnproto needs host and target gcc >= 5 w/ C++14, threads, atomic"
+comment "capnproto needs host and target gcc >= 5 w/ C++14, threads, atomic, ucontext and not gcc bug 64735"
depends on BR2_USE_MMU
depends on !BR2_HOST_GCC_AT_LEAST_5 || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \
!BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_HAS_THREADS || \
- !BR2_TOOLCHAIN_HAS_ATOMIC
+ !BR2_TOOLCHAIN_HAS_ATOMIC || \
+ BR2_TOOLCHAIN_HAS_GCC_BUG_64735 || \
+ !BR2_TOOLCHAIN_HAS_UCONTEXT
diff --git a/package/capnproto/capnproto.hash b/package/capnproto/capnproto.hash
index 98467f8634..d4500e0aad 100644
--- a/package/capnproto/capnproto.hash
+++ b/package/capnproto/capnproto.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 76c7114a3d142ad08b7208b3964a26e72a6320ee81331d3f0b87569fc9c47a28 capnproto-0.7.0.tar.gz
+sha256 6d8b43a7ec2a764b4dfe4139a7cdd070ad9057f106898050d9f4db3754b98820 capnproto-0.8.0.tar.gz
sha256 9564998c8d7f270a61a8b89869a8d17a9d5e3783b64027788b5e339ec8479e10 LICENSE
diff --git a/package/capnproto/capnproto.mk b/package/capnproto/capnproto.mk
index 2afeb8ffa3..2e7b095cbf 100644
--- a/package/capnproto/capnproto.mk
+++ b/package/capnproto/capnproto.mk
@@ -4,7 +4,7 @@
#
################################################################################
-CAPNPROTO_VERSION = 0.7.0
+CAPNPROTO_VERSION = 0.8.0
CAPNPROTO_SITE = $(call github,capnproto,capnproto,v$(CAPNPROTO_VERSION))
CAPNPROTO_LICENSE = MIT
CAPNPROTO_LICENSE_FILES = LICENSE
diff --git a/package/collectd/Config.in b/package/collectd/Config.in
index ddf64015bd..9723b1ae1c 100644
--- a/package/collectd/Config.in
+++ b/package/collectd/Config.in
@@ -386,6 +386,17 @@ config BR2_PACKAGE_COLLECTD_NTPD
help
Queries an NTP server and extracts parameters.
+config BR2_PACKAGE_COLLECTD_NUT
+ bool "nut"
+ depends on BR2_INSTALL_LIBSTDCPP
+ select BR2_PACKAGE_NUT
+ help
+ The NUT plugin collects uninterruptible power supply (UPS)
+ statistics using the Network UPS Tools (NUT).
+
+comment "nut needs a toolchain w/ C++"
+ depends on !BR2_INSTALL_LIBSTDCPP
+
config BR2_PACKAGE_COLLECTD_OLSRD
bool "olsrd"
help
diff --git a/package/collectd/collectd.mk b/package/collectd/collectd.mk
index 25ffaa7468..ecca50840c 100644
--- a/package/collectd/collectd.mk
+++ b/package/collectd/collectd.mk
@@ -18,7 +18,7 @@ COLLECTD_PLUGINS_DISABLE = \
apple_sensors aquaero ascent barometer dbi dpdkstat email \
gmond hddtemp intel_rdt ipmi java lpar \
madwifi mbmon mic multimeter netapp notify_desktop numa \
- nut oracle perl pf pinba powerdns python routeros \
+ oracle perl pf pinba powerdns python routeros \
rrdcached sigrok tape target_v5upgrade teamspeak2 ted \
tokyotyrant turbostat uuid varnish virt vserver write_kafka \
write_mongodb xencpu xmms zfs_arc zone
@@ -106,6 +106,7 @@ COLLECTD_CONF_OPTS += \
$(if $(BR2_PACKAGE_COLLECTD_NOTIFY_EMAIL),--enable-notify_email,--disable-notify_email) \
$(if $(BR2_PACKAGE_COLLECTD_NOTIFY_NAGIOS),--enable-notify_nagios,--disable-notify_nagios) \
$(if $(BR2_PACKAGE_COLLECTD_NTPD),--enable-ntpd,--disable-ntpd) \
+ $(if $(BR2_PACKAGE_COLLECTD_NUT),--enable-nut,--disable-nut) \
$(if $(BR2_PACKAGE_COLLECTD_OLSRD),--enable-olsrd,--disable-olsrd) \
$(if $(BR2_PACKAGE_COLLECTD_ONEWIRE),--enable-onewire,--disable-onewire) \
$(if $(BR2_PACKAGE_COLLECTD_OPENLDAP),--enable-openldap,--disable-openldap) \
@@ -174,6 +175,7 @@ COLLECTD_DEPENDENCIES = \
$(if $(BR2_PACKAGE_COLLECTD_NETLINK),libmnl) \
$(if $(BR2_PACKAGE_COLLECTD_NGINX),libcurl) \
$(if $(BR2_PACKAGE_COLLECTD_NOTIFY_EMAIL),libesmtp) \
+ $(if $(BR2_PACKAGE_COLLECTD_NUT),nut) \
$(if $(BR2_PACKAGE_COLLECTD_ONEWIRE),owfs) \
$(if $(BR2_PACKAGE_COLLECTD_OPENLDAP),openldap) \
$(if $(BR2_PACKAGE_COLLECTD_PING),liboping) \
diff --git a/package/docker-cli/docker-cli.mk b/package/docker-cli/docker-cli.mk
index 766c984f0b..8607425efa 100644
--- a/package/docker-cli/docker-cli.mk
+++ b/package/docker-cli/docker-cli.mk
@@ -6,7 +6,6 @@
DOCKER_CLI_VERSION = 19.03.11
DOCKER_CLI_SITE = $(call github,docker,cli,v$(DOCKER_CLI_VERSION))
-DOCKER_CLI_WORKSPACE = gopath
DOCKER_CLI_LICENSE = Apache-2.0
DOCKER_CLI_LICENSE_FILES = LICENSE
@@ -15,10 +14,11 @@ DOCKER_CLI_DEPENDENCIES = host-pkgconf
DOCKER_CLI_TAGS = autogen
DOCKER_CLI_BUILD_TARGETS = cmd/docker
+DOCKER_CLI_GOMOD = github.com/docker/cli
DOCKER_CLI_LDFLAGS = \
- -X github.com/docker/cli/cli/version.GitCommit=$(DOCKER_CLI_VERSION) \
- -X github.com/docker/cli/cli/version.Version=$(DOCKER_CLI_VERSION)
+ -X $(DOCKER_CLI_GOMOD)/cli/version.GitCommit=$(DOCKER_CLI_VERSION) \
+ -X $(DOCKER_CLI_GOMOD)/cli/version.Version=$(DOCKER_CLI_VERSION)
ifeq ($(BR2_PACKAGE_DOCKER_CLI_STATIC),y)
DOCKER_CLI_LDFLAGS += -extldflags '-static'
diff --git a/package/docker-containerd/docker-containerd.mk b/package/docker-containerd/docker-containerd.mk
index 5a44489065..904fa424b8 100644
--- a/package/docker-containerd/docker-containerd.mk
+++ b/package/docker-containerd/docker-containerd.mk
@@ -9,7 +9,7 @@ DOCKER_CONTAINERD_SITE = $(call github,containerd,containerd,v$(DOCKER_CONTAINER
DOCKER_CONTAINERD_LICENSE = Apache-2.0
DOCKER_CONTAINERD_LICENSE_FILES = LICENSE
-DOCKER_CONTAINERD_WORKSPACE = vendor
+DOCKER_CONTAINERD_GOMOD = github.com/containerd/containerd
DOCKER_CONTAINERD_LDFLAGS = \
-X github.com/docker/containerd.GitCommit=$(DOCKER_CONTAINERD_VERSION)
diff --git a/package/docker-engine/docker-engine.mk b/package/docker-engine/docker-engine.mk
index 6bb382f5a7..2119a883bc 100644
--- a/package/docker-engine/docker-engine.mk
+++ b/package/docker-engine/docker-engine.mk
@@ -11,7 +11,7 @@ DOCKER_ENGINE_LICENSE = Apache-2.0
DOCKER_ENGINE_LICENSE_FILES = LICENSE
DOCKER_ENGINE_DEPENDENCIES = host-pkgconf
-DOCKER_ENGINE_SRC_SUBDIR = github.com/docker/docker
+DOCKER_ENGINE_GOMOD = github.com/docker/docker
DOCKER_ENGINE_LDFLAGS = \
-X main.GitCommit=$(DOCKER_ENGINE_VERSION) \
diff --git a/package/docker-proxy/docker-proxy.mk b/package/docker-proxy/docker-proxy.mk
index 8843266c30..6600b24ed9 100644
--- a/package/docker-proxy/docker-proxy.mk
+++ b/package/docker-proxy/docker-proxy.mk
@@ -12,8 +12,6 @@ DOCKER_PROXY_LICENSE_FILES = LICENSE
DOCKER_PROXY_DEPENDENCIES = host-pkgconf
-DOCKER_PROXY_WORKSPACE = gopath
-
DOCKER_PROXY_BUILD_TARGETS = cmd/proxy
define DOCKER_PROXY_INSTALL_TARGET_CMDS
diff --git a/package/easydbus/Config.in b/package/easydbus/Config.in
index 1fe8689ccd..5f2f3a22be 100644
--- a/package/easydbus/Config.in
+++ b/package/easydbus/Config.in
@@ -3,12 +3,13 @@ config BR2_PACKAGE_EASYDBUS
depends on BR2_USE_WCHAR # libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
depends on BR2_USE_MMU # libglib2
+ depends on !BR2_PACKAGE_LUA_5_4
select BR2_PACKAGE_LIBGLIB2
help
Easy to use DBus library for Lua.
https://github.com/mniestroj/easydbus
-comment "easydbus needs a toolchain w/ wchar, threads"
+comment "easydbus needs a toolchain w/ wchar, threads, Lua <= 5.3"
depends on BR2_USE_MMU
- depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_PACKAGE_LUA_5_4
diff --git a/package/easyframes/Config.in b/package/easyframes/Config.in
new file mode 100644
index 0000000000..b2c45496b4
--- /dev/null
+++ b/package/easyframes/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_EASYFRAMES
+ bool "easyframes"
+ select BR2_PACKAGE_LIBPCAP
+ help
+ This is a small and simple command-line tool for network
+ testing. The tool makes it simple to compose a frame,
+ inject and express what and where frames are expected to be
+ received.
+
+ https://github.com/microchip-ung/easyframes
diff --git a/package/easyframes/easyframes.hash b/package/easyframes/easyframes.hash
new file mode 100644
index 0000000000..0f16e0caa1
--- /dev/null
+++ b/package/easyframes/easyframes.hash
@@ -0,0 +1,3 @@
+# locally calculated
+sha256 3c0449b3129c29b5ecf67b689f1a75ffc65fde3c5f62811e2f0439ce4f4af392 easyframes-0.3.tar.gz
+sha256 24f37598e822a1411fb7164ce7eb3ef120aea8279016399abc282c2381ce3f57 COPYING
diff --git a/package/easyframes/easyframes.mk b/package/easyframes/easyframes.mk
new file mode 100644
index 0000000000..2c209433d2
--- /dev/null
+++ b/package/easyframes/easyframes.mk
@@ -0,0 +1,13 @@
+################################################################################
+#
+# easyframes
+#
+################################################################################
+
+EASYFRAMES_VERSION = 0.3
+EASYFRAMES_SITE = $(call github,microchip-ung,easyframes,v$(EASYFRAMES_VERSION))
+EASYFRAMES_DEPENDENCIES = libpcap
+EASYFRAMES_LICENSE = MIT
+EASYFRAMES_LICENSE_FILES = COPYING
+
+$(eval $(cmake-package))
diff --git a/package/eudev/Config.in b/package/eudev/Config.in
index b0ce76171a..0e5bd0cee9 100644
--- a/package/eudev/Config.in
+++ b/package/eudev/Config.in
@@ -7,6 +7,7 @@ config BR2_PACKAGE_EUDEV
select BR2_PACKAGE_HAS_UDEV
select BR2_PACKAGE_UDEV_GENTOO_SCRIPTS if BR2_INIT_OPENRC
select BR2_PACKAGE_UTIL_LINUX
+ select BR2_PACKAGE_UTIL_LINUX_LIBS
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_KMOD
help
diff --git a/package/eudev/eudev.mk b/package/eudev/eudev.mk
index 8b677e76b6..d4133a5ace 100644
--- a/package/eudev/eudev.mk
+++ b/package/eudev/eudev.mk
@@ -18,7 +18,8 @@ EUDEV_CONF_OPTS = \
--enable-kmod \
--enable-blkid
-EUDEV_DEPENDENCIES = host-gperf host-pkgconf util-linux kmod
+# eudev requires only the util-linux libraries at build time
+EUDEV_DEPENDENCIES = host-gperf host-pkgconf util-linux-libs kmod
EUDEV_PROVIDES = udev
ifeq ($(BR2_ROOTFS_MERGED_USR),)
@@ -54,13 +55,6 @@ define EUDEV_INSTALL_INIT_OPENRC
@:
endef
-# Required by default rules for input devices
-define EUDEV_USERS
- - - input -1 * - - - Input device group
- - - render -1 * - - - DRI rendering nodes
- - - kvm -1 * - - - kvm nodes
-endef
-
HOST_EUDEV_DEPENDENCIES = host-gperf host-pkgconf
HOST_EUDEV_SYSCONFDIR = $(if $(BR2_PACKAGE_SYSTEMD),/usr/lib,/etc)
diff --git a/package/exfatprogs/exfatprogs.hash b/package/exfatprogs/exfatprogs.hash
index 6beb2777c2..d251bce5e6 100644
--- a/package/exfatprogs/exfatprogs.hash
+++ b/package/exfatprogs/exfatprogs.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 e73863d2f27901834e0dae678ecbb3d899e206d6036cca27d9b24b9479487f65 exfatprogs-1.0.3.tar.gz
+sha256 982883f208a694962dff0654f4421a1a726d7d71068a0c84b93a10688179a186 exfatprogs-1.0.4.tar.gz
sha256 576540abf5e95029ad4ad90e32071385a5e95b2c30708c706116f3eb87b9a3de COPYING
diff --git a/package/exfatprogs/exfatprogs.mk b/package/exfatprogs/exfatprogs.mk
index a78cde3373..56db82cd8a 100644
--- a/package/exfatprogs/exfatprogs.mk
+++ b/package/exfatprogs/exfatprogs.mk
@@ -4,7 +4,7 @@
#
################################################################################
-EXFATPROGS_VERSION = 1.0.3
+EXFATPROGS_VERSION = 1.0.4
EXFATPROGS_SITE = https://github.com/exfatprogs/exfatprogs/releases/download/$(EXFATPROGS_VERSION)
EXFATPROGS_LICENSE = GPL-2.0+
EXFATPROGS_LICENSE_FILES = COPYING
diff --git a/package/freeswitch/Config.in b/package/freeswitch/Config.in
index bd961314e7..fc8b4bf7e7 100644
--- a/package/freeswitch/Config.in
+++ b/package/freeswitch/Config.in
@@ -16,6 +16,8 @@ config BR2_PACKAGE_FREESWITCH
select BR2_PACKAGE_OPENCV_LIB_OBJDETECT if BR2_PACKAGE_OPENCV
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_PCRE
+ select BR2_PACKAGE_SOFIA_SIP
+ select BR2_PACKAGE_SPANDSP
select BR2_PACKAGE_SPEEX
select BR2_PACKAGE_SPEEXDSP
select BR2_PACKAGE_SQLITE
diff --git a/package/freeswitch/freeswitch.hash b/package/freeswitch/freeswitch.hash
index de6cb6462c..d95e05c0b1 100644
--- a/package/freeswitch/freeswitch.hash
+++ b/package/freeswitch/freeswitch.hash
@@ -1,9 +1,5 @@
-# From https://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.3.-release.tar.xz.md5
-md5 c7d570da3a6fc66c1a286a105680dabf freeswitch-1.10.3.-release.tar.xz
-# From https://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.3.-release.tar.xz.sha1
-sha1 98139cda8054ec840611c6fc3a585a5c5565ae4d freeswitch-1.10.3.-release.tar.xz
-# From https://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.3.-release.tar.xz.sha256
-sha256 2d7db07a64ee2f19f9b6e3a4ce76fa42e0fe46c29d95edf1b690a3df3729f307 freeswitch-1.10.3.-release.tar.xz
+# From https://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.5.-release.tar.xz.sha256
+sha256 3e26600767a82946eca94af2c8f14712783aa83db5fb1cc57585f544aecce327 freeswitch-1.10.5.-release.tar.xz
# Locally computed
sha256 75c933202f40939cdc3827fce20a1efdaa38291e2b5a65d234eb16e2cffda66a COPYING
sha256 c3e3388768dae8bf4edcc4108f95be815b8a05c0b0aef6e4c3d8df81affdfa34 docs/OPENH264_BINARY_LICENSE.txt
@@ -12,8 +8,5 @@ sha256 1eefb2ea1db0af7729a9d8a27d7c65d8a37ab185393f935b029aac6828ce315a libs/a
sha256 8267348d5af1262c11d1a08de2f5afc77457755f1ac658627dd9acf71011d615 libs/libvpx/LICENSE
sha256 2b2cc1180c7e6988328ad2033b04b80117419db9c4c584918bbb3cfec7e9364f libs/libyuv/LICENSE
sha256 7d72a8aee2c4b1a084200487992a5d86f5df6b535727a14c1874918e99d24600 libs/libzrtp/src/zrtp_legal.c
-sha256 e1c0890440efe31b6cd2ee2abf895eb917c787799f079133f5809414d90d5d60 libs/sofia-sip/COPYING
-sha256 b402ae58cf355b33be8fa023f704a039e3d41ecaccd2bbcda43ca31d703e4556 libs/sofia-sip/COPYRIGHTS
-sha256 366576cb0b869cd9e95a4882878607314650488ac635e5df0692180382e9666a libs/spandsp/COPYING
sha256 8e19d42a1eec9561f3f347253ddf2e385c55f392f025bb0fd41b88dbf38db5ae libs/srtp/LICENSE
sha256 ab00a482b6a3902e40211b43c5d0441962ea99b6cc7c25c0f243fa270b78d482 src/mod/codecs/mod_isac/LICENSE
diff --git a/package/freeswitch/freeswitch.mk b/package/freeswitch/freeswitch.mk
index 79467ed618..fe10bc1fa1 100644
--- a/package/freeswitch/freeswitch.mk
+++ b/package/freeswitch/freeswitch.mk
@@ -4,7 +4,7 @@
#
################################################################################
-FREESWITCH_VERSION = 1.10.3
+FREESWITCH_VERSION = 1.10.5
FREESWITCH_SOURCE = freeswitch-$(FREESWITCH_VERSION).-release.tar.xz
FREESWITCH_SITE = https://files.freeswitch.org/freeswitch-releases
# External modules need headers/libs from staging
@@ -12,17 +12,12 @@ FREESWITCH_INSTALL_STAGING = YES
FREESWITCH_LICENSE = MPL-1.1, \
GPL-3.0+ with font exception (fonts), \
Apache-2.0 (apr, apr-util), \
- LGPL-2.0+ (sofia-sip), \
- LGPL-2.1, GPL-2.0 (spandsp), \
BSD-3-Clause (libsrtp)
FREESWITCH_LICENSE_FILES = \
COPYING \
libs/apr/LICENSE \
libs/apr-util/LICENSE \
- libs/sofia-sip/COPYING \
- libs/sofia-sip/COPYRIGHTS \
- libs/spandsp/COPYING \
libs/srtp/LICENSE
# required dependencies
@@ -32,6 +27,8 @@ FREESWITCH_DEPENDENCIES = \
libcurl \
openssl \
pcre \
+ spandsp \
+ sofia-sip \
speex \
sqlite \
tiff \
diff --git a/package/frr/Config.in b/package/frr/Config.in
new file mode 100644
index 0000000000..911913292f
--- /dev/null
+++ b/package/frr/Config.in
@@ -0,0 +1,25 @@
+config BR2_PACKAGE_FRR
+ bool "frr"
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_STATIC_LIBS # libyang
+ depends on BR2_USE_MMU # fork()
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c
+ select BR2_PACKAGE_BASH
+ select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
+ select BR2_PACKAGE_C_ARES
+ select BR2_PACKAGE_LIBYANG
+ select BR2_PACKAGE_LIBNL
+ select BR2_PACKAGE_READLINE
+ select BR2_PACKAGE_JSON_C
+ help
+ The FRRouting Protocol Suite.
+
+ FRR is free software that implements and manages various
+ IPv4 and IPv6 routing protocols.
+
+ https://frrouting.org
+
+comment "frr needs a toolchain w/ threads, dynamic library"
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4
+ depends on BR2_USE_MMU
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
diff --git a/package/frr/S50frr b/package/frr/S50frr
new file mode 100644
index 0000000000..0c128353e9
--- /dev/null
+++ b/package/frr/S50frr
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+DAEMON="frr"
+
+[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
+
+start() {
+ install -m 755 -o frr -g frr -d /var/run/frr
+ install -m 755 -o frr -g frr -d /var/log/frr
+
+ printf 'Starting %s: ' "$DAEMON"
+ /usr/sbin/frrinit.sh start
+ status=$?
+ if [ "$status" -eq 0 ]; then
+ echo "OK"
+ else
+ echo "FAIL"
+ fi
+ return "$status"
+}
+
+stop() {
+ printf 'Stopping %s: ' "$DAEMON"
+ /usr/sbin/frrinit.sh stop
+ status=$?
+ if [ "$status" -eq 0 ]; then
+ echo "OK"
+ else
+ echo "FAIL"
+ fi
+ return "$status"
+}
+
+restart() {
+ stop
+ sleep 1
+ start
+}
+
+case "$1" in
+ start|stop|restart)
+ "$1";;
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+ exit 1
+esac
diff --git a/package/frr/frr.hash b/package/frr/frr.hash
new file mode 100644
index 0000000000..1c8c27ec4e
--- /dev/null
+++ b/package/frr/frr.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 3c8204fda1c9b178d8446562579bbbc49d134b98f3ad02aa56f68724a2f9e40a frr-7.4.tar.gz
+sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
diff --git a/package/frr/frr.mk b/package/frr/frr.mk
new file mode 100644
index 0000000000..a77afb52e4
--- /dev/null
+++ b/package/frr/frr.mk
@@ -0,0 +1,66 @@
+################################################################################
+#
+# frr
+#
+################################################################################
+
+FRR_VERSION = 7.4
+FRR_SITE = $(call github,FRRouting,frr,frr-$(FRR_VERSION))
+FRR_LICENSE = GPL-2.0
+FRR_LICENSE_FILES = COPYING
+FRR_AUTORECONF = YES
+
+FRR_DEPENDENCIES = host-frr readline json-c \
+ libyang libnl c-ares
+
+HOST_FRR_DEPENDENCIES = host-flex host-bison host-python3
+
+FRR_CONF_OPTS = --with-clippy=$(HOST_DIR)/bin/clippy \
+ --sysconfdir=/etc/frr \
+ --localstatedir=/var/run/frr \
+ --with-moduledir=/usr/lib/frr/modules \
+ --enable-configfile-mask=0640 \
+ --enable-logfile-mask=0640 \
+ --enable-multipath=256 \
+ --disable-ospfclient \
+ --enable-shell-access \
+ --enable-user=frr \
+ --enable-group=frr \
+ --enable-vty-group=frrvty \
+ --disable-capabilities \
+ --enable-fpm
+
+HOST_FRR_CONF_OPTS = --enable-clippy-only
+
+define HOST_FRR_INSTALL_CMDS
+ $(INSTALL) -D -m 0755 $(@D)/lib/clippy $(HOST_DIR)/bin/clippy
+endef
+
+define FRR_INSTALL_CONFIG_FILES
+ $(foreach f,daemons daemons.conf frr.conf vtysh.conf support_bundle_commands.conf,\
+ $(INSTALL) -D -m 0640 $(@D)/tools/etc/frr/$(f) \
+ $(TARGET_DIR)/etc/frr/$(f)
+ )
+ $(RM) $(TARGET_DIR)/etc/frr/*.sample
+endef
+FRR_POST_INSTALL_TARGET_HOOKS += FRR_INSTALL_CONFIG_FILES
+
+define FRR_PERMISSIONS
+ /etc/frr/daemons f 640 frr frr - - - - -
+ /etc/frr/daemons.conf f 640 frr frr - - - - -
+ /etc/frr/frr.conf f 640 frr frr - - - - -
+ /etc/frr/vtysh.conf f 640 frr frrvty - - - - -
+ /etc/frr/support_bundle_commands.conf f 640 frr frr
+endef
+
+define FRR_USERS
+ frr -1 frr -1 * /var/run/frr - frrvty FRR user priv
+endef
+
+define FRR_INSTALL_INIT_SYSV
+ $(INSTALL) -D -m 755 $(FRR_PKGDIR)/S50frr \
+ $(TARGET_DIR)/etc/init.d/S50frr
+endef
+
+$(eval $(autotools-package))
+$(eval $(host-autotools-package))
diff --git a/package/gdb/8.1.1/0006-Move-is_regular_file-from-common-utils.c-to-filestuf.patch b/package/gdb/8.1.1/0006-Move-is_regular_file-from-common-utils.c-to-filestuf.patch
deleted file mode 100644
index fa1647495f..0000000000
--- a/package/gdb/8.1.1/0006-Move-is_regular_file-from-common-utils.c-to-filestuf.patch
+++ /dev/null
@@ -1,172 +0,0 @@
-From 083849deeeec2854b2657b46380273ee13f4fa1b Mon Sep 17 00:00:00 2001
-From: Sergio Durigan Junior <sergiodj@redhat.com>
-Date: Wed, 12 Sep 2018 13:16:02 -0400
-Subject: [PATCH] Move 'is_regular_file' from common-utils.c to filestuff.c
-
-There is no reason for 'is_regular_file' to be in common-utils.c; it
-belongs to 'filestuff.c'. This commit moves the function definition
-and its prototype to the appropriate files.
-
-The motivation behind this move is a failure that happens on certain
-cross-compilation environments when compiling the IPA library, due to
-the way gnulib probes the need for a 'stat' call replacement. Because
-configure checks when cross-compiling are more limited, gnulib decides
-that it needs to substitute the 'stat' calls its own 'rpl_stat';
-however, the IPA library doesn't link with gnulib, which leads to an
-error when compiling 'common-utils.c':
-
- ...
- /opt/x86-core2--musl--bleeding-edge-2018.09-1/bin/i686-buildroot-linux-musl-g++ -shared -fPIC -Wl,--soname=libinproctrace.so -Wl,--no-undefined -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -I. -I. -I./../common -I./../regformats -I./.. -I./../../include -I./../gnulib/import -Ibuild-gnulib-gdbserver/import -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-narrowing -Wno-error=maybe-uninitialized -DGDBSERVER \
- -Wl,--dynamic-list=./proc-service.list -o libinproctrace.so ax-ipa.o common-utils-ipa.o errors-ipa.o format-ipa.o print-utils-ipa.o regcache-ipa.o remote-utils-ipa.o rsp-low-ipa.o tdesc-ipa.o tracepoint-ipa.o utils-ipa.o vec-ipa.o linux-i386-ipa.o linux-x86-tdesc-ipa.o arch/i386-ipa.o -ldl -pthread
- /opt/x86-core2--musl--bleeding-edge-2018.09-1/lib/gcc/i686-buildroot-linux-musl/8.2.0/../../../../i686-buildroot-linux-musl/bin/ld: common-utils-ipa.o: in function `is_regular_file(char const*, int*)':
- common-utils.c:(.text+0x695): undefined reference to `rpl_stat'
- collect2: error: ld returned 1 exit status
- Makefile:413: recipe for target 'libinproctrace.so' failed
- make[1]: *** [libinproctrace.so] Error 1
- ...
-
-More details can also be found at:
-
- https://sourceware.org/ml/gdb-patches/2018-09/msg00304.html
-
-The most simple fix for this problem is to move 'is_regular_file' to
-'filestuff.c', which is not used by IPA. This ends up making the
-files more logically organized as well, since 'is_regular_file' is a
-file operation.
-
-No regressions found.
-
-gdb/ChangeLog:
-2018-09-12 Sergio Durigan Junior <sergiodj@redhat.com>
-
- * common/common-utils.c: Don't include '<sys/stat.h>'.
- (is_regular_file): Move to...
- * common/filestuff.c (is_regular_file): ... here.
- * common/common-utils.h (is_regular_file): Move to...
- * common/filestuff.h (is_regular_file): ... here.
-
-(cherry picked from commit 3c025cfe5efc44eb4dfb03b53dca28e75096dd1e)
-[Romain: backport to gdb 8.1 and remove ChangeLog enty]
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- gdb/common/common-utils.c | 30 ------------------------------
- gdb/common/common-utils.h | 5 -----
- gdb/common/filestuff.c | 31 +++++++++++++++++++++++++++++++
- gdb/common/filestuff.h | 5 +++++
- 4 files changed, 36 insertions(+), 35 deletions(-)
-
-diff --git a/gdb/common/common-utils.c b/gdb/common/common-utils.c
-index 80de826ba78..90a06390141 100644
---- a/gdb/common/common-utils.c
-+++ b/gdb/common/common-utils.c
-@@ -20,7 +20,6 @@
- #include "common-defs.h"
- #include "common-utils.h"
- #include "host-defs.h"
--#include <sys/stat.h>
- #include <ctype.h>
-
- /* The xmalloc() (libiberty.h) family of memory management routines.
-@@ -411,32 +410,3 @@ stringify_argv (const std::vector<char *> &args)
- }
-
- /* See common/common-utils.h. */
--
--bool
--is_regular_file (const char *name, int *errno_ptr)
--{
-- struct stat st;
-- const int status = stat (name, &st);
--
-- /* Stat should never fail except when the file does not exist.
-- If stat fails, analyze the source of error and return true
-- unless the file does not exist, to avoid returning false results
-- on obscure systems where stat does not work as expected. */
--
-- if (status != 0)
-- {
-- if (errno != ENOENT)
-- return true;
-- *errno_ptr = ENOENT;
-- return false;
-- }
--
-- if (S_ISREG (st.st_mode))
-- return true;
--
-- if (S_ISDIR (st.st_mode))
-- *errno_ptr = EISDIR;
-- else
-- *errno_ptr = EINVAL;
-- return false;
--}
-diff --git a/gdb/common/common-utils.h b/gdb/common/common-utils.h
-index 5408c354693..2320318de74 100644
---- a/gdb/common/common-utils.h
-+++ b/gdb/common/common-utils.h
-@@ -146,9 +146,4 @@ in_inclusive_range (T value, T low, T high)
- return value >= low && value <= high;
- }
-
--/* Return true if the file NAME exists and is a regular file.
-- If the result is false then *ERRNO_PTR is set to a useful value assuming
-- we're expecting a regular file. */
--extern bool is_regular_file (const char *name, int *errno_ptr);
--
- #endif
-diff --git a/gdb/common/filestuff.c b/gdb/common/filestuff.c
-index f5a754ffa66..fa10165a7ca 100644
---- a/gdb/common/filestuff.c
-+++ b/gdb/common/filestuff.c
-@@ -417,3 +417,34 @@ make_cleanup_close (int fd)
- *saved_fd = fd;
- return make_cleanup_dtor (do_close_cleanup, saved_fd, xfree);
- }
-+
-+/* See common/filestuff.h. */
-+
-+bool
-+is_regular_file (const char *name, int *errno_ptr)
-+{
-+ struct stat st;
-+ const int status = stat (name, &st);
-+
-+ /* Stat should never fail except when the file does not exist.
-+ If stat fails, analyze the source of error and return true
-+ unless the file does not exist, to avoid returning false results
-+ on obscure systems where stat does not work as expected. */
-+
-+ if (status != 0)
-+ {
-+ if (errno != ENOENT)
-+ return true;
-+ *errno_ptr = ENOENT;
-+ return false;
-+ }
-+
-+ if (S_ISREG (st.st_mode))
-+ return true;
-+
-+ if (S_ISDIR (st.st_mode))
-+ *errno_ptr = EISDIR;
-+ else
-+ *errno_ptr = EINVAL;
-+ return false;
-+}
-diff --git a/gdb/common/filestuff.h b/gdb/common/filestuff.h
-index 92a2a5f4c70..cc6dd861379 100644
---- a/gdb/common/filestuff.h
-+++ b/gdb/common/filestuff.h
-@@ -84,4 +84,9 @@ extern int gdb_pipe_cloexec (int filedes[2]);
-
- extern struct cleanup *make_cleanup_close (int fd);
-
-+/* Return true if the file NAME exists and is a regular file.
-+ If the result is false then *ERRNO_PTR is set to a useful value assuming
-+ we're expecting a regular file. */
-+extern bool is_regular_file (const char *name, int *errno_ptr);
-+
- #endif /* FILESTUFF_H */
---
-2.14.4
-
diff --git a/package/gdb/8.1.1/0007-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-gdb_wait-h.patch b/package/gdb/8.1.1/0007-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-gdb_wait-h.patch
deleted file mode 100644
index 1e85d9314c..0000000000
--- a/package/gdb/8.1.1/0007-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-gdb_wait-h.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 5a6c3296a7a90694ad4042f6256f3da6d4fa4ee8 Mon Sep 17 00:00:00 2001
-From: James Clarke <jrtc27@jrtc27.com>
-Date: Fri, 19 Jan 2018 17:22:49 +0000
-Subject: [PATCH] gdb: Fix ia64 defining TRAP_HWBKPT before including
- gdb_wait.h
-
-On ia64, gdb_wait.h eventually includes siginfo-consts-arch.h, which
-contains an enum with TRAP_HWBKPT, along with a #define. Thus we cannot
-define TRAP_HWBKPT to 4 beforehand, and so gdb_wait.h must be included
-earlier; include it from linux-ptrace.h so it can never come afterwards.
-
-gdb/ChangeLog:
-
- * nat/linux-ptrace.c: Remove unnecessary reinclusion of
- gdb_ptrace.h, and move including gdb_wait.h ...
- * nat/linux-ptrace.h: ... to here.
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-[Retrieved (and updated to remove ChangeLog update) from:
-https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=5a6c3296a7a90694ad4042f6256f3da6d4fa4ee8]
----
- gdb/ChangeLog | 6 ++++++
- gdb/nat/linux-ptrace.c | 2 --
- gdb/nat/linux-ptrace.h | 1 +
- 3 files changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c
-index 5c4ddc9..1f21ef0 100644
---- a/gdb/nat/linux-ptrace.c
-+++ b/gdb/nat/linux-ptrace.c
-@@ -21,8 +21,6 @@
- #include "linux-procfs.h"
- #include "linux-waitpid.h"
- #include "buffer.h"
--#include "gdb_wait.h"
--#include "gdb_ptrace.h"
- #ifdef HAVE_SYS_PROCFS_H
- #include <sys/procfs.h>
- #endif
-diff --git a/gdb/nat/linux-ptrace.h b/gdb/nat/linux-ptrace.h
-index 60967a3..dc180fb 100644
---- a/gdb/nat/linux-ptrace.h
-+++ b/gdb/nat/linux-ptrace.h
-@@ -21,6 +21,7 @@
- struct buffer;
-
- #include "nat/gdb_ptrace.h"
-+#include "gdb_wait.h"
-
- #ifdef __UCLIBC__
- #if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_HAS_MMU__))
---
-2.9.3
-
diff --git a/package/gdb/8.1.1/0008-Fix-incorrect-use-of-is-operator-for-comparison-in-p.patch b/package/gdb/8.1.1/0008-Fix-incorrect-use-of-is-operator-for-comparison-in-p.patch
deleted file mode 100644
index 989a5b1347..0000000000
--- a/package/gdb/8.1.1/0008-Fix-incorrect-use-of-is-operator-for-comparison-in-p.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From e00c211d51bec301cf04719b77076a8783ef44b5 Mon Sep 17 00:00:00 2001
-From: Raul Tambre <raul@tambre.ee>
-Date: Sat, 4 May 2019 15:48:17 -0400
-Subject: [PATCH] Fix incorrect use of 'is' operator for comparison in
- python/lib/gdb/command/prompt.py
-
-The 'is' operator is not meant to be used for comparisons. It currently working
-is an implementation detail of CPython. CPython 3.8 has added a SyntaxWarning
-for this.
-
-(cherry picked from commit b6484282f85bf7f11451b2441599c241d302ad9d)
-[Romain: backport to gdb 8.x]
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- gdb/python/lib/gdb/command/prompt.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gdb/python/lib/gdb/command/prompt.py b/gdb/python/lib/gdb/command/prompt.py
-index 3d662a7d3f..04b9e49c22 100644
---- a/gdb/python/lib/gdb/command/prompt.py
-+++ b/gdb/python/lib/gdb/command/prompt.py
-@@ -45,7 +45,7 @@ The currently defined substitutions are:
- self.hook_set = False
-
- def get_show_string (self, pvalue):
-- if self.value is not '':
-+ if self.value:
- return "The extended prompt is: " + self.value
- else:
- return "The extended prompt is not set."
-@@ -57,7 +57,7 @@ The currently defined substitutions are:
- return ""
-
- def before_prompt_hook(self, current):
-- if self.value is not '':
-+ if self.value:
- return gdb.prompt.substitute_prompt(self.value)
- else:
- return None
---
-2.25.4
-
diff --git a/package/gdb/8.1.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/package/gdb/9.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
index 9e011c728d..ab8dc626f0 100644
--- a/package/gdb/8.1.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
+++ b/package/gdb/9.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
@@ -1,4 +1,4 @@
-From 2acd9d3eb703b9a64ac92b3880ed546bec92af95 Mon Sep 17 00:00:00 2001
+From 72ee19f54fd35595465b2e35eccf1f3d65fe21c6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 6 Aug 2016 17:32:50 -0700
Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems
@@ -7,7 +7,7 @@ Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-[Rebase on gdb 8.0]
+[Rebase on gdb 8.3]
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
gdb/gdbserver/linux-ppc-low.c | 6 ++++++
@@ -15,12 +15,12 @@ Signed-off-by: Romain Naour <romain.naour@gmail.com>
2 files changed, 12 insertions(+)
diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c
-index 33a9feb..1a9141f 100644
+index 1b695e53fe9..1978347c02c 100644
--- a/gdb/gdbserver/linux-ppc-low.c
+++ b/gdb/gdbserver/linux-ppc-low.c
-@@ -21,7 +21,13 @@
- #include "linux-low.h"
-
+@@ -23,7 +23,13 @@
+ #include "elf/common.h"
+ #include <sys/uio.h>
#include <elf.h>
+#if !defined(__GLIBC__)
+# define pt_regs uapi_pt_regs
@@ -30,15 +30,15 @@ index 33a9feb..1a9141f 100644
+# undef pt_regs
+#endif
- #include "nat/ppc-linux.h"
- #include "linux-ppc-tdesc.h"
+ #include "arch/ppc-linux-common.h"
+ #include "arch/ppc-linux-tdesc.h"
diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h
-index 5837ea1..7233929 100644
+index f1561b3b357..40399361c09 100644
--- a/gdb/nat/ppc-linux.h
+++ b/gdb/nat/ppc-linux.h
@@ -18,7 +18,13 @@
- #ifndef PPC_LINUX_H
- #define PPC_LINUX_H 1
+ #ifndef NAT_PPC_LINUX_H
+ #define NAT_PPC_LINUX_H
+#if !defined(__GLIBC__)
+# define pt_regs uapi_pt_regs
@@ -51,5 +51,5 @@ index 5837ea1..7233929 100644
/* This sometimes isn't defined. */
--
-2.9.4
+2.21.0
diff --git a/package/gdb/8.1.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch b/package/gdb/9.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch
index d31e5dd11a..9d508fbf1e 100644
--- a/package/gdb/8.1.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch
+++ b/package/gdb/9.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch
@@ -1,8 +1,8 @@
-From dfe4a40bc9d2fc1fd1b1a11ed733a0c0a1f59f3c Mon Sep 17 00:00:00 2001
+From ef630288fdc2d4d22651702672f9d5c9cd767e5b Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Sat, 3 Jun 2017 21:23:52 +0200
-Subject: [PATCH] sh/ptrace: Define pt_{dsp,}regs uapi_pt_{dsp,}regs on
- !GLIBC systems
+Subject: [PATCH] sh/ptrace: Define pt_{dsp,}regs uapi_pt_{dsp,}regs on !GLIBC
+ systems
Fixes a pt_{dsp,}regs redefinition when building with the musl C library
on SuperH.
@@ -19,7 +19,7 @@ Signed-off-by: Romain Naour <romain.naour@gmail.com>
1 file changed, 8 insertions(+)
diff --git a/gdb/gdbserver/linux-sh-low.c b/gdb/gdbserver/linux-sh-low.c
-index ac084c9..08e104a 100644
+index 0953721a190..c331c1382f7 100644
--- a/gdb/gdbserver/linux-sh-low.c
+++ b/gdb/gdbserver/linux-sh-low.c
@@ -27,7 +27,15 @@ extern const struct target_desc *tdesc_sh;
@@ -39,5 +39,5 @@ index ac084c9..08e104a 100644
#define sh_num_regs 41
--
-2.9.4
+2.21.0
diff --git a/package/gdb/8.1.1/0003-use-asm-sgidefs.h.patch b/package/gdb/9.2/0003-use-asm-sgidefs.h.patch
index d30336904f..2909f62c68 100644
--- a/package/gdb/8.1.1/0003-use-asm-sgidefs.h.patch
+++ b/package/gdb/9.2/0003-use-asm-sgidefs.h.patch
@@ -1,4 +1,4 @@
-From 12a0b8d81e1fda6ba98abdce8d6f09f9555ebcf5 Mon Sep 17 00:00:00 2001
+From 19a0f664809b6858e69aa98188eb739415de044c Mon Sep 17 00:00:00 2001
From: Andre McCurdy <amccurdy@gmail.com>
Date: Sat, 30 Apr 2016 15:29:06 -0700
Subject: [PATCH] use <asm/sgidefs.h>
@@ -23,7 +23,7 @@ Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c
-index f2df1b9907..d24664cb56 100644
+index e68ed1e4da9..bc42aa59685 100644
--- a/gdb/mips-linux-nat.c
+++ b/gdb/mips-linux-nat.c
@@ -31,7 +31,7 @@
@@ -36,5 +36,5 @@ index f2df1b9907..d24664cb56 100644
#include <asm/ptrace.h>
#include "inf-ptrace.h"
--
-2.13.1
+2.21.0
diff --git a/package/gdb/8.1.1/0004-gdbserver-fix-build-for-m68k.patch b/package/gdb/9.2/0004-gdbserver-fix-build-for-m68k.patch
index 451bed312c..d718293899 100644
--- a/package/gdb/8.1.1/0004-gdbserver-fix-build-for-m68k.patch
+++ b/package/gdb/9.2/0004-gdbserver-fix-build-for-m68k.patch
@@ -1,4 +1,4 @@
-From 80c60ea9fb3634272a98ec526eabff25f5255bae Mon Sep 17 00:00:00 2001
+From 448e481aab86c823d908530038e20a14213db0a2 Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Fri, 22 Jun 2018 22:40:26 +0200
Subject: [PATCH] gdbserver: fix build for m68k
@@ -32,7 +32,7 @@ Signed-off-by: Romain Naour <romain.naour@gmail.com>
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/gdb/gdbserver/linux-m68k-low.c b/gdb/gdbserver/linux-m68k-low.c
-index 5594f10f927..19b4ef7b259 100644
+index 16f639d02fc..969d9973737 100644
--- a/gdb/gdbserver/linux-m68k-low.c
+++ b/gdb/gdbserver/linux-m68k-low.c
@@ -17,16 +17,17 @@
@@ -58,5 +58,5 @@ index 5594f10f927..19b4ef7b259 100644
#define m68k_num_gregs 18
--
-2.14.4
+2.21.0
diff --git a/package/gdb/8.1.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch b/package/gdb/9.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch
index dea24725fc..1df5452682 100644
--- a/package/gdb/8.1.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch
+++ b/package/gdb/9.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch
@@ -1,4 +1,4 @@
-From 887c667089e5417fdc7c5bbb364b027e86a7c113 Mon Sep 17 00:00:00 2001
+From d84ecfa3a8c8fbade89229ac66c09f2a97ab00fb Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Sun, 24 Jun 2018 23:33:55 +0200
Subject: [PATCH] nat/fork-inferior: include linux-ptrace.h
@@ -30,22 +30,24 @@ Fixes the following build issue:
vfork
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
+[Romain: rebase on gdb 8.3]
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
gdb/nat/fork-inferior.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/gdb/nat/fork-inferior.c b/gdb/nat/fork-inferior.c
-index 8b59387fa5..05167628a6 100644
+index fe9360a5039..626fe7c1fbf 100644
--- a/gdb/nat/fork-inferior.c
+++ b/gdb/nat/fork-inferior.c
-@@ -26,6 +26,7 @@
- #include "common-gdbthread.h"
- #include "signals-state-save-restore.h"
- #include "gdb_tilde_expand.h"
+@@ -27,6 +27,7 @@
+ #include "gdbsupport/pathstuff.h"
+ #include "gdbsupport/signals-state-save-restore.h"
+ #include "gdbsupport/gdb_tilde_expand.h"
+#include "linux-ptrace.h"
#include <vector>
extern char **environ;
--
-2.14.4
+2.21.0
diff --git a/package/gdb/Config.in.host b/package/gdb/Config.in.host
index c5776c20e6..42021b8086 100644
--- a/package/gdb/Config.in.host
+++ b/package/gdb/Config.in.host
@@ -63,21 +63,21 @@ config BR2_PACKAGE_HOST_GDB_SIM
choice
prompt "GDB debugger Version"
- default BR2_GDB_VERSION_8_2
+ default BR2_GDB_VERSION_8_3
depends on !BR2_arc
depends on !BR2_csky
help
Select the version of gdb you wish to use.
-config BR2_GDB_VERSION_8_1
- bool "gdb 8.1.x"
-
config BR2_GDB_VERSION_8_2
bool "gdb 8.2.x"
config BR2_GDB_VERSION_8_3
bool "gdb 8.3.x"
+config BR2_GDB_VERSION_9_2
+ bool "gdb 9.2.x"
+
endchoice
endif
@@ -87,7 +87,7 @@ config BR2_GDB_VERSION
string
default "arc-2020.03-release-gdb" if BR2_arc
default "4ecb98fbc2f94dbe01b69384afbc515107de73df" if BR2_csky
- default "8.1.1" if BR2_GDB_VERSION_8_1
default "8.2.1" if BR2_GDB_VERSION_8_2 || !BR2_PACKAGE_HOST_GDB
default "8.3.1" if BR2_GDB_VERSION_8_3
+ default "9.2" if BR2_GDB_VERSION_9_2
depends on BR2_PACKAGE_GDB || BR2_PACKAGE_HOST_GDB
diff --git a/package/gdb/gdb.hash b/package/gdb/gdb.hash
index 291c224b0f..03e2afe102 100644
--- a/package/gdb/gdb.hash
+++ b/package/gdb/gdb.hash
@@ -1,7 +1,7 @@
# From ftp://gcc.gnu.org/pub/gdb/releases/sha512.sum
-sha512 7dcd5e8c90de92f577834d887b5f54edb93a07083bfe661bc46c270a6cc4919f0b348e7e2fe8ae4511298a570ef150eeefdc667ef7cf527f0cf60943177ab6c9 gdb-8.1.1.tar.xz
sha512 2aa81cfd389bb48c35d7d9f95cc10e88b4f7ad4597bdde0f8f1fd312f60f10d9fb2cc6e5a9355227d89ff328f7feb0fc411a69394560cafeb9fa75d35d896d11 gdb-8.2.1.tar.xz
sha512 9053a2dc6b9eb921907afbc4cecc75d635aa76df5e8c4f0e5824ccf57cb206b299c19b127fff000b65c334826ff8304a54ff6098428365a8e997cca886c39e9a gdb-8.3.1.tar.xz
+sha512 73635f00f343117aa5e2436f1e1597099e2bfb31ef7bb162b273fa1ea282c3fa9b0f52762e70bfc7ad0334addb8d159e9ac7cbe5998ca4f755ea8cf90714d274 gdb-9.2.tar.xz
# Locally calculated (fetched from Github)
sha512 74346a2a2b2082d35377711946b12c824222005c66813d5648350b101697eac67d3d01617e1daea03e41c196c2b7b4a4b225d1ee58af91dc69731bffed0e5d51 gdb-arc-2020.03-release-gdb.tar.gz
diff --git a/package/gdb/gdb.mk b/package/gdb/gdb.mk
index 8c74a0e2f6..6b63a6214b 100644
--- a/package/gdb/gdb.mk
+++ b/package/gdb/gdb.mk
@@ -26,10 +26,20 @@ GDB_LICENSE_FILES = COPYING COPYING.LIB COPYING3 COPYING3.LIB
# We only want gdbserver and not the entire debugger.
ifeq ($(BR2_PACKAGE_GDB_DEBUGGER),)
GDB_SUBDIR = gdb/gdbserver
-HOST_GDB_SUBDIR = .
else
GDB_DEPENDENCIES = ncurses \
$(if $(BR2_PACKAGE_LIBICONV),libiconv)
+GDB_SUBDIR = build
+
+# Since gdb 9, in-tree builds for GDB are not allowed anymore,
+# so we create a 'build' subdirectory in the gdb sources, and
+# build from there.
+define GDB_CONFIGURE_SYMLINK
+ mkdir -p $(@D)/$(GDB_SUBDIR)
+ ln -sf ../configure $(@D)/$(GDB_SUBDIR)/configure
+endef
+GDB_PRE_CONFIGURE_HOOKS += GDB_CONFIGURE_SYMLINK
+
endif
# For the host variant, we really want to build with XML support,
@@ -251,6 +261,17 @@ else
HOST_GDB_CONF_OPTS += --disable-sim
endif
+# Since gdb 9, in-tree builds for GDB are not allowed anymore,
+# so we create a 'build' subdirectory in the gdb sources, and
+# build from there.
+HOST_GDB_SUBDIR = build
+
+define HOST_GDB_CONFIGURE_SYMLINK
+ mkdir -p $(@D)/build
+ ln -sf ../configure $(@D)/build/configure
+endef
+HOST_GDB_PRE_CONFIGURE_HOOKS += HOST_GDB_CONFIGURE_SYMLINK
+
# legacy $arch-linux-gdb symlink
define HOST_GDB_ADD_SYMLINK
cd $(HOST_DIR)/bin && \
diff --git a/package/gensio/gensio.hash b/package/gensio/gensio.hash
index 067c9d39cc..b83f21abd0 100644
--- a/package/gensio/gensio.hash
+++ b/package/gensio/gensio.hash
@@ -1,7 +1,7 @@
# From https://sourceforge.net/projects/ser2net/files/ser2net/
-md5 1281387def2b137f762ce4a8869fbb4f gensio-2.1.1.tar.gz
-sha1 4fb43270449e1f2312be87e56aff8173d285e3f1 gensio-2.1.1.tar.gz
+md5 e2547078bd73d62abda343515f1368ee gensio-2.1.4.tar.gz
+sha1 f8c0e787fad22a71b10f1d8eefea83617f489bdb gensio-2.1.4.tar.gz
# Locally computed:
-sha256 e81df2c55d8830ac4f3c28eda54c3f690c4b62e186ea3879815b101a4902a703 gensio-2.1.1.tar.gz
+sha256 1f5a29aabfb35886893cfda5cd78192db67e96de796dbf9758dbecd4077a3fd8 gensio-2.1.4.tar.gz
sha256 501f3108e6c03e5a0a5585ebaaa369171aead5319cd0a7a4dc1f66211c1f09f1 COPYING
sha256 dcac7d447dd81ab96d28dce00a07a6486e623f7ded94e2a2a8e83312405cdf89 COPYING.LIB
diff --git a/package/gensio/gensio.mk b/package/gensio/gensio.mk
index 7cdd340b14..89b7be9cdc 100644
--- a/package/gensio/gensio.mk
+++ b/package/gensio/gensio.mk
@@ -4,7 +4,7 @@
#
################################################################################
-GENSIO_VERSION = 2.1.1
+GENSIO_VERSION = 2.1.4
GENSIO_SITE = http://downloads.sourceforge.net/project/ser2net/ser2net
GENSIO_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (tools)
GENSIO_LICENSE_FILES = COPYING.LIB COPYING
diff --git a/package/gnuplot/0001-configure-add-without-demo-option.patch b/package/gnuplot/0001-configure-add-without-demo-option.patch
index a50e6c2c1b..a557e279bc 100644
--- a/package/gnuplot/0001-configure-add-without-demo-option.patch
+++ b/package/gnuplot/0001-configure-add-without-demo-option.patch
@@ -3,14 +3,16 @@ Add options to enable/disable docs and demos
Originally written by Anthony Viallard
<viallard@syscom-instruments.com>.
-[Vincent: adapt patch to 5.0.5 version]
-
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+[Vincent: adapt patch to 5.0.5 version]
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+[Michael: adapt patch to 5.4.0 version]
+Signed-off-by: Michael Fischer <mf@go-sys.de>
---- a/configure.ac 2019-11-27 23:52:29.000000000 +0100
-+++ b/configure.ac 2020-02-13 10:24:50.801842269 +0100
-@@ -755,6 +755,16 @@ if test "$with_cwdrc" = yes; then
+diff -Naur a/configure.ac b/configure.ac
+--- a/configure.ac 2020-07-12 02:29:47.000000000 +0200
++++ b/configure.ac 2020-08-06 14:21:17.918756893 +0200
+@@ -713,6 +713,17 @@
[ Define if you want to read .gnuplot from current directory (SECURITY RISK!).])
fi
@@ -24,10 +26,11 @@ Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+AC_ARG_ENABLE(demo,dnl
+[ --disable-demo do not build demo files])
+
- dnl Disable experimental support for nonlinear axes
- AC_ARG_WITH(nonlinear-axes,dnl
- [ --without-nonlinear-axes disable support for nonlinear axes])
-@@ -1236,6 +1246,24 @@ if test -n "${DIST_CONTACT}"; then
++
+ dnl Sort help/subtopic tables by row or column
+ AC_ARG_WITH(row-help,dnl
+ [ --with-row-help format help and subtopic tables by row (default)
+@@ -1095,6 +1106,24 @@
AC_DEFINE_UNQUOTED([DIST_CONTACT],["$DIST_CONTACT"],[Contact address for modified and binary distributed gnuplot versions])
fi
@@ -52,14 +55,15 @@ Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
dnl Substitute variables
AC_SUBST(PACKAGE)
AC_SUBST(VERSION_MAJOR)
---- a/Makefile.am 2019-11-19 22:57:18.000000000 +0100
-+++ b/Makefile.am 2020-02-13 10:17:55.753012739 +0100
+diff -Naur a/Makefile.am b/Makefile.am
+--- a/Makefile.am 2020-03-31 19:28:16.000000000 +0200
++++ b/Makefile.am 2020-08-06 14:34:12.995097799 +0200
@@ -1,7 +1,7 @@
## Process this file with automake to produce Makefile.in -*-Makefile-*-
AUTOMAKE_OPTIONS = foreign
--SUBDIRS = config m4 term src docs man demo tutorial share
-+SUBDIRS = config m4 term src $(DOCSUBDIR) man $(DEMOSUBDIR) tutorial share
+-SUBDIRS = config m4 term src docs man demo share
++SUBDIRS = config m4 term src $(DOCSUBDIR) man $(DEMOSUBDIR) share
- EXTRA_DIST = BUGS Copyright FAQ.pdf GNUmakefile INSTALL INSTALL.gnu \
- Makefile.maint PATCHLEVEL PGPKEYS README RELEASE_NOTES \
+ EXTRA_DIST = BUGS Copyright FAQ.pdf INSTALL INSTALL.gnu \
+ PATCHLEVEL PGPKEYS README RELEASE_NOTES \
diff --git a/package/gnuplot/gnuplot.hash b/package/gnuplot/gnuplot.hash
index ef80a29d3d..260b78314e 100644
--- a/package/gnuplot/gnuplot.hash
+++ b/package/gnuplot/gnuplot.hash
@@ -1,6 +1,6 @@
-# From https://sourceforge.net/projects/gnuplot/files/gnuplot/5.2.8/
-md5 2df8767c7399bee57a96296d46b4d5fb gnuplot-5.2.8.tar.gz
-sha1 dc018b1e0a31b770d4635958badff13498babc4d gnuplot-5.2.8.tar.gz
+# From https://sourceforge.net/projects/gnuplot/files/gnuplot/5.4.0/
+md5 ac586178f3b031dea82cd3890cefb21b gnuplot-5.4.0.tar.gz
+sha1 b4660dff7d047a453c55fd77faba11f63bb2d5ed gnuplot-5.4.0.tar.gz
# Locally computed
-sha256 60a6764ccf404a1668c140f11cc1f699290ab70daa1151bb58fed6139a28ac37 gnuplot-5.2.8.tar.gz
+sha256 eb4082f03a399fd1e9e2b380cf7a4f785e77023d8dcc7e17570c1b5570a49c47 gnuplot-5.4.0.tar.gz
sha256 895928ec0735cca1c8cec42656c7e314a065d0242813bb8693c0c1bf61fd4e4d Copyright
diff --git a/package/gnuplot/gnuplot.mk b/package/gnuplot/gnuplot.mk
index 694b6cb886..ef9ef2ac67 100644
--- a/package/gnuplot/gnuplot.mk
+++ b/package/gnuplot/gnuplot.mk
@@ -4,7 +4,7 @@
#
################################################################################
-GNUPLOT_VERSION = 5.2.8
+GNUPLOT_VERSION = 5.4.0
GNUPLOT_SITE = http://downloads.sourceforge.net/project/gnuplot/gnuplot/$(GNUPLOT_VERSION)
GNUPLOT_LICENSE = gnuplot license (open source)
GNUPLOT_LICENSE_FILES = Copyright
diff --git a/package/go/go.mk b/package/go/go.mk
index 72604a250b..ee68014355 100644
--- a/package/go/go.mk
+++ b/package/go/go.mk
@@ -12,10 +12,23 @@ GO_LICENSE = BSD-3-Clause
GO_LICENSE_FILES = LICENSE
HOST_GO_DEPENDENCIES = host-go-bootstrap
+HOST_GO_GOPATH = $(HOST_DIR)/usr/share/go-path
HOST_GO_HOST_CACHE = $(HOST_DIR)/usr/share/host-go-cache
HOST_GO_ROOT = $(HOST_DIR)/lib/go
HOST_GO_TARGET_CACHE = $(HOST_DIR)/usr/share/go-cache
+# We pass an empty GOBIN, otherwise "go install: cannot install
+# cross-compiled binaries when GOBIN is set"
+HOST_GO_COMMON_ENV = \
+ GO111MODULE=on \
+ GOFLAGS=-mod=vendor \
+ GOROOT="$(HOST_GO_ROOT)" \
+ GOPATH="$(HOST_GO_GOPATH)" \
+ GOPROXY=off \
+ PATH=$(BR_PATH) \
+ GOBIN= \
+ CGO_ENABLED=$(HOST_GO_CGO_ENABLED)
+
ifeq ($(BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS),y)
ifeq ($(BR2_arm),y)
@@ -46,12 +59,14 @@ endif
# For the convienience of target packages.
HOST_GO_TOOLDIR = $(HOST_GO_ROOT)/pkg/tool/linux_$(GO_GOARCH)
HOST_GO_TARGET_ENV = \
- GO111MODULE=off \
+ $(HOST_GO_COMMON_ENV) \
GOARCH=$(GO_GOARCH) \
GOCACHE="$(HOST_GO_TARGET_CACHE)" \
- GOROOT="$(HOST_GO_ROOT)" \
CC="$(TARGET_CC)" \
CXX="$(TARGET_CXX)" \
+ CGO_CFLAGS="$(TARGET_CFLAGS)" \
+ CGO_CXXFLAGS="$(TARGET_CXXFLAGS)" \
+ CGO_LDFLAGS="$(TARGET_LDFLAGS)" \
GOTOOLDIR="$(HOST_GO_TOOLDIR)"
# The go compiler's cgo support uses threads. If BR2_TOOLCHAIN_HAS_THREADS is
@@ -77,6 +92,17 @@ else # !BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
HOST_GO_CGO_ENABLED = 1
endif # BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
+# For the convenience of host golang packages
+HOST_GO_HOST_ENV = \
+ $(HOST_GO_COMMON_ENV) \
+ GOARCH="" \
+ GOCACHE="$(HOST_GO_HOST_CACHE)" \
+ CC="$(HOST_CCNOCCACHE)" \
+ CXX="$(HOST_CXXNOCCACHE)" \
+ CGO_CFLAGS="$(HOST_CFLAGS)" \
+ CGO_CXXFLAGS="$(HOST_CXXFLAGS)" \
+ CGO_LDFLAGS="$(HOST_LDFLAGS)"
+
# The go build system is not compatible with ccache, so use
# HOSTCC_NOCCACHE. See https://github.com/golang/go/issues/11685.
HOST_GO_MAKE_ENV = \
diff --git a/package/grpc/0001-target-build-using-host-plugin.patch b/package/grpc/0001-target-build-using-host-plugin.patch
index ac2bf8cc38..5b3c6a6fae 100644
--- a/package/grpc/0001-target-build-using-host-plugin.patch
+++ b/package/grpc/0001-target-build-using-host-plugin.patch
@@ -20,7 +20,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
index be695c2..45c2fcb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -10844,6 +10844,18 @@ target_link_libraries(grpc_cli
+@@ -11043,6 +11043,18 @@ target_link_libraries(grpc_cli
endif()
if(gRPC_BUILD_CODEGEN AND gRPC_BUILD_GRPC_CPP_PLUGIN)
@@ -39,7 +39,7 @@ index be695c2..45c2fcb 100644
add_executable(grpc_cpp_plugin
src/compiler/cpp_plugin.cc
)
-@@ -10877,6 +10889,7 @@ if(gRPC_INSTALL)
+@@ -11077,6 +11089,7 @@ if(gRPC_INSTALL)
ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
)
endif()
diff --git a/package/grpc/0002-Properly-detect-the-availability-of-pthread_setname_.patch b/package/grpc/0002-Properly-detect-the-availability-of-pthread_setname_.patch
index 4b7253f7aa..c8b1dc8e73 100644
--- a/package/grpc/0002-Properly-detect-the-availability-of-pthread_setname_.patch
+++ b/package/grpc/0002-Properly-detect-the-availability-of-pthread_setname_.patch
@@ -20,7 +20,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
index 45c2fcb..0b2be4f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -177,6 +177,12 @@ if (NOT DEFINED CMAKE_POSITION_INDEPENDENT_CODE)
+@@ -180,6 +180,12 @@ if (NOT DEFINED CMAKE_POSITION_INDEPENDENT_CODE)
endif()
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
@@ -37,7 +37,7 @@ diff --git a/include/grpc/impl/codegen/port_platform.h b/include/grpc/impl/codeg
index 4f213ff..55ecd9d 100644
--- a/include/grpc/impl/codegen/port_platform.h
+++ b/include/grpc/impl/codegen/port_platform.h
-@@ -195,7 +195,9 @@
+@@ -163,7 +163,9 @@
#endif /* _LP64 */
#ifdef __GLIBC__
#define GPR_POSIX_CRASH_HANDLER 1
@@ -48,5 +48,4 @@ index 4f213ff..55ecd9d 100644
#else /* musl libc */
#define GPR_MUSL_LIBC_COMPAT 1
--
-2.26.2
-
+2.26.63
diff --git a/package/grpc/Config.in b/package/grpc/Config.in
index a2da3f4c53..2eb7c1de1c 100644
--- a/package/grpc/Config.in
+++ b/package/grpc/Config.in
@@ -3,7 +3,7 @@ config BR2_PACKAGE_GRPC
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf
- depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # protobuf
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # protobuf, re2
depends on !BR2_STATIC_LIBS # protobuf, libabseil-cpp
depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC
depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS
@@ -11,6 +11,7 @@ config BR2_PACKAGE_GRPC
select BR2_PACKAGE_LIBABSEIL_CPP
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_PROTOBUF
+ select BR2_PACKAGE_RE2
select BR2_PACKAGE_ZLIB
help
A language-neutral, platform-neutral, open source, remote
diff --git a/package/grpc/grpc.hash b/package/grpc/grpc.hash
index f0586e4b18..20368068d9 100644
--- a/package/grpc/grpc.hash
+++ b/package/grpc/grpc.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 ba74b97a2f1b4e22ec5fb69d639d849d2069fb58ea7d6579a31f800af6fe3b6c grpc-1.30.2.tar.gz
+sha256 1236514199d3deb111a6dd7f6092f67617cd2b147f7eda7adbafccea95de7381 grpc-1.31.0.tar.gz
sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE
diff --git a/package/grpc/grpc.mk b/package/grpc/grpc.mk
index 087deac0c6..2114f98e40 100644
--- a/package/grpc/grpc.mk
+++ b/package/grpc/grpc.mk
@@ -4,7 +4,7 @@
#
################################################################################
-GRPC_VERSION = 1.30.2
+GRPC_VERSION = 1.31.0
GRPC_SITE = $(call github,grpc,grpc,v$(GRPC_VERSION))
GRPC_LICENSE = Apache-2.0
GRPC_LICENSE_FILES = LICENSE
@@ -12,9 +12,9 @@ GRPC_LICENSE_FILES = LICENSE
GRPC_INSTALL_STAGING = YES
# Need to use host grpc_cpp_plugin during cross compilation.
-GRPC_DEPENDENCIES = c-ares host-grpc openssl protobuf zlib libabseil-cpp
-HOST_GRPC_DEPENDENCIES = host-c-ares host-openssl host-protobuf host-zlib \
- host-libabseil-cpp
+GRPC_DEPENDENCIES = c-ares host-grpc openssl protobuf re2 zlib libabseil-cpp
+HOST_GRPC_DEPENDENCIES = host-c-ares host-libabseil-cpp host-openssl host-protobuf \
+ host-re2 host-zlib
# gRPC_CARES_PROVIDER=package won't work because it requires c-ares to have
# installed a cmake config file, but buildroot uses c-ares' autotools build,
@@ -24,6 +24,7 @@ GRPC_CONF_OPTS = \
-D_gRPC_CARES_LIBRARIES=cares \
-DgRPC_CARES_PROVIDER=none \
-DgRPC_PROTOBUF_PROVIDER=package \
+ -DgRPC_RE2_PROVIDER=package \
-DgRPC_SSL_PROVIDER=package \
-DgRPC_ZLIB_PROVIDER=package \
-DgRPC_ABSL_PROVIDER=package \
@@ -66,6 +67,7 @@ HOST_GRPC_CONF_OPTS = \
-D_gRPC_CARES_LIBRARIES=cares \
-DgRPC_CARES_PROVIDER=none \
-DgRPC_PROTOBUF_PROVIDER=package \
+ -DgRPC_RE2_PROVIDER=package \
-DgRPC_SSL_PROVIDER=package \
-DgRPC_ZLIB_PROVIDER=package \
-DgRPC_ABSL_PROVIDER=package
diff --git a/package/gsl/gsl.hash b/package/gsl/gsl.hash
index 8a979d6e8b..0d40a75497 100644
--- a/package/gsl/gsl.hash
+++ b/package/gsl/gsl.hash
@@ -1,3 +1,3 @@
# Locally calculated after checking pgp signature
-sha256 0460ad7c2542caaddc6729762952d345374784100223995eb14d614861f2258d gsl-2.5.tar.gz
-sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING
+sha256 b782339fc7a38fe17689cb39966c4d821236c28018b6593ddb6fd59ee40786a8 gsl-2.6.tar.gz
+sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING
diff --git a/package/gsl/gsl.mk b/package/gsl/gsl.mk
index d3c764787d..416955b72c 100644
--- a/package/gsl/gsl.mk
+++ b/package/gsl/gsl.mk
@@ -4,7 +4,7 @@
#
################################################################################
-GSL_VERSION = 2.5
+GSL_VERSION = 2.6
GSL_SITE = $(BR2_GNU_MIRROR)/gsl
GSL_INSTALL_STAGING = YES
GSL_LICENSE = GPL-3.0
diff --git a/package/guile/0003-workaround-ice-ssa-corruption.patch b/package/guile/0003-workaround-ice-ssa-corruption.patch
deleted file mode 100644
index 54f3158a91..0000000000
--- a/package/guile/0003-workaround-ice-ssa-corruption.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-libguile/vm-i-system.c: workaround ice ssa corruption while compiling with option -g -O
-
-While compiling with option -g -O, there was a ssa corruption:
-..
-Unable to coalesce ssa_names 48 and 3476 which are marked as MUST COALESCE.
-sp_48(ab) and sp_3476(ab)
-guile-2.0.11/libguile/vm-engine.c: In function 'vm_debug_engine':
-guile-2.0.11/libguile/vm.c:673:19: internal compiler error: SSA corruption
- #define VM_NAME vm_debug_engine
- ^
-guile-2.0.11/libguile/vm-engine.c:39:1: note: in expansion of macro 'VM_NAME'
- VM_NAME (SCM vm, SCM program, SCM *argv, int nargs)
- ^
-Please submit a full bug report,
-with preprocessed source if appropriate.
-See <http://gcc.gnu.org/bugs.html> for instructions.
-...
-
-Tweak libguile/vm-i-system.c to add boundary value check to workaround it.
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
-Fixes Buildroot autobuilder failures on AArch64.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- libguile/vm-i-system.c | 20 ++++++++++++++++----
- 1 file changed, 16 insertions(+), 4 deletions(-)
-
-diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c
---- a/libguile/vm-i-system.c
-+++ b/libguile/vm-i-system.c
-@@ -625,10 +625,22 @@ VM_DEFINE_INSTRUCTION (47, bind_optionals_shuffle, "bind-optionals/shuffle", 6,
- /* now shuffle up, from walk to ntotal */
- {
- scm_t_ptrdiff nshuf = sp - walk + 1, i;
-- sp = (fp - 1) + ntotal + nshuf;
-- CHECK_OVERFLOW ();
-- for (i = 0; i < nshuf; i++)
-- sp[-i] = walk[nshuf-i-1];
-+ /* check the value of nshuf to workaround ice ssa corruption */
-+ /* while compiling with -O -g */
-+ if (nshuf > 0)
-+ {
-+ sp = (fp - 1) + ntotal + nshuf;
-+ CHECK_OVERFLOW ();
-+ for (i = 0; i < nshuf; i++)
-+ sp[-i] = walk[nshuf-i-1];
-+ }
-+ else
-+ {
-+ sp = (fp - 1) + ntotal + nshuf;
-+ CHECK_OVERFLOW ();
-+ for (i = 0; i < nshuf; i++)
-+ sp[-i] = walk[nshuf-i-1];
-+ }
- }
- /* and fill optionals & keyword args with SCM_UNDEFINED */
- while (walk <= (fp - 1) + ntotal)
---
-1.9.1
-
diff --git a/package/guile/guile.hash b/package/guile/guile.hash
index 47ac009757..a163f59fce 100644
--- a/package/guile/guile.hash
+++ b/package/guile/guile.hash
@@ -1,5 +1,5 @@
# Locally calculated after checking pgp signature
-sha256 e8442566256e1be14e51fc18839cd799b966bc5b16c6a1d7a7c35155a8619d82 guile-2.0.14.tar.xz
+sha256 6b7947dc2e3d115983846a268b8f5753c12fd5547e42fbf2b97d75a3b79f0d31 guile-3.0.4.tar.xz
# Locally computed
sha256 b51c6f20e6d029cb5b3e5bf235ac562c9a188c5bdc4ffcdc663897772d6e0260 LICENSE
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING
diff --git a/package/guile/guile.mk b/package/guile/guile.mk
index 4992861071..5750b85f49 100644
--- a/package/guile/guile.mk
+++ b/package/guile/guile.mk
@@ -4,7 +4,7 @@
#
################################################################################
-GUILE_VERSION = 2.0.14
+GUILE_VERSION = 3.0.4
GUILE_SOURCE = guile-$(GUILE_VERSION).tar.xz
GUILE_SITE = $(BR2_GNU_MIRROR)/guile
GUILE_INSTALL_STAGING = YES
diff --git a/package/gupnp/gupnp.hash b/package/gupnp/gupnp.hash
index 6baf105318..60339ec9ca 100644
--- a/package/gupnp/gupnp.hash
+++ b/package/gupnp/gupnp.hash
@@ -1,5 +1,5 @@
-# Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp/1.2/gupnp-1.2.3.sha256sum:
-sha256 d447e54d88e4a8fab84ad1766070e9208e21166fc7e2ce95df6e33e49e8d29b1 gupnp-1.2.3.tar.xz
+# Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp/1.2/gupnp-1.2.4.sha256sum:
+sha256 f7a0307ea51f5e44d1b832f493dd9045444a3a4e211ef85dfd9aa5dd6eaea7d1 gupnp-1.2.4.tar.xz
# Hash for license file:
sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING
diff --git a/package/gupnp/gupnp.mk b/package/gupnp/gupnp.mk
index 953beb2559..e90787eb84 100644
--- a/package/gupnp/gupnp.mk
+++ b/package/gupnp/gupnp.mk
@@ -5,7 +5,7 @@
################################################################################
GUPNP_VERSION_MAJOR = 1.2
-GUPNP_VERSION = $(GUPNP_VERSION_MAJOR).3
+GUPNP_VERSION = $(GUPNP_VERSION_MAJOR).4
GUPNP_SOURCE = gupnp-$(GUPNP_VERSION).tar.xz
GUPNP_SITE = http://ftp.gnome.org/pub/gnome/sources/gupnp/$(GUPNP_VERSION_MAJOR)
GUPNP_LICENSE = LGPL-2.0+
diff --git a/package/i2pd/i2pd.hash b/package/i2pd/i2pd.hash
index d56c9c1b47..1a19ccf687 100644
--- a/package/i2pd/i2pd.hash
+++ b/package/i2pd/i2pd.hash
@@ -1,3 +1,4 @@
+# From https://github.com/PurpleI2P/i2pd/releases/download/2.33.0/SHA512SUMS
+sha512 7a3e7a8a908be8a12b675fda4ce923cb2b0eaf3e9b12a513b9ae7b56e9ecb593eef0ea278debb4027406d50ee9a46599a6792a54ce2e2f4e2c44c1fc82479910 i2pd-2.33.0.tar.gz
# Locally computed:
-sha256 64229101411a9dda3237dc27939aa13ec90d4900aae499e59931063c36e8556b i2pd-2.32.1.tar.gz
sha256 d147a6acdaf8ec9f6513802ef6cad4a4afcdb5ab6b98d9f6bb26d2b7f4cf454c LICENSE
diff --git a/package/i2pd/i2pd.mk b/package/i2pd/i2pd.mk
index 736794866d..461f483d1f 100644
--- a/package/i2pd/i2pd.mk
+++ b/package/i2pd/i2pd.mk
@@ -4,7 +4,7 @@
#
################################################################################
-I2PD_VERSION = 2.32.1
+I2PD_VERSION = 2.33.0
I2PD_SITE = $(call github,PurpleI2P,i2pd,$(I2PD_VERSION))
I2PD_LICENSE = BSD-3-Clause
I2PD_LICENSE_FILES = LICENSE
diff --git a/package/iptraf-ng/Config.in b/package/iptraf-ng/Config.in
index 5c3b4848b9..5c61b7c0e2 100644
--- a/package/iptraf-ng/Config.in
+++ b/package/iptraf-ng/Config.in
@@ -1,13 +1,17 @@
config BR2_PACKAGE_IPTRAF_NG
bool "iptraf-ng"
depends on BR2_USE_MMU # fork()
+ depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
select BR2_PACKAGE_NCURSES
help
- IPTraf-ng is a ncurses-based network monitoring utility. It
- gathers data like TCP connection packet and byte counts,
- interface statistics and activity indicators.
+ IPTraf-ng is a console-based network monitoring program for
+ Linux that gathers displays information about IP traffic.
- https://fedorahosted.org/iptraf-ng/
+ https://github.com/iptraf-ng/iptraf-ng
IPTraf-ng is a fork of original IPTraf v3.0.0
(http://iptraf.seul.org).
+
+comment "iptraf-ng needs a toolchain w/ kernel headers >= 3.14"
+ depends on BR2_USE_MMU
+ depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
diff --git a/package/iptraf-ng/iptraf-ng.hash b/package/iptraf-ng/iptraf-ng.hash
index 0a257ec2fd..314d5cee29 100644
--- a/package/iptraf-ng/iptraf-ng.hash
+++ b/package/iptraf-ng/iptraf-ng.hash
@@ -1,4 +1,3 @@
-# From https://fedorahosted.org/releases/i/p/iptraf-ng/iptraf-ng-1.1.4.tar.gz.sum
-sha1 a2e51b0dd6b8c80583fc25d055850c96b3d2f544 iptraf-ng-1.1.4.tar.gz
# Locally computed
+sha256 9f5cef584065420dea1ba32c86126aede1fa9bd25b0f8362b0f9fd9754f00870 iptraf-ng-1.2.1.tar.gz
sha256 4e49bef38f621aac4a870da4b30011c7b7abc7256b218daec1c425b08448ae1e LICENSE
diff --git a/package/iptraf-ng/iptraf-ng.mk b/package/iptraf-ng/iptraf-ng.mk
index ac572b9eef..044630be41 100644
--- a/package/iptraf-ng/iptraf-ng.mk
+++ b/package/iptraf-ng/iptraf-ng.mk
@@ -4,16 +4,21 @@
#
################################################################################
-IPTRAF_NG_VERSION = 1.1.4
-IPTRAF_NG_SITE = https://fedorahosted.org/releases/i/p/iptraf-ng
+IPTRAF_NG_VERSION = 1.2.1
+IPTRAF_NG_SITE = $(call github,iptraf-ng,iptraf-ng,v$(IPTRAF_NG_VERSION))
IPTRAF_NG_LICENSE = GPL-2.0+
IPTRAF_NG_LICENSE_FILES = LICENSE
IPTRAF_NG_DEPENDENCIES = ncurses
-IPTRAF_NG_MAKE_ENV = \
- NCURSES_LDFLAGS="-lpanel -lncurses"
+define IPTRAF_NG_BUILD_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \
+ NCURSES_LDFLAGS="-lpanel -lncurses" \
+ -C $(@D)
+endef
-IPTRAF_NG_CONF_ENV = \
- CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE"
+define IPTRAF_NG_INSTALL_TARGET_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+ prefix=/usr DESTDIR=$(TARGET_DIR) install
+endef
-$(eval $(autotools-package))
+$(eval $(generic-package))
diff --git a/package/iputils/0001-meson.build-fix-static-build-with-libidn2.patch b/package/iputils/0001-meson.build-fix-static-build-with-libidn2.patch
deleted file mode 100644
index 851d043784..0000000000
--- a/package/iputils/0001-meson.build-fix-static-build-with-libidn2.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 5bb4432b8c194620c28a45a069de1b3dad692ac9 Mon Sep 17 00:00:00 2001
-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: Sat, 28 Dec 2019 11:24:12 +0100
-Subject: [PATCH] meson.build: fix static build with libidn2
-
-libidn2 can optionnaly depends on libunistring so use dependency
-function instead of cc.find_library ro retrieve this dependency and
-avoid the following build failure when building statically:
-
-FAILED: ping
-/home/buildroot/autobuild/run/instance-1/output-1/host/bin/arm-linux-gcc -o ping 'ping@exe/ping.c.o' 'ping@exe/ping_common.c.o' 'ping@exe/ping6_common.c.o' -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -static -Wl,--start-group libcommon.a -lm -lcap -lidn2 /home/buildroot/autobuild/run/instance-1/output-1/host/usr/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libssl.a /home/buildroot/autobuild/run/instance-1/output-1/host/usr/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libz.a /home/buildroot/autobuild/run/instance-1/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/7.4.0/../../../../arm-buildroot-linux-uclibcgnueabi/lib/libatomic.a -lpthread /home/buildroot/autobuild/run/instance-1/output-1/host/usr/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libcrypto.a -lresolv -Wl,--end-group '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/home/buildroot/autobuild/run/instance-1/output-1/build/iputils-20190709/build/
-/home/buildroot/autobuild/run/instance-1/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/7.4.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/buildroot/autobuild/run/instance-1/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libidn2.a(lookup.o): in function `idn2_lookup_u8':
-lookup.c:(.text+0x7c): undefined reference to `u8_strlen'
-
-Fixes:
- - http://autobuild.buildroot.org/results/82d4738711a009959436fa419bd78c7a9540d33e
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-[Upstream status: https://github.com/iputils/iputils/pull/245]
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index 53c65b2..905cb96 100644
---- a/meson.build
-+++ b/meson.build
-@@ -130,7 +130,7 @@ endif
-
- opt = get_option('USE_IDN')
- if opt == true
-- idn_dep = cc.find_library('idn2', required : false)
-+ idn_dep = dependency('libidn2', required : false)
- if idn_dep.found()
- add_project_arguments('-DUSE_IDN', language : 'c')
- conf.set('USE_IDN', 1,
---
-2.24.0
-
diff --git a/package/iputils/iputils.hash b/package/iputils/iputils.hash
index 3630ae8678..11f46bac28 100644
--- a/package/iputils/iputils.hash
+++ b/package/iputils/iputils.hash
@@ -1,5 +1,5 @@
-# https://github.com/iputils/iputils/releases/download/s20190709/sha256sum.asc
-sha256 a15720dd741d7538dd2645f9f516d193636ae4300ff7dbc8bfca757bf166490a iputils-20190709.tar.gz
+# https://github.com/iputils/iputils/releases/download/s20200821/sha256sum.asc
+sha256 f265da0d02dd2259efd8c57a9c2e0c8bb3361abb14639fcffb26707be5783a5b iputils-20200821.tar.gz
# Locally computed
sha256 b8ea785d12fa6a44916601104dd746216957e93f13a26d3eb858b3b5a4ad66ab LICENSE
sha256 9acc4bc871a4742550158e3696dcb381953172ef808d04ca248184f9f6322712 Documentation/LICENSE.BSD3
diff --git a/package/iputils/iputils.mk b/package/iputils/iputils.mk
index d09bc58b34..9cc51d1541 100644
--- a/package/iputils/iputils.mk
+++ b/package/iputils/iputils.mk
@@ -11,12 +11,14 @@
# and IPv6 updates.
# http://www.spinics.net/lists/netdev/msg279881.html
-IPUTILS_VERSION = 20190709
+IPUTILS_VERSION = 20200821
IPUTILS_SITE = $(call github,iputils,iputils,s$(IPUTILS_VERSION))
IPUTILS_LICENSE = GPL-2.0+, BSD-3-Clause
IPUTILS_LICENSE_FILES = LICENSE Documentation/LICENSE.BSD3 Documentation/LICENSE.GPL2
IPUTILS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES)
+IPUTILS_CONF_OPTS += -DBUILD_TFTPD=true
+
ifeq ($(BR2_PACKAGE_LIBCAP),y)
IPUTILS_CONF_OPTS += -DUSE_CAP=true
IPUTILS_DEPENDENCIES += libcap
@@ -31,19 +33,6 @@ else
IPUTILS_CONF_OPTS += -DUSE_IDN=false
endif
-ifeq ($(BR2_PACKAGE_NETTLE),y)
-IPUTILS_CONF_OPTS += -DUSE_CRYPTO=nettle
-IPUTILS_DEPENDENCIES += nettle
-else ifeq ($(BR2_PACKAGE_LIBGCRYPT),y)
-IPUTILS_CONF_OPTS += -DUSE_CRYPTO=gcrypt
-IPUTILS_DEPENDENCIES += libgcrypt
-else ifeq ($(BR2_PACKAGE_OPENSSL),y)
-IPUTILS_CONF_OPTS += -DUSE_CRYPTO=openssl
-IPUTILS_DEPENDENCIES += openssl
-else
-IPUTILS_CONF_OPTS += -DUSE_CRYPTO=kernel
-endif
-
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
IPUTILS_DEPENDENCIES += systemd
endif
diff --git a/package/kodi-visualisation-goom/kodi-visualisation-goom.hash b/package/kodi-visualisation-goom/kodi-visualisation-goom.hash
index f12b0ec7c2..c7c45ab64d 100644
--- a/package/kodi-visualisation-goom/kodi-visualisation-goom.hash
+++ b/package/kodi-visualisation-goom/kodi-visualisation-goom.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 a02dfd844cfd5ff24f735e614a2a4727771112ce15642957a2511061f724392a kodi-visualisation-goom-2.2.1-Leia.tar.gz
+sha256 14b948e7e3b6e4b9c5d7a8438fe076480483d2a515047401a1769e82858ef245 kodi-visualisation-goom-2.2.2-Leia.tar.gz
sha256 a6b36f495079206146ae0b11624a8db49a538f421ffe1341f8651c9e6b06f0b0 debian/copyright
diff --git a/package/kodi-visualisation-goom/kodi-visualisation-goom.mk b/package/kodi-visualisation-goom/kodi-visualisation-goom.mk
index 29cd24df69..9883ef8c38 100644
--- a/package/kodi-visualisation-goom/kodi-visualisation-goom.mk
+++ b/package/kodi-visualisation-goom/kodi-visualisation-goom.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_VISUALISATION_GOOM_VERSION = 2.2.1-Leia
+KODI_VISUALISATION_GOOM_VERSION = 2.2.2-Leia
KODI_VISUALISATION_GOOM_SITE = $(call github,xbmc,visualization.goom,$(KODI_VISUALISATION_GOOM_VERSION))
KODI_VISUALISATION_GOOM_LICENSE = GPL-2.0+
KODI_VISUALISATION_GOOM_LICENSE_FILES = debian/copyright
diff --git a/package/lftp/lftp.hash b/package/lftp/lftp.hash
index a2f60f95b0..e4c3305c03 100644
--- a/package/lftp/lftp.hash
+++ b/package/lftp/lftp.hash
@@ -1,7 +1,7 @@
-# From http://lftp.yar.ru/ftp/lftp-4.9.1.md5sum
-md5 3da57b1960b1416e89a532c54a67a936 lftp-4.9.1.tar.xz
+# From http://lftp.yar.ru/ftp/lftp-4.9.2.md5sum
+md5 b3a272ecb7a2b60e3827776f90ffb2f3 lftp-4.9.2.tar.xz
# Locally calculated after checking gpg signature
-sha256 5969fcaefd102955dd882f3bcd8962198bc537224749ed92f206f415207a024b lftp-4.9.1.tar.xz
+sha256 c517c4f4f9c39bd415d7313088a2b1e313b2d386867fe40b7692b83a20f0670d lftp-4.9.2.tar.xz
# Hash for license file:
-sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING
+sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING
diff --git a/package/lftp/lftp.mk b/package/lftp/lftp.mk
index 9c568da677..1348e137de 100644
--- a/package/lftp/lftp.mk
+++ b/package/lftp/lftp.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LFTP_VERSION = 4.9.1
+LFTP_VERSION = 4.9.2
LFTP_SOURCE = lftp-$(LFTP_VERSION).tar.xz
LFTP_SITE = http://lftp.yar.ru/ftp
LFTP_LICENSE = GPL-3.0+
diff --git a/package/libbacktrace/Config.in b/package/libbacktrace/Config.in
new file mode 100644
index 0000000000..0f940dd588
--- /dev/null
+++ b/package/libbacktrace/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_LIBBACKTRACE
+ bool "libbacktrace"
+ help
+ A C library that may be linked into a C/C++ program to
+ produce symbolic backtraces
+
+ https://github.com/ianlancetaylor/libbacktrace
diff --git a/package/libbacktrace/libbacktrace.hash b/package/libbacktrace/libbacktrace.hash
new file mode 100644
index 0000000000..ecd530a33b
--- /dev/null
+++ b/package/libbacktrace/libbacktrace.hash
@@ -0,0 +1,3 @@
+# Locally computed:
+sha256 13072c499c76866c188beaf3d50f3dddbf2c27ed9fd72b33d1b857acd33b1cb5 libbacktrace-9b7f216e867916594d81e8b6118f092ac3fcf704.tar.gz
+sha256 ef8a9b3247488f8901ca60de9b17b745d7bd67e5ec1e622f80d62364572200d8 LICENSE
diff --git a/package/libbacktrace/libbacktrace.mk b/package/libbacktrace/libbacktrace.mk
new file mode 100644
index 0000000000..8f812228e3
--- /dev/null
+++ b/package/libbacktrace/libbacktrace.mk
@@ -0,0 +1,13 @@
+################################################################################
+#
+# libbacktrace
+#
+################################################################################
+
+LIBBACKTRACE_VERSION = 9b7f216e867916594d81e8b6118f092ac3fcf704
+LIBBACKTRACE_SITE = $(call github,ianlancetaylor,libbacktrace,$(LIBBACKTRACE_VERSION))
+LIBBACKTRACE_LICENSE = BSD-3C-like
+LIBBACKTRACE_LICENSE_FILES = LICENSE
+LIBBACKTRACE_INSTALL_STAGING = YES
+
+$(eval $(autotools-package))
diff --git a/package/libblockdev/0001-Provide-replacement-function-for-strerror_l.patch b/package/libblockdev/0001-Provide-replacement-function-for-strerror_l.patch
new file mode 100644
index 0000000000..018e4c4489
--- /dev/null
+++ b/package/libblockdev/0001-Provide-replacement-function-for-strerror_l.patch
@@ -0,0 +1,69 @@
+From ccf93148aa3587dd98a02e253cdc42a7af14df1e Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
+Date: Sat, 29 Aug 2020 16:04:15 +0200
+Subject: [PATCH] Provide replacement function for strerror_l()
+
+strerror_l() is not implemented in some C libraries, such as uClibc,
+so let's provide a simple replacement function that falls back on
+strerror().
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
+---
+ configure.ac | 2 ++
+ src/plugins/crypto.c | 7 +++++++
+ src/utils/module.c | 8 ++++++++
+ 3 files changed, 17 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index c2d22c2..36aeb51 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -137,6 +137,8 @@ AC_CHECK_HEADERS([dlfcn.h string.h unistd.h sys/fcntl.h sys/ioctl.h linux/random
+ [LIBBLOCKDEV_SOFT_FAILURE([Header file $ac_header not found.])],
+ [])
+
++AC_CHECK_FUNCS([strerror_l])
++
+ AC_ARG_WITH([bcache],
+ AS_HELP_STRING([--with-bcache], [support bcache @<:@default=yes@:>@]),
+ [],
+diff --git a/src/plugins/crypto.c b/src/plugins/crypto.c
+index f4a2e8f..c1bd7b5 100644
+--- a/src/plugins/crypto.c
++++ b/src/plugins/crypto.c
+@@ -52,6 +52,13 @@
+
+ #define UNUSED __attribute__((unused))
+
++#if !defined(HAVE_STRERROR_L)
++static char *strerror_l(int errnum, locale_t locale UNUSED)
++{
++ return strerror(errnum);
++}
++#endif
++
+ /**
+ * SECTION: crypto
+ * @short_description: plugin for operations with encrypted devices
+diff --git a/src/utils/module.c b/src/utils/module.c
+index 9750e24..086bec0 100644
+--- a/src/utils/module.c
++++ b/src/utils/module.c
+@@ -27,6 +27,14 @@
+
+ #include "module.h"
+
++#define UNUSED __attribute__((unused))
++
++#if !defined(HAVE_STRERROR_L)
++static char *strerror_l(int errnum, locale_t locale UNUSED)
++{
++ return strerror(errnum);
++}
++#endif
+
+ /**
+ * bd_utils_module_error_quark: (skip)
+--
+2.26.2
+
diff --git a/package/libblockdev/Config.in b/package/libblockdev/Config.in
new file mode 100644
index 0000000000..3c501b7871
--- /dev/null
+++ b/package/libblockdev/Config.in
@@ -0,0 +1,70 @@
+config BR2_PACKAGE_LIBBLOCKDEV
+ bool "libblockdev"
+ depends on !BR2_STATIC_LIBS # kmod
+ depends on BR2_USE_WCHAR # libglib2
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
+ depends on BR2_USE_MMU # libglib2
+ depends on BR2_PACKAGE_HAS_UDEV
+ select BR2_PACKAGE_KMOD
+ select BR2_PACKAGE_LIBGLIB2
+ help
+ libblockdev is a C library supporting GObject introspection
+ for manipulation of block devices. It has a plugin-based
+ architecture where each technology (like LVM, Btrfs, MD RAID,
+ Swap,...) is implemented in a separate plugin, possibly with
+ multiple implementations.
+
+ https://github.com/storaged-project/libblockdev/
+
+if BR2_PACKAGE_LIBBLOCKDEV
+
+comment "plugins"
+
+config BR2_PACKAGE_LIBBLOCKDEV_CRYPTO
+ bool "crypto"
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4 # cryptsetup -> json-c
+ select BR2_PACKAGE_CRYPTSETUP
+
+config BR2_PACKAGE_LIBBLOCKDEV_FS
+ bool "filesystem"
+ depends on BR2_ENABLE_LOCALE # parted
+ select BR2_PACKAGE_PARTED
+
+comment "filesystem plugin needs a toolchain w/ locale"
+ depends on !BR2_ENABLE_LOCALE
+
+config BR2_PACKAGE_LIBBLOCKDEV_LOOP
+ bool "loop"
+
+config BR2_PACKAGE_LIBBLOCKDEV_LVM2
+ bool "lvm2"
+ depends on BR2_ENABLE_LOCALE # parted
+ select BR2_PACKAGE_PARTED
+ select BR2_PACKAGE_LVM2
+
+comment "lvm2 support needs a toolchain w/ locale"
+ depends on !BR2_ENABLE_LOCALE
+
+config BR2_PACKAGE_LIBBLOCKDEV_MDRAID
+ bool "mdraid"
+ select BR2_PACKAGE_LIBBYTESIZE
+
+config BR2_PACKAGE_LIBBLOCKDEV_PART
+ bool "part"
+ depends on BR2_ENABLE_LOCALE # parted
+ select BR2_PACKAGE_PARTED
+
+comment "part plugin needs a toolchain w/ locale"
+ depends on !BR2_ENABLE_LOCALE
+
+config BR2_PACKAGE_LIBBLOCKDEV_SWAP
+ bool "swap"
+ select BR2_PACKAGE_UTIL_LINUX
+ select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
+
+endif
+
+comment "libblockdev needs udev /dev management and a toolchain w/ wchar, threads, dynamic library"
+ depends on BR2_USE_MMU
+ depends on !BR2_PACKAGE_HAS_UDEV || BR2_STATIC_LIBS || \
+ !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/libblockdev/libblockdev.hash b/package/libblockdev/libblockdev.hash
new file mode 100644
index 0000000000..1c4b1ec7bf
--- /dev/null
+++ b/package/libblockdev/libblockdev.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 dc207c70dbef52c818a8abbcb6b8e298a6b63c0b78a5e1f2773b5f7b89300773 libblockdev-2.24.tar.gz
+sha256 97bdc721d875501b6243a456333fdfdb1ab64d31c4da2554de845caf4674b946 LICENSE
diff --git a/package/libblockdev/libblockdev.mk b/package/libblockdev/libblockdev.mk
new file mode 100644
index 0000000000..1b094555d2
--- /dev/null
+++ b/package/libblockdev/libblockdev.mk
@@ -0,0 +1,82 @@
+################################################################################
+#
+# libblockdev
+#
+################################################################################
+
+LIBBLOCKDEV_VERSION = 2.24
+LIBBLOCKDEV_SITE = https://github.com/storaged-project/libblockdev/releases/download/$(LIBBLOCKDEV_VERSION)-1
+LIBBLOCKDEV_LICENSE = LGPL-2.1
+LIBBLOCKDEV_LICENSE_FILES = LICENSE
+LIBBLOCKDEV_INSTALL_STAGING = YES
+LIBBLOCKDEV_DEPENDENCIES = host-pkgconf libglib2 kmod udev
+# 0001-Provide-replacement-function-for-strerror_l.patch
+LIBBLOCKDEV_AUTORECONF = YES
+
+LIBBLOCKDEV_CONF_OPTS = \
+ --disable-introspection \
+ --with-loop \
+ --without-bcache \
+ --without-btrfs \
+ --without-dm \
+ --without-dmraid \
+ --without-escrow \
+ --without-kbd \
+ --without-lvm_dbus \
+ --without-mpath \
+ --without-nvdimm \
+ --without-python2 \
+ --without-python3 \
+ --without-s390 \
+ --without-tools \
+ --without-vdo
+
+ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_CRYPTO),y)
+LIBBLOCKDEV_DEPENDENCIES += cryptsetup
+LIBBLOCKDEV_CONF_OPTS += --with-crypto
+else
+LIBBLOCKDEV_CONF_OPTS += --without-crypto
+endif
+
+ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_FS),y)
+LIBBLOCKDEV_DEPENDENCIES += parted
+LIBBLOCKDEV_CONF_OPTS += --with-fs
+else
+LIBBLOCKDEV_CONF_OPTS += --without-fs
+endif
+
+ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_LOOP),y)
+LIBBLOCKDEV_CONF_OPTS += --with-loop
+else
+LIBBLOCKDEV_CONF_OPTS += --without-loop
+endif
+
+ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_LVM2),y)
+LIBBLOCKDEV_DEPENDENCIES += lvm2 parted
+LIBBLOCKDEV_CONF_OPTS += --with-lvm
+else
+LIBBLOCKDEV_CONF_OPTS += --without-lvm
+endif
+
+ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_MDRAID),y)
+LIBBLOCKDEV_DEPENDENCIES += libbytesize
+LIBBLOCKDEV_CONF_OPTS += --with-mdraid
+else
+LIBBLOCKDEV_CONF_OPTS += --without-mdraid
+endif
+
+ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_PART),y)
+LIBBLOCKDEV_DEPENDENCIES += parted
+LIBBLOCKDEV_CONF_OPTS += --with-part
+else
+LIBBLOCKDEV_CONF_OPTS += --without-part
+endif
+
+ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_SWAP),y)
+LIBBLOCKDEV_DEPENDENCIES += util-linux
+LIBBLOCKDEV_CONF_OPTS += --with-swap
+else
+LIBBLOCKDEV_CONF_OPTS += --without-swap
+endif
+
+$(eval $(autotools-package))
diff --git a/package/libbytesize/0001-remove-msgcat-dependency.patch b/package/libbytesize/0001-remove-msgcat-dependency.patch
new file mode 100644
index 0000000000..4c9b96020e
--- /dev/null
+++ b/package/libbytesize/0001-remove-msgcat-dependency.patch
@@ -0,0 +1,36 @@
+From ac16b1a905dbdb06ac7bba6ac105686aa7958093 Mon Sep 17 00:00:00 2001
+From: Adam Duskett <Aduskett@gmail.com>
+Date: Fri, 24 Jul 2020 11:49:14 -0700
+Subject: [PATCH] remove msgcat dependency
+
+Gettext-tiny does not include the msgcat utility, which causes issues when
+building libbytesize for embedded systems, as many embedded systems do not
+build the full gettext, but instead use the gettext-tiny library.
+
+Because msgcat is not needed to build libbytesize, it's safe to remove the
+dependency.
+
+Upstream-status: pending
+https://github.com/storaged-project/libbytesize/pull/76
+Signed-off-by: Adam Duskett <Aduskett@gmail.com>
+---
+ configure.ac | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 2ec4062..7d7f218 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -13,8 +13,7 @@ AC_CONFIG_MACRO_DIR([m4])
+ AC_PATH_PROG([XGETTEXT], [xgettext])
+ AC_PATH_PROG([MSGFMT], [msgfmt])
+ AC_PATH_PROG([MSGMERGE], [msgmerge])
+-AC_PATH_PROG([MSGCAT], [msgcat])
+-AS_IF([test -z "$XGETTEXT" -o -z "$MSGFMT" -o -z "$MSGMERGE" -o -z "$MSGCAT"],
++AS_IF([test -z "$XGETTEXT" -o -z "$MSGFMT" -o -z "$MSGMERGE"],
+ [AC_MSG_FAILURE([gettext not found])])
+
+ # Define this so gettext.h works without requiring the whole gettext macro
+--
+2.26.2
+
diff --git a/package/libbytesize/Config.in b/package/libbytesize/Config.in
new file mode 100644
index 0000000000..6cc550e488
--- /dev/null
+++ b/package/libbytesize/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_LIBBYTESIZE
+ bool "libbytesize"
+ select BR2_PACKAGE_GMP
+ select BR2_PACKAGE_MPFR
+ select BR2_PACKAGE_PCRE2
+ help
+ A tiny library that facilitates the common operations with
+ sizes in bytes
+
+ https://github.com/storaged-project/libbytesize/
diff --git a/package/libbytesize/libbytesize.hash b/package/libbytesize/libbytesize.hash
new file mode 100644
index 0000000000..34cb3b210f
--- /dev/null
+++ b/package/libbytesize/libbytesize.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 3c74113fc8cd1a2fbd8870fa0ed7cef2ef24d60ef91e7145fbc041f9aa144479 libbytesize-2.3.tar.gz
+sha256 97bdc721d875501b6243a456333fdfdb1ab64d31c4da2554de845caf4674b946 LICENSE
diff --git a/package/libbytesize/libbytesize.mk b/package/libbytesize/libbytesize.mk
new file mode 100644
index 0000000000..b1309c1731
--- /dev/null
+++ b/package/libbytesize/libbytesize.mk
@@ -0,0 +1,27 @@
+################################################################################
+#
+# libbytesize
+#
+################################################################################
+
+LIBBYTESIZE_VERSION = 2.3
+LIBBYTESIZE_SITE = https://github.com/storaged-project/libbytesize/releases/download/$(LIBBYTESIZE_VERSION)
+LIBBYTESIZE_LICENSE = LGPL-2.1+
+LIBBYTESIZE_LICENSE_FILES = LICENSE
+LIBBYTESIZE_INSTALL_STAGING = YES
+
+# 0001-remove-msgcat-dependency.patch
+LIBBYTESIZE_AUTORECONF = YES
+
+LIBBYTESIZE_DEPENDENCIES = \
+ host-pkgconf \
+ host-gettext \
+ gmp \
+ mpfr \
+ pcre2
+
+LIBBYTESIZE_CONF_OPTS += \
+ --without-python3 \
+ --without-tools
+
+$(eval $(autotools-package))
diff --git a/package/libcamera/libcamera.hash b/package/libcamera/libcamera.hash
index 907764de63..676d3ac739 100644
--- a/package/libcamera/libcamera.hash
+++ b/package/libcamera/libcamera.hash
@@ -1,4 +1,4 @@
-sha256 6995be9d707ba3bcbe7a79bad894484561ee686f68b6523943ada7c0f6607e86 libcamera-96fab38e02792a109c0d35ca2154e95a7b4c8fcb.tar.gz
+sha256 55b7d7e5d8c70b2586b31544e6c4891a994c4e69c18d0ebd760e87b75277c348 libcamera-565f95d64ff92e8712e8090988180c343dd3bcb5.tar.gz
# license files
sha256 fd38b2c053c0cce46d9c5ef3545a6e34d157a240ba99c9b8dca5d37a8147da6c LICENSES/BSD-2-Clause.txt
diff --git a/package/libcamera/libcamera.mk b/package/libcamera/libcamera.mk
index 34911cee79..4a4bc4ea90 100644
--- a/package/libcamera/libcamera.mk
+++ b/package/libcamera/libcamera.mk
@@ -5,7 +5,7 @@
################################################################################
LIBCAMERA_SITE = https://git.linuxtv.org/libcamera.git
-LIBCAMERA_VERSION = 96fab38e02792a109c0d35ca2154e95a7b4c8fcb
+LIBCAMERA_VERSION = 565f95d64ff92e8712e8090988180c343dd3bcb5
LIBCAMERA_SITE_METHOD = git
LIBCAMERA_DEPENDENCIES = \
host-openssl \
@@ -66,10 +66,13 @@ LIBCAMERA_DEPENDENCIES += gstreamer1 gst1-plugins-base
endif
ifeq ($(BR2_PACKAGE_QT5BASE_WIDGETS),y)
+LIBCAMERA_CONF_OPTS += -Dqcam=enabled
LIBCAMERA_DEPENDENCIES += qt5base
ifeq ($(BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS),y)
LIBCAMERA_DEPENDENCIES += qt5tools
endif
+else
+LIBCAMERA_CONF_OPTS += -Dqcam=disabled
endif
ifeq ($(BR2_PACKAGE_TIFF),y)
diff --git a/package/libcap-ng/0001-Fix-compilation-without-pthread.h.patch b/package/libcap-ng/0001-Fix-compilation-without-pthread.h.patch
deleted file mode 100644
index eb91d40631..0000000000
--- a/package/libcap-ng/0001-Fix-compilation-without-pthread.h.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 1d28cf070933568db8006ce45411723c5369e145 Mon Sep 17 00:00:00 2001
-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: Tue, 10 Apr 2018 19:54:50 +0200
-Subject: [PATCH] Fix compilation without pthread.h
-
-Commit 7759e6f8469eb33aef1a1d5eba5d300c3a8fcb63 broke compilation on
-systems without pthread.h. So add a call to AC_CHECK_HEADERS in
-configure.ac and put include <pthread.h> under HAVE_PTHREAD_H define
-
-Fixes:
- - http://autobuild.buildroot.net/results/6132f33fb282fda3c39deb292784b9006c9e7872
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
----
- configure.ac | 1 +
- src/cap-ng.c | 2 ++
- 2 files changed, 3 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index 7a99c72..4d6afee 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -56,6 +56,7 @@ AC_CHECK_HEADERS(sys/xattr.h, [], [
- AC_CHECK_HEADERS(attr/xattr.h, [], [AC_MSG_WARN(attr/xattr.h not found, disabling file system capabilities.)])
- ])
- AC_CHECK_HEADERS(linux/securebits.h, [], [])
-+AC_CHECK_HEADERS(pthread.h, [], [AC_MSG_WARN(pthread.h not found, disabling pthread_atfork.)])
-
- AC_C_CONST
- AC_C_INLINE
-diff --git a/src/cap-ng.c b/src/cap-ng.c
-index db647fd..240d2ba 100644
---- a/src/cap-ng.c
-+++ b/src/cap-ng.c
-@@ -34,7 +34,9 @@
- #include <errno.h>
- #include <fcntl.h>
- #include <byteswap.h>
-+#ifdef HAVE_PTHREAD_H
- #include <pthread.h> // For pthread_atfork
-+#endif
- #ifdef HAVE_SYSCALL_H
- #include <sys/syscall.h>
- #endif
---
-2.14.1
-
diff --git a/package/libcap-ng/libcap-ng.hash b/package/libcap-ng/libcap-ng.hash
index f8342ea928..d1c7034c08 100644
--- a/package/libcap-ng/libcap-ng.hash
+++ b/package/libcap-ng/libcap-ng.hash
@@ -1,4 +1,4 @@
# Locally calculated
-sha256 4a1532bcf3731aade40936f6d6a586ed5a66ca4c7455e1338d1f6c3e09221328 libcap-ng-0.7.9.tar.gz
-sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING
-sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa COPYING.LIB
+sha256 85815c711862d01a440db471f12fba462c9949e923966f5859607e652d9c0ae9 libcap-ng-0.7.11.tar.gz
+sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING
+sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa COPYING.LIB
diff --git a/package/libcap-ng/libcap-ng.mk b/package/libcap-ng/libcap-ng.mk
index 102b472d1a..914a72333b 100644
--- a/package/libcap-ng/libcap-ng.mk
+++ b/package/libcap-ng/libcap-ng.mk
@@ -4,13 +4,11 @@
#
################################################################################
-LIBCAP_NG_VERSION = 0.7.9
+LIBCAP_NG_VERSION = 0.7.11
LIBCAP_NG_SITE = http://people.redhat.com/sgrubb/libcap-ng
LIBCAP_NG_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (library)
LIBCAP_NG_LICENSE_FILES = COPYING COPYING.LIB
LIBCAP_NG_INSTALL_STAGING = YES
-# 0001-Fix-compilation-without-pthread.h.patch
-LIBCAP_NG_AUTORECONF = YES
LIBCAP_NG_CONF_ENV = ac_cv_prog_swig_found=no
LIBCAP_NG_CONF_OPTS = --without-python
diff --git a/package/libcap/0001-build-system-fixes-for-cross-compilation.patch b/package/libcap/0001-build-system-fixes-for-cross-compilation.patch
deleted file mode 100644
index de2409085e..0000000000
--- a/package/libcap/0001-build-system-fixes-for-cross-compilation.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From d8d70559a279706c206761dfaf665d2197934123 Mon Sep 17 00:00:00 2001
-From: Gustavo Zacarias <gustavo@zacarias.com.ar>
-Date: Sun, 6 Mar 2016 22:52:02 +0100
-Subject: [PATCH] build-system: fixes for cross-compilation
-
-Avoid the libcap buildsys forcing CC/CFLAGS/LDFLAGS/AR/RANLIB
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-[yann.morin.1998@free.fr: dont chmod +x the shared lib]
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
-
-diff --git a/Make.Rules b/Make.Rules
-index 8347b26..8a07a3f 100644
---- a/Make.Rules
-+++ b/Make.Rules
-@@ -48,26 +48,26 @@ MINOR=25
- KERNEL_HEADERS := $(topdir)/libcap/include/uapi
- IPATH += -fPIC -I$(KERNEL_HEADERS) -I$(topdir)/libcap/include
-
--CC := gcc
--CFLAGS := -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
--BUILD_CC := $(CC)
--BUILD_CFLAGS := $(CFLAGS) $(IPATH)
--AR := ar
--RANLIB := ranlib
-+CC ?= gcc
-+CFLAGS ?= -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
-+BUILD_CC ?= $(CC)
-+BUILD_CFLAGS ?= $(CFLAGS) $(IPATH)
-+AR ?= ar
-+RANLIB ?= ranlib
- DEBUG = -g #-DDEBUG
- WARNINGS=-Wall -Wwrite-strings \
- -Wpointer-arith -Wcast-qual -Wcast-align \
- -Wstrict-prototypes -Wmissing-prototypes \
- -Wnested-externs -Winline -Wshadow
- LD=$(CC) -Wl,-x -shared
--LDFLAGS := #-g
-+LDFLAGS ?= #-g
- BUILD_GPERF := $(shell which gperf >/dev/null 2>/dev/null && echo yes)
-
- SYSTEM_HEADERS = /usr/include
- INCS=$(topdir)/libcap/include/sys/capability.h
- LDFLAGS += -L$(topdir)/libcap
- CFLAGS += -Dlinux $(WARNINGS) $(DEBUG)
--PAM_CAP := $(shell if [ -f /usr/include/security/pam_modules.h ]; then echo yes ; else echo no ; fi)
-+PAM_CAP = no
- INDENT := $(shell if [ -n "$$(which indent 2>/dev/null)" ]; then echo "| indent -kr" ; fi)
- DYNAMIC := $(shell if [ ! -d "$(topdir)/.git" ]; then echo yes; fi)
-
---
-1.9.1
-
diff --git a/package/libcap/0002-libcap-split-install-into-install-shared-install-sta.patch b/package/libcap/0002-libcap-split-install-into-install-shared-install-sta.patch
deleted file mode 100644
index a8579b7660..0000000000
--- a/package/libcap/0002-libcap-split-install-into-install-shared-install-sta.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From af21635665ab568f3333ff9fe8b474f4950e5acb Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Date: Sun, 6 Mar 2016 22:53:24 +0100
-Subject: [PATCH] libcap: split install into install-shared/install-static
-
-In order to support static only builds, split the install target into
-install-shared and install-static targets.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-[yann.morin.1998@free.fr: install the .pc file in the common rule]
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
-
-diff --git a/libcap/Makefile b/libcap/Makefile
-index d189777..44ddb27 100644
---- a/libcap/Makefile
-+++ b/libcap/Makefile
-@@ -62,19 +62,25 @@ $(MINLIBNAME): $(OBJS)
- cap_text.o: cap_text.c $(USE_GPERF_OUTPUT) $(INCLS)
- $(CC) $(CFLAGS) $(IPATH) $(INCLUDE_GPERF_OUTPUT) -c $< -o $@
-
--install: all
-+install: install-shared install-static
-+
-+install-common:
- mkdir -p -m 0755 $(FAKEROOT)$(INCDIR)/sys
- install -m 0644 include/sys/capability.h $(FAKEROOT)$(INCDIR)/sys
-+ mkdir -p -m 0755 $(FAKEROOT)$(PKGCONFIGDIR)
-+ install -m 0644 libcap.pc $(FAKEROOT)$(PKGCONFIGDIR)/libcap.pc
-+
-+install-static: $(STALIBNAME) install-common
- mkdir -p -m 0755 $(FAKEROOT)$(LIBDIR)
- install -m 0644 $(STALIBNAME) $(FAKEROOT)$(LIBDIR)/$(STALIBNAME)
-+
-+install-shared: $(MINLIBNAME) install-common
- install -m 0644 $(MINLIBNAME) $(FAKEROOT)$(LIBDIR)/$(MINLIBNAME)
- ln -sf $(MINLIBNAME) $(FAKEROOT)$(LIBDIR)/$(MAJLIBNAME)
- ln -sf $(MAJLIBNAME) $(FAKEROOT)$(LIBDIR)/$(LIBNAME)
- ifeq ($(FAKEROOT),)
- -/sbin/ldconfig
- endif
-- mkdir -p -m 0755 $(FAKEROOT)$(PKGCONFIGDIR)
-- install -m 0644 libcap.pc $(FAKEROOT)$(PKGCONFIGDIR)/libcap.pc
-
- clean:
- $(LOCALCLEAN)
---
-1.9.1
-
diff --git a/package/libcap/0003-libcap-cap_file.c-fix-build-with-old-kernel-headers.patch b/package/libcap/0003-libcap-cap_file.c-fix-build-with-old-kernel-headers.patch
deleted file mode 100644
index 02cc228b1d..0000000000
--- a/package/libcap/0003-libcap-cap_file.c-fix-build-with-old-kernel-headers.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From ace694e9574eb38e07cfe0db235434eb40003f47 Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Date: Mon, 14 Mar 2016 22:39:15 +0100
-Subject: [PATCH] libcap/cap_file.c: fix build with old kernel headers
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- libcap/cap_file.c | 27 +++++++++++++++++++++++++++
- 1 file changed, 27 insertions(+)
-
-diff --git a/libcap/cap_file.c b/libcap/cap_file.c
-index 40756ea..e3d54dd 100644
---- a/libcap/cap_file.c
-+++ b/libcap/cap_file.c
-@@ -23,6 +23,33 @@ extern int fsetxattr(int, const char *, const void *, size_t, int);
- extern int removexattr(const char *, const char *);
- extern int fremovexattr(int, const char *);
-
-+
-+/*
-+ * Old kernels (before 2.6.36) were defining XATTR_NAME_CAPS in
-+ * <linux/capability.h>, but using XATTR_SECURITY_PREFIX and
-+ * XATTR_CAPS_SUFFIX which were defined in the kernel-only part of
-+ * <linux/xattr.h>.
-+ *
-+ * In kernel 2.6.36 (commit af4f136056c984b0aa67feed7d3170b958370b2f),
-+ * the XATTR_NAME_CAPS definition was moved to the kernel-only part of
-+ * <linux/xattr.h>. It's only in kernel 3.0 (commit
-+ * 1dbe39424a43e56a6c9aed12661192af51dcdb9f) that <linux/xattr.h> was
-+ * fixed to expose XATTR_NAME_CAPS and the related definitions to
-+ * userspace.
-+ *
-+ * In order to cope with kernels < 3.0, we define here the appropriate
-+ * values, which we assume haven't changed over history.
-+ */
-+#ifndef XATTR_CAPS_SUFFIX
-+#define XATTR_CAPS_SUFFIX "capability"
-+#endif
-+#ifndef XATTR_SECURITY_PREFIX
-+#define XATTR_SECURITY_PREFIX "security."
-+#endif
-+#ifndef XATTR_NAME_CAPS
-+#define XATTR_NAME_CAPS XATTR_SECURITY_PREFIX XATTR_CAPS_SUFFIX
-+#endif
-+
- #include "libcap.h"
-
- #ifdef VFS_CAP_U32
---
-2.6.4
-
diff --git a/package/libcap/libcap.hash b/package/libcap/libcap.hash
index cbef0dc86d..19044cab01 100644
--- a/package/libcap/libcap.hash
+++ b/package/libcap/libcap.hash
@@ -1,5 +1,5 @@
# https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/sha256sums.asc
-sha256 dac1792d0118bee6aae6ba7fb93ff1602c6a9bda812fd63916eee1435b9c486a libcap-2.27.tar.xz
+sha256 3605a9cb60076547ea9f64989e0ba576da9508e4653e8dc40ae54c0d6f443dfd libcap-2.42.tar.xz
# Hash for license file:
-sha256 088cabde4662b4121258d298b0b2967bc1abffa134457ed9bc4a359685ab92bc License
+sha256 088cabde4662b4121258d298b0b2967bc1abffa134457ed9bc4a359685ab92bc License
diff --git a/package/libcap/libcap.mk b/package/libcap/libcap.mk
index 4919a4adca..08c1bc9deb 100644
--- a/package/libcap/libcap.mk
+++ b/package/libcap/libcap.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBCAP_VERSION = 2.27
+LIBCAP_VERSION = 2.42
LIBCAP_SITE = https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2
LIBCAP_SOURCE = libcap-$(LIBCAP_VERSION).tar.xz
LIBCAP_LICENSE = GPL-2.0 or BSD-3-Clause
diff --git a/package/libidn/libidn.hash b/package/libidn/libidn.hash
index f5ba311e90..0255a63950 100644
--- a/package/libidn/libidn.hash
+++ b/package/libidn/libidn.hash
@@ -1,7 +1,7 @@
# Locally computed:
-sha256 f11af1005b46b7b15d057d7f107315a1ad46935c7fcdf243c16e46ec14f0fe1e libidn-1.35.tar.gz
+sha256 14b67108344d81ba844631640df77c9071d9fb0659b080326ff5424e86b14038 libidn-1.36.tar.gz
# Hash for license files:
-sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYINGv2
-sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYINGv3
-sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING.LESSERv3
+sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYINGv2
+sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYINGv3
+sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING.LESSERv3
diff --git a/package/libidn/libidn.mk b/package/libidn/libidn.mk
index 601edcb57d..2df3437029 100644
--- a/package/libidn/libidn.mk
+++ b/package/libidn/libidn.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBIDN_VERSION = 1.35
+LIBIDN_VERSION = 1.36
LIBIDN_SITE = $(BR2_GNU_MIRROR)/libidn
LIBIDN_INSTALL_STAGING = YES
LIBIDN_CONF_ENV = EMACS="no" MAKEINFO=true
diff --git a/package/libinput/libinput.hash b/package/libinput/libinput.hash
index 97bdeb36e7..8c0bc520c1 100644
--- a/package/libinput/libinput.hash
+++ b/package/libinput/libinput.hash
@@ -1,8 +1,8 @@
-# From https://lists.freedesktop.org/archives/wayland-devel/2020-June/041478.html
-md5 b2388a1d6f0dcc944b49bc7239a53be8 libinput-1.15.6.tar.xz
-sha1 3313a4d76df51e62dfd3cf84918352faa0cf21de libinput-1.15.6.tar.xz
-sha256 aeedea216a6317ddc6e27c3d54f26b987078780db6a8320cc09e19c25b307f1c libinput-1.15.6.tar.xz
-sha512 90459e5a1f22fd42ffcbab157b461e4514c30803bcebdaced76c65c05cccfa6f259640a50497055fe7ed0b376a6979f6d1d01227ae447fe60ba88fa81142b969 libinput-1.15.6.tar.xz
+# From https://lists.freedesktop.org/archives/wayland-devel/2020-August/041578.html
+md5 b518dae7f603040872739216971ee97b libinput-1.16.0.tar.xz
+sha1 e9216dcc3e3d87d37371335380d15d2dc333e157 libinput-1.16.0.tar.xz
+sha256 83f6d0c94e5e0dd87094ce73f0edb631919617d24a60ee0ab9bd9197411d76e8 libinput-1.16.0.tar.xz
+sha512 0c932a88f2a1d23ebef0d58c0cdbfb558e9e3d990fca15b21f5b9011bdd1bc2da81aad374fcdb8f4590f6ee2fc45e668e0583371ceb354437e585240e687aac6 libinput-1.16.0.tar.xz
# License files
sha256 70d5b1dfe5a9c50a1f2ea91b1c2b1c85d876c5c92339585edbb85cf69e945e14 COPYING
diff --git a/package/libinput/libinput.mk b/package/libinput/libinput.mk
index 4d708955ea..c4fff60cae 100644
--- a/package/libinput/libinput.mk
+++ b/package/libinput/libinput.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBINPUT_VERSION = 1.15.6
+LIBINPUT_VERSION = 1.16.0
LIBINPUT_SOURCE = libinput-$(LIBINPUT_VERSION).tar.xz
LIBINPUT_SITE = http://www.freedesktop.org/software/libinput
LIBINPUT_DEPENDENCIES = host-pkgconf libevdev mtdev udev
diff --git a/package/libmatroska/libmatroska.hash b/package/libmatroska/libmatroska.hash
index 0ef5278e76..4c3d754f8f 100644
--- a/package/libmatroska/libmatroska.hash
+++ b/package/libmatroska/libmatroska.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 fec89cebd500807f7fd14b56c14733f11045fa2a21398ff6f6c5c0e3e01b4033 libmatroska-1.6.0.tar.xz
+sha256 bc4479aa8422ab07643df6a1fa5a19e4bed4badfd41ca77e081628620d1e1990 libmatroska-1.6.2.tar.xz
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL
diff --git a/package/libmatroska/libmatroska.mk b/package/libmatroska/libmatroska.mk
index 58f033ad8e..61222c2bf7 100644
--- a/package/libmatroska/libmatroska.mk
+++ b/package/libmatroska/libmatroska.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBMATROSKA_VERSION = 1.6.0
+LIBMATROSKA_VERSION = 1.6.2
LIBMATROSKA_SOURCE = libmatroska-$(LIBMATROSKA_VERSION).tar.xz
LIBMATROSKA_SITE = http://dl.matroska.org/downloads/libmatroska
LIBMATROSKA_INSTALL_STAGING = YES
diff --git a/package/libnpupnp/libnpupnp.hash b/package/libnpupnp/libnpupnp.hash
index 41cc41955b..3bad603269 100644
--- a/package/libnpupnp/libnpupnp.hash
+++ b/package/libnpupnp/libnpupnp.hash
@@ -1,5 +1,5 @@
-# Hashes from: http://www.lesbonscomptes.com/upmpdcli/downloads/libnpupnp-4.0.7.tar.gz.sha256
-sha256 30f15caa67dc83f76b0976438165aa4704a50c7e3e5444c50bb8cbad874877ca libnpupnp-4.0.7.tar.gz
+# Hashes from: http://www.lesbonscomptes.com/upmpdcli/downloads/libnpupnp-4.0.10.tar.gz.sha256
+sha256 a682d0584d79acd5a4d551ae18efc83cb0765624da27fb0edcd47e3fb94418f9 libnpupnp-4.0.10.tar.gz
# Hash for license file:
sha256 c8b99423cad48bb44e2cf52a496361404290865eac259a82da6d1e4331ececb3 COPYING
diff --git a/package/libnpupnp/libnpupnp.mk b/package/libnpupnp/libnpupnp.mk
index abd80ab63b..4575ad40f2 100644
--- a/package/libnpupnp/libnpupnp.mk
+++ b/package/libnpupnp/libnpupnp.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBNPUPNP_VERSION = 4.0.7
+LIBNPUPNP_VERSION = 4.0.10
LIBNPUPNP_SITE = http://www.lesbonscomptes.com/upmpdcli/downloads
LIBNPUPNP_LICENSE = BSD-3-Clause
LIBNPUPNP_LICENSE_FILES = COPYING
diff --git a/package/libnspr/libnspr.hash b/package/libnspr/libnspr.hash
index 3889a00d07..ec3d783503 100644
--- a/package/libnspr/libnspr.hash
+++ b/package/libnspr/libnspr.hash
@@ -1,4 +1,4 @@
-# From https://ftp.mozilla.org/pub/nspr/releases/v4.27/src/SHA256SUMS
-sha256 6d495192b6ab00a3c28db053492cf794329f7c0351a5728db198111a1816e89b nspr-4.27.tar.gz
+# From https://ftp.mozilla.org/pub/nspr/releases/v4.28/src/SHA256SUMS
+sha256 63defc8e19a80b6f98fcc7d5a89e84ea703c0b50aa6bc13bf7ad071adf433b56 nspr-4.28.tar.gz
# Locally calculated
sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 nspr/LICENSE
diff --git a/package/libnspr/libnspr.mk b/package/libnspr/libnspr.mk
index 8510d29e36..f43811d5d1 100644
--- a/package/libnspr/libnspr.mk
+++ b/package/libnspr/libnspr.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBNSPR_VERSION = 4.27
+LIBNSPR_VERSION = 4.28
LIBNSPR_SOURCE = nspr-$(LIBNSPR_VERSION).tar.gz
LIBNSPR_SITE = https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v$(LIBNSPR_VERSION)/src
LIBNSPR_SUBDIR = nspr
diff --git a/package/libnss/libnss.hash b/package/libnss/libnss.hash
index fcba10b99a..b153b614e9 100644
--- a/package/libnss/libnss.hash
+++ b/package/libnss/libnss.hash
@@ -1,4 +1,4 @@
-# From https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_55_RTM/src/SHA256SUMS
-sha256 fc692e3db45a082ee6328cd989e795c171a00df9c518df090937f7604f850004 nss-3.55.tar.gz
+# From https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_56_RTM/src/SHA256SUMS
+sha256 f875e0e8ed3b5ce92d675be4a55aa25a8c1199789a4a01f69b5f2327e2048e9c nss-3.56.tar.gz
# Locally calculated
sha256 a20c1a32d1f8102432360b42e932869f7c11c7cdbacf9cac554c422132af47f4 nss/COPYING
diff --git a/package/libnss/libnss.mk b/package/libnss/libnss.mk
index b4bb09364c..f28e16a406 100644
--- a/package/libnss/libnss.mk
+++ b/package/libnss/libnss.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBNSS_VERSION = 3.55
+LIBNSS_VERSION = 3.56
LIBNSS_SOURCE = nss-$(LIBNSS_VERSION).tar.gz
LIBNSS_SITE = https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_$(subst .,_,$(LIBNSS_VERSION))_RTM/src
LIBNSS_DISTDIR = dist
diff --git a/package/libuev/Config.in b/package/libuev/Config.in
new file mode 100644
index 0000000000..bb50099cee
--- /dev/null
+++ b/package/libuev/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_LIBUEV
+ bool "libuev"
+ help
+ Simple event loop for Linux.
+
+ https://github.com/troglobit/libuev
diff --git a/package/libuev/libuev.hash b/package/libuev/libuev.hash
new file mode 100644
index 0000000000..fece0e9b65
--- /dev/null
+++ b/package/libuev/libuev.hash
@@ -0,0 +1,4 @@
+# From https://github.com/troglobit/libuev/releases/download/v2.3.1/libuev-2.3.1.tar.xz.md5
+md5 ec601f69f69477858fa023a75da23793 libuev-2.3.1.tar.xz
+# License files
+sha256 3c2bf3fdd85687242ba6f2b02b6ce5176aba15b5e1a2ccb8b608439197ec4641 LICENSE
diff --git a/package/libuev/libuev.mk b/package/libuev/libuev.mk
new file mode 100644
index 0000000000..c7b73b4221
--- /dev/null
+++ b/package/libuev/libuev.mk
@@ -0,0 +1,15 @@
+################################################################################
+#
+# libuev
+#
+################################################################################
+
+LIBUEV_VERSION = 2.3.1
+LIBUEV_SOURCE = libuev-$(LIBUEV_VERSION).tar.xz
+LIBUEV_SITE = https://github.com/troglobit/libuev/releases/download/v$(LIBUEV_VERSION)
+LIBUEV_LICENSE = MIT
+LIBUEV_LICENSE_FILES = LICENSE
+LIBUEV_INSTALL_STAGING = YES
+LIBUEV_CONF_OPTS = --disable-examples
+
+$(eval $(autotools-package))
diff --git a/package/libuhttpd/libuhttpd.hash b/package/libuhttpd/libuhttpd.hash
index 49b40688b5..22357cd5eb 100644
--- a/package/libuhttpd/libuhttpd.hash
+++ b/package/libuhttpd/libuhttpd.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 cd76cf9a5d8c7f81832ab1b229ce3ff10137f161085f0170c128e43c49e905a4 libuhttpd-3.1.4.tar.gz
+sha256 b47623f023d6a1218f2cb078bcc9019949a7f30acce79423e524a481d4bc834d libuhttpd-3.2.0.tar.gz
sha256 99efed4bbc0b62f96f999ef23399e38234fb91651af734fd389a52b033a85b55 LICENSE
diff --git a/package/libuhttpd/libuhttpd.mk b/package/libuhttpd/libuhttpd.mk
index 9c026cff02..1bb071b3e4 100644
--- a/package/libuhttpd/libuhttpd.mk
+++ b/package/libuhttpd/libuhttpd.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBUHTTPD_VERSION = 3.1.4
+LIBUHTTPD_VERSION = 3.2.0
LIBUHTTPD_SITE = https://github.com/zhaojh329/libuhttpd/releases/download/v$(LIBUHTTPD_VERSION)
LIBUHTTPD_LICENSE = MIT
LIBUHTTPD_LICENSE_FILES = LICENSE
diff --git a/package/libupnpp/libupnpp.hash b/package/libupnpp/libupnpp.hash
index fb510236a3..dde0d970cb 100644
--- a/package/libupnpp/libupnpp.hash
+++ b/package/libupnpp/libupnpp.hash
@@ -1,5 +1,5 @@
-# Hashes from: http://www.lesbonscomptes.com/upmpdcli/downloads/libupnpp-0.19.2.tar.gz.sha256
-sha256 c9623533271605c92dfa603f5fe0ab6d3d5b4384a0c9173800784f4aa643a190 libupnpp-0.19.2.tar.gz
+# Hashes from: http://www.lesbonscomptes.com/upmpdcli/downloads/libupnpp-0.19.3.tar.gz.sha256
+sha256 a16f35ef1ce3d687e9599422c09677c2c1591bfcf68e242931082d4561f66be4 libupnpp-0.19.3.tar.gz
# Hash for license file:
sha256 00a89b0d18aacd4114decf79122db87bf35bddaf2bc50e383c9c9f4c263390b2 COPYING
diff --git a/package/libupnpp/libupnpp.mk b/package/libupnpp/libupnpp.mk
index ef1816166e..a8db575984 100644
--- a/package/libupnpp/libupnpp.mk
+++ b/package/libupnpp/libupnpp.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBUPNPP_VERSION = 0.19.2
+LIBUPNPP_VERSION = 0.19.3
LIBUPNPP_SITE = http://www.lesbonscomptes.com/upmpdcli/downloads
LIBUPNPP_LICENSE = LGPL-2.1+
LIBUPNPP_LICENSE_FILES = COPYING
diff --git a/package/libyang/libyang.hash b/package/libyang/libyang.hash
index 27bf8690c9..d318ecb9d6 100644
--- a/package/libyang/libyang.hash
+++ b/package/libyang/libyang.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 9ee400695b79514535db1b58657d5d5e13f2ccf7186cc1af7d9bc574081bab2e libyang-1.0.176.tar.gz
+sha256 1a5637451b73c4c5683837eb4c51371bb084795f653bc1a5fc20fed5541b58bc libyang-1.0.184.tar.gz
sha256 f942fe693e03e4e3ff67a351c00dc8f468a042e0d7273b0aa6bc53060b568112 LICENSE
diff --git a/package/libyang/libyang.mk b/package/libyang/libyang.mk
index 95185b1f9b..779c440e27 100644
--- a/package/libyang/libyang.mk
+++ b/package/libyang/libyang.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBYANG_VERSION = 1.0.176
+LIBYANG_VERSION = 1.0.184
LIBYANG_SITE = $(call github,CESNET,libyang,v$(LIBYANG_VERSION))
LIBYANG_LICENSE = BSD-3-Clause
LIBYANG_LICENSE_FILES = LICENSE
@@ -15,7 +15,8 @@ HOST_LIBYANG_DEPENDENCIES = host-pcre
LIBYANG_CONF_OPTS = \
-DENABLE_VALGRIND_TESTS=OFF \
- -DGEN_PYTHON_BINDINGS=OFF
+ -DGEN_PYTHON_BINDINGS=OFF \
+ -DENABLE_LYD_PRIV=ON
HOST_LIBYANG_CONF_OPTS = \
-DENABLE_VALGRIND_TESTS=OFF \
diff --git a/package/linuxptp/0002-fix-building-with-new-kernel-headers.patch b/package/linuxptp/0002-fix-building-with-new-kernel-headers.patch
deleted file mode 100644
index 332e5491ff..0000000000
--- a/package/linuxptp/0002-fix-building-with-new-kernel-headers.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From d663a483c40939bad58301c256d86da1f3da6cc0 Mon Sep 17 00:00:00 2001
-From: Miroslav Lichvar <mlichvar@redhat.com>
-Date: Tue, 13 Nov 2018 13:16:08 +0100
-Subject: [PATCH] Fix building with new kernel headers.
-
-net_tstamp.h in recent kernel versions requires time.h for clockid_t.
-
-Signed-off-by: Miroslav Lichvar <mlichvar@redhat.com>
----
- clock.c | 2 +-
- sk.c | 1 +
- timemaster.c | 1 +
- 3 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/clock.c b/clock.c
-index 9c493c3..8533b39 100644
---- a/clock.c
-+++ b/clock.c
-@@ -17,11 +17,11 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
- #include <errno.h>
-+#include <time.h>
- #include <linux/net_tstamp.h>
- #include <poll.h>
- #include <stdlib.h>
- #include <string.h>
--#include <time.h>
- #include <sys/queue.h>
-
- #include "address.h"
-diff --git a/sk.c b/sk.c
-index e2b1f28..30162eb 100644
---- a/sk.c
-+++ b/sk.c
-@@ -18,6 +18,7 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
- #include <errno.h>
-+#include <time.h>
- #include <linux/net_tstamp.h>
- #include <linux/sockios.h>
- #include <linux/ethtool.h>
-diff --git a/timemaster.c b/timemaster.c
-index 058678f..00db59f 100644
---- a/timemaster.c
-+++ b/timemaster.c
-@@ -22,6 +22,7 @@
- #include <errno.h>
- #include <libgen.h>
- #include <limits.h>
-+#include <time.h>
- #include <linux/net_tstamp.h>
- #include <net/if.h>
- #include <signal.h>
diff --git a/package/linuxptp/linuxptp.hash b/package/linuxptp/linuxptp.hash
index 5e6c7741cd..de82ff2b84 100644
--- a/package/linuxptp/linuxptp.hash
+++ b/package/linuxptp/linuxptp.hash
@@ -1,9 +1,9 @@
-# From https://sourceforge.net/projects/linuxptp/files/v2.0/
-sha1 592ca42c6146a79c1fcabed7c19fa7af4803d4f6 linuxptp-2.0.tgz
-md5 d8bb7374943bb747db7786ac26f17f11 linuxptp-2.0.tgz
+# From https://sourceforge.net/projects/linuxptp/files/v3.0/
+sha1 cf56f1ab6c622a569be8c14d2cb121f0183affc9 linuxptp-3.0.tgz
+md5 1318805702eb6d59f9f247e1dd5ce12a linuxptp-3.0.tgz
# Locally computed:
-sha256 0a24d9401e87d4af023d201e234d91127d82c350daad93432106284aa9459c7d linuxptp-2.0.tgz
+sha256 d74ceca722c75bfff53c633425f926dd48eb04f4a089451b855155c016d15785 linuxptp-3.0.tgz
# Hash for license file:
-sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
+sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
diff --git a/package/linuxptp/linuxptp.mk b/package/linuxptp/linuxptp.mk
index 921c55ad59..3d018a4657 100644
--- a/package/linuxptp/linuxptp.mk
+++ b/package/linuxptp/linuxptp.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LINUXPTP_VERSION = 2.0
+LINUXPTP_VERSION = 3.0
LINUXPTP_SOURCE = linuxptp-$(LINUXPTP_VERSION).tgz
LINUXPTP_SITE = http://downloads.sourceforge.net/linuxptp
LINUXPTP_LICENSE = GPL-2.0+
diff --git a/package/lua-compat53/Config.in b/package/lua-compat53/Config.in
index 76c5b3fd71..de468fcf66 100644
--- a/package/lua-compat53/Config.in
+++ b/package/lua-compat53/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_LUA_COMPAT53
bool "lua-compat53"
- depends on !BR2_PACKAGE_LUA_5_3
+ depends on BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_1
help
Compatibility module providing Lua-5.3-style APIs for Lua 5.2
and 5.1.
diff --git a/package/lua-cqueues/lua-cqueues.hash b/package/lua-cqueues/lua-cqueues.hash
index e12cdc642c..5803a60d50 100644
--- a/package/lua-cqueues/lua-cqueues.hash
+++ b/package/lua-cqueues/lua-cqueues.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 45b4a0105c096eee5840b69e8e0078eb7b5d61a23aeca30db710f1caac3ec399 lua-cqueues-20200603.tar.gz
+sha256 9e112edd246da5cfca264314b70325a0b63665cb87a00e45ee3ae4f194000d52 lua-cqueues-20200726.tar.gz
sha256 5f4b1f94047790eadf8fd0f9a8e3bd2895bea4c9a2c0f8bf7cd8c8e57caa5219 LICENSE
diff --git a/package/lua-cqueues/lua-cqueues.mk b/package/lua-cqueues/lua-cqueues.mk
index bfa1df7447..6d842eca97 100644
--- a/package/lua-cqueues/lua-cqueues.mk
+++ b/package/lua-cqueues/lua-cqueues.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LUA_CQUEUES_VERSION = 20200603
+LUA_CQUEUES_VERSION = 20200726
LUA_CQUEUES_SITE = $(call github,wahern,cqueues,rel-$(LUA_CQUEUES_VERSION))
LUA_CQUEUES_LICENSE = MIT
LUA_CQUEUES_LICENSE_FILES = LICENSE
diff --git a/package/lua-flu/Config.in b/package/lua-flu/Config.in
index 526dc90087..9b55ce5ab0 100644
--- a/package/lua-flu/Config.in
+++ b/package/lua-flu/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_LUA_FLU
depends on !BR2_STATIC_LIBS # libfuse
depends on BR2_TOOLCHAIN_HAS_THREADS # libfuse
depends on BR2_USE_MMU # libfuse
+ depends on !BR2_PACKAGE_LUA_5_4
select BR2_PACKAGE_ATTR
select BR2_PACKAGE_LIBFUSE
help
@@ -13,6 +14,6 @@ config BR2_PACKAGE_LUA_FLU
http://piratery.net/flu/
-comment "lua-flu needs a toolchain w/ threads, dynamic library"
+comment "lua-flu needs a toolchain w/ threads, dynamic library, Lua <= 5.3"
depends on BR2_USE_MMU
- depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || BR2_PACKAGE_LUA_5_4
diff --git a/package/lua-http/Config.in b/package/lua-http/Config.in
index cbf71563b0..8eefd481b5 100644
--- a/package/lua-http/Config.in
+++ b/package/lua-http/Config.in
@@ -4,7 +4,7 @@ config BR2_PACKAGE_LUA_HTTP
select BR2_PACKAGE_LPEG # runtime
select BR2_PACKAGE_LUA_BASEXX # runtime
select BR2_PACKAGE_LUA_BINARYHEAP # runtime
- select BR2_PACKAGE_LUA_COMPAT53 if !BR2_PACKAGE_LUA_5_3 # runtime
+ select BR2_PACKAGE_LUA_COMPAT53 if BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_1 # runtime
select BR2_PACKAGE_LUA_CQUEUES # runtime
select BR2_PACKAGE_LUA_FIFO # runtime
select BR2_PACKAGE_LUA_LPEG_PATTERNS # runtime
diff --git a/package/lua-messagepack/lua-messagepack.mk b/package/lua-messagepack/lua-messagepack.mk
index f393a8d028..33d460b4fc 100644
--- a/package/lua-messagepack/lua-messagepack.mk
+++ b/package/lua-messagepack/lua-messagepack.mk
@@ -6,7 +6,7 @@
LUA_MESSAGEPACK_VERSION_UPSTREAM = 0.5.2
LUA_MESSAGEPACK_VERSION = $(LUA_MESSAGEPACK_VERSION_UPSTREAM)-1
-ifeq ($(BR2_PACKAGE_LUA_5_3),y)
+ifeq ($(BR2_PACKAGE_LUA_5_3)$(BR2_PACKAGE_LUA_5_4),y)
LUA_MESSAGEPACK_NAME_UPSTREAM = lua-MessagePack-lua53
else
LUA_MESSAGEPACK_NAME_UPSTREAM = lua-MessagePack
diff --git a/package/lua-sdl2/Config.in b/package/lua-sdl2/Config.in
index 65f9e7ff41..d0c1b91eb1 100644
--- a/package/lua-sdl2/Config.in
+++ b/package/lua-sdl2/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_LUA_SDL2
bool "lua-sdl2"
depends on !BR2_STATIC_LIBS
+ depends on !BR2_PACKAGE_LUA_5_4
select BR2_PACKAGE_SDL2
help
Lua-SDL2 is a pure C binding of SDL2 to Lua 5.1, Lua 5.2,
@@ -8,5 +9,5 @@ config BR2_PACKAGE_LUA_SDL2
https://github.com/Tangent128/luasdl2
-comment "lua-sdl2 needs a toolchain w/ dynamic library"
- depends on BR2_STATIC_LIBS
+comment "lua-sdl2 needs a toolchain w/ dynamic library, Lua <= 5.3"
+ depends on BR2_STATIC_LIBS || BR2_PACKAGE_LUA_5_4
diff --git a/package/lua/5.4.0/0001-root-path.patch b/package/lua/5.4.0/0001-root-path.patch
new file mode 100644
index 0000000000..588fecb12d
--- /dev/null
+++ b/package/lua/5.4.0/0001-root-path.patch
@@ -0,0 +1,17 @@
+Adjust installation location to /usr.
+
+Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
+
+Index: b/src/luaconf.h
+===================================================================
+--- a/src/luaconf.h
++++ b/src/luaconf.h
+@@ -227,7 +227,7 @@
+
+ #else /* }{ */
+
+-#define LUA_ROOT "/usr/local/"
++#define LUA_ROOT "/usr/"
+ #define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/"
+ #define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/"
+
diff --git a/package/lua/5.4.0/0002-shared-libs-for-lua.patch b/package/lua/5.4.0/0002-shared-libs-for-lua.patch
new file mode 100644
index 0000000000..4ff2044298
--- /dev/null
+++ b/package/lua/5.4.0/0002-shared-libs-for-lua.patch
@@ -0,0 +1,78 @@
+Add the compilation of a shared library.
+Compile the lua binary with the shared library.
+And install the shared library.
+The variable BUILDMODE allows to switch between static and dynamic mode.
+
+Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
+
+Index: b/Makefile
+===================================================================
+--- a/Makefile
++++ b/Makefile
+@@ -42,6 +42,7 @@
+ TO_BIN= lua luac
+ TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
+ TO_LIB= liblua.a
++TO_SOLIB = liblua.so.$(R)
+ TO_MAN= lua.1 luac.1
+
+ # Lua version and release.
+@@ -57,6 +58,8 @@
+ install: dummy
+ cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
+ cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
++ test -f src/$(TO_SOLIB) && cd src && $(INSTALL_EXEC) $(TO_SOLIB) $(INSTALL_LIB) || :
++ test -f src/$(TO_SOLIB) && ln -sf $(TO_SOLIB) $(INSTALL_LIB)/liblua.so || :
+ cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
+ cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
+ cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
+Index: b/src/Makefile
+===================================================================
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -33,6 +33,7 @@
+ PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris
+
+ LUA_A= liblua.a
++LUA_SO= liblua.so
+ CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o
+ LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o
+ BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS)
+@@ -44,8 +45,13 @@
+ LUAC_O= luac.o
+
+ ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
++ifneq (dynamic,$(BUILDMODE))
+ ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
++else
++ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T)
++endif
+ ALL_A= $(LUA_A)
++ALL_SO= $(LUA_SO)
+
+ # Targets start here.
+ default: $(PLAT)
+@@ -56,12 +62,23 @@
+
+ a: $(ALL_A)
+
++so: $(ALL_SO)
++
+ $(LUA_A): $(BASE_O)
+ $(AR) $@ $(BASE_O)
+ $(RANLIB) $@
+
++$(LUA_SO): $(CORE_O) $(LIB_O)
++ $(CC) -o $@.$(PKG_VERSION) -shared -Wl,-soname="$@.$(PKG_VERSION)" $?
++ ln -fs $@.$(PKG_VERSION) $@
++
++ifneq (dynamic,$(BUILDMODE))
+ $(LUA_T): $(LUA_O) $(LUA_A)
+ $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
++else
++$(LUA_T): $(LUA_O) $(LUA_SO)
++ $(CC) -o $@ -L. $(LDFLAGS) $(LUA_O) -llua $(LIBS)
++endif
+
+ $(LUAC_T): $(LUAC_O) $(LUA_A)
+ $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
diff --git a/package/lua/5.4.0/0011-linenoise.patch b/package/lua/5.4.0/0011-linenoise.patch
new file mode 100644
index 0000000000..e842e5b1ef
--- /dev/null
+++ b/package/lua/5.4.0/0011-linenoise.patch
@@ -0,0 +1,25 @@
+Add support of linenoise (replace readline)
+
+see discussion, http://lua-users.org/lists/lua-l/2010-03/msg00879.html
+
+Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
+
+Index: b/src/lua.c
+===================================================================
+--- a/src/lua.c
++++ b/src/lua.c
+@@ -401,6 +401,14 @@
+ #define lua_saveline(L,line) ((void)L, add_history(line))
+ #define lua_freeline(L,b) ((void)L, free(b))
+
++#elif defined(LUA_USE_LINENOISE)
++
++#include <linenoise.h>
++#define lua_initreadline(L) ((void)L)
++#define lua_readline(L,b,p) ((void)L, ((b)=linenoise(p)) != NULL)
++#define lua_saveline(L,line) ((void)L, linenoiseHistoryAdd(line))
++#define lua_freeline(L,b) ((void)L, free(b))
++
+ #else /* }{ */
+
+ #define lua_initreadline(L) ((void)L)
diff --git a/package/lua/Config.in b/package/lua/Config.in
index d6ddc708e7..5d4cee5d5b 100644
--- a/package/lua/Config.in
+++ b/package/lua/Config.in
@@ -26,9 +26,13 @@ config BR2_PACKAGE_LUA_5_3
bool "Lua 5.3.x"
select BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_3
+config BR2_PACKAGE_LUA_5_4
+ bool "Lua 5.4.x"
+ select BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_4
+
endchoice
-if BR2_PACKAGE_LUA_5_3
+if BR2_PACKAGE_LUA_5_3 || BR2_PACKAGE_LUA_5_4
config BR2_PACKAGE_LUA_32BITS
bool "Use 32 bit numbers"
default y if !BR2_ARCH_IS_64
diff --git a/package/lua/lua.hash b/package/lua/lua.hash
index 3e7812b7dc..ab72480e55 100644
--- a/package/lua/lua.hash
+++ b/package/lua/lua.hash
@@ -1,4 +1,7 @@
# Hashes from: http://www.lua.org/ftp/
+md5 dbf155764e5d433fc55ae80ea7060b60 lua-5.4.0.tar.gz
+sha1 8cdbffa8a214a23d190d7c45f38c19518ae62e89 lua-5.4.0.tar.gz
+
md5 4f4b4f323fd3514a68e0ab3da8ce3455 lua-5.3.5.tar.gz
sha1 112eb10ff04d1b4c9898e121d6bdf54a81482447 lua-5.3.5.tar.gz
diff --git a/package/lua/lua.mk b/package/lua/lua.mk
index ce75af6b02..ee604b6121 100644
--- a/package/lua/lua.mk
+++ b/package/lua/lua.mk
@@ -4,7 +4,9 @@
#
################################################################################
-ifeq ($(BR2_PACKAGE_LUA_5_3),y)
+ifeq ($(BR2_PACKAGE_LUA_5_4),y)
+LUA_VERSION = 5.4.0
+else ifeq ($(BR2_PACKAGE_LUA_5_3),y)
LUA_VERSION = 5.3.5
else
LUA_VERSION = 5.1.5
@@ -12,7 +14,7 @@ endif
LUA_SITE = http://www.lua.org/ftp
LUA_INSTALL_STAGING = YES
LUA_LICENSE = MIT
-ifeq ($(BR2_PACKAGE_LUA_5_3),y)
+ifeq ($(BR2_PACKAGE_LUA_5_3)$(BR2_PACKAGE_LUA_5_4),y)
LUA_LICENSE_FILES = doc/readme.html
else
LUA_LICENSE_FILES = COPYRIGHT
@@ -22,7 +24,9 @@ LUA_PROVIDES = luainterpreter
LUA_CFLAGS = -Wall -fPIC -DLUA_USE_POSIX
-ifeq ($(BR2_PACKAGE_LUA_5_3),y)
+ifeq ($(BR2_PACKAGE_LUA_5_4),y)
+LUA_CFLAGS += -DLUA_COMPAT_5_3
+else ifeq ($(BR2_PACKAGE_LUA_5_3),y)
LUA_CFLAGS += -DLUA_COMPAT_5_2
endif
diff --git a/package/luainterpreter/Config.in b/package/luainterpreter/Config.in
index d35b35ff31..873fb345b9 100644
--- a/package/luainterpreter/Config.in
+++ b/package/luainterpreter/Config.in
@@ -9,6 +9,7 @@ config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION
string
default "5.1" if BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_1
default "5.3" if BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_3
+ default "5.4" if BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_4
config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_1
bool
@@ -16,6 +17,9 @@ config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_1
config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_3
bool
+config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_4
+ bool
+
config BR2_PACKAGE_PROVIDES_HOST_LUAINTERPRETER
string
default "host-lua"
diff --git a/package/luainterpreter/luainterpreter.mk b/package/luainterpreter/luainterpreter.mk
index 58d421b183..9d9f85a579 100644
--- a/package/luainterpreter/luainterpreter.mk
+++ b/package/luainterpreter/luainterpreter.mk
@@ -7,15 +7,11 @@
LUAINTERPRETER_ABIVER = $(call qstrip,$(BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION))
# Lua packages often install documentation, clean that up globally
-# Since luainterpreter is a virtual package, we can't use
-# LUAINTERPRETER_TARGET_FINALIZE_HOOKS
-ifeq ($(BR2_PACKAGE_HAS_LUAINTERPRETER),y)
define LUAINTERPRETER_REMOVE_DOC
rm -rf $(TARGET_DIR)/usr/share/lua/$(LUAINTERPRETER_ABIVER)/doc
endef
-TARGET_FINALIZE_HOOKS += LUAINTERPRETER_REMOVE_DOC
-endif
+LUAINTERPRETER_TARGET_FINALIZE_HOOKS += LUAINTERPRETER_REMOVE_DOC
$(eval $(virtual-package))
$(eval $(host-virtual-package))
diff --git a/package/lualogging/Config.in b/package/lualogging/Config.in
index a1ed775fb1..79e352a752 100644
--- a/package/lualogging/Config.in
+++ b/package/lualogging/Config.in
@@ -6,4 +6,4 @@ config BR2_PACKAGE_LUALOGGING
supports, through the use of appenders, console, file, rolling
file, email, socket and SQL outputs.
- https://github.com/Neopallium/lualogging
+ https://github.com/keplerproject/lualogging
diff --git a/package/lualogging/lualogging.hash b/package/lualogging/lualogging.hash
index e2ba5df3a8..6cd82ab2ec 100644
--- a/package/lualogging/lualogging.hash
+++ b/package/lualogging/lualogging.hash
@@ -1,3 +1,3 @@
# computed by luarocks/buildroot
-sha256 6ca3827c4903814626b96011e17ad99b42ecfa983b605aa75bf58f17e90ed58d lualogging-1.3.0-1.src.rock
-sha256 4e86086c032a006ce1289565cc9d9afff26b5117891cd26ffa15aa866bd28ee5 lualogging/COPYRIGHT
+sha256 54501b7b84c28fa0c0d310ebfceb6e30be3396bd8aa9caaef7ddfbb0ac0976bc lualogging-1.4.0-1.src.rock
+sha256 895d1a80efc5fc60236b70c4bf60bdec409c56c75b4ebe4c2da9cb20a1a11908 lualogging/COPYRIGHT
diff --git a/package/lualogging/lualogging.mk b/package/lualogging/lualogging.mk
index 3444a29886..26df9e3314 100644
--- a/package/lualogging/lualogging.mk
+++ b/package/lualogging/lualogging.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LUALOGGING_VERSION = 1.3.0-1
+LUALOGGING_VERSION = 1.4.0-1
LUALOGGING_SUBDIR = lualogging
LUALOGGING_LICENSE = MIT
LUALOGGING_LICENSE_FILES = $(LUALOGGING_SUBDIR)/COPYRIGHT
diff --git a/package/luv/Config.in b/package/luv/Config.in
index 434cb3b459..3be204cab3 100644
--- a/package/luv/Config.in
+++ b/package/luv/Config.in
@@ -4,13 +4,14 @@ config BR2_PACKAGE_LUV
depends on BR2_USE_MMU # libuv
depends on !BR2_STATIC_LIBS # libuv
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv
+ depends on !BR2_PACKAGE_LUA_5_4
select BR2_PACKAGE_LIBUV
help
libuv bindings for LuaJIT and Lua.
https://github.com/luvit/luv
-comment "luv needs a toolchain w/ NPTL, dynamic library"
- depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS
+comment "luv needs a toolchain w/ NPTL, dynamic library, Lua <= 5.3"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS || BR2_PACKAGE_LUA_5_4
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_SYNC_4
diff --git a/package/mesa3d-headers/mesa3d-headers.mk b/package/mesa3d-headers/mesa3d-headers.mk
index 2eb18c3dac..27cee7388f 100644
--- a/package/mesa3d-headers/mesa3d-headers.mk
+++ b/package/mesa3d-headers/mesa3d-headers.mk
@@ -12,7 +12,7 @@ endif
# Not possible to directly refer to mesa3d variables, because of
# first/second expansion trickery...
-MESA3D_HEADERS_VERSION = 20.1.4
+MESA3D_HEADERS_VERSION = 20.1.6
MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz
MESA3D_HEADERS_SITE = https://mesa.freedesktop.org/archive
MESA3D_HEADERS_DL_SUBDIR = mesa3d
diff --git a/package/mesa3d/mesa3d.hash b/package/mesa3d/mesa3d.hash
index 10baee0aa4..e589eaeaff 100644
--- a/package/mesa3d/mesa3d.hash
+++ b/package/mesa3d/mesa3d.hash
@@ -1,6 +1,6 @@
-# From https://lists.freedesktop.org/archives/mesa-announce/2020-July/000591.html
-sha256 6800271c2be2a0447510eb4e9b67edd9521859a4d565310617c4b359eb6799fe mesa-20.1.4.tar.xz
-sha512 f4d79694cda8531e7560147caf5d18bce5c685cd6c61264dced5adaa9043be9c83d3a2bd623ebffedc8d4258b9b1f97d84d9aeea307aa77cf99d0bc47c987155 mesa-20.1.4.tar.xz
+# From https://lists.freedesktop.org/archives/mesa-announce/2020-August/000595.html
+sha256 23bed40114b03ad640c95bfe72cc879ed2f941d0d481b77b5204a1fc567fa93c mesa-20.1.6.tar.xz
+sha512 5ef28334ecb7effaaf597ea3efe0406af62419e6fa629e835d843161ab8d83515626ec0f0495c4cc66af9e5669398ac96c16ca626e4965a9831e1704c995fb09 mesa-20.1.6.tar.xz
# License
sha256 1ddae7da415352a5b5360ff3a9d7ecf23ba81408f62eeecce0011f32e3ef9da6 docs/license.html
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index 4a17b2e7a2..5f1ed5ebfb 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -5,7 +5,7 @@
################################################################################
# When updating the version, please also update mesa3d-headers
-MESA3D_VERSION = 20.1.4
+MESA3D_VERSION = 20.1.6
MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz
MESA3D_SITE = https://mesa.freedesktop.org/archive
MESA3D_LICENSE = MIT, SGI, Khronos
diff --git a/package/meson-tools/Config.in.host b/package/meson-tools/Config.in.host
new file mode 100644
index 0000000000..677b206b66
--- /dev/null
+++ b/package/meson-tools/Config.in.host
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_HOST_MESON_TOOLS
+ bool "host meson-tools"
+ help
+ meson-tools is a collection of tools for use with the
+ Amlogic Meson family of ARM based SoCs. It allows management
+ of signatures which are required for booting amlogic based
+ boards with u-boot.
+
+ https://github.com/afaerber/meson-tools
diff --git a/package/meson-tools/meson-tools.hash b/package/meson-tools/meson-tools.hash
new file mode 100644
index 0000000000..7b2c0d2f7e
--- /dev/null
+++ b/package/meson-tools/meson-tools.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 10d707b2f741df03ff5000f2a82c6f577036ce1cd34d9278b22b92cb616b6fce meson-tools-0a02e2d34413f4bf9b15946352bc8c8ee13a5843.tar.gz
+sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
diff --git a/package/meson-tools/meson-tools.mk b/package/meson-tools/meson-tools.mk
new file mode 100644
index 0000000000..037faf3e6b
--- /dev/null
+++ b/package/meson-tools/meson-tools.mk
@@ -0,0 +1,26 @@
+################################################################################
+#
+# meson-tools
+#
+################################################################################
+
+HOST_MESON_TOOLS_VERSION = 0a02e2d34413f4bf9b15946352bc8c8ee13a5843
+HOST_MESON_TOOLS_SITE = $(call github,afaerber,meson-tools,$(HOST_MESON_TOOLS_VERSION))
+HOST_MESON_TOOLS_LICENSE = GPL-2.0+
+HOST_MESON_TOOLS_LICENSE_FILES = COPYING
+HOST_MESON_TOOLS_DEPENDENCIES = host-openssl
+
+HOST_MESON_TOOLS_PROGS = amlbootsig unamlbootsig amlinfo
+
+define HOST_MESON_TOOLS_BUILD_CMDS
+ $(HOST_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_CONFIGURE_OPTS) \
+ LDFLAGS="$(HOST_LDFLAGS) -lssl -lcrypto"
+endef
+
+define HOST_MESON_TOOLS_INSTALL_CMDS
+ $(foreach f,$(HOST_MESON_TOOLS_PROGS), \
+ $(INSTALL) -D -m 0755 $(@D)/$(f) $(HOST_DIR)/bin/$(f)
+ )
+endef
+
+$(eval $(host-generic-package))
diff --git a/package/meson/0003-backends-fix-rpath-match-pattern.patch b/package/meson/0003-backends-fix-rpath-match-pattern.patch
deleted file mode 100644
index f4477b59d2..0000000000
--- a/package/meson/0003-backends-fix-rpath-match-pattern.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-From 1ce4258c219fe08b6d6eaa6aa944f27d91d054cb Mon Sep 17 00:00:00 2001
-From: James Hilliard <james.hilliard1@gmail.com>
-Date: Sat, 18 Jul 2020 17:01:33 -0600
-Subject: [PATCH] backends: fix rpath match pattern
-
-Since -Wl,-rpath= is not the only valid rpath ldflags syntax we
-need to try and match all valid rpath ldflags.
-
-In addition we should prevent -Wl,--just-symbols from being used to
-set rpath due to inconsistent compiler support.
-
-Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
-[james.hilliard1@gmail.com: backport from upstream commit
-1ce4258c219fe08b6d6eaa6aa944f27d91d054cb]
----
- mesonbuild/backend/backends.py | 30 ++++++++++++++++++++++++--
- run_unittests.py | 39 +++++++++++++++++++++++-----------
- 2 files changed, 55 insertions(+), 14 deletions(-)
-
-diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
-index cfd3a397f..e053f67e6 100644
---- a/mesonbuild/backend/backends.py
-+++ b/mesonbuild/backend/backends.py
-@@ -14,6 +14,7 @@
-
- from collections import OrderedDict
- from functools import lru_cache
-+from pathlib import Path
- import enum
- import json
- import os
-@@ -455,10 +456,35 @@ class Backend:
- args.extend(self.environment.coredata.get_external_link_args(target.for_machine, lang))
- except Exception:
- pass
-+ # Match rpath formats:
-+ # -Wl,-rpath=
-+ # -Wl,-rpath,
-+ rpath_regex = re.compile(r'-Wl,-rpath[=,]([^,]+)')
-+ # Match solaris style compat runpath formats:
-+ # -Wl,-R
-+ # -Wl,-R,
-+ runpath_regex = re.compile(r'-Wl,-R[,]?([^,]+)')
-+ # Match symbols formats:
-+ # -Wl,--just-symbols=
-+ # -Wl,--just-symbols,
-+ symbols_regex = re.compile(r'-Wl,--just-symbols[=,]([^,]+)')
- for arg in args:
-- if arg.startswith('-Wl,-rpath='):
-- for dir in arg.replace('-Wl,-rpath=','').split(':'):
-+ rpath_match = rpath_regex.match(arg)
-+ if rpath_match:
-+ for dir in rpath_match.group(1).split(':'):
- dirs.add(dir)
-+ runpath_match = runpath_regex.match(arg)
-+ if runpath_match:
-+ for dir in runpath_match.group(1).split(':'):
-+ # The symbols arg is an rpath if the path is a directory
-+ if Path(dir).is_dir():
-+ dirs.add(dir)
-+ symbols_match = symbols_regex.match(arg)
-+ if symbols_match:
-+ for dir in symbols_match.group(1).split(':'):
-+ # Prevent usage of --just-symbols to specify rpath
-+ if Path(dir).is_dir():
-+ raise MesonException('Invalid arg for --just-symbols, {} is a directory.'.format(dir))
- return dirs
-
- def rpaths_for_bundled_shared_libraries(self, target, exclude_system=True):
-diff --git a/run_unittests.py b/run_unittests.py
-index b5294b9f8..73131c75b 100755
---- a/run_unittests.py
-+++ b/run_unittests.py
-@@ -6473,19 +6473,34 @@ class LinuxlikeTests(BasePlatformTests):
- self.init(yonder_dir)
- self.build()
- self.install(use_destdir=False)
-- self.new_builddir()
-
-- # Build an app that uses that installed library.
-- # Supply the rpath to the installed library via LDFLAGS
-- # (as systems like buildroot and guix are wont to do)
-- # and verify install preserves that rpath.
-- env = {'LDFLAGS': '-Wl,-rpath=' + yonder_libdir,
-- 'PKG_CONFIG_PATH': os.path.join(yonder_libdir, 'pkgconfig')}
-- self.init(testdir, override_envvars=env)
-- self.build()
-- self.install(use_destdir=False)
-- got_rpath = get_rpath(os.path.join(yonder_prefix, 'bin/rpathified'))
-- self.assertEqual(got_rpath, yonder_libdir)
-+ # Since rpath has multiple valid formats we need to
-+ # test that they are all properly used.
-+ rpath_formats = [
-+ ('-Wl,-rpath=', False),
-+ ('-Wl,-rpath,', False),
-+ ('-Wl,--just-symbols=', True),
-+ ('-Wl,--just-symbols,', True),
-+ ('-Wl,-R', False),
-+ ('-Wl,-R,', False)
-+ ]
-+ for rpath_format, exception in rpath_formats:
-+ # Build an app that uses that installed library.
-+ # Supply the rpath to the installed library via LDFLAGS
-+ # (as systems like buildroot and guix are wont to do)
-+ # and verify install preserves that rpath.
-+ self.new_builddir()
-+ env = {'LDFLAGS': rpath_format + yonder_libdir,
-+ 'PKG_CONFIG_PATH': os.path.join(yonder_libdir, 'pkgconfig')}
-+ if exception:
-+ with self.assertRaises(subprocess.CalledProcessError):
-+ self.init(testdir, override_envvars=env)
-+ break
-+ self.init(testdir, override_envvars=env)
-+ self.build()
-+ self.install(use_destdir=False)
-+ got_rpath = get_rpath(os.path.join(yonder_prefix, 'bin/rpathified'))
-+ self.assertEqual(got_rpath, yonder_libdir, rpath_format)
-
- @skip_if_not_base_option('b_sanitize')
- def test_pch_with_address_sanitizer(self):
---
-2.25.1
-
diff --git a/package/meson/meson.hash b/package/meson/meson.hash
index c88ea8e904..331e50c038 100644
--- a/package/meson/meson.hash
+++ b/package/meson/meson.hash
@@ -1,4 +1,4 @@
# Locally calculated after checking pgp signature
-# https://github.com/mesonbuild/meson/releases/download/0.55.0/meson-0.55.0.tar.gz.asc
-sha256 0a1ae2bfe2ae14ac47593537f93290fb79e9b775c55b4c53c282bc3ca3745b35 meson-0.55.0.tar.gz
+# https://github.com/mesonbuild/meson/releases/download/0.55.1/meson-0.55.1.tar.gz.asc
+sha256 3b5741f884e04928bdfa1947467ff06afa6c98e623c25cef75adf71ca39ce080 meson-0.55.1.tar.gz
sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING
diff --git a/package/meson/meson.mk b/package/meson/meson.mk
index f698226a45..8633a2f717 100644
--- a/package/meson/meson.mk
+++ b/package/meson/meson.mk
@@ -4,7 +4,7 @@
#
################################################################################
-MESON_VERSION = 0.55.0
+MESON_VERSION = 0.55.1
MESON_SITE = https://github.com/mesonbuild/meson/releases/download/$(MESON_VERSION)
MESON_LICENSE = Apache-2.0
MESON_LICENSE_FILES = COPYING
diff --git a/package/musl/musl.hash b/package/musl/musl.hash
index 9d8b61e165..39f1057961 100644
--- a/package/musl/musl.hash
+++ b/package/musl/musl.hash
@@ -1,4 +1,4 @@
# Locally calculated after checking pgp signature from
-# https://musl.libc.org/releases/musl-1.2.0.tar.gz.asc
-sha256 c6de7b191139142d3f9a7b5b702c9cae1b5ee6e7f57e582da9328629408fd4e8 musl-1.2.0.tar.gz
-sha256 afe1df384787fce3577f3356b8b0d417381483f7c704eacb63f8050349fac77a COPYRIGHT
+# https://musl.libc.org/releases/musl-1.2.1.tar.gz.asc
+sha256 68af6e18539f646f9c41a3a2bb25be4a5cfa5a8f65f0bb647fd2bbfdf877e84b musl-1.2.1.tar.gz
+sha256 f9bc4423732350eb0b3f7ed7e91d530298476f8fec0c6c427a1c04ade22655af COPYRIGHT
diff --git a/package/musl/musl.mk b/package/musl/musl.mk
index 9482c0b246..bc4237968d 100644
--- a/package/musl/musl.mk
+++ b/package/musl/musl.mk
@@ -4,7 +4,7 @@
#
################################################################################
-MUSL_VERSION = 1.2.0
+MUSL_VERSION = 1.2.1
MUSL_SITE = http://www.musl-libc.org/releases
MUSL_LICENSE = MIT
MUSL_LICENSE_FILES = COPYRIGHT
diff --git a/package/mutt/mutt.hash b/package/mutt/mutt.hash
index 972d1433df..e3007370a4 100644
--- a/package/mutt/mutt.hash
+++ b/package/mutt/mutt.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 ca8e56f8210b4fffa91ea08958b62b811cce552fe4fd7d726111cf53079ed3c3 mutt-1.14.4.tar.gz
+sha256 47972a0152b81b9f67ff322a0a6682b914c15545bfdeac6bcc2f2c0bf9361844 mutt-1.14.6.tar.gz
sha256 732f24b69a6c71cd8e01e4672bb8e12cc1cbb88a50a4665e6ca4fd95000a57ee GPL
diff --git a/package/mutt/mutt.mk b/package/mutt/mutt.mk
index b8a116aab0..6c85202fc0 100644
--- a/package/mutt/mutt.mk
+++ b/package/mutt/mutt.mk
@@ -4,7 +4,7 @@
#
################################################################################
-MUTT_VERSION = 1.14.4
+MUTT_VERSION = 1.14.6
MUTT_SITE = https://bitbucket.org/mutt/mutt/downloads
MUTT_LICENSE = GPL-2.0+
MUTT_LICENSE_FILES = GPL
diff --git a/package/nano/nano.hash b/package/nano/nano.hash
index 54c8ab591d..792f18a098 100644
--- a/package/nano/nano.hash
+++ b/package/nano/nano.hash
@@ -1,5 +1,5 @@
# Locally calculated after checking pgp signature
-# https://www.nano-editor.org/dist/v4/nano-4.9.3.tar.xz.asc
+# https://www.nano-editor.org/dist/v5/nano-5.2.tar.xz.asc
# using key BFD009061E535052AD0DF2150D28D4D2A0ACE884
-sha256 6e3438f033a0ed07d3d74c30d0803cbda3d2366ba1601b7bbf9b16ac371f51b4 nano-4.9.3.tar.xz
+sha256 32c2da43e1ae9a5e43437d8c6e1ec0388af870c7762c479e5bffb5f292bda7e1 nano-5.2.tar.xz
sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING
diff --git a/package/nano/nano.mk b/package/nano/nano.mk
index f3dd9fc895..67ce072980 100644
--- a/package/nano/nano.mk
+++ b/package/nano/nano.mk
@@ -4,8 +4,8 @@
#
################################################################################
-NANO_VERSION_MAJOR = 4
-NANO_VERSION = $(NANO_VERSION_MAJOR).9.3
+NANO_VERSION_MAJOR = 5
+NANO_VERSION = $(NANO_VERSION_MAJOR).2
NANO_SITE = https://www.nano-editor.org/dist/v$(NANO_VERSION_MAJOR)
NANO_SOURCE = nano-$(NANO_VERSION).tar.xz
NANO_LICENSE = GPL-3.0+
diff --git a/package/nasm/nasm.hash b/package/nasm/nasm.hash
index d824f22b86..7d04add9dc 100644
--- a/package/nasm/nasm.hash
+++ b/package/nasm/nasm.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 e24ade3e928f7253aa8c14aa44726d1edf3f98643f87c9d72ec1df44b26be8f5 nasm-2.14.02.tar.xz
-sha256 1563996c52e220e15ef2418e67d39488255aa8c28c89e617074d3afe3ee329e0 LICENSE
+sha256 b0891d23aa083546e7845dfaa0a9109a03f1f57ad0740e7acd07f80df57876d8 nasm-2.15.04.tar.xz
+sha256 1563996c52e220e15ef2418e67d39488255aa8c28c89e617074d3afe3ee329e0 LICENSE
diff --git a/package/nasm/nasm.mk b/package/nasm/nasm.mk
index 5a46fd0a4b..63ff52a4af 100644
--- a/package/nasm/nasm.mk
+++ b/package/nasm/nasm.mk
@@ -4,7 +4,7 @@
#
################################################################################
-NASM_VERSION = 2.14.02
+NASM_VERSION = 2.15.04
NASM_SOURCE = nasm-$(NASM_VERSION).tar.xz
NASM_SITE = https://www.nasm.us/pub/nasm/releasebuilds/$(NASM_VERSION)
NASM_LICENSE = BSD-2-Clause
diff --git a/package/ncmpc/ncmpc.hash b/package/ncmpc/ncmpc.hash
index f31c15bd9e..a95358ec5f 100644
--- a/package/ncmpc/ncmpc.hash
+++ b/package/ncmpc/ncmpc.hash
@@ -1,5 +1,5 @@
# Locally calculated after checking pgp signature
-sha256 2bc1aa38aacd23131895cd9aa3abd9d1ca5700857034d9f35209e13e061e27a2 ncmpc-0.38.tar.xz
+sha256 64ebe320c2fbe4dfbff4461ceae730001841d06d48c4882d69f320912a0f11a8 ncmpc-0.39.tar.xz
# Hash for license file:
sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING
diff --git a/package/ncmpc/ncmpc.mk b/package/ncmpc/ncmpc.mk
index d4dfceae36..1742ad20fa 100644
--- a/package/ncmpc/ncmpc.mk
+++ b/package/ncmpc/ncmpc.mk
@@ -5,7 +5,7 @@
################################################################################
NCMPC_VERSION_MAJOR = 0
-NCMPC_VERSION = $(NCMPC_VERSION_MAJOR).38
+NCMPC_VERSION = $(NCMPC_VERSION_MAJOR).39
NCMPC_SOURCE = ncmpc-$(NCMPC_VERSION).tar.xz
NCMPC_SITE = http://www.musicpd.org/download/ncmpc/$(NCMPC_VERSION_MAJOR)
NCMPC_DEPENDENCIES = \
diff --git a/package/netdata/netdata.hash b/package/netdata/netdata.hash
index 2d6bd2a9a8..8d5ce51fca 100644
--- a/package/netdata/netdata.hash
+++ b/package/netdata/netdata.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 b6a80ac1e86d8a8d6fa16bba2ad15e8a8e5a89e3437cb7f30c538d11b95b5325 netdata-1.21.0.tar.gz
+sha256 60cdde3f1f8bd9035fef6a566053c0a7195d1714b5da6814473263e85382b4a8 netdata-1.21.1.tar.gz
sha256 0e5fd9d833efe9b79f784d1903281554af82d1b4261af67d35455728e5572aa6 LICENSE
diff --git a/package/netdata/netdata.mk b/package/netdata/netdata.mk
index 34d6d53d0f..1c20c49dee 100644
--- a/package/netdata/netdata.mk
+++ b/package/netdata/netdata.mk
@@ -4,7 +4,7 @@
#
################################################################################
-NETDATA_VERSION = 1.21.0
+NETDATA_VERSION = 1.21.1
NETDATA_SITE = $(call github,netdata,netdata,v$(NETDATA_VERSION))
NETDATA_LICENSE = GPL-3.0+
NETDATA_LICENSE_FILES = LICENSE
diff --git a/package/netopeer2/0001-build-BUGFIX-take-DESTDIR-into-account-649.patch b/package/netopeer2/0001-build-BUGFIX-take-DESTDIR-into-account-649.patch
deleted file mode 100644
index bff4337fe7..0000000000
--- a/package/netopeer2/0001-build-BUGFIX-take-DESTDIR-into-account-649.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From c6afffafd1e27054ff59b82ffed3a99795814631 Mon Sep 17 00:00:00 2001
-From: Heiko Thiery <heiko.thiery@gmail.com>
-Date: Mon, 8 Jun 2020 09:47:58 +0200
-Subject: [PATCH] build BUGFIX take DESTDIR into account (#649)
-
-When installing yang modules add DESTDIR prefix to the NP2_MODULE_DIR.
-
-Fixes #648
-
-Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
-[patch taken from upstream:
-https://github.com/CESNET/netopeer2/commit/726b1384a3f93090ede1143da86c99d5d24d06c5]
-Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
----
- scripts/setup.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/scripts/setup.sh b/scripts/setup.sh
-index 7175bc4..81abf63 100755
---- a/scripts/setup.sh
-+++ b/scripts/setup.sh
-@@ -8,7 +8,7 @@ fi
-
- # avoid problems with sudo path
- SYSREPOCTL=`su -c "which sysrepoctl" $USER`
--MODDIR=${NP2_MODULE_DIR}
-+MODDIR=${DESTDIR}${NP2_MODULE_DIR}
- PERMS=${NP2_MODULE_PERMS}
- OWNER=${NP2_MODULE_OWNER}
- GROUP=${NP2_MODULE_GROUP}
---
-2.20.1
-
diff --git a/package/netopeer2/0002-scripts-CHANGE-use-su-only-for-effective-root.patch b/package/netopeer2/0002-scripts-CHANGE-use-su-only-for-effective-root.patch
deleted file mode 100644
index b960a87beb..0000000000
--- a/package/netopeer2/0002-scripts-CHANGE-use-su-only-for-effective-root.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 71cc996faa5500b3bfd499ad0c436c8b96629ea7 Mon Sep 17 00:00:00 2001
-From: Michal Vasko <mvasko@cesnet.cz>
-Date: Wed, 10 Jun 2020 15:20:23 +0200
-Subject: [PATCH] scripts CHANGE use su only for effective root
-
-Fixes #645
-
-[patch taken from upstream:
-https://github.com/CESNET/netopeer2/commit/2161b333009c21ffc8501e5127b82e6f0570ca8e]
-Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
----
- scripts/merge_config.sh | 8 ++++++--
- scripts/merge_hostkey.sh | 11 ++++++++---
- scripts/setup.sh | 8 ++++++--
- 3 files changed, 20 insertions(+), 7 deletions(-)
-
-diff --git a/scripts/merge_config.sh b/scripts/merge_config.sh
-index dde0c75..4ad151c 100755
---- a/scripts/merge_config.sh
-+++ b/scripts/merge_config.sh
-@@ -2,8 +2,12 @@
-
- set -e
-
--# avoid problems with sudo path
--SYSREPOCFG=`su -c "which sysrepocfg" $USER`
-+# avoid problems with sudo PATH
-+if [ `id -u` -eq 0 ]; then
-+ SYSREPOCFG=`su -c 'which sysrepocfg' -l $USER`
-+else
-+ SYSREPOCFG=`which sysrepocfg`
-+fi
- KS_KEY_NAME=genkey
-
- # check that there is no listen/Call Home configuration yet
-diff --git a/scripts/merge_hostkey.sh b/scripts/merge_hostkey.sh
-index 87947fa..a0677ee 100755
---- a/scripts/merge_hostkey.sh
-+++ b/scripts/merge_hostkey.sh
-@@ -2,9 +2,14 @@
-
- set -e
-
--# avoid problems with sudo path
--SYSREPOCFG=`su -c "which sysrepocfg" $USER`
--OPENSSL=`su -c "which openssl" $USER`
-+# avoid problems with sudo PATH
-+if [ `id -u` -eq 0 ]; then
-+ SYSREPOCFG=`su -c 'which sysrepocfg' -l $USER`
-+ OPENSSL=`su -c 'which openssl' -l $USER`
-+else
-+ SYSREPOCFG=`which sysrepocfg`
-+ OPENSSL=`which openssl`
-+fi
-
- # check that there is no SSH key with this name yet
- KEYSTORE_KEY=`$SYSREPOCFG -X -x "/ietf-keystore:keystore/asymmetric-keys/asymmetric-key[name='genkey']/name"`
-diff --git a/scripts/setup.sh b/scripts/setup.sh
-index 81abf63..8bf6825 100755
---- a/scripts/setup.sh
-+++ b/scripts/setup.sh
-@@ -6,8 +6,12 @@ if [ -z "$NP2_MODULE_DIR" -o -z "$NP2_MODULE_PERMS" -o -z "$NP2_MODULE_OWNER" -o
- exit 1
- fi
-
--# avoid problems with sudo path
--SYSREPOCTL=`su -c "which sysrepoctl" $USER`
-+# avoid problems with sudo PATH
-+if [ `id -u` -eq 0 ]; then
-+ SYSREPOCTL=`su -c 'which sysrepoctl' -l $USER`
-+else
-+ SYSREPOCTL=`which sysrepoctl`
-+fi
- MODDIR=${DESTDIR}${NP2_MODULE_DIR}
- PERMS=${NP2_MODULE_PERMS}
- OWNER=${NP2_MODULE_OWNER}
---
-2.20.1
-
diff --git a/package/netopeer2/netopeer2.hash b/package/netopeer2/netopeer2.hash
index 93a094d563..1d5997505f 100644
--- a/package/netopeer2/netopeer2.hash
+++ b/package/netopeer2/netopeer2.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 66f3ad68cc6e41f3231b090ef27016ccbfe007cda7d08ec19f409f7429f46ff9 netopeer2-1.1.34.tar.gz
+sha256 e983683eda68792fedd73af54a5c7997496091489aa921f2a9e0dd27f2f6e19a netopeer2-1.1.39.tar.gz
sha256 b46f161fbdcf127d3ef22602e15958c3092fe3294f71a2dc8cdf8f6689cba95b LICENSE
diff --git a/package/netopeer2/netopeer2.mk b/package/netopeer2/netopeer2.mk
index 641666e8d3..5787d3a8cf 100644
--- a/package/netopeer2/netopeer2.mk
+++ b/package/netopeer2/netopeer2.mk
@@ -4,7 +4,7 @@
#
################################################################################
-NETOPEER2_VERSION = 1.1.34
+NETOPEER2_VERSION = 1.1.39
NETOPEER2_SITE = $(call github,CESNET,Netopeer2,v$(NETOPEER2_VERSION))
NETOPEER2_DL_SUBDIR = netopeer2
NETOPEER2_LICENSE = BSD-3-Clause
diff --git a/package/nut/nut.mk b/package/nut/nut.mk
index 4ea9947128..593d19926a 100644
--- a/package/nut/nut.mk
+++ b/package/nut/nut.mk
@@ -9,6 +9,7 @@ NUT_VERSION = $(NUT_VERSION_MAJOR).4
NUT_SITE = http://www.networkupstools.org/source/$(NUT_VERSION_MAJOR)
NUT_LICENSE = GPL-2.0+, GPL-3.0+ (python scripts), GPL/Artistic (perl client)
NUT_LICENSE_FILES = COPYING LICENSE-GPL2 LICENSE-GPL3
+NUT_INSTALL_STAGING = YES
NUT_DEPENDENCIES = host-pkgconf
# Our patch changes m4 macros, so we need to autoreconf
@@ -21,6 +22,7 @@ NUT_MAKE = $(MAKE1)
# since the default location (/var/state/ups) maybe readonly.
NUT_CONF_OPTS = \
--with-altpidpath=/var/run/upsd \
+ --with-dev \
--without-hal
# For uClibc-based toolchains, nut forgets to link with -lm
diff --git a/package/nvidia-tegra23/Config.in b/package/nvidia-tegra23/Config.in
deleted file mode 100644
index 9c9fd198d9..0000000000
--- a/package/nvidia-tegra23/Config.in
+++ /dev/null
@@ -1,38 +0,0 @@
-menuconfig BR2_PACKAGE_NVIDIA_TEGRA23
- bool "nvidia-tegra23"
- depends on BR2_cortex_a9
- depends on BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_GLIBC
- depends on BR2_PACKAGE_XORG7
- depends on BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_14
- help
- Install NVidia proprietary blobs to drive Tegra2 or Tegra3
- GPUs found in some mobile-targeted ARM SoCs.
-
-if BR2_PACKAGE_NVIDIA_TEGRA23
-
-choice
- prompt "Tegra platform"
- help
- Select the SOC platform.
-
-config BR2_PACKAGE_NVIDIA_TEGRA23_TEGRA2
- bool "Tegra 2"
- help
- NVIDIA Tegra 2 is a dual-core Cortex-A9 without NEON.
-
-config BR2_PACKAGE_NVIDIA_TEGRA23_TEGRA3
- bool "Tegra 3"
- depends on BR2_ARM_CPU_HAS_NEON
- help
- NVIDIA Tegra 3 is a quad-core Cortex-A9 with NEON.
-
-endchoice
-
-source "package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in"
-source "package/nvidia-tegra23/nvidia-tegra23-codecs/Config.in"
-endif
-
-comment "nvidia-tegra23 needs Xorg <= 1.14 and a glibc toolchain w/ EABIhf"
- depends on BR2_cortex_a9
- depends on !BR2_ARM_EABIHF || !BR2_TOOLCHAIN_USES_GLIBC \
- || !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_14
diff --git a/package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in b/package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in
deleted file mode 100644
index 0c09051b6a..0000000000
--- a/package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in
+++ /dev/null
@@ -1,26 +0,0 @@
-config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES
- bool "nvidia-tegra23 binaries"
- select BR2_PACKAGE_MESA3D_HEADERS
- select BR2_PACKAGE_XLIB_LIBX11
- select BR2_PACKAGE_XLIB_LIBXEXT
- select BR2_PACKAGE_HAS_LIBEGL
- select BR2_PACKAGE_HAS_LIBGLES
- select BR2_PACKAGE_HAS_LIBOPENMAX
- help
- Those packages provide libraries, drivers and firmware that
- comes from NVIDIA Linux For Tegra.
-
- https://developer.nvidia.com/linux-tegra
-
-if BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES
-
-config BR2_PACKAGE_PROVIDES_LIBEGL
- default "nvidia-tegra23-binaries"
-
-config BR2_PACKAGE_PROVIDES_LIBGLES
- default "nvidia-tegra23-binaries"
-
-config BR2_PACKAGE_PROVIDES_LIBOPENMAX
- default "nvidia-tegra23-binaries"
-
-endif
diff --git a/package/nvidia-tegra23/nvidia-tegra23-binaries/egl.pc b/package/nvidia-tegra23/nvidia-tegra23-binaries/egl.pc
deleted file mode 100644
index 3af7eecc01..0000000000
--- a/package/nvidia-tegra23/nvidia-tegra23-binaries/egl.pc
+++ /dev/null
@@ -1,10 +0,0 @@
-prefix=/usr
-exec_prefix=${prefix}
-libdir=/usr/lib
-includedir=/usr/include
-
-Name: egl
-Description: EGL implementation
-Version: 1
-Cflags: -I${includedir}/EGL
-Libs: -L${libdir} -lEGL
diff --git a/package/nvidia-tegra23/nvidia-tegra23-binaries/gles.pc b/package/nvidia-tegra23/nvidia-tegra23-binaries/gles.pc
deleted file mode 100644
index 91387c9793..0000000000
--- a/package/nvidia-tegra23/nvidia-tegra23-binaries/gles.pc
+++ /dev/null
@@ -1,10 +0,0 @@
-prefix=/usr
-exec_prefix=${prefix}
-libdir=/usr/lib
-includedir=/usr/include
-
-Name: glesv2
-Description: OpenGL ES 1.1 implementation
-Version: 1.1
-Cflags: -I${includedir}/GLES
-Libs: -L${libdir} -lGLESv1_CM
diff --git a/package/nvidia-tegra23/nvidia-tegra23-binaries/glesv2.pc b/package/nvidia-tegra23/nvidia-tegra23-binaries/glesv2.pc
deleted file mode 100644
index 356a1cba4f..0000000000
--- a/package/nvidia-tegra23/nvidia-tegra23-binaries/glesv2.pc
+++ /dev/null
@@ -1,10 +0,0 @@
-prefix=/usr
-exec_prefix=${prefix}
-libdir=/usr/lib
-includedir=/usr/include
-
-Name: glesv2
-Description: OpenGL ES 2 implementation
-Version: 2
-Cflags: -I${includedir}/GLESv2
-Libs: -L${libdir} -lGLESv2
diff --git a/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.hash b/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.hash
deleted file mode 100644
index 50c3cda645..0000000000
--- a/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.hash
+++ /dev/null
@@ -1,3 +0,0 @@
-# From https://developer.nvidia.com/linux-tegra-rel-16
-sha1 295dcd63b2f122c2d99f07fcc083db9adb8ac178 Tegra20_Linux_R16.5_armhf.tbz2
-sha1 6be645c20d81d518856bc8520ef4c2472d57eaef Tegra30_Linux_R16.5_armhf.tbz2
diff --git a/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.mk b/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.mk
deleted file mode 100644
index ed3c5a78b4..0000000000
--- a/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.mk
+++ /dev/null
@@ -1,64 +0,0 @@
-################################################################################
-#
-# nvidia-tegra23-binaries
-#
-################################################################################
-
-NVIDIA_TEGRA23_BINARIES_VERSION = $(NVIDIA_TEGRA23_VERSION)
-NVIDIA_TEGRA23_BINARIES_SITE = $(NVIDIA_TEGRA23_SITE)
-NVIDIA_TEGRA23_BINARIES_SOURCE = $(NVIDIA_TEGRA23_BASE)_R$(NVIDIA_TEGRA23_BINARIES_VERSION)_armhf.tbz2
-
-NVIDIA_TEGRA23_BINARIES_LICENSE = License For Customer Use of NVIDIA Software
-NVIDIA_TEGRA23_BINARIES_LICENSE_FILES = nv_tegra/LICENSE
-
-NVIDIA_TEGRA23_BINARIES_INSTALL_STAGING = YES
-
-# Those are not really needed to build nvidia-tegra23-binaries, but
-# will be needed by packages who link against libraries provided by
-# nvidia-tegra23-binaries.
-
-NVIDIA_TEGRA23_BINARIES_DEPENDENCIES = mesa3d-headers \
- xlib_libX11 xlib_libXext
-
-NVIDIA_TEGRA23_BINARIES_PROVIDES = libegl libgles libopenmax
-
-NVIDIA_TEGRA23_BINARIES_DRV = \
- nv_tegra/nvidia_drivers/usr/lib/xorg/modules/drivers/tegra_drv.abi$(BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI).so
-
-define NVIDIA_TEGRA23_BINARIES_EXTRACT_FURTHER
- $(INSTALL) -d $(@D)/nv_tegra/nvidia_drivers
- $(call suitable-extractor,$(@D)/nv_tegra/nvidia_drivers.tbz2) \
- $(@D)/nv_tegra/nvidia_drivers.tbz2 | \
- $(TAR) --strip-components=0 -C $(@D)/nv_tegra/nvidia_drivers/ $(TAR_OPTIONS) -
-endef
-NVIDIA_TEGRA23_BINARIES_POST_EXTRACT_HOOKS += NVIDIA_TEGRA23_BINARIES_EXTRACT_FURTHER
-
-define NVIDIA_TEGRA23_BINARIES_INSTALL_LIBS
- mkdir -p $(1)/usr/lib
- cp -dpfr $(@D)/nv_tegra/nvidia_drivers/usr/lib/*.so $(1)/usr/lib/
- (cd $(1)/usr/lib; \
- ln -sf libGLESv2.so.2 libGLESv2.so; \
- ln -sf libGLESv1_CM.so.1 libGLESv1_CM.so; \
- ln -sf libEGL.so.1 libEGL.so \
- )
-endef
-
-define NVIDIA_TEGRA23_BINARIES_INSTALL_STAGING_CMDS
- $(call NVIDIA_TEGRA23_BINARIES_INSTALL_LIBS,$(STAGING_DIR))
- mkdir -p $(STAGING_DIR)/usr/lib/pkgconfig/
- cp -dpfr package/nvidia-tegra23/nvidia-tegra23-binaries/*.pc \
- $(STAGING_DIR)/usr/lib/pkgconfig/
-endef
-
-define NVIDIA_TEGRA23_BINARIES_INSTALL_TARGET_CMDS
- $(call NVIDIA_TEGRA23_BINARIES_INSTALL_LIBS,$(TARGET_DIR))
- mkdir -p $(TARGET_DIR)/lib/firmware/
- cp -dpfr $(@D)/nv_tegra/nvidia_drivers/lib/firmware/*.bin \
- $(TARGET_DIR)/lib/firmware/
- $(INSTALL) -D -m 0644 $(@D)/nv_tegra/nvidia_drivers/etc/nv_tegra_release \
- $(TARGET_DIR)/etc/nv_tegra_release
- $(INSTALL) -D -m 0644 $(@D)/$(NVIDIA_TEGRA23_BINARIES_DRV) \
- $(TARGET_DIR)/usr/lib/xorg/modules/drivers/tegra_drv.so
-endef
-
-$(eval $(generic-package))
diff --git a/package/nvidia-tegra23/nvidia-tegra23-codecs/Config.in b/package/nvidia-tegra23/nvidia-tegra23-codecs/Config.in
deleted file mode 100644
index df9de69dc4..0000000000
--- a/package/nvidia-tegra23/nvidia-tegra23-codecs/Config.in
+++ /dev/null
@@ -1,7 +0,0 @@
-config BR2_PACKAGE_NVIDIA_TEGRA23_CODECS
- bool "nvidia-tegra23 codecs"
- depends on BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES
- help
- NVIDIA Tegra restricted codecs from Linux For Tegra 16.5.
-
- https://developer.nvidia.com/linux-tegra-rel-16
diff --git a/package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.hash b/package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.hash
deleted file mode 100644
index 9b5c61496f..0000000000
--- a/package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.hash
+++ /dev/null
@@ -1,3 +0,0 @@
-# From https://developer.nvidia.com/linux-tegra-rel-16
-sha1 540e89d5462537cd59c8a86efdb786b3b4310868 Tegra20_Linux-codecs_R16.5_armhf.tbz2
-sha1 3637efe808f25594e3cdc2756aef6e0274ab70f4 Tegra30_Linux-codecs_R16.5_armhf.tbz2
diff --git a/package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.mk b/package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.mk
deleted file mode 100644
index 2885021c58..0000000000
--- a/package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-################################################################################
-#
-# nvidia-tegra23-codecs
-#
-################################################################################
-
-NVIDIA_TEGRA23_CODECS_VERSION = $(NVIDIA_TEGRA23_VERSION)
-NVIDIA_TEGRA23_CODECS_SOURCE = $(NVIDIA_TEGRA23_BASE)-codecs_R$(NVIDIA_TEGRA23_CODECS_VERSION)_armhf.tbz2
-NVIDIA_TEGRA23_CODECS_SITE = $(NVIDIA_TEGRA23_SITE)
-NVIDIA_TEGRA23_CODECS_LICENSE = NVIDIA(r) Tegra(r) Software License Agreement
-NVIDIA_TEGRA23_CODECS_LICENSE_FILES = Tegra_Software_License_Agreement-Tegra-Linux-codecs.txt
-NVIDIA_TEGRA23_CODECS_REDISTRIBUTE = NO
-
-# The archive contains an archive with the firmware codecs
-define NVIDIA_TEGRA23_CODECS_EXTRACT_CMDS
- $(INSTALL) -d $(@D)
- $(call suitable-extractor,$(NVIDIA_TEGRA23_CODECS_SOURCE)) \
- $(NVIDIA_TEGRA23_CODECS_DL_DIR)/$(NVIDIA_TEGRA23_CODECS_SOURCE) | \
- $(TAR) --strip-components=0 -C $(@D) $(TAR_OPTIONS) -
- $(INSTALL) -d $(@D)/restricted_codecs
- $(call suitable-extractor,$(@D)/restricted_codecs.tbz2) \
- $(@D)/restricted_codecs.tbz2 | \
- $(TAR) --strip-components=0 -C $(@D)/restricted_codecs/ $(TAR_OPTIONS) -
-endef
-
-define NVIDIA_TEGRA23_CODECS_INSTALL_TARGET_CMDS
- mkdir -p $(TARGET_DIR)/lib/firmware/
- cp -dpfr $(@D)/restricted_codecs/lib/firmware/*.axf \
- $(TARGET_DIR)/lib/firmware/
-endef
-
-$(eval $(generic-package))
diff --git a/package/nvidia-tegra23/nvidia-tegra23.mk b/package/nvidia-tegra23/nvidia-tegra23.mk
deleted file mode 100644
index b97d0ccac4..0000000000
--- a/package/nvidia-tegra23/nvidia-tegra23.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-################################################################################
-#
-# nvidia-tegra23
-#
-################################################################################
-
-NVIDIA_TEGRA23_VERSION = 16.5
-
-ifeq ($(BR2_PACKAGE_NVIDIA_TEGRA23_TEGRA2),y)
-NVIDIA_TEGRA23_SITE = http://developer.download.nvidia.com/mobile/tegra/l4t/r16.5.0/ventana_release_armhf
-NVIDIA_TEGRA23_BASE = Tegra20_Linux
-endif
-ifeq ($(BR2_PACKAGE_NVIDIA_TEGRA23_TEGRA3),y)
-NVIDIA_TEGRA23_SITE = http://developer.download.nvidia.com/mobile/tegra/l4t/r16.5.0/cardhu_release_armhf
-NVIDIA_TEGRA23_BASE = Tegra30_Linux
-endif
-
-include $(sort $(wildcard package/nvidia-tegra23/*/*.mk))
diff --git a/package/openlayers/openlayers.hash b/package/openlayers/openlayers.hash
index f1678507d7..2774b8064b 100644
--- a/package/openlayers/openlayers.hash
+++ b/package/openlayers/openlayers.hash
@@ -1,2 +1,2 @@
# Locally computed:
-sha256 e133a2ad952f4a31002b1a3217f6b4b68bc9f02bcf6c0b9970638a2627887101 v6.2.1-dist.zip
+sha256 8371bbca2f7b33be0db5b416a78bc9559dd8f9afb6a406994daeeecf7b37f3f6 v6.4.3-dist.zip
diff --git a/package/openlayers/openlayers.mk b/package/openlayers/openlayers.mk
index 65a1fe00fa..c3e137adcd 100644
--- a/package/openlayers/openlayers.mk
+++ b/package/openlayers/openlayers.mk
@@ -4,7 +4,7 @@
#
################################################################################
-OPENLAYERS_VERSION = 6.2.1
+OPENLAYERS_VERSION = 6.4.3
OPENLAYERS_SOURCE = v$(OPENLAYERS_VERSION)-dist.zip
OPENLAYERS_SITE = https://github.com/openlayers/openlayers/releases/download/v$(OPENLAYERS_VERSION)
OPENLAYERS_LICENSE = BSD-2-Clause
diff --git a/package/oprofile/0002-configure.ac-add-foreign-option-to-AM_INIT_AUTOMAKE.patch b/package/oprofile/0002-configure.ac-add-foreign-option-to-AM_INIT_AUTOMAKE.patch
deleted file mode 100644
index 98dcac6906..0000000000
--- a/package/oprofile/0002-configure.ac-add-foreign-option-to-AM_INIT_AUTOMAKE.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From ff172a49d1ca5708f45939b9b4f125cafba01db3 Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
-Date: Tue, 24 Mar 2020 22:50:32 +0100
-Subject: [PATCH] configure.ac: add foreign option to AM_INIT_AUTOMAKE
-
-oprofile doesn't provide the NEWS, AUTHORS and ChangeLog file, so
-autoreconf complains with:
-
-Makefile.am: error: required file './NEWS' not found
-Makefile.am: error: required file './AUTHORS' not found
-Makefile.am: error: required file './ChangeLog' not found
-
-Such errors can be avoided by passing the "foreign" option to
-AM_INIT_AUTOMAKE.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 00e30079..87afe2b7 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -13,7 +13,7 @@ AC_PREREQ(2.13)
-
- AC_INIT([OProfile], [1.3.0])
- AC_CONFIG_SRCDIR([libop/op_config.h])
--AM_INIT_AUTOMAKE
-+AM_INIT_AUTOMAKE([foreign])
- AC_CONFIG_HEADERS(config.h)
-
- AC_CHECK_DECLS([basename], [], [], [[#include <libgen.h>]])
---
-2.25.1
-
diff --git a/package/oprofile/0003-Macro-wrappers-to-handle-the-binutils-2.34-api-chang.patch b/package/oprofile/0003-Macro-wrappers-to-handle-the-binutils-2.34-api-chang.patch
deleted file mode 100644
index cff5030e00..0000000000
--- a/package/oprofile/0003-Macro-wrappers-to-handle-the-binutils-2.34-api-chang.patch
+++ /dev/null
@@ -1,169 +0,0 @@
-From 377610414fb6cd7ac30e4485d9d6482fcf29aca6 Mon Sep 17 00:00:00 2001
-From: William Cohen <wcohen@redhat.com>
-Date: Wed, 18 Mar 2020 21:19:16 -0400
-Subject: [PATCH] Macro wrappers to handle the binutils 2.34 api changes
-
-Changes in binutils 2.34 API prevented oprofile from compiling with
-it. This patch tests for the changes in the binutils API during
-configuration and selects the appropiate wrappers to allow oprofile to
-compile. This allows oprofile to compile with both older and newer
-versions of binutils.
-
-Upstream: 377610414fb6cd7ac30e4485d9d6482fcf29aca6
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
----
- configure.ac | 20 ++++++++++++++++++++
- libutil++/bfd_support.cpp | 11 ++++++-----
- libutil/op_bfd_wrappers.h | 28 ++++++++++++++++++++++++++++
- opjitconv/create_bfd.c | 7 ++++---
- 4 files changed, 58 insertions(+), 8 deletions(-)
- create mode 100644 libutil/op_bfd_wrappers.h
-
-diff --git a/configure.ac b/configure.ac
-index ac2fd35e..df032a78 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -224,6 +224,26 @@ if test "$host_cpu" = "powerpc64le" -o "$host_cpu" = "powerpc64"; then
- fi
- AC_SUBST(PFM_LIB)
-
-+HAVE_BINUTILS_234='1'
-+AC_MSG_CHECKING([whether binutils 2.34 is being used])
-+rm -f test-for-BINUTILS
-+AC_LANG_CONFTEST(
-+ [AC_LANG_PROGRAM([[#include <bfd.h>]],
-+ [[asection * sect;
-+ bfd_size_type buildid_sect_size = bfd_section_size(sect);
-+ return 0;]])
-+ ])
-+$CC conftest.$ac_ext $CFLAGS $LDFLAGS $LIBS $PERF_EVENT_FLAGS -o test-for-BINUTILS > /dev/null 2>&1
-+if test -f test-for-BINUTILS; then
-+ echo "yes"
-+ HAVE_BINUTILS_234='1'
-+else
-+ echo "no"
-+ HAVE_BINUTILS_234='0'
-+fi
-+AC_DEFINE_UNQUOTED(HAVE_BINUTILS_234, $HAVE_BINUTILS_234, [Using binutils 2.34])
-+rm -f test-for-BINUTILS*
-+
- AC_ARG_WITH(java,
- [ --with-java=java-home Path to Java home directory (default is "no"; "yes" will use /usr as Java home)],
- JAVA_HOMEDIR=$with_java, [with_java=no])
-diff --git a/libutil++/bfd_support.cpp b/libutil++/bfd_support.cpp
-index fa904839..cd0f4f71 100644
---- a/libutil++/bfd_support.cpp
-+++ b/libutil++/bfd_support.cpp
-@@ -19,6 +19,7 @@
- #include "locate_images.h"
- #include "op_libiberty.h"
- #include "op_exception.h"
-+#include "op_bfd_wrappers.h"
-
- #include <unistd.h>
- #include <errno.h>
-@@ -137,7 +138,7 @@ static bool get_build_id(bfd * ibfd, unsigned char * build_id)
- }
- }
-
-- bfd_size_type buildid_sect_size = bfd_section_size(ibfd, sect);
-+ bfd_size_type buildid_sect_size = op_bfd_section_size(ibfd, sect);
- char * contents = (char *) xmalloc(buildid_sect_size);
- errno = 0;
- if (!bfd_get_section_contents(ibfd, sect,
-@@ -188,7 +189,7 @@ bool get_debug_link_info(bfd * ibfd, string & filename, unsigned long & crc32)
- if (sect == NULL)
- return false;
-
-- bfd_size_type debuglink_size = bfd_section_size(ibfd, sect);
-+ bfd_size_type debuglink_size = op_bfd_section_size(ibfd, sect);
- char * contents = (char *) xmalloc(debuglink_size);
- cverb << vbfd
- << ".gnu_debuglink section has size " << debuglink_size << endl;
-@@ -346,7 +347,7 @@ void fixup_linenr(bfd * abfd, asection * section, asymbol ** syms,
- // first restrict the search on a sensible range of vma, 16 is
- // an intuitive value based on epilog code look
- size_t max_search = 16;
-- size_t section_size = bfd_section_size(abfd, section);
-+ size_t section_size = op_bfd_section_size(abfd, section);
- if (pc + max_search > section_size)
- max_search = section_size - pc;
-
-@@ -819,10 +820,10 @@ find_nearest_line(bfd_info const & b, op_bfd_symbol const & sym,
- else
- pc = (sym.value() + offset) - sym.filepos();
-
-- if ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0)
-+ if ((op_bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0)
- goto fail;
-
-- if (pc >= bfd_section_size(abfd, section))
-+ if (pc >= op_bfd_section_size(abfd, section))
- goto fail;
-
- ret = bfd_find_nearest_line(abfd, section, syms, pc, &cfilename,
-diff --git a/libutil/op_bfd_wrappers.h b/libutil/op_bfd_wrappers.h
-new file mode 100644
-index 00000000..b229cc12
---- /dev/null
-+++ b/libutil/op_bfd_wrappers.h
-@@ -0,0 +1,28 @@
-+/**
-+ * @file op_bfd_wrappers.h
-+ * Wrappers to hide API changes in binutils 2.34
-+ *
-+ * @remark Copyright 2020 OProfile authors
-+ * @remark Read the file COPYING
-+ *
-+ * @author William Cohen
-+ */
-+
-+#ifndef OP_BFD_WRAPPERS_H
-+#define OP_BFD_WRAPPERS_H
-+
-+#if HAVE_BINUTILS_234
-+#define op_bfd_section_size(ibfd, sec) bfd_section_size(sec)
-+#define op_bfd_get_section_flags(abfd, sec) bfd_section_flags(sec)
-+#define op_bfd_set_section_flags(abfd, sec, flags) bfd_set_section_flags(sec, flags)
-+#define op_bfd_set_section_vma(abfd, sec, vma) bfd_set_section_vma(sec, vma)
-+#define op_bfd_set_section_size(abfd, sec, size) bfd_set_section_size(sec, size)
-+#else
-+#define op_bfd_section_size(ibfd, sec) bfd_section_size(ibfd, sec)
-+#define op_bfd_get_section_flags(abfd, sec) bfd_get_section_flags(abfd, sec)
-+#define op_bfd_set_section_flags(abfd, sec, flags) bfd_set_section_flags(abfd, sec, flags)
-+#define op_bfd_set_section_vma(abfd, sec, vma) bfd_set_section_vma(abfd, sec, vma)
-+#define op_bfd_set_section_size(abfd, sec, size) bfd_set_section_size(abfd, sec, size)
-+#endif
-+
-+#endif /* !OP_BFD_WRAPPERS_H */
-diff --git a/opjitconv/create_bfd.c b/opjitconv/create_bfd.c
-index 48db143b..da1e6d29 100644
---- a/opjitconv/create_bfd.c
-+++ b/opjitconv/create_bfd.c
-@@ -16,6 +16,7 @@
-
- #include "opjitconv.h"
- #include "op_libiberty.h"
-+#include "op_bfd_wrappers.h"
-
- #include <bfd.h>
- #include <assert.h>
-@@ -86,12 +87,12 @@ asection * create_section(bfd * abfd, char const * section_name,
- bfd_perror("bfd_make_section");
- goto error;
- }
-- bfd_set_section_vma(abfd, section, vma);
-- if (bfd_set_section_size(abfd, section, size) == FALSE) {
-+ op_bfd_set_section_vma(abfd, section, vma);
-+ if (op_bfd_set_section_size(abfd, section, size) == FALSE) {
- bfd_perror("bfd_set_section_size");
- goto error;
- }
-- if (bfd_set_section_flags(abfd, section, flags) == FALSE) {
-+ if (op_bfd_set_section_flags(abfd, section, flags) == FALSE) {
- bfd_perror("bfd_set_section_flags");
- goto error;
- }
---
-2.25.1
-
diff --git a/package/oprofile/oprofile.hash b/package/oprofile/oprofile.hash
index d1d96c6232..7d005aa747 100644
--- a/package/oprofile/oprofile.hash
+++ b/package/oprofile/oprofile.hash
@@ -1,6 +1,6 @@
-# From http://sourceforge.net/projects/oprofile/files/oprofile/oprofile-1.3.0/
-sha1 7daa0cca8587e399cb3df9eb817c6a39ffea2082 oprofile-1.3.0.tar.gz
-md5 bd998df5521ebedae31e71cd3fb6200b oprofile-1.3.0.tar.gz
+# From http://sourceforge.net/projects/oprofile/files/oprofile/oprofile-1.4.0/
+sha1 d4d7634372d18de821b33650ad0ff7392e94c6e3 oprofile-1.4.0.tar.gz
+md5 ac0ff685ec9735e30d6a4d19de0efed7 oprofile-1.4.0.tar.gz
# Hash for license file:
-sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING
+sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING
diff --git a/package/oprofile/oprofile.mk b/package/oprofile/oprofile.mk
index b9d7d9e608..50693ddd1e 100644
--- a/package/oprofile/oprofile.mk
+++ b/package/oprofile/oprofile.mk
@@ -4,13 +4,10 @@
#
################################################################################
-OPROFILE_VERSION = 1.3.0
+OPROFILE_VERSION = 1.4.0
OPROFILE_SITE = http://downloads.sourceforge.net/project/oprofile/oprofile/oprofile-$(OPROFILE_VERSION)
OPROFILE_LICENSE = GPL-2.0+
OPROFILE_LICENSE_FILES = COPYING
-# 0002-configure.ac-add-foreign-option-to-AM_INIT_AUTOMAKE.patch
-# 0003-Macro-wrappers-to-handle-the-binutils-2.34-api-chang.patch
-OPROFILE_AUTORECONF = YES
OPROFILE_CONF_OPTS = \
--disable-account-check \
--enable-gui=no \
diff --git a/package/parted/Config.in b/package/parted/Config.in
index a35b30662f..f48b365a2d 100644
--- a/package/parted/Config.in
+++ b/package/parted/Config.in
@@ -2,7 +2,6 @@ config BR2_PACKAGE_PARTED
bool "parted"
depends on BR2_ENABLE_LOCALE
depends on BR2_USE_WCHAR
- depends on !BR2_TOOLCHAIN_USES_UCLIBC
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
help
@@ -10,6 +9,5 @@ config BR2_PACKAGE_PARTED
http://www.gnu.org/software/parted/
-comment "parted needs a glibc or musl toolchain w/ locale, wchar"
- depends on BR2_TOOLCHAIN_USES_UCLIBC || \
- !BR2_ENABLE_LOCALE || !BR2_USE_WCHAR
+comment "parted needs a toolchain w/ locale, wchar"
+ depends on !BR2_ENABLE_LOCALE || !BR2_USE_WCHAR
diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index c63807047b..3a4c5d5970 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -959,6 +959,7 @@ $$($(2)_TARGET_DIRCLEAN): NAME=$(1)
# Compute the name of the Kconfig option that correspond to the
# package being enabled. We handle three cases: the special Linux
# kernel case, the bootloaders case, and the normal packages case.
+# Virtual packages are handled separately (see below).
ifeq ($(1),linux)
$(2)_KCONFIG_VAR = BR2_LINUX_KERNEL
else ifneq ($$(filter boot/% $$(foreach dir,$$(BR2_EXTERNAL_DIRS),$$(dir)/boot/%),$(pkgdir)),)
@@ -1151,6 +1152,22 @@ ifneq ($$($(2)_HELP_CMDS),)
HELP_PACKAGES += $(2)
endif
+# Virtual packages are not built but it's useful to allow them to have
+# permission/device/user tables and target-finalize/rootfs-pre-cmd hooks.
+else ifeq ($$(BR2_PACKAGE_HAS_$(2)),y) # $(2)_KCONFIG_VAR
+
+ifneq ($$($(2)_PERMISSIONS),)
+PACKAGES_PERMISSIONS_TABLE += $$($(2)_PERMISSIONS)$$(sep)
+endif
+ifneq ($$($(2)_DEVICES),)
+PACKAGES_DEVICES_TABLE += $$($(2)_DEVICES)$$(sep)
+endif
+ifneq ($$($(2)_USERS),)
+PACKAGES_USERS += $$($(2)_USERS)$$(sep)
+endif
+TARGET_FINALIZE_HOOKS += $$($(2)_TARGET_FINALIZE_HOOKS)
+ROOTFS_PRE_CMD_HOOKS += $$($(2)_ROOTFS_PRE_CMD_HOOKS)
+
endif # $(2)_KCONFIG_VAR
endef # inner-generic-package
diff --git a/package/pkg-golang.mk b/package/pkg-golang.mk
index 2494ce028c..3813e1c406 100644
--- a/package/pkg-golang.mk
+++ b/package/pkg-golang.mk
@@ -23,22 +23,6 @@
GO_BIN = $(HOST_DIR)/bin/go
-# We pass an empty GOBIN, otherwise "go install: cannot install
-# cross-compiled binaries when GOBIN is set"
-GO_COMMON_ENV = \
- PATH=$(BR_PATH) \
- GOBIN= \
- CGO_ENABLED=$(HOST_GO_CGO_ENABLED)
-
-GO_TARGET_ENV = \
- $(HOST_GO_TARGET_ENV) \
- $(GO_COMMON_ENV)
-
-GO_HOST_ENV = \
- CGO_CFLAGS="$(HOST_CFLAGS)" \
- CGO_LDFLAGS="$(HOST_LDFLAGS)" \
- $(GO_COMMON_ENV)
-
################################################################################
# inner-golang-package -- defines how the configuration, compilation and
# installation of a Go package should be done, implements a few hooks to tune
@@ -56,8 +40,6 @@ GO_HOST_ENV = \
define inner-golang-package
-$(2)_WORKSPACE ?= _gopath
-
$(2)_BUILD_OPTS += \
-ldflags "$$($(2)_LDFLAGS)" \
-tags "$$($(2)_TAGS)" \
@@ -79,25 +61,25 @@ endif
$(2)_INSTALL_BINS ?= $(1)
-# Source files in Go should be extracted in a precise folder in the hierarchy
-# of GOPATH. It usually resolves around domain/vendor/software. By default, we
-# derive domain/vendor/software from the upstream URL of the project, but we
-# allow $(2)_SRC_SUBDIR to be overridden if needed.
+# Source files in Go usually use an import path resolved around
+# domain/vendor/software. We infer domain/vendor/software from the upstream URL
+# of the project.
$(2)_SRC_DOMAIN = $$(call domain,$$($(2)_SITE))
$(2)_SRC_VENDOR = $$(word 1,$$(subst /, ,$$(call notdomain,$$($(2)_SITE))))
$(2)_SRC_SOFTWARE = $$(word 2,$$(subst /, ,$$(call notdomain,$$($(2)_SITE))))
-$(2)_SRC_SUBDIR ?= $$($(2)_SRC_DOMAIN)/$$($(2)_SRC_VENDOR)/$$($(2)_SRC_SOFTWARE)
-$(2)_SRC_PATH = $$(@D)/$$($(2)_WORKSPACE)/src/$$($(2)_SRC_SUBDIR)
+# $(2)_GOMOD is the root Go module path for the project, inferred if not set.
+# If the go.mod file does not exist, one is written with this root path.
+$(2)_GOMOD ?= $$($(2)_SRC_DOMAIN)/$$($(2)_SRC_VENDOR)/$$($(2)_SRC_SOFTWARE)
-# Configure step. Only define it if not already defined by the package .mk
-# file.
-ifndef $(2)_CONFIGURE_CMDS
-define $(2)_CONFIGURE_CMDS
- mkdir -p $$(dir $$($(2)_SRC_PATH))
- ln -sf $$(@D) $$($(2)_SRC_PATH)
+# Generate a go.mod file if it doesn't exist. Note: Go is configured
+# to use the "vendor" dir and not make network calls.
+define $(2)_GEN_GOMOD
+ if [ ! -f $$(@D)/go.mod ]; then \
+ printf "module $$($(2)_GOMOD)\n" > $$(@D)/go.mod; \
+ fi
endef
-endif
+$(2)_POST_PATCH_HOOKS += $(2)_GEN_GOMOD
# Build step. Only define it if not already defined by the package .mk
# file.
@@ -111,26 +93,24 @@ endif
# Build package for target
define $(2)_BUILD_CMDS
$$(foreach d,$$($(2)_BUILD_TARGETS),\
- cd $$($(2)_SRC_PATH); \
- $$(GO_TARGET_ENV) \
- GOPATH="$$(@D)/$$($(2)_WORKSPACE)" \
+ cd $$(@D); \
+ $$(HOST_GO_TARGET_ENV) \
$$($(2)_GO_ENV) \
$$(GO_BIN) build -v $$($(2)_BUILD_OPTS) \
-o $$(@D)/bin/$$(or $$($(2)_BIN_NAME),$$(notdir $$(d))) \
- ./$$(d)
+ $$($(2)_GOMOD)/$$(d)
)
endef
else
# Build package for host
define $(2)_BUILD_CMDS
$$(foreach d,$$($(2)_BUILD_TARGETS),\
- cd $$($(2)_SRC_PATH); \
- $$(GO_HOST_ENV) \
- GOPATH="$$(@D)/$$($(2)_WORKSPACE)" \
+ cd $$(@D); \
+ $$(HOST_GO_HOST_ENV) \
$$($(2)_GO_ENV) \
$$(GO_BIN) build -v $$($(2)_BUILD_OPTS) \
-o $$(@D)/bin/$$(or $$($(2)_BIN_NAME),$$(notdir $$(d))) \
- ./$$(d)
+ $$($(2)_GOMOD)/$$(d)
)
endef
endif
diff --git a/package/pkg-luarocks.mk b/package/pkg-luarocks.mk
index 603c0851b4..81a6cf208a 100644
--- a/package/pkg-luarocks.mk
+++ b/package/pkg-luarocks.mk
@@ -23,6 +23,9 @@ HOST_LUAROCKS_CFLAGS = $(HOST_CFLAGS) -fPIC
ifeq ($(BR2_PACKAGE_LUA_5_3),y)
LUAROCKS_CFLAGS += -DLUA_COMPAT_5_2
HOST_LUAROCKS_CFLAGS += -DLUA_COMPAT_5_2
+else ifeq ($(BR2_PACKAGE_LUA_5_4),y)
+LUAROCKS_CFLAGS += -DLUA_COMPAT_5_3
+HOST_LUAROCKS_CFLAGS += -DLUA_COMPAT_5_3
endif
################################################################################
diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk
index d88a14ab0f..4fcb076e21 100644
--- a/package/pkg-utils.mk
+++ b/package/pkg-utils.mk
@@ -119,6 +119,11 @@ define _json-info-pkg
"reverse_dependencies": [
$(call make-comma-list,$(sort $($(1)_RDEPENDENCIES)))
]
+ $(if $($(1)_IGNORE_CVES),
+ $(comma) "ignore_cves": [
+ $(call make-comma-list,$(sort $($(1)_IGNORE_CVES)))
+ ]
+ )
endef
define _json-info-pkg-details
diff --git a/package/powertop/powertop.hash b/package/powertop/powertop.hash
index a3261789d2..fc8f3cc52f 100644
--- a/package/powertop/powertop.hash
+++ b/package/powertop/powertop.hash
@@ -1,3 +1,5 @@
-# Locally-generated hash
-sha256 ae68c913784f78b497076e0b1d588f59854a66c074690d545dae7956e4f5d64f powertop-v2.11-1-g7ef7f79.tar.gz
-sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING
+# Locally calculated after checking pgp signature
+# https://01.org/sites/default/files/downloads/powertop-2.13.tar.gz.asc.txt
+# using key 22E8F306C8FA4BAA2A5F36F3A0303B060918941C
+sha256 a65f992ca4a419bc73b623651060eb9fc00c5a86fa03556358cd9db011ef3178 powertop-2.13.tar.gz
+sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING
diff --git a/package/powertop/powertop.mk b/package/powertop/powertop.mk
index 3dbc015cef..c3e8d2549c 100644
--- a/package/powertop/powertop.mk
+++ b/package/powertop/powertop.mk
@@ -4,9 +4,8 @@
#
################################################################################
-POWERTOP_VERSION = 2.11
+POWERTOP_VERSION = 2.13
POWERTOP_SITE = https://01.org/sites/default/files/downloads
-POWERTOP_SOURCE = powertop-v$(POWERTOP_VERSION)-1-g7ef7f79.tar.gz
POWERTOP_DEPENDENCIES = pciutils ncurses libnl host-pkgconf \
$(TARGET_NLS_DEPENDENCIES)
POWERTOP_LICENSE = GPL-2.0
diff --git a/package/prosody/Config.in b/package/prosody/Config.in
index bb3a5025fa..d93350702c 100644
--- a/package/prosody/Config.in
+++ b/package/prosody/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_PROSODY
bool "prosody"
depends on BR2_USE_MMU # fork
depends on BR2_PACKAGE_HAS_LUAINTERPRETER
+ depends on !BR2_PACKAGE_LUA_5_4
depends on !BR2_STATIC_LIBS # luaexpat, luasec, luasocket, luafilesystem
select BR2_PACKAGE_LUABITOP if BR2_PACKAGE_LUA_5_1 # runtime
select BR2_PACKAGE_LUAEXPAT # runtime
@@ -20,3 +21,6 @@ config BR2_PACKAGE_PROSODY
comment "prosody needs the lua interpreter, dynamic library"
depends on !BR2_PACKAGE_HAS_LUAINTERPRETER || BR2_STATIC_LIBS
depends on BR2_USE_MMU
+
+comment "prosody needs a Lua <= 5.3"
+ depends on BR2_PACKAGE_LUA_5_4
diff --git a/package/python-ansicolors/Config.in b/package/python-ansicolors/Config.in
new file mode 100644
index 0000000000..78da50dfc2
--- /dev/null
+++ b/package/python-ansicolors/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_PYTHON_ANSICOLORS
+ bool "python-ansicolors"
+ help
+ ANSI colors for Python.
+
+ http://github.com/jonathaneunice/colors/
diff --git a/package/python-ansicolors/python-ansicolors.hash b/package/python-ansicolors/python-ansicolors.hash
new file mode 100644
index 0000000000..9fb51eb5d1
--- /dev/null
+++ b/package/python-ansicolors/python-ansicolors.hash
@@ -0,0 +1,5 @@
+# md5, sha256 from https://pypi.org/pypi/ansicolors/json
+md5 9ca7e2396ffa2e20af023c6b83ab7b14 ansicolors-1.1.8.zip
+sha256 99f94f5e3348a0bcd43c82e5fc4414013ccc19d70bd939ad71e0133ce9c372e0 ansicolors-1.1.8.zip
+# Locally computed sha256 checksums
+sha256 71a13496c621f01b454f9aa54fa608a712f58eb253e6dd2c91027fe78340c773 LICENSE
diff --git a/package/python-ansicolors/python-ansicolors.mk b/package/python-ansicolors/python-ansicolors.mk
new file mode 100644
index 0000000000..787ce8c40b
--- /dev/null
+++ b/package/python-ansicolors/python-ansicolors.mk
@@ -0,0 +1,20 @@
+################################################################################
+#
+# python-ansicolors
+#
+################################################################################
+
+PYTHON_ANSICOLORS_VERSION = 1.1.8
+PYTHON_ANSICOLORS_SOURCE = ansicolors-$(PYTHON_ANSICOLORS_VERSION).zip
+PYTHON_ANSICOLORS_SITE = https://files.pythonhosted.org/packages/76/31/7faed52088732704523c259e24c26ce6f2f33fbeff2ff59274560c27628e
+PYTHON_ANSICOLORS_SETUP_TYPE = setuptools
+PYTHON_ANSICOLORS_LICENSE = ISC
+PYTHON_ANSICOLORS_LICENSE_FILES = LICENSE
+
+define PYTHON_ANSICOLORS_EXTRACT_CMDS
+ unzip $(PYTHON_ANSICOLORS_DL_DIR)/$(PYTHON_ANSICOLORS_SOURCE) -d $(@D)
+ mv $(@D)/ansicolors-$(PYTHON_ANSICOLORS_VERSION)/* $(@D)
+ $(RM) -r $(@D)/ansicolors-$(PYTHON_ANSICOLORS_VERSION)
+endef
+
+$(eval $(python-package))
diff --git a/package/python-bsdiff4/Config.in b/package/python-bsdiff4/Config.in
new file mode 100644
index 0000000000..a383cda0f5
--- /dev/null
+++ b/package/python-bsdiff4/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_PYTHON_BSDIFF4
+ bool "python-bsdiff4"
+ select BR2_PACKAGE_PYTHON_BZIP2 if BR2_PACKAGE_PYTHON # runtime
+ select BR2_PACKAGE_PYTHON3_BZIP2 if BR2_PACKAGE_PYTHON3 # runtime
+ help
+ binary diff and patch using the BSDIFF4-format.
+
+ https://github.com/ilanschnell/bsdiff4
diff --git a/package/python-bsdiff4/python-bsdiff4.hash b/package/python-bsdiff4/python-bsdiff4.hash
new file mode 100644
index 0000000000..e64e817f9c
--- /dev/null
+++ b/package/python-bsdiff4/python-bsdiff4.hash
@@ -0,0 +1,5 @@
+# md5, sha256 from https://pypi.org/pypi/bsdiff4/json
+md5 a0d047e91429ce67a3b0231facf41169 bsdiff4-1.2.0.tar.gz
+sha256 3c2f7f5504f41a54d238b54b00b4544d0eb4276179edabf02b9d00415a03cc9d bsdiff4-1.2.0.tar.gz
+# Locally computed sha256
+sha256 c6c921c90383f1c43beb53c49a652d28309a410a7c394c729fd8870271451cf0 LICENSE
diff --git a/package/python-bsdiff4/python-bsdiff4.mk b/package/python-bsdiff4/python-bsdiff4.mk
new file mode 100644
index 0000000000..7bc607b2d6
--- /dev/null
+++ b/package/python-bsdiff4/python-bsdiff4.mk
@@ -0,0 +1,14 @@
+################################################################################
+#
+# python-bsdiff4
+#
+################################################################################
+
+PYTHON_BSDIFF4_VERSION = 1.2.0
+PYTHON_BSDIFF4_SOURCE = bsdiff4-$(PYTHON_BSDIFF4_VERSION).tar.gz
+PYTHON_BSDIFF4_SITE = https://files.pythonhosted.org/packages/9b/ca/06cd939630ca78125c36489f92b52918980cbcfee2dcc0969411eb5ae8a8
+PYTHON_BSDIFF4_LICENSE = BSD-2-Clause, BSD-Protection (core.c)
+PYTHON_BSDIFF4_LICENSE_FILES = LICENSE
+PYTHON_BSDIFF4_SETUP_TYPE = distutils
+
+$(eval $(python-package))
diff --git a/package/python-cffi/python-cffi.hash b/package/python-cffi/python-cffi.hash
index 8c2beb06a4..37676f2664 100644
--- a/package/python-cffi/python-cffi.hash
+++ b/package/python-cffi/python-cffi.hash
@@ -1,5 +1,5 @@
# md5, sha256 from https://pypi.org/pypi/cffi/json
-md5 74845f8d2b7b583dd9a3574f402edf39 cffi-1.14.0.tar.gz
-sha256 2d384f4a127a15ba701207f7639d94106693b6cd64173d6c8988e2c25f3ac2b6 cffi-1.14.0.tar.gz
+md5 3cc2f1daf62dd66eda79b4d6281cebfc cffi-1.14.2.tar.gz
+sha256 ae8f34d50af2c2154035984b8b5fc5d9ed63f32fe615646ab435b05b132ca91b cffi-1.14.2.tar.gz
# Locally computed sha256 checksums
sha256 04b80f5b077bbed68808cfebadeb5e3523f2a8c9a96495c587bd96df1eac2a33 LICENSE
diff --git a/package/python-cffi/python-cffi.mk b/package/python-cffi/python-cffi.mk
index 8f76e7c1d1..f882349fd7 100644
--- a/package/python-cffi/python-cffi.mk
+++ b/package/python-cffi/python-cffi.mk
@@ -4,9 +4,9 @@
#
################################################################################
-PYTHON_CFFI_VERSION = 1.14.0
+PYTHON_CFFI_VERSION = 1.14.2
PYTHON_CFFI_SOURCE = cffi-$(PYTHON_CFFI_VERSION).tar.gz
-PYTHON_CFFI_SITE = https://files.pythonhosted.org/packages/05/54/3324b0c46340c31b909fcec598696aaec7ddc8c18a63f2db352562d3354c
+PYTHON_CFFI_SITE = https://files.pythonhosted.org/packages/f7/09/88bbe20b76ca76be052c366fe77aa5e3cd6e5f932766e5597fecdd95b2a8
PYTHON_CFFI_SETUP_TYPE = setuptools
PYTHON_CFFI_DEPENDENCIES = host-pkgconf libffi
PYTHON_CFFI_LICENSE = MIT
diff --git a/package/python-hiredis/python-hiredis.hash b/package/python-hiredis/python-hiredis.hash
index 1a013bb3a2..091532dd2a 100644
--- a/package/python-hiredis/python-hiredis.hash
+++ b/package/python-hiredis/python-hiredis.hash
@@ -1,6 +1,6 @@
# md5, sha256 from https://pypi.org/pypi/hiredis/json
-md5 ad421ea848734c7be5c10689caa2a6f1 hiredis-1.0.1.tar.gz
-sha256 aa59dd63bb3f736de4fc2d080114429d5d369dfb3265f771778e8349d67a97a4 hiredis-1.0.1.tar.gz
+md5 430294afb3ebb37ebc7cc05bf3e5a389 hiredis-1.1.0.tar.gz
+sha256 996021ef33e0f50b97ff2d6b5f422a0fe5577de21a8873b58a779a5ddd1c3132 hiredis-1.1.0.tar.gz
# Locally computed sha256 checksums
-sha256 70edfa6d3e11f9d7497c2c2f298d06f33b11d10f37f76605102c5ab3b1f28262 COPYING
-sha256 dca05ce8fc87a8261783b4aed0deef8becc9350b6aa770bc714d0c1833b896eb vendor/hiredis/COPYING
+sha256 70edfa6d3e11f9d7497c2c2f298d06f33b11d10f37f76605102c5ab3b1f28262 COPYING
+sha256 dca05ce8fc87a8261783b4aed0deef8becc9350b6aa770bc714d0c1833b896eb vendor/hiredis/COPYING
diff --git a/package/python-hiredis/python-hiredis.mk b/package/python-hiredis/python-hiredis.mk
index 435918feb6..7d871d1f03 100644
--- a/package/python-hiredis/python-hiredis.mk
+++ b/package/python-hiredis/python-hiredis.mk
@@ -4,9 +4,9 @@
#
################################################################################
-PYTHON_HIREDIS_VERSION = 1.0.1
+PYTHON_HIREDIS_VERSION = 1.1.0
PYTHON_HIREDIS_SOURCE = hiredis-$(PYTHON_HIREDIS_VERSION).tar.gz
-PYTHON_HIREDIS_SITE = https://files.pythonhosted.org/packages/7f/5c/62e5c6b811b4dcef4125b4a01f76db82c496d79299dd67053b8f9c0732c0
+PYTHON_HIREDIS_SITE = https://files.pythonhosted.org/packages/3d/9f/abc69e73055f73d42ddf9c46b3e01a08b9e74b579b8fc413cbd31112a749
PYTHON_HIREDIS_SETUP_TYPE = setuptools
PYTHON_HIREDIS_LICENSE = BSD-3-Clause
PYTHON_HIREDIS_LICENSE_FILES = COPYING vendor/hiredis/COPYING
diff --git a/package/python-more-itertools/python-more-itertools.hash b/package/python-more-itertools/python-more-itertools.hash
index 1b4ffef2b6..189498ec5e 100644
--- a/package/python-more-itertools/python-more-itertools.hash
+++ b/package/python-more-itertools/python-more-itertools.hash
@@ -1,5 +1,5 @@
# md5, sha256 from https://pypi.org/pypi/more-itertools/json
-md5 55e7e0a5eabc5a57bc8353c65c6f9965 more-itertools-8.2.0.tar.gz
-sha256 b1ddb932186d8a6ac451e1d95844b382f55e12686d51ca0c68b6f61f2ab7a507 more-itertools-8.2.0.tar.gz
+md5 0912041c05148ed079984cff69af2e99 more-itertools-8.4.0.tar.gz
+sha256 68c70cc7167bdf5c7c9d8f6954a7837089c6a36bf565383919bb595efb8a17e5 more-itertools-8.4.0.tar.gz
# Locally computed sha256 checksums
sha256 09f1c8c9e941af3e584d59641ea9b87d83c0cb0fd007eb5ef391a7e2643c1a46 LICENSE
diff --git a/package/python-more-itertools/python-more-itertools.mk b/package/python-more-itertools/python-more-itertools.mk
index 334ef5e13a..ef21f4d27d 100644
--- a/package/python-more-itertools/python-more-itertools.mk
+++ b/package/python-more-itertools/python-more-itertools.mk
@@ -4,9 +4,9 @@
#
################################################################################
-PYTHON_MORE_ITERTOOLS_VERSION = 8.2.0
+PYTHON_MORE_ITERTOOLS_VERSION = 8.4.0
PYTHON_MORE_ITERTOOLS_SOURCE = more-itertools-$(PYTHON_MORE_ITERTOOLS_VERSION).tar.gz
-PYTHON_MORE_ITERTOOLS_SITE = https://files.pythonhosted.org/packages/a0/47/6ff6d07d84c67e3462c50fa33bf649cda859a8773b53dc73842e84455c05
+PYTHON_MORE_ITERTOOLS_SITE = https://files.pythonhosted.org/packages/67/4a/16cb3acf64709eb0164e49ba463a42dc45366995848c4f0cf770f57b8120
PYTHON_MORE_ITERTOOLS_SETUP_TYPE = setuptools
PYTHON_MORE_ITERTOOLS_LICENSE = MIT
PYTHON_MORE_ITERTOOLS_LICENSE_FILES = LICENSE
diff --git a/package/python-netaddr/python-netaddr.hash b/package/python-netaddr/python-netaddr.hash
index c834721d2c..91b200768f 100644
--- a/package/python-netaddr/python-netaddr.hash
+++ b/package/python-netaddr/python-netaddr.hash
@@ -1,5 +1,5 @@
# md5 from https://pypi.python.org/pypi/netaddr/json
-md5 51019ef59c93f3979bcb37d3b8527e07 netaddr-0.7.19.tar.gz
+md5 34cad578473b66ad77bc3b2a7613ed4a netaddr-0.8.0.tar.gz
# Locally computed
-sha256 38aeec7cdd035081d3a4c306394b19d677623bf76fa0913f6695127c7753aefd netaddr-0.7.19.tar.gz
+sha256 d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243 netaddr-0.8.0.tar.gz
sha256 0e53de62547787462f41eefb5cee31a14f7ea767ba0362c6f9304f1742486d47 LICENSE
diff --git a/package/python-netaddr/python-netaddr.mk b/package/python-netaddr/python-netaddr.mk
index a539845d54..e3ffe4e85b 100644
--- a/package/python-netaddr/python-netaddr.mk
+++ b/package/python-netaddr/python-netaddr.mk
@@ -4,9 +4,9 @@
#
################################################################################
-PYTHON_NETADDR_VERSION = 0.7.19
+PYTHON_NETADDR_VERSION = 0.8.0
PYTHON_NETADDR_SOURCE = netaddr-$(PYTHON_NETADDR_VERSION).tar.gz
-PYTHON_NETADDR_SITE = https://pypi.python.org/packages/0c/13/7cbb180b52201c07c796243eeff4c256b053656da5cfe3916c3f5b57b3a0
+PYTHON_NETADDR_SITE = https://pypi.python.org/packages/c3/3b/fe5bda7a3e927d9008c897cf1a0858a9ba9924a6b4750ec1824c9e617587
PYTHON_NETADDR_LICENSE = BSD-3-Clause
PYTHON_NETADDR_LICENSE_FILES = LICENSE
PYTHON_NETADDR_SETUP_TYPE = setuptools
diff --git a/package/python-packaging/Config.in b/package/python-packaging/Config.in
new file mode 100644
index 0000000000..5a8135cd57
--- /dev/null
+++ b/package/python-packaging/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_PYTHON_PACKAGING
+ bool "python-packaging"
+ select BR2_PACKAGE_PYTHON_PYPARSING # runtime
+ select BR2_PACKAGE_PYTHON_SIX # runtime
+ help
+ Core utilities for Python packages.
+
+ https://github.com/pypa/packaging
diff --git a/package/python-packaging/python-packaging.hash b/package/python-packaging/python-packaging.hash
new file mode 100644
index 0000000000..112bc695f6
--- /dev/null
+++ b/package/python-packaging/python-packaging.hash
@@ -0,0 +1,7 @@
+# md5, sha256 from https://pypi.org/pypi/packaging/json
+md5 19e0d1f82a9007b448650ccfeffd0a26 packaging-20.3.tar.gz
+sha256 3c292b474fda1671ec57d46d739d072bfd495a4f51ad01a055121d81e952b7a3 packaging-20.3.tar.gz
+# Locally computed sha256 checksums
+sha256 cad1ef5bd340d73e074ba614d26f7deaca5c7940c3d8c34852e65c4909686c48 LICENSE
+sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 LICENSE.APACHE
+sha256 b70e7e9b742f1cc6f948b34c16aa39ffece94196364bc88ff0d2180f0028fac5 LICENSE.BSD
diff --git a/package/python-packaging/python-packaging.mk b/package/python-packaging/python-packaging.mk
new file mode 100644
index 0000000000..bd5177e8e5
--- /dev/null
+++ b/package/python-packaging/python-packaging.mk
@@ -0,0 +1,14 @@
+################################################################################
+#
+# python-packaging
+#
+################################################################################
+
+PYTHON_PACKAGING_VERSION = 20.3
+PYTHON_PACKAGING_SOURCE = packaging-$(PYTHON_PACKAGING_VERSION).tar.gz
+PYTHON_PACKAGING_SITE = https://files.pythonhosted.org/packages/65/37/83e3f492eb52d771e2820e88105f605335553fe10422cba9d256faeb1702
+PYTHON_PACKAGING_SETUP_TYPE = setuptools
+PYTHON_PACKAGING_LICENSE = Apache-2.0 or BSD-2-Clause
+PYTHON_PACKAGING_LICENSE_FILES = LICENSE LICENSE.APACHE LICENSE.BSD
+
+$(eval $(python-package))
diff --git a/package/python-psutil/python-psutil.hash b/package/python-psutil/python-psutil.hash
index 0000d6033c..1a053cc368 100644
--- a/package/python-psutil/python-psutil.hash
+++ b/package/python-psutil/python-psutil.hash
@@ -1,5 +1,5 @@
# md5, sha256 from https://pypi.org/pypi/psutil/json
-md5 ed7b0f11ed214bcabbe76b7cf52f3ae3 psutil-5.7.0.tar.gz
-sha256 685ec16ca14d079455892f25bd124df26ff9137664af445563c1bd36629b5e0e psutil-5.7.0.tar.gz
+md5 50bf39b4faa268ba1da8a9730bb38bb6 psutil-5.7.2.tar.gz
+sha256 90990af1c3c67195c44c9a889184f84f5b2320dce3ee3acbd054e3ba0b4a7beb psutil-5.7.2.tar.gz
# Locally computed sha256 checksums
sha256 24c12984500caa07ffdce19eebc06396c5e6d244b573bc6c438f4a6ef8e56c1b LICENSE
diff --git a/package/python-psutil/python-psutil.mk b/package/python-psutil/python-psutil.mk
index 08bb2fd7bd..19d97a6f97 100644
--- a/package/python-psutil/python-psutil.mk
+++ b/package/python-psutil/python-psutil.mk
@@ -5,9 +5,9 @@
################################################################################
# Please keep in sync with package/python3-psutil/python3-psutil.mk
-PYTHON_PSUTIL_VERSION = 5.7.0
+PYTHON_PSUTIL_VERSION = 5.7.2
PYTHON_PSUTIL_SOURCE = psutil-$(PYTHON_PSUTIL_VERSION).tar.gz
-PYTHON_PSUTIL_SITE = https://files.pythonhosted.org/packages/c4/b8/3512f0e93e0db23a71d82485ba256071ebef99b227351f0f5540f744af41
+PYTHON_PSUTIL_SITE = https://files.pythonhosted.org/packages/aa/3e/d18f2c04cf2b528e18515999b0c8e698c136db78f62df34eee89cee205f1
PYTHON_PSUTIL_SETUP_TYPE = setuptools
PYTHON_PSUTIL_LICENSE = BSD-3-Clause
PYTHON_PSUTIL_LICENSE_FILES = LICENSE
diff --git a/package/python-pyparted/Config.in b/package/python-pyparted/Config.in
index 0e27ce1d2e..0ed24f8836 100644
--- a/package/python-pyparted/Config.in
+++ b/package/python-pyparted/Config.in
@@ -3,14 +3,12 @@ config BR2_PACKAGE_PYTHON_PYPARTED
depends on BR2_PACKAGE_PYTHON3
depends on BR2_ENABLE_LOCALE # parted
depends on BR2_USE_WCHAR
- depends on !BR2_TOOLCHAIN_USES_UCLIBC # parted
select BR2_PACKAGE_PARTED
help
Python bindings for GNU parted (libparted).
https://github.com/rhinstaller/pyparted
-comment "pyparted needs a glibc or musl toolchain w/ locale, wchar"
+comment "pyparted needs a toolchain w/ locale, wchar"
depends on BR2_PACKAGE_PYTHON3
- depends on BR2_TOOLCHAIN_USES_UCLIBC || \
- !BR2_ENABLE_LOCALE || !BR2_USE_WCHAR
+ depends on !BR2_ENABLE_LOCALE || !BR2_USE_WCHAR
diff --git a/package/python-pyzmq/python-pyzmq.hash b/package/python-pyzmq/python-pyzmq.hash
index 2bbaad009a..ecf6489249 100644
--- a/package/python-pyzmq/python-pyzmq.hash
+++ b/package/python-pyzmq/python-pyzmq.hash
@@ -1,6 +1,6 @@
# md5, sha256 from https://pypi.org/pypi/pyzmq/json
-md5 4650e45ebcf8e08620211c0e720d6066 pyzmq-19.0.0.tar.gz
-sha256 13a5638ab24d628a6ade8f794195e1a1acd573496c3b85af2f1183603b7bf5e0 pyzmq-19.0.1.tar.gz
+md5 200abc1a75bdcfff7adf61304f46f55e pyzmq-19.0.2.tar.gz
+sha256 296540a065c8c21b26d63e3cea2d1d57902373b16e4256afe46422691903a438 pyzmq-19.0.2.tar.gz
# Locally computed sha256 checksums
sha256 aef3b80570351d44e29c22d080d4e9e106b34f3fdbc5cdf9636994474c72b1a2 COPYING.BSD
sha256 44b23767df3c0fe27f88981f09bc7f50a1695cec4b24252fa5f55f03e76bcd6d COPYING.LESSER
diff --git a/package/python-pyzmq/python-pyzmq.mk b/package/python-pyzmq/python-pyzmq.mk
index 84d339f745..d1f4314a1e 100644
--- a/package/python-pyzmq/python-pyzmq.mk
+++ b/package/python-pyzmq/python-pyzmq.mk
@@ -4,9 +4,9 @@
#
################################################################################
-PYTHON_PYZMQ_VERSION = 19.0.1
+PYTHON_PYZMQ_VERSION = 19.0.2
PYTHON_PYZMQ_SOURCE = pyzmq-$(PYTHON_PYZMQ_VERSION).tar.gz
-PYTHON_PYZMQ_SITE = https://files.pythonhosted.org/packages/86/08/e5fc492317cc9d65b32d161c6014d733e8ab20b5e78e73eca63f53b17004
+PYTHON_PYZMQ_SITE = https://files.pythonhosted.org/packages/05/77/7483975d84fe1fd24cc67881ba7810e0e7b3ee6c2a0e002a5d6703cca49b
PYTHON_PYZMQ_LICENSE = LGPL-3.0+, BSD-3-Clause, Apache-2.0
# Apache license only online: http://www.apache.org/licenses/LICENSE-2.0
PYTHON_PYZMQ_LICENSE_FILES = COPYING.LESSER COPYING.BSD
diff --git a/package/python-requests/python-requests.hash b/package/python-requests/python-requests.hash
index b252e3a781..84bf2a1aa0 100644
--- a/package/python-requests/python-requests.hash
+++ b/package/python-requests/python-requests.hash
@@ -1,5 +1,5 @@
# md5, sha256 from https://pypi.org/pypi/requests/json
-md5 abfdc28db1065bbd0bc32592ac9d27a6 requests-2.23.0.tar.gz
-sha256 b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6 requests-2.23.0.tar.gz
+md5 b54bff26a389e5932e8b1c4983a99ce7 requests-2.24.0.tar.gz
+sha256 b3559a131db72c33ee969480840fff4bb6dd111de7dd27c8ee1f820f4f00231b requests-2.24.0.tar.gz
# Locally computed sha256 checksums
sha256 8837a2f33a61bcee175c028ff16d1c160aba48a3aebe1495ace709be4e62636b LICENSE
diff --git a/package/python-requests/python-requests.mk b/package/python-requests/python-requests.mk
index 9d36346b65..eb3997f108 100644
--- a/package/python-requests/python-requests.mk
+++ b/package/python-requests/python-requests.mk
@@ -5,9 +5,9 @@
################################################################################
# Please keep in sync with package/python3-requests/python3-requests.mk
-PYTHON_REQUESTS_VERSION = 2.23.0
+PYTHON_REQUESTS_VERSION = 2.24.0
PYTHON_REQUESTS_SOURCE = requests-$(PYTHON_REQUESTS_VERSION).tar.gz
-PYTHON_REQUESTS_SITE = https://files.pythonhosted.org/packages/f5/4f/280162d4bd4d8aad241a21aecff7a6e46891b905a4341e7ab549ebaf7915
+PYTHON_REQUESTS_SITE = https://files.pythonhosted.org/packages/da/67/672b422d9daf07365259958912ba533a0ecab839d4084c487a5fe9a5405f
PYTHON_REQUESTS_SETUP_TYPE = setuptools
PYTHON_REQUESTS_LICENSE = Apache-2.0
PYTHON_REQUESTS_LICENSE_FILES = LICENSE
diff --git a/package/python-sh/python-sh.hash b/package/python-sh/python-sh.hash
index cc9ba214b8..fffdd20c15 100644
--- a/package/python-sh/python-sh.hash
+++ b/package/python-sh/python-sh.hash
@@ -1,5 +1,5 @@
-# md5 from https://pypi.python.org/pypi/sh/json
-md5 a8351aef25d25f707c17e0a7a6280251 sh-1.12.14.tar.gz
+# md5, sha256 from https://pypi.org/pypi/sh/json
+md5 7e3dd3a6b49c06db93746994a68cb8cf sh-1.13.1.tar.gz
+sha256 97a3d2205e3c6a842d87ebbc9ae93acae5a352b1bc4609b428d0fd5bb9e286a3 sh-1.13.1.tar.gz
# Locally computed
-sha256 b52bf5833ed01c7b5c5fb73a7f71b3d98d48e9b9b8764236237bdc7ecae850fc sh-1.12.14.tar.gz
sha256 d8491c6e236568d04f7c8c07f2f1b8f5d142706dab6ab88f6e0d2dd476b6c706 LICENSE.txt
diff --git a/package/python-sh/python-sh.mk b/package/python-sh/python-sh.mk
index dfe80d5628..21c0fb3d77 100644
--- a/package/python-sh/python-sh.mk
+++ b/package/python-sh/python-sh.mk
@@ -4,9 +4,9 @@
#
################################################################################
-PYTHON_SH_VERSION = 1.12.14
+PYTHON_SH_VERSION = 1.13.1
PYTHON_SH_SOURCE = sh-$(PYTHON_SH_VERSION).tar.gz
-PYTHON_SH_SITE = https://pypi.python.org/packages/7c/71/199d27d3e7e78bf448bcecae0105a1d5b29173ffd2bbadaa95a74c156770
+PYTHON_SH_SITE = https://files.pythonhosted.org/packages/c9/3b/2c9a22bf1c48ced7ff3a11d4a862682c21d825c35f9d025811ad9808d263
PYTHON_SH_SETUP_TYPE = setuptools
PYTHON_SH_LICENSE = MIT
PYTHON_SH_LICENSE_FILES = LICENSE.txt
diff --git a/package/python-urllib3/python-urllib3.hash b/package/python-urllib3/python-urllib3.hash
index b1602350bd..6be3671a3c 100644
--- a/package/python-urllib3/python-urllib3.hash
+++ b/package/python-urllib3/python-urllib3.hash
@@ -1,4 +1,4 @@
# sha256 from https://pypi.org/pypi/urllib3/json
-sha256 3018294ebefce6572a474f0604c2021e33b3fd8006ecd11d62107a5d2a963527 urllib3-1.25.9.tar.gz
+sha256 91056c15fa70756691db97756772bb1eb9678fa585d9184f24534b100dc60f4a urllib3-1.25.10.tar.gz
# Locally computed sha256 checksums
sha256 7c0d136ee0585389adf2d25671bb99687a1f75929f465b7f16ee3f01da37255e LICENSE.txt
diff --git a/package/python-urllib3/python-urllib3.mk b/package/python-urllib3/python-urllib3.mk
index b17a4c0cb6..e64ff136ab 100644
--- a/package/python-urllib3/python-urllib3.mk
+++ b/package/python-urllib3/python-urllib3.mk
@@ -4,9 +4,9 @@
#
################################################################################
-PYTHON_URLLIB3_VERSION = 1.25.9
+PYTHON_URLLIB3_VERSION = 1.25.10
PYTHON_URLLIB3_SOURCE = urllib3-$(PYTHON_URLLIB3_VERSION).tar.gz
-PYTHON_URLLIB3_SITE = https://files.pythonhosted.org/packages/05/8c/40cd6949373e23081b3ea20d5594ae523e681b6f472e600fbc95ed046a36
+PYTHON_URLLIB3_SITE = https://files.pythonhosted.org/packages/81/f4/87467aeb3afc4a6056e1fe86626d259ab97e1213b1dfec14c7cb5f538bf0
PYTHON_URLLIB3_LICENSE = MIT
PYTHON_URLLIB3_LICENSE_FILES = LICENSE.txt
PYTHON_URLLIB3_SETUP_TYPE = setuptools
diff --git a/package/python-wtforms/python-wtforms.hash b/package/python-wtforms/python-wtforms.hash
index 431a20cea1..ed9bfd1a23 100644
--- a/package/python-wtforms/python-wtforms.hash
+++ b/package/python-wtforms/python-wtforms.hash
@@ -1,6 +1,6 @@
# md5, sha256 from https://pypi.org/pypi/wtforms/json
-md5 bff06943e59671581af07f80d14bda5f WTForms-2.3.1.tar.gz
-sha256 861a13b3ae521d6700dac3b2771970bd354a63ba7043ecc3a82b5288596a1972 WTForms-2.3.1.tar.gz
+md5 2b6ea167a71c6becf20f0934417fd06c WTForms-2.3.3.tar.gz
+sha256 81195de0ac94fbc8368abbaf9197b88c4f3ffd6c2719b5bf5fc9da744f3d829c WTForms-2.3.3.tar.gz
# Locally computed sha256 checksums
sha256 cf40d60ff34f6b2b68a53d220f8b66567b5ac8dd1119b37b62fd15e9518fe59b LICENSE.rst
sha256 c9362a7258a11c84a8f7e825ccbbb5c425c6fc02368d3aee6494533fb99ba1f4 docs/license.rst
diff --git a/package/python-wtforms/python-wtforms.mk b/package/python-wtforms/python-wtforms.mk
index c47bd0b748..23280a6fe5 100644
--- a/package/python-wtforms/python-wtforms.mk
+++ b/package/python-wtforms/python-wtforms.mk
@@ -4,11 +4,11 @@
#
################################################################################
-PYTHON_WTFORMS_VERSION = 2.3.1
+PYTHON_WTFORMS_VERSION = 2.3.3
PYTHON_WTFORMS_SOURCE = WTForms-$(PYTHON_WTFORMS_VERSION).tar.gz
-PYTHON_WTFORMS_SITE = https://files.pythonhosted.org/packages/68/7a/4ce1636e03a25585f3e1436179232a66c25e53ef17f01b4384d16ace6d61
+PYTHON_WTFORMS_SITE = https://files.pythonhosted.org/packages/dd/3f/f25d26b1c66896e2876124a12cd8be8f606abf4e1890a20f3ca04e4a1555
PYTHON_WTFORMS_SETUP_TYPE = setuptools
PYTHON_WTFORMS_LICENSE = BSD-3-Clause
-PYTHON_WTFORMS_LICENSE_FILES = LICENSE.rst
+PYTHON_WTFORMS_LICENSE_FILES = LICENSE.rst docs/license.rst
$(eval $(python-package))
diff --git a/package/python3-psutil/python3-psutil.mk b/package/python3-psutil/python3-psutil.mk
index ddd4b6b7d3..febf0d3edb 100644
--- a/package/python3-psutil/python3-psutil.mk
+++ b/package/python3-psutil/python3-psutil.mk
@@ -5,9 +5,9 @@
################################################################################
# Please keep in sync with package/python-psutil/python-psutil.mk
-PYTHON3_PSUTIL_VERSION = 5.7.0
+PYTHON3_PSUTIL_VERSION = 5.7.2
PYTHON3_PSUTIL_SOURCE = psutil-$(PYTHON3_PSUTIL_VERSION).tar.gz
-PYTHON3_PSUTIL_SITE = https://files.pythonhosted.org/packages/c4/b8/3512f0e93e0db23a71d82485ba256071ebef99b227351f0f5540f744af41
+PYTHON3_PSUTIL_SITE = https://files.pythonhosted.org/packages/aa/3e/d18f2c04cf2b528e18515999b0c8e698c136db78f62df34eee89cee205f1
PYTHON3_PSUTIL_SETUP_TYPE = setuptools
PYTHON3_PSUTIL_LICENSE = BSD-3-Clause
PYTHON3_PSUTIL_LICENSE_FILES = LICENSE
diff --git a/package/qemu/qemu.hash b/package/qemu/qemu.hash
index 7199d433cf..317c0b1a4e 100644
--- a/package/qemu/qemu.hash
+++ b/package/qemu/qemu.hash
@@ -1,4 +1,4 @@
# Locally computed, tarball verified with GPG signature
-sha256 2f13a92a0fa5c8b69ff0796b59b86b080bbb92ebad5d301a7724dd06b5e78cb6 qemu-5.0.0.tar.xz
+sha256 c9174eb5933d9eb5e61f541cd6d1184cd3118dfe4c5c4955bc1bdc4d390fa4e5 qemu-5.1.0.tar.xz
sha256 6f04ae8364d0079a192b14635f4b1da294ce18724c034c39a6a41d1b09df6100 COPYING
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index c2872a2748..69850ec938 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -4,7 +4,7 @@
#
################################################################################
-QEMU_VERSION = 5.0.0
+QEMU_VERSION = 5.1.0
QEMU_SOURCE = qemu-$(QEMU_VERSION).tar.xz
QEMU_SITE = http://download.qemu.org
QEMU_LICENSE = GPL-2.0, LGPL-2.1, MIT, BSD-3-Clause, BSD-2-Clause, Others/BSD-1c
diff --git a/package/re2/Config.in b/package/re2/Config.in
new file mode 100644
index 0000000000..004185a4b6
--- /dev/null
+++ b/package/re2/Config.in
@@ -0,0 +1,14 @@
+config BR2_PACKAGE_RE2
+ bool "re2"
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # needs C++11
+ help
+ RE2 is a fast, safe, thread-friendly alternative
+ to backtracking regular expression engines like
+ those used in PCRE, Perl, and Python.
+ It is a C++ library.
+
+ https://github.com/google/re2
+
+comment "re2 needs a toolchain w/ C++, gcc >= 4.8"
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
diff --git a/package/re2/re2.hash b/package/re2/re2.hash
new file mode 100644
index 0000000000..b8a80513b7
--- /dev/null
+++ b/package/re2/re2.hash
@@ -0,0 +1,3 @@
+# locally calculated
+sha256 6f4c8514249cd65b9e85d3e6f4c35595809a63ad71c5d93083e4d1dcdf9e0cd6 re2-2020-08-01.tar.gz
+sha256 6040cda75d90b1738292a631d89934c411ef7ffd543c4d6a1b7edfc8edf29449 LICENSE
diff --git a/package/re2/re2.mk b/package/re2/re2.mk
new file mode 100644
index 0000000000..0a3c204661
--- /dev/null
+++ b/package/re2/re2.mk
@@ -0,0 +1,17 @@
+################################################################################
+#
+# re2
+#
+################################################################################
+
+RE2_VERSION = 2020-08-01
+RE2_SITE = $(call github,google,re2,$(RE2_VERSION))
+RE2_LICENSE = BSD-3-Clause
+RE2_LICENSE_FILES = LICENSE
+RE2_INSTALL_STAGING = YES
+
+RE2_CONF_OPTS += -DRE2_BUILD_TESTING=OFF
+HOST_RE2_CONF_OPTS += -DRE2_BUILD_TESTING=OFF
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
diff --git a/package/redir/Config.in b/package/redir/Config.in
new file mode 100644
index 0000000000..6e51c64218
--- /dev/null
+++ b/package/redir/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_REDIR
+ bool "redir"
+ depends on BR2_USE_MMU # fork()
+ help
+ This is a TCP port redirector for UNIX.
+
+ https://github.com/troglobit/redir
diff --git a/package/redir/redir.hash b/package/redir/redir.hash
new file mode 100644
index 0000000000..8cc19f6ac6
--- /dev/null
+++ b/package/redir/redir.hash
@@ -0,0 +1,4 @@
+# From https://github.com/troglobit/redir/releases/download/v3.3/redir-3.3.tar.xz.md5
+md5 b452e1ca6faded7bab9c76dd61d9d983 redir-3.3.tar.xz
+# License files
+sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
diff --git a/package/redir/redir.mk b/package/redir/redir.mk
new file mode 100644
index 0000000000..ea02d43a12
--- /dev/null
+++ b/package/redir/redir.mk
@@ -0,0 +1,17 @@
+################################################################################
+#
+# redir
+#
+################################################################################
+
+REDIR_VERSION = 3.3
+REDIR_SOURCE = redir-$(REDIR_VERSION).tar.xz
+REDIR_SITE = https://github.com/troglobit/redir/releases/download/v$(REDIR_VERSION)
+REDIR_LICENSE = GPL-2.0+
+REDIR_LICENSE_FILES = COPYING
+REDIR_CONF_OPTS = \
+ --disable-compat \
+ --enable-shaper \
+ --enable-ftp
+
+$(eval $(autotools-package))
diff --git a/package/runc/runc.mk b/package/runc/runc.mk
index 4c2f84ab16..aedfb5ef9e 100644
--- a/package/runc/runc.mk
+++ b/package/runc/runc.mk
@@ -9,10 +9,7 @@ RUNC_SITE = $(call github,opencontainers,runc,v$(RUNC_VERSION))
RUNC_LICENSE = Apache-2.0
RUNC_LICENSE_FILES = LICENSE
-RUNC_WORKSPACE = Godeps/_workspace
-
RUNC_LDFLAGS = -X main.gitCommit=$(RUNC_VERSION)
-
RUNC_TAGS = cgo static_build
ifeq ($(BR2_PACKAGE_LIBSECCOMP),y)
diff --git a/package/rust-bin/rust-bin.hash b/package/rust-bin/rust-bin.hash
index 5330b19d97..dd81edd581 100644
--- a/package/rust-bin/rust-bin.hash
+++ b/package/rust-bin/rust-bin.hash
@@ -1,48 +1,48 @@
-# From https://static.rust-lang.org/dist/rust-1.40.0-i686-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-1.40.0-i686-unknown-linux-gnu.tar.xz.asc
-sha256 82454e1b60b2bc24779d9c949cc0e1da43f3e423dbfc6b45b5afddf65829fc9d rust-1.40.0-i686-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/rust-1.40.0-x86_64-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-1.40.0-x86_64-unknown-linux-gnu.tar.xz.asc
-sha256 37492d6467bcea611b2c7388aed50b655524f81410e255142ef6cfb6cef1ec53 rust-1.40.0-x86_64-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.40.0-aarch64-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-aarch64-unknown-linux-gnu.tar.xz.asc
-sha256 1abd1865e8339c2cac6992a11f6f98b66fa2b97f67acaddcf1992e39a7001bfc rust-std-1.40.0-aarch64-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.40.0-arm-unknown-linux-gnueabi.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-arm-unknown-linux-gnueabi.tar.xz.asc
-sha256 14bd261dfc586dc8e1cb336b3c58b63de2af4881c970dd9b1e87f1364a866bcb rust-std-1.40.0-arm-unknown-linux-gnueabi.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.40.0-arm-unknown-linux-gnueabihf.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-arm-unknown-linux-gnueabihf.tar.xz.asc
-sha256 f16b2cf9103127140f85d21c2753d85d45b90a9309967e3a788867fd7d95a6c1 rust-std-1.40.0-arm-unknown-linux-gnueabihf.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.40.0-armv7-unknown-linux-gnueabihf.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-armv7-unknown-linux-gnueabihf.tar.xz.asc
-sha256 9d4aad78db894a76e9682f2095ac024cc4748b2933f9f7248bf571923f7693c4 rust-std-1.40.0-armv7-unknown-linux-gnueabihf.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.40.0-i686-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-i686-unknown-linux-gnu.tar.xz.asc
-sha256 beab29565d12a6b9db4ef471c34d4c034295760095f7edc3f7b6c51fc08589a0 rust-std-1.40.0-i686-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.40.0-mips-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-mips-unknown-linux-gnu.tar.xz.asc
-sha256 c25790d43e0a01e5f45607b067b22ae96163d5eae877cee1b2b35ce0d43ab9b5 rust-std-1.40.0-mips-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.40.0-mips64-unknown-linux-gnuabi64.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-mips64-unknown-linux-gnuabi64.tar.xz.asc
-sha256 7000ab95cd64f177af831d8880b9a5d7b5a23e5a18b9e9adab32bf90859bfa4e rust-std-1.40.0-mips64-unknown-linux-gnuabi64.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.40.0-mips64el-unknown-linux-gnuabi64.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-mips64el-unknown-linux-gnuabi64.tar.xz.asc
-sha256 9a4cfebee845dfd50f0f10c3019b89af3747c3aed1a797042285f3cea5a3eb30 rust-std-1.40.0-mips64el-unknown-linux-gnuabi64.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.40.0-mipsel-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-mipsel-unknown-linux-gnu.tar.xz.asc
-sha256 ab738a37c1cac1aaec7cb34556fa9bfff46dc912baf360a27e9d81311120ec4a rust-std-1.40.0-mipsel-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.40.0-powerpc-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-powerpc-unknown-linux-gnu.tar.xz.asc
-sha256 5c29b326d4d564c9fa9b82292890f47794496d3cedf106f83f935189b7ecaca5 rust-std-1.40.0-powerpc-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.40.0-powerpc64-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-powerpc64-unknown-linux-gnu.tar.xz.asc
-sha256 da7af341b3a01f684a2d9fea23f098816aa8a0f9588b58d25ec7f0622743b5b0 rust-std-1.40.0-powerpc64-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
-sha256 4eb3141fb6c3d3e101b5d4493664c9a01d4bb9eebdf4b96f5c26a81188c2452d rust-std-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz
-# From https://static.rust-lang.org/dist/rust-std-1.40.0-x86_64-unknown-linux-gnu.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rust-std-1.40.0-x86_64-unknown-linux-gnu.tar.xz.asc
-sha256 5a0b14a51f51b0194f70a2023749d9cb49c3b2e11f0d4c8232960b91fad336ac rust-std-1.40.0-x86_64-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rust-1.45.2-i686-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-1.45.2-i686-unknown-linux-gnu.tar.xz.asc
+sha256 42c25bea5c6dc35e89c65217477880aa52ee95b85271192f7e6833c80f3761f0 rust-1.45.2-i686-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rust-1.45.2-x86_64-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-1.45.2-x86_64-unknown-linux-gnu.tar.xz.asc
+sha256 39455d1ebd6f386e50748f566e1b37780f236c1f3cbc869690653662beca1ea9 rust-1.45.2-x86_64-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.45.2-aarch64-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.45.2-aarch64-unknown-linux-gnu.tar.xz.asc
+sha256 d0006b1ec413cd0f698195584cc478d3ceb44ea4232fe1971970be22f1470e1d rust-std-1.45.2-aarch64-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.45.2-arm-unknown-linux-gnueabi.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.45.2-arm-unknown-linux-gnueabi.tar.xz.asc
+sha256 68ec96eadf94aa409a74e1ac1cf56c578c539cae8c238664b1805374037ac1b3 rust-std-1.45.2-arm-unknown-linux-gnueabi.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.45.2-arm-unknown-linux-gnueabihf.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.45.2-arm-unknown-linux-gnueabihf.tar.xz.asc
+sha256 63d539b8ec09d6f555106a41278456dc443a88259eb4693f1c834b3dc2529616 rust-std-1.45.2-arm-unknown-linux-gnueabihf.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.45.2-armv7-unknown-linux-gnueabihf.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.45.2-armv7-unknown-linux-gnueabihf.tar.xz.asc
+sha256 f60ddfcbc6e7292b1b2a5145c93463cdc0e0811c95e3b426f629fcab9e24588b rust-std-1.45.2-armv7-unknown-linux-gnueabihf.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.45.2-i686-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.45.2-i686-unknown-linux-gnu.tar.xz.asc
+sha256 05474dbec0385c8dcfd940e6f8954d4f8284745a4fbcf57932022b1593829463 rust-std-1.45.2-i686-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.45.2-mips-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.45.2-mips-unknown-linux-gnu.tar.xz.asc
+sha256 6add56f405fac0306b7d966b842dfe6d6beb4eaa93492eac7ac74015ceaeba7e rust-std-1.45.2-mips-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.45.2-mips64-unknown-linux-gnuabi64.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.45.2-mips64-unknown-linux-gnuabi64.tar.xz.asc
+sha256 107931f34646486211dcc582b6c4c58b17379025969b4d0f17c52d219483e66f rust-std-1.45.2-mips64-unknown-linux-gnuabi64.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.45.2-mips64el-unknown-linux-gnuabi64.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.45.2-mips64el-unknown-linux-gnuabi64.tar.xz.asc
+sha256 6f7dbbc7098c1a5af5e6490c8335eb8f8b8a53de9773199ac65c02e099956d58 rust-std-1.45.2-mips64el-unknown-linux-gnuabi64.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.45.2-mipsel-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.45.2-mipsel-unknown-linux-gnu.tar.xz.asc
+sha256 6e7638cd370e0e5aa455d325a5f66b20c677fa3abb24bbf2519fc97ba3ac78ba rust-std-1.45.2-mipsel-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.45.2-powerpc-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.45.2-powerpc-unknown-linux-gnu.tar.xz.asc
+sha256 c6ad70fc0b052ceba0f886d2431dbd23fd444ad307c0f2f4932ccc7af246bd73 rust-std-1.45.2-powerpc-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.45.2-powerpc64-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.45.2-powerpc64-unknown-linux-gnu.tar.xz.asc
+sha256 11edc189ea6544018ee74df7996d2ee8877a0d8b719a31b7e7a33d71bba9013c rust-std-1.45.2-powerpc64-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.45.2-powerpc64le-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.45.2-powerpc64le-unknown-linux-gnu.tar.xz.asc
+sha256 0a000c2e047c675bee27c2287b2e03fe21148ead95c35b884846a8dc7c3c162d rust-std-1.45.2-powerpc64le-unknown-linux-gnu.tar.xz
+# From https://static.rust-lang.org/dist/rust-std-1.45.2-x86_64-unknown-linux-gnu.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rust-std-1.45.2-x86_64-unknown-linux-gnu.tar.xz.asc
+sha256 02309322467af8e37256ccf1f064f5233c7fca4423dffde0bd5eb32cde46942a rust-std-1.45.2-x86_64-unknown-linux-gnu.tar.xz
# Locally generated
-sha256 a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2 LICENSE-APACHE
+sha256 62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a LICENSE-APACHE
sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3 LICENSE-MIT
diff --git a/package/rust-bin/rust-bin.mk b/package/rust-bin/rust-bin.mk
index 52ca279c8d..36557048c7 100644
--- a/package/rust-bin/rust-bin.mk
+++ b/package/rust-bin/rust-bin.mk
@@ -4,7 +4,7 @@
#
################################################################################
-RUST_BIN_VERSION = 1.40.0
+RUST_BIN_VERSION = 1.45.2
RUST_BIN_SITE = https://static.rust-lang.org/dist
RUST_BIN_LICENSE = Apache-2.0 or MIT
RUST_BIN_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT
diff --git a/package/rust/rust.hash b/package/rust/rust.hash
index 67c537f670..e2d3a48e4f 100644
--- a/package/rust/rust.hash
+++ b/package/rust/rust.hash
@@ -1,6 +1,6 @@
-# From https://static.rust-lang.org/dist/rustc-1.40.0-src.tar.xz.sha256
-# Verified using https://static.rust-lang.org/dist/rustc-1.40.0-src.tar.xz.asc
-sha256 6e2aa3a91697f4b225c6b394cbae6b97666f061dba491f666a5281698fe2aace rustc-1.40.0-src.tar.xz
+# From https://static.rust-lang.org/dist/rustc-1.45.2-src.tar.xz.sha256
+# Verified using https://static.rust-lang.org/dist/rustc-1.45.2-src.tar.xz.asc
+sha256 f8412adac2f5d974b2f06c5bd4be7361084d18a678d098bf05de5ccfa57b74a9 rustc-1.45.2-src.tar.xz
# Locally generated
-sha256 a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2 LICENSE-APACHE
+sha256 62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a LICENSE-APACHE
sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3 LICENSE-MIT
diff --git a/package/rust/rust.mk b/package/rust/rust.mk
index adcadc01e7..d62f7b7be7 100644
--- a/package/rust/rust.mk
+++ b/package/rust/rust.mk
@@ -4,7 +4,7 @@
#
################################################################################
-RUST_VERSION = 1.40.0
+RUST_VERSION = 1.45.2
RUST_SOURCE = rustc-$(RUST_VERSION)-src.tar.xz
RUST_SITE = https://static.rust-lang.org/dist
RUST_LICENSE = Apache-2.0 or MIT
diff --git a/package/ser2net/ser2net.hash b/package/ser2net/ser2net.hash
index 359ab98ed3..1f108418e2 100644
--- a/package/ser2net/ser2net.hash
+++ b/package/ser2net/ser2net.hash
@@ -1,6 +1,6 @@
# From https://sourceforge.net/projects/ser2net/files/ser2net/
-md5 eb08bf2822d5c4293f798d9d8f3c1b66 ser2net-4.1.8.tar.gz
-sha1 e3538f37b99f33a417c34e7b98eb9423262ff19a ser2net-4.1.8.tar.gz
+md5 db112efce759e70caf91765fa47920fa ser2net-4.2.1.tar.gz
+sha1 2f406a209c4a93544146e338ae92b938c421493a ser2net-4.2.1.tar.gz
# Locally computed:
-sha256 cffb5147021202b064eb0a9389d0db63d1bb2dcde5a896f7785f97b1b5f51a72 ser2net-4.1.8.tar.gz
+sha256 a0d84c71a6bc75d73737461708f964084c6bbfe0cc1ef4725b4cd9cc35de14c0 ser2net-4.2.1.tar.gz
sha256 501f3108e6c03e5a0a5585ebaaa369171aead5319cd0a7a4dc1f66211c1f09f1 COPYING
diff --git a/package/ser2net/ser2net.mk b/package/ser2net/ser2net.mk
index 861f954f76..3589e813c8 100644
--- a/package/ser2net/ser2net.mk
+++ b/package/ser2net/ser2net.mk
@@ -4,7 +4,7 @@
#
################################################################################
-SER2NET_VERSION = 4.1.8
+SER2NET_VERSION = 4.2.1
SER2NET_SITE = http://downloads.sourceforge.net/project/ser2net/ser2net
SER2NET_LICENSE = GPL-2.0+
SER2NET_LICENSE_FILES = COPYING
diff --git a/package/snmppp/snmppp.hash b/package/snmppp/snmppp.hash
index 320581fb91..2dcf836fc7 100644
--- a/package/snmppp/snmppp.hash
+++ b/package/snmppp/snmppp.hash
@@ -1,3 +1,3 @@
# Locally computed:
-sha256 ea7b676e48c7a53c380c406bc6163b7057df74a6a1bf9f3cc1f13ba246225907 snmp++-3.4.1.tar.gz
-sha256 bf7bcfe654a7b4f30374035016e563d0f654af2c8306692ebcc53c3d7e655420 src/v3.cpp
+sha256 a3eb75e2310c315d9b2c2094154c7cd9b46684adb80a4b36b8957dcc09af4041 snmp++-3.4.2.tar.gz
+sha256 f6fd4321c7eb6e51a272f91f964aea7f53039bb2b55f690d5a9d042f3a5d79b9 src/v3.cpp
diff --git a/package/snmppp/snmppp.mk b/package/snmppp/snmppp.mk
index 270c41fc4b..601e28e207 100644
--- a/package/snmppp/snmppp.mk
+++ b/package/snmppp/snmppp.mk
@@ -4,7 +4,7 @@
#
################################################################################
-SNMPPP_VERSION = 3.4.1
+SNMPPP_VERSION = 3.4.2
SNMPPP_SOURCE = snmp++-$(SNMPPP_VERSION).tar.gz
SNMPPP_SITE = http://www.agentpp.com/download
SNMPPP_DEPENDENCIES = host-pkgconf
diff --git a/package/sofia-sip/0001-soa_tag.h-reintroduce-soatag_local_sdp_str_ref.patch b/package/sofia-sip/0001-soa_tag.h-reintroduce-soatag_local_sdp_str_ref.patch
index 2d52348617..57c0bfe250 100644
--- a/package/sofia-sip/0001-soa_tag.h-reintroduce-soatag_local_sdp_str_ref.patch
+++ b/package/sofia-sip/0001-soa_tag.h-reintroduce-soatag_local_sdp_str_ref.patch
@@ -4,6 +4,10 @@ Date: Thu, 24 Mar 2011 14:45:21 +0200
Subject: [PATCH] soa_tag.h: reintroduce soatag_local_sdp_str_ref
Thanks to Erik Habicht <e.habicht at thiesen.com> for spotting it
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+[rebased for sofia-sip 1.13.1-d10a3d268c, patch sent upstream
+ https://github.com/freeswitch/sofia-sip/pull/23]
---
libsofia-sip-ua/soa/sofia-sip/soa_tag.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
@@ -12,7 +16,7 @@ diff --git a/libsofia-sip-ua/soa/sofia-sip/soa_tag.h b/libsofia-sip-ua/soa/sofia
index 723ca02..d9448d6 100644
--- a/libsofia-sip-ua/soa/sofia-sip/soa_tag.h
+++ b/libsofia-sip-ua/soa/sofia-sip/soa_tag.h
-@@ -118,7 +118,7 @@ SOFIAPUBVAR tag_typedef_t soatag_local_sdp_ref;
+@@ -130,7 +130,7 @@ SOFIAPUBVAR tag_typedef_t soatag_local_sdp_ref;
SOFIAPUBVAR tag_typedef_t soatag_local_sdp_str;
#define SOATAG_LOCAL_SDP_STR_REF(x) \
soatag_local_sdp_str_ref, tag_str_vr(&(x))
diff --git a/package/freeswitch/0001-sofia-sip-fix-s2tcase.c.patch b/package/sofia-sip/0002-sofia-sip-fix-s2tcase.c.patch
index 1f74b4a5a3..a2cc412843 100644
--- a/package/freeswitch/0001-sofia-sip-fix-s2tcase.c.patch
+++ b/package/sofia-sip/0002-sofia-sip-fix-s2tcase.c.patch
@@ -4,17 +4,17 @@ Date: Sun, 26 Jul 2020 13:47:16 +0200
Subject: [PATCH] [sofia-sip] fix s2tcase.c
Fixes build error with recent libcheck:
-https://github.com/signalwire/freeswitch/issues/681
+https://github.com/freeswitch/sofia-sip/issues/22
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
- libs/sofia-sip/s2check/s2tcase.c | 4 ++--
+ s2check/s2tcase.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libs/sofia-sip/s2check/s2tcase.c b/libs/sofia-sip/s2check/s2tcase.c
index 382aaa3ad7..d67694c2ce 100644
---- a/libs/sofia-sip/s2check/s2tcase.c
-+++ b/libs/sofia-sip/s2check/s2tcase.c
+--- a/s2check/s2tcase.c
++++ b/s2check/s2tcase.c
@@ -57,7 +57,7 @@ void s2_tcase_add_test(TCase *tc, TFun tf, char const *name,
if (strcmp(*patterns, "*")) {
printf("%s: selected\n", name);
diff --git a/package/sofia-sip/Config.in b/package/sofia-sip/Config.in
index 24e2148ab9..2ad1940833 100644
--- a/package/sofia-sip/Config.in
+++ b/package/sofia-sip/Config.in
@@ -8,7 +8,7 @@ config BR2_PACKAGE_SOFIA_SIP
client software for uses such as VoIP, IM, and many other
real-time and person-to-person communication services.
- http://sofia-sip.sourceforge.net/
+ https://github.com/freeswitch/sofia-sip
comment "sofia-sip needs a toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/sofia-sip/sofia-sip.hash b/package/sofia-sip/sofia-sip.hash
index 6e81ec878f..99b315e276 100644
--- a/package/sofia-sip/sofia-sip.hash
+++ b/package/sofia-sip/sofia-sip.hash
@@ -1,4 +1,4 @@
# Locally computed
-sha256 2b01bc2e1826e00d1f7f57d29a2854b15fd5fe24695e47a14a735d195dd37c81 sofia-sip-1.12.11.tar.gz
+sha256 4cf0de1aaa1e1737db5a8fe4104021a8e60a148a4534f92b5affdd9782e404aa sofia-sip-1.13.1-d10a3d268c.tar.gz
sha256 e1c0890440efe31b6cd2ee2abf895eb917c787799f079133f5809414d90d5d60 COPYING
sha256 b402ae58cf355b33be8fa023f704a039e3d41ecaccd2bbcda43ca31d703e4556 COPYRIGHTS
diff --git a/package/sofia-sip/sofia-sip.mk b/package/sofia-sip/sofia-sip.mk
index 831b9ea54d..54b48a7048 100644
--- a/package/sofia-sip/sofia-sip.mk
+++ b/package/sofia-sip/sofia-sip.mk
@@ -4,8 +4,8 @@
#
################################################################################
-SOFIA_SIP_VERSION = 1.12.11
-SOFIA_SIP_SITE = http://downloads.sourceforge.net/project/sofia-sip/sofia-sip/$(SOFIA_SIP_VERSION)
+SOFIA_SIP_VERSION = 1.13.1-d10a3d268c
+SOFIA_SIP_SITE = https://files.freeswitch.org/downloads/libs
SOFIA_SIP_INSTALL_STAGING = YES
SOFIA_SIP_DEPENDENCIES = host-pkgconf
SOFIA_SIP_LICENSE = LGPL-2.1+
diff --git a/package/spandsp/Config.in b/package/spandsp/Config.in
index a2d5b85d79..da0ca50fa2 100644
--- a/package/spandsp/Config.in
+++ b/package/spandsp/Config.in
@@ -6,4 +6,4 @@ config BR2_PACKAGE_SPANDSP
These range from simple modules, such as DTMF detection, to
a complete software FAX machine.
- http://www.soft-switch.org/
+ https://github.com/freeswitch/spandsp
diff --git a/package/spandsp/spandsp.hash b/package/spandsp/spandsp.hash
index 1123e29c1b..d38b069198 100644
--- a/package/spandsp/spandsp.hash
+++ b/package/spandsp/spandsp.hash
@@ -1,3 +1,3 @@
# sha256 locally computed
-sha256 0fcdda74bd9703dd66c3e9721bf2d81bd7c185c539d1887768c2b332ab703d51 spandsp-20180108.tar.gz
-sha256 366576cb0b869cd9e95a4882878607314650488ac635e5df0692180382e9666a COPYING
+sha256 a11beed46b488a4cac3b0c42042ad28448bcee4c0027a82d5449180bbb178836 spandsp-3.0.0-6ec23e5a7e.tar.gz
+sha256 366576cb0b869cd9e95a4882878607314650488ac635e5df0692180382e9666a COPYING
diff --git a/package/spandsp/spandsp.mk b/package/spandsp/spandsp.mk
index e02c15a776..42c0e3bb69 100644
--- a/package/spandsp/spandsp.mk
+++ b/package/spandsp/spandsp.mk
@@ -4,9 +4,8 @@
#
################################################################################
-SPANDSP_VERSION = 20180108
-SPANDSP_SITE = https://www.soft-switch.org/downloads/spandsp/snapshots
-
+SPANDSP_VERSION = 3.0.0-6ec23e5a7e
+SPANDSP_SITE = https://files.freeswitch.org/downloads/libs
SPANDSP_LICENSE = LGPL-2.1 (library), GPL-2.0 (test suite)
SPANDSP_LICENSE_FILES = COPYING
diff --git a/package/stress-ng/0001-stress-ng.h-suppress-kernel-sysinfo.h.patch b/package/stress-ng/0001-stress-ng.h-suppress-kernel-sysinfo.h.patch
deleted file mode 100644
index cc8b1a1b67..0000000000
--- a/package/stress-ng/0001-stress-ng.h-suppress-kernel-sysinfo.h.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 8c223daf10319f15570a74ed83a1d655fdbd4a7b Mon Sep 17 00:00:00 2001
-Message-Id: <8c223daf10319f15570a74ed83a1d655fdbd4a7b.1592540443.git.baruch@tkos.co.il>
-From: Baruch Siach <baruch@tkos.co.il>
-Date: Fri, 19 Jun 2020 07:10:24 +0300
-Subject: [PATCH] stress-ng.h: suppress kernel sysinfo.h
-
-The kernel sysinfo.h (indirectly included from genetlink.h) defines
-struct sysinfo. This collides with musl libc definition of the same
-struct.
-
-Fixes this build issue:
-
-In file included from .../arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/kernel.h:5,
- from .../arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/netlink.h:5,
- from .../arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/genetlink.h:6,
- from stress-ng.h:464,
- from stress-access.c:25:
-.../arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/sysinfo.h:8:8: error: redefinition of ‘struct sysinfo’
- struct sysinfo {
- ^~~~~~~
-In file included from stress-ng.h:389,
- from stress-access.c:25:
-.../arm-buildroot-linux-musleabihf/sysroot/usr/include/sys/sysinfo.h:10:8: note: originally defined here
- struct sysinfo {
- ^~~~~~~
-
-Signed-off-by: Baruch Siach <baruch@tkos.co.il>
----
-Upstream status: https://github.com/ColinIanKing/stress-ng/pull/69
-
- stress-ng.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/stress-ng.h b/stress-ng.h
-index 1a662938c1d9..e8aa0efe7527 100644
---- a/stress-ng.h
-+++ b/stress-ng.h
-@@ -387,6 +387,8 @@
-
- #if defined(HAVE_SYS_SYSINFO_H)
- #include <sys/sysinfo.h>
-+/* Suppress kernel sysinfo to avoid collision with musl */
-+#define _LINUX_SYSINFO_H
- #endif
-
- #if defined(HAVE_SYS_SYSMACROS_H)
---
-2.27.0
-
diff --git a/package/stress-ng/stress-ng.hash b/package/stress-ng/stress-ng.hash
index 9993c759ba..5250a22475 100644
--- a/package/stress-ng/stress-ng.hash
+++ b/package/stress-ng/stress-ng.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 b21436fdbd9dc482a3fd95ae27cccf0097d0f226361ea3785215f7a4ad50136b stress-ng-0.11.14.tar.xz
+sha256 860291dd3a18b985b3483190a627bbede2b5c52113766c1921001b3fb4b83af0 stress-ng-0.11.17.tar.xz
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
diff --git a/package/stress-ng/stress-ng.mk b/package/stress-ng/stress-ng.mk
index 61bc07d60a..57464e9bbf 100644
--- a/package/stress-ng/stress-ng.mk
+++ b/package/stress-ng/stress-ng.mk
@@ -4,7 +4,7 @@
#
################################################################################
-STRESS_NG_VERSION = 0.11.14
+STRESS_NG_VERSION = 0.11.17
STRESS_NG_SOURCE = stress-ng-$(STRESS_NG_VERSION).tar.xz
STRESS_NG_SITE = http://kernel.ubuntu.com/~cking/tarballs/stress-ng
STRESS_NG_LICENSE = GPL-2.0+
diff --git a/package/sysrepo/sysrepo.hash b/package/sysrepo/sysrepo.hash
index 894f26380f..cdd2f7e478 100644
--- a/package/sysrepo/sysrepo.hash
+++ b/package/sysrepo/sysrepo.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 4dbb916c32e0229238a06bfa929e5615af89e9f79d225b558df99efe6ac84c03 sysrepo-1.4.66.tar.gz
+sha256 f0f894d4ed98ce9d20fda219378b844731d796e95115c07f4c067d853e20ca36 sysrepo-1.4.70.tar.gz
sha256 b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1 LICENSE
diff --git a/package/sysrepo/sysrepo.mk b/package/sysrepo/sysrepo.mk
index eb7fdb0e8d..8a2e56bd61 100644
--- a/package/sysrepo/sysrepo.mk
+++ b/package/sysrepo/sysrepo.mk
@@ -4,7 +4,7 @@
#
################################################################################
-SYSREPO_VERSION = 1.4.66
+SYSREPO_VERSION = 1.4.70
SYSREPO_SITE = $(call github,sysrepo,sysrepo,v$(SYSREPO_VERSION))
SYSREPO_INSTALL_STAGING = YES
SYSREPO_LICENSE = Apache-2.0
diff --git a/package/systemd/Config.in b/package/systemd/Config.in
index f21c8d32dd..74029aff05 100644
--- a/package/systemd/Config.in
+++ b/package/systemd/Config.in
@@ -28,6 +28,7 @@ menuconfig BR2_PACKAGE_SYSTEMD
select BR2_PACKAGE_DBUS # runtime dependency only
select BR2_PACKAGE_LIBCAP
select BR2_PACKAGE_UTIL_LINUX
+ select BR2_PACKAGE_UTIL_LINUX_LIBS
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_UTIL_LINUX_AGETTY
select BR2_PACKAGE_UTIL_LINUX_MOUNT
diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
index 81fa2bd0f0..12eb5653f6 100644
--- a/package/systemd/systemd.mk
+++ b/package/systemd/systemd.mk
@@ -15,7 +15,7 @@ SYSTEMD_DEPENDENCIES = \
host-gperf \
kmod \
libcap \
- util-linux \
+ util-linux-libs \
$(TARGET_NLS_DEPENDENCIES)
SYSTEMD_PROVIDES = udev
@@ -523,9 +523,6 @@ endef
define SYSTEMD_USERS
# udev user groups
- - - input -1 * - - - Input device group
- - - render -1 * - - - DRI rendering nodes
- - - kvm -1 * - - - kvm nodes
# systemd user groups
- - systemd-journal -1 * - - - Journal
$(SYSTEMD_REMOTE_USER)
diff --git a/package/udev/udev.mk b/package/udev/udev.mk
index cc4a6e3a26..05b35b21f0 100644
--- a/package/udev/udev.mk
+++ b/package/udev/udev.mk
@@ -4,4 +4,11 @@
#
################################################################################
+# Required by default rules for input devices
+define UDEV_USERS
+ - - input -1 * - - - Input device group
+ - - render -1 * - - - DRI rendering nodes
+ - - kvm -1 * - - - kvm nodes
+endef
+
$(eval $(virtual-package))
diff --git a/package/udisks/Config.in b/package/udisks/Config.in
index 04a632dd8d..efd3b619bf 100644
--- a/package/udisks/Config.in
+++ b/package/udisks/Config.in
@@ -9,16 +9,16 @@ config BR2_PACKAGE_UDISKS
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # polkit
depends on BR2_USE_MMU # lvm2
depends on BR2_USE_WCHAR # dbus-glib -> glib2
- depends on !BR2_TOOLCHAIN_USES_UCLIBC # polkit, lvm2, parted
+ depends on !BR2_TOOLCHAIN_USES_UCLIBC # polkit, lvm2
depends on !BR2_STATIC_LIBS # lvm2, spidermonkey
select BR2_PACKAGE_DBUS
select BR2_PACKAGE_DBUS_GLIB
- select BR2_PACKAGE_SG3_UTILS
- select BR2_PACKAGE_POLKIT
- select BR2_PACKAGE_PARTED
- select BR2_PACKAGE_LVM2
select BR2_PACKAGE_LIBATASMART
select BR2_PACKAGE_LIBGUDEV
+ select BR2_PACKAGE_LVM2
+ select BR2_PACKAGE_PARTED
+ select BR2_PACKAGE_POLKIT
+ select BR2_PACKAGE_SG3_UTILS
help
The udisks project provides
diff --git a/package/udisks/udisks.mk b/package/udisks/udisks.mk
index fe8932a92e..c6119a8b80 100644
--- a/package/udisks/udisks.mk
+++ b/package/udisks/udisks.mk
@@ -12,16 +12,16 @@ UDISKS_LICENSE_FILES = COPYING
UDISKS_AUTORECONF = YES
UDISKS_DEPENDENCIES = \
- sg3_utils \
host-pkgconf \
- udev \
dbus \
dbus-glib \
- polkit \
- parted \
- lvm2 \
libatasmart \
- libgudev
+ libgudev \
+ lvm2 \
+ parted \
+ polkit \
+ sg3_utils \
+ udev
UDISKS_CONF_OPTS = --disable-remote-access --disable-man-pages
diff --git a/package/uhd/0001-host-CMakeLists-add-boost-unit_test_framework-requir.patch b/package/uhd/0001-host-CMakeLists-add-boost-unit_test_framework-requir.patch
new file mode 100644
index 0000000000..a79b650bed
--- /dev/null
+++ b/package/uhd/0001-host-CMakeLists-add-boost-unit_test_framework-requir.patch
@@ -0,0 +1,40 @@
+From 881705ec581ab7cd61c8e4fe134db8854a83ec4e Mon Sep 17 00:00:00 2001
+From: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
+Date: Tue, 28 Apr 2020 16:56:29 +0200
+Subject: [PATCH] host: CMakeLists: add boost unit_test_framework required only
+ when ENABLE_TESTS=ON
+
+By default, boost unit_test_framework is always required, but only use
+when ENABLE_TESTS=ON.
+This PR suppress unit_test_framework to the default list and append
+UHD_BOOST_REQUIRED_COMPONENTS when this library is needed
+
+[backported from https://github.com/EttusResearch/uhd/pull/341]
+Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
+---
+ host/CMakeLists.txt | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/host/CMakeLists.txt b/host/CMakeLists.txt
+index 8f72ece76..a7731ffbd 100644
+--- a/host/CMakeLists.txt
++++ b/host/CMakeLists.txt
+@@ -291,10 +291,14 @@ set(UHD_BOOST_REQUIRED_COMPONENTS
+ filesystem
+ program_options
+ system
+- unit_test_framework
+ serialization
+ thread
+ )
++
++if(ENABLE_TESTS)
++ list(APPEND UHD_BOOST_REQUIRED_COMPONENTS unit_test_framework)
++endif(ENABLE_TESTS)
++
+ include(UHDBoost)
+
+ include_directories(${Boost_INCLUDE_DIRS})
+--
+2.26.2
+
diff --git a/package/uhd/0002-host-fix-build-boost-173.patch b/package/uhd/0002-host-fix-build-boost-173.patch
new file mode 100644
index 0000000000..b685b5f8a7
--- /dev/null
+++ b/package/uhd/0002-host-fix-build-boost-173.patch
@@ -0,0 +1,577 @@
+From 13caaf001061db3c01082c4574a5e326c4969ab6 Mon Sep 17 00:00:00 2001
+From: Martin Braun <martin.braun@ettus.com>
+Date: Thu, 16 Jul 2020 13:07:34 +0200
+Subject: [PATCH] boost: Include bind.hpp where used, add
+ BOOST_BIND_GLOBAL_PLACEHOLDERS
+
+Consists of two changes:
+- Grepped for files that use boost::bind, but don't include
+ boost/bind.hpp. Changed all of those to include bind.hpp
+- Add BOOST_BIND_GLOBAL_PLACEHOLDERS so that Boost doesn't complain
+ about using bind placeholders in the global namespace.
+
+Background: boost/bind.hpp is a convenience header that pulls the Boost
+bind placeholders into the global namespace, but that's deprecated
+behaviour. For UHD 3.15, we'll keep the deprecated behaviour (modern UHD
+no longer uses Boost.Bind), so this fixes build failures with modern
+Boost, and related warnings.
+
+Patch retrieved from
+https://github.com/EttusResearch/uhd/commit/13caaf001061db3c01082c4574a5e326c4969ab6
+
+Signed-off-by: Martin Braun <martin.braun@ettus.com>
+Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
+---
+ host/cmake/Modules/UHDBoost.cmake | 3 +++
+ host/examples/network_relay.cpp | 1 +
+ host/examples/rfnoc_rx_to_file.cpp | 1 +
+ host/examples/test_clock_synch.cpp | 1 +
+ host/examples/txrx_loopback_to_file.cpp | 1 +
+ host/lib/rfnoc/dma_fifo_block_ctrl_impl.cpp | 1 +
+ host/lib/rfnoc/legacy_compat.cpp | 1 +
+ host/lib/transport/xport_benchmarker.cpp | 1 +
+ host/lib/usrp/b100/b100_impl.cpp | 1 +
+ host/lib/usrp/b200/b200_iface.cpp | 1 +
+ host/lib/usrp/b200/b200_impl.cpp | 1 +
+ host/lib/usrp/cores/rx_dsp_core_3000.cpp | 1 +
+ host/lib/usrp/cores/tx_dsp_core_3000.cpp | 1 +
+ host/lib/usrp/dboard/db_cbx.cpp | 1 +
+ host/lib/usrp/dboard/db_dbsrx.cpp | 1 +
+ host/lib/usrp/dboard/db_dbsrx2.cpp | 1 +
+ host/lib/usrp/dboard/db_sbx_common.cpp | 1 +
+ host/lib/usrp/dboard/db_sbx_version3.cpp | 1 +
+ host/lib/usrp/dboard/db_sbx_version4.cpp | 1 +
+ host/lib/usrp/dboard/db_tvrx.cpp | 1 +
+ host/lib/usrp/dboard/db_tvrx2.cpp | 1 +
+ host/lib/usrp/dboard/db_twinrx.cpp | 1 +
+ host/lib/usrp/dboard/db_ubx.cpp | 1 +
+ host/lib/usrp/dboard/db_wbx_common.cpp | 1 +
+ host/lib/usrp/dboard/db_wbx_simple.cpp | 1 +
+ host/lib/usrp/dboard/db_wbx_version2.cpp | 1 +
+ host/lib/usrp/dboard/db_wbx_version3.cpp | 1 +
+ host/lib/usrp/dboard/db_wbx_version4.cpp | 1 +
+ host/lib/usrp/dboard/db_xcvr2450.cpp | 1 +
+ host/lib/usrp/dboard/eiscat/eiscat_radio_ctrl_impl.cpp | 1 +
+ host/lib/usrp/multi_usrp.cpp | 1 +
+ host/lib/usrp/n230/n230_resource_manager.cpp | 1 +
+ host/lib/usrp/n230/n230_uart.cpp | 1 +
+ host/lib/usrp/usrp1/soft_time_ctrl.cpp | 1 +
+ host/lib/usrp/usrp1/usrp1_impl.cpp | 1 +
+ host/lib/usrp/x300/x300_radio_ctrl_impl.cpp | 1 +
+ host/lib/usrp_clock/octoclock/octoclock_impl.cpp | 1 +
+ host/lib/utils/ihex.cpp | 1 +
+ host/lib/utils/tasks.cpp | 1 +
+ host/utils/uhd_cal_rx_iq_balance.cpp | 1 +
+ host/utils/uhd_cal_tx_dc_offset.cpp | 1 +
+ host/utils/uhd_cal_tx_iq_balance.cpp | 1 +
+ 42 files changed, 44 insertions(+)
+
+diff --git a/host/cmake/Modules/UHDBoost.cmake b/host/cmake/Modules/UHDBoost.cmake
+index 5ebb4acef..e3ee42b50 100644
+--- a/host/cmake/Modules/UHDBoost.cmake
++++ b/host/cmake/Modules/UHDBoost.cmake
+@@ -259,6 +259,9 @@ else()
+ # disable Boost's use of std::experimental::string_view
+ # works for Boost 1.67.0 and newer & doesn't hurt older
+ add_definitions(-DBOOST_ASIO_DISABLE_STD_EXPERIMENTAL_STRING_VIEW)
++ # UHD 3.15 still uses global placeholders (_1, _2, ...) from Boost which
++ # need to be enabled explicitly for some Boost versions
++ add_definitions(-DBOOST_BIND_GLOBAL_PLACEHOLDERS)
+
+ # Boost 1.70.0's find cmake scripts don't always set the expected
+ # return variables. Replicate the commit that fixes that issue here:
+diff --git a/host/examples/network_relay.cpp b/host/examples/network_relay.cpp
+index bf2ac9255..9a9f56eb5 100644
+--- a/host/examples/network_relay.cpp
++++ b/host/examples/network_relay.cpp
+@@ -8,6 +8,7 @@
+ #include <uhd/utils/safe_main.hpp>
+ #include <uhd/utils/thread.hpp>
+ #include <boost/asio.hpp>
++#include <boost/bind.hpp>
+ #include <boost/format.hpp>
+ #include <boost/program_options.hpp>
+ #include <boost/thread/condition_variable.hpp>
+diff --git a/host/examples/rfnoc_rx_to_file.cpp b/host/examples/rfnoc_rx_to_file.cpp
+index 5bb9985ae..cbd35cbe8 100644
+--- a/host/examples/rfnoc_rx_to_file.cpp
++++ b/host/examples/rfnoc_rx_to_file.cpp
+@@ -23,6 +23,7 @@
+ #include <uhd/types/tune_request.hpp>
+ #include <uhd/utils/safe_main.hpp>
+ #include <uhd/utils/thread.hpp>
++#include <boost/bind.hpp>
+ #include <boost/format.hpp>
+ #include <boost/program_options.hpp>
+ #include <chrono>
+diff --git a/host/examples/test_clock_synch.cpp b/host/examples/test_clock_synch.cpp
+index 8556063d7..ec071f7c7 100644
+--- a/host/examples/test_clock_synch.cpp
++++ b/host/examples/test_clock_synch.cpp
+@@ -12,6 +12,7 @@
+ #include <uhd/usrp_clock/multi_usrp_clock.hpp>
+ #include <uhd/utils/safe_main.hpp>
+ #include <uhd/utils/thread.hpp>
++#include <boost/bind.hpp>
+ #include <boost/format.hpp>
+ #include <boost/program_options.hpp>
+ #include <chrono>
+diff --git a/host/examples/txrx_loopback_to_file.cpp b/host/examples/txrx_loopback_to_file.cpp
+index 271d249f6..a2f0427c9 100644
+--- a/host/examples/txrx_loopback_to_file.cpp
++++ b/host/examples/txrx_loopback_to_file.cpp
+@@ -13,6 +13,7 @@
+ #include <uhd/utils/static.hpp>
+ #include <uhd/utils/thread.hpp>
+ #include <boost/algorithm/string.hpp>
++#include <boost/bind.hpp>
+ #include <boost/filesystem.hpp>
+ #include <boost/format.hpp>
+ #include <boost/math/special_functions/round.hpp>
+diff --git a/host/lib/rfnoc/dma_fifo_block_ctrl_impl.cpp b/host/lib/rfnoc/dma_fifo_block_ctrl_impl.cpp
+index a80e2ef53..b78635002 100644
+--- a/host/lib/rfnoc/dma_fifo_block_ctrl_impl.cpp
++++ b/host/lib/rfnoc/dma_fifo_block_ctrl_impl.cpp
+@@ -11,6 +11,7 @@
+ #include <uhd/utils/log.hpp>
+ #include <uhdlib/rfnoc/wb_iface_adapter.hpp>
+ #include <uhdlib/usrp/cores/dma_fifo_core_3000.hpp>
++#include <boost/bind.hpp>
+ #include <boost/format.hpp>
+ #include <boost/make_shared.hpp>
+ #include <boost/thread/mutex.hpp>
+diff --git a/host/lib/rfnoc/legacy_compat.cpp b/host/lib/rfnoc/legacy_compat.cpp
+index 91de361df..f93fe871a 100644
+--- a/host/lib/rfnoc/legacy_compat.cpp
++++ b/host/lib/rfnoc/legacy_compat.cpp
+@@ -19,6 +19,7 @@
+ #include <uhd/usrp/subdev_spec.hpp>
+ #include <uhd/utils/log.hpp>
+ #include <uhdlib/rfnoc/legacy_compat.hpp>
++#include <boost/bind.hpp>
+ #include <boost/make_shared.hpp>
+ #include <set>
+
+diff --git a/host/lib/transport/xport_benchmarker.cpp b/host/lib/transport/xport_benchmarker.cpp
+index 67582ff2c..7abd4c5fd 100644
+--- a/host/lib/transport/xport_benchmarker.cpp
++++ b/host/lib/transport/xport_benchmarker.cpp
+@@ -6,6 +6,7 @@
+ //
+
+ #include "xport_benchmarker.hpp"
++#include <boost/bind.hpp>
+ #include <chrono>
+ #include <thread>
+
+diff --git a/host/lib/usrp/b100/b100_impl.cpp b/host/lib/usrp/b100/b100_impl.cpp
+index cd4319803..08006ae32 100644
+--- a/host/lib/usrp/b100/b100_impl.cpp
++++ b/host/lib/usrp/b100/b100_impl.cpp
+@@ -15,6 +15,7 @@
+ #include <uhd/utils/paths.hpp>
+ #include <uhd/utils/safe_call.hpp>
+ #include <uhdlib/usrp/common/apply_corrections.hpp>
++#include <boost/bind.hpp>
+ #include <boost/format.hpp>
+ #include <cstdio>
+ #include <iostream>
+diff --git a/host/lib/usrp/b200/b200_iface.cpp b/host/lib/usrp/b200/b200_iface.cpp
+index 082be071c..cdf88f69b 100644
+--- a/host/lib/usrp/b200/b200_iface.cpp
++++ b/host/lib/usrp/b200/b200_iface.cpp
+@@ -12,6 +12,7 @@
+ #include <uhd/exception.hpp>
+ #include <uhdlib/utils/ihex.hpp>
+
++#include <boost/bind.hpp>
+ #include <boost/functional/hash.hpp>
+ #include <boost/lexical_cast.hpp>
+ #include <boost/format.hpp>
+diff --git a/host/lib/usrp/b200/b200_impl.cpp b/host/lib/usrp/b200/b200_impl.cpp
+index 1be8c263b..c0f8ee1ac 100644
+--- a/host/lib/usrp/b200/b200_impl.cpp
++++ b/host/lib/usrp/b200/b200_impl.cpp
+@@ -17,6 +17,7 @@
+ #include <uhd/utils/safe_call.hpp>
+ #include <uhd/usrp/dboard_eeprom.hpp>
+ #include <boost/format.hpp>
++#include <boost/bind.hpp>
+ #include <boost/filesystem.hpp>
+ #include <boost/lexical_cast.hpp>
+ #include <boost/functional/hash.hpp>
+diff --git a/host/lib/usrp/cores/rx_dsp_core_3000.cpp b/host/lib/usrp/cores/rx_dsp_core_3000.cpp
+index 46fce3f69..ff7caf105 100644
+--- a/host/lib/usrp/cores/rx_dsp_core_3000.cpp
++++ b/host/lib/usrp/cores/rx_dsp_core_3000.cpp
+@@ -13,6 +13,7 @@
+ #include <uhdlib/usrp/cores/dsp_core_utils.hpp>
+ #include <uhdlib/usrp/cores/rx_dsp_core_3000.hpp>
+ #include <boost/assign/list_of.hpp>
++#include <boost/bind.hpp>
+ #include <boost/math/special_functions/round.hpp>
+ #include <boost/thread/thread.hpp> //thread sleep
+ #include <algorithm>
+diff --git a/host/lib/usrp/cores/tx_dsp_core_3000.cpp b/host/lib/usrp/cores/tx_dsp_core_3000.cpp
+index be7593841..b76a74b1c 100644
+--- a/host/lib/usrp/cores/tx_dsp_core_3000.cpp
++++ b/host/lib/usrp/cores/tx_dsp_core_3000.cpp
+@@ -12,6 +12,7 @@
+ #include <uhdlib/usrp/cores/dsp_core_utils.hpp>
+ #include <uhdlib/usrp/cores/tx_dsp_core_3000.hpp>
+ #include <boost/assign/list_of.hpp>
++#include <boost/bind.hpp>
+ #include <boost/math/special_functions/round.hpp>
+ #include <boost/thread/thread.hpp> //sleep
+ #include <algorithm>
+diff --git a/host/lib/usrp/dboard/db_cbx.cpp b/host/lib/usrp/dboard/db_cbx.cpp
+index dd0640d00..f5c7f2399 100644
+--- a/host/lib/usrp/dboard/db_cbx.cpp
++++ b/host/lib/usrp/dboard/db_cbx.cpp
+@@ -7,6 +7,7 @@
+
+ #include "db_sbx_common.hpp"
+ #include <boost/algorithm/string.hpp>
++#include <boost/bind.hpp>
+ #include <boost/math/special_functions/round.hpp>
+
+ using namespace uhd;
+diff --git a/host/lib/usrp/dboard/db_dbsrx.cpp b/host/lib/usrp/dboard/db_dbsrx.cpp
+index 587158470..dc82b60f9 100644
+--- a/host/lib/usrp/dboard/db_dbsrx.cpp
++++ b/host/lib/usrp/dboard/db_dbsrx.cpp
+@@ -21,6 +21,7 @@
+ #include <uhd/usrp/dboard_base.hpp>
+ #include <uhd/usrp/dboard_manager.hpp>
+ #include <boost/assign/list_of.hpp>
++#include <boost/bind.hpp>
+ #include <boost/format.hpp>
+ #include <boost/math/special_functions/round.hpp>
+ #include <utility>
+diff --git a/host/lib/usrp/dboard/db_dbsrx2.cpp b/host/lib/usrp/dboard/db_dbsrx2.cpp
+index e2505dfd7..da4da4148 100644
+--- a/host/lib/usrp/dboard/db_dbsrx2.cpp
++++ b/host/lib/usrp/dboard/db_dbsrx2.cpp
+@@ -18,6 +18,7 @@
+ #include <uhd/usrp/dboard_base.hpp>
+ #include <uhd/usrp/dboard_manager.hpp>
+ #include <boost/assign/list_of.hpp>
++#include <boost/bind.hpp>
+ #include <boost/format.hpp>
+ #include <boost/thread.hpp>
+ #include <boost/math/special_functions/round.hpp>
+diff --git a/host/lib/usrp/dboard/db_sbx_common.cpp b/host/lib/usrp/dboard/db_sbx_common.cpp
+index b6eaedc3d..95aff96b4 100644
+--- a/host/lib/usrp/dboard/db_sbx_common.cpp
++++ b/host/lib/usrp/dboard/db_sbx_common.cpp
+@@ -6,6 +6,7 @@
+ //
+
+ #include "db_sbx_common.hpp"
++#include <boost/bind.hpp>
+
+ using namespace uhd;
+ using namespace uhd::usrp;
+diff --git a/host/lib/usrp/dboard/db_sbx_version3.cpp b/host/lib/usrp/dboard/db_sbx_version3.cpp
+index 369315b2e..fb829cf34 100644
+--- a/host/lib/usrp/dboard/db_sbx_version3.cpp
++++ b/host/lib/usrp/dboard/db_sbx_version3.cpp
+@@ -9,6 +9,7 @@
+ #include "db_sbx_common.hpp"
+ #include <uhd/types/tune_request.hpp>
+ #include <boost/algorithm/string.hpp>
++#include <boost/bind.hpp>
+
+ using namespace uhd;
+ using namespace uhd::usrp;
+diff --git a/host/lib/usrp/dboard/db_sbx_version4.cpp b/host/lib/usrp/dboard/db_sbx_version4.cpp
+index d1c76287b..e1adebf99 100644
+--- a/host/lib/usrp/dboard/db_sbx_version4.cpp
++++ b/host/lib/usrp/dboard/db_sbx_version4.cpp
+@@ -9,6 +9,7 @@
+ #include "db_sbx_common.hpp"
+ #include <uhd/types/tune_request.hpp>
+ #include <boost/algorithm/string.hpp>
++#include <boost/bind.hpp>
+
+ using namespace uhd;
+ using namespace uhd::usrp;
+diff --git a/host/lib/usrp/dboard/db_tvrx.cpp b/host/lib/usrp/dboard/db_tvrx.cpp
+index 8bf377c4d..5fbbf5bee 100644
+--- a/host/lib/usrp/dboard/db_tvrx.cpp
++++ b/host/lib/usrp/dboard/db_tvrx.cpp
+@@ -28,6 +28,7 @@
+ #include <uhd/usrp/dboard_base.hpp>
+ #include <uhd/usrp/dboard_manager.hpp>
+ #include <boost/assign/list_of.hpp>
++#include <boost/bind.hpp>
+ #include <boost/format.hpp>
+ #include <boost/thread.hpp>
+ #include <boost/array.hpp>
+diff --git a/host/lib/usrp/dboard/db_tvrx2.cpp b/host/lib/usrp/dboard/db_tvrx2.cpp
+index 5dba83551..e1623487d 100644
+--- a/host/lib/usrp/dboard/db_tvrx2.cpp
++++ b/host/lib/usrp/dboard/db_tvrx2.cpp
+@@ -55,6 +55,7 @@
+ #include <uhd/usrp/dboard_manager.hpp>
+ #include <boost/assign/list_of.hpp>
+ #include <boost/format.hpp>
++#include <boost/bind.hpp>
+ #include <boost/array.hpp>
+ #include <boost/math/special_functions/round.hpp>
+ #include <utility>
+diff --git a/host/lib/usrp/dboard/db_twinrx.cpp b/host/lib/usrp/dboard/db_twinrx.cpp
+index de1cd3f33..aa9da8adf 100644
+--- a/host/lib/usrp/dboard/db_twinrx.cpp
++++ b/host/lib/usrp/dboard/db_twinrx.cpp
+@@ -19,6 +19,7 @@
+ #include <uhd/utils/log.hpp>
+ #include <uhd/utils/static.hpp>
+ #include "dboard_ctor_args.hpp"
++#include <boost/bind.hpp>
+ #include <boost/make_shared.hpp>
+ #include <boost/thread.hpp>
+ #include <boost/thread/mutex.hpp>
+diff --git a/host/lib/usrp/dboard/db_ubx.cpp b/host/lib/usrp/dboard/db_ubx.cpp
+index 305a69c52..e78f9db75 100644
+--- a/host/lib/usrp/dboard/db_ubx.cpp
++++ b/host/lib/usrp/dboard/db_ubx.cpp
+@@ -20,6 +20,7 @@
+ #include <uhd/utils/safe_call.hpp>
+ #include <uhdlib/usrp/common/max287x.hpp>
+
++#include <boost/bind.hpp>
+ #include <boost/shared_ptr.hpp>
+ #include <boost/math/special_functions/round.hpp>
+ #include <boost/algorithm/string.hpp>
+diff --git a/host/lib/usrp/dboard/db_wbx_common.cpp b/host/lib/usrp/dboard/db_wbx_common.cpp
+index 41f323d19..fd7b2481a 100644
+--- a/host/lib/usrp/dboard/db_wbx_common.cpp
++++ b/host/lib/usrp/dboard/db_wbx_common.cpp
+@@ -12,6 +12,7 @@
+ #include <uhd/utils/assert_has.hpp>
+ #include <uhd/utils/algorithm.hpp>
+ #include <uhd/utils/log.hpp>
++#include <boost/bind.hpp>
+
+ using namespace uhd;
+ using namespace uhd::usrp;
+diff --git a/host/lib/usrp/dboard/db_wbx_simple.cpp b/host/lib/usrp/dboard/db_wbx_simple.cpp
+index 390c5c47a..e3a5667c7 100644
+--- a/host/lib/usrp/dboard/db_wbx_simple.cpp
++++ b/host/lib/usrp/dboard/db_wbx_simple.cpp
+@@ -17,6 +17,7 @@
+ #include <uhd/utils/assert_has.hpp>
+ #include <uhd/usrp/dboard_manager.hpp>
+ #include <boost/assign/list_of.hpp>
++#include <boost/bind.hpp>
+
+ using namespace uhd;
+ using namespace uhd::usrp;
+diff --git a/host/lib/usrp/dboard/db_wbx_version2.cpp b/host/lib/usrp/dboard/db_wbx_version2.cpp
+index 775ee4467..f1bf7dacc 100644
+--- a/host/lib/usrp/dboard/db_wbx_version2.cpp
++++ b/host/lib/usrp/dboard/db_wbx_version2.cpp
+@@ -16,6 +16,7 @@
+
+ #include <uhd/usrp/dboard_base.hpp>
+ #include <boost/assign/list_of.hpp>
++#include <boost/bind.hpp>
+ #include <boost/format.hpp>
+ #include <boost/math/special_functions/round.hpp>
+ #include <boost/algorithm/string.hpp>
+diff --git a/host/lib/usrp/dboard/db_wbx_version3.cpp b/host/lib/usrp/dboard/db_wbx_version3.cpp
+index 41979f8ef..b755d09a2 100644
+--- a/host/lib/usrp/dboard/db_wbx_version3.cpp
++++ b/host/lib/usrp/dboard/db_wbx_version3.cpp
+@@ -15,6 +15,7 @@
+
+ #include <uhd/usrp/dboard_base.hpp>
+ #include <boost/assign/list_of.hpp>
++#include <boost/bind.hpp>
+ #include <boost/format.hpp>
+ #include <boost/math/special_functions/round.hpp>
+ #include <boost/algorithm/string.hpp>
+diff --git a/host/lib/usrp/dboard/db_wbx_version4.cpp b/host/lib/usrp/dboard/db_wbx_version4.cpp
+index 8b3d13b37..f2976d3a7 100644
+--- a/host/lib/usrp/dboard/db_wbx_version4.cpp
++++ b/host/lib/usrp/dboard/db_wbx_version4.cpp
+@@ -15,6 +15,7 @@
+
+ #include <uhd/usrp/dboard_base.hpp>
+ #include <boost/assign/list_of.hpp>
++#include <boost/bind.hpp>
+ #include <boost/format.hpp>
+ #include <boost/math/special_functions/round.hpp>
+ #include <boost/algorithm/string.hpp>
+diff --git a/host/lib/usrp/dboard/db_xcvr2450.cpp b/host/lib/usrp/dboard/db_xcvr2450.cpp
+index 9e1c9f2b0..8f95dbb1c 100644
+--- a/host/lib/usrp/dboard/db_xcvr2450.cpp
++++ b/host/lib/usrp/dboard/db_xcvr2450.cpp
+@@ -49,6 +49,7 @@
+ #include <uhd/usrp/dboard_base.hpp>
+ #include <uhd/usrp/dboard_manager.hpp>
+ #include <boost/assign/list_of.hpp>
++#include <boost/bind.hpp>
+ #include <boost/format.hpp>
+ #include <boost/math/special_functions/round.hpp>
+ #include <utility>
+diff --git a/host/lib/usrp/dboard/eiscat/eiscat_radio_ctrl_impl.cpp b/host/lib/usrp/dboard/eiscat/eiscat_radio_ctrl_impl.cpp
+index 73851656b..717fa144f 100644
+--- a/host/lib/usrp/dboard/eiscat/eiscat_radio_ctrl_impl.cpp
++++ b/host/lib/usrp/dboard/eiscat/eiscat_radio_ctrl_impl.cpp
+@@ -11,6 +11,7 @@
+ #include <uhd/rfnoc/node_ctrl_base.hpp>
+ #include <uhd/types/ranges.hpp>
+ #include <boost/algorithm/string.hpp>
++#include <boost/bind.hpp>
+ #include <boost/make_shared.hpp>
+ #include <boost/date_time/posix_time/posix_time_io.hpp>
+ #include <boost/format.hpp>
+diff --git a/host/lib/usrp/multi_usrp.cpp b/host/lib/usrp/multi_usrp.cpp
+index 49ffec698..13cb03cf9 100644
+--- a/host/lib/usrp/multi_usrp.cpp
++++ b/host/lib/usrp/multi_usrp.cpp
+@@ -21,6 +21,7 @@
+ #include <uhdlib/usrp/gpio_defs.hpp>
+ #include <uhdlib/rfnoc/legacy_compat.hpp>
+ #include <boost/assign/list_of.hpp>
++#include <boost/bind.hpp>
+ #include <boost/format.hpp>
+ #include <boost/algorithm/string.hpp>
+ #include <algorithm>
+diff --git a/host/lib/usrp/n230/n230_resource_manager.cpp b/host/lib/usrp/n230/n230_resource_manager.cpp
+index 22f8ddedb..df3c9fb15 100644
+--- a/host/lib/usrp/n230/n230_resource_manager.cpp
++++ b/host/lib/usrp/n230/n230_resource_manager.cpp
+@@ -14,6 +14,7 @@
+ #include <uhd/utils/log.hpp>
+ #include <uhd/utils/platform.hpp>
+ #include <uhd/utils/paths.hpp>
++#include <boost/bind.hpp>
+ #include <boost/format.hpp>
+ #include <boost/functional/hash.hpp>
+ #include <boost/make_shared.hpp>
+diff --git a/host/lib/usrp/n230/n230_uart.cpp b/host/lib/usrp/n230/n230_uart.cpp
+index 8689335c8..26fafde94 100644
+--- a/host/lib/usrp/n230/n230_uart.cpp
++++ b/host/lib/usrp/n230/n230_uart.cpp
+@@ -13,6 +13,7 @@
+ #include <uhd/utils/log.hpp>
+ #include <uhd/types/time_spec.hpp>
+ #include <uhd/exception.hpp>
++#include <boost/bind.hpp>
+
+ using namespace uhd;
+ using namespace uhd::transport;
+diff --git a/host/lib/usrp/usrp1/soft_time_ctrl.cpp b/host/lib/usrp/usrp1/soft_time_ctrl.cpp
+index 7f39caf8a..9a84ee188 100644
+--- a/host/lib/usrp/usrp1/soft_time_ctrl.cpp
++++ b/host/lib/usrp/usrp1/soft_time_ctrl.cpp
+@@ -8,6 +8,7 @@
+ #include "soft_time_ctrl.hpp"
+ #include <uhdlib/utils/system_time.hpp>
+ #include <uhd/utils/tasks.hpp>
++#include <boost/bind.hpp>
+ #include <boost/make_shared.hpp>
+ #include <boost/thread/condition_variable.hpp>
+ #include <boost/date_time/posix_time/posix_time.hpp>
+diff --git a/host/lib/usrp/usrp1/usrp1_impl.cpp b/host/lib/usrp/usrp1/usrp1_impl.cpp
+index 2134f8182..1e83ce3fc 100644
+--- a/host/lib/usrp/usrp1/usrp1_impl.cpp
++++ b/host/lib/usrp/usrp1/usrp1_impl.cpp
+@@ -14,6 +14,7 @@
+ #include <uhd/exception.hpp>
+ #include <uhd/utils/static.hpp>
+ #include <uhd/utils/paths.hpp>
++#include <boost/bind.hpp>
+ #include <boost/format.hpp>
+ #include <boost/filesystem.hpp>
+ #include <boost/lexical_cast.hpp>
+diff --git a/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp b/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp
+index 8d967ae15..de36379ea 100644
+--- a/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp
++++ b/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp
+@@ -17,6 +17,7 @@
+ #include <uhdlib/usrp/common/apply_corrections.hpp>
+ #include <uhdlib/usrp/cores/gpio_atr_3000.hpp>
+ #include <boost/algorithm/string.hpp>
++#include <boost/bind.hpp>
+ #include <boost/date_time/posix_time/posix_time_io.hpp>
+ #include <boost/make_shared.hpp>
+ #include <chrono>
+diff --git a/host/lib/usrp_clock/octoclock/octoclock_impl.cpp b/host/lib/usrp_clock/octoclock/octoclock_impl.cpp
+index f3cf3f4ea..4c11788d2 100644
+--- a/host/lib/usrp_clock/octoclock/octoclock_impl.cpp
++++ b/host/lib/usrp_clock/octoclock/octoclock_impl.cpp
+@@ -9,6 +9,7 @@
+
+ #include <boost/asio.hpp>
+ #include <boost/assign.hpp>
++#include <boost/bind.hpp>
+ #include <stdint.h>
+ #include <boost/filesystem.hpp>
+ #include <boost/format.hpp>
+diff --git a/host/lib/utils/ihex.cpp b/host/lib/utils/ihex.cpp
+index 6bb0ba9d4..7fb605627 100644
+--- a/host/lib/utils/ihex.cpp
++++ b/host/lib/utils/ihex.cpp
+@@ -7,6 +7,7 @@
+
+ #include <uhd/exception.hpp>
+ #include <uhdlib/utils/ihex.hpp>
++#include <boost/bind.hpp>
+ #include <boost/format.hpp>
+ #include <boost/make_shared.hpp>
+ #include <sstream>
+diff --git a/host/lib/utils/tasks.cpp b/host/lib/utils/tasks.cpp
+index 888a5a8f1..e5195fcf1 100644
+--- a/host/lib/utils/tasks.cpp
++++ b/host/lib/utils/tasks.cpp
+@@ -10,6 +10,7 @@
+ #include <uhd/utils/thread.hpp>
+ #include <uhd/utils/log.hpp>
+ #include <uhd/exception.hpp>
++#include <boost/bind.hpp>
+ #include <boost/thread/thread.hpp>
+ #include <boost/thread/barrier.hpp>
+ #include <exception>
+diff --git a/host/utils/uhd_cal_rx_iq_balance.cpp b/host/utils/uhd_cal_rx_iq_balance.cpp
+index c68c96173..3f5fa1788 100644
+--- a/host/utils/uhd_cal_rx_iq_balance.cpp
++++ b/host/utils/uhd_cal_rx_iq_balance.cpp
+@@ -11,6 +11,7 @@
+ #include <uhd/utils/paths.hpp>
+ #include <uhd/utils/safe_main.hpp>
+ #include <uhd/utils/thread.hpp>
++#include <boost/bind.hpp>
+ #include <boost/format.hpp>
+ #include <boost/math/special_functions/round.hpp>
+ #include <boost/program_options.hpp>
+diff --git a/host/utils/uhd_cal_tx_dc_offset.cpp b/host/utils/uhd_cal_tx_dc_offset.cpp
+index f47b5e913..2cb65d3f5 100644
+--- a/host/utils/uhd_cal_tx_dc_offset.cpp
++++ b/host/utils/uhd_cal_tx_dc_offset.cpp
+@@ -11,6 +11,7 @@
+ #include <uhd/utils/paths.hpp>
+ #include <uhd/utils/safe_main.hpp>
+ #include <uhd/utils/thread.hpp>
++#include <boost/bind.hpp>
+ #include <boost/format.hpp>
+ #include <boost/math/special_functions/round.hpp>
+ #include <boost/program_options.hpp>
+diff --git a/host/utils/uhd_cal_tx_iq_balance.cpp b/host/utils/uhd_cal_tx_iq_balance.cpp
+index 2e7229fd3..ace93462e 100644
+--- a/host/utils/uhd_cal_tx_iq_balance.cpp
++++ b/host/utils/uhd_cal_tx_iq_balance.cpp
+@@ -8,6 +8,7 @@
+ #include "usrp_cal_utils.hpp"
+ #include <uhd/utils/safe_main.hpp>
+ #include <uhd/utils/thread.hpp>
++#include <boost/bind.hpp>
+ #include <boost/math/special_functions/round.hpp>
+ #include <boost/program_options.hpp>
+ #include <boost/thread/thread.hpp>
+--
+2.26.2
+
diff --git a/package/uhd/Config.in b/package/uhd/Config.in
new file mode 100644
index 0000000000..32cb4cf89d
--- /dev/null
+++ b/package/uhd/Config.in
@@ -0,0 +1,79 @@
+comment "uhd needs a toolchain w/ C++, NPTL, wchar, dynamic library"
+ depends on BR2_USE_MMU
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
+ !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS
+
+comment "uhd needs a toolchain not affected by GCC bug 64735"
+ depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
+
+config BR2_PACKAGE_UHD
+ bool "uhd"
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on !BR2_STATIC_LIBS
+ depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
+ depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
+ depends on BR2_USE_MMU # use fork()
+ depends on BR2_USE_WCHAR # boost
+ select BR2_PACKAGE_BOOST
+ select BR2_PACKAGE_BOOST_ATOMIC
+ select BR2_PACKAGE_BOOST_CHRONO
+ select BR2_PACKAGE_BOOST_DATE_TIME
+ select BR2_PACKAGE_BOOST_FILESYSTEM
+ select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
+ select BR2_PACKAGE_BOOST_REGEX
+ select BR2_PACKAGE_BOOST_SERIALIZATION
+ select BR2_PACKAGE_BOOST_SYSTEM
+ select BR2_PACKAGE_BOOST_THREAD
+ help
+ Universal Software Radio Peripheral (USRP) Hardware Driver
+
+ https://kb.etthus.com
+
+if BR2_PACKAGE_UHD
+
+config BR2_PACKAGE_UHD_B100
+ bool "b100 support"
+ select BR2_PACKAGE_UHD_USB
+ help
+ enable B100 support
+
+config BR2_PACKAGE_UHD_B200
+ bool "b200 support"
+ select BR2_PACKAGE_UHD_USB
+ help
+ enable B200 support
+
+config BR2_PACKAGE_UHD_E300
+ bool "E300 support"
+ select BR2_PACKAGE_UHD_MPMD
+ help
+ enable E300 support
+
+config BR2_PACKAGE_UHD_E320
+ bool "E320 support"
+ select BR2_PACKAGE_UHD_MPMD
+ help
+ enable E320 support
+
+config BR2_PACKAGE_UHD_EXAMPLES
+ bool "uhd-examples"
+ help
+ Examples
+
+config BR2_PACKAGE_UHD_MPMD
+ bool "MPMD support"
+ help
+ enable MPMD support
+
+config BR2_PACKAGE_UHD_RFNOC
+ bool "RFNoC support"
+ help
+ enable RFNoC support
+
+config BR2_PACKAGE_UHD_USB
+ bool "USB support"
+ select BR2_PACKAGE_LIBUSB
+ help
+ enable UHD USB support
+
+endif
diff --git a/package/uhd/uhd.hash b/package/uhd/uhd.hash
new file mode 100644
index 0000000000..cfd1f3f641
--- /dev/null
+++ b/package/uhd/uhd.hash
@@ -0,0 +1,4 @@
+# Locally calculated:
+sha256 eed4a77d75faafff56be78985950039f8d9d1eb9fcbd58b8862e481dd49825cd uhd-3.15.0.0.tar.gz
+sha256 8fc99820c2419d0de6bbbd319ff935d54960b37b716d0b4bb1c75de493f3e1fd LICENSE.md
+sha256 70bf7e79c8cd73a81f97ce81745ea0719a617eebe299a61868165daeae71fff2 host/LICENSE
diff --git a/package/uhd/uhd.mk b/package/uhd/uhd.mk
new file mode 100644
index 0000000000..ec0ec03e9f
--- /dev/null
+++ b/package/uhd/uhd.mk
@@ -0,0 +1,94 @@
+################################################################################
+#
+# uhd
+#
+################################################################################
+
+UHD_VERSION = 3.15.0.0
+UHD_SITE = $(call github,EttusResearch,uhd,v$(UHD_VERSION))
+UHD_LICENSE = GPL-3.0+
+UHD_LICENSE_FILES = LICENSE.md host/LICENSE
+
+UHD_SUPPORTS_IN_SOURCE_BUILD = NO
+UHD_SUBDIR = host
+UHD_INSTALL_STAGING = YES
+
+UHD_DEPENDENCIES = \
+ boost \
+ $(if $(BR2_PACKAGE_PYTHON),host-python,host-python3) \
+ host-python-mako
+
+UHD_CONF_OPTS = \
+ -DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python \
+ -DRUNTIME_PYTHON_EXECUTABLE=/usr/bin/python \
+ -DENABLE_C_API=ON \
+ -DENABLE_DOXYGEN=OFF \
+ -DENABLE_DPKD=OFF \
+ -DENABLE_LIBUHD=ON \
+ -DENABLE_N230=OFF \
+ -DENABLE_N300=OFF \
+ -DENABLE_N320=OFF \
+ -DENABLE_MANUAL=OFF \
+ -DENABLE_MAN_PAGES=OFF \
+ -DENABLE_OCTOCLOCK=OFF \
+ -DENABLE_PYTHON_API=OFF \
+ -DENABLE_TESTS=OFF \
+ -DENABLE_USRP1=OFF \
+ -DENABLE_USRP2=OFF \
+ -DENABLE_UTILS=OFF \
+ -DENABLE_X300=OFF
+
+ifeq ($(BR2_PACKAGE_ORC),y)
+UHD_DEPENDENCIES += orc
+endif
+
+ifeq ($(BR2_PACKAGE_UHD_B100),y)
+UHD_CONF_OPTS += -DENABLE_B100=ON
+else
+UHD_CONF_OPTS += -DENABLE_B100=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_UHD_B200),y)
+UHD_CONF_OPTS += -DENABLE_B200=ON
+else
+UHD_CONF_OPTS += -DENABLE_B200=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_UHD_E300),y)
+UHD_CONF_OPTS += -DENABLE_E300=ON
+else
+UHD_CONF_OPTS += -DENABLE_E300=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_UHD_E320),y)
+UHD_CONF_OPTS += -DENABLE_E320=ON
+else
+UHD_CONF_OPTS += -DENABLE_E320=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_UHD_EXAMPLES),y)
+UHD_CONF_OPTS += -DENABLE_EXAMPLES=ON
+else
+UHD_CONF_OPTS += -DENABLE_EXAMPLES=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_UHD_MPMD),y)
+UHD_CONF_OPTS += -DENABLE_MPMD=ON
+else
+UHD_CONF_OPTS += -DENABLE_MPMD=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_UHD_RFNOC),y)
+UHD_CONF_OPTS += -DENABLE_RFNOC=ON
+else
+UHD_CONF_OPTS += -DENABLE_RFNOC=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_UHD_USB),y)
+UHD_DEPENDENCIES += libusb
+UHD_CONF_OPTS += -DENABLE_USB=ON
+else
+UHD_CONF_OPTS += -DENABLE_USB=OFF
+endif
+
+$(eval $(cmake-package))
diff --git a/package/uredir/Config.in b/package/uredir/Config.in
new file mode 100644
index 0000000000..99206cfe47
--- /dev/null
+++ b/package/uredir/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_UREDIR
+ bool "uredir"
+ select BR2_PACKAGE_LIBUEV
+ help
+ A small Linux daemon to redirect UDP connections. It can be
+ used to forward connections on small and embedded systems that
+ do not have (or want to use) iptables.
+
+ https://github.com/troglobit/uredir
diff --git a/package/uredir/uredir.hash b/package/uredir/uredir.hash
new file mode 100644
index 0000000000..00c816c2dd
--- /dev/null
+++ b/package/uredir/uredir.hash
@@ -0,0 +1,4 @@
+# From https://github.com/troglobit/uredir/releases/download/v3.3/uredir-3.3.tar.gz.md5
+md5 a42ee27e84de2e08e35ee733508bb6ea uredir-3.3.tar.gz
+# License files
+sha256 e4b8fd3375ce44e5e03be199724a8785510ea5fa58ed92a7a34fd0ccbd35db10 LICENSE
diff --git a/package/uredir/uredir.mk b/package/uredir/uredir.mk
new file mode 100644
index 0000000000..22ffaa742d
--- /dev/null
+++ b/package/uredir/uredir.mk
@@ -0,0 +1,13 @@
+################################################################################
+#
+# uredir
+#
+################################################################################
+
+UREDIR_VERSION = 3.3
+UREDIR_SITE = https://github.com/troglobit/uredir/releases/download/v$(UREDIR_VERSION)
+UREDIR_LICENSE = ISC
+UREDIR_LICENSE_FILES = LICENSE
+UREDIR_DEPENDENCIES = host-pkgconf libuev
+
+$(eval $(autotools-package))
diff --git a/package/util-linux/Config.in b/package/util-linux/Config.in
index aa3c1a5f76..1f33eb5514 100644
--- a/package/util-linux/Config.in
+++ b/package/util-linux/Config.in
@@ -9,6 +9,9 @@ menuconfig BR2_PACKAGE_UTIL_LINUX
if BR2_PACKAGE_UTIL_LINUX
+config BR2_PACKAGE_UTIL_LINUX_LIBS
+ bool
+
config BR2_PACKAGE_UTIL_LINUX_LIBBLKID
bool "libblkid"
depends on BR2_USE_MMU # fork()
diff --git a/package/util-linux/util-linux-libs/util-linux-libs.hash b/package/util-linux/util-linux-libs/util-linux-libs.hash
new file mode 120000
index 0000000000..dc1b2f866a
--- /dev/null
+++ b/package/util-linux/util-linux-libs/util-linux-libs.hash
@@ -0,0 +1 @@
+../util-linux.hash \ No newline at end of file
diff --git a/package/util-linux/util-linux-libs/util-linux-libs.mk b/package/util-linux/util-linux-libs/util-linux-libs.mk
new file mode 100644
index 0000000000..a0ec153bfb
--- /dev/null
+++ b/package/util-linux/util-linux-libs/util-linux-libs.mk
@@ -0,0 +1,86 @@
+################################################################################
+#
+# util-linux-libs
+#
+################################################################################
+
+# Please keep this file as similar as possible to util-linux.mk
+
+UTIL_LINUX_LIBS_VERSION = $(UTIL_LINUX_VERSION)
+UTIL_LINUX_LIBS_SOURCE = $(UTIL_LINUX_SOURCE)
+UTIL_LINUX_LIBS_SITE = $(UTIL_LINUX_SITE)
+UTIL_LINUX_LIBS_DL_SUBDIR = $(UTIL_LINUX_DL_SUBDIR)
+
+# README.licensing claims that some files are GPL-2.0 only, but this is not
+# true. Some files are GPL-3.0+ but only in tests and optionally in hwclock
+# (but we disable that option). rfkill uses an ISC-style license.
+UTIL_LINUX_LIBS_LICENSE = LGPL-2.1+ (libblkid, libfdisk, libmount), BSD-3-Clause (libuuid)
+UTIL_LINUX_LIBS_LICENSE_FILES = README.licensing \
+ Documentation/licenses/COPYING.BSD-3-Clause \
+ Documentation/licenses/COPYING.LGPL-2.1-or-later
+
+UTIL_LINUX_LIBS_INSTALL_STAGING = YES
+UTIL_LINUX_LIBS_DEPENDENCIES = \
+ host-pkgconf \
+ $(TARGET_NLS_DEPENDENCIES)
+UTIL_LINUX_LIBS_CONF_OPTS += \
+ --disable-rpath \
+ --disable-makeinstall-chown
+
+UTIL_LINUX_LIBS_LINK_LIBS = $(TARGET_NLS_LIBS)
+
+# Prevent the installation from attempting to move shared libraries from
+# ${usrlib_execdir} (/usr/lib) to ${libdir} (/lib), since both paths are
+# the same when merged usr is in use.
+ifeq ($(BR2_ROOTFS_MERGED_USR),y)
+UTIL_LINUX_LIBS_CONF_OPTS += --bindir=/usr/bin --sbindir=/usr/sbin --libdir=/usr/lib
+endif
+
+# systemd depends on util-linux-libs so we disable systemd support
+UTIL_LINUX_LIBS_CONF_OPTS += \
+ --without-systemd \
+ --with-systemdsystemunitdir=no
+
+# systemd/eudev depend on util-linux-libs so we disable udev support
+UTIL_LINUX_LIBS_CONF_OPTS += --without-udev
+
+# No libs use wchar
+UTIL_LINUX_LIBS_CONF_OPTS += --disable-widechar
+
+# No libs use ncurses
+UTIL_LINUX_LIBS_CONF_OPTS += --without-ncursesw --without-ncurses
+
+# Unfortunately, the util-linux does LIBS="" at the end of its
+# configure script. So we have to pass the proper LIBS value when
+# calling the configure script to make configure tests pass properly,
+# and then pass it again at build time.
+UTIL_LINUX_LIBS_CONF_ENV += LIBS="$(UTIL_LINUX_LIBS_LINK_LIBS)"
+UTIL_LINUX_LIBS_MAKE_OPTS += LIBS="$(UTIL_LINUX_LIBS_LINK_LIBS)"
+
+# libmount optionally uses selinux
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT)$(BR2_PACKAGE_LIBSELINUX),yy)
+UTIL_LINUX_LIBS_DEPENDENCIES += libselinux
+UTIL_LINUX_LIBS_CONF_OPTS += --with-selinux
+else
+UTIL_LINUX_LIBS_CONF_OPTS += --without-selinux
+endif
+
+# Disable utilities
+UTIL_LINUX_LIBS_CONF_OPTS += \
+ --disable-all-programs \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),--enable-libblkid,--disable-libblkid) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_LIBFDISK),--enable-libfdisk,--disable-libfdisk) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT),--enable-libmount,--disable-libmount) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS),--enable-libsmartcols,--disable-libsmartcols) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_LIBUUID),--enable-libuuid,--disable-libuuid)
+
+# libmount python bindings are separate, will be installed by full util-linux
+UTIL_LINUX_LIBS_CONF_OPTS += --without-python --disable-pylibmount
+
+# No libs use readline
+UTIL_LINUX_LIBS_CONF_OPTS += --without-readline
+
+# No libs use audit
+UTIL_LINUX_LIBS_CONF_OPTS += --without-audit
+
+$(eval $(autotools-package))
diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk
index 6c8f295eed..3aa51f24fb 100644
--- a/package/util-linux/util-linux.mk
+++ b/package/util-linux/util-linux.mk
@@ -4,6 +4,9 @@
#
################################################################################
+# When making changes to this file, please check if
+# util-linux-libs/util-linux-libs.mk needs to be updated accordingly as well.
+
UTIL_LINUX_VERSION_MAJOR = 2.35
UTIL_LINUX_VERSION_MINOR = 2
UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR).$(UTIL_LINUX_VERSION_MINOR)
@@ -22,18 +25,15 @@ UTIL_LINUX_LICENSE_FILES = README.licensing \
Documentation/licenses/COPYING.LGPL-2.1-or-later
UTIL_LINUX_INSTALL_STAGING = YES
-UTIL_LINUX_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES)
+UTIL_LINUX_DEPENDENCIES = \
+ host-pkgconf \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_LIBS),util-linux-libs) \
+ $(TARGET_NLS_DEPENDENCIES)
UTIL_LINUX_CONF_OPTS += \
--disable-rpath \
--disable-makeinstall-chown
-UTIL_LINUX_LIBS = $(TARGET_NLS_LIBS)
-
-# system depends on util-linux so we enable systemd support
-# (which needs systemd to be installed)
-UTIL_LINUX_CONF_OPTS += \
- --without-systemd \
- --with-systemdsystemunitdir=no
+UTIL_LINUX_LINK_LIBS = $(TARGET_NLS_LIBS)
HOST_UTIL_LINUX_DEPENDENCIES = host-pkgconf
@@ -50,6 +50,20 @@ ifeq ($(BR2_ROOTFS_MERGED_USR),y)
UTIL_LINUX_CONF_OPTS += --bindir=/usr/bin --sbindir=/usr/sbin --libdir=/usr/lib
endif
+ifeq ($(BR2_PACKAGE_SYSTEMD),y)
+UTIL_LINUX_CONF_OPTS += --with-systemd --with-systemdsystemunitdir=/usr/lib/systemd/system
+UTIL_LINUX_DEPENDENCIES += systemd
+else
+UTIL_LINUX_CONF_OPTS += --without-systemd --with-systemdsystemunitdir=no
+endif
+
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
+UTIL_LINUX_CONF_OPTS += --with-udev
+UTIL_LINUX_DEPENDENCIES += udev
+else
+UTIL_LINUX_CONF_OPTS += --without-udev
+endif
+
ifeq ($(BR2_PACKAGE_NCURSES),y)
UTIL_LINUX_DEPENDENCIES += ncurses
ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y)
@@ -68,16 +82,12 @@ endif
UTIL_LINUX_CONF_OPTS += --without-ncursesw --without-ncurses
endif
-ifeq ($(BR2_PACKAGE_LIBCAP_NG),y)
-UTIL_LINUX_DEPENDENCIES += libcap-ng
-endif
-
# Unfortunately, the util-linux does LIBS="" at the end of its
# configure script. So we have to pass the proper LIBS value when
# calling the configure script to make configure tests pass properly,
# and then pass it again at build time.
-UTIL_LINUX_CONF_ENV += LIBS="$(UTIL_LINUX_LIBS)"
-UTIL_LINUX_MAKE_OPTS += LIBS="$(UTIL_LINUX_LIBS)"
+UTIL_LINUX_CONF_ENV += LIBS="$(UTIL_LINUX_LINK_LIBS)"
+UTIL_LINUX_MAKE_OPTS += LIBS="$(UTIL_LINUX_LINK_LIBS)"
ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
UTIL_LINUX_DEPENDENCIES += libselinux
@@ -92,6 +102,9 @@ define UTIL_LINUX_SELINUX_PAMFILES_TWEAK
endef
endif
+# Used by setpriv
+UTIL_LINUX_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBCAP_NG),libcap-ng)
+
# Used by cramfs utils
UTIL_LINUX_DEPENDENCIES += $(if $(BR2_PACKAGE_ZLIB),zlib)
@@ -228,7 +241,7 @@ endif
ifeq ($(BR2_PACKAGE_READLINE),y)
UTIL_LINUX_CONF_OPTS += --with-readline
-UTIL_LINUX_LIBS += $(if $(BR2_STATIC_LIBS),-lcurses)
+UTIL_LINUX_LINK_LIBS += $(if $(BR2_STATIC_LIBS),-lcurses)
UTIL_LINUX_DEPENDENCIES += readline
else
UTIL_LINUX_CONF_OPTS += --without-readline
@@ -266,3 +279,7 @@ UTIL_LINUX_POST_INSTALL_TARGET_HOOKS += UTIL_LINUX_GETTY_SYMLINK
$(eval $(autotools-package))
$(eval $(host-autotools-package))
+
+# Must be included after the autotools-package call, to make sure all variables
+# are available
+include package/util-linux/util-linux-libs/util-linux-libs.mk
diff --git a/package/watchdog/Config.in b/package/watchdog/Config.in
new file mode 100644
index 0000000000..bf485034d7
--- /dev/null
+++ b/package/watchdog/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_WATCHDOG
+ bool "watchdog"
+ depends on BR2_USE_MMU
+ help
+ Watchdog is a daemon that periodically pets a watchdog device
+ if the configured system status checks pass. If they do not,
+ the daemon may execute repair commands, shutdown the system or
+ reboot it.
+
+ https://sourceforge.net/projects/watchdog/
diff --git a/package/watchdog/watchdog.hash b/package/watchdog/watchdog.hash
new file mode 100644
index 0000000000..7366c1b5e1
--- /dev/null
+++ b/package/watchdog/watchdog.hash
@@ -0,0 +1,3 @@
+# Locally computed
+sha256 b8e7c070e1b72aee2663bdc13b5cc39f76c9232669cfbb1ac0adc7275a3b019d watchdog-5.16.tar.gz
+sha256 af7f3f94e85080204b37f7c53717a2c94c6b54d7fa516ebd74e008cb4c0391bd COPYING
diff --git a/package/watchdog/watchdog.mk b/package/watchdog/watchdog.mk
new file mode 100644
index 0000000000..2699fb474f
--- /dev/null
+++ b/package/watchdog/watchdog.mk
@@ -0,0 +1,15 @@
+################################################################################
+#
+# watchdog
+#
+################################################################################
+
+WATCHDOG_VERSION = 5.16
+WATCHDOG_SITE = http://downloads.sourceforge.net/sourceforge/watchdog
+WATCHDOG_LICENSE = GPL-2.0+
+WATCHDOG_LICENSE_FILES = COPYING
+# By default installs binaries in /usr/sbin/, but we want them in
+# /sbin/ so that they fall at the same place as Busybox counterparts
+WATCHDOG_CONF_OPTS = --sbindir=/sbin
+
+$(eval $(autotools-package))
diff --git a/package/wayland-utils/Config.in b/package/wayland-utils/Config.in
new file mode 100644
index 0000000000..3ff7f2efe9
--- /dev/null
+++ b/package/wayland-utils/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_WAYLAND_UTILS
+ bool "wayland-utils"
+ depends on BR2_PACKAGE_WAYLAND # wayland-client, wayland-server
+ help
+ Wayland utils (wayland-info).
+
+ https://gitlab.freedesktop.org/ofourdan/wayland-utils
diff --git a/package/wayland-utils/wayland-utils.hash b/package/wayland-utils/wayland-utils.hash
new file mode 100644
index 0000000000..00b6da4033
--- /dev/null
+++ b/package/wayland-utils/wayland-utils.hash
@@ -0,0 +1,6 @@
+# From https://lists.freedesktop.org/archives/wayland-devel/2020-July/041565.html
+md5 714875aefb10e7f683cde24e58d033ad wayland-utils-1.0.0.tar.xz
+sha1 b5b8d498a892866d56ffbe862039d7c97acbe7bc wayland-utils-1.0.0.tar.xz
+sha256 64fecc4c58e87ae9b302901abe10c2e8af69c7503c221a96ecd0700e0aa268c0 wayland-utils-1.0.0.tar.xz
+sha512 4c6f1822435b36b3acd361c0c54e56150e8a2697a9c4b2c20a149fcfaafe237e45807df3471884ddf594d89558001099e2d938e3f48988ba6950a0f1e3538db2 wayland-utils-1.0.0.tar.xz
+sha256 1eba39c11640014a5841dd3017e5245fc31f47e1cf43a3287a286dd6a8de8a1a COPYING
diff --git a/package/wayland-utils/wayland-utils.mk b/package/wayland-utils/wayland-utils.mk
new file mode 100644
index 0000000000..9c4abe7b08
--- /dev/null
+++ b/package/wayland-utils/wayland-utils.mk
@@ -0,0 +1,14 @@
+################################################################################
+#
+# wayland-utils
+#
+################################################################################
+
+WAYLAND_UTILS_VERSION = 1.0.0
+WAYLAND_UTILS_SITE = http://wayland.freedesktop.org/releases
+WAYLAND_UTILS_SOURCE = wayland-utils-$(WAYLAND_UTILS_VERSION).tar.xz
+WAYLAND_UTILS_LICENSE = MIT
+WAYLAND_UTILS_LICENSE_FILES = COPYING
+WAYLAND_UTILS_DEPENDENCIES = host-pkgconf wayland
+
+$(eval $(meson-package))
diff --git a/package/wlroots/wlroots.hash b/package/wlroots/wlroots.hash
index 20f7313bba..636f391011 100644
--- a/package/wlroots/wlroots.hash
+++ b/package/wlroots/wlroots.hash
@@ -1,5 +1,5 @@
-# Generated locally, after checking https://github.com/swaywm/wlroots/releases/download/0.10.1/wlroots-0.10.1.tar.gz.sig
-sha256 b84baefbaff7bb04b3d2c43cbacef1a433e2cd65111f8fbf4bfc5faaa4b34b08 wlroots-0.10.1.tar.gz
+# Generated locally, after checking https://github.com/swaywm/wlroots/releases/download/0.11.0/wlroots-0.11.0.tar.gz.sig
+sha256 a7645e77229aab4942748c621be8bdb8b073d94f35f3e032b867246862bf2d01 wlroots-0.11.0.tar.gz
# Hashes for license files:
sha256 ffd3737a478b83a8b51b42757d3bf909ef36694508355879722e11fc1fa6736b LICENSE
diff --git a/package/wlroots/wlroots.mk b/package/wlroots/wlroots.mk
index 988643485f..7923e94325 100644
--- a/package/wlroots/wlroots.mk
+++ b/package/wlroots/wlroots.mk
@@ -4,7 +4,7 @@
#
################################################################################
-WLROOTS_VERSION = 0.10.1
+WLROOTS_VERSION = 0.11.0
WLROOTS_SITE = https://github.com/swaywm/wlroots/releases/download/$(WLROOTS_VERSION)
WLROOTS_LICENSE = MIT
WLROOTS_LICENSE_FILES = LICENSE
diff --git a/package/x11r7/xserver_xorg-server/1.20.9/0001-modesettings-needs-dri2.patch b/package/x11r7/xserver_xorg-server/0001-modesettings-needs-dri2.patch
index 74917720cb..74917720cb 100644
--- a/package/x11r7/xserver_xorg-server/1.20.9/0001-modesettings-needs-dri2.patch
+++ b/package/x11r7/xserver_xorg-server/0001-modesettings-needs-dri2.patch
diff --git a/package/x11r7/xserver_xorg-server/1.20.9/0002-Remove-check-for-useSIGIO-option.patch b/package/x11r7/xserver_xorg-server/0002-Remove-check-for-useSIGIO-option.patch
index 68a9d7fc75..68a9d7fc75 100644
--- a/package/x11r7/xserver_xorg-server/1.20.9/0002-Remove-check-for-useSIGIO-option.patch
+++ b/package/x11r7/xserver_xorg-server/0002-Remove-check-for-useSIGIO-option.patch
diff --git a/package/x11r7/xserver_xorg-server/1.20.9/0003-include-misc.h-fix-uClibc-build.patch b/package/x11r7/xserver_xorg-server/0003-include-misc.h-fix-uClibc-build.patch
index 562aa79fbb..562aa79fbb 100644
--- a/package/x11r7/xserver_xorg-server/1.20.9/0003-include-misc.h-fix-uClibc-build.patch
+++ b/package/x11r7/xserver_xorg-server/0003-include-misc.h-fix-uClibc-build.patch
diff --git a/package/x11r7/xserver_xorg-server/1.20.9/0004-hw-xwayland-Makefile.am-fix-build-without-glx.patch b/package/x11r7/xserver_xorg-server/0004-hw-xwayland-Makefile.am-fix-build-without-glx.patch
index 5f19a26d14..5f19a26d14 100644
--- a/package/x11r7/xserver_xorg-server/1.20.9/0004-hw-xwayland-Makefile.am-fix-build-without-glx.patch
+++ b/package/x11r7/xserver_xorg-server/0004-hw-xwayland-Makefile.am-fix-build-without-glx.patch
diff --git a/package/x11r7/xserver_xorg-server/1.20.9/0005-hw-xfree86-common-xf86Init.c-fix-build-without-glx.patch b/package/x11r7/xserver_xorg-server/0005-hw-xfree86-common-xf86Init.c-fix-build-without-glx.patch
index de086fb665..de086fb665 100644
--- a/package/x11r7/xserver_xorg-server/1.20.9/0005-hw-xfree86-common-xf86Init.c-fix-build-without-glx.patch
+++ b/package/x11r7/xserver_xorg-server/0005-hw-xfree86-common-xf86Init.c-fix-build-without-glx.patch
diff --git a/package/x11r7/xserver_xorg-server/1.14.7/0001-sdksyms-gcc5.patch b/package/x11r7/xserver_xorg-server/1.14.7/0001-sdksyms-gcc5.patch
deleted file mode 100644
index ad544aa30c..0000000000
--- a/package/x11r7/xserver_xorg-server/1.14.7/0001-sdksyms-gcc5.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 21b896939c5bb242f3aacc37baf12379e43254b6 Mon Sep 17 00:00:00 2001
-From: Egbert Eich <eich@freedesktop.org>
-Date: Tue, 3 Mar 2015 16:27:05 +0100
-Subject: symbols: Fix sdksyms.sh to cope with gcc5
-
-Gcc5 adds additional lines stating line numbers before and
-after __attribute__() which need to be skipped.
-
-Downloaded from upstream commit
-https://cgit.freedesktop.org/xorg/xserver/commit/hw/xfree86/sdksyms.sh?id=21b896939c5bb242f3aacc37baf12379e43254b6
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-Signed-off-by: Egbert Eich <eich@freedesktop.org>
-Tested-by: Daniel Stone <daniels@collabora.com>
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
-diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh
-index 2305073..05ac410 100755
---- a/hw/xfree86/sdksyms.sh
-+++ b/hw/xfree86/sdksyms.sh
-@@ -350,13 +350,25 @@ BEGIN {
- if (sdk) {
- n = 3;
-
-+ # skip line numbers GCC 5 adds before __attribute__
-+ while ($n == "" || $0 ~ /^# [0-9]+ "/) {
-+ getline;
-+ n = 1;
-+ }
-+
- # skip attribute, if any
- while ($n ~ /^(__attribute__|__global)/ ||
- # skip modifiers, if any
- $n ~ /^\*?(unsigned|const|volatile|struct|_X_EXPORT)$/ ||
- # skip pointer
-- $n ~ /^[a-zA-Z0-9_]*\*$/)
-+ $n ~ /^[a-zA-Z0-9_]*\*$/) {
- n++;
-+ # skip line numbers GCC 5 adds after __attribute__
-+ while ($n == "" || $0 ~ /^# [0-9]+ "/) {
-+ getline;
-+ n = 1;
-+ }
-+ }
-
- # type specifier may not be set, as in
- # extern _X_EXPORT unsigned name(...)
---
-cgit v0.10.2
-
diff --git a/package/x11r7/xserver_xorg-server/1.14.7/0002-Xi-Zero-target-buffer-in-SProcXSendExtensionEvent.patch b/package/x11r7/xserver_xorg-server/1.14.7/0002-Xi-Zero-target-buffer-in-SProcXSendExtensionEvent.patch
deleted file mode 100644
index c15dc9f50c..0000000000
--- a/package/x11r7/xserver_xorg-server/1.14.7/0002-Xi-Zero-target-buffer-in-SProcXSendExtensionEvent.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 05442de962d3dc624f79fc1a00eca3ffc5489ced Mon Sep 17 00:00:00 2001
-From: Michal Srb <msrb@suse.com>
-Date: Wed, 24 May 2017 15:54:39 +0300
-Subject: [PATCH] Xi: Zero target buffer in SProcXSendExtensionEvent.
-
-Make sure that the xEvent eventT is initialized with zeros, the same way as
-in SProcSendEvent.
-
-Some event swapping functions do not overwrite all 32 bytes of xEvent
-structure, for example XSecurityAuthorizationRevoked. Two cooperating
-clients, one swapped and the other not, can send
-XSecurityAuthorizationRevoked event to each other to retrieve old stack data
-from X server. This can be potentialy misused to go around ASLR or
-stack-protector.
-
-Signed-off-by: Michal Srb <msrb@suse.com>
-Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
----
- Xi/sendexev.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Xi/sendexev.c b/Xi/sendexev.c
-index 11d82029f..1cf118ab6 100644
---- a/Xi/sendexev.c
-+++ b/Xi/sendexev.c
-@@ -78,7 +78,7 @@ SProcXSendExtensionEvent(ClientPtr client)
- {
- CARD32 *p;
- int i;
-- xEvent eventT;
-+ xEvent eventT = { .u.u.type = 0 };
- xEvent *eventP;
- EventSwapPtr proc;
-
---
-2.11.0
-
diff --git a/package/x11r7/xserver_xorg-server/1.14.7/0003-dix-Disallow-GenericEvent-in-SendEvent-request.patch b/package/x11r7/xserver_xorg-server/1.14.7/0003-dix-Disallow-GenericEvent-in-SendEvent-request.patch
deleted file mode 100644
index 12da5f5cba..0000000000
--- a/package/x11r7/xserver_xorg-server/1.14.7/0003-dix-Disallow-GenericEvent-in-SendEvent-request.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 215f894965df5fb0bb45b107d84524e700d2073c Mon Sep 17 00:00:00 2001
-From: Michal Srb <msrb@suse.com>
-Date: Wed, 24 May 2017 15:54:40 +0300
-Subject: [PATCH] dix: Disallow GenericEvent in SendEvent request.
-
-The SendEvent request holds xEvent which is exactly 32 bytes long, no more,
-no less. Both ProcSendEvent and SProcSendEvent verify that the received data
-exactly match the request size. However nothing stops the client from passing
-in event with xEvent::type = GenericEvent and any value of
-xGenericEvent::length.
-
-In the case of ProcSendEvent, the event will be eventually passed to
-WriteEventsToClient which will see that it is Generic event and copy the
-arbitrary length from the receive buffer (and possibly past it) and send it to
-the other client. This allows clients to copy unitialized heap memory out of X
-server or to crash it.
-
-In case of SProcSendEvent, it will attempt to swap the incoming event by
-calling a swapping function from the EventSwapVector array. The swapped event
-is written to target buffer, which in this case is local xEvent variable. The
-xEvent variable is 32 bytes long, but the swapping functions for GenericEvents
-expect that the target buffer has size matching the size of the source
-GenericEvent. This allows clients to cause stack buffer overflows.
-
-Signed-off-by: Michal Srb <msrb@suse.com>
-Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
----
- dix/events.c | 6 ++++++
- dix/swapreq.c | 7 +++++++
- 2 files changed, 13 insertions(+)
-
-diff --git a/dix/events.c b/dix/events.c
-index 3e3a01ef9..d3a33ea3f 100644
---- a/dix/events.c
-+++ b/dix/events.c
-@@ -5366,6 +5366,12 @@ ProcSendEvent(ClientPtr client)
- client->errorValue = stuff->event.u.u.type;
- return BadValue;
- }
-+ /* Generic events can have variable size, but SendEvent request holds
-+ exactly 32B of event data. */
-+ if (stuff->event.u.u.type == GenericEvent) {
-+ client->errorValue = stuff->event.u.u.type;
-+ return BadValue;
-+ }
- if (stuff->event.u.u.type == ClientMessage &&
- stuff->event.u.u.detail != 8 &&
- stuff->event.u.u.detail != 16 && stuff->event.u.u.detail != 32) {
-diff --git a/dix/swapreq.c b/dix/swapreq.c
-index 719e9b81c..67850593b 100644
---- a/dix/swapreq.c
-+++ b/dix/swapreq.c
-@@ -292,6 +292,13 @@ SProcSendEvent(ClientPtr client)
- swapl(&stuff->destination);
- swapl(&stuff->eventMask);
-
-+ /* Generic events can have variable size, but SendEvent request holds
-+ exactly 32B of event data. */
-+ if (stuff->event.u.u.type == GenericEvent) {
-+ client->errorValue = stuff->event.u.u.type;
-+ return BadValue;
-+ }
-+
- /* Swap event */
- proc = EventSwapVector[stuff->event.u.u.type & 0177];
- if (!proc || proc == NotImplemented) /* no swapping proc; invalid event type? */
---
-2.11.0
-
diff --git a/package/x11r7/xserver_xorg-server/1.14.7/0004-Xi-Verify-all-events-in-ProcXSendExtensionEvent.patch b/package/x11r7/xserver_xorg-server/1.14.7/0004-Xi-Verify-all-events-in-ProcXSendExtensionEvent.patch
deleted file mode 100644
index 2e651006ba..0000000000
--- a/package/x11r7/xserver_xorg-server/1.14.7/0004-Xi-Verify-all-events-in-ProcXSendExtensionEvent.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 8caed4df36b1f802b4992edcfd282cbeeec35d9d Mon Sep 17 00:00:00 2001
-From: Michal Srb <msrb@suse.com>
-Date: Wed, 24 May 2017 15:54:41 +0300
-Subject: [PATCH] Xi: Verify all events in ProcXSendExtensionEvent.
-
-The requirement is that events have type in range
-EXTENSION_EVENT_BASE..lastEvent, but it was tested
-only for first event of all.
-
-Signed-off-by: Michal Srb <msrb@suse.com>
-Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
----
- Xi/sendexev.c | 12 +++++++-----
- 1 file changed, 7 insertions(+), 5 deletions(-)
-
-diff --git a/Xi/sendexev.c b/Xi/sendexev.c
-index 1cf118ab6..5e63bfcca 100644
---- a/Xi/sendexev.c
-+++ b/Xi/sendexev.c
-@@ -117,7 +117,7 @@ SProcXSendExtensionEvent(ClientPtr client)
- int
- ProcXSendExtensionEvent(ClientPtr client)
- {
-- int ret;
-+ int ret, i;
- DeviceIntPtr dev;
- xEvent *first;
- XEventClass *list;
-@@ -141,10 +141,12 @@ ProcXSendExtensionEvent(ClientPtr client)
- /* The client's event type must be one defined by an extension. */
-
- first = ((xEvent *) &stuff[1]);
-- if (!((EXTENSION_EVENT_BASE <= first->u.u.type) &&
-- (first->u.u.type < lastEvent))) {
-- client->errorValue = first->u.u.type;
-- return BadValue;
-+ for (i = 0; i < stuff->num_events; i++) {
-+ if (!((EXTENSION_EVENT_BASE <= first[i].u.u.type) &&
-+ (first[i].u.u.type < lastEvent))) {
-+ client->errorValue = first[i].u.u.type;
-+ return BadValue;
-+ }
- }
-
- list = (XEventClass *) (first + stuff->num_events);
---
-2.11.0
-
diff --git a/package/x11r7/xserver_xorg-server/1.14.7/0005-Xi-Do-not-try-to-swap-GenericEvent.patch b/package/x11r7/xserver_xorg-server/1.14.7/0005-Xi-Do-not-try-to-swap-GenericEvent.patch
deleted file mode 100644
index 871e7621ed..0000000000
--- a/package/x11r7/xserver_xorg-server/1.14.7/0005-Xi-Do-not-try-to-swap-GenericEvent.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From ba336b24052122b136486961c82deac76bbde455 Mon Sep 17 00:00:00 2001
-From: Michal Srb <msrb@suse.com>
-Date: Wed, 24 May 2017 15:54:42 +0300
-Subject: [PATCH] Xi: Do not try to swap GenericEvent.
-
-The SProcXSendExtensionEvent must not attempt to swap GenericEvent because
-it is assuming that the event has fixed size and gives the swapping function
-xEvent-sized buffer.
-
-A GenericEvent would be later rejected by ProcXSendExtensionEvent anyway.
-
-Signed-off-by: Michal Srb <msrb@suse.com>
-Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
----
- Xi/sendexev.c | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/Xi/sendexev.c b/Xi/sendexev.c
-index 5e63bfcca..5c2e0fc56 100644
---- a/Xi/sendexev.c
-+++ b/Xi/sendexev.c
-@@ -95,9 +95,17 @@ SProcXSendExtensionEvent(ClientPtr client)
-
- eventP = (xEvent *) &stuff[1];
- for (i = 0; i < stuff->num_events; i++, eventP++) {
-+ if (eventP->u.u.type == GenericEvent) {
-+ client->errorValue = eventP->u.u.type;
-+ return BadValue;
-+ }
-+
- proc = EventSwapVector[eventP->u.u.type & 0177];
-- if (proc == NotImplemented) /* no swapping proc; invalid event type? */
-+ /* no swapping proc; invalid event type? */
-+ if (proc == NotImplemented) {
-+ client->errorValue = eventP->u.u.type;
- return BadValue;
-+ }
- (*proc) (eventP, &eventT);
- *eventP = eventT;
- }
---
-2.11.0
-
diff --git a/package/x11r7/xserver_xorg-server/1.17.4/0001-modesettings-needs-dri2.patch b/package/x11r7/xserver_xorg-server/1.17.4/0001-modesettings-needs-dri2.patch
deleted file mode 100644
index 4ef95efc3e..0000000000
--- a/package/x11r7/xserver_xorg-server/1.17.4/0001-modesettings-needs-dri2.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Kernel modesettings support also depends on dri2, see
-http://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/drivers/modesetting/Makefile.am#n46
-
-Patch sent upstream: https://bugs.freedesktop.org/show_bug.cgi?id=91584
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-
-diff -uNr xorg-server-1.17.2.org/configure.ac xorg-server-1.17.2/configure.ac
---- xorg-server-1.17.2.org/configure.ac 2015-06-16 17:42:40.000000000 +0200
-+++ xorg-server-1.17.2/configure.ac 2015-08-08 10:44:59.702382624 +0200
-@@ -2036,7 +2036,7 @@
- XORG_SYS_LIBS="$XORG_SYS_LIBS $XORG_MODULES_LIBS"
- fi
-
-- if test "x$DRM" = xyes; then
-+ if test "x$DRM" = xyes -a "x$DRI2" = xyes; then
- dnl 2.4.46 is required for cursor hotspot support.
- PKG_CHECK_EXISTS(libdrm >= 2.4.46)
- XORG_DRIVER_MODESETTING=yes
diff --git a/package/x11r7/xserver_xorg-server/1.17.4/0002-Xi-Zero-target-buffer-in-SProcXSendExtensionEvent.patch b/package/x11r7/xserver_xorg-server/1.17.4/0002-Xi-Zero-target-buffer-in-SProcXSendExtensionEvent.patch
deleted file mode 100644
index c15dc9f50c..0000000000
--- a/package/x11r7/xserver_xorg-server/1.17.4/0002-Xi-Zero-target-buffer-in-SProcXSendExtensionEvent.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 05442de962d3dc624f79fc1a00eca3ffc5489ced Mon Sep 17 00:00:00 2001
-From: Michal Srb <msrb@suse.com>
-Date: Wed, 24 May 2017 15:54:39 +0300
-Subject: [PATCH] Xi: Zero target buffer in SProcXSendExtensionEvent.
-
-Make sure that the xEvent eventT is initialized with zeros, the same way as
-in SProcSendEvent.
-
-Some event swapping functions do not overwrite all 32 bytes of xEvent
-structure, for example XSecurityAuthorizationRevoked. Two cooperating
-clients, one swapped and the other not, can send
-XSecurityAuthorizationRevoked event to each other to retrieve old stack data
-from X server. This can be potentialy misused to go around ASLR or
-stack-protector.
-
-Signed-off-by: Michal Srb <msrb@suse.com>
-Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
----
- Xi/sendexev.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Xi/sendexev.c b/Xi/sendexev.c
-index 11d82029f..1cf118ab6 100644
---- a/Xi/sendexev.c
-+++ b/Xi/sendexev.c
-@@ -78,7 +78,7 @@ SProcXSendExtensionEvent(ClientPtr client)
- {
- CARD32 *p;
- int i;
-- xEvent eventT;
-+ xEvent eventT = { .u.u.type = 0 };
- xEvent *eventP;
- EventSwapPtr proc;
-
---
-2.11.0
-
diff --git a/package/x11r7/xserver_xorg-server/1.17.4/0003-dix-Disallow-GenericEvent-in-SendEvent-request.patch b/package/x11r7/xserver_xorg-server/1.17.4/0003-dix-Disallow-GenericEvent-in-SendEvent-request.patch
deleted file mode 100644
index 12da5f5cba..0000000000
--- a/package/x11r7/xserver_xorg-server/1.17.4/0003-dix-Disallow-GenericEvent-in-SendEvent-request.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 215f894965df5fb0bb45b107d84524e700d2073c Mon Sep 17 00:00:00 2001
-From: Michal Srb <msrb@suse.com>
-Date: Wed, 24 May 2017 15:54:40 +0300
-Subject: [PATCH] dix: Disallow GenericEvent in SendEvent request.
-
-The SendEvent request holds xEvent which is exactly 32 bytes long, no more,
-no less. Both ProcSendEvent and SProcSendEvent verify that the received data
-exactly match the request size. However nothing stops the client from passing
-in event with xEvent::type = GenericEvent and any value of
-xGenericEvent::length.
-
-In the case of ProcSendEvent, the event will be eventually passed to
-WriteEventsToClient which will see that it is Generic event and copy the
-arbitrary length from the receive buffer (and possibly past it) and send it to
-the other client. This allows clients to copy unitialized heap memory out of X
-server or to crash it.
-
-In case of SProcSendEvent, it will attempt to swap the incoming event by
-calling a swapping function from the EventSwapVector array. The swapped event
-is written to target buffer, which in this case is local xEvent variable. The
-xEvent variable is 32 bytes long, but the swapping functions for GenericEvents
-expect that the target buffer has size matching the size of the source
-GenericEvent. This allows clients to cause stack buffer overflows.
-
-Signed-off-by: Michal Srb <msrb@suse.com>
-Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
----
- dix/events.c | 6 ++++++
- dix/swapreq.c | 7 +++++++
- 2 files changed, 13 insertions(+)
-
-diff --git a/dix/events.c b/dix/events.c
-index 3e3a01ef9..d3a33ea3f 100644
---- a/dix/events.c
-+++ b/dix/events.c
-@@ -5366,6 +5366,12 @@ ProcSendEvent(ClientPtr client)
- client->errorValue = stuff->event.u.u.type;
- return BadValue;
- }
-+ /* Generic events can have variable size, but SendEvent request holds
-+ exactly 32B of event data. */
-+ if (stuff->event.u.u.type == GenericEvent) {
-+ client->errorValue = stuff->event.u.u.type;
-+ return BadValue;
-+ }
- if (stuff->event.u.u.type == ClientMessage &&
- stuff->event.u.u.detail != 8 &&
- stuff->event.u.u.detail != 16 && stuff->event.u.u.detail != 32) {
-diff --git a/dix/swapreq.c b/dix/swapreq.c
-index 719e9b81c..67850593b 100644
---- a/dix/swapreq.c
-+++ b/dix/swapreq.c
-@@ -292,6 +292,13 @@ SProcSendEvent(ClientPtr client)
- swapl(&stuff->destination);
- swapl(&stuff->eventMask);
-
-+ /* Generic events can have variable size, but SendEvent request holds
-+ exactly 32B of event data. */
-+ if (stuff->event.u.u.type == GenericEvent) {
-+ client->errorValue = stuff->event.u.u.type;
-+ return BadValue;
-+ }
-+
- /* Swap event */
- proc = EventSwapVector[stuff->event.u.u.type & 0177];
- if (!proc || proc == NotImplemented) /* no swapping proc; invalid event type? */
---
-2.11.0
-
diff --git a/package/x11r7/xserver_xorg-server/1.17.4/0004-Xi-Verify-all-events-in-ProcXSendExtensionEvent.patch b/package/x11r7/xserver_xorg-server/1.17.4/0004-Xi-Verify-all-events-in-ProcXSendExtensionEvent.patch
deleted file mode 100644
index 2e651006ba..0000000000
--- a/package/x11r7/xserver_xorg-server/1.17.4/0004-Xi-Verify-all-events-in-ProcXSendExtensionEvent.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 8caed4df36b1f802b4992edcfd282cbeeec35d9d Mon Sep 17 00:00:00 2001
-From: Michal Srb <msrb@suse.com>
-Date: Wed, 24 May 2017 15:54:41 +0300
-Subject: [PATCH] Xi: Verify all events in ProcXSendExtensionEvent.
-
-The requirement is that events have type in range
-EXTENSION_EVENT_BASE..lastEvent, but it was tested
-only for first event of all.
-
-Signed-off-by: Michal Srb <msrb@suse.com>
-Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
----
- Xi/sendexev.c | 12 +++++++-----
- 1 file changed, 7 insertions(+), 5 deletions(-)
-
-diff --git a/Xi/sendexev.c b/Xi/sendexev.c
-index 1cf118ab6..5e63bfcca 100644
---- a/Xi/sendexev.c
-+++ b/Xi/sendexev.c
-@@ -117,7 +117,7 @@ SProcXSendExtensionEvent(ClientPtr client)
- int
- ProcXSendExtensionEvent(ClientPtr client)
- {
-- int ret;
-+ int ret, i;
- DeviceIntPtr dev;
- xEvent *first;
- XEventClass *list;
-@@ -141,10 +141,12 @@ ProcXSendExtensionEvent(ClientPtr client)
- /* The client's event type must be one defined by an extension. */
-
- first = ((xEvent *) &stuff[1]);
-- if (!((EXTENSION_EVENT_BASE <= first->u.u.type) &&
-- (first->u.u.type < lastEvent))) {
-- client->errorValue = first->u.u.type;
-- return BadValue;
-+ for (i = 0; i < stuff->num_events; i++) {
-+ if (!((EXTENSION_EVENT_BASE <= first[i].u.u.type) &&
-+ (first[i].u.u.type < lastEvent))) {
-+ client->errorValue = first[i].u.u.type;
-+ return BadValue;
-+ }
- }
-
- list = (XEventClass *) (first + stuff->num_events);
---
-2.11.0
-
diff --git a/package/x11r7/xserver_xorg-server/1.17.4/0005-Xi-Do-not-try-to-swap-GenericEvent.patch b/package/x11r7/xserver_xorg-server/1.17.4/0005-Xi-Do-not-try-to-swap-GenericEvent.patch
deleted file mode 100644
index 871e7621ed..0000000000
--- a/package/x11r7/xserver_xorg-server/1.17.4/0005-Xi-Do-not-try-to-swap-GenericEvent.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From ba336b24052122b136486961c82deac76bbde455 Mon Sep 17 00:00:00 2001
-From: Michal Srb <msrb@suse.com>
-Date: Wed, 24 May 2017 15:54:42 +0300
-Subject: [PATCH] Xi: Do not try to swap GenericEvent.
-
-The SProcXSendExtensionEvent must not attempt to swap GenericEvent because
-it is assuming that the event has fixed size and gives the swapping function
-xEvent-sized buffer.
-
-A GenericEvent would be later rejected by ProcXSendExtensionEvent anyway.
-
-Signed-off-by: Michal Srb <msrb@suse.com>
-Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
----
- Xi/sendexev.c | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/Xi/sendexev.c b/Xi/sendexev.c
-index 5e63bfcca..5c2e0fc56 100644
---- a/Xi/sendexev.c
-+++ b/Xi/sendexev.c
-@@ -95,9 +95,17 @@ SProcXSendExtensionEvent(ClientPtr client)
-
- eventP = (xEvent *) &stuff[1];
- for (i = 0; i < stuff->num_events; i++, eventP++) {
-+ if (eventP->u.u.type == GenericEvent) {
-+ client->errorValue = eventP->u.u.type;
-+ return BadValue;
-+ }
-+
- proc = EventSwapVector[eventP->u.u.type & 0177];
-- if (proc == NotImplemented) /* no swapping proc; invalid event type? */
-+ /* no swapping proc; invalid event type? */
-+ if (proc == NotImplemented) {
-+ client->errorValue = eventP->u.u.type;
- return BadValue;
-+ }
- (*proc) (eventP, &eventT);
- *eventP = eventT;
- }
---
-2.11.0
-
diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in
index 87f1b37daf..d53083ef90 100644
--- a/package/x11r7/xserver_xorg-server/Config.in
+++ b/package/x11r7/xserver_xorg-server/Config.in
@@ -42,47 +42,6 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER
if BR2_PACKAGE_XSERVER_XORG_SERVER
-config BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_14
- bool
-
-config BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_19
- bool
-
-config BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_24
- bool
-
-config BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI
- int
- default 14 if BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_14
- default 19 if BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_19
- default 24 if BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_24
-
-choice
- bool "X Window System server version"
-
-config BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_20
- bool "1.20.9"
- select BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_24
- select BR2_PACKAGE_XLIB_LIBXFONT2
-
-config BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_17
- bool "1.17.4"
- select BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_19
- select BR2_PACKAGE_XLIB_LIBXFONT
-
-config BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_14
- bool "1.14.7"
- select BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_14
- select BR2_PACKAGE_XLIB_LIBXFONT
-
-endchoice
-
-config BR2_PACKAGE_XSERVER_XORG_SERVER_VERSION
- string
- default "1.20.9" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_20
- default "1.17.4" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_17
- default "1.14.7" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_14
-
choice
prompt "X Window System server type"
help
@@ -114,13 +73,6 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE
endchoice
-config BR2_PACKAGE_XSERVER_XORG_SERVER_AIGLX
- bool "Enable AIGLX Extension"
- # AIGLX Extension removed in 1.19.0
- depends on BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_14 || BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_17
- help
- Enable/Use AIGLX extension.
-
if BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE
config BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_EVDEV
diff --git a/package/x11r7/xserver_xorg-server/xorg.service b/package/x11r7/xserver_xorg-server/xorg.service
new file mode 100644
index 0000000000..2745711cf3
--- /dev/null
+++ b/package/x11r7/xserver_xorg-server/xorg.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Xorg server
+After=network.target
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/Xorg :0.0 vt01 -s 0 -noreset -allowMouseOpenFail
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash b/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash
index 930900c5ea..2b55449e14 100644
--- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash
+++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash
@@ -1,8 +1,3 @@
-# From http://lists.x.org/archives/xorg-announce/2014-June/002440.html
-sha1 7a95765e56b124758fcd7b609589e65b8870880b xorg-server-1.14.7.tar.bz2
-sha256 fcf66fa6ad86227613d2d3e8ae13ded297e2a1e947e9060a083eaf80d323451f xorg-server-1.14.7.tar.bz2
-# From https://lists.x.org/archives/xorg-announce/2015-October/002650.html
-sha256 0c4b45c116a812a996eb432d8508cf26c2ec8c3916ff2a50781796882f8d6457 xorg-server-1.17.4.tar.bz2
# From https://lists.x.org/archives/xorg-announce/2020-August/003059.html
sha256 e219f2e0dfe455467939149d7cd2ee53b79b512cc1d2094ae4f5c9ed9ccd3571 xorg-server-1.20.9.tar.bz2
sha512 d9b5f93e1b9763a89187d8b272aa7d4ce9709641b8539f4536708af153310e5a4931bffd4229c51a3b0e3b12da7838750aa71b635751fb4c0bb27438cce4e5e6 xorg-server-1.20.9.tar.bz2
diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
index 8ccc04224d..53b05f0ffa 100644
--- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
+++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
@@ -4,7 +4,7 @@
#
################################################################################
-XSERVER_XORG_SERVER_VERSION = $(call qstrip,$(BR2_PACKAGE_XSERVER_XORG_SERVER_VERSION))
+XSERVER_XORG_SERVER_VERSION = 1.20.9
XSERVER_XORG_SERVER_SOURCE = xorg-server-$(XSERVER_XORG_SERVER_VERSION).tar.bz2
XSERVER_XORG_SERVER_SITE = https://xorg.freedesktop.org/archive/individual/xserver
XSERVER_XORG_SERVER_LICENSE = MIT
@@ -127,12 +127,6 @@ else
XSERVER_XORG_SERVER_CONF_OPTS += --disable-dri --disable-glx
endif
-ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER_AIGLX),y)
-XSERVER_XORG_SERVER_CONF_OPTS += --enable-aiglx
-else
-XSERVER_XORG_SERVER_CONF_OPTS += --disable-aiglx
-endif
-
# Optional packages
ifeq ($(BR2_PACKAGE_TSLIB),y)
XSERVER_XORG_SERVER_DEPENDENCIES += tslib
@@ -224,6 +218,11 @@ XSERVER_XORG_SERVER_CONF_OPTS += --with-sha1=libsha1
XSERVER_XORG_SERVER_DEPENDENCIES += libsha1
endif
+define XSERVER_XORG_SERVER_INSTALL_INIT_SYSTEMD
+ $(INSTALL) -D -m 0644 package/x11r7/xserver_xorg-server/xorg.service \
+ $(TARGET_DIR)/usr/lib/systemd/system/xorg.service
+endef
+
define XSERVER_XORG_SERVER_INSTALL_INIT_SYSV
$(INSTALL) -D -m 755 package/x11r7/xserver_xorg-server/S40xorg \
$(TARGET_DIR)/etc/init.d/S40xorg
diff --git a/package/xen/0002-9pfs-include-linux-limits.h-for-XATTR_SIZE_MAX.patch b/package/xen/0001-9pfs-include-linux-limits.h-for-XATTR_SIZE_MAX.patch
index b681b941f7..b681b941f7 100644
--- a/package/xen/0002-9pfs-include-linux-limits.h-for-XATTR_SIZE_MAX.patch
+++ b/package/xen/0001-9pfs-include-linux-limits.h-for-XATTR_SIZE_MAX.patch
diff --git a/package/xen/0001-xen-Rules.mk-fix-build-with-CFLAGS-from-environment.patch b/package/xen/0001-xen-Rules.mk-fix-build-with-CFLAGS-from-environment.patch
deleted file mode 100644
index fb316739b4..0000000000
--- a/package/xen/0001-xen-Rules.mk-fix-build-with-CFLAGS-from-environment.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 8aea14bbd20b04b8fffaf35138ebdcbd39e433a3 Mon Sep 17 00:00:00 2001
-From: "Yann E. MORIN" <yann.morin.1998@free.fr>
-Date: Sat, 29 Oct 2016 16:35:26 +0200
-Subject: [PATCH] xen/Rules.mk: fix build with CFLAGS from environment
-
-When CFLAGS are passed from the environment, the first-level make
-invocation will append -D__OBJECT_FILE__ to it, then call a second
-make invocation, that will have those new CFLAGS in its environment,
-but will also append -D__OBJECT_FILE__ to those.
-
-Then, the compiler fails because __OBEJECT_FILE__ is defined twice.
-
-Just undefine it before defining it again, as a *workaround* to this
-issue.
-
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
----
- xen/Rules.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/xen/Rules.mk b/xen/Rules.mk
-index 3090ea7828..d535bf9e2f 100644
---- a/xen/Rules.mk
-+++ b/xen/Rules.mk
-@@ -61,7 +61,7 @@ CFLAGS += -Werror -Wredundant-decls -Wno-pointer-arith
- $(call cc-option-add,CFLAGS,CC,-Wvla)
- CFLAGS += -pipe -D__XEN__ -include $(BASEDIR)/include/xen/config.h
- CFLAGS-$(CONFIG_DEBUG_INFO) += -g
--CFLAGS += '-D__OBJECT_FILE__="$@"'
-+CFLAGS += -U__OBJECT_FILE__ '-D__OBJECT_FILE__="$@"'
-
- ifneq ($(clang),y)
- # Clang doesn't understand this command line argument, and doesn't appear to
---
-2.22.0
-
diff --git a/package/xen/xen.hash b/package/xen/xen.hash
index 0dd2f571a9..709eeb3d45 100644
--- a/package/xen/xen.hash
+++ b/package/xen/xen.hash
@@ -1,4 +1,3 @@
# Locally computed
-sha256 b97ce363e55b12c992063f4466c43cba0a6386ceb7a747b4dc670311f337ef01 xen-4.13.1.tar.gz
-sha256 1d057695d5b74ce2857204103e943caeaf773bc4fb9d91ea78016e01a9147ed7 xsa327.patch
-sha256 36b91794c6d4a678137c70c41e384c03b552c7efba82c0d73e6be842e41ab3d3 COPYING
+sha256 06839f68ea7620669dbe8b67861213223cc2a7d02ced61b56e5249c50e87f035 xen-4.14.0.tar.gz
+sha256 ecca9538e9d3f7e3c2bff827502f4495e2ef9e22c451298696ea08886b176c2c COPYING
diff --git a/package/xen/xen.mk b/package/xen/xen.mk
index ee5e9847fe..a30e80e5e7 100644
--- a/package/xen/xen.mk
+++ b/package/xen/xen.mk
@@ -4,10 +4,8 @@
#
################################################################################
-XEN_VERSION = 4.13.1
+XEN_VERSION = 4.14.0
XEN_SITE = https://downloads.xenproject.org/release/xen/$(XEN_VERSION)
-XEN_PATCH = \
- https://xenbits.xenproject.org/xsa/xsa327.patch
XEN_LICENSE = GPL-2.0
XEN_LICENSE_FILES = COPYING
XEN_DEPENDENCIES = host-acpica host-python3
diff --git a/support/misc/gitlab-ci.yml.in b/support/misc/gitlab-ci.yml.in
index dddebf09e9..0d058bdd91 100644
--- a/support/misc/gitlab-ci.yml.in
+++ b/support/misc/gitlab-ci.yml.in
@@ -19,15 +19,8 @@ check-DEVELOPERS:
check-flake8:
extends: .check_base
- before_script:
- # Help flake8 to find the Python files without .py extension.
- - find * -type f -name '*.py' > files.txt
- - find * -type f -print0 | xargs -0 file | grep 'Python script' | cut -d':' -f1 >> files.txt
- - sort -u files.txt | tee files.processed
script:
- - python3 -m flake8 --statistics --count --max-line-length=132 $(cat files.processed)
- after_script:
- - wc -l files.processed
+ - make check-flake8
check-package:
extends: .check_base
diff --git a/support/scripts/check-bin-arch b/support/scripts/check-bin-arch
index 3449bd1aeb..27cc59bca0 100755
--- a/support/scripts/check-bin-arch
+++ b/support/scripts/check-bin-arch
@@ -25,6 +25,9 @@ declare -a IGNORES=(
# it for a different architecture (e.g. i386 grub on x86_64).
"/lib/grub"
"/usr/lib/grub"
+
+ # Guile modules are ELF files, with a "None" machine
+ "/usr/lib/guile"
)
while getopts p:l:r:a:i: OPT ; do
diff --git a/support/scripts/cve-checker b/support/scripts/cve-checker
new file mode 100755
index 0000000000..2bfe2d8543
--- /dev/null
+++ b/support/scripts/cve-checker
@@ -0,0 +1,192 @@
+#!/usr/bin/env python
+
+# Copyright (C) 2009 by Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+# Copyright (C) 2020 by Gregory CLEMENT <gregory.clement@bootlin.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+import argparse
+import datetime
+import os
+import json
+import sys
+import cve as cvecheck
+
+class Package:
+ def __init__(self, name, version, ignored_cves):
+ self.name = name
+ self.version = version
+ self.cves = list()
+ self.ignored_cves = ignored_cves
+
+def check_package_cves(nvd_path, packages):
+ if not os.path.isdir(nvd_path):
+ os.makedirs(nvd_path)
+
+ for cve in cvecheck.CVE.read_nvd_dir(nvd_path):
+ for pkg_name in cve.pkg_names:
+ pkg = packages.get(pkg_name, '')
+ if pkg and cve.affects(pkg.name, pkg.version, pkg.ignored_cves) == cve.CVE_AFFECTS:
+ pkg.cves.append(cve.identifier)
+
+html_header = """
+<head>
+<script src=\"https://www.kryogenix.org/code/browser/sorttable/sorttable.js\"></script>
+<style type=\"text/css\">
+table {
+ width: 100%;
+}
+td {
+ border: 1px solid black;
+}
+td.centered {
+ text-align: center;
+}
+td.wrong {
+ background: #ff9a69;
+}
+td.correct {
+ background: #d2ffc4;
+}
+
+</style>
+<title>CVE status for Buildroot configuration</title>
+</head>
+
+<p id=\"sortable_hint\"></p>
+"""
+
+
+html_footer = """
+</body>
+<script>
+if (typeof sorttable === \"object\") {
+ document.getElementById(\"sortable_hint\").innerHTML =
+ \"hint: the table can be sorted by clicking the column headers\"
+}
+</script>
+</html>
+"""
+
+
+def dump_html_pkg(f, pkg):
+ f.write(" <tr>\n")
+ f.write(" <td>%s</td>\n" % pkg.name)
+
+ # Current version
+ if len(pkg.version) > 20:
+ version = pkg.version[:20] + "..."
+ else:
+ version = pkg.version
+ f.write(" <td class=\"centered\">%s</td>\n" % version)
+
+ # CVEs
+ td_class = ["centered"]
+ if len(pkg.cves) == 0:
+ td_class.append("correct")
+ else:
+ td_class.append("wrong")
+ f.write(" <td class=\"%s\">\n" % " ".join(td_class))
+ for cve in pkg.cves:
+ f.write(" <a href=\"https://security-tracker.debian.org/tracker/%s\">%s<br/>\n" % (cve, cve))
+ f.write(" </td>\n")
+
+ f.write(" </tr>\n")
+
+
+def dump_html_all_pkgs(f, packages):
+ f.write("""
+<table class=\"sortable\">
+<tr>
+<td>Package</td>
+<td class=\"centered\">Version</td>
+<td class=\"centered\">CVEs</td>
+</tr>
+""")
+ for pkg in packages:
+ dump_html_pkg(f, pkg)
+ f.write("</table>")
+
+
+def dump_html_gen_info(f, date):
+ f.write("<p><i>Generated on %s</i></p>\n" % (str(date)))
+
+
+def dump_html(packages, date, output):
+ with open(output, 'w') as f:
+ f.write(html_header)
+ dump_html_all_pkgs(f, packages)
+ dump_html_gen_info(f, date)
+ f.write(html_footer)
+
+
+def dump_json(packages, date, output):
+ # Format packages as a dictionnary instead of a list
+ pkgs = {
+ pkg.name: {
+ "version": pkg.version,
+ "cves": pkg.cves,
+ } for pkg in packages
+ }
+ # The actual structure to dump, add date to it
+ final = {'packages': pkgs,
+ 'date': str(date)}
+ with open(output, 'w') as f:
+ json.dump(final, f, indent=2, separators=(',', ': '))
+ f.write('\n')
+
+
+def resolvepath(path):
+ return os.path.abspath(os.path.expanduser(path))
+
+
+def parse_args():
+ parser = argparse.ArgumentParser()
+ output = parser.add_argument_group('output', 'Output file(s)')
+ output.add_argument('--html', dest='html', type=resolvepath,
+ help='HTML output file')
+ output.add_argument('--json', dest='json', type=resolvepath,
+ help='JSON output file')
+ parser.add_argument('--nvd-path', dest='nvd_path',
+ help='Path to the local NVD database',type=resolvepath,
+ required=True)
+ args = parser.parse_args()
+ if not args.html and not args.json:
+ parser.error('at least one of --html or --json (or both) is required')
+ return args
+
+
+def __main__():
+ packages = list()
+ content = json.load(sys.stdin)
+ for item in content:
+ pkg = content[item]
+ p = Package(item, pkg.get('version', ''), pkg.get('ignore_cves', ''))
+ packages.append(p)
+
+ args = parse_args()
+ date = datetime.datetime.utcnow()
+
+ print("Checking packages CVEs")
+ check_package_cves(args.nvd_path, {p.name: p for p in packages})
+
+ if args.html:
+ print("Write HTML")
+ dump_html(packages, date, args.html)
+ if args.json:
+ print("Write JSON")
+ dump_json(packages, date, args.json)
+
+__main__()
diff --git a/support/scripts/cve.py b/support/scripts/cve.py
new file mode 100755
index 0000000000..6396019e0e
--- /dev/null
+++ b/support/scripts/cve.py
@@ -0,0 +1,244 @@
+#!/usr/bin/env python
+
+# Copyright (C) 2009 by Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+# Copyright (C) 2020 by Gregory CLEMENT <gregory.clement@bootlin.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+import datetime
+import os
+import requests # URL checking
+import distutils.version
+import time
+import gzip
+import sys
+import operator
+
+try:
+ import ijson
+except ImportError:
+ sys.stderr.write("You need ijson to parse NVD for CVE check\n")
+ exit(1)
+
+sys.path.append('utils/')
+
+NVD_START_YEAR = 2002
+NVD_JSON_VERSION = "1.1"
+NVD_BASE_URL = "https://nvd.nist.gov/feeds/json/cve/" + NVD_JSON_VERSION
+
+ops = {
+ '>=': operator.ge,
+ '>': operator.gt,
+ '<=': operator.le,
+ '<': operator.lt,
+ '=': operator.eq
+}
+
+
+class CVE:
+ """An accessor class for CVE Items in NVD files"""
+ CVE_AFFECTS = 1
+ CVE_DOESNT_AFFECT = 2
+ CVE_UNKNOWN = 3
+
+ def __init__(self, nvd_cve):
+ """Initialize a CVE from its NVD JSON representation"""
+ self.nvd_cve = nvd_cve
+
+ @staticmethod
+ def download_nvd_year(nvd_path, year):
+ metaf = "nvdcve-%s-%s.meta" % (NVD_JSON_VERSION, year)
+ path_metaf = os.path.join(nvd_path, metaf)
+ jsonf_gz = "nvdcve-%s-%s.json.gz" % (NVD_JSON_VERSION, year)
+ path_jsonf_gz = os.path.join(nvd_path, jsonf_gz)
+
+ # If the database file is less than a day old, we assume the NVD data
+ # locally available is recent enough.
+ if os.path.exists(path_jsonf_gz) and os.stat(path_jsonf_gz).st_mtime >= time.time() - 86400:
+ return path_jsonf_gz
+
+ # If not, we download the meta file
+ url = "%s/%s" % (NVD_BASE_URL, metaf)
+ print("Getting %s" % url)
+ page_meta = requests.get(url)
+ page_meta.raise_for_status()
+
+ # If the meta file already existed, we compare the existing
+ # one with the data newly downloaded. If they are different,
+ # we need to re-download the database.
+ # If the database does not exist locally, we need to redownload it in
+ # any case.
+ if os.path.exists(path_metaf) and os.path.exists(path_jsonf_gz):
+ meta_known = open(path_metaf, "r").read()
+ if page_meta.text == meta_known:
+ return path_jsonf_gz
+
+ # Grab the compressed JSON NVD, and write files to disk
+ url = "%s/%s" % (NVD_BASE_URL, jsonf_gz)
+ print("Getting %s" % url)
+ page_json = requests.get(url)
+ page_json.raise_for_status()
+ open(path_jsonf_gz, "wb").write(page_json.content)
+ open(path_metaf, "w").write(page_meta.text)
+ return path_jsonf_gz
+
+ @classmethod
+ def read_nvd_dir(cls, nvd_dir):
+ """
+ Iterate over all the CVEs contained in NIST Vulnerability Database
+ feeds since NVD_START_YEAR. If the files are missing or outdated in
+ nvd_dir, a fresh copy will be downloaded, and kept in .json.gz
+ """
+ for year in range(NVD_START_YEAR, datetime.datetime.now().year + 1):
+ filename = CVE.download_nvd_year(nvd_dir, year)
+ try:
+ content = ijson.items(gzip.GzipFile(filename), 'CVE_Items.item')
+ except: # noqa: E722
+ print("ERROR: cannot read %s. Please remove the file then rerun this script" % filename)
+ raise
+ for cve in content:
+ yield cls(cve)
+
+ def each_product(self):
+ """Iterate over each product section of this cve"""
+ for vendor in self.nvd_cve['cve']['affects']['vendor']['vendor_data']:
+ for product in vendor['product']['product_data']:
+ yield product
+
+ def parse_node(self, node):
+ """
+ Parse the node inside the configurations section to extract the
+ cpe information usefull to know if a product is affected by
+ the CVE. Actually only the product name and the version
+ descriptor are needed, but we also provide the vendor name.
+ """
+
+ # The node containing the cpe entries matching the CVE can also
+ # contain sub-nodes, so we need to manage it.
+ for child in node.get('children', ()):
+ for parsed_node in self.parse_node(child):
+ yield parsed_node
+
+ for cpe in node.get('cpe_match', ()):
+ if not cpe['vulnerable']:
+ return
+ vendor, product, version = cpe['cpe23Uri'].split(':')[3:6]
+ op_start = ''
+ op_end = ''
+ v_start = ''
+ v_end = ''
+
+ if version != '*' and version != '-':
+ # Version is defined, this is a '=' match
+ op_start = '='
+ v_start = version
+ elif version == '-':
+ # no version information is available
+ op_start = '='
+ v_start = version
+ else:
+ # Parse start version, end version and operators
+ if 'versionStartIncluding' in cpe:
+ op_start = '>='
+ v_start = cpe['versionStartIncluding']
+
+ if 'versionStartExcluding' in cpe:
+ op_start = '>'
+ v_start = cpe['versionStartExcluding']
+
+ if 'versionEndIncluding' in cpe:
+ op_end = '<='
+ v_end = cpe['versionEndIncluding']
+
+ if 'versionEndExcluding' in cpe:
+ op_end = '<'
+ v_end = cpe['versionEndExcluding']
+
+ yield {
+ 'vendor': vendor,
+ 'product': product,
+ 'v_start': v_start,
+ 'op_start': op_start,
+ 'v_end': v_end,
+ 'op_end': op_end
+ }
+
+ def each_cpe(self):
+ for node in self.nvd_cve['configurations']['nodes']:
+ for cpe in self.parse_node(node):
+ yield cpe
+
+ @property
+ def identifier(self):
+ """The CVE unique identifier"""
+ return self.nvd_cve['cve']['CVE_data_meta']['ID']
+
+ @property
+ def pkg_names(self):
+ """The set of package names referred by this CVE definition"""
+ return set(p['product'] for p in self.each_cpe())
+
+ def affects(self, name, version, cve_ignore_list):
+ """
+ True if the Buildroot Package object passed as argument is affected
+ by this CVE.
+ """
+ if self.identifier in cve_ignore_list:
+ return self.CVE_DOESNT_AFFECT
+
+ pkg_version = distutils.version.LooseVersion(version)
+ if not hasattr(pkg_version, "version"):
+ print("Cannot parse package '%s' version '%s'" % (name, version))
+ pkg_version = None
+
+ for cpe in self.each_cpe():
+ if cpe['product'] != name:
+ continue
+ if cpe['v_start'] == '-':
+ return self.CVE_AFFECTS
+ if not cpe['v_start'] and not cpe['v_end']:
+ print("No CVE affected version")
+ continue
+ if not pkg_version:
+ continue
+
+ if cpe['v_start']:
+ try:
+ cve_affected_version = distutils.version.LooseVersion(cpe['v_start'])
+ inrange = ops.get(cpe['op_start'])(pkg_version, cve_affected_version)
+ except TypeError:
+ return self.CVE_UNKNOWN
+
+ # current package version is before v_start, so we're
+ # not affected by the CVE
+ if not inrange:
+ continue
+
+ if cpe['v_end']:
+ try:
+ cve_affected_version = distutils.version.LooseVersion(cpe['v_end'])
+ inrange = ops.get(cpe['op_end'])(pkg_version, cve_affected_version)
+ except TypeError:
+ return self.CVE_UNKNOWN
+
+ # current package version is after v_end, so we're
+ # not affected by the CVE
+ if not inrange:
+ continue
+
+ # We're in the version range affected by this CVE
+ return self.CVE_AFFECTS
+
+ return self.CVE_DOESNT_AFFECT
diff --git a/support/scripts/gen-bootlin-toolchains b/support/scripts/gen-bootlin-toolchains
new file mode 100755
index 0000000000..ac1a19b3c0
--- /dev/null
+++ b/support/scripts/gen-bootlin-toolchains
@@ -0,0 +1,472 @@
+#!/usr/bin/env python3
+
+import os.path
+import re
+import requests
+import textwrap
+
+BASE_URL = "https://toolchains.bootlin.com/downloads/releases/toolchains"
+
+AUTOGENERATED_COMMENT = """# This file was auto-generated by support/scripts/gen-bootlin-toolchains
+# Do not edit
+"""
+
+# In the below dict:
+
+# - 'conditions' indicate the cumulative conditions under which the
+# toolchain will be made available. In several situations, a given
+# toolchain is usable on several architectures variants (for
+# example, an ARMv6 toolchain can be used on ARMv7)
+# - 'test_options' indicate one specific configuration where the
+# toolchain can be used. It is used to create the runtime test
+# cases. If 'test_options' does not exist, the code assumes it can
+# be made equal to 'conditions'
+# - 'prefix' is the prefix of the cross-compilation toolchain tools
+
+arches = {
+ 'aarch64': {
+ 'conditions': ['BR2_aarch64'],
+ 'prefix': 'aarch64',
+ },
+ 'aarch64be': {
+ 'conditions': ['BR2_aarch64_be'],
+ 'prefix': 'aarch64_be',
+ },
+ 'arcle-750d': {
+ 'conditions': ['BR2_arcle', 'BR2_arc750d'],
+ 'prefix': 'arc',
+ },
+ 'arcle-hs38': {
+ 'conditions': ['BR2_arcle', 'BR2_archs38'],
+ 'prefix': 'arc',
+ },
+ 'armv5-eabi': {
+ 'conditions': ['BR2_ARM_CPU_ARMV5', 'BR2_ARM_EABI'],
+ 'test_options': ['BR2_arm', 'BR2_arm926t', 'BR2_ARM_EABI'],
+ 'prefix': 'arm',
+ },
+ 'armv6-eabihf': {
+ 'conditions': ['BR2_ARM_CPU_ARMV6', 'BR2_ARM_EABIHF'],
+ 'test_options': ['BR2_arm', 'BR2_arm1176jzf_s', 'BR2_ARM_EABIHF'],
+ 'prefix': 'arm',
+ },
+ 'armv7-eabihf': {
+ 'conditions': ['BR2_ARM_CPU_ARMV7A', 'BR2_ARM_EABIHF'],
+ 'test_options': ['BR2_arm', 'BR2_cortex_a8', 'BR2_ARM_EABIHF'],
+ 'prefix': 'arm',
+ },
+ 'armv7m': {
+ 'conditions': ['BR2_ARM_CPU_ARMV7M'],
+ 'test_options': ['BR2_arm', 'BR2_cortex_m4'],
+ 'prefix': 'arm',
+ },
+ 'm68k-68xxx': {
+ 'conditions': ['BR2_m68k_m68k'],
+ 'test_options': ['BR2_m68k', 'BR2_m68k_68040'],
+ 'prefix': 'm68k',
+ },
+ 'm68k-coldfire': {
+ 'conditions': ['BR2_m68k_cf'],
+ 'test_options': ['BR2_m68k', 'BR2_m68k_cf5208'],
+ 'prefix': 'm68k',
+ },
+ 'microblazebe': {
+ 'conditions': ['BR2_microblazebe'],
+ 'prefix': 'microblaze',
+ },
+ 'microblazeel': {
+ 'conditions': ['BR2_microblazeel'],
+ 'prefix': 'microblazeel',
+ },
+ 'mips32': {
+ # Not sure it could be used by other mips32 variants?
+ 'conditions': ['BR2_mips', 'BR2_mips_32', '!BR2_MIPS_SOFT_FLOAT'],
+ 'prefix': 'mips',
+ },
+ 'mips32el': {
+ # Not sure it could be used by other mips32el variants?
+ 'conditions': ['BR2_mipsel', 'BR2_mips_32', '!BR2_MIPS_SOFT_FLOAT'],
+ 'prefix': 'mipsel',
+ },
+ 'mips32r5el': {
+ 'conditions': ['BR2_mipsel', 'BR2_mips_32r5', '!BR2_MIPS_SOFT_FLOAT'],
+ 'prefix': 'mipsel',
+ },
+ 'mips32r6el': {
+ 'conditions': ['BR2_mipsel', 'BR2_mips_32r6', '!BR2_MIPS_SOFT_FLOAT'],
+ 'prefix': 'mipsel',
+ },
+ 'mips64': {
+ # Not sure it could be used by other mips64 variants?
+ 'conditions': ['BR2_mips64', 'BR2_mips_64', '!BR2_MIPS_SOFT_FLOAT'],
+ 'prefix': 'mips64',
+ },
+ 'mips64-n32': {
+ # Not sure it could be used by other mips64 variants?
+ 'conditions': ['BR2_mips64', 'BR2_mips_64', 'BR2_MIPS_NABI32', '!BR2_MIPS_SOFT_FLOAT'],
+ 'prefix': 'mips64',
+ },
+ 'mips64el-n32': {
+ # Not sure it could be used by other mips64el variants?
+ 'conditions': ['BR2_mips64el', 'BR2_mips_64', 'BR2_MIPS_NABI32', '!BR2_MIPS_SOFT_FLOAT'],
+ 'prefix': 'mips64el',
+ },
+ 'mips64r6el-n32': {
+ 'conditions': ['BR2_mips64el', 'BR2_mips_64r6', 'BR2_MIPS_NABI32', '!BR2_MIPS_SOFT_FLOAT'],
+ 'prefix': 'mips64el',
+ },
+ 'nios2': {
+ 'conditions': ['BR2_nios2'],
+ 'prefix': 'nios2',
+ },
+ 'openrisc': {
+ 'conditions': ['BR2_or1k'],
+ 'prefix': 'or1k',
+ },
+ 'powerpc-e500mc': {
+ # Not sure it could be used by other powerpc variants?
+ 'conditions': ['BR2_powerpc', 'BR2_powerpc_e500mc'],
+ 'prefix': 'powerpc',
+ },
+ 'powerpc64-e5500': {
+ 'conditions': ['BR2_powerpc64', 'BR2_powerpc_e5500'],
+ 'prefix': 'powerpc64',
+ },
+ 'powerpc64-power8': {
+ 'conditions': ['BR2_powerpc64', 'BR2_powerpc_power8'],
+ 'prefix': 'powerpc64',
+ },
+ 'powerpc64le-power8': {
+ 'conditions': ['BR2_powerpc64le', 'BR2_powerpc_power8'],
+ 'prefix': 'powerpc64le',
+ },
+ 'riscv32-ilp32d': {
+ 'conditions': ['BR2_riscv', 'BR2_riscv_g', 'BR2_RISCV_32', 'BR2_RISCV_ABI_ILP32D'],
+ 'prefix': 'riscv32',
+ },
+ 'riscv64': {
+ 'conditions': ['BR2_riscv', 'BR2_riscv_g', 'BR2_RISCV_64', 'BR2_RISCV_ABI_LP64'],
+ 'prefix': 'riscv64',
+ },
+ 'sh-sh4': {
+ 'conditions': ['BR2_sh', 'BR2_sh4'],
+ 'prefix': 'sh4',
+ },
+ 'sh-sh4aeb': {
+ 'conditions': ['BR2_sh', 'BR2_sh4aeb'],
+ 'prefix': 'sh4aeb',
+ },
+ 'sparc64': {
+ 'conditions': ['BR2_sparc64', 'BR2_sparc_v9'],
+ 'prefix': 'sparc64',
+ },
+ 'sparcv8': {
+ 'conditions': ['BR2_sparc', 'BR2_sparc_v8'],
+ 'prefix': 'sparc',
+ },
+ 'x86-64-core-i7': {
+ 'conditions': ['BR2_x86_64',
+ 'BR2_X86_CPU_HAS_MMX',
+ 'BR2_X86_CPU_HAS_SSE',
+ 'BR2_X86_CPU_HAS_SSE2',
+ 'BR2_X86_CPU_HAS_SSE3',
+ 'BR2_X86_CPU_HAS_SSSE3',
+ 'BR2_X86_CPU_HAS_SSE4',
+ 'BR2_X86_CPU_HAS_SSE42'],
+ 'test_options': ['BR2_x86_64', 'BR2_x86_corei7'],
+ 'prefix': 'x86_64',
+ },
+ 'x86-core2': {
+ 'conditions': ['BR2_i386',
+ 'BR2_X86_CPU_HAS_MMX',
+ 'BR2_X86_CPU_HAS_SSE',
+ 'BR2_X86_CPU_HAS_SSE2',
+ 'BR2_X86_CPU_HAS_SSE3',
+ 'BR2_X86_CPU_HAS_SSSE3'],
+ 'test_options': ['BR2_i386', 'BR2_x86_core2'],
+ 'prefix': 'i686',
+ },
+ 'x86-i686': {
+ 'conditions': ['BR2_i386',
+ '!BR2_x86_i486',
+ '!BR2_x86_i586',
+ '!BR2_x86_x1000'],
+ 'test_options': ['BR2_i386',
+ 'BR2_x86_i686'],
+ 'prefix': 'i686',
+ },
+ 'xtensa-lx60': {
+ 'conditions': ['BR2_xtensa', 'BR2_xtensa_fsf'],
+ 'prefix': 'xtensa',
+ },
+}
+
+
+class Toolchain:
+ def __init__(self, arch, libc, variant, version):
+ self.arch = arch
+ self.libc = libc
+ self.variant = variant
+ self.version = version
+ self.fname_prefix = "%s--%s--%s-%s" % (self.arch, self.libc, self.variant, self.version)
+ self.option_name = "BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_%s_%s_%s" % \
+ (self.arch.replace("-", "_").upper(), self.libc.upper(), self.variant.replace("-", "_").upper())
+ self.fragment = requests.get(self.fragment_url).text.split("\n")
+ self.sha256 = requests.get(self.hash_url).text.split(" ")[0]
+
+ @property
+ def tarball_url(self):
+ return os.path.join(BASE_URL, self.arch, "tarballs",
+ self.fname_prefix + ".tar.bz2")
+
+ @property
+ def hash_url(self):
+ return os.path.join(BASE_URL, self.arch, "tarballs",
+ self.fname_prefix + ".sha256")
+
+ @property
+ def fragment_url(self):
+ return os.path.join(BASE_URL, self.arch, "fragments",
+ self.fname_prefix + ".frag")
+
+ def gen_config_in_options(self, f):
+ f.write("config %s\n" % self.option_name)
+ f.write("\tbool \"%s %s %s %s\"\n" %
+ (self.arch, self.libc, self.variant, self.version))
+ for c in arches[self.arch]['conditions']:
+ f.write("\tdepends on %s\n" % c)
+ selects = []
+ for frag in self.fragment:
+ # libc type
+ if frag.startswith("BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC"):
+ selects.append("BR2_TOOLCHAIN_EXTERNAL_UCLIBC")
+ elif frag.startswith("BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC"):
+ selects.append("BR2_TOOLCHAIN_EXTERNAL_GLIBC")
+ # all glibc toolchains have RPC support
+ selects.append("BR2_TOOLCHAIN_HAS_NATIVE_RPC")
+ elif frag.startswith("BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL"):
+ selects.append("BR2_TOOLCHAIN_EXTERNAL_MUSL")
+
+ # gcc version
+ if frag.startswith("BR2_TOOLCHAIN_EXTERNAL_GCC_"):
+ m = re.match("^BR2_TOOLCHAIN_EXTERNAL_GCC_([0-9_]*)=y$", frag)
+ assert m, "Cannot get gcc version for toolchain %s" % self.fname_prefix
+ selects.append("BR2_TOOLCHAIN_GCC_AT_LEAST_%s" % m[1])
+
+ # kernel headers version
+ if frag.startswith("BR2_TOOLCHAIN_EXTERNAL_HEADERS_"):
+ m = re.match("^BR2_TOOLCHAIN_EXTERNAL_HEADERS_([0-9_]*)=y$", frag)
+ assert m, "Cannot get kernel headers version for toolchain %s" % self.fname_prefix
+ selects.append("BR2_TOOLCHAIN_HEADERS_AT_LEAST_%s" % m[1])
+
+ # C++
+ if frag.startswith("BR2_TOOLCHAIN_EXTERNAL_CXX"):
+ selects.append("BR2_INSTALL_LIBSTDCPP")
+
+ # SSP
+ if frag.startswith("BR2_TOOLCHAIN_EXTERNAL_HAS_SSP"):
+ selects.append("BR2_TOOLCHAIN_HAS_SSP")
+
+ # wchar
+ if frag.startswith("BR2_TOOLCHAIN_EXTERNAL_WCHAR"):
+ selects.append("BR2_USE_WCHAR")
+
+ # locale
+ if frag.startswith("BR2_TOOLCHAIN_EXTERNAL_LOCALE"):
+ # locale implies the availability of wchar
+ selects.append("BR2_USE_WCHAR")
+ selects.append("BR2_ENABLE_LOCALE")
+
+ # thread support
+ if frag.startswith("BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS"):
+ selects.append("BR2_TOOLCHAIN_HAS_THREADS")
+
+ if frag.startswith("BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG"):
+ selects.append("BR2_TOOLCHAIN_HAS_THREADS_DEBUG")
+
+ if frag.startswith("BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL"):
+ selects.append("BR2_TOOLCHAIN_HAS_THREADS_NPTL")
+
+ # RPC
+ if frag.startswith("BR2_TOOLCHAIN_EXTERNAL_INET_RPC"):
+ selects.append("BR2_TOOLCHAIN_HAS_NATIVE_RPC")
+
+ # D language
+ if frag.startswith("BR2_TOOLCHAIN_EXTERNAL_DLANG"):
+ selects.append("BR2_TOOLCHAIN_HAS_DLANG")
+
+ # fortran
+ if frag.startswith("BR2_TOOLCHAIN_EXTERNAL_FORTRAN"):
+ selects.append("BR2_TOOLCHAIN_HAS_FORTRAN")
+
+ # OpenMP
+ if frag.startswith("BR2_TOOLCHAIN_EXTERNAL_OPENMP"):
+ selects.append("BR2_TOOLCHAIN_HAS_OPENMP")
+
+ for select in selects:
+ f.write("\tselect %s\n" % select)
+
+ f.write("\thelp\n")
+
+ desc = "Bootlin toolchain for the %s architecture, using the %s C library. " % \
+ (self.arch, self.libc)
+
+ if self.variant == "stable":
+ desc += "This is a stable version, which means it is using stable and proven versions of gcc, gdb and binutils."
+ else:
+ desc += "This is a bleeding-edge version, which means it is using the latest versions of gcc, gdb and binutils."
+
+ f.write(textwrap.fill(desc, width=62, initial_indent="\t ", subsequent_indent="\t ") + "\n")
+ f.write("\n")
+ f.write("\t https://toolchains.bootlin.com/\n")
+
+ f.write("\n")
+
+ def gen_mk(self, f):
+ f.write("ifeq ($(%s),y)\n" % self.option_name)
+ f.write("TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = %s\n" % self.version)
+ f.write("TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = %s--%s--%s-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2\n" %
+ (self.arch, self.libc, self.variant))
+ f.write("TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = %s\n" %
+ os.path.join(BASE_URL, self.arch, "tarballs"))
+ f.write("endif\n\n")
+ pass
+
+ def gen_hash(self, f):
+ f.write("# From %s\n" % self.hash_url)
+ f.write("sha256 %s %s\n" % (self.sha256, os.path.basename(self.tarball_url)))
+
+ def gen_test(self, f):
+ if self.variant == "stable":
+ variant = "Stable"
+ else:
+ variant = "BleedingEdge"
+ testname = "TestExternalToolchainBootlin" + \
+ self.arch.replace("-", "").capitalize() + \
+ self.libc.capitalize() + variant
+ f.write("\n\n")
+ f.write("class %s(TestExternalToolchain):\n" % testname)
+ f.write(" config = \"\"\"\n")
+ if 'test_options' in arches[self.arch]:
+ test_options = arches[self.arch]['test_options']
+ else:
+ test_options = arches[self.arch]['conditions']
+ for opt in test_options:
+ if opt.startswith("!"):
+ f.write(" # %s is not set\n" % opt[1:])
+ else:
+ f.write(" %s=y\n" % opt)
+ f.write(" BR2_TOOLCHAIN_EXTERNAL=y\n")
+ f.write(" BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y\n")
+ f.write(" %s=y\n" % self.option_name)
+ f.write(" # BR2_TARGET_ROOTFS_TAR is not set\n")
+ f.write(" \"\"\"\n")
+ f.write(" toolchain_prefix = \"%s-linux\"\n" % arches[self.arch]['prefix'])
+ f.write("\n")
+ f.write(" def test_run(self):\n")
+ f.write(" TestExternalToolchain.common_check(self)\n")
+
+ def __repr__(self):
+ return "Toolchain(arch=%s libc=%s variant=%s version=%s, option=%s)" % \
+ (self.arch, self.libc, self.variant, self.version, self.option_name)
+
+
+def get_toolchains():
+ toolchains = list()
+ for arch, details in arches.items():
+ print(arch)
+ url = os.path.join(BASE_URL, arch, "available_toolchains")
+ page = requests.get(url).text
+ fnames = sorted(re.findall(r'<td><a href="(\w[^"]+)"', page))
+ # This dict will allow us to keep only the latest version for
+ # each toolchain.
+ tmp = dict()
+ for fname in fnames:
+ parts = fname.split('--')
+ assert parts[0] == arch, "Arch does not match: %s vs. %s" % (parts[0], arch)
+ libc = parts[1]
+ if parts[2].startswith("stable-"):
+ variant = "stable"
+ version = parts[2][len("stable-"):]
+ elif parts[2].startswith("bleeding-edge-"):
+ variant = "bleeding-edge"
+ version = parts[2][len("bleeding-edge-"):]
+ tmp[(arch, libc, variant)] = version
+
+ toolchains += [Toolchain(k[0], k[1], k[2], v) for k, v in tmp.items()]
+
+ return toolchains
+
+
+def gen_config_in_options(toolchains, fpath):
+ with open(fpath, "w") as f:
+ f.write(AUTOGENERATED_COMMENT)
+
+ f.write("config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCH_SUPPORTS\n")
+ f.write("\tbool\n")
+ for arch, details in arches.items():
+ f.write("\tdefault y if %s\n" % " && ".join(details['conditions']))
+ f.write("\n")
+
+ f.write("if BR2_TOOLCHAIN_EXTERNAL_BOOTLIN\n\n")
+
+ f.write("config BR2_TOOLCHAIN_EXTERNAL_PREFIX\n")
+ f.write("\tdefault \"$(ARCH)-linux\"\n")
+
+ f.write("\n")
+
+ f.write("config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL\n")
+ f.write("\tdefault \"toolchain-external-bootlin\"\n")
+
+ f.write("\n")
+
+ f.write("choice\n")
+ f.write("\tprompt \"Bootlin toolchain variant\"\n")
+
+ for toolchain in toolchains:
+ toolchain.gen_config_in_options(f)
+
+ f.write("endchoice\n")
+ f.write("endif\n")
+
+
+def gen_mk(toolchains, fpath):
+ with open(fpath, "w") as f:
+ f.write("#" * 80 + "\n")
+ f.write("#\n")
+ f.write("# toolchain-external-bootlin\n")
+ f.write("#\n")
+ f.write("#" * 80 + "\n")
+ f.write("\n")
+ f.write(AUTOGENERATED_COMMENT)
+ for toolchain in toolchains:
+ toolchain.gen_mk(f)
+ f.write("$(eval $(toolchain-external-package))\n")
+
+
+def gen_hash(toolchains, fpath):
+ with open(fpath, "w") as f:
+ f.write(AUTOGENERATED_COMMENT)
+ for toolchain in toolchains:
+ toolchain.gen_hash(f)
+
+
+def gen_runtime_test(toolchains, fpath):
+ with open(fpath, "w") as f:
+ f.write(AUTOGENERATED_COMMENT)
+ f.write("from tests.toolchain.test_external import TestExternalToolchain\n")
+ for toolchain in toolchains:
+ toolchain.gen_test(f)
+
+
+def gen_toolchains(toolchains):
+ maindir = "toolchain/toolchain-external/toolchain-external-bootlin"
+ gen_config_in_options(toolchains, os.path.join(maindir, "Config.in.options"))
+ gen_mk(toolchains, os.path.join(maindir, "toolchain-external-bootlin.mk"))
+ gen_hash(toolchains, os.path.join(maindir, "toolchain-external-bootlin.hash"))
+ gen_runtime_test(toolchains,
+ os.path.join("support", "testing", "tests", "toolchain", "test_external_bootlin.py"))
+
+
+toolchains = get_toolchains()
+gen_toolchains(toolchains)
diff --git a/support/scripts/pkg-stats b/support/scripts/pkg-stats
index e642147b98..fceb28839b 100755
--- a/support/scripts/pkg-stats
+++ b/support/scripts/pkg-stats
@@ -27,18 +27,14 @@ import re
import subprocess
import requests # NVD database download
import json
-import ijson
-import distutils.version
import time
-import gzip
import sys
sys.path.append('utils/')
from getdeveloperlib import parse_developers # noqa: E402
-NVD_START_YEAR = 2002
-NVD_JSON_VERSION = "1.0"
-NVD_BASE_URL = "https://nvd.nist.gov/feeds/json/cve/" + NVD_JSON_VERSION
+import cve as cvecheck
+
INFRA_RE = re.compile(r"\$\(eval \$\(([a-z-]*)-package\)\)")
URL_RE = re.compile(r"\s*https?://\S*\s*$")
@@ -48,10 +44,6 @@ RM_API_STATUS_FOUND_BY_DISTRO = 2
RM_API_STATUS_FOUND_BY_PATTERN = 3
RM_API_STATUS_NOT_FOUND = 4
-CVE_AFFECTS = 1
-CVE_DOESNT_AFFECT = 2
-CVE_UNKNOWN = 3
-
class Defconfig:
def __init__(self, name, path):
@@ -244,11 +236,12 @@ class Package:
self.status['pkg-check'] = ("error", "{} warnings".format(self.warnings))
return
- def is_cve_ignored(self, cve):
+ @property
+ def ignored_cves(self):
"""
- Tells if the CVE is ignored by the package
+ Give the list of CVEs ignored by the package
"""
- return cve in self.all_ignored_cves.get(self.pkgvar(), [])
+ return list(self.all_ignored_cves.get(self.pkgvar(), []))
def set_developers(self, developers):
"""
@@ -280,120 +273,6 @@ class Package:
self.is_status_ok('license-files'), self.status['hash'], self.patch_count)
-class CVE:
- """An accessor class for CVE Items in NVD files"""
- def __init__(self, nvd_cve):
- """Initialize a CVE from its NVD JSON representation"""
- self.nvd_cve = nvd_cve
-
- @staticmethod
- def download_nvd_year(nvd_path, year):
- metaf = "nvdcve-%s-%s.meta" % (NVD_JSON_VERSION, year)
- path_metaf = os.path.join(nvd_path, metaf)
- jsonf_gz = "nvdcve-%s-%s.json.gz" % (NVD_JSON_VERSION, year)
- path_jsonf_gz = os.path.join(nvd_path, jsonf_gz)
-
- # If the database file is less than a day old, we assume the NVD data
- # locally available is recent enough.
- if os.path.exists(path_jsonf_gz) and os.stat(path_jsonf_gz).st_mtime >= time.time() - 86400:
- return path_jsonf_gz
-
- # If not, we download the meta file
- url = "%s/%s" % (NVD_BASE_URL, metaf)
- print("Getting %s" % url)
- page_meta = requests.get(url)
- page_meta.raise_for_status()
-
- # If the meta file already existed, we compare the existing
- # one with the data newly downloaded. If they are different,
- # we need to re-download the database.
- # If the database does not exist locally, we need to redownload it in
- # any case.
- if os.path.exists(path_metaf) and os.path.exists(path_jsonf_gz):
- meta_known = open(path_metaf, "r").read()
- if page_meta.text == meta_known:
- return path_jsonf_gz
-
- # Grab the compressed JSON NVD, and write files to disk
- url = "%s/%s" % (NVD_BASE_URL, jsonf_gz)
- print("Getting %s" % url)
- page_json = requests.get(url)
- page_json.raise_for_status()
- open(path_jsonf_gz, "wb").write(page_json.content)
- open(path_metaf, "w").write(page_meta.text)
- return path_jsonf_gz
-
- @classmethod
- def read_nvd_dir(cls, nvd_dir):
- """
- Iterate over all the CVEs contained in NIST Vulnerability Database
- feeds since NVD_START_YEAR. If the files are missing or outdated in
- nvd_dir, a fresh copy will be downloaded, and kept in .json.gz
- """
- for year in range(NVD_START_YEAR, datetime.datetime.now().year + 1):
- filename = CVE.download_nvd_year(nvd_dir, year)
- try:
- content = ijson.items(gzip.GzipFile(filename), 'CVE_Items.item')
- except: # noqa: E722
- print("ERROR: cannot read %s. Please remove the file then rerun this script" % filename)
- raise
- for cve in content:
- yield cls(cve['cve'])
-
- def each_product(self):
- """Iterate over each product section of this cve"""
- for vendor in self.nvd_cve['affects']['vendor']['vendor_data']:
- for product in vendor['product']['product_data']:
- yield product
-
- @property
- def identifier(self):
- """The CVE unique identifier"""
- return self.nvd_cve['CVE_data_meta']['ID']
-
- @property
- def pkg_names(self):
- """The set of package names referred by this CVE definition"""
- return set(p['product_name'] for p in self.each_product())
-
- def affects(self, br_pkg):
- """
- True if the Buildroot Package object passed as argument is affected
- by this CVE.
- """
- if br_pkg.is_cve_ignored(self.identifier):
- return CVE_DOESNT_AFFECT
-
- for product in self.each_product():
- if product['product_name'] != br_pkg.name:
- continue
-
- for v in product['version']['version_data']:
- if v["version_affected"] == "=":
- if br_pkg.current_version == v["version_value"]:
- return CVE_AFFECTS
- elif v["version_affected"] == "<=":
- pkg_version = distutils.version.LooseVersion(br_pkg.current_version)
- if not hasattr(pkg_version, "version"):
- print("Cannot parse package '%s' version '%s'" % (br_pkg.name, br_pkg.current_version))
- continue
- cve_affected_version = distutils.version.LooseVersion(v["version_value"])
- if not hasattr(cve_affected_version, "version"):
- print("Cannot parse CVE affected version '%s'" % v["version_value"])
- continue
- try:
- affected = pkg_version <= cve_affected_version
- except TypeError:
- return CVE_UNKNOWN
- if affected:
- return CVE_AFFECTS
- else:
- return CVE_DOESNT_AFFECT
- else:
- print("version_affected: %s" % v['version_affected'])
- return CVE_DOESNT_AFFECT
-
-
def get_pkglist(npackages, package_list):
"""
Builds the list of Buildroot packages, returning a list of Package
@@ -417,7 +296,6 @@ def get_pkglist(npackages, package_list):
"package/x11r7/x11r7.mk",
"package/doc-asciidoc.mk",
"package/pkg-.*.mk",
- "package/nvidia-tegra23/nvidia-tegra23.mk",
"toolchain/toolchain-external/pkg-toolchain-external.mk",
"toolchain/toolchain-external/toolchain-external.mk",
"toolchain/toolchain.mk",
@@ -656,11 +534,12 @@ def check_package_cves(nvd_path, packages):
if not os.path.isdir(nvd_path):
os.makedirs(nvd_path)
- for cve in CVE.read_nvd_dir(nvd_path):
+ for cve in cvecheck.CVE.read_nvd_dir(nvd_path):
for pkg_name in cve.pkg_names:
- if pkg_name in packages and cve.affects(packages[pkg_name]) == CVE_AFFECTS:
- packages[pkg_name].cves.append(cve.identifier)
-
+ if pkg_name in packages:
+ pkg = packages[pkg_name]
+ if cve.affects(pkg.name, pkg.current_version, pkg.ignored_cves) == cve.CVE_AFFECTS :
+ pkg.cves.append(cve.identifier)
def calculate_stats(packages):
stats = defaultdict(int)
diff --git a/support/testing/tests/toolchain/test_external.py b/support/testing/tests/toolchain/test_external.py
index 881d2b00db..db62a84391 100644
--- a/support/testing/tests/toolchain/test_external.py
+++ b/support/testing/tests/toolchain/test_external.py
@@ -26,11 +26,15 @@ class TestExternalToolchain(infra.basetest.BRTest):
path = os.path.join(self.builddir, "target", d)
self.assertFalse(has_broken_links(path))
- interp = infra.get_elf_prog_interpreter(self.builddir,
- self.toolchain_prefix,
- "bin/busybox")
- interp_path = os.path.join(self.builddir, "target", interp[1:])
- self.assertTrue(os.path.exists(interp_path))
+ with open(os.path.join(self.builddir, ".config"), 'r') as configf:
+ configlines = [l.strip() for l in configf.readlines()]
+
+ if "BR2_BINFMT_ELF=y" in configlines:
+ interp = infra.get_elf_prog_interpreter(self.builddir,
+ self.toolchain_prefix,
+ "bin/busybox")
+ interp_path = os.path.join(self.builddir, "target", interp[1:])
+ self.assertTrue(os.path.exists(interp_path))
class TestExternalToolchainSourceryArmv4(TestExternalToolchain):
diff --git a/support/testing/tests/toolchain/test_external_bootlin.py b/support/testing/tests/toolchain/test_external_bootlin.py
new file mode 100644
index 0000000000..9f0df9788b
--- /dev/null
+++ b/support/testing/tests/toolchain/test_external_bootlin.py
@@ -0,0 +1,2354 @@
+# This file was auto-generated by support/scripts/gen-bootlin-toolchains
+# Do not edit
+from tests.toolchain.test_external import TestExternalToolchain
+
+
+class TestExternalToolchainBootlinAarch64GlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_aarch64=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "aarch64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinAarch64GlibcStable(TestExternalToolchain):
+ config = """
+ BR2_aarch64=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "aarch64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinAarch64MuslBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_aarch64=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_MUSL_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "aarch64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinAarch64MuslStable(TestExternalToolchain):
+ config = """
+ BR2_aarch64=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_MUSL_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "aarch64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinAarch64UclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_aarch64=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "aarch64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinAarch64UclibcStable(TestExternalToolchain):
+ config = """
+ BR2_aarch64=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "aarch64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinAarch64beGlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_aarch64_be=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "aarch64_be-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinAarch64beGlibcStable(TestExternalToolchain):
+ config = """
+ BR2_aarch64_be=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "aarch64_be-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinAarch64beUclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_aarch64_be=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "aarch64_be-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinAarch64beUclibcStable(TestExternalToolchain):
+ config = """
+ BR2_aarch64_be=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "aarch64_be-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArcle750dUclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_arcle=y
+ BR2_arc750d=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_750D_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arc-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArcle750dUclibcStable(TestExternalToolchain):
+ config = """
+ BR2_arcle=y
+ BR2_arc750d=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_750D_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arc-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArclehs38GlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_arcle=y
+ BR2_archs38=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arc-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArclehs38GlibcStable(TestExternalToolchain):
+ config = """
+ BR2_arcle=y
+ BR2_archs38=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arc-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArclehs38UclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_arcle=y
+ BR2_archs38=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arc-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArclehs38UclibcStable(TestExternalToolchain):
+ config = """
+ BR2_arcle=y
+ BR2_archs38=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arc-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv5eabiGlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_arm=y
+ BR2_arm926t=y
+ BR2_ARM_EABI=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arm-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv5eabiGlibcStable(TestExternalToolchain):
+ config = """
+ BR2_arm=y
+ BR2_arm926t=y
+ BR2_ARM_EABI=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arm-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv5eabiMuslBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_arm=y
+ BR2_arm926t=y
+ BR2_ARM_EABI=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_MUSL_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arm-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv5eabiMuslStable(TestExternalToolchain):
+ config = """
+ BR2_arm=y
+ BR2_arm926t=y
+ BR2_ARM_EABI=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_MUSL_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arm-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv5eabiUclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_arm=y
+ BR2_arm926t=y
+ BR2_ARM_EABI=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arm-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv5eabiUclibcStable(TestExternalToolchain):
+ config = """
+ BR2_arm=y
+ BR2_arm926t=y
+ BR2_ARM_EABI=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arm-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv6eabihfGlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_arm=y
+ BR2_arm1176jzf_s=y
+ BR2_ARM_EABIHF=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arm-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv6eabihfGlibcStable(TestExternalToolchain):
+ config = """
+ BR2_arm=y
+ BR2_arm1176jzf_s=y
+ BR2_ARM_EABIHF=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arm-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv6eabihfMuslBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_arm=y
+ BR2_arm1176jzf_s=y
+ BR2_ARM_EABIHF=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_MUSL_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arm-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv6eabihfMuslStable(TestExternalToolchain):
+ config = """
+ BR2_arm=y
+ BR2_arm1176jzf_s=y
+ BR2_ARM_EABIHF=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_MUSL_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arm-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv6eabihfUclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_arm=y
+ BR2_arm1176jzf_s=y
+ BR2_ARM_EABIHF=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arm-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv6eabihfUclibcStable(TestExternalToolchain):
+ config = """
+ BR2_arm=y
+ BR2_arm1176jzf_s=y
+ BR2_ARM_EABIHF=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arm-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv7eabihfGlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_arm=y
+ BR2_cortex_a8=y
+ BR2_ARM_EABIHF=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arm-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv7eabihfGlibcStable(TestExternalToolchain):
+ config = """
+ BR2_arm=y
+ BR2_cortex_a8=y
+ BR2_ARM_EABIHF=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arm-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv7eabihfMuslBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_arm=y
+ BR2_cortex_a8=y
+ BR2_ARM_EABIHF=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arm-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv7eabihfMuslStable(TestExternalToolchain):
+ config = """
+ BR2_arm=y
+ BR2_cortex_a8=y
+ BR2_ARM_EABIHF=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arm-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv7eabihfUclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_arm=y
+ BR2_cortex_a8=y
+ BR2_ARM_EABIHF=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arm-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv7eabihfUclibcStable(TestExternalToolchain):
+ config = """
+ BR2_arm=y
+ BR2_cortex_a8=y
+ BR2_ARM_EABIHF=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arm-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv7mUclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_arm=y
+ BR2_cortex_m4=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arm-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv7mUclibcStable(TestExternalToolchain):
+ config = """
+ BR2_arm=y
+ BR2_cortex_m4=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "arm-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinM68k68xxxUclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_m68k=y
+ BR2_m68k_68040=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "m68k-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinM68k68xxxUclibcStable(TestExternalToolchain):
+ config = """
+ BR2_m68k=y
+ BR2_m68k_68040=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "m68k-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinM68kcoldfireUclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_m68k=y
+ BR2_m68k_cf5208=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_COLDFIRE_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "m68k-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinM68kcoldfireUclibcStable(TestExternalToolchain):
+ config = """
+ BR2_m68k=y
+ BR2_m68k_cf5208=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_COLDFIRE_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "m68k-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazebeGlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_microblazebe=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "microblaze-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazebeGlibcStable(TestExternalToolchain):
+ config = """
+ BR2_microblazebe=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "microblaze-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazebeMuslBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_microblazebe=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_MUSL_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "microblaze-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazebeMuslStable(TestExternalToolchain):
+ config = """
+ BR2_microblazebe=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_MUSL_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "microblaze-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazebeUclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_microblazebe=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "microblaze-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazebeUclibcStable(TestExternalToolchain):
+ config = """
+ BR2_microblazebe=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "microblaze-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazeelGlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_microblazeel=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "microblazeel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazeelGlibcStable(TestExternalToolchain):
+ config = """
+ BR2_microblazeel=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "microblazeel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazeelMuslBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_microblazeel=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_MUSL_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "microblazeel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazeelMuslStable(TestExternalToolchain):
+ config = """
+ BR2_microblazeel=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_MUSL_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "microblazeel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazeelUclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_microblazeel=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "microblazeel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazeelUclibcStable(TestExternalToolchain):
+ config = """
+ BR2_microblazeel=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "microblazeel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32GlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_mips=y
+ BR2_mips_32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32GlibcStable(TestExternalToolchain):
+ config = """
+ BR2_mips=y
+ BR2_mips_32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32MuslBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_mips=y
+ BR2_mips_32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_MUSL_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32MuslStable(TestExternalToolchain):
+ config = """
+ BR2_mips=y
+ BR2_mips_32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_MUSL_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32UclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_mips=y
+ BR2_mips_32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32UclibcStable(TestExternalToolchain):
+ config = """
+ BR2_mips=y
+ BR2_mips_32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32elGlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_mipsel=y
+ BR2_mips_32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mipsel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32elGlibcStable(TestExternalToolchain):
+ config = """
+ BR2_mipsel=y
+ BR2_mips_32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mipsel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32elMuslBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_mipsel=y
+ BR2_mips_32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_MUSL_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mipsel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32elMuslStable(TestExternalToolchain):
+ config = """
+ BR2_mipsel=y
+ BR2_mips_32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_MUSL_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mipsel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32elUclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_mipsel=y
+ BR2_mips_32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mipsel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32elUclibcStable(TestExternalToolchain):
+ config = """
+ BR2_mipsel=y
+ BR2_mips_32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mipsel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r5elGlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_mipsel=y
+ BR2_mips_32r5=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mipsel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r5elGlibcStable(TestExternalToolchain):
+ config = """
+ BR2_mipsel=y
+ BR2_mips_32r5=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mipsel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r5elMuslBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_mipsel=y
+ BR2_mips_32r5=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_MUSL_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mipsel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r5elMuslStable(TestExternalToolchain):
+ config = """
+ BR2_mipsel=y
+ BR2_mips_32r5=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_MUSL_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mipsel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r5elUclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_mipsel=y
+ BR2_mips_32r5=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mipsel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r5elUclibcStable(TestExternalToolchain):
+ config = """
+ BR2_mipsel=y
+ BR2_mips_32r5=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mipsel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r6elGlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_mipsel=y
+ BR2_mips_32r6=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mipsel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r6elGlibcStable(TestExternalToolchain):
+ config = """
+ BR2_mipsel=y
+ BR2_mips_32r6=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mipsel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r6elMuslBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_mipsel=y
+ BR2_mips_32r6=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_MUSL_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mipsel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r6elMuslStable(TestExternalToolchain):
+ config = """
+ BR2_mipsel=y
+ BR2_mips_32r6=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_MUSL_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mipsel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r6elUclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_mipsel=y
+ BR2_mips_32r6=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mipsel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r6elUclibcStable(TestExternalToolchain):
+ config = """
+ BR2_mipsel=y
+ BR2_mips_32r6=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mipsel-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64n32GlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_mips64=y
+ BR2_mips_64=y
+ BR2_MIPS_NABI32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64n32GlibcStable(TestExternalToolchain):
+ config = """
+ BR2_mips64=y
+ BR2_mips_64=y
+ BR2_MIPS_NABI32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64n32MuslBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_mips64=y
+ BR2_mips_64=y
+ BR2_MIPS_NABI32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_MUSL_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64n32MuslStable(TestExternalToolchain):
+ config = """
+ BR2_mips64=y
+ BR2_mips_64=y
+ BR2_MIPS_NABI32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_MUSL_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64n32UclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_mips64=y
+ BR2_mips_64=y
+ BR2_MIPS_NABI32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64n32UclibcStable(TestExternalToolchain):
+ config = """
+ BR2_mips64=y
+ BR2_mips_64=y
+ BR2_MIPS_NABI32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64eln32GlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_mips64el=y
+ BR2_mips_64=y
+ BR2_MIPS_NABI32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips64el-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64eln32GlibcStable(TestExternalToolchain):
+ config = """
+ BR2_mips64el=y
+ BR2_mips_64=y
+ BR2_MIPS_NABI32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips64el-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64eln32MuslBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_mips64el=y
+ BR2_mips_64=y
+ BR2_MIPS_NABI32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_MUSL_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips64el-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64eln32MuslStable(TestExternalToolchain):
+ config = """
+ BR2_mips64el=y
+ BR2_mips_64=y
+ BR2_MIPS_NABI32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_MUSL_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips64el-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64eln32UclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_mips64el=y
+ BR2_mips_64=y
+ BR2_MIPS_NABI32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips64el-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64eln32UclibcStable(TestExternalToolchain):
+ config = """
+ BR2_mips64el=y
+ BR2_mips_64=y
+ BR2_MIPS_NABI32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips64el-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64r6eln32GlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_mips64el=y
+ BR2_mips_64r6=y
+ BR2_MIPS_NABI32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips64el-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64r6eln32GlibcStable(TestExternalToolchain):
+ config = """
+ BR2_mips64el=y
+ BR2_mips_64r6=y
+ BR2_MIPS_NABI32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips64el-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64r6eln32MuslBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_mips64el=y
+ BR2_mips_64r6=y
+ BR2_MIPS_NABI32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_MUSL_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips64el-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64r6eln32MuslStable(TestExternalToolchain):
+ config = """
+ BR2_mips64el=y
+ BR2_mips_64r6=y
+ BR2_MIPS_NABI32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_MUSL_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips64el-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64r6eln32UclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_mips64el=y
+ BR2_mips_64r6=y
+ BR2_MIPS_NABI32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips64el-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64r6eln32UclibcStable(TestExternalToolchain):
+ config = """
+ BR2_mips64el=y
+ BR2_mips_64r6=y
+ BR2_MIPS_NABI32=y
+ # BR2_MIPS_SOFT_FLOAT is not set
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "mips64el-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinNios2GlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_nios2=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "nios2-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinNios2GlibcStable(TestExternalToolchain):
+ config = """
+ BR2_nios2=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "nios2-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinOpenriscMuslBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_or1k=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_MUSL_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "or1k-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinOpenriscMuslStable(TestExternalToolchain):
+ config = """
+ BR2_or1k=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_MUSL_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "or1k-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinOpenriscUclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_or1k=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "or1k-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinOpenriscUclibcStable(TestExternalToolchain):
+ config = """
+ BR2_or1k=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "or1k-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpce500mcGlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_powerpc=y
+ BR2_powerpc_e500mc=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "powerpc-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpce500mcGlibcStable(TestExternalToolchain):
+ config = """
+ BR2_powerpc=y
+ BR2_powerpc_e500mc=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "powerpc-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpce500mcMuslBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_powerpc=y
+ BR2_powerpc_e500mc=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_MUSL_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "powerpc-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpce500mcMuslStable(TestExternalToolchain):
+ config = """
+ BR2_powerpc=y
+ BR2_powerpc_e500mc=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_MUSL_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "powerpc-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpce500mcUclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_powerpc=y
+ BR2_powerpc_e500mc=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "powerpc-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpce500mcUclibcStable(TestExternalToolchain):
+ config = """
+ BR2_powerpc=y
+ BR2_powerpc_e500mc=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "powerpc-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpc64e5500GlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_powerpc64=y
+ BR2_powerpc_e5500=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E5500_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "powerpc64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpc64e5500GlibcStable(TestExternalToolchain):
+ config = """
+ BR2_powerpc64=y
+ BR2_powerpc_e5500=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E5500_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "powerpc64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpc64power8GlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_powerpc64=y
+ BR2_powerpc_power8=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "powerpc64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpc64power8GlibcStable(TestExternalToolchain):
+ config = """
+ BR2_powerpc64=y
+ BR2_powerpc_power8=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "powerpc64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpc64power8MuslBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_powerpc64=y
+ BR2_powerpc_power8=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_MUSL_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "powerpc64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpc64power8MuslStable(TestExternalToolchain):
+ config = """
+ BR2_powerpc64=y
+ BR2_powerpc_power8=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_MUSL_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "powerpc64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpc64lepower8GlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_powerpc64le=y
+ BR2_powerpc_power8=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "powerpc64le-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpc64lepower8GlibcStable(TestExternalToolchain):
+ config = """
+ BR2_powerpc64le=y
+ BR2_powerpc_power8=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "powerpc64le-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpc64lepower8MuslBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_powerpc64le=y
+ BR2_powerpc_power8=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_MUSL_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "powerpc64le-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpc64lepower8MuslStable(TestExternalToolchain):
+ config = """
+ BR2_powerpc64le=y
+ BR2_powerpc_power8=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_MUSL_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "powerpc64le-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinRiscv32ilp32dGlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_riscv=y
+ BR2_riscv_g=y
+ BR2_RISCV_32=y
+ BR2_RISCV_ABI_ILP32D=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV32_ILP32D_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "riscv32-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinRiscv64GlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_riscv=y
+ BR2_riscv_g=y
+ BR2_RISCV_64=y
+ BR2_RISCV_ABI_LP64=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "riscv64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinRiscv64MuslBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_riscv=y
+ BR2_riscv_g=y
+ BR2_RISCV_64=y
+ BR2_RISCV_ABI_LP64=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_MUSL_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "riscv64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinShsh4GlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_sh=y
+ BR2_sh4=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "sh4-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinShsh4GlibcStable(TestExternalToolchain):
+ config = """
+ BR2_sh=y
+ BR2_sh4=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "sh4-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinShsh4MuslBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_sh=y
+ BR2_sh4=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_MUSL_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "sh4-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinShsh4MuslStable(TestExternalToolchain):
+ config = """
+ BR2_sh=y
+ BR2_sh4=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_MUSL_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "sh4-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinShsh4UclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_sh=y
+ BR2_sh4=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "sh4-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinShsh4UclibcStable(TestExternalToolchain):
+ config = """
+ BR2_sh=y
+ BR2_sh4=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "sh4-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinShsh4aebGlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_sh=y
+ BR2_sh4aeb=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "sh4aeb-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinShsh4aebGlibcStable(TestExternalToolchain):
+ config = """
+ BR2_sh=y
+ BR2_sh4aeb=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "sh4aeb-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinShsh4aebMuslBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_sh=y
+ BR2_sh4aeb=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_MUSL_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "sh4aeb-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinShsh4aebMuslStable(TestExternalToolchain):
+ config = """
+ BR2_sh=y
+ BR2_sh4aeb=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_MUSL_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "sh4aeb-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinSparc64GlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_sparc64=y
+ BR2_sparc_v9=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARC64_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "sparc64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinSparc64GlibcStable(TestExternalToolchain):
+ config = """
+ BR2_sparc64=y
+ BR2_sparc_v9=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARC64_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "sparc64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinSparcv8UclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_sparc=y
+ BR2_sparc_v8=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARCV8_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "sparc-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinSparcv8UclibcStable(TestExternalToolchain):
+ config = """
+ BR2_sparc=y
+ BR2_sparc_v8=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARCV8_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "sparc-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX8664corei7GlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_x86_64=y
+ BR2_x86_corei7=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "x86_64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX8664corei7GlibcStable(TestExternalToolchain):
+ config = """
+ BR2_x86_64=y
+ BR2_x86_corei7=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "x86_64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX8664corei7MuslBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_x86_64=y
+ BR2_x86_corei7=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_MUSL_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "x86_64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX8664corei7MuslStable(TestExternalToolchain):
+ config = """
+ BR2_x86_64=y
+ BR2_x86_corei7=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_MUSL_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "x86_64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX8664corei7UclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_x86_64=y
+ BR2_x86_corei7=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "x86_64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX8664corei7UclibcStable(TestExternalToolchain):
+ config = """
+ BR2_x86_64=y
+ BR2_x86_corei7=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "x86_64-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX86core2GlibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_i386=y
+ BR2_x86_core2=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_GLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "i686-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX86core2GlibcStable(TestExternalToolchain):
+ config = """
+ BR2_i386=y
+ BR2_x86_core2=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_GLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "i686-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX86core2MuslBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_i386=y
+ BR2_x86_core2=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_MUSL_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "i686-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX86core2MuslStable(TestExternalToolchain):
+ config = """
+ BR2_i386=y
+ BR2_x86_core2=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_MUSL_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "i686-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX86core2UclibcBleedingEdge(TestExternalToolchain):
+ config = """
+ BR2_i386=y
+ BR2_x86_core2=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_UCLIBC_BLEEDING_EDGE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "i686-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX86core2UclibcStable(TestExternalToolchain):
+ config = """
+ BR2_i386=y
+ BR2_x86_core2=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_UCLIBC_STABLE=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+ toolchain_prefix = "i686-linux"
+
+ def test_run(self):
+ TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX86i686GlibcBleedingEdge(TestExternalToolchain):
+ confi