+2020.11-rc2, released November 14th, 2020
+
+ Fixes all over the tree.
+
+ cve-checker script dropped. Instead the pkg-stats logic has
+ been extended to be able to only generate stats for the
+ configured packages using 'make pkg-stats'
+
+ Removed defconfigs: rock64
+
+ Updated/fixed packages: apparmor, asterisk, bitcoin, busybox,
+ cups-filters, cryptsetup, davfs2, domoticz, elf2flt, freetype,
+ ghostscript, glmark2, go, gst1-plugins-bad, guile, jsoncpp,
+ libcap, libexif, libnetfilter_conntrack, libpam-tacplus,
+ libsigrokdecode, linux-backports, linux-firmware, mesa3d,
+ modem-manager, mp4v2, oniguruma, openntpd, python3,
+ python-lmdb, python-m2crypto, rauc, s390-tools, slirp,
+ stress-ng, suricata, systemd, tcpdump, tmux, tor, webkitgtk,
+ wireguard-linux-compat, wpewebkit, xen
+
+ Issues resolved (http://bugs.uclibc.org):
+
+ #13281: Raspberry Pi 2: overlays folder missing in genimage-ra..
+ #13291: BR2_DL_DIR is ignored when creating defconfig
+ #13306: wpewebkit build problem in 2020-11-rc1
+
2020.11-rc1, released November 4th, 2020
Fixes all over the tree and new features.
#13236: Can't compile linux 5.4.8 (with gcc 10 on host)
#13286: The system hangs in vmware workstation on the line..
+2020.08.2, released November 16th, 2020
+
+ Important / security related fixes.
+
+ Toolchain-wrapper: Pass -fno-tree-loop-distribute-patterns to
+ fix kernel build on microblaze with gcc 10.x when
+ optimizations are enabled.
+
+ Updated/fixed packages: apparmor, argp-standalone, asterisk,
+ bandwidthd, binutils, bitcoin, busybox, collectd, cryptsetup,
+ cups-filters, darkhttpd, davfs2, docker-cli,
+ docker-containerd, docker-engine, dovecot-pigeonhole,
+ dvb-apps, elf2flt, fastd, fbset, fbtft, freetype, gcc,
+ ghostscript, grpc, gst1-plugins-bad, jsoncpp,
+ kernel-module-imx-gpu-viv, keepalived, kmscube, libass,
+ libexif, libiqrf, libnetfilter_conntrack, libpam-tacplus,
+ libraw, linux-backports, linux-firmware, lzlib, mp4v2,
+ netsnmp, nginx, numactl, oniguruma, opencv3, openntpd,
+ patchelf, php, pistache, postgresql, python-pyqt5, qemu,
+ qt5base, rauc, redis, samba4, slirp, systemd, tcpdump,
+ tinyproxy, tmux, tor, waf, webkitgtk, wine,
+ wireguard-linux-compat, wireshark, wpewebkit, xen, xorriso,
+ xvisor, zeromq, zxing-cpp
+
+ Issues resolved (http://bugs.uclibc.org):
+
+ #11931: Bugs in support/scripts/apply-patches.sh
+
2020.08.1, released October 12th, 2020
Important / security related fixes.
#12796: Update OpenSSL to Version 1.1.1g to patch CVE-2020-1967
#12811: bootstrap stuck and no login prompt
+2020.02.8, released November 16th, 2020
+
+ Important / security related fixes.
+
+ Updated/fixed packages: angularjs, argp-standalone, asterisk,
+ bandwidthd, bitcoin, busybox, cryptsetup, darkhttpd, davfs2,
+ docker-cli, docker-containerd, docker-engine,
+ dovecot-pigeonhole, fastd, fbset, fbtft, freetype, gcc,
+ ghostscript, gnuradio, grpc, gst1-plugins-bad, jsoncpp,
+ keepalived, libass, libexif, libiqrf, libpam-tacplus, libraw,
+ linux-backports, linux-firmware, lzlib, netsnmp, nginx,
+ oniguruma, opencv3, openntpd, patchelf, php, postgresql,
+ python-pyqt5, qt5base, rauc, redis, samba4, slirp, systemd,
+ tcpdump, tmux, tor, webkitgtk, wireguard-linux-compat,
+ wireshark, wpewebkit, xen, xorriso, zeromq, zxing-cpp
+
+ Issues resolved (http://bugs.uclibc.org):
+
+ #11931: Bugs in support/scripts/apply-patches.sh
+
2020.02.7, released October 12th, 2020
Important / security related fixes.
F: package/gnuplot/
F: package/libselinux/
F: package/refpolicy/
-F: package/wf111/
F: support/testing/tests/core/test_selinux/
F: support/testing/tests/core/test_selinux.py
F: support/testing/tests/init/test_systemd_selinux/
F: board/altera/socrates_cyclone5/
-F: board/pine64/rock64
-F: configs/rock64_defconfig
F: configs/socrates_cyclone5_defconfig
F: package/netifrc/
F: package/openrc/
F: support/testing/tests/package/test_crudini.py
F: support/testing/tests/package/test_redis.py
-F: package/libp11/
-
F: package/openjdk/
.PHONY: all
# Set and export the version string
-export BR2_VERSION := 2020.11-rc1
+export BR2_VERSION := 2020.11-rc2
# Actual time the release is cut (for reproducible builds)
-BR2_VERSION_EPOCH = 1604528000
+BR2_VERSION_EPOCH = 1605361000
# Save running make version since it's clobbered by the make package
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
) \
)
+.PHONY: pkg-stats
+pkg-stats:
+ @cd "$(CONFIG_DIR)" ; \
+ $(TOPDIR)/support/scripts/pkg-stats -c \
+ --json $(O)/pkg-stats.json \
+ --html $(O)/pkg-stats.html \
+ --nvd-path $(DL_DIR)/buildroot-nvd
+
else # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
# Some subdirectories are also package names. To avoid that "make linux"
@$(COMMON_CONFIG_ENV) $< \
--savedefconfig=$(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig) \
$(CONFIG_CONFIG_IN)
- @$(SED) '/^BR2_DEFCONFIG=/d' \
- -e '/^BR2_DL_DIR=/d' \
- $(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig)
+ @$(SED) '/^BR2_DEFCONFIG=/d' $(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig)
.PHONY: defconfig savedefconfig update-defconfig
@echo ' external-deps - list external packages used'
@echo ' legal-info - generate info about license compliance'
@echo ' show-info - generate info about packages, as a JSON blurb'
+ @echo ' pkg-stats - generate info about packages as JSON and HTML'
@echo ' printvars - dump internal variables selected with VARS=...'
@echo
@echo ' make V=0|1 - 0 => quiet build (default), 1 => verbose build'
+++ /dev/null
-label rock64-buildroot
- kernel /boot/Image
- devicetree /boot/rk3328-rock64.dtb
- append console=ttyS2,1500000n8 root=/dev/mmcblk0p1 ro rootwait
+++ /dev/null
-image sdcard.img {
- hdimage {
- }
-
- partition uboot-spl {
- in-partition-table = "no"
- image = "u-boot-tpl-spl.img"
- offset = 32768 # 512 * 0x40 from start of sd card
- }
-
- partition uboot {
- in-partition-table = "no"
- image = "u-boot.itb"
- offset = 262144 # 512 * 0x200 from start of sd card
- }
-
- partition rootfs {
- partition-type = 0x83
- bootable = "yes"
- image = "rootfs.ext2"
- size = 500M
- }
-}
+++ /dev/null
-From 211bf049084e6e374dac253138fa813682910146 Mon Sep 17 00:00:00 2001
-Date: Tue, 5 Feb 2019 22:08:54 +0100
-Subject: [PATCH] Makefile: rk3328 needs itb image to boot properly
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
----
- Makefile | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/Makefile b/Makefile
-index 8086f3c93e..a6425b5b03 100644
---- a/Makefile
-+++ b/Makefile
-@@ -799,6 +799,11 @@ ifneq ($(BUILD_ROM),)
- ALL-$(CONFIG_X86_RESET_VECTOR) += u-boot.rom
- endif
-
-+# rk3328 needs itb image to boot properly
-+ifeq ($(CONFIG_ROCKCHIP_RK3328),y)
-+ALL-y += u-boot.itb
-+endif
-+
- # enable combined SPL/u-boot/dtb rules for tegra
- ifeq ($(CONFIG_TEGRA)$(CONFIG_SPL),yy)
- ALL-y += u-boot-tegra.bin u-boot-nodtb-tegra.bin
---
-2.18.1
-
+++ /dev/null
-#!/bin/sh
-
-MKIMAGE=$HOST_DIR/bin/mkimage
-BOARD_DIR="$(dirname $0)"
-
-$MKIMAGE -n rk3328 -T rksd -d $BINARIES_DIR/u-boot-tpl.bin $BINARIES_DIR/u-boot-tpl.img
-cat $BINARIES_DIR/u-boot-tpl.img $BINARIES_DIR/u-boot-spl.bin > $BINARIES_DIR/u-boot-tpl-spl.img
-
-install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf
+++ /dev/null
-Intro
-=====
-
-This default configuration will allow you to start experimenting with the
-buildroot environment for the Rock64. With this default configuration you
-can log in into board via uart and look around.
-
-Board homepage: https://www.pine64.org/?page_id=7147
-
-Build
-=====
-
-First, load rock64 config for buildroot
-
- $ make rock64_defconfig
-
-Optionally make changes to buildroot config (to install more programs)
-
- $ make menuconfig
-
-And then build everything
-
- $ make
-
-When completed, following files will be generated in output/images directory:
-
- .
- ├── Image
- ├── bl31.bin
- ├── bl31.elf
- ├── rk3328-rock64.dtb
- ├── rootfs.ext2
- ├── rootfs.ext4 -> rootfs.ext2
- ├── rootfs.tar
- ├── sdcard.img
- ├── u-boot-spl.bin
- ├── u-boot-tpl-spl.img
- ├── u-boot-tpl.bin
- ├── u-boot-tpl.img
- ├── u-boot.bin
- └── u-boot.itb
-
-Creating bootable SD card
-=========================
-
-!!! THIS COMMAND MAY WIPE YOUR DISK!
-!!! MAKE SURE YOU PASSED CORRECT DEVICE!
-!!! OR IT THIS WILL WIPE YOUR DISK!
-
-Simply invoke (as root)
-
- # dd if=output/images/sdcard.img of=/dev/sdX && sync
-
-Where X is your SD card device (not partition), of= argument may also be
-/dev/mmcblk0 if you are using built-in sd card reader.
-
-Runtime
-=======
-
-Login
------
-
-By default, buildroot has no password, just type 'root' as login user, and
-you will be logged in.
-
-Serial console
---------------
-
-Serial console needs to be connected to pins (into 40pin rpi compatible part)
-
-pin 6: gnd
-pin 8: tx
-pin 10: rx
-
-Pin numbers are printed on board.
-
-Uart configuration is not standard. Rock64 uses 1500000 (1,5M) baudrate
-with standard 8n1.
-
-Ethernet
---------
-
-To enable ethernet you need to load modules for it:
-
-# modprobe stmmac
-# modprobe dwmac-rk
-
-and since by default there is no dhcp installed, you need to configure ip
-address, remember to change address to fit your network.
-
-# ifconfig eth0 up
-# ip addr add 10.1.1.180/24 dev eth0
-# ping 10.1.1.1
-PING 10.1.1.1 (10.1.1.1): 56 data bytes
-64 bytes from 10.1.1.1: seq=0 ttl=64 time=0.695 ms
--- /dev/null
+From 44e3424424b447b00fbe1f10ddba81b55817e970 Mon Sep 17 00:00:00 2001
+Date: Wed, 26 Dec 2018 00:00:40 +0000
+Subject: [PATCH] powerpc: Fix -mcpu= options for SPE-only compiler
+
+GCC for Debian's "powerpcspe" architecture only supports 32-bit
+SPE targets, and using -mcpu=powerpc or -mcpu=powerpc64 is a fatal
+error.
+
+* Change the test for a biarch compiler to pass both the -m32 and -m64
+ options, so that it doesn't catch 32-bit-only compilers
+* Add an ifdef CONFIG_PPC64 around the 64-bit CPU option definitions
+
+[Romain: Patch from Debian repository:
+https://salsa.debian.org/kernel-team/linux/-/blob/buster/debian/patches/bugfix/powerpc/powerpc-fix-mcpu-options-for-spe-only-compiler.patch]
+---
+ arch/powerpc/Makefile | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
+index 37ac731a556b..5211ea4f48b1 100644
+--- a/arch/powerpc/Makefile
++++ b/arch/powerpc/Makefile
+@@ -12,7 +12,7 @@
+ # Rewritten by Cort Dougan and Paul Mackerras
+ #
+
+-HAS_BIARCH := $(call cc-option-yn, -m32)
++HAS_BIARCH := $(call cc-option-yn, -m32 -m64)
+
+ # Set default 32 bits cross compilers for vdso and boot wrapper
+ CROSS32_COMPILE ?=
+@@ -166,6 +166,7 @@ CFLAGS-$(CONFIG_PPC32) += $(call cc-option, $(MULTIPLEWORD))
+
+ CFLAGS-$(CONFIG_PPC32) += $(call cc-option,-mno-readonly-in-sdata)
+
++ifdef CONFIG_PPC64
+ ifdef CONFIG_PPC_BOOK3S_64
+ ifdef CONFIG_CPU_LITTLE_ENDIAN
+ CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=power8
+@@ -177,6 +178,7 @@ endif
+ else
+ CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64
+ endif
++endif
+
+ ifdef CONFIG_FUNCTION_TRACER
+ CC_FLAGS_FTRACE := -pg
+--
+2.25.4
+
$(error No custom U-Boot repository URL specified. Check your BR2_TARGET_UBOOT_CUSTOM_REPO_URL setting)
endif # qstrip BR2_TARGET_UBOOT_CUSTOM_CUSTOM_REPO_URL
ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION)),)
-$(error No custom U-Boot repository URL specified. Check your BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION setting)
+$(error No custom U-Boot repository version specified. Check your BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION setting)
endif # qstrip BR2_TARGET_UBOOT_CUSTOM_CUSTOM_REPO_VERSION
endif # BR2_TARGET_UBOOT_CUSTOM_GIT || BR2_TARGET_UBOOT_CUSTOM_HG
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6sx-udoo-neo-basic imx6sx-udoo-neo-full imx6sx-udoo-neo-extended"
BR2_LINUX_KERNEL_INSTALL_TARGET=y
+BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
# required tools to create the SD card image
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-udoo imx6dl-udoo"
BR2_LINUX_KERNEL_INSTALL_TARGET=y
+BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
# required tools to create the SD card image
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.07"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_pc"
BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_PYTHON3=y
BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin"
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.10"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero_plus"
BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_PYTHON3=y
BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
# Image
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)"
-# Qemu >= 5.1 requires SD card size to be a power of 2, e.g. 64 MiB.
-BR2_TARGET_ROOTFS_EXT2_SIZE="64M"
# Linux headers same as kernel, a 5.4 series
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
# Image
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)"
+# Qemu >= 5.1 requires an SD card size to be a power of 2, e.g. 64 MiB.
+BR2_TARGET_ROOTFS_EXT2_SIZE="64M"
# Linux headers same as kernel, a 5.4 series
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
BR2_powerpc_8548=y
# System
+BR2_GLOBAL_PATCH_DIR="board/qemu/ppc-mpc8544ds/patches"
BR2_SYSTEM_DHCP="eth0"
# Filesystem
+++ /dev/null
-BR2_aarch64=y
-BR2_GLOBAL_PATCH_DIR="board/pine64/rock64/patches"
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
-BR2_TARGET_GENERIC_GETTY_PORT="ttyS2"
-BR2_ROOTFS_POST_BUILD_SCRIPT="board/pine64/rock64/post-build.sh"
-BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
-BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pine64/rock64/genimage.cfg"
-BR2_LINUX_KERNEL=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.19"
-BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
-BR2_LINUX_KERNEL_DTS_SUPPORT=y
-BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3328-rock64"
-BR2_LINUX_KERNEL_INSTALL_TARGET=y
-BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
-BR2_TARGET_ROOTFS_EXT2=y
-BR2_TARGET_ROOTFS_EXT2_4=y
-BR2_TARGET_ROOTFS_EXT2_SIZE="128M"
-BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v1.4"
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="rk3328"
-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/ayufan-rock64/linux-u-boot.git"
-BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="2017.09-rockchip-ayufan-1035-gd646df03ac"
-BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rock64-rk3328"
-BR2_TARGET_UBOOT_NEEDS_DTC=y
-BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
-BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
-BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y
-BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
-BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb"
-BR2_TARGET_UBOOT_SPL=y
-BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl.bin tpl/u-boot-tpl.bin"
-BR2_PACKAGE_HOST_GENIMAGE=y
-BR2_PACKAGE_HOST_UBOOT_TOOLS=y
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_PYTHON3=y
BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y
should only use sparse files when handling files on the build machine, not
when transferring them to an actual device that will be used on the target.
+=== Details about packages
+
+[[package-details]]
+
+Buildroot can produce a JSON blurb that describes the set of enabled
+packages in the current configuration, together with their
+dependencies, licenses and other metadata. This JSON blurb is produced
+by using the +show-info+ make target:
+
+------------------------
+make show-info
+------------------------
+
+Buildroot can also produce details about packages as HTML and JSON
+output using the +pkg-stats+ make target. Amongst other things, these
+details include whether known CVEs (security vulnerabilities) affect
+the packages in your current configuration. It also shows if there is
+a newer upstream version for those packages.
+
+------------------------
+make pkg-stats
+------------------------
+
=== Graphing the dependencies between packages
[[graph-depends]]
<div class="panel-heading">Download</div>
<div class="panel-body">
- <h3 style="text-align: center;">Latest long term support release: <b>2020.02.7</b></h3>
+ <h3 style="text-align: center;">Latest long term support release: <b>2020.02.8</b></h3>
<div class="row mt centered">
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
- <a href="/downloads/buildroot-2020.02.7.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2020.02.8.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
<div class="back">
- <a href="/downloads/buildroot-2020.02.7.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2020.02.8.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
</div>
</div>
- <h3><a href="/downloads/buildroot-2020.02.7.tar.gz">buildroot-2020.02.7.tar.gz</a></h3>
- <p><a href="/downloads/buildroot-2020.02.7.tar.gz.sign">PGP signature</a></p>
+ <h3><a href="/downloads/buildroot-2020.02.8.tar.gz">buildroot-2020.02.8.tar.gz</a></h3>
+ <p><a href="/downloads/buildroot-2020.02.8.tar.gz.sign">PGP signature</a></p>
</div>
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
- <a href="/downloads/buildroot-2020.02.7.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2020.02.8.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
<div class="back">
- <a href="/downloads/buildroot-2020.02.7.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2020.02.8.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
</div>
</div>
- <h3><a href="/downloads/buildroot-2020.02.7.tar.bz2">buildroot-2020.02.7.tar.bz2</a></h3>
- <p><a href="/downloads/buildroot-2020.02.7.tar.bz2.sign">PGP signature</a></p>
+ <h3><a href="/downloads/buildroot-2020.02.8.tar.bz2">buildroot-2020.02.8.tar.bz2</a></h3>
+ <p><a href="/downloads/buildroot-2020.02.8.tar.bz2.sign">PGP signature</a></p>
</div>
</div>
- <h3 style="text-align: center;">Latest stable release: <b>2020.08.1</b></h3>
+ <h3 style="text-align: center;">Latest stable release: <b>2020.08.2</b></h3>
<div class="row mt centered">
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
- <a href="/downloads/buildroot-2020.08.1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2020.08.2.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
<div class="back">
- <a href="/downloads/buildroot-2020.08.1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2020.08.2.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
</div>
</div>
- <h3><a href="/downloads/buildroot-2020.08.1.tar.gz">buildroot-2020.08.1.tar.gz</a></h3>
- <p><a href="/downloads/buildroot-2020.08.1.tar.gz.sign">PGP signature</a></p>
+ <h3><a href="/downloads/buildroot-2020.08.2.tar.gz">buildroot-2020.08.2.tar.gz</a></h3>
+ <p><a href="/downloads/buildroot-2020.08.2.tar.gz.sign">PGP signature</a></p>
</div>
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
- <a href="/downloads/buildroot-2020.08.1.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2020.08.2.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
<div class="back">
- <a href="/downloads/buildroot-2020.08.1.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2020.08.2.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
</div>
</div>
- <h3><a href="/downloads/buildroot-2020.08.1.tar.bz2">buildroot-2020.08.1.tar.bz2</a></h3>
- <p><a href="/downloads/buildroot-2020.08.1.tar.bz2.sign">PGP signature</a></p>
+ <h3><a href="/downloads/buildroot-2020.08.2.tar.bz2">buildroot-2020.08.2.tar.bz2</a></h3>
+ <p><a href="/downloads/buildroot-2020.08.2.tar.bz2.sign">PGP signature</a></p>
</div>
</div>
- <h3 style="text-align: center;">Latest release candidate: <b>2020.11-rc1</b></h3>
+ <h3 style="text-align: center;">Latest release candidate: <b>2020.11-rc2</b></h3>
<div class="row mt centered">
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
- <a href="/downloads/buildroot-2020.11-rc1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2020.11-rc2.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
<div class="back">
- <a href="/downloads/buildroot-2020.11-rc1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2020.11-rc2.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
</div>
</div>
- <h3><a href="/downloads/buildroot-2020.11-rc1.tar.gz">buildroot-2020.11-rc1.tar.gz</a></h3>
- <p><a href="/downloads/buildroot-2020.11-rc1.tar.gz.sign">PGP signature</a></p>
+ <h3><a href="/downloads/buildroot-2020.11-rc2.tar.gz">buildroot-2020.11-rc2.tar.gz</a></h3>
+ <p><a href="/downloads/buildroot-2020.11-rc2.tar.gz.sign">PGP signature</a></p>
</div>
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
- <a href="/downloads/buildroot-2020.11-rc1.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2020.11-rc2.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
<div class="back">
- <a href="/downloads/buildroot-2020.11-rc1.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2020.11-rc2.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
</div>
</div>
- <h3><a href="/downloads/buildroot-2020.11-rc1.tar.bz2">buildroot-2020.11-rc1.tar.bz2</a></h3>
- <p><a href="/downloads/buildroot-2020.11-rc1.tar.bz2.sign">PGP signature</a></p>
+ <h3><a href="/downloads/buildroot-2020.11-rc2.tar.bz2">buildroot-2020.11-rc2.tar.bz2</a></h3>
+ <p><a href="/downloads/buildroot-2020.11-rc2.tar.bz2.sign">PGP signature</a></p>
</div>
</div>
<h2>News</h2>
<ul class="timeline">
+ <li class="timeline-inverted">
+ <div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
+ <div class="timeline-panel">
+ <div class="timeline-heading">
+ <h4 class="timeline-title">2020.02.8 released</h4>
+ <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>17 November 2020</small></p>
+ </div>
+ <div class="timeline-body">
+ <p>The 2020.02.8 bugfix release is out, fixing a number of important /
+ security related issues discovered since the 2020.02.7 release. See the
+ <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2020.02.8">CHANGES</a>
+ file for more details, read the
+ <a href="http://lists.busybox.net/pipermail/buildroot/2020-November/296838.html">announcement</a>
+ and go to the <a href="/downloads/">downloads page</a> to pick up the
+ <a href="/downloads/buildroot-2020.02.8.tar.bz2">2020.02.8 release</a>.</p>
+ </div>
+ </div>
+ </li>
+
+ <li>
+ <div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
+ <div class="timeline-panel">
+ <div class="timeline-heading">
+ <h4 class="timeline-title">2020.08.2 released</h4>
+ <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>16 November 2020</small></p>
+ </div>
+ <div class="timeline-body">
+ <p>The 2020.08.2 bugfix release is out, fixing a number of important /
+ security related issues discovered since the 2020.08.1 release. See the
+ <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2020.08.2">CHANGES</a>
+ file for more details, read the
+ <a href="http://lists.busybox.net/pipermail/buildroot/2020-November/296830.html">announcement</a>
+ and go to the <a href="/downloads/">downloads page</a> to pick up the
+ <a href="/downloads/buildroot-2020.08.2.tar.bz2">2020.08.2 release</a>.</p>
+ </div>
+ </div>
+ </li>
+
+ <li class="timeline-inverted">
+ <div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
+ <div class="timeline-panel">
+ <div class="timeline-heading">
+ <h4 class="timeline-title">2020.11-rc2 released</h4>
+ <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>14 November 2020</small></p>
+ </div>
+ <div class="timeline-body">
+ <p>2020.11-rc2 has been released with more cleanups and build fixes. See the
+ <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2020.11-rc2">CHANGES</a>
+ file for details.</p>
+
+ <p>Head to the <a href="/downloads/">downloads page</a> to pick up the
+ <a href="/downloads/buildroot-2020.11-rc2.tar.bz2">2020.11-rc2
+ release candidate</a>, and report any problems found to the
+ <a href="support.html">mailing list</a> or
+ <a href="https://bugs.buildroot.org">bug tracker</a>.</p>
+ </div>
+ </div>
+ </li>
+
<li>
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
bool "Latest version (5.9)"
config BR2_LINUX_KERNEL_LATEST_CIP_VERSION
- bool "Latest CIP SLTS version (4.19.132-cip30)"
+ bool "Latest CIP SLTS version (4.19.152-cip37)"
help
CIP launched in the spring of 2016 to address the needs of
organizations in industries such as power generation and
implementation of software building blocks that meet
these requirements.
- The CIP community plans to maintain 4.4 for security and
+ The CIP community plans to maintain 4.19 for security and
bug fixes for more than 10 years.
https://www.cip-project.org
config BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
- bool "Latest CIP RT SLTS version (4.19.132-cip30-rt12)"
+ bool "Latest CIP RT SLTS version (4.19.152-cip37-rt16)"
help
Same as the CIP version, but this is the PREEMPT_RT realtime
variant.
config BR2_LINUX_KERNEL_VERSION
string
- default "5.9" if BR2_LINUX_KERNEL_LATEST_VERSION
- default "4.19.132-cip30" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
- default "4.19.132-cip30-rt12" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
+ default "5.9.8" if BR2_LINUX_KERNEL_LATEST_VERSION
+ default "4.19.152-cip37" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
+ default "4.19.152-cip37-rt16" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
if BR2_LINUX_KERNEL_CUSTOM_VERSION
default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
# From https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
-sha256 3239a4ee1250bf2048be988cc8cb46c487b2c8a0de5b1b032d38394d5c6b1a06 linux-5.9.tar.xz
-sha256 ee767991808d234ad9acd17f0ba94ba7979d30c528876bee6fba337ea540f0af linux-5.8.14.tar.xz
-sha256 c0b3d8085c5ba235df38b00b740e053659709e8a5ca21957a239f6bc22c45007 linux-5.4.70.tar.xz
+sha256 7656733b316562662026ac82a7c0be41440e16bbf1bdc5447b119e34ff3b86a6 linux-5.9.8.tar.xz
+sha256 4ab4a3f694b7b4cfbe78871eab34c8039ad33692144c45c669827a594da85534 linux-5.8.18.tar.xz
+sha256 a3e03e6970240dddc8174bf9f49b56d774c40125eabe1582d2ebe85b01addbf7 linux-5.4.77.tar.xz
# From https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc
-sha256 067814035c17e77dee84076dcc06a95eb675344cd926b7b79a16b80fee593364 linux-4.4.238.tar.xz
-sha256 b1eaf60b771ec4df0546d2b7539e164355008ea2f680a0642ae430e9cb134a3f linux-4.9.238.tar.xz
-sha256 5d404a0224a34b5379f1871cc46825487d557c2660459d2b5c3cd4871d699a38 linux-4.14.200.tar.xz
-sha256 f2f709ef086a4d8cb3c15a857daa44dfecf1b88d7d7c53c980fb180f6dccbace linux-4.19.150.tar.xz
+sha256 95de46b6bd72f66169629eb0e343b005778539864598eae76c3ca999645d58b5 linux-4.4.243.tar.xz
+sha256 d3aa189ca7fcc6e52d6c0333a0d7acd8789e9a492b32dbf9476e926ffaa73984 linux-4.9.243.tar.xz
+sha256 1c233efaa5063983293a02d4692acc9ced9c03e18857364855d4f612347086ac linux-4.14.206.tar.xz
+sha256 76dca365255c1a13778c3b24f0eae14f4e66bc12fe79f5e6592b116fc57ef755 linux-4.19.157.tar.xz
# Locally computed
-sha256 c20f9014b89ea3e27f55f1d407aa5a4724ed38ac520c197291e9d644f164c43a linux-cip-4.19.132-cip30.tar.gz
-sha256 81dd791d9ad6c3fddaeaffc6d7d8df0e13831283a5fe494c437ac7820d79ca39 linux-cip-4.19.132-cip30-rt12.tar.gz
+sha256 d2a06f52143deb929b8d513cf9afc9bd065951389a80fa70bc4d63025b5b3fb9 linux-cip-4.19.152-cip37.tar.gz
+sha256 bc1dacd3d0f526de3e8754a444e8e02a54521527af639ddb907cb35cda775a8c linux-cip-4.19.152-cip37-rt16.tar.gz
# Licenses hashes
sha256 fb5a425bd3b3cd6071a3a9aff9909a859e7c1158d54d32e07658398cd67eb6a0 COPYING
define APPARMOR_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0755 $(@D)/parser/apparmor.systemd \
$(TARGET_DIR)/lib/apparmor/apparmor.systemd
- $(INSTALL) -D -m 0755 $(@D)/parser/apparmor.service \
+ $(INSTALL) -D -m 0644 $(@D)/parser/apparmor.service \
$(TARGET_DIR)/usr/lib/systemd/system/apparmor.service
endef
# Locally calculated after checking pgp signature
-sha256 dec79694da1319acd2238ce95df57f3680fea2482096e483323fddf3d818d8be argp-standalone-1.3.tar.gz
+sha256 dec79694da1319acd2238ce95df57f3680fea2482096e483323fddf3d818d8be argp-standalone-1.3.tar.gz
+
+# License file
+sha256 bbb8919aa520069b0234faf5e83a94052d278419ffe97ca8e843ecc9b212d1ab argp.h
ARGP_STANDALONE_SITE = http://www.lysator.liu.se/~nisse/archive
ARGP_STANDALONE_INSTALL_STAGING = YES
ARGP_STANDALONE_LICENSE = LGPL-2.0+
+ARGP_STANDALONE_LICENSE_FILES = argp.h
ARGP_STANDALONE_CONF_ENV = \
CFLAGS="$(TARGET_CFLAGS) -fPIC -fgnu89-inline"
# Locally computed
-sha256 5ebefa6387f89695361b8c105e2ad7ee6381f87a99012aeb85b886ddf6d518ac asterisk-16.13.0.tar.gz
+sha256 226eaef400d2d335ce29d7b3c8aca8dfdfc5e854c215e0c47615c095ced12171 asterisk-16.14.1.tar.gz
# sha1 from: http://downloads.asterisk.org/pub/telephony/sounds/releases
# sha256 locally computed
#
################################################################################
-ASTERISK_VERSION = 16.13.0
+ASTERISK_VERSION = 16.14.1
# Use the github mirror: it's an official mirror maintained by Digium, and
# provides tarballs, which the main Asterisk git tree (behind Gerrit) does not.
ASTERISK_SITE = $(call github,asterisk,asterisk,$(ASTERISK_VERSION))
# Locally calculated
-sha256 0270d0def6cc53c8d47d59a9dd093d51fbca1620adeef85c15e35a32010e26ab bandwidthd-2.0.1-auto-r11.tar.gz
+sha256 0270d0def6cc53c8d47d59a9dd093d51fbca1620adeef85c15e35a32010e26ab bandwidthd-2.0.1-auto-r11.tar.gz
+sha256 58573c40770e0c0b91f3eef8192952832321a344f66a4fb2d966095cbbfc86c2 README
# Specified as "any version of the GPL that is current as of your
# download" by upstream.
BANDWIDTHD_LICENSE = GPL
+BANDWIDTHD_LICENSE_FILES = README
BANDWIDTHD_DEPENDENCIES = gd libpng libpcap host-pkgconf
--- /dev/null
+From 330cb33985d0ce97c20f4a0f0bbda0fbffe098d4 Mon Sep 17 00:00:00 2001
+Date: Mon, 9 Nov 2020 21:18:40 +0100
+Subject: [PATCH] src/randomenv.cpp: fix build on uclibc
+
+Check for HAVE_STRONG_GETAUXVAL or HAVE_WEAK_GETAUXVAL before using
+getauxval to avoid a build failure on uclibc
+
+[Upstream status: https://github.com/bitcoin/bitcoin/pull/20358]
+---
+ src/randomenv.cpp | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/randomenv.cpp b/src/randomenv.cpp
+index 07122b7f6..5e07c3db4 100644
+--- a/src/randomenv.cpp
++++ b/src/randomenv.cpp
+@@ -53,7 +53,7 @@
+ #include <sys/vmmeter.h>
+ #endif
+ #endif
+-#ifdef __linux__
++#if defined(HAVE_STRONG_GETAUXVAL) || defined(HAVE_WEAK_GETAUXVAL)
+ #include <sys/auxv.h>
+ #endif
+
+@@ -326,7 +326,7 @@ void RandAddStaticEnv(CSHA512& hasher)
+ // Bitcoin client version
+ hasher << CLIENT_VERSION;
+
+-#ifdef __linux__
++#if defined(HAVE_STRONG_GETAUXVAL) || defined(HAVE_WEAK_GETAUXVAL)
+ // Information available through getauxval()
+ # ifdef AT_HWCAP
+ hasher << getauxval(AT_HWCAP);
+@@ -346,7 +346,7 @@ void RandAddStaticEnv(CSHA512& hasher)
+ const char* exec_str = (const char*)getauxval(AT_EXECFN);
+ if (exec_str) hasher.Write((const unsigned char*)exec_str, strlen(exec_str) + 1);
+ # endif
+-#endif // __linux__
++#endif // HAVE_STRONG_GETAUXVAL || HAVE_WEAK_GETAUXVAL
+
+ #ifdef HAVE_GETCPUID
+ AddAllCPUID(hasher);
+--
+2.28.0
+
select BR2_PACKAGE_BOOST_SYSTEM
select BR2_PACKAGE_BOOST_FILESYSTEM
select BR2_PACKAGE_BOOST_THREAD
- select BR2_PACKAGE_BOOST_CHRONO
- select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
- select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_LIBEVENT
help
Bitcoin Core is an open source project which maintains and
-# From https://bitcoincore.org/bin/bitcoin-core-0.19.0.1/SHA256SUMS.asc
-sha256 7ac9f972249a0a16ed01352ca2a199a5448fe87a4ea74923404a40b4086de284 bitcoin-0.19.0.1.tar.gz
+# From https://bitcoincore.org/bin/bitcoin-core-0.20.1/SHA256SUMS.asc
+sha256 4bbd62fd6acfa5e9864ebf37a24a04bc2dcfe3e3222f056056288d854c53b978 bitcoin-0.20.1.tar.gz
# Hash for license file
-sha256 9a0f75d688e9cf5c69d3efdaa2a83af496700d252b212ec6a72f7784b47fed0c COPYING
+sha256 96fe807030b21f88305adc32af62f9aa19915f2783509fd6f52aea02cf83f644 COPYING
#
################################################################################
-BITCOIN_VERSION = 0.19.0.1
+BITCOIN_VERSION = 0.20.1
BITCOIN_SITE = https://bitcoincore.org/bin/bitcoin-core-$(BITCOIN_VERSION)
BITCOIN_AUTORECONF = YES
BITCOIN_LICENSE = MIT
BITCOIN_LICENSE_FILES = COPYING
-BITCOIN_DEPENDENCIES = host-pkgconf boost openssl libevent
+BITCOIN_DEPENDENCIES = host-pkgconf boost libevent
+BITCOIN_MAKE_ENV = BITCOIN_GENBUILD_NO_GIT=1
BITCOIN_CONF_OPTS = \
--disable-bench \
--disable-wallet \
--- /dev/null
+From 1a5d6fcbb5e606ab4acdf22afa26361a25f1d43b Mon Sep 17 00:00:00 2001
+Date: Mon, 10 Aug 2020 09:59:02 -0500
+Subject: [PATCH] hwclock: Fix settimeofday for glibc v2.31+
+
+The glibc implementation changed for settimeofday, resulting in "invalid
+argument" error when attempting to set both timezone and time with a single
+call. Fix this by calling settimeofday twice
+
+---
+ util-linux/hwclock.c | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/util-linux/hwclock.c b/util-linux/hwclock.c
+index dc97d8fb4..2479e7416 100644
+--- a/util-linux/hwclock.c
++++ b/util-linux/hwclock.c
+@@ -122,16 +122,20 @@ static void to_sys_clock(const char **pp_rtcname, int utc)
+ struct timeval tv;
+ struct timezone tz;
+
+- tz.tz_minuteswest = timezone/60;
++ tz.tz_minuteswest = timezone / 60;
+ /* ^^^ used to also subtract 60*daylight, but it's wrong:
+ * daylight!=0 means "this timezone has some DST
+ * during the year", not "DST is in effect now".
+ */
+ tz.tz_dsttime = 0;
+
++ /* glibc v2.31+ returns an error if both args are non-NULL */
++ if (settimeofday(NULL, &tz))
++ bb_simple_perror_msg_and_die("settimeofday");
++
+ tv.tv_sec = read_rtc(pp_rtcname, NULL, utc);
+ tv.tv_usec = 0;
+- if (settimeofday(&tv, &tz))
++ if (settimeofday(&tv, NULL))
+ bb_simple_perror_msg_and_die("settimeofday");
+ }
+
+@@ -283,7 +287,11 @@ static void set_system_clock_timezone(int utc)
+ gettimeofday(&tv, NULL);
+ if (!utc)
+ tv.tv_sec += tz.tz_minuteswest * 60;
+- if (settimeofday(&tv, &tz))
++
++ /* glibc v2.31+ returns an error if both args are non-NULL */
++ if (settimeofday(NULL, &tz))
++ bb_simple_perror_msg_and_die("settimeofday");
++ if (settimeofday(&tv, NULL))
+ bb_simple_perror_msg_and_die("settimeofday");
+ }
+
+--
+2.17.1
+
# Locally calculated after checking pgp signature
-sha256 d08312d0ecc3bd48eee0a4cc0d2137c9f194e0a28de2028928c0f6cae85f86ce c-ares-1.16.1.tar.gz
+sha256 1cecd5dbe21306c7263f8649aa6e9a37aecb985995a3489f487d98df2b40757d c-ares-1.17.0.tar.gz
# Hash for license file
sha256 db4eb63fe09daebdf57d3f79b091bb5ee5070c0d761040e83264e648d307af4c LICENSE.md
#
################################################################################
-C_ARES_VERSION = 1.16.1
+C_ARES_VERSION = 1.17.0
C_ARES_SITE = http://c-ares.haxx.se/download
C_ARES_INSTALL_STAGING = YES
C_ARES_CONF_OPTS = --with-random=/dev/urandom
CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).4
CRYPTSETUP_SOURCE = cryptsetup-$(CRYPTSETUP_VERSION).tar.xz
CRYPTSETUP_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/cryptsetup/v$(CRYPTSETUP_VERSION_MAJOR)
-CRYPTSETUP_DEPENDENCIES = lvm2 popt util-linux host-pkgconf json-c libargon2 \
+CRYPTSETUP_DEPENDENCIES = \
+ lvm2 popt host-pkgconf json-c libargon2 \
$(if $(BR2_PACKAGE_LIBICONV),libiconv) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_LIBS),util-linux-libs,util-linux) \
$(TARGET_NLS_DEPENDENCIES)
CRYPTSETUP_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (library)
CRYPTSETUP_LICENSE_FILES = COPYING COPYING.LGPL
start() {
printf 'Starting %s: ' "$DAEMON"
# shellcheck disable=SC2086 # we need the word splitting
- start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/sbin/$DAEMON" \
+ start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \
-- -c /etc/cups/cups-browsed.conf
status=$?
if [ "$status" -eq 0 ]; then
# Locally generated
-sha256 a50417b622b32b5f421b3132cb94ebeff04f02c5fb87fba2e31147d23de50505 darkhttpd-1.12.tar.bz2
+sha256 a50417b622b32b5f421b3132cb94ebeff04f02c5fb87fba2e31147d23de50505 darkhttpd-1.12.tar.bz2
+sha256 6e1a2e45d8dd3c8835222e3c82e5cccde8e60f02d55555910e18715ec5dc6d04 darkhttpd.c
DARKHTTPD_SITE = https://unix4lyfe.org/darkhttpd
DARKHTTPD_SOURCE = darkhttpd-$(DARKHTTPD_VERSION).tar.bz2
DARKHTTPD_LICENSE = MIT
+DARKHTTPD_LICENSE_FILES = darkhttpd.c
define DARKHTTPD_BUILD_CMDS
$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)
ac_cv_path_NEON_CONFIG=$(STAGING_DIR)/usr/bin/neon-config \
LIBS=$(TARGET_NLS_LIBS)
+define DAVFS2_USERS
+ davfs2 -1 davfs2 -1 * - - - davfs user
+endef
+
$(eval $(autotools-package))
--- /dev/null
+From b3525e2a970ae3e783665040b1e0db5fc3391327 Mon Sep 17 00:00:00 2001
+Date: Mon, 2 Nov 2020 09:46:17 +0100
+Subject: [PATCH] Build failure with python 3.9
+
+
+[Retrieved from:
+https://github.com/domoticz/domoticz/commit/b3525e2a970ae3e783665040b1e0db5fc3391327]
+---
+ hardware/plugins/DelayedLink.h | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/hardware/plugins/DelayedLink.h b/hardware/plugins/DelayedLink.h
+index c90a7d8e69..cb71478685 100644
+--- a/hardware/plugins/DelayedLink.h
++++ b/hardware/plugins/DelayedLink.h
+@@ -14,6 +14,17 @@
+ #include <frameobject.h>
+ #include "../../main/Helper.h"
+
++#ifndef _Py_DEC_REFTOTAL
++ /* _Py_DEC_REFTOTAL macro has been removed from Python 3.9 by:
++ https://github.com/python/cpython/commit/49932fec62c616ec88da52642339d83ae719e924 */
++# ifdef Py_REF_DEBUG
++# define _Py_DEC_REFTOTAL _Py_RefTotal--
++# else
++# define _Py_DEC_REFTOTAL
++# define _Py_Dealloc
++# endif
++#endif
++
+ #if PY_VERSION_HEX >= 0x030800f0
+ static inline void
+ py3__Py_DECREF(const char *filename, int lineno, PyObject *op)
--- /dev/null
+From 4e1d21967d27d286cbc837b98a1a9f031f7dde58 Mon Sep 17 00:00:00 2001
+Date: Fri, 6 Nov 2020 07:40:37 +0100
+Subject: [PATCH] Load python 3.9 shared libs
+
+
+[Retrieved from:
+https://github.com/domoticz/domoticz/commit/4e1d21967d27d286cbc837b98a1a9f031f7dde58]
+---
+ hardware/plugins/DelayedLink.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/hardware/plugins/DelayedLink.h b/hardware/plugins/DelayedLink.h
+index cb71478685..409c9dce1b 100644
+--- a/hardware/plugins/DelayedLink.h
++++ b/hardware/plugins/DelayedLink.h
+@@ -193,12 +193,14 @@ namespace Plugins {
+ if (!shared_lib_) {
+ #ifdef WIN32
+ # ifdef _DEBUG
++ if (!shared_lib_) shared_lib_ = LoadLibrary("python39_d.dll");
+ if (!shared_lib_) shared_lib_ = LoadLibrary("python38_d.dll");
+ if (!shared_lib_) shared_lib_ = LoadLibrary("python37_d.dll");
+ if (!shared_lib_) shared_lib_ = LoadLibrary("python36_d.dll");
+ if (!shared_lib_) shared_lib_ = LoadLibrary("python35_d.dll");
+ if (!shared_lib_) shared_lib_ = LoadLibrary("python34_d.dll");
+ # else
++ if (!shared_lib_) shared_lib_ = LoadLibrary("python39.dll");
+ if (!shared_lib_) shared_lib_ = LoadLibrary("python38.dll");
+ if (!shared_lib_) shared_lib_ = LoadLibrary("python37.dll");
+ if (!shared_lib_) shared_lib_ = LoadLibrary("python36.dll");
+@@ -206,6 +208,7 @@ namespace Plugins {
+ if (!shared_lib_) shared_lib_ = LoadLibrary("python34.dll");
+ # endif
+ #else
++ if (!shared_lib_) FindLibrary("python3.9", true);
+ if (!shared_lib_) FindLibrary("python3.8", true);
+ if (!shared_lib_) FindLibrary("python3.7", true);
+ if (!shared_lib_) FindLibrary("python3.6", true);
DOVECOT_PIGEONHOLE_CONF_OPTS = --with-dovecot=$(STAGING_DIR)/usr/lib
+ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y)
+define DOVECOT_PIGEONHOLE_FIXUP_DOVECOT_CONFIG
+ $(SED) 's,$(PER_PACKAGE_DIR)/dovecot/,$(PER_PACKAGE_DIR)/dovecot-pigeonhole/,g' \
+ $(STAGING_DIR)/usr/lib/dovecot-config
+endef
+DOVECOT_PIGEONHOLE_PRE_CONFIGURE_HOOKS = DOVECOT_PIGEONHOLE_FIXUP_DOVECOT_CONFIG
+endif
+
$(eval $(autotools-package))
--- /dev/null
+From 26165906f85d82f0a4456f34b5c60fcaaef48535 Mon Sep 17 00:00:00 2001
+Date: Wed, 5 Feb 2020 10:31:32 +0100
+Subject: [PATCH] elf2flt: handle binutils >= 2.34
+
+The latest Binutils release (2.34) is not compatible with elf2flt due
+to a change in bfd_section_* macros [1]. The issue has been reported
+to the Binutils mailing list but Alan Modra recommend to bundle
+libbfd library sources into each projects using it [2]. That's
+because the API is not stable over the time without any backward
+compatibility guaranties.
+
+On the other hand, the elf2flt tools needs to support modified
+version of binutils for specific arch/target [3].
+
+Add two tests in the configure script to detect this API change
+in order to support binutils < 2.34 and binutils >= 2.34.
+
+Upstream status: [4]
+
+[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=fd3619828e94a24a92cddec42cbc0ab33352eeb4
+[2] https://sourceware.org/ml/binutils/2020-02/msg00044.html
+[3] https://github.com/uclinux-dev/elf2flt/issues/14
+[4] https://github.com/uclinux-dev/elf2flt/pull/15
+
+---
+ configure.ac | 16 +++++++++++
+ elf2flt.c | 81 +++++++++++++++++++++++++++++-----------------------
+ 2 files changed, 61 insertions(+), 36 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index e82eb1d..cf7dea8 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -229,6 +229,22 @@ AC_CHECK_FUNCS([ \
+ strsignal \
+ ])
+
++dnl Various bfd section macros and functions like bfd_section_size() have been
++dnl modified starting with binutils >= 2.34.
++dnl Check if the prototypes take a bfd argument.
++if test "$binutils_build_dir" != "NONE"; then
++ CFLAGS="-I$binutils_include_dir -I$bfd_include_dir $CFLAGS"
++fi
++
++AC_TRY_COMPILE([#include <bfd.h>],
++ [const asection *sec; bfd_section_size(sec);],
++ bfd_section_api_takes_bfd=no,
++ bfd_section_api_takes_bfd=yes)
++if test "$bfd_section_api_takes_bfd" = "yes" ; then
++ AC_DEFINE(HAVE_BFD_SECTION_API_TAKES_BFD, 1,
++ [define to 1 for binutils < 2.34])
++fi
++
+ if test "$GCC" = yes ; then
+ CFLAGS="-Wall $CFLAGS"
+ if test "$werror" = 1 ; then
+diff --git a/elf2flt.c b/elf2flt.c
+index b93aecd..3bcf4fe 100644
+--- a/elf2flt.c
++++ b/elf2flt.c
+@@ -149,6 +149,17 @@ const char *elf2flt_progname;
+ #define O_BINARY 0
+ #endif
+
++/*
++ * The bfd parameter isn't actually used by any of the bfd_section funcs and
++ * have been removed since binutils 2.34.
++ */
++#ifdef HAVE_BFD_SECTION_API_TAKES_BFD
++#define elf2flt_bfd_section_size(s) bfd_section_size(NULL, s)
++#define elf2flt_bfd_section_vma(s) bfd_section_vma(NULL, s)
++#else
++#define elf2flt_bfd_section_size(s) bfd_section_size(s)
++#define elf2flt_bfd_section_vma(s) bfd_section_vma(s)
++#endif
+
+ /* Extra output when running. */
+ static int verbose = 0;
+@@ -323,10 +334,8 @@ compare_relocs (const void *pa, const void *pb)
+ else if (!rb->sym_ptr_ptr || !*rb->sym_ptr_ptr)
+ return 1;
+
+- a_vma = bfd_section_vma(compare_relocs_bfd,
+- (*(ra->sym_ptr_ptr))->section);
+- b_vma = bfd_section_vma(compare_relocs_bfd,
+- (*(rb->sym_ptr_ptr))->section);
++ a_vma = elf2flt_bfd_section_vma((*(ra->sym_ptr_ptr))->section);
++ b_vma = elf2flt_bfd_section_vma((*(rb->sym_ptr_ptr))->section);
+ va = (*(ra->sym_ptr_ptr))->value + a_vma + ra->addend;
+ vb = (*(rb->sym_ptr_ptr))->value + b_vma + rb->addend;
+ return va - vb;
+@@ -403,7 +412,7 @@ output_relocs (
+ }
+
+ for (a = abs_bfd->sections; (a != (asection *) NULL); a = a->next) {
+- section_vma = bfd_section_vma(abs_bfd, a);
++ section_vma = elf2flt_bfd_section_vma(a);
+
+ if (verbose)
+ printf("SECTION: %s [%p]: flags=0x%x vma=0x%"PRIx32"\n",
+@@ -442,7 +451,7 @@ output_relocs (
+ continue;
+ if (verbose)
+ printf(" RELOCS: %s [%p]: flags=0x%x vma=0x%"BFD_VMA_FMT"x\n",
+- r->name, r, r->flags, bfd_section_vma(abs_bfd, r));
++ r->name, r, r->flags, elf2flt_bfd_section_vma(r));
+ if ((r->flags & SEC_RELOC) == 0)
+ continue;
+ relsize = bfd_get_reloc_upper_bound(rel_bfd, r);
+@@ -694,7 +703,7 @@ output_relocs (
+ case R_BFIN_RIMM16:
+ case R_BFIN_LUIMM16:
+ case R_BFIN_HUIMM16:
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+
+ if (weak_und_symbol(sym_section->name, (*(q->sym_ptr_ptr))))
+@@ -727,7 +736,7 @@ output_relocs (
+ break;
+
+ case R_BFIN_BYTE4_DATA:
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+
+ if (weak_und_symbol (sym_section->name, (*(q->sym_ptr_ptr))))
+@@ -885,7 +894,7 @@ output_relocs (
+ #if defined(TARGET_m68k)
+ case R_68K_32:
+ relocation_needed = 1;
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ break;
+ case R_68K_PC16:
+@@ -910,7 +919,7 @@ output_relocs (
+ q->address, sym_addr,
+ (*p)->howto->rightshift,
+ *(uint32_t *)r_mem);
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ break;
+ case R_ARM_GOT32:
+@@ -938,7 +947,7 @@ output_relocs (
+ #ifdef TARGET_v850
+ case R_V850_ABS32:
+ relocation_needed = 1;
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ break;
+ case R_V850_ZDA_16_16_OFFSET:
+@@ -960,7 +969,7 @@ output_relocs (
+ sym_addr = (*(q->sym_ptr_ptr))->value;
+ q->address -= 1;
+ r_mem -= 1; /* tracks q->address */
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ sym_addr |= (*(unsigned char *)r_mem<<24);
+ break;
+@@ -973,7 +982,7 @@ output_relocs (
+ /* Absolute symbol done not relocation */
+ relocation_needed = !bfd_is_abs_section(sym_section);
+ sym_addr = (*(q->sym_ptr_ptr))->value;
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ break;
+ case R_H8_DIR32:
+@@ -986,7 +995,7 @@ output_relocs (
+ }
+ relocation_needed = 1;
+ sym_addr = (*(q->sym_ptr_ptr))->value;
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ break;
+ case R_H8_PCREL16:
+@@ -1012,7 +1021,7 @@ output_relocs (
+ #ifdef TARGET_microblaze
+ case R_MICROBLAZE_64:
+ /* work out the relocation */
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ /* Write relocated pointer back */
+ r_mem[2] = (sym_addr >> 24) & 0xff;
+@@ -1026,7 +1035,7 @@ output_relocs (
+ pflags = 0x80000000;
+ break;
+ case R_MICROBLAZE_32:
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ relocation_needed = 1;
+ break;
+@@ -1058,7 +1067,7 @@ output_relocs (
+ case R_NIOS2_BFD_RELOC_32:
+ relocation_needed = 1;
+ pflags = (FLAT_NIOS2_R_32 << 28);
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ /* modify target, in target order */
+ *(unsigned long *)r_mem = htoniosl(sym_addr);
+@@ -1068,7 +1077,7 @@ output_relocs (
+ unsigned long exist_val;
+ relocation_needed = 1;
+ pflags = (FLAT_NIOS2_R_CALL26 << 28);
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+
+ /* modify target, in target order */
+@@ -1099,7 +1108,7 @@ output_relocs (
+ ? FLAT_NIOS2_R_HIADJ_LO : FLAT_NIOS2_R_HI_LO;
+ pflags <<= 28;
+
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+
+ /* modify high 16 bits, in target order */
+@@ -1132,7 +1141,7 @@ output_relocs (
+ goto NIOS2_RELOC_ERR;
+ }
+ /* _gp holds a absolute value, otherwise the ld cannot generate correct code */
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ //printf("sym=%x, %d, _gp=%x, %d\n", sym_addr+sym_vma, sym_addr+sym_vma, gp, gp);
+ sym_addr += sym_vma + q->addend;
+ sym_addr -= gp;
+@@ -1213,7 +1222,7 @@ NIOS2_RELOC_ERR:
+ case R_SPARC_32:
+ case R_SPARC_UA32:
+ relocation_needed = 1;
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ break;
+ case R_SPARC_PC22:
+@@ -1232,7 +1241,7 @@ NIOS2_RELOC_ERR:
+ case R_SPARC_HI22:
+ relocation_needed = 1;
+ pflags = 0x80000000;
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ sym_addr |= (
+ htonl(*(uint32_t *)r_mem)
+@@ -1242,7 +1251,7 @@ NIOS2_RELOC_ERR:
+ case R_SPARC_LO10:
+ relocation_needed = 1;
+ pflags = 0x40000000;
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ sym_addr &= 0x000003ff;
+ sym_addr |= (
+@@ -1256,7 +1265,7 @@ NIOS2_RELOC_ERR:
+ #ifdef TARGET_sh
+ case R_SH_DIR32:
+ relocation_needed = 1;
+- sym_vma = bfd_section_vma(abs_bfd, sym_section);
++ sym_vma = elf2flt_bfd_section_vma(sym_section);
+ sym_addr += sym_vma + q->addend;
+ break;
+ case R_SH_REL32:
+@@ -1288,7 +1297,7 @@ NIOS2_RELOC_ERR:
+ case R_E1_CONST31:
+ relocation_needed = 1;
+ DBG_E1("Handling Reloc <CONST31>\n");
+- sec_vma = bfd_section_vma(abs_bfd, sym_section);
++ sec_vma = elf2flt_bfd_section_vma(sym_section);
+ DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x], q->address : [0x%x]\n",
+ sec_vma, sym_addr, q->address);
+ sym_addr = sec_vma + sym_addr;
+@@ -1303,7 +1312,7 @@ NIOS2_RELOC_ERR:
+ relocation_needed = 0;
+ DBG_E1("Handling Reloc <CONST31_PCREL>\n");
+ DBG_E1("DONT RELOCATE AT LOADING\n");
+- sec_vma = bfd_section_vma(abs_bfd, sym_section);
++ sec_vma = elf2flt_bfd_section_vma(sym_section);
+ DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x], q->address : [0x%x]\n",
+ sec_vma, sym_addr, q->address);
+ sym_addr = sec_vma + sym_addr;
+@@ -1330,7 +1339,7 @@ NIOS2_RELOC_ERR:
+ relocation_needed = 0;
+ DBG_E1("Handling Reloc <DIS29W_PCREL>\n");
+ DBG_E1("DONT RELOCATE AT LOADING\n");
+- sec_vma = bfd_section_vma(abs_bfd, sym_section);
++ sec_vma = elf2flt_bfd_section_vma(sym_section);
+ DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x], q->address : [0x%x]\n",
+ sec_vma, sym_addr, q->address);
+ sym_addr = sec_vma + sym_addr;
+@@ -1363,7 +1372,7 @@ NIOS2_RELOC_ERR:
+ DBG_E1("Handling Reloc <DIS29B>\n");
+ DIS29_RELOCATION:
+ relocation_needed = 1;
+- sec_vma = bfd_section_vma(abs_bfd, sym_section);
++ sec_vma = elf2flt_bfd_section_vma(sym_section);
+ DBG_E1("sec_vma : [0x%x], sym_addr : [0x%08x]\n",
+ sec_vma, sym_addr);
+ sym_addr = sec_vma + sym_addr;
+@@ -1380,7 +1389,7 @@ DIS29_RELOCATION:
+ relocation_needed = 0;
+ DBG_E1("Handling Reloc <IMM32_PCREL>\n");
+ DBG_E1("DONT RELOCATE AT LOADING\n");
+- sec_vma = bfd_section_vma(abs_bfd, sym_section);
++ sec_vma = elf2flt_bfd_section_vma(sym_section);
+ DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x]\n",
+ sec_vma, sym_addr);
+ sym_addr = sec_vma + sym_addr;
+@@ -1406,7 +1415,7 @@ DIS29_RELOCATION:
+ case R_E1_IMM32:
+ relocation_needed = 1;
+ DBG_E1("Handling Reloc <IMM32>\n");
+- sec_vma = bfd_section_vma(abs_bfd, sym_section);
++ sec_vma = elf2flt_bfd_section_vma(sym_section);
+ DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x]\n",
+ sec_vma, sym_addr);
+ sym_addr = sec_vma + sym_addr;
+@@ -1422,7 +1431,7 @@ DIS29_RELOCATION:
+ case R_E1_WORD:
+ relocation_needed = 1;
+ DBG_E1("Handling Reloc <WORD>\n");
+- sec_vma = bfd_section_vma(abs_bfd, sym_section);
++ sec_vma = elf2flt_bfd_section_vma(sym_section);
+ DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x]\n",
+ sec_vma, sym_addr);
+ sym_addr = sec_vma + sym_addr;
+@@ -1449,7 +1458,7 @@ DIS29_RELOCATION:
+ }
+
+ sprintf(&addstr[0], "+0x%lx", sym_addr - (*(q->sym_ptr_ptr))->value -
+- bfd_section_vma(abs_bfd, sym_section));
++ elf2flt_bfd_section_vma(sym_section));
+
+
+ /*
+@@ -1887,8 +1896,8 @@ int main(int argc, char *argv[])
+ } else
+ continue;
+
+- sec_size = bfd_section_size(abs_bfd, s);
+- sec_vma = bfd_section_vma(abs_bfd, s);
++ sec_size = elf2flt_bfd_section_size(s);
++ sec_vma = elf2flt_bfd_section_vma(s);
+
+ if (sec_vma < *vma) {
+ if (*len > 0)
+@@ -1913,7 +1922,7 @@ int main(int argc, char *argv[])
+ if (s->flags & SEC_CODE)
+ if (!bfd_get_section_contents(abs_bfd, s,
+ text + (s->vma - text_vma), 0,
+- bfd_section_size(abs_bfd, s)))
++ elf2flt_bfd_section_size(s)))
+ {
+ fatal("read error section %s", s->name);
+ }
+@@ -1939,7 +1948,7 @@ int main(int argc, char *argv[])
+ if (s->flags & SEC_DATA)
+ if (!bfd_get_section_contents(abs_bfd, s,
+ data + (s->vma - data_vma), 0,
+- bfd_section_size(abs_bfd, s)))
++ elf2flt_bfd_section_size(s)))
+ {
+ fatal("read error section %s", s->name);
+ }
+--
+2.25.4
+
HOST_ELF2FLT_DEPENDENCIES = host-binutils host-zlib
+# 0003-elf2flt-handle-binutils-2.34.patch
+HOST_ELF2FLT_AUTORECONF = YES
+
# It is not exactly a host variant, but more a cross variant, which is
# why we pass a special --target option.
HOST_ELF2FLT_CONF_OPTS = \
# Locally calculated
-sha256 40ff4ab0247b75138a0887ed40f81c1a6184f340b77126c16d074b1075b41c20 fbset-2.1.tar.gz
+sha256 40ff4ab0247b75138a0887ed40f81c1a6184f340b77126c16d074b1075b41c20 fbset-2.1.tar.gz
+sha256 c3285709a0840899a789faefae1704e87f96f757e905a38a1931a9d4fde95ddd fbset.c
FBSET_SITE = http://users.telenet.be/geertu/Linux/fbdev
FBSET_DEPENDENCIES = host-bison host-flex
FBSET_LICENSE = GPL-2.0
+FBSET_LICENSE_FILES = fbset.c
define FBSET_BUILD_CMDS
$(MAKE1) $(TARGET_CONFIGURE_OPTS) -C $(@D)
# locally computed
sha256 0e81de89fdd7ab810716fc0549e767527f342e829309dee5c2cca1e9d1728770 fbtft-274035404701245e7491c0c6471c5b72ade4d491.tar.gz
+sha256 a9ca80d65a5ef10fe614a6c1e8c8d4d3b96637e8855a96c7cf0fa438526097a7 fbtft-core.c
FBTFT_VERSION = 274035404701245e7491c0c6471c5b72ade4d491
FBTFT_SITE = $(call github,notro,fbtft,$(FBTFT_VERSION))
FBTFT_LICENSE = GPL-2.0
+FBTFT_LICENSE_FILES = fbtft-core.c
$(eval $(generic-package))
-# From https://sourceforge.net/projects/freetype/files/freetype2/2.10.2/
-md5 7c0d5a39f232d7eb9f9d7da76bf08074 freetype-2.10.2.tar.xz
-sha1 b074d5c34dc0e3cc150be6e7aa6b07c9ec4ed875 freetype-2.10.2.tar.xz
+# From https://sourceforge.net/projects/freetype/files/freetype2/2.10.4/
+sha1 0181862673f7216ad2b5074f95fc131209e30b27 freetype-2.10.4.tar.xz
# Locally calculated
-sha256 1543d61025d2e6312e0a1c563652555f17378a204a61e99928c9fcef030a2d8b freetype-2.10.2.tar.xz
+sha256 86a854d8905b19698bbc8f23b860bc104246ce4854dcea8e3b0fb21284f75784 freetype-2.10.4.tar.xz
sha256 fd056de4196903a676208ef58cfddafc7d583d1f28fa2e44c309cf84a59e62fb docs/LICENSE.TXT
sha256 08c135755dd589039470f1fdbb400daaabaaa50d0b366d19cebff4d22986baa1 docs/FTL.TXT
sha256 c4120c6752c910c299e3bd9cb3a46ff262c268303ca2069b61f92f10a5656c18 docs/GPLv2.TXT
#
################################################################################
-FREETYPE_VERSION = 2.10.2
+FREETYPE_VERSION = 2.10.4
FREETYPE_SOURCE = freetype-$(FREETYPE_VERSION).tar.xz
FREETYPE_SITE = http://download.savannah.gnu.org/releases/freetype
FREETYPE_INSTALL_STAGING = YES
--- /dev/null
+From 41ef9a0bc36b9db7115fbe9623f989bfb47bbade Mon Sep 17 00:00:00 2001
+Date: Tue, 20 Oct 2020 09:49:45 +0100
+Subject: [PATCH] Bug 702985: drop use of FT_CALLBACK_DEF() def
+
+From 2.10.3, Freetype disappeared the FT_CALLBACK_DEF() macro, which is what
+we used when defining our callbacks from Freetype.
+
+No guidance forthcoming from the Freetype developer who made those changes,
+so change to explicitly declaring the callbacks file static.
+
+Should fix the reported build failures.
+
+Downloaded from upstream commit:
+https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=41ef9a0bc36b
+
+---
+ base/fapi_ft.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/base/fapi_ft.c b/base/fapi_ft.c
+index 65fa6dcf4..21aef2f06 100644
+--- a/base/fapi_ft.c
++++ b/base/fapi_ft.c
+@@ -125,7 +125,7 @@ static void
+ delete_inc_int_info(gs_fapi_server * a_server,
+ FT_IncrementalRec * a_inc_int_info);
+
+-FT_CALLBACK_DEF(void *)
++static void *
+ FF_alloc(FT_Memory memory, long size)
+ {
+ gs_memory_t *mem = (gs_memory_t *) memory->user;
+@@ -133,7 +133,7 @@ FF_alloc(FT_Memory memory, long size)
+ return (gs_malloc(mem, size, 1, "FF_alloc"));
+ }
+
+-FT_CALLBACK_DEF(void *)
++static void *
+ FF_realloc(FT_Memory memory, long cur_size, long new_size, void *block)
+ {
+ gs_memory_t *mem = (gs_memory_t *) memory->user;
+@@ -153,7 +153,7 @@ FT_CALLBACK_DEF(void *)
+ return (tmp);
+ }
+
+-FT_CALLBACK_DEF(void)
++static void
+ FF_free(FT_Memory memory, void *block)
+ {
+ gs_memory_t *mem = (gs_memory_t *) memory->user;
+--
+2.17.1
+
--- /dev/null
+From 303d5c4fef1760ede5786bc62c7012dd7ae93722 Mon Sep 17 00:00:00 2001
+Date: Sun, 8 Nov 2020 23:46:49 +0100
+Subject: [PATCH] wscript: use find_program to find wayland-scanner
+
+Use find_program instead of check_cfg to find wayland-scanner. This will
+fix the following build failure when cross-compiling:
+
+[ 3/73] Compiling doc/glmark2.1.in
+/bin/sh: 1: /usr/bin/wayland-scanner: not found
+
+Fixes:
+ - http://autobuild.buildroot.org/results//361dc40e558e2646cb93f405c7b1f621d400fea3
+
+---
+ src/wscript_build | 2 +-
+ wscript | 3 +--
+ 2 files changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/src/wscript_build b/src/wscript_build
+index bbe7a77..ed3e8d6 100644
+--- a/src/wscript_build
++++ b/src/wscript_build
+@@ -51,7 +51,7 @@ else:
+
+ if 'WAYLAND_SCANNER_wayland_scanner' in bld.env.keys():
+ def wayland_scanner_cmd(arg, src):
+- return '%s %s < %s > ${TGT}' % (bld.env['WAYLAND_SCANNER_wayland_scanner'], arg, src)
++ return '%s %s < %s > ${TGT}' % (bld.env['WAYLAND_SCANNER_wayland_scanner'][0], arg, src)
+
+ def wayland_proto_src_path(proto, ver):
+ wp_dir = bld.env['WAYLAND_PROTOCOLS_pkgdatadir']
+diff --git a/wscript b/wscript
+index e09fa78..fe2494f 100644
+--- a/wscript
++++ b/wscript
+@@ -227,8 +227,7 @@ def configure_linux(ctx):
+ # wayland-protocols >= 1.12 required for xdg-shell stable
+ ctx.check_cfg(package = 'wayland-protocols', atleast_version = '1.12',
+ variables = ['pkgdatadir'], uselib_store = 'WAYLAND_PROTOCOLS')
+- ctx.check_cfg(package = 'wayland-scanner', variables = ['wayland_scanner'],
+- uselib_store = 'WAYLAND_SCANNER')
++ ctx.find_program('wayland-scanner', var = 'WAYLAND_SCANNER_wayland_scanner')
+
+ # Prepend CXX flags so that they can be overriden by the
+ # CXXFLAGS environment variable
+--
+2.28.0
+
depends on BR2_PACKAGE_HAS_LIBGLES
depends on BR2_PACKAGE_WAYLAND
select BR2_PACKAGE_GLMARK2_FLAVOR_ANY
+ select BR2_PACKAGE_WAYLAND_PROTOCOLS
config BR2_PACKAGE_GLMARK2_FLAVOR_WAYLAND_GL
bool
depends on BR2_PACKAGE_HAS_LIBGL
depends on BR2_PACKAGE_WAYLAND
select BR2_PACKAGE_GLMARK2_FLAVOR_ANY
+ select BR2_PACKAGE_WAYLAND_PROTOCOLS
config BR2_PACKAGE_GLMARK2_FLAVOR_X11_GLESV2
bool
endif
ifeq ($(BR2_PACKAGE_GLMARK2_FLAVOR_WAYLAND_GLESV2),y)
-GLMARK2_DEPENDENCIES += libgles wayland
+GLMARK2_DEPENDENCIES += libgles wayland wayland-protocols
GLMARK2_FLAVORS += wayland-glesv2
endif
ifeq ($(BR2_PACKAGE_GLMARK2_FLAVOR_WAYLAND_GL),y)
-GLMARK2_DEPENDENCIES += libgl wayland
+GLMARK2_DEPENDENCIES += libgl wayland wayland-protocols
GLMARK2_FLAVORS += wayland-gl
endif
# From https://golang.org/dl/
-sha256 28bf9d0bcde251011caae230a4a05d917b172ea203f2a62f2c2f9533589d4b4d go1.15.2.src.tar.gz
-sha256 896a602570e54c8cdfc2c1348abd4ffd1016758d0bd086ccd9787dbfc9b64888 go1.15.3.src.tar.gz
+sha256 c1076b90cf94b73ebed62a81d802cd84d43d02dea8c07abdc922c57a071c84f1 go1.15.5.src.tar.gz
sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 LICENSE
#
################################################################################
-GO_VERSION = 1.15.3
+GO_VERSION = 1.15.5
GO_SITE = https://storage.googleapis.com/golang
GO_SOURCE = go$(GO_VERSION).src.tar.gz
GST1_PLUGINS_BAD_LICENSE_FILES = COPYING
GST1_PLUGINS_BAD_LICENSE = LGPL-2.0+
+GST1_PLUGINS_BAD_CFLAGS = $(TARGET_CFLAGS) -std=c99 -D_GNU_SOURCE
GST1_PLUGINS_BAD_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS)
GST1_PLUGINS_BAD_CONF_OPTS = \
--- /dev/null
+From 9304ad88a5f4b083d348563c5de00da53b34cf46 Mon Sep 17 00:00:00 2001
+Date: Fri, 6 Mar 2020 23:20:39 +0100
+Subject: [PATCH] Makefile.am: fix build without makeinfo
+
+Don't build doc subdir if makeinfo is not available otherwise build
+fails on:
+
+make[4]: Entering directory '/nvmedata/autobuild/instance-7/output-1/build/host-guile-2.0.14/doc/ref'
+ MAKEINFO guile.info
+/nvmedata/autobuild/instance-7/output-1/build/host-guile-2.0.14/build-aux/missing: line 81: makeinfo: command not found
+WARNING: 'makeinfo' is missing on your system.
+ You should only need it if you modified a '.texi' file, or
+ any other file indirectly affecting the aspect of the manual.
+ You might want to install the Texinfo package:
+ <http://www.gnu.org/software/texinfo/>
+ The spurious makeinfo call might also be the consequence of
+ using a buggy 'make' (AIX, DU, IRIX), in which case you might
+ want to install GNU make:
+ <http://www.gnu.org/software/make/>
+
+Fixes:
+ - http://autobuild.buildroot.org/results/9605aac6f760bfff190d0ab95fa50f65486ffe90
+
+---
+ Makefile.am | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index ebbf6d476..2270afb9f 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -38,8 +38,12 @@ SUBDIRS = \
+ test-suite \
+ benchmark-suite \
+ gc-benchmarks \
+- am \
++ am
++
++if HAVE_MAKEINFO
++SUBDIRS += \
+ doc
++endif
+
+ DIST_SUBDIRS = $(SUBDIRS) prebuilt
+
+--
+2.25.0
+
+++ /dev/null
-From 9304ad88a5f4b083d348563c5de00da53b34cf46 Mon Sep 17 00:00:00 2001
-Date: Fri, 6 Mar 2020 23:20:39 +0100
-Subject: [PATCH] Makefile.am: fix build without makeinfo
-
-Don't build doc subdir if makeinfo is not available otherwise build
-fails on:
-
-make[4]: Entering directory '/nvmedata/autobuild/instance-7/output-1/build/host-guile-2.0.14/doc/ref'
- MAKEINFO guile.info
-/nvmedata/autobuild/instance-7/output-1/build/host-guile-2.0.14/build-aux/missing: line 81: makeinfo: command not found
-WARNING: 'makeinfo' is missing on your system.
- You should only need it if you modified a '.texi' file, or
- any other file indirectly affecting the aspect of the manual.
- You might want to install the Texinfo package:
- <http://www.gnu.org/software/texinfo/>
- The spurious makeinfo call might also be the consequence of
- using a buggy 'make' (AIX, DU, IRIX), in which case you might
- want to install GNU make:
- <http://www.gnu.org/software/make/>
-
-Fixes:
- - http://autobuild.buildroot.org/results/9605aac6f760bfff190d0ab95fa50f65486ffe90
-
----
- Makefile.am | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index ebbf6d476..2270afb9f 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -38,8 +38,12 @@ SUBDIRS = \
- test-suite \
- benchmark-suite \
- gc-benchmarks \
-- am \
-+ am
-+
-+if HAVE_MAKEINFO
-+SUBDIRS += \
- doc
-+endif
-
- DIST_SUBDIRS = $(SUBDIRS) prebuilt
-
---
-2.25.0
-
GUILE_SITE = $(BR2_GNU_MIRROR)/guile
GUILE_INSTALL_STAGING = YES
# For 0002-calculate-csqrt_manually.patch and
-# 0004-Makefile.am-fix-build-without-makeinfo.patch
+# 0003-Makefile.am-fix-build-without-makeinfo.patch
GUILE_AUTORECONF = YES
GUILE_LICENSE = LGPL-3.0+
GUILE_LICENSE_FILES = LICENSE COPYING COPYING.LESSER
GUILE_CFLAGS += -O2
endif
+# jit triggers build failures with gcc < 5
+ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5),)
+GUILE_CONF_OPTS += --disable-jit
+endif
+ifeq ($(BR2_HOST_GCC_AT_LEAST_5),)
+HOST_GUILE_CONF_OPTS += --disable-jit
+endif
+
# It can use readline, but on the condition that it was build against
# ncurses. If both aren't present disable readline support since the
# host readline/ncurses support can poison the build.
--- /dev/null
+From 96bbf3a3af45d86f790afdf91a6686c37421e92b Mon Sep 17 00:00:00 2001
+Date: Sun, 15 Nov 2020 10:57:37 +0100
+Subject: [PATCH] meson.build: check for pthread.h
+
+Check for pthread.h otherwise the build will fail with some toolchains
+that have libphtread.so but not pthread.h:
+
+Run-time dependency threads found: YES
+
+../src/hb-mutex.hh:53:10: fatal error: pthread.h: No such file or directory
+ #include <pthread.h>
+ ^~~~~~~~~~~
+
+Moreover, fix detection of pthread fallback
+
+Fixes:
+ - http://autobuild.buildroot.org/results/70c98e89b1d5e5b651d1f6928dc53f465103f57a
+
+---
+ meson.build | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index bf3925db..6d263d48 100644
+--- a/meson.build
++++ b/meson.build
+@@ -284,13 +284,15 @@ endif
+ # threads
+ thread_dep = null_dep
+ if host_machine.system() != 'windows'
+- thread_dep = dependency('threads', required: false)
++ if cpp.has_header('pthread.h')
++ thread_dep = dependency('threads', required: false)
++ endif
+
+ if thread_dep.found()
+ conf.set('HAVE_PTHREAD', 1)
+ else
+ check_headers += ['sched.h']
+- check_funcs += ['sched_yield', {'link_with': 'rt'}]
++ check_funcs += [['sched_yield', {'link_with': 'rt'}]]
+ endif
+ endif
+
+--
+2.29.2
+
-# From https://sourceforge.net/projects/libjpeg-turbo/files/2.0.4/
-sha1 163d8f96d0999526a117de0388624241b54dcd67 libjpeg-turbo-2.0.4.tar.gz
-md5 d01d9e0c28c27bc0de9f4e2e8ff49855 libjpeg-turbo-2.0.4.tar.gz
+# From https://sourceforge.net/projects/libjpeg-turbo/files/2.0.5/
+sha1 9d4c565d402b2f5661be78d76098073ec7e30f10 libjpeg-turbo-2.0.5.tar.gz
+md5 3a7dc293918775fc933f81e2bce36464 libjpeg-turbo-2.0.5.tar.gz
# Locally computed
-sha256 33dd8547efd5543639e890efbf2ef52d5a21df81faf41bb940657af916a23406 libjpeg-turbo-2.0.4.tar.gz
+sha256 16f8f6f2715b3a38ab562a84357c793dd56ae9899ce130563c72cd93d8357b5d libjpeg-turbo-2.0.5.tar.gz
sha256 69e570a251515ced17d4492256d57c89db77ed949652f88a44c80c1ca9607920 LICENSE.md
sha256 82fece2bff2669c476495f0fe70096b154e8bc5b40916a64e99836d9a01c3110 README.ijg
#
################################################################################
-JPEG_TURBO_VERSION = 2.0.4
+JPEG_TURBO_VERSION = 2.0.5
JPEG_TURBO_SOURCE = libjpeg-turbo-$(JPEG_TURBO_VERSION).tar.gz
JPEG_TURBO_SITE = https://downloads.sourceforge.net/project/libjpeg-turbo/$(JPEG_TURBO_VERSION)
JPEG_TURBO_LICENSE = IJG (libjpeg), BSD-3-Clause (TurboJPEG), Zlib (SIMD)
# Locally computed
-sha256 8593c1d69e703563d94d8c12244e2e18893eeb9a8a9f8aa3d09a327aa45c8f7d jsoncpp-1.9.3.tar.gz
+sha256 e34a628a8142643b976c7233ef381457efad79468c67cb1ae0b83a33d7493999 jsoncpp-1.9.4.tar.gz
sha256 95039d77a20e75b428207740d9a8f97b2dce3c89da4b21f1ad862b5997160e0a LICENSE
#
################################################################################
-JSONCPP_VERSION = 1.9.3
+JSONCPP_VERSION = 1.9.4
JSONCPP_SITE = $(call github,open-source-parsers,jsoncpp,$(JSONCPP_VERSION))
JSONCPP_LICENSE = Public Domain or MIT
JSONCPP_LICENSE_FILES = LICENSE
# Locally computed
sha256 ec135069d8bee7f4fe38cb9dc96fbbd56e0057290fa25eff8b5b314ee473c502 kmscube-4660a7dca6512b6e658759d00cff7d4ad2a2059d.tar.gz
+sha256 f622099ab0d274133f6e62d5fccfe970b61134d80ed036f45f8cf1e90c3d5a05 COPYING
KMSCUBE_VERSION = 4660a7dca6512b6e658759d00cff7d4ad2a2059d
KMSCUBE_SITE = https://gitlab.freedesktop.org/mesa/kmscube/-/archive/$(KMSCUBE_VERSION)
KMSCUBE_LICENSE = MIT
+KMSCUBE_LICENSE_FILES = COPYING
KMSCUBE_DEPENDENCIES = host-pkgconf mesa3d libdrm
$(eval $(meson-package))
--- /dev/null
+From 9b1c003748d4df78416d50fce139f0875224440b Mon Sep 17 00:00:00 2001
+Date: Tue, 10 Nov 2020 20:47:45 -0800
+Subject: [PATCH] Migrate building progs/tcapsh-static to sudotest
+
+This addresses:
+
+ https://bugzilla.kernel.org/show_bug.cgi?id=210135
+ https://bugs.busybox.net/show_bug.cgi?id=13296
+
+Some notes on expectations:
+
+When building DYNAMIC=yes folk want to avoid depending on a
+static libc.a file in their build tree. The best we can do is
+to move building static test tool objects to sudotest.
+
+ make DYNAMIC=yes clean all test
+
+will build the progs binaries and run the tests with all dynamic
+linking. It will, however, build the libcap.a etc libraries too
+even though they are not used for linking.
+
+ make DYNAMIC=no clean all test
+
+will build the progs binaries and run the tests with all static
+linking. It will, however, build the libcap.so etc libraries too
+even though they are not used for linking.
+
+ make SHARED=no clean all test
+
+will build and link progs and test binaries statically against
+libcap.a. No shared libraries (libcap.so etc) will be built.
+
+In all cases, whether linked against or not, libcap.a is built.
+
+[Patch taken from upstream:
+https://git.kernel.org/pub/scm/libs/libcap/libcap.git/commit/?id=9b1c003748d4df78416d50fce139f0875224440b]
+---
+ tests/Makefile | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/tests/Makefile b/tests/Makefile
+index fc39fee..1e7039d 100644
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -17,13 +17,13 @@ install: all
+
+ ifeq ($(DYNAMIC),yes)
+ LINKEXTRA=-Wl,-rpath,../libcap
+-DEPS=../libcap/libcap.so ../progs/tcapsh-static
++DEPS=../libcap/libcap.so
+ ifeq ($(PTHREADS),yes)
+ DEPS += ../libcap/libpsx.so
+ endif
+ else
+ LDFLAGS += --static
+-DEPS=../libcap/libcap.a ../progs/tcapsh-static
++DEPS=../libcap/libcap.a
+ ifeq ($(PTHREADS),yes)
+ DEPS += ../libcap/libpsx.a
+ endif
+@@ -71,10 +71,10 @@ libcap_psx_test: libcap_psx_test.c $(DEPS)
+ $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LINKEXTRA) $(LIBCAPLIB) $(LIBPSXLIB) $(LDFLAGS)
+
+ # privileged
+-run_libcap_launch_test: libcap_launch_test noop
++run_libcap_launch_test: libcap_launch_test noop ../progs/tcapsh-static
+ sudo ./libcap_launch_test
+
+-run_libcap_psx_launch_test: libcap_psx_launch_test
++run_libcap_psx_launch_test: libcap_psx_launch_test ../progs/tcapsh-static
+ sudo ./libcap_psx_launch_test
+
+ libcap_launch_test: libcap_launch_test.c $(DEPS)
+--
+2.20.1
+
--- /dev/null
+From ce03ad7ef4e8aeefce79192bf5b6f69fae396f0c Mon Sep 17 00:00:00 2001
+Date: Mon, 8 Jun 2020 17:27:06 +0200
+Subject: [PATCH] fixed another unsigned integer overflow
+
+first fixed by google in android fork,
+https://android.googlesource.com/platform/external/libexif/+/1e187b62682ffab5003c702657d6d725b4278f16%5E%21/#F0
+
+(use a more generic overflow check method, also check second overflow instance.)
+
+https://security-tracker.debian.org/tracker/CVE-2020-0198
+
+Downloaded from upstream commit:
+https://github.com/libexif/libexif/commit/ce03ad7ef4e8aeefce79192bf5b6f69fae396f0c
+
+---
+ libexif/exif-data.c | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/libexif/exif-data.c b/libexif/exif-data.c
+index 8b280d3..b495726 100644
+--- a/libexif/exif-data.c
++++ b/libexif/exif-data.c
+@@ -47,6 +47,8 @@
+ #undef JPEG_MARKER_APP1
+ #define JPEG_MARKER_APP1 0xe1
+
++#define CHECKOVERFLOW(offset,datasize,structsize) (( offset >= datasize) || (structsize > datasize) || (offset > datasize - structsize ))
++
+ static const unsigned char ExifHeader[] = {0x45, 0x78, 0x69, 0x66, 0x00, 0x00};
+
+ struct _ExifDataPrivate
+@@ -327,7 +329,7 @@ exif_data_load_data_thumbnail (ExifData *data, const unsigned char *d,
+ exif_log (data->priv->log, EXIF_LOG_CODE_DEBUG, "ExifData", "Bogus thumbnail offset (%u).", o);
+ return;
+ }
+- if (s > ds - o) {
++ if (CHECKOVERFLOW(o,ds,s)) {
+ exif_log (data->priv->log, EXIF_LOG_CODE_DEBUG, "ExifData", "Bogus thumbnail size (%u), max would be %u.", s, ds-o);
+ return;
+ }
+@@ -420,9 +422,9 @@ exif_data_load_data_content (ExifData *data, ExifIfd ifd,
+ }
+
+ /* Read the number of entries */
+- if ((offset + 2 < offset) || (offset + 2 < 2) || (offset + 2 > ds)) {
++ if (CHECKOVERFLOW(offset, ds, 2)) {
+ exif_log (data->priv->log, EXIF_LOG_CODE_CORRUPT_DATA, "ExifData",
+- "Tag data past end of buffer (%u > %u)", offset+2, ds);
++ "Tag data past end of buffer (%u+2 > %u)", offset, ds);
+ return;
+ }
+ n = exif_get_short (d + offset, data->priv->order);
+@@ -431,7 +433,7 @@ exif_data_load_data_content (ExifData *data, ExifIfd ifd,
+ offset += 2;
+
+ /* Check if we have enough data. */
+- if (offset + 12 * n > ds) {
++ if (CHECKOVERFLOW(offset, ds, 12*n)) {
+ n = (ds - offset) / 12;
+ exif_log (data->priv->log, EXIF_LOG_CODE_DEBUG, "ExifData",
+ "Short data; only loading %hu entries...", n);
--- /dev/null
+From 9266d14b5ca4e29b970fa03272318e5f99386e06 Mon Sep 17 00:00:00 2001
+Date: Thu, 5 Nov 2020 09:50:08 +0100
+Subject: [PATCH] fixed a incorrect overflow check that could be optimized
+ away.
+
+inspired by:
+https://android.googlesource.com/platform/external/libexif/+/8e7345f3bc0bad06ac369d6cbc1124c8ceaf7d4b
+
+https://source.android.com/security/bulletin/2020-11-01
+
+CVE-2020-0452
+
+Downloaded from upstream commit, rebased for 0.6.22:
+https://github.com/libexif/libexif/commit/9266d14b5ca4e29b970fa03272318e5f99386e06
+
+---
+ libexif/exif-entry.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libexif/exif-entry.c b/libexif/exif-entry.c
+index 3fc0ff9..4b866ce 100644
+--- a/libexif/exif-entry.c
++++ b/libexif/exif-entry.c
+@@ -1371,8 +1371,8 @@ exif_entry_get_value (ExifEntry *e, char *val, unsigned int maxlen)
+ {
+ unsigned char *utf16;
+
+- /* Sanity check the size to prevent overflow */
+- if (e->size+sizeof(uint16_t)+1 < e->size) break;
++ /* Sanity check the size to prevent overflow. Note EXIF files are 64kb at most. */
++ if (e->size >= 65536 - sizeof(uint16_t)*2) break;
+
+ /* The tag may not be U+0000-terminated , so make a local
+ U+0000-terminated copy before converting it */
LIBEXIF_DEPENDENCIES = host-pkgconf
LIBEXIF_LICENSE = LGPL-2.1+
LIBEXIF_LICENSE_FILES = COPYING
+# 0001-fixed-another-unsigned-integer-overflow.patch
+LIBEXIF_IGNORE_CVES += CVE-2020-0198
+# 0002-fixed-a-incorrect-overflow-check.patch
+LIBEXIF_IGNORE_CVES += CVE-2020-0452
$(eval $(autotools-package))
# Locally calculated
-sha256 8111031dd9dd6093a1927eb32dd7476fe22cfee9190043aa8e4c88003c104b16 libiqrf-0.1.2.tar.gz
+sha256 8111031dd9dd6093a1927eb32dd7476fe22cfee9190043aa8e4c88003c104b16 libiqrf-0.1.2.tar.gz
+sha256 11e0700d7c23604d86fa1e7c54c7caa778d79eeb0035be8f80b5a552224ef015 src/iqrf.c
LIBIQRF_INSTALL_STAGING = YES
LIBIQRF_DEPENDENCIES = libusb
LIBIQRF_LICENSE = LGPL-2.1+
+LIBIQRF_LICENSE_FILES = src/iqrf.c
$(eval $(cmake-package))
--- /dev/null
+From 93bbd7e56cefc8488a61892b3bf5df63a175d20d Mon Sep 17 00:00:00 2001
+Date: Sun, 12 Apr 2020 14:05:15 +0200
+Subject: [PATCH] libnetfilter_conntrack.pc.in: add LIBMNL_LIBS to Libs.Private
+
+Since version 1.0.8 and commit
+c1c0f16c1fedb46547c2e104beeaaeac5933b214, libnetfilter_conntrack depends
+on libmnl so add it to Libs.Private.
+
+Otherwise, applications such as dnsmasq will fail to link on:
+
+/home/buildroot/autobuild/instance-0/output-1/host/bin/arm-linux-gcc -Wl,-elf2flt -static -o dnsmasq cache.o rfc1035.o util.o option.o forward.o network.o dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o helper.o tftp.o log.o conntrack.o dhcp6.o rfc3315.o dhcp-common.o outpacket.o radv.o slaac.o auth.o ipset.o domain.o dnssec.o blockdata.o tables.o loop.o inotify.o poll.o rrfilter.o edns0.o arp.o crypto.o dump.o ubus.o metrics.o -L/home/buildroot/autobuild/instance-0/output-1/host/bin/../arm-buildroot-uclinux-uclibcgnueabi/sysroot/usr/lib -lnetfilter_conntrack -L/home/buildroot/autobuild/instance-0/output-1/host/bin/../arm-buildroot-uclinux-uclibcgnueabi/sysroot/usr/lib -lnfnetlink
+/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: /home/buildroot/autobuild/instance-0/output-1/host/bin/../arm-buildroot-uclinux-uclibcgnueabi/sysroot/usr/lib/libnetfilter_conntrack.a(api.o): in function `nfct_fill_hdr.constprop.4':
+api.c:(.text+0x34): undefined reference to `mnl_nlmsg_put_header'
+
+Fixes:
+ - http://autobuild.buildroot.org/results/3fdc2cba20162eb86eaa5c49a056fb40fb18a392
+
+[Upstream status: commit e94172f09e4d]
+---
+ libnetfilter_conntrack.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libnetfilter_conntrack.pc.in b/libnetfilter_conntrack.pc.in
+index 857f993..fbd7132 100644
+--- a/libnetfilter_conntrack.pc.in
++++ b/libnetfilter_conntrack.pc.in
+@@ -12,5 +12,5 @@ Version: @VERSION@
+ Requires: libnfnetlink
+ Conflicts:
+ Libs: -L${libdir} -lnetfilter_conntrack
+-Libs.private: @LIBNFNETLINK_LIBS@
++Libs.private: @LIBNFNETLINK_LIBS@ @LIBMNL_LIBS@
+ Cflags: -I${includedir}
+--
+2.25.1
+
--- /dev/null
+From 88c78901503d50d0a62d85c96994ca4d67ab61e0 Mon Sep 17 00:00:00 2001
+Date: Fri, 13 Nov 2020 20:50:27 +0100
+Subject: [PATCH] Add an option to disable -Werror
+
+Allow the user to disable -Werror to avoid the following build failure
+with gcc 4.8:
+
+libtac/lib/magic.c:138:13: error: ignoring return value of 'read', declared with attribute warn_unused_result [-Werror=unused-result]
+ (void) read(rfd, &seed, sizeof(seed));
+ ^
+
+Fixes:
+ - http://autobuild.buildroot.org/results/5c17226f12eba104d907693ec37fc101cc6d447f
+
+---
+ Makefile.am | 6 +++++-
+ configure.ac | 3 +++
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 0be3cdb..4a137e9 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -8,7 +8,11 @@
+
+ ACLOCAL_AMFLAGS = -I config
+ AUTOMAKE_OPTIONS = subdir-objects
+-AM_CFLAGS = -Wall -Wextra -Werror
++AM_CFLAGS = -Wall -Wextra
++
++if ENABLE_WERROR
++AM_CFLAGS += -Werror
++endif
+
+ if TACC
+ bin_PROGRAMS = tacc
+diff --git a/configure.ac b/configure.ac
+index d0c5eba..dd8a966 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -100,6 +100,9 @@ AC_SUBST(pamdir)
+ AC_ARG_ENABLE(doc, AS_HELP_STRING([--disable-doc], [do not build docs]))
+ AM_CONDITIONAL(DOC, test "x$enable_doc" != "xno")
+
++AC_ARG_ENABLE(werror, AS_HELP_STRING([--disable-werror], [do not build with -Werror]))
++AM_CONDITIONAL(ENABLE_WERROR, test "x$enable_werror" != "xno")
++
+ dnl --------------------------------------------------------------------
+ dnl Switch for run-time debugging
+ AC_ARG_ENABLE(runtime-debugging, [AS_HELP_STRING([--enable-runtime-debugging],
+--
+2.28.0
+
linux-pam \
$(if $(BR2_PACKAGE_OPENSSL),openssl)
# Fetching from github, we need to generate the configure script
+# 0001-Add-an-option-to-disable-Werror.patch
LIBPAM_TACPLUS_AUTORECONF = YES
LIBPAM_TACPLUS_INSTALL_STAGING = YES
LIBPAM_TACPLUS_CONF_ENV = \
ax_cv_check_cflags___fstack_protector_all=$(if $(BR2_TOOLCHAIN_HAS_SSP),yes,no)
+LIBPAM_TACPLUS_CONF_OPTS = --disable-werror
$(eval $(autotools-package))
--- /dev/null
+From 9b0ad5177bd692f7556a4756bdbd2da81d9c34ce Mon Sep 17 00:00:00 2001
+Date: Tue, 4 Aug 2020 09:19:44 +0200
+Subject: [PATCH] configure.ac: Add support for Python 3.9.
+
+[Retrieved from:
+https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commit;h=9b0ad5177bd692f7556a4756bdbd2da81d9c34ce]
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index f9958b3..2917cb3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -100,7 +100,7 @@ SR_PKG_CHECK_SUMMARY([srd_pkglibs_summary])
+ # first, since usually only that variant will add "-lpython3.8".
+ # https://docs.python.org/3/whatsnew/3.8.html#debug-build-uses-the-same-abi-as-release-build
+ SR_PKG_CHECK([python3], [SRD_PKGLIBS],
+- [python-3.8-embed], [python-3.8 >= 3.8], [python-3.7 >= 3.7], [python-3.6 >= 3.6], [python-3.5 >= 3.5], [python-3.4 >= 3.4], [python-3.3 >= 3.3], [python-3.2 >= 3.2], [python3 >= 3.2])
++ [python-3.9-embed], [python-3.8-embed], [python-3.8 >= 3.8], [python-3.7 >= 3.7], [python-3.6 >= 3.6], [python-3.5 >= 3.5], [python-3.4 >= 3.4], [python-3.3 >= 3.3], [python-3.2 >= 3.2], [python3 >= 3.2])
+ AS_IF([test "x$sr_have_python3" = xno],
+ [AC_MSG_ERROR([Cannot find Python 3 development headers.])])
+
+--
+2.24.0.rc2
+
LIBSIGROKDECODE_LICENSE_FILES = COPYING
LIBSIGROKDECODE_INSTALL_STAGING = YES
LIBSIGROKDECODE_DEPENDENCIES = host-pkgconf libglib2 python3
+# We're patching configure.ac
+LIBSIGROKDECODE_AUTORECONF = YES
$(eval $(autotools-package))
LINUX_BACKPORTS_LICENSE = GPL-2.0
LINUX_BACKPORTS_LICENSE_FILES = COPYING
+# flex and bison are needed to generate kconfig parser. We use the
+# same logic as the linux kernel (we add host dependencies only if
+# host does not have them). See linux/linux.mk and
+# support/dependencies/check-host-bison-flex.mk.
+LINUX_BACKPORTS_DEPENDENCIES = \
+ $(BR2_BISON_HOST_DEPENDENCY) \
+ $(BR2_FLEX_HOST_DEPENDENCY)
+
ifeq ($(BR2_PACKAGE_LINUX_BACKPORTS_USE_DEFCONFIG),y)
LINUX_BACKPORTS_KCONFIG_FILE = $(LINUX_BACKPORTS_DIR)/defconfigs/$(call qstrip,$(BR2_PACKAGE_LINUX_BACKPORTS_DEFCONFIG))
else ifeq ($(BR2_PACKAGE_LINUX_BACKPORTS_USE_CUSTOM_CONFIG),y)
# LINUX_BACKPORTS_MODULE_MAKE_OPTS is used by the kernel-module infra.
#
LINUX_BACKPORTS_MAKE_OPTS = \
+ LEX=flex \
+ YACC=bison \
BACKPORT_DIR=$(@D) \
KLIB_BUILD=$(LINUX_DIR) \
KLIB=$(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED) \
# not have been parsed yet, so the Linux build dir LINUX_DIR is not yet
# known. Thus, we use a "secondary expansion" so the rule is re-evaluated
# after all Makefiles are parsed, and thus at that time we will have the
-# LINUX_DIR variable set to the proper value.
+# LINUX_DIR variable set to the proper value. Moreover, since linux-4.19,
+# the kernel's build system internally touches its .config file, so we
+# can't use it as a stamp file. We use the LINUX_KCONFIG_STAMP_DOTCONFIG
+# instead.
#
# Furthermore, we want to check the kernel version, since linux-backports
# only supports kernels >= 3.0. To avoid overriding linux-backports'
-# .config rule defined in the kconfig-package infra, we use an
-# intermediate stamp-file.
+# KCONFIG_STAMP_DOTCONFIG rule defined in the kconfig-package infra, we
+# use an intermediate stamp-file.
#
# Finally, it must also come after the call to kconfig-package, so we get
# LINUX_BACKPORTS_DIR properly defined (because the target part of the
# rule is not re-evaluated).
#
-$(LINUX_BACKPORTS_DIR)/.config: $(LINUX_BACKPORTS_DIR)/.stamp_check_kernel_version
+$(LINUX_BACKPORTS_DIR)/$(LINUX_BACKPORTS_KCONFIG_STAMP_DOTCONFIG): $(LINUX_BACKPORTS_DIR)/.stamp_check_kernel_version
.SECONDEXPANSION:
-$(LINUX_BACKPORTS_DIR)/.stamp_check_kernel_version: $$(LINUX_DIR)/.config
+$(LINUX_BACKPORTS_DIR)/.stamp_check_kernel_version: $$(LINUX_DIR)/$$(LINUX_KCONFIG_STAMP_DOTCONFIG)
$(Q)LINUX_VERSION_PROBED=$(LINUX_VERSION_PROBED); \
if [ $${LINUX_VERSION_PROBED%%.*} -lt 3 ]; then \
printf "Linux version '%s' is too old for linux-backports (needs 3.0 or later)\n" \
help
Firmware files for the Atheros 9271 module
+config BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA9377
+ bool "Atheros 10k (QCA9377)"
+ help
+ Firmware files for the Atheros QCA9377 module
+
config BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA998X
bool "Atheros 10k (QCA998X)"
help
endif
# ath10k
+ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA9377),y)
+LINUX_FIRMWARE_FILES += ath10k/QCA9377/hw1.0/board-2.bin \
+ ath10k/QCA9377/hw1.0/board.bin \
+ ath10k/QCA9377/hw1.0/firmware-5.bin \
+ ath10k/QCA9377/hw1.0/firmware-6.bin
+LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
+endif
+
ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA998X),y)
LINUX_FIRMWARE_FILES += ath10k/QCA988X/hw2.0/board.bin \
ath10k/QCA988X/hw2.0/firmware-4.bin \
config BR2_DEFAULT_KERNEL_HEADERS
string
- default "4.4.238" if BR2_KERNEL_HEADERS_4_4
- default "4.9.238" if BR2_KERNEL_HEADERS_4_9
- default "4.14.200" if BR2_KERNEL_HEADERS_4_14
- default "4.19.150" if BR2_KERNEL_HEADERS_4_19
- default "5.4.70" if BR2_KERNEL_HEADERS_5_4
- default "5.8.14" if BR2_KERNEL_HEADERS_5_8
- default "5.9" if BR2_KERNEL_HEADERS_5_9
+ default "4.4.243" if BR2_KERNEL_HEADERS_4_4
+ default "4.9.243" if BR2_KERNEL_HEADERS_4_9
+ default "4.14.206" if BR2_KERNEL_HEADERS_4_14
+ default "4.19.157" if BR2_KERNEL_HEADERS_4_19
+ default "5.4.77" if BR2_KERNEL_HEADERS_5_4
+ default "5.8.18" if BR2_KERNEL_HEADERS_5_8
+ default "5.9.8" if BR2_KERNEL_HEADERS_5_9
default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION
default "custom" if BR2_KERNEL_HEADERS_CUSTOM_TARBALL
default BR2_KERNEL_HEADERS_CUSTOM_REPO_VERSION \
# Locally calculated
-sha256 cbb0cac5825e940b4ea2f31a336d2aaf6db39847d456920afd8e443804420dbb lzlib-0.4.3.tar.gz
+sha256 cbb0cac5825e940b4ea2f31a336d2aaf6db39847d456920afd8e443804420dbb lzlib-0.4.3.tar.gz
+sha256 f817d4a37077e94e9adf379f46ba5cc0b68775d7add2bbd5b2ca68ba140ad5bb lzlib.c
LZLIB_SITE = $(call github,LuaDist,lzlib,$(LZLIB_VERSION))
LZLIB_DEPENDENCIES = lua zlib
LZLIB_LICENSE = MIT
+LZLIB_LICENSE_FILES = lzlib.c
LZLIB_CONF_OPTS = -DINSTALL_CMOD="/usr/lib/lua/$(LUAINTERPRETER_ABIVER)" \
-DINSTALL_LMOD="/usr/share/lua/$(LUAINTERPRETER_ABIVER)"
# Not possible to directly refer to mesa3d variables, because of
# first/second expansion trickery...
-MESA3D_HEADERS_VERSION = 20.2.1
+MESA3D_HEADERS_VERSION = 20.2.2
MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz
MESA3D_HEADERS_SITE = https://mesa.freedesktop.org/archive
MESA3D_HEADERS_DL_SUBDIR = mesa3d
--- /dev/null
+From da691ec75cc8a7b2d0ac0c5894521afda4bc601d Mon Sep 17 00:00:00 2001
+Date: Thu, 15 Oct 2020 12:14:57 +0100
+Subject: [PATCH] meson: Add xcb-fixes to loader when using x11 and dri3. Fixes
+ undefined symbol for xcb_xfixes_create_region in loader_dri3_helper.c
+
+loader_dr3_helper.c uses xcb_xfixes_create_region() that requires dep_xcb_xfixes to link. This is dependent on with_platform_x11 and with_dri3.
+But the source meson file does not set this up dependent on with_dri3.
+The build was initialsed using platforms=x11 and gallium-drivers=zink,swrast.
+
+Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7164>
+(cherry picked from commit cf17d6251653f4a98e7c4f904ea2f0bc0ecedd5c)
+---
+ meson.build | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index fbd3c4b8e8d..670cb521a2b 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1742,7 +1742,8 @@ if with_platform_x11
+ dep_xxf86vm = dependency('xxf86vm')
+ endif
+ endif
+- if (with_egl or (
++ if (with_egl or
++ with_dri3 or (
+ with_gallium_vdpau or with_gallium_xvmc or with_gallium_xa or
+ with_gallium_omx != 'disabled'))
+ dep_xcb_xfixes = dependency('xcb-xfixes')
+--
+2.25.4
+
-# From https://lists.freedesktop.org/archives/mesa-announce/2020-October/000602.html
-sha256 d1a46d9a3f291bc0e0374600bdcb59844fa3eafaa50398e472a36fc65fd0244a mesa-20.2.1.tar.xz
-sha512 5d609359754db3e3679bffd5306c1f1d1cf46a2ea98428a9451fe0d99bbf73da863c5d94e6561712cd2012ad13615666cf3d712e54f379b34c091fead39d4795 mesa-20.2.1.tar.xz
+# From https://lists.freedesktop.org/archives/mesa-announce/2020-November/000604.html
+sha256 1f93eb1090cf71490cd0e204e04f8427a82b6ed534b7f49ca50cea7dcc89b861 mesa-20.2.2.tar.xz
+sha512 36673a44fad8c6db3516b23b75825a52df520b9fe1387160301dd5051f420ebf0d1c7b4f8ff96a5547b79c2ba42fd782305ae23ac956f688b695c07b8fe73192 mesa-20.2.2.tar.xz
# License
sha256 1361129baa4519b6ed27a1bf4aeee33a58b060bf7bb9b6ea415ecede04e35e46 docs/license.rst
################################################################################
# When updating the version, please also update mesa3d-headers
-MESA3D_VERSION = 20.2.1
+MESA3D_VERSION = 20.2.2
MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz
MESA3D_SITE = https://mesa.freedesktop.org/archive
MESA3D_LICENSE = MIT, SGI, Khronos
select BR2_PACKAGE_DBUS # runtime dependency
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_LIBGUDEV if BR2_PACKAGE_HAS_UDEV
- select BR2_PACKAGE_LIBXSLT
help
ModemManager is a DBus-activated daemon which controls mobile
broadband (2G/3G/4G) devices and connections.
# Locally computed
-sha256 783d5da925b2ca69f6233fcead691dd0f5cba06aa479d71495efdc07053fc0fd ModemManager-1.14.6.tar.xz
+sha256 fe1a26ba51b4bda7abd09ad4dadedd87d8b8154809fc9d88e94f75fdfff19295 ModemManager-1.14.8.tar.xz
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB
#
################################################################################
-MODEM_MANAGER_VERSION = 1.14.6
+MODEM_MANAGER_VERSION = 1.14.8
MODEM_MANAGER_SOURCE = ModemManager-$(MODEM_MANAGER_VERSION).tar.xz
MODEM_MANAGER_SITE = http://www.freedesktop.org/software/ModemManager
MODEM_MANAGER_LICENSE = GPL-2.0+ (programs, plugins), LGPL-2.0+ (libmm-glib)
MODEM_MANAGER_LICENSE_FILES = COPYING COPYING.LIB
-MODEM_MANAGER_DEPENDENCIES = host-pkgconf libglib2 libxslt $(TARGET_NLS_DEPENDENCIES)
+MODEM_MANAGER_DEPENDENCIES = host-pkgconf libglib2 $(TARGET_NLS_DEPENDENCIES)
MODEM_MANAGER_INSTALL_STAGING = YES
MODEM_MANAGER_CONF_OPTS = --disable-more-warnings
--- /dev/null
+From a5ca35b044bbf13c0b16f0066bf24646604bb218 Mon Sep 17 00:00:00 2001
+Date: Thu, 6 Aug 2020 15:22:04 +0200
+Subject: [PATCH] Static cast to unsigned int for cases
+
+[Retrieved from:
+https://gitweb.gentoo.org/repo/gentoo.git/tree/media-libs/libmp4v2/files/libmp4v2-2.0.0-unsigned-int-cast.patch]
+---
+ libutil/Utility.cpp | 2 +-
+ util/mp4art.cpp | 2 +-
+ util/mp4chaps.cpp | 2 +-
+ util/mp4file.cpp | 2 +-
+ util/mp4subtitle.cpp | 2 +-
+ util/mp4track.cpp | 2 +-
+ 6 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/libutil/Utility.cpp b/libutil/Utility.cpp
+index 76cdd12..d6739d4 100644
+--- a/libutil/Utility.cpp
++++ b/libutil/Utility.cpp
+@@ -493,7 +493,7 @@ Utility::process_impl()
+ if( codes.find( code ) == codes.end() )
+ continue;
+
+- switch( code ) {
++ switch( static_cast<unsigned int>( code ) ) {
+ case 'z':
+ _optimize = true;
+ break;
+diff --git a/util/mp4art.cpp b/util/mp4art.cpp
+index add935e..6e7f531 100644
+--- a/util/mp4art.cpp
++++ b/util/mp4art.cpp
+@@ -376,7 +376,7 @@ ArtUtility::utility_option( int code, bool& handled )
+ {
+ handled = true;
+
+- switch( code ) {
++ switch( static_cast<unsigned int> ( code ) ) {
+ case LC_ART_ANY:
+ _artFilter = numeric_limits<uint32_t>::max();
+ break;
+diff --git a/util/mp4chaps.cpp b/util/mp4chaps.cpp
+index 98400f8..ccc8b70 100644
+--- a/util/mp4chaps.cpp
++++ b/util/mp4chaps.cpp
+@@ -632,7 +632,7 @@ ChapterUtility::utility_option( int code, bool& handled )
+ {
+ handled = true;
+
+- switch( code ) {
++ switch( static_cast<unsigned int> ( code ) ) {
+ case 'A':
+ case LC_CHPT_ANY:
+ _ChapterType = MP4ChapterTypeAny;
+diff --git a/util/mp4file.cpp b/util/mp4file.cpp
+index c27844b..b127cd1 100644
+--- a/util/mp4file.cpp
++++ b/util/mp4file.cpp
+@@ -189,7 +189,7 @@ FileUtility::utility_option( int code, bool& handled )
+ {
+ handled = true;
+
+- switch( code ) {
++ switch( static_cast<unsigned int>( code ) ) {
+ case LC_LIST:
+ _action = &FileUtility::actionList;
+ break;
+diff --git a/util/mp4subtitle.cpp b/util/mp4subtitle.cpp
+index 7462153..19d977d 100644
+--- a/util/mp4subtitle.cpp
++++ b/util/mp4subtitle.cpp
+@@ -164,7 +164,7 @@ SubtitleUtility::utility_option( int code, bool& handled )
+ {
+ handled = true;
+
+- switch( code ) {
++ switch( static_cast<unsigned int>( code ) ) {
+ case LC_LIST:
+ _action = &SubtitleUtility::actionList;
+ break;
+diff --git a/util/mp4track.cpp b/util/mp4track.cpp
+index d550506..cd63d7e 100644
+--- a/util/mp4track.cpp
++++ b/util/mp4track.cpp
+@@ -788,7 +788,7 @@ TrackUtility::utility_option( int code, bool& handled )
+ {
+ handled = true;
+
+- switch( code ) {
++ switch( static_cast<unsigned int>( code ) ) {
+ case LC_TRACK_WILDCARD:
+ _trackMode = TM_WILDCARD;
+ break;
+--
+2.28.0
+
NUMACTL_LICENSE_FILES = README.md
NUMACTL_INSTALL_STAGING = YES
NUMACTL_AUTORECONF = YES
+NUMACTL_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -fPIC"
$(eval $(autotools-package))
+++ /dev/null
-From cbe9f8bd9cfc6c3c87a60fbae58fa1a85db59df0 Mon Sep 17 00:00:00 2001
-Date: Mon, 21 Sep 2020 12:58:29 +0900
-Subject: [PATCH] #207: Out-of-bounds write
-
-[Retrieved from:
-https://github.com/kkos/oniguruma/commit/cbe9f8bd9cfc6c3c87a60fbae58fa1a85db59df0]
----
- src/regcomp.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/regcomp.c b/src/regcomp.c
-index f6494b6d..a0a68561 100644
---- a/src/regcomp.c
-+++ b/src/regcomp.c
-@@ -6257,7 +6257,7 @@ concat_opt_exact_str(OptStr* to, UChar* s, UChar* end, OnigEncoding enc)
-
- for (i = to->len, p = s; p < end && i < OPT_EXACT_MAXLEN; ) {
- len = enclen(enc, p);
-- if (i + len > OPT_EXACT_MAXLEN) break;
-+ if (i + len >= OPT_EXACT_MAXLEN) break;
- for (j = 0; j < len && p < end; j++)
- to->s[i++] = *p++;
- }
# Locally calculated
-sha256 2f25cc3165e6da4b12dcabdb6b77c48f436d835e127ec2e3cad7abae9ea8e9a6 onig-6.9.5.tar.gz
+sha256 bd0faeb887f748193282848d01ec2dad8943b5dfcb8dc03ed52dcc963549e819 onig-6.9.6.tar.gz
sha256 6c7038393e8f30fee16257e713f77e383712f1465d6d25929596746b10b42bd3 COPYING
#
################################################################################
-ONIGURUMA_VERSION = 6.9.5
+ONIGURUMA_VERSION = 6.9.6
ONIGURUMA_SITE = \
https://github.com/kkos/oniguruma/releases/download/v$(ONIGURUMA_VERSION)
ONIGURUMA_SOURCE = onig-$(ONIGURUMA_VERSION).tar.gz
ONIGURUMA_LICENSE_FILES = COPYING
ONIGURUMA_INSTALL_STAGING = YES
-# 0001-207-Out-of-bounds-write.patch
-ONIGURUMA_IGNORE_CVES += CVE-2020-26159
-
$(eval $(autotools-package))
--- /dev/null
+From bc2cd89715155fe1fead19338dac5f4059917dfe Mon Sep 17 00:00:00 2001
+Date: Thu, 20 Jun 2019 13:52:22 -0700
+Subject: [PATCH] Provide fallback definition for __packed
+
+Otherwise, systems that don't support it will treat it as a name for a
+global `struct ntp_msg` variable.
+
+[Retrieved from:
+https://github.com/openntpd-portable/openntpd-portable/commit/bc2cd89715155fe1fead19338dac5f4059917dfe]
+---
+ include/sys/types.h | 4 ++++
+ m4/check-os-options.m4 | 1 +
+ 2 files changed, 5 insertions(+)
+
+diff --git a/include/sys/types.h b/include/sys/types.h
+index 86821c7..5492e20 100644
+--- a/include/sys/types.h
++++ b/include/sys/types.h
+@@ -22,6 +22,10 @@
+ # define __bounded__(x, y, z)
+ #endif
+
++#if !defined(HAVE_ATTRIBUTE__PACKED) && !defined(__packed)
++# define __packed __attribute__((__packed__))
++#endif
++
+ /*
+ * Define BSD-style unsigned bits types for systems that do not have them.
+ */
+diff --git a/m4/check-os-options.m4 b/m4/check-os-options.m4
+index d4d02d9..4883d1f 100644
+--- a/m4/check-os-options.m4
++++ b/m4/check-os-options.m4
+@@ -69,6 +69,7 @@ case $host_os in
+ HOST_ABI=elf
+ AC_DEFINE([HAVE_ATTRIBUTE__BOUNDED__], [1], [OpenBSD gcc has bounded])
+ AC_DEFINE([HAVE_ATTRIBUTE__DEAD], [1], [OpenBSD gcc has __dead])
++ AC_DEFINE([HAVE_ATTRIBUTE__PACKED], [1], [OpenBSD gcc has __packed])
+ ;;
+ *solaris*)
+ HOST_OS=solaris
--- /dev/null
+From 956b4239d919d6922b9ba6ef39be0d1753f8ff34 Mon Sep 17 00:00:00 2001
+From: otto <>
+Date: Sat, 11 Apr 2020 07:49:48 +0000
+Subject: [PATCH] Zap double definition of conf and make ibuf_dns static to
+ avoid double definition; from Michael Forney
+
+[Retrieved (and backported by updating paths and dropping date and
+version updates) from:
+https://github.com/openntpd-portable/openntpd-openbsd/commit/956b4239d919d6922b9ba6ef39be0d1753f8ff34]
+---
+ src/usr.sbin/ntpd/ntp.c | 4 ++--
+ src/usr.sbin/ntpd/ntp_dns.c | 4 ++--
+ src/usr.sbin/ntpd/parse.y | 3 +--
+ 3 files changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/src/ntp.c b/src/ntp.c
+index ea9a4e922..ec3d6bc43 100644
+--- a/src/ntp.c
++++ b/src/ntp.c
+@@ -42,7 +42,7 @@
+
+ volatile sig_atomic_t ntp_quit = 0;
+ struct imsgbuf *ibuf_main;
+-struct imsgbuf *ibuf_dns;
++static struct imsgbuf *ibuf_dns;
+ struct ntpd_conf *conf;
+ struct ctl_conns ctl_conns;
+ u_int peer_cnt;
+diff --git a/src/ntp_dns.c b/src/ntp_dns.c
+index 2e1a97833..88391801c 100644
+--- a/src/ntp_dns.c
++++ b/src/ntp_dns.c
+@@ -39,7 +39,7 @@
+ #include "ntpd.h"
+
+ volatile sig_atomic_t quit_dns = 0;
+-struct imsgbuf *ibuf_dns;
++static struct imsgbuf *ibuf_dns;
+
+ void sighdlr_dns(int);
+ int dns_dispatch_imsg(struct ntpd_conf *);
+diff --git a/src/parse.y b/src/uparse.y
+index 8d7ab09de..81d19bbff 100644
+--- a/src/parse.y
++++ b/src/parse.y
+@@ -57,7 +57,6 @@ int lgetc(int);
+ int lungetc(int);
+ int findeol(void);
+
+-struct ntpd_conf *conf;
+ struct sockaddr_in query_addr4;
+ struct sockaddr_in6 query_addr6;
+ int poolseqnum;
OPENNTPD_SITE = http://ftp.openbsd.org/pub/OpenBSD/OpenNTPD
OPENNTPD_LICENSE = MIT-like, BSD-2-Clause, BSD-3-Clause
OPENNTPD_LICENSE_FILES = COPYING
+OPENNTPD_DEPENDENCIES = host-bison
# Need to autoreconf for our libtool patch to apply properly
OPENNTPD_AUTORECONF = YES
-# From https://ftp.postgresql.org/pub/source/v12.4/postgresql-12.4.tar.bz2.md5
-md5 80ebbf0e55193b123760e5f8e48c6cff postgresql-12.4.tar.bz2
-# From https://ftp.postgresql.org/pub/source/v12.4/postgresql-12.4.tar.bz2.sha256
-sha256 bee93fbe2c32f59419cb162bcc0145c58da9a8644ee154a30b9a5ce47de606cc postgresql-12.4.tar.bz2
+# From https://ftp.postgresql.org/pub/source/v12.5/postgresql-12.5.tar.bz2.md5
+md5 f19e48090bbd59ea81826b5fd99e7e97 postgresql-12.5.tar.bz2
+# From https://ftp.postgresql.org/pub/source/v12.5/postgresql-12.5.tar.bz2.sha256
+sha256 bd0d25341d9578b5473c9506300022de26370879581f5fddd243a886ce79ff95 postgresql-12.5.tar.bz2
# License file, Locally calculated
sha256 739e5d454d81d31a482469338b7c856f1f5c6b4cdda1551cea6f0f6d18eef62c COPYRIGHT
#
################################################################################
-POSTGRESQL_VERSION = 12.4
+POSTGRESQL_VERSION = 12.5
POSTGRESQL_SOURCE = postgresql-$(POSTGRESQL_VERSION).tar.bz2
POSTGRESQL_SITE = https://ftp.postgresql.org/pub/source/v$(POSTGRESQL_VERSION)
POSTGRESQL_LICENSE = PostgreSQL
# md5, sha256 from https://pypi.org/pypi/lmdb/json
-md5 ae2efef18202e51c9e4a807a47900ce2 lmdb-0.98.tar.gz
-sha256 0625bc28bf0893e6000a83be7234f915ca078c32f9e73d8ae48b3508db7af708 lmdb-0.98.tar.gz
+md5 507049767b995c3c6a93b3bd97567c71 lmdb-0.99.tar.gz
+sha256 f9eb844aaaacc8a4bc175e1c1f8a8fb538c330e378fd9eb40e8708d4dca7dc89 lmdb-0.99.tar.gz
# Locally computed sha256 checksums
sha256 310fe25c858a9515fc8c8d7d1f24a67c9496f84a91e0a0e41ea9975b1371e569 LICENSE
#
################################################################################
-PYTHON_LMDB_VERSION = 0.98
+PYTHON_LMDB_VERSION = 0.99
PYTHON_LMDB_SOURCE = lmdb-$(PYTHON_LMDB_VERSION).tar.gz
-PYTHON_LMDB_SITE = https://files.pythonhosted.org/packages/c0/5c/d56dbc2532ecf14fa004c543927500c0f645eaca8bd7ec39420c7546396a
+PYTHON_LMDB_SITE = https://files.pythonhosted.org/packages/3b/66/aa6f3a3e338a3ca263575ce6f722c2fdcd21039a03b55c722e0ae0b216db
PYTHON_LMDB_LICENSE = OLDAP-2.8
PYTHON_LMDB_LICENSE_FILES = LICENSE
PYTHON_LMDB_SETUP_TYPE = setuptools
--- /dev/null
+From 1aab31787a8d1ef9436d9cf81832691f729b6282 Mon Sep 17 00:00:00 2001
+Date: Sat, 7 Nov 2020 23:26:30 +0100
+Subject: [PATCH] setup.py: move swig default includes before openssl
+
+Move swig default includes before openssl to avoid the following build
+failure when cross-compiling for some architectures (e.g. arm, mips):
+
+swig -python -py3 -D__x86_64__ \
+ -I/srv/storage/autobuild/run/instance-0/output-1/host/mipsel-buildroot-linux-gnu/sysroot/usr/include/python3.9 \
+ -I/srv/storage/autobuild/run/instance-0/output-1/host/mipsel-buildroot-linux-gnu/sysroot/usr/include \
+ -I/srv/storage/autobuild/run/instance-0/output-1/host/mipsel-buildroot-linux-gnu/sysroot/usr/include/openssl \
+ -I/srv/storage/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mipsel-buildroot-linux-gnu/8.3.0/include \
+ -I/srv/storage/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mipsel-buildroot-linux-gnu/8.3.0/include-fixed \
+ -I/srv/storage/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mipsel-buildroot-linux-gnu/8.3.0/../../../../mipsel-buildroot-linux-gnu/include \
+ -I/srv/storage/autobuild/run/instance-0/output-1/host/mipsel-buildroot-linux-gnu/sysroot/usr/include \
+ -includeall -modern -builtin -outdir \
+ /srv/storage/autobuild/run/instance-0/output-1/build/python-m2crypto-0.36.0/M2Crypto -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
+Deprecated command line option: -modern. This option is now always on.
+/srv/storage/autobuild/run/instance-0/output-1/host/mipsel-buildroot-linux-gnu/sysroot/usr/include/bits/types.h:139:
+Error: CPP #error "". Use the -cpperraswarn option to continue swig processing.
+
+This build failure is probably raised because swig includes a wrong types.h file
+from the openssl directory (e.g.
+/srv/storage/autobuild/run/instance-0/output-1/host/mipsel-buildroot-linux-gnu/sysroot/usr/include)
+
+Fixes:
+ - http://autobuild.buildroot.org/results/7f63e6a2d8681cc3408f344556afd5dd16eb7368
+ - http://autobuild.buildroot.org/results/d115a082418321e7dc4715c635f94b30b3cad387
+
+[Upstream status:
+https://gitlab.com/m2crypto/m2crypto/-/merge_requests/248]
+---
+ setup.py | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 89d03bb..0045fda 100644
+--- a/setup.py
++++ b/setup.py
+@@ -154,6 +154,9 @@ class _M2CryptoBuildExt(build_ext.build_ext):
+ if sys.version_info[:1] >= (3,):
+ self.swig_opts.append('-py3')
+
++ # swig seems to need the default header file directories
++ self.swig_opts.extend(['-I%s' % i for i in _get_additional_includes()])
++
+ log.debug('self.include_dirs = %s', self.include_dirs)
+ log.debug('self.library_dirs = %s', self.library_dirs)
+
+@@ -204,8 +207,6 @@ class _M2CryptoBuildExt(build_ext.build_ext):
+ self.swig_opts.append(
+ '-I' + os.path.join(openssl_include_dir, 'openssl'))
+
+- # swig seems to need the default header file directories
+- self.swig_opts.extend(['-I%s' % i for i in _get_additional_includes()])
+ self.swig_opts.append('-includeall')
+ self.swig_opts.append('-modern')
+ self.swig_opts.append('-builtin')
+--
+2.28.0
+
--- /dev/null
+From 3c83eedcc2df3ecf6c4a17953ca24dff60c1378e Mon Sep 17 00:00:00 2001
+Date: Thu, 12 Nov 2020 00:16:18 +0100
+Subject: [PATCH] lib/crypt: uClibc-ng doesn't set errno when encryption method
+ is not available
+
+Since commit [1] in cpython, an exception is raised when an encryption method
+is not available. This eception is handled only if errno is set to EINVAL by
+crypt() but uClibc-ng doesn't set errno in crypt() [2].
+
+Fixes:
+https://gitlab.com/buildroot.org/buildroot/-/jobs/830981961
+https://gitlab.com/buildroot.org/buildroot/-/jobs/830981979
+
+[1] https://github.com/python/cpython/commit/0d3fe8ae4961bf551e7d5e42559e2ede1a08fd7c
+[2] https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/tree/libcrypt/crypt.c?h=v1.0.36#n29
+
+---
+ Lib/crypt.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/Lib/crypt.py b/Lib/crypt.py
+index 33dbc46bb3..4692a5270c 100644
+--- a/Lib/crypt.py
++++ b/Lib/crypt.py
+@@ -94,7 +94,9 @@ def _add_method(name, *args, rounds=None):
+ result = crypt('', salt)
+ except OSError as e:
+ # Not all libc libraries support all encryption methods.
+- if e.errno == errno.EINVAL:
++ # Not all libc libraries set errno when encryption method is not
++ # available.
++ if e.errno == errno.EINVAL or e.errno == 0:
+ return False
+ raise
+ if result and len(result) == method.total_size:
+--
+2.25.4
+
--- /dev/null
+From 839e51aa452345b440f8d2d0df84ab58bdedfcd1 Mon Sep 17 00:00:00 2001
+Date: Sat, 14 Nov 2020 21:54:17 +0100
+Subject: [PATCH] Fix build with 64 bits time_t
+
+time element is deprecated on new input_event structure in kernel's
+input.h [1]
+
+This will avoid the following build failure:
+
+hw/input/virtio-input-host.c: In function 'virtio_input_host_handle_status':
+hw/input/virtio-input-host.c:198:28: error: 'struct input_event' has no member named 'time'
+ 198 | if (gettimeofday(&evdev.time, NULL)) {
+ | ^
+
+Fixes:
+ - http://autobuild.buildroot.org/results/a538167e288c14208d557cd45446df86d3d599d5
+ - http://autobuild.buildroot.org/results/efd4474fb4b6c0ce0ab3838ce130429c51e43bbb
+
+[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f
+
+---
+ contrib/vhost-user-input/main.c | 10 +++++++++-
+ hw/input/virtio-input-host.c | 10 +++++++++-
+ 2 files changed, 18 insertions(+), 2 deletions(-)
+
+diff --git a/contrib/vhost-user-input/main.c b/contrib/vhost-user-input/main.c
+index 6020c6f33a..e688c3e0a9 100644
+--- a/contrib/vhost-user-input/main.c
++++ b/contrib/vhost-user-input/main.c
+@@ -17,6 +17,11 @@
+ #include "standard-headers/linux/virtio_input.h"
+ #include "qapi/error.h"
+
++#ifndef input_event_sec
++#define input_event_sec time.tv_sec
++#define input_event_usec time.tv_usec
++#endif
++
+ enum {
+ VHOST_USER_INPUT_MAX_QUEUES = 2,
+ };
+@@ -115,13 +120,16 @@ vi_evdev_watch(VuDev *dev, int condition, void *data)
+ static void vi_handle_status(VuInput *vi, virtio_input_event *event)
+ {
+ struct input_event evdev;
++ struct timeval tval;
+ int rc;
+
+- if (gettimeofday(&evdev.time, NULL)) {
++ if (gettimeofday(&tval, NULL)) {
+ perror("vi_handle_status: gettimeofday");
+ return;
+ }
+
++ evdev.input_event_sec = tval.tv_sec;
++ evdev.input_event_usec = tval.tv_usec;
+ evdev.type = le16toh(event->type);
+ evdev.code = le16toh(event->code);
+ evdev.value = le32toh(event->value);
+diff --git a/hw/input/virtio-input-host.c b/hw/input/virtio-input-host.c
+index 85daf73f1a..2e261737e1 100644
+--- a/hw/input/virtio-input-host.c
++++ b/hw/input/virtio-input-host.c
+@@ -16,6 +16,11 @@
+ #include <sys/ioctl.h>
+ #include "standard-headers/linux/input.h"
+
++#ifndef input_event_sec
++#define input_event_sec time.tv_sec
++#define input_event_usec time.tv_usec
++#endif
++
+ /* ----------------------------------------------------------------- */
+
+ static struct virtio_input_config virtio_input_host_config[] = {
+@@ -193,13 +198,16 @@ static void virtio_input_host_handle_status(VirtIOInput *vinput,
+ {
+ VirtIOInputHost *vih = VIRTIO_INPUT_HOST(vinput);
+ struct input_event evdev;
++ struct timeval tval;
+ int rc;
+
+- if (gettimeofday(&evdev.time, NULL)) {
++ if (gettimeofday(&tval, NULL)) {
+ perror("virtio_input_host_handle_status: gettimeofday");
+ return;
+ }
+
++ evdev.input_event_sec = tval.tv_sec;
++ evdev.input_event_usec = tval.tv_usec;
+ evdev.type = le16_to_cpu(event->type);
+ evdev.code = le16_to_cpu(event->code);
+ evdev.value = le32_to_cpu(event->value);
+--
+2.29.2
+
endif
define RAUC_INSTALL_INIT_SYSTEMD
- mkdir $(TARGET_DIR)/usr/lib/systemd/system/rauc.service.d
+ mkdir -p $(TARGET_DIR)/usr/lib/systemd/system/rauc.service.d
printf '[Install]\nWantedBy=multi-user.target\n' \
>$(TARGET_DIR)/usr/lib/systemd/system/rauc.service.d/buildroot-enable.conf
endef
--disable-network \
--disable-json \
--disable-service \
- --without-dbuspolicydir
+ --without-dbuspolicydir \
+ --with-systemdunitdir=no
$(eval $(autotools-package))
$(eval $(host-autotools-package))
[Titouan: adapt to 5.0.4]
+[Fabrice: update for 6.0.9]
=========================================================================
diff -ur old/src/config.h new/src/config.h
/* Test for backtrace() */
-#if defined(__APPLE__) || (defined(__linux__) && defined(__GLIBC__)) || \
+#if defined(__APPLE__) || (defined(__linux__) && defined(__GLIBC__) && !defined(__UCLIBC__)) || \
- defined(__FreeBSD__) || (defined(__OpenBSD__) && defined(USE_BACKTRACE))\
+ defined(__FreeBSD__) || ((defined(__OpenBSD__) || defined(__NetBSD__)) && defined(USE_BACKTRACE))\
|| defined(__DragonFly__)
#define HAVE_BACKTRACE 1
# From https://github.com/redis/redis-hashes/blob/master/README
-sha256 04fa1fddc39bd1aecb6739dd5dd73858a3515b427acd1e2947a66dadce868d68 redis-6.0.8.tar.gz
+sha256 dc2bdcf81c620e9f09cfd12e85d3bc631c897b2db7a55218fd8a65eaa37f86dd redis-6.0.9.tar.gz
# Locally calculated
sha256 97f0a15b7bbae580d2609dad2e11f1956ae167be296ab60f4691ab9c30ee9828 COPYING
#
################################################################################
-REDIS_VERSION = 6.0.8
+REDIS_VERSION = 6.0.9
REDIS_SITE = http://download.redis.io/releases
REDIS_LICENSE = BSD-3-Clause (core); MIT and BSD family licenses (Bundled components)
REDIS_LICENSE_FILES = COPYING
--- /dev/null
+From a4e6f7239d8cee37e58eac974482d6deefa8a137 Mon Sep 17 00:00:00 2001
+Date: Thu, 5 Nov 2020 17:42:58 +0100
+Subject: [PATCH 1/1] zkey/ekmfweb: fix linking of libekmfweb
+
+Use -L compiler's parameter instead of the environment variable
+LIBRARY_PATH.
+
+Fixes the following problem on buildroot:
+
+buildroot/qemu-s390x/host/bin/s390x-linux-gcc -shared -Wl,--version-script=zkey-ekmfweb.map -Wl,-z,defs,-Bsymbolic -Wl,-soname,zkey-ekmfweb.so.1 zkey-ekmfweb.o properties.o pkey.o cca.o ep11.o utils.o ../..//libutil/libutil.a -lekmfweb -ldl -lcrypto -o zkey-ekmfweb.so
+buildroot/qemu-s390x/host/bin/s390x-linux-gcc -I ../../include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I ../include -std=gnu99 -Wno-unused-parameter -Wno-missing-field-initializers -DS390_TOOLS_RELEASE=2.15.1-build-20201105 -DS390_TOOLS_LIBDIR=/lib/s390-tools -DS390_TOOLS_DATADIR=/usr/share/s390-tools -DS390_TOOLS_SYSCONFDIR=/etc -DS390_TOOLS_BINDIR=/sbin -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_GNU_SOURCE -c udev_ccwgroup.c -o udev_ccwgroup.o
+buildroot/qemu-s390x/host/bin/s390x-linux-gcc -I ../../include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I ../include -std=gnu99 -Wno-unused-parameter -Wno-missing-field-initializers -DS390_TOOLS_RELEASE=2.15.1-build-20201105 -DS390_TOOLS_LIBDIR=/lib/s390-tools -DS390_TOOLS_DATADIR=/usr/share/s390-tools -DS390_TOOLS_SYSCONFDIR=/etc -DS390_TOOLS_BINDIR=/sbin -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_GNU_SOURCE -c iscsi.c -o iscsi.o
+buildroot/qemu-s390x/host/bin/s390x-linux-gcc -I ../../include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I ../include -std=gnu99 -Wno-unused-parameter -Wno-missing-field-initializers -DS390_TOOLS_RELEASE=2.15.1-build-20201105 -DS390_TOOLS_LIBDIR=/lib/s390-tools -DS390_TOOLS_DATADIR=/usr/share/s390-tools -DS390_TOOLS_SYSCONFDIR=/etc -DS390_TOOLS_BINDIR=/sbin -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_GNU_SOURCE -c dasd.c -o dasd.o
+buildroot/qemu-s390x/host/opt/ext-toolchain/bin/../lib/gcc/s390x-buildroot-linux-gnu/9.3.0/../../../../s390x-buildroot-linux-gnu/bin/ld: cannot find -lekmfweb
+collect2: error: ld returned 1 exit status
+make[4]: *** [Makefile:36: zkey-ekmfweb.so] Error 1
+make[3]: *** [Makefile:128: ekmfweb] Error 2
+buildroot/qemu-s390x/host/bin/s390x-linux-gcc -I ../../include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I ../include -std=gnu99 -Wno-unused-parameter -Wno-missing-field-initializers -DS390_TOOLS_RELEASE=2.15.1-build-20201105 -DS390_TOOLS_LIBDIR=/lib/s390-tools -DS390_TOOLS_DATADIR=/usr/share/s390-tools -DS390_TOOLS_SYSCONFDIR=/etc -DS390_TOOLS_BINDIR=/sbin -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_GNU_SOURCE -c zfcp.c -o zfcp.o
+make[2]: *** [Makefile:43: zkey] Error 2
+make[2]: *** Waiting for unfinished jobs....
+
+---
+ zkey/ekmfweb/Makefile | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/zkey/ekmfweb/Makefile b/zkey/ekmfweb/Makefile
+index 79a16cb5..1a3a4977 100644
+--- a/zkey/ekmfweb/Makefile
++++ b/zkey/ekmfweb/Makefile
+@@ -7,8 +7,6 @@ all: zkey-ekmfweb.so
+
+ libs = $(rootdir)/libutil/libutil.a
+
+-export LIBRARY_PATH = $(rootdir)/libekmfweb:$LIBRARY_PATH
+-
+ zkey-ekmfweb.o: zkey-ekmfweb.c zkey-ekmfweb.h ../kms-plugin.h \
+ ../cca.h ../utils.h ../pkey.h ../properties.h \
+ $(rootdir)include/ekmfweb/ekmfweb.h libekmfweb.dep
+@@ -29,7 +27,7 @@ utils.o: ../utils.c ../utils.h ../pkey.h ../cca.h ../ep11.h
+ $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -fPIC -c $< -o $@
+
+ zkey-ekmfweb.so: ALL_CFLAGS += -fPIC
+-zkey-ekmfweb.so: LDLIBS = -lekmfweb -ldl -lcrypto
++zkey-ekmfweb.so: LDLIBS = -L$(rootdir)/libekmfweb -lekmfweb -ldl -lcrypto
+ zkey-ekmfweb.so: ALL_LDFLAGS += -shared -Wl,--version-script=zkey-ekmfweb.map \
+ -Wl,-z,defs,-Bsymbolic -Wl,-soname,zkey-ekmfweb.so.$(VERM)
+ zkey-ekmfweb.so: zkey-ekmfweb.o properties.o pkey.o cca.o ep11.o utils.o $(libs)
+--
+2.26.2
+
# Locally computed:
sha256 8dc1180031018756ccd5acf6c26c4175bcac79e512e8a2ea8569fdf5d3f9bd6c s390-tools-2.15.1.tar.gz
-sha256 cca17a9a944ebec769adee4aebd805c912c357785ff2705a99ffe68563021f75 COPYING
+sha256 cca17a9a944ebec769adee4aebd805c912c357785ff2705a99ffe68563021f75 LICENSE
config BR2_PACKAGE_SLIRP
bool "slirp"
+ depends on BR2_USE_MMU # libglib2
+ depends on BR2_USE_WCHAR # libglib2
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
+ select BR2_PACKAGE_LIBGLIB2
help
- The Spice project aims to provide a complete open source
- solution for interaction with virtualized desktop devices.
- The Spice project deals with both the virtualized devices
- and the front-end. Interaction between front-end and
- back-end is done using VD-Interfaces.
+ libslirp is a user-mode networking library used by virtual
+ machines, containers or various tools.
- This package implements the slirp-part for Spice. Slirp
- emulates a PPP or SLIP connection over a normal terminal.
-
- http://www.spice-space.org/
+ https://gitlab.freedesktop.org/slirp/libslirp/
NOTE:
This package has some history of a unique kind:
- during that period, QEMU (Fabrice BELLARD) forked the code
and included it in QEMU
- and it was imported from this breed by the Spice project
- around May 2009
- - which is what we use here
+ around May 2009 which archived it in 2012
+ - So we switched to
+ https://gitlab.freedesktop.org/slirp/libslirp
+
+comment "slirp needs a toolchain w/ wchar, threads"
+ depends on BR2_USE_MMU
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
--- /dev/null
+# Locally computed:
+sha256 388b4b08a8cc0996cc5155cb027a097dc1a7f2cfe84b1121496608ab5366cc48 libslirp-4.3.1.tar.xz
+sha256 b28aecf4796a6a22054167f0a976de13d9db335669d37afd2dc7ea4c335e1e13 COPYRIGHT
#
################################################################################
-# There's no tarball releases of slirp, so we use the git repo
-# Also, there's no tag, so we use a random SHA1 (master's HEAD
-# of today)
-SLIRP_VERSION = 8c2da74c1385242f20799fec8c04f8378edc6550
-SLIRP_SITE = git://anongit.freedesktop.org/spice/slirp
-SLIRP_LICENSE = BSD-4-Clause, BSD-2-Clause
-# Note: The license file 'COPYRIGHT' is missing from the sources,
-# although some files refer to it.
+SLIRP_VERSION = 4.3.1
+SLIRP_SOURCE = libslirp-$(SLIRP_VERSION).tar.xz
+# Other "official" tarballs don't ship .tarball-version resulting in a build
+# failure: https://gitlab.freedesktop.org/slirp/libslirp/-/issues/24
+SLIRP_SITE = https://elmarco.fedorapeople.org
+SLIRP_LICENSE = BSD-3-Clause
+SLIRP_LICENSE_FILES = COPYRIGHT
SLIRP_INSTALL_STAGING = YES
+SLIRP_DEPENDENCIES = libglib2
-# As we're using the git tree, there's no ./configure,
-# so we need to autoreconf.
-SLIRP_AUTORECONF = YES
-
-$(eval $(autotools-package))
+$(eval $(meson-package))
STRESS_NG_LICENSE = GPL-2.0+
STRESS_NG_LICENSE_FILES = COPYING
-ifeq ($(BR2_PACKAGE_LIBBSD),y)
+ifeq ($(BR2_PACKAGE_LIBBSD):$(BR2_STATIC_LIBS),y:)
STRESS_NG_DEPENDENCIES += libbsd
+else
+STRESS_NG_MAKE_OPTS += HAVE_LIB_BSD=0 HAVE_WCSLCAT=0 \
+ HAVE_WCSLCPY=0 HAVE_SETPROCTITLE=0
endif
ifeq ($(BR2_PACKAGE_KEYUTILS),y)
endif
define STRESS_NG_BUILD_CMDS
- $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)
+ $(TARGET_CONFIGURE_OPTS) $(MAKE) $(STRESS_NG_MAKE_OPTS) -C $(@D)
endef
# Don't use make install otherwise stress-ng will be rebuild without
# download through wget/curl)
SURICATA_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install install-conf
+ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
+SURICATA_CONF_ENV += LIBS=-latomic
+endif
+
ifeq ($(BR2_PACKAGE_FILE),y)
SURICATA_DEPENDENCIES += file
SURICATA_CONF_OPTS += --enable-libmagic
--- /dev/null
+From e2a23672a1bbf4d3411dce0289051b5a72bd4a67 Mon Sep 17 00:00:00 2001
+Date: Mon, 19 Oct 2020 18:54:53 +0200
+Subject: [PATCH] update-done: Do not fail with read-only /etc or /var
+
+With the switch from log_debug() to log_debug_errno() in commit c413bb28df
+systemd-update-done would fail without any error message if /etc
+or /var were read-only. This restores the previous behaviour to
+silently ignore these directories again.
+
+[Romain: backport from 1eee15c3885fcc9f6a40df7e42347cb8fca71280]
+---
+ src/update-done/update-done.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/update-done/update-done.c b/src/update-done/update-done.c
+index e9d589e0e5..92c348d83b 100644
+--- a/src/update-done/update-done.c
++++ b/src/update-done/update-done.c
+@@ -31,8 +31,8 @@ static int apply_timestamp(const char *path, struct timespec *ts) {
+
+ r = write_string_file_atomic_label_ts(path, message, ts);
+ if (r == -EROFS)
+- return log_debug_errno(r, "Cannot create \"%s\", file system is read-only.", path);
+- if (r < 0)
++ log_debug_errno(r, "Cannot create \"%s\", file system is read-only.", path);
++ else if (r < 0)
+ return log_error_errno(r, "Failed to write \"%s\": %m", path);
+ return 0;
+ }
+--
+2.25.4
+
--- /dev/null
+From 32027e199368dad9508965aae8cd8de5b6ab5231 Mon Sep 17 00:00:00 2001
+Date: Sat, 18 Apr 2020 14:04:59 -0700
+Subject: [PATCH] PPP: When un-escaping, don't allocate a too-large buffer.
+
+The buffer should be big enough to hold the captured data, but it
+doesn't need to be big enough to hold the entire on-the-network packet,
+if we haven't captured all of it.
+
+(backported from commit e4add0b010ed6f2180dcb05a13026242ed935334)
+
+[Retrieved from:
+https://github.com/the-tcpdump-group/tcpdump/commit/32027e199368dad9508965aae8cd8de5b6ab5231]
+---
+ print-ppp.c | 18 ++++++++++++++----
+ 1 file changed, 14 insertions(+), 4 deletions(-)
+
+diff --git a/print-ppp.c b/print-ppp.c
+index 891761728..33fb03412 100644
+--- a/print-ppp.c
++++ b/print-ppp.c
+@@ -1367,19 +1367,29 @@ print_bacp_config_options(netdissect_options *ndo,
+ return 0;
+ }
+
++/*
++ * Un-escape RFC 1662 PPP in HDLC-like framing, with octet escapes.
++ * The length argument is the on-the-wire length, not the captured
++ * length; we can only un-escape the captured part.
++ */
+ static void
+ ppp_hdlc(netdissect_options *ndo,
+ const u_char *p, int length)
+ {
++ u_int caplen = ndo->ndo_snapend - p;
+ u_char *b, *t, c;
+ const u_char *s;
+- int i, proto;
++ u_int i;
++ int proto;
+ const void *se;
+
++ if (caplen == 0)
++ return;
++
+ if (length <= 0)
+ return;
+
+- b = (u_char *)malloc(length);
++ b = (u_char *)malloc(caplen);
+ if (b == NULL)
+ return;
+
+@@ -1388,10 +1398,10 @@ ppp_hdlc(netdissect_options *ndo,
+ * Do this so that we dont overwrite the original packet
+ * contents.
+ */
+- for (s = p, t = b, i = length; i > 0 && ND_TTEST(*s); i--) {
++ for (s = p, t = b, i = caplen; i != 0; i--) {
+ c = *s++;
+ if (c == 0x7d) {
+- if (i <= 1 || !ND_TTEST(*s))
++ if (i <= 1)
+ break;
+ i--;
+ c = *s++ ^ 0x20;
$(if $(BR2_PACKAGE_TCPDUMP_SMB),--enable-smb,--disable-smb)
TCPDUMP_DEPENDENCIES = libpcap
+# 0001-PPP-When-un-escaping-don-t-allocate-a-too-large-buffer.patch
+TCPDUMP_IGNORE_CVES += CVE-2020-8037
+
ifeq ($(BR2_STATIC_LIBS),y)
TCPDUMP_CONF_OPTS += LIBS="`$(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs`"
endif
# locally computed
-sha256 a23a8f647f622f01e51b93fa882ea5a15c20e026d45c3aafa81ec579e464daf7 tinyproxy-1.10.0.tar.bz2
+sha256 a23a8f647f622f01e51b93fa882ea5a15c20e026d45c3aafa81ec579e464daf7 tinyproxy-1.10.0.tar.bz2
+sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING
--- /dev/null
+From a868bacb46e3c900530bed47a1c6f85b0fbe701c Mon Sep 17 00:00:00 2001
+From: nicm <nicm>
+Date: Thu, 29 Oct 2020 16:33:01 +0000
+Subject: [PATCH] Do not write after the end of the array and overwrite the
+ stack when colon-separated SGR sequences contain empty arguments. Reported by
+ Sergey Nizovtsev.
+
+[Peter: Fixes CVE-2020-27347]
+---
+ input.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/input.c b/input.c
+index 42a60c92..c280c0d9 100644
+--- a/input.c
++++ b/input.c
+@@ -1976,8 +1976,13 @@ input_csi_dispatch_sgr_colon(struct input_ctx *ictx, u_int i)
+ free(copy);
+ return;
+ }
+- } else
++ } else {
+ n++;
++ if (n == nitems(p)) {
++ free(copy);
++ return;
++ }
++ }
+ log_debug("%s: %u = %d", __func__, n - 1, p[n - 1]);
+ }
+ free(copy);
+--
+2.20.1
+
TMUX_LICENSE_FILES = COPYING
TMUX_DEPENDENCIES = libevent ncurses host-pkgconf
+# 0001-Do-not-write-after-the-end-of-the-array-and-overwrit.patch
+TMUX_IGNORE_CVES += CVE-2020-27347
+
# Add /usr/bin/tmux to /etc/shells otherwise some login tools like dropbear
# can reject the user connection. See man shells.
define TMUX_ADD_TMUX_TO_SHELLS
# Locally computed
-sha256 a45ca00afe765e3baa839767c9dd6ac9a46dd01720a3a8ff4d86558c12359926 tor-0.4.4.5.tar.gz
+sha256 5f154c155803adf5c89e87cab53017b6908c5ebe50c65839e8cf4fbd2abe1fdc tor-0.4.4.6.tar.gz
sha256 ae2afe6cd3fd9d512afbaa1ef218757eb00aa6b6aa5e2dfc2774b6837e373fa1 LICENSE
#
################################################################################
-TOR_VERSION = 0.4.4.5
+TOR_VERSION = 0.4.4.6
TOR_SITE = https://dist.torproject.org
TOR_LICENSE = BSD-3-Clause
TOR_LICENSE_FILES = LICENSE
default "i386" if BR2_i386
default "x86_64" if BR2_x86_64
default "riscv64" if BR2_RISCV_64
- default "riscv32" if BR2_RISCV_32
config BR2_UCLIBC_MIPS_ABI
string
# Locally computed
sha1 92212071a63ce38fdfd69fb8332f04e84d1f6635 waf-2.0.20
sha256 bf971e98edc2414968a262c6aa6b88541a26c3cd248689c89f4c57370955ee7f waf-2.0.20
+sha256 bf971e98edc2414968a262c6aa6b88541a26c3cd248689c89f4c57370955ee7f waf
WAF_VERSION = 2.0.20
WAF_SOURCE = waf-$(WAF_VERSION)
WAF_SITE = https://waf.io
+WAF_LICENSE = BSD-3-Clause
+WAF_LICENSE_FILES = waf
define HOST_WAF_EXTRACT_CMDS
$(INSTALL) -D -m 0755 $(HOST_WAF_DL_DIR)/waf-$(WAF_VERSION) $(@D)/waf
WEBKITGTK_CONF_OPTS += \
-DENABLE_ACCELERATED_2D_CANVAS=ON \
-DENABLE_GLES2=OFF \
- -DENABLE_OPENGL=ON \
+ -DENABLE_GRAPHICS_CONTEXT_GL=ON \
-DENABLE_X11_TARGET=ON
WEBKITGTK_DEPENDENCIES += libgl \
xlib_libXcomposite xlib_libXdamage xlib_libXrender xlib_libXt
ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y)
WEBKITGTK_CONF_OPTS += \
-DENABLE_GLES2=ON \
- -DENABLE_OPENGL=ON
+ -DENABLE_GRAPHICS_CONTEXT_GL=ON
WEBKITGTK_DEPENDENCIES += libgles
else
# Disable general OpenGL (shading) if there's no GLESv2
WEBKITGTK_CONF_OPTS += \
-DENABLE_GLES2=OFF \
- -DENABLE_OPENGL=OFF
+ -DENABLE_GRAPHICS_CONTEXT_GL=OFF
endif
# We must explicitly state the wayland target
ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y)
WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=OFF
endif
+ifeq ($(BR2_INIT_SYSTEMD),y)
+WEBKITGTK_CONF_OPTS += -DUSE_SYSTEMD=ON
+WEBKITGTK_DEPENDENCIES += systemd
+else
+WEBKITGTK_CONF_OPTS += -DUSE_SYSTEMD=OFF
+endif
+
# JIT is not supported for MIPS r6, but the WebKit build system does not
# have a check for these processors. The same goes for ARMv5 and ARMv6.
# Disable JIT forcibly here and use the CLoop interpreter instead.
-# https://lists.zx2c4.com/pipermail/wireguard/2020-September/005817.html
-sha256 ad33b2d2267a37e0f65c97e65e7d4d926d5aef7d530c251b63fbf919048eead9 wireguard-linux-compat-1.0.20200908.tar.xz
+# https://lists.zx2c4.com/pipermail/wireguard/2020-November/005997.html
+sha256 89eae7f0c0bd6c8df3ba2e090984974ff68741a9f26aa0922890f8ca727897e1 wireguard-linux-compat-1.0.20201112.tar.xz
# Locally calculated
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
#
################################################################################
-WIREGUARD_LINUX_COMPAT_VERSION = 1.0.20200908
+WIREGUARD_LINUX_COMPAT_VERSION = 1.0.20201112
WIREGUARD_LINUX_COMPAT_SITE = https://git.zx2c4.com/wireguard-linux-compat/snapshot
WIREGUARD_LINUX_COMPAT_SOURCE = wireguard-linux-compat-$(WIREGUARD_LINUX_COMPAT_VERSION).tar.xz
WIREGUARD_LINUX_COMPAT_LICENSE = GPL-2.0
--- /dev/null
+From 1ca7dea56db25969844699bc82fe7c78cb3d2eda Mon Sep 17 00:00:00 2001
+Date: Tue, 10 Nov 2020 23:06:45 +0100
+Subject: [PATCH] WebProcess/InjectedBundle: fix compile without video support
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes:
+
+ .../wpewebkit-2.30.2/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp:242:30: error: ‘class WebCore::Settings’ has no member named ‘setGenericCueAPIEnabled’; did you mean ‘setBeaconAPIEnabled’?
+ page->settings().setGenericCueAPIEnabled(enabled);
+ ^~~~~~~~~~~~~~~~~~~~~~~
+ setBeaconAPIEnabled
+
+---
+ Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp b/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp
+index 61326f2e..d7776997 100644
+--- a/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp
++++ b/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp
+@@ -236,12 +236,14 @@ void InjectedBundle::overrideBoolPreferenceForTestRunner(WebPageGroupProxy* page
+ RuntimeEnabledFeatures::sharedFeatures().setWebRTCMDNSICECandidatesEnabled(enabled);
+ #endif
+
++#if ENABLE(VIDEO)
+ if (preference == "WebKitGenericCueAPIEnabled") {
+ WebPreferencesStore::overrideBoolValueForKey(WebPreferencesKey::genericCueAPIEnabledKey(), enabled);
+ for (auto* page : pages)
+ page->settings().setGenericCueAPIEnabled(enabled);
+ return;
+ }
++#endif
+
+ #if ENABLE(GPU_PROCESS)
+ if (preference == "WebKitUseGPUProcessForMedia" || preference == "WebKitCaptureAudioInGPUProcessEnabledKey") {
+--
+2.29.2
+
WPEWEBKIT_CONF_OPTS += -DUSE_WOFF2=OFF
endif
+ifeq ($(BR2_INIT_SYSTEMD),y)
+WPEWEBKIT_CONF_OPTS += -DUSE_SYSTEMD=ON
+WPEWEBKIT_DEPENDENCIES += systemd
+else
+WPEWEBKIT_CONF_OPTS += -DUSE_SYSTEMD=OFF
+endif
+
# JIT is not supported for MIPS r6, but the WebKit build system does not
# have a check for these processors. The same goes for ARMv5 and ARMv6.
# Disable JIT forcibly here and use the CLoop interpreter instead.
select BR2_PACKAGE_NCURSES
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_PIXMAN
+ select BR2_PACKAGE_SLIRP
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
select BR2_PACKAGE_YAJL
endif
XEN_CONF_OPTS = \
+ --disable-golang \
--disable-ocamltools \
--with-initddir=/etc/init.d
endif
ifeq ($(BR2_PACKAGE_XEN_TOOLS),y)
-XEN_DEPENDENCIES += dtc libaio libglib2 ncurses openssl pixman util-linux yajl
+XEN_DEPENDENCIES += \
+ dtc libaio libglib2 ncurses openssl pixman slirp util-linux yajl
ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y)
XEN_DEPENDENCIES += argp-standalone
endif
HOST_XORRISO_CONF_OPTS = \
--disable-xattr-h-pref-attr \
--disable-zlib \
- --disable-bzip2 \
+ --disable-libbz2 \
--disable-libcdio \
--disable-libreadline \
--disable-libedit \
+++ /dev/null
-#!/usr/bin/env python
-
-#
-# 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__()
import json
import sys
-sys.path.append('utils/')
+brpath = os.path.normpath(os.path.join(os.path.dirname(__file__), "..", ".."))
+
+sys.path.append(os.path.join(brpath, "utils"))
from getdeveloperlib import parse_developers # noqa: E402
import cve as cvecheck # noqa: E402
"""
return [
Defconfig(name[:-len('_defconfig')], os.path.join('configs', name))
- for name in os.listdir('configs')
+ for name in os.listdir(os.path.join(brpath, 'configs'))
if name.endswith('_defconfig')
]
Fills in the .url field
"""
self.status['url'] = ("warning", "no Config.in")
- for filename in os.listdir(os.path.dirname(self.path)):
+ pkgdir = os.path.dirname(os.path.join(brpath, self.path))
+ for filename in os.listdir(pkgdir):
if fnmatch.fnmatch(filename, 'Config.*'):
- fp = open(os.path.join(os.path.dirname(self.path), filename), "r")
+ fp = open(os.path.join(pkgdir, filename), "r")
for config_line in fp:
if URL_RE.match(config_line):
self.url = config_line.strip()
Fills in the .infras field
"""
self.infras = list()
- with open(self.path, 'r') as f:
+ with open(os.path.join(brpath, self.path), 'r') as f:
lines = f.readlines()
for l in lines:
match = INFRA_RE.match(l)
return
hashpath = self.path.replace(".mk", ".hash")
- if os.path.exists(hashpath):
+ if os.path.exists(os.path.join(brpath, hashpath)):
self.status['hash'] = ("ok", "found")
else:
self.status['hash'] = ("error", "missing")
self.status['patches'] = ("na", "no valid package infra")
return
- pkgdir = os.path.dirname(self.path)
+ pkgdir = os.path.dirname(os.path.join(brpath, self.path))
for subdir, _, _ in os.walk(pkgdir):
self.patch_files = fnmatch.filter(os.listdir(subdir), '*.patch')
"""
Fills in the .warnings and .status['pkg-check'] fields
"""
- cmd = ["./utils/check-package"]
- pkgdir = os.path.dirname(self.path)
+ cmd = [os.path.join(brpath, "utils/check-package")]
+ pkgdir = os.path.dirname(os.path.join(brpath, self.path))
self.status['pkg-check'] = ("error", "Missing")
for root, dirs, files in os.walk(pkgdir):
for f in files:
"toolchain/toolchain-wrapper.mk"]
packages = list()
count = 0
- for root, dirs, files in os.walk("."):
+ for root, dirs, files in os.walk(brpath):
+ root = os.path.relpath(root, brpath)
rootdir = root.split("/")
- if len(rootdir) < 2:
+ if len(rootdir) < 1:
continue
- if rootdir[1] not in WALK_USEFUL_SUBDIRS:
+ if rootdir[0] not in WALK_USEFUL_SUBDIRS:
continue
for f in files:
if not f.endswith(".mk"):
pkgpath = os.path.join(root, f)
skip = False
for exclude in WALK_EXCLUDES:
- # pkgpath[2:] strips the initial './'
- if re.match(exclude, pkgpath[2:]):
+ if re.match(exclude, pkgpath):
skip = True
continue
if skip:
return packages
+def get_config_packages():
+ cmd = ["make", "--no-print-directory", "show-info"]
+ js = json.loads(subprocess.check_output(cmd))
+ return js.keys()
+
+
def package_init_make_info():
# Fetch all variables at once
variables = subprocess.check_output(["make", "BR2_HAVE_DOT_CONFIG=y", "-s", "printvars",
def dump_html_pkg(f, pkg):
f.write(" <tr>\n")
- f.write(" <td>%s</td>\n" % pkg.path[2:])
+ f.write(" <td>%s</td>\n" % pkg.path)
# Patch count
td_class = ["centered"]
output.add_argument('--json', dest='json', type=resolvepath,
help='JSON output file')
packages = parser.add_mutually_exclusive_group()
+ packages.add_argument('-c', dest='configpackages', action='store_true',
+ help='Apply to packages enabled in current configuration')
packages.add_argument('-n', dest='npackages', type=int, action='store',
help='Number of packages')
packages.add_argument('-p', dest='packages', action='store',
args = parse_args()
if args.packages:
package_list = args.packages.split(",")
+ elif args.configpackages:
+ package_list = get_config_packages()
else:
package_list = None
date = datetime.datetime.utcnow()
- commit = subprocess.check_output(['git', 'rev-parse',
+ commit = subprocess.check_output(['git', '-C', brpath,
+ 'rev-parse',
'HEAD']).splitlines()[0].decode()
print("Build package list ...")
packages = get_pkglist(args.npackages, package_list)
print("Getting developers ...")
- developers = parse_developers()
+ developers = parse_developers(brpath)
print("Build defconfig list ...")
defconfigs = get_defconfig_list()
for d in defconfigs:
"""
BR2_x86_i686=y
BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="http://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--glibc--bleeding-edge-2018.11-1.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
self.assertIn("cap_kill", output[0])
self.assertIn("cap_sys_nice", output[0])
self.assertIn("cap_sys_time", output[0])
- self.assertIn("+eip", output[0])
+ self.assertIn("=eip", output[0])
BR2_powerpc64=y
BR2_powerpc_e5500=y
BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e5500/tarballs/powerpc64-e5500--glibc--stable-2018.02-2.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_GCC_6=y
class TestSELinuxInfra(infra.basetest.BRTest):
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG +\
- """
- BR2_PACKAGE_REFPOLICY=y
- BR2_PACKAGE_PYTHON3=y
- BR2_PACKAGE_SETOOLS=y
- BR2_TARGET_ROOTFS_CPIO=y
- """
+ """
+ BR2_PACKAGE_REFPOLICY=y
+ BR2_PACKAGE_PYTHON3=y
+ BR2_PACKAGE_SETOOLS=y
+ BR2_TARGET_ROOTFS_CPIO=y
+ """
def base_test_run(self):
cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio")
options=["-initrd", cpio_file])
self.emulator.login()
+
class TestSELinuxExtraModules(TestSELinuxInfra):
config = TestSELinuxInfra.config + \
- """
- BR2_REFPOLICY_EXTRA_MODULES="ntp tor"
- """
+ """
+ BR2_REFPOLICY_EXTRA_MODULES="ntp tor"
+ """
def test_run(self):
TestSELinuxInfra.base_test_run(self)
self.assertEqual(ret, 0)
self.assertEqual(out[2].strip(), "tor_t")
+
class TestSELinuxExtraModulesDirs(TestSELinuxInfra):
config = TestSELinuxInfra.config + \
- """
- BR2_REFPOLICY_EXTRA_MODULES_DIRS="{}"
- """.format(infra.filepath("tests/core/test_selinux/extra_modules"))
+ """
+ BR2_REFPOLICY_EXTRA_MODULES_DIRS="{}"
+ """.format(infra.filepath("tests/core/test_selinux/extra_modules"))
def test_run(self):
TestSELinuxInfra.base_test_run(self)
self.assertEqual(ret, 0)
self.assertEqual(out[2].strip(), "buildroot_test_t")
+
class TestSELinuxCustomGit(TestSELinuxInfra):
config = TestSELinuxInfra.config + \
- """
- BR2_PACKAGE_REFPOLICY_CUSTOM_GIT=y
- BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_URL="https://github.com/SELinuxProject/refpolicy.git"
- BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_VERSION="RELEASE_2_20200818"
- """
+ """
+ BR2_PACKAGE_REFPOLICY_CUSTOM_GIT=y
+ BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_URL="https://github.com/SELinuxProject/refpolicy.git"
+ BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_VERSION="RELEASE_2_20200818"
+ """
def test_run(self):
pass
+
class TestSELinuxPackage(TestSELinuxInfra):
br2_external = [infra.filepath("tests/core/test_selinux/br2_external")]
config = TestSELinuxInfra.config + \
- """
- BR2_PACKAGE_SELINUX_TEST=y
- """
+ """
+ BR2_PACKAGE_SELINUX_TEST=y
+ """
def test_run(self):
TestSELinuxInfra.base_test_run(self)
"""
BR2_SYSTEM_DHCP="eth0"
# BR2_PACKAGE_SYSTEMD_NETWORKD is not set
- # BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set
BR2_TARGET_ROOTFS_EXT2=y
"""
"""
BR2_SYSTEM_DHCP="eth0"
# BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set
- BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY=y
+ BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE=y
BR2_PACKAGE_SYSTEMD_BACKLIGHT=y
BR2_PACKAGE_SYSTEMD_BINFMT=y
BR2_PACKAGE_SYSTEMD_COREDUMP=y
config = InitSystemSystemdBase.config + \
"""
BR2_SYSTEM_DHCP="eth0"
- BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY=y
+ BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE=y
BR2_PACKAGE_SYSTEMD_BACKLIGHT=y
BR2_PACKAGE_SYSTEMD_BINFMT=y
BR2_PACKAGE_SYSTEMD_COREDUMP=y
self.assertEqual(ret, 0)
self.assertEqual(out[0], "system_u:system_r:init_t\0")
+
class TestSELinuxSystemdExt4(TestSELinuxSystemd):
config = TestSELinuxSystemd.config + \
"""
def test_run(self):
self.run_tests("ext4")
+
class TestSELinuxSystemdSquashfs(TestSELinuxSystemd):
config = TestSELinuxSystemd.config + \
"""
BR2_arm || BR2_armeb || \
BR2_i386 || BR2_m68k || BR2_microblaze || \
BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \
- BR2_or1k || BR2_powerpc || BR2_riscv || BR2_sh2a || \
+ BR2_or1k || BR2_powerpc || BR2_RISCV_64 || BR2_sh2a || \
BR2_sh4 || BR2_sh4eb || BR2_sparc || BR2_xtensa || \
BR2_x86_64
select BR2_TOOLCHAIN_USES_UCLIBC
-comment "Arm toolchains available for Cortex-A + EABIhf"
+comment "Arm toolchains available for Cortex-A with NEON + EABIhf"
depends on BR2_arm
- depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF
+ depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF || !BR2_ARM_CPU_HAS_NEON
depends on !BR2_STATIC_LIBS
config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM
bool "Arm ARM 2019.12"
depends on BR2_arm
depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A
+ depends on BR2_ARM_CPU_HAS_NEON
depends on BR2_HOSTARCH = "x86_64"
depends on BR2_ARM_EABIHF
depends on !BR2_STATIC_LIBS
select BR2_TOOLCHAIN_HAS_OPENMP
help
Arm toolchain for the ARM architecture. It uses GCC 9.2.1,
- GDB 8.3.0, glibc 2.30, Binutils 2.33.1. It generates code that
- runs on all Cortex-A profile devices, but tuned for the
- Cortex-A9. The code generated uses the hard floating point
- calling convention, and uses the VFPv3-D16 FPU instructions.
+ GDB 8.3.0, glibc 2.30, Binutils 2.33.1. It generates code
+ that runs on all Cortex-A profile devices. The code
+ generated uses the hard floating point calling convention,
+ and uses the NEON FPU instructions.
This is the same toolchain that was previously distributed by
Linaro.