From 8424c2c9a4ff616456d78114af5aa00f780cf2c1 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Thu, 6 Feb 2025 15:40:05 +0800 Subject: [PATCH 01/31] support x100 Signed-off-by: weishanshan1084 --- README.md | 14 +- configs/x100.config | 2 + .../0001-disable-smmu-in-dts.patch | 34 ++++ .../kernel-patches/x100/0001-disable-dc.patch | 164 ++++++++++++++++++ .../x100/0002-disable-vpu.patch | 98 +++++++++++ 5 files changed, 310 insertions(+), 2 deletions(-) create mode 100644 configs/x100.config create mode 100644 linux/kernel-patches/0001-disable-smmu-in-dts.patch create mode 100644 linux/kernel-patches/x100/0001-disable-dc.patch create mode 100644 linux/kernel-patches/x100/0002-disable-vpu.patch diff --git a/README.md b/README.md index f4664c7ab..a7ced453e 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,7 @@ config文件是功能扩展配置文件,具体的文件及功能如下: | linux_xxx.config | 内核配置文件,含有linux 6.6 rt内核版本 | | desktop.config | XFCE桌面 | | e2000_optee.config | Phytium-optee | +| x100.config | X100 | | initramfs.config | initramfs | | kernel_debug.config | 内核debug配置文件 | | host_arm64.config | 支持编译主机为arm64主机 | @@ -61,8 +62,8 @@ config文件是功能扩展配置文件,具体的文件及功能如下: defconfig可以和config文件进行组合,用以扩展特定的功能,defconfig与config的组合关系如下: | deconfig | config | |------------------------|--------| -| phytium_ubuntu_defconfig | linux_xxx.config、desktop.config、e2000_optee.config、initramfs.config、kernel_debug.config、host_arm64.config、toolchain_buildroot.config | -| phytium_debian_defconfig | linux_xxx.config、desktop.config、e2000_optee.config、initramfs.config、host_arm64.config、toolchain_buildroot.config | +| phytium_ubuntu_defconfig | linux_xxx.config、desktop.config、e2000_optee.config、x100.config、initramfs.config、kernel_debug.config、host_arm64.config、toolchain_buildroot.config | +| phytium_debian_defconfig | linux_xxx.config、desktop.config、e2000_optee.config、x100.config、initramfs.config、host_arm64.config、toolchain_buildroot.config | | phytium_defconfig | linux_xxx.config、e2000_optee.config、host_arm64.config、toolchain_buildroot.config | # 编译文件系统 @@ -123,6 +124,15 @@ defconfig默认不编译Phytium-optee,如果需要编译Phytium-optee请执行 生成的根文件系统、内核、TEE OS位于output/images目录。 后续部署及使用方法,请参考`https://gitee.com/phytium_embedded/phytium-embedded-docs/tree/master/optee` +### 支持X100 +在Ubuntu和Debian系统中安装了linux-headers和dkms,从而支持使用dkms来构建内核模块。 +在配置及编译文件系统时,需要合并x100.config: +``` +$ ./support/kconfig/merge_config.sh configs/phytium_xxx_defconfig configs/desktop.config configs/x100.config +$ make +``` +系统启动后,可以使用dpkg命令安装X100的deb包。 + ### 支持kernel_debug 支持将kernel_debug的一些工具编译安装到Ubuntu系统。kernel_debug工具包含Dynamic debug、FTRACE、KPROBE和BTF等,具体信息请参考:[一些kernel debug config和相关用法](https://gitee.com/phytium_embedded/phytium-linux-kernel/wikis/%E8%B0%83%E8%AF%95%E4%B8%8E%E8%B0%83%E4%BC%98/%E4%B8%80%E4%BA%9Bkernel%20debug%20config%E5%92%8C%E7%9B%B8%E5%85%B3%E7%94%A8%E6%B3%95) 如果需要编译kernel_debug请执行: diff --git a/configs/x100.config b/configs/x100.config new file mode 100644 index 000000000..a710c20ec --- /dev/null +++ b/configs/x100.config @@ -0,0 +1,2 @@ +# kernel patch for E2000+X100 +BR2_LINUX_KERNEL_PATCH="$(LINUX_PKGDIR)/kernel-patches/x100/0001-disable-dc.patch $(LINUX_PKGDIR)/kernel-patches/x100/0002-disable-vpu.patch $(LINUX_PKGDIR)/kernel-patches/0001-disable-smmu-in-dts.patch" diff --git a/linux/kernel-patches/0001-disable-smmu-in-dts.patch b/linux/kernel-patches/0001-disable-smmu-in-dts.patch new file mode 100644 index 000000000..c84b90176 --- /dev/null +++ b/linux/kernel-patches/0001-disable-smmu-in-dts.patch @@ -0,0 +1,34 @@ +From 3e75cd0d84d86f395d945c244c43bb0d3f5e7bbd Mon Sep 17 00:00:00 2001 +From: weishanshan1084 +Date: Tue, 2 Jan 2024 10:56:39 +0800 +Subject: [PATCH] disable smmu in dts + +Signed-off-by: weishanshan1084 +--- + arch/arm64/boot/dts/phytium/pe220x.dtsi | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/phytium/pe220x.dtsi b/arch/arm64/boot/dts/phytium/pe220x.dtsi +index ef2dc3190..874b6fc8e 100644 +--- a/arch/arm64/boot/dts/phytium/pe220x.dtsi ++++ b/arch/arm64/boot/dts/phytium/pe220x.dtsi +@@ -173,6 +173,7 @@ smmu: iommu@30000000 { + interrupt-names = "eventq", "priq", "cmdq-sync", "gerror"; + dma-coherent; + #iommu-cells = <1>; ++ status = "disabled"; + }; + + soc: soc { +@@ -1001,7 +1002,7 @@ pcie: pcie@40000000 { + ranges = <0x01000000 0x00 0x00000000 0x0 0x50000000 0x0 0x00f00000>, + <0x02000000 0x00 0x58000000 0x0 0x58000000 0x0 0x28000000>, + <0x03000000 0x10 0x00000000 0x10 0x00000000 0x10 0x00000000>; +- iommu-map = <0x0 &smmu 0x0 0x10000>; ++ //iommu-map = <0x0 &smmu 0x0 0x10000>; + status = "disabled"; + }; + +-- +2.25.1 + diff --git a/linux/kernel-patches/x100/0001-disable-dc.patch b/linux/kernel-patches/x100/0001-disable-dc.patch new file mode 100644 index 000000000..11fc40cf4 --- /dev/null +++ b/linux/kernel-patches/x100/0001-disable-dc.patch @@ -0,0 +1,164 @@ +From c165423ba71a181341fa76c35c34d27a9f29c513 Mon Sep 17 00:00:00 2001 +From: weishanshan1084 +Date: Thu, 6 Feb 2025 15:18:32 +0800 +Subject: [PATCH] disable dc + +Signed-off-by: weishanshan1084 +--- + arch/arm64/boot/dts/phytium/pe2202-chillipi-edu-board.dts | 2 +- + arch/arm64/boot/dts/phytium/pe2202-demo-ddr4-local.dts | 2 +- + arch/arm64/boot/dts/phytium/pe2202-demo-ddr4.dts | 2 +- + arch/arm64/boot/dts/phytium/pe2202-miniitx-board.dts | 2 +- + arch/arm64/boot/dts/phytium/pe2202-power-board.dts | 2 +- + arch/arm64/boot/dts/phytium/pe2204-come-board.dts | 2 +- + arch/arm64/boot/dts/phytium/pe2204-demo-ddr4-local.dts | 2 +- + arch/arm64/boot/dts/phytium/pe2204-demo-ddr4.dts | 2 +- + arch/arm64/boot/dts/phytium/pe2204-edu-board.dts | 2 +- + arch/arm64/boot/dts/phytium/pe2204-miniitx-board.dts | 2 +- + arch/arm64/boot/dts/phytium/pe2204-vpx-board.dts | 2 +- + 11 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/arch/arm64/boot/dts/phytium/pe2202-chillipi-edu-board.dts b/arch/arm64/boot/dts/phytium/pe2202-chillipi-edu-board.dts +index e358e7c2393d..20550a2a5595 100644 +--- a/arch/arm64/boot/dts/phytium/pe2202-chillipi-edu-board.dts ++++ b/arch/arm64/boot/dts/phytium/pe2202-chillipi-edu-board.dts +@@ -311,7 +311,7 @@ &i2s0 { + &dc0 { + pipe_mask = /bits/ 8 <0x2>; + edp_mask = /bits/ 8 <0x0>; +- status = "okay"; ++ status = "disabled"; + }; + + &i2s_dp1 { +diff --git a/arch/arm64/boot/dts/phytium/pe2202-demo-ddr4-local.dts b/arch/arm64/boot/dts/phytium/pe2202-demo-ddr4-local.dts +index 0684e91f7b83..d42947231487 100644 +--- a/arch/arm64/boot/dts/phytium/pe2202-demo-ddr4-local.dts ++++ b/arch/arm64/boot/dts/phytium/pe2202-demo-ddr4-local.dts +@@ -163,5 +163,5 @@ &i2s0 { + &dc0 { + pipe_mask = /bits/ 8 <0x2>; + edp_mask = /bits/ 8 <0x0>; +- status = "okay"; ++ status = "disabled"; + }; +diff --git a/arch/arm64/boot/dts/phytium/pe2202-demo-ddr4.dts b/arch/arm64/boot/dts/phytium/pe2202-demo-ddr4.dts +index f9dacea11695..7ef86d237809 100644 +--- a/arch/arm64/boot/dts/phytium/pe2202-demo-ddr4.dts ++++ b/arch/arm64/boot/dts/phytium/pe2202-demo-ddr4.dts +@@ -218,7 +218,7 @@ &i2s0 { + &dc0 { + pipe_mask = /bits/ 8 <0x2>; + edp_mask = /bits/ 8 <0x0>; +- status = "okay"; ++ status = "disabled"; + }; + + &i2s_dp1 { +diff --git a/arch/arm64/boot/dts/phytium/pe2202-miniitx-board.dts b/arch/arm64/boot/dts/phytium/pe2202-miniitx-board.dts +index 7d06f07cc0fc..68e799d39b29 100644 +--- a/arch/arm64/boot/dts/phytium/pe2202-miniitx-board.dts ++++ b/arch/arm64/boot/dts/phytium/pe2202-miniitx-board.dts +@@ -279,7 +279,7 @@ &sata1 { + }; + + &dc0 { +- status = "okay"; ++ status = "disabled"; + pipe_mask = [02]; + edp_mask = [00]; + }; +diff --git a/arch/arm64/boot/dts/phytium/pe2202-power-board.dts b/arch/arm64/boot/dts/phytium/pe2202-power-board.dts +index b0294d02d950..cf8d2c099e7d 100644 +--- a/arch/arm64/boot/dts/phytium/pe2202-power-board.dts ++++ b/arch/arm64/boot/dts/phytium/pe2202-power-board.dts +@@ -162,7 +162,7 @@ &macb3 { + &dc0 { + pipe_mask = [02]; + edp_mask = [00]; +- status = "okay"; ++ status = "disabled"; + }; + + &can0 { +diff --git a/arch/arm64/boot/dts/phytium/pe2204-come-board.dts b/arch/arm64/boot/dts/phytium/pe2204-come-board.dts +index e87b26078224..83cfa2b66f2f 100644 +--- a/arch/arm64/boot/dts/phytium/pe2204-come-board.dts ++++ b/arch/arm64/boot/dts/phytium/pe2204-come-board.dts +@@ -229,7 +229,7 @@ &hda0 { + }; + + &dc0 { +- status = "okay"; ++ status = "disabled"; + pipe_mask = [03]; + edp_mask = [00]; + }; +diff --git a/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4-local.dts b/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4-local.dts +index 402d07735b86..b4de1d1d2934 100644 +--- a/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4-local.dts ++++ b/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4-local.dts +@@ -158,7 +158,7 @@ &i2s0 { + &dc0 { + pipe_mask = /bits/ 8 <0x3>; + edp_mask = /bits/ 8 <0x0>; +- status = "okay"; ++ status = "disabled"; + }; + + &vpu0 { +diff --git a/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4.dts b/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4.dts +index c12eb5810524..a0034740d328 100644 +--- a/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4.dts ++++ b/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4.dts +@@ -214,7 +214,7 @@ &i2s0 { + &dc0 { + pipe_mask = /bits/ 8 <0x3>; + edp_mask = /bits/ 8 <0x0>; +- status = "okay"; ++ status = "disabled"; + }; + + &i2s_dp0 { +diff --git a/arch/arm64/boot/dts/phytium/pe2204-edu-board.dts b/arch/arm64/boot/dts/phytium/pe2204-edu-board.dts +index 7a47cbc375a2..0e8b200740dd 100644 +--- a/arch/arm64/boot/dts/phytium/pe2204-edu-board.dts ++++ b/arch/arm64/boot/dts/phytium/pe2204-edu-board.dts +@@ -264,7 +264,7 @@ &sata1 { + }; + + &dc0 { +- status = "okay"; ++ status = "disabled"; + pipe_mask = [01]; + edp_mask = [00]; + }; +diff --git a/arch/arm64/boot/dts/phytium/pe2204-miniitx-board.dts b/arch/arm64/boot/dts/phytium/pe2204-miniitx-board.dts +index fe9288f6a175..dfd84f08efae 100644 +--- a/arch/arm64/boot/dts/phytium/pe2204-miniitx-board.dts ++++ b/arch/arm64/boot/dts/phytium/pe2204-miniitx-board.dts +@@ -234,7 +234,7 @@ &dc0 { + memory-region = <&display_reserved>; + pipe_mask = /bits/ 8 <0x3>; + edp_mask = /bits/ 8 <0x0>; +- status = "okay"; ++ status = "disabled"; + }; + + &i2s0 { +diff --git a/arch/arm64/boot/dts/phytium/pe2204-vpx-board.dts b/arch/arm64/boot/dts/phytium/pe2204-vpx-board.dts +index 22c3c4395b9b..1edacef15f37 100644 +--- a/arch/arm64/boot/dts/phytium/pe2204-vpx-board.dts ++++ b/arch/arm64/boot/dts/phytium/pe2204-vpx-board.dts +@@ -231,7 +231,7 @@ &macb3 { + &dc0 { + pipe_mask = [03]; + edp_mask = [00]; +- status = "okay"; ++ status = "disabled"; + }; + + &i2s0 { +-- +2.25.1 + diff --git a/linux/kernel-patches/x100/0002-disable-vpu.patch b/linux/kernel-patches/x100/0002-disable-vpu.patch new file mode 100644 index 000000000..fc8f4b341 --- /dev/null +++ b/linux/kernel-patches/x100/0002-disable-vpu.patch @@ -0,0 +1,98 @@ +From 87ea1a53e4cec10164a9c0731733fbcc7107d05c Mon Sep 17 00:00:00 2001 +From: weishanshan1084 +Date: Thu, 6 Feb 2025 15:31:05 +0800 +Subject: [PATCH] disable vpu + +Signed-off-by: weishanshan1084 +--- + arch/arm64/boot/dts/phytium/pe2204-come-board.dts | 2 +- + arch/arm64/boot/dts/phytium/pe2204-demo-ddr4-local.dts | 2 +- + arch/arm64/boot/dts/phytium/pe2204-demo-ddr4.dts | 2 +- + arch/arm64/boot/dts/phytium/pe2204-edu-board.dts | 2 +- + arch/arm64/boot/dts/phytium/pe2204-hanwei-board.dts | 2 +- + arch/arm64/boot/dts/phytium/pe2204-miniitx-board.dts | 2 +- + arch/arm64/boot/dts/phytium/pe2204-vpx-board.dts | 2 +- + 7 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/arch/arm64/boot/dts/phytium/pe2204-come-board.dts b/arch/arm64/boot/dts/phytium/pe2204-come-board.dts +index 83cfa2b66f2f..a5216cde675b 100644 +--- a/arch/arm64/boot/dts/phytium/pe2204-come-board.dts ++++ b/arch/arm64/boot/dts/phytium/pe2204-come-board.dts +@@ -264,5 +264,5 @@ &pwm1 { + }; + + &vpu0 { +- status = "okay"; ++ status = "disabled"; + }; +diff --git a/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4-local.dts b/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4-local.dts +index b4de1d1d2934..653f38e978b8 100644 +--- a/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4-local.dts ++++ b/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4-local.dts +@@ -162,5 +162,5 @@ &dc0 { + }; + + &vpu0 { +- status = "okay"; ++ status = "disabled"; + }; +diff --git a/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4.dts b/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4.dts +index a0034740d328..d33948f538c5 100644 +--- a/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4.dts ++++ b/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4.dts +@@ -232,5 +232,5 @@ &pmdk_dp { + }; + + &vpu0 { +- status = "okay"; ++ status = "disabled"; + }; +diff --git a/arch/arm64/boot/dts/phytium/pe2204-edu-board.dts b/arch/arm64/boot/dts/phytium/pe2204-edu-board.dts +index 0e8b200740dd..30f79ea3c03e 100644 +--- a/arch/arm64/boot/dts/phytium/pe2204-edu-board.dts ++++ b/arch/arm64/boot/dts/phytium/pe2204-edu-board.dts +@@ -270,7 +270,7 @@ &dc0 { + }; + + &vpu0 { +- status = "okay"; ++ status = "disabled"; + }; + + &i2s0 { +diff --git a/arch/arm64/boot/dts/phytium/pe2204-hanwei-board.dts b/arch/arm64/boot/dts/phytium/pe2204-hanwei-board.dts +index d9e1eae59d98..408d62917009 100644 +--- a/arch/arm64/boot/dts/phytium/pe2204-hanwei-board.dts ++++ b/arch/arm64/boot/dts/phytium/pe2204-hanwei-board.dts +@@ -214,5 +214,5 @@ &gpio5 { + }; + + &vpu0 { +- status = "okay"; ++ status = "disabled"; + }; +diff --git a/arch/arm64/boot/dts/phytium/pe2204-miniitx-board.dts b/arch/arm64/boot/dts/phytium/pe2204-miniitx-board.dts +index dfd84f08efae..53a311aa0df2 100644 +--- a/arch/arm64/boot/dts/phytium/pe2204-miniitx-board.dts ++++ b/arch/arm64/boot/dts/phytium/pe2204-miniitx-board.dts +@@ -339,5 +339,5 @@ &rng0 { + }; + + &vpu0 { +- status = "okay"; ++ status = "disabled"; + }; +diff --git a/arch/arm64/boot/dts/phytium/pe2204-vpx-board.dts b/arch/arm64/boot/dts/phytium/pe2204-vpx-board.dts +index 1edacef15f37..3244f872d327 100644 +--- a/arch/arm64/boot/dts/phytium/pe2204-vpx-board.dts ++++ b/arch/arm64/boot/dts/phytium/pe2204-vpx-board.dts +@@ -321,5 +321,5 @@ &rng0 { + }; + + &vpu0 { +- status = "okay"; ++ status = "disabled"; + }; +-- +2.25.1 + -- Gitee From 2c63882a5c71fc99fed067becb12e95b0d72ce41 Mon Sep 17 00:00:00 2001 From: lindongping2027 Date: Tue, 11 Feb 2025 19:32:02 +0800 Subject: [PATCH 02/31] add udev for monitor hotplug Signed-off-by: lindongping2027 --- board/phytium/common/debian-package-installer | 10 +------ board/phytium/common/ubuntu-package-installer | 5 +--- .../phytium-desktop-tools.mk | 4 +++ .../src/99-monitor-hotplug.rules | 1 + .../src/auto_resolution.sh | 28 +++++++++++++++++++ 5 files changed, 35 insertions(+), 13 deletions(-) create mode 100644 package/phytium-desktop-tools/src/99-monitor-hotplug.rules create mode 100755 package/phytium-desktop-tools/src/auto_resolution.sh diff --git a/board/phytium/common/debian-package-installer b/board/phytium/common/debian-package-installer index 8657152af..00d441815 100755 --- a/board/phytium/common/debian-package-installer +++ b/board/phytium/common/debian-package-installer @@ -61,19 +61,11 @@ do_distrorfs_second_stage() { echo installed additional packages. if [ $6 = desktop ]; then - for pkg in task-xfce-desktop arctica-greeter; do + for pkg in task-xfce-desktop; do DEBIAN_FRONTEND=noninteractive apt -y install $pkg || true - rm -rf /usr/share/arctica-greeter/backgrounds/arctica-greeter.png || true - rm -rf /usr/share/arctica-greeter/logo.png || true done usermod -a -G video,render,audio user - ln -sf /lib/systemd/system/lightdm.service /etc/systemd/system/display-manager.service - sed -i "s/gdm3/lightdm/" /etc/X11/default-display-manager - echo '[SeatDefaults]' >> /etc/lightdm/lightdm.conf - echo 'greeter-session=arctica-greeter' >> /etc/lightdm/lightdm.conf - echo 'user-session=xfce' >> /etc/lightdm/lightdm.conf - #cups disable TLSv1.0 and TLSv1.1 if [ -f /etc/cups/cupsd.conf ]; then echo "SSLOptions MinTLS1.2" >> /etc/cups/cupsd.conf diff --git a/board/phytium/common/ubuntu-package-installer b/board/phytium/common/ubuntu-package-installer index b1d8b1765..4afe28a58 100755 --- a/board/phytium/common/ubuntu-package-installer +++ b/board/phytium/common/ubuntu-package-installer @@ -86,7 +86,7 @@ do_distrorfs_second_stage() { echo installed additional packages. if [ $6 = desktop ]; then - for pkg in xfce4 unity-greeter; do + for pkg in xfce4 lightdm; do DEBIAN_FRONTEND=noninteractive apt -y install $pkg || true rm -rf /usr/share/unity-greeter/logo.png || true DEBIAN_FRONTEND=noninteractive apt -y install dbus-x11 || true @@ -108,10 +108,7 @@ do_distrorfs_second_stage() { usermod -a -G video,render,audio user - ln -sf /lib/systemd/system/lightdm.service /etc/systemd/system/display-manager.service - sed -i "s/gdm3/lightdm/" /etc/X11/default-display-manager echo '[SeatDefaults]' >> /etc/lightdm/lightdm.conf - echo 'greeter-session=unity-greeter' >> /etc/lightdm/lightdm.conf echo 'user-session=xfce' >> /etc/lightdm/lightdm.conf #cups disable TLSv1.0 and TLSv1.1 diff --git a/package/phytium-desktop-tools/phytium-desktop-tools.mk b/package/phytium-desktop-tools/phytium-desktop-tools.mk index f1268b7d6..41c4688fc 100644 --- a/package/phytium-desktop-tools/phytium-desktop-tools.mk +++ b/package/phytium-desktop-tools/phytium-desktop-tools.mk @@ -12,7 +12,11 @@ PHYTIUM_DESKTOP_TOOLS_INSTALL_TARGET = YES define PHYTIUM_DESKTOP_TOOLS_INSTALL_TARGET_CMDS mkdir -p $(TARGET_DIR)/usr/share/alsa/ucm2/conf.d/phytium_pe220x-/ mkdir -p $(TARGET_DIR)/usr/share/alsa/ucm2/conf.d/PMDK-I2S/ + mkdir -p $(TARGET_DIR)/usr/local/bin/ + mkdir -p $(TARGET_DIR)/etc/udev/rules.d/ cp -rf $(@D)/Phytium/ $(TARGET_DIR)/usr/share/alsa/ucm2/ + $(INSTALL) -m 755 -D $(@D)/auto_resolution.sh $(TARGET_DIR)/usr/local/bin/ + $(INSTALL) -m 644 -D $(@D)/99-monitor-hotplug.rules $(TARGET_DIR)/etc/udev/rules.d/ endef $(eval $(generic-package)) diff --git a/package/phytium-desktop-tools/src/99-monitor-hotplug.rules b/package/phytium-desktop-tools/src/99-monitor-hotplug.rules new file mode 100644 index 000000000..bdfa70d3e --- /dev/null +++ b/package/phytium-desktop-tools/src/99-monitor-hotplug.rules @@ -0,0 +1 @@ +SUBSYSTEM=="drm", ACTION=="change", RUN+="/usr/local/bin/auto_resolution.sh" diff --git a/package/phytium-desktop-tools/src/auto_resolution.sh b/package/phytium-desktop-tools/src/auto_resolution.sh new file mode 100755 index 000000000..38dd6ef9a --- /dev/null +++ b/package/phytium-desktop-tools/src/auto_resolution.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +# check if on the greeter interface +IS_GREETER=$(loginctl show-session $(loginctl | grep 'lightdm' | awk '{print $1}') --property=State | grep -q "active" && echo "yes" || echo "no") +if [[ "$IS_GREETER" != "yes" ]]; then + exit 0 +fi + +export DISPLAY=:0 +export XAUTHORITY=$HOME/.Xauthority + +if [[ ! -e "$XAUTHORITY" ]]; then + touch "$XAUTHORITY" +fi + +xauth add $(xauth -f /var/run/lightdm/root/:0 list) + +# check the connection status of the screen +connected_output=$(xrandr --query | grep " connected" | awk '{print $1}') +for output in $connected_output; do + # set the optimal resolution + preferred_mode=$(xrandr --query | grep -A 1 "^$output" | tail -n 1 | awk '{print $1}') + if [ -n "$preferred_mode" ]; then + echo "Setting $output to $preferred_mode" + xrandr --output "$output" --mode "$preferred_mode" + fi +done + -- Gitee From f9b3b7bfed8241c366f54ec8d1c4838bf84237ee Mon Sep 17 00:00:00 2001 From: lindongping2027 Date: Mon, 17 Feb 2025 14:23:43 +0800 Subject: [PATCH 03/31] set swap file size to default 4G Signed-off-by: lindongping2027 --- package/phytium-swap/src/phytium-swap-config | 21 +++++++++++-------- .../phytium-swap/src/phytium-swap-user-config | 5 ++--- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/package/phytium-swap/src/phytium-swap-config b/package/phytium-swap/src/phytium-swap-config index 658dc9c66..77e46f0c7 100755 --- a/package/phytium-swap/src/phytium-swap-config +++ b/package/phytium-swap/src/phytium-swap-config @@ -15,12 +15,8 @@ ENABLED=false [[ "$ENABLED" != "true" ]] && exit 0 configure_swap() { - # Expose 100% of real memory as swap space by default - swap_percent=${SWAP_PERCENTAGE:=100} - mem_info=$(LC_ALL=C free -w 2>/dev/null | grep "^Mem" || LC_ALL=C free | grep "^Mem") - mem_info=$(echo $mem_info | awk '{print $2}') - memory_total=$(( mem_info * 1024 )) - swap_total=$(( memory_total * swap_percent / 100 )) + # Expose 4GB as swap space by default + swap_total=${SWAP_TOTAL:=4G} vm_swappiness=${SWAPPINESS:=60} } # configure_swap @@ -28,13 +24,20 @@ activate_swap() { # Return is SWAP is disabled (enabled by default) [[ -n "$SWAP" && "$SWAP" != "true" ]] && return; + # rm /mnt/phytium.swap for second activate + [ -f /mnt/phytium.swap ] && swapoff /mnt/phytium.swap && rm -f /mnt/phytium.swap fallocate -l $swap_total /mnt/phytium.swap chmod 600 /mnt/phytium.swap mkswap /mnt/phytium.swap swapon /mnt/phytium.swap - echo '/mnt/phytium.swap swap swap defaults 0 0' | tee -a /etc/fstab - # swappiness - echo "vm.swappiness=${vm_swappiness}" >> /etc/sysctl.conf + if [ ! -f /etc/fstab ]; then + echo '/mnt/phytium.swap swap swap defaults 0 0' >> /etc/fstab + elif ! grep -q "/mnt/phytium.swap" /etc/fstab; then + echo '/mnt/phytium.swap swap swap defaults 0 0' >> /etc/fstab + fi + if ! grep -q "vm.swappiness" /etc/sysctl.conf; then + echo "vm.swappiness=${vm_swappiness}" >> /etc/sysctl.conf + fi } # activate_swap diff --git a/package/phytium-swap/src/phytium-swap-user-config b/package/phytium-swap/src/phytium-swap-user-config index bebd57355..87fd347e5 100755 --- a/package/phytium-swap/src/phytium-swap-user-config +++ b/package/phytium-swap/src/phytium-swap-user-config @@ -6,9 +6,8 @@ ENABLED=true # Swap enabled by default, unless set to disabled # SWAP=false -# percentage of swap compared to physically available DRAM. -# Huge overcommitment (200) is possible and sometimes desirable. -# SWAP_PERCENTAGE=100 +# Size of swap file +# SWAP_TOTAL=4G # The swappiness parameter controls the tendency of the kernel to # move processes out of physical memory memory and onto the swap disk. -- Gitee From 7804762b92138eb2de5e8176145bdca8ecff6ac8 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Fri, 14 Feb 2025 17:36:17 +0800 Subject: [PATCH 04/31] external toolchain: use arm toolchain instead of linaro toolchain Signed-off-by: weishanshan1084 --- board/phytium/common/gcc-support-multiarch.specs | 2 ++ configs/phytium_debian_defconfig | 2 +- configs/phytium_ubuntu_defconfig | 2 +- toolchain/toolchain-external/pkg-toolchain-external.mk | 9 +++++++++ 4 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 board/phytium/common/gcc-support-multiarch.specs diff --git a/board/phytium/common/gcc-support-multiarch.specs b/board/phytium/common/gcc-support-multiarch.specs new file mode 100644 index 000000000..73a74b264 --- /dev/null +++ b/board/phytium/common/gcc-support-multiarch.specs @@ -0,0 +1,2 @@ +*multilib: +. !mabi=lp64;.:../lib64:aarch64-linux-gnu mabi=lp64; diff --git a/configs/phytium_debian_defconfig b/configs/phytium_debian_defconfig index 2ec90b8fd..e9c0034a6 100644 --- a/configs/phytium_debian_defconfig +++ b/configs/phytium_debian_defconfig @@ -25,7 +25,7 @@ BR2_TARGET_GENERIC_HOSTNAME="Phytium" # toolchain BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64=y +BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64=y BR2_TOOLCHAIN_USES_GLIBC=y BR2_TOOLCHAIN_EXTERNAL_GLIBC=y diff --git a/configs/phytium_ubuntu_defconfig b/configs/phytium_ubuntu_defconfig index 34fc18a45..13858498c 100644 --- a/configs/phytium_ubuntu_defconfig +++ b/configs/phytium_ubuntu_defconfig @@ -25,7 +25,7 @@ BR2_TARGET_GENERIC_HOSTNAME="Phytium" # toolchain BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64=y +BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64=y BR2_TOOLCHAIN_USES_GLIBC=y BR2_TOOLCHAIN_EXTERNAL_GLIBC=y diff --git a/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk index a7ceccd66..ab28671f3 100644 --- a/toolchain/toolchain-external/pkg-toolchain-external.mk +++ b/toolchain/toolchain-external/pkg-toolchain-external.mk @@ -354,6 +354,11 @@ define toolchain_find_libc_a $$(readlink -f $$(LANG=C $(1) -print-file-name=libc.a)) endef +# Returns the directory of the libgcc.a file +define toolchain_find_libgcc_dir +$$(dirname $$(readlink -f $$(LANG=C $(1) -print-libgcc-file-name))) +endef + # Integration of the toolchain into Buildroot: find the main sysroot # and the variant-specific sysroot, then copy the needed libraries to # the $(TARGET_DIR) and copy the whole sysroot (libraries and headers) @@ -601,6 +606,10 @@ define $(2)_CONFIGURE_CMDS $$(call check_glibc,$$$${SYSROOT_DIR}) ; \ fi $$(Q)$$(call check_toolchain_ssp,$$(TOOLCHAIN_EXTERNAL_CC),$(BR2_SSP_OPTION)) + if test "$$(BR2_ROOTFS_SKELETON_CUSTOM)" = "y" ; then \ + SPECS_DIR=$$(call toolchain_find_libgcc_dir, $$(TOOLCHAIN_EXTERNAL_CC)) ; \ + cp $(TOPDIR)/board/phytium/common/gcc-support-multiarch.specs $$$${SPECS_DIR}/specs ; \ + fi endef $(2)_TOOLCHAIN_WRAPPER_ARGS += $$(TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS) -- Gitee From 031971e305ee67701161a9bc205fc905b6fe9914 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Tue, 18 Feb 2025 19:21:26 +0800 Subject: [PATCH 05/31] kernel_debug: add compiler options to fix the issue of linking dependent libraries Signed-off-by: weishanshan1084 --- linux/linux.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/linux/linux.mk b/linux/linux.mk index 5f576819c..840d43c99 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -516,9 +516,9 @@ LINUX_POST_BUILD_HOOKS += LINUX_INSTALL_DEBUG_TOOLS # support phytium_debug.config ifeq ($(BR2_LINUX_KERNEL_DEBUG_TOOLS_INSTALL_TARGET),y) define LINUX_INSTALL_DEBUG_TOOLS - $(LINUX_MAKE_ENV) $(BR2_MAKE) $(LINUX_MAKE_FLAGS) -C $(@D)/tools/perf NO_JEVENTS=1 NO_LIBTRACEEVENT=1 + $(LINUX_MAKE_ENV) $(BR2_MAKE) $(LINUX_MAKE_FLAGS) LDFLAGS+="$(TARGET_LDFLAGS)" -C $(@D)/tools/perf NO_JEVENTS=1 NO_LIBTRACEEVENT=1 cp $(@D)/tools/perf/perf $(TARGET_DIR)/usr/bin/ - $(LINUX_MAKE_ENV) $(BR2_MAKE) $(LINUX_MAKE_FLAGS) VMLINUX_BTF="" -C $(@D)/tools/bpf/bpftool + $(LINUX_MAKE_ENV) $(BR2_MAKE) $(LINUX_MAKE_FLAGS) LDFLAGS+="$(TARGET_LDFLAGS)" VMLINUX_BTF="" -C $(@D)/tools/bpf/bpftool cp $(@D)/tools/bpf/bpftool/bpftool $(TARGET_DIR)/usr/bin/ endef endif -- Gitee From b615ee4aa5e9f87375a879d1e504dd1e1a970f48 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Tue, 18 Feb 2025 19:27:31 +0800 Subject: [PATCH 06/31] skeleton scripts: deleting skeleton-custom directory requires sudo permission Signed-off-by: weishanshan1084 --- board/phytium/common/post-custom-skeleton-debian.sh | 2 +- board/phytium/common/post-custom-skeleton-ubuntu.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/board/phytium/common/post-custom-skeleton-debian.sh b/board/phytium/common/post-custom-skeleton-debian.sh index 3f38648cc..573560cb6 100755 --- a/board/phytium/common/post-custom-skeleton-debian.sh +++ b/board/phytium/common/post-custom-skeleton-debian.sh @@ -214,7 +214,7 @@ initramfs_ssh_key() main() { # $1 - the current rootfs directory, skeleton-custom or target - rm -rf $1/* + sudo rm -rf $1/* # run first stage do_distrorfs_first_stage arm64 ${1} ubuntu-additional_packages_list bullseye debian do_distrorfs_first_stage $(arch_type) ${1} ubuntu-additional_packages_list $(debian_distro) debian $(plat_name) $(full_rtf) $(initramfs_ssh_key) diff --git a/board/phytium/common/post-custom-skeleton-ubuntu.sh b/board/phytium/common/post-custom-skeleton-ubuntu.sh index 2b2c8290b..95ccdc70a 100755 --- a/board/phytium/common/post-custom-skeleton-ubuntu.sh +++ b/board/phytium/common/post-custom-skeleton-ubuntu.sh @@ -223,7 +223,7 @@ initramfs_ssh_key() main() { # $1 - the current rootfs directory, skeleton-custom or target - rm -rf $1/* + sudo rm -rf $1/* # run first stage do_distrorfs_first_stage arm64 ${1} ubuntu-additional_packages_list focal ubuntu do_distrorfs_first_stage $(arch_type) ${1} ubuntu-additional_packages_list $(ubuntu_distro) ubuntu $(plat_name) $(full_rtf) $(initramfs_ssh_key) -- Gitee From 970d5b318809b8f957aa920a7e1539c11de6f532 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Thu, 20 Feb 2025 15:06:49 +0800 Subject: [PATCH 07/31] firefox: does not upgrade automatically Signed-off-by: weishanshan1084 --- board/phytium/common/ubuntu-package-installer | 1 + 1 file changed, 1 insertion(+) diff --git a/board/phytium/common/ubuntu-package-installer b/board/phytium/common/ubuntu-package-installer index 4afe28a58..d71e86bfc 100755 --- a/board/phytium/common/ubuntu-package-installer +++ b/board/phytium/common/ubuntu-package-installer @@ -103,6 +103,7 @@ do_distrorfs_second_stage() { Pin: release o=LP-PPA-mozillateam Pin-Priority: 1001 EOF + echo 'Unattended-Upgrade::Package-Blacklist:: "firefox";' | tee /etc/apt/apt.conf.d/52unattended-upgrades-firefox fi DEBIAN_FRONTEND=noninteractive apt -y install firefox || true -- Gitee From 60836a4c96d2911f294dd3a57d0ee34bb57c1f64 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Wed, 26 Feb 2025 17:52:39 +0800 Subject: [PATCH 08/31] upgrade buildroot from 2024.02 to 2024.02.11 squashed commits from 312dea63e7 to 4d772ebe75 on branch 2024.02.x of the official buildroot repository Signed-off-by: weishanshan1084 --- .b4-config | 7 + .checkpackageignore | 72 +- .editorconfig | 3 + .github/pull_request_template.md | 6 + .gitlab/issue_templates/default.md | 60 + CHANGES | 305 +++ Config.in | 10 +- Config.in.legacy | 28 + DEVELOPERS | 272 +-- Makefile | 20 +- arch/Config.in.arc | 6 +- arch/Config.in.x86 | 1 + .../at91bootstrap3/at91bootstrap3.hash | 2 + .../patches/linux-headers/linux-headers.hash | 1 + .../acqua-a5/patches/linux/linux.hash | 2 + .../patches/linux-headers/linux-headers.hash | 1 + board/chromebook/elm/patches/linux/linux.hash | 2 + .../patches/linux-headers/linux-headers.hash | 1 + .../linux/0001-linux-4.15-dts-tpm.patch} | 3 + .../chromebook/snow/patches/linux/linux.hash | 2 + .../common/imx/imx8-bootloader-prepare.sh | 11 +- board/pc/readme.txt | 4 +- board/pine64/rockpro64/linux.fragment | 3 + board/qemu/arm-vexpress-tz/readme.txt | 6 +- .../patches/linux-headers/linux-headers.hash | 1 + board/sheevaplug/patches/linux/linux.hash | 2 + board/sheevaplug/patches/uboot/uboot.hash | 2 + .../arm-trusted-firmware.hash | 2 + .../patches/linux-headers/linux-headers.hash | 1 + .../stm32mp157a-dk1/patches/linux/linux.hash | 2 + .../stm32mp157a-dk1/patches/uboot/uboot.hash | 2 + board/udoo/neo/readme.txt | 54 +- board/zynqmp/kria/readme.txt | 2 + boot/arm-trusted-firmware/Config.in | 2 +- .../arm-trusted-firmware.mk | 1 + boot/barebox/Config.in | 4 +- boot/barebox/barebox.mk | 2 +- boot/edk2/edk2.mk | 2 +- boot/grub2/Config.in | 14 +- boot/grub2/grub2.mk | 14 +- boot/grub2/readme.txt | 30 +- boot/optee-os/optee-os.mk | 2 +- boot/shim/shim.mk | 2 +- .../0020-pull-in-stdio-h-for-gcc14.patch | 34 + boot/uboot/Config.in | 2 +- docs/manual/adding-board-support.adoc | 16 +- docs/manual/adding-packages-asciidoc.adoc | 2 +- docs/manual/adding-packages-autotools.adoc | 13 +- docs/manual/adding-packages-cargo.adoc | 15 +- docs/manual/adding-packages-cmake.adoc | 12 +- docs/manual/adding-packages-directory.adoc | 60 +- docs/manual/adding-packages-generic.adoc | 28 +- docs/manual/adding-packages-golang.adoc | 13 +- docs/manual/adding-packages-hooks.adoc | 4 +- docs/manual/adding-packages-kconfig.adoc | 18 +- ...ding-packages-linux-kernel-spec-infra.adoc | 18 +- docs/manual/adding-packages-luarocks.adoc | 14 +- docs/manual/adding-packages-meson.adoc | 13 +- docs/manual/adding-packages-perl.adoc | 13 +- docs/manual/adding-packages-python.adoc | 31 +- docs/manual/adding-packages-qmake.adoc | 14 +- docs/manual/adding-packages-rebar.adoc | 14 +- docs/manual/adding-packages-tips.adoc | 25 +- docs/manual/adding-packages-virtual.adoc | 24 +- docs/manual/adding-packages-waf.adoc | 14 +- docs/manual/beyond-buildroot.adoc | 16 +- docs/manual/ccache-support.adoc | 4 +- docs/manual/common-usage.adoc | 64 +- docs/manual/configure.adoc | 6 +- docs/manual/contribute.adoc | 86 +- .../manual/customize-directory-structure.adoc | 12 +- docs/manual/customize-outside-br.adoc | 26 +- docs/manual/customize-packages.adoc | 8 +- docs/manual/download-location.adoc | 4 +- docs/manual/faq-troubleshooting.adoc | 4 +- docs/manual/getting.adoc | 8 +- docs/manual/legal-notice.adoc | 4 +- docs/manual/make-tips.adoc | 24 +- docs/manual/manual.adoc | 2 +- docs/manual/migrating.adoc | 2 +- docs/manual/package-make-target.adoc | 4 +- docs/manual/patch-policy.adoc | 16 +- docs/manual/prerequisite.adoc | 3 + docs/manual/quickstart.adoc | 20 +- docs/manual/rebuilding-packages.adoc | 4 +- docs/manual/using-buildroot-debugger.adoc | 12 +- docs/manual/using-buildroot-development.adoc | 24 +- docs/manual/using-buildroot-toolchain.adoc | 2 +- docs/manual/writing-rules.adoc | 36 +- docs/website/copyright.txt | 2 +- docs/website/docs.html | 6 +- docs/website/index.html | 4 +- docs/website/news.html | 4 +- docs/website/support.html | 6 +- fs/tar/tar.mk | 2 +- linux/Config.in | 2 +- linux/linux.hash | 12 +- linux/linux.mk | 12 +- package/Config.in | 3 +- package/Config.in.host | 1 + package/Makefile.in | 2 +- package/acpica/acpica.hash | 6 +- package/acpica/acpica.mk | 4 +- package/aer-inject/0001-libgen-basename.patch | 35 + package/aer-inject/aer-inject.mk | 2 +- package/alsa-lib/Config.in | 1 + package/alure/alure.mk | 4 +- .../am335x-pru-package.hash | 2 +- .../am335x-pru-package/am335x-pru-package.mk | 3 +- package/am33x-cm3/am33x-cm3.mk | 2 +- ...-Fix-makefiles-for-out-of-tree-build.patch | 7 +- ...0002-Fix-adbd-for-non-Ubuntu-systems.patch | 9 +- ...0003-Adjust-base64-function-handling.patch | 96 + .../0003-Fix-build-issue-with-uclibc.patch | 36 - .../0004-Fix-build-issue-with-musl.patch | 25 +- ...efiles-use-pkgconf-to-get-libs-deps.patch} | 47 +- ...006-Fix-build-on-big-endian-systems.patch} | 20 +- ...clude-cdefs.h-wherever-it-is-needed.patch} | 18 +- ...inor-major-build-failure-due-to-gli.patch} | 37 +- ...les-for-out-of-tree-ext4_utils-build.patch | 4 +- ...atch-for-openssl-1.1.0-compatibility.patch | 4 +- ...stboot.c-reorder-functions-to-avoid-.patch | 54 + ...parse_read.c-add-missing-output_file.patch | 37 + ...s-make_ext4fs_main.c-disable-Android.patch | 54 + ...014-core-adbd-adb.c-open-code-capset.patch | 52 + ...b.c-include-correct-header-for-prctl.patch | 34 + ...s-make_ext4fs.c-define-__SANE_USERSP.patch | 68 + ...lude-ap_config_auto.h-to-define-_GNU.patch | 40 + ...emove-dependency-on-xmlstring-header.patch | 47 - package/apache/apache.hash | 6 +- package/apache/apache.mk | 4 +- package/apcupsd/apcupsd.mk | 1 + package/apr-util/Config.in | 2 + .../apr/0004-Merge-r1920082-from-1.8.x.patch | 71 + package/apr/apr.mk | 5 +- package/armadillo/armadillo.hash | 2 +- package/armadillo/armadillo.mk | 8 +- package/assimp/0001-Fix-leak-5762.patch | 139 ++ ...ee-in-the-CallbackToLogRedirector-59.patch | 39 + package/assimp/assimp.hash | 2 +- package/assimp/assimp.mk | 6 +- ...unds-do-not-download-and-check-sha1s.patch | 10 +- ...-configure-fix-detection-of-libcrypt.patch | 13 +- ...-target-directory-for-modules-exists.patch | 10 +- ...-install-samples-need-the-data-files.patch | 12 +- package/asterisk/Config.in | 2 + package/asterisk/asterisk.hash | 2 +- package/asterisk/asterisk.mk | 19 +- ...-missing-libgen.h-include-for-basena.patch | 32 + package/audit/audit.mk | 2 +- package/aumix/Config.in | 2 +- package/aumix/aumix.mk | 2 +- .../0001-dont-add-dirty-to-version.patch | 2 +- package/axel/Config.in | 6 +- package/babeld/babeld.hash | 2 +- package/babeld/babeld.mk | 5 +- package/bash/bash.hash | 4 +- package/bash/bash.mk | 2 +- ...01-bc-use-MAKEINFO-variable-for-docs.patch | 2 +- ...and-write-errors-on-input-and-output.patch | 2 +- package/bc/0004-no-gen-libmath.patch | 2 +- package/bc/bc.mk | 2 +- ...inline-crc64-for-gcc-5-compatability.patch | 4 +- ...ss-recursion-when-using-USB-backends.patch | 2 +- package/bind/0001-cross.patch | 34 - package/bind/bind.hash | 8 +- package/bind/bind.mk | 10 +- .../binutils-bare-metal.mk | 1 + ...rc-randomenv.cpp-fix-build-on-uclibc.patch | 48 - ...includes-to-fix-gcc-13-compile-error.patch | 48 - ...efactor-add-most-of-src-util-to-iwyu.patch | 34 - .../0004-src-util-string-h-fix-gcc13.patch | 23 - package/bitcoin/Config.in | 21 +- package/bitcoin/bitcoin.hash | 8 +- package/bitcoin/bitcoin.mk | 17 +- package/bmap-tools/Config.in.host | 1 + package/boost/Config.in | 29 +- package/boost/boost.mk | 39 +- ...segmentation-fault-that-occurs-durin.patch | 50 + package/botan/Config.in | 8 +- package/botan/botan.hash | 4 +- package/botan/botan.mk | 2 +- package/bpftool/Config.in | 1 + .../brcmfmac_sdio-firmware-rpi.hash | 4 +- .../brcmfmac_sdio-firmware-rpi.mk | 27 +- package/btrfs-progs/Config.in | 2 +- package/btrfs-progs/btrfs-progs.mk | 2 + ...-failing-saying-ncurses-is-not-found.patch | 38 + ...r-realloc-CVE-2021-42380-closes-1560.patch | 154 ++ ...wk-fix-use-after-free-CVE-2023-42363.patch | 70 + ...13-awk-fix-precedence-of-relative-to.patch | 203 ++ ...x-ternary-operator-and-precedence-of.patch | 102 + ...5-awk.c-fix-CVE-2023-42366-bug-15874.patch | 43 + ...r-SYS_settimeofday-before-calling-sy.patch | 54 + package/busybox/busybox-minimal.config | 3 +- package/busybox/busybox.config | 3 +- package/busybox/busybox.mk | 10 + package/c-ares/c-ares.mk | 2 +- package/c-icap-modules/Config.in | 2 +- ...e-due-to-getpagesize-implicit-declar.patch | 33 + package/catch2/catch2.hash | 2 +- package/catch2/catch2.mk | 2 +- package/ccache/ccache.mk | 1 + ...patch => 0001-fix-build-with-uClibc.patch} | 18 +- .../0004-Add-missing-header-includes.patch | 48 + package/cdrkit/Config.in | 2 +- ...xt-don-t-build-shared-libraries-when.patch | 255 +++ ...k_run.c-fix-build-on-noMMU-platforms.patch | 82 + ...move-redundant-demoextend-definition.patch | 2 +- package/cjson/cjson.hash | 2 +- package/cjson/cjson.mk | 2 +- package/clamav/clamav.hash | 2 +- package/clamav/clamav.mk | 5 +- package/cmake/Config.in.host | 5 + package/cmake/cmake.hash | 4 +- package/cmake/cmake.mk | 2 +- package/cmocka/Config.in | 2 +- package/cog/cog.hash | 8 +- package/cog/cog.mk | 2 +- package/collectd/Config.in | 6 +- package/collectd/collectd.mk | 2 +- package/comix-cursors/comix-cursors.hash | 2 +- package/comix-cursors/comix-cursors.mk | 4 +- package/composer/composer.mk | 4 +- package/containerd/Config.in | 7 +- package/containerd/containerd.hash | 2 +- package/containerd/containerd.mk | 6 +- package/coreutils/coreutils.mk | 6 - package/criu/Config.in | 2 +- package/crucible/crucible.hash | 2 +- package/crucible/crucible.mk | 2 +- .../0003-Fix-build-for-Linux-6-7-rc1.patch | 38 + package/cryptodev-linux/cryptodev-linux.mk | 2 +- package/cryptsetup/cryptsetup.hash | 2 +- package/cryptsetup/cryptsetup.mk | 2 +- ...move-man-from-BUILDDIRS-in-configure.patch | 7 +- package/cups/0002-Do-not-use-genstrings.patch | 8 +- ...03-Sanitize-the-installation-process.patch | 20 +- ...0004-Remove-PIE-flags-from-the-build.patch | 8 +- ...-support-for-MacOS-Win-SSL-libs-back.patch | 349 ---- ...sion-does-not-support-several-hashes.patch | 30 - package/cups/cups.hash | 2 +- package/cups/cups.mk | 2 +- .../curlpp/0001-fix-invalid-conversion.patch | 27 + package/cvs/cvs.mk | 14 +- package/daq/daq.hash | 4 +- package/daq/daq.mk | 6 +- ...ne-to-logfile-openning-error-message.patch | 2 +- package/dhcpcd/dhcpcd.hash | 4 +- package/dhcpcd/dhcpcd.mk | 2 +- package/dillo/Config.in | 2 +- package/dillo/dillo.mk | 2 +- ...-__NR_futex-on-32bit-architectures-u.patch | 43 + package/directfb/Config.in | 2 - package/dmalloc/dmalloc.mk | 2 +- package/dmenu-wayland/dmenu-wayland.mk | 1 + .../0001-fix-compilation-under-musl.patch | 2 +- package/dmraid/dmraid.mk | 1 + package/dnsmasq/S80dnsmasq | 9 + package/docker-cli/docker-cli.hash | 2 +- package/docker-cli/docker-cli.mk | 2 +- package/docker-compose/docker-compose.hash | 2 +- package/docker-compose/docker-compose.mk | 2 +- package/docker-engine/Config.in | 7 +- package/docker-engine/docker-engine.hash | 2 +- package/docker-engine/docker-engine.mk | 6 +- package/domoticz/domoticz.hash | 2 +- package/domoticz/domoticz.mk | 12 +- package/doom-wad/doom-wad.mk | 1 - .../dovecot-pigeonhole.hash | 2 +- .../dovecot-pigeonhole/dovecot-pigeonhole.mk | 2 +- package/dovecot/Config.in | 2 +- package/dovecot/dovecot.hash | 2 +- package/dovecot/dovecot.mk | 2 +- .../0001-Implement-Strict-KEX-mode.patch | 232 -- package/dropbear/dropbear.hash | 2 +- package/dropbear/dropbear.mk | 5 +- package/duma/duma.mk | 1 + package/dvblast/0001-missing-lm.patch | 2 +- ...estore-KERNEL_64_USERSPACE_32-checks.patch | 105 - ...-option-enable-kernel-64-userland-32.patch | 51 - package/ebtables/Config.in | 2 + package/ebtables/ebtables.hash | 2 +- package/ebtables/ebtables.mk | 8 +- package/ed/ed.hash | 4 +- package/ed/ed.mk | 2 +- ...r-new-style-ctors-when-using-riscv64.patch | 34 + package/elftosb/0001-fixes-includes.patch | 2 +- package/elftosb/0002-force-cxx-compiler.patch | 2 +- ...e-Werror-conditional-to-BUILD_WERROR.patch | 12 +- package/elfutils/elfutils.mk | 9 +- package/erlang/erlang.mk | 2 +- package/evemu/evemu.mk | 1 + .../0001-Build-buildconfig-for-the-host.patch | 4 +- ...ake-backup-copies-of-installed-files.patch | 4 +- ...rsion-check-and-symlink-installation.patch | 8 +- ..._lock-fix-lstat-related-build-errors.patch | 51 - ...atch => 0004-sieve-fix-build-errors.patch} | 6 +- .../0006-OpenSSL-fix-non-DANE-build.patch | 28 - package/exim/0007-typoes.patch | 58 - ...nssl.c-fix-build-with-libressl-3.5.0.patch | 43 - package/exim/exim.hash | 4 +- package/exim/exim.mk | 2 +- package/exiv2/Config.in | 2 +- package/expat/Config.in | 2 +- package/expat/expat.hash | 6 +- package/expat/expat.mk | 4 +- .../falcosecurity-libs/falcosecurity-libs.mk | 2 +- package/fbgrab/Config.in | 2 +- package/fbset/Config.in | 2 +- package/fbset/fbset.mk | 2 +- package/fbv/fbv.mk | 4 +- .../0001-use-LIBS-from-configure.patch | 2 +- package/fcgiwrap/fcgiwrap.mk | 2 +- package/fetchmail/fetchmail.hash | 4 +- package/fetchmail/fetchmail.mk | 2 +- package/ffmpeg/ffmpeg.mk | 24 + .../0001-file-seccomp-fstatat64-musl.patch | 32 + package/file/file.hash | 2 +- package/file/file.mk | 2 +- ...ssible-to-disable-the-build-of-the-d.patch | 2 +- package/fluent-bit/fluent-bit.hash | 2 +- package/fluent-bit/fluent-bit.mk | 2 +- package/fluidsynth/fluidsynth.hash | 2 +- package/fluidsynth/fluidsynth.mk | 2 +- package/flutter-engine/Config.in | 2 +- package/flutter-engine/flutter-engine.mk | 1 + package/flutter-engine/gen-tarball | 6 +- package/flutter-pi/Config.in | 2 +- package/fmc/Config.in | 6 +- package/fmlib/Config.in | 10 +- package/foot/foot.hash | 2 +- package/foot/foot.mk | 4 +- package/freeipmi/freeipmi.hash | 2 +- package/freeipmi/freeipmi.mk | 4 +- .../freeradius-client/freeradius-client.mk | 2 +- .../freeradius-server/freeradius-server.hash | 2 +- .../freeradius-server/freeradius-server.mk | 2 +- package/freerdp/freerdp.hash | 4 +- package/freerdp/freerdp.mk | 2 +- package/freescale-imx/imx-gpu-viv/Config.in | 4 +- package/freetype/freetype.hash | 6 +- package/freetype/freetype.mk | 2 +- package/frr/frr.hash | 2 +- package/frr/frr.mk | 2 +- ...fix-parallel-build-with-GNU-Make-4.4.patch | 133 ++ package/fwts/fwts.mk | 2 +- package/gamin/gamin.mk | 3 +- package/gcc-bare-metal/13.2.0 | 1 - package/gcc-bare-metal/13.3.0 | 1 + package/gcc-bare-metal/gcc-bare-metal.mk | 4 +- ...libiberty-Darwin-Fix-a-build-warning.patch | 37 + ...-along-with-_FILE_OFFSET_BITS-on-Lin.patch | 44 + ...o-undef-_TIME_BITS-in-sanitizer_proc.patch | 53 + ...le-split-stack-for-non-thread-builds.patch | 0 ...ine-TARGET_HAVE_TLS-when-HAVE_AS_TLS.patch | 0 ...add-.note.GNU-stack-section-on-linux.patch | 0 ...-along-with-_FILE_OFFSET_BITS-on-Lin.patch | 44 + ...o-undef-_TIME_BITS-in-sanitizer_proc.patch | 53 + ...le-split-stack-for-non-thread-builds.patch | 0 ...ISC-V-fix-build-issue-with-gcc-4.9.x.patch | 0 ...-along-with-_FILE_OFFSET_BITS-on-Lin.patch | 44 + ...o-undef-_TIME_BITS-in-sanitizer_proc.patch | 53 + package/gcc/Config.in.host | 8 +- package/gcc/gcc.hash | 8 +- package/gcc/gcc.mk | 2 +- package/gdal/Config.in | 6 +- package/gdal/gdal.mk | 8 +- ...e-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch | 0 ...-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch | 0 .../0003-use-asm-sgidefs.h.patch | 0 .../0004-gdbserver-fix-build-for-m68k.patch | 0 ...fork-inferior-include-linux-ptrace.h.patch | 0 ...getrandom-compile-for-uclibc-v1.0.35.patch | 0 .../0007-fix-musl-build-on-riscv.patch | 0 ...-gdbserver-Makefile.in-fix-NLS-build.patch | 0 .../0009-gdb-Fix-native-build-on-xtensa.patch | 0 package/gdb/Config.in | 2 +- package/gdb/Config.in.host | 2 +- package/gdb/gdb.hash | 10 +- package/genpart/0001-fix-return-code.patch | 6 +- package/genpart/Config.in | 2 +- package/genpart/Config.in.host | 2 +- package/genpart/genpart.mk | 2 +- package/gerbera/gerbera.mk | 2 +- .../0001-Fix-build-without-BUILD_PDF.patch | 34 - package/ghostscript/ghostscript.hash | 4 +- package/ghostscript/ghostscript.mk | 2 +- ...dd-targets-to-manage-static-building.patch | 44 +- package/giflib/0002-Fix-CVE-2022-28506.patch | 34 - ...eral-defects-found-by-Coverity-scan.patch} | 62 +- package/giflib/0003-Fix-CVE-2023-39742.patch | 36 - package/giflib/giflib.hash | 5 +- package/giflib/giflib.mk | 11 +- package/git/git.hash | 2 +- package/git/git.mk | 2 +- package/glibc/Config.in | 2 +- package/glibc/glibc.hash | 2 +- package/glibc/glibc.mk | 15 +- package/gmp/gmp.mk | 2 + package/gnu-efi/Config.in | 3 +- package/gnupg2/gnupg2.hash | 4 +- package/gnupg2/gnupg2.mk | 2 +- package/gnuplot/Config.in | 1 + package/gnuplot/gnuplot.mk | 5 +- package/gnutls/gnutls.hash | 9 +- package/gnutls/gnutls.mk | 18 +- .../go-bootstrap-stage2.hash | 2 +- .../go-bootstrap-stage2.mk | 2 +- ...ldvcs-false-when-building-go-bootstr.patch | 71 + package/go-bootstrap-stage3/Config.in.host | 4 + .../go-bootstrap-stage3.hash | 3 + .../go-bootstrap-stage3.mk | 54 + ...explicit-option-for-crosscompilation.patch | 2 +- package/go/Config.in.host | 4 +- package/go/go.hash | 2 +- package/go/go.mk | 8 +- .../0001-disable-tests.patch | 2 +- package/gobject-introspection/Config.in | 7 +- package/google-breakpad/Config.in | 6 +- .../googlefontdirectory.hash | 1860 ++++++++--------- package/gpsd/Config.in | 3 +- package/gpsd/gpsd.mk | 2 +- package/gr-osmosdr/gr-osmosdr.mk | 6 +- package/gstreamer1/gst-omx/gst-omx.hash | 4 +- package/gstreamer1/gst-omx/gst-omx.mk | 2 +- .../gst1-devtools/gst1-devtools.hash | 4 +- .../gstreamer1/gst1-devtools/gst1-devtools.mk | 2 +- package/gstreamer1/gst1-libav/gst1-libav.hash | 4 +- package/gstreamer1/gst1-libav/gst1-libav.mk | 2 +- package/gstreamer1/gst1-plugins-bad/Config.in | 5 +- .../gst1-plugins-bad/gst1-plugins-bad.hash | 4 +- .../gst1-plugins-bad/gst1-plugins-bad.mk | 2 +- .../gst1-plugins-base/gst1-plugins-base.hash | 4 +- .../gst1-plugins-base/gst1-plugins-base.mk | 2 +- .../gstreamer1/gst1-plugins-good/Config.in | 2 + .../gst1-plugins-good/gst1-plugins-good.hash | 4 +- .../gst1-plugins-good/gst1-plugins-good.mk | 4 +- .../gst1-plugins-ugly/gst1-plugins-ugly.hash | 4 +- .../gst1-plugins-ugly/gst1-plugins-ugly.mk | 2 +- .../gstreamer1/gst1-python/gst1-python.hash | 4 +- package/gstreamer1/gst1-python/gst1-python.mk | 2 +- .../gst1-rtsp-server/gst1-rtsp-server.hash | 4 +- .../gst1-rtsp-server/gst1-rtsp-server.mk | 2 +- package/gstreamer1/gst1-vaapi/gst1-vaapi.hash | 4 +- package/gstreamer1/gst1-vaapi/gst1-vaapi.mk | 2 +- .../gstreamer1-editing-services.hash | 4 +- .../gstreamer1-editing-services.mk | 2 +- package/gstreamer1/gstreamer1/gstreamer1.hash | 4 +- package/gstreamer1/gstreamer1/gstreamer1.mk | 2 +- package/gtest/gtest.mk | 2 +- package/guile/guile.mk | 5 - package/harfbuzz/harfbuzz.hash | 2 +- package/harfbuzz/harfbuzz.mk | 2 +- package/hddtemp/Config.in | 2 +- ...file.m4-Fix-build-with-autoconf-2.72.patch | 27 + package/heimdal/heimdal.mk | 4 +- package/heirloom-mailx/Config.in | 2 +- package/hiawatha/Config.in | 2 +- package/hiawatha/hiawatha.mk | 2 +- package/hidapi/Config.in | 2 +- package/hostapd/Config.in | 2 +- package/hostapd/hostapd.mk | 2 +- package/htop/htop.mk | 10 + .../icu/0002-workaround-toolchain-bugs.patch | 2 +- package/icu/Config.in | 2 +- package/imagemagick/imagemagick.hash | 4 +- package/imagemagick/imagemagick.mk | 2 +- package/inih/inih.hash | 2 +- package/inih/inih.mk | 2 +- package/intel-gmmlib/intel-gmmlib.hash | 2 +- package/intel-gmmlib/intel-gmmlib.mk | 2 +- .../intel-mediadriver/intel-mediadriver.hash | 2 +- .../intel-mediadriver/intel-mediadriver.mk | 2 +- package/intel-microcode/intel-microcode.hash | 2 +- package/intel-microcode/intel-microcode.mk | 2 +- package/iperf3/Config.in | 2 + package/iperf3/iperf3.hash | 6 +- package/iperf3/iperf3.mk | 2 +- package/irda-utils/0001-daemon.patch | 2 +- package/irda-utils/0002-nommu.patch | 2 +- package/irssi/irssi.hash | 5 +- package/irssi/irssi.mk | 2 +- package/ivi-homescreen/Config.in | 8 +- package/jailhouse/jailhouse.mk | 5 +- package/janus-gateway/janus-gateway.mk | 1 + package/json-for-modern-cpp/Config.in | 2 +- package/jsoncpp/jsoncpp.hash | 2 +- package/jsoncpp/jsoncpp.mk | 2 +- package/keepalived/Config.in | 2 +- package/kexec-lite/Config.in | 2 +- ...uilding-on-x86_64-with-binutils-2-41.patch | 94 + package/kexec/kexec.mk | 8 + ...able-implementation-for-basename-API.patch | 134 ++ .../kodi-jsonschemabuilder.mk | 2 +- package/kodi-pvr-hts/kodi-pvr-hts.hash | 2 +- package/kodi-pvr-hts/kodi-pvr-hts.mk | 2 +- .../kodi-texturepacker/kodi-texturepacker.mk | 2 +- package/kodi/Config.in | 2 +- package/kodi/kodi.hash | 2 +- package/kodi/kodi.mk | 9 +- package/ksmbd-tools/ksmbd-tools.hash | 2 +- package/ksmbd-tools/ksmbd-tools.mk | 2 +- package/lbreakout2/Config.in | 4 +- ...iconv-to-the-.pc-file-if-needed-1825.patch | 2 +- ...o-not-add-iconv-for-Requires.private.patch | 2 +- package/libarchive/Config.in | 6 + package/libarchive/libarchive.hash | 2 +- package/libarchive/libarchive.mk | 12 +- package/libassuan/libassuan.hash | 4 +- package/libassuan/libassuan.mk | 2 +- package/libblockdev/libblockdev.hash | 2 +- package/libblockdev/libblockdev.mk | 2 +- package/libbsd/Config.in | 1 - package/libcddb/Config.in | 2 +- package/libcoap/Config.in | 10 +- .../0002-libcuefile-fedora-c99.patch | 27 + ...igure.ac-find-libpsl-with-pkg-config.patch | 109 - package/libcurl/libcurl.hash | 6 +- package/libcurl/libcurl.mk | 13 +- package/libdrm/Config.in | 1 - package/libdrm/libdrm.mk | 4 +- package/libedit/libedit.mk | 1 + package/libee/Config.in | 2 +- ...ix-error-implicit-declaration-of-fun.patch | 64 + ...libest-Add-OpenSSL-3.0-compatibility.patch | 225 ++ package/libev/libev.mk | 2 +- ...ward-declare-open_temp_exec_file-764.patch | 49 + package/libfreeglut/Config.in | 2 +- package/libftdi/libftdi.mk | 2 +- package/libgeos/libgeos.hash | 2 +- package/libgeos/libgeos.mk | 2 +- package/libgeotiff/Config.in | 6 +- package/libgit2/libgit2.hash | 2 +- package/libgit2/libgit2.mk | 2 +- .../0006-link-with-latomic-when-needed.patch | 52 + package/libglib2/libglib2.mk | 7 +- package/libglob/libglob.mk | 2 +- package/libgpg-error/Config.in | 1 + package/libgpg-error/libgpg-error.hash | 5 +- package/libgpg-error/libgpg-error.mk | 2 +- package/libgtk3/libgtk3.hash | 4 +- package/libgtk3/libgtk3.mk | 2 +- package/libhtp/libhtp.hash | 2 +- package/libhtp/libhtp.mk | 2 +- package/libilbc/Config.in | 2 +- package/libilbc/libilbc.hash | 2 +- package/libilbc/libilbc.mk | 3 +- package/libjwt/libjwt.hash | 4 +- package/libjwt/libjwt.mk | 8 +- package/libkcapi/libkcapi.mk | 2 +- package/libkrb5/libkrb5.hash | 6 +- package/libkrb5/libkrb5.mk | 12 +- package/libksba/libksba.hash | 4 +- package/libksba/libksba.mk | 2 +- package/libldns/libldns.hash | 8 +- package/libldns/libldns.mk | 4 +- package/liblinear/Config.in | 2 +- package/liblinear/liblinear.mk | 2 +- package/liblockfile/liblockfile.hash | 1 - package/liblockfile/liblockfile.mk | 1 - .../0003-drop-GCC-fforce-mem-option.patch | 18 + package/libmad/libmad.mk | 4 +- ...n-hardcode-building-a-shared-library.patch | 34 - package/libmanette/libmanette.hash | 4 +- package/libmanette/libmanette.mk | 2 +- package/libmdbx/libmdbx.hash | 2 +- package/libmdbx/libmdbx.mk | 2 +- package/libmnl/libmnl.hash | 6 +- package/libmnl/libmnl.mk | 2 +- package/libmodbus/libmodbus.hash | 2 +- package/libmodbus/libmodbus.mk | 2 +- package/libmodsecurity/libmodsecurity.hash | 2 +- package/libnetconf2/Config.in | 2 +- package/libnetfilter_acct/Config.in | 2 +- .../libnetfilter_acct/libnetfilter_acct.hash | 2 +- .../libnetfilter_acct/libnetfilter_acct.mk | 2 +- package/libnetfilter_log/Config.in | 2 +- .../libnetfilter_log/libnetfilter_log.hash | 2 +- package/libnetfilter_log/libnetfilter_log.mk | 2 +- package/libnfs/libnfs.hash | 2 +- package/libnfs/libnfs.mk | 6 +- ...EXPOSE_RWLOCK_API-for-musl-C-library.patch | 37 + ..._rwlock_timedrdlock-is-not-supported.patch | 51 + .../libnpth/0003-Fix-previous-commit.patch | 39 + package/libnpth/libnpth.hash | 7 +- package/libnpth/libnpth.mk | 5 +- ...w-overriding-OS_ARCH-OS_TEST-and-OS_.patch | 2 +- package/libopenh264/libopenh264.hash | 2 +- package/libopenh264/libopenh264.mk | 2 +- package/libopenssl/libopenssl.hash | 4 +- package/libopenssl/libopenssl.mk | 21 +- package/libpam-nfc/Config.in | 2 +- package/libpcap/libpcap.hash | 4 +- package/libpcap/libpcap.mk | 6 +- package/libpeas/Config.in | 2 +- package/libpng/libpng.hash | 4 +- package/libpng/libpng.mk | 2 +- package/libpwquality/libpwquality.mk | 2 +- ...ists-txt-Fix-HOST-variable-for-ppc64.patch | 26 + package/libressl/libressl.hash | 2 +- package/libressl/libressl.mk | 2 +- ...st-fix-gcc-14.x-compile-implicit-int.patch | 39 + ...-int-overflow-in-dataend-calculation.patch | 45 + ...-overflow-while-calculating-data_end.patch | 58 + ...-fix-int-overflow-in-avr_read_header.patch | 34 + ...rflow-warning-in-sample-calculations.patch | 61 + ...erflow-when-counting-header-elements.patch | 39 + ...ix-int-overflow-in-ircam_read_header.patch | 82 + ...t-overflow-when-calculating-blockwid.patch | 48 + ...-int-overflow-in-psf_binheader_readf.patch | 181 ++ ...-fix-int-overflow-in-signal-estimate.patch | 233 +++ ...m-fix-int-overflow-in-sf.frames-calc.patch | 39 + ...011-pcm-fix-int-overflow-in-pcm_init.patch | 35 + ...fix-int-overflow-in-rf64_read_header.patch | 40 + ...-fix-int-overflow-in-ima_reader_init.patch | 55 + ...rror-checking-for-vorbis.-Fixes-1035.patch | 411 ++++ package/libsndfile/libsndfile.mk | 18 + package/libsoup3/libsoup3.hash | 4 +- package/libsoup3/libsoup3.mk | 4 +- package/libtasn1/libtasn1.hash | 10 +- package/libtasn1/libtasn1.mk | 4 +- .../libtorrent-rasterbar.hash | 2 +- .../libtorrent-rasterbar.mk | 2 +- ...ATH_MAX-if-it-is-not-already-defined.patch | 40 + package/libuecc/libuecc.hash | 4 +- package/libuecc/libuecc.mk | 3 +- ...akeLists.txt-add-BUILD_WERROR-option.patch | 30 + package/libuhttpd/libuhttpd.mk | 1 + package/libunwind/libunwind.mk | 2 +- package/libupnp/libupnp.hash | 2 +- package/libupnp/libupnp.mk | 2 +- package/liburiparser/liburiparser.hash | 2 +- package/liburiparser/liburiparser.mk | 2 +- package/libutempter/libutempter.mk | 3 +- package/libvirt/Config.in | 1 + package/libvirt/S92libvirtd | 2 +- package/libvirt/libvirt.mk | 54 +- package/libvncserver/libvncserver.mk | 2 +- package/libvpl/Config.in | 2 +- package/libvpl/libvpl.hash | 2 +- package/libvpl/libvpl.mk | 2 +- package/libwpe/libwpe.hash | 7 +- package/libwpe/libwpe.mk | 2 +- package/libxcrypt/Config.in | 1 + package/libxcrypt/libxcrypt.mk | 2 +- package/libxml2/libxml2.hash | 4 +- package/libxml2/libxml2.mk | 2 +- package/libxslt/libxslt.hash | 4 +- package/libxslt/libxslt.mk | 2 +- .../0001-Fix-build-on-mips64el.patch | 65 - ...ips-Fix-build-on-MIPS64-with-n32-ABI.patch | 133 ++ package/lightning/lightning.hash | 2 +- package/lightning/lightning.mk | 2 +- package/linux-firmware/Config.in | 38 +- package/linux-firmware/linux-firmware.mk | 30 + .../0001-fix-for-linux-4-and-above.patch | 2 +- package/linux-headers/Config.in.host | 12 +- ...-consistently-include-config.h-first.patch | 180 ++ .../0001-pam_namespace-include-stdint-h.patch | 42 - package/linux-pam/Config.in | 1 - package/linux-pam/linux-pam.hash | 4 +- package/linux-pam/linux-pam.mk | 4 +- package/linux-tools/linux-tool-perf.mk.in | 3 +- .../0001-test-serial-Remove-test-serial.patch | 2 +- package/lldpd/Config.in | 2 +- package/llvm-project/llvm/llvm.mk | 4 - ...c-to-prevent-memsize-from-timingout-.patch | 2 +- ...build-make-it-possible-to-set-LDLIBS.patch | 30 + package/lmbench/lmbench.mk | 1 - package/localedef/localedef.mk | 2 +- package/lrzsz/lrzsz.mk | 5 - package/ltrace/Config.in | 6 +- package/lua-augeas/lua-augeas.mk | 2 +- .../0001-src-platform.hh-fix-or1k-build.patch | 39 + package/luabitop/luabitop.hash | 2 +- package/luajit/luajit.mk | 9 - package/lvm2/lvm2.mk | 5 + ...-lxc-syscall_numbers.h-drop-define-1.patch | 133 ++ package/lynx/lynx.mk | 2 +- ...4-configure-ac-call-AM_MKINSTALLDIRS.patch | 2 +- package/madplay/madplay.mk | 2 +- package/make/make.mk | 2 +- package/makedevs/makedevs.c | 6 +- package/mariadb/Config.in | 1 + package/mariadb/mariadb.mk | 2 +- package/mbedtls/mbedtls.hash | 4 +- package/mbedtls/mbedtls.mk | 5 +- package/mdio-tools/mdio-tools.mk | 1 + package/mdnsd/S50mdnsd | 6 +- package/mesa3d-headers/mesa3d-headers.mk | 2 +- .../0006-drisw-fix-build-without-dri3.patch | 58 - ...on-t-try-zink-if-not-enabled-in-mesa.patch | 42 - package/mesa3d/Config.in | 21 +- package/mesa3d/mesa3d.hash | 6 +- package/mesa3d/mesa3d.mk | 12 +- ...-non-Thumb2-long-jump-workaround-opt.patch | 130 ++ package/micropython/Config.in | 4 +- package/minisign/minisign.mk | 1 + package/minizip/Config.in | 2 +- ...-all-symbols-of-mjpg_streamer-binary.patch | 33 + package/mmc-utils/Config.in | 6 +- package/mmc-utils/mmc-utils.hash | 2 +- package/mmc-utils/mmc-utils.mk | 2 +- .../0001-Revert-Fix-NetBSD-build.patch | 390 ++++ package/mosquitto/mosquitto.hash | 4 +- package/mosquitto/mosquitto.mk | 2 +- package/mpg123/mpg123.hash | 6 +- package/mpg123/mpg123.mk | 4 +- ...-Fix-configure-failures-with-Xcode12.patch | 116 + package/mpir/mpir.mk | 2 + package/mrouted/Config.in | 3 +- package/mrouted/mrouted.mk | 2 +- package/msmtp/msmtp.hash | 4 +- package/msmtp/msmtp.mk | 2 +- package/mtd/mtd.mk | 2 +- package/multipath-tools/multipath-tools.hash | 1 - package/multipath-tools/multipath-tools.mk | 3 +- package/mupdf/Config.in | 2 - package/mupdf/mupdf.mk | 35 +- .../musepack/0004-missing-sys-select.patch | 2 +- .../musl-compat-headers.hash | 2 +- .../musl-compat-headers.mk | 2 +- ...ility-for-C-entry-point-function-_st.patch | 42 + ...ous-input-validation-in-EUC-KR-decod.patch | 41 + ...-8-output-code-path-against-input-de.patch | 40 + package/musl/Config.in | 3 +- package/musl/musl.mk | 4 + package/mutt/mutt.hash | 2 +- package/mutt/mutt.mk | 2 +- package/ncftp/Config.in | 2 +- package/ncftp/ncftp.mk | 4 +- package/neon/neon.mk | 2 +- package/net-tools/net-tools.mk | 2 +- package/netatalk/netatalk.hash | 8 +- package/netatalk/netatalk.mk | 2 +- package/nettle/nettle.mk | 2 +- package/network-manager/Config.in | 7 +- package/network-manager/network-manager.hash | 1 - package/network-manager/network-manager.mk | 2 +- .../newlib-bare-metal/newlib-bare-metal.mk | 2 +- package/nfacct/Config.in | 2 +- package/nfacct/nfacct.hash | 2 +- package/nfacct/nfacct.mk | 2 +- package/nfs-utils/nfs-utils.mk | 5 +- package/nghttp2/nghttp2.hash | 2 +- package/nghttp2/nghttp2.mk | 2 +- .../nginx-modsecurity/nginx-modsecurity.hash | 2 +- ...-auto-lib-libgd-conf-use-pkg-config.patch} | 0 ...auto-lib-openssl-conf-use-pkg-config.patch | 251 --- ...inux_config.h-only-include-dlfcn.h-.patch} | 0 ...of-endianness-for-cross-compilation.patch} | 0 ...auto-lib-openssl-conf-use-pkg-config.patch | 34 + ...to-os-linux-fix-build-with-libxcrypt.patch | 38 - package/nginx/nginx.hash | 4 +- package/nginx/nginx.mk | 4 +- package/nload/Config.in | 2 +- ...ules-cjs-loader.js-adjust-default-pa.patch | 2 +- package/nodejs/nodejs.hash | 16 +- package/nodejs/nodejs.mk | 2 +- package/ntp/0001-nano.patch | 28 - ...patch => 0001-ntp-syscalls-fallback.patch} | 9 +- .../ntp/0002-fix-pthread-detach-check.patch | 26 + package/ntp/0003-fix-md5update.patch | 209 ++ ...-Fix-crash-when-binding-IPv6-address.patch | 38 + package/ntp/ntp.hash | 6 +- package/ntp/ntp.mk | 2 +- package/ntpsec/0003-disable-PIE-support.patch | 26 + package/ntpsec/ntpsec.mk | 1 + package/nvidia-driver/0001-use-LDFLAGS.patch | 2 +- package/oatpp/oatpp.mk | 2 +- package/octave/octave.mk | 47 +- .../onevpl-intel-gpu/onevpl-intel-gpu.hash | 2 +- package/onevpl-intel-gpu/onevpl-intel-gpu.mk | 2 +- package/open-iscsi/Config.in | 1 - package/open-iscsi/open-iscsi.mk | 9 +- package/open2300/open2300.hash | 2 +- package/open62541/Config.in | 2 +- package/openblas/Config.in | 4 - package/openjdk/Config.in | 2 +- package/openjpeg/openjpeg.hash | 2 +- package/openjpeg/openjpeg.mk | 2 +- package/openldap/openldap.hash | 4 +- package/openldap/openldap.mk | 2 +- package/openocd/openocd.mk | 10 +- ...ble-wrap-unwrap-test-until-OpenSC-17.patch | 41 + package/opensc/Config.in | 1 - package/opensc/opensc.hash | 2 +- package/opensc/opensc.mk | 18 +- ...ction-of-broken-fzero-call-used-regs.patch | 57 - package/openssh/openssh.hash | 6 +- package/openssh/openssh.mk | 8 +- package/openssl/Config.in | 14 +- package/openvpn/Config.in | 2 +- package/openvpn/openvpn.hash | 2 +- package/openvpn/openvpn.mk | 2 +- ...-fix-static-build-with-binutils-2.40.patch | 62 + package/oprofile/oprofile.mk | 8 +- package/osm2pgsql/Config.in | 3 + package/owfs/owfs.mk | 4 +- package/p910nd/p910nd.hash | 4 +- package/p910nd/p910nd.mk | 5 +- package/pcm-tools/pcm-tools.mk | 2 +- ...net_buffer_length-macro-if-available.patch | 41 + package/perl-net-ssleay/perl-net-ssleay.hash | 4 +- package/perl-net-ssleay/perl-net-ssleay.mk | 2 +- package/perl/perl.mk | 4 +- package/petitboot/petitboot.hash | 2 +- package/petitboot/petitboot.mk | 2 +- package/php-xdebug/php-xdebug.mk | 10 +- package/php/php.hash | 2 +- package/php/php.mk | 4 +- package/pistache/Config.in | 6 +- ...ne-float.c-fix-inlining-failed-error.patch | 56 + package/pkg-cargo.mk | 2 +- package/pkg-cmake.mk | 1 - package/pkg-download.mk | 6 +- package/pkg-generic.mk | 9 +- package/pkg-golang.mk | 2 +- package/pkg-kconfig.mk | 5 +- package/pkg-kernel-module.mk | 3 + package/pkg-utils.mk | 4 +- package/poco/Config.in | 6 +- package/poco/poco.mk | 1 - package/postgis/Config.in | 6 +- package/postgis/postgis.hash | 2 +- package/postgis/postgis.mk | 2 +- .../0001-Fix-compile-without-threads.patch | 87 + package/postgresql/S50postgresql | 2 +- package/postgresql/postgresql.hash | 6 +- package/postgresql/postgresql.mk | 2 +- ...eck-to-see-if-we-have-struct-sockadd.patch | 44 - ...orkaround-sparc-asm-termbits.h-issue.patch | 316 +++ ...xing-up-parsing-in-radiusclient.conf.patch | 56 - ...stray-include-of-an-openssl-header-w.patch | 31 - ....c-use-uint32_t-instead-of-u_int32_t.patch | 64 - package/pppd/pppd.hash | 2 +- package/pppd/pppd.mk | 11 +- ...on-t-exit-if-configuration-files-are.patch | 30 + ...0002-GNUMakefile.in-fix-root-install.patch | 35 + ...1-build-sys-Add-systemd-elogind-to-w.patch | 48 + .../0001-configure-Add--disable-w.patch | 93 - ...ssing-nl_langinfo-on-certain-configs.patch | 34 - .../0002-fix-ncurses-h-include.patch | 55 + ...03-build-sys-Fix-pidfd_open-checking.patch | 99 + .../procps-ng/0003-fix-pifd_open-check.patch | 59 - ...ld-sys-Fix-define-of-HAVE_PIDFD_OPEN.patch | 37 + ...lude-sys-syscall.h-if-making-pidwait.patch | 41 + package/procps-ng/Config.in | 6 + package/procps-ng/S02sysctl | 4 +- package/procps-ng/procps-ng.hash | 8 +- package/procps-ng/procps-ng.mk | 10 +- package/proftpd/proftpd.mk | 3 +- package/proj/Config.in | 6 +- package/psplash/psplash-start.service | 2 + package/psplash/psplash-systemd.service | 4 +- ...ild-sys-Fix-atomic-support-detection.patch | 59 - ...d-missing-libatomic_ops-dependencies.patch | 129 -- ...0004-meson.build-fix-build-without-C.patch | 56 - package/pulseaudio/pulseaudio.hash | 4 +- package/pulseaudio/pulseaudio.mk | 2 +- package/pure-ftpd/pure-ftpd.hash | 4 +- package/pure-ftpd/pure-ftpd.mk | 3 +- ...-arm_arch_queries.h-fix-uclibc-build.patch | 41 + package/putty/putty.hash | 8 +- package/putty/putty.mk | 2 +- package/python-can/Config.in | 2 +- .../python-configshell-fb.hash | 2 +- .../python-configshell-fb.mk | 2 +- package/python-django/python-django.hash | 4 +- package/python-django/python-django.mk | 4 +- ...ta_files-installs-LICENSE-to-incorre.patch | 38 + package/python-ml-dtypes/Config.in | 2 +- package/python-pillow/python-pillow.hash | 8 +- package/python-pillow/python-pillow.mk | 4 +- package/python-psycopg2/Config.in | 9 +- package/python-pydal/Config.in | 2 +- package/python-pymupdf/Config.in | 7 +- package/python-pymupdf/python-pymupdf.mk | 2 +- package/python-pypng/Config.in | 1 + package/python-pyqt5-sip/Config.in | 7 + .../python-pyqt5-sip/python-pyqt5-sip.hash | 7 + package/python-pyqt5-sip/python-pyqt5-sip.mk | 14 + package/python-pyqt5/Config.in | 1 + package/python-pyqt5/python-pyqt5.mk | 2 +- package/python-rpds-py/python-rpds-py.hash | 2 +- package/python-rpds-py/python-rpds-py.mk | 4 +- .../python-rtslib-fb/python-rtslib-fb.hash | 2 +- package/python-rtslib-fb/python-rtslib-fb.mk | 2 +- .../python-ruamel-yaml.hash | 2 +- package/python-segno/Config.in | 2 + package/python-service-identity/Config.in | 4 +- package/python-sip/python-sip.mk | 8 +- package/python-sqlparse/python-sqlparse.hash | 4 +- package/python-sqlparse/python-sqlparse.mk | 7 +- ...ta_files-installs-LICENSE-to-incorre.patch | 40 + ...oss-compiles-when-host-and-target-us.patch | 140 ++ package/python3/python3.hash | 6 +- package/python3/python3.mk | 4 +- ...fp-disable-fp-bench-build-by-default.patch | 28 - ...on-t-build-fp-bench-test-if-fenv.h-i.patch | 49 + ...trace-events-file-only-if-necessary.patch} | 0 package/qemu/Config.in | 2 +- package/qlibc/Config.in | 4 +- package/qt5/qt5.mk | 2 +- ...r-obscure-EGLNativeDisplayType-types.patch | 2 +- package/qt5/qt5base/qt5base.hash | 2 +- package/qt5/qt5base/qt5base.mk | 4 +- package/qt5/qt5connectivity/Config.in | 2 +- package/qt5/qt5enginio/qt5enginio.mk | 2 +- package/qt5/qt5virtualkeyboard/Config.in | 2 +- ..._object-declarations-to-fix-build-wi.patch | 4 +- ...ngs-with-newer-Ruby-versions-https-b.patch | 48 + ...-libxml2-version-2.12.0-due-to-API-c.patch | 61 + ...make-sure-we-don-t-overflow-the-buff.patch | 106 + ...atch-header-names-case-insensitively.patch | 57 + ...maximumWidth-for-a-text-containing-s.patch | 88 + ...maximumWidth-for-a-text-containing-l.patch | 168 ++ ...Fix-specific-overflow-in-qtextlayout.patch | 79 + ...ay-fix-ambiguous-qOffsetStringArray-.patch | 49 + ...gArray-fix-size_t-qsizetype-mismatch.patch | 37 + ...-use-qOffsetStringArray-for-storing-.patch | 114 + ...der-Raise-error-on-unexpected-tokens.patch | 406 ++++ .../0010-HPack-fix-a-Yoda-Condition.patch | 43 + ...fix-incorrect-integer-overflow-check.patch | 48 + ...-change-fastScanName-to-take-a-Value.patch | 112 + ...-make-fastScanName-indicate-parsing-.patch | 277 +++ ...certificate-not-signed-by-a-configur.patch | 295 +++ ...demand-cert-loading-bool-from-defaul.patch | 116 + ...communication-until-encrypted-can-be.patch | 248 +++ package/qt6/qt6base/qt6base.mk | 35 +- ...Initialize-used-member-remove-unused.patch | 62 + package/quagga/quagga.mk | 3 +- ...print-operations-are-declared-before.patch | 2 +- package/rapidxml/Config.in | 2 +- ...akefile-allow-passing-CFLAGS-LDFLAGS.patch | 16 +- .../raspberrypi-usbboot.hash | 2 +- .../raspberrypi-usbboot.mk | 4 +- .../rauc-hawkbit-updater.mk | 7 + package/rauc/Config.in | 2 +- package/rauc/rauc.hash | 2 +- package/rauc/rauc.mk | 2 +- package/redis-plus-plus/redis-plus-plus.hash | 2 +- package/redis-plus-plus/redis-plus-plus.mk | 2 +- ...is.conf-adjust-defauts-for-buildroot.patch | 2 +- package/redis/redis.hash | 2 +- package/redis/redis.mk | 2 +- package/rlwrap/Config.in | 2 +- package/rp-pppoe/rp-pppoe.mk | 2 +- package/rpi-firmware/Config.in | 4 +- ...py-in-crypto-lib-instead-of-MD5_Init.patch | 28 - ...pkg-config-to-retrieve-openssl-depe.patch} | 0 package/rsync/rsync.hash | 4 +- package/rsync/rsync.mk | 2 +- package/rt-tests/rt-tests.mk | 2 +- package/rtl8189fs/rtl8189fs.hash | 2 +- package/rtl8189fs/rtl8189fs.mk | 2 +- package/ruby/ruby.hash | 4 +- package/ruby/ruby.mk | 4 +- package/samba4/samba4.hash | 4 +- package/samba4/samba4.mk | 2 +- ...missing-algorithm-header-include-380.patch | 30 + ...01-python-sepolgen-fix-ausearch-path.patch | 2 +- package/sentry-cli/sentry-cli.mk | 2 +- package/sentry-native/Config.in | 6 +- package/shadow/shadow.mk | 2 + .../fakeroot_tmpfiles.sh | 2 +- package/skeleton-init-sysv/skeleton/etc/fstab | 2 +- package/skeleton/skeleton.mk | 2 +- package/slirp/Config.in | 4 +- package/smcroute/smcroute.hash | 5 +- package/smcroute/smcroute.mk | 4 +- ...error-raised-by-vqtbl1q_u8-instructi.patch | 52 + package/socat/socat.hash | 6 +- package/socat/socat.mk | 4 +- ...mpatible-pointer-type-in-sip_basic-c.patch | 27 + ...-fix-static-build-with-openssl-3.2.0.patch | 109 + .../0003-use-fhs-install-directories.patch | 4 +- package/speechd/speechd.mk | 1 + package/speex/Config.in | 3 +- ...SL_OP_NO_RENEGOTIATION-fallback-path.patch | 43 + package/sqlite/Config.in | 2 +- package/squid/squid.hash | 8 +- package/squid/squid.mk | 4 +- ...-getopt-linking-error-with-musl-libc.patch | 67 + package/sshguard/sshguard.mk | 2 + package/stress-ng/stress-ng.mk | 6 +- package/strongswan/strongswan.mk | 5 + package/subversion/subversion.hash | 4 +- package/subversion/subversion.mk | 2 +- package/sunxi-tools/Config.in | 5 +- package/supertux/supertux.mk | 2 +- .../0002-configure.ac-fix-static-build.patch | 52 + package/suricata/suricata.hash | 2 +- package/suricata/suricata.mk | 3 +- package/swaybg/swaybg.hash | 5 +- package/swaybg/swaybg.mk | 2 +- package/swupdate/swupdate.hash | 2 +- package/swupdate/swupdate.mk | 2 +- package/sysklogd/Config.in | 4 +- .../0002-basic-add-bcachefs-magic.patch | 53 + package/systemd/Config.in | 4 +- package/systemd/systemd.hash | 2 +- package/systemd/systemd.mk | 15 +- package/sysvinit/sysvinit.mk | 2 +- package/szip/szip.mk | 2 +- package/targetcli-fb/Config.in | 13 +- package/targetcli-fb/targetcli-fb.hash | 2 +- package/targetcli-fb/targetcli-fb.mk | 8 +- ...tcf-services-tcf_elf.c-fix-x86-build.patch | 60 + .../0001-fix-uClibc-ng-compile.patch | 27 + package/tcf-agent/tcf-agent.mk | 9 +- package/ti-sgx-demos/Config.in | 2 +- package/ti-sgx-km/Config.in | 4 +- package/tiff/Config.in | 4 - package/tiff/tiff.hash | 6 +- package/tiff/tiff.mk | 13 +- package/tinycbor/tinycbor.mk | 6 +- ...up-in-error-page-in-invalid-requests.patch | 32 - package/tinyproxy/tinyproxy.hash | 4 +- package/tinyproxy/tinyproxy.mk | 5 +- package/tinyssh/tinyssh.mk | 2 +- package/tllist/tllist.hash | 2 +- package/tllist/tllist.mk | 3 +- package/tor/tor.hash | 4 +- package/tor/tor.mk | 2 +- package/tpm2-abrmd/tpm2-abrmd.mk | 4 - package/tpm2-totp/Config.in | 2 - package/tpm2-tss/tpm2-tss.mk | 6 +- package/transmission/S92transmission | 4 +- package/ttyd/ttyd.mk | 1 + package/tzdata/tzdata.hash | 4 +- package/tzdata/tzdata.mk | 2 +- package/uboot-tools/uboot-tools.mk | 2 +- package/ubus/ubus.mk | 7 - .../0001-Fix-error-absent-sys-asm-h.patch | 59 + .../0001-allow-to-use-sys-ucontext.h.patch | 35 + package/uemacs/02-Replace-cuserid.patch | 34 + package/ulogd/Config.in | 2 +- package/ulogd/ulogd.hash | 2 +- package/ulogd/ulogd.mk | 2 +- package/unbound/Config.in | 1 + package/unbound/unbound.hash | 7 +- package/unbound/unbound.mk | 8 +- package/usbredir/Config.in | 2 +- package/usbutils/Config.in | 1 + package/usbutils/usbutils.mk | 5 + ...ch.c-fix-build-with-uclibc-ng-1.0.39.patch | 39 + package/uuu/Config.in.host | 2 +- package/uuu/uuu.hash | 2 +- package/uuu/uuu.mk | 4 +- package/uvw/uvw.hash | 4 +- package/uvw/uvw.mk | 2 +- package/v4l2loopback/v4l2loopback.mk | 1 + package/vala/vala.hash | 4 +- package/vala/vala.mk | 6 +- package/vdr-plugin-vnsiserver/Config.in | 2 +- package/vdr/vdr.hash | 2 +- package/vdr/vdr.mk | 2 +- package/vim/Config.in | 2 +- package/vlc/vlc.hash | 8 +- package/vlc/vlc.mk | 2 +- ...velInterpreter.cpp-339-21-error-t6-w.patch | 39 - package/webkitgtk/Config.in | 10 +- package/webkitgtk/webkitgtk.hash | 6 +- package/webkitgtk/webkitgtk.mk | 59 +- package/weston/Config.in | 3 +- package/weston/weston.mk | 2 +- package/wget/wget.hash | 8 +- package/wget/wget.mk | 2 +- package/wilc-firmware/Config.in | 4 +- package/wireshark/wireshark.hash | 6 +- package/wireshark/wireshark.mk | 2 +- package/wlroots/Config.in | 2 - package/wolfssl/wolfssl.hash | 2 +- package/wolfssl/wolfssl.mk | 11 +- package/wpebackend-fdo/wpebackend-fdo.hash | 7 +- package/wpebackend-fdo/wpebackend-fdo.mk | 2 +- ...cpp-fails-to-build-NEON-fast-path-se.patch | 337 --- ...velInterpreter.cpp-339-21-error-t6-w.patch | 39 - package/wpewebkit/Config.in | 7 +- package/wpewebkit/wpewebkit.hash | 7 +- package/wpewebkit/wpewebkit.mk | 37 +- package/x11r7/Config.in | 420 ++-- .../xdriver_xf86-video-qxl.mk | 2 +- ...tex.h-fix-build-on-32-bit-architectu.patch | 46 + package/x11r7/xlib_libxshmfence/Config.in | 3 - package/x11r7/xserver_xorg-server/Config.in | 3 +- .../xserver_xorg-server.hash | 6 +- .../xserver_xorg-server.mk | 2 +- package/x11r7/xwayland/Config.in | 2 - ...ld-on-32bit-arches-with-64bit-time_t.patch | 8 +- ...-to-shared-memory-segments-to-curre.patch} | 8 +- .../0003-Fix-build-with-fno-common.patch | 48 + package/x11vnc/x11vnc.mk | 15 - package/x264/x264.mk | 6 + ...sts.txt-do-not-force-compiler-flags.patch} | 65 +- ...s.txt-allow-setting-CPU_HAS_NEON-whe.patch | 40 + package/x265/x265.mk | 14 + package/xen/Config.in | 4 +- ...y-Use-corresponding-pclose-for-popen.patch | 30 + package/xenomai/xenomai.mk | 2 +- package/xfsprogs/Config.in | 2 +- package/xmrig/xmrig.hash | 2 +- package/xmrig/xmrig.mk | 2 +- ...plicitly-use-the-python3-interpreter.patch | 35 + ...-pie-code-generation-and-static-link.patch | 46 + package/xvisor/xvisor.mk | 2 +- package/zabbix/zabbix.mk | 2 +- package/zbar/zbar.mk | 8 +- package/zeromq/zeromq.mk | 2 +- ...ll-fix-for-SEEK_DATA-SEEK_HOLE-tests.patch | 70 + package/zfs/zfs.hash | 4 +- package/zfs/zfs.mk | 5 +- ...ove-dependency-check-on-version-file.patch | 8 +- package/zic/zic.hash | 4 +- package/zic/zic.mk | 4 +- package/zip/zip.hash | 2 +- package/zip/zip.mk | 10 +- package/zlog/zlog.hash | 2 +- package/zlog/zlog.mk | 2 +- package/zmqpp/Config.in | 14 +- ...0001-LibreSSL-3.5-opaqued-structures.patch | 27 - .../znc/0002-Fix-build-with-libressl.patch | 68 - ...DH_get0_key-have-existed-since-Libre.patch | 30 - ...rt-SWIG-4.1.0-drop-support-for-4.0.1.patch | 53 - package/znc/Config.in | 6 +- package/znc/znc.hash | 2 +- package/znc/znc.mk | 2 +- package/zstd/zstd.mk | 2 +- package/zxing-cpp/Config.in | 5 +- package/zxing-cpp/zxing-cpp.mk | 26 - .../autobuild/bootlin-x86-i686-musl.config | 5 + .../autobuild/br-i386-pentium-mmx-musl.config | 10 - .../autobuild/sourcery-arm-armv4t.config | 4 - .../autobuild/sourcery-arm-thumb2.config | 7 - .../autobuild/sourcery-arm.config | 3 - .../autobuild/toolchain-configs.csv | 7 +- support/dependencies/check-host-python3.sh | 2 - support/dependencies/dependencies.sh | 2 +- support/download/check-hash | 11 +- support/download/cvs | 5 +- support/download/helpers | 4 +- support/kconfig/lxdialog/check-lxdialog.sh | 2 +- ...fig.sh-create-temporary-files-in-tmp.patch | 2 +- ...config-lxdialog-fix-check-with-GCC14.patch | 43 + support/kconfig/patches/series | 1 + support/misc/Buildroot.cmake | 2 +- support/misc/Vagrantfile | 15 +- support/misc/utils.mk | 4 +- support/scripts/apply-patches.sh | 4 +- support/scripts/cve.py | 90 +- support/scripts/fix-rpath | 4 +- support/scripts/graph-build-time | 2 +- support/scripts/mkusers | 34 +- support/scripts/pkg-stats | 14 +- support/testing/infra/builder.py | 11 +- support/testing/infra/emulator.py | 68 +- support/testing/tests/boot/test_atf.py | 32 +- .../tests/core/test_file_capabilities.py | 2 +- support/testing/tests/fs/test_btrfs.py | 56 + .../tests/fs/test_btrfs/linux-btrfs.fragment | 1 + support/testing/tests/fs/test_erofs.py | 51 + .../tests/fs/test_erofs/linux-erofs.fragment | 1 + support/testing/tests/fs/test_f2fs.py | 2 +- support/testing/tests/init/test_none.py | 6 +- support/testing/tests/init/test_systemd.py | 2 +- .../tests/package/sample_python_asn1crypto.py | 11 + .../tests/package/sample_python_msgpack.py | 5 + .../tests/package/sample_python_pybind.py | 2 +- .../tests/package/sample_python_pymupdf.py | 17 + .../package/sample_python_ruamel_yaml.py | 27 + support/testing/tests/package/test_4th.py | 55 + support/testing/tests/package/test_acpica.py | 4 +- support/testing/tests/package/test_attr.py | 75 + support/testing/tests/package/test_audit.py | 91 + support/testing/tests/package/test_bash.py | 2 +- support/testing/tests/package/test_bitcoin.py | 184 ++ .../testing/tests/package/test_btrfs_progs.py | 127 ++ .../test_btrfs_progs/linux-btrfs.fragment | 1 + .../tests/package/test_compressor_base.py | 2 +- .../testing/tests/package/test_cryptsetup.py | 2 +- .../testing/tests/package/test_ddrescue.py | 2 +- support/testing/tests/package/test_dtc.py | 39 + .../test_dtc/rootfs-overlay/test_tree1.dts | 48 + support/testing/tests/package/test_ed.py | 98 + support/testing/tests/package/test_ethtool.py | 71 + .../test_ethtool/linux-e1000e.fragment | 1 + .../testing/tests/package/test_exfatprogs.py | 99 + .../test_exfatprogs/linux-exfat.fragment | 1 + support/testing/tests/package/test_fwts.py | 67 + support/testing/tests/package/test_gnuplot.py | 73 + .../rootfs-overlay/root/gnuplot-test.plot | 4 + support/testing/tests/package/test_gpsd.py | 56 + .../rootfs-overlay/root/udp-nmea.log | 6 + support/testing/tests/package/test_iperf.py | 23 + .../testing/tests/package/test_iproute2.py | 77 + .../testing/tests/package/test_iptables.py | 78 + support/testing/tests/package/test_iputils.py | 48 + support/testing/tests/package/test_kmod.py | 97 + .../test_kmod/linux-virtio-net.fragment | 1 + support/testing/tests/package/test_libcurl.py | 55 + support/testing/tests/package/test_links.py | 33 + .../test_links/rootfs-overlay/root/file.html | 9 + support/testing/tests/package/test_lrzsz.py | 42 + support/testing/tests/package/test_lvm2.py | 160 ++ support/testing/tests/package/test_make.py | 82 + .../test_make/rootfs-overlay/root/Makefile | 23 + support/testing/tests/package/test_mariadb.py | 194 ++ support/testing/tests/package/test_mawk.py | 114 + .../testing/tests/package/test_micropython.py | 2 +- .../testing/tests/package/test_mosquitto.py | 44 + support/testing/tests/package/test_mtd.py | 47 + support/testing/tests/package/test_mtools.py | 2 +- support/testing/tests/package/test_netsnmp.py | 44 + .../rootfs-overlay/etc/snmp/snmpd.conf | 4 + support/testing/tests/package/test_nmap.py | 42 + support/testing/tests/package/test_ntp.py | 86 + .../test_ntp/rootfs-overlay/etc/ntp.conf | 10 + support/testing/tests/package/test_patch.py | 44 + .../test_patch/rootfs-overlay/root/file.diff | 8 + .../test_patch/rootfs-overlay/root/file.txt | 3 + .../tests/package/test_perl_dbd_mysql.py | 11 + support/testing/tests/package/test_pv.py | 57 + .../tests/package/test_python_asn1crypto.py | 13 + .../tests/package/test_python_gnupg.py | 1 + .../package/test_python_magic_wormhole.py | 10 +- .../tests/package/test_python_msgpack.py | 12 + .../tests/package/test_python_pymupdf.py | 23 + .../tests/package/test_python_pyqt5.py | 79 + .../test_python_pyqt5/linux-vkms.fragment | 1 + .../rootfs-overlay/root/pyqt5test.py | 60 + .../tests/package/test_python_ruamel_yaml.py | 12 + .../tests/package/test_python_spake2.py | 1 + .../tests/package/test_python_txaio.py | 3 +- support/testing/tests/package/test_rrdtool.py | 100 + support/testing/tests/package/test_socat.py | 56 + .../testing/tests/package/test_trace_cmd.py | 2 +- support/testing/tests/package/test_unbound.py | 79 + .../rootfs-overlay/etc/unbound/unbound.conf | 17 + .../test_weston/overlay/etc/weston.ini | 2 +- support/testing/tests/package/test_wget.py | 57 + support/testing/tests/package/test_xen.py | 65 + .../tests/package/test_xen/genimage.cfg | 35 + .../tests/package/test_xen/linux.config | 204 ++ .../tests/package/test_xen/post-image.sh | 7 + .../testing/tests/package/test_xen/xen.cfg | 2 + .../testing/tests/package/test_xfsprogs.py | 112 + .../package/test_xfsprogs/linux-xfs.fragment | 1 + support/testing/tests/package/test_xvisor.py | 131 ++ support/testing/tests/package/test_xxhash.py | 35 + support/testing/tests/package/test_zbar.py | 37 + support/testing/tests/package/test_zip.py | 15 + .../testing/tests/toolchain/test_external.py | 97 - .../tests/utils/test_get_developers.py | 40 +- system/Config.in | 7 +- toolchain/Config.in | 20 +- toolchain/helpers.mk | 6 +- toolchain/toolchain-external/Config.in | 10 +- .../Config.in | 2 +- .../toolchain-external-arm-aarch64/Config.in | 2 +- .../toolchain-external-arm-arm/Config.in | 2 +- .../Config.in | 66 - .../Config.in.options | 9 - ...toolchain-external-codescape-img-mips.hash | 4 - .../toolchain-external-codescape-img-mips.mk | 51 - .../Config.in | 76 - .../Config.in.options | 9 - ...toolchain-external-codescape-mti-mips.hash | 4 - .../toolchain-external-codescape-mti-mips.mk | 51 - .../Config.in | 19 - .../Config.in.options | 9 - ...olchain-external-codesourcery-aarch64.hash | 3 - ...toolchain-external-codesourcery-aarch64.mk | 12 - .../Config.in | 35 - .../Config.in.options | 9 - .../toolchain-external-codesourcery-arm.hash | 3 - .../toolchain-external-codesourcery-arm.mk | 13 - toolchain/toolchain-wrapper.c | 13 +- utils/add-custom-hashes | 8 + utils/check-package | 10 +- utils/checkpackagelib/lib_config.py | 9 +- utils/checkpackagelib/lib_mk.py | 38 +- utils/checkpackagelib/lib_patch.py | 1 + utils/checkpackagelib/test_lib_mk.py | 63 +- utils/config | 2 +- utils/docker-run | 2 +- utils/genrandconfig | 377 +--- utils/get-developers | 23 +- utils/getdeveloperlib.py | 2 +- utils/readme.txt | 2 +- utils/scanpypi | 12 +- 1292 files changed, 20121 insertions(+), 7842 deletions(-) create mode 100644 .b4-config create mode 100644 .github/pull_request_template.md create mode 100644 .gitlab/issue_templates/default.md create mode 100644 board/acmesystems/acqua-a5/patches/at91bootstrap3/at91bootstrap3.hash create mode 120000 board/acmesystems/acqua-a5/patches/linux-headers/linux-headers.hash create mode 100644 board/acmesystems/acqua-a5/patches/linux/linux.hash create mode 120000 board/chromebook/elm/patches/linux-headers/linux-headers.hash create mode 100644 board/chromebook/elm/patches/linux/linux.hash create mode 120000 board/chromebook/snow/patches/linux-headers/linux-headers.hash rename board/chromebook/snow/{linux-4.15-dts-tpm.patch => patches/linux/0001-linux-4.15-dts-tpm.patch} (85%) create mode 100644 board/chromebook/snow/patches/linux/linux.hash create mode 100644 board/pine64/rockpro64/linux.fragment create mode 120000 board/sheevaplug/patches/linux-headers/linux-headers.hash create mode 100644 board/sheevaplug/patches/linux/linux.hash create mode 100644 board/sheevaplug/patches/uboot/uboot.hash create mode 100644 board/stmicroelectronics/stm32mp157a-dk1/patches/arm-trusted-firmware/arm-trusted-firmware.hash create mode 120000 board/stmicroelectronics/stm32mp157a-dk1/patches/linux-headers/linux-headers.hash create mode 100644 board/stmicroelectronics/stm32mp157a-dk1/patches/linux/linux.hash create mode 100644 board/stmicroelectronics/stm32mp157a-dk1/patches/uboot/uboot.hash create mode 100644 boot/syslinux/0020-pull-in-stdio-h-for-gcc14.patch create mode 100644 package/aer-inject/0001-libgen-basename.patch create mode 100644 package/android-tools/0003-Adjust-base64-function-handling.patch delete mode 100644 package/android-tools/0003-Fix-build-issue-with-uclibc.patch rename package/android-tools/{0005-Use-pkgconf-to-get-libs-deps.patch => 0005-makefiles-use-pkgconf-to-get-libs-deps.patch} (57%) rename package/android-tools/{0006-fix-big-endian-build.patch => 0006-Fix-build-on-big-endian-systems.patch} (75%) rename package/android-tools/{0007-include-cdefs-h-when-needed.patch => 0007-Include-cdefs.h-wherever-it-is-needed.patch} (71%) rename package/android-tools/{0008-Include-sysmacros.h-to-compile-with-glibc-2.28.patch => 0008-usb_linux.c-fix-minor-major-build-failure-due-to-gli.patch} (41%) create mode 100644 package/android-tools/0011-core-fastboot-fastboot.c-reorder-functions-to-avoid-.patch create mode 100644 package/android-tools/0012-core-libsparse-sparse_read.c-add-missing-output_file.patch create mode 100644 package/android-tools/0013-extras-ext4_utils-make_ext4fs_main.c-disable-Android.patch create mode 100644 package/android-tools/0014-core-adbd-adb.c-open-code-capset.patch create mode 100644 package/android-tools/0015-core-adbd-adb.c-include-correct-header-for-prctl.patch create mode 100644 package/android-tools/0016-extras-ext4_utils-make_ext4fs.c-define-__SANE_USERSP.patch create mode 100644 package/apache/0004-ap_log_error-Include-ap_config_auto.h-to-define-_GNU.patch delete mode 100644 package/apache/0004-mod_xml2enc-remove-dependency-on-xmlstring-header.patch create mode 100644 package/apr/0004-Merge-r1920082-from-1.8.x.patch create mode 100644 package/assimp/0001-Fix-leak-5762.patch create mode 100644 package/assimp/0002-Fix-use-after-free-in-the-CallbackToLogRedirector-59.patch create mode 100644 package/attr/0003-tools-attr.c-Add-missing-libgen.h-include-for-basena.patch delete mode 100644 package/bind/0001-cross.patch delete mode 100644 package/bitcoin/0001-src-randomenv.cpp-fix-build-on-uclibc.patch delete mode 100644 package/bitcoin/0002-Add-missing-includes-to-fix-gcc-13-compile-error.patch delete mode 100644 package/bitcoin/0003-refactor-add-most-of-src-util-to-iwyu.patch delete mode 100644 package/bitcoin/0004-src-util-string-h-fix-gcc13.patch create mode 100644 package/bootgen/0001-verifyimage-Fix-segmentation-fault-that-occurs-durin.patch create mode 100644 package/busybox/0009-menuconfig-gcc-failing-saying-ncurses-is-not-found.patch create mode 100644 package/busybox/0011-awk-fix-use-after-realloc-CVE-2021-42380-closes-1560.patch create mode 100644 package/busybox/0012-awk-fix-use-after-free-CVE-2023-42363.patch create mode 100644 package/busybox/0013-awk-fix-precedence-of-relative-to.patch create mode 100644 package/busybox/0014-awk-fix-ternary-operator-and-precedence-of.patch create mode 100644 package/busybox/0015-awk.c-fix-CVE-2023-42366-bug-15874.patch create mode 100644 package/busybox/0016-hwclock-Check-for-SYS_settimeofday-before-calling-sy.patch create mode 100644 package/cache-calibrator/0002-Fix-build-failure-due-to-getpagesize-implicit-declar.patch rename package/cdrkit/{0001-no-rcmd.patch => 0001-fix-build-with-uClibc.patch} (59%) create mode 100644 package/cdrkit/0004-Add-missing-header-includes.patch create mode 100644 package/check/0001-src-CMakeLists.txt-don-t-build-shared-libraries-when.patch create mode 100644 package/check/0002-src-check_run.c-fix-build-on-noMMU-platforms.patch create mode 100644 package/cryptodev-linux/0003-Fix-build-for-Linux-6-7-rc1.patch delete mode 100644 package/cups/0005-cups-hash-c-Put-support-for-MacOS-Win-SSL-libs-back.patch delete mode 100644 package/cups/0006-cups-hash-c-LibreSSL-version-does-not-support-several-hashes.patch create mode 100644 package/curlpp/0001-fix-invalid-conversion.patch create mode 100644 package/directfb/0007-libdirect-define-__NR_futex-on-32bit-architectures-u.patch delete mode 100644 package/dropbear/0001-Implement-Strict-KEX-mode.patch delete mode 100644 package/ebtables/0002-ebtables.h-restore-KERNEL_64_USERSPACE_32-checks.patch delete mode 100644 package/ebtables/0003-configure.ac-add-option-enable-kernel-64-userland-32.patch create mode 100644 package/elf2flt/0001-fix-alignment-for-new-style-ctors-when-using-riscv64.patch delete mode 100644 package/exim/0004-exim_lock-fix-lstat-related-build-errors.patch rename package/exim/{0005-sieve-fix-build-errors.patch => 0004-sieve-fix-build-errors.patch} (88%) delete mode 100644 package/exim/0006-OpenSSL-fix-non-DANE-build.patch delete mode 100644 package/exim/0007-typoes.patch delete mode 100644 package/exim/0008-src-src-tls-openssl.c-fix-build-with-libressl-3.5.0.patch create mode 100644 package/file/0001-file-seccomp-fstatat64-musl.patch create mode 100644 package/fwts/0002-libfwtsiasl-fix-parallel-build-with-GNU-Make-4.4.patch delete mode 120000 package/gcc-bare-metal/13.2.0 create mode 120000 package/gcc-bare-metal/13.3.0 create mode 100644 package/gcc/11.4.0/0008-libiberty-Darwin-Fix-a-build-warning.patch create mode 100644 package/gcc/11.4.0/0009-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS-on-Lin.patch create mode 100644 package/gcc/11.4.0/0010-libsanitizer-also-undef-_TIME_BITS-in-sanitizer_proc.patch rename package/gcc/{12.3.0 => 12.4.0}/0001-disable-split-stack-for-non-thread-builds.patch (100%) rename package/gcc/{12.3.0 => 12.4.0}/0002-or1k-Only-define-TARGET_HAVE_TLS-when-HAVE_AS_TLS.patch (100%) rename package/gcc/{12.3.0 => 12.4.0}/0003-xtensa-add-.note.GNU-stack-section-on-linux.patch (100%) create mode 100644 package/gcc/12.4.0/0005-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS-on-Lin.patch create mode 100644 package/gcc/12.4.0/0006-libsanitizer-also-undef-_TIME_BITS-in-sanitizer_proc.patch rename package/gcc/{13.2.0 => 13.3.0}/0001-disable-split-stack-for-non-thread-builds.patch (100%) rename package/gcc/{13.2.0 => 13.3.0}/0002-RISC-V-fix-build-issue-with-gcc-4.9.x.patch (100%) create mode 100644 package/gcc/13.3.0/0004-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS-on-Lin.patch create mode 100644 package/gcc/13.3.0/0005-libsanitizer-also-undef-_TIME_BITS-in-sanitizer_proc.patch rename package/gdb/{14.1 => 14.2}/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch (100%) rename package/gdb/{14.1 => 14.2}/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch (100%) rename package/gdb/{14.1 => 14.2}/0003-use-asm-sgidefs.h.patch (100%) rename package/gdb/{14.1 => 14.2}/0004-gdbserver-fix-build-for-m68k.patch (100%) rename package/gdb/{14.1 => 14.2}/0005-nat-fork-inferior-include-linux-ptrace.h.patch (100%) rename package/gdb/{14.1 => 14.2}/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch (100%) rename package/gdb/{14.1 => 14.2}/0007-fix-musl-build-on-riscv.patch (100%) rename package/gdb/{14.1 => 14.2}/0008-gdbserver-Makefile.in-fix-NLS-build.patch (100%) rename package/gdb/{14.1 => 14.2}/0009-gdb-Fix-native-build-on-xtensa.patch (100%) delete mode 100644 package/ghostscript/0001-Fix-build-without-BUILD_PDF.patch delete mode 100644 package/giflib/0002-Fix-CVE-2022-28506.patch rename package/giflib/{0004-Fix-several-defects-found-by-Coverity-scan.patch => 0002-Fix-several-defects-found-by-Coverity-scan.patch} (43%) delete mode 100644 package/giflib/0003-Fix-CVE-2023-39742.patch create mode 100644 package/go-bootstrap-stage3/0001-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch create mode 100644 package/go-bootstrap-stage3/Config.in.host create mode 100644 package/go-bootstrap-stage3/go-bootstrap-stage3.hash create mode 100644 package/go-bootstrap-stage3/go-bootstrap-stage3.mk create mode 100644 package/heimdal/0002-cf-largefile.m4-Fix-build-with-autoconf-2.72.patch create mode 100644 package/kexec/0001-Fix-building-on-x86_64-with-binutils-2-41.patch create mode 100644 package/kmod/0002-Use-portable-implementation-for-basename-API.patch create mode 100644 package/libcuefile/0002-libcuefile-fedora-c99.patch delete mode 100644 package/libcurl/0001-configure.ac-find-libpsl-with-pkg-config.patch create mode 100644 package/libest/0001-package-libest-fix-error-implicit-declaration-of-fun.patch create mode 100644 package/libest/0002-package-libest-Add-OpenSSL-3.0-compatibility.patch create mode 100644 package/libffi/0004-Forward-declare-open_temp_exec_file-764.patch create mode 100644 package/libglib2/0006-link-with-latomic-when-needed.patch create mode 100644 package/libmad/0003-drop-GCC-fforce-mem-option.patch delete mode 100644 package/libmanette/0001-Meson-Un-hardcode-building-a-shared-library.patch create mode 100644 package/libnpth/0001-Fix-INSERT_EXPOSE_RWLOCK_API-for-musl-C-library.patch create mode 100644 package/libnpth/0002-Return-a-run-time-error-if-npth_rwlock_timedrdlock-is-not-supported.patch create mode 100644 package/libnpth/0003-Fix-previous-commit.patch create mode 100644 package/libressl/0004-CMakeLists-txt-Fix-HOST-variable-for-ppc64.patch create mode 100644 package/libsha1/0001-test-fix-gcc-14.x-compile-implicit-int.patch create mode 100644 package/libsndfile/0001-mat4-mat5-fix-int-overflow-in-dataend-calculation.patch create mode 100644 package/libsndfile/0002-au-avoid-int-overflow-while-calculating-data_end.patch create mode 100644 package/libsndfile/0003-avr-fix-int-overflow-in-avr_read_header.patch create mode 100644 package/libsndfile/0004-sds-fix-int-overflow-warning-in-sample-calculations.patch create mode 100644 package/libsndfile/0005-aiff-fix-int-overflow-when-counting-header-elements.patch create mode 100644 package/libsndfile/0006-ircam-fix-int-overflow-in-ircam_read_header.patch create mode 100644 package/libsndfile/0007-mat4-mat5-fix-int-overflow-when-calculating-blockwid.patch create mode 100644 package/libsndfile/0008-common-fix-int-overflow-in-psf_binheader_readf.patch create mode 100644 package/libsndfile/0009-nms_adpcm-fix-int-overflow-in-signal-estimate.patch create mode 100644 package/libsndfile/0010-nms_adpcm-fix-int-overflow-in-sf.frames-calc.patch create mode 100644 package/libsndfile/0011-pcm-fix-int-overflow-in-pcm_init.patch create mode 100644 package/libsndfile/0012-rf64-fix-int-overflow-in-rf64_read_header.patch create mode 100644 package/libsndfile/0013-ima_adpcm-fix-int-overflow-in-ima_reader_init.patch create mode 100644 package/libsndfile/0014-src-ogg-better-error-checking-for-vorbis.-Fixes-1035.patch create mode 100644 package/libtracefs/0002-libtracefs-utest-Add-PATH_MAX-if-it-is-not-already-defined.patch create mode 100644 package/libuhttpd/0003-CMakeLists.txt-add-BUILD_WERROR-option.patch delete mode 100644 package/lightning/0001-Fix-build-on-mips64el.patch create mode 100644 package/lightning/0001-mips-Fix-build-on-MIPS64-with-n32-ABI.patch create mode 100644 package/linux-pam/0001-build-consistently-include-config.h-first.patch delete mode 100644 package/linux-pam/0001-pam_namespace-include-stdint-h.patch create mode 100644 package/lmbench/0005-scripts-build-make-it-possible-to-set-LDLIBS.patch create mode 100644 package/lua-cffi/0001-src-platform.hh-fix-or1k-build.patch create mode 100644 package/lxc/0001-src-lxc-syscall_numbers.h-drop-define-1.patch delete mode 100644 package/mesa3d/0006-drisw-fix-build-without-dri3.patch delete mode 100644 package/mesa3d/0007-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch create mode 100644 package/micropython/0001-py-nlrthumb-Make-non-Thumb2-long-jump-workaround-opt.patch create mode 100644 package/mjpg-streamer/0001-Export-all-symbols-of-mjpg_streamer-binary.patch create mode 100644 package/mosquitto/0001-Revert-Fix-NetBSD-build.patch create mode 100644 package/mpir/0002-Fix-configure-failures-with-Xcode12.patch create mode 100644 package/musl/0003-use-hidden-visibility-for-C-entry-point-function-_st.patch create mode 100644 package/musl/0004-iconv-fix-erroneous-input-validation-in-EUC-KR-decod.patch create mode 100644 package/musl/0005-iconv-harden-UTF-8-output-code-path-against-input-de.patch rename package/nginx/{0007-auto-lib-libgd-conf-use-pkg-config.patch => 0006-auto-lib-libgd-conf-use-pkg-config.patch} (100%) delete mode 100644 package/nginx/0006-auto-lib-openssl-conf-use-pkg-config.patch rename package/nginx/{0008-src-os-unix-ngx_linux_config.h-only-include-dlfcn.h-.patch => 0007-src-os-unix-ngx_linux_config.h-only-include-dlfcn.h-.patch} (100%) rename package/nginx/{0010-Allow-forcing-of-endianness-for-cross-compilation.patch => 0008-Allow-forcing-of-endianness-for-cross-compilation.patch} (100%) create mode 100644 package/nginx/0009-auto-lib-openssl-conf-use-pkg-config.patch delete mode 100644 package/nginx/0009-auto-os-linux-fix-build-with-libxcrypt.patch delete mode 100644 package/ntp/0001-nano.patch rename package/ntp/{0002-ntp-syscalls-fallback.patch => 0001-ntp-syscalls-fallback.patch} (75%) create mode 100644 package/ntp/0002-fix-pthread-detach-check.patch create mode 100644 package/ntp/0003-fix-md5update.patch create mode 100644 package/ntp/0004-Fix-crash-when-binding-IPv6-address.patch create mode 100644 package/ntpsec/0003-disable-PIE-support.patch create mode 100644 package/opensc/0001-pkcs11-tool-disable-wrap-unwrap-test-until-OpenSC-17.patch delete mode 100644 package/openssh/0001-better-detection-of-broken-fzero-call-used-regs.patch create mode 100644 package/oprofile/0002-fix-static-build-with-binutils-2.40.patch create mode 100644 package/perl-dbd-mysql/0001-Use-net_buffer_length-macro-if-available.patch create mode 100644 package/pixman/0003-pixman-combine-float.c-fix-inlining-failed-error.patch create mode 100644 package/postgresql/0001-Fix-compile-without-threads.patch delete mode 100644 package/pppd/0001-Add-configure-check-to-see-if-we-have-struct-sockadd.patch create mode 100644 package/pppd/0001-pppd-workaround-sparc-asm-termbits.h-issue.patch delete mode 100644 package/pppd/0002-Closes-411-Fixing-up-parsing-in-radiusclient.conf.patch delete mode 100644 package/pppd/0003-Fixes-issue-429-stray-include-of-an-openssl-header-w.patch delete mode 100644 package/pppd/0004-pppd-ppp-sha1.c-use-uint32_t-instead-of-u_int32_t.patch create mode 100644 package/privoxy/0001-GNUmakefile-in-Don-t-exit-if-configuration-files-are.patch create mode 100644 package/privoxy/0002-GNUMakefile.in-fix-root-install.patch create mode 100644 package/procps-ng/0001-build-sys-Add-systemd-elogind-to-w.patch delete mode 100644 package/procps-ng/0001-configure-Add--disable-w.patch delete mode 100644 package/procps-ng/0002-escape-c-Fix-missing-nl_langinfo-on-certain-configs.patch create mode 100644 package/procps-ng/0002-fix-ncurses-h-include.patch create mode 100644 package/procps-ng/0003-build-sys-Fix-pidfd_open-checking.patch delete mode 100644 package/procps-ng/0003-fix-pifd_open-check.patch create mode 100644 package/procps-ng/0004-build-sys-Fix-define-of-HAVE_PIDFD_OPEN.patch create mode 100644 package/procps-ng/0005-pgrep-Include-sys-syscall.h-if-making-pidwait.patch delete mode 100644 package/pulseaudio/0002-build-sys-Fix-atomic-support-detection.patch delete mode 100644 package/pulseaudio/0003-build-sys-Add-missing-libatomic_ops-dependencies.patch delete mode 100644 package/pulseaudio/0004-meson.build-fix-build-without-C.patch create mode 100644 package/putty/0001-unix-utils-arm_arch_queries.h-fix-uclibc-build.patch create mode 100644 package/python-huepy/0001-setup.py-drop-data_files-installs-LICENSE-to-incorre.patch create mode 100644 package/python-pyqt5-sip/Config.in create mode 100644 package/python-pyqt5-sip/python-pyqt5-sip.hash create mode 100644 package/python-pyqt5-sip/python-pyqt5-sip.mk create mode 100644 package/python-unittest-xml-reporting/0001-setup.py-drop-data_files-installs-LICENSE-to-incorre.patch create mode 100644 package/python3/0032-gh-115382-Fix-cross-compiles-when-host-and-target-us.patch delete mode 100644 package/qemu/0001-tests-fp-disable-fp-bench-build-by-default.patch create mode 100644 package/qemu/0001-tests-fp-meson-don-t-build-fp-bench-test-if-fenv.h-i.patch rename package/qemu/{0004-tracing-install-trace-events-file-only-if-necessary.patch => 0003-tracing-install-trace-events-file-only-if-necessary.patch} (100%) create mode 100644 package/qt5/qt5webkit/0007-Offlineasm-warnings-with-newer-Ruby-versions-https-b.patch create mode 100644 package/qt5/qt5webkit/0008-Build-fails-with-libxml2-version-2.12.0-due-to-API-c.patch create mode 100644 package/qt6/qt6base/0001-QDnsLookup-Unix-make-sure-we-don-t-overflow-the-buff.patch create mode 100644 package/qt6/qt6base/0002-Hsts-match-header-names-case-insensitively.patch create mode 100644 package/qt6/qt6base/0003-QTextLayout-fix-maximumWidth-for-a-text-containing-s.patch create mode 100644 package/qt6/qt6base/0004-QTextLayout-fix-maximumWidth-for-a-text-containing-l.patch create mode 100644 package/qt6/qt6base/0005-Fix-specific-overflow-in-qtextlayout.patch create mode 100644 package/qt6/qt6base/0006-QOffsetStringArray-fix-ambiguous-qOffsetStringArray-.patch create mode 100644 package/qt6/qt6base/0007-QOffsetStringArray-fix-size_t-qsizetype-mismatch.patch create mode 100644 package/qt6/qt6base/0008-QXmlStreamReader-use-qOffsetStringArray-for-storing-.patch create mode 100644 package/qt6/qt6base/0009-QXmlStreamReader-Raise-error-on-unexpected-tokens.patch create mode 100644 package/qt6/qt6base/0010-HPack-fix-a-Yoda-Condition.patch create mode 100644 package/qt6/qt6base/0011-HPack-fix-incorrect-integer-overflow-check.patch create mode 100644 package/qt6/qt6base/0012-QXmlStreamReader-change-fastScanName-to-take-a-Value.patch create mode 100644 package/qt6/qt6base/0013-QXmlStreamReader-make-fastScanName-indicate-parsing-.patch create mode 100644 package/qt6/qt6base/0014-Schannel-Reject-certificate-not-signed-by-a-configur.patch create mode 100644 package/qt6/qt6base/0015-Ssl-Copy-the-on-demand-cert-loading-bool-from-defaul.patch create mode 100644 package/qt6/qt6base/0016-HTTP2-Delay-any-communication-until-encrypted-can-be.patch create mode 100644 package/qt6/qt6svg/0001-QSvgFont-Initialize-used-member-remove-unused.patch delete mode 100644 package/rsync/0001-Check-for-EVP_MD_CTX_copy-in-crypto-lib-instead-of-MD5_Init.patch rename package/rsync/{0002-configure.ac-use-pkg-config-to-retrieve-openssl-depe.patch => 0001-configure.ac-use-pkg-config-to-retrieve-openssl-depe.patch} (100%) create mode 100644 package/sdbus-cpp/0001-fix-add-missing-algorithm-header-include-380.patch create mode 100644 package/snappy/0001-Fix-compilation-error-raised-by-vqtbl1q_u8-instructi.patch create mode 100644 package/sofia-sip/0001-Fix-incompatible-pointer-type-in-sip_basic-c.patch create mode 100644 package/sofia-sip/0002-fix-static-build-with-openssl-3.2.0.patch create mode 100644 package/spice/0001-server-add-SSL_OP_NO_RENEGOTIATION-fallback-path.patch create mode 100644 package/sscep/0002-Fix-getopt-linking-error-with-musl-libc.patch create mode 100644 package/suricata/0002-configure.ac-fix-static-build.patch create mode 100644 package/systemd/0002-basic-add-bcachefs-magic.patch create mode 100644 package/tcf-agent/0001-agent-tcf-services-tcf_elf.c-fix-x86-build.patch create mode 100644 package/tcf-agent/0001-fix-uClibc-ng-compile.patch delete mode 100644 package/tinyproxy/0001-prevent-junk-from-showing-up-in-error-page-in-invalid-requests.patch create mode 100644 package/uclibc-ng-test/0001-Fix-error-absent-sys-asm-h.patch create mode 100644 package/uclibc/0001-allow-to-use-sys-ucontext.h.patch create mode 100644 package/uemacs/02-Replace-cuserid.patch create mode 100644 package/util-linux/0001-sys-utils-setarch.c-fix-build-with-uclibc-ng-1.0.39.patch delete mode 100644 package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch delete mode 100644 package/wpewebkit/0001-FELightningNEON.cpp-fails-to-build-NEON-fast-path-se.patch delete mode 100644 package/wpewebkit/0002-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch create mode 100644 package/x11r7/xlib_libxshmfence/0001-src-xshmfence_futex.h-fix-build-on-32-bit-architectu.patch rename package/x11vnc/{0002-scan-limit-access-to-shared-memory-segments-to-current-user.patch => 0002-scan-limit-access-to-shared-memory-segments-to-curre.patch} (81%) create mode 100644 package/x11vnc/0003-Fix-build-with-fno-common.patch rename package/x265/{0001-fix-gcc-options.patch => 0001-CMakeLists.txt-do-not-force-compiler-flags.patch} (48%) create mode 100644 package/x265/0002-source-CMakeLists.txt-allow-setting-CPU_HAS_NEON-whe.patch create mode 100644 package/xenomai/3.0.10/0005-testsuite-latency-Use-corresponding-pclose-for-popen.patch create mode 100644 package/xvisor/0001-TOOLS-d2c-py-explicitly-use-the-python3-interpreter.patch create mode 100644 package/xvisor/0002-RISC-V-Force-no-pie-code-generation-and-static-link.patch create mode 100644 package/zfs/0001-ZTS-small-fix-for-SEEK_DATA-SEEK_HOLE-tests.patch delete mode 100644 package/znc/0001-LibreSSL-3.5-opaqued-structures.patch delete mode 100644 package/znc/0002-Fix-build-with-libressl.patch delete mode 100644 package/znc/0003-DH_set0_pqg-and-DH_get0_key-have-existed-since-Libre.patch delete mode 100644 package/znc/0004-Add-support-SWIG-4.1.0-drop-support-for-4.0.1.patch create mode 100644 support/config-fragments/autobuild/bootlin-x86-i686-musl.config delete mode 100644 support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config delete mode 100644 support/config-fragments/autobuild/sourcery-arm-armv4t.config delete mode 100644 support/config-fragments/autobuild/sourcery-arm-thumb2.config delete mode 100644 support/config-fragments/autobuild/sourcery-arm.config create mode 100644 support/kconfig/patches/22-kconfig-lxdialog-fix-check-with-GCC14.patch create mode 100644 support/testing/tests/fs/test_btrfs.py create mode 100644 support/testing/tests/fs/test_btrfs/linux-btrfs.fragment create mode 100644 support/testing/tests/fs/test_erofs.py create mode 100644 support/testing/tests/fs/test_erofs/linux-erofs.fragment create mode 100644 support/testing/tests/package/sample_python_asn1crypto.py create mode 100644 support/testing/tests/package/sample_python_msgpack.py create mode 100644 support/testing/tests/package/sample_python_pymupdf.py create mode 100644 support/testing/tests/package/sample_python_ruamel_yaml.py create mode 100644 support/testing/tests/package/test_4th.py create mode 100644 support/testing/tests/package/test_attr.py create mode 100644 support/testing/tests/package/test_audit.py create mode 100644 support/testing/tests/package/test_bitcoin.py create mode 100644 support/testing/tests/package/test_btrfs_progs.py create mode 100644 support/testing/tests/package/test_btrfs_progs/linux-btrfs.fragment create mode 100644 support/testing/tests/package/test_dtc.py create mode 100644 support/testing/tests/package/test_dtc/rootfs-overlay/test_tree1.dts create mode 100644 support/testing/tests/package/test_ed.py create mode 100644 support/testing/tests/package/test_ethtool.py create mode 100644 support/testing/tests/package/test_ethtool/linux-e1000e.fragment create mode 100644 support/testing/tests/package/test_exfatprogs.py create mode 100644 support/testing/tests/package/test_exfatprogs/linux-exfat.fragment create mode 100644 support/testing/tests/package/test_fwts.py create mode 100644 support/testing/tests/package/test_gnuplot.py create mode 100644 support/testing/tests/package/test_gnuplot/rootfs-overlay/root/gnuplot-test.plot create mode 100644 support/testing/tests/package/test_gpsd.py create mode 100644 support/testing/tests/package/test_gpsd/rootfs-overlay/root/udp-nmea.log create mode 100644 support/testing/tests/package/test_iperf.py create mode 100644 support/testing/tests/package/test_iproute2.py create mode 100644 support/testing/tests/package/test_iptables.py create mode 100644 support/testing/tests/package/test_iputils.py create mode 100644 support/testing/tests/package/test_kmod.py create mode 100644 support/testing/tests/package/test_kmod/linux-virtio-net.fragment create mode 100644 support/testing/tests/package/test_libcurl.py create mode 100644 support/testing/tests/package/test_links.py create mode 100644 support/testing/tests/package/test_links/rootfs-overlay/root/file.html create mode 100644 support/testing/tests/package/test_lrzsz.py create mode 100644 support/testing/tests/package/test_lvm2.py create mode 100644 support/testing/tests/package/test_make.py create mode 100644 support/testing/tests/package/test_make/rootfs-overlay/root/Makefile create mode 100644 support/testing/tests/package/test_mariadb.py create mode 100644 support/testing/tests/package/test_mawk.py create mode 100644 support/testing/tests/package/test_mosquitto.py create mode 100644 support/testing/tests/package/test_mtd.py create mode 100644 support/testing/tests/package/test_netsnmp.py create mode 100644 support/testing/tests/package/test_netsnmp/rootfs-overlay/etc/snmp/snmpd.conf create mode 100644 support/testing/tests/package/test_nmap.py create mode 100644 support/testing/tests/package/test_ntp.py create mode 100644 support/testing/tests/package/test_ntp/rootfs-overlay/etc/ntp.conf create mode 100644 support/testing/tests/package/test_patch.py create mode 100644 support/testing/tests/package/test_patch/rootfs-overlay/root/file.diff create mode 100644 support/testing/tests/package/test_patch/rootfs-overlay/root/file.txt create mode 100644 support/testing/tests/package/test_pv.py create mode 100644 support/testing/tests/package/test_python_asn1crypto.py create mode 100644 support/testing/tests/package/test_python_msgpack.py create mode 100644 support/testing/tests/package/test_python_pymupdf.py create mode 100644 support/testing/tests/package/test_python_pyqt5.py create mode 100644 support/testing/tests/package/test_python_pyqt5/linux-vkms.fragment create mode 100755 support/testing/tests/package/test_python_pyqt5/rootfs-overlay/root/pyqt5test.py create mode 100644 support/testing/tests/package/test_python_ruamel_yaml.py create mode 100644 support/testing/tests/package/test_rrdtool.py create mode 100644 support/testing/tests/package/test_socat.py create mode 100644 support/testing/tests/package/test_unbound.py create mode 100644 support/testing/tests/package/test_unbound/rootfs-overlay/etc/unbound/unbound.conf create mode 100644 support/testing/tests/package/test_wget.py create mode 100644 support/testing/tests/package/test_xen.py create mode 100644 support/testing/tests/package/test_xen/genimage.cfg create mode 100644 support/testing/tests/package/test_xen/linux.config create mode 100755 support/testing/tests/package/test_xen/post-image.sh create mode 100644 support/testing/tests/package/test_xen/xen.cfg create mode 100644 support/testing/tests/package/test_xfsprogs.py create mode 100644 support/testing/tests/package/test_xfsprogs/linux-xfs.fragment create mode 100644 support/testing/tests/package/test_xvisor.py create mode 100644 support/testing/tests/package/test_xxhash.py create mode 100644 support/testing/tests/package/test_zbar.py create mode 100644 support/testing/tests/package/test_zip.py delete mode 100644 toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in delete mode 100644 toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options delete mode 100644 toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash delete mode 100644 toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk delete mode 100644 toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in delete mode 100644 toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in.options delete mode 100644 toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.hash delete mode 100644 toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.mk delete mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in delete mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options delete mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.hash delete mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.mk delete mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in delete mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options delete mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.hash delete mode 100644 toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.mk diff --git a/.b4-config b/.b4-config new file mode 100644 index 000000000..1943458f2 --- /dev/null +++ b/.b4-config @@ -0,0 +1,7 @@ +# Configuration for the `b4` tool +# See https://b4.docs.kernel.org/en/latest/config.html +[b4] + send-series-to = buildroot@buildroot.org + send-auto-cc-cmd = "./utils/get-developers -e -" + +# vim: set filetype=gitconfig: diff --git a/.checkpackageignore b/.checkpackageignore index 5f4928b64..ee7e24b4f 100644 --- a/.checkpackageignore +++ b/.checkpackageignore @@ -26,7 +26,6 @@ board/canaan/k210-soc/post-build.sh Shellcheck board/canaan/k210-soc/rootfs_overlay/sbin/init Shellcheck board/chromebook/elm/sign.sh Shellcheck board/chromebook/mksd.sh Shellcheck -board/chromebook/snow/linux-4.15-dts-tpm.patch ApplyOrder Upstream board/chromebook/snow/sign.sh Shellcheck board/ci20/patches/uboot/0001-mips-Remove-default-endiannes.patch Upstream board/cubietech/cubieboard2/post-image.sh Shellcheck @@ -132,12 +131,11 @@ package/am33x-cm3/0004-Makefile-add-fno-builtin.patch Upstream package/am33x-cm3/S93-am335x-pm-firmware-load Variables package/android-tools/0001-Fix-makefiles-for-out-of-tree-build.patch Upstream package/android-tools/0002-Fix-adbd-for-non-Ubuntu-systems.patch Upstream -package/android-tools/0003-Fix-build-issue-with-uclibc.patch Upstream package/android-tools/0004-Fix-build-issue-with-musl.patch Upstream -package/android-tools/0005-Use-pkgconf-to-get-libs-deps.patch Upstream -package/android-tools/0006-fix-big-endian-build.patch Upstream -package/android-tools/0007-include-cdefs-h-when-needed.patch Upstream -package/android-tools/0008-Include-sysmacros.h-to-compile-with-glibc-2.28.patch Sob Upstream +package/android-tools/0005-makefiles-use-pkgconf-to-get-libs-deps.patch Upstream +package/android-tools/0006-Fix-build-on-big-endian-systems.patch Upstream +package/android-tools/0007-Include-cdefs.h-wherever-it-is-needed.patch Upstream +package/android-tools/0008-usb_linux.c-fix-minor-major-build-failure-due-to-gli.patch Upstream package/android-tools/0009-Fix-makefiles-for-out-of-tree-ext4_utils-build.patch Upstream package/android-tools/0010-adb-added-patch-for-openssl-1.1.0-compatibility.patch Upstream package/aoetools/0001-Change-shell-script-interpreter-from-bin-bash-to-bin.patch Upstream @@ -191,10 +189,8 @@ package/benejson/0001-c-std.patch Upstream package/benejson/0002-Use-print-as-a-function-for-Py3-compatibility.patch Upstream package/berkeleydb/0001-cwd-db_config.patch Upstream package/berkeleydb/0002-atomic_compare_exchange.patch Upstream -package/bind/0001-cross.patch Upstream package/bind/S81named Indent Shellcheck Variables package/bird/0001-configure.ac-fix-build-with-autoconf-2.70.patch Upstream -package/bitcoin/0001-src-randomenv.cpp-fix-build-on-uclibc.patch Upstream package/bmx7/0001-Fix-schedule.c-378-36-error-SIOCGSTAMP-undeclared.patch Upstream package/bmx7/0002-Fix-linking-error.patch Upstream package/bmx7/0003-Reorder-includes-to-avoid-ethhdr-collision.patch Upstream @@ -223,7 +219,7 @@ package/cache-calibrator/0001-Fix-conflicting-round-function.patch Upstream package/cairo/0001-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch Upstream package/cairo/0002-Fix-mask-usage-in-image-compositor.patch Upstream package/caps/0001-Fix-stdint-types-with-musl.patch Upstream -package/cdrkit/0001-no-rcmd.patch Upstream +package/cdrkit/0001-fix-build-with-uClibc.patch Upstream package/cdrkit/0002-define-__THROW-to-avoid-build-issue-with-musl.patch Upstream package/cdrkit/0003-Add-extern-to-char-outfile-declaration-to-fix-build-.patch Upstream package/cfm/S65cfm Indent Variables @@ -305,7 +301,6 @@ package/dmalloc/0004-Makefile-use-the-configure-detected-or-user-supplied.patch package/dmalloc/0005-configure-use-LD-instead-of-hard-coding-ld.patch Upstream package/dmraid/0001-fix-compilation-under-musl.patch Upstream package/dmraid/S20dmraid Variables -package/dnsmasq/S80dnsmasq Shellcheck package/docker-engine/S60dockerd Indent Shellcheck Variables package/docopt-cpp/0001-only-build-one-target-use-BUILD_SHARED_LIBS-where-appropriate.patch Upstream package/domoticz/S99domoticz Shellcheck @@ -330,8 +325,6 @@ package/dvdrw-tools/0002-Include-sysmacros.h-to-compile-with-newer-gcc.patch Ups package/earlyoom/0001-main.c-fix-build-with-kernel-4.3.patch Upstream package/earlyoom/S02earlyoom Indent Shellcheck package/ebtables/0001-replace-ebtables-save-perl-script-with-bash.patch Upstream -package/ebtables/0002-ebtables.h-restore-KERNEL_64_USERSPACE_32-checks.patch Upstream -package/ebtables/0003-configure.ac-add-option-enable-kernel-64-userland-32.patch Upstream package/ecryptfs-utils/0001-musl.patch Upstream package/ecryptfs-utils/0002-openssl110.patch Upstream package/ecryptfs-utils/0003-fix-parallel-build-issue.patch Upstream @@ -362,8 +355,6 @@ package/evemu/0004-src-evemu.c-fix-build-with-kernels-4.16.patch Upstream package/exim/0001-Build-buildconfig-for-the-host.patch Upstream package/exim/0002-Don-t-make-backup-copies-of-installed-files.patch Upstream package/exim/0003-Skip-version-check-and-symlink-installation.patch Upstream -package/exim/0004-exim_lock-fix-lstat-related-build-errors.patch Upstream -package/exim/0005-sieve-fix-build-errors.patch Upstream package/exim/S86exim Indent Variables package/expect/0001-enable-cross-compilation.patch Upstream package/expect/0002-allow-tcl-build-directory.patch Upstream @@ -420,8 +411,8 @@ package/gamin/0002-no-const-return.patch Sob Upstream package/gamin/0003-fix-missing-PTHREAD_MUTEX_RECURSIVE_NP.patch Upstream package/gcc/11.4.0/0001-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch Upstream package/gcc/11.4.0/0004-disable-split-stack-for-non-thread-builds.patch Upstream -package/gcc/12.3.0/0001-disable-split-stack-for-non-thread-builds.patch Upstream -package/gcc/13.2.0/0001-disable-split-stack-for-non-thread-builds.patch Upstream +package/gcc/12.4.0/0001-disable-split-stack-for-non-thread-builds.patch Upstream +package/gcc/13.3.0/0001-disable-split-stack-for-non-thread-builds.patch Upstream package/gcc/8.4.0/0001-xtensa-fix-PR-target-91880.patch Upstream package/gcc/8.4.0/0002-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch Upstream package/gcc/8.4.0/0003-libsanitizer-Remove-cyclades-from-libsanitizer.patch Upstream @@ -445,22 +436,21 @@ package/gdb/13.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch Upstream package/gdb/13.2/0007-fix-musl-build-on-riscv.patch Upstream package/gdb/13.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch Upstream package/gdb/13.2/0009-gdb-Fix-native-build-on-xtensa.patch Upstream -package/gdb/14.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch Upstream -package/gdb/14.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch Upstream -package/gdb/14.1/0003-use-asm-sgidefs.h.patch Upstream -package/gdb/14.1/0004-gdbserver-fix-build-for-m68k.patch Upstream -package/gdb/14.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch Upstream -package/gdb/14.1/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch Upstream -package/gdb/14.1/0007-fix-musl-build-on-riscv.patch Upstream -package/gdb/14.1/0008-gdbserver-Makefile.in-fix-NLS-build.patch Upstream -package/gdb/14.1/0009-gdb-Fix-native-build-on-xtensa.patch Upstream +package/gdb/14.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch Upstream +package/gdb/14.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch Upstream +package/gdb/14.2/0003-use-asm-sgidefs.h.patch Upstream +package/gdb/14.2/0004-gdbserver-fix-build-for-m68k.patch Upstream +package/gdb/14.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch Upstream +package/gdb/14.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch Upstream +package/gdb/14.2/0007-fix-musl-build-on-riscv.patch Upstream +package/gdb/14.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch Upstream +package/gdb/14.2/0009-gdb-Fix-native-build-on-xtensa.patch Upstream package/gengetopt/0001-configure.ac-add-disable-doc-option.patch Upstream package/genpart/0001-fix-return-code.patch Upstream package/genromfs/0001-build-system.patch Sob Upstream package/gensio/0001-Fix-missing-EVP_PKEY_ED25519-build-error-on-libressl.patch Upstream package/gerbera/S99gerbera Indent package/giblib/0001-fix-imlib2-detection.patch Upstream -package/giflib/0001-Makefile-add-targets-to-manage-static-building.patch Upstream package/git-crypt/0001-fix-build-with-libressl-3.5.0.patch Upstream package/glog/0001-added-emscripten-support.patch Upstream package/glorytun/0001-Add-support-for-Apple-silicon.patch Upstream @@ -641,7 +631,6 @@ package/libloki/0001-allow-to-install-to-a-specific-location-using-DESTDI.patch package/libloki/0002-use-ln-snf.patch Upstream package/libmad/0001-mips-h-constraint-removal.patch Sob Upstream package/libmad/0002-configure-ac-automake-foreign.patch Upstream -package/libmanette/0001-Meson-Un-hardcode-building-a-shared-library.patch Upstream package/libmng/0001-jpeg-9a.patch Upstream package/libmodsecurity/0001-configure.ac-drop-usage-of-git-at-configure-time.patch Upstream package/libmodsecurity/0002-modsecurity.pc.in-add-lstdc.patch Upstream @@ -879,11 +868,9 @@ package/nginx/0002-auto-feature-add-mechanism-allowing-to-force-feature.patch Up package/nginx/0003-auto-set-ngx_feature_run_force_result-for-each-featu.patch Upstream package/nginx/0004-auto-lib-libxslt-conf-use-pkg-config.patch Upstream package/nginx/0005-auto-unix-make-sys_nerr-guessing-cross-friendly.patch Upstream -package/nginx/0006-auto-lib-openssl-conf-use-pkg-config.patch Upstream -package/nginx/0007-auto-lib-libgd-conf-use-pkg-config.patch Upstream -package/nginx/0008-src-os-unix-ngx_linux_config.h-only-include-dlfcn.h-.patch Upstream -package/nginx/0009-auto-os-linux-fix-build-with-libxcrypt.patch Upstream -package/nginx/0010-Allow-forcing-of-endianness-for-cross-compilation.patch Upstream +package/nginx/0006-auto-lib-libgd-conf-use-pkg-config.patch Upstream +package/nginx/0007-src-os-unix-ngx_linux_config.h-only-include-dlfcn.h-.patch Upstream +package/nginx/0008-Allow-forcing-of-endianness-for-cross-compilation.patch Upstream package/nginx/S50nginx Indent Variables package/nilfs-utils/0001-nilfs_cleanerd-link-dynamically.patch Upstream package/nmap/0001-libdnet-wrapper-configure.patch Upstream @@ -896,8 +883,7 @@ package/norm/0001-protolib-drop-linux-version-check.patch Upstream package/norm/0002-Use-print-as-function-call-for-Python3-compatibility.patch Upstream package/norm/0003-Fix-mixed-tabs-spaces-in-protolib-wscript.patch Upstream package/nss-pam-ldapd/S45nslcd EmptyLastLine Indent Shellcheck Variables -package/ntp/0001-nano.patch Upstream -package/ntp/0002-ntp-syscalls-fallback.patch Upstream +package/ntp/0001-ntp-syscalls-fallback.patch Upstream package/ntp/S49ntp.in Variables package/ntpsec/0001-wscript-remove-checks-for-bsd-string.h-fixes-host-co.patch Upstream package/numactl/0001-link-with-latomic-if-needed-again.patch Upstream @@ -1015,9 +1001,6 @@ package/pptp-linux/0002-fix-parallel-build.patch Upstream package/prboom/0001-libpng-1.4.patch Upstream package/prboom/0002-configure-remove-predefined-O2-optimization-flag.patch Upstream package/prelink-cross/0001-src-rtld-dl-tls.c-Fix-TLS-offsets-computation-for-s3.patch Upstream -package/procps-ng/0001-configure-Add--disable-w.patch Upstream -package/procps-ng/0002-escape-c-Fix-missing-nl_langinfo-on-certain-configs.patch Upstream -package/procps-ng/0003-fix-pifd_open-check.patch Upstream package/procps-ng/S02sysctl Variables package/proftpd/S50proftpd Indent Shellcheck Variables package/prosody/0001-enable-syslog.patch Upstream @@ -1031,9 +1014,6 @@ package/ptpd2/0002-ntp_isc_md5-rename-EVP_MD_CTX-into-PTPD_EVP_MD_CTX.patch Upst package/ptpd2/0003-Solve-issue-25-Removing-type-U64-from-net-snmp-relat.patch Upstream package/ptpd2/S65ptpd2 Indent Shellcheck Variables package/pulseaudio/0001-shm.c-use-_Static_assert-instead-of-static_assert-fo.patch Upstream -package/pulseaudio/0002-build-sys-Fix-atomic-support-detection.patch Upstream -package/pulseaudio/0003-build-sys-Add-missing-libatomic_ops-dependencies.patch Upstream -package/pulseaudio/0004-meson.build-fix-build-without-C.patch Upstream package/pulseaudio/S50pulseaudio ConsecutiveEmptyLines EmptyLastLine Indent Variables package/pulseview/0001-Replace-obsolete-deprecated-Qt-methods.patch Upstream package/pulseview/0002-Fix-broken-build-due-to-C-template-behind-C-linkage.patch Upstream @@ -1083,7 +1063,6 @@ package/python3/0028-fix-building-on-older-distributions.patch Upstream package/python3/0029-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch Upstream package/python3/0030-Add-an-option-to-disable-the-berkeleydb-module.patch Upstream package/python3/0031-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch Upstream -package/qemu/0001-tests-fp-disable-fp-bench-build-by-default.patch Upstream package/qemu/0002-softmmu-qemu-seccomp.c-add-missing-header-for-CLONE_.patch Upstream package/qextserialport/0001-Create-a-main-include-file-QExtSerialPort.patch Upstream package/qextserialport/0002-Tell-qmake-to-add-a-pkgconfig-file-to-ease-usage-wit.patch Upstream @@ -1266,7 +1245,6 @@ package/tinyalsa/0001-include-time.h-before-asound.h.patch Upstream package/tinycbor/0001-Makefile-add-DISABLE_WERROR.patch Upstream package/tinycompress/0001-wave-add-time.h-missing-header-inclusion.patch Upstream package/tinydtls/0001-sha2-sha2.c-fix-build-on-big-endian.patch Upstream -package/tinyproxy/0001-prevent-junk-from-showing-up-in-error-page-in-invalid-requests.patch Upstream package/tinyxml/0001-In-stamp-always-advance-the-pointer-if-p-0xef.patch Upstream package/tpm2-abrmd/S80tpm2-abrmd Indent Shellcheck Variables package/tpm2-tss/0001-Temporary-fix-for-build-without-C.patch Upstream @@ -1393,9 +1371,6 @@ package/x11r7/xdriver_xf86-video-nouveau/0001-nouveau-fixup-driver-for-new-X-ser package/x11r7/xdriver_xf86-video-tdfx/0001-cross.patch Sob Upstream package/x11r7/xserver_xorg-server/0001-include-misc.h-fix-uClibc-build.patch Upstream package/x11r7/xserver_xorg-server/S40xorg Shellcheck Variables -package/x11vnc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch Upstream -package/x11vnc/0002-scan-limit-access-to-shared-memory-segments-to-current-user.patch Upstream -package/x265/0001-fix-gcc-options.patch Upstream package/xen/0001-9pfs-include-linux-limits.h-for-XATTR_SIZE_MAX.patch Upstream package/xen/0002-Fix-build-with-64-bits-time_t.patch Upstream package/xen/0003-libs-light-fix-tv_sec-printf-format.patch Upstream @@ -1430,9 +1405,6 @@ package/zip/0006-unix-configure-borrow-the-LFS-test-from-autotools.patch Upstrea package/zip/0007-timezone.c-needs-time.h-fixes-musl-compile.patch Upstream package/zip/0008-fix-musl-static-build.patch Upstream package/zmqpp/0001-Allow-building-shared-or-static-library-only.patch Upstream -package/znc/0001-LibreSSL-3.5-opaqued-structures.patch Upstream -package/znc/0002-Fix-build-with-libressl.patch Upstream -package/znc/0003-DH_set0_pqg-and-DH_get0_key-have-existed-since-Libre.patch Upstream package/zziplib/0001-implant-ZZIP_LIBLATEST-for-zzip_lib.patch Upstream support/dependencies/check-host-asciidoc.sh Shellcheck support/dependencies/check-host-cmake.sh Shellcheck @@ -1445,8 +1417,6 @@ support/dependencies/check-host-xzcat.sh Shellcheck support/dependencies/dependencies.sh Shellcheck support/download/bzr ConsecutiveEmptyLines Shellcheck support/download/cargo-post-process Shellcheck -support/download/check-hash Shellcheck -support/download/cvs Shellcheck support/download/dl-wrapper Shellcheck support/download/file Shellcheck support/download/go-post-process Shellcheck @@ -1468,9 +1438,7 @@ support/scripts/expunge-gconv-modules Shellcheck support/scripts/fix-configure-powerpc64.sh EmptyLastLine support/scripts/generate-gitlab-ci-yml Shellcheck support/scripts/mkmakefile ConsecutiveEmptyLines Shellcheck -support/scripts/mkusers Shellcheck support/scripts/setlocalversion Shellcheck support/testing/tests/core/post-build.sh Shellcheck support/testing/tests/package/test_opkg/post-build.sh Shellcheck support/testing/tests/utils/test_get_developers/0001-package-binutils-change-.mk.patch NumberedSubject Upstream -utils/checkpackagelib/lib_patch.py Flake8 diff --git a/.editorconfig b/.editorconfig index e0243e496..28528274f 100644 --- a/.editorconfig +++ b/.editorconfig @@ -29,6 +29,9 @@ indent_size = tab indent_style = tab indent_size = tab +[*.patch] +trim_trailing_whitespace = false + [S{0..9}{0..9}*] indent_style = tab indent_size = tab diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 000000000..319e67d86 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,6 @@ +Please do not submit a Pull Request via GitHub. Buildroot makes use of a +[mailing list](http://lists.buildroot.org/mailman/listinfo/buildroot) for patch submission and review. +See [submitting your own patches](http://buildroot.org/manual.html#submitting-patches) for more info. + +Thanks for your help! + diff --git a/.gitlab/issue_templates/default.md b/.gitlab/issue_templates/default.md new file mode 100644 index 000000000..968d6aab6 --- /dev/null +++ b/.gitlab/issue_templates/default.md @@ -0,0 +1,60 @@ +Thank you for opening a new issue. To help solve it faster and more easily, +please review this check-list, and fill in the sections below. Adapt as +needed. + +Do not open an issue to request a new feature; instead, post a message to +[the mailing list](https://lists.buildroot.org/mailman/listinfo/buildroot). + +_Note: issues missing any information may get closed without further ado._ + +--- +### Check-list + +- [ ] I did not find the issue in the existing issues +- [ ] I can reproduce the issue with unmodified Buildroot from [this + repository](https://gitlab.com/buildroot.org/buildroot), not from a + fork somewhere else +- [ ] I can reproduce the issue on the latest commit of the branch I'm using: + - [ ] master + - [ ] stable (i.e. 20NN.MM.x - please specify) + - [ ] LTS (i.e. 20NN.02.x - please specify) +- [ ] I can reproduce the issue after running `make clean; make` +- [ ] I attached the full build log file (e.g. `make 2>&1 |tee build.log`) +- [ ] I attached a **minimal** defconfig file that can reproduce the + issue (`make BR2_DEFCONFIG=$(pwd)/issue_defconfig savedefconfig`) +- [ ] I also attached the configuration for kconfig-based packages that + are enabled (and necessary to reproduce the issue), most notably: + - [ ] busybox + - [ ] linux + - [ ] uclibc + - [ ] uboot + - [ ] … + +--- +### What I did + +- **Buildroot commit sha1**: _get this with `git describe HEAD`_ +- **Distribution of the build machine**: _get this with `NAME` and `VERSION` from `/etc/os-release`_ + +_Here, describe what you did:_ +- _any special environment variables: CC, CXX, TARGET, CROSS_COMPILE, etc…_ +- _the commands you ran:_ + ```sh + $ make [...] + ``` +- _anything else that you might think is important…_ + +--- +### What happens + +_Here, describe what happens that you believe was incorrect._ + +--- +### What was expected + +_Here, describe the behaviour you expected._ + +--- +### Extra information + +_Here, you may write additional information that does not fit above_ diff --git a/CHANGES b/CHANGES index 8f0b4042f..89169128c 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,308 @@ +2024.02.11, released February 21th, 2025 + + Important / security related fixes. + + Updated/fixed packages: acpica, apache, assimp, asterisk, + bind, busybox, clamav, curlpp, dillo, elfutils, ffmpeg, foot, + freetype, git, gnutls, go, gpsd, heimdal, imagemagick, + intel-microcode, libbsd, libcurl, libopenssl, libtasn1, mdnsd, + mpg123, musl, nginx, nodejs, openjpeg, openssh, openvpn, + postgresql, python-django, redis, rsync, sdbus-cpp, socat, + tor, tzdata, uemacs, unbound, usbutils, webkitgtk, xen, zic, + zlog, zmqpp, zstd + + Issues resolved: + - OpenSSH 9.8 broken + https://gitlab.com/buildroot.org/buildroot/-/issues/11 + - samba4 build failed in master + https://gitlab.com/buildroot.org/buildroot/-/issues/86 + +2024.02.10, released January 9th, 2025 + + Important / security related fixes. + + Infrastructure: + + - Ensure CONFIG_TRIM_UNUSED_KSYMS is disabled when building + external Linux kernel modules + + Updated/fixed packages: apr, bc, cdrkit, cryptodev-linux, + freeipmi, gdb, gnupg2, gnutls, go, gobject-introspection, + grub2, gst-omx, gst1-devtools, gst1-libav, gst1-plugins-bad, + gst1-plugins-base, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rtsp-server, gst1-vaapi, gstreamer1, + gstreamer1-editing-services, iperf3, libcurl, libsha1, + libsndfile, libsoup3, libvirt, libxcrypt, linux, linux-pam, + mosquitto, netatalk, nettle, octave, opensc, perl, pixman, + procps-ng, python-django, python3, qt6base, samba4, skeleton, + subversion, tzdata, v4l2loopback, webkitgtk, wget, wireshark, + wpewebkit, zic + + Issues resolved: + - gdb package doesn't have a licence hash in the gdb.hash file + https://gitlab.com/buildroot.org/buildroot/-/issues/66 + - package/libsha1: Build failure with GCC 14 [-Wimplicit-int] + https://gitlab.com/buildroot.org/buildroot/-/issues/69 + - [2024.02.9] Mosquitto doesn't build + https://gitlab.com/buildroot.org/buildroot/-/issues/78 + +2024.02.9, released December 8th, 2024 + + Important / security related fixes. + + Updated/fixed packages: alsa-lib, android-tools, babeld, + bmap-tools, boost, ebtables, expat, fbv, foot, frr, gamin, + gnutls, intel-microcode, irssi, libcurl, libkrb5, libmodbus, + libvpl, linux-tools, lmbench, mbedtls, mosquitto, musl, + musl-compat-headers, nfs-utils, ntp, php, postgresql, + procps-ng, python-psycopg2, python-sip, qt6base, quagga, + rt-tests, sshguard, systemd, tiff, x11vnc + + Issues resolved: + - procps-ng: builderror in 2024.08 + https://gitlab.com/buildroot.org/buildroot/-/issues/38 + - fbv package download link is broken in long term support branch + https://gitlab.com/buildroot.org/buildroot/-/issues/73 + +2024.02.8, released November 14th, 2024 + + Important / security related fixes. + + Updated/fixed packages: apache, asterisk, bind, bootgen, criu, + file, fluidsynth, ghostscript, heimdal, intel-microcode, + jailhouse, jsoncpp, libarchive, libcurl, libldns, liblinear, + libmdbx, libopenh264, ltrace, lightning, nghttp2, ntp, php, + postgresql, procps-ng, python-pyqt5, ruby, sysvinit, tor, + wpebackend-fdo + + New packages: python-pyqt5-sip + +2024.02.7, released October 21th, 2024 + + Important / security related fixes. + + Per-package-directories fixes for the .gdbinit file and RPATH + fixups for SDK. + + utils/check-package: Also check for correct indentation of + help lines. + + A large number of typo fixes. + + Updated/fixed packages: aer-inject, armadillo, asterisk, + aumix, babeld, bind, botan, cache-calibrator, clamav, + comix-cursors, cryptsetup, cups, dovecot, dovecot-pigeonhole, + expat, fbset, genpart, glibc, gnu-efi, gnutls, go, grub2, + libarchive, libcuefile, libcurl, libglob, libgpg-error, + libilbc, libkcapi, libopenssl, libpcap, libuecc, linux-pam, + mosquitto, nginx, ntpsec, p910nd, php, postgresql, proftpd, + pure-ftpd, python-django, python-huepy, python-sqlparse, + python-unittest-xml-reporting, python3, qt6base, qt6svg, + rp-pppoe, sofia-sip, strongswan, szip, tllist, unbound, + wpebackend-fdo, wpewebkit, x264, xenomai, xserver_xorg-server, + zabbix + + New packages: go-bootstrap-stage3 + + Issues resolved: + - procps-ng: build failure when linking to systemd + https://gitlab.com/buildroot.org/buildroot/-/issues/28 + - orange pi 2w does not boot + https://gitlab.com/buildroot.org/buildroot/-/issues/36 + - glibc configure fails on aarch64 with mathvec SVE ACLE error + https://gitlab.com/buildroot.org/buildroot/-/issues/40 + - Kernel Build from Custom Git Repo fails with hash-error + https://gitlab.com/buildroot.org/buildroot/-/issues/46 + - package/linux-pam: Remove unneeded flex dependency + https://gitlab.com/buildroot.org/buildroot/-/issues/47 + +2024.02.6, released September 9th, 2024 + + Important / security related fixes. + + Added a large number of additional runtime tests. + + Infrastructure: + - Be more robust against text files (for package hashes and + users) incorrectly missing a terminating newline. + + - Fix various issues with the pkg-kconfig infrastructure and + per-package-directories builds + (BR2_PER_PACKAGE_DIRECTORIES). + + Updated/fixed packages: aer-inject, am335x-pru-package, + apache, apr, apr-util, attr, boost, btrfs-progs, busybox, + cryptsetup, dropbear, elfutils, fetchmail, ffmpeg, fluidsynth, + freerdp, gcc, gdb, gnutls, gpsd, hiawatha, hostapd, htop, + intel-microcode, iperf3, ksmbd-tools, libcoap, libcurl, + libest, libgtk3, libpwquality, libressl, libupnp, libxml2, + libxslt, lrzsz, mdio-tools, micropython, mjpg-streamer, mpir, + ncftp, nginx, nodejs, open-iscsi, openldap, openvpn, pistache, + procps-ng, python-django, ruby, speex, swaybg, tinyssh, + uclibc, uclibc-ng-test, unbound, uuu, wpewebkit, zfs + + Issues resolved: + - Toolchain (host-gcc-final-14.1.0) build failure with + y2038/BR2_TIME_BITS_64 enabled + https://gitlab.com/buildroot.org/buildroot/-/issues/16 + +2024.02.5, released August 14th, 2024 + + Important / security related fixes. + + Various minor improvements to utils/check-package + + Defconfigs: Add download hashes for chromebook-elm, + chromebook-snow and stm32mp157a_dk1 + + Updated/fixed packages: bitcoin, boost, btrfs-progs, c-ares, + cdrkit, check, containerd, directfb, ed, exim, fwts, gcc, gdb, + go, kexec, libarchive, libgeos, libressl, mupdf, nodejs, + ntpsec, octave, openssh, pppd, python-mupdf, + python-ruamel-yaml, qt5webkit, rauc-hawkbit-updater, snappy, + squid, sunxi-tools, syslinux, systemd, tcf-agent, ubus, + util-linux, uvw, webkitgtk, wolfssl, wpewebkit, x265, + xlib_libxshmfence, xvisor + + Issues resolved (http://bugs.uclibc.org): + + #15231: gcc --help -v doesn't work correctly with gcc>=10 and.. + +2024.02.4, released July 13th, 2024 + + Important / security related fixes. + + Infrastructure: Ensure a custom tar program specified with + make TAR=/path/to/custom/tar is used everwhere. + + Defconfig: Pine64 rockpro64: Build ethernet driver in kernel + rather than as module. + + Updated/fixed packages: apache, composer, daq, fluent-bit, + ghostscript, glibc, liblockfile, libmad, libopenssl, mesa3d, + network-manager, ntp, octave, openssh, openvpn, php, python3, + qt6base, raspberrypi-usbboot, redis, sentry-cli, systemd, tor, + vlc, xmrig, znc + +2024.02.3, released June 10th, 2024 + + Important / security related fixes. + + Misc: + - Fixed a number of compilation issues for hosts using GCC + 14.x, including for kconfig. + + Download: + - Drop redundant --passive-ftp from default wget options and + migrate a number of packages using FTP upstreams to HTTP(S) + for compatibility with wget2 which does not have FTP support + + - Ensure downloads are correctly shared for host packages that + try to do so using _DL_SUBDIR and ensure the correct + toplevel directory name is used in generated tarballs when + downloads are shared. + + Arch: Enable SSE2 support for x86 Pentium M variant. + + Defconfigs: Orangepi PC/R1, Raspberrypi zero2w, Sipeed + licheepi nano, Wandboard: Fix compilation issues. PC x86-64 + bios/efi: add wireless regdb to fix kernel warning during + boot, iMX.8 boards: Adjust FIT external data position to match + imx-mkimage changes, fixing boot issues. + + Updated/fixed packages: am33x-cm, apcupsd, + arm-trusted-firmware, binutils-bare-metal, bpftool, catch2, + ccache, cjson, clamav, cog, coreutils, cryptodev-linux, + dhcpcd, dmraid, dnsmasq, docker-cli, docker-compose, + docker-engine, doom-wad, duma, elf2flt, ebtables, elfutils, + evemu, file, fluidsynth, freeradius-client, freeradius-server, + freerdp, fwts, gcc, gcc-bare-metal, git, gnuplot, go, + gr-osmosdr, gst1-plugins-good, hidapi, imagemagick, + intel-gmmlib, ivi-homescreen, janus-gateway, kexec, kmod, + kodi, libarchive, libdrm, libedit, libffi, libglib2, libhtp, + libjwt, libkrb5, libmanette, libmdbx, libmnl, + libnetfilter_acct, libnetfilter_log, libnpth, libopenssl, + libpng, libuhttpd, liburiparser, libutempter, libvncserver, + libwpe, lightning, linux-firmware, linux-pam, lua-cffi, + luajit, lvm2, lynx, mariadb, mesa3d, micropython, minisign, + musl, mutt, ncftp, network-manager, newlib-bare-metal, nfacct, + nfs-utils, octave, openjpeg, openocd, oprofile, + perl-dbd-mysql, php, postgresql, pppd, privoxy, procps-ng, + proftpd, proj, putty, python-ml-dtypes, python-pillow, + python-rds-py, qemu, qt5base, redis-plus-plus, rtl8189fs, + ruby, samba4, shadow, smcroute, speech, squid, sscep, + suricata, swupdate, systemd, ti-sgx-km, tinycbor, tinyproxy, + tor, tpm2-tss, ttyd, uboot-tools, ulogd, vala, weston, + wpewebkit, x11vnc, zbar, zeromq, zfs, zip, zxing-cpp + + Issues resolved (http://bugs.uclibc.org): + + #15766: BR2_PACKAGE_WESTON_XWAYLAND -- 12.0.1 -- fails to build.. + #15973: imx8m bootloader image generation broken since update.. + #16075: Cannot use linux kernel extensions from external tree.. + #16093: kmod and gcc-14 build error + +2024.02.2, released May 7th, 2024 + + Important / security related fixes. + + Security: The /dev/shm entry in the default /etc/fstab used + for busybox and sysv init systems was missing the sticky bit, + allowing users to delete and replace other users files. + + Defconfigs: Mangopi mq1rdw1: Lock kernel headers to 6.6.x. + + Updated/fixed packages: apache, botan, + brcmfmac_sdio-firmware-rpi, clamav, cmake, containerd, + crucible, dmenu-wayland, dmraid, docker-cli, docker-engine, + domoticz, fmc, freeipmi, gdal, gdb, giflib, gnupg2, go, + google-breakpad, googlefontdirectory, imx-gpu-viv, inih, + libassuan, libblockdev, libcurl, libdrm, libgpg-error, + libksba, libnpth, libressl, libtracefs, lxc, mbedtls, mesa3d, + oatpp, opensc, oprofile, perl-net-ssleay, petitboot, + php-xdebug, psplash, python-pypng, python-segno, + python-service-identity, python3, skeleton-init-sysv, systemd, + tcf-agent, tiff, uuu, wolfssl, xmrig, zic + + Issues resolved (http://bugs.uclibc.org): + + #14416: Mesa3D missing DRI3 support for various Gallium drivers + #16009: 'select' does not work with 'choice' + #16036: android-tools version is too old + +2024.02.1, released March 26th, 2024 + + Important / security related fixes. + + Toolchain: Dropped old Codesourcery ARM / AARCH64 and + Codescape MIPS external toolchains as they use old Glibc + versions not compatible with 64-bit time_t + + Defconfigs: Starfive visionfive2: Use correct genimage + configuration. TI am62x_sk / am64_sk: Use correct optee-os + platform setting and use a fixed ti-k3-r5-loader version. + + Infrastructure: Use git to fetch CVE data from the FKIE + repository to work around an issue with missing meta files in + the releases. + + Updated/fixed packages: axel, bash, bitcoin, botan, busybox, + containerd, cryptsetup, cvs, docker-compose, docker-engine, + ell, expat, giflib, gmp, go, harfbuzz, intel-gmmlib, + intel-mediadriver, iwd, kodi, kodi-pvr-hts, libcgroup, libdrm, + libgit2, libkrb5, libnfs, libunwind, libvpl, + libtorrent-rasterbar, libxml2, linux, mariadb, mesa3d, + mmc-utils, msmtp, multipath-tools, neon, onevpl-intel-gpu, + openssh, openvpn, osm2pgsql, owfs, php, poco, policycoreutils, + postgis, privoxy, pulseaudio, pure-ftpd, putty, + python-configshell-fb, python-rtslib-fb, rauc, restorecond, + spice, squid, targetcli-fb, tzdata, util-linux, vdr, xmrig, + xvisor, zic + + Issues resolved (http://bugs.uclibc.org): + + #15997: Build Squid with GCC12.3 in Buildroot 2024.02 will fail + 2024.02, released March 5th, 2024 Various fixes. diff --git a/Config.in b/Config.in index 113adf075..ba0804026 100644 --- a/Config.in +++ b/Config.in @@ -105,7 +105,7 @@ menu "Commands" config BR2_WGET string "Wget command" - default "wget --passive-ftp -nd -t 3" + default "wget -nd -t 3" config BR2_SVN string "Subversion (svn) command" @@ -274,7 +274,7 @@ config BR2_KERNEL_MIRROR config BR2_GNU_MIRROR string "GNU Software mirror" - default "http://ftpmirror.gnu.org" + default "https://ftpmirror.gnu.org" help GNU has multiple software mirrors scattered around the world. The following allows you to select your preferred @@ -586,7 +586,7 @@ config BR2_ENABLE_LTO config BR2_GOOGLE_BREAKPAD_ENABLE bool "Enable google-breakpad support" depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17 depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_USES_GLIBC @@ -948,7 +948,7 @@ config BR2_FORTIFY_SOURCE_2 # gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61164 depends on !BR2_TOOLCHAIN_BUILDROOT || BR2_TOOLCHAIN_GCC_AT_LEAST_6 help - This option sets _FORTIFY_SOURCES to 2 and some more + This option sets _FORTIFY_SOURCE to 2 and some more checking is added, but some conforming programs might fail. Also adds checks at run-time (detected buffer overflow terminates the program) @@ -957,7 +957,7 @@ config BR2_FORTIFY_SOURCE_3 bool "Extended" depends on BR2_TOOLCHAIN_GCC_AT_LEAST_12 help - This option sets _FORTIFY_SOURCES to 3 and even more + This option sets _FORTIFY_SOURCE to 3 and even more checking is added compared to level 2. Extends checks at run-time that can introduce an additional performance overhead. diff --git a/Config.in.legacy b/Config.in.legacy index e899fc3af..1476ab179 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -154,6 +154,34 @@ config BR2_BINUTILS_VERSION_2_39_X comment "Legacy options removed in 2024.02" +config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS + bool "Codescape IMG GNU Linux Toolchain 2018.09 has been removed" + select BR2_LEGACY + help + The Codescape IMG GNU Linux toolchain has been removed, use a + Bootlin toolchain instead. + +config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS + bool "Codescape MTI GNU Linux Toolchain 2018.09 has been removed" + select BR2_LEGACY + help + The Codescape MTI GNU Linux toolchain has been removed, use a + Bootlin toolchain instead. + +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 + bool "CodeSourcery AArch64 2014.11 has been removed" + select BR2_LEGACY + help + The Sourcery CodeBench AArch64 toolchain has been removed, + use an ARM/Bootlin/Linaro toolchain instead. + +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM + bool "Sourcery CodeBench ARM 2014.05 has been removed" + select BR2_LEGACY + help + The Sourcery CodeBench ARM toolchain has been removed, use + an ARM/Bootlin/Linaro toolchain instead. + config BR2_PACKAGE_MYSQL bool "mysql virtual package removed" select BR2_LEGACY diff --git a/DEVELOPERS b/DEVELOPERS index a6364cdd4..cdecba929 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -52,6 +52,7 @@ F: package/libepoxy/ F: package/libmanette/ F: package/libpsl/ F: package/libwpe/ +F: package/sysprof/ F: package/webkitgtk/ F: package/wlroots/ F: package/woff2/ @@ -114,6 +115,7 @@ F: package/libest/ N: Alexander Mukhin F: package/tinyproxy/ +F: package/zfs/ N: Alexander Sverdlin F: package/mini-snmpd/ @@ -222,11 +224,6 @@ F: package/sysdig/ N: Andy Shevchenko F: package/fb-test-app/ -N: Anisse Astier -F: package/go/ -F: package/nghttp2/ -F: package/pkg-golang.mk - N: Anthony Viallard F: package/gnuplot/ @@ -249,12 +246,6 @@ F: configs/snps_archs38_axs103_defconfig F: configs/snps_archs38_haps_defconfig F: configs/snps_archs38_hsdk_defconfig -N: Ariel D'Alessandro -F: board/bsh/ -F: configs/imx8mn_bsh_smm_s2_pro_defconfig -F: package/axfsutils/ -F: package/mali-t76x/ - N: Arnaud Aujon F: package/espeak/ @@ -271,18 +262,6 @@ F: package/python-bottle/ F: package/sqlcipher/ F: package/stress/ -N: Asaf Kahlon -F: package/collectd/ -F: package/libfuse3/ -F: package/libuv/ -F: package/python* -F: package/snmpclitools/ -F: package/spdlog/ -F: package/uftp/ -F: package/uftrace/ -F: package/uvw/ -F: package/zeromq/ - N: Ash Charles F: package/pru-software-support/ F: package/ti-cgt-pru/ @@ -305,7 +284,6 @@ F: package/git/ N: Bartosz Bilas F: board/stmicroelectronics/stm32mp157a-dk1/ F: configs/stm32mp157a_dk1_defconfig -F: package/cegui/ F: package/log4qt/ F: package/python-esptool/ F: package/python-pyaes/ @@ -405,12 +383,10 @@ F: package/libfreeglut/ F: package/libfribidi/ F: package/libg7221/ F: package/libglew/ -F: package/libglfw/ F: package/libglu/ F: package/libhdhomerun/ F: package/libheif/ F: package/libilbc/ -F: package/libks/ F: package/libldns/ F: package/libmicrohttpd/ F: package/libminiupnpc/ @@ -447,6 +423,7 @@ F: package/mpg123/ F: package/ntp/ F: package/nut/ F: package/onevpl-intel-gpu/ +F: package/openvpn/ F: package/opus/ F: package/pciutils/ F: package/perl-crypt-openssl-guess/ @@ -530,10 +507,12 @@ F: package/ncdu/ N: Brandon Maier F: board/freescale/ls1046a-frwy/ F: configs/ls1046a-frwy_defconfig +F: package/mtd/ F: package/python-pysensors/ F: package/qoriq-fm-ucode/ F: package/unifdef/ F: package/vmtouch/ +F: support/testing/tests/package/test_zip.py N: Brock Williams F: package/pdmenu/ @@ -565,9 +544,6 @@ F: package/alsa-plugins/ N: Changming Huang F: package/qoriq-cadence-dp-firmware/ -N: Chris Dimich -F: package/freescale-imx/imx-vpu-hantro-daemon/ - N: Chris Packham F: package/coremark/ F: package/coremark-pro/ @@ -595,6 +571,7 @@ F: package/fuse-overlayfs/ F: package/go/ F: package/go-bootstrap-stage1/ F: package/go-bootstrap-stage2/ +F: package/go-bootstrap-stage3/ F: package/gocryptfs/ F: package/mbpfan/ F: package/moby-buildkit/ @@ -757,6 +734,8 @@ F: board/stmicroelectronics/stm32f769-disco/ F: configs/imx8mn_bsh_smm_s2_defconfig F: configs/imx8mn_bsh_smm_s2_pro_defconfig F: configs/stm32f769_disco_sd_defconfig +F: package/armadillo/ +F: package/babeld/ F: package/sscep/ F: package/uuu/ @@ -764,15 +743,6 @@ N: Dario Binacchi F: package/uboot-bootcount/ F: package/libmnl/ -N: David Bachelart -F: package/ccrypt/ -F: package/dos2unix/ -F: package/ipmiutil/ -F: package/jsmn/ -F: package/python-daemon/ -F: package/sslh/ -F: package/udpxy/ - N: David Bender F: package/benejson/ F: package/cgic/ @@ -889,18 +859,6 @@ N: Eric Limpens F: package/pifmrds/ F: package/ympd/ -N: Erico Nunes -F: board/aarch64-efi/ -F: configs/aarch64_efi_defconfig -F: package/acpica/ -F: package/acpitool/ -F: package/efibootmgr/ -F: package/efivar/ -F: package/fwts/ -F: package/spi-tools/ -F: package/xdotool/ -F: configs/pc_x86_64_* - N: Erik Larsson F: package/imx-mkimage/ @@ -1077,6 +1035,7 @@ F: package/python-pymodbus/ N: Flávio Tapajós F: configs/asus_tinker-s_rk3288_defconfig F: board/asus/tinker-s/ +F: package/python-paho-mqtt/ F: package/python-sqlalchemy/ F: package/rsyslog/ @@ -1166,6 +1125,10 @@ N: Frank Vanbever F: package/libmodsecurity/ F: package/nginx-modsecurity/ +N: Gaël PORTAY +F: board/raspberrypi/ +F: configs/raspberrypi* + N: Gao Xiang F: package/erofs-utils/ @@ -1173,6 +1136,7 @@ N: Gary Bisson F: board/boundarydevices/ F: configs/nitrogen* F: package/freescale-imx/ +F: package/freescale-imx/imx-vpu-hantro-daemon/ F: package/gstreamer1/gst1-imx/ F: package/libimxvpuapi/ F: package/mfgtools/ @@ -1498,7 +1462,7 @@ F: package/zip/ N: Jared Bents F: package/libvirt/ -N: Jarkko Sakkinen +N: Jarkko Sakkinen F: package/quota/ N: Jason Pruitt @@ -1758,6 +1722,10 @@ F: package/z3/ F: package/zynaddsubfx/ F: support/testing/tests/boot/test_optee_os.py F: support/testing/tests/boot/test_optee_os/ +F: support/testing/tests/fs/test_btrfs.py +F: support/testing/tests/fs/test_btrfs/ +F: support/testing/tests/fs/test_erofs.py +F: support/testing/tests/fs/test_erofs/ F: support/testing/tests/package/sample_python_distro.py F: support/testing/tests/package/sample_python_gnupg.py F: support/testing/tests/package/sample_python_hwdata.py @@ -1765,12 +1733,18 @@ F: support/testing/tests/package/sample_python_midiutil.py F: support/testing/tests/package/sample_python_ml_dtypes.py F: support/testing/tests/package/sample_python_pyalsa.py F: support/testing/tests/package/sample_python_spake2.py +F: support/testing/tests/package/test_4th.py F: support/testing/tests/package/test_acl.py F: support/testing/tests/package/test_acpica.py F: support/testing/tests/package/test_acpica/ F: support/testing/tests/package/test_apache.py +F: support/testing/tests/package/test_attr.py +F: support/testing/tests/package/test_audit.py F: support/testing/tests/package/test_bc.py +F: support/testing/tests/package/test_bitcoin.py F: support/testing/tests/package/test_brotli.py +F: support/testing/tests/package/test_btrfs_progs.py +F: support/testing/tests/package/test_btrfs_progs/ F: support/testing/tests/package/test_bzip2.py F: support/testing/tests/package/test_compressor_base.py F: support/testing/tests/package/test_coremark.py @@ -1779,63 +1753,97 @@ F: support/testing/tests/package/test_cryptsetup/ F: support/testing/tests/package/test_ddrescue.py F: support/testing/tests/package/test_ddrescue/ F: support/testing/tests/package/test_dos2unix.py +F: support/testing/tests/package/test_ed.py +F: support/testing/tests/package/test_ethtool.py +F: support/testing/tests/package/test_ethtool/ +F: support/testing/tests/package/test_exfatprogs.py +F: support/testing/tests/package/test_exfatprogs/ F: support/testing/tests/package/test_file.py F: support/testing/tests/package/test_file/ F: support/testing/tests/package/test_fluidsynth.py F: support/testing/tests/package/test_fluidsynth/ F: support/testing/tests/package/test_fping.py +F: support/testing/tests/package/test_fwts.py F: support/testing/tests/package/test_gawk.py F: support/testing/tests/package/test_ghostscript.py F: support/testing/tests/package/test_ghostscript/ F: support/testing/tests/package/test_glslsandbox_player.py F: support/testing/tests/package/test_glslsandbox_player/ F: support/testing/tests/package/test_gnupg2.py +F: support/testing/tests/package/test_gnuplot.py +F: support/testing/tests/package/test_gnuplot/ F: support/testing/tests/package/test_gnuradio.py F: support/testing/tests/package/test_gnuradio/ +F: support/testing/tests/package/test_gpsd.py +F: support/testing/tests/package/test_gpsd/ F: support/testing/tests/package/test_gzip.py F: support/testing/tests/package/test_highway.py F: support/testing/tests/package/test_hwloc.py F: support/testing/tests/package/test_iozone.py +F: support/testing/tests/package/test_iperf.py F: support/testing/tests/package/test_iperf3.py +F: support/testing/tests/package/test_iproute2.py +F: support/testing/tests/package/test_iptables.py +F: support/testing/tests/package/test_iputils.py F: support/testing/tests/package/test_jailhouse.py F: support/testing/tests/package/test_jq.py F: support/testing/tests/package/test_jq/ F: support/testing/tests/package/test_kexec.py F: support/testing/tests/package/test_kexec/ +F: support/testing/tests/package/test_kmod.py +F: support/testing/tests/package/test_kmod/ F: support/testing/tests/package/test_kmscube.py F: support/testing/tests/package/test_kmscube/ F: support/testing/tests/package/test_less.py F: support/testing/tests/package/test_libcamera.py F: support/testing/tests/package/test_libcamera/ +F: support/testing/tests/package/test_libcurl.py F: support/testing/tests/package/test_libgpgme.py F: support/testing/tests/package/test_libjxl.py +F: support/testing/tests/package/test_links.py +F: support/testing/tests/package/test_links/ F: support/testing/tests/package/test_lrzip.py +F: support/testing/tests/package/test_lrzsz.py F: support/testing/tests/package/test_ltrace.py +F: support/testing/tests/package/test_lvm2.py F: support/testing/tests/package/test_lzip.py F: support/testing/tests/package/test_lsof.py F: support/testing/tests/package/test_lz4.py F: support/testing/tests/package/test_lzop.py +F: support/testing/tests/package/test_make.py +F: support/testing/tests/package/test_make/ +F: support/testing/tests/package/test_mariadb.py +F: support/testing/tests/package/test_mawk.py F: support/testing/tests/package/test_mdadm.py F: support/testing/tests/package/test_mdadm/ F: support/testing/tests/package/test_micropython.py F: support/testing/tests/package/test_micropython/ +F: support/testing/tests/package/test_mosquitto.py F: support/testing/tests/package/test_mtools.py F: support/testing/tests/package/test_mtr.py F: support/testing/tests/package/test_ncdu.py F: support/testing/tests/package/test_netcat.py +F: support/testing/tests/package/test_netsnmp.py +F: support/testing/tests/package/test_netsnmp/ F: support/testing/tests/package/test_nftables.py F: support/testing/tests/package/test_nftables/ F: support/testing/tests/package/test_ngrep.py +F: support/testing/tests/package/test_nmap.py +F: support/testing/tests/package/test_ntp.py +F: support/testing/tests/package/test_ntp/ F: support/testing/tests/package/test_numactl.py F: support/testing/tests/package/test_numactl/ F: support/testing/tests/package/test_octave.py F: support/testing/tests/package/test_ola.py F: support/testing/tests/package/test_ola/ F: support/testing/tests/package/test_openblas.py +F: support/testing/tests/package/test_patch.py +F: support/testing/tests/package/test_patch/ F: support/testing/tests/package/test_pciutils.py F: support/testing/tests/package/test_perftest.py F: support/testing/tests/package/test_pigz.py F: support/testing/tests/package/test_postgresql.py +F: support/testing/tests/package/test_pv.py F: support/testing/tests/package/test_python_distro.py F: support/testing/tests/package/test_python_gnupg.py F: support/testing/tests/package/test_python_hkdf.py @@ -1844,11 +1852,15 @@ F: support/testing/tests/package/test_python_magic_wormhole.py F: support/testing/tests/package/test_python_midiutil.py F: support/testing/tests/package/test_python_ml_dtypes.py F: support/testing/tests/package/test_python_pyalsa.py +F: support/testing/tests/package/test_python_pyqt5.py +F: support/testing/tests/package/test_python_pyqt5/ F: support/testing/tests/package/test_python_spake2.py F: support/testing/tests/package/test_rdma_core.py F: support/testing/tests/package/test_rdma_core/ +F: support/testing/tests/package/test_rrdtool.py F: support/testing/tests/package/test_screen.py F: support/testing/tests/package/test_sed.py +F: support/testing/tests/package/test_socat.py F: support/testing/tests/package/test_sox.py F: support/testing/tests/package/test_sqlite.py F: support/testing/tests/package/test_strace.py @@ -1860,13 +1872,21 @@ F: support/testing/tests/package/test_tesseract_ocr.py F: support/testing/tests/package/test_thttpd.py F: support/testing/tests/package/test_trace_cmd.py F: support/testing/tests/package/test_trace_cmd/ +F: support/testing/tests/package/test_unbound.py +F: support/testing/tests/package/test_unbound/ F: support/testing/tests/package/test_usbutils.py F: support/testing/tests/package/test_usbutils/ F: support/testing/tests/package/test_weston.py F: support/testing/tests/package/test_weston/ +F: support/testing/tests/package/test_wget.py +F: support/testing/tests/package/test_xfsprogs.py +F: support/testing/tests/package/test_xfsprogs/ +F: support/testing/tests/package/test_xvisor.py +F: support/testing/tests/package/test_xxhash.py F: support/testing/tests/package/test_xz.py F: support/testing/tests/package/test_z3.py F: support/testing/tests/package/test_z3/ +F: support/testing/tests/package/test_zbar.py F: support/testing/tests/package/test_zchunk.py F: support/testing/tests/package/test_zstd.py @@ -1898,8 +1918,8 @@ F: package/libcamera/ N: Kilian Zinnecker F: board/avnet/rzboard_v2l/ F: board/radxa/rock5b/ -F: configs/rock5b_defconfig F: configs/avnet_rzboard_v2l_defconfig +F: configs/rock5b_defconfig F: package/rockchip-rkbin/ N: Klaus Heinrich Kiwi @@ -1974,11 +1994,6 @@ F: package/python-huepy/ F: package/python-tqdm/ F: package/rtl8189es/ -N: Louis-Paul Cordier -F: package/intel-gmmlib/ -F: package/intel-mediadriver/ -F: package/intel-mediasdk/ - N: Luca Ceresoli F: board/olimex/a20_olinuxino/ F: board/zynq/ @@ -2024,11 +2039,6 @@ N: Ludwig Kormann F: board/in-circuit/ F: configs/icnova* -N: Maeva Manuel -F: board/freescale/imx8qmmek/ -F: configs/freescale_imx8qmmek_defconfig -F: package/freescale-imx/imx-seco/ - N: Mahyar Koshkouei F: package/ffmpeg/ F: package/mpv/ @@ -2088,13 +2098,17 @@ F: package/libselinux/ F: package/libsemanage/ F: package/libsepol/ F: package/selinux-python/ +F: support/testing/tests/package/sample_python_asn1crypto.py +F: support/testing/tests/package/test_python_asn1crypto.py F: utils/config F: utils/diffconfig N: Marcus Hoffmann F: package/python-jc/ F: support/testing/tests/package/test_python_fastapi.py +F: support/testing/tests/package/test_python_ruamel_yaml.py F: support/testing/tests/package/sample_python_fastapi.py +F: support/testing/tests/package/sample_python_ruamel_yaml.py N: Marek Belisko F: package/libatasmart/ @@ -2155,11 +2169,6 @@ N: Masahiro Yamada F: board/arm/foundation-v8/ F: configs/arm_foundationv8_defconfig -N: Mathieu Audat -F: board/technologic/ts4900/ -F: configs/ts4900_defconfig -F: package/ts4900-fpga/ - N: Matt Silva F: package/rlwrap/ @@ -2365,7 +2374,7 @@ F: package/dbus-broker/ F: package/systemd/ F: package/tcf-agent/ -N: Yu Chien Peter Lin +N: Leo Yu-Chi Liang F: board/andes F: configs/andes_ae350_45_defconfig @@ -2593,6 +2602,9 @@ F: package/gupnp-av/ F: package/let-me-create/ F: package/nanomsg/ +N: Ralf Dragon +F: package/python-pyqt5-sip/ + N: Ramon Fried F: package/bitwise/ @@ -2607,9 +2619,11 @@ F: package/python-pymupdf/ F: package/python-rsa/ F: package/python-s3transfer/ F: support/testing/tests/package/sample_python_jmespath.py +F: support/testing/tests/package/sample_python_pymupdf.py F: support/testing/tests/package/sample_python_rsa.py F: support/testing/tests/package/sample_python_s3transfer.py F: support/testing/tests/package/test_python_jmespath.py +F: support/testing/tests/package/test_python_pymupdf.py F: support/testing/tests/package/test_python_rsa.py F: support/testing/tests/package/test_python_s3transfer.py @@ -2738,32 +2752,12 @@ F: package/procs/ N: Sam Lancia F: package/lrzip/ -N: Samuel Martin -F: package/armadillo/ -F: package/cwiid/ -F: package/flite/ -F: package/nginx/ -F: package/opencv3/ -F: package/openobex/ -F: package/pkg-cmake.mk -F: package/python-numpy/ -F: package/scrub/ -F: package/urg/ -F: package/ussp-push/ -F: support/misc/toolchainfile.cmake.in - N: Sam Voss F: package/ripgrep/ -N: Sebastian Weyer -F: package/amlogic-boot-fip/ -F: package/nushell/ -F: package/rust-bindgen/ -F: package/spirv-headers/ -F: support/testing/tests/package/sample_nu.nu -F: support/testing/tests/package/test_nu.py - N: Sébastien Szymanski +F: board/armadeus/ +F: configs/armadeus* F: package/mmc-utils/ F: package/python-flask-jsonrpc/ F: package/python-flask-login/ @@ -2833,7 +2827,6 @@ F: package/lcdapi/ F: package/libfreefare/ F: package/libjson/ F: package/libnfc/ -F: package/libnfc/ F: package/libserial/ F: package/libsigsegv/ F: package/macchanger/ @@ -2954,56 +2947,12 @@ F: package/openlayers/ F: package/vuejs/ F: package/vuejs-router/ -N: Thomas De Schampheleire -F: docs/manual/ -F: package/cereal/ -F: package/chartjs/ -F: package/datatables/ -F: package/datatables-buttons/ -F: package/datatables-fixedcolumns/ -F: package/datatables-responsive/ -F: package/jszip/ -F: package/libtelnet/ -F: package/opkg-utils/ -F: package/perl-convert-asn1/ -F: package/perl-crypt-blowfish/ -F: package/perl-crypt-cbc/ -F: package/perl-crypt-openssl-aes/ -F: package/perl-devel-cycle/ -F: package/perl-devel-size/ -F: package/perl-i18n/ -F: package/perl-locale-maketext-lexicon/ -F: package/perl-lwp-protocol-https/ -F: package/perl-math-int64/ -F: package/perl-math-prime-util/ -F: package/perl-mime-base64-urlsafe/ -F: package/perl-mojolicious-plugin-authentication/ -F: package/perl-mojolicious-plugin-authorization/ -F: package/perl-mojolicious-plugin-cspheader/ -F: package/perl-mojolicious-plugin-i18n/ -F: package/perl-mojolicious-plugin-securityheader/ -F: package/perl-mozilla-ca/ -F: package/perl-net-snmp/ -F: package/perl-net-ssh2/ -F: package/perl-net-telnet/ -F: package/perl-path-class/ -F: package/pigz/ -F: package/popperjs/ -F: package/xenomai/ -F: support/scripts/size-stats -F: support/testing/tests/package/test_perl_lwp_protocol_https.py -F: utils/size-stats-compare -F: toolchain/ - N: Thomas Devoogdt F: package/fluent-bit/ F: package/libsoup3/ N: Thomas Huth -F: board/qemu/m68k-mcf5208/ -F: configs/qemu_m68k_mcf5208_defconfig F: package/ascii-invaders/ -F: package/frotz/ F: package/kvm-unit-tests/ F: package/xorcurses/ @@ -3163,6 +3112,8 @@ F: package/pixz/ F: package/zerofree/ F: support/testing/tests/package/test_msr_tools* F: support/testing/tests/package/test_pixz.py +F: support/testing/tests/package/test_xen.py +F: support/testing/tests/package/test_xen/ F: support/testing/tests/package/test_zerofree.py N: Vinicius Tinti @@ -3192,7 +3143,6 @@ N: Will Newton F: package/enchant/ F: package/erlang/ F: package/libmicrohttpd/ -F: package/sysprof/ F: package/time/ N: Will Wagner @@ -3230,55 +3180,6 @@ F: package/casync/ F: package/gloox/ F: package/tpm2-pkcs11/ -N: Yann E. MORIN -F: fs/squashfs/ -F: package/asterisk/ -F: package/cegui/ -F: package/dahdi-linux/ -F: package/dahdi-tools/ -F: package/dbus-broker/ -F: package/dtc/ -F: package/dtv-scan-tables/ -F: package/dvb-apps/ -F: package/freerdp/ -F: package/keyutils/ -F: package/libbsd/ -F: package/libedit/ -F: package/libgsm/ -F: package/libiberty/ -F: package/libinput/ -F: package/libiscsi/ -F: package/libpri/ -F: package/libseccomp/ -F: package/libss7/ -F: package/linux-firmware/ -F: package/linux-tools/ -F: package/matchbox* -F: package/mesa3d-headers/ -F: package/nbd/ -F: package/nut/ -F: package/nvidia-driver/ -F: package/omxplayer/ -F: package/python-pyparsing/ -F: package/pkg-download.mk -F: package/pkg-waf.mk -F: package/slirp/ -F: package/snappy/ -F: package/spice/ -F: package/spice-protocol/ -F: package/systemd/ -F: package/systemd-bootchart/ -F: package/tmux/ -F: package/tvheadend/ -F: package/usbredir/ -F: package/vde2/ -F: package/w_scan/ -F: package/wayland/ -F: package/weston/ -F: package/wtfutil/ -F: package/zisofs-tools/ -F: support/download/ - N: Yann E. MORIN F: .editorconfig F: package/gpsd/ @@ -3316,6 +3217,7 @@ F: package/libuci/ F: package/linux-firmware/ F: package/linux-serial-test/ F: package/modem-manager/ +F: package/ncftp/ F: package/nftables/ F: package/nuttcp/ F: package/parted/ diff --git a/Makefile b/Makefile index 46b72d090..24738727d 100644 --- a/Makefile +++ b/Makefile @@ -90,9 +90,9 @@ all: .PHONY: all # Set and export the version string -export BR2_VERSION := 2024.05-git +export BR2_VERSION := 2024.02.11 # Actual time the release is cut (for reproducible builds) -BR2_VERSION_EPOCH = 1709640000 +BR2_VERSION_EPOCH = 1740143000 # Save running make version since it's clobbered by the make package RUNNING_MAKE_VERSION := $(MAKE_VERSION) @@ -591,14 +591,7 @@ world: grant_sudo_perm target-post-image .PHONY: prepare-sdk prepare-sdk: world - @$(call MESSAGE,"Rendering the SDK relocatable") - PARALLEL_JOBS=$(PARALLEL_JOBS) \ - PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) \ - $(TOPDIR)/support/scripts/fix-rpath host - PARALLEL_JOBS=$(PARALLEL_JOBS) \ - PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) \ - $(TOPDIR)/support/scripts/fix-rpath staging - $(call ppd-fixup-paths,$(BASE_DIR)) + @$(call MESSAGE,"Preparing the SDK") $(INSTALL) -m 755 $(TOPDIR)/support/misc/relocate-sdk.sh $(HOST_DIR)/relocate-sdk.sh mkdir -p $(HOST_DIR)/share/buildroot echo $(HOST_DIR) > $(HOST_DIR)/share/buildroot/sdk-location @@ -716,6 +709,13 @@ STAGING_DIR_FILES_LISTS = $(sort $(wildcard $(BUILD_DIR)/*/.files-list-staging.t host-finalize: $(PACKAGES) $(HOST_DIR) $(HOST_DIR_SYMLINK) @$(call MESSAGE,"Finalizing host directory") $(call per-package-rsync,$(sort $(PACKAGES)),host,$(HOST_DIR),copy) + $(Q)PARALLEL_JOBS=$(PARALLEL_JOBS) \ + PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) \ + $(TOPDIR)/support/scripts/fix-rpath host + $(Q)PARALLEL_JOBS=$(PARALLEL_JOBS) \ + PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) \ + $(TOPDIR)/support/scripts/fix-rpath staging + $(call ppd-fixup-paths,$(BASE_DIR)) .PHONY: staging-finalize staging-finalize: $(STAGING_DIR_SYMLINK) diff --git a/arch/Config.in.arc b/arch/Config.in.arc index 388d3496b..f367c4913 100644 --- a/arch/Config.in.arc +++ b/arch/Config.in.arc @@ -3,7 +3,7 @@ choice default BR2_arc770d depends on BR2_arc help - Specific CPU to use + Specific CPU to use config BR2_arc750d bool "ARC 750D" @@ -40,12 +40,12 @@ config BR2_archs38_full config BR2_archs4x_rel31 bool "ARC HS48 rel 31" help - Build for HS48 release 3.1 + Build for HS48 release 3.1 config BR2_archs4x bool "ARC HS48" help - Latest release of HS48 processor + Latest release of HS48 processor - Dual and Quad multiply and MAC operations - Double-precision FPU diff --git a/arch/Config.in.x86 b/arch/Config.in.x86 index 49823fe88..93a223b7a 100644 --- a/arch/Config.in.x86 +++ b/arch/Config.in.x86 @@ -72,6 +72,7 @@ config BR2_x86_pentium_m depends on !BR2_x86_64 select BR2_X86_CPU_HAS_MMX select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 config BR2_x86_pentium2 bool "pentium2" depends on !BR2_x86_64 diff --git a/board/acmesystems/acqua-a5/patches/at91bootstrap3/at91bootstrap3.hash b/board/acmesystems/acqua-a5/patches/at91bootstrap3/at91bootstrap3.hash new file mode 100644 index 000000000..06a63d449 --- /dev/null +++ b/board/acmesystems/acqua-a5/patches/at91bootstrap3/at91bootstrap3.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 cdc04cca9e811043efdea43ad203d70d897e23a8bd46f01896ba45c8df50f6ec at91bootstrap3-v3.10.3-br1.tar.gz diff --git a/board/acmesystems/acqua-a5/patches/linux-headers/linux-headers.hash b/board/acmesystems/acqua-a5/patches/linux-headers/linux-headers.hash new file mode 120000 index 000000000..5808d92af --- /dev/null +++ b/board/acmesystems/acqua-a5/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/acmesystems/acqua-a5/patches/linux/linux.hash b/board/acmesystems/acqua-a5/patches/linux/linux.hash new file mode 100644 index 000000000..4b20a009a --- /dev/null +++ b/board/acmesystems/acqua-a5/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b66a5b863b0f8669448b74ca83bd641a856f164b29956e539bbcb5fdeeab9cc6 linux-6.6.30.tar.xz diff --git a/board/chromebook/elm/patches/linux-headers/linux-headers.hash b/board/chromebook/elm/patches/linux-headers/linux-headers.hash new file mode 120000 index 000000000..5808d92af --- /dev/null +++ b/board/chromebook/elm/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/chromebook/elm/patches/linux/linux.hash b/board/chromebook/elm/patches/linux/linux.hash new file mode 100644 index 000000000..88aa603ac --- /dev/null +++ b/board/chromebook/elm/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 dcdf99e43e98330d925016985bfbc7b83c66d367b714b2de0cbbfcbf83d8ca43 linux-5.10.tar.xz diff --git a/board/chromebook/snow/patches/linux-headers/linux-headers.hash b/board/chromebook/snow/patches/linux-headers/linux-headers.hash new file mode 120000 index 000000000..5808d92af --- /dev/null +++ b/board/chromebook/snow/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/chromebook/snow/linux-4.15-dts-tpm.patch b/board/chromebook/snow/patches/linux/0001-linux-4.15-dts-tpm.patch similarity index 85% rename from board/chromebook/snow/linux-4.15-dts-tpm.patch rename to board/chromebook/snow/patches/linux/0001-linux-4.15-dts-tpm.patch index c71ff1b58..01f452b56 100644 --- a/board/chromebook/snow/linux-4.15-dts-tpm.patch +++ b/board/chromebook/snow/patches/linux/0001-linux-4.15-dts-tpm.patch @@ -9,6 +9,9 @@ See https://code.google.com/p/chromium/issues/detail?id=220169 and https://lkml.org/lkml/2013/3/4/242 Signed-off-by: Alex Suykov +Upstream: Not Applicable +[yann.morin.1998@free.fr: add Upstream tag] +Signed-off-by: Yann E. MORIN --- a/arch/arm/boot/dts/exynos5250-snow-common.dtsi +++ b/arch/arm/boot/dts/exynos5250-snow-common.dtsi diff --git a/board/chromebook/snow/patches/linux/linux.hash b/board/chromebook/snow/patches/linux/linux.hash new file mode 100644 index 000000000..1064af46a --- /dev/null +++ b/board/chromebook/snow/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Localy computed +sha256 5a26478906d5005f4f809402e981518d2b8844949199f60c4b6e1f986ca2a769 linux-4.15.tar.xz diff --git a/board/freescale/common/imx/imx8-bootloader-prepare.sh b/board/freescale/common/imx/imx8-bootloader-prepare.sh index 7ebf15b6f..b353d506f 100755 --- a/board/freescale/common/imx/imx8-bootloader-prepare.sh +++ b/board/freescale/common/imx/imx8-bootloader-prepare.sh @@ -8,6 +8,8 @@ main () exit 1 fi + FIT_EXTERNAL_POSITION=0x5000 + if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then dd if=${BINARIES_DIR}/u-boot-spl.bin of=${BINARIES_DIR}/u-boot-spl-padded.bin bs=4 conv=sync cat ${BINARIES_DIR}/u-boot-spl-padded.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin @@ -16,7 +18,7 @@ main () else BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00910000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its fi - ${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb + ${HOST_DIR}/bin/mkimage -E -p ${FIT_EXTERNAL_POSITION} -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb rm -f ${BINARIES_DIR}/u-boot.its ${HOST_DIR}/bin/mkimage_imx8 -fit -signed_hdmi ${BINARIES_DIR}/signed_hdmi_imx8m.bin -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x7E1000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin @@ -28,7 +30,7 @@ main () else BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00920000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its fi - ${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb + ${HOST_DIR}/bin/mkimage -E -p ${FIT_EXTERNAL_POSITION} -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb rm -f ${BINARIES_DIR}/u-boot.its ${HOST_DIR}/bin/mkimage_imx8 -fit -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x7E1000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin @@ -40,7 +42,7 @@ main () else BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00960000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its fi - ${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb + ${HOST_DIR}/bin/mkimage -E -p ${FIT_EXTERNAL_POSITION} -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb rm -f ${BINARIES_DIR}/u-boot.its ${HOST_DIR}/bin/mkimage_imx8 -v v2 -fit -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x912000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin @@ -52,7 +54,7 @@ main () else BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00970000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its fi - ${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb + ${HOST_DIR}/bin/mkimage -E -p ${FIT_EXTERNAL_POSITION} -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb rm -f ${BINARIES_DIR}/u-boot.its ${HOST_DIR}/bin/mkimage_imx8 -v v2 -fit -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x920000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin @@ -73,4 +75,5 @@ main () exit $? } +set -e main $@ diff --git a/board/pc/readme.txt b/board/pc/readme.txt index 41aec50d3..99e8f442e 100644 --- a/board/pc/readme.txt +++ b/board/pc/readme.txt @@ -42,8 +42,8 @@ Emulation in qemu (BIOS) 1. Edit grub-bios.cfg Since the driver will show up in the virtual machine as /dev/vda, - change board/pc/grub-bios.cfg to use root=/dev/vda2 instead of - root=/dev/sda2. Then rebuild grub2 and the image. + change board/pc/grub-bios.cfg to use root=/dev/vda1 instead of + root=/dev/sda1. Then rebuild grub2 and the image. 2. Run the emulation with: diff --git a/board/pine64/rockpro64/linux.fragment b/board/pine64/rockpro64/linux.fragment new file mode 100644 index 000000000..ed7dfd3d3 --- /dev/null +++ b/board/pine64/rockpro64/linux.fragment @@ -0,0 +1,3 @@ +CONFIG_STMMAC_ETH=y +CONFIG_STMMAC_PLATFORM=y +CONFIG_DWMAC_ROCKCHIP=y diff --git a/board/qemu/arm-vexpress-tz/readme.txt b/board/qemu/arm-vexpress-tz/readme.txt index 3e84fe639..920777afd 100644 --- a/board/qemu/arm-vexpress-tz/readme.txt +++ b/board/qemu/arm-vexpress-tz/readme.txt @@ -26,7 +26,7 @@ If you want to emulate more cores, use "-smp {1|2|3|4}" to select the number of cores. Note: "-netdev user,id=vmnic -device virtio-net-device,netdev=vmnic" -brings network support that is used i.e. in OP-TEE regression tests. +brings network support that is used e.g. in OP-TEE regression tests. -- Boot Details -- @@ -38,7 +38,7 @@ non-secure bootloader (BL33 stage). QEMU natively hosts and loads in RAM the QEMU ARM target device tree. OP-TEE reads and modifies its content according to OP-TEE configuration. -Enable TF-A traces from LOG_LEVEL (I.e LOG_LEVEL=40) from +Enable TF-A traces from LOG_LEVEL (e.g. LOG_LEVEL=40) from BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES. @@ -53,7 +53,7 @@ serial interface. The OP-TEE OS uses the QEMU second serial interface. To get the OP-TEE OS traces, append a second -serial argument after --serial stdio in the QEMU command line. I.e, the following enables 2 serial +-serial stdio in the QEMU command line. E.g., the following enables 2 serial consoles over telnet connections: cd output/images && ../host/bin/qemu-system-arm \ diff --git a/board/sheevaplug/patches/linux-headers/linux-headers.hash b/board/sheevaplug/patches/linux-headers/linux-headers.hash new file mode 120000 index 000000000..5808d92af --- /dev/null +++ b/board/sheevaplug/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/sheevaplug/patches/linux/linux.hash b/board/sheevaplug/patches/linux/linux.hash new file mode 100644 index 000000000..b207306a2 --- /dev/null +++ b/board/sheevaplug/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 0820fdb7971c6974338081c11fbf2dc869870501e7bdcac4d0ed58ba1f57b61c linux-4.14.336.tar.xz diff --git a/board/sheevaplug/patches/uboot/uboot.hash b/board/sheevaplug/patches/uboot/uboot.hash new file mode 100644 index 000000000..d6818bac3 --- /dev/null +++ b/board/sheevaplug/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 9f10df88bc91b35642e461217f73256bbaeeca9ae2db8db56197ba5e89e1f6d4 u-boot-2018.07.tar.bz2 diff --git a/board/stmicroelectronics/stm32mp157a-dk1/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/stmicroelectronics/stm32mp157a-dk1/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 000000000..97c450071 --- /dev/null +++ b/board/stmicroelectronics/stm32mp157a-dk1/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 068325043b7c8ecc47ebb8b4f241f01e86d3f69dc49a63f340aa94bd41a9e6df arm-trusted-firmware/arm-trusted-firmware-lts-v2.8.16.tar.gz diff --git a/board/stmicroelectronics/stm32mp157a-dk1/patches/linux-headers/linux-headers.hash b/board/stmicroelectronics/stm32mp157a-dk1/patches/linux-headers/linux-headers.hash new file mode 120000 index 000000000..5808d92af --- /dev/null +++ b/board/stmicroelectronics/stm32mp157a-dk1/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/stmicroelectronics/stm32mp157a-dk1/patches/linux/linux.hash b/board/stmicroelectronics/stm32mp157a-dk1/patches/linux/linux.hash new file mode 100644 index 000000000..8b7624cce --- /dev/null +++ b/board/stmicroelectronics/stm32mp157a-dk1/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 3f6baa97f37518439f51df2e4f3d65a822ca5ff016aa8e60d2cc53b95a6c89d9 linux-5.13.tar.xz diff --git a/board/stmicroelectronics/stm32mp157a-dk1/patches/uboot/uboot.hash b/board/stmicroelectronics/stm32mp157a-dk1/patches/uboot/uboot.hash new file mode 100644 index 000000000..7cef5b688 --- /dev/null +++ b/board/stmicroelectronics/stm32mp157a-dk1/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 e31cac91545ff41b71cec5d8c22afd695645cd6e2a442ccdacacd60534069341 u-boot-2023.04.tar.bz2 diff --git a/board/udoo/neo/readme.txt b/board/udoo/neo/readme.txt index 94ebcc12f..e9f9fbac1 100644 --- a/board/udoo/neo/readme.txt +++ b/board/udoo/neo/readme.txt @@ -1,12 +1,36 @@ MX6X Udoo Neo board - +=================== http://www.udoo.org/udoo-neo/ +Build: +====== + To build a minimal support for these boards: $ make mx6sx_udoo_neo_defconfig $ make +Files created in the output directory: +====================================== + +output/images +. +├── boot.scr +├── imx6sx-udoo-neo-basic.dtb +├── imx6sx-udoo-neo-extended.dtb +├── imx6sx-udoo-neo-full.dtb +├── rootfs.ext2 +├── rootfs.ext4 -> rootfs.ext2 +├── rootfs.tar +├── sdcard.img +├── SPL +├── u-boot.bin +├── u-boot.img +└── zImage + +Creating bootable SD card: +========================== + Buildroot prepares a bootable "sdcard.img" image in the output/images/ directory, ready to be dumped on an SD card: @@ -14,3 +38,31 @@ dd if=output/images/sdcard.img of=/dev/ For details about the medium image layout, see the definition in board/freescale/common/imx/genimage.cfg.template_no_boot_part_spl. + +Booting: +======== + +Serial console: +--------------- +The Udoo Neo features the serial console "UART1" on the pin header "P7". The +Uart pins are as follows (see board labels): + +pin 46: rx +pin 47: tx + +Baudrate for this board is 115200. + +Login: +------ +Enter 'root' as login user, and the prompt is ready. + +Documentation: +============== + +documentation link: +------------------- +https://www.udoo.org/docs-neo/Introduction/Introduction.html + +forum link: +----------- +https://www.udoo.org/forum/forums/udoo-neo.39/ diff --git a/board/zynqmp/kria/readme.txt b/board/zynqmp/kria/readme.txt index 96009804b..31025ed19 100644 --- a/board/zynqmp/kria/readme.txt +++ b/board/zynqmp/kria/readme.txt @@ -101,12 +101,14 @@ Flashing boot.bin: KD240 / KR260 Flashing Instructions: Flashing u-boot.itb: + $ usb start $ sf probe $ fatload usb 0 0x1000000 u-boot.itb $ sf erase 0xf80000 +$filesize $ sf write 0x1000000 0xf80000 $filesize Flashing boot.bin: + $ usb start $ sf probe $ fatload usb 0 0x1000000 boot.bin $ sf erase 0x200000 +$filesize diff --git a/boot/arm-trusted-firmware/Config.in b/boot/arm-trusted-firmware/Config.in index 2fe3dd114..e3d958229 100644 --- a/boot/arm-trusted-firmware/Config.in +++ b/boot/arm-trusted-firmware/Config.in @@ -71,7 +71,7 @@ endif config BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM string "ATF platform" help - Target plaform to build for. + Target platform to build for. config BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD string "ATF target board" diff --git a/boot/arm-trusted-firmware/arm-trusted-firmware.mk b/boot/arm-trusted-firmware/arm-trusted-firmware.mk index 2d554c1da..abf917948 100644 --- a/boot/arm-trusted-firmware/arm-trusted-firmware.mk +++ b/boot/arm-trusted-firmware/arm-trusted-firmware.mk @@ -59,6 +59,7 @@ endif endif ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \ + $(if $(VERBOSE),V=1) \ CROSS_COMPILE="$(TARGET_CROSS)" \ BUILD_STRING=$(ARM_TRUSTED_FIRMWARE_VERSION) \ $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES)) \ diff --git a/boot/barebox/Config.in b/boot/barebox/Config.in index dba4a1a8d..0bd338679 100644 --- a/boot/barebox/Config.in +++ b/boot/barebox/Config.in @@ -76,7 +76,7 @@ config BR2_TARGET_BAREBOX_CUSTOM_GIT_VERSION endif -source boot/barebox/barebox/Config.in +source "boot/barebox/barebox/Config.in" menuconfig BR2_TARGET_BAREBOX_AUX bool "Build barebox with an auxiliary config" @@ -90,7 +90,7 @@ menuconfig BR2_TARGET_BAREBOX_AUX if BR2_TARGET_BAREBOX_AUX -source boot/barebox/barebox-aux/Config.in +source "boot/barebox/barebox-aux/Config.in" endif diff --git a/boot/barebox/barebox.mk b/boot/barebox/barebox.mk index fe366989b..929ed48ad 100644 --- a/boot/barebox/barebox.mk +++ b/boot/barebox/barebox.mk @@ -26,7 +26,7 @@ else ifeq ($$(BR2_TARGET_BAREBOX_CUSTOM_GIT),y) $(1)_SITE = $$(call qstrip,$$(BR2_TARGET_BAREBOX_CUSTOM_GIT_REPO_URL)) $(1)_SITE_METHOD = git # Override the default value of _SOURCE to 'barebox-*' so that it is not -# downloaded a second time for barebox-aux; also alows avoiding the hash +# downloaded a second time for barebox-aux; also allows avoiding the hash # check: $(1)_SOURCE = barebox-$$($(1)_VERSION)$$(BR_FMT_VERSION_git).tar.gz else diff --git a/boot/edk2/edk2.mk b/boot/edk2/edk2.mk index 87ac80c88..e5816b353 100644 --- a/boot/edk2/edk2.mk +++ b/boot/edk2/edk2.mk @@ -24,7 +24,7 @@ endif else EDK2_BUILD_TYPE = RELEASE # DEBUG_ON_SERIAL_PORT is only valid in debug builds, so useless to set -# it (enabled or disabled) on a relase build. +# it (enabled or disabled) on a release build. endif # Build system notes. diff --git a/boot/grub2/Config.in b/boot/grub2/Config.in index 2b72d7f0d..9ece3cc68 100644 --- a/boot/grub2/Config.in +++ b/boot/grub2/Config.in @@ -53,7 +53,7 @@ config BR2_TARGET_GRUB2_I386_PC depends on BR2_i386 || BR2_x86_64 select BR2_TARGET_GRUB2_HAS_LEGACY_BOOT help - Select this option if the platform you're targetting is a + Select this option if the platform you're targeting is a x86 or x86-64 legacy BIOS based platform. config BR2_TARGET_GRUB2_I386_EFI @@ -62,7 +62,7 @@ config BR2_TARGET_GRUB2_I386_EFI select BR2_TARGET_GRUB2_HAS_PTF select BR2_TARGET_GRUB2_HAS_EFI_BOOT help - Select this option if the platform you're targetting has a + Select this option if the platform you're targeting has a 32 bits EFI BIOS. Note that some x86-64 platforms use a 32 bits EFI BIOS, and this option should be used in this case. @@ -72,7 +72,7 @@ config BR2_TARGET_GRUB2_X86_64_EFI select BR2_TARGET_GRUB2_HAS_PTF select BR2_TARGET_GRUB2_HAS_EFI_BOOT help - Select this option if the platform you're targetting has a + Select this option if the platform you're targeting has a 64 bits EFI BIOS. config BR2_TARGET_GRUB2_ARM_UBOOT @@ -80,7 +80,7 @@ config BR2_TARGET_GRUB2_ARM_UBOOT depends on BR2_arm select BR2_TARGET_GRUB2_HAS_LEGACY_BOOT help - Select this option if the platform you're targetting is an + Select this option if the platform you're targeting is an ARM u-boot platform, and you want to boot Grub 2 as an u-boot compatible image. @@ -90,7 +90,7 @@ config BR2_TARGET_GRUB2_ARM_EFI select BR2_TARGET_GRUB2_HAS_PTF select BR2_TARGET_GRUB2_HAS_EFI_BOOT help - Select this option if the platform you're targetting is an + Select this option if the platform you're targeting is an ARM platform and you want to boot Grub 2 as an EFI application. @@ -99,7 +99,7 @@ config BR2_TARGET_GRUB2_ARM64_EFI depends on BR2_aarch64 select BR2_TARGET_GRUB2_HAS_EFI_BOOT help - Select this option if the platform you're targetting is an + Select this option if the platform you're targeting is an Aarch64 platform and you want to boot Grub 2 as an EFI application. @@ -108,7 +108,7 @@ config BR2_TARGET_GRUB2_RISCV64_EFI depends on BR2_RISCV_64 select BR2_TARGET_GRUB2_HAS_EFI_BOOT help - Select this option if the platform you're targetting is a + Select this option if the platform you're targeting is a 64bit RISC-V platform and you want to boot Grub 2 as an EFI application. diff --git a/boot/grub2/grub2.mk b/boot/grub2/grub2.mk index 6d0d71c47..089602932 100644 --- a/boot/grub2/grub2.mk +++ b/boot/grub2/grub2.mk @@ -5,12 +5,14 @@ ################################################################################ GRUB2_VERSION = 2.12 -GRUB2_SITE = http://ftp.gnu.org/gnu/grub +GRUB2_SITE = $(BR2_GNU_MIRROR)/grub GRUB2_SOURCE = grub-$(GRUB2_VERSION).tar.xz GRUB2_LICENSE = GPL-3.0+ GRUB2_LICENSE_FILES = COPYING -GRUB2_DEPENDENCIES = host-bison host-flex host-gawk host-grub2 -HOST_GRUB2_DEPENDENCIES = host-bison host-flex host-gawk +GRUB2_DEPENDENCIES = host-bison host-flex host-gawk host-grub2 \ + $(BR2_PYTHON3_HOST_DEPENDENCY) +HOST_GRUB2_DEPENDENCIES = host-bison host-flex host-gawk \ + $(BR2_PYTHON3_HOST_DEPENDENCY) GRUB2_INSTALL_IMAGES = YES # CVE-2019-14865 is about a flaw in the grub2-set-bootflag tool, which @@ -25,6 +27,12 @@ GRUB2_IGNORE_CVES += CVE-2019-14865 GRUB2_IGNORE_CVES += CVE-2020-15705 # vulnerability is specific to the SUSE distribution GRUB2_IGNORE_CVES += CVE-2021-46705 +# vulnerability is specific to the Redhat distribution, affects a +# downstream change from Redhat related to password authentication +GRUB2_IGNORE_CVES += CVE-2023-4001 +# vulnerability is specific to the Redhat distribution, affects the +# grub2-set-bootflag tool, which doesn't exist upstream +GRUB2_IGNORE_CVES += CVE-2024-1048 ifeq ($(BR2_TARGET_GRUB2_INSTALL_TOOLS),y) GRUB2_INSTALL_TARGET = YES diff --git a/boot/grub2/readme.txt b/boot/grub2/readme.txt index 5d59fb4e2..90866e83a 100644 --- a/boot/grub2/readme.txt +++ b/boot/grub2/readme.txt @@ -10,20 +10,20 @@ Notes on using Grub2 for BIOS-based platforms is enough free space *before* the first partition to store Grub2. Leaving 1 MB of free space is safe. 3. Setup loop device and loop partitions - sudo losetup -f disk.img - sudo partx -a /dev/loop0 + loop_dev=$(sudo losetup -f disk.img) + sudo partx -a "$loop_dev" 4. Prepare the root partition - sudo mkfs.ext3 -L root /dev/loop0p1 - sudo mount /dev/loop0p1 /mnt + sudo mkfs.ext3 -L root "${loop_dev}p1" + sudo mount "${loop_dev}p1" /mnt sudo tar -C /mnt -xf output/images/rootfs.tar sudo umount /mnt 5. Install Grub2 sudo ./output/host/sbin/grub-bios-setup \ -b ./output/host/lib/grub/i386-pc/boot.img \ - -c ./output/images/grub.img -d . /dev/loop0 + -c ./output/images/grub.img -d . "$loop_dev" 6. Cleanup loop device - sudo partx -d /dev/loop0 - sudo losetup -d /dev/loop0 + sudo partx -d "$loop_dev" + sudo losetup -d "$loop_dev" 7. Your disk.img is ready! Using genimage @@ -65,22 +65,22 @@ Notes on using Grub2 for x86/x86_64 EFI-based platforms - Create a second partition, type 8300, for the root filesystem. 3. Setup loop device and loop partitions - sudo losetup -f disk.img - sudo partx -a /dev/loop0 + loop_dev=$(sudo losetup -f disk.img) + sudo partx -a "$loop_dev" 4. Prepare the boot partition - sudo mkfs.vfat -n boot /dev/loop0p1 - sudo mount /dev/loop0p1 /mnt + sudo mkfs.vfat -n boot "${loop_dev}p1" + sudo mount "${loop_dev}p1" /mnt sudo cp -a output/images/efi-part/* /mnt/ sudo cp output/images/bzImage /mnt/ sudo umount /mnt 5. Prepare the root partition - sudo mkfs.ext3 -L root /dev/loop0p2 - sudo mount /dev/loop0p2 /mnt + sudo mkfs.ext3 -L root "${loop_dev}p2" + sudo mount "${loop_dev}p2" /mnt sudo tar -C /mnt -xf output/images/rootfs.tar sudo umount /mnt 6 Cleanup loop device - sudo partx -d /dev/loop0 - sudo losetup -d /dev/loop0 + sudo partx -d "$loop_dev" + sudo losetup -d "$loop_dev" 7. Your disk.img is ready! To test your i386/x86-64 EFI image in Qemu diff --git a/boot/optee-os/optee-os.mk b/boot/optee-os/optee-os.mk index 33b4e2e1a..36dfbd2cc 100644 --- a/boot/optee-os/optee-os.mk +++ b/boot/optee-os/optee-os.mk @@ -61,7 +61,7 @@ OPTEE_OS_MAKE_OPTS += \ CFG_ARM32_core=y endif -# Get mandatory PLAFORM and optional PLATFORM_FLAVOR and additional +# Get mandatory PLATFORM and optional PLATFORM_FLAVOR and additional # variables OPTEE_OS_MAKE_OPTS += PLATFORM=$(call qstrip,$(BR2_TARGET_OPTEE_OS_PLATFORM)) ifneq ($(call qstrip,$(BR2_TARGET_OPTEE_OS_PLATFORM_FLAVOR)),) diff --git a/boot/shim/shim.mk b/boot/shim/shim.mk index ae5767732..f5b3d1cee 100644 --- a/boot/shim/shim.mk +++ b/boot/shim/shim.mk @@ -22,7 +22,7 @@ SHIM_MAKE_OPTS = \ # shim has some assembly function that is not present in Thumb mode: # Error: selected processor does not support `mrc p15,0,r2,c9,c13,0' in Thumb mode -# so, we desactivate Thumb mode +# so, we deactivate Thumb mode ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) SHIM_CFLAGS += -marm endif diff --git a/boot/syslinux/0020-pull-in-stdio-h-for-gcc14.patch b/boot/syslinux/0020-pull-in-stdio-h-for-gcc14.patch new file mode 100644 index 000000000..09a0074b3 --- /dev/null +++ b/boot/syslinux/0020-pull-in-stdio-h-for-gcc14.patch @@ -0,0 +1,34 @@ +From dfa2705100a893bc017d23406daa9a383fbc3c95 Mon Sep 17 00:00:00 2001 +From: Lance Fredrickson +Date: Wed, 5 Jun 2024 14:31:38 -0600 +Subject: [PATCH] com32/lib/syslinux/debug.c: add missing stdio.h include. + +Fix building syslinux with GCC 14.x + +Add missing stdio.h include. Without it results in the following error under GCC 14.x + +../../../com32/lib/syslinux/debug.c: In function ‘syslinux_debug’: +../../../com32/lib/syslinux/debug.c:91:5: error: implicit declaration of function ‘printf’ [-Wimplicit-function-declaration] + 91 | printf("Dynamic debug unavailable\n"); + +Upstream: dead (last release in 2014) +Signed-off-by: Lance Fredrickson +--- + com32/lib/syslinux/debug.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/com32/lib/syslinux/debug.c b/com32/lib/syslinux/debug.c +index d9ab863f..e8f53d57 100644 +--- a/com32/lib/syslinux/debug.c ++++ b/com32/lib/syslinux/debug.c +@@ -1,6 +1,7 @@ + #include + #include + #include ++#include + + #ifdef DYNAMIC_DEBUG + +-- +2.39.2 + diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in index beafb3893..5b524c487 100644 --- a/boot/uboot/Config.in +++ b/boot/uboot/Config.in @@ -3,7 +3,7 @@ config BR2_TARGET_UBOOT help Build "Das U-Boot" Boot Monitor - https://www.denx.de/wiki/U-Boot + https://docs.u-boot.org/en/latest/ if BR2_TARGET_UBOOT choice diff --git a/docs/manual/adding-board-support.adoc b/docs/manual/adding-board-support.adoc index ef6dbd3c2..0f7d53460 100644 --- a/docs/manual/adding-board-support.adoc +++ b/docs/manual/adding-board-support.adoc @@ -22,17 +22,17 @@ selections are highly application-specific. Once you have a known working configuration, run +make savedefconfig+. This will generate a minimal +defconfig+ file at the root of the Buildroot source tree. Move this file into the +configs/+ -directory, and rename it +_defconfig+. If the configuration -is a bit more complicated, it is nice to manually reformat it and -separate it into sections, with a comment before each section. Typical -sections are _Architecture_, _Toolchain options_ (typically just linux -headers version), _Firmware_, _Bootloader_, _Kernel_, and _Filesystem_. +directory, and rename it +_defconfig+. Always use fixed versions or commit hashes for the different components, not the "latest" version. For example, set +BR2_LINUX_KERNEL_CUSTOM_VERSION=y+ and +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE+ to the kernel version you tested -with. +with. If you are using the buildroot toolchain +BR2_TOOLCHAIN_BUILDROOT+ +(which is the default), additionally ensure that the same kernel headers +are used (+BR2_KERNEL_HEADERS_AS_KERNEL+, which is also the default) and +set the custom kernel headers series to match your kernel version +(+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_*+). It is recommended to use as much as possible upstream versions of the Linux kernel and bootloaders, and to use as much as possible default @@ -51,10 +51,10 @@ Before submitting patches for new boards it is recommended to test it by building it using latest gitlab-CI docker container. To do this use +utils/docker-run+ script and inside it issue these commands: --------------------- +---- $ make _defconfig $ make --------------------- +---- By default, Buildroot developers use the official image hosted on the https://gitlab.com/buildroot.org/buildroot/container_registry/2395076[gitlab.com diff --git a/docs/manual/adding-packages-asciidoc.adoc b/docs/manual/adding-packages-asciidoc.adoc index d68978b1c..c34b9ffc2 100644 --- a/docs/manual/adding-packages-asciidoc.adoc +++ b/docs/manual/adding-packages-asciidoc.adoc @@ -112,7 +112,7 @@ Here is a complete example that uses all variables and all hooks: 05: ################################################################################ 06: 07: FOO_SOURCES = $(sort $(wildcard $(FOO_DOCDIR)/*)) -08: FOO_RESOURCES = $(sort $(wildcard $(FOO_DOCDIR)/ressources)) +08: FOO_RESOURCES = $(sort $(wildcard $(FOO_DOCDIR)/resources)) 09: 10: FOO_TOC_DEPTH = 2 11: FOO_TOC_DEPTH_HTML = 1 diff --git a/docs/manual/adding-packages-autotools.adoc b/docs/manual/adding-packages-autotools.adoc index ad96957f3..a45d1652b 100644 --- a/docs/manual/adding-packages-autotools.adoc +++ b/docs/manual/adding-packages-autotools.adoc @@ -10,7 +10,7 @@ First, let's see how to write a +.mk+ file for an autotools-based package, with an example : ------------------------- +---- 01: ################################################################################ 02: # 03: # libfoo @@ -26,7 +26,7 @@ package, with an example : 13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf 14: 15: $(eval $(autotools-package)) ------------------------- +---- On line 7, we declare the version of the package. @@ -76,12 +76,9 @@ Just like the generic infrastructure, the autotools infrastructure works by defining a number of variables before calling the +autotools-package+ macro. -First, all the package metadata information variables that exist in the -generic infrastructure also exist in the autotools infrastructure: -+LIBFOO_VERSION+, +LIBFOO_SOURCE+, -+LIBFOO_PATCH+, +LIBFOO_SITE+, -+LIBFOO_SUBDIR+, +LIBFOO_DEPENDENCIES+, -+LIBFOO_INSTALL_STAGING+, +LIBFOO_INSTALL_TARGET+. +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the autotools infrastructure. A few additional variables, specific to the autotools infrastructure, can also be defined. Many of them are only useful in very specific diff --git a/docs/manual/adding-packages-cargo.adoc b/docs/manual/adding-packages-cargo.adoc index e18fd9ce2..1d476589f 100644 --- a/docs/manual/adding-packages-cargo.adoc +++ b/docs/manual/adding-packages-cargo.adoc @@ -14,7 +14,7 @@ called "crates". The +Config.in+ file of Cargo-based package 'foo' should contain: ---------------------------- +---- 01: config BR2_PACKAGE_FOO 02: bool "foo" 03: depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS @@ -23,11 +23,11 @@ The +Config.in+ file of Cargo-based package 'foo' should contain: 06: This is a comment that explains what foo is. 07: 08: http://foosoftware.org/foo/ ---------------------------- +---- And the +.mk+ file for this package should contain: ------------------------------- +---- 01: ################################################################################ 02: # 03: # foo @@ -41,7 +41,7 @@ And the +.mk+ file for this package should contain: 11: FOO_LICENSE_FILES = COPYING 12: 13: $(eval $(cargo-package)) --------------------------------- +---- The Makefile starts with the definition of the standard variables for package declaration (lines 7 to 11). @@ -64,10 +64,9 @@ Just like the generic infrastructure, the Cargo infrastructure works by defining a number of variables before calling the +cargo-package+ or +host-cargo-package+ macros. -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the Cargo infrastructure: -+FOO_VERSION+, +FOO_SOURCE+, +FOO_PATCH+, +FOO_SITE+, -+FOO_DEPENDENCIES+, +FOO_LICENSE+, +FOO_LICENSE_FILES+, etc. +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the Cargo infrastructure. A few additional variables, specific to the Cargo infrastructure, can also be defined. Many of them are only useful in very specific cases, diff --git a/docs/manual/adding-packages-cmake.adoc b/docs/manual/adding-packages-cmake.adoc index 4f336db73..845f54ad4 100644 --- a/docs/manual/adding-packages-cmake.adoc +++ b/docs/manual/adding-packages-cmake.adoc @@ -10,7 +10,7 @@ First, let's see how to write a +.mk+ file for a CMake-based package, with an example : ------------------------- +---- 01: ################################################################################ 02: # 03: # libfoo @@ -26,7 +26,7 @@ with an example : 13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf 14: 15: $(eval $(cmake-package)) ------------------------- +---- On line 7, we declare the version of the package. @@ -75,11 +75,9 @@ Just like the generic infrastructure, the CMake infrastructure works by defining a number of variables before calling the +cmake-package+ macro. -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the CMake infrastructure: -+LIBFOO_VERSION+, +LIBFOO_SOURCE+, +LIBFOO_PATCH+, +LIBFOO_SITE+, -+LIBFOO_SUBDIR+, +LIBFOO_DEPENDENCIES+, +LIBFOO_INSTALL_STAGING+, -+LIBFOO_INSTALL_TARGET+. +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the CMake infrastructure. A few additional variables, specific to the CMake infrastructure, can also be defined. Many of them are only useful in very specific cases, diff --git a/docs/manual/adding-packages-directory.adoc b/docs/manual/adding-packages-directory.adoc index 0b7221aae..2039c2c7c 100644 --- a/docs/manual/adding-packages-directory.adoc +++ b/docs/manual/adding-packages-directory.adoc @@ -24,7 +24,7 @@ file will contain the option descriptions related to our +libfoo+ software that will be used and displayed in the configuration tool. It should basically contain: ---------------------------- +---- config BR2_PACKAGE_LIBFOO bool "libfoo" help @@ -32,7 +32,7 @@ config BR2_PACKAGE_LIBFOO should be wrapped. http://foosoftware.org/libfoo/ ---------------------------- +---- The +bool+ line, +help+ line and other metadata information about the configuration option must be indented with one tab. The help text @@ -64,9 +64,9 @@ put your package in one of the existing categories). The files included there are 'sorted alphabetically' per category and are 'NOT' supposed to contain anything but the 'bare' name of the package. --------------------------- +---- source "package/libfoo/Config.in" --------------------------- +---- ==== +Config.in.host+ file @@ -83,14 +83,14 @@ options here: the configuration menu. In this case, create a +Config.in.host+ file for that host package: + ---------------------------- +---- config BR2_PACKAGE_HOST_FOO bool "host foo" help This is a comment that explains what foo for the host is. http://foosoftware.org/foo/ ---------------------------- +---- + The same coding style and options as for the +Config.in+ file are valid. + @@ -98,9 +98,9 @@ Finally you have to add your new +libfoo/Config.in.host+ to +package/Config.in.host+. The files included there are 'sorted alphabetically' and are 'NOT' supposed to contain anything but the 'bare' name of the package. + --------------------------- +---- source "package/foo/Config.in.host" --------------------------- +---- + The host package will then be available from the +Host utilities+ menu. @@ -136,7 +136,7 @@ is not met. An example illustrates both the usage of +select+ and +depends on+. --------------------------- +---- config BR2_PACKAGE_RRDTOOL bool "rrdtool" depends on BR2_USE_WCHAR @@ -152,7 +152,7 @@ config BR2_PACKAGE_RRDTOOL comment "rrdtool needs a toolchain w/ wchar" depends on !BR2_USE_WCHAR --------------------------- +---- Note that these two dependency types are only transitive with the @@ -160,7 +160,7 @@ dependencies of the same kind. This means, in the following example: --------------------------- +---- config BR2_PACKAGE_A bool "Package A" @@ -179,7 +179,7 @@ config BR2_PACKAGE_D config BR2_PACKAGE_E bool "Package E" select BR2_PACKAGE_D --------------------------- +---- * Selecting +Package C+ will be visible if +Package B+ has been selected, which in turn is only visible if +Package A+ has been @@ -193,7 +193,7 @@ config BR2_PACKAGE_E the dependency of +Package B+ on +Package A+. Therefore, in such a situation, the transitive dependency has to be added explicitly: --------------------------- +---- config BR2_PACKAGE_D bool "Package D" depends on BR2_PACKAGE_A @@ -203,7 +203,7 @@ config BR2_PACKAGE_E bool "Package E" depends on BR2_PACKAGE_A select BR2_PACKAGE_D --------------------------- +---- Overall, for package library dependencies, +select+ should be preferred. @@ -247,21 +247,21 @@ comment and other config options. The general format of a dependency +comment+ for package foo is: --------------------------- +---- foo needs a toolchain w/ featA, featB, featC --------------------------- +---- for example: --------------------------- +---- mpd needs a toolchain w/ C++, threads, wchar --------------------------- +---- or --------------------------- +---- crda needs a toolchain w/ threads --------------------------- +---- Note that this text is kept brief on purpose, so that it will fit on a 80-character terminal. @@ -358,32 +358,32 @@ typically kernel modules or firmware. A comment should be added in the Config.in file to express this dependency, similar to dependencies on toolchain options. The general format is: --------------------------- +---- foo needs a Linux kernel to be built --------------------------- +---- If there is a dependency on both toolchain options and the Linux kernel, use this format: --------------------------- +---- foo needs a toolchain w/ featA, featB, featC and a Linux kernel to be built --------------------------- +---- ==== Dependencies on udev /dev management If a package needs udev /dev management, it should depend on symbol +BR2_PACKAGE_HAS_UDEV+, and the following comment should be added: --------------------------- +---- foo needs udev /dev management --------------------------- +---- If there is a dependency on both toolchain options and udev /dev management, use this format: --------------------------- +---- foo needs udev /dev management and a toolchain w/ featA, featB, featC --------------------------- +---- ==== Dependencies on features provided by virtual packages @@ -578,7 +578,7 @@ not start before +S40network+. The scripts are started in alphabetical order, so +S01syslogd+ starts before +S01watchdogd+, and +S02sysctl+ start thereafter. ------------------------------- +---- 01: #!/bin/sh 02: 03: DAEMON="syslogd" @@ -634,7 +634,7 @@ start thereafter. 53: echo "Usage: $0 {start|stop|restart|reload}" 54: exit 1 55: esac ------------------------------- +---- *Note:* programs that support reloading their configuration in some fashion (+SIGHUP+) should provide a +reload()+ function similar to diff --git a/docs/manual/adding-packages-generic.adoc b/docs/manual/adding-packages-generic.adoc index 9d365a10c..89fc70045 100644 --- a/docs/manual/adding-packages-generic.adoc +++ b/docs/manual/adding-packages-generic.adoc @@ -12,7 +12,7 @@ system is based on hand-written Makefiles or shell scripts. ==== +generic-package+ tutorial ------------------------------- +---- 01: ################################################################################ 02: # 03: # libfoo @@ -56,7 +56,7 @@ system is based on hand-written Makefiles or shell scripts. 41: endef 42: 43: $(eval $(generic-package)) --------------------------------- +---- The Makefile begins on line 7 to 11 with metadata information: the version of the package (+LIBFOO_VERSION+), the name of the @@ -103,9 +103,9 @@ Package divine installs shell script '$(STAGING_DIR)/usr/bin/divine-config'. So its fixup would be: --------------------------------- +---- DIVINE_CONFIG_SCRIPTS = divine-config --------------------------------- +---- ================================ .Config script: 'imagemagick' package: @@ -115,11 +115,11 @@ Package imagemagick installs the following scripts: So it's fixup would be: --------------------------------- +---- IMAGEMAGICK_CONFIG_SCRIPTS = \ Magick-config Magick++-config \ MagickCore-config MagickWand-config Wand-config --------------------------------- +---- ================================ On line 14, we specify the list of dependencies this package relies @@ -166,10 +166,10 @@ for the host. It is possible to call both of them in a single +.mk+ file: once to create the rules to generate a target package and once to create the rules to generate a host package: ----------------------- +---- $(eval $(generic-package)) $(eval $(host-generic-package)) ----------------------- +---- This might be useful if the compilation of the target package requires some tools to be installed on the host. If the package name is @@ -504,12 +504,12 @@ not and can not work as people would expect it should: Buildroot package. A Makefile comment must always precede the addition of a CVE to this variable. Example: + ----------------------- +---- # 0001-fix-cve-2020-12345.patch LIBFOO_IGNORE_CVES += CVE-2020-12345 # only when built with libbaz, which Buildroot doesn't support LIBFOO_IGNORE_CVES += CVE-2020-54321 ----------------------- +---- * [[cpe-id]] +LIBFOO_CPE_ID_*+ variables is a set of variables that allows the package to define its https://nvd.nist.gov/products/cpe[CPE @@ -551,9 +551,9 @@ corresponding target package. The recommended way to define these variables is to use the following syntax: ----------------------- +---- LIBFOO_VERSION = 2.32 ----------------------- +---- Now, the variables that define what should be performed at the different steps of the build process. @@ -633,13 +633,13 @@ different steps of the build process. The preferred way to define these variables is: ----------------------- +---- define LIBFOO_CONFIGURE_CMDS action 1 action 2 action 3 endef ----------------------- +---- In the action definitions, you can use the following variables: diff --git a/docs/manual/adding-packages-golang.adoc b/docs/manual/adding-packages-golang.adoc index c952cde57..3ddbe57af 100644 --- a/docs/manual/adding-packages-golang.adoc +++ b/docs/manual/adding-packages-golang.adoc @@ -13,7 +13,7 @@ build system and use bundled dependencies. First, let's see how to write a +.mk+ file for a go package, with an example : ------------------------- +---- 01: ################################################################################ 02: # 03: # foo @@ -26,7 +26,7 @@ with an example : 10: FOO_LICENSE_FILES = LICENSE 11: 12: $(eval $(golang-package)) ------------------------- +---- On line 7, we declare the version of the package. @@ -56,16 +56,15 @@ The main macro of the Go package infrastructure is ability to build host packages is also available, with the +host-golang-package+ macro. Host packages built by +host-golang-package+ macro should depend on -BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS. ++BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS+. Just like the generic infrastructure, the Go infrastructure works -by defining a number of variables before calling the +golang-package+. +by defining a number of variables before calling the +golang-package+ +macro. All the package metadata information variables that exist in the xref:generic-package-reference[generic package infrastructure] also -exist in the Go infrastructure: +FOO_VERSION+, +FOO_SOURCE+, -+FOO_PATCH+, +FOO_SITE+, +FOO_SUBDIR+, +FOO_DEPENDENCIES+, -+FOO_LICENSE+, +FOO_LICENSE_FILES+, +FOO_INSTALL_STAGING+, etc. +exist in the Go infrastructure. Note that it is not necessary to add +host-go+ in the +FOO_DEPENDENCIES+ variable of a package, since this basic dependency diff --git a/docs/manual/adding-packages-hooks.adoc b/docs/manual/adding-packages-hooks.adoc index 741b71ca2..7aa7aa232 100644 --- a/docs/manual/adding-packages-hooks.adoc +++ b/docs/manual/adding-packages-hooks.adoc @@ -52,14 +52,14 @@ These variables are 'lists' of variable names containing actions to be performed at this hook point. This allows several hooks to be registered at a given hook point. Here is an example: ----------------------- +---- define LIBFOO_POST_PATCH_FIXUP action1 action2 endef LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP ----------------------- +---- [[hooks-rsync]] ==== Using the +POST_RSYNC+ hook diff --git a/docs/manual/adding-packages-kconfig.adoc b/docs/manual/adding-packages-kconfig.adoc index a35681775..ee52cbd73 100644 --- a/docs/manual/adding-packages-kconfig.adoc +++ b/docs/manual/adding-packages-kconfig.adoc @@ -15,20 +15,26 @@ expose the package's +menuconfig+ target as +foo-menuconfig+ in Buildroot, and to handle the copying back and forth of the configuration file in a correct way. -The +kconfig-package+ infrastructure is based on the +generic-package+ -infrastructure. All variables supported by +generic-package+ are -available in +kconfig-package+ as well. See -xref:generic-package-reference[] for more details. +The main macro of the kconfig package infrastructure is ++kconfig-package+. It is similar to the +generic-package+ macro. + +Just like the generic infrastructure, the kconfig infrastructure works +by defining a number of variables before calling the +kconfig-package+ +macro. + +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the kconfig infrastructure. In order to use the +kconfig-package+ infrastructure for a Buildroot package, the minimally required lines in the +.mk+ file, in addition to the variables required by the +generic-package+ infrastructure, are: ------------------------------- +---- FOO_KCONFIG_FILE = reference-to-source-configuration-file $(eval $(kconfig-package)) ------------------------------- +---- This snippet creates the following make targets: diff --git a/docs/manual/adding-packages-linux-kernel-spec-infra.adoc b/docs/manual/adding-packages-linux-kernel-spec-infra.adoc index b948e208d..9fd3b566a 100644 --- a/docs/manual/adding-packages-linux-kernel-spec-infra.adoc +++ b/docs/manual/adding-packages-linux-kernel-spec-infra.adoc @@ -22,7 +22,7 @@ Let's look at an example of a Linux tool. For a new Linux tool named descriptions related to each kernel tool that will be used and displayed in the configuration tool. It would basically look like: ------------------------------- +---- 01: config BR2_PACKAGE_LINUX_TOOLS_FOO 02: bool "foo" 03: select BR2_PACKAGE_LINUX_TOOLS @@ -30,7 +30,7 @@ displayed in the configuration tool. It would basically look like: 05: This is a comment that explains what foo kernel tool is. 06: 07: http://foosoftware.org/foo/ ------------------------------- +---- The name of the option starts with the prefix +BR2_PACKAGE_LINUX_TOOLS_+, followed by the uppercase name of the tool (like is done for packages). @@ -43,7 +43,7 @@ the `Target packages` main menu. Then for each linux tool, add a new +.mk.in+ file named +package/linux-tools/linux-tool-foo.mk.in+. It would basically look like: ------------------------------- +---- 01: ################################################################################ 02: # 03: # foo @@ -69,7 +69,7 @@ Then for each linux tool, add a new +.mk.in+ file named 23: DESTDIR=$(TARGET_DIR) \ 24: foo_install 25: endef --------------------------------- +---- On line 7, we register the Linux tool +foo+ to the list of available Linux tools. @@ -107,7 +107,7 @@ Let's look at an example on how to add a new Linux extension +foo+. First, create the package +foo+ that provides the extension: this package is a standard package; see the previous chapters on how to create such a package. This package is in charge of downloading the -sources archive, checking the hash, defining the licence informations +sources archive, checking the hash, defining the licence information and building user space tools if any. Then create the 'Linux extension' proper: create a new menu entry in @@ -115,19 +115,19 @@ the existing +linux/Config.ext.in+. This file contains the option descriptions related to each kernel extension that will be used and displayed in the configuration tool. It would basically look like: ------------------------------- +---- 01: config BR2_LINUX_KERNEL_EXT_FOO 02: bool "foo" 03: help 04: This is a comment that explains what foo kernel extension is. 05: 06: http://foosoftware.org/foo/ ------------------------------- +---- Then for each linux extension, add a new +.mk+ file named +linux/linux-ext-foo.mk+. It should basically contain: ------------------------------- +---- 01: ################################################################################ 02: # 03: # foo @@ -139,7 +139,7 @@ Then for each linux extension, add a new +.mk+ file named 09: define FOO_PREPARE_KERNEL 10: $(FOO_DIR)/prepare-kernel-tree.sh --linux-dir=$(@D) 11: endef --------------------------------- +---- On line 7, we add the Linux extension +foo+ to the list of available Linux extensions. diff --git a/docs/manual/adding-packages-luarocks.adoc b/docs/manual/adding-packages-luarocks.adoc index 70f48fc02..e9d471756 100644 --- a/docs/manual/adding-packages-luarocks.adoc +++ b/docs/manual/adding-packages-luarocks.adoc @@ -10,7 +10,7 @@ First, let's see how to write a +.mk+ file for a LuaRocks-based package, with an example : ------------------------- +---- 01: ################################################################################ 02: # 03: # lua-foo @@ -27,7 +27,7 @@ with an example : 14: LUA_FOO_LICENSE_FILES = $(LUA_FOO_SUBDIR)/COPYING 15: 16: $(eval $(luarocks-package)) ------------------------- +---- On line 7, we declare the version of the package (the same as in the rockspec, which is the concatenation of the upstream version and the rockspec revision, @@ -73,16 +73,16 @@ infrastructures in Buildroot, respectively. The main macro of the LuaRocks package infrastructure is +luarocks-package+: like +generic-package+ it works by defining a number of variables providing -metadata information about the package, and then calling +luarocks-package+. +metadata information about the package, and then calling the +luarocks-package+ +macro. Just like the generic infrastructure, the LuaRocks infrastructure works by defining a number of variables before calling the +luarocks-package+ macro. -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the LuaRocks infrastructure: -+LUA_FOO_VERSION+, +LUA_FOO_SOURCE+, +LUA_FOO_SITE+, -+LUA_FOO_DEPENDENCIES+, +LUA_FOO_LICENSE+, +LUA_FOO_LICENSE_FILES+. +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the LuaRocks infrastructure. Two of them are populated by the LuaRocks infrastructure (for the +download+ step). If your package is not hosted on the LuaRocks mirror diff --git a/docs/manual/adding-packages-meson.adoc b/docs/manual/adding-packages-meson.adoc index 029c8c248..01891e03c 100644 --- a/docs/manual/adding-packages-meson.adoc +++ b/docs/manual/adding-packages-meson.adoc @@ -14,7 +14,7 @@ build operations. Let's see how to write a +.mk+ file for a Meson-based package, with an example: ------------------------------- +---- 01: ################################################################################ 02: # 03: # foo @@ -38,7 +38,7 @@ Let's see how to write a +.mk+ file for a Meson-based package, with an example: 21: endif 22: 23: $(eval $(meson-package)) --------------------------------- +---- The Makefile starts with the definition of the standard variables for package declaration (lines 7 to 11). @@ -61,7 +61,7 @@ added to +FOO_DEPENDENCIES+. Note that the support for +baz+ is explicitly disabled at line 20, if the package is not selected. To sum it up, to add a new meson-based package, the Makefile example can be -copied verbatim then edited to replace all occurences of +FOO+ with the +copied verbatim then edited to replace all occurrences of +FOO+ with the uppercase name of the new package and update the values of the standard variables. @@ -76,10 +76,9 @@ packages is also available, with the +host-meson-package+ macro. Just like the generic infrastructure, the Meson infrastructure works by defining a number of variables before calling the +meson-package+ macro. -First, all the package metadata information variables that exist in the generic -infrastructure also exist in the Meson infrastructure: +FOO_VERSION+, -+FOO_SOURCE+, +FOO_PATCH+, +FOO_SITE+, +FOO_SUBDIR+, +FOO_DEPENDENCIES+, -+FOO_INSTALL_STAGING+, +FOO_INSTALL_TARGET+. +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the Meson infrastructure. A few additional variables, specific to the Meson infrastructure, can also be defined. Many of them are only useful in very specific cases, typical packages diff --git a/docs/manual/adding-packages-perl.adoc b/docs/manual/adding-packages-perl.adoc index 6ce693fd6..405931770 100644 --- a/docs/manual/adding-packages-perl.adoc +++ b/docs/manual/adding-packages-perl.adoc @@ -10,7 +10,7 @@ First, let's see how to write a +.mk+ file for a Perl/CPAN package, with an example : ------------------------- +---- 01: ################################################################################ 02: # 03: # perl-foo-bar @@ -26,7 +26,7 @@ with an example : 13: PERL_FOO_BAR_DISTNAME = Foo-Bar 14: 15: $(eval $(perl-package)) ------------------------- +---- On line 7, we declare the version of the package. @@ -85,12 +85,9 @@ Just like the generic infrastructure, the Perl/CPAN infrastructure works by defining a number of variables before calling the +perl-package+ macro. -First, all the package metadata information variables that exist in the -generic infrastructure also exist in the Perl/CPAN infrastructure: -+PERL_FOO_VERSION+, +PERL_FOO_SOURCE+, -+PERL_FOO_PATCH+, +PERL_FOO_SITE+, -+PERL_FOO_SUBDIR+, +PERL_FOO_DEPENDENCIES+, -+PERL_FOO_INSTALL_TARGET+. +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the Perl/CPAN infrastructure. Note that setting +PERL_FOO_INSTALL_STAGING+ to +YES+ has no effect unless a +PERL_FOO_INSTALL_STAGING_CMDS+ variable is defined. The perl diff --git a/docs/manual/adding-packages-python.adoc b/docs/manual/adding-packages-python.adoc index 9953be663..f33770f95 100644 --- a/docs/manual/adding-packages-python.adoc +++ b/docs/manual/adding-packages-python.adoc @@ -15,7 +15,7 @@ system, generally recognizable by the usage of a +setup.py+ script or First, let's see how to write a +.mk+ file for a Python package, with an example : ------------------------- +---- 01: ################################################################################ 02: # 03: # python-foo @@ -32,7 +32,7 @@ with an example : 14: PYTHON_FOO_SETUP_TYPE = setuptools 15: 16: $(eval $(python-package)) ------------------------- +---- On line 7, we declare the version of the package. @@ -80,10 +80,7 @@ or +host-python-package+ macros. All the package metadata information variables that exist in the xref:generic-package-reference[generic package infrastructure] also -exist in the Python infrastructure: +PYTHON_FOO_VERSION+, -+PYTHON_FOO_SOURCE+, +PYTHON_FOO_PATCH+, +PYTHON_FOO_SITE+, -+PYTHON_FOO_SUBDIR+, +PYTHON_FOO_DEPENDENCIES+, +PYTHON_FOO_LICENSE+, -+PYTHON_FOO_LICENSE_FILES+, +PYTHON_FOO_INSTALL_STAGING+, etc. +exist in the Python infrastructure. Note that: @@ -92,7 +89,7 @@ Note that: dependencies are automatically added as needed by the Python package infrastructure. - * Similarly, it is not needed to add +host-setuptools+ to + * Similarly, it is not needed to add +host-python-setuptools+ to +PYTHON_FOO_DEPENDENCIES+ for setuptools-based packages, since it's automatically added by the Python infrastructure as needed. @@ -173,9 +170,9 @@ your host. When at the root of your buildroot directory just do : ------------------------ +---- utils/scanpypi foo bar -o package ------------------------ +---- This will generate packages +python-foo+ and +python-bar+ in the package folder if they exist on https://pypi.python.org. @@ -193,18 +190,18 @@ need to manually add the package to the +package/Config.in+ file. If your Buildroot package is not in the official Buildroot tree but in a br2-external tree, use the -o flag as follows: ------------------------ +---- utils/scanpypi foo bar -o other_package_dir ------------------------ +---- This will generate packages +python-foo+ and +python-bar+ in the +other_package_directory+ instead of +package+. Option +-h+ will list the available options: ------------------------ +---- utils/scanpypi -h ------------------------ +---- [[python-package-cffi-backend]] @@ -222,17 +219,17 @@ Such a package should: compiled C library wrapper on the target. This is achieved by adding +select BR2_PACKAGE_PYTHON_CFFI+ to the package +Config.in+. ------------------------- +---- config BR2_PACKAGE_PYTHON_FOO bool "python-foo" select BR2_PACKAGE_PYTHON_CFFI # runtime ------------------------- +---- * add +host-python-cffi+ as a build-time dependency in order to cross-compile the C wrapper. This is achieved by adding +host-python-cffi+ to the +PYTHON_FOO_DEPENDENCIES+ variable. ------------------------- +---- ################################################################################ # # python-foo @@ -244,4 +241,4 @@ cross-compile the C wrapper. This is achieved by adding PYTHON_FOO_DEPENDENCIES = host-python-cffi $(eval $(python-package)) ------------------------- +---- diff --git a/docs/manual/adding-packages-qmake.adoc b/docs/manual/adding-packages-qmake.adoc index 699d082aa..e09da166b 100644 --- a/docs/manual/adding-packages-qmake.adoc +++ b/docs/manual/adding-packages-qmake.adoc @@ -10,7 +10,7 @@ First, let's see how to write a +.mk+ file for a QMake-based package, with an example : ------------------------- +---- 01: ################################################################################ 02: # 03: # libfoo @@ -24,7 +24,7 @@ an example : 11: LIBFOO_DEPENDENCIES = bar 12: 13: $(eval $(qmake-package)) ------------------------- +---- On line 7, we declare the version of the package. @@ -51,13 +51,11 @@ Just like the generic infrastructure, the QMake infrastructure works by defining a number of variables before calling the +qmake-package+ macro. -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the QMake infrastructure: -+LIBFOO_VERSION+, +LIBFOO_SOURCE+, +LIBFOO_PATCH+, +LIBFOO_SITE+, -+LIBFOO_SUBDIR+, +LIBFOO_DEPENDENCIES+, +LIBFOO_INSTALL_STAGING+, -+LIBFOO_INSTALL_TARGET+. +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the QMake infrastructure. -An additional variable, specific to the QMake infrastructure, can +A few additional variables, specific to the QMake infrastructure, can also be defined. * +LIBFOO_CONF_ENV+, to specify additional environment variables to diff --git a/docs/manual/adding-packages-rebar.adoc b/docs/manual/adding-packages-rebar.adoc index d78b3171d..d2ed67c47 100644 --- a/docs/manual/adding-packages-rebar.adoc +++ b/docs/manual/adding-packages-rebar.adoc @@ -10,7 +10,7 @@ First, let's see how to write a +.mk+ file for a rebar-based package, with an example : ------------------------------- +---- 01: ################################################################################ 02: # 03: # erlang-foobar @@ -23,7 +23,7 @@ with an example : 10: ERLANG_FOOBAR_DEPENDENCIES = host-libaaa libbbb 11: 12: $(eval $(rebar-package)) --------------------------------- +---- On line 7, we declare the version of the package. @@ -51,13 +51,9 @@ Just like the generic infrastructure, the +rebar+ infrastructure works by defining a number of variables before calling the +rebar-package+ macro. -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the +rebar+ infrastructure: -+ERLANG_FOOBAR_VERSION+, +ERLANG_FOOBAR_SOURCE+, -+ERLANG_FOOBAR_PATCH+, +ERLANG_FOOBAR_SITE+, -+ERLANG_FOOBAR_SUBDIR+, +ERLANG_FOOBAR_DEPENDENCIES+, -+ERLANG_FOOBAR_INSTALL_STAGING+, +ERLANG_FOOBAR_INSTALL_TARGET+, -+ERLANG_FOOBAR_LICENSE+ and +ERLANG_FOOBAR_LICENSE_FILES+. +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the +rebar+ infrastructure. A few additional variables, specific to the +rebar+ infrastructure, can also be defined. Many of them are only useful in very specific diff --git a/docs/manual/adding-packages-tips.adoc b/docs/manual/adding-packages-tips.adoc index d8c2eceb1..85400c0f3 100644 --- a/docs/manual/adding-packages-tips.adoc +++ b/docs/manual/adding-packages-tips.adoc @@ -64,6 +64,19 @@ The tool can also be used for packages in a br2-external: $ check-package -b /path/to/br2-ext-tree/package/my-package/* ---- +The +check-package+ script requires you install +shellcheck+ and the +Python PyPi packages +flake8+ and +python-magic+. The Buildroot code +base is currently tested against version 0.7.1 of ShellCheck. If you +use a different version of ShellCheck, you may see additional, +unfixed, warnings. + +If you have Docker or Podman you can run +check-package+ without +installing dependencies: + +---- +$ ./utils/docker-run ./utils/check-package +---- + [[testing-package]] ==== How to test your package @@ -172,11 +185,11 @@ However, it is possible to download tarballs directly from the repository on GitHub. As GitHub is known to have changed download mechanisms in the past, the 'github' helper function should be used as shown below. ------------------------- +---- # Use a tag or a full commit ID FOO_VERSION = 1.0 FOO_SITE = $(call github,,,v$(FOO_VERSION)) ------------------------- +---- .Notes - The FOO_VERSION can either be a tag or a commit ID. @@ -220,22 +233,22 @@ to download from Gitlab repositories. It can be used to download auto-generated tarballs produced by Gitlab, either for specific tags or commits: ------------------------- +---- # Use a tag or a full commit ID FOO_VERSION = 1.0 FOO_SITE = $(call gitlab,,,v$(FOO_VERSION)) ------------------------- +---- By default, it will use a +.tar.gz+ tarball, but Gitlab also provides +.tar.bz2+ tarballs, so by adding a +_SOURCE+ variable, this +.tar.bz2+ tarball can be used: ------------------------- +---- # Use a tag or a full commit ID FOO_VERSION = 1.0 FOO_SITE = $(call gitlab,,,v$(FOO_VERSION)) FOO_SOURCE = foo-$(FOO_VERSION).tar.bz2 ------------------------- +---- If there is a specific tarball uploaded by the upstream developers in +https://gitlab.com//releases/+, do not use this macro, but diff --git a/docs/manual/adding-packages-virtual.adoc b/docs/manual/adding-packages-virtual.adoc index 722e6e377..297e18918 100644 --- a/docs/manual/adding-packages-virtual.adoc +++ b/docs/manual/adding-packages-virtual.adoc @@ -26,14 +26,14 @@ First, let's create the virtual package. The +Config.in+ file of virtual package 'something-virtual' should contain: ---------------------------- +---- 01: config BR2_PACKAGE_HAS_SOMETHING_VIRTUAL 02: bool 03: 04: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL 05: depends on BR2_PACKAGE_HAS_SOMETHING_VIRTUAL 06: string ---------------------------- +---- In this file, we declare two options, +BR2_PACKAGE_HAS_SOMETHING_VIRTUAL+ and +BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL+, whose values will be used by the @@ -43,7 +43,7 @@ providers. The +.mk+ for the virtual package should just evaluate the +virtual-package+ macro: ---------------------------- +---- 01: ################################################################################ 02: # 03: # something-virtual @@ -51,7 +51,7 @@ The +.mk+ for the virtual package should just evaluate the +virtual-package+ mac 05: ################################################################################ 06: 07: $(eval $(virtual-package)) ---------------------------- +---- The ability to have target and host packages is also available, with the +host-virtual-package+ macro. @@ -64,7 +64,7 @@ modifications. The +Config.in+ file of the package 'some-provider', which provides the functionalities of 'something-virtual', should contain: ---------------------------- +---- 01: config BR2_PACKAGE_SOME_PROVIDER 02: bool "some-provider" 03: select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL @@ -77,7 +77,7 @@ functionalities of 'something-virtual', should contain: 10: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL 11: default "some-provider" 12: endif ---------------------------- +---- On line 3, we select +BR2_PACKAGE_HAS_SOMETHING_VIRTUAL+, and on line 11, we set the value of +BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL+ to the name of the @@ -89,9 +89,9 @@ The +.mk+ file should also declare an additional variable +SOME_PROVIDER_PROVIDES+ to contain the names of all the virtual packages it is an implementation of: ---------------------------- +---- 01: SOME_PROVIDER_PROVIDES = something-virtual ---------------------------- +---- Of course, do not forget to add the proper build and runtime dependencies for this package! @@ -101,14 +101,14 @@ this package! When adding a package that requires a certain +FEATURE+ provided by a virtual package, you have to use +depends on BR2_PACKAGE_HAS_FEATURE+, like so: ---------------------------- +---- config BR2_PACKAGE_HAS_FEATURE bool config BR2_PACKAGE_FOO bool "foo" depends on BR2_PACKAGE_HAS_FEATURE ---------------------------- +---- ==== Notes on depending on a specific provider @@ -118,7 +118,7 @@ provider. Let's take an example with two providers for a +FEATURE+: ---------------------------- +---- config BR2_PACKAGE_HAS_FEATURE bool @@ -129,7 +129,7 @@ config BR2_PACKAGE_FOO config BR2_PACKAGE_BAR bool "bar" select BR2_PACKAGE_HAS_FEATURE ---------------------------- +---- And you are adding a package that needs +FEATURE+ as provided by +foo+, but not as provided by +bar+. diff --git a/docs/manual/adding-packages-waf.adoc b/docs/manual/adding-packages-waf.adoc index 101cddf1f..590291721 100644 --- a/docs/manual/adding-packages-waf.adoc +++ b/docs/manual/adding-packages-waf.adoc @@ -10,7 +10,7 @@ First, let's see how to write a +.mk+ file for a Waf-based package, with an example : ------------------------- +---- 01: ################################################################################ 02: # 03: # libfoo @@ -24,7 +24,7 @@ an example : 11: LIBFOO_DEPENDENCIES = bar 12: 13: $(eval $(waf-package)) ------------------------- +---- On line 7, we declare the version of the package. @@ -51,13 +51,11 @@ Just like the generic infrastructure, the Waf infrastructure works by defining a number of variables before calling the +waf-package+ macro. -First, all the package metadata information variables that exist in -the generic infrastructure also exist in the Waf infrastructure: -+LIBFOO_VERSION+, +LIBFOO_SOURCE+, +LIBFOO_PATCH+, +LIBFOO_SITE+, -+LIBFOO_SUBDIR+, +LIBFOO_DEPENDENCIES+, +LIBFOO_INSTALL_STAGING+, -+LIBFOO_INSTALL_TARGET+. +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the Waf infrastructure. -An additional variable, specific to the Waf infrastructure, can +A few additional variables, specific to the Waf infrastructure, can also be defined. * +LIBFOO_SUBDIR+ may contain the name of a subdirectory inside the diff --git a/docs/manual/beyond-buildroot.adoc b/docs/manual/beyond-buildroot.adoc index eefea1fec..871b591a0 100644 --- a/docs/manual/beyond-buildroot.adoc +++ b/docs/manual/beyond-buildroot.adoc @@ -13,9 +13,9 @@ images_ menu. After a complete build, just run the following commands to setup the NFS-root directory: -------------------- +---- sudo tar -xavf /path/to/output_dir/rootfs.tar -C /path/to/nfs_root_dir -------------------- +---- Remember to add this path to +/etc/exports+. @@ -34,21 +34,21 @@ as a live CD and live USB (through the _Build hybrid image_ option). You can test your live CD image using QEMU: -------------------- +---- qemu-system-i386 -cdrom output/images/rootfs.iso9660 -------------------- +---- Or use it as a hard-drive image if it is a hybrid ISO: -------------------- +---- qemu-system-i386 -hda output/images/rootfs.iso9660 -------------------- +---- It can be easily flashed to a USB drive with +dd+: -------------------- +---- dd if=output/images/rootfs.iso9660 of=/dev/sdb -------------------- +---- === Chroot diff --git a/docs/manual/ccache-support.adoc b/docs/manual/ccache-support.adoc index ab4f10be2..86cb4a150 100644 --- a/docs/manual/ccache-support.adoc +++ b/docs/manual/ccache-support.adoc @@ -28,13 +28,13 @@ misses, etc.) by running +make ccache-stats+. The make target +ccache-options+ and the +CCACHE_OPTIONS+ variable provide more generic access to the ccache. For example ------------------ +---- # set cache limit size make CCACHE_OPTIONS="--max-size=5G" ccache-options # zero statistics counters make CCACHE_OPTIONS="--zero-stats" ccache-options ------------------ +---- +ccache+ makes a hash of the source files and of the compiler options. If a compiler option is different, the cached object file will not be diff --git a/docs/manual/common-usage.adoc b/docs/manual/common-usage.adoc index e0ab1a9f6..43caa3a9b 100644 --- a/docs/manual/common-usage.adoc +++ b/docs/manual/common-usage.adoc @@ -13,9 +13,9 @@ If you intend to do an offline build and just want to download all sources that you previously selected in the configurator ('menuconfig', 'nconfig', 'xconfig' or 'gconfig'), then issue: --------------------- +---- $ make source --------------------- +---- You can now disconnect or copy the content of your +dl+ directory to the build-host. @@ -29,15 +29,15 @@ Buildroot also supports building out of tree with a syntax similar to the Linux kernel. To use it, add +O=+ to the make command line: --------------------- +---- $ make O=/tmp/build menuconfig --------------------- +---- Or: --------------------- +---- $ cd /tmp/build; make O=$PWD -C path/to/buildroot menuconfig --------------------- +---- All the output files will be located under +/tmp/build+. If the +O+ path does not exist, Buildroot will create it. @@ -56,9 +56,9 @@ For ease of use, Buildroot generates a Makefile wrapper in the output directory - so after the first run, you no longer need to pass +O=<...>+ and +-C <...>+, simply run (in the output directory): --------------------- +---- $ make --------------------- +---- [[env-vars]] @@ -108,16 +108,16 @@ to +make+ or set in the environment: An example that uses config files located in the toplevel directory and in your $HOME: --------------------- +---- $ make UCLIBC_CONFIG_FILE=uClibc.config BUSYBOX_CONFIG_FILE=$HOME/bb.config --------------------- +---- If you want to use a compiler other than the default +gcc+ or +g+++ for building helper-binaries on your host, then do --------------------- +---- $ make HOSTCXX=g++-4.3-HEAD HOSTCC=gcc-4.3-HEAD --------------------- +---- === Dealing efficiently with filesystem images @@ -166,9 +166,9 @@ 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 @@ -176,9 +176,9 @@ 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 @@ -198,9 +198,9 @@ graphs. To generate a dependency graph of the full system you have compiled, simply run: ------------------------- +---- make graph-depends ------------------------- +---- You will find the generated graph in +output/graphs/graph-depends.pdf+. @@ -209,9 +209,9 @@ If your system is quite large, the dependency graph may be too complex and difficult to read. It is therefore possible to generate the dependency graph just for a given package: ------------------------- +---- make -graph-depends ------------------------- +---- You will find the generated graph in +output/graph/-graph-depends.pdf+. @@ -227,9 +227,9 @@ can switch to other output formats, such as PNG, PostScript or SVG. All formats supported by the +-T+ option of the +dot+ tool are supported. --------------------------------- +---- BR2_GRAPH_OUT=svg make graph-depends --------------------------------- +---- The +graph-depends+ behaviour can be controlled by setting options in the +BR2_GRAPH_DEPS_OPTS+ environment variable. The accepted options are: @@ -253,9 +253,9 @@ The +graph-depends+ behaviour can be controlled by setting options in the root package (+R+), the target packages (+T+) and the host packages (+H+). Defaults to: +lightblue,grey,gainsboro+ --------------------------------- +---- BR2_GRAPH_DEPS_OPTS='-d 3 --no-transitive --colors=red,green,blue' make graph-depends --------------------------------- +---- === Graphing the build duration @@ -269,9 +269,9 @@ step of each package, and allows to generate graphs from this data. To generate the build time graph after a build, run: ----------------- +---- make graph-build ----------------- +---- This will generate a set of files in +output/graphs+ : @@ -299,9 +299,9 @@ By default, the output format for the graph is PDF, but a different format can be selected using the +BR2_GRAPH_OUT+ environment variable. The only other format supported is PNG: ----------------- +---- BR2_GRAPH_OUT=png make graph-build ----------------- +---- [[graph-size]] === Graphing the filesystem size contribution of packages @@ -315,9 +315,9 @@ the different packages. To generate these data after a build, run: ----------------- +---- make graph-size ----------------- +---- This will generate: @@ -366,9 +366,9 @@ Buildroot release, use the +size-stats-compare+ script. It takes two +file-size-stats.csv+ files (produced by +make graph-size+) as input. Refer to the help text of this script for more details: ----------------- +---- utils/size-stats-compare -h ----------------- +---- [[top-level-parallel-build]] === Top-level parallel build diff --git a/docs/manual/configure.adoc b/docs/manual/configure.adoc index 60860d2c7..e0358aa0f 100644 --- a/docs/manual/configure.adoc +++ b/docs/manual/configure.adoc @@ -252,9 +252,9 @@ Then, we can trigger the build, and also ask Buildroot to generate a SDK. This will conveniently generate for us a tarball which contains our toolchain: ------ +---- make sdk ------ +---- This produces the SDK tarball in +$(O)/images+, with a name similar to +arm-buildroot-linux-uclibcgnueabi_sdk-buildroot.tar.gz+. Save this @@ -399,7 +399,7 @@ can be chosen from +System configuration+, +Init system+: BusyBox +inittab+ syntax is special: do not use a random +inittab+ documentation from the Internet to learn about BusyBox +inittab+). The default +inittab+ in Buildroot is stored in - +system/skeleton/etc/inittab+. Apart from mounting a few important + +package/busybox/inittab+. Apart from mounting a few important filesystems, the main job the default inittab does is to start the +/etc/init.d/rcS+ shell script, and start a +getty+ program (which provides a login prompt). diff --git a/docs/manual/contribute.adoc b/docs/manual/contribute.adoc index 6ff6c1531..b88e95564 100644 --- a/docs/manual/contribute.adoc +++ b/docs/manual/contribute.adoc @@ -72,9 +72,9 @@ basically two things that can be done: can be removed. In the commit message of a patch fixing an autobuild failure, add a reference to the build result directory, as follows: ---------------------- +---- Fixes: http://autobuild.buildroot.org/results/51000a9d4656afe9e0ea6f07b9f8ed374c2e4069 ---------------------- +---- === Reviewing and testing patches @@ -153,10 +153,10 @@ When browsing patches in the patchwork management interface, an +mbox+ link is provided at the top of the page. Copy this link address and run the following commands: ---------------------- +---- $ git checkout -b $ wget -O - | git am ---------------------- +---- Another option for applying patches is to create a bundle. A bundle is a set of patches that you can group together using the patchwork @@ -306,24 +306,24 @@ Starting from the changes committed in your local git view, _rebase_ your development branch on top of the upstream tree before generating a patch set. To do so, run: ---------------------- +---- $ git fetch --all --tags $ git rebase origin/master ---------------------- +---- Now check the coding style for the changes you committed: ---------------------- +---- $ utils/docker-run make check-package ---------------------- +---- Now, you are ready to generate then submit your patch set. To generate it, run: ---------------------- +---- $ git format-patch -M -n -s -o outgoing origin/master ---------------------- +---- This will generate patch files in the +outgoing+ subdirectory, automatically adding the +Signed-off-by+ line. @@ -336,37 +336,37 @@ sent, called +get-developers+ (see xref:DEVELOPERS[] for more information). This tool reads your patches and outputs the appropriate +git send-email+ command to use: ---------------------- +---- $ ./utils/get-developers outgoing/* ---------------------- +---- Use the output of +get-developers+ to send your patches: ---------------------- +---- $ git send-email --to buildroot@buildroot.org --cc bob --cc alice outgoing/* ---------------------- +---- Alternatively, +get-developers -e+ can be used directly with the +--cc-cmd+ argument to +git send-email+ to automatically CC the affected developers: ---------------------- +---- $ git send-email --to buildroot@buildroot.org \ --cc-cmd './utils/get-developers -e' origin/master ---------------------- +---- +git+ can be configured to automatically do this out of the box with: ---------------------- +---- $ git config sendemail.to buildroot@buildroot.org $ git config sendemail.ccCmd "$(pwd)/utils/get-developers -e" ---------------------- +---- And then just do: ---------------------- +---- $ git send-email origin/master ---------------------- +---- Note that +git+ should be configured to use your mail account. To configure +git+, see +man git-send-email+ or https://git-send-email.io/. @@ -427,10 +427,10 @@ should be based off the maintenance branch, and the patch subject prefix must include the maintenance branch name (for example "[PATCH 2020.02.x]"). This can be done with the +git format-patch+ flag +--subject-prefix+: ---------------------- +---- $ git format-patch --subject-prefix "PATCH 2020.02.x" \ -M -s -o outgoing origin/2020.02.x ---------------------- +---- Then send the patches with +git send-email+, as described above. @@ -458,7 +458,7 @@ be preserved forever in the +git+ history of the project. Hereafter the recommended layout: ---------------- +---- Patch title: short explanation, max 72 chars A paragraph that explains the problem, and how it manifests itself. If @@ -481,7 +481,7 @@ Changes v2 -> v3: Changes v1 -> v2: - alpha bravo (suggested by John) - charly delta ---------------- +---- Any patch revision should include the version number. The version number is simply composed of the letter +v+ followed by an +integer+ greater or @@ -490,17 +490,17 @@ equal to two (i.e. "PATCH v2", "PATCH v3" ...). This can be easily handled with +git format-patch+ by using the option +--subject-prefix+: ---------------------- +---- $ git format-patch --subject-prefix "PATCH v4" \ -M -s -o outgoing origin/master ---------------------- +---- Since git version 1.8.1, you can also use +-v + (where is the version number): ---------------------- +---- $ git format-patch -v4 -M -s -o outgoing origin/master ---------------------- +---- When you provide a new version of a patch, please mark the old one as superseded in @@ -513,7 +513,7 @@ address you register in https://patchwork.ozlabs.org/project/buildroot/list/[patchwork] should match the one you use for sending patches to the mailing list. -You can also add the +--in-reply-to + option when +You can also add the +--in-reply-to=+ option when submitting a patch to the mailing list. The id of the mail to reply to can be found under the "Message Id" tag on https://patchwork.ozlabs.org/project/buildroot/list/[patchwork]. The @@ -579,7 +579,7 @@ cases can be listed by executing +support/testing/run-tests -l+. These tests can all be run individually during test development from the console. Both one at a time and selectively as a group of a subset of tests. ---------------------- +---- $ support/testing/run-tests -l List of tests test_run (tests.utils.test_check_package.TestCheckPackage) @@ -606,11 +606,11 @@ test_run (tests.init.test_busybox.TestInitSystemBusyboxRwNet) ... ok Ran 157 tests in 0.021s OK ---------------------- +---- * Then, to run one test case: ---------------------- +---- $ support/testing/run-tests -d dl -o output_folder -k tests.init.test_busybox.TestInitSystemBusyboxRw 15:03:26 TestInitSystemBusyboxRw Starting 15:03:28 TestInitSystemBusyboxRw Building @@ -620,7 +620,7 @@ $ support/testing/run-tests -d dl -o output_folder -k tests.init.test_busybox.Te Ran 1 test in 301.140s OK ---------------------- +---- The standard output indicates if the test is successful or not. By default, the output folder for the test is deleted automatically @@ -674,12 +674,12 @@ be the maintainer of that test case. When a test case runs, the +output_folder+ will contain the following: ---------------------- +---- $ ls output_folder/ TestInitSystemBusyboxRw/ TestInitSystemBusyboxRw-build.log TestInitSystemBusyboxRw-run.log ---------------------- +---- +TestInitSystemBusyboxRw/+ is the Buildroot output directory, and it is preserved only if the +-k+ option is passed. @@ -721,28 +721,28 @@ arbitrary string you choose. * To trigger all run-test test case jobs, push a branch that ends with +-runtime-tests+: ---------------------- +---- $ git push gitlab HEAD:-runtime-tests ---------------------- +---- * To trigger one or several test case jobs, push a branch that ends with the complete test case name (+tests.init.test_busybox.TestInitSystemBusyboxRo+) or with the name of a category of tests (+tests.init.test_busybox+): ---------------------- +---- $ git push gitlab HEAD:- ---------------------- +---- Example to run one test: ---------------------- +---- $ git push gitlab HEAD:foo-tests.init.test_busybox.TestInitSystemBusyboxRo ---------------------- +---- Examples to run several tests part of the same group: ---------------------- +---- $ git push gitlab HEAD:foo-tests.init.test_busybox $ git push gitlab HEAD:foo-tests.init ---------------------- +---- diff --git a/docs/manual/customize-directory-structure.adoc b/docs/manual/customize-directory-structure.adoc index 1249421da..e0eecb564 100644 --- a/docs/manual/customize-directory-structure.adoc +++ b/docs/manual/customize-directory-structure.adoc @@ -16,7 +16,7 @@ this structure itself: either inside the Buildroot tree, or outside of it using a br2-external tree. Both options are valid, the choice is up to you. ------ +---- +-- board/ | +-- / | +-- / @@ -51,7 +51,7 @@ to you. +-- Config.in (if using a br2-external tree) +-- external.mk (if using a br2-external tree) +-- external.desc (if using a br2-external tree) ------- +---- Details on the files shown above are given further in this chapter. @@ -79,7 +79,7 @@ more than two layers. An example directory structure for where a user has two customization layers 'common' and 'fooboard' is: ------ +---- +-- board/ +-- / +-- common/ @@ -98,14 +98,14 @@ layers 'common' and 'fooboard' is: | +-- ... +-- patches/ +-- ... ------ +---- For example, if the user has the +BR2_GLOBAL_PATCH_DIR+ configuration option set as: ------ +---- BR2_GLOBAL_PATCH_DIR="board//common/patches board//fooboard/patches" ------ +---- then first the patches from the 'common' layer would be applied, followed by the patches from the 'fooboard' layer. diff --git a/docs/manual/customize-outside-br.adoc b/docs/manual/customize-outside-br.adoc index 348f2b089..78065489d 100644 --- a/docs/manual/customize-outside-br.adoc +++ b/docs/manual/customize-outside-br.adoc @@ -40,23 +40,23 @@ xref:br2-external-converting[] for help on doing so. Some examples: ------ +---- buildroot/ $ make BR2_EXTERNAL=/path/to/foo menuconfig ------ +---- From now on, definitions from the +/path/to/foo+ br2-external tree will be used: ------ +---- buildroot/ $ make buildroot/ $ make legal-info ------ +---- We can switch to another br2-external tree at any time: ------ +---- buildroot/ $ make BR2_EXTERNAL=/where/we/have/bar xconfig ------ +---- We can also use multiple br2-external trees: @@ -66,9 +66,9 @@ buildroot/ $ make BR2_EXTERNAL=/path/to/foo:/where/we/have/bar menuconfig Or disable the usage of any br2-external tree: ------ +---- buildroot/ $ make BR2_EXTERNAL= xconfig ------ +---- ==== Layout of a br2-external tree @@ -152,16 +152,16 @@ makefile logic. The main usage of this is to store package recipes. The recommended way to do this is to write a +Config.in+ file that looks like: ------- +---- source "$BR2_EXTERNAL_BAR_42_PATH/package/package1/Config.in" source "$BR2_EXTERNAL_BAR_42_PATH/package/package2/Config.in" ------- +---- Then, have an +external.mk+ file that looks like: ------- +---- include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk)) ------- +---- And then in +$(BR2_EXTERNAL_BAR_42_PATH)/package/package1+ and +$(BR2_EXTERNAL_BAR_42_PATH)/package/package2+ create normal @@ -191,7 +191,7 @@ tree. For some packages, Buildroot provides a choice between two (or more) implementations of API-compatible such packages. For example, there is -a choice to choose either libjpeg ot jpeg-turbo; there is one between +a choice to choose either libjpeg or jpeg-turbo; there is one between openssl or libressl; there is one to select one of the known, pre-configured toolchains... diff --git a/docs/manual/customize-packages.adoc b/docs/manual/customize-packages.adoc index b57280ea1..af2fd13de 100644 --- a/docs/manual/customize-packages.adoc +++ b/docs/manual/customize-packages.adoc @@ -34,19 +34,19 @@ includes these additional +.mk+ files. Therefore, create a file +package//.mk+ with following contents (assuming you have only one extra directory level below +package//+): ------ +---- include $(sort $(wildcard package//*/*.mk)) ------ +---- For the +Config.in+ files, create a file +package//Config.in+ that includes the +Config.in+ files of all your packages. An exhaustive list has to be provided since wildcards are not supported in the source command of kconfig. For example: ------ +---- source "package//package1/Config.in" source "package//package2/Config.in" ------ +---- Include this new file +package//Config.in+ from +package/Config.in+, preferably in a company-specific menu to make diff --git a/docs/manual/download-location.adoc b/docs/manual/download-location.adoc index d485df94f..b2c527ad0 100644 --- a/docs/manual/download-location.adoc +++ b/docs/manual/download-location.adoc @@ -18,9 +18,9 @@ shared download location. This can be achieved by pointing the set, then the value of +BR2_DL_DIR+ in the Buildroot configuration is overridden. The following line should be added to +<~/.bashrc>+. ------------------ +---- export BR2_DL_DIR= ------------------ +---- The download location can also be set in the +.config+ file, with the +BR2_DL_DIR+ option. Unlike most options in the .config file, this value diff --git a/docs/manual/faq-troubleshooting.adoc b/docs/manual/faq-troubleshooting.adoc index a61276d4c..5f132f99f 100644 --- a/docs/manual/faq-troubleshooting.adoc +++ b/docs/manual/faq-troubleshooting.adoc @@ -10,12 +10,12 @@ If the boot process seems to hang after the following messages (messages not necessarily exactly similar, depending on the list of packages selected): ------------------------- +---- Freeing init memory: 3972K Initializing random number generator... done. Starting network... Starting dropbear sshd: generating rsa key... generating dsa key... OK ------------------------- +---- then it means that your system is running, but didn't start a shell on the serial console. In order to have the system start a shell on your diff --git a/docs/manual/getting.adoc b/docs/manual/getting.adoc index 549938a22..51c97d579 100644 --- a/docs/manual/getting.adoc +++ b/docs/manual/getting.adoc @@ -18,17 +18,17 @@ get started. If you want to setup an isolated buildroot environment on Linux or Mac Os X, paste this line onto your terminal: --------------------- +---- curl -O https://buildroot.org/downloads/Vagrantfile; vagrant up --------------------- +---- If you are on Windows, paste this into your powershell: --------------------- +---- (new-object System.Net.WebClient).DownloadFile( "https://buildroot.org/downloads/Vagrantfile","Vagrantfile"); vagrant up --------------------- +---- If you want to follow development, you can use the daily snapshots or make a clone of the Git repository. Refer to the diff --git a/docs/manual/legal-notice.adoc b/docs/manual/legal-notice.adoc index 179aa6b17..495c5ffe9 100644 --- a/docs/manual/legal-notice.adoc +++ b/docs/manual/legal-notice.adoc @@ -24,9 +24,9 @@ To make this easier for you, Buildroot can collect for you some material you will probably need. To produce this material, after you have configured Buildroot with +make menuconfig+, +make xconfig+ or +make gconfig+, run: --------------------- +---- make legal-info --------------------- +---- Buildroot will collect legally-relevant material in your output directory, under the +legal-info/+ subdirectory. diff --git a/docs/manual/make-tips.adoc b/docs/manual/make-tips.adoc index df3b888c2..4ccb46052 100644 --- a/docs/manual/make-tips.adoc +++ b/docs/manual/make-tips.adoc @@ -8,21 +8,21 @@ This is a collection of tips that help you make the most of Buildroot. .Display all commands executed by make: --------------------- +---- $ make V=1 --------------------- +---- .Display the list of boards with a defconfig: --------------------- +---- $ make list-defconfigs --------------------- +---- .Display all available targets: --------------------- +---- $ make help --------------------- +---- Not all targets are always available, some settings in the +.config+ file may hide some targets: @@ -46,19 +46,19 @@ configuration options are changed. To delete all build products (including build directories, host, staging and target trees, the images and the toolchain): --------------------- +---- $ make clean --------------------- +---- .Generating the manual: The present manual sources are located in the 'docs/manual' directory. To generate the manual: ---------------------------------- +---- $ make manual-clean $ make manual ---------------------------------- +---- The manual outputs will be generated in 'output/docs/manual'. @@ -70,9 +70,9 @@ The manual outputs will be generated in 'output/docs/manual'. To delete all build products as well as the configuration: --------------------- +---- $ make distclean --------------------- +---- .Notes If +ccache+ is enabled, running +make clean+ or +distclean+ does diff --git a/docs/manual/manual.adoc b/docs/manual/manual.adoc index 31d5f80ba..cfcc3e52a 100644 --- a/docs/manual/manual.adoc +++ b/docs/manual/manual.adoc @@ -4,7 +4,7 @@ = The Buildroot user manual :toc: -Buildroot {sys:echo $\{BR2_VERSION%%-git*\}} manual generated on {localdate} +Buildroot {sys:echo $BR2_VERSION} manual generated on {localdate} {localtime} from git revision {sys:git rev-parse --short HEAD} The Buildroot manual is written by the Buildroot developers. diff --git a/docs/manual/migrating.adoc b/docs/manual/migrating.adoc index c0f89cbf0..ff4fc1c7a 100644 --- a/docs/manual/migrating.adoc +++ b/docs/manual/migrating.adoc @@ -62,7 +62,7 @@ $ echo 'name: NAME_OF_YOUR_TREE' >external.desc Be careful when choosing a name: It has to be unique and be made with only ASCII characters from the set +[A-Za-z0-9_]+. - * Then, change every occurence of +BR2_EXTERNAL+ in your br2-external + * Then, change every occurrence of +BR2_EXTERNAL+ in your br2-external tree with the new variable: + ---- diff --git a/docs/manual/package-make-target.adoc b/docs/manual/package-make-target.adoc index 795c7d46d..90a7910e2 100644 --- a/docs/manual/package-make-target.adoc +++ b/docs/manual/package-make-target.adoc @@ -12,9 +12,9 @@ For packages relying on the Buildroot infrastructure, there are numerous special make targets that can be called independently like this: ------------- +---- make - ------------- +---- The package build targets are (in the order they are executed): diff --git a/docs/manual/patch-policy.adoc b/docs/manual/patch-policy.adoc index dc35132ec..a4bc5f391 100644 --- a/docs/manual/patch-policy.adoc +++ b/docs/manual/patch-policy.adoc @@ -122,7 +122,7 @@ removed, but do update the rest of the patch comment when appropriate. At the end, the patch should look like: ---------------- +---- configure.ac: add C++ support test Signed-off-by: John Doe @@ -142,7 +142,7 @@ AC_PROG_MAKE_SET + AC_LANG_POP([C++])]) + +AM_CONDITIONAL([CXX_WORKS], [test "x$rw_cv_prog_cxx_works" = "xyes"]) ---------------- +---- === Additional patch documentation @@ -152,17 +152,17 @@ applicable, via the +Upstream+ trailer. When backporting an upstream patch that has been accepted into mainline, it is preferred that the URL to the commit is referenced: ---------------- +---- Upstream: ---------------- +---- If a new issue is identified in Buildroot and upstream is generally affected by the issue (it's not a Buildroot specific issue), users should submit the patch upstream and provide a link to that submission when possible: ---------------- +---- Upstream: ---------------- +---- Patches that have been submitted but were denied upstream should note that and include comments about why the patch is being used despite the upstream status. @@ -172,9 +172,9 @@ about any changes to the patch that may have been necessary. If a patch does not apply upstream then this should be noted with a comment: ---------------- +---- Upstream: N/A ---------------- +---- Adding this documentation helps streamline the patch review process during package version updates. \ No newline at end of file diff --git a/docs/manual/prerequisite.adoc b/docs/manual/prerequisite.adoc index 262a5153f..ab609c12b 100644 --- a/docs/manual/prerequisite.adoc +++ b/docs/manual/prerequisite.adoc @@ -96,3 +96,6 @@ corresponding tool on the host system: * Graph generation tools: ** +graphviz+ to use 'graph-depends' and '-graph-depends' ** +python-matplotlib+ to use 'graph-build' + +* Package statistics tools ('pkg-stats'): +** +python-aiohttp+ diff --git a/docs/manual/quickstart.adoc b/docs/manual/quickstart.adoc index 80569e85f..605031037 100644 --- a/docs/manual/quickstart.adoc +++ b/docs/manual/quickstart.adoc @@ -15,27 +15,27 @@ http://www.busybox.net/[BusyBox]. From the buildroot directory, run --------------------- +---- $ make menuconfig --------------------- +---- for the original curses-based configurator, or --------------------- +---- $ make nconfig --------------------- +---- for the new curses-based configurator, or --------------------- +---- $ make xconfig --------------------- +---- for the Qt-based configurator, or --------------------- +---- $ make gconfig --------------------- +---- for the GTK-based configurator. @@ -56,9 +56,9 @@ read by the top-level Makefile. To start the build process, simply run: --------------------- +---- $ make --------------------- +---- By default, Buildroot does not support top-level parallel build, so running +make -jN+ is not necessary. There is however experimental diff --git a/docs/manual/rebuilding-packages.adoc b/docs/manual/rebuilding-packages.adoc index 06d385514..0658a93b3 100644 --- a/docs/manual/rebuilding-packages.adoc +++ b/docs/manual/rebuilding-packages.adoc @@ -86,9 +86,9 @@ necessary, and you will save more and more time. For reference, a full rebuild is achieved by running: ---------------- +---- $ make clean all ---------------- +---- [[rebuild-pkg]] === Understanding how to rebuild packages diff --git a/docs/manual/using-buildroot-debugger.adoc b/docs/manual/using-buildroot-debugger.adoc index 9a8a7dfba..c208e86bb 100644 --- a/docs/manual/using-buildroot-debugger.adoc +++ b/docs/manual/using-buildroot-debugger.adoc @@ -24,9 +24,9 @@ To achieve this: Now, to start debugging a program called +foo+, you should run on the target: ----------------------------- +---- gdbserver :2345 foo ----------------------------- +---- This will cause +gdbserver+ to listen on TCP port 2345 for a connection from the cross gdb. @@ -34,9 +34,9 @@ from the cross gdb. Then, on the host, you should start the cross gdb using the following command line: ----------------------------- +---- /output/host/bin/-gdb -ix /output/staging/usr/share/buildroot/gdbinit foo ----------------------------- +---- Of course, +foo+ must be available in the current directory, built with debugging symbols. Typically you start this command from the @@ -48,6 +48,6 @@ cross gdb where to find the libraries of the target. Finally, to connect to the target from the cross gdb: ----------------------------- +---- (gdb) target remote :2345 ----------------------------- +---- diff --git a/docs/manual/using-buildroot-development.adoc b/docs/manual/using-buildroot-development.adoc index da6dd822f..72628e0a6 100644 --- a/docs/manual/using-buildroot-development.adoc +++ b/docs/manual/using-buildroot-development.adoc @@ -47,17 +47,17 @@ option. In this _override_ file, Buildroot expects to find lines of the form: ------------------- +---- _OVERRIDE_SRCDIR = /path/to/pkg1/sources _OVERRIDE_SRCDIR = /path/to/pkg2/sources ------------------- +---- For example: ------------------- +---- LINUX_OVERRIDE_SRCDIR = /home/bob/linux/ BUSYBOX_OVERRIDE_SRCDIR = /home/bob/busybox/ ------------------- +---- When Buildroot finds that for a given package, an +_OVERRIDE_SRCDIR+ has been defined, it will no longer attempt to @@ -79,17 +79,17 @@ process of just this package. In the example of the +linux+ package above, the developer can then make a source code change in +/home/bob/linux+ and then run: ------------------------ +---- make linux-rebuild all ------------------------ +---- and in a matter of seconds gets the updated Linux kernel image in +output/images+. Similarly, a change can be made to the BusyBox source code in +/home/bob/busybox+, and after: ------------------------ +---- make busybox-rebuild all ------------------------ +---- the root filesystem image in +output/images+ contains the updated BusyBox. @@ -102,13 +102,13 @@ from the source tree. For example, when working on the +webkitgtk+ package, the following will exclude the tests and in-tree builds from a local WebKit source tree: ------------------- +---- WEBKITGTK_OVERRIDE_SRCDIR = /home/bob/WebKit WEBKITGTK_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = \ --exclude JSTests --exclude ManualTests --exclude PerformanceTests \ --exclude WebDriverTests --exclude WebKitBuild --exclude WebKitLibraries \ --exclude WebKit.xcworkspace --exclude Websites --exclude Examples ------------------- +---- By default, Buildroot skips syncing of VCS artifacts (e.g., the *.git* and *.svn* directories). Some packages prefer to have these VCS directories @@ -116,6 +116,6 @@ available during build, for example for automatically determining a precise commit reference for version information. To undo this built-in filtering at a cost of a slower speed, add these directories back: ------------------- +---- LINUX_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = --include .git ------------------- +---- diff --git a/docs/manual/using-buildroot-toolchain.adoc b/docs/manual/using-buildroot-toolchain.adoc index 09408ef05..fd9dda753 100644 --- a/docs/manual/using-buildroot-toolchain.adoc +++ b/docs/manual/using-buildroot-toolchain.adoc @@ -16,7 +16,7 @@ Alternatively, Buildroot can also export the toolchain and the development files of all selected packages, as an SDK, by running the command +make sdk+. This generates a tarball of the content of the host directory +output/host/+, named +_sdk-buildroot.tar.gz+ (which can be -overriden by setting the environment variable +BR2_SDK_PREFIX+) and +overridden by setting the environment variable +BR2_SDK_PREFIX+) and located in the output directory +output/images/+. This tarball can then be distributed to application developers, when diff --git a/docs/manual/writing-rules.adoc b/docs/manual/writing-rules.adoc index 13b7fd5be..03e4f2c61 100644 --- a/docs/manual/writing-rules.adoc +++ b/docs/manual/writing-rules.adoc @@ -23,7 +23,7 @@ Buildroot. An entry has the following pattern: ---------------------- +---- config BR2_PACKAGE_LIBFOO bool "libfoo" depends on BR2_PACKAGE_LIBBAZ @@ -33,7 +33,7 @@ config BR2_PACKAGE_LIBFOO should be wrapped. http://foosoftware.org/libfoo/ ---------------------- +---- * The +bool+, +depends on+, +select+ and +help+ lines are indented with one tab. @@ -57,31 +57,31 @@ http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt[]. preferably in lowercase, enclosed between separators made of 80 hashes. A blank line is mandatory after the header: + ---------------------- +---- ################################################################################ # # libfoo # ################################################################################ ---------------------- +---- + * Assignment: use +=+ preceded and followed by one space: + ---------------------- +---- LIBFOO_VERSION = 1.0 LIBFOO_CONF_OPTS += --without-python-support ---------------------- +---- + Do not align the +=+ signs. * Indentation: use tab only: + ---------------------- +---- define LIBFOO_REMOVE_DOC $(RM) -r $(TARGET_DIR)/usr/share/libfoo/doc \ $(TARGET_DIR)/usr/share/man/man3/libfoo* endef ---------------------- +---- + Note that commands inside a +define+ block should always start with a tab, so _make_ recognizes them as commands. @@ -92,21 +92,21 @@ so _make_ recognizes them as commands. + YES: + ---------------------- +---- ifeq ($(BR2_PACKAGE_PYTHON3),y) LIBFOO_CONF_OPTS += --with-python-support LIBFOO_DEPENDENCIES += python3 else LIBFOO_CONF_OPTS += --without-python-support endif ---------------------- +---- + NO: + ---------------------- +---- LIBFOO_CONF_OPTS += --with$(if $(BR2_PACKAGE_PYTHON3),,out)-python-support LIBFOO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON3),python3,) ---------------------- +---- ** Keep configure options and dependencies close together. @@ -115,18 +115,18 @@ LIBFOO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON3),python3,) + YES: + ---------------------- +---- ifneq ($(BR2_LIBFOO_INSTALL_DATA),y) define LIBFOO_REMOVE_DATA $(RM) -r $(TARGET_DIR)/usr/share/libfoo/data endef LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA endif ---------------------- +---- + NO: + ---------------------- +---- define LIBFOO_REMOVE_DATA $(RM) -r $(TARGET_DIR)/usr/share/libfoo/data endef @@ -134,7 +134,7 @@ endef ifneq ($(BR2_LIBFOO_INSTALL_DATA),y) LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA endif ---------------------- +---- [[writing-genimage-cfg]] @@ -145,7 +145,7 @@ uses to create final .img file. An example follows: ---------------------- +---- image efi-part.vfat { vfat { file EFI { @@ -174,7 +174,7 @@ image sdimage.img { size = 512M } } ---------------------- +---- * Every +section+(i.e. hdimage, vfat etc.), +partition+ must be indented with one tab. diff --git a/docs/website/copyright.txt b/docs/website/copyright.txt index 3fe19bab8..4d19bbf82 100644 --- a/docs/website/copyright.txt +++ b/docs/website/copyright.txt @@ -18,7 +18,7 @@ GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THIS WEBSITE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR LOSS OF HAIR, LOSS OF LIFE, LOSS OF MEMORY, LOSS OF YOUR CARKEYS, MISPLACEMENT OF YOUR PAYCHECK, OR COMMANDER DATA BEING RENDERED UNABLE TO ASSIST THE -STARFLEET OFFICERS ABORD THE STARSHIP ENTERPRISE TO RECALIBRATE THE MAIN +STARFLEET OFFICERS ABOARD THE STARSHIP ENTERPRISE TO RECALIBRATE THE MAIN DEFLECTOR ARRAY, LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE WEBSITE TO OPERATE WITH YOUR WEBBROWSER), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. diff --git a/docs/website/docs.html b/docs/website/docs.html index 85b005004..ee3eb3d06 100644 --- a/docs/website/docs.html +++ b/docs/website/docs.html @@ -26,7 +26,7 @@

HTML
Stable | - Nightly + Nightly

@@ -45,7 +45,7 @@

PDF
Stable | - Nightly + Nightly

@@ -64,7 +64,7 @@

ASCII
Stable | - Nightly + Nightly

diff --git a/docs/website/index.html b/docs/website/index.html index 300adbb83..d68436c72 100644 --- a/docs/website/index.html +++ b/docs/website/index.html @@ -133,14 +133,14 @@
diff --git a/docs/website/news.html b/docs/website/news.html index 4d19605e8..318182b6a 100644 --- a/docs/website/news.html +++ b/docs/website/news.html @@ -7012,7 +7012,7 @@

We have a new release candidate! Various fixes, and - addition of licensing informations on many + addition of licensing information on many packages. See CHANGES file for details

@@ -7034,7 +7034,7 @@

We have a new release candidate! Various fixes, and addition - of licensing informations on many + of licensing information on many packages. See CHANGES file for details

diff --git a/docs/website/support.html b/docs/website/support.html index 28873c6d7..7f9628c23 100644 --- a/docs/website/support.html +++ b/docs/website/support.html @@ -27,8 +27,8 @@ When asking for help on IRC, share relevant logs or pieces of code using a code sharing website.

-

Note that due to excessive spamming on IRC, you can only talk in the - channel if you are a registered user with +

Note that due to excessive spamming on IRC, the channel can only be + joined if you are a registered user with OFTC NickServ service. Follow the instructions to register as a user with a password, and then join the #buildroot channel.

@@ -53,7 +53,7 @@ page. Only subscribers to the Buildroot mailing list are allowed to post to this list. Archives are available - from Mailman + from Mailman and lore.kernel.org.

Search the List Archives

diff --git a/fs/tar/tar.mk b/fs/tar/tar.mk index 841af1470..92b39f993 100644 --- a/fs/tar/tar.mk +++ b/fs/tar/tar.mk @@ -13,7 +13,7 @@ TAR_OPTS += --pax-option=exthdr.name=%d/PaxHeaders/%f,atime:=0,ctime:=0 define ROOTFS_TAR_CMD (cd $(TARGET_DIR); find -print0 | LC_ALL=C sort -z | \ - tar $(TAR_OPTS) -cf $@ --null --xattrs-include='*' --no-recursion -T - --numeric-owner) + $(TAR) $(TAR_OPTS) -cf $@ --null --xattrs-include='*' --no-recursion -T - --numeric-owner) endef $(eval $(rootfs)) diff --git a/linux/Config.in b/linux/Config.in index 3d9e9ac99..ec8451832 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -128,7 +128,7 @@ endif config BR2_LINUX_KERNEL_VERSION string - default "6.6.18" if BR2_LINUX_KERNEL_LATEST_VERSION + default "6.6.78" if BR2_LINUX_KERNEL_LATEST_VERSION default "5.10.162-cip24" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION default "5.10.162-cip24-rt10" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \ diff --git a/linux/linux.hash b/linux/linux.hash index 15c0dc8d3..f61fa9914 100644 --- a/linux/linux.hash +++ b/linux/linux.hash @@ -1,12 +1,12 @@ # From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc -sha256 4e43d8c5fba14f7c82597838011648056487b7550fd83276ad534559e8499b1d linux-6.6.18.tar.xz -sha256 faa49ca22fb55ed4d5ca2a55e07dd10e4e171cfc3b92568a631453cd2068b39b linux-6.1.79.tar.xz +sha256 5aa39a9bd555133ad741058f9908a277e6b36bb928481e747d885b50aaaa93ed linux-6.6.78.tar.xz +sha256 874d67d3181570e69ac6b33853f0448f05fc90d4cf3e4baaadc4a9cede7c50f3 linux-6.1.128.tar.xz # From https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc -sha256 bd84809a367eb400eb04e0e70294e6ba12fc03b6bfb5a7dfaca548f8947501b0 linux-5.15.149.tar.xz -sha256 4ea63c5a90fdc3c459ab35c11ee8c93d2364a7cdbfb101100f8cab70d490ef6d linux-5.10.210.tar.xz -sha256 ff54bec6d053c7994f3bb8c45021de2858ff9f740d2ccbbcf072b87821a918cf linux-5.4.269.tar.xz +sha256 efe9f7eb5ea4d26cec6290689343e1804eb3b4a88ff5a60497a696fc08157c42 linux-5.15.178.tar.xz +sha256 9597c4fee2f1ce452acfec516f4325ad342155872052fd5f0d9ce2ddcc26ebe5 linux-5.10.234.tar.xz +sha256 6cc73cf2a7f50580f7d8c7e99d2f2e8ada8b7d2f4e76f5896f0daf691cc2a456 linux-5.4.290.tar.xz # From https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc -sha256 83eeff613405d0045d0f717c6ac14c178678fe0a163c41d9dd8878ac0f73e352 linux-4.19.307.tar.xz +sha256 607bed7de5cda31a443df4c8a78dbe5e8a9ad31afde2a4d28fe99ab4730e8de1 linux-4.19.325.tar.xz # Locally computed sha256 fb0edc3c18e47d2b6974cb0880a0afb5c3fa08f50ee87dfdf24349405ea5f8ae linux-cip-5.10.162-cip24.tar.gz sha256 b5539243f187e3d478d76d44ae13aab83952c94b885ad889df6fa9997e16a441 linux-cip-5.10.162-cip24-rt10.tar.gz diff --git a/linux/linux.mk b/linux/linux.mk index 840d43c99..b411c1cc9 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -83,7 +83,7 @@ LINUX_DEPENDENCIES += \ $(if $(BR2_PACKAGE_FIRMWARE_IMX),firmware-imx) \ $(if $(BR2_PACKAGE_WIRELESS_REGDB),wireless-regdb) -# Starting with 4.16, the generated kconfig paser code is no longer +# Starting with 4.16, the generated kconfig parser code is no longer # shipped with the kernel sources, so we need flex and bison, but # only if the host does not have them. LINUX_KCONFIG_DEPENDENCIES = \ @@ -330,6 +330,12 @@ LINUX_KCONFIG_DEFCONFIG = $(call qstrip,$(BR2_LINUX_KERNEL_DEFCONFIG))_defconfig else ifeq ($(BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG),y) ifeq ($(BR2_powerpc64le),y) LINUX_KCONFIG_DEFCONFIG = ppc64le_defconfig +else ifeq ($(BR2_powerpc64),y) +LINUX_KCONFIG_DEFCONFIG = ppc64_defconfig +else ifeq ($(BR2_powerpc),y) +LINUX_KCONFIG_DEFCONFIG = ppc_defconfig +else ifeq ($(BR2_arc750d)$(BR2_arc770d),y) +LINUX_KCONFIG_DEFCONFIG = axs101_defconfig else LINUX_KCONFIG_DEFCONFIG = defconfig endif @@ -659,6 +665,10 @@ $(error No kernel device tree source specified, check your \ BR2_LINUX_KERNEL_INTREE_DTS_NAME / BR2_LINUX_KERNEL_CUSTOM_DTS_PATH settings) endif +ifeq ($(BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM):$(call qstrip,$(BR2_LINUX_KERNEL_IMAGE_TARGET_NAME)),y:) +$(error No image name specified in BR2_LINUX_KERNEL_IMAGE_TARGET_NAME despite BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y) +endif + endif # BR_BUILDING $(eval $(kconfig-package)) diff --git a/package/Config.in b/package/Config.in index 5af4f4718..f0ee65b4e 100644 --- a/package/Config.in +++ b/package/Config.in @@ -63,6 +63,7 @@ menu "Audio and video applications" source "package/vlc/Config.in" source "package/vorbis-tools/Config.in" source "package/wavpack/Config.in" + source "package/wireplumber/Config.in" source "package/yavta/Config.in" source "package/ympd/Config.in" source "package/zynaddsubfx/Config.in" @@ -1283,6 +1284,7 @@ menu "External python modules" source "package/python-pypng/Config.in" source "package/python-pyqrcode/Config.in" source "package/python-pyqt5/Config.in" + source "package/python-pyqt5-sip/Config.in" source "package/python-pyratemp/Config.in" source "package/python-pyroute2/Config.in" source "package/python-pyrsistent/Config.in" @@ -1723,7 +1725,6 @@ menu "Graphics" source "package/waylandpp/Config.in" source "package/webkitgtk/Config.in" source "package/webp/Config.in" - source "package/wireplumber/Config.in" source "package/wlroots/Config.in" source "package/woff2/Config.in" source "package/wpebackend-fdo/Config.in" diff --git a/package/Config.in.host b/package/Config.in.host index f03ca16b7..9543a22ff 100644 --- a/package/Config.in.host +++ b/package/Config.in.host @@ -46,6 +46,7 @@ menu "Host utilities" source "package/go/Config.in.host" source "package/go-bootstrap-stage1/Config.in.host" source "package/go-bootstrap-stage2/Config.in.host" + source "package/go-bootstrap-stage3/Config.in.host" source "package/google-breakpad/Config.in.host" source "package/gptfdisk/Config.in.host" source "package/imagemagick/Config.in.host" diff --git a/package/Makefile.in b/package/Makefile.in index 392e4717c..1037cb849 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -252,7 +252,7 @@ endif INSTALL := $(shell which install || type -p install) UNZIP := $(shell which unzip || type -p unzip) -q -APPLY_PATCHES = PATH=$(HOST_DIR)/bin:$$PATH support/scripts/apply-patches.sh $(if $(QUIET),-s) +APPLY_PATCHES = TAR="$(TAR)" PATH=$(HOST_DIR)/bin:$$PATH support/scripts/apply-patches.sh $(if $(QUIET),-s) HOST_CPPFLAGS = -I$(HOST_DIR)/include HOST_CFLAGS ?= -O2 diff --git a/package/acpica/acpica.hash b/package/acpica/acpica.hash index dd9f8a1d2..9972e34b3 100644 --- a/package/acpica/acpica.hash +++ b/package/acpica/acpica.hash @@ -1,5 +1,3 @@ -# From: https://www.intel.com/content/www/us/en/download/776303/acpi-component-architecture-downloads-unix-format-source-code-and-build-environment-with-an-intel-license.html -sha1 3b893fb771cf3fbd3531de3036e1a5bfc624c9d2 acpica-unix-20230628.tar.gz # locally computed hash -sha256 86876a745e3d224dcfd222ed3de465b47559e85811df2db9820ef09a9dff5cce acpica-unix-20230628.tar.gz -sha256 905d6f191f3c29aa673602d9c66eb8df00f7e1b35064a081e0de81284ff17ee6 source/include/acpi.h +sha256 9dca83cfee390b710485fbdf787048370049c05723b10cc220cfef6e13c31961 acpica-unix-20241212.tar.gz +sha256 b28f54dc421531bbe269afd8c28bf6fdfd6affbe50c2831464f777ec1766d4a5 source/include/acpi.h diff --git a/package/acpica/acpica.mk b/package/acpica/acpica.mk index bbabd9de6..2c97c0436 100644 --- a/package/acpica/acpica.mk +++ b/package/acpica/acpica.mk @@ -4,9 +4,9 @@ # ################################################################################ -ACPICA_VERSION = 20230628 +ACPICA_VERSION = 20241212 ACPICA_SOURCE = acpica-unix-$(ACPICA_VERSION).tar.gz -ACPICA_SITE = https://downloadmirror.intel.com/783534 +ACPICA_SITE = https://github.com/user-attachments/files/18117992 ACPICA_LICENSE = BSD-3-Clause or GPL-2.0 ACPICA_LICENSE_FILES = source/include/acpi.h ACPICA_DEPENDENCIES = host-bison host-flex diff --git a/package/aer-inject/0001-libgen-basename.patch b/package/aer-inject/0001-libgen-basename.patch new file mode 100644 index 000000000..0762f5e30 --- /dev/null +++ b/package/aer-inject/0001-libgen-basename.patch @@ -0,0 +1,35 @@ +From 197f51d29a01f46750fa6928409301aa8f1163d7 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 25 Mar 2024 09:04:40 -0700 +Subject: aer-inject: Include libgen.h for explicit basename prototype + +The prototype for basename has been removed from string.h in the latest +versions of musl [1]. This absence of prototype is flagged as an error +by some compilers, such as clang-18. To resolve this, include libgen.h +explicitly, which provides the prototype for basename. + +[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7 +Signed-off-by: Khem Raj +[sathya: Updated the commit log] +Signed-off-by: Kuppuswamy Sathyanarayanan +Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/knsathya/aer-inject.git/commit/?id=197f51d29a01f46750fa6928409301aa8f1163d7 +Signed-off-by: J. Neuschaefer +--- + aer-inject.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/aer-inject.c b/aer-inject.c +index 74e7f72..eed1211 100644 +--- a/aer-inject.c ++++ b/aer-inject.c +@@ -11,6 +11,7 @@ + */ + + #include ++#include + #include + #include + #include +-- +cgit 1.2.3-korg + diff --git a/package/aer-inject/aer-inject.mk b/package/aer-inject/aer-inject.mk index 6bc9cb44d..7516ef63a 100644 --- a/package/aer-inject/aer-inject.mk +++ b/package/aer-inject/aer-inject.mk @@ -5,7 +5,7 @@ ################################################################################ AER_INJECT_VERSION = 9bd5e2c7886fca72f139cd8402488a2235957d41 -AER_INJECT_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/gong.chen/aer-inject.git +AER_INJECT_SITE = https://github.com/intel/aer-inject.git AER_INJECT_SITE_METHOD = git AER_INJECT_LICENSE = GPL-2.0 AER_INJECT_LICENSE_FILES = README diff --git a/package/alsa-lib/Config.in b/package/alsa-lib/Config.in index 447916a29..6df03afe0 100644 --- a/package/alsa-lib/Config.in +++ b/package/alsa-lib/Config.in @@ -69,6 +69,7 @@ config BR2_PACKAGE_ALSA_LIB_SEQ config BR2_PACKAGE_ALSA_LIB_UCM bool "ucm" default y + depends on BR2_USE_MMU # fork() select BR2_PACKAGE_ALSA_LIB_MIXER config BR2_PACKAGE_ALSA_LIB_ALISP diff --git a/package/alure/alure.mk b/package/alure/alure.mk index f0eca8a2e..fe27bfd12 100644 --- a/package/alure/alure.mk +++ b/package/alure/alure.mk @@ -12,8 +12,8 @@ ALURE_INSTALL_STAGING = YES ALURE_DEPENDENCIES = openal -# Disabling alure examples remove the dependecies on physfs and dump libraries. -# Enable at least one built-in decoder (wave). +# Disabling alure examples removes the dependencies on physfs and dump +# libraries. Enable at least one built-in decoder (wave). ALURE_CONF_OPTS = -DALURE_INSTALL=ON \ -DALURE_BUILD_EXAMPLES=OFF \ -DALURE_ENABLE_WAVE=ON diff --git a/package/am335x-pru-package/am335x-pru-package.hash b/package/am335x-pru-package/am335x-pru-package.hash index ad386fe04..c7e7e32d4 100644 --- a/package/am335x-pru-package/am335x-pru-package.hash +++ b/package/am335x-pru-package/am335x-pru-package.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 2a902f825ccc1885c5dccd83e1ccee104aa30e601c9964a24f49459f76f674b9 am335x-pru-package-5f374ad57cc195f28bf5e585c3d446aba6ee7096.tar.gz +sha256 cb7d2998431a1d76e41121d0728d921baecb1501a25d30950102d017b0ced9d7 am335x-pru-package-5f374ad57cc195f28bf5e585c3d446aba6ee7096-br1.tar.gz sha256 f0fcdf9b2090896389eb4b784f23be96d5544c5ce5282d84f82ae9a8e8331beb pru_sw/utils/LICENCE.txt diff --git a/package/am335x-pru-package/am335x-pru-package.mk b/package/am335x-pru-package/am335x-pru-package.mk index 24a5df481..9c65ee138 100644 --- a/package/am335x-pru-package/am335x-pru-package.mk +++ b/package/am335x-pru-package/am335x-pru-package.mk @@ -5,7 +5,8 @@ ################################################################################ AM335X_PRU_PACKAGE_VERSION = 5f374ad57cc195f28bf5e585c3d446aba6ee7096 -AM335X_PRU_PACKAGE_SITE = $(call github,beagleboard,am335x_pru_package,$(AM335X_PRU_PACKAGE_VERSION)) +AM335X_PRU_PACKAGE_SITE = https://github.com/beagleboard/am335x_pru_package +AM335X_PRU_PACKAGE_SITE_METHOD = git AM335X_PRU_PACKAGE_LICENSE = BSD-3-Clause AM335X_PRU_PACKAGE_LICENSE_FILES = pru_sw/utils/LICENCE.txt AM335X_PRU_PACKAGE_DEPENDENCIES = host-am335x-pru-package diff --git a/package/am33x-cm3/am33x-cm3.mk b/package/am33x-cm3/am33x-cm3.mk index 629a83238..d5ace7bb0 100644 --- a/package/am33x-cm3/am33x-cm3.mk +++ b/package/am33x-cm3/am33x-cm3.mk @@ -6,7 +6,7 @@ # This should correpsond to v05.00.00.02 AM33X_CM3_VERSION = 11107db2f1e9e58ee75d4fe9cc38423c9a6e4365 -AM33X_CM3_SITE = http://arago-project.org/git/projects/am33x-cm3.git +AM33X_CM3_SITE = https://github.com/RobertCNelson/am33x-cm3 AM33X_CM3_SITE_METHOD = git AM33X_CM3_LICENSE = TI Publicly Available Software License AM33X_CM3_LICENSE_FILES = License.txt diff --git a/package/android-tools/0001-Fix-makefiles-for-out-of-tree-build.patch b/package/android-tools/0001-Fix-makefiles-for-out-of-tree-build.patch index af0723620..ad047657a 100644 --- a/package/android-tools/0001-Fix-makefiles-for-out-of-tree-build.patch +++ b/package/android-tools/0001-Fix-makefiles-for-out-of-tree-build.patch @@ -1,4 +1,7 @@ -[PATCH] Fix makefiles for out-of-tree build +From 1fe49c34aa3e32e801af5c56293ec71ff6e7e2bc Mon Sep 17 00:00:00 2001 +From: Gary Bisson +Date: Sun, 1 Dec 2024 15:43:17 +0100 +Subject: [PATCH] Fix makefiles for out-of-tree build Signed-off-by: Gary Bisson --- @@ -158,5 +161,5 @@ index 9e8b751..94a069b 100644 LIBS+= -lz -lselinux -- -2.5.1 +2.47.0 diff --git a/package/android-tools/0002-Fix-adbd-for-non-Ubuntu-systems.patch b/package/android-tools/0002-Fix-adbd-for-non-Ubuntu-systems.patch index 35f6c8a3b..7f39e6662 100644 --- a/package/android-tools/0002-Fix-adbd-for-non-Ubuntu-systems.patch +++ b/package/android-tools/0002-Fix-adbd-for-non-Ubuntu-systems.patch @@ -1,4 +1,7 @@ -[PATCH] Fix adbd for non-Ubuntu systems +From d433d5c340f3b36de58ea8550fd140dbdaea13b4 Mon Sep 17 00:00:00 2001 +From: Gary Bisson +Date: Sun, 1 Dec 2024 15:43:33 +0100 +Subject: [PATCH] Fix adbd for non-Ubuntu systems Remove glib/dbus dependencies and partially restore services.c to be closer to the original source code in order to run on systems without @@ -7,7 +10,7 @@ sudo. Signed-off-by: Gary Bisson --- core/adbd/adb.c | 1 - - core/adbd/services.c | 160 ++++------------------------------------------- + core/adbd/services.c | 160 +++------------------------------------ debian/makefiles/adbd.mk | 4 +- 3 files changed, 14 insertions(+), 151 deletions(-) @@ -260,5 +263,5 @@ index 49dab8c..22c1816 100644 OBJS= $(patsubst %, %.o, $(basename $(SRCS))) -- -2.5.1 +2.47.0 diff --git a/package/android-tools/0003-Adjust-base64-function-handling.patch b/package/android-tools/0003-Adjust-base64-function-handling.patch new file mode 100644 index 000000000..30a6e680b --- /dev/null +++ b/package/android-tools/0003-Adjust-base64-function-handling.patch @@ -0,0 +1,96 @@ +From 946dbb00fe4b2a75c688a470fc0c3924aa018a24 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 14 Jul 2024 11:39:49 +0200 +Subject: [PATCH] Adjust base64 function handling +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In order to support libcs that do not provide b64_pton(), one of the +Debian patches adds a copy of b64_pton() and b64_ntop(). However, no +prototype is added for those functions, causing an "implicit +declaration" warning... or error depending on the compiler version +used: + +core/adbd/adb_auth_client.c:75:15: error: implicit declaration of function ‘b64_pton’ [-Wimplicit-function-declaration] + +This patch adds appropriate prototypes, but while at it, also renames +the internal copy of b64_*() functions to have an adb_ prefix in order +to clarify things and not clash with definitions potentially coming +from the C library. + +Upstream: N/A, we're too far from upstream +Signed-off-by: Thomas Petazzoni +--- + core/adb/adb_auth_client.c | 3 ++- + core/adbd/adb_auth_client.c | 3 ++- + core/adbd/base64.c | 4 ++-- + 3 files changed, 6 insertions(+), 4 deletions(-) + +diff --git a/core/adb/adb_auth_client.c b/core/adb/adb_auth_client.c +index 0b4913e..25b9828 100644 +--- a/core/adb/adb_auth_client.c ++++ b/core/adb/adb_auth_client.c +@@ -45,6 +45,7 @@ static char *key_paths[] = { + static fdevent listener_fde; + static int framework_fd = -1; + ++extern int adb_b64_pton(char const *src, u_char *target, size_t targsize); + + static void read_keys(const char *file, struct listnode *list) + { +@@ -72,7 +73,7 @@ static void read_keys(const char *file, struct listnode *list) + if (sep) + *sep = '\0'; + +- ret = __b64_pton(buf, (u_char *)&key->key, sizeof(key->key) + 4); ++ ret = adb_b64_pton(buf, (u_char *)&key->key, sizeof(key->key) + 4); + if (ret != sizeof(key->key)) { + D("%s: Invalid base64 data ret=%d\n", file, ret); + free(key); +diff --git a/core/adbd/adb_auth_client.c b/core/adbd/adb_auth_client.c +index 0b4913e..25b9828 100644 +--- a/core/adbd/adb_auth_client.c ++++ b/core/adbd/adb_auth_client.c +@@ -45,6 +45,7 @@ static char *key_paths[] = { + static fdevent listener_fde; + static int framework_fd = -1; + ++extern int adb_b64_pton(char const *src, u_char *target, size_t targsize); + + static void read_keys(const char *file, struct listnode *list) + { +@@ -72,7 +73,7 @@ static void read_keys(const char *file, struct listnode *list) + if (sep) + *sep = '\0'; + +- ret = __b64_pton(buf, (u_char *)&key->key, sizeof(key->key) + 4); ++ ret = adb_b64_pton(buf, (u_char *)&key->key, sizeof(key->key) + 4); + if (ret != sizeof(key->key)) { + D("%s: Invalid base64 data ret=%d\n", file, ret); + free(key); +diff --git a/core/adbd/base64.c b/core/adbd/base64.c +index 7270703..91fc1b2 100644 +--- a/core/adbd/base64.c ++++ b/core/adbd/base64.c +@@ -134,7 +134,7 @@ static const char Pad64 = '='; + */ + + int +-b64_ntop(src, srclength, target, targsize) ++adb_b64_ntop(src, srclength, target, targsize) + u_char const *src; + size_t srclength; + char *target; +@@ -212,7 +212,7 @@ b64_ntop(src, srclength, target, targsize) + */ + + int +-b64_pton(src, target, targsize) ++adb_b64_pton(src, target, targsize) + char const *src; + u_char *target; + size_t targsize; +-- +2.47.0 + diff --git a/package/android-tools/0003-Fix-build-issue-with-uclibc.patch b/package/android-tools/0003-Fix-build-issue-with-uclibc.patch deleted file mode 100644 index 95517c307..000000000 --- a/package/android-tools/0003-Fix-build-issue-with-uclibc.patch +++ /dev/null @@ -1,36 +0,0 @@ -[PATCH] Fix build issue with uclibc - -Signed-off-by: Gary Bisson ---- - core/adbd/adb_auth_client.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/core/adb/adb_auth_client.c b/core/adb/adb_auth_client.c -index 0b4913e..068d837 100644 ---- a/core/adb/adb_auth_client.c -+++ b/core/adb/adb_auth_client.c -@@ -72,7 +72,7 @@ static void read_keys(const char *file, struct listnode *list) - if (sep) - *sep = '\0'; - -- ret = __b64_pton(buf, (u_char *)&key->key, sizeof(key->key) + 4); -+ ret = b64_pton(buf, (u_char *)&key->key, sizeof(key->key) + 4); - if (ret != sizeof(key->key)) { - D("%s: Invalid base64 data ret=%d\n", file, ret); - free(key); -diff --git a/core/adbd/adb_auth_client.c b/core/adbd/adb_auth_client.c -index 0b4913e..068d837 100644 ---- a/core/adbd/adb_auth_client.c -+++ b/core/adbd/adb_auth_client.c -@@ -72,7 +72,7 @@ static void read_keys(const char *file, struct listnode *list) - if (sep) - *sep = '\0'; - -- ret = __b64_pton(buf, (u_char *)&key->key, sizeof(key->key) + 4); -+ ret = b64_pton(buf, (u_char *)&key->key, sizeof(key->key) + 4); - if (ret != sizeof(key->key)) { - D("%s: Invalid base64 data ret=%d\n", file, ret); - free(key); --- -2.6.1 - diff --git a/package/android-tools/0004-Fix-build-issue-with-musl.patch b/package/android-tools/0004-Fix-build-issue-with-musl.patch index 964eb87a6..affd75b25 100644 --- a/package/android-tools/0004-Fix-build-issue-with-musl.patch +++ b/package/android-tools/0004-Fix-build-issue-with-musl.patch @@ -1,4 +1,7 @@ -[PATCH] Fix build issue with musl +From d14ca3e3362448590adaebacb76d4d8046f9b556 Mon Sep 17 00:00:00 2001 +From: Gary Bisson +Date: Sun, 1 Dec 2024 15:44:16 +0100 +Subject: [PATCH] Fix build issue with musl arpa/nameser.h doesn't use the same macro name to avoid several inclusions. @@ -8,19 +11,12 @@ TEMP_FAILURE_RETRY macro. Signed-off-by: Gary Bisson --- - core/adbd/arpa_nameser.h | 12 +++++++++--- - core/adbd/base64.c | 1 - - core/adbd/framebuffer_service.c | 1 + - core/adbd/qemu_pipe.h | 1 - - core/include/cutils/android_reboot.h | 8 ++++++-- - core/include/cutils/bitops.h | 10 ++++++---- - core/include/cutils/partition_utils.h | 8 ++++++-- - extras/ext4_utils/sha1.c | 3 --- - extras/ext4_utils/sha1.h | 13 ++++++------- - 9 files changed, 34 insertions(+), 23 deletions(-) + core/adbd/arpa_nameser.h | 3 +++ + core/adbd/framebuffer_service.c | 1 + + 2 files changed, 4 insertions(+) diff --git a/core/adbd/arpa_nameser.h b/core/adbd/arpa_nameser.h -index 438dc04..b2a28d6 100644 +index 438dc04..f3d2fee 100644 --- a/core/adbd/arpa_nameser.h +++ b/core/adbd/arpa_nameser.h @@ -52,6 +52,8 @@ @@ -32,7 +28,7 @@ index 438dc04..b2a28d6 100644 #define BIND_4_COMPAT -@@ -574,4 +579,5 @@ __END_DECLS +@@ -574,4 +576,5 @@ __END_DECLS #define XLOG(...) do {} while (0) #endif @@ -51,4 +47,5 @@ index 20c08d2..48e0241 100644 #include #include -- -2.6.1 +2.47.0 + diff --git a/package/android-tools/0005-Use-pkgconf-to-get-libs-deps.patch b/package/android-tools/0005-makefiles-use-pkgconf-to-get-libs-deps.patch similarity index 57% rename from package/android-tools/0005-Use-pkgconf-to-get-libs-deps.patch rename to package/android-tools/0005-makefiles-use-pkgconf-to-get-libs-deps.patch index 63ea1fb6a..8136ac832 100644 --- a/package/android-tools/0005-Use-pkgconf-to-get-libs-deps.patch +++ b/package/android-tools/0005-makefiles-use-pkgconf-to-get-libs-deps.patch @@ -1,4 +1,7 @@ -makefiles: use pkgconf to get libs deps +From 10f3f6fb75da72f155e72794d6647e4fa21a87d0 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Sun, 1 Dec 2024 15:45:01 +0100 +Subject: [PATCH] makefiles: use pkgconf to get libs deps LIBS lists library dependencies without taking into account static linking that need ordered listing and more libraries listed since differently from @@ -10,26 +13,36 @@ needed libraries are listed during linking. Signed-off-by: Giulio Benetti --- -diff -urpN android-tools-4.2.2+git20130218.orig/debian/makefiles/adbd.mk android-tools-4.2.2+git20130218/debian/makefiles/adbd.mk ---- android-tools-4.2.2+git20130218.orig/debian/makefiles/adbd.mk 2019-04-08 16:05:02.967710428 +0200 -+++ android-tools-4.2.2+git20130218/debian/makefiles/adbd.mk 2019-04-08 16:30:42.463084426 +0200 + debian/makefiles/adb.mk | 2 +- + debian/makefiles/adbd.mk | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/debian/makefiles/adb.mk b/debian/makefiles/adb.mk +index 654b9f1..a03c93a 100644 +--- a/debian/makefiles/adb.mk ++++ b/debian/makefiles/adb.mk +@@ -41,7 +41,7 @@ CPPFLAGS+= -DHAVE_TERMIO_H + CPPFLAGS+= -I$(SRCDIR)/core/adb + CPPFLAGS+= -I$(SRCDIR)/core/include + +-LIBS+= -lc -lpthread -lz -lcrypto ++LIBS+= -lc -lpthread -lz `pkg-config --libs libcrypto` + + OBJS= $(SRCS:.c=.o) + +diff --git a/debian/makefiles/adbd.mk b/debian/makefiles/adbd.mk +index 22c1816..a8eee3a 100644 +--- a/debian/makefiles/adbd.mk ++++ b/debian/makefiles/adbd.mk @@ -44,7 +44,7 @@ CPPFLAGS+= -DADBD_NON_ANDROID CPPFLAGS+= -I$(SRCDIR)/core/adbd CPPFLAGS+= -I$(SRCDIR)/core/include - + -LIBS+= -lc -lpthread -lz -lcrypto -lcrypt +LIBS+= -lc -lpthread -lz `pkg-config --libs libcrypto` -lcrypt - + OBJS= $(patsubst %, %.o, $(basename $(SRCS))) + +-- +2.47.0 -diff -urpN android-tools-4.2.2+git20130218.orig/debian/makefiles/adb.mk android-tools-4.2.2+git20130218/debian/makefiles/adb.mk ---- android-tools-4.2.2+git20130218.orig/debian/makefiles/adb.mk 2019-04-08 16:05:02.959701400 +0200 -+++ android-tools-4.2.2+git20130218/debian/makefiles/adb.mk 2019-04-08 16:31:06.529426250 +0200 -@@ -41,7 +41,7 @@ CPPFLAGS+= -DHAVE_TERMIO_H - CPPFLAGS+= -I$(SRCDIR)/core/adb - CPPFLAGS+= -I$(SRCDIR)/core/include - --LIBS+= -lc -lpthread -lz -lcrypto -+LIBS+= -lc -lpthread -lz `pkg-config --libs libcrypto` - - OBJS= $(SRCS:.c=.o) diff --git a/package/android-tools/0006-fix-big-endian-build.patch b/package/android-tools/0006-Fix-build-on-big-endian-systems.patch similarity index 75% rename from package/android-tools/0006-fix-big-endian-build.patch rename to package/android-tools/0006-Fix-build-on-big-endian-systems.patch index c35fdcb8c..d7fcb1cf0 100644 --- a/package/android-tools/0006-fix-big-endian-build.patch +++ b/package/android-tools/0006-Fix-build-on-big-endian-systems.patch @@ -1,4 +1,7 @@ -Fix build on big endian systems +From 8f7e9458dbfca969d3edc9cf409b3439e98f4c5a Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 1 Dec 2024 15:45:26 +0100 +Subject: [PATCH] Fix build on big endian systems The usb_linux_client.c file defines cpu_to_le16/32 by using the C library htole16/32 function calls. However, cpu_to_le16/32 are used @@ -14,9 +17,13 @@ To solve this, we simply open-code cpu_to_le16/32 in a way that allows them to be used when initializing structures. Signed-off-by: Thomas Petazzoni +--- + core/adb/usb_linux_client.c | 11 +++++++++-- + core/adbd/usb_linux_client.c | 11 +++++++++-- + 2 files changed, 18 insertions(+), 4 deletions(-) -Index: b/core/adb/usb_linux_client.c -=================================================================== +diff --git a/core/adb/usb_linux_client.c b/core/adb/usb_linux_client.c +index fb1dad0..a981e96 100644 --- a/core/adb/usb_linux_client.c +++ b/core/adb/usb_linux_client.c @@ -34,8 +34,15 @@ @@ -37,8 +44,8 @@ Index: b/core/adb/usb_linux_client.c struct usb_handle { -Index: b/core/adbd/usb_linux_client.c -=================================================================== +diff --git a/core/adbd/usb_linux_client.c b/core/adbd/usb_linux_client.c +index 33875a8..0e4d200 100644 --- a/core/adbd/usb_linux_client.c +++ b/core/adbd/usb_linux_client.c @@ -34,8 +34,15 @@ @@ -59,3 +66,6 @@ Index: b/core/adbd/usb_linux_client.c struct usb_handle { +-- +2.47.0 + diff --git a/package/android-tools/0007-include-cdefs-h-when-needed.patch b/package/android-tools/0007-Include-cdefs.h-wherever-it-is-needed.patch similarity index 71% rename from package/android-tools/0007-include-cdefs-h-when-needed.patch rename to package/android-tools/0007-Include-cdefs.h-wherever-it-is-needed.patch index da4ee13a1..d4e483c6d 100644 --- a/package/android-tools/0007-include-cdefs-h-when-needed.patch +++ b/package/android-tools/0007-Include-cdefs.h-wherever-it-is-needed.patch @@ -1,4 +1,7 @@ -Include cdefs.h wherever it is needed +From d3f0157bf2ac1afc9a810ccbe188110df724129d Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Sun, 1 Dec 2024 15:46:15 +0100 +Subject: [PATCH] Include cdefs.h wherever it is needed cdefs.h is included from within a lot of glibc headers, so it almost invariably and automagically gets pulled in with glibc. @@ -11,12 +14,12 @@ So we must include it when we are going to use macros it provides. Signed-off-by: "Yann E. MORIN" --- - core/adbd/services.c | 1 + - core/libcutils/android_reboot.c | 1 + - 2 files changed, 2 insertions(+), 0 deletion(-) + core/adbd/services.c | 1 + + core/libcutils/android_reboot.c | 1 + + 2 files changed, 2 insertions(+) diff --git a/core/adbd/services.c b/core/adbd/services.c -index 20c08d2..48e0241 100644 +index 5adcefe..6de1951 100644 --- a/core/adbd/services.c +++ b/core/adbd/services.c @@ -20,6 +20,7 @@ @@ -28,7 +31,7 @@ index 20c08d2..48e0241 100644 #include "sysdeps.h" diff --git a/core/libcutils/android_reboot.c b/core/libcutils/android_reboot.c -index 20c08d2..48e0241 100644 +index 79c05f8..9386006 100644 --- a/core/libcutils/android_reboot.c +++ b/core/libcutils/android_reboot.c @@ -23,6 +23,7 @@ @@ -39,3 +42,6 @@ index 20c08d2..48e0241 100644 #include +-- +2.47.0 + diff --git a/package/android-tools/0008-Include-sysmacros.h-to-compile-with-glibc-2.28.patch b/package/android-tools/0008-usb_linux.c-fix-minor-major-build-failure-due-to-gli.patch similarity index 41% rename from package/android-tools/0008-Include-sysmacros.h-to-compile-with-glibc-2.28.patch rename to package/android-tools/0008-usb_linux.c-fix-minor-major-build-failure-due-to-gli.patch index 77b457f60..38b3b9a48 100644 --- a/package/android-tools/0008-Include-sysmacros.h-to-compile-with-glibc-2.28.patch +++ b/package/android-tools/0008-usb_linux.c-fix-minor-major-build-failure-due-to-gli.patch @@ -1,4 +1,8 @@ -usb_linux.c: fix minor()/major() build failure due to glibc 2.28 +From 99c20bd08065d9c78d81ba7aa48a2a113ab28c26 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Sun, 1 Dec 2024 15:46:50 +0100 +Subject: [PATCH] usb_linux.c: fix minor()/major() build failure due to glibc + 2.28 glibc 2.28 no longer includes from , and therefore must be included explicitly when @@ -7,9 +11,17 @@ major()/minor() are used. This commit adds a patch to directly include into all usb_linux.c files where minor() and major() macros are used. -diff -urpN host-android-tools-4.2.2+git20130218.orig/core/adb/usb_linux.c host-android-tools-4.2.2+git20130218/core/adb/usb_linux.c ---- host-android-tools-4.2.2+git20130218.orig/core/adb/usb_linux.c 2013-02-18 15:49:03.000000000 +0100 -+++ host-android-tools-4.2.2+git20130218/core/adb/usb_linux.c 2018-09-09 11:47:16.476292546 +0200 +Signed-off-by: Giulio Benetti +--- + core/adb/usb_linux.c | 1 + + core/adbd/usb_linux.c | 1 + + core/fastboot/usb_linux.c | 1 + + 3 files changed, 3 insertions(+) + +diff --git a/core/adb/usb_linux.c b/core/adb/usb_linux.c +index 7bf2057..f748267 100644 +--- a/core/adb/usb_linux.c ++++ b/core/adb/usb_linux.c @@ -20,6 +20,7 @@ #include @@ -18,9 +30,10 @@ diff -urpN host-android-tools-4.2.2+git20130218.orig/core/adb/usb_linux.c host-a #include #include #include -diff -urpN host-android-tools-4.2.2+git20130218.orig/core/adbd/usb_linux.c host-android-tools-4.2.2+git20130218/core/adbd/usb_linux.c ---- host-android-tools-4.2.2+git20130218.orig/core/adbd/usb_linux.c 2018-09-09 02:32:57.154503866 +0200 -+++ host-android-tools-4.2.2+git20130218/core/adbd/usb_linux.c 2018-09-09 11:47:28.148353880 +0200 +diff --git a/core/adbd/usb_linux.c b/core/adbd/usb_linux.c +index 7bf2057..f748267 100644 +--- a/core/adbd/usb_linux.c ++++ b/core/adbd/usb_linux.c @@ -20,6 +20,7 @@ #include @@ -29,9 +42,10 @@ diff -urpN host-android-tools-4.2.2+git20130218.orig/core/adbd/usb_linux.c host- #include #include #include -diff -urpN host-android-tools-4.2.2+git20130218.orig/core/fastboot/usb_linux.c host-android-tools-4.2.2+git20130218/core/fastboot/usb_linux.c ---- host-android-tools-4.2.2+git20130218.orig/core/fastboot/usb_linux.c 2013-02-18 15:49:03.000000000 +0100 -+++ host-android-tools-4.2.2+git20130218/core/fastboot/usb_linux.c 2018-09-09 11:46:53.028169154 +0200 +diff --git a/core/fastboot/usb_linux.c b/core/fastboot/usb_linux.c +index b7a9ca3..2dac62b 100644 +--- a/core/fastboot/usb_linux.c ++++ b/core/fastboot/usb_linux.c @@ -33,6 +33,7 @@ #include @@ -40,3 +54,6 @@ diff -urpN host-android-tools-4.2.2+git20130218.orig/core/fastboot/usb_linux.c h #include #include #include +-- +2.47.0 + diff --git a/package/android-tools/0009-Fix-makefiles-for-out-of-tree-ext4_utils-build.patch b/package/android-tools/0009-Fix-makefiles-for-out-of-tree-ext4_utils-build.patch index 80ea1ec1f..94216102c 100644 --- a/package/android-tools/0009-Fix-makefiles-for-out-of-tree-ext4_utils-build.patch +++ b/package/android-tools/0009-Fix-makefiles-for-out-of-tree-ext4_utils-build.patch @@ -1,4 +1,4 @@ -From d24abbec201975a5eb7f8589614cfb424b8c80b6 Mon Sep 17 00:00:00 2001 +From 3c4319da20fab4e48ec02e28f5b013b4a33b5fe4 Mon Sep 17 00:00:00 2001 From: Alex Kaplan Date: Sat, 10 Nov 2018 19:50:51 -0800 Subject: [PATCH] Fix makefiles for out-of-tree ext4_utils build @@ -44,5 +44,5 @@ index cb64916..c5904bf 100644 LIBS+= -lz -lselinux -- -2.7.4 +2.47.0 diff --git a/package/android-tools/0010-adb-added-patch-for-openssl-1.1.0-compatibility.patch b/package/android-tools/0010-adb-added-patch-for-openssl-1.1.0-compatibility.patch index 2de338368..96ca5b737 100644 --- a/package/android-tools/0010-adb-added-patch-for-openssl-1.1.0-compatibility.patch +++ b/package/android-tools/0010-adb-added-patch-for-openssl-1.1.0-compatibility.patch @@ -1,4 +1,4 @@ -From bb3da0e32be4f2260940edf3ee0f88103dfd0dcc Mon Sep 17 00:00:00 2001 +From 79bf5cdee607241434e0d1c5b72e724eb1d20102 Mon Sep 17 00:00:00 2001 From: Eneas U de Queiroz Date: Tue, 5 Feb 2019 01:12:19 +0200 Subject: [PATCH] adb: added patch for openssl 1.1.0 compatibility @@ -43,5 +43,5 @@ index 9039d42..debd2ef 100644 out: BN_free(n0inv); -- -2.14.1 +2.47.0 diff --git a/package/android-tools/0011-core-fastboot-fastboot.c-reorder-functions-to-avoid-.patch b/package/android-tools/0011-core-fastboot-fastboot.c-reorder-functions-to-avoid-.patch new file mode 100644 index 000000000..17a7619bf --- /dev/null +++ b/package/android-tools/0011-core-fastboot-fastboot.c-reorder-functions-to-avoid-.patch @@ -0,0 +1,54 @@ +From 6919b6619a9c744d2220f7af6e211c50662ba94b Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 14 Jul 2024 11:41:10 +0200 +Subject: [PATCH] core/fastboot/fastboot.c: reorder functions to avoid implicit + definition +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The match_fastboot() function uses match_fastboot_with_serial() but is +implemented before it, causing an implicit definition. Re-order the +functions to avoid this. + +Fixes: + +core/fastboot/fastboot.c:191:12: error: implicit declaration of function ‘match_fastboot_with_serial’ [-Wimplicit-function-declaration] + +Upstream: N/A, we're too far from upstream +Signed-off-by: Thomas Petazzoni +--- + core/fastboot/fastboot.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/core/fastboot/fastboot.c b/core/fastboot/fastboot.c +index 3de6d7d..9b2c86f 100644 +--- a/core/fastboot/fastboot.c ++++ b/core/fastboot/fastboot.c +@@ -186,11 +186,6 @@ oops: + } + #endif + +-int match_fastboot(usb_ifc_info *info) +-{ +- return match_fastboot_with_serial(info, serial); +-} +- + int match_fastboot_with_serial(usb_ifc_info *info, const char *local_serial) + { + if(!(vendor_id && (info->dev_vendor == vendor_id)) && +@@ -217,6 +212,11 @@ int match_fastboot_with_serial(usb_ifc_info *info, const char *local_serial) + return 0; + } + ++int match_fastboot(usb_ifc_info *info) ++{ ++ return match_fastboot_with_serial(info, serial); ++} ++ + int list_devices_callback(usb_ifc_info *info) + { + if (match_fastboot_with_serial(info, NULL) == 0) { +-- +2.47.0 + diff --git a/package/android-tools/0012-core-libsparse-sparse_read.c-add-missing-output_file.patch b/package/android-tools/0012-core-libsparse-sparse_read.c-add-missing-output_file.patch new file mode 100644 index 000000000..9e35a4782 --- /dev/null +++ b/package/android-tools/0012-core-libsparse-sparse_read.c-add-missing-output_file.patch @@ -0,0 +1,37 @@ +From 72b9e79c81a237f1839afb4fdee680eafdd180d9 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 14 Jul 2024 11:41:56 +0200 +Subject: [PATCH] core/libsparse/sparse_read.c: add missing output_file.h + include +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +sparse_read.c uses read_all() without including the header file +containing its prototype, causing: + +core/libsparse/sparse_read.c:122:31: error: implicit declaration of function ‘read_all’ [-Wimplicit-function-declaration] + +Fix this by including output_file.h. + +Upstream: N/A, we're too far from upstream +Signed-off-by: Thomas Petazzoni +--- + core/libsparse/sparse_read.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/core/libsparse/sparse_read.c b/core/libsparse/sparse_read.c +index 704bcfa..0a8f838 100644 +--- a/core/libsparse/sparse_read.c ++++ b/core/libsparse/sparse_read.c +@@ -32,6 +32,7 @@ + #include "sparse_crc32.h" + #include "sparse_file.h" + #include "sparse_format.h" ++#include "output_file.h" + + #if defined(__APPLE__) && defined(__MACH__) + #define lseek64 lseek +-- +2.47.0 + diff --git a/package/android-tools/0013-extras-ext4_utils-make_ext4fs_main.c-disable-Android.patch b/package/android-tools/0013-extras-ext4_utils-make_ext4fs_main.c-disable-Android.patch new file mode 100644 index 000000000..b6902982f --- /dev/null +++ b/package/android-tools/0013-extras-ext4_utils-make_ext4fs_main.c-disable-Android.patch @@ -0,0 +1,54 @@ +From 01e86db8460d873aec15d658bfc717b026c0545f Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 14 Jul 2024 11:46:51 +0200 +Subject: [PATCH] extras/ext4_utils/make_ext4fs_main.c: disable + Android-specific code +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Since we are not building with the Android code, we do not have the +implementation of the selinux_android_file_context_handle(). However, +its only call site is when 'mountpoint' is set, and 'mountpoint' +cannot be non-NULL in non-Android cases due to how the -a option is +parsed: + + case 'a': + #ifdef ANDROID + fs_config_func = fs_config; + mountpoint = optarg; + #else + fprintf(stderr, "can't set android permissions - built without android support\n"); + usage(argv[0]); + exit(EXIT_FAILURE); + #endif + +So also compile out the code calling +selinux_android_file_context_handle() when ANDROID is not set. + +Fixes: + +make_ext4fs_main.c:155:25: error: implicit declaration of function ‘selinux_android_file_context_handle’ [-Wimplicit-function-declaration] + +Upstream: N/A, we're too far from upstream +Signed-off-by: Thomas Petazzoni +--- + extras/ext4_utils/make_ext4fs_main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/extras/ext4_utils/make_ext4fs_main.c b/extras/ext4_utils/make_ext4fs_main.c +index 17d3735..cb58011 100644 +--- a/extras/ext4_utils/make_ext4fs_main.c ++++ b/extras/ext4_utils/make_ext4fs_main.c +@@ -149,7 +149,7 @@ int main(int argc, char **argv) + } + } + +-#if !defined(HOST) ++#if !defined(HOST) && defined(ANDROID) + // Use only if -S option not requested + if (!sehnd && mountpoint) { + sehnd = selinux_android_file_context_handle(); +-- +2.47.0 + diff --git a/package/android-tools/0014-core-adbd-adb.c-open-code-capset.patch b/package/android-tools/0014-core-adbd-adb.c-open-code-capset.patch new file mode 100644 index 000000000..36a9208c6 --- /dev/null +++ b/package/android-tools/0014-core-adbd-adb.c-open-code-capset.patch @@ -0,0 +1,52 @@ +From 850fd3f4a0384ebe492a466a9b1149060619aacb Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 14 Jul 2024 12:57:22 +0200 +Subject: [PATCH] core/adbd/adb.c: open code capset() + +capset() is apparently implemented by C libraries (at least glibc and +musl), but not exposed through a header as an official public API. + +In addition capset(2) says: + + Note: glibc provides no wrappers for these system calls, + necessitating the use of syscall(2) + +The lack of a header with a prototype for capset() was not causing any +problem so far, but GCC 14.x has become stricter on implicit +declarations, causing the build to fail with: + +core/adbd/adb.c:1296:9: error: implicit declaration of function 'capset' [-Wimplicit-function-declaration] + +So fix that by open-coding it using syscall() as suggested by the man +page. + +Upstream: N/A, we're too far from upstream +Signed-off-by: Thomas Petazzoni +--- + core/adbd/adb.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/core/adbd/adb.c b/core/adbd/adb.c +index 7fe6445..98b1de1 100644 +--- a/core/adbd/adb.c ++++ b/core/adbd/adb.c +@@ -41,6 +41,7 @@ + #if !ADB_HOST + #include "android_filesystem_config.h" + #include ++#include + #include + #include + #else +@@ -1293,7 +1294,7 @@ int adb_main(int is_daemon, int server_port) + header.pid = 0; + cap[CAP_TO_INDEX(CAP_SYS_BOOT)].effective |= CAP_TO_MASK(CAP_SYS_BOOT); + cap[CAP_TO_INDEX(CAP_SYS_BOOT)].permitted |= CAP_TO_MASK(CAP_SYS_BOOT); +- capset(&header, cap); ++ syscall(SYS_capset, &header, cap); + + D("Local port disabled\n"); + } else { +-- +2.47.0 + diff --git a/package/android-tools/0015-core-adbd-adb.c-include-correct-header-for-prctl.patch b/package/android-tools/0015-core-adbd-adb.c-include-correct-header-for-prctl.patch new file mode 100644 index 000000000..0a35dbcc7 --- /dev/null +++ b/package/android-tools/0015-core-adbd-adb.c-include-correct-header-for-prctl.patch @@ -0,0 +1,34 @@ +From 8f351150de38641c8ce2e9b7f9a5cba29ccd8f7e Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 14 Jul 2024 13:00:02 +0200 +Subject: [PATCH] core/adbd/adb.c: include correct header for prctl() + +As documented by prctl(2), the correct header to include for prctl() +is , not . + +Fixes: + +core/adbd/adb.c:1256:13: error: implicit declaration of function 'prctl' [-Wimplicit-function-declaration] + +Upstream: N/A, we're too far from upstream +Signed-off-by: Thomas Petazzoni +--- + core/adbd/adb.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/core/adbd/adb.c b/core/adbd/adb.c +index 98b1de1..10f420b 100644 +--- a/core/adbd/adb.c ++++ b/core/adbd/adb.c +@@ -42,7 +42,7 @@ + #include "android_filesystem_config.h" + #include + #include +-#include ++#include + #include + #else + #include "usb_vendors.h" +-- +2.47.0 + diff --git a/package/android-tools/0016-extras-ext4_utils-make_ext4fs.c-define-__SANE_USERSP.patch b/package/android-tools/0016-extras-ext4_utils-make_ext4fs.c-define-__SANE_USERSP.patch new file mode 100644 index 000000000..5f3650cc7 --- /dev/null +++ b/package/android-tools/0016-extras-ext4_utils-make_ext4fs.c-define-__SANE_USERSP.patch @@ -0,0 +1,68 @@ +From 5db9529436f13b8c073a0310da3a1107f84645da Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 4 Dec 2024 20:51:22 +0100 +Subject: [PATCH] extras/ext4_utils/make_ext4fs.c: define + __SANE_USERSPACE_TYPES__ +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The Debian patch ppc64el-ftbfs.patch is already defining +__SANE_USERSPACE_TYPES__ in a few files to solve a conflict between +kernel header definitions and local definition of some types, on +powerpc64 and mips64. + +However, the Debian patch lacks an update to ext4_utils.c, and has the +definition too late in make_ext4fs.c. This commit therefore fixes +those two remaining issues, fixing: + +error: conflicting types for ‘u64’; have ‘long unsigned int’ + +Upstream: N/A, we're too far from upstream +Signed-off-by: Thomas Petazzoni +--- + extras/ext4_utils/ext4_utils.c | 5 ++++- + extras/ext4_utils/make_ext4fs.c | 4 ++++ + 2 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/extras/ext4_utils/ext4_utils.c b/extras/ext4_utils/ext4_utils.c +index e95f5cc..9f6836f 100644 +--- a/extras/ext4_utils/ext4_utils.c ++++ b/extras/ext4_utils/ext4_utils.c +@@ -14,6 +14,10 @@ + * limitations under the License. + */ + ++#if defined(__linux__) ++#define __SANE_USERSPACE_TYPES__ ++#endif ++ + #include "ext4_utils.h" + #include "uuid.h" + #include "allocate.h" +@@ -36,7 +40,6 @@ + #endif + + #if defined(__linux__) +-#define __SANE_USERSPACE_TYPES__ + #include + #elif defined(__APPLE__) && defined(__MACH__) + #include +diff --git a/extras/ext4_utils/make_ext4fs.c b/extras/ext4_utils/make_ext4fs.c +index 3124aed..332a213 100644 +--- a/extras/ext4_utils/make_ext4fs.c ++++ b/extras/ext4_utils/make_ext4fs.c +@@ -14,6 +14,10 @@ + * limitations under the License. + */ + ++#if defined(__linux__) ++#define __SANE_USERSPACE_TYPES__ ++#endif ++ + #include "make_ext4fs.h" + #include "ext4_utils.h" + #include "allocate.h" +-- +2.47.0 + diff --git a/package/apache/0004-ap_log_error-Include-ap_config_auto.h-to-define-_GNU.patch b/package/apache/0004-ap_log_error-Include-ap_config_auto.h-to-define-_GNU.patch new file mode 100644 index 000000000..40386147c --- /dev/null +++ b/package/apache/0004-ap_log_error-Include-ap_config_auto.h-to-define-_GNU.patch @@ -0,0 +1,40 @@ +From f7a85d0d2b76db75dc976e8dfa1101c954ea1a74 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Mon, 28 Oct 2024 23:13:05 +0100 +Subject: [PATCH] ap_log_error: Include ap_config_auto.h to define + _GNU_SOURCE + +gettid() needs _GNU_SOURCE defined which is provided by ap_config_auto.h + +Fixes buildroot error: +http://autobuild.buildroot.net/results/2f6/2f6b7bbb4c97e4c91b3abd6bb205e237e57045fa//build-end.log + +log.c: In function 'log_tid': +log.c:637:21: error: implicit declaration of function 'gettid'; did you mean 'getgid'? [-Wimplicit-function-declaration] + 637 | pid_t tid = gettid(); + +Upstream: https://github.com/apache/httpd/pull/496 + +Signed-off-by: Bernd Kuhls +--- + server/log.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/server/log.c b/server/log.c +index 91dcf2c3eb..e709288858 100644 +--- a/server/log.c ++++ b/server/log.c +@@ -21,6 +21,10 @@ + * + */ + ++#if !defined(WIN32) && !defined(NETWARE) ++#include "ap_config_auto.h" ++#endif ++ + #include "apr.h" + #include "apr_general.h" /* for signal stuff */ + #include "apr_strings.h" +-- +2.39.5 + diff --git a/package/apache/0004-mod_xml2enc-remove-dependency-on-xmlstring-header.patch b/package/apache/0004-mod_xml2enc-remove-dependency-on-xmlstring-header.patch deleted file mode 100644 index 8ff707658..000000000 --- a/package/apache/0004-mod_xml2enc-remove-dependency-on-xmlstring-header.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 27a68e54b7c6d2ae80dca396fd2727852897dab1 Mon Sep 17 00:00:00 2001 -From: Eric Covener -Date: Tue, 21 Nov 2023 12:58:47 +0000 -Subject: [PATCH] mod_xml2enc: remove dependency on xmlstring header - -Submitted by: ttachi - -Github: closes #393 - -git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1914013 13f79535-47bb-0310-9956-ffa450edef68 - -Upstream: https://github.com/apache/httpd/commit/27a68e54b7c6d2ae80dca396fd2727852897dab1 - -Signed-off-by: Bernd Kuhls ---- - changes-entries/xmlchar.txt | 2 ++ - modules/filters/mod_xml2enc.c | 6 +++--- - 2 files changed, 5 insertions(+), 3 deletions(-) - create mode 100644 changes-entries/xmlchar.txt - -diff --git a/changes-entries/xmlchar.txt b/changes-entries/xmlchar.txt -new file mode 100644 -index 00000000000..d0e06300411 ---- /dev/null -+++ b/changes-entries/xmlchar.txt -@@ -0,0 +1,2 @@ -+ *) mod_xml2enc: Tolerate libxml2 2.12.0 and later. -+ [ttachi ] -diff --git a/modules/filters/mod_xml2enc.c b/modules/filters/mod_xml2enc.c -index 34f8e8ee090..e8ee2647955 100644 ---- a/modules/filters/mod_xml2enc.c -+++ b/modules/filters/mod_xml2enc.c -@@ -206,11 +206,11 @@ static void sniff_encoding(request_rec* r, xml2ctx* ctx) - } - } - } -- -+ - /* to sniff, first we look for BOM */ - if (ctx->xml2enc == XML_CHAR_ENCODING_NONE) { -- ctx->xml2enc = xmlDetectCharEncoding((const xmlChar*)ctx->buf, -- ctx->bytes); -+ ctx->xml2enc = xmlDetectCharEncoding((const unsigned char*)ctx->buf, -+ ctx->bytes); - if (HAVE_ENCODING(ctx->xml2enc)) { - ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r, APLOGNO(01432) - "Got charset from XML rules.") ; diff --git a/package/apache/apache.hash b/package/apache/apache.hash index 854bc85dc..da0b1f1f1 100644 --- a/package/apache/apache.hash +++ b/package/apache/apache.hash @@ -1,5 +1,5 @@ -# From https://archive.apache.org/dist/httpd/httpd-2.4.58.tar.bz2.{sha256,sha512} -sha256 fa16d72a078210a54c47dd5bef2f8b9b8a01d94909a51453956b3ec6442ea4c5 httpd-2.4.58.tar.bz2 -sha512 d6e73bf413a507ec16b621ff635e178206207a9e9810ce3944b3dc98d39cde8f225307110167fc9da5822175796c8cb66f98be5b9f0d8b76dcd83a401d39b2c1 httpd-2.4.58.tar.bz2 +# From https://downloads.apache.org/httpd/httpd-2.4.63.tar.bz2.{sha256,sha512} +sha256 88fc236ab99b2864b248de7d49a008ec2afd7551e64dce8b95f58f32f94c46ab httpd-2.4.63.tar.bz2 +sha512 a804ca564dfee5907fe4ce4f36884815bace0621bc7b8c9aa7c99472a954aa19cb13733f90678ff3d58ab3c76cc0e33a27e1035dc1d8cb597a9622154c59ef48 httpd-2.4.63.tar.bz2 # Locally computed sha256 47b8c2b6c3309282a99d4a3001575c790fead690cc14734628c4667d2bbffc43 LICENSE diff --git a/package/apache/apache.mk b/package/apache/apache.mk index 3efa6b0ac..14676a5ae 100644 --- a/package/apache/apache.mk +++ b/package/apache/apache.mk @@ -4,9 +4,9 @@ # ################################################################################ -APACHE_VERSION = 2.4.58 +APACHE_VERSION = 2.4.63 APACHE_SOURCE = httpd-$(APACHE_VERSION).tar.bz2 -APACHE_SITE = https://downloads.apache.org/httpd +APACHE_SITE = https://dlcdn.apache.org/httpd APACHE_LICENSE = Apache-2.0 APACHE_LICENSE_FILES = LICENSE APACHE_CPE_ID_VENDOR = apache diff --git a/package/apcupsd/apcupsd.mk b/package/apcupsd/apcupsd.mk index 97e6d6a55..43a016678 100644 --- a/package/apcupsd/apcupsd.mk +++ b/package/apcupsd/apcupsd.mk @@ -11,6 +11,7 @@ APCUPSD_LICENSE_FILES = COPYING APCUPSD_CPE_ID_VENDOR = apcupsd APCUPSD_SELINUX_MODULES = apache apcupsd APCUPSD_CONF_OPTS = --disable-test +APCUPSD_CONF_ENV = ac_cv_path_SHUTDOWN=/sbin/shutdown ifneq ($(BR2_PACKAGE_APCUPSD_MODBUS_USB)$(BR2_PACKAGE_APCUPSD_USB),) APCUPSD_CONF_ENV += ac_cv_path_usbcfg=$(STAGING_DIR)/usr/bin/libusb-config diff --git a/package/apr-util/Config.in b/package/apr-util/Config.in index c1a967bde..06b6c2684 100644 --- a/package/apr-util/Config.in +++ b/package/apr-util/Config.in @@ -5,6 +5,8 @@ config BR2_PACKAGE_APR_UTIL depends on BR2_USE_MMU # apr select BR2_PACKAGE_APR select BR2_PACKAGE_EXPAT + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENGINES if BR2_PACKAGE_LIBOPENSSL help The utility library for the apache runtime project diff --git a/package/apr/0004-Merge-r1920082-from-1.8.x.patch b/package/apr/0004-Merge-r1920082-from-1.8.x.patch new file mode 100644 index 000000000..5d198def3 --- /dev/null +++ b/package/apr/0004-Merge-r1920082-from-1.8.x.patch @@ -0,0 +1,71 @@ +From 36ea6d5a2bfc480dd8032cc8651e6793552bc2aa Mon Sep 17 00:00:00 2001 +From: Eric Covener +Date: Tue, 20 Aug 2024 21:50:42 +0000 +Subject: [PATCH] Merge r1920082 from 1.8.x: + +use 0600 perms for named shared mem consistently + + + + +git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1920083 13f79535-47bb-0310-9956-ffa450edef68 +Upstream: https://github.com/apache/apr/commit/36ea6d5a2bfc480dd8032cc8651e6793552bc2aa +Signed-off-by: Peter Korsgaard +--- + shmem/unix/shm.c | 18 +++++++----------- + 1 file changed, 7 insertions(+), 11 deletions(-) + +diff --git a/shmem/unix/shm.c b/shmem/unix/shm.c +index 096884d99..ea9b94277 100644 +--- a/shmem/unix/shm.c ++++ b/shmem/unix/shm.c +@@ -287,10 +287,9 @@ APR_DECLARE(apr_status_t) apr_shm_create(apr_shm_t **m, + status = APR_SUCCESS; + + #if APR_USE_SHMEM_MMAP_TMP +- /* FIXME: Is APR_OS_DEFAULT sufficient? */ +- status = apr_file_open(&file, filename, +- APR_READ | APR_WRITE | APR_CREATE | APR_EXCL, +- APR_OS_DEFAULT, pool); ++ status = apr_file_open(&file, filename, ++ APR_FOPEN_READ | APR_FOPEN_WRITE | APR_FOPEN_CREATE | APR_FOPEN_EXCL, ++ APR_FPROT_UREAD | APR_FPROT_UWRITE, pool); + if (status != APR_SUCCESS) { + return status; + } +@@ -319,8 +318,7 @@ APR_DECLARE(apr_status_t) apr_shm_create(apr_shm_t **m, + } + #endif /* APR_USE_SHMEM_MMAP_TMP */ + #if APR_USE_SHMEM_MMAP_SHM +- /* FIXME: SysV uses 0600... should we? */ +- tmpfd = shm_open(shm_name, O_RDWR | O_CREAT | O_EXCL, 0644); ++ tmpfd = shm_open(shm_name, O_RDWR | O_CREAT | O_EXCL, 0600); + if (tmpfd == -1) { + return errno; + } +@@ -361,10 +359,9 @@ APR_DECLARE(apr_status_t) apr_shm_create(apr_shm_t **m, + #elif APR_USE_SHMEM_SHMGET + new_m->realsize = reqsize; + +- /* FIXME: APR_OS_DEFAULT is too permissive, switch to 600 I think. */ +- status = apr_file_open(&file, filename, ++ status = apr_file_open(&file, filename, + APR_FOPEN_WRITE | APR_FOPEN_CREATE | APR_FOPEN_EXCL, +- APR_OS_DEFAULT, pool); ++ APR_FPROT_UREAD | APR_FPROT_UWRITE, pool); + if (status != APR_SUCCESS) { + return status; + } +@@ -555,8 +552,7 @@ APR_DECLARE(apr_status_t) apr_shm_attach(apr_shm_t **m, + #if APR_USE_SHMEM_MMAP_SHM + const char *shm_name = make_shm_open_safe_name(filename, pool); + +- /* FIXME: SysV uses 0600... should we? */ +- tmpfd = shm_open(shm_name, O_RDWR, 0644); ++ tmpfd = shm_open(shm_name, O_RDWR, 0600); + if (tmpfd == -1) { + return errno; + } +-- +2.39.5 + diff --git a/package/apr/apr.mk b/package/apr/apr.mk index bdc5e915c..29aedbf1e 100644 --- a/package/apr/apr.mk +++ b/package/apr/apr.mk @@ -16,6 +16,9 @@ APR_INSTALL_STAGING = YES # so we need to autoreconf: APR_AUTORECONF = YES +# 0004-Merge-r1920082-from-1.8.x.patch +APR_IGNORE_CVES += CVE-2023-49582 + APR_CONF_OPTS = --disable-sctp # avoid apr_hints.m4 by setting apr_preload_done=yes and set @@ -39,7 +42,7 @@ APR_CONF_ENV = \ ac_cv_sizeof_struct_iovec=8 \ ac_cv_sizeof_pid_t=4 \ ac_cv_struct_rlimit=yes \ - ac_cv_strerror_r_rc_int=no \ + ac_cv_strerror_r_rc_int=$(if $(BR2_TOOLCHAIN_USES_MUSL),yes,no) \ ac_cv_o_nonblock_inherited=no \ apr_cv_mutex_recursive=yes \ apr_cv_epoll=yes \ diff --git a/package/armadillo/armadillo.hash b/package/armadillo/armadillo.hash index cc91fb456..9b19b8c8c 100644 --- a/package/armadillo/armadillo.hash +++ b/package/armadillo/armadillo.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 d78658c9442addf7f718eb05881150ee3ec25604d06dd3af4942422b3ce26d05 armadillo-9.900.2.tar.xz +sha256 d78658c9442addf7f718eb05881150ee3ec25604d06dd3af4942422b3ce26d05 armadillo-9.900.2.tar.xz.RETIRED # License files, locally calculated sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 LICENSE.txt diff --git a/package/armadillo/armadillo.mk b/package/armadillo/armadillo.mk index 8661bfd9d..81684a44f 100644 --- a/package/armadillo/armadillo.mk +++ b/package/armadillo/armadillo.mk @@ -5,8 +5,8 @@ ################################################################################ ARMADILLO_VERSION = 9.900.2 -ARMADILLO_SOURCE = armadillo-$(ARMADILLO_VERSION).tar.xz -ARMADILLO_SITE = https://downloads.sourceforge.net/project/arma +ARMADILLO_SOURCE = armadillo-$(ARMADILLO_VERSION).tar.xz.RETIRED +ARMADILLO_SITE = https://sourceforge.net/projects/arma/files/retired ARMADILLO_INSTALL_STAGING = YES ARMADILLO_LICENSE = Apache-2.0 ARMADILLO_LICENSE_FILES = LICENSE.txt @@ -30,4 +30,8 @@ ARMADILLO_CONF_OPTS += -DLAPACK_FOUND=ON ARMADILLO_DEPENDENCIES += lapack endif +define ARMADILLO_EXTRACT_CMDS + $(TAR) --strip-components=1 -C $(@D) $(TAR_OPTIONS) $($(PKG)_DL_DIR)/$(ARMADILLO_SOURCE) +endef + $(eval $(cmake-package)) diff --git a/package/assimp/0001-Fix-leak-5762.patch b/package/assimp/0001-Fix-leak-5762.patch new file mode 100644 index 000000000..a78970e1d --- /dev/null +++ b/package/assimp/0001-Fix-leak-5762.patch @@ -0,0 +1,139 @@ +From 4024726eca89331503bdab33d0b9186e901bbc45 Mon Sep 17 00:00:00 2001 +From: Kim Kulling +Date: Sat, 7 Sep 2024 21:02:34 +0200 +Subject: [PATCH] Fix leak (#5762) + +* Fix leak + +* Update utLogger.cpp + +Upstream: https://github.com/assimp/assimp/commit/4024726eca89331503bdab33d0b9186e901bbc45 +Signed-off-by: Peter Korsgaard +--- + code/Common/Assimp.cpp | 13 ++++++--- + fuzz/assimp_fuzzer.cc | 2 +- + test/CMakeLists.txt | 1 + + test/unit/Common/utLogger.cpp | 52 +++++++++++++++++++++++++++++++++++ + 4 files changed, 63 insertions(+), 5 deletions(-) + create mode 100644 test/unit/Common/utLogger.cpp + +diff --git a/code/Common/Assimp.cpp b/code/Common/Assimp.cpp +index ef3ee7b5d..91896e405 100644 +--- a/code/Common/Assimp.cpp ++++ b/code/Common/Assimp.cpp +@@ -359,20 +359,25 @@ void CallbackToLogRedirector(const char *msg, char *dt) { + s->write(msg); + } + ++static LogStream *DefaultStream = nullptr; ++ + // ------------------------------------------------------------------------------------------------ + ASSIMP_API aiLogStream aiGetPredefinedLogStream(aiDefaultLogStream pStream, const char *file) { + aiLogStream sout; + + ASSIMP_BEGIN_EXCEPTION_REGION(); +- LogStream *stream = LogStream::createDefaultStream(pStream, file); +- if (!stream) { ++ if (DefaultStream == nullptr) { ++ DefaultStream = LogStream::createDefaultStream(pStream, file); ++ } ++ ++ if (!DefaultStream) { + sout.callback = nullptr; + sout.user = nullptr; + } else { + sout.callback = &CallbackToLogRedirector; +- sout.user = (char *)stream; ++ sout.user = (char *)DefaultStream; + } +- gPredefinedStreams.push_back(stream); ++ gPredefinedStreams.push_back(DefaultStream); + ASSIMP_END_EXCEPTION_REGION(aiLogStream); + return sout; + } +diff --git a/fuzz/assimp_fuzzer.cc b/fuzz/assimp_fuzzer.cc +index 8178674e8..91ffd9d69 100644 +--- a/fuzz/assimp_fuzzer.cc ++++ b/fuzz/assimp_fuzzer.cc +@@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + using namespace Assimp; + + extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t dataSize) { +- aiLogStream stream = aiGetPredefinedLogStream(aiDefaultLogStream_STDOUT,NULL); ++ aiLogStream stream = aiGetPredefinedLogStream(aiDefaultLogStream_STDOUT, nullptr); + aiAttachLogStream(&stream); + + Importer importer; +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt +index 7b7fd850a..1a45adac7 100644 +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -100,6 +100,7 @@ SET( COMMON + unit/Common/utBase64.cpp + unit/Common/utHash.cpp + unit/Common/utBaseProcess.cpp ++ unit/Common/utLogger.cpp + ) + + SET(Geometry +diff --git a/test/unit/Common/utLogger.cpp b/test/unit/Common/utLogger.cpp +new file mode 100644 +index 000000000..932240a7f +--- /dev/null ++++ b/test/unit/Common/utLogger.cpp +@@ -0,0 +1,52 @@ ++/* ++--------------------------------------------------------------------------- ++Open Asset Import Library (assimp) ++--------------------------------------------------------------------------- ++ ++Copyright (c) 2006-2024, assimp team ++ ++All rights reserved. ++ ++Redistribution and use of this software in source and binary forms, ++with or without modification, are permitted provided that the following ++conditions are met: ++ ++* Redistributions of source code must retain the above ++copyright notice, this list of conditions and the ++following disclaimer. ++ ++* Redistributions in binary form must reproduce the above ++copyright notice, this list of conditions and the ++following disclaimer in the documentation and/or other ++materials provided with the distribution. ++ ++* Neither the name of the assimp team, nor the names of its ++contributors may be used to endorse or promote products ++derived from this software without specific prior ++written permission of the assimp team. ++ ++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++--------------------------------------------------------------------------- ++*/ ++ ++#include "UnitTestPCH.h" ++#include ++ ++using namespace Assimp; ++class utLogger : public ::testing::Test {}; ++ ++TEST_F(utLogger, aiGetPredefinedLogStream_leak_test) { ++ aiLogStream stream1 = aiGetPredefinedLogStream(aiDefaultLogStream_STDOUT, nullptr); ++ aiLogStream stream2 = aiGetPredefinedLogStream(aiDefaultLogStream_STDOUT, nullptr); ++ ASSERT_EQ(stream1.callback, stream2.callback); ++} +-- +2.39.5 + diff --git a/package/assimp/0002-Fix-use-after-free-in-the-CallbackToLogRedirector-59.patch b/package/assimp/0002-Fix-use-after-free-in-the-CallbackToLogRedirector-59.patch new file mode 100644 index 000000000..c4cd2af5a --- /dev/null +++ b/package/assimp/0002-Fix-use-after-free-in-the-CallbackToLogRedirector-59.patch @@ -0,0 +1,39 @@ +From f12e52198669239af525e525ebb68407977f8e34 Mon Sep 17 00:00:00 2001 +From: tyler92 +Date: Wed, 11 Dec 2024 12:17:14 +0200 +Subject: [PATCH] Fix use after free in the CallbackToLogRedirector (#5918) + +The heap-use-after-free vulnerability occurs in the +CallbackToLogRedirector function. During the process of logging, +a previously freed memory region is accessed, leading to a +use-after-free condition. This vulnerability stems from incorrect +memory management, specifically, freeing a log stream and then +attempting to access it later on. + +This patch sets NULL value for The DefaultStream global pointer. + +Co-authored-by: Kim Kulling +Upstream: https://github.com/assimp/assimp/commit/f12e52198669239af525e525ebb68407977f8e34 +Signed-off-by: Peter Korsgaard +--- + code/Common/Assimp.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/code/Common/Assimp.cpp b/code/Common/Assimp.cpp +index 91896e405..22e16bd36 100644 +--- a/code/Common/Assimp.cpp ++++ b/code/Common/Assimp.cpp +@@ -416,6 +416,10 @@ ASSIMP_API aiReturn aiDetachLogStream(const aiLogStream *stream) { + DefaultLogger::get()->detachStream(it->second); + delete it->second; + ++ if ((Assimp::LogStream *)stream->user == DefaultStream) { ++ DefaultStream = nullptr; ++ } ++ + gActiveLogStreams.erase(it); + + if (gActiveLogStreams.empty()) { +-- +2.39.5 + diff --git a/package/assimp/assimp.hash b/package/assimp/assimp.hash index 79415706f..bdcab695f 100644 --- a/package/assimp/assimp.hash +++ b/package/assimp/assimp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a07666be71afe1ad4bc008c2336b7c688aca391271188eb9108d0c6db1be53f1 assimp-5.3.1.tar.gz +sha256 66dfbaee288f2bc43172440a55d0235dfc7bf885dda6435c038e8000e79582cb assimp-5.4.3.tar.gz sha256 147874443d242b4e2bae97036e26ec9d6b37f706174c1bd5ecfcc8c1294cef51 LICENSE diff --git a/package/assimp/assimp.mk b/package/assimp/assimp.mk index 2765cc717..a4614a01a 100644 --- a/package/assimp/assimp.mk +++ b/package/assimp/assimp.mk @@ -4,7 +4,7 @@ # ################################################################################ -ASSIMP_VERSION = 5.3.1 +ASSIMP_VERSION = 5.4.3 ASSIMP_SITE = $(call github,assimp,assimp,v$(ASSIMP_VERSION)) ASSIMP_LICENSE = BSD-3-Clause ASSIMP_LICENSE_FILES = LICENSE @@ -12,6 +12,10 @@ ASSIMP_CPE_ID_VENDOR = assimp ASSIMP_DEPENDENCIES = zlib ASSIMP_INSTALL_STAGING = YES +# 0001-Fix-leak-5762.patch +# 0002-Fix-use-after-free-in-the-CallbackToLogRedirector-59.patch +ASSIMP_IGNORE_CVES += CVE-2024-48423 + # relocation truncated to fit: R_68K_GOT16O. We also need to disable # optimizations to not run into "Error: value -43420 out of range" # assembler issues. diff --git a/package/asterisk/0001-sounds-do-not-download-and-check-sha1s.patch b/package/asterisk/0001-sounds-do-not-download-and-check-sha1s.patch index 8412843d1..ce0bf2d33 100644 --- a/package/asterisk/0001-sounds-do-not-download-and-check-sha1s.patch +++ b/package/asterisk/0001-sounds-do-not-download-and-check-sha1s.patch @@ -1,4 +1,4 @@ -From 3e8a9e9a1c7eae515eb628778c3c8a04338b3bb3 Mon Sep 17 00:00:00 2001 +From 63f685e468bef94d8938b7a9c1a18c6c00840219 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Tue, 27 Dec 2016 11:21:09 +0100 Subject: [PATCH] sounds: do not download and check sha1s @@ -20,16 +20,18 @@ However, that poses at least two problems: So we just do without the sha1 download and checks. +Signed-off-by: Julien Olivain +[Julien: rebase patch on tag 20.7.0] Signed-off-by: "Yann E. MORIN" --- sounds/Makefile | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/sounds/Makefile b/sounds/Makefile -index 84d0f45..7a80d56 100644 +index 288b8139a9..260434e504 100644 --- a/sounds/Makefile +++ b/sounds/Makefile -@@ -100,17 +100,7 @@ ifneq ($(SOUNDS_CACHE_DIR),) +@@ -101,17 +101,7 @@ ifneq ($(SOUNDS_CACHE_DIR),) if test ! -f "$$(SOUNDS_CACHE_DIR)/$$@"; then \ (cd "$$(SOUNDS_CACHE_DIR)"; $$(DOWNLOAD) $$(SOUNDS_URL)/$$@); \ fi; \ @@ -48,5 +50,5 @@ index 84d0f45..7a80d56 100644 else $(CMD_PREFIX) \ -- -2.7.4 +2.45.2 diff --git a/package/asterisk/0002-configure-fix-detection-of-libcrypt.patch b/package/asterisk/0002-configure-fix-detection-of-libcrypt.patch index d82f5084e..7a0de603e 100644 --- a/package/asterisk/0002-configure-fix-detection-of-libcrypt.patch +++ b/package/asterisk/0002-configure-fix-detection-of-libcrypt.patch @@ -1,4 +1,4 @@ -From 8996503f6c55e55f326ab11c18278954ad7abaf3 Mon Sep 17 00:00:00 2001 +From e959097b00357a2fd5f140daf3114c2245cd6b95 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Tue, 27 Dec 2016 11:21:57 +0100 Subject: [PATCH] configure: fix detection of libcrypt @@ -15,17 +15,18 @@ and thus concludes that crypt is missing when it was successfully found. Fix that by also storing the result of either check in the 'CRYPT' scheme. +Signed-off-by: Julien Olivain +[Julien: rebase patch on tag 20.7.0] Signed-off-by: "Yann E. MORIN" --- - configure | 2 ++ configure.ac | 2 ++ - 2 files changed, 4 insertions(+) + 1 file changed, 2 insertions(+) diff --git a/configure.ac b/configure.ac -index 121dd93..d459ff5 100644 +index 639bcd9df3..16f4297634 100644 --- a/configure.ac +++ b/configure.ac -@@ -2406,10 +2406,12 @@ AC_CHECK_FUNC([crypt], [SYSCRYPT=true], [SYSCRYPT=""]) +@@ -2694,10 +2694,12 @@ AC_CHECK_FUNC([crypt], [SYSCRYPT=true], [SYSCRYPT=""]) if test "x$LIBCRYPT_LIB" != "x" ; then CRYPT_LIB="$LIBCRYPT_LIB" CRYPT_INCLUDE="$LIBCRYPT_INCLUDE" @@ -39,5 +40,5 @@ index 121dd93..d459ff5 100644 fi -- -2.7.4 +2.45.2 diff --git a/package/asterisk/0003-build-ensure-target-directory-for-modules-exists.patch b/package/asterisk/0003-build-ensure-target-directory-for-modules-exists.patch index 20cfc9389..3080ef991 100644 --- a/package/asterisk/0003-build-ensure-target-directory-for-modules-exists.patch +++ b/package/asterisk/0003-build-ensure-target-directory-for-modules-exists.patch @@ -1,4 +1,4 @@ -From 933b2554a40f932571bdbdbb5217cda3e35fd61f Mon Sep 17 00:00:00 2001 +From 93edc41d3ae60e6ee9b9bbb7cdcc592133521fa3 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Mon, 27 Nov 2017 12:52:52 +0100 Subject: [PATCH] build: ensure target directory for modules exists @@ -9,16 +9,18 @@ modules fails because the target directory does not exist yet. We fix that by instructing $(INSTALL) to create the destination directory first. +Signed-off-by: Julien Olivain +[Julien: rebase patch on tag 20.7.0] Signed-off-by: "Yann E. MORIN" --- Makefile.moddir_rules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.moddir_rules b/Makefile.moddir_rules -index 59190bece9..b73153a9a5 100644 +index 795b32c716..7d5e5d241a 100644 --- a/Makefile.moddir_rules +++ b/Makefile.moddir_rules -@@ -110,7 +110,7 @@ clean:: +@@ -106,7 +106,7 @@ clean:: install:: all @echo "Installing modules from `basename $(CURDIR)`..." @@ -28,5 +30,5 @@ index 59190bece9..b73153a9a5 100644 @if [ -f .moduleinfo ] ; then \ declare -A DISABLED_MODS ;\ -- -2.11.0 +2.45.2 diff --git a/package/asterisk/0004-install-samples-need-the-data-files.patch b/package/asterisk/0004-install-samples-need-the-data-files.patch index a9560e82e..d863f6370 100644 --- a/package/asterisk/0004-install-samples-need-the-data-files.patch +++ b/package/asterisk/0004-install-samples-need-the-data-files.patch @@ -1,4 +1,4 @@ -From 05680ea9899c2246c23d11860c2c8e10aa8f80c7 Mon Sep 17 00:00:00 2001 +From d347deb0376a3254d7cd8bbfe46dd645d1bf1061 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Fri, 1 Dec 2017 11:08:16 +0100 Subject: [PATCH] install: samples need the data files @@ -12,24 +12,26 @@ installed at the time we try to generate the voicemail data. Ensure the needed dependency. +Signed-off-by: Julien Olivain +[Julien: rebase patch on tag 20.7.0] Signed-off-by: "Yann E. MORIN" --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index f29c07f680..b58f707b61 100644 +index 7ef73342cc..bb60f5e380 100644 --- a/Makefile +++ b/Makefile -@@ -779,7 +779,7 @@ adsi: +@@ -819,7 +819,7 @@ adsi: $(INSTALL) -m 644 "$$x" "$(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x`" ; \ done -samples: adsi +samples: adsi datafiles @echo Installing other config files... - $(call INSTALL_CONFIGS,samples,.sample) + $(call INSTALL_CONFIGS,configs/samples,.sample) $(INSTALL) -d "$(DESTDIR)$(ASTSPOOLDIR)/voicemail/default/1234/INBOX" -- -2.11.0 +2.45.2 diff --git a/package/asterisk/Config.in b/package/asterisk/Config.in index c52456f8f..ba5a57404 100644 --- a/package/asterisk/Config.in +++ b/package/asterisk/Config.in @@ -10,6 +10,8 @@ config BR2_PACKAGE_ASTERISK select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_LIBEDIT select BR2_PACKAGE_LIBILBC + select BR2_PACKAGE_LIBJWT + select BR2_PACKAGE_LIBPJSIP select BR2_PACKAGE_LIBXML2 select BR2_PACKAGE_SQLITE select BR2_PACKAGE_UTIL_LINUX diff --git a/package/asterisk/asterisk.hash b/package/asterisk/asterisk.hash index 246f4219a..8c8ebddc4 100644 --- a/package/asterisk/asterisk.hash +++ b/package/asterisk/asterisk.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 9def260ac8745a5eac7aceabe1c22f84a283b7812f0eccd760f87ce9eb991d22 asterisk-20.5.2.tar.gz +sha256 94647b3f887f7dc91df51a4f88dfc3a07cc279bef86b8d05aa72f0c49d187571 asterisk-20.11.1.tar.gz # sha1 from: http://downloads.asterisk.org/pub/telephony/sounds/releases # sha256 locally computed diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk index d1f3ea82d..69ff085c7 100644 --- a/package/asterisk/asterisk.mk +++ b/package/asterisk/asterisk.mk @@ -4,7 +4,7 @@ # ################################################################################ -ASTERISK_VERSION = 20.5.2 +ASTERISK_VERSION = 20.11.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)) @@ -27,7 +27,7 @@ ASTERISK_SELINUX_MODULES = asterisk # For patches 0002 and 0003 ASTERISK_AUTORECONF = YES -ASTERISK_AUTORECONF_OPTS = -Iautoconf -Ithird-party -Ithird-party/pjproject -Ithird-party/jansson +ASTERISK_AUTORECONF_OPTS = -Iautoconf -Ithird-party -Ithird-party/pjproject -Ithird-party/jansson -Ithird-party/libjwt ASTERISK_DEPENDENCIES = \ host-asterisk \ @@ -35,6 +35,8 @@ ASTERISK_DEPENDENCIES = \ jansson \ libcurl \ libedit \ + libjwt \ + libpjsip \ libxml2 \ sqlite \ util-linux @@ -89,10 +91,11 @@ ASTERISK_CONF_OPTS = \ --with-jansson \ --with-libcurl \ --with-ilbc \ + --with-libjwt="$(STAGING_DIR)/usr" \ --with-libxml2 \ --with-libedit="$(STAGING_DIR)/usr" \ - --with-pjproject \ - --with-pjproject-bundled \ + --without-pjproject-bundled \ + --with-pjproject="$(STAGING_DIR)/usr" \ --with-sqlite3="$(STAGING_DIR)/usr" \ --with-sounds-cache=$(ASTERISK_DL_DIR) @@ -110,9 +113,15 @@ ASTERISK_CONF_ENV = \ # Uses __atomic_fetch_add_4 ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -ASTERISK_CONF_ENV += LIBS="-latomic" +ASTERISK_LIBS += -latomic endif +ifeq ($(BR2_PACKAGE_LIBYUV)$(BR2_PACKAGE_JPEG),yy) +ASTERISK_LIBS += -ljpeg +endif + +ASTERISK_CONF_ENV += LIBS="$(ASTERISK_LIBS)" + ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) ASTERISK_CONF_OPTS += --with-execinfo else diff --git a/package/attr/0003-tools-attr.c-Add-missing-libgen.h-include-for-basena.patch b/package/attr/0003-tools-attr.c-Add-missing-libgen.h-include-for-basena.patch new file mode 100644 index 000000000..304177257 --- /dev/null +++ b/package/attr/0003-tools-attr.c-Add-missing-libgen.h-include-for-basena.patch @@ -0,0 +1,32 @@ +From 8a80d895dfd779373363c3a4b62ecce5a549efb2 Mon Sep 17 00:00:00 2001 +From: "Haelwenn (lanodan) Monnier" +Date: Sat, 30 Mar 2024 10:17:10 +0100 +Subject: [PATCH] tools/attr.c: Add missing libgen.h include for basename(3) + +Fixes compilation issue with musl and modern C99 compilers. + +See: https://bugs.gentoo.org/926294 + +Upstream: https://git.savannah.nongnu.org/cgit/attr.git/commit/?id=8a80d895dfd779373363c3a4b62ecce5a549efb2 + +Signed-off-by: Yegor Yefremov +Signed-off-by: Romain Naour +--- + tools/attr.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tools/attr.c b/tools/attr.c +index f12e4af..6a3c1e9 100644 +--- a/tools/attr.c ++++ b/tools/attr.c +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + + #include + +-- +2.45.0 + diff --git a/package/audit/audit.mk b/package/audit/audit.mk index 76828571c..c703acc55 100644 --- a/package/audit/audit.mk +++ b/package/audit/audit.mk @@ -17,7 +17,7 @@ AUDIT_CONF_OPTS = --without-python --without-python3 --disable-zos-remote # src/libev has some assembly function that is not present in Thumb mode: # Error: selected processor does not support `mcr p15,0,r3,c7,c10,5' in Thumb mode -# so, we desactivate Thumb mode +# so, we deactivate Thumb mode ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) AUDIT_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm" endif diff --git a/package/aumix/Config.in b/package/aumix/Config.in index 3d3208250..058e73d7e 100644 --- a/package/aumix/Config.in +++ b/package/aumix/Config.in @@ -9,4 +9,4 @@ config BR2_PACKAGE_AUMIX automatically save and restore the mixer settings at shutdown and boot. - http://jpj.net/~trevor/aumix.html + https://sourceforge.net/projects/aumix/ diff --git a/package/aumix/aumix.mk b/package/aumix/aumix.mk index 03072d5d3..d5c2831dc 100644 --- a/package/aumix/aumix.mk +++ b/package/aumix/aumix.mk @@ -6,7 +6,7 @@ AUMIX_VERSION = 2.9.1 AUMIX_SOURCE = aumix-$(AUMIX_VERSION).tar.bz2 -AUMIX_SITE = http://jpj.net/~trevor/aumix/releases +AUMIX_SITE = https://sourceforge.net/projects/aumix/files/aumix/$(AUMIX_VERSION) AUMIX_AUTORECONF = YES AUMIX_AUTOPOINT = YES AUMIX_LICENSE = GPL-2.0+ diff --git a/package/autoconf/0001-dont-add-dirty-to-version.patch b/package/autoconf/0001-dont-add-dirty-to-version.patch index 8df227686..a1a50d283 100644 --- a/package/autoconf/0001-dont-add-dirty-to-version.patch +++ b/package/autoconf/0001-dont-add-dirty-to-version.patch @@ -1,7 +1,7 @@ autoconf: don't append -dirty to version Don't append -dirty to autoconf version number if the buildroot git tree -has uncommited changes. +has uncommitted changes. This script is meant for the autoconf developers, but it also activates if you build autoconf in a subdirectory of a git tree (E.G. like how it's diff --git a/package/axel/Config.in b/package/axel/Config.in index 4507855ff..740095a50 100644 --- a/package/axel/Config.in +++ b/package/axel/Config.in @@ -1,10 +1,12 @@ config BR2_PACKAGE_AXEL bool "axel" depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C11/stdatomic.h help HTTP/FTP download accelerator. https://github.com/axel-download-accelerator/axel/ -comment "axel needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS +comment "axel needs a toolchain w/ threads, gcc >= 4.9" + depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/babeld/babeld.hash b/package/babeld/babeld.hash index 2e0513efa..8dbd24d87 100644 --- a/package/babeld/babeld.hash +++ b/package/babeld/babeld.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 154f00e0a8bf35d6ea9028886c3dc5c3c342dd1a367df55ef29a547b75867f07 babeld-1.9.2.tar.gz +sha256 d1b41f246a437bdafa5551fb16ca957fc9402de1c53f3647ead9466d67fe3fe0 babeld-babeld-1.9.2-br1.tar.gz sha256 b415c41292cedef6c97b243609e50552887c29343566c639f23282d31efd2afd LICENCE diff --git a/package/babeld/babeld.mk b/package/babeld/babeld.mk index 785fa2bce..ac32e798c 100644 --- a/package/babeld/babeld.mk +++ b/package/babeld/babeld.mk @@ -4,8 +4,9 @@ # ################################################################################ -BABELD_VERSION = 1.9.2 -BABELD_SITE = http://www.pps.univ-paris-diderot.fr/~jch/software/files +BABELD_VERSION = babeld-1.9.2 +BABELD_SITE = https://github.com/jech/babeld +BABELD_SITE_METHOD = git BABELD_LICENSE = MIT BABELD_LICENSE_FILES = LICENCE diff --git a/package/bash/bash.hash b/package/bash/bash.hash index e0a1ebac9..44c1c5ed5 100644 --- a/package/bash/bash.hash +++ b/package/bash/bash.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature from -# https://ftp.gnu.org/gnu/bash/bash-5.2.15.tar.gz.sig -sha256 13720965b5f4fc3a0d4b61dd37e7565c741da9a5be24edc2ae00182fc1b3588c bash-5.2.15.tar.gz +# https://ftp.gnu.org/gnu/bash/bash-5.2.21.tar.gz.sig +sha256 c8e31bdc59b69aaffc5b36509905ba3e5cbb12747091d27b4b977f078560d5b8 bash-5.2.21.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/bash/bash.mk b/package/bash/bash.mk index 9a73ed8c3..9d173a5c7 100644 --- a/package/bash/bash.mk +++ b/package/bash/bash.mk @@ -4,7 +4,7 @@ # ################################################################################ -BASH_VERSION = 5.2.15 +BASH_VERSION = 5.2.21 BASH_SITE = $(BR2_GNU_MIRROR)/bash BASH_DEPENDENCIES = ncurses readline host-bison BASH_LICENSE = GPL-3.0+ diff --git a/package/bc/0001-bc-use-MAKEINFO-variable-for-docs.patch b/package/bc/0001-bc-use-MAKEINFO-variable-for-docs.patch index 03d15f552..5ff6125f6 100644 --- a/package/bc/0001-bc-use-MAKEINFO-variable-for-docs.patch +++ b/package/bc/0001-bc-use-MAKEINFO-variable-for-docs.patch @@ -3,7 +3,7 @@ From: Matt Weber Date: Fri, 13 Sep 2019 13:45:02 -0500 Subject: [PATCH] bc: use MAKEINFO variable for docs -Use the appropiate MAKEINFO variable rather than the hardcoded makeinfo +Use the appropriate MAKEINFO variable rather than the hardcoded makeinfo command directly, otherwise missing logic never works. Fixes: diff --git a/package/bc/0002-notice-read-and-write-errors-on-input-and-output.patch b/package/bc/0002-notice-read-and-write-errors-on-input-and-output.patch index cc72e5cd6..1b4a7354d 100644 --- a/package/bc/0002-notice-read-and-write-errors-on-input-and-output.patch +++ b/package/bc/0002-notice-read-and-write-errors-on-input-and-output.patch @@ -16,7 +16,7 @@ Quoting from the bug report: were correct. I _think_ I got them all. -iwj. -- Ian Jackson Tue, 4 Apr 2006 17:21:02 +0100 -Upsteam: +Upstream: https://sources.debian.org/patches/bc/1.07.1-2/05_notice_read_write_errors.diff/ [Reformatted to GIT for 1.0.7.1 by Matt W] diff --git a/package/bc/0004-no-gen-libmath.patch b/package/bc/0004-no-gen-libmath.patch index 7cd506be2..15b7b9e5a 100644 --- a/package/bc/0004-no-gen-libmath.patch +++ b/package/bc/0004-no-gen-libmath.patch @@ -5,7 +5,7 @@ Subject: [PATCH] no gen libmath These rules are not cross-friendly so delete them. libmath has been generated offline and included as part of this patch as the fbc tool -used to generate that header is assuming the cross archtecture and +used to generate that header is assuming the cross architecture and can't execute. Upstream: diff --git a/package/bc/bc.mk b/package/bc/bc.mk index 06b6feae4..5691ca9e6 100644 --- a/package/bc/bc.mk +++ b/package/bc/bc.mk @@ -5,7 +5,7 @@ ################################################################################ BC_VERSION = 1.07.1 -BC_SITE = http://ftp.gnu.org/gnu/bc +BC_SITE = $(BR2_GNU_MIRROR)/bc BC_DEPENDENCIES = host-flex BC_LICENSE = GPL-2.0+, LGPL-2.1+ BC_LICENSE_FILES = COPYING COPYING.LIB diff --git a/package/bcache-tools/0001-Don-t-inline-crc64-for-gcc-5-compatability.patch b/package/bcache-tools/0001-Don-t-inline-crc64-for-gcc-5-compatability.patch index 1a437a84f..bd3358c20 100644 --- a/package/bcache-tools/0001-Don-t-inline-crc64-for-gcc-5-compatability.patch +++ b/package/bcache-tools/0001-Don-t-inline-crc64-for-gcc-5-compatability.patch @@ -1,4 +1,4 @@ -Don't inline crc64 for gcc-5 compatability +Don't inline crc64 for gcc-5 compatibility This patch is backported from Debian and it fixes the following error: @@ -11,7 +11,7 @@ Signed-off-by: Vicente Olivert Riera From: David Mohr Date: Tue, 26 May 2015 20:34:31 -0600 -Subject: Don't inline crc64 for gcc-5 compatability +Subject: Don't inline crc64 for gcc-5 compatibility Forwarded: http://article.gmane.org/gmane.linux.kernel.bcache.devel/2919 diff --git a/package/bcusdk/0002-eibd-fix-endless-recursion-when-using-USB-backends.patch b/package/bcusdk/0002-eibd-fix-endless-recursion-when-using-USB-backends.patch index 3b90289c8..c31f0c0c8 100644 --- a/package/bcusdk/0002-eibd-fix-endless-recursion-when-using-USB-backends.patch +++ b/package/bcusdk/0002-eibd-fix-endless-recursion-when-using-USB-backends.patch @@ -6,7 +6,7 @@ Subject: [PATCH] eibd: drop local clock_gettime in USB backends clock_gettime is defined locally, and calls pth_int_time, which in turn calls clock_gettime. The USB backend shouldn't overrule clock_gettime in the first place. -This patch fixes this endless recursion by removing the local defition. +This patch fixes this endless recursion by removing the local definition. Signed-off-by: Kurt Van Dijck --- diff --git a/package/bind/0001-cross.patch b/package/bind/0001-cross.patch deleted file mode 100644 index f39be2f83..000000000 --- a/package/bind/0001-cross.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 505cc9fcadda5607dc4c5bacb03928c0b35162a8 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Wed, 4 Nov 2020 17:51:38 +0100 -Subject: [PATCH] Use host compiler to build 'gen' since it's run when - building. - -Signed-off-by: Gustavo Zacarias -[Fabrice: updated for 9.11.10] -Signed-off-by: Fabrice Fontaine -Signed-off-by: Petr Vorel ---- - lib/dns/Makefile.in | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -diff --git a/lib/dns/Makefile.in b/lib/dns/Makefile.in -index 8fc4e94f26..4ac92857e0 100644 ---- a/lib/dns/Makefile.in -+++ b/lib/dns/Makefile.in -@@ -184,10 +184,8 @@ code.h: gen - ./gen -s ${srcdir} > code.h || { rm -f $@ ; exit 1; } - - gen: gen.c -- ${BUILD_CC} ${BUILD_CFLAGS} -I${top_srcdir}/lib/isc/include \ -- ${LFS_CFLAGS} ${LFS_LDFLAGS} \ -- ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} -o $@ ${srcdir}/gen.c \ -- ${BUILD_LIBS} ${LFS_LIBS} -+ ${HOSTCC} ${HOST_CFLAGS} -I${top_srcdir}/lib/isc/include \ -+ ${HOST_LDFLAGS} -o $@ ${srcdir}/gen.c - - timestamp: include libdns.@A@ - touch timestamp --- -2.29.1 - diff --git a/package/bind/bind.hash b/package/bind/bind.hash index 482b046c8..50247bcf3 100644 --- a/package/bind/bind.hash +++ b/package/bind/bind.hash @@ -1,4 +1,4 @@ -# Verified from https://ftp.isc.org/isc/bind9/9.16.48/bind-9.16.48.tar.xz.asc -# with key AADBBA5074F1402F7B69D56BC5B4EE931A9F9DFD -sha256 8d3814582348f90dead1ad410b1019094cd399d3d83930abebb2b3b1eb0b2bbb bind-9.16.48.tar.xz -sha256 13491a682dc0f5ee2273cebd3949e2be62f9470fe659419a03a308d4f444773b COPYRIGHT +# Verified from https://ftp.isc.org/isc/bind9/9.18.33/bind-9.18.33.tar.xz.asc +# with key D99CCEAF879747014F038D63182E23579462EFAA +sha256 fb373fac5ebbc41c645160afd5a9fb451918f6c0e69ab1d9474154e2b515de40 bind-9.18.33.tar.xz +sha256 9734825d67a3ac967b2c2f7c9a83c9e5db1c2474dbe9599157c3a4188749ebd4 COPYRIGHT diff --git a/package/bind/bind.mk b/package/bind/bind.mk index 0d81ffabd..350f6c6fb 100644 --- a/package/bind/bind.mk +++ b/package/bind/bind.mk @@ -4,7 +4,7 @@ # ################################################################################ -BIND_VERSION = 9.16.48 +BIND_VERSION = 9.18.33 BIND_SOURCE= bind-$(BIND_VERSION).tar.xz BIND_SITE = https://ftp.isc.org/isc/bind9/$(BIND_VERSION) # bind does not support parallel builds. @@ -24,14 +24,16 @@ BIND_TARGET_SERVER_SBIN += lwresd named named-checkconf named-checkzone BIND_TARGET_SERVER_SBIN += named-compilezone rndc rndc-confgen dnssec-dsfromkey BIND_TARGET_SERVER_SBIN += dnssec-keyfromlabel dnssec-signzone tsig-keygen BIND_TARGET_TOOLS_BIN = dig host nslookup nsupdate -BIND_CONF_ENV = \ - BUILD_CC="$(TARGET_CC)" \ - LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` +# avoid potential Debian 12 libtool 2.4.7 bug +# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=929396 +BIND_AUTORECONF = YES BIND_CONF_OPTS = \ --without-cmocka \ --without-lmdb \ --enable-epoll \ + --disable-doh \ --disable-backtrace \ + --disable-static \ --with-openssl=$(STAGING_DIR)/usr BIND_DEPENDENCIES = host-pkgconf libuv openssl diff --git a/package/binutils-bare-metal/binutils-bare-metal.mk b/package/binutils-bare-metal/binutils-bare-metal.mk index d55c2d081..778a5235f 100644 --- a/package/binutils-bare-metal/binutils-bare-metal.mk +++ b/package/binutils-bare-metal/binutils-bare-metal.mk @@ -11,6 +11,7 @@ HOST_BINUTILS_BARE_METAL_SOURCE = binutils-$(HOST_BINUTILS_BARE_METAL_VERSION).t HOST_BINUTILS_BARE_METAL_LICENSE = GPL-3.0+, libiberty LGPL-2.1+ HOST_BINUTILS_BARE_METAL_LICENSE_FILES = COPYING3 COPYING.LIB HOST_BINUTILS_BARE_METAL_CPE_ID_VENDOR = gnu +HOST_BINUTILS_BARE_METAL_CPE_ID_PRODUCT = binutils HOST_BINUTILS_BARE_METAL_DEPENDENCIES = host-zlib diff --git a/package/bitcoin/0001-src-randomenv.cpp-fix-build-on-uclibc.patch b/package/bitcoin/0001-src-randomenv.cpp-fix-build-on-uclibc.patch deleted file mode 100644 index 8038a311d..000000000 --- a/package/bitcoin/0001-src-randomenv.cpp-fix-build-on-uclibc.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 330cb33985d0ce97c20f4a0f0bbda0fbffe098d4 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -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 - -Signed-off-by: Fabrice Fontaine -[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 - #endif - #endif --#ifdef __linux__ -+#if defined(HAVE_STRONG_GETAUXVAL) || defined(HAVE_WEAK_GETAUXVAL) - #include - #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 - diff --git a/package/bitcoin/0002-Add-missing-includes-to-fix-gcc-13-compile-error.patch b/package/bitcoin/0002-Add-missing-includes-to-fix-gcc-13-compile-error.patch deleted file mode 100644 index 22c0ca2ad..000000000 --- a/package/bitcoin/0002-Add-missing-includes-to-fix-gcc-13-compile-error.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 339a95b7537b47e5d6b732c0633a00afd96e3ca0 Mon Sep 17 00:00:00 2001 -From: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz> -Date: Thu, 19 Jan 2023 19:35:43 +0100 -Subject: [PATCH] Add missing includes to fix gcc-13 compile error - -Upstream: https://github.com/bitcoin/bitcoin/commit/fadeb6b103cb441e0e91ef506ef29febabb10715 - -Signed-off-by: Bernd Kuhls ---- - src/support/lockedpool.cpp | 3 +++ - src/support/lockedpool.h | 4 ++-- - 2 files changed, 5 insertions(+), 2 deletions(-) - -diff --git a/src/support/lockedpool.cpp b/src/support/lockedpool.cpp -index 26de780f2..11131d551 100644 ---- a/src/support/lockedpool.cpp -+++ b/src/support/lockedpool.cpp -@@ -22,6 +22,9 @@ - #endif - - #include -+#include -+#include -+#include - #ifdef ARENA_DEBUG - #include - #include -diff --git a/src/support/lockedpool.h b/src/support/lockedpool.h -index b9e2e99d1..25b4c0f36 100644 ---- a/src/support/lockedpool.h -+++ b/src/support/lockedpool.h -@@ -5,11 +5,11 @@ - #ifndef BITCOIN_SUPPORT_LOCKEDPOOL_H - #define BITCOIN_SUPPORT_LOCKEDPOOL_H - --#include -+#include - #include - #include --#include - #include -+#include - #include - - /** --- -2.39.2 - diff --git a/package/bitcoin/0003-refactor-add-most-of-src-util-to-iwyu.patch b/package/bitcoin/0003-refactor-add-most-of-src-util-to-iwyu.patch deleted file mode 100644 index 095fa648d..000000000 --- a/package/bitcoin/0003-refactor-add-most-of-src-util-to-iwyu.patch +++ /dev/null @@ -1,34 +0,0 @@ -From c187efa907fd64ea2c7b7d699c5c97f9d5b79960 Mon Sep 17 00:00:00 2001 -From: fanquake -Date: Thu, 9 Jun 2022 16:26:55 +0100 -Subject: [PATCH] refactor: add most of src/util to iwyu - -These files change infrequently, and not much header shuffling is required. - -We don't add everything in src/util/ yet, because IWYU makes some -dubious suggestions, which I'm going to follow up with upstream. - -Upstream: https://github.com/bitcoin/bitcoin/commit/07f2c25d04c39a0074e1d9ee1b24b3e359c8153f - -[Bernd: backported relevant part from upstream commit to version 0.21.2 - to fix build error with gcc 13.x] -Signed-off-by: Bernd Kuhls ---- - src/util/bip32.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/util/bip32.h b/src/util/bip32.h -index 347e83db9..6ef051c48 100644 ---- a/src/util/bip32.h -+++ b/src/util/bip32.h -@@ -6,6 +6,7 @@ - #define BITCOIN_UTIL_BIP32_H - - #include -+#include - #include - #include - --- -2.39.2 - diff --git a/package/bitcoin/0004-src-util-string-h-fix-gcc13.patch b/package/bitcoin/0004-src-util-string-h-fix-gcc13.patch deleted file mode 100644 index 00a9ef2b9..000000000 --- a/package/bitcoin/0004-src-util-string-h-fix-gcc13.patch +++ /dev/null @@ -1,23 +0,0 @@ -From fa2deae2a86417d7e0d4cd33fb933b1000d20313 Mon Sep 17 00:00:00 2001 -From: MacroFake -Date: Thu, 5 May 2022 08:28:29 +0200 -Subject: [PATCH] Wrap boost::replace_all - -Upstream: https://github.com/bitcoin/bitcoin/commit/fa2deae2a86417d7e0d4cd33fb933b1000d20313 - -[Bernd: backported relevant part from upstream commit to version 0.21.2 - to fix build error with gcc 13.x] -Signed-off-by: Bernd Kuhls ---- -diff --git a/src/util/string.h b/src/util/string.h -index 2e91347b27a10..df20e34ae9aaa 100644 ---- a/src/util/string.h -+++ b/src/util/string.h -@@ -9,6 +9,7 @@ - - #include - #include -+#include - #include - #include - #include diff --git a/package/bitcoin/Config.in b/package/bitcoin/Config.in index a344811d6..060cae24f 100644 --- a/package/bitcoin/Config.in +++ b/package/bitcoin/Config.in @@ -11,8 +11,8 @@ config BR2_PACKAGE_BITCOIN bool "bitcoin" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread, boost-filesystem - depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 depends on BR2_TOOLCHAIN_HAS_THREADS # boost depends on BR2_USE_WCHAR select BR2_PACKAGE_BOOST @@ -36,12 +36,19 @@ config BR2_PACKAGE_BITCOIN https://bitcoincore.org -comment "bitcoin needs a toolchain w/ C++, threads, wchar" +if BR2_PACKAGE_BITCOIN + +config BR2_PACKAGE_BITCOIN_WALLET + bool "wallet support" + select BR2_PACKAGE_SQLITE + help + Enable bitcoin wallet support. + +endif + +comment "bitcoin needs a toolchain w/ C++, threads, wchar, gcc >= 9" depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR - -comment "bitcoin needs a toolchain not affected by GCC bug 64735" - depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_9 diff --git a/package/bitcoin/bitcoin.hash b/package/bitcoin/bitcoin.hash index 643fcbc14..9bd084308 100644 --- a/package/bitcoin/bitcoin.hash +++ b/package/bitcoin/bitcoin.hash @@ -1,5 +1,7 @@ -# From https://bitcoincore.org/bin/bitcoin-core-0.21.2/SHA256SUMS.asc -sha256 4146f751fc5691bdcf911cbdb8d32d8d25c297d29d58173227ae1ae6438edb9e bitcoin-0.21.2.tar.gz +# Hash from: https://bitcoincore.org/bin/bitcoin-core-26.2/SHA256SUMS +# After checking pgp signature from: +# https://bitcoincore.org/bin/bitcoin-core-26.2/SHA256SUMS.asc +sha256 78d59418741f45cbdaa9bf20ebc49a5e95ff9f7172f72fc78d14307eaf341b3c bitcoin-26.2.tar.gz # Hash for license file -sha256 96fe807030b21f88305adc32af62f9aa19915f2783509fd6f52aea02cf83f644 COPYING +sha256 a6331cd1f889397adfc0c3b0535682a20950c6cf8e5c712e9997a15ce98324e1 COPYING diff --git a/package/bitcoin/bitcoin.mk b/package/bitcoin/bitcoin.mk index 10ae32202..9ca29092a 100644 --- a/package/bitcoin/bitcoin.mk +++ b/package/bitcoin/bitcoin.mk @@ -4,7 +4,7 @@ # ################################################################################ -BITCOIN_VERSION = 0.21.2 +BITCOIN_VERSION = 26.2 BITCOIN_SITE = https://bitcoincore.org/bin/bitcoin-core-$(BITCOIN_VERSION) BITCOIN_AUTORECONF = YES BITCOIN_LICENSE = MIT @@ -13,14 +13,27 @@ BITCOIN_CPE_ID_VENDOR = bitcoin BITCOIN_CPE_ID_PRODUCT = bitcoin_core BITCOIN_DEPENDENCIES = host-pkgconf boost libevent BITCOIN_MAKE_ENV = BITCOIN_GENBUILD_NO_GIT=1 +# Berkeley Database (bdb) support is always disabled. It is only +# needed for legacy wallet format. New wallets are using SQLite. BITCOIN_CONF_OPTS = \ --disable-bench \ - --disable-wallet \ --disable-tests \ --with-boost-libdir=$(STAGING_DIR)/usr/lib/ \ --disable-hardening \ + --without-bdb \ --without-gui +ifeq ($(BR2_PACKAGE_BITCOIN_WALLET),y) +BITCOIN_DEPENDENCIES += sqlite +BITCOIN_CONF_OPTS += \ + --enable-wallet \ + --with-sqlite +else +BITCOIN_CONF_OPTS += \ + --disable-wallet \ + --without-sqlite +endif + ifeq ($(BR2_PACKAGE_LIBMINIUPNPC),y) BITCOIN_DEPENDENCIES += libminiupnpc BITCOIN_CONF_OPTS += --with-miniupnpc diff --git a/package/bmap-tools/Config.in.host b/package/bmap-tools/Config.in.host index a20829030..b6bfa733a 100644 --- a/package/bmap-tools/Config.in.host +++ b/package/bmap-tools/Config.in.host @@ -1,5 +1,6 @@ config BR2_PACKAGE_HOST_BMAP_TOOLS bool "host bmap-tools" + select BR2_PACKAGE_HOST_PYTHON3 # runtime select BR2_PACKAGE_HOST_PYTHON_SIX # runtime help Tool to flash image files to block devices using the block map diff --git a/package/boost/Config.in b/package/boost/Config.in index 60cc0a11a..c7c90aa9a 100644 --- a/package/boost/Config.in +++ b/package/boost/Config.in @@ -4,7 +4,7 @@ comment "boost needs a toolchain w/ C++, threads, wchar" config BR2_PACKAGE_BOOST bool "boost" depends on BR2_INSTALL_LIBSTDCPP - # Boost could theorically be built with threading=single, but + # Boost could theoretically be built with threading=single, but # that unfortunately doesn't work. Until someone fixes that, # let's depend on threads. depends on BR2_TOOLCHAIN_HAS_THREADS @@ -50,13 +50,14 @@ config BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS config BR2_PACKAGE_BOOST_CONTEXT bool "boost-context" depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \ - || BR2_TOOLCHAIN_GCC_AT_LEAST_6 # boost-thread + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 - select BR2_PACKAGE_BOOST_THREAD if !BR2_TOOLCHAIN_GCC_AT_LEAST_6 help C++11 context switching library. +comment "boost-context needs a toolchain w/ C++11, gcc>=4.8" + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + config BR2_PACKAGE_BOOST_CONTRACT bool "boost-contract" # pthread_condattr_setclock @@ -72,16 +73,20 @@ config BR2_PACKAGE_BOOST_COROUTINE bool "boost-coroutine" depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # boost-context depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context, boost-thread select BR2_PACKAGE_BOOST_CHRONO select BR2_PACKAGE_BOOST_CONTEXT select BR2_PACKAGE_BOOST_SYSTEM select BR2_PACKAGE_BOOST_THREAD help - deprecated coroutine library, the non-depricated coroutine2 + deprecated coroutine library, the non-deprecated coroutine2 library is a header-only library and does not need to be selected. +comment "boost-coroutine needs a toolchain w/ C++11, gcc>=4.8" + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + comment "boost-coroutine needs a toolchain not affected by GCC bug 64735" depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS @@ -109,21 +114,20 @@ config BR2_PACKAGE_BOOST_FIBER depends on !BR2_MIPS_CPU_MIPS32 && !BR2_MIPS_CPU_MIPS64 depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 select BR2_PACKAGE_BOOST_CONTEXT select BR2_PACKAGE_BOOST_FILESYSTEM select BR2_PACKAGE_BOOST_SYSTEM help C++11 userland threads library. -comment "boost-fiber needs a toolchain w/ NPTL" +comment "boost-fiber needs a toolchain w/ NPTL, C++11, gcc>=4.8" depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 comment "boost-fiber needs a toolchain not affected by GCC bug 64735" depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \ - || BR2_TOOLCHAIN_GCC_AT_LEAST_6 depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 config BR2_PACKAGE_BOOST_FILESYSTEM @@ -237,11 +241,14 @@ config BR2_PACKAGE_BOOST_MATH C++ standard. Quaternions are a relative of complex numbers often used to - parameterise rotations in three dimentional space. + parameterise rotations in three dimensional space. Octonions, like quaternions, are a relative of complex numbers. +comment "boost-math needs a toolchain w/ C++14, gcc>=5.0" + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5 + config BR2_PACKAGE_BOOST_MPI bool "boost-mpi" help diff --git a/package/boost/boost.mk b/package/boost/boost.mk index 9b1baec5b..367ec37f6 100644 --- a/package/boost/boost.mk +++ b/package/boost/boost.mk @@ -6,19 +6,46 @@ BOOST_VERSION = 1.83.0 BOOST_SOURCE = boost_$(subst .,_,$(BOOST_VERSION)).tar.bz2 -BOOST_SITE = https://boostorg.jfrog.io/artifactory/main/release/$(BOOST_VERSION)/source +BOOST_SITE = https://archives.boost.io/release/$(BOOST_VERSION)/source BOOST_INSTALL_STAGING = YES BOOST_LICENSE = BSL-1.0 BOOST_LICENSE_FILES = LICENSE_1_0.txt BOOST_CPE_ID_VENDOR = boost # keep host variant as minimal as possible +# regex & system are needed by host-riscv-isa-sim HOST_BOOST_FLAGS = --without-icu --with-toolset=gcc \ - --without-libraries=$(subst $(space),$(comma),atomic chrono context \ - contract container coroutine date_time exception fiber filesystem graph \ - graph_parallel iostreams json locale log math mpi nowide program_options \ - python random serialization stacktrace test thread timer \ - type_erasure url wave) + --without-libraries=$(subst $(space),$(comma),\ + atomic \ + chrono container \ + context \ + contract \ + coroutine \ + date_time \ + exception \ + fiber \ + filesystem \ + graph \ + graph_parallel \ + iostreams \ + json \ + locale \ + log \ + math \ + mpi \ + nowide \ + program_options \ + python \ + random \ + serialization \ + stacktrace \ + test \ + thread \ + timer \ + type_erasure \ + url \ + wave\ + ) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_ATOMIC),,atomic) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CHRONO),,chrono) diff --git a/package/bootgen/0001-verifyimage-Fix-segmentation-fault-that-occurs-durin.patch b/package/bootgen/0001-verifyimage-Fix-segmentation-fault-that-occurs-durin.patch new file mode 100644 index 000000000..096dbac27 --- /dev/null +++ b/package/bootgen/0001-verifyimage-Fix-segmentation-fault-that-occurs-durin.patch @@ -0,0 +1,50 @@ +From f7825edbd1c85380cfb5ef0cf2c16c910954f57c Mon Sep 17 00:00:00 2001 +From: Charlie Johnston +Date: Mon, 5 Aug 2024 13:07:25 -0700 +Subject: [PATCH] verifyimage: Fix segmentation fault that occurs during + verifyimage. + +In commit d02322b, the behavior of ReadBinaryFile was changed such +that it no longer populated iHT. This caused VerifyAuthentication +to access a null iHT value resulting a segmentation fault. + +This fix changes VerifyAuthentication to call ReadHeaderTableDetails +instead, where the old functionality of ReadBinaryFile now lives. + +Signed-off-by: Charlie Johnston +Signed-off-by: Peter Korsgaard +Upstream: https://github.com/Xilinx/bootgen/pull/36 +--- + verifyimage-versal.cpp | 2 +- + verifyimage-zynqmp.cpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/verifyimage-versal.cpp b/verifyimage-versal.cpp +index 5490663..5656e50 100755 +--- a/verifyimage-versal.cpp ++++ b/verifyimage-versal.cpp +@@ -34,7 +34,7 @@ + /*******************************************************************************/ + void VersalReadImage::VerifyAuthentication(bool verifyImageOption) + { +- ReadBinaryFile(); ++ ReadHeaderTableDetails(); + + if (iHT->headerAuthCertificateWordOffset != 0) + { +diff --git a/verifyimage-zynqmp.cpp b/verifyimage-zynqmp.cpp +index d4812e6..d73272c 100755 +--- a/verifyimage-zynqmp.cpp ++++ b/verifyimage-zynqmp.cpp +@@ -50,7 +50,7 @@ static void RearrangeEndianess(uint8_t *array, uint32_t size) + /*******************************************************************************/ + void ZynqMpReadImage::VerifyAuthentication(bool verifyImageOption) + { +- ReadBinaryFile(); ++ ReadHeaderTableDetails(); + + if (iHT->headerAuthCertificateWordOffset != 0) + { +-- +2.39.5 + diff --git a/package/botan/Config.in b/package/botan/Config.in index c74128bb9..305cc2fe8 100644 --- a/package/botan/Config.in +++ b/package/botan/Config.in @@ -14,8 +14,9 @@ config BR2_PACKAGE_BOTAN_ARCH_SUPPORTS config BR2_PACKAGE_BOTAN bool "botan" depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # C++20 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_11 # C++20 depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_BOOST_FILESYSTEM if BR2_PACKAGE_BOOST && BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS select BR2_PACKAGE_BOOST_SYSTEM if BR2_PACKAGE_BOOST && BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS help @@ -23,7 +24,8 @@ config BR2_PACKAGE_BOTAN http://botan.randombit.net -comment "botan needs a toolchain w/ C++, gcc >= 10" +comment "botan needs a toolchain w/ threads, C++, gcc >= 11" depends on !BR2_INSTALL_LIBSTDCPP \ - || !BR2_TOOLCHAIN_GCC_AT_LEAST_10 + || !BR2_TOOLCHAIN_GCC_AT_LEAST_11 \ + || !BR2_TOOLCHAIN_HAS_THREADS depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS diff --git a/package/botan/botan.hash b/package/botan/botan.hash index 840191aa4..d94827190 100644 --- a/package/botan/botan.hash +++ b/package/botan/botan.hash @@ -1,4 +1,4 @@ # From https://botan.randombit.net/releases/sha256sums.txt -sha256 049c847835fcf6ef3a9e206b33de05dd38999c325e247482772a5598d9e5ece3 Botan-3.2.0.tar.xz +sha256 67e8dae1ca2468d90de4e601c87d5f31ff492b38e8ab8bcbd02ddf7104ed8a9f Botan-3.5.0.tar.xz # Locally computed -sha256 1833cde7c7cc03296b1ef2ddc178b1cd7fd1c476840f32cf6aedb09ab0bc9004 license.txt +sha256 db9168bdccaaea26557094436652577cc9bf43164e8be078d88aef1342fe4fb6 license.txt diff --git a/package/botan/botan.mk b/package/botan/botan.mk index 95352ea41..561e7bf70 100644 --- a/package/botan/botan.mk +++ b/package/botan/botan.mk @@ -4,7 +4,7 @@ # ################################################################################ -BOTAN_VERSION = 3.2.0 +BOTAN_VERSION = 3.5.0 BOTAN_SOURCE = Botan-$(BOTAN_VERSION).tar.xz BOTAN_SITE = http://botan.randombit.net/releases BOTAN_LICENSE = BSD-2-Clause diff --git a/package/bpftool/Config.in b/package/bpftool/Config.in index ef3a7a8a4..55fd09ef3 100644 --- a/package/bpftool/Config.in +++ b/package/bpftool/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_BPFTOOL_ARCH_SUPPORTS default y if BR2_arm || BR2_armeb default y if BR2_aarch64 || BR2_aarch64_be default y if BR2_i386 || BR2_x86_64 + default y if BR2_riscv default y if BR2_sparc || BR2_sparc64 default y if BR2_s390x diff --git a/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash index a12e92cba..c20abfc26 100644 --- a/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash +++ b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 e51b717c2a60ca29fcdd8e04e07c00996226cb48fa56a8ad1934b5f4ddee2e3d brcmfmac_sdio-firmware-rpi-ea9963f3f77b4bb6cd280577eb115152bdd67e8d.tar.gz -sha256 b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d LICENCE.broadcom_bcm43xx +sha256 2f0917b104739455dd488dd8f5af2ee4430801a7ac8fe8d9866e74bfbb185356 brcmfmac_sdio-firmware-rpi-26ff205b45dc109b498a70aaf182804ad9dbfea5.tar.gz +sha256 ea8b7b7b6cfc6fd30587ed977100f6a542734ce53218b5b63de16180acddd599 LICENSE diff --git a/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.mk b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.mk index 5332bf53d..95707487a 100644 --- a/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.mk +++ b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.mk @@ -4,33 +4,26 @@ # ################################################################################ -BRCMFMAC_SDIO_FIRMWARE_RPI_VERSION = ea9963f3f77b4bb6cd280577eb115152bdd67e8d +BRCMFMAC_SDIO_FIRMWARE_RPI_VERSION = 26ff205b45dc109b498a70aaf182804ad9dbfea5 BRCMFMAC_SDIO_FIRMWARE_RPI_SITE = $(call github,LibreELEC,brcmfmac_sdio-firmware-rpi,$(BRCMFMAC_SDIO_FIRMWARE_RPI_VERSION)) BRCMFMAC_SDIO_FIRMWARE_RPI_LICENSE = PROPRIETARY -BRCMFMAC_SDIO_FIRMWARE_RPI_LICENSE_FILES = LICENCE.broadcom_bcm43xx +BRCMFMAC_SDIO_FIRMWARE_RPI_LICENSE_FILES = LICENSE ifeq ($(BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT),y) define BRCMFMAC_SDIO_FIRMWARE_RPI_INSTALL_TARGET_BT - $(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm - $(INSTALL) -m 0644 $(@D)/firmware/brcm/*.hcd $(TARGET_DIR)/lib/firmware/brcm + $(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm $(TARGET_DIR)/lib/firmware/synaptics + cp --remove-destination --no-dereference $(@D)/firmware/brcm/*.hcd $(TARGET_DIR)/lib/firmware/brcm + cp --remove-destination --no-dereference $(@D)/firmware/synaptics/*.hcd $(TARGET_DIR)/lib/firmware/synaptics + chmod 644 $(TARGET_DIR)/lib/firmware/brcm/*.hcd $(TARGET_DIR)/lib/firmware/synaptics/*.hcd endef endif ifeq ($(BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI),y) define BRCMFMAC_SDIO_FIRMWARE_RPI_INSTALL_TARGET_WIFI - $(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm - $(INSTALL) -m 0644 $(@D)/firmware/brcm/brcmfmac* $(TARGET_DIR)/lib/firmware/brcm - ln -sf ../cypress/cyfmac43430-sdio.bin $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.bin - ln -sf ../cypress/cyfmac43430-sdio.clm_blob $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.clm_blob - ln -sf brcmfmac43430-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt - ln -sf brcmfmac43430-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt - ln -sf ../cypress/cyfmac43455-sdio.bin $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.bin - ln -sf ../cypress/cyfmac43455-sdio.clm_blob $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.clm_blob - ln -sf brcmfmac43455-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt - ln -sf brcmfmac43455-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt - ln -sf brcmfmac43455-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt - $(INSTALL) -d $(TARGET_DIR)/lib/firmware/cypress - $(INSTALL) -m 0644 $(@D)/firmware/cypress/cyfmac* $(TARGET_DIR)/lib/firmware/cypress + $(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm $(TARGET_DIR)/lib/firmware/cypress + cp --remove-destination --no-dereference $(@D)/firmware/brcm/brcmfmac* $(TARGET_DIR)/lib/firmware/brcm + cp --remove-destination --no-dereference $(@D)/firmware/cypress/cyfmac* $(TARGET_DIR)/lib/firmware/cypress + chmod 644 $(TARGET_DIR)/lib/firmware/brcm/brcmfmac* $(TARGET_DIR)/lib/firmware/cypress/cyfmac* endef endif diff --git a/package/btrfs-progs/Config.in b/package/btrfs-progs/Config.in index 35dfc3919..bae096061 100644 --- a/package/btrfs-progs/Config.in +++ b/package/btrfs-progs/Config.in @@ -10,7 +10,7 @@ config BR2_PACKAGE_BTRFS_PROGS help Btrfs filesystem utilities - https://btrfs.wiki.kernel.org/index.php/Main_Page + https://btrfs.readthedocs.io comment "btrfs-progs needs a toolchain w/ threads" depends on BR2_USE_MMU diff --git a/package/btrfs-progs/btrfs-progs.mk b/package/btrfs-progs/btrfs-progs.mk index 9bf50ccfd..1e4c7767f 100644 --- a/package/btrfs-progs/btrfs-progs.mk +++ b/package/btrfs-progs/btrfs-progs.mk @@ -59,5 +59,7 @@ HOST_BTRFS_PROGS_CONF_OPTS = \ --disable-python \ --disable-convert +HOST_BTRFS_PROGS_INSTALL_OPTS = udevdir= install + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/busybox/0009-menuconfig-gcc-failing-saying-ncurses-is-not-found.patch b/package/busybox/0009-menuconfig-gcc-failing-saying-ncurses-is-not-found.patch new file mode 100644 index 000000000..f4a926ae3 --- /dev/null +++ b/package/busybox/0009-menuconfig-gcc-failing-saying-ncurses-is-not-found.patch @@ -0,0 +1,38 @@ +From 32949508fe566aee8988cb6d8ee101ecc5e49a65 Mon Sep 17 00:00:00 2001 +From: ctxnop +Date: Sun, 26 Jan 2025 20:59:20 +0100 +Subject: [PATCH] menuconfig: GCC failing saying ncurses is not found + +Newer GCC increased diagnostics levels resulting in considering the +test code to be invalid. The resulting message was misleading, saying +that ncurses was not found, while the check failed for an unrelated +reason which was hidden because GCC stderr was redirected to +/dev/null. + +Signed-off-by: ctxnop +Upstream: http://lists.busybox.net/pipermail/busybox/2024-July/090840.html +[Fiona: rephrased commit message for clarity] +Signed-off-by: Fiona Klute (WIWA) +--- + scripts/kconfig/lxdialog/check-lxdialog.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/scripts/kconfig/lxdialog/check-lxdialog.sh b/scripts/kconfig/lxdialog/check-lxdialog.sh +index 5075ebf2d..08e4da3de 100755 +--- a/scripts/kconfig/lxdialog/check-lxdialog.sh ++++ b/scripts/kconfig/lxdialog/check-lxdialog.sh +@@ -45,9 +45,9 @@ trap "rm -f $tmp" 0 1 2 3 15 + + # Check if we can link to ncurses + check() { +- $cc -x c - -o $tmp 2>/dev/null <<'EOF' ++ $cc -x c - -o $tmp <<'EOF' + #include CURSES_LOC +-main() {} ++int main() { return 0; } + EOF + if [ $? != 0 ]; then + echo " *** Unable to find the ncurses libraries or the" 1>&2 +-- +2.47.1 + diff --git a/package/busybox/0011-awk-fix-use-after-realloc-CVE-2021-42380-closes-1560.patch b/package/busybox/0011-awk-fix-use-after-realloc-CVE-2021-42380-closes-1560.patch new file mode 100644 index 000000000..f0f33b11f --- /dev/null +++ b/package/busybox/0011-awk-fix-use-after-realloc-CVE-2021-42380-closes-1560.patch @@ -0,0 +1,154 @@ +From 7c73cdaa80faf0046b07c970321557ff04f7da64 Mon Sep 17 00:00:00 2001 +From: Denys Vlasenko +Date: Fri, 26 May 2023 19:36:58 +0200 +Subject: [PATCH] awk: fix use-after-realloc (CVE-2021-42380), closes 15601 + +Signed-off-by: Denys Vlasenko + +CVE: CVE-2021-42380 +Upstream-Status: Backport [https://git.busybox.net/busybox/commit/?id=5dcc443dba039b305a510c01883e9f34e42656ae] +Signed-off-by: Peter Marko +[Thomas: taken from https://git.openembedded.org/openembedded-core/tree/meta/recipes-core/busybox/busybox/CVE-2021-42380.patch?id=e0ff4813b1cf4df0d851c857d57fb88d7db51bdd] +Upstream: https://git.busybox.net/busybox/commit/?id=5dcc443dba039b305a510c01883e9f34e42656ae +Signed-off-by: Thomas Petazzoni +--- + editors/awk.c | 26 ++++++++++++++++----- + testsuite/awk.tests | 55 +++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 75 insertions(+), 6 deletions(-) + +diff --git a/editors/awk.c b/editors/awk.c +index 728ee8685..2af823808 100644 +--- a/editors/awk.c ++++ b/editors/awk.c +@@ -555,7 +555,7 @@ struct globals { + const char *g_progname; + int g_lineno; + int nfields; +- int maxfields; /* used in fsrealloc() only */ ++ unsigned maxfields; + var *Fields; + char *g_pos; + char g_saved_ch; +@@ -1931,9 +1931,9 @@ static void fsrealloc(int size) + { + int i, newsize; + +- if (size >= maxfields) { +- /* Sanity cap, easier than catering for overflows */ +- if (size > 0xffffff) ++ if ((unsigned)size >= maxfields) { ++ /* Sanity cap, easier than catering for over/underflows */ ++ if ((unsigned)size > 0xffffff) + bb_die_memory_exhausted(); + + i = maxfields; +@@ -2891,6 +2891,7 @@ static var *evaluate(node *op, var *res) + uint32_t opinfo; + int opn; + node *op1; ++ var *old_Fields_ptr; + + opinfo = op->info; + opn = (opinfo & OPNMASK); +@@ -2899,10 +2900,16 @@ static var *evaluate(node *op, var *res) + debug_printf_eval("opinfo:%08x opn:%08x\n", opinfo, opn); + + /* execute inevitable things */ ++ old_Fields_ptr = NULL; + if (opinfo & OF_RES1) { + if ((opinfo & OF_REQUIRED) && !op1) + syntax_error(EMSG_TOO_FEW_ARGS); + L.v = evaluate(op1, TMPVAR0); ++ /* Does L.v point to $n variable? */ ++ if ((size_t)(L.v - Fields) < maxfields) { ++ /* yes, remember where Fields[] is */ ++ old_Fields_ptr = Fields; ++ } + if (opinfo & OF_STR1) { + L.s = getvar_s(L.v); + debug_printf_eval("L.s:'%s'\n", L.s); +@@ -2921,8 +2928,15 @@ static var *evaluate(node *op, var *res) + */ + if (opinfo & OF_RES2) { + R.v = evaluate(op->r.n, TMPVAR1); +- //TODO: L.v may be invalid now, set L.v to NULL to catch bugs? +- //L.v = NULL; ++ /* Seen in $5=$$5=$0: ++ * Evaluation of R.v ($$5=$0 expression) ++ * made L.v ($5) invalid. It's detected here. ++ */ ++ if (old_Fields_ptr) { ++ //if (old_Fields_ptr != Fields) ++ // debug_printf_eval("L.v moved\n"); ++ L.v += Fields - old_Fields_ptr; ++ } + if (opinfo & OF_STR2) { + R.s = getvar_s(R.v); + debug_printf_eval("R.s:'%s'\n", R.s); +diff --git a/testsuite/awk.tests b/testsuite/awk.tests +index bbf0fbff1..ddc51047b 100755 +--- a/testsuite/awk.tests ++++ b/testsuite/awk.tests +@@ -485,4 +485,59 @@ testing 'awk assign while test' \ + "" \ + "foo" + ++# User-supplied bug (SEGV) example, was causing use-after-realloc ++testing 'awk assign while assign' \ ++ "awk '\$5=\$\$5=\$0'; echo \$?" \ ++ "\ ++─ process timing ────────────────────────────────────┬─ ─ process timing ────────────────────────────────────┬─ overall results ────┐ results ────┐ ++│ run time : │ run time : 0 days, 0 hrs, 0 min, 56 sec │ cycles done : 0 │ days, 0 hrs, 0 min, 56 sec │ cycles done : 0 │ ++│ last new find │ last new find : 0 days, 0 hrs, 0 min, 1 sec │ corpus count : 208 │ 0 days, 0 hrs, 0 min, 1 sec │ corpus count : 208 │ ++│last saved crash : │last saved crash : none seen yet │saved crashes : 0 │ seen yet │saved crashes : 0 │ ++│ last saved hang │ last saved hang : none seen yet │ saved hangs : 0 │ none seen yet │ saved hangs : 0 │ ++├─ cycle progress ─────────────────────┬─ ├─ cycle progress ─────────────────────┬─ map coverage┴──────────────────────┤ coverage┴──────────────────────┤ ++│ now processing : │ now processing : 184.1 (88.5%) │ map density : 0.30% / 0.52% │ (88.5%) │ map density : 0.30% / 0.52% │ │ now processing : 184.1 (88.5%) │ map density : 0.30% / 0.52% │ ++│ runs timed out │ runs timed out : 0 (0.00%) │ count coverage : 2.18 bits/tuple │ 0 (0.00%) │ count coverage : 2.18 bits/tuple │ ++├─ stage progress ─────────────────────┼─ ├─ stage progress ─────────────────────┼─ findings in depth ─────────────────┤ in depth ─────────────────┤ ++│ now trying : │ now trying : havoc │ favored items : 43 (20.67%) │ │ favored items : 43 (20.67%) │ ++│ stage execs : │ stage execs : 11.2k/131k (8.51%) │ new edges on : 52 (25.00%) │ (8.51%) │ new edges on │ stage execs : 11.2k/131k (8.51%) │ new edges on : 52 (25.00%) │ 52 (25.00%) │ ++│ total execs : │ total execs : 179k │ total crashes : 0 (0 saved) │ │ total crashes : 0 (0 saved) │ │ total execs : 179k │ total crashes : 0 (0 saved) │ ++│ exec speed : │ exec speed : 3143/sec │ total tmouts : 0 (0 saved) │ │ total tmouts : 0 (0 saved) │ │ exec speed : 3143/sec │ total tmouts : 0 (0 saved) │ ++├─ fuzzing strategy yields ├─ fuzzing strategy yields ────────────┴─────────────┬─ item geometry ───────┤ item geometry ───────┤ ++│ bit flips : │ bit flips : 11/648, 4/638, 5/618 │ levels : 4 │ 4/638, 5/618 │ levels : │ bit flips : 11/648, 4/638, 5/618 │ levels : 4 │ │ ++│ byte flips : │ byte flips : 0/81, 0/71, 0/52 │ pending : 199 │ 0/71, 0/52 │ pending : 199 │ ++│ arithmetics : 11/4494, │ arithmetics : 11/4494, 0/1153, 0/0 │ pend fav : 35 │ 0/0 │ pend fav : 35 │ ++│ known ints : 1/448, 0/1986, 0/2288 │ own finds : 207 │ known ints : │ known ints : 1/448, 0/1986, 0/2288 │ own finds : 207 │ 0/1986, 0/2288 │ own finds : 207 │ ++│ dictionary : 0/0, │ dictionary : 0/0, 0/0, 0/0, 0/0 │ imported : 0 │ 0/0, 0/0 │ imported : 0 │ ++│havoc/splice : 142/146k, 23/7616 │havoc/splice : 142/146k, 23/7616 │ stability : 100.00% │ stability : 100.00% │ ++│py/custom/rq : unused, unused, │py/custom/rq : unused, unused, unused, unused ├───────────────────────┘ unused ├───────────────────────┘ ++│ trim/eff : 57.02%/26, │ trim/eff : 57.02%/26, 0.00% │ [cpu000:100%] │ [cpu000:100%] ++└────────────────────────────────────────────────────┘^C └────────────────────────────────────────────────────┘^C ++0 ++" \ ++ "" \ ++ "\ ++─ process timing ────────────────────────────────────┬─ overall results ────┐ ++│ run time : 0 days, 0 hrs, 0 min, 56 sec │ cycles done : 0 │ ++│ last new find : 0 days, 0 hrs, 0 min, 1 sec │ corpus count : 208 │ ++│last saved crash : none seen yet │saved crashes : 0 │ ++│ last saved hang : none seen yet │ saved hangs : 0 │ ++├─ cycle progress ─────────────────────┬─ map coverage┴──────────────────────┤ ++│ now processing : 184.1 (88.5%) │ map density : 0.30% / 0.52% │ ++│ runs timed out : 0 (0.00%) │ count coverage : 2.18 bits/tuple │ ++├─ stage progress ─────────────────────┼─ findings in depth ─────────────────┤ ++│ now trying : havoc │ favored items : 43 (20.67%) │ ++│ stage execs : 11.2k/131k (8.51%) │ new edges on : 52 (25.00%) │ ++│ total execs : 179k │ total crashes : 0 (0 saved) │ ++│ exec speed : 3143/sec │ total tmouts : 0 (0 saved) │ ++├─ fuzzing strategy yields ────────────┴─────────────┬─ item geometry ───────┤ ++│ bit flips : 11/648, 4/638, 5/618 │ levels : 4 │ ++│ byte flips : 0/81, 0/71, 0/52 │ pending : 199 │ ++│ arithmetics : 11/4494, 0/1153, 0/0 │ pend fav : 35 │ ++│ known ints : 1/448, 0/1986, 0/2288 │ own finds : 207 │ ++│ dictionary : 0/0, 0/0, 0/0, 0/0 │ imported : 0 │ ++│havoc/splice : 142/146k, 23/7616 │ stability : 100.00% │ ++│py/custom/rq : unused, unused, unused, unused ├───────────────────────┘ ++│ trim/eff : 57.02%/26, 0.00% │ [cpu000:100%] ++└────────────────────────────────────────────────────┘^C" ++ + exit $FAILCOUNT +-- +2.47.1 + diff --git a/package/busybox/0012-awk-fix-use-after-free-CVE-2023-42363.patch b/package/busybox/0012-awk-fix-use-after-free-CVE-2023-42363.patch new file mode 100644 index 000000000..92a6c36d0 --- /dev/null +++ b/package/busybox/0012-awk-fix-use-after-free-CVE-2023-42363.patch @@ -0,0 +1,70 @@ +From 20a91edce02adc258038a2e9bf5bda0fe27a5050 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Mon, 20 May 2024 17:55:28 +0200 +Subject: [PATCH] awk: fix use after free (CVE-2023-42363) + +function old new delta +evaluate 3377 3385 +8 + +Fixes https://bugs.busybox.net/show_bug.cgi?id=15865 + +Signed-off-by: Natanael Copa +Signed-off-by: Denys Vlasenko + +CVE: CVE-2023-42363 +Upstream-Status: Backport [https://git.busybox.net/busybox/commit/?id=fb08d43d44d1fea1f741fafb9aa7e1958a5f69aa] +Signed-off-by: Peter Marko +[Thomas: taken from https://git.openembedded.org/openembedded-core/tree/meta/recipes-core/busybox/busybox/CVE-2023-42363.patch?id=e0ff4813b1cf4df0d851c857d57fb88d7db51bdd] +Upstream: https://git.busybox.net/busybox/commit/?id=fb08d43d44d1fea1f741fafb9aa7e1958a5f69aa +Signed-off-by: Thomas Petazzoni +--- + editors/awk.c | 21 +++++++++++++-------- + 1 file changed, 13 insertions(+), 8 deletions(-) + +diff --git a/editors/awk.c b/editors/awk.c +index 2af823808..d45724d59 100644 +--- a/editors/awk.c ++++ b/editors/awk.c +@@ -2910,19 +2910,14 @@ static var *evaluate(node *op, var *res) + /* yes, remember where Fields[] is */ + old_Fields_ptr = Fields; + } +- if (opinfo & OF_STR1) { +- L.s = getvar_s(L.v); +- debug_printf_eval("L.s:'%s'\n", L.s); +- } + if (opinfo & OF_NUM1) { + L_d = getvar_i(L.v); + debug_printf_eval("L_d:%f\n", L_d); + } + } +- /* NB: Must get string/numeric values of L (done above) +- * _before_ evaluate()'ing R.v: if both L and R are $NNNs, +- * and right one is large, then L.v points to Fields[NNN1], +- * second evaluate() reallocates and moves (!) Fields[], ++ /* NB: if both L and R are $NNNs, and right one is large, ++ * then at this pint L.v points to Fields[NNN1], second ++ * evaluate() below reallocates and moves (!) Fields[], + * R.v points to Fields[NNN2] but L.v now points to freed mem! + * (Seen trying to evaluate "$444 $44444") + */ +@@ -2942,6 +2937,16 @@ static var *evaluate(node *op, var *res) + debug_printf_eval("R.s:'%s'\n", R.s); + } + } ++ /* Get L.s _after_ R.v is evaluated: it may have realloc'd L.v ++ * so we must get the string after "old_Fields_ptr" correction ++ * above. Testcase: x = (v = "abc", gsub("b", "X", v)); ++ */ ++ if (opinfo & OF_RES1) { ++ if (opinfo & OF_STR1) { ++ L.s = getvar_s(L.v); ++ debug_printf_eval("L.s:'%s'\n", L.s); ++ } ++ } + + debug_printf_eval("switch(0x%x)\n", XC(opinfo & OPCLSMASK)); + switch (XC(opinfo & OPCLSMASK)) { +-- +2.47.1 + diff --git a/package/busybox/0013-awk-fix-precedence-of-relative-to.patch b/package/busybox/0013-awk-fix-precedence-of-relative-to.patch new file mode 100644 index 000000000..596036d8f --- /dev/null +++ b/package/busybox/0013-awk-fix-precedence-of-relative-to.patch @@ -0,0 +1,203 @@ +From 47ff44735c0cd05efd899fb3486aca77e65fbe15 Mon Sep 17 00:00:00 2001 +From: Denys Vlasenko +Date: Tue, 30 May 2023 16:42:18 +0200 +Subject: [PATCH] awk: fix precedence of = relative to == + +Discovered while adding code to disallow assignments to non-lvalues + +function old new delta +parse_expr 936 991 +55 +.rodata 105243 105247 +4 +------------------------------------------------------------------------------ +(add/remove: 0/0 grow/shrink: 2/0 up/down: 59/0) Total: 59 bytes + +CVE: CVE-2023-42364 CVE-2023-42365 + +Upstream-Status: Backport [https://git.busybox.net/busybox/commit/?id=0256e00a9d077588bd3a39f5a1ef7e2eaa2911e4] +Signed-off-by: Denys Vlasenko +(cherry picked from commit 0256e00a9d077588bd3a39f5a1ef7e2eaa2911e4) +Signed-off-by: Khem Raj +[Thomas: taken from https://git.openembedded.org/openembedded-core/tree/meta/recipes-core/busybox/busybox/0001-awk-fix-precedence-of-relative-to.patch?id=e0ff4813b1cf4df0d851c857d57fb88d7db51bdd] +Upstream: https://git.busybox.net/busybox/commit/?id=0256e00a9d077588bd3a39f5a1ef7e2eaa2911e4 +Signed-off-by: Thomas Petazzoni +--- + editors/awk.c | 66 ++++++++++++++++++++++++++++++--------------- + testsuite/awk.tests | 5 ++++ + 2 files changed, 50 insertions(+), 21 deletions(-) + +diff --git a/editors/awk.c b/editors/awk.c +index d45724d59..5962c3f6a 100644 +--- a/editors/awk.c ++++ b/editors/awk.c +@@ -337,7 +337,9 @@ static void debug_parse_print_tc(uint32_t n) + #undef P + #undef PRIMASK + #undef PRIMASK2 +-#define P(x) (x << 24) ++/* Smaller 'x' means _higher_ operator precedence */ ++#define PRECEDENCE(x) (x << 24) ++#define P(x) PRECEDENCE(x) + #define PRIMASK 0x7F000000 + #define PRIMASK2 0x7E000000 + +@@ -360,7 +362,7 @@ enum { + OC_MOVE = 0x1f00, OC_PGETLINE = 0x2000, OC_REGEXP = 0x2100, + OC_REPLACE = 0x2200, OC_RETURN = 0x2300, OC_SPRINTF = 0x2400, + OC_TERNARY = 0x2500, OC_UNARY = 0x2600, OC_VAR = 0x2700, +- OC_DONE = 0x2800, ++ OC_CONST = 0x2800, OC_DONE = 0x2900, + + ST_IF = 0x3000, ST_DO = 0x3100, ST_FOR = 0x3200, + ST_WHILE = 0x3300 +@@ -440,9 +442,9 @@ static const uint32_t tokeninfo[] ALIGN4 = { + #define TI_PREINC (OC_UNARY|xV|P(9)|'P') + #define TI_PREDEC (OC_UNARY|xV|P(9)|'M') + TI_PREINC, TI_PREDEC, OC_FIELD|xV|P(5), +- OC_COMPARE|VV|P(39)|5, OC_MOVE|VV|P(74), OC_REPLACE|NV|P(74)|'+', OC_REPLACE|NV|P(74)|'-', +- OC_REPLACE|NV|P(74)|'*', OC_REPLACE|NV|P(74)|'/', OC_REPLACE|NV|P(74)|'%', OC_REPLACE|NV|P(74)|'&', +- OC_BINARY|NV|P(29)|'+', OC_BINARY|NV|P(29)|'-', OC_REPLACE|NV|P(74)|'&', OC_BINARY|NV|P(15)|'&', ++ OC_COMPARE|VV|P(39)|5, OC_MOVE|VV|P(38), OC_REPLACE|NV|P(38)|'+', OC_REPLACE|NV|P(38)|'-', ++ OC_REPLACE|NV|P(38)|'*', OC_REPLACE|NV|P(38)|'/', OC_REPLACE|NV|P(38)|'%', OC_REPLACE|NV|P(38)|'&', ++ OC_BINARY|NV|P(29)|'+', OC_BINARY|NV|P(29)|'-', OC_REPLACE|NV|P(38)|'&', OC_BINARY|NV|P(15)|'&', + OC_BINARY|NV|P(25)|'/', OC_BINARY|NV|P(25)|'%', OC_BINARY|NV|P(15)|'&', OC_BINARY|NV|P(25)|'*', + OC_COMPARE|VV|P(39)|4, OC_COMPARE|VV|P(39)|3, OC_COMPARE|VV|P(39)|0, OC_COMPARE|VV|P(39)|1, + #define TI_LESS (OC_COMPARE|VV|P(39)|2) +@@ -1290,7 +1292,7 @@ static uint32_t next_token(uint32_t expected) + save_tclass = tc; + save_info = t_info; + tc = TC_BINOPX; +- t_info = OC_CONCAT | SS | P(35); ++ t_info = OC_CONCAT | SS | PRECEDENCE(35); + } + + t_tclass = tc; +@@ -1350,9 +1352,8 @@ static node *parse_expr(uint32_t term_tc) + { + node sn; + node *cn = &sn; +- node *vn, *glptr; ++ node *glptr; + uint32_t tc, expected_tc; +- var *v; + + debug_printf_parse("%s() term_tc(%x):", __func__, term_tc); + debug_parse_print_tc(term_tc); +@@ -1363,11 +1364,12 @@ static node *parse_expr(uint32_t term_tc) + expected_tc = TS_OPERAND | TS_UOPPRE | TC_REGEXP | term_tc; + + while (!((tc = next_token(expected_tc)) & term_tc)) { ++ node *vn; + + if (glptr && (t_info == TI_LESS)) { + /* input redirection (<) attached to glptr node */ + debug_printf_parse("%s: input redir\n", __func__); +- cn = glptr->l.n = new_node(OC_CONCAT | SS | P(37)); ++ cn = glptr->l.n = new_node(OC_CONCAT | SS | PRECEDENCE(37)); + cn->a.n = glptr; + expected_tc = TS_OPERAND | TS_UOPPRE; + glptr = NULL; +@@ -1379,24 +1381,42 @@ static node *parse_expr(uint32_t term_tc) + * previous operators with higher priority */ + vn = cn; + while (((t_info & PRIMASK) > (vn->a.n->info & PRIMASK2)) +- || ((t_info == vn->info) && t_info == TI_COLON) ++ || (t_info == vn->info && t_info == TI_COLON) + ) { + vn = vn->a.n; + if (!vn->a.n) syntax_error(EMSG_UNEXP_TOKEN); + } + if (t_info == TI_TERNARY) + //TODO: why? +- t_info += P(6); ++ t_info += PRECEDENCE(6); + cn = vn->a.n->r.n = new_node(t_info); + cn->a.n = vn->a.n; + if (tc & TS_BINOP) { + cn->l.n = vn; +-//FIXME: this is the place to detect and reject assignments to non-lvalues. +-//Currently we allow "assignments" to consts and temporaries, nonsense like this: +-// awk 'BEGIN { "qwe" = 1 }' +-// awk 'BEGIN { 7 *= 7 }' +-// awk 'BEGIN { length("qwe") = 1 }' +-// awk 'BEGIN { (1+1) += 3 }' ++ ++ /* Prevent: ++ * awk 'BEGIN { "qwe" = 1 }' ++ * awk 'BEGIN { 7 *= 7 }' ++ * awk 'BEGIN { length("qwe") = 1 }' ++ * awk 'BEGIN { (1+1) += 3 }' ++ */ ++ /* Assignment? (including *= and friends) */ ++ if (((t_info & OPCLSMASK) == OC_MOVE) ++ || ((t_info & OPCLSMASK) == OC_REPLACE) ++ ) { ++ debug_printf_parse("%s: MOVE/REPLACE vn->info:%08x\n", __func__, vn->info); ++ /* Left side is a (variable or array element) ++ * or function argument ++ * or $FIELD ? ++ */ ++ if ((vn->info & OPCLSMASK) != OC_VAR ++ && (vn->info & OPCLSMASK) != OC_FNARG ++ && (vn->info & OPCLSMASK) != OC_FIELD ++ ) { ++ syntax_error(EMSG_UNEXP_TOKEN); /* no. bad */ ++ } ++ } ++ + expected_tc = TS_OPERAND | TS_UOPPRE | TC_REGEXP; + if (t_info == TI_PGETLINE) { + /* it's a pipe */ +@@ -1432,6 +1452,8 @@ static node *parse_expr(uint32_t term_tc) + /* one should be very careful with switch on tclass - + * only simple tclasses should be used (TC_xyz, not TS_xyz) */ + switch (tc) { ++ var *v; ++ + case TC_VARIABLE: + case TC_ARRAY: + debug_printf_parse("%s: TC_VARIABLE | TC_ARRAY\n", __func__); +@@ -1452,14 +1474,14 @@ static node *parse_expr(uint32_t term_tc) + case TC_NUMBER: + case TC_STRING: + debug_printf_parse("%s: TC_NUMBER | TC_STRING\n", __func__); +- cn->info = OC_VAR; ++ cn->info = OC_CONST; + v = cn->l.v = xzalloc(sizeof(var)); +- if (tc & TC_NUMBER) ++ if (tc & TC_NUMBER) { + setvar_i(v, t_double); +- else { ++ } else { + setvar_s(v, t_string); +- expected_tc &= ~TC_UOPPOST; /* "str"++ is not allowed */ + } ++ expected_tc &= ~TC_UOPPOST; /* NUM++, "str"++ not allowed */ + break; + + case TC_REGEXP: +@@ -3107,6 +3129,8 @@ static var *evaluate(node *op, var *res) + + /* -- recursive node type -- */ + ++ case XC( OC_CONST ): ++ debug_printf_eval("CONST "); + case XC( OC_VAR ): + debug_printf_eval("VAR\n"); + L.v = op->l.v; +diff --git a/testsuite/awk.tests b/testsuite/awk.tests +index ddc51047b..a78fdcd98 100755 +--- a/testsuite/awk.tests ++++ b/testsuite/awk.tests +@@ -540,4 +540,9 @@ testing 'awk assign while assign' \ + │ trim/eff : 57.02%/26, 0.00% │ [cpu000:100%] + └────────────────────────────────────────────────────┘^C" + ++testing "awk = has higher precedence than == (despite what gawk manpage claims)" \ ++ "awk 'BEGIN { v=1; print 2==v; print 2==v=2; print v; print v=3==3; print v}'" \ ++ '0\n1\n2\n1\n3\n' \ ++ '' '' ++ + exit $FAILCOUNT +-- +2.47.1 + diff --git a/package/busybox/0014-awk-fix-ternary-operator-and-precedence-of.patch b/package/busybox/0014-awk-fix-ternary-operator-and-precedence-of.patch new file mode 100644 index 000000000..78f21481c --- /dev/null +++ b/package/busybox/0014-awk-fix-ternary-operator-and-precedence-of.patch @@ -0,0 +1,102 @@ +From 173164c6b2f2ad17dd14d3a43e5bff47abde7199 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Tue, 21 May 2024 14:46:08 +0200 +Subject: [PATCH] awk: fix ternary operator and precedence of = + +Adjust the = precedence test to match behavior of gawk, mawk and +FreeBSD. awk 'BEGIN {print v=3==3; print v}' should print two '1'. + +To fix this, and to unbreak the ternary conditional operator, we restore +the precedence of = in the token list, but override this with a lower +priority when the assignment is on the right side of a compare. + +This fixes commit 0256e00a9d07 (awk: fix precedence of = relative to ==) [1] + +CVE: CVE-2023-42364 CVE-2023-42365 + +Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2024-May/090766.html] + +[1] https://bugs.busybox.net/show_bug.cgi?id=15871#c6 + +Signed-off-by: Natanael Copa +(cherry picked from commit 1714301c405ef03b39605c85c23f22a190cddd95) +Signed-off-by: Khem Raj +[Thomas: taken from https://git.openembedded.org/openembedded-core/tree/meta/recipes-core/busybox/busybox/0002-awk-fix-ternary-operator-and-precedence-of.patch?id=e0ff4813b1cf4df0d851c857d57fb88d7db51bdd] +Upstream: https://git.busybox.net/busybox/commit/?id=38335df9e9f45378c3407defd38b5b610578bdda +Signed-off-by: Thomas Petazzoni +--- + editors/awk.c | 18 ++++++++++++++---- + testsuite/awk.tests | 9 +++++++-- + 2 files changed, 21 insertions(+), 6 deletions(-) + +diff --git a/editors/awk.c b/editors/awk.c +index 5962c3f6a..9467f4644 100644 +--- a/editors/awk.c ++++ b/editors/awk.c +@@ -442,9 +442,10 @@ static const uint32_t tokeninfo[] ALIGN4 = { + #define TI_PREINC (OC_UNARY|xV|P(9)|'P') + #define TI_PREDEC (OC_UNARY|xV|P(9)|'M') + TI_PREINC, TI_PREDEC, OC_FIELD|xV|P(5), +- OC_COMPARE|VV|P(39)|5, OC_MOVE|VV|P(38), OC_REPLACE|NV|P(38)|'+', OC_REPLACE|NV|P(38)|'-', +- OC_REPLACE|NV|P(38)|'*', OC_REPLACE|NV|P(38)|'/', OC_REPLACE|NV|P(38)|'%', OC_REPLACE|NV|P(38)|'&', +- OC_BINARY|NV|P(29)|'+', OC_BINARY|NV|P(29)|'-', OC_REPLACE|NV|P(38)|'&', OC_BINARY|NV|P(15)|'&', ++#define TI_ASSIGN (OC_MOVE|VV|P(74)) ++ OC_COMPARE|VV|P(39)|5, TI_ASSIGN, OC_REPLACE|NV|P(74)|'+', OC_REPLACE|NV|P(74)|'-', ++ OC_REPLACE|NV|P(74)|'*', OC_REPLACE|NV|P(74)|'/', OC_REPLACE|NV|P(74)|'%', OC_REPLACE|NV|P(74)|'&', ++ OC_BINARY|NV|P(29)|'+', OC_BINARY|NV|P(29)|'-', OC_REPLACE|NV|P(74)|'&', OC_BINARY|NV|P(15)|'&', + OC_BINARY|NV|P(25)|'/', OC_BINARY|NV|P(25)|'%', OC_BINARY|NV|P(15)|'&', OC_BINARY|NV|P(25)|'*', + OC_COMPARE|VV|P(39)|4, OC_COMPARE|VV|P(39)|3, OC_COMPARE|VV|P(39)|0, OC_COMPARE|VV|P(39)|1, + #define TI_LESS (OC_COMPARE|VV|P(39)|2) +@@ -1376,11 +1377,19 @@ static node *parse_expr(uint32_t term_tc) + continue; + } + if (tc & (TS_BINOP | TC_UOPPOST)) { ++ int prio; + debug_printf_parse("%s: TS_BINOP | TC_UOPPOST tc:%x\n", __func__, tc); + /* for binary and postfix-unary operators, jump back over + * previous operators with higher priority */ + vn = cn; +- while (((t_info & PRIMASK) > (vn->a.n->info & PRIMASK2)) ++ /* Let assignment get higher priority when used on right ++ * side in compare. i.e: 2==v=3 */ ++ if (t_info == TI_ASSIGN && (vn->a.n->info & OPCLSMASK) == OC_COMPARE) { ++ prio = PRECEDENCE(38); ++ } else { ++ prio = (t_info & PRIMASK); ++ } ++ while ((prio > (vn->a.n->info & PRIMASK2)) + || (t_info == vn->info && t_info == TI_COLON) + ) { + vn = vn->a.n; +@@ -1412,6 +1421,7 @@ static node *parse_expr(uint32_t term_tc) + if ((vn->info & OPCLSMASK) != OC_VAR + && (vn->info & OPCLSMASK) != OC_FNARG + && (vn->info & OPCLSMASK) != OC_FIELD ++ && (vn->info & OPCLSMASK) != OC_COMPARE + ) { + syntax_error(EMSG_UNEXP_TOKEN); /* no. bad */ + } +diff --git a/testsuite/awk.tests b/testsuite/awk.tests +index a78fdcd98..d2706dea9 100755 +--- a/testsuite/awk.tests ++++ b/testsuite/awk.tests +@@ -540,9 +540,14 @@ testing 'awk assign while assign' \ + │ trim/eff : 57.02%/26, 0.00% │ [cpu000:100%] + └────────────────────────────────────────────────────┘^C" + +-testing "awk = has higher precedence than == (despite what gawk manpage claims)" \ ++testing "awk = has higher precedence than == on right side" \ + "awk 'BEGIN { v=1; print 2==v; print 2==v=2; print v; print v=3==3; print v}'" \ +- '0\n1\n2\n1\n3\n' \ ++ '0\n1\n2\n1\n1\n' \ ++ '' '' ++ ++testing 'awk ternary precedence' \ ++ "awk 'BEGIN { a = 0 ? \"yes\": \"no\"; print a }'" \ ++ 'no\n' \ + '' '' + + exit $FAILCOUNT +-- +2.47.1 + diff --git a/package/busybox/0015-awk.c-fix-CVE-2023-42366-bug-15874.patch b/package/busybox/0015-awk.c-fix-CVE-2023-42366-bug-15874.patch new file mode 100644 index 000000000..15b2cfdf0 --- /dev/null +++ b/package/busybox/0015-awk.c-fix-CVE-2023-42366-bug-15874.patch @@ -0,0 +1,43 @@ +From 54e64812090f58cffca08fcf11d2dbc471c964e1 Mon Sep 17 00:00:00 2001 +From: Valery Ushakov +Date: Wed, 24 Jan 2024 22:24:41 +0300 +Subject: [PATCH] awk.c: fix CVE-2023-42366 (bug #15874) + +Make sure we don't read past the end of the string in next_token() +when backslash is the last character in an (invalid) regexp. +a fix and issue reported in bugzilla + +https://bugs.busybox.net/show_bug.cgi?id=15874 + +Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2024-May/090766.html] + +CVE: CVE-2023-42366 +Signed-off-by: Khem Raj +[Thomas: https://git.openembedded.org/openembedded-core/tree/meta/recipes-core/busybox/busybox/0001-awk.c-fix-CVE-2023-42366-bug-15874.patch?id=e0ff4813b1cf4df0d851c857d57fb88d7db51bdd] +Upstream: http://lists.busybox.net/pipermail/busybox/2024-May/090766.html +Signed-off-by: Thomas Petazzoni +--- + editors/awk.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/editors/awk.c b/editors/awk.c +index 9467f4644..947195333 100644 +--- a/editors/awk.c ++++ b/editors/awk.c +@@ -1168,9 +1168,11 @@ static uint32_t next_token(uint32_t expected) + s[-1] = bb_process_escape_sequence((const char **)&pp); + if (*p == '\\') + *s++ = '\\'; +- if (pp == p) ++ if (pp == p) { ++ if (*p == '\0') ++ syntax_error(EMSG_UNEXP_EOS); + *s++ = *p++; +- else ++ } else + p = pp; + } + } +-- +2.47.1 + diff --git a/package/busybox/0016-hwclock-Check-for-SYS_settimeofday-before-calling-sy.patch b/package/busybox/0016-hwclock-Check-for-SYS_settimeofday-before-calling-sy.patch new file mode 100644 index 000000000..c61cbc810 --- /dev/null +++ b/package/busybox/0016-hwclock-Check-for-SYS_settimeofday-before-calling-sy.patch @@ -0,0 +1,54 @@ +From a378cd9c3a022500d7feaefb4e3bb43fdd789131 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 7 Mar 2021 17:30:24 -0800 +Subject: [PATCH] hwclock: Check for SYS_settimeofday before calling syscall + +Some newer architectures e.g. RISCV32 have 64bit time_t from get go and +thusly do not have gettimeofday_time64/settimeofday_time64 implemented +therefore check for SYS_settimeofday definition before making the +syscall. Fixes build for riscv32 and it will bail out at runtime. + +Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2021-March/088583.html] +Signed-off-by: Khem Raj +Upstream: http://lists.busybox.net/pipermail/busybox/2021-March/088583.html +[Thomas: this issue has been discussed on the musl mailing list, and +the musl developers' opinion is that Busybox is wrong: +https://www.openwall.com/lists/musl/2024/03/03/2 +https://www.openwall.com/lists/musl/2024/04/07/2. The correct fix +isn't clear, and in the mean time, the patch from Khem turns the build +issue into a runtime error only on the problematic architecture, which +seems like a reasonable trade-off] +Signed-off-by: Thomas Petazzoni +--- + util-linux/hwclock.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/util-linux/hwclock.c b/util-linux/hwclock.c +index 723b09589..b9faaabbc 100644 +--- a/util-linux/hwclock.c ++++ b/util-linux/hwclock.c +@@ -131,6 +131,7 @@ static void show_clock(const char **pp_rtcname, int utc) + + static void set_kernel_tz(const struct timezone *tz) + { ++ int ret = 1; + #if LIBC_IS_MUSL + /* musl libc does not pass tz argument to syscall + * because "it's deprecated by POSIX, therefore it's fine +@@ -139,9 +140,11 @@ static void set_kernel_tz(const struct timezone *tz) + #if !defined(SYS_settimeofday) && defined(SYS_settimeofday_time32) + # define SYS_settimeofday SYS_settimeofday_time32 + #endif +- int ret = syscall(SYS_settimeofday, NULL, tz); ++#if defined(SYS_settimeofday) ++ ret = syscall(SYS_settimeofday, NULL, tz); ++#endif + #else +- int ret = settimeofday(NULL, tz); ++ ret = settimeofday(NULL, tz); + #endif + if (ret) + bb_simple_perror_msg_and_die("settimeofday"); +-- +2.48.1 + diff --git a/package/busybox/busybox-minimal.config b/package/busybox/busybox-minimal.config index 1e7ad1d35..5d2a30806 100644 --- a/package/busybox/busybox-minimal.config +++ b/package/busybox/busybox-minimal.config @@ -955,8 +955,7 @@ CONFIG_PING=y CONFIG_ROUTE=y # CONFIG_SLATTACH is not set # CONFIG_SSL_CLIENT is not set -CONFIG_TC=y -CONFIG_FEATURE_TC_INGRESS=y +# CONFIG_TC is not set # CONFIG_TCPSVD is not set # CONFIG_UDPSVD is not set CONFIG_TELNET=y diff --git a/package/busybox/busybox.config b/package/busybox/busybox.config index 6e8bd2799..cfd16172f 100644 --- a/package/busybox/busybox.config +++ b/package/busybox/busybox.config @@ -968,8 +968,7 @@ CONFIG_FEATURE_FANCY_PING=y CONFIG_ROUTE=y # CONFIG_SLATTACH is not set # CONFIG_SSL_CLIENT is not set -CONFIG_TC=y -CONFIG_FEATURE_TC_INGRESS=y +# CONFIG_TC is not set # CONFIG_TCPSVD is not set # CONFIG_UDPSVD is not set CONFIG_TELNET=y diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk index eb5e7ad92..37afe35f7 100644 --- a/package/busybox/busybox.mk +++ b/package/busybox/busybox.mk @@ -15,6 +15,16 @@ BUSYBOX_CPE_ID_VENDOR = busybox # 0004-nslookup-sanitize-all-printed-strings-with-printable.patch BUSYBOX_IGNORE_CVES += CVE-2022-28391 +# 0012-awk-fix-use-after-free-CVE-2023-42363.patch +BUSYBOX_IGNORE_CVES += CVE-2023-42363 + +# 0013-awk-fix-precedence-of-relative-to.patch +# 0014-awk-fix-ternary-operator-and-precedence-of.patch +BUSYBOX_IGNORE_CVES += CVE-2023-42364 CVE-2023-42365 + +# 0015-awk.c-fix-CVE-2023-42366-bug-15874.patch +BUSYBOX_IGNORE_CVES += CVE-2023-42366 + BUSYBOX_CFLAGS = \ $(TARGET_CFLAGS) diff --git a/package/c-ares/c-ares.mk b/package/c-ares/c-ares.mk index c4441255a..c2403b9c4 100644 --- a/package/c-ares/c-ares.mk +++ b/package/c-ares/c-ares.mk @@ -5,7 +5,7 @@ ################################################################################ C_ARES_VERSION = 1.27.0 -C_ARES_SITE = http://c-ares.haxx.se/download +C_ARES_SITE = https://github.com/c-ares/c-ares/releases/download/cares-1_27_0 C_ARES_INSTALL_STAGING = YES C_ARES_CONF_OPTS = --with-random=/dev/urandom C_ARES_LICENSE = MIT diff --git a/package/c-icap-modules/Config.in b/package/c-icap-modules/Config.in index 616456b4d..7114131f0 100644 --- a/package/c-icap-modules/Config.in +++ b/package/c-icap-modules/Config.in @@ -2,6 +2,6 @@ config BR2_PACKAGE_C_ICAP_MODULES bool "c-icap-modules" depends on BR2_PACKAGE_C_ICAP help - Additionals modules for c-icap server. + Additional modules for c-icap server. http://c-icap.sourceforge.net/ diff --git a/package/cache-calibrator/0002-Fix-build-failure-due-to-getpagesize-implicit-declar.patch b/package/cache-calibrator/0002-Fix-build-failure-due-to-getpagesize-implicit-declar.patch new file mode 100644 index 000000000..fcad66948 --- /dev/null +++ b/package/cache-calibrator/0002-Fix-build-failure-due-to-getpagesize-implicit-declar.patch @@ -0,0 +1,33 @@ +From 29c4e0038b212e953cc59ac8b31d4541db758a3d Mon Sep 17 00:00:00 2001 +From: Dario Binacchi +Date: Tue, 3 Sep 2024 17:43:44 +0200 +Subject: [PATCH] Fix build failure due to getpagesize implicit declaration + +The patch fixes the following build error: + +calibrator.c: In function 'runCache': +calibrator.c:267:24: error: implicit declaration of function 'getpagesize' [-Wimplicit-function-declaration] + +Signed-off-by: Dario Binacchi +Upstream: sent to Stefan Manegold Stefan.Manegold@cwi.nl +--- + calibrator.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/calibrator.c b/calibrator.c +index e045dfdcb96b..fd2fadb26020 100644 +--- a/calibrator.c ++++ b/calibrator.c +@@ -37,9 +37,7 @@ + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +-/* + #include +-*/ + #include + #include + #include +-- +2.43.0 + diff --git a/package/catch2/catch2.hash b/package/catch2/catch2.hash index 513678551..ec3450836 100644 --- a/package/catch2/catch2.hash +++ b/package/catch2/catch2.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 269543a49eb76f40b3f93ff231d4c24c27a7e16c90e47d2e45bcc564de470c6e catch2-3.5.2.tar.gz +sha256 b7754b711242c167d8f60b890695347f90a1ebc95949a045385114165d606dbb catch2-3.5.4.tar.gz sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE.txt diff --git a/package/catch2/catch2.mk b/package/catch2/catch2.mk index ee0940642..918f1b431 100644 --- a/package/catch2/catch2.mk +++ b/package/catch2/catch2.mk @@ -4,7 +4,7 @@ # ################################################################################ -CATCH2_VERSION = 3.5.2 +CATCH2_VERSION = 3.5.4 CATCH2_SITE = $(call github,catchorg,Catch2,v$(CATCH2_VERSION)) CATCH2_INSTALL_STAGING = YES CATCH2_INSTALL_TARGET = NO diff --git a/package/ccache/ccache.mk b/package/ccache/ccache.mk index 96b1b65c5..579607929 100644 --- a/package/ccache/ccache.mk +++ b/package/ccache/ccache.mk @@ -15,6 +15,7 @@ HOST_CCACHE_DEPENDENCIES = host-hiredis host-zstd HOST_CCACHE_CONF_OPTS += \ -UCMAKE_C_COMPILER_LAUNCHER \ -UCMAKE_CXX_COMPILER_LAUNCHER \ + -DCCACHE_DEV_MODE=OFF \ -DZSTD_FROM_INTERNET=OFF \ -DHIREDIS_FROM_INTERNET=OFF \ -DENABLE_TESTING=OFF diff --git a/package/cdrkit/0001-no-rcmd.patch b/package/cdrkit/0001-fix-build-with-uClibc.patch similarity index 59% rename from package/cdrkit/0001-no-rcmd.patch rename to package/cdrkit/0001-fix-build-with-uClibc.patch index 294779f7a..27203eee6 100644 --- a/package/cdrkit/0001-no-rcmd.patch +++ b/package/cdrkit/0001-fix-build-with-uClibc.patch @@ -1,17 +1,20 @@ -[PATCH] fix build with uClibc +From 13823cfe42f33e947f8375f5a3f9ee177c699960 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Sat, 13 Jul 2024 10:57:57 +0200 +Subject: [PATCH] fix build with uClibc cdrkit unconditionally enables code using rcmd(3), which isn't available on uClibc. Signed-off-by: Peter Korsgaard --- - include/xconfig.h.in | 1 - + include/xconfig.h.in | 1 - 1 file changed, 1 deletion(-) -Index: cdrkit-1.1.10/include/xconfig.h.in -=================================================================== ---- cdrkit-1.1.10.orig/include/xconfig.h.in -+++ cdrkit-1.1.10/include/xconfig.h.in +diff --git a/include/xconfig.h.in b/include/xconfig.h.in +index c130600..00f2044 100644 +--- a/include/xconfig.h.in ++++ b/include/xconfig.h.in @@ -187,7 +187,6 @@ * they are placed before the large file tests. */ @@ -20,3 +23,6 @@ Index: cdrkit-1.1.10/include/xconfig.h.in #define HAVE_SOCKET 1 /* socket() is present in libc/libsocket */ #define HAVE_SOCKETPAIR 1 /* socketpair() is present in libc/libsocket */ #define HAVE_GETSERVBYNAME 1 /* getservbyname() is present in libc/libsocket */ +-- +2.45.2 + diff --git a/package/cdrkit/0004-Add-missing-header-includes.patch b/package/cdrkit/0004-Add-missing-header-includes.patch new file mode 100644 index 000000000..d2a93fe5a --- /dev/null +++ b/package/cdrkit/0004-Add-missing-header-includes.patch @@ -0,0 +1,48 @@ +From 8b7852149c45c8a837a9f5124e91812dd475a270 Mon Sep 17 00:00:00 2001 +From: Andrey Rakhmatullin +Date: Sat, 13 Jul 2024 11:37:07 +0200 +Subject: [PATCH] Add missing header includes +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Bug-Debian: https://bugs.debian.org/1066264 + +Fixes: + +genisoimage/genisoimage.c:1509:17: error: implicit declaration of function ‘parse_checksum_algo’ [-Wimplicit-function-declaration] + +Upstream: https://sources.debian.org/patches/cdrkit/9:1.1.11-3.5/fix-implicit-function-declaration.patch/ +Signed-off-by: Thomas Petazzoni +--- + genisoimage/genisoimage.c | 1 + + genisoimage/jte.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/genisoimage/genisoimage.c b/genisoimage/genisoimage.c +index 46f0cb7..fa2f8bd 100644 +--- a/genisoimage/genisoimage.c ++++ b/genisoimage/genisoimage.c +@@ -53,6 +53,7 @@ + #include + #include "match.h" + #include "exclude.h" ++#include "checksum.h" + #include /* For UNICODE translation */ + #include + #ifdef UDF +diff --git a/genisoimage/jte.c b/genisoimage/jte.c +index 0dff289..4c4d986 100644 +--- a/genisoimage/jte.c ++++ b/genisoimage/jte.c +@@ -27,6 +27,7 @@ + #include "ifo_read.h" + #include "endianconv.h" + #include "checksum.h" ++#include "md5.h" + #endif + #ifdef APPLE_HYB + #include +-- +2.45.2 + diff --git a/package/cdrkit/Config.in b/package/cdrkit/Config.in index 7b5b8865f..b3ddcbd13 100644 --- a/package/cdrkit/Config.in +++ b/package/cdrkit/Config.in @@ -10,4 +10,4 @@ config BR2_PACKAGE_CDRKIT blanking CD-RW media, creating ISO-9660 filesystem images, extracting audio CD data, and more. - http://www.cdrkit.org/ + https://en.wikipedia.org/wiki/Cdrkit diff --git a/package/check/0001-src-CMakeLists.txt-don-t-build-shared-libraries-when.patch b/package/check/0001-src-CMakeLists.txt-don-t-build-shared-libraries-when.patch new file mode 100644 index 000000000..6ed01f540 --- /dev/null +++ b/package/check/0001-src-CMakeLists.txt-don-t-build-shared-libraries-when.patch @@ -0,0 +1,255 @@ +From 2ae2137d724d5f3a70d5d2856cb979d389c4cbd8 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Fri, 12 Jul 2024 21:30:43 +0200 +Subject: [PATCH] src/CMakeLists.txt: don't build shared libraries when not + enabled + +BUILD_SHARED_LIBS is a standard CMake option [1] that specifies +whether shared libraries should be built or not. This commit adjusts +src/CMakeLists.txt to observe this variable to decide whether the +shared library variant should be built or not. This allows check to +only build a static library in environments where only a static +library can be compiled. + +This needs a bit of refactoring to avoid duplication: + +- Additional source files from libcompat are directly added to the + ${SOURCES} variable as needed + +- Additional libraries are collected into ${ADDITIONAL_LIBS} before + being associated to the static library and shared library (if enabled) + +[1] https://cmake.org/cmake/help/latest/variable/BUILD_SHARED_LIBS.html + +Fixes: + +__uClibc_main.c:(.text+0x12c): undefined reference to `__fini_array_end' +/home/autobuild/autobuild/instance-20/output-1/host/lib/gcc/sparc-buildroot-linux-uclibc/13.3.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: __uClibc_main.c:(.text+0x130): undefined reference to `__fini_array_start' +/home/autobuild/autobuild/instance-20/output-1/host/lib/gcc/sparc-buildroot-linux-uclibc/13.3.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: __uClibc_main.c:(.text+0x134): undefined reference to `__fini_array_end' + +Upstream: https://github.com/libcheck/check/pull/355 +Signed-off-by: Thomas Petazzoni +--- + src/CMakeLists.txt | 137 ++++++++++++++++++++++----------------------- + 1 file changed, 67 insertions(+), 70 deletions(-) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 4a02dbe..e0cf32b 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -31,117 +31,106 @@ set(SOURCES + check_run.c + check_str.c) + +-set(HEADERS +- ${CONFIG_HEADER} +- ${CMAKE_CURRENT_BINARY_DIR}/check.h +- check.h.in +- check_error.h +- check_impl.h +- check_list.h +- check_log.h +- check_msg.h +- check_pack.h +- check_print.h +- check_str.h) +- +-configure_file(check.h.in check.h @ONLY) +- +-# To maintain compatibility with the Autotools installation +-# we specifically create both shared and static libraries +-# as that is what Autotools script has been doing. +-# Normally CMake would create the system's native default library type. +- +-add_library(check STATIC ${SOURCES} ${HEADERS}) +-add_library(Check::check ALIAS check) +- +- +-# We would like to create an OBJECT library but currently they are +-# too unreliable and cumbersome, +-# especially with target_link_libraries and install(EXPORT... +-# https://stackoverflow.com/questions/38832528/transitive-target-include-directories-on-object-libraries +-# So we instead do the work twice. +-add_library(checkShared SHARED ${SOURCES} ${HEADERS}) +-add_library(Check::checkShared ALIAS checkShared) +- + # Add parts of libcompat as required +-target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/fpclassify.c) +-target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/fpclassify.c) ++list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/fpclassify.c) + + if (NOT HAVE_LIBRT) +- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/clock_gettime.c) +- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_create.c) +- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_delete.c) +- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_settime.c) +- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/clock_gettime.c) +- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_create.c) +- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_delete.c) +- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_settime.c) ++ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/clock_gettime.c) ++ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_create.c) ++ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_delete.c) ++ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_settime.c) + endif(NOT HAVE_LIBRT) + + if(NOT HAVE_GETLINE) +- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/getline.c) +- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/getline.c) ++ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/getline.c) + endif(NOT HAVE_GETLINE) + + if(NOT HAVE_GETTIMEOFDAY) +- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/gettimeofday.c) +- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/gettimeofday.c) ++ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/gettimeofday.c) + endif(NOT HAVE_GETTIMEOFDAY) + + if(NOT HAVE_DECL_LOCALTIME_R) +- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/localtime_r.c) +- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/localtime_r.c) ++ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/localtime_r.c) + endif(NOT HAVE_DECL_LOCALTIME_R) + + if(NOT HAVE_MALLOC) +- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/malloc.c) +- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/malloc.c) ++ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/malloc.c) + endif(NOT HAVE_MALLOC) + + if(NOT HAVE_REALLOC) +- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/realloc.c) +- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/realloc.c) ++ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/realloc.c) + endif(NOT HAVE_REALLOC) + + if(NOT HAVE_SNPRINTF) +- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/snprintf.c) +- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/snprintf.c) ++ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/snprintf.c) + endif(NOT HAVE_SNPRINTF) + + if(NOT HAVE_DECL_STRDUP AND NOT HAVE__STRDUP) +- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/strdup.c) +- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/snprintf.c) ++ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/strdup.c) + endif(NOT HAVE_DECL_STRDUP AND NOT HAVE__STRDUP) + + if(NOT HAVE_DECL_STRSIGNAL) +- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/strsignal.c) +- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/strsignal.c) ++ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/strsignal.c) + endif(NOT HAVE_DECL_STRSIGNAL) + + if(NOT HAVE_DECL_ALARM) +- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/alarm.c) +- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/alarm.c) ++ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/alarm.c) + endif(NOT HAVE_DECL_ALARM) + + if(NOT HAVE_PTHREAD) +- target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/pthread_mutex.c) +- target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/pthread_mutex.c) ++ list(APPEND SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../lib/pthread_mutex.c) + endif() + ++set(HEADERS ++ ${CONFIG_HEADER} ++ ${CMAKE_CURRENT_BINARY_DIR}/check.h ++ check.h.in ++ check_error.h ++ check_impl.h ++ check_list.h ++ check_log.h ++ check_msg.h ++ check_pack.h ++ check_print.h ++ check_str.h) ++ ++configure_file(check.h.in check.h @ONLY) ++ ++# To maintain compatibility with the Autotools installation ++# we specifically create both shared and static libraries ++# as that is what Autotools script has been doing. ++# Normally CMake would create the system's native default library type. ++ ++add_library(check STATIC ${SOURCES} ${HEADERS}) ++add_library(Check::check ALIAS check) ++ ++# We would like to create an OBJECT library but currently they are ++# too unreliable and cumbersome, ++# especially with target_link_libraries and install(EXPORT... ++# https://stackoverflow.com/questions/38832528/transitive-target-include-directories-on-object-libraries ++# So we instead do the work twice. ++if (BUILD_SHARED_LIBS) ++ add_library(checkShared SHARED ${SOURCES} ${HEADERS}) ++ add_library(Check::checkShared ALIAS checkShared) ++endif (BUILD_SHARED_LIBS) ++ + # Include libraries if available + if (HAVE_LIBM) +- target_link_libraries(check PUBLIC m) +- target_link_libraries(checkShared PUBLIC m) ++ list(APPEND ADDITIONAL_LIBS m) + endif (HAVE_LIBM) + if (HAVE_LIBRT) +- target_link_libraries(check PUBLIC rt) +- target_link_libraries(checkShared PUBLIC rt) ++ list(APPEND ADDITIONAL_LIBS rt) + endif (HAVE_LIBRT) + if (HAVE_SUBUNIT) +- target_link_libraries(check PUBLIC subunit) +- target_link_libraries(checkShared PUBLIC subunit) ++ list(APPEND ADDITIONAL_LIBS subunit) + endif (HAVE_SUBUNIT) + ++target_link_libraries(check PUBLIC ${ADDITIONAL_LIBS}) ++if (BUILD_SHARED_LIBS) ++ target_link_libraries(checkShared PUBLIC m) ++endif (BUILD_SHARED_LIBS) ++ ++ + if(MSVC) + target_compile_definitions(checkShared + PRIVATE "CK_DLL_EXP=_declspec(dllexport)" +@@ -168,27 +157,35 @@ if (MSVC) + # So we call it this: + set(LIBRARY_OUTPUT_NAME "checkDynamic") + endif (MSVC) ++if (BUILD_SHARED_LIBS) + set_target_properties(checkShared PROPERTIES + OUTPUT_NAME ${LIBRARY_OUTPUT_NAME} + VERSION ${PROJECT_VERSION} + SOVERSION ${PROJECT_VERSION_MAJOR} + PUBLIC_HEADER "${public_headers}" + ) ++endif (BUILD_SHARED_LIBS) + target_include_directories(check + PUBLIC + $ + $ + $ + ) ++if (BUILD_SHARED_LIBS) + target_include_directories(checkShared + PUBLIC + $ + $ + $ +-) ++ ) ++endif (BUILD_SHARED_LIBS) + + if(NOT THIS_IS_SUBPROJECT) +- install(TARGETS check checkShared ++ if (BUILD_SHARED_LIBS) ++ set(SHARED_LIBNAME checkShared) ++ endif () ++ ++ install(TARGETS check ${SHARED_LIBNAME} + EXPORT check-targets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} +-- +2.45.2 + diff --git a/package/check/0002-src-check_run.c-fix-build-on-noMMU-platforms.patch b/package/check/0002-src-check_run.c-fix-build-on-noMMU-platforms.patch new file mode 100644 index 000000000..173fa4ae5 --- /dev/null +++ b/package/check/0002-src-check_run.c-fix-build-on-noMMU-platforms.patch @@ -0,0 +1,82 @@ +From c9bebf051aa7e3037ca8e0fe554e073204ffedde Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Fri, 12 Jul 2024 21:27:47 +0200 +Subject: [PATCH] src/check_run.c: fix build on noMMU platforms + +src/check_run.c defines sig_handler() under the following conditions: + + #if defined(HAVE_FORK) && HAVE_FORK==1 + +however, it does use sig_handler under the following conditions: + + #if defined(HAVE_SIGACTION) && defined(HAVE_FORK) + +which breaks when HAVE_FORK is defined, but has the value HAVE_FORK=0, +as is the case on noMMU platforms. + +This commit fixes this by ensuring that the build conditions are +aligned throughout check_run.c. + +Fixes: + +src/check_run.c: In function 'srunner_run_tagged': +src/check_run.c:802:38: error: 'sig_handler' undeclared (first use in this function); did you mean 'sa_handler'? +[...] + +Upstream: https://github.com/libcheck/check/pull/354 +Signed-off-by: Thomas Petazzoni +--- + src/check_run.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/check_run.c b/src/check_run.c +index 5f160e5..4c370b3 100644 +--- a/src/check_run.c ++++ b/src/check_run.c +@@ -772,12 +772,12 @@ void srunner_run_tagged(SRunner * sr, const char *sname, const char *tcname, + const char *include_tags, const char *exclude_tags, + enum print_output print_mode) + { +-#if defined(HAVE_SIGACTION) && defined(HAVE_FORK) ++#if defined(HAVE_SIGACTION) && defined(HAVE_FORK) && HAVE_FORK==1 + static struct sigaction sigalarm_old_action; + static struct sigaction sigalarm_new_action; + static struct sigaction sigint_new_action; + static struct sigaction sigterm_new_action; +-#endif /* HAVE_SIGACTION && HAVE_FORK */ ++#endif /* HAVE_SIGACTION && HAVE_FORK && HAVE_FORK==1 */ + + /* Get the selected test suite and test case from the + environment. */ +@@ -797,7 +797,7 @@ void srunner_run_tagged(SRunner * sr, const char *sname, const char *tcname, + eprintf("Bad print_mode argument to srunner_run_all: %d", + __FILE__, __LINE__, print_mode); + } +-#if defined(HAVE_SIGACTION) && defined(HAVE_FORK) ++#if defined(HAVE_SIGACTION) && defined(HAVE_FORK) && HAVE_FORK==1 + memset(&sigalarm_new_action, 0, sizeof(sigalarm_new_action)); + sigalarm_new_action.sa_handler = sig_handler; + sigaction(SIGALRM, &sigalarm_new_action, &sigalarm_old_action); +@@ -809,16 +809,16 @@ void srunner_run_tagged(SRunner * sr, const char *sname, const char *tcname, + memset(&sigterm_new_action, 0, sizeof(sigterm_new_action)); + sigterm_new_action.sa_handler = sig_handler; + sigaction(SIGTERM, &sigterm_new_action, &sigterm_old_action); +-#endif /* HAVE_SIGACTION && HAVE_FORK */ ++#endif /* HAVE_SIGACTION && HAVE_FORK && HAVE_FORK==1 */ + srunner_run_init(sr, print_mode); + srunner_iterate_suites(sr, sname, tcname, include_tags, exclude_tags, + print_mode); + srunner_run_end(sr, print_mode); +-#if defined(HAVE_SIGACTION) && defined(HAVE_FORK) ++#if defined(HAVE_SIGACTION) && defined(HAVE_FORK) && HAVE_FORK==1 + sigaction(SIGALRM, &sigalarm_old_action, NULL); + sigaction(SIGINT, &sigint_old_action, NULL); + sigaction(SIGTERM, &sigterm_old_action, NULL); +-#endif /* HAVE_SIGACTION && HAVE_FORK */ ++#endif /* HAVE_SIGACTION && HAVE_FORK && HAVE_FORK==1 */ + } + + void srunner_run(SRunner * sr, const char *sname, const char *tcname, +-- +2.45.2 + diff --git a/package/chocolate-doom/0001-Remove-redundant-demoextend-definition.patch b/package/chocolate-doom/0001-Remove-redundant-demoextend-definition.patch index bbfbdbb2d..06bf54c58 100644 --- a/package/chocolate-doom/0001-Remove-redundant-demoextend-definition.patch +++ b/package/chocolate-doom/0001-Remove-redundant-demoextend-definition.patch @@ -4,7 +4,7 @@ Date: Sun, 15 Mar 2020 16:55:33 -0500 Subject: [PATCH] Remove redundant demoextend definition GCC 10 enables -fno-common by default, which causes the linker to fail when -there are multple definitions of a global variable. +there are multiple definitions of a global variable. See https://gcc.gnu.org/gcc-10/porting_to.html diff --git a/package/cjson/cjson.hash b/package/cjson/cjson.hash index 305dc0d7b..e07ae0f7b 100644 --- a/package/cjson/cjson.hash +++ b/package/cjson/cjson.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 c91d1eeb7175c50d49f6ba2a25e69b46bd05cffb798382c19bfb202e467ec51c cjson-1.7.17.tar.gz +sha256 3aa806844a03442c00769b83e99970be70fbef03735ff898f4811dd03b9f5ee5 cjson-1.7.18.tar.gz sha256 a36dda207c36db5818729c54e7ad4e8b0c6fba847491ba64f372c1a2037b6d5c LICENSE diff --git a/package/cjson/cjson.mk b/package/cjson/cjson.mk index 4719a3dc9..35304ec61 100644 --- a/package/cjson/cjson.mk +++ b/package/cjson/cjson.mk @@ -4,7 +4,7 @@ # ################################################################################ -CJSON_VERSION = 1.7.17 +CJSON_VERSION = 1.7.18 CJSON_SITE = $(call github,DaveGamble,cjson,v$(CJSON_VERSION)) CJSON_INSTALL_STAGING = YES CJSON_LICENSE = MIT diff --git a/package/clamav/clamav.hash b/package/clamav/clamav.hash index cd03a1184..b5b10d3a1 100644 --- a/package/clamav/clamav.hash +++ b/package/clamav/clamav.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 aa67ee9679f747af3c492353d768464c27d614b3fed62eb7f988b6776d4aedbb clamav-1.0.5.tar.gz +sha256 4783f2ab3fc323a887c117c672dc0b4e7ace72d76f8c06e990bd49c3ef58f10a clamav-1.0.8.tar.gz sha256 0c4fd2fa9733fc9122503797648710851e4ee6d9e4969dd33fcbd8c63cd2f584 COPYING.txt sha256 d72a145c90918184a05ef65a04c9e6f7466faa59bc1b82c8f6a8ddc7ddcb9bed COPYING/COPYING.bzip2 sha256 dfb818a0d41411c6fb1c193c68b73018ceadd1994bda41ad541cbff292894bc6 COPYING/COPYING.file diff --git a/package/clamav/clamav.mk b/package/clamav/clamav.mk index 7c6dfce6f..42be9be41 100644 --- a/package/clamav/clamav.mk +++ b/package/clamav/clamav.mk @@ -4,7 +4,7 @@ # ################################################################################ -CLAMAV_VERSION = 1.0.5 +CLAMAV_VERSION = 1.0.8 CLAMAV_SITE = https://www.clamav.net/downloads/production CLAMAV_LICENSE = GPL-2.0 CLAMAV_LICENSE_FILES = \ @@ -45,9 +45,8 @@ CLAMAV_DEPENDENCIES += musl-fts CLAMAV_LIBS += -lfts endif -CLAMAV_CONF_ENV += LIBS="$(CLAMAV_LIBS)" - CLAMAV_CONF_OPTS = \ + -DCMAKE_EXE_LINKER_FLAGS="$(CLAMAV_LIBS)" \ -DCMAKE_SKIP_INSTALL_RPATH=ON \ -DENABLE_JSON_SHARED=ON \ -DENABLE_MAN_PAGES=OFF \ diff --git a/package/cmake/Config.in.host b/package/cmake/Config.in.host index 0935e9a56..c38bb9daa 100644 --- a/package/cmake/Config.in.host +++ b/package/cmake/Config.in.host @@ -47,10 +47,15 @@ config BR2_HOST_CMAKE_AT_LEAST_3_27 bool select BR2_HOST_CMAKE_AT_LEAST_3_26 +config BR2_HOST_CMAKE_AT_LEAST_3_28 + bool + select BR2_HOST_CMAKE_AT_LEAST_3_27 + # This order guarantees that the highest version is set, as kconfig # stops affecting a value on the first matching default. config BR2_HOST_CMAKE_AT_LEAST string + default "3.28" if BR2_HOST_CMAKE_AT_LEAST_3_28 default "3.27" if BR2_HOST_CMAKE_AT_LEAST_3_27 default "3.26" if BR2_HOST_CMAKE_AT_LEAST_3_26 default "3.25" if BR2_HOST_CMAKE_AT_LEAST_3_25 diff --git a/package/cmake/cmake.hash b/package/cmake/cmake.hash index 51fff6c3e..74b4a0a3a 100644 --- a/package/cmake/cmake.hash +++ b/package/cmake/cmake.hash @@ -1,5 +1,5 @@ -# From https://cmake.org/files/v3.28/cmake-3.28.1-SHA-256.txt -sha256 15e94f83e647f7d620a140a7a5da76349fc47a1bfed66d0f5cdee8e7344079ad cmake-3.28.1.tar.gz +# From https://cmake.org/files/v3.28/cmake-3.28.3-SHA-256.txt +sha256 72b7570e5c8593de6ac4ab433b73eab18c5fb328880460c86ce32608141ad5c1 cmake-3.28.3.tar.gz # Locally calculated sha256 4a01ccf2dc580ba570d02bc015bbe0ec92f1f318717aae9540ba841ba7946756 Copyright.txt diff --git a/package/cmake/cmake.mk b/package/cmake/cmake.mk index 23d00b95c..49d1f9fea 100644 --- a/package/cmake/cmake.mk +++ b/package/cmake/cmake.mk @@ -6,7 +6,7 @@ # When updating the version, please also update BR2_HOST_CMAKE_AT_LEAST_X_Y CMAKE_VERSION_MAJOR = 3.28 -CMAKE_VERSION = $(CMAKE_VERSION_MAJOR).1 +CMAKE_VERSION = $(CMAKE_VERSION_MAJOR).3 CMAKE_SITE = https://cmake.org/files/v$(CMAKE_VERSION_MAJOR) CMAKE_LICENSE = BSD-3-Clause CMAKE_LICENSE_FILES = Copyright.txt diff --git a/package/cmocka/Config.in b/package/cmocka/Config.in index cf49d0f6b..80e29778d 100644 --- a/package/cmocka/Config.in +++ b/package/cmocka/Config.in @@ -1,5 +1,5 @@ config BR2_PACKAGE_CMOCKA - bool cmocka + bool "cmocka" depends on !BR2_STATIC_LIBS help cmocka is an elegant unit testing framework for C with support diff --git a/package/cog/cog.hash b/package/cog/cog.hash index 387666969..b59b5f479 100644 --- a/package/cog/cog.hash +++ b/package/cog/cog.hash @@ -1,7 +1,7 @@ -# From https://wpewebkit.org/releases/cog-0.18.2.tar.xz.sums -md5 7fbfc2e19304132be0d73f5e5512151c cog-0.18.2.tar.xz -sha1 045294f7fa878db86e4b8a617ee4ac056a71cb75 cog-0.18.2.tar.xz -sha256 3c4237cff6323b8c3eaf52c6f3f6415b898a22c0127c6c396c1eaa6eef46c279 cog-0.18.2.tar.xz +# From https://wpewebkit.org/releases/cog-0.18.4.tar.xz.sums +md5 0566ab6676b499ebcff372fbe39e24fc cog-0.18.4.tar.xz +sha1 2d6f88cfb07eaac1be2bf9954832f19f8a856631 cog-0.18.4.tar.xz +sha256 31d7079db2eeed790899d2f1f824dd6a54bf30d072d196d737be572f105d99b1 cog-0.18.4.tar.xz # Hashes for license files: sha256 e6c42d93c68b292bcccf6d2ec3e13da85df90b718ba27c2c2a01053a9d009252 COPYING diff --git a/package/cog/cog.mk b/package/cog/cog.mk index e96909f77..7f680bb70 100644 --- a/package/cog/cog.mk +++ b/package/cog/cog.mk @@ -4,7 +4,7 @@ # ################################################################################ -COG_VERSION = 0.18.2 +COG_VERSION = 0.18.4 COG_SITE = https://wpewebkit.org/releases COG_SOURCE = cog-$(COG_VERSION).tar.xz COG_INSTALL_STAGING = YES diff --git a/package/collectd/Config.in b/package/collectd/Config.in index e6d549f81..f03d5c277 100644 --- a/package/collectd/Config.in +++ b/package/collectd/Config.in @@ -288,7 +288,7 @@ config BR2_PACKAGE_COLLECTD_GPS bool "gps" select BR2_PACKAGE_GPSD help - Reports the number of sattelites seen by and precision + Reports the number of satellites seen by and precision of a GPS receiver. config BR2_PACKAGE_COLLECTD_HUGEPAGES @@ -470,7 +470,7 @@ config BR2_PACKAGE_COLLECTD_PING bool "ping" select BR2_PACKAGE_LIBOPING help - Mesures network latency using ICMP "echo requests". + Measures network latency using ICMP "echo requests". config BR2_PACKAGE_COLLECTD_POSTGRESQL bool "postgresql" @@ -492,7 +492,7 @@ comment "postgresql support can't be built with Optimize for fast" config BR2_PACKAGE_COLLECTD_PROCESSES bool "processes" help - Collects the number of processes gruped by state. + Collects the number of processes grouped by state. config BR2_PACKAGE_COLLECTD_PROTOCOLS bool "protocols" diff --git a/package/collectd/collectd.mk b/package/collectd/collectd.mk index b47b2efab..7bfe556e9 100644 --- a/package/collectd/collectd.mk +++ b/package/collectd/collectd.mk @@ -38,7 +38,7 @@ endif COLLECTD_CONF_ENV += CFLAGS="$(COLLECTD_CFLAGS)" # -# NOTE: There's also a third availible setting "intswap", which might +# NOTE: There's also a third available setting "intswap", which might # be needed on some old ARM hardware (see [2]), but is not being # accounted for as per discussion [1] # diff --git a/package/comix-cursors/comix-cursors.hash b/package/comix-cursors/comix-cursors.hash index b66a61423..b3975e1e3 100644 --- a/package/comix-cursors/comix-cursors.hash +++ b/package/comix-cursors/comix-cursors.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 9e68ea8ff230dcc793528aa5da9a38b9bf61c478cd6868b4e4f5da659746a019 ComixCursors-0.9.1.tar.bz2 +sha256 7248f2da98fea475e590aa657d8581593516530d014a9ddbac8667d1b5f3a02b comixcursors-0.9.1.tar.bz2 diff --git a/package/comix-cursors/comix-cursors.mk b/package/comix-cursors/comix-cursors.mk index 7b034ccee..3e0637118 100644 --- a/package/comix-cursors/comix-cursors.mk +++ b/package/comix-cursors/comix-cursors.mk @@ -5,8 +5,8 @@ ################################################################################ COMIX_CURSORS_VERSION = 0.9.1 -COMIX_CURSORS_SITE = https://limitland.gitlab.io/comixcursors -COMIX_CURSORS_SOURCE = ComixCursors-$(COMIX_CURSORS_VERSION).tar.bz2 +COMIX_CURSORS_SITE = $(call gitlab,limitland,comixcursors,$(COMIX_CURSORS_VERSION)) +COMIX_CURSORS_SOURCE = comixcursors-$(COMIX_CURSORS_VERSION).tar.bz2 COMIX_CURSORS_LICENSE = GPL-3.0 COMIX_CURSORS_STRIP_COMPONENTS = 0 diff --git a/package/composer/composer.mk b/package/composer/composer.mk index 9bfabc28a..5ade9cccc 100644 --- a/package/composer/composer.mk +++ b/package/composer/composer.mk @@ -9,8 +9,8 @@ COMPOSER_SOURCE = composer-$(COMPOSER_VERSION).phar # Here, we pass a dummy URL parameter in order to control the name the file # will have once downloaded. # Otherwise, the names will clash ifever we update the version. -BASE_SITE = https://getcomposer.org/download/$(COMPOSER_VERSION)/composer.phar -COMPOSER_SITE = $(BASE_SITE)?n=f/$(COMPOSER_SOURCE) +COMPOSER_BASE_SITE = https://getcomposer.org/download/$(COMPOSER_VERSION)/composer.phar +COMPOSER_SITE = $(COMPOSER_BASE_SITE)?n=f/$(COMPOSER_SOURCE) COMPOSER_LICENSE = MIT COMPOSER_LICENSE_FILES = LICENSE COMPOSER_CPE_ID_VENDOR = getcomposer diff --git a/package/containerd/Config.in b/package/containerd/Config.in index 12a53bc11..2dd04b109 100644 --- a/package/containerd/Config.in +++ b/package/containerd/Config.in @@ -20,12 +20,13 @@ if BR2_PACKAGE_CONTAINERD config BR2_PACKAGE_CONTAINERD_DRIVER_BTRFS bool "btrfs snapshot driver" - depends on BR2_USE_MMU # btrfs-progs - depends on BR2_TOOLCHAIN_HAS_THREADS # btrfs-progs - select BR2_PACKAGE_BTRFS_PROGS + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 help Build the btrfs snapshot driver for containerd. +comment "brtfs snapshot driver needs headers >= 4.12" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 + config BR2_PACKAGE_CONTAINERD_DRIVER_DEVMAPPER bool "devmapper snapshot driver" depends on BR2_TOOLCHAIN_HAS_THREADS # lvm2 diff --git a/package/containerd/containerd.hash b/package/containerd/containerd.hash index 25dc7ff55..789e52786 100644 --- a/package/containerd/containerd.hash +++ b/package/containerd/containerd.hash @@ -1,3 +1,3 @@ # Computed locally -sha256 ae2b914bff0ddbb9b29d5fc689a51e1ce89ea4edfc4df9ae10517c6f5d2d5aaf containerd-1.7.13.tar.gz +sha256 91685cebd50e3f353a402adadf61e2a6aeda3f63754fa0fcc978a043e00acac4 containerd-1.7.18.tar.gz sha256 4bbe3b885e8cd1907ab4cf9a41e862e74e24b5422297a4f2fe524e6a30ada2b4 LICENSE diff --git a/package/containerd/containerd.mk b/package/containerd/containerd.mk index 50c2965b8..b82251693 100644 --- a/package/containerd/containerd.mk +++ b/package/containerd/containerd.mk @@ -4,7 +4,7 @@ # ################################################################################ -CONTAINERD_VERSION = 1.7.13 +CONTAINERD_VERSION = 1.7.18 CONTAINERD_SITE = $(call github,containerd,containerd,v$(CONTAINERD_VERSION)) CONTAINERD_LICENSE = Apache-2.0 CONTAINERD_LICENSE_FILES = LICENSE @@ -35,9 +35,7 @@ CONTAINERD_DEPENDENCIES += libseccomp host-pkgconf CONTAINERD_TAGS += seccomp endif -ifeq ($(BR2_PACKAGE_CONTAINERD_DRIVER_BTRFS),y) -CONTAINERD_DEPENDENCIES += btrfs-progs -else +ifneq ($(BR2_PACKAGE_CONTAINERD_DRIVER_BTRFS),y) CONTAINERD_TAGS += no_btrfs endif diff --git a/package/coreutils/coreutils.mk b/package/coreutils/coreutils.mk index e9cb7b67c..846d4fa56 100644 --- a/package/coreutils/coreutils.mk +++ b/package/coreutils/coreutils.mk @@ -75,12 +75,6 @@ ifeq ($(BR2_PACKAGE_GETTEXT_PROVIDES_LIBINTL),y) COREUTILS_CONF_OPTS += --with-libintl-prefix=$(STAGING_DIR)/usr endif -ifeq ($(BR2_PACKAGE_GMP),y) -COREUTILS_DEPENDENCIES += gmp -else -COREUTILS_CONF_OPTS += --without-gmp -endif - ifeq ($(BR2_PACKAGE_LIBCAP),y) COREUTILS_DEPENDENCIES += libcap else diff --git a/package/criu/Config.in b/package/criu/Config.in index 30b131cd3..fc6897c4d 100644 --- a/package/criu/Config.in +++ b/package/criu/Config.in @@ -50,4 +50,4 @@ comment "criu needs a glibc or musl toolchain w/ threads, host gcc >= 7, gcc >= || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18 \ || BR2_TOOLCHAIN_USES_UCLIBC || !BR2_INSTALL_LIBSTDCPP \ || BR2_STATIC_LIBS || !BR2_USE_WCHAR \ - || BR2_HOST_GCC_AT_LEAST_7 + || !BR2_HOST_GCC_AT_LEAST_7 diff --git a/package/crucible/crucible.hash b/package/crucible/crucible.hash index d5fee0068..3a9a71673 100644 --- a/package/crucible/crucible.hash +++ b/package/crucible/crucible.hash @@ -1,2 +1,2 @@ sha256 d21842f050163765269290d72fe79d3f95005038e865138d94e247cb455098da crucible-2023.11.02.tar.gz -sha256 d88514630470aec9fa7abdc990a1e0a8751a752321bffa868188c49009d64d59 LICENSE +sha256 a89c50d83be30fe7ec75be69a07f6c1b5dfaae0a6b94a678d2394fff34acb69c LICENSE diff --git a/package/crucible/crucible.mk b/package/crucible/crucible.mk index 2206663e2..5eedbca8e 100644 --- a/package/crucible/crucible.mk +++ b/package/crucible/crucible.mk @@ -6,7 +6,7 @@ CRUCIBLE_VERSION = 2023.11.02 CRUCIBLE_SITE = $(call github,usbarmory,crucible,v$(CRUCIBLE_VERSION)) -CRUCIBLE_LICENSE = GPL-3.0 +CRUCIBLE_LICENSE = BSD-3-Clause CRUCIBLE_LICENSE_FILES = LICENSE CRUCIBLE_GOMOD = ./cmd/crucible diff --git a/package/cryptodev-linux/0003-Fix-build-for-Linux-6-7-rc1.patch b/package/cryptodev-linux/0003-Fix-build-for-Linux-6-7-rc1.patch new file mode 100644 index 000000000..4fdccaf6e --- /dev/null +++ b/package/cryptodev-linux/0003-Fix-build-for-Linux-6-7-rc1.patch @@ -0,0 +1,38 @@ +From 5e7121e45ff283d30097da381fd7e97c4bb61364 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Joan=20Bruguera=20Mic=C3=B3?= +Date: Sun, 10 Dec 2023 13:57:55 +0000 +Subject: [PATCH] Fix build for Linux 6.7-rc1 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Since Linux 6.7-rc1, no ahash algorithms set a nonzero alignmask, +and therefore `crypto_ahash_alignmask` has been removed. + +See also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0f8660c82b79af595b056f6b9f4f227edeb88574 + https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c626910f3f1bbce6ad18bc613d895d2a089ed95e + +Signed-off-by: Joan Bruguera Micó + +Upstream: https://github.com/cryptodev-linux/cryptodev-linux/commit/5e7121e45ff283d30097da381fd7e97c4bb61364 +Signed-off-by: Fabrice Fontaine +--- + cryptlib.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/cryptlib.c b/cryptlib.c +index 4d739e5..0e59d4c 100644 +--- a/cryptlib.c ++++ b/cryptlib.c +@@ -381,7 +381,11 @@ int cryptodev_hash_init(struct hash_data *hdata, const char *alg_name, + } + + hdata->digestsize = crypto_ahash_digestsize(hdata->async.s); ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 7, 0)) + hdata->alignmask = crypto_ahash_alignmask(hdata->async.s); ++#else ++ hdata->alignmask = 0; ++#endif + + init_completion(&hdata->async.result.completion); + diff --git a/package/cryptodev-linux/cryptodev-linux.mk b/package/cryptodev-linux/cryptodev-linux.mk index 580ea8952..550a248a2 100644 --- a/package/cryptodev-linux/cryptodev-linux.mk +++ b/package/cryptodev-linux/cryptodev-linux.mk @@ -21,7 +21,7 @@ define CRYPTODEV_LINUX_INSTALL_STAGING_CMDS $(STAGING_DIR)/usr/include/crypto/cryptodev.h endef -define CRYPTODEV_LINUX_CONFIG_FIXUPS +define CRYPTODEV_LINUX_LINUX_CONFIG_FIXUPS $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO) $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO_USER_API_AEAD) endef diff --git a/package/cryptsetup/cryptsetup.hash b/package/cryptsetup/cryptsetup.hash index df92ff36b..e46cfbdf2 100644 --- a/package/cryptsetup/cryptsetup.hash +++ b/package/cryptsetup/cryptsetup.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/linux/utils/cryptsetup/v2.7/sha256sums.asc -sha256 94003a00cd5a81944f45e8dc529e0cfd2a6ff629bd2cd21cf5e574e465daf795 cryptsetup-2.7.0.tar.xz +sha256 d2be4395b8f503b0ebf4b2d81db90c35a97050a358ee21fe62a0dfb66e5d5522 cryptsetup-2.7.5.tar.xz sha256 45670cce8b6a0ddd66c8016cd8ccef6cd71f35717cbacc7f1e895b3855207b33 COPYING sha256 8c33cc37871654ec7ed87e6fbb896c8cf33ef5ef05b1611a5aed857596ffafa5 COPYING.LGPL diff --git a/package/cryptsetup/cryptsetup.mk b/package/cryptsetup/cryptsetup.mk index d17de9614..52f79e177 100644 --- a/package/cryptsetup/cryptsetup.mk +++ b/package/cryptsetup/cryptsetup.mk @@ -5,7 +5,7 @@ ################################################################################ CRYPTSETUP_VERSION_MAJOR = 2.7 -CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).0 +CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).5 CRYPTSETUP_SOURCE = cryptsetup-$(CRYPTSETUP_VERSION).tar.xz CRYPTSETUP_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/cryptsetup/v$(CRYPTSETUP_VERSION_MAJOR) CRYPTSETUP_DEPENDENCIES = \ diff --git a/package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch b/package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch index 6b81a93de..30c3ddb48 100644 --- a/package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch +++ b/package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch @@ -1,4 +1,4 @@ -From 6bc1d15250841cf17d307cfb4f35c960c23d8797 Mon Sep 17 00:00:00 2001 +From d3c595f551d2efc516c879fd6553263bed5c1aac Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 29 May 2016 19:31:50 +0200 Subject: [PATCH] Remove man from BUILDDIRS in configure @@ -15,7 +15,7 @@ Signed-off-by: Angelo Compagnucci 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config-scripts/cups-common.m4 b/config-scripts/cups-common.m4 -index 3a162b6d5..fb629fdfd 100644 +index 613f01ddf..6f1bcb07e 100644 --- a/config-scripts/cups-common.m4 +++ b/config-scripts/cups-common.m4 @@ -462,7 +462,7 @@ LIBHEADERS="\$(COREHEADERS) \$(DRIVERHEADERS)" @@ -27,7 +27,6 @@ index 3a162b6d5..fb629fdfd 100644 ], [core], [ BUILDDIRS="tools examples locale" ], [corelite], [ - -- -2.17.1 +2.34.1 diff --git a/package/cups/0002-Do-not-use-genstrings.patch b/package/cups/0002-Do-not-use-genstrings.patch index c7d6735b5..d3edca299 100644 --- a/package/cups/0002-Do-not-use-genstrings.patch +++ b/package/cups/0002-Do-not-use-genstrings.patch @@ -1,4 +1,4 @@ -From 193c8d8c55a3478ca5c9e161ce581e5794098c6d Mon Sep 17 00:00:00 2001 +From e028ca535e4150f53cd10a2deeb57b12be79fc8c Mon Sep 17 00:00:00 2001 From: Olivier Schonken Date: Thu, 21 Jan 2016 23:04:49 +0100 Subject: [PATCH] Do not use genstrings @@ -23,10 +23,10 @@ Signed-off-by: Michael Trimarchi 1 file changed, 2 deletions(-) diff --git a/ppdc/Makefile b/ppdc/Makefile -index 32e2e0b..7b18879 100644 +index e36ed1190..d42d7e64e 100644 --- a/ppdc/Makefile +++ b/ppdc/Makefile -@@ -186,8 +186,6 @@ genstrings: genstrings.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) \ +@@ -187,8 +187,6 @@ genstrings: genstrings.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) \ $(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o genstrings genstrings.o \ libcupsppdc.a $(LINKCUPSSTATIC) $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ @@ -36,5 +36,5 @@ index 32e2e0b..7b18879 100644 # -- -2.17.1 +2.34.1 diff --git a/package/cups/0003-Sanitize-the-installation-process.patch b/package/cups/0003-Sanitize-the-installation-process.patch index 75a68487c..418653cfb 100644 --- a/package/cups/0003-Sanitize-the-installation-process.patch +++ b/package/cups/0003-Sanitize-the-installation-process.patch @@ -1,4 +1,4 @@ -From e35f809c435c224954a5c7bff3f5729c5b3bc0ba Mon Sep 17 00:00:00 2001 +From 61177952e054be9569ce011218ab032c03b4db5a Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Thu, 21 Jan 2016 23:21:06 +0100 Subject: [PATCH] Sanitize the installation process @@ -30,10 +30,10 @@ Signed-off-by: Olivier Schonken 4 files changed, 17 insertions(+), 18 deletions(-) diff --git a/Makedefs.in b/Makedefs.in -index 3afef0a..3e4f1bd 100644 +index a2342d5c0..0d8df733b 100644 --- a/Makedefs.in +++ b/Makedefs.in -@@ -40,14 +40,14 @@ SHELL = /bin/sh +@@ -46,14 +46,14 @@ SHELL = /bin/sh # Installation programs... # @@ -55,10 +55,10 @@ index 3afef0a..3e4f1bd 100644 # # Default user, group, and system groups for the scheduler... diff --git a/conf/Makefile b/conf/Makefile -index 933d7d9..6ac5e19 100644 +index 62aa0c6fd..3cced869c 100644 --- a/conf/Makefile +++ b/conf/Makefile -@@ -72,11 +72,11 @@ install: all install-data install-headers install-libs install-exec +@@ -67,11 +67,11 @@ install: all install-data install-headers install-libs install-exec install-data: for file in $(KEEP); do \ if test -r $(SERVERROOT)/$$file ; then \ @@ -74,10 +74,10 @@ index 933d7d9..6ac5e19 100644 $(INSTALL_DIR) -m 755 $(DATADIR)/mime for file in $(REPLACE); do \ diff --git a/notifier/Makefile b/notifier/Makefile -index 3206dd0..c34a4d7 100644 +index fa2c7f2f7..34f7a0d6b 100644 --- a/notifier/Makefile +++ b/notifier/Makefile -@@ -62,7 +62,7 @@ install: all install-data install-headers install-libs install-exec +@@ -57,7 +57,7 @@ install: all install-data install-headers install-libs install-exec # install-data: @@ -87,10 +87,10 @@ index 3206dd0..c34a4d7 100644 # diff --git a/scheduler/Makefile b/scheduler/Makefile -index 251f017..25f2f5f 100644 +index 57b169387..aefa89719 100644 --- a/scheduler/Makefile +++ b/scheduler/Makefile -@@ -146,28 +146,27 @@ install-data: +@@ -142,28 +142,27 @@ install-data: echo Creating $(SERVERBIN)/driver... $(INSTALL_DIR) -m 755 $(SERVERBIN)/driver echo Creating $(SERVERROOT)... @@ -127,5 +127,5 @@ index 251f017..25f2f5f 100644 echo Installing init scripts...; \ $(INSTALL_DIR) -m 755 $(BUILDROOT)$(INITDIR)/init.d; \ -- -2.6.4 +2.34.1 diff --git a/package/cups/0004-Remove-PIE-flags-from-the-build.patch b/package/cups/0004-Remove-PIE-flags-from-the-build.patch index c2765dff0..e4081d0e0 100644 --- a/package/cups/0004-Remove-PIE-flags-from-the-build.patch +++ b/package/cups/0004-Remove-PIE-flags-from-the-build.patch @@ -1,4 +1,4 @@ -From b341a1e1fce48012fc5bcf39337488fd33210616 Mon Sep 17 00:00:00 2001 +From 212275de62cd42ef71bbd37cebd9da6266ca5f15 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 3 Jul 2016 12:20:21 +0200 Subject: [PATCH] Remove PIE flags from the build @@ -20,10 +20,10 @@ Signed-off-by: Michael Trimarchi 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makedefs.in b/Makedefs.in -index 5f1d32f..d669ea8 100644 +index 0d8df733b..2560c0c36 100644 --- a/Makedefs.in +++ b/Makedefs.in -@@ -155,7 +155,7 @@ ALL_CXXFLAGS = -I.. -D_CUPS_SOURCE $(CXXFLAGS) \ +@@ -156,7 +156,7 @@ ALL_CXXFLAGS = -I.. -D_CUPS_SOURCE $(CXXFLAGS) \ $(ONDEMANDFLAGS) $(OPTIONS) ALL_DSOFLAGS = -L../cups @ARCHFLAGS@ @RELROFLAGS@ $(DSOFLAGS) $(OPTIM) ALL_LDFLAGS = -L../cups @LDARCHFLAGS@ @RELROFLAGS@ $(LDFLAGS) \ @@ -33,5 +33,5 @@ index 5f1d32f..d669ea8 100644 ARFLAGS = @ARFLAGS@ BACKLIBS = @BACKLIBS@ -- -2.17.1 +2.34.1 diff --git a/package/cups/0005-cups-hash-c-Put-support-for-MacOS-Win-SSL-libs-back.patch b/package/cups/0005-cups-hash-c-Put-support-for-MacOS-Win-SSL-libs-back.patch deleted file mode 100644 index 57c6b6143..000000000 --- a/package/cups/0005-cups-hash-c-Put-support-for-MacOS-Win-SSL-libs-back.patch +++ /dev/null @@ -1,349 +0,0 @@ -From c6cd5e9c10edc68caf6936a3d3274f758e9cd03d Mon Sep 17 00:00:00 2001 -From: Zdenek Dohnal -Date: Tue, 3 Oct 2023 13:59:40 +0200 -Subject: [PATCH] cups/hash.c: Put support for MacOS/Win SSL libs back - -- I mustn't remove their support in patch release - this should happen in -2.5 only. -- I have put back support for several hashes as well - they -should be removed in 2.5. -- restrict usage of second block hashing only if OpenSSL/LibreSSL/GnuTLS - is available - -Upstream: https://github.com/OpenPrinting/cups/commit/c6cd5e9c10edc68caf6936a3d3274f758e9cd03d -Signed-off-by: Fabrice Fontaine ---- - cups/hash.c | 271 +++++++++++++++++++++++++++++++++++++++++++++++++--- - 1 file changed, 260 insertions(+), 11 deletions(-) - -diff --git a/cups/hash.c b/cups/hash.c -index 93ca552c8..c447bab4e 100644 ---- a/cups/hash.c -+++ b/cups/hash.c -@@ -12,8 +12,13 @@ - #include "md5-internal.h" - #ifdef HAVE_OPENSSL - # include --#else // HAVE_GNUTLS -+#elif defined(HAVE_GNUTLS) - # include -+#elif __APPLE__ -+# include -+#elif _WIN32 -+# include -+# include - #endif // HAVE_OPENSSL - - -@@ -193,17 +198,18 @@ hash_data(const char *algorithm, // I - Algorithm - const void *b, // I - Second block or `NULL` for none - size_t blen) // I - Length of second block or `0` for none - { -+#if defined(HAVE_OPENSSL) || defined(HAVE_GNUTLS) - unsigned hashlen; // Length of hash - unsigned char hashtemp[64]; // Temporary hash buffer --#ifdef HAVE_OPENSSL -- const EVP_MD *md = NULL; // Message digest implementation -- EVP_MD_CTX *ctx; // Context --#else // HAVE_GNUTLS -- gnutls_digest_algorithm_t alg = GNUTLS_DIG_UNKNOWN; -- // Algorithm -- gnutls_hash_hd_t ctx; // Context --#endif // HAVE_OPENSSL -+#else -+ if (strcmp(algorithm, "md5") && (b || blen != 0)) -+ { -+ // Second block hashing is not supported without OpenSSL or GnuTLS -+ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("Unsupported without GnuTLS or OpenSSL/LibreSSL."), 1); - -+ return (-1); -+ } -+#endif - - if (!strcmp(algorithm, "md5")) - { -@@ -223,6 +229,10 @@ hash_data(const char *algorithm, // I - Algorithm - } - - #ifdef HAVE_OPENSSL -+ const EVP_MD *md = NULL; // Message digest implementation -+ EVP_MD_CTX *ctx; // Context -+ -+ - if (!strcmp(algorithm, "sha")) - { - // SHA-1 -@@ -244,6 +254,14 @@ hash_data(const char *algorithm, // I - Algorithm - { - md = EVP_sha512(); - } -+ else if (!strcmp(algorithm, "sha2-512_224")) -+ { -+ md = EVP_sha512_224(); -+ } -+ else if (!strcmp(algorithm, "sha2-512_256")) -+ { -+ md = EVP_sha512_256(); -+ } - - if (md) - { -@@ -262,7 +280,13 @@ hash_data(const char *algorithm, // I - Algorithm - return ((ssize_t)hashlen); - } - --#else // HAVE_GNUTLS -+#elif defined(HAVE_GNUTLS) -+ gnutls_digest_algorithm_t alg = GNUTLS_DIG_UNKNOWN; // Algorithm -+ gnutls_hash_hd_t ctx; // Context -+ unsigned char temp[64]; // Temporary hash buffer -+ size_t tempsize = 0; // Truncate to this size? -+ -+ - if (!strcmp(algorithm, "sha")) - { - // SHA-1 -@@ -284,9 +308,32 @@ hash_data(const char *algorithm, // I - Algorithm - { - alg = GNUTLS_DIG_SHA512; - } -+ else if (!strcmp(algorithm, "sha2-512_224")) -+ { -+ alg = GNUTLS_DIG_SHA512; -+ tempsize = 28; -+ } -+ else if (!strcmp(algorithm, "sha2-512_256")) -+ { -+ alg = GNUTLS_DIG_SHA512; -+ tempsize = 32; -+ } - - if (alg != GNUTLS_DIG_UNKNOWN) - { -+ if (tempsize > 0) -+ { -+ // Truncate result to tempsize bytes... -+ -+ if (hashsize < tempsize) -+ goto too_small; -+ -+ gnutls_hash_fast(alg, a, alen, temp); -+ memcpy(hash, temp, tempsize); -+ -+ return ((ssize_t)tempsize); -+ } -+ - hashlen = gnutls_hash_get_len(alg); - - if (hashlen > hashsize) -@@ -302,7 +349,209 @@ hash_data(const char *algorithm, // I - Algorithm - - return ((ssize_t)hashlen); - } --#endif // HAVE_OPENSSL -+ -+#elif __APPLE__ -+ if (!strcmp(algorithm, "sha")) -+ { -+ // SHA-1... -+ -+ CC_SHA1_CTX ctx; // SHA-1 context -+ -+ if (hashsize < CC_SHA1_DIGEST_LENGTH) -+ goto too_small; -+ -+ CC_SHA1_Init(&ctx); -+ CC_SHA1_Update(&ctx, a, (CC_LONG)alen); -+ CC_SHA1_Final(hash, &ctx); -+ -+ return (CC_SHA1_DIGEST_LENGTH); -+ } -+# ifdef CC_SHA224_DIGEST_LENGTH -+ else if (!strcmp(algorithm, "sha2-224")) -+ { -+ CC_SHA256_CTX ctx; // SHA-224 context -+ -+ if (hashsize < CC_SHA224_DIGEST_LENGTH) -+ goto too_small; -+ -+ CC_SHA224_Init(&ctx); -+ CC_SHA224_Update(&ctx, a, (CC_LONG)alen); -+ CC_SHA224_Final(hash, &ctx); -+ -+ return (CC_SHA224_DIGEST_LENGTH); -+ } -+# endif /* CC_SHA224_DIGEST_LENGTH */ -+ else if (!strcmp(algorithm, "sha2-256")) -+ { -+ CC_SHA256_CTX ctx; // SHA-256 context -+ -+ if (hashsize < CC_SHA256_DIGEST_LENGTH) -+ goto too_small; -+ -+ CC_SHA256_Init(&ctx); -+ CC_SHA256_Update(&ctx, a, (CC_LONG)alen); -+ CC_SHA256_Final(hash, &ctx); -+ -+ return (CC_SHA256_DIGEST_LENGTH); -+ } -+ else if (!strcmp(algorithm, "sha2-384")) -+ { -+ CC_SHA512_CTX ctx; // SHA-384 context -+ -+ if (hashsize < CC_SHA384_DIGEST_LENGTH) -+ goto too_small; -+ -+ CC_SHA384_Init(&ctx); -+ CC_SHA384_Update(&ctx, a, (CC_LONG)alen); -+ CC_SHA384_Final(hash, &ctx); -+ -+ return (CC_SHA384_DIGEST_LENGTH); -+ } -+ else if (!strcmp(algorithm, "sha2-512")) -+ { -+ CC_SHA512_CTX ctx; // SHA-512 context -+ -+ if (hashsize < CC_SHA512_DIGEST_LENGTH) -+ goto too_small; -+ -+ CC_SHA512_Init(&ctx); -+ CC_SHA512_Update(&ctx, a, (CC_LONG)alen); -+ CC_SHA512_Final(hash, &ctx); -+ -+ return (CC_SHA512_DIGEST_LENGTH); -+ } -+# ifdef CC_SHA224_DIGEST_LENGTH -+ else if (!strcmp(algorithm, "sha2-512_224")) -+ { -+ CC_SHA512_CTX ctx; // SHA-512 context -+ unsigned char temp[CC_SHA512_DIGEST_LENGTH]; -+ // SHA-512 hash -+ -+ // SHA2-512 truncated to 224 bits (28 bytes)... -+ -+ if (hashsize < CC_SHA224_DIGEST_LENGTH) -+ goto too_small; -+ -+ CC_SHA512_Init(&ctx); -+ CC_SHA512_Update(&ctx, a, (CC_LONG)alen); -+ CC_SHA512_Final(temp, &ctx); -+ -+ memcpy(hash, temp, CC_SHA224_DIGEST_LENGTH); -+ -+ return (CC_SHA224_DIGEST_LENGTH); -+ } -+# endif // CC_SHA224_DIGEST_LENGTH -+ else if (!strcmp(algorithm, "sha2-512_256")) -+ { -+ CC_SHA512_CTX ctx; // SHA-512 context -+ unsigned char temp[CC_SHA512_DIGEST_LENGTH]; -+ // SHA-512 hash -+ -+ // SHA2-512 truncated to 256 bits (32 bytes)... -+ -+ if (hashsize < CC_SHA256_DIGEST_LENGTH) -+ goto too_small; -+ -+ CC_SHA512_Init(&ctx); -+ CC_SHA512_Update(&ctx, a, (CC_LONG)alen); -+ CC_SHA512_Final(temp, &ctx); -+ -+ memcpy(hash, temp, CC_SHA256_DIGEST_LENGTH); -+ -+ return (CC_SHA256_DIGEST_LENGTH); -+ } -+ -+#elif _WIN32 -+ // Use Windows CNG APIs to perform hashing... -+ BCRYPT_ALG_HANDLE alg; // Algorithm handle -+ LPCWSTR algid = NULL; // Algorithm ID -+ ssize_t hashlen; // Hash length -+ NTSTATUS status; // Status of hash -+ unsigned char temp[64]; // Temporary hash buffer -+ size_t tempsize = 0; // Truncate to this size? -+ -+ -+ if (!strcmp(algorithm, "sha")) -+ { -+ algid = BCRYPT_SHA1_ALGORITHM; -+ hashlen = 20; -+ } -+ else if (!strcmp(algorithm, "sha2-256")) -+ { -+ algid = BCRYPT_SHA256_ALGORITHM; -+ hashlen = 32; -+ } -+ else if (!strcmp(algorithm, "sha2-384")) -+ { -+ algid = BCRYPT_SHA384_ALGORITHM; -+ hashlen = 48; -+ } -+ else if (!strcmp(algorithm, "sha2-512")) -+ { -+ algid = BCRYPT_SHA512_ALGORITHM; -+ hashlen = 64; -+ } -+ else if (!strcmp(algorithm, "sha2-512_224")) -+ { -+ algid = BCRYPT_SHA512_ALGORITHM; -+ hashlen = tempsize = 28; -+ } -+ else if (!strcmp(algorithm, "sha2-512_256")) -+ { -+ algid = BCRYPT_SHA512_ALGORITHM; -+ hashlen = tempsize = 32; -+ } -+ -+ if (algid) -+ { -+ if (hashsize < (size_t)hashlen) -+ goto too_small; -+ -+ if ((status = BCryptOpenAlgorithmProvider(&alg, algid, NULL, 0)) < 0) -+ { -+ DEBUG_printf(("2cupsHashData: BCryptOpenAlgorithmProvider returned %d.", status)); -+ -+ if (status == STATUS_INVALID_PARAMETER) -+ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("Bad algorithm parameter."), 1); -+ else -+ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("Unable to access cryptographic provider."), 1); -+ -+ return (-1); -+ } -+ -+ if (tempsize > 0) -+ { -+ // Do a truncated SHA2-512 hash... -+ status = BCryptHash(alg, NULL, 0, (PUCHAR)a, (ULONG)alen, temp, sizeof(temp)); -+ memcpy(hash, temp, hashlen); -+ } -+ else -+ { -+ // Hash directly to buffer... -+ status = BCryptHash(alg, NULL, 0, (PUCHAR)a, (ULONG)alen, hash, (ULONG)hashlen); -+ } -+ -+ BCryptCloseAlgorithmProvider(alg, 0); -+ -+ if (status < 0) -+ { -+ DEBUG_printf(("2cupsHashData: BCryptHash returned %d.", status)); -+ -+ if (status == STATUS_INVALID_PARAMETER) -+ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("Bad hashing parameter."), 1); -+ else -+ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("Hashing failed."), 1); -+ -+ return (-1); -+ } -+ -+ return (hashlen); -+ } -+ -+#else -+ if (hashsize < 64) -+ goto too_small; -+#endif // __APPLE__ - - // Unknown hash algorithm... - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("Unknown hash algorithm."), 1); diff --git a/package/cups/0006-cups-hash-c-LibreSSL-version-does-not-support-several-hashes.patch b/package/cups/0006-cups-hash-c-LibreSSL-version-does-not-support-several-hashes.patch deleted file mode 100644 index be4c6b469..000000000 --- a/package/cups/0006-cups-hash-c-LibreSSL-version-does-not-support-several-hashes.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 0dd97fcaeeb16ed836e8542d75e2396fb1d129d9 Mon Sep 17 00:00:00 2001 -From: Zdenek Dohnal -Date: Tue, 3 Oct 2023 14:39:33 +0200 -Subject: [PATCH] cups/hash.c: LibreSSL version does not support several hashes - -Upstream: https://github.com/OpenPrinting/cups/commit/0dd97fcaeeb16ed836e8542d75e2396fb1d129d9 -Signed-off-by: Fabrice Fontaine ---- - cups/hash.c | 8 -------- - 1 file changed, 8 deletions(-) - -diff --git a/cups/hash.c b/cups/hash.c -index c447bab4e..5eefa1010 100644 ---- a/cups/hash.c -+++ b/cups/hash.c -@@ -254,14 +254,6 @@ hash_data(const char *algorithm, // I - Algorithm - { - md = EVP_sha512(); - } -- else if (!strcmp(algorithm, "sha2-512_224")) -- { -- md = EVP_sha512_224(); -- } -- else if (!strcmp(algorithm, "sha2-512_256")) -- { -- md = EVP_sha512_256(); -- } - - if (md) - { diff --git a/package/cups/cups.hash b/package/cups/cups.hash index 2d7bbf1aa..f826f96fe 100644 --- a/package/cups/cups.hash +++ b/package/cups/cups.hash @@ -1,4 +1,4 @@ # Locally calculated: -sha256 dd54228dd903526428ce7e37961afaed230ad310788141da75cebaa08362cf6c cups-2.4.7-source.tar.gz +sha256 9a88fe1da3a29a917c3fc67ce6eb3178399d68e1a548c6d86c70d9b13651fd71 cups-2.4.11-source.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE sha256 5320b6e3c252423e4153eb2dd63e57e3b630afb21139f44e43b02d85fe33e279 NOTICE diff --git a/package/cups/cups.mk b/package/cups/cups.mk index a5098b50e..3264fe8cf 100644 --- a/package/cups/cups.mk +++ b/package/cups/cups.mk @@ -4,7 +4,7 @@ # ################################################################################ -CUPS_VERSION = 2.4.7 +CUPS_VERSION = 2.4.11 CUPS_SOURCE = cups-$(CUPS_VERSION)-source.tar.gz CUPS_SITE = https://github.com/OpenPrinting/cups/releases/download/v$(CUPS_VERSION) CUPS_LICENSE = Apache-2.0 with GPL-2.0/LGPL-2.0 exception diff --git a/package/curlpp/0001-fix-invalid-conversion.patch b/package/curlpp/0001-fix-invalid-conversion.patch new file mode 100644 index 000000000..e95e9cd7c --- /dev/null +++ b/package/curlpp/0001-fix-invalid-conversion.patch @@ -0,0 +1,27 @@ +From b945d57a5acd12bda320a63eb9e45bbb7586cdde Mon Sep 17 00:00:00 2001 +From: Aaron Smith +Date: Mon, 16 Dec 2024 11:48:33 -0800 +Subject: [PATCH] Fix "invalid conversion from 'int' to 'CURLoption'" error + +Use cast to 'Curloption' to fix compiler error regarding invalid conversion from 'int' to 'CURLoption'. + +Upstream: https://github.com/jpbarrette/curlpp/pull/178 +Signed-off-by: Thomas Bonnefille +--- + include/curlpp/Options.hpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/curlpp/Options.hpp b/include/curlpp/Options.hpp +index 40b64ed..292eaa7 100644 +--- a/include/curlpp/Options.hpp ++++ b/include/curlpp/Options.hpp +@@ -308,7 +308,7 @@ namespace options + typedef curlpp::OptionTrait LowSpeedLimit; + typedef curlpp::OptionTrait LowSpeedTime; + typedef curlpp::OptionTrait MaxConnects; +- typedef curlpp::OptionTrait ClosePolicy; ++ typedef curlpp::OptionTrait ClosePolicy; + typedef curlpp::OptionTrait FreshConnect; + typedef curlpp::OptionTrait ForbidReuse; + typedef curlpp::OptionTrait ConnectTimeout; + diff --git a/package/cvs/cvs.mk b/package/cvs/cvs.mk index bd1e04eee..cf9127fc3 100644 --- a/package/cvs/cvs.mk +++ b/package/cvs/cvs.mk @@ -18,20 +18,20 @@ CVS_CONF_ENV = \ ac_cv_func_working_mktime=yes \ cvs_cv_func_printf_ptr=yes -CVS_CONFIGURE_ARGS = --disable-old-info-format-support +CVS_CONF_OPTS = \ + --disable-old-info-format-support \ + --with-editor=/bin/vi ifeq ($(BR2_PACKAGE_CVS_SERVER),y) -CVS_CONFIGURE_ARGS += --enable-server +CVS_CONF_OPTS += --enable-server else -CVS_CONFIGURE_ARGS += --disable-server +CVS_CONF_OPTS += --disable-server endif ifeq ($(BR2_PACKAGE_ZLIB),y) -CVS_CONFIGURE_ARGS += --with-external-zlib +CVS_CONF_OPTS += --with-external-zlib endif -CVS_CONF_OPTS = $(CVS_CONFIGURE_ARGS) - define CVS_BZIP_UNPACK - $(BZCAT) $(@D)/cvs-$(CVS_VERSION).tar.bz2 | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - + $(BZCAT) $(@D)/cvs-$(CVS_VERSION).tar.bz2 | $(TAR) -C $(BUILD_DIR) $(TAR_OPTIONS) - rm -f $(@D)/cvs-$(CVS_VERSION).tar.bz2 endef diff --git a/package/daq/daq.hash b/package/daq/daq.hash index 0fa1edecc..82323ed40 100644 --- a/package/daq/daq.hash +++ b/package/daq/daq.hash @@ -1,7 +1,7 @@ # From https://www.snort.org/downloads/snort/md5s -md5 ea796f001d1b00302e4e69e337ab2460 daq-2.0.7.tar.gz +md5 60e5ddcafb985fac7374884d28f299d1 daq-2.0.7-modified.tar.gz # Locally computed: -sha256 bdc4e5a24d1ea492c39ee213a63c55466a2e8114b6a9abed609927ae13a7705e daq-2.0.7.tar.gz +sha256 d1f6709bc5dbddee3fdf170cdc1e49fb926e2031d4869ecf367a8c47efc87279 daq-2.0.7-modified.tar.gz # Hash for license files: sha256 07f28289c09fd9eb5a6ff7bc710ff40363601b1bbc6f3637d8ed412150e90819 COPYING diff --git a/package/daq/daq.mk b/package/daq/daq.mk index 8a5394a63..27abd4d2f 100644 --- a/package/daq/daq.mk +++ b/package/daq/daq.mk @@ -5,7 +5,11 @@ ################################################################################ DAQ_VERSION = 2.0.7 -DAQ_SITE = https://www.snort.org/downloads/snort +# Upstream re-published a modified archive for the same 2.0.7 version, so change +# its name locally, to avoid conflict with older BR versions which had a hash +# for the previous archive. +DAQ_SOURCE = daq-2.0.7-modified.tar.gz +DAQ_SITE = https://www.snort.org/downloads/snort/daq-$(DAQ_VERSION).tar.gz?buildroot-path=filename DAQ_LICENSE = GPL-2.0 DAQ_LICENSE_FILES = COPYING DAQ_INSTALL_STAGING = YES diff --git a/package/dcron/0001-main.c-add-newline-to-logfile-openning-error-message.patch b/package/dcron/0001-main.c-add-newline-to-logfile-openning-error-message.patch index 6abc3105e..fe0a33d1a 100644 --- a/package/dcron/0001-main.c-add-newline-to-logfile-openning-error-message.patch +++ b/package/dcron/0001-main.c-add-newline-to-logfile-openning-error-message.patch @@ -1,7 +1,7 @@ From 2710bc67cd920323da9b23a3d60193577bd43d71 Mon Sep 17 00:00:00 2001 From: Carlos Santos Date: Sat, 20 Jul 2019 00:27:31 -0300 -Subject: [PATCH] main.c: add newline to logfile openning error message +Subject: [PATCH] main.c: add newline to logfile opening error message Signed-off-by: Carlos Santos [Upstream status: https://github.com/dubiousjim/dcron/pull/22] diff --git a/package/dhcpcd/dhcpcd.hash b/package/dhcpcd/dhcpcd.hash index fb4f6064b..d29f49fd2 100644 --- a/package/dhcpcd/dhcpcd.hash +++ b/package/dhcpcd/dhcpcd.hash @@ -1,4 +1,4 @@ -# sha256 from https://github.com/NetworkConfiguration/dhcpcd/releases/tag/v10.0.4 -sha256 eb1f3cfef3069781ff8c896d7cea922639964afe22db28c069dc3f37f57eb428 dhcpcd-10.0.5.tar.xz +# sha256 from https://github.com/NetworkConfiguration/dhcpcd/releases/tag/v10.0.8 +sha256 d8dddf9f971a8d9ff828f33d8fa9f6d9a892a4a1429d230e9efb2be97dd0e313 dhcpcd-10.0.8.tar.xz # Locally calculated sha256 a7d6da3a202cdd38eaab0bcea4d25f60d002980f3785b3e896d9bf387f093ac8 LICENSE diff --git a/package/dhcpcd/dhcpcd.mk b/package/dhcpcd/dhcpcd.mk index e09172188..8c971c60a 100644 --- a/package/dhcpcd/dhcpcd.mk +++ b/package/dhcpcd/dhcpcd.mk @@ -4,7 +4,7 @@ # ################################################################################ -DHCPCD_VERSION = 10.0.5 +DHCPCD_VERSION = 10.0.8 DHCPCD_SOURCE = dhcpcd-$(DHCPCD_VERSION).tar.xz DHCPCD_SITE = https://github.com/NetworkConfiguration/dhcpcd/releases/download/v$(DHCPCD_VERSION) DHCPCD_DEPENDENCIES = host-pkgconf diff --git a/package/dillo/Config.in b/package/dillo/Config.in index d06f2d1f5..1ebab8ab3 100644 --- a/package/dillo/Config.in +++ b/package/dillo/Config.in @@ -12,7 +12,7 @@ config BR2_PACKAGE_DILLO Enable openssl package to gain https support. - http://www.dillo.org + https://dillo-browser.github.io/ comment "dillo needs a toolchain w/ C++" depends on BR2_PACKAGE_XORG7 && BR2_USE_MMU diff --git a/package/dillo/dillo.mk b/package/dillo/dillo.mk index a6885f5c1..5a823aa4a 100644 --- a/package/dillo/dillo.mk +++ b/package/dillo/dillo.mk @@ -6,7 +6,7 @@ DILLO_VERSION = 3.0.5 DILLO_SOURCE = dillo-$(DILLO_VERSION).tar.bz2 -DILLO_SITE = http://www.dillo.org/download +DILLO_SITE = https://github.com/dillo-browser/dillo/releases/download/v$(DILLO_VERSION)/ DILLO_LICENSE = GPL-3.0+ DILLO_LICENSE_FILES = COPYING # configure.ac gets patched, so autoreconf is necessary diff --git a/package/directfb/0007-libdirect-define-__NR_futex-on-32bit-architectures-u.patch b/package/directfb/0007-libdirect-define-__NR_futex-on-32bit-architectures-u.patch new file mode 100644 index 000000000..4cbbc5dcc --- /dev/null +++ b/package/directfb/0007-libdirect-define-__NR_futex-on-32bit-architectures-u.patch @@ -0,0 +1,43 @@ +From 8ffd68a8dfa1e8671dd8c01b96faffd681deca4e Mon Sep 17 00:00:00 2001 +From: Steffen Persvold +Date: Tue, 25 Jun 2024 14:14:49 +0200 +Subject: [PATCH] libdirect: define __NR_futex on 32bit architectures using + 64-bit time_t + +Newer 32bit architectures like RISCV32 and ARC are using 64bit time_t +from the get go unlike other 32bit architectures, therefore aliasing +__NR_futex to __NR_futex_time64 helps avoid the below errors : + +system.c:242:21: error: '__NR_futex' undeclared (first use in this function) + 242 | ret = syscall( __NR_futex, uaddr, op, val, timeout, uaddr2, val3 ); + | ^~~~~~~~~~ + +Upstream: dead +Signed-off-by: Steffen Persvold +--- + lib/direct/os/linux/glibc/system.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/lib/direct/os/linux/glibc/system.c b/lib/direct/os/linux/glibc/system.c +index 32086a25..7143442b 100644 +--- a/lib/direct/os/linux/glibc/system.c ++++ b/lib/direct/os/linux/glibc/system.c +@@ -213,6 +213,10 @@ direct_getenv( const char *name ) + + /**********************************************************************************************************************/ + ++#if defined(__NR_futex_time64) && !defined(__NR_futex) ++#define __NR_futex __NR_futex_time64 ++#endif ++ + DirectResult + direct_futex( int *uaddr, int op, int val, const struct timespec *timeout, int *uaddr2, int val3 ) + { +@@ -245,4 +249,3 @@ direct_futex( int *uaddr, int op, int val, const struct timespec *timeout, int * + + return DR_OK; + } +- +-- +2.40.1 + diff --git a/package/directfb/Config.in b/package/directfb/Config.in index f4d6b8cbd..20481f56d 100644 --- a/package/directfb/Config.in +++ b/package/directfb/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_DIRECTFB bool "directfb" - depends on !BR2_RISCV_32 depends on !BR2_STATIC_LIBS # static link issues depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_INSTALL_LIBSTDCPP @@ -162,7 +161,6 @@ config BR2_PACKAGE_DIRECTFB_TESTS endif # BR2_PACKAGE_DIRECTFB comment "directfb needs a glibc or uClibc toolchain w/ C++, NPTL, gcc >= 4.5, dynamic library" - depends on !BR2_RISCV_32 depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 || BR2_TOOLCHAIN_USES_MUSL || \ diff --git a/package/dmalloc/dmalloc.mk b/package/dmalloc/dmalloc.mk index 5bd669172..c3f958094 100644 --- a/package/dmalloc/dmalloc.mk +++ b/package/dmalloc/dmalloc.mk @@ -42,7 +42,7 @@ endif # dmalloc has some assembly function that are not present in thumb1 mode: # Error: lo register required -- `str lr,[sp,#4]' -# so, we desactivate thumb mode +# so, we deactivate thumb mode ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) DMALLOC_CFLAGS += -marm endif diff --git a/package/dmenu-wayland/dmenu-wayland.mk b/package/dmenu-wayland/dmenu-wayland.mk index 33a73c015..fec984194 100644 --- a/package/dmenu-wayland/dmenu-wayland.mk +++ b/package/dmenu-wayland/dmenu-wayland.mk @@ -8,6 +8,7 @@ DMENU_WAYLAND_VERSION = a380201dff5bfac2dace553d7eaedb6cea6855f9 DMENU_WAYLAND_SITE = $(call github,nyyManni,dmenu-wayland,$(DMENU_WAYLAND_VERSION)) DMENU_WAYLAND_LICENSE = MIT DMENU_WAYLAND_LICENSE_FILES = LICENSE +DMENU_WAYLAND_CFLAGS = $(TARGET_CFLAGS) -std=gnu99 # host-wayland is for wayland-scanner DMENU_WAYLAND_DEPENDENCIES = \ diff --git a/package/dmraid/0001-fix-compilation-under-musl.patch b/package/dmraid/0001-fix-compilation-under-musl.patch index a6f5c4107..3d45641b8 100644 --- a/package/dmraid/0001-fix-compilation-under-musl.patch +++ b/package/dmraid/0001-fix-compilation-under-musl.patch @@ -8,7 +8,7 @@ Patch borrowed from Void Linux : https://github.com/voidlinux/void-packages/blob/master/srcpkgs/dmraid/patches/25_musl-libc.patch Upstream package appears dormant, no mailing list and no -maintainence releases since Nov 2010. +maintenance releases since Nov 2010. Upstream-Status: dormant Signed-off-by: Brendan Heading diff --git a/package/dmraid/dmraid.mk b/package/dmraid/dmraid.mk index 0382cd4d9..97c729aa7 100644 --- a/package/dmraid/dmraid.mk +++ b/package/dmraid/dmraid.mk @@ -13,6 +13,7 @@ DMRAID_MAKE = $(MAKE1) DMRAID_INSTALL_STAGING = YES DMRAID_LICENSE = GPL-2.0 DMRAID_LICENSE_FILES = $(DMRAID_SUBDIR)/LICENSE_GPL $(DMRAID_SUBDIR)/LICENSE +DMRAID_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) CFLAGS="$(TARGET_CFLAGS) -fPIC" DMRAID_DEPENDENCIES = lvm2 diff --git a/package/dnsmasq/S80dnsmasq b/package/dnsmasq/S80dnsmasq index 175daf9d2..f1e1a6858 100644 --- a/package/dnsmasq/S80dnsmasq +++ b/package/dnsmasq/S80dnsmasq @@ -10,12 +10,21 @@ case "$1" in printf "Starting dnsmasq: " start-stop-daemon -S -p "$PIDFILE" -x "/usr/sbin/$DAEMON" -- \ --pid-file="$PIDFILE" + # shellcheck disable=SC2181 [ $? = 0 ] && echo "OK" || echo "FAIL" ;; stop) printf "Stopping dnsmasq: " start-stop-daemon -K -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" + # shellcheck disable=SC2181 [ $? = 0 ] && echo "OK" || echo "FAIL" + # wait for dnsmasq process to be gone + while true; do + pid="$( cat "${PIDFILE}" 2>/dev/null || true )" + { [ -n "${pid}" ] && [ -d "/proc/${pid}" ]; } || break + sleep 0.1 + done + rm -f "$PIDFILE" ;; restart|reload) $0 stop diff --git a/package/docker-cli/docker-cli.hash b/package/docker-cli/docker-cli.hash index 9c8d08bba..d8bfb1d82 100644 --- a/package/docker-cli/docker-cli.hash +++ b/package/docker-cli/docker-cli.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 72a54d131c28938221c81bd08364459fed9c71c093d4d615d324aaf31de6db1d docker-cli-24.0.7.tar.gz +sha256 b047e180c94452b4375f7e43997286e5a5712e66b1280574974b2e117b4e43bd docker-cli-26.0.2.tar.gz sha256 2d81ea060825006fc8f3fe28aa5dc0ffeb80faf325b612c955229157b8c10dc0 LICENSE diff --git a/package/docker-cli/docker-cli.mk b/package/docker-cli/docker-cli.mk index 95fce27ff..69c6f12f3 100644 --- a/package/docker-cli/docker-cli.mk +++ b/package/docker-cli/docker-cli.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOCKER_CLI_VERSION = 24.0.7 +DOCKER_CLI_VERSION = 26.0.2 DOCKER_CLI_SITE = $(call github,docker,cli,v$(DOCKER_CLI_VERSION)) DOCKER_CLI_LICENSE = Apache-2.0 diff --git a/package/docker-compose/docker-compose.hash b/package/docker-compose/docker-compose.hash index ca3d08cf6..d55e35eb1 100644 --- a/package/docker-compose/docker-compose.hash +++ b/package/docker-compose/docker-compose.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 931bfcc34eb43106be07787372bb853d4cd82830a5785f3049c5192ab0e4ac35 docker-compose-2.24.7.tar.gz +sha256 105328838a48dad4a305903c5ae98b928e8a4ea3546e1711690e9eef7e0232be docker-compose-2.26.1.tar.gz sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd LICENSE diff --git a/package/docker-compose/docker-compose.mk b/package/docker-compose/docker-compose.mk index 5417ba2d4..66a88ac7e 100644 --- a/package/docker-compose/docker-compose.mk +++ b/package/docker-compose/docker-compose.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOCKER_COMPOSE_VERSION = 2.24.7 +DOCKER_COMPOSE_VERSION = 2.26.1 DOCKER_COMPOSE_SITE = $(call github,docker,compose,v$(DOCKER_COMPOSE_VERSION)) DOCKER_COMPOSE_LICENSE = Apache-2.0 DOCKER_COMPOSE_LICENSE_FILES = LICENSE diff --git a/package/docker-engine/Config.in b/package/docker-engine/Config.in index 71bf670f1..d48ffe648 100644 --- a/package/docker-engine/Config.in +++ b/package/docker-engine/Config.in @@ -21,12 +21,13 @@ if BR2_PACKAGE_DOCKER_ENGINE config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_BTRFS bool "btrfs filesystem driver" - depends on BR2_USE_MMU # btrfs-progs - depends on BR2_TOOLCHAIN_HAS_THREADS # btrfs-progs - select BR2_PACKAGE_BTRFS_PROGS + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 help Build the btrfs filesystem driver for Docker. +comment "brtfs filesystem driver needs headers >= 4.12" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 + config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_DEVICEMAPPER bool "devicemapper filesystem driver" depends on BR2_TOOLCHAIN_HAS_THREADS # lvm2 diff --git a/package/docker-engine/docker-engine.hash b/package/docker-engine/docker-engine.hash index 931d6529e..91bc3d8df 100644 --- a/package/docker-engine/docker-engine.hash +++ b/package/docker-engine/docker-engine.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 16a2cb4cf4d314a070085e0df06e3a6bd9ec678d28715b64060af694fc9051d5 docker-engine-24.0.7.tar.gz +sha256 f1cf6a2e69607daa0e2ae9b5be752dc269ab30dee16f5f2180f7ff7f29270606 docker-engine-26.0.2.tar.gz sha256 7c87873291f289713ac5df48b1f2010eb6963752bbd6b530416ab99fc37914a8 LICENSE diff --git a/package/docker-engine/docker-engine.mk b/package/docker-engine/docker-engine.mk index 262be2df2..f8dc87050 100644 --- a/package/docker-engine/docker-engine.mk +++ b/package/docker-engine/docker-engine.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOCKER_ENGINE_VERSION = 24.0.7 +DOCKER_ENGINE_VERSION = 26.0.2 DOCKER_ENGINE_SITE = $(call github,moby,moby,v$(DOCKER_ENGINE_VERSION)) DOCKER_ENGINE_LICENSE = Apache-2.0 @@ -35,9 +35,7 @@ DOCKER_ENGINE_DEPENDENCIES += systemd DOCKER_ENGINE_TAGS += systemd journald endif -ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DRIVER_BTRFS),y) -DOCKER_ENGINE_DEPENDENCIES += btrfs-progs -else +ifneq ($(BR2_PACKAGE_DOCKER_ENGINE_DRIVER_BTRFS),y) DOCKER_ENGINE_TAGS += exclude_graphdriver_btrfs endif diff --git a/package/domoticz/domoticz.hash b/package/domoticz/domoticz.hash index 546177332..ae86a67b7 100644 --- a/package/domoticz/domoticz.hash +++ b/package/domoticz/domoticz.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 9effa792f856d8d9036c53b9ae500ee3bffa1488addf9d6f1fe4bf960f73f740 domoticz-2024.1.tar.gz +sha256 d87113d7cacd0b52b9126fcc1ef24e140a4f7042d5bc6262e86e4b4752f5cf38 domoticz-2024.4.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 License.txt diff --git a/package/domoticz/domoticz.mk b/package/domoticz/domoticz.mk index 88bad1542..95d3335ad 100644 --- a/package/domoticz/domoticz.mk +++ b/package/domoticz/domoticz.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOMOTICZ_VERSION = 2024.1 +DOMOTICZ_VERSION = 2024.4 DOMOTICZ_SITE = $(call github,domoticz,domoticz,$(DOMOTICZ_VERSION)) DOMOTICZ_LICENSE = GPL-3.0 DOMOTICZ_LICENSE_FILES = License.txt @@ -51,6 +51,16 @@ else DOMOTICZ_CONF_OPTS += -DWITH_LIBUSB=OFF endif +ifeq ($(BR2_PACKAGE_OPENZWAVE),y) +DOMOTICZ_DEPENDENCIES += openzwave + +# Due to the dependency on mosquitto, domoticz depends on +# !BR2_STATIC_LIBS so set USE_STATIC_OPENZWAVE to OFF otherwise +# domoticz will not find the openzwave library as it searches by +# default a static library. +DOMOTICZ_CONF_OPTS += -DUSE_STATIC_OPENZWAVE=OFF +endif + ifeq ($(BR2_PACKAGE_PYTHON3),y) DOMOTICZ_DEPENDENCIES += python3 DOMOTICZ_CONF_OPTS += -DUSE_PYTHON=ON diff --git a/package/doom-wad/doom-wad.mk b/package/doom-wad/doom-wad.mk index f348fc220..5d37a6a6d 100644 --- a/package/doom-wad/doom-wad.mk +++ b/package/doom-wad/doom-wad.mk @@ -7,7 +7,6 @@ DOOM_WAD_VERSION = 1.9 DOOM_WAD_SOURCE = doom$(subst .,,$(DOOM_WAD_VERSION))s.zip # Official server currently unavailable -# DOOM_WAD_SITE = ftp://ftp.idsoftware.com/idstuff/doom DOOM_WAD_SITE = http://www.jbserver.com/downloads/games/doom/misc/shareware define DOOM_WAD_EXTRACT_CMDS diff --git a/package/dovecot-pigeonhole/dovecot-pigeonhole.hash b/package/dovecot-pigeonhole/dovecot-pigeonhole.hash index 8cd3356dc..247f74fdb 100644 --- a/package/dovecot-pigeonhole/dovecot-pigeonhole.hash +++ b/package/dovecot-pigeonhole/dovecot-pigeonhole.hash @@ -1,3 +1,3 @@ # Locally computed after checking signature -sha256 1ca71d2659076712058a72030288f150b2b076b0306453471c5261498d3ded27 dovecot-2.3-pigeonhole-0.5.21.tar.gz +sha256 0377db284b620723de060431115fb2e7791e1df4321411af718201d6925c4692 dovecot-2.3-pigeonhole-0.5.21.1.tar.gz sha256 fc9e9522216f2a9a28b31300e3c73c1df56acc27dfae951bf516e7995366b51a COPYING diff --git a/package/dovecot-pigeonhole/dovecot-pigeonhole.mk b/package/dovecot-pigeonhole/dovecot-pigeonhole.mk index 679fd4db9..4d21ebd39 100644 --- a/package/dovecot-pigeonhole/dovecot-pigeonhole.mk +++ b/package/dovecot-pigeonhole/dovecot-pigeonhole.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOVECOT_PIGEONHOLE_VERSION = 0.5.21 +DOVECOT_PIGEONHOLE_VERSION = 0.5.21.1 DOVECOT_PIGEONHOLE_SOURCE = dovecot-2.3-pigeonhole-$(DOVECOT_PIGEONHOLE_VERSION).tar.gz DOVECOT_PIGEONHOLE_SITE = https://pigeonhole.dovecot.org/releases/2.3 DOVECOT_PIGEONHOLE_LICENSE = LGPL-2.1 diff --git a/package/dovecot/Config.in b/package/dovecot/Config.in index 20b08b62b..ad1b82761 100644 --- a/package/dovecot/Config.in +++ b/package/dovecot/Config.in @@ -32,7 +32,7 @@ config BR2_PACKAGE_DOVECOT_SQLITE help Enable SQLite support. -source package/dovecot-pigeonhole/Config.in +source "package/dovecot-pigeonhole/Config.in" endif # BR2_PACKAGE_DOVECOT diff --git a/package/dovecot/dovecot.hash b/package/dovecot/dovecot.hash index e42bb577a..fde96f32a 100644 --- a/package/dovecot/dovecot.hash +++ b/package/dovecot/dovecot.hash @@ -1,5 +1,5 @@ # Locally computed after checking signature -sha256 05b11093a71c237c2ef309ad587510721cc93bbee6828251549fc1586c36502d dovecot-2.3.21.tar.gz +sha256 2d90a178c4297611088bf7daae5492a3bc3d5ab6328c3a032eb425d2c249097e dovecot-2.3.21.1.tar.gz sha256 319a9830aab406109cd67cb45496587566a8123203d66d037b209ca3e13de02a COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL sha256 52b8c95fabb19575281874b661ef7968ea47e8f5d74ba0dd40ce512e52b3fc97 COPYING.MIT diff --git a/package/dovecot/dovecot.mk b/package/dovecot/dovecot.mk index f90996fdd..de5bdaeca 100644 --- a/package/dovecot/dovecot.mk +++ b/package/dovecot/dovecot.mk @@ -5,7 +5,7 @@ ################################################################################ DOVECOT_VERSION_MAJOR = 2.3 -DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).21 +DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).21.1 DOVECOT_SITE = https://dovecot.org/releases/$(DOVECOT_VERSION_MAJOR) DOVECOT_INSTALL_STAGING = YES DOVECOT_LICENSE = LGPL-2.1, MIT, Public Domain, BSD-3-Clause, Unicode-DFS-2015 diff --git a/package/dropbear/0001-Implement-Strict-KEX-mode.patch b/package/dropbear/0001-Implement-Strict-KEX-mode.patch deleted file mode 100644 index ce7b84861..000000000 --- a/package/dropbear/0001-Implement-Strict-KEX-mode.patch +++ /dev/null @@ -1,232 +0,0 @@ -From 6e43be5c7b99dbee49dc72b6f989f29fdd7e9356 Mon Sep 17 00:00:00 2001 -From: Matt Johnston -Date: Mon, 20 Nov 2023 14:02:47 +0800 -Subject: [PATCH] Implement Strict KEX mode - -As specified by OpenSSH with kex-strict-c-v00@openssh.com and -kex-strict-s-v00@openssh.com. - -Upstream: https://github.com/mkj/dropbear/commit/6e43be5c7b99dbee49dc72b6f989f29fdd7e9356 -Signed-off-by: Fabrice Fontaine ---- - src/cli-session.c | 11 +++++++++++ - src/common-algo.c | 6 ++++++ - src/common-kex.c | 26 +++++++++++++++++++++++++- - src/kex.h | 3 +++ - src/process-packet.c | 34 +++++++++++++++++++--------------- - src/ssh.h | 4 ++++ - src/svr-session.c | 3 +++ - 7 files changed, 71 insertions(+), 16 deletions(-) - -diff --git a/cli-session.c b/cli-session.c -index 5981b2470..d261c8f82 100644 ---- a/cli-session.c -+++ b/cli-session.c -@@ -46,6 +46,7 @@ static void cli_finished(void) ATTRIB_NORETURN; - static void recv_msg_service_accept(void); - static void cli_session_cleanup(void); - static void recv_msg_global_request_cli(void); -+static void cli_algos_initialise(void); - - struct clientsession cli_ses; /* GLOBAL */ - -@@ -117,6 +118,7 @@ void cli_session(int sock_in, int sock_out, struct dropbear_progress_connection - } - - chaninitialise(cli_chantypes); -+ cli_algos_initialise(); - - /* Set up cli_ses vars */ - cli_session_init(proxy_cmd_pid); -@@ -487,3 +489,12 @@ void cli_dropbear_log(int priority, const char* format, va_list param) { - fflush(stderr); - } - -+static void cli_algos_initialise(void) { -+ algo_type *algo; -+ for (algo = sshkex; algo->name; algo++) { -+ if (strcmp(algo->name, SSH_STRICT_KEX_S) == 0) { -+ algo->usable = 0; -+ } -+ } -+} -+ -diff --git a/common-algo.c b/common-algo.c -index 378f0ca8e..f9d46ebb6 100644 ---- a/common-algo.c -+++ b/common-algo.c -@@ -307,6 +307,12 @@ algo_type sshkex[] = { - /* Set unusable by svr_algos_initialise() */ - {SSH_EXT_INFO_C, 0, NULL, 1, NULL}, - #endif -+#endif -+#if DROPBEAR_CLIENT -+ {SSH_STRICT_KEX_C, 0, NULL, 1, NULL}, -+#endif -+#if DROPBEAR_SERVER -+ {SSH_STRICT_KEX_S, 0, NULL, 1, NULL}, - #endif - {NULL, 0, NULL, 0, NULL} - }; -diff --git a/common-kex.c b/common-kex.c -index ac8844246..8e33b12a6 100644 ---- a/common-kex.c -+++ b/common-kex.c -@@ -183,6 +183,10 @@ void send_msg_newkeys() { - gen_new_keys(); - switch_keys(); - -+ if (ses.kexstate.strict_kex) { -+ ses.transseq = 0; -+ } -+ - TRACE(("leave send_msg_newkeys")) - } - -@@ -193,7 +197,11 @@ void recv_msg_newkeys() { - - ses.kexstate.recvnewkeys = 1; - switch_keys(); -- -+ -+ if (ses.kexstate.strict_kex) { -+ ses.recvseq = 0; -+ } -+ - TRACE(("leave recv_msg_newkeys")) - } - -@@ -550,6 +558,10 @@ void recv_msg_kexinit() { - - ses.kexstate.recvkexinit = 1; - -+ if (ses.kexstate.strict_kex && !ses.kexstate.donefirstkex && ses.recvseq != 1) { -+ dropbear_exit("First packet wasn't kexinit"); -+ } -+ - TRACE(("leave recv_msg_kexinit")) - } - -@@ -859,6 +871,18 @@ static void read_kex_algos() { - } - #endif - -+ if (!ses.kexstate.donefirstkex) { -+ const char* strict_name; -+ if (IS_DROPBEAR_CLIENT) { -+ strict_name = SSH_STRICT_KEX_S; -+ } else { -+ strict_name = SSH_STRICT_KEX_C; -+ } -+ if (buf_has_algo(ses.payload, strict_name) == DROPBEAR_SUCCESS) { -+ ses.kexstate.strict_kex = 1; -+ } -+ } -+ - algo = buf_match_algo(ses.payload, sshkex, kexguess2, &goodguess); - allgood &= goodguess; - if (algo == NULL || algo->data == NULL) { -diff --git a/kex.h b/kex.h -index 77cf21a37..7fcc3c252 100644 ---- a/kex.h -+++ b/kex.h -@@ -83,6 +83,9 @@ struct KEXState { - - unsigned our_first_follows_matches : 1; - -+ /* Boolean indicating that strict kex mode is in use */ -+ unsigned int strict_kex; -+ - time_t lastkextime; /* time of the last kex */ - unsigned int datatrans; /* data transmitted since last kex */ - unsigned int datarecv; /* data received since last kex */ -diff --git a/process-packet.c b/process-packet.c -index 945416023..133a152d0 100644 ---- a/process-packet.c -+++ b/process-packet.c -@@ -44,6 +44,7 @@ void process_packet() { - - unsigned char type; - unsigned int i; -+ unsigned int first_strict_kex = ses.kexstate.strict_kex && !ses.kexstate.donefirstkex; - time_t now; - - TRACE2(("enter process_packet")) -@@ -54,22 +55,24 @@ void process_packet() { - now = monotonic_now(); - ses.last_packet_time_keepalive_recv = now; - -- /* These packets we can receive at any time */ -- switch(type) { - -- case SSH_MSG_IGNORE: -- goto out; -- case SSH_MSG_DEBUG: -- goto out; -+ if (type == SSH_MSG_DISCONNECT) { -+ /* Allowed at any time */ -+ dropbear_close("Disconnect received"); -+ } - -- case SSH_MSG_UNIMPLEMENTED: -- /* debugging XXX */ -- TRACE(("SSH_MSG_UNIMPLEMENTED")) -- goto out; -- -- case SSH_MSG_DISCONNECT: -- /* TODO cleanup? */ -- dropbear_close("Disconnect received"); -+ /* These packets may be received at any time, -+ except during first kex with strict kex */ -+ if (!first_strict_kex) { -+ switch(type) { -+ case SSH_MSG_IGNORE: -+ goto out; -+ case SSH_MSG_DEBUG: -+ goto out; -+ case SSH_MSG_UNIMPLEMENTED: -+ TRACE(("SSH_MSG_UNIMPLEMENTED")) -+ goto out; -+ } - } - - /* Ignore these packet types so that keepalives don't interfere with -@@ -98,7 +101,8 @@ void process_packet() { - if (type >= 1 && type <= 49 - && type != SSH_MSG_SERVICE_REQUEST - && type != SSH_MSG_SERVICE_ACCEPT -- && type != SSH_MSG_KEXINIT) -+ && type != SSH_MSG_KEXINIT -+ && !first_strict_kex) - { - TRACE(("unknown allowed packet during kexinit")) - recv_unimplemented(); -diff --git a/ssh.h b/ssh.h -index 1b4fec65f..ef3efdca0 100644 ---- a/ssh.h -+++ b/ssh.h -@@ -100,6 +100,10 @@ - #define SSH_EXT_INFO_C "ext-info-c" - #define SSH_SERVER_SIG_ALGS "server-sig-algs" - -+/* OpenSSH strict KEX feature */ -+#define SSH_STRICT_KEX_S "kex-strict-s-v00@openssh.com" -+#define SSH_STRICT_KEX_C "kex-strict-c-v00@openssh.com" -+ - /* service types */ - #define SSH_SERVICE_USERAUTH "ssh-userauth" - #define SSH_SERVICE_USERAUTH_LEN 12 -diff --git a/svr-session.c b/svr-session.c -index 769f0731d..a538e2c5c 100644 ---- a/svr-session.c -+++ b/svr-session.c -@@ -370,6 +370,9 @@ static void svr_algos_initialise(void) { - algo->usable = 0; - } - #endif -+ if (strcmp(algo->name, SSH_STRICT_KEX_C) == 0) { -+ algo->usable = 0; -+ } - } - } - diff --git a/package/dropbear/dropbear.hash b/package/dropbear/dropbear.hash index 8f6c49c62..a901656e5 100644 --- a/package/dropbear/dropbear.hash +++ b/package/dropbear/dropbear.hash @@ -1,5 +1,5 @@ # From https://matt.ucc.asn.au/dropbear/releases/SHA256SUM.asc -sha256 bc5a121ffbc94b5171ad5ebe01be42746d50aa797c9549a4639894a16749443b dropbear-2022.83.tar.bz2 +sha256 86b036c433a69d89ce51ebae335d65c47738ccf90d13e5eb0fea832e556da502 dropbear-2024.85.tar.bz2 # License file, locally computed sha256 a99ce657d790b761c132ee7e0de18edb437ae6361e536d991c6a12f36e770445 LICENSE diff --git a/package/dropbear/dropbear.mk b/package/dropbear/dropbear.mk index 7ac8a3855..0fcd1fa3f 100644 --- a/package/dropbear/dropbear.mk +++ b/package/dropbear/dropbear.mk @@ -4,7 +4,7 @@ # ################################################################################ -DROPBEAR_VERSION = 2022.83 +DROPBEAR_VERSION = 2024.85 DROPBEAR_SITE = https://matt.ucc.asn.au/dropbear/releases DROPBEAR_SOURCE = dropbear-$(DROPBEAR_VERSION).tar.bz2 DROPBEAR_LICENSE = MIT, BSD-2-Clause, Public domain @@ -14,9 +14,6 @@ DROPBEAR_PROGRAMS = dropbear $(DROPBEAR_TARGET_BINS) DROPBEAR_CPE_ID_VENDOR = dropbear_ssh_project DROPBEAR_CPE_ID_PRODUCT = dropbear_ssh -# 0001-Implement-Strict-KEX-mode.patch -DROPBEAR_IGNORE_CVES += CVE-2023-48795 - # Disable hardening flags added by dropbear configure.ac, and let # Buildroot add them when the relevant options are enabled. This # prevents dropbear from using SSP support when not available. diff --git a/package/duma/duma.mk b/package/duma/duma.mk index 6bbdf41f4..80fe8a5d6 100644 --- a/package/duma/duma.mk +++ b/package/duma/duma.mk @@ -20,6 +20,7 @@ define DUMA_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE1) $(TARGET_CONFIGURE_OPTS) \ OS=linux \ DUMA_OPTIONS="$(DUMA_OPTIONS)" \ + HOST_CFLAGS="$(HOST_CFLAGS)" \ CPPFLAGS="$(TARGET_CXXFLAGS) -std=c++11" -C $(@D) endef diff --git a/package/dvblast/0001-missing-lm.patch b/package/dvblast/0001-missing-lm.patch index 2efbec464..f287db581 100644 --- a/package/dvblast/0001-missing-lm.patch +++ b/package/dvblast/0001-missing-lm.patch @@ -1,6 +1,6 @@ dvblast: fix static linking -dvblast links to -lev, wihch uses functions from the maths library, +dvblast links to -lev, which uses functions from the maths library, like floor(). When linking to a shared libev.so, that dependency is automatically diff --git a/package/ebtables/0002-ebtables.h-restore-KERNEL_64_USERSPACE_32-checks.patch b/package/ebtables/0002-ebtables.h-restore-KERNEL_64_USERSPACE_32-checks.patch deleted file mode 100644 index 84b4d0f39..000000000 --- a/package/ebtables/0002-ebtables.h-restore-KERNEL_64_USERSPACE_32-checks.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 7297a8ef3cab3b0faf1426622ee902a2144e2e89 Mon Sep 17 00:00:00 2001 -From: Thomas De Schampheleire -Date: Wed, 24 Mar 2021 11:27:14 +0100 -Subject: [PATCH] ebtables.h: restore KERNEL_64_USERSPACE_32 checks - -Commit e6359eedfbf497e52d52451072aea4713ed80a88 replaced the file ebtables.h -but removed the usage of KERNEL_64_USERSPACE_32. This breaks boards where -such flag is relevant, with following messages: - -[ 6364.971346] kernel msg: ebtables bug: please report to author: Standard target size too big - -Unable to update the kernel. Two possible causes: -1. Multiple ebtables programs were executing simultaneously. The ebtables - userspace tool doesn't by default support multiple ebtables programs running - concurrently. The ebtables option --concurrent or a tool like flock can be - used to support concurrent scripts that update the ebtables kernel tables. -2. The kernel doesn't support a certain ebtables extension, consider - recompiling your kernel or insmod the extension. - -Analysis shows that the structure 'ebt_replace' passed from userspace -ebtables to the kernel, is too small, i.e 80 bytes instead of 120 in case of -64-bit kernel. - -Note that the ebtables build system seems to assume that 'sparc64' is the -only case where KERNEL_64_USERSPACE_32 is relevant, but this is not true. -This situation can happen on many architectures, especially in embedded -systems. For example, an Aarch64 processor with kernel in 64-bit but -userland build for 32-bit Arm. Or a 64-bit MIPS Octeon III processor, with -userland running in the 'n32' ABI. - -Signed-off-by: Thomas De Schampheleire -Upstream-Status: http://patchwork.ozlabs.org/project/netfilter-devel/patch/20210518181730.13436-1-patrickdepinguin@gmail.com/ ---- - include/linux/netfilter_bridge/ebtables.h | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -diff --git a/include/linux/netfilter_bridge/ebtables.h b/include/linux/netfilter_bridge/ebtables.h -index 5be75f2..3c2b61e 100644 ---- a/include/linux/netfilter_bridge/ebtables.h -+++ b/include/linux/netfilter_bridge/ebtables.h -@@ -49,12 +49,21 @@ struct ebt_replace { - /* total size of the entries */ - unsigned int entries_size; - /* start of the chains */ -+#ifdef KERNEL_64_USERSPACE_32 -+ uint64_t hook_entry[NF_BR_NUMHOOKS]; -+#else - struct ebt_entries *hook_entry[NF_BR_NUMHOOKS]; -+#endif - /* nr of counters userspace expects back */ - unsigned int num_counters; - /* where the kernel will put the old counters */ -+#ifdef KERNEL_64_USERSPACE_32 -+ uint64_t counters; -+ uint64_t entries; -+#else - struct ebt_counter *counters; - char *entries; -+#endif - }; - - struct ebt_replace_kernel { -@@ -129,6 +138,9 @@ struct ebt_entry_match { - } u; - /* size of data */ - unsigned int match_size; -+#ifdef KERNEL_64_USERSPACE_32 -+ unsigned int pad; -+#endif - unsigned char data[0] __attribute__ ((aligned (__alignof__(struct ebt_replace)))); - }; - -@@ -142,6 +154,9 @@ struct ebt_entry_watcher { - } u; - /* size of data */ - unsigned int watcher_size; -+#ifdef KERNEL_64_USERSPACE_32 -+ unsigned int pad; -+#endif - unsigned char data[0] __attribute__ ((aligned (__alignof__(struct ebt_replace)))); - }; - -@@ -155,6 +170,9 @@ struct ebt_entry_target { - } u; - /* size of data */ - unsigned int target_size; -+#ifdef KERNEL_64_USERSPACE_32 -+ unsigned int pad; -+#endif - unsigned char data[0] __attribute__ ((aligned (__alignof__(struct ebt_replace)))); - }; - -@@ -162,6 +180,9 @@ struct ebt_entry_target { - struct ebt_standard_target { - struct ebt_entry_target target; - int verdict; -+#ifdef KERNEL_64_USERSPACE_32 -+ unsigned int pad; -+#endif - }; - - /* one entry */ --- -2.26.2 - diff --git a/package/ebtables/0003-configure.ac-add-option-enable-kernel-64-userland-32.patch b/package/ebtables/0003-configure.ac-add-option-enable-kernel-64-userland-32.patch deleted file mode 100644 index cb57b3956..000000000 --- a/package/ebtables/0003-configure.ac-add-option-enable-kernel-64-userland-32.patch +++ /dev/null @@ -1,51 +0,0 @@ -From ebf0236270b977a62c522bc32810bc9f8edc72d1 Mon Sep 17 00:00:00 2001 -From: Thomas De Schampheleire -Date: Wed, 24 Mar 2021 13:40:14 +0100 -Subject: [PATCH] configure.ac: add option --enable-kernel-64-userland-32 - -The ebtables build system seems to assume that 'sparc64' is the -only case where KERNEL_64_USERSPACE_32 is relevant, but this is not true. -This situation can happen on many architectures, especially in embedded -systems. For example, an Aarch64 processor with kernel in 64-bit but -userland build for 32-bit Arm. Or a 64-bit MIPS Octeon III processor, with -userland running in the 'n32' ABI. - -While it is possible to set CFLAGS in the environment when calling the -configure script, the caller would need to know to not only specify -KERNEL_64_USERSPACE_32 but also the EBT_MIN_ALIGN value. - -Instead, add a configure option. All internal details can then be handled by -the configure script. - -Signed-off-by: Thomas De Schampheleire -Upstream-Status: http://patchwork.ozlabs.org/project/netfilter-devel/patch/20210518181730.13436-2-patrickdepinguin@gmail.com/ ---- - configure.ac | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index c24ede3..3e89c0c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -15,10 +15,17 @@ AS_IF([test "x$LOCKFILE" = x], [LOCKFILE="/var/lib/ebtables/lock"]) - - regular_CFLAGS="-Wall -Wunused" - regular_CPPFLAGS="" -+ - case "$host" in - sparc64-*) -- regular_CPPFLAGS="$regular_CPPFLAGS -DEBT_MIN_ALIGN=8 -DKERNEL_64_USERSPACE_32";; -+ enable_kernel_64_userland_32=yes ;; - esac -+AC_ARG_ENABLE([kernel-64-userland-32], -+ AC_HELP_STRING([--enable-kernel-64-userland-32], [indicate that ebtables will be built as a 32-bit application but run under a 64-bit kernel]) -+) -+AS_IF([test "x$enable_kernel_64_userland_32" = xyes], -+ [regular_CPPFLAGS="$regular_CPPFLAGS -DEBT_MIN_ALIGN=8 -DKERNEL_64_USERSPACE_32"] -+) - - AC_SUBST([regular_CFLAGS]) - AC_SUBST([regular_CPPFLAGS]) --- -2.26.2 - diff --git a/package/ebtables/Config.in b/package/ebtables/Config.in index 703e55a3c..ce5f67bc6 100644 --- a/package/ebtables/Config.in +++ b/package/ebtables/Config.in @@ -1,6 +1,8 @@ config BR2_PACKAGE_EBTABLES bool "ebtables" depends on BR2_USE_MMU # fork() + # https://lore.kernel.org/all/20210518181730.13436-1-patrickdepinguin@gmail.com/ + depends on !BR2_KERNEL_64_USERLAND_32 help Ethernet bridge frame table administration diff --git a/package/ebtables/ebtables.hash b/package/ebtables/ebtables.hash index 98106b0d6..c09403b63 100644 --- a/package/ebtables/ebtables.hash +++ b/package/ebtables/ebtables.hash @@ -1,4 +1,4 @@ -# ftp://ftp.netfilter.org/pub/ebtables/ebtables-2.0.11.tar.gz.sha256sum +# https://netfilter.org/pub/ebtables/ebtables-2.0.11.tar.gz.sha256sum sha256 b71f654784a726329f88b412ef7b96b4e5d786ed2bd28193ed7b4c0d677dfd2a ebtables-2.0.11.tar.gz # Locally computed sha256 ebdb8ae564c952792017ec680e2edd30443642216eb9f8a3d8fa166c0cb628c1 COPYING diff --git a/package/ebtables/ebtables.mk b/package/ebtables/ebtables.mk index 2f9dd5ac4..09a9f4ba7 100644 --- a/package/ebtables/ebtables.mk +++ b/package/ebtables/ebtables.mk @@ -5,18 +5,12 @@ ################################################################################ EBTABLES_VERSION = 2.0.11 -EBTABLES_SITE = http://ftp.netfilter.org/pub/ebtables +EBTABLES_SITE = https://netfilter.org/pub/ebtables EBTABLES_LICENSE = GPL-2.0+ EBTABLES_LICENSE_FILES = COPYING EBTABLES_CPE_ID_VENDOR = netfilter EBTABLES_SELINUX_MODULES = iptables -# for 0003-configure.ac-add-option-enable-kernel-64-userland-32.patch -EBTABLES_AUTORECONF = YES -ifeq ($(BR2_KERNEL_64_USERLAND_32),y) -EBTABLES_CONF_OPTS += --enable-kernel-64-userland-32 -endif - ifeq ($(BR2_PACKAGE_EBTABLES_UTILS_SAVE),y) define EBTABLES_INSTALL_TARGET_UTILS_SAVE $(INSTALL) -m 0755 -D $(@D)/ebtables-save.sh $(TARGET_DIR)/usr/sbin/ebtables-legacy-save diff --git a/package/ed/ed.hash b/package/ed/ed.hash index 007f645f5..d1d99309c 100644 --- a/package/ed/ed.hash +++ b/package/ed/ed.hash @@ -1,4 +1,4 @@ -# From https://lists.gnu.org/archive/html/bug-ed/2023-01/msg00000.html -sha256 ce2f2e5c424790aa96d09dacb93d9bbfdc0b7eb6249c9cb7538452e8ec77cd48 ed-1.19.tar.lz +# From https://lists.gnu.org/archive/html/bug-ed/2024-04/msg00003.html +sha256 65fec7318f48c2ca17f334ac0f4703defe62037bb13cc23920de077b5fa24523 ed-1.20.2.tar.lz # Locally calculated sha256 3d77c1a58fbde5ddba612d1fe09965e20a3804953eca12e8c1892298bb8a5eef COPYING diff --git a/package/ed/ed.mk b/package/ed/ed.mk index a90d1f005..704744359 100644 --- a/package/ed/ed.mk +++ b/package/ed/ed.mk @@ -4,7 +4,7 @@ # ################################################################################ -ED_VERSION = 1.19 +ED_VERSION = 1.20.2 ED_SITE = $(BR2_GNU_MIRROR)/ed ED_SOURCE = ed-$(ED_VERSION).tar.lz ED_LICENSE = GPL-2.0+ diff --git a/package/elf2flt/0001-fix-alignment-for-new-style-ctors-when-using-riscv64.patch b/package/elf2flt/0001-fix-alignment-for-new-style-ctors-when-using-riscv64.patch new file mode 100644 index 000000000..fea726dab --- /dev/null +++ b/package/elf2flt/0001-fix-alignment-for-new-style-ctors-when-using-riscv64.patch @@ -0,0 +1,34 @@ +From eead8d5e9f3911243182311f16178c25c6ea03c4 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Sat, 23 Mar 2024 07:23:45 +0100 +Subject: [PATCH] fix alignment for new-style ctors when using riscv64 + +Recently uClibc-ng enabled UCLIBC_CTOR_DTOR for riscv64, so +that f.e. C++ applications are running fine. As a side effect +this breaks noMMU support. The problem is the alignment for +the ctors in elf2flt. This patch fixes it. + +Tested with Qemu for ARM, M68k and Xtensa with no regressions. + +Signed-off-by: Waldemar Brodkorb +Upstream: https://github.com/uclinux-dev/elf2flt/commit/eead8d5e9f3911243182311f16178c25c6ea03c4 +--- + elf2flt.ld.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/elf2flt.ld.in b/elf2flt.ld.in +index a99c69e..230c382 100644 +--- a/elf2flt.ld.in ++++ b/elf2flt.ld.in +@@ -139,7 +139,7 @@ R_RODAT: *(.gnu.linkonce.r*) + @SYMBOL_PREFIX@_ssro_size = @SYMBOL_PREFIX@_essro - @SYMBOL_PREFIX@_ssro; + PROVIDE(@SYMBOL_PREFIX@_SDA2_BASE_ = @SYMBOL_PREFIX@_ssro + (@SYMBOL_PREFIX@_ssro_size / 2)); + +- . = ALIGN(4) ; ++ . = ALIGN(8) ; + TOR: @SYMBOL_PREFIX@__CTOR_LIST__ = .; + TOR: LONG((@SYMBOL_PREFIX@__CTOR_END__ - @SYMBOL_PREFIX@__CTOR_LIST__) / 4 - 2) + SINGLE_LINK: /* gcc uses crtbegin.o to find the start of +-- +2.30.2 + diff --git a/package/elftosb/0001-fixes-includes.patch b/package/elftosb/0001-fixes-includes.patch index eaf8ebad9..ba84d126b 100644 --- a/package/elftosb/0001-fixes-includes.patch +++ b/package/elftosb/0001-fixes-includes.patch @@ -1,4 +1,4 @@ -This patch uses system include files instead of a hard coded system path to fixe +This patch uses system include files instead of a hard coded system path to fix potential compilation failure on systems that do not populate system header files in /usr/include/.. diff --git a/package/elftosb/0002-force-cxx-compiler.patch b/package/elftosb/0002-force-cxx-compiler.patch index efa92d117..2dc0394f8 100644 --- a/package/elftosb/0002-force-cxx-compiler.patch +++ b/package/elftosb/0002-force-cxx-compiler.patch @@ -19,7 +19,7 @@ Thus, elftosb should either: - use gcc and link against libc and libm; - or use g++ and link against libstdc++. -Because elftosb is written in C++, this patch implement the sencond option, using +Because elftosb is written in C++, this patch implement the second option, using g++ and linking against libstdc++. Signed-off-by: Samuel Martin diff --git a/package/elfutils/0002-Really-make-Werror-conditional-to-BUILD_WERROR.patch b/package/elfutils/0002-Really-make-Werror-conditional-to-BUILD_WERROR.patch index 565a3c1bb..f35c2d48a 100644 --- a/package/elfutils/0002-Really-make-Werror-conditional-to-BUILD_WERROR.patch +++ b/package/elfutils/0002-Really-make-Werror-conditional-to-BUILD_WERROR.patch @@ -1,4 +1,4 @@ -From 2688a0238eaf825d6659c16c012db0c16f07e197 Mon Sep 17 00:00:00 2001 +From 064b74d5e19847794072781405eafe8dfbfca331 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Mon, 29 May 2017 23:24:42 +0300 Subject: [PATCH] Really make -Werror conditional to BUILD_WERROR @@ -13,26 +13,28 @@ cc1: all warnings being treated as errors [Vincent: tweak patch for 0.166] [Bernd: rebased patch for 0.177 & 0.189] +[Dario: make the patch to be applied with fuzz factor 0] Signed-off-by: "Yann E. MORIN" Signed-off-by: Vicente Olivert Riera Signed-off-by: Bernd Kuhls +Signed-off-by: Dario Binacchi --- config/eu.am | 1 - 1 file changed, 1 deletion(-) diff --git a/config/eu.am b/config/eu.am -index c2cc349ce876..99b368e09060 100644 +index e6c241f9d88a..cad1baa27a5f 100644 --- a/config/eu.am +++ b/config/eu.am -@@ -73,7 +73,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ +@@ -99,7 +99,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ $(USE_AFTER_FREE3_WARNING) \ - $(if $($(*F)_no_Werror),,-Werror) \ $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ - $(if $($(*F)_no_Wpacked_not_aligned),-Wno-packed-not-aligned,) \ + $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \ -- -2.17.1 +2.43.0 diff --git a/package/elfutils/elfutils.mk b/package/elfutils/elfutils.mk index 87b51aa5b..1a1aca37b 100644 --- a/package/elfutils/elfutils.mk +++ b/package/elfutils/elfutils.mk @@ -12,7 +12,7 @@ ELFUTILS_LICENSE = GPL-2.0+ or LGPL-3.0+ (library) ELFUTILS_LICENSE_FILES = COPYING COPYING-GPLV2 COPYING-LGPLV3 ELFUTILS_CPE_ID_VALID = YES ELFUTILS_DEPENDENCIES = host-pkgconf zlib $(TARGET_NLS_DEPENDENCIES) -HOST_ELFUTILS_DEPENDENCIES = host-pkgconf host-zlib host-bzip2 host-xz +HOST_ELFUTILS_DEPENDENCIES = host-pkgconf host-zlib host-bzip2 host-xz host-zstd # We patch configure.ac ELFUTILS_AUTORECONF = YES @@ -26,7 +26,8 @@ ELFUTILS_CONF_OPTS += \ HOST_ELFUTILS_CONF_OPTS = \ --with-bzlib \ --with-lzma \ - --without-zstd \ + --with-zstd \ + --disable-demangler \ --disable-progs ELFUTILS_LDFLAGS = $(TARGET_LDFLAGS) \ @@ -44,6 +45,10 @@ ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) ELFUTILS_CONF_OPTS += --disable-symbol-versioning endif +ifeq ($(BR2_microblaze),y) +ELFUTILS_CONF_OPTS += --disable-symbol-versioning +endif + # disable for now, needs "distro" support ELFUTILS_CONF_OPTS += --disable-libdebuginfod --disable-debuginfod HOST_ELFUTILS_CONF_OPTS += --disable-libdebuginfod --disable-debuginfod diff --git a/package/erlang/erlang.mk b/package/erlang/erlang.mk index 84d2f4e89..f9956d446 100644 --- a/package/erlang/erlang.mk +++ b/package/erlang/erlang.mk @@ -48,7 +48,7 @@ ERLANG_CONF_ENV += erl_xcomp_sysroot=$(STAGING_DIR) ERLANG_CONF_OPTS = --without-javac # Force ERL_TOP to the downloaded source directory. This prevents -# Erlang's configure script from inadvertantly using files from +# Erlang's configure script from inadvertently using files from # a version of Erlang installed on the host. ERLANG_CONF_ENV += ERL_TOP=$(@D) HOST_ERLANG_CONF_ENV += ERL_TOP=$(@D) diff --git a/package/evemu/evemu.mk b/package/evemu/evemu.mk index b27033afa..886ceb114 100644 --- a/package/evemu/evemu.mk +++ b/package/evemu/evemu.mk @@ -9,6 +9,7 @@ EVEMU_SITE = http://www.freedesktop.org/software/evemu EVEMU_SOURCE = evemu-$(EVEMU_VERSION).tar.xz EVEMU_LICENSE = LGPL-3.0 (library), GPL-3.0 (tools) EVEMU_LICENSE_FILES = COPYING +EVEMU_INSTALL_STAGING = YES # asciidoc used to generate manpages, which we don't need, and if it's # present on the build host, it ends getting called with our host-python diff --git a/package/exim/0001-Build-buildconfig-for-the-host.patch b/package/exim/0001-Build-buildconfig-for-the-host.patch index 87eb52797..e9da80765 100644 --- a/package/exim/0001-Build-buildconfig-for-the-host.patch +++ b/package/exim/0001-Build-buildconfig-for-the-host.patch @@ -2,6 +2,8 @@ buildconfig is meant to be executed on the host, so it has to be compiled using $(HOSTCC), not $(CC). Signed-off-by: Luca Ceresoli +[Bernd: rebased for version 4.97.1] +Signed-off-by: Bernd Kuhls --- OS/Makefile-Base | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) @@ -10,7 +12,7 @@ diff --git a/OS/Makefile-Base b/OS/Makefile-Base index 29a6ad3..420ba60 100644 --- a/OS/Makefile-Base +++ b/OS/Makefile-Base -@@ -114,8 +114,8 @@ allexim: config.h $(EXIM_MONITOR) exicyclog exinext exiwhat \ +@@ -258,8 +258,8 @@ allexim: config.h $(EXIM_MONITOR) exicyclog exinext exiwhat \ # Targets for special-purpose configuration header builders buildconfig: buildconfig.c diff --git a/package/exim/0002-Don-t-make-backup-copies-of-installed-files.patch b/package/exim/0002-Don-t-make-backup-copies-of-installed-files.patch index 0cdaa744b..3c115f8d0 100644 --- a/package/exim/0002-Don-t-make-backup-copies-of-installed-files.patch +++ b/package/exim/0002-Don-t-make-backup-copies-of-installed-files.patch @@ -5,6 +5,8 @@ This leads to useless duplicated files on the target, so disable this piece of code. Signed-off-by: Luca Ceresoli +[Bernd: rebased for version 4.97.1] +Signed-off-by: Bernd Kuhls --- scripts/exim_install | 18 +++++++++--------- 1 files changed, 9 insertions(+), 9 deletions(-) @@ -13,7 +15,7 @@ diff --git a/scripts/exim_install b/scripts/exim_install index 616ab3c..e68e7d5 100755 --- a/scripts/exim_install +++ b/scripts/exim_install -@@ -344,15 +344,15 @@ while [ $# -gt 0 ]; do +@@ -348,15 +348,15 @@ while [ $# -gt 0 ]; do else if ../scripts/newer ${name} ${BIN_DIRECTORY}/${name}; then diff --git a/package/exim/0003-Skip-version-check-and-symlink-installation.patch b/package/exim/0003-Skip-version-check-and-symlink-installation.patch index a342d6ed3..55166f108 100644 --- a/package/exim/0003-Skip-version-check-and-symlink-installation.patch +++ b/package/exim/0003-Skip-version-check-and-symlink-installation.patch @@ -9,8 +9,8 @@ Inspired by: http://patch-tracker.debian.org/patch/series/view/exim4/4.76-2/35_install.dpatch Signed-off-by: Luca Ceresoli -(rebased against exim 4.89) -Signed-off-by: Bernd Kuhls +[Bernd: rebased for version 4.89 & 4.97.1] +Signed-off-by: Bernd Kuhls --- scripts/exim_install | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) @@ -19,7 +19,7 @@ diff --git a/scripts/exim_install b/scripts/exim_install index e68e7d5..487a4e1 100755 --- a/scripts/exim_install +++ b/scripts/exim_install -@@ -58,6 +58,8 @@ +@@ -61,6 +61,8 @@ shift done @@ -28,7 +28,7 @@ index e68e7d5..487a4e1 100755 # Get the values of BIN_DIRECTORY, CONFIGURE_FILE, INFO_DIRECTORY, NO_SYMLINK, # SYSTEM_ALIASES_FILE, and EXE from the global Makefile (in the build # directory). EXE is empty except in the Cygwin environment. In each case, keep -@@ -217,9 +219,7 @@ +@@ -220,9 +223,7 @@ # The exim binary is handled specially if [ $name = exim${EXE} ]; then diff --git a/package/exim/0004-exim_lock-fix-lstat-related-build-errors.patch b/package/exim/0004-exim_lock-fix-lstat-related-build-errors.patch deleted file mode 100644 index a0a279fc4..000000000 --- a/package/exim/0004-exim_lock-fix-lstat-related-build-errors.patch +++ /dev/null @@ -1,51 +0,0 @@ -From bbcf4320134efd8a01ce5a02bb9af62019ca05f6 Mon Sep 17 00:00:00 2001 -From: Luca Ceresoli -Date: Tue, 4 Feb 2020 15:57:48 +0100 -Subject: [PATCH] exim_lock: fix lstat-related build errors - -exim_lock fails to cross-compile with the Sourcery CodeBench ARM 2014.05 -toolchain due the a missing include of sys/types.h, needed for the -constants used by fstat() and lstat(). - -Discovered when cross-compiling with the Buildroot embedded Linux -buildsystem. - -Fixes: - - exim_lock.c:427:30: error: 'S_IFMT' undeclared (first use in this function) - if ((statbuf.st_mode & S_IFMT) == S_IFLNK) - ^ - exim_lock.c:427:30: note: each undeclared identifier is reported only once for each function it appears in - exim_lock.c:427:41: error: 'S_IFLNK' undeclared (first use in this function) - if ((statbuf.st_mode & S_IFMT) == S_IFLNK) - ^ - -Signed-off-by: Luca Ceresoli -Upstream-status: https://bugs.exim.org/show_bug.cgi?id=2523 ---- - src/exim_lock.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/exim_lock.c b/src/exim_lock.c -index 068216816054..cb140aff6436 100644 ---- a/src/exim_lock.c -+++ b/src/exim_lock.c -@@ -13,6 +13,8 @@ Argument: the name of the lock file - Copyright (c) The Exim Maintainers 2016 - */ - -+#define _XOPEN_SOURCE -+ - #include "os.h" - - #include -@@ -26,6 +28,7 @@ Copyright (c) The Exim Maintainers 2016 - #include - #include - #include -+#include - #include - #include - #include --- -2.25.0 diff --git a/package/exim/0005-sieve-fix-build-errors.patch b/package/exim/0004-sieve-fix-build-errors.patch similarity index 88% rename from package/exim/0005-sieve-fix-build-errors.patch rename to package/exim/0004-sieve-fix-build-errors.patch index f4b95d50b..c1a2c45b8 100644 --- a/package/exim/0005-sieve-fix-build-errors.patch +++ b/package/exim/0004-sieve-fix-build-errors.patch @@ -20,7 +20,9 @@ Discovered when cross-compiling with the Buildroot embedded Linux buildsystem. Signed-off-by: Luca Ceresoli -Upstream-status: https://bugs.exim.org/show_bug.cgi?id=2523 +Upstream: https://bugs.exim.org/show_bug.cgi?id=2523 +[Bernd: rebased for version 4.97.1] +Signed-off-by: Bernd Kuhls --- src/sieve.c | 2 ++ 1 file changed, 2 insertions(+) @@ -29,7 +31,7 @@ diff --git a/src/sieve.c b/src/sieve.c index 5e8d1e6f4776..9632f2d43810 100644 --- a/src/sieve.c +++ b/src/sieve.c -@@ -12,6 +12,8 @@ +@@ -14,6 +14,8 @@ /* Sieve mail filter. */ diff --git a/package/exim/0006-OpenSSL-fix-non-DANE-build.patch b/package/exim/0006-OpenSSL-fix-non-DANE-build.patch deleted file mode 100644 index 8ae63d222..000000000 --- a/package/exim/0006-OpenSSL-fix-non-DANE-build.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 37b849dca4dfd855212a763662825e967a4d77b1 Mon Sep 17 00:00:00 2001 -From: Jeremy Harris -Date: Tue, 7 Nov 2023 15:02:18 +0000 -Subject: [PATCH] OpenSSL: fix non-DANE build - -Upstream: https://git.exim.org/exim.git/commitdiff/37b849dca4dfd855212a763662825e967a4d77b1 - -Signed-off-by: Bernd Kuhls ---- - src/tls-openssl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/src/tls-openssl.c b/src/src/tls-openssl.c -index ef11de593..851ac77c5 100644 ---- a/src/tls-openssl.c -+++ b/src/tls-openssl.c -@@ -2605,7 +2605,7 @@ if (!(bs = OCSP_response_get1_basic(rsp))) - asking for certificate-status under DANE, so this callback won't run for - that combination. It still will for non-DANE. */ - --#ifdef EXIM_HAVE_OPENSSL_OCSP_RESP_GET0_SIGNER -+#if defined(EXIM_HAVE_OPENSSL_OCSP_RESP_GET0_SIGNER) && defined(SUPPORT_DANE) - X509 * signer; - - if ( tls_out.dane_verified --- -2.30.2 - diff --git a/package/exim/0007-typoes.patch b/package/exim/0007-typoes.patch deleted file mode 100644 index 6bbfc9eec..000000000 --- a/package/exim/0007-typoes.patch +++ /dev/null @@ -1,58 +0,0 @@ -From caf57fe7eb5018b8df196e6d9f99586232798eb3 Mon Sep 17 00:00:00 2001 -From: Jeremy Harris -Date: Wed, 8 Nov 2023 14:22:37 +0000 -Subject: [PATCH] typoes - -Upstream: https://git.exim.org/exim.git/commit/caf57fe7eb5018b8df196e6d9f99586232798eb3 -Signed-off-by: Fabrice Fontaine ---- - src/src/tls-openssl.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/src/tls-openssl.c b/src/tls-openssl.c -index 851ac77c5..237303ba9 100644 ---- a/src/tls-openssl.c -+++ b/src/tls-openssl.c -@@ -77,9 +77,9 @@ change this guard and punt the issue for a while longer. */ - # define EXIM_HAVE_OPENSSL_KEYLOG - # define EXIM_HAVE_OPENSSL_CIPHER_GET_ID - # define EXIM_HAVE_SESSION_TICKET --# define EXIM_HAVE_OPESSL_TRACE --# define EXIM_HAVE_OPESSL_GET0_SERIAL --# define EXIM_HAVE_OPESSL_OCSP_RESP_GET0_CERTS -+# define EXIM_HAVE_OPENSSL_TRACE -+# define EXIM_HAVE_OPENSSL_GET0_SERIAL -+# define EXIM_HAVE_OPENSSL_OCSP_RESP_GET0_CERTS - # define EXIM_HAVE_SSL_GET0_VERIFIED_CHAIN - # ifndef DISABLE_OCSP - # define EXIM_HAVE_OCSP -@@ -1756,7 +1756,7 @@ level. */ - DEBUG(D_tls) - { - SSL_CTX_set_info_callback(ctx, info_callback); --#if defined(EXIM_HAVE_OPESSL_TRACE) && !defined(OPENSSL_NO_SSL_TRACE) -+#if defined(EXIM_HAVE_OPENSSL_TRACE) && !defined(OPENSSL_NO_SSL_TRACE) - /* this needs a debug build of OpenSSL */ - SSL_CTX_set_msg_callback(ctx, SSL_trace); - #endif -@@ -2442,7 +2442,7 @@ tls_in.ocsp = OCSP_NOT_RESP; - if (!olist) - return SSL_TLSEXT_ERR_NOACK; - --#ifdef EXIM_HAVE_OPESSL_GET0_SERIAL -+#ifdef EXIM_HAVE_OPENSSL_GET0_SERIAL - { - const X509 * cert_sent = SSL_get_certificate(s); - const ASN1_INTEGER * cert_serial = X509_get0_serialNumber(cert_sent); -@@ -2646,7 +2646,7 @@ if (!(bs = OCSP_response_get1_basic(rsp))) - - debug_printf("certs contained in basicresp:\n"); - x509_stack_dump_cert_s_names( --#ifdef EXIM_HAVE_OPESSL_OCSP_RESP_GET0_CERTS -+#ifdef EXIM_HAVE_OPENSSL_OCSP_RESP_GET0_CERTS - OCSP_resp_get0_certs(bs) - #else - bs->certs --- -2.30.2 - diff --git a/package/exim/0008-src-src-tls-openssl.c-fix-build-with-libressl-3.5.0.patch b/package/exim/0008-src-src-tls-openssl.c-fix-build-with-libressl-3.5.0.patch deleted file mode 100644 index 67d96fc1a..000000000 --- a/package/exim/0008-src-src-tls-openssl.c-fix-build-with-libressl-3.5.0.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 88f45502272a9a674948204e460ebe90202827d4 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 11 Feb 2024 21:45:42 +0100 -Subject: [PATCH] src/src/tls-openssl.c: fix build with libressl >= 3.5.0 - -OCSP_BASICRESP is an opaque structure since libressl 3.5.0 and -https://github.com/libressl/openbsd/commit/57442b0028fb09287793f279ee57ebb38e9ab954 -resulting in the following build failure since version 4.97 and -https://git.exim.org/exim.git/commit/6bf0021993572586f031ac7d973ca33358c2dac8: - -In file included from tls.c:473: -tls-openssl.c: In function 'tls_client_stapling_cb': -tls-openssl.c:2652:11: error: invalid use of incomplete typedef 'OCSP_BASICRESP' {aka 'struct ocsp_basic_response_st'} - 2652 | bs->certs - | ^~ - -Fixes: - - http://autobuild.buildroot.org/results/869fde62128d7b0c65e0ac596a3a3f69b332583d - -Signed-off-by: Fabrice Fontaine -Upstream: https://bugs.exim.org/show_bug.cgi?id=3074 ---- - src/src/tls-openssl.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/tls-openssl.c b/src/tls-openssl.c -index 237303ba9..c7f94c160 100644 ---- a/src/tls-openssl.c -+++ b/src/tls-openssl.c -@@ -98,6 +98,10 @@ change this guard and punt the issue for a while longer. */ - # define EXIM_HAVE_OPENSSL_CIPHER_GET_ID - #endif - -+#if LIBRESSL_VERSION_NUMBER >= 0x3050000fL -+# define EXIM_HAVE_OPENSSL_OCSP_RESP_GET0_CERTS -+#endif -+ - #if !defined(LIBRESSL_VERSION_NUMBER) && (OPENSSL_VERSION_NUMBER >= 0x030000000L) - # define EXIM_HAVE_EXPORT_CHNL_BNGNG - # define EXIM_HAVE_OPENSSL_X509_STORE_GET1_ALL_CERTS --- -2.43.0 - diff --git a/package/exim/exim.hash b/package/exim/exim.hash index a3822302f..de803bb27 100644 --- a/package/exim/exim.hash +++ b/package/exim/exim.hash @@ -1,6 +1,6 @@ # From https://ftp.exim.org/pub/exim/exim4/00-sha256sums.txt -sha256 bd782057509a793593508528590626d185ea160ce32cb34beda262e99cefdfa9 exim-4.97.1.tar.xz +sha256 0ebc108a779f9293ba4b423c20818f9a3db79b60286d96abc6ba6b85a15852f7 exim-4.98.tar.xz # From https://ftp.exim.org/pub/exim/exim4/00-sha512sums.txt -sha512 eab7ca28b37f1635c48f5e963ab69fcbad539b2c35a84286ecaad7d7ff5210bbefce86452302e08099afdc0710f9cb7ca6d9b152b0ba88a19292f7c5541e0cfc exim-4.97.1.tar.xz +sha512 13dd963dd0899bb4d64bee44c20883e720e469a4d77456b877d6693cfc4419805a045cb561508cdf763dbb37cc84fbdc6177d68acc2183934c3224fbd03caf15 exim-4.98.tar.xz # Locally calculated sha256 49240db527b7e55b312a46fc59794fde5dd006422e422257f4f057bfd27b3c8f LICENCE diff --git a/package/exim/exim.mk b/package/exim/exim.mk index 84fe96218..9db5c46c9 100644 --- a/package/exim/exim.mk +++ b/package/exim/exim.mk @@ -4,7 +4,7 @@ # ################################################################################ -EXIM_VERSION = 4.97.1 +EXIM_VERSION = 4.98 EXIM_SOURCE = exim-$(EXIM_VERSION).tar.xz EXIM_SITE = https://ftp.exim.org/pub/exim/exim4 EXIM_LICENSE = GPL-2.0+ diff --git a/package/exiv2/Config.in b/package/exiv2/Config.in index 3e3e50275..8407c25b4 100644 --- a/package/exiv2/Config.in +++ b/package/exiv2/Config.in @@ -39,6 +39,6 @@ config BR2_PACKAGE_EXIV2_LENSDATA This database comes from a thirdparty and is free to use in non-commercial, GPL or open source software only. - For more informations src/nikonmn_int.cpp. + For more information see src/nikonmn_int.cpp. endif diff --git a/package/expat/Config.in b/package/expat/Config.in index 758fb7d51..c227912b0 100644 --- a/package/expat/Config.in +++ b/package/expat/Config.in @@ -3,4 +3,4 @@ config BR2_PACKAGE_EXPAT help The Expat XML Parser. - http://expat.sourceforge.net + https://libexpat.github.io/ diff --git a/package/expat/expat.hash b/package/expat/expat.hash index 980a9ab6a..b0273c73e 100644 --- a/package/expat/expat.hash +++ b/package/expat/expat.hash @@ -1,7 +1,3 @@ -# From https://sourceforge.net/projects/expat/files/expat/2.6.1/ -md5 84d0ee1c554212dc8f068e538de5b823 expat-2.6.1.tar.xz -sha1 1a1804b7c565a8b21abbd3433ef67ed8a4476960 expat-2.6.1.tar.xz - # Locally calculated -sha256 cb5f5a8ea211e1cabd59be0a933a52e3c02cc326e86a4d387d8d218e7ee47a3e expat-2.6.0.tar.xz +sha256 a695629dae047055b37d50a0ff4776d1d45d0a4c842cf4ccee158441f55ff7ee expat-2.6.4.tar.xz sha256 122f2c27000472a201d337b9b31f7eb2b52d091b02857061a8880371612d9534 COPYING diff --git a/package/expat/expat.mk b/package/expat/expat.mk index e09fcc673..24cfa0a9d 100644 --- a/package/expat/expat.mk +++ b/package/expat/expat.mk @@ -4,8 +4,8 @@ # ################################################################################ -EXPAT_VERSION = 2.6.1 -EXPAT_SITE = http://downloads.sourceforge.net/project/expat/expat/$(EXPAT_VERSION) +EXPAT_VERSION = 2.6.4 +EXPAT_SITE = https://github.com/libexpat/libexpat/releases/download/R_$(subst .,_,$(EXPAT_VERSION)) EXPAT_SOURCE = expat-$(EXPAT_VERSION).tar.xz EXPAT_INSTALL_STAGING = YES EXPAT_LICENSE = MIT diff --git a/package/falcosecurity-libs/falcosecurity-libs.mk b/package/falcosecurity-libs/falcosecurity-libs.mk index 4245f9581..3783b8421 100644 --- a/package/falcosecurity-libs/falcosecurity-libs.mk +++ b/package/falcosecurity-libs/falcosecurity-libs.mk @@ -44,7 +44,7 @@ define FALCOSECURITY_LIBS_LINUX_CONFIG_FIXUPS endef # falcosecurity-libs creates the module Makefile from a template, which contains -# a single place-holder, KBUILD_FLAGS, wich is only replaced with debug flags, +# a single place-holder, KBUILD_FLAGS, which is only replaced with debug flags, # which we don't care about here. # So, just replace the place-holder with the only meaningful value: nothing. # For the DRIVER_NAME, we set it to FALCOSECURITY_LIBS_DRIVER_NAME. diff --git a/package/fbgrab/Config.in b/package/fbgrab/Config.in index b1d8755f3..39c7834d5 100644 --- a/package/fbgrab/Config.in +++ b/package/fbgrab/Config.in @@ -3,6 +3,6 @@ config BR2_PACKAGE_FBGRAB select BR2_PACKAGE_LIBPNG help FBGrab is a framebuffer screenshot program, capturing the - linux frambuffer and converting it to a png-picture. + linux framebuffer and converting it to a png-picture. https://github.com/GunnarMonell/fbgrab diff --git a/package/fbset/Config.in b/package/fbset/Config.in index b4ef41f0a..9422d5bca 100644 --- a/package/fbset/Config.in +++ b/package/fbset/Config.in @@ -7,4 +7,4 @@ config BR2_PACKAGE_FBSET simple and unique interface to access different kinds of graphic displays. - http://users.telenet.be/geertu/Linux/fbdev/ + http://g33rt.be/migrated/Linux/fbdev/ diff --git a/package/fbset/fbset.mk b/package/fbset/fbset.mk index 8d2a477f8..526cba40d 100644 --- a/package/fbset/fbset.mk +++ b/package/fbset/fbset.mk @@ -5,7 +5,7 @@ ################################################################################ FBSET_VERSION = 2.1 -FBSET_SITE = http://users.telenet.be/geertu/Linux/fbdev +FBSET_SITE = http://g33rt.be/migrated/Linux/fbdev FBSET_DEPENDENCIES = host-bison host-flex FBSET_LICENSE = GPL-2.0 FBSET_LICENSE_FILES = fbset.c diff --git a/package/fbv/fbv.mk b/package/fbv/fbv.mk index a69e4ad51..4edfcf0ed 100644 --- a/package/fbv/fbv.mk +++ b/package/fbv/fbv.mk @@ -5,8 +5,8 @@ ################################################################################ FBV_VERSION = 1.0b -FBV_SITE = http://s-tech.elsat.net.pl/fbv - +# upstream (http://s-tech.elsat.net.pl/fbv) dead +FBV_SITE = http://sources.buildroot.net/fbv FBV_LICENSE = GPL-2.0 FBV_LICENSE_FILES = COPYING diff --git a/package/fcgiwrap/0001-use-LIBS-from-configure.patch b/package/fcgiwrap/0001-use-LIBS-from-configure.patch index 12563c427..3f8606945 100644 --- a/package/fcgiwrap/0001-use-LIBS-from-configure.patch +++ b/package/fcgiwrap/0001-use-LIBS-from-configure.patch @@ -1,7 +1,7 @@ Makefile.in: Use LIBS from configure rather than specifying -lfcgi manually. libfcgi needs libm and fcgiwrap does not use libtool or pkgconf to -detect libfcgi, so we need to add -lm explicitely when using static +detect libfcgi, so we need to add -lm explicitly when using static libs. Buildroot does this by providing LIBS=-lm to configure when needed. However fcgiwrap does not use Automake and its Makefile.in ignores LIBS from configure. Fix it with this patch. diff --git a/package/fcgiwrap/fcgiwrap.mk b/package/fcgiwrap/fcgiwrap.mk index 62c4c1369..4845f013f 100644 --- a/package/fcgiwrap/fcgiwrap.mk +++ b/package/fcgiwrap/fcgiwrap.mk @@ -20,7 +20,7 @@ FCGIWRAP_CONF_OPTS += --without-systemd endif # libfcgi needs libm and fcgiwrap does not use libtool or pkgconf to -# detect libfcgi, so we need to add -lm explicitely when using static +# detect libfcgi, so we need to add -lm explicitly when using static # libs. ifeq ($(BR2_STATIC_LIBS),y) FCGIWRAP_CONF_OPTS += LIBS=-lm diff --git a/package/fetchmail/fetchmail.hash b/package/fetchmail/fetchmail.hash index 3c0403fa7..12612ecc4 100644 --- a/package/fetchmail/fetchmail.hash +++ b/package/fetchmail/fetchmail.hash @@ -1,4 +1,4 @@ -# From https://sourceforge.net/p/fetchmail/mailman/message/58731594/ -sha256 a6cb4ea863ac61d242ffb2db564a39123761578d3e40d71ce7b6f2905be609d9 fetchmail-6.4.38.tar.xz +# From https://sourceforge.net/p/fetchmail/mailman/message/58797299/ +sha256 75109a1f307b538155fa05f5ef298e8298cb4deae95aed24c16b38d36ff0a186 fetchmail-6.4.39.tar.xz # Locally computed: sha256 6d87443b61041067a5eddb2cabf8aebff15b8b40771ad6b5e4754e607ec21b39 COPYING diff --git a/package/fetchmail/fetchmail.mk b/package/fetchmail/fetchmail.mk index c74b25969..a9239d085 100644 --- a/package/fetchmail/fetchmail.mk +++ b/package/fetchmail/fetchmail.mk @@ -5,7 +5,7 @@ ################################################################################ FETCHMAIL_VERSION_MAJOR = 6.4 -FETCHMAIL_VERSION = $(FETCHMAIL_VERSION_MAJOR).38 +FETCHMAIL_VERSION = $(FETCHMAIL_VERSION_MAJOR).39 FETCHMAIL_SOURCE = fetchmail-$(FETCHMAIL_VERSION).tar.xz FETCHMAIL_SITE = https://downloads.sourceforge.net/project/fetchmail/branch_$(FETCHMAIL_VERSION_MAJOR) FETCHMAIL_LICENSE = GPL-2.0; some exceptions are mentioned in COPYING diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk index ce285bcc6..b3d0ab983 100644 --- a/package/ffmpeg/ffmpeg.mk +++ b/package/ffmpeg/ffmpeg.mk @@ -86,6 +86,16 @@ else FFMPEG_CONF_OPTS += --disable-ffplay endif +ifeq ($(BR2_PACKAGE_JACK1),y) +FFMPEG_CONF_OPTS += --enable-libjack +FFMPEG_DEPENDENCIES += jack1 +else ifeq ($(BR2_PACKAGE_JACK2),y) +FFMPEG_CONF_OPTS += --enable-libjack +FFMPEG_DEPENDENCIES += jack2 +else +FFMPEG_CONF_OPTS += --disable-libjack +endif + ifeq ($(BR2_PACKAGE_LIBV4L),y) FFMPEG_DEPENDENCIES += libv4l FFMPEG_CONF_OPTS += --enable-libv4l2 @@ -380,6 +390,13 @@ else FFMPEG_CONF_OPTS += --disable-iconv endif +ifeq ($(BR2_PACKAGE_LIBXML2),y) +FFMPEG_CONF_OPTS += --enable-libxml2 +FFMPEG_DEPENDENCIES += libxml2 +else +FFMPEG_CONF_OPTS += --disable-libxml2 +endif + # ffmpeg freetype support require fenv.h which is only # available/working on glibc. # The microblaze variant doesn't provide the needed exceptions @@ -397,6 +414,13 @@ else FFMPEG_CONF_OPTS += --disable-fontconfig endif +ifeq ($(BR2_PACKAGE_LIBFRIBIDI),y) +FFMPEG_CONF_OPTS += --enable-libfribidi +FFMPEG_DEPENDENCIES += libfribidi +else +FFMPEG_CONF_OPTS += --disable-libfribidi +endif + ifeq ($(BR2_PACKAGE_OPENJPEG),y) FFMPEG_CONF_OPTS += --enable-libopenjpeg FFMPEG_DEPENDENCIES += openjpeg diff --git a/package/file/0001-file-seccomp-fstatat64-musl.patch b/package/file/0001-file-seccomp-fstatat64-musl.patch new file mode 100644 index 000000000..ecb12fe44 --- /dev/null +++ b/package/file/0001-file-seccomp-fstatat64-musl.patch @@ -0,0 +1,32 @@ +From 8c13923a8e17a02be0989649b2edc20124816729 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert +Date: Tue, 15 Jun 2021 16:08:22 -0400 +Subject: [PATCH] seccomp: undef fstatat64 to avoid build failure on musl + +sys/stat.h in musl does this: + + #define fstatat64 fstatat + +Counteract this with an #undef. + +Bug: https://bugs.gentoo.org/789336 +Bug: https://bugs.astron.com/view.php?id=473 +Signed-off-by: Mike Gilbert +Signed-off-by: Waldemar Brodkorb +Upstream: N/A under discussion +--- + src/seccomp.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/seccomp.c b/src/seccomp.c +index 5a39ee45..d2a1139a 100644 +--- a/src/seccomp.c ++++ b/src/seccomp.c +@@ -205,6 +205,7 @@ enable_sandbox_full(void) + #endif + ALLOW_RULE(fstat64); + #ifdef __NR_fstatat64 ++#undef fstatat64 + ALLOW_RULE(fstatat64); + #endif + ALLOW_RULE(futex); diff --git a/package/file/file.hash b/package/file/file.hash index 08e849747..7c15569c0 100644 --- a/package/file/file.hash +++ b/package/file/file.hash @@ -1,5 +1,5 @@ # Locally calculated after verifying signature -# ftp://ftp.astron.com/pub/file/file-5.45.tar.gz.asc +# https://astron.com/pub/file/file-5.45.tar.gz.asc # using key BE04995BA8F90ED0C0C176C471112AB16CB33B3A sha256 fc97f51029bb0e2c9f4e3bffefdaf678f0e039ee872b9de5c002a6d09c784d82 file-5.45.tar.gz sha256 0bfa856a9930bddadbef95d1be1cf4e163c0be618e76ea3275caaf255283e274 COPYING diff --git a/package/file/file.mk b/package/file/file.mk index b67fcaead..27d9181d7 100644 --- a/package/file/file.mk +++ b/package/file/file.mk @@ -5,7 +5,7 @@ ################################################################################ FILE_VERSION = 5.45 -FILE_SITE = ftp://ftp.astron.com/pub/file +FILE_SITE = https://astron.com/pub/file FILE_LICENSE = BSD-2-Clause, BSD-4-Clause (one file), BSD-3-Clause (one file) FILE_LICENSE_FILES = COPYING src/mygetopt.h src/vasprintf.c FILE_CPE_ID_VALID = YES diff --git a/package/flex/0003-build-make-it-possible-to-disable-the-build-of-the-d.patch b/package/flex/0003-build-make-it-possible-to-disable-the-build-of-the-d.patch index ffe30d367..30a782ee9 100644 --- a/package/flex/0003-build-make-it-possible-to-disable-the-build-of-the-d.patch +++ b/package/flex/0003-build-make-it-possible-to-disable-the-build-of-the-d.patch @@ -4,7 +4,7 @@ Date: Fri, 29 Sep 2017 18:03:51 +0200 Subject: [PATCH] build: make it possible to disable the build of the documentation -When targetting embedded evices, the documentation is not needed. +When targeting embedded devices, the documentation is not needed. Building the documentation default to whether the program is built. diff --git a/package/fluent-bit/fluent-bit.hash b/package/fluent-bit/fluent-bit.hash index 2c34583f7..8916aeb0b 100644 --- a/package/fluent-bit/fluent-bit.hash +++ b/package/fluent-bit/fluent-bit.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 8e7e951b2907e9d29508699c71c8949a4a22d750d54ffa5ee5b96537e59371dd fluent-bit-2.2.2.tar.gz +sha256 006ed94d34e4036fb7fb5a02016ccf3a55d7f5ccdefd5df756d1ba2206cfc55d fluent-bit-2.2.3.tar.gz sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 LICENSE diff --git a/package/fluent-bit/fluent-bit.mk b/package/fluent-bit/fluent-bit.mk index 00a8904c5..b9bced5ca 100644 --- a/package/fluent-bit/fluent-bit.mk +++ b/package/fluent-bit/fluent-bit.mk @@ -4,7 +4,7 @@ # ################################################################################ -FLUENT_BIT_VERSION = 2.2.2 +FLUENT_BIT_VERSION = 2.2.3 FLUENT_BIT_SITE = $(call github,fluent,fluent-bit,v$(FLUENT_BIT_VERSION)) FLUENT_BIT_LICENSE = Apache-2.0 FLUENT_BIT_LICENSE_FILES = LICENSE diff --git a/package/fluidsynth/fluidsynth.hash b/package/fluidsynth/fluidsynth.hash index 824f246a2..787e97ce3 100644 --- a/package/fluidsynth/fluidsynth.hash +++ b/package/fluidsynth/fluidsynth.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 1529ef5bc3b9ef3adc2a7964505912f7305103e269e50cc0316f500b22053ac9 fluidsynth-2.3.4.tar.gz +sha256 38d1d910783ab67c07a4d859d1aa95525979ff352b927e25b1ae894c774bb4c4 fluidsynth-2.3.7.tar.gz sha256 9b872a8a070b8ad329c4bd380fb1bf0000f564c75023ec8e1e6803f15364b9e9 LICENSE diff --git a/package/fluidsynth/fluidsynth.mk b/package/fluidsynth/fluidsynth.mk index 4317c6e46..98b56ba69 100644 --- a/package/fluidsynth/fluidsynth.mk +++ b/package/fluidsynth/fluidsynth.mk @@ -4,7 +4,7 @@ # ################################################################################ -FLUIDSYNTH_VERSION = 2.3.4 +FLUIDSYNTH_VERSION = 2.3.7 FLUIDSYNTH_SITE = $(call github,FluidSynth,fluidsynth,v$(FLUIDSYNTH_VERSION)) FLUIDSYNTH_LICENSE = LGPL-2.1+ FLUIDSYNTH_LICENSE_FILES = LICENSE diff --git a/package/flutter-engine/Config.in b/package/flutter-engine/Config.in index 00bcd05cd..610c26d93 100644 --- a/package/flutter-engine/Config.in +++ b/package/flutter-engine/Config.in @@ -1,4 +1,4 @@ -# Flutter includes a vender copy of clang which is mandatory to use for +# Flutter includes a vendor copy of clang which is mandatory to use for # compiling. These are the supported architectures. config BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS bool diff --git a/package/flutter-engine/flutter-engine.mk b/package/flutter-engine/flutter-engine.mk index d08274f54..876718eb1 100644 --- a/package/flutter-engine/flutter-engine.mk +++ b/package/flutter-engine/flutter-engine.mk @@ -170,6 +170,7 @@ endif # Generate a tarball if one does not already exist. define FLUTTER_ENGINE_GENERATE_TARBALL + TAR="$(TAR)" \ PATH=$(HOST_DIR)/share/depot_tools:$(BR_PATH) \ PYTHONPATH=$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR) \ PUB_CACHE=$(FLUTTER_SDK_BIN_PUB_CACHE) \ diff --git a/package/flutter-engine/gen-tarball b/package/flutter-engine/gen-tarball index 2d2117b9b..5bfb8f60e 100755 --- a/package/flutter-engine/gen-tarball +++ b/package/flutter-engine/gen-tarball @@ -66,11 +66,11 @@ gen_tarball() { # There are two issues with the flutter-engine buildsystem: # - it expects empty directories created by gclient.py to be present; that # means we can't use the mk_tar_gz helper method from support/download/helpers, - # becasue it does not include emnpty directories; + # because it does not include empty directories; # - it insists on having a full git repositoy, with .git et al., which means # we can't generate a reproducible archive anyway. - # So we jsut create a plain tarball. - tar -C "${SCRATCH_DIR}"/src -czf "${TARBALL_NAME}" . + # So we just create a plain tarball. + ${TAR} -C "${SCRATCH_DIR}"/src -czf "${TARBALL_NAME}" . mv "${TARBALL_NAME}" "${TARBALL_DL_PATH}" } diff --git a/package/flutter-pi/Config.in b/package/flutter-pi/Config.in index 223e29749..ec2ef7073 100644 --- a/package/flutter-pi/Config.in +++ b/package/flutter-pi/Config.in @@ -24,7 +24,7 @@ menuconfig BR2_PACKAGE_FLUTTER_PI Desktop & have X11 or Wayland load up; just boot into the command-line. - Although flutter-pi is only tested on a Rasberry Pi 4 + Although flutter-pi is only tested on a Raspberry Pi 4 2GB, it should work fine on other linux platforms supported by Flutter so long as there is support for KMS and DRI. diff --git a/package/fmc/Config.in b/package/fmc/Config.in index c89a87c99..1c6ae5e80 100644 --- a/package/fmc/Config.in +++ b/package/fmc/Config.in @@ -1,14 +1,14 @@ comment "fmc needs a toolchain w/ C++" - depends on BR2_powerpc_e500mc || BR2_powerpc_e6500 + depends on BR2_powerpc_e500mc || BR2_powerpc_e6500 || BR2_aarch64 depends on !BR2_INSTALL_LIBSTDCPP comment "fmc needs a Linux kernel to be built" - depends on BR2_powerpc_e500mc || BR2_powerpc_e6500 + depends on BR2_powerpc_e500mc || BR2_powerpc_e6500 || BR2_aarch64 depends on !BR2_LINUX_KERNEL config BR2_PACKAGE_FMC bool "fmc" - depends on BR2_powerpc_e500mc || BR2_powerpc_e6500 + depends on BR2_powerpc_e500mc || BR2_powerpc_e6500 || BR2_aarch64 depends on BR2_INSTALL_LIBSTDCPP depends on BR2_LINUX_KERNEL # fmlib select BR2_PACKAGE_TCLAP diff --git a/package/fmlib/Config.in b/package/fmlib/Config.in index 97d55d125..459d5bf10 100644 --- a/package/fmlib/Config.in +++ b/package/fmlib/Config.in @@ -1,10 +1,10 @@ comment "fmlib needs a Linux kernel to be built" - depends on BR2_powerpc_e500mc || BR2_powerpc_e6500 + depends on BR2_powerpc_e500mc || BR2_powerpc_e6500 || BR2_aarch64 depends on !BR2_LINUX_KERNEL config BR2_PACKAGE_FMLIB bool "fmlib" - depends on BR2_powerpc_e500mc || BR2_powerpc_e6500 + depends on BR2_powerpc_e500mc || BR2_powerpc_e6500 || BR2_aarch64 depends on BR2_LINUX_KERNEL help The Frame Manager library provides Freescale PowerPC platforms @@ -33,6 +33,10 @@ config BR2_FMLIB_QORIQ_FAMILY_T2080 bool "t208x" depends on BR2_powerpc_e6500 +config BR2_FMLIB_QORIQ_FAMILY_ARM + bool "arm" + depends on BR2_aarch64 + endchoice config BR2_PACKAGE_FMLIB_ARCHTYPE @@ -40,11 +44,13 @@ config BR2_PACKAGE_FMLIB_ARCHTYPE default "ppce500mc" if BR2_powerpc_e500mc default "ppc64e6500" if BR2_powerpc_e6500 && BR2_powerpc64 default "ppc32e6500" if BR2_powerpc_e6500 && BR2_powerpc + default "arm" if BR2_aarch64 config BR2_PACKAGE_FMLIB_PLATFORM string default "P4080" if BR2_FMLIB_QORIQ_FAMILY_P4080 default "T4240" if BR2_FMLIB_QORIQ_FAMILY_T4240 default "FMAN_V3H" if BR2_FMLIB_QORIQ_FAMILY_T2080 + default "arm" if BR2_aarch64 endif diff --git a/package/foot/foot.hash b/package/foot/foot.hash index f3bf0f605..a9d4874fc 100644 --- a/package/foot/foot.hash +++ b/package/foot/foot.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 8060ec28cbf6e2e3d408665330da4bc48fd094d4f1265d7c58dc75c767463c29 1.16.2.tar.gz +sha256 af299b149fbb08cf2253cb9130240b42ed1a638f2d50d6239f386b03eef78835 foot-1.16.2-br1.tar.gz sha256 d534a23a31500a0ac958d9634b84f532bd73ff1aca1bb8f7debbcbebc16ff39a LICENSE diff --git a/package/foot/foot.mk b/package/foot/foot.mk index 1595e2a71..e300d04d0 100644 --- a/package/foot/foot.mk +++ b/package/foot/foot.mk @@ -5,8 +5,8 @@ ################################################################################ FOOT_VERSION = 1.16.2 -FOOT_SOURCE = $(FOOT_VERSION).tar.gz -FOOT_SITE = https://codeberg.org/dnkl/foot/archive +FOOT_SITE = https://codeberg.org/dnkl/foot.git +FOOT_SITE_METHOD = git FOOT_LICENSE = MIT FOOT_LICENSE_FILES = LICENSE FOOT_DEPENDENCIES = \ diff --git a/package/freeipmi/freeipmi.hash b/package/freeipmi/freeipmi.hash index ac24b7c64..2f81d90c1 100644 --- a/package/freeipmi/freeipmi.hash +++ b/package/freeipmi/freeipmi.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 65fbd6910fc010457748695414f27c5755b4e8d75734221221f3858c6230a897 freeipmi-1.6.11.tar.gz +sha256 1a3dac5c76b7ccc4d4f86aa12b8ef9b212baef7489bf05e899b89abb7e14edb5 freeipmi-1.6.14.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.bmc-watchdog sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.ipmiconsole diff --git a/package/freeipmi/freeipmi.mk b/package/freeipmi/freeipmi.mk index ecff6f992..fbbfd536e 100644 --- a/package/freeipmi/freeipmi.mk +++ b/package/freeipmi/freeipmi.mk @@ -4,8 +4,8 @@ # ################################################################################ -FREEIPMI_VERSION = 1.6.11 -FREEIPMI_SITE = https://ftp.gnu.org/gnu/freeipmi +FREEIPMI_VERSION = 1.6.14 +FREEIPMI_SITE = $(BR2_GNU_MIRROR)/freeipmi FREEIPMI_LICENSE = GPL-3.0+, BSD-like (sunbmc) FREEIPMI_LICENSE_FILES = \ COPYING COPYING.bmc-watchdog COPYING.ipmiconsole COPYING.ipmi-dcmi \ diff --git a/package/freeradius-client/freeradius-client.mk b/package/freeradius-client/freeradius-client.mk index 981ed163e..db874f0f6 100644 --- a/package/freeradius-client/freeradius-client.mk +++ b/package/freeradius-client/freeradius-client.mk @@ -5,7 +5,7 @@ ################################################################################ FREERADIUS_CLIENT_VERSION = 1.1.7 -FREERADIUS_CLIENT_SITE = ftp://ftp.freeradius.org/pub/freeradius +FREERADIUS_CLIENT_SITE = https://freeradius.org/ftp/pub/freeradius FREERADIUS_CLIENT_LICENSE = BSD-2-Clause FREERADIUS_CLIENT_LICENSE_FILES = COPYRIGHT FREERADIUS_CLIENT_INSTALL_STAGING = YES diff --git a/package/freeradius-server/freeradius-server.hash b/package/freeradius-server/freeradius-server.hash index a267bd6f8..6ee8f7786 100644 --- a/package/freeradius-server/freeradius-server.hash +++ b/package/freeradius-server/freeradius-server.hash @@ -1,4 +1,4 @@ # Locally computed, after checking -# ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-3.2.3.tar.bz2.sig +# https://freeradius.org/ftp/pub/freeradius/freeradius-server-3.2.3.tar.bz2.sig sha256 4a16aeffbfa1424e1f317fdf71d17e5523a4fd9564d87c747a60595ef93c5d1f freeradius-server-3.2.3.tar.bz2 sha256 0a0e46014fc2efd5144a30359c0e6e1ea9fa3dd407d3318204150efd7b4caf6a COPYRIGHT diff --git a/package/freeradius-server/freeradius-server.mk b/package/freeradius-server/freeradius-server.mk index 1e8ada6bb..f325745f2 100644 --- a/package/freeradius-server/freeradius-server.mk +++ b/package/freeradius-server/freeradius-server.mk @@ -7,7 +7,7 @@ FREERADIUS_SERVER_VERSION = 3.2.3 FREERADIUS_SERVER_SOURCE = \ freeradius-server-$(FREERADIUS_SERVER_VERSION).tar.bz2 -FREERADIUS_SERVER_SITE = ftp://ftp.freeradius.org/pub/freeradius +FREERADIUS_SERVER_SITE = https://freeradius.org/ftp/pub/freeradius FREERADIUS_SERVER_LICENSE = GPL-2.0 FREERADIUS_SERVER_LICENSE_FILES = COPYRIGHT FREERADIUS_SERVER_CPE_ID_VENDOR = freeradius diff --git a/package/freerdp/freerdp.hash b/package/freerdp/freerdp.hash index daf933e0a..1007215cd 100644 --- a/package/freerdp/freerdp.hash +++ b/package/freerdp/freerdp.hash @@ -1,5 +1,5 @@ -# From https://pub.freerdp.com/releases/freerdp-2.11.5.tar.gz.sha256 -sha256 70785ad9934d75aed1734f8918a05aff95788e58e53081e84651106b24303dc2 freerdp-2.11.5.tar.gz +# From https://pub.freerdp.com/releases/freerdp-2.11.7.tar.gz.sha256 +sha256 5a2d54e1ca0f1facd1632bcc94c73b9f071a80c5fdbbb3f26e79f02aaa586ca3 freerdp-2.11.7.tar.gz # Locally calculated sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/freerdp/freerdp.mk b/package/freerdp/freerdp.mk index 29b33f61c..e8c8f320a 100644 --- a/package/freerdp/freerdp.mk +++ b/package/freerdp/freerdp.mk @@ -4,7 +4,7 @@ # ################################################################################ -FREERDP_VERSION = 2.11.5 +FREERDP_VERSION = 2.11.7 FREERDP_SITE = https://pub.freerdp.com/releases FREERDP_DEPENDENCIES = libglib2 openssl zlib FREERDP_LICENSE = Apache-2.0 diff --git a/package/freescale-imx/imx-gpu-viv/Config.in b/package/freescale-imx/imx-gpu-viv/Config.in index 3e095b730..b8dff8f9a 100644 --- a/package/freescale-imx/imx-gpu-viv/Config.in +++ b/package/freescale-imx/imx-gpu-viv/Config.in @@ -45,8 +45,8 @@ choice config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_FB bool "Framebuffer" - # The i.MX8 blob doesn't support FB output - depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M + # The i.MX8 aarch64 blob doesn't support FB output + depends on BR2_arm config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL bool "Wayland" diff --git a/package/freetype/freetype.hash b/package/freetype/freetype.hash index e7331d5ba..fcd99319c 100644 --- a/package/freetype/freetype.hash +++ b/package/freetype/freetype.hash @@ -1,6 +1,6 @@ -# From https://sourceforge.net/projects/freetype/files/freetype2/2.13.2/ -sha1 2d8d5917a1983ebd04921f2993a88858d6f72dec freetype-2.13.2.tar.xz -sha256 12991c4e55c506dd7f9b765933e62fd2be2e06d421505d7950a132e4f1bb484d freetype-2.13.2.tar.xz +# From https://sourceforge.net/projects/freetype/files/freetype2/2.13.3/ +sha1 2437819d11c1205e81141735dcb0a36c0d541e96 freetype-2.13.3.tar.xz +sha256 0550350666d427c74daeb85d5ac7bb353acba5f76956395995311a9c6f063289 freetype-2.13.3.tar.xz # Locally calculated sha256 2e3bbb7d7c5c396368dd0853a790ec29ce5b8647163dde42a0493fb0d6556b2b LICENSE.TXT diff --git a/package/freetype/freetype.mk b/package/freetype/freetype.mk index 5032414d6..ad8cd00ec 100644 --- a/package/freetype/freetype.mk +++ b/package/freetype/freetype.mk @@ -4,7 +4,7 @@ # ################################################################################ -FREETYPE_VERSION = 2.13.2 +FREETYPE_VERSION = 2.13.3 FREETYPE_SOURCE = freetype-$(FREETYPE_VERSION).tar.xz FREETYPE_SITE = http://download.savannah.gnu.org/releases/freetype FREETYPE_INSTALL_STAGING = YES diff --git a/package/frr/frr.hash b/package/frr/frr.hash index 4a61084ba..86575dae8 100644 --- a/package/frr/frr.hash +++ b/package/frr/frr.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 7ae9d8bafc65bb5d0f21061ac61dbc6cf93b2b05a5dae9e5eec72ed42388551e frr-8.5.4.tar.gz +sha256 5f3a32e66efdf2628548165d10327688847443c342788b31c4ea98368cfacbf8 frr-8.5.6.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/frr/frr.mk b/package/frr/frr.mk index a4b4bccaf..c794d91a4 100644 --- a/package/frr/frr.mk +++ b/package/frr/frr.mk @@ -4,7 +4,7 @@ # ################################################################################ -FRR_VERSION = 8.5.4 +FRR_VERSION = 8.5.6 FRR_SITE = $(call github,FRRouting,frr,frr-$(FRR_VERSION)) FRR_LICENSE = GPL-2.0 FRR_LICENSE_FILES = COPYING diff --git a/package/fwts/0002-libfwtsiasl-fix-parallel-build-with-GNU-Make-4.4.patch b/package/fwts/0002-libfwtsiasl-fix-parallel-build-with-GNU-Make-4.4.patch new file mode 100644 index 000000000..a5568d1fd --- /dev/null +++ b/package/fwts/0002-libfwtsiasl-fix-parallel-build-with-GNU-Make-4.4.patch @@ -0,0 +1,133 @@ +From 65a89b6253ef527ab4bc951eb8f9deba12f0121a Mon Sep 17 00:00:00 2001 +From: Julien Olivain +Date: Mon, 20 May 2024 11:14:02 +0200 +Subject: [PATCH] libfwtsiasl: fix parallel build with GNU Make >= 4.4 + +When a build host has a large number of cores (like 20+) and GNU Make +version is >= 4.4, fwts randomly fail to build in parallel, with a +"make -j$(nproc)" command, with error: + + mv: cannot stat 'dtcompilerparser.tab.c': No such file or directory + mv: cannot stat 'prparser.tab.c': No such file or directory + +This issue has been reported here: +https://github.com/fwts/fwts/issues/7 + +The Makefile.am of libfwtsiasl is using the GNU Make ".NOTPARALLEL" +special target with prerequisites to handle commands generating +multiple outputs (like lex/yacc invocations). See: +https://github.com/fwts/fwts/blob/V24.03.00/src/libfwtsiasl/Makefile.am#L61 + +First, the .NOTPARALLEL special target _with_ prerequisites is a +feature added in GNU Make 4.4. See: +https://git.savannah.gnu.org/cgit/make.git/commit/?id=f6ea899d83bf00fe9201fde0ca9cf7af8e443677 +https://lists.gnu.org/archive/html/help-make/2022-10/msg00020.html + +GNU Make version < 4.4 will interpret it as if it was written without +prerequisite (as a standalone ".NOTPARALLEL:"). The effect is that the +parallel compilation is disabled for the whole libfwtsiasl. The +standalone .NOTPARALLEL special target was introduced in GNU Make 3.79 +in 2000. This is why parallel builds are working with Make older than +version 4.4. + +Secondly, the reason why the build is failing on GNU Make >= 4.4 is +because the usage of .NOTPARALLEL in incorrect. + +Quoting the Make manual: +https://www.gnu.org/software/make/manual/html_node/Parallel-Disable.html +""" +If the .NOTPARALLEL special target has prerequisites, then each of those +prerequisites will be considered a target and all prerequisites of these +targets will be run serially. +""" + +Note the serialization will happen on the prerequisites of the targets +set as prerequisites of .NOTPARALLEL. + +The targets will not be correctly marked to disable parallel +execution. + +Thirdly, the use of multiple targets in a rule is incorrect here. See +Make manual: +https://www.gnu.org/software/make/manual/html_node/Multiple-Targets.html +The construct used in Makefile.am of libfwtsiasl for lex/yacc parsers +assumes they are independant targets (so they can be executed in +parallel). Finally, the "mv" command is failing, because there will be +one parallel execution per target, the first mv will suceed and the +other ones will fail. Multiple independant targets are often used in +Makefiles for lex/yacc, they are working because they are not using +"mv". Even in multiple execution, files are just overwritten. + +Fixing this .NOTPARALLEL usage with prerequisites would require Make +version 4.4 or greater. This is a strong requirement, as there is +still many Linux distros with older Make version (as an example Ubuntu +22.04 LTS has Make 4.3). + +The .WAIT special target could be used, but was also introduced in +Make version 4.4. See: +https://git.savannah.gnu.org/cgit/make.git/commit/?id=f6ea899d83bf00fe9201fde0ca9cf7af8e443677 + +GNU Make 4.3 also introduced "Grouped Targets" for that purpose. See: +https://www.gnu.org/software/make/manual/html_node/Multiple-Targets.html +But this would add a requirement on a recent Make version. + +This commit fixes the issue by declaring the first generated file as a +dependency of the other extra generated files. This has the effect of +completely solving the parallel build for all GNU Make versions. Also, +this enables parallel build for libfwtsiasl (except for the parser +generation) and makes the whole build faster. + +Signed-off-by: Julien Olivain +Upstream: https://github.com/fwts/fwts/commit/c0962cd74c725418523c46ca44101e0e70201f81 +--- + src/libfwtsiasl/Makefile.am | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/src/libfwtsiasl/Makefile.am b/src/libfwtsiasl/Makefile.am +index cb10bc58..ac54f621 100644 +--- a/src/libfwtsiasl/Makefile.am ++++ b/src/libfwtsiasl/Makefile.am +@@ -58,32 +58,32 @@ aslcompiler.y: $(ASL_PARSER) + aslcompilerlex.c: $(ASL_LEXER) + ${LEX} ${AM_LFLAGS} -PAslCompiler -o$@ $(top_srcdir)/src/acpica/source/compiler/aslcompiler.l + +-.NOTPARALLEL: aslcompiler.c +-aslcompiler.c aslcompiler.y.h: aslcompiler.y ++aslcompiler.c: aslcompiler.y + ${YACC} ${AM_YFLAGS} -d -baslcompiler -pAslCompiler $^ + mv aslcompiler.tab.c aslcompiler.c + cp aslcompiler.tab.h aslcompiler.y.h ++aslcompiler.y.h: aslcompiler.c + +-.NOTPARALLEL: dtcompilerparserlex.c +-dtcompilerparserlex.c dtcompilerparser.c dtcompilerparser.y.h: $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.l $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.y ++dtcompilerparserlex.c: $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.l $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.y + ${LEX} ${AM_LFLAGS} -PDtCompilerParser -odtcompilerparserlex.c $< + ${YACC} ${AM_YFLAGS} -bdtcompilerparser -pDtCompilerParser $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.y + mv dtcompilerparser.tab.c dtcompilerparser.c + cp dtcompilerparser.tab.h dtcompilerparser.y.h ++dtcompilerparser.c dtcompilerparser.y.h: dtcompilerparserlex.c + +-.NOTPARALLEL: dtparserlex.c +-dtparserlex.c dtparser.c dtparser.y.h: $(top_srcdir)/src/acpica/source/compiler/dtparser.l $(top_srcdir)/src/acpica/source/compiler/dtparser.y ++dtparserlex.c: $(top_srcdir)/src/acpica/source/compiler/dtparser.l $(top_srcdir)/src/acpica/source/compiler/dtparser.y + ${LEX} ${AM_LFLAGS} -PDtParser -odtparserlex.c $< + ${YACC} ${AM_YFLAGS} -bdtparser -pDtParser $(top_srcdir)/src/acpica/source/compiler/dtparser.y + mv dtparser.tab.c dtparser.c + cp dtparser.tab.h dtparser.y.h ++dtparser.c dtparser.y.h: dtparserlex.c + +-.NOTPARALLEL: prparserlex.c +-prparserlex.c prparser.c prparser.y.h: $(top_srcdir)/src/acpica/source/compiler/prparser.l $(top_srcdir)/src/acpica/source/compiler/prparser.y ++prparserlex.c: $(top_srcdir)/src/acpica/source/compiler/prparser.l $(top_srcdir)/src/acpica/source/compiler/prparser.y + ${LEX} ${AM_LFLAGS} -PPrParser -oprparserlex.c $< + ${YACC} ${AM_YFLAGS} -bprparser -pPrParser $(top_srcdir)/src/acpica/source/compiler/prparser.y + mv prparser.tab.c prparser.c + cp prparser.tab.h prparser.y.h ++prparser.c prparser.y.h: prparserlex.c + + pkglib_LTLIBRARIES = libfwtsiasl.la + +-- +2.45.1 + diff --git a/package/fwts/fwts.mk b/package/fwts/fwts.mk index f06609777..a3f91ee49 100644 --- a/package/fwts/fwts.mk +++ b/package/fwts/fwts.mk @@ -6,7 +6,7 @@ FWTS_VERSION = 23.07.00 FWTS_SOURCE = fwts-V$(FWTS_VERSION).tar.gz -FWTS_SITE = http://fwts.ubuntu.com/release +FWTS_SITE = https://fwts.ubuntu.com/release FWTS_STRIP_COMPONENTS = 0 FWTS_LICENSE = GPL-2.0, LGPL-2.1, Custom FWTS_LICENSE_FILES = debian/copyright diff --git a/package/gamin/gamin.mk b/package/gamin/gamin.mk index 4621b1646..70bbde5f6 100644 --- a/package/gamin/gamin.mk +++ b/package/gamin/gamin.mk @@ -5,7 +5,8 @@ ################################################################################ GAMIN_VERSION = 0.1.10 -GAMIN_SITE = http://www.gnome.org/~veillard/gamin/sources +# upstream (http://www.gnome.org/~veillard/gamin/sources) dead +GAMIN_SITE = http://sources.buildroot.net/gamin GAMIN_AUTORECONF = YES GAMIN_INSTALL_STAGING = YES GAMIN_LICENSE = LGPL-2.0+ diff --git a/package/gcc-bare-metal/13.2.0 b/package/gcc-bare-metal/13.2.0 deleted file mode 120000 index b7a75dc7d..000000000 --- a/package/gcc-bare-metal/13.2.0 +++ /dev/null @@ -1 +0,0 @@ -../gcc/13.2.0/ \ No newline at end of file diff --git a/package/gcc-bare-metal/13.3.0 b/package/gcc-bare-metal/13.3.0 new file mode 120000 index 000000000..b7238b60c --- /dev/null +++ b/package/gcc-bare-metal/13.3.0 @@ -0,0 +1 @@ +../gcc/13.3.0/ \ No newline at end of file diff --git a/package/gcc-bare-metal/gcc-bare-metal.mk b/package/gcc-bare-metal/gcc-bare-metal.mk index f391f094f..3554eb88e 100644 --- a/package/gcc-bare-metal/gcc-bare-metal.mk +++ b/package/gcc-bare-metal/gcc-bare-metal.mk @@ -4,13 +4,15 @@ # ################################################################################ -HOST_GCC_BARE_METAL_VERSION = 13.2.0 +HOST_GCC_BARE_METAL_VERSION = 13.3.0 HOST_GCC_BARE_METAL_SITE = \ https://ftp.gnu.org/gnu/gcc/gcc-$(HOST_GCC_BARE_METAL_VERSION) HOST_GCC_BARE_METAL_SOURCE = gcc-$(HOST_GCC_BARE_METAL_VERSION).tar.xz HOST_GCC_BARE_METAL_LICENSE = GPL-2.0, GPL-3.0, LGPL-2.1, LGPL-3.0 HOST_GCC_BARE_METAL_LICENSE_FILES = COPYING COPYING3 COPYING.LIB COPYING3.LIB +HOST_GCC_BARE_METAL_CPE_ID_VENDOR = gnu +HOST_GCC_BARE_METAL_CPE_ID_PRODUCT = gcc HOST_GCC_BARE_METAL_DEPENDENCIES = \ host-binutils-bare-metal \ diff --git a/package/gcc/11.4.0/0008-libiberty-Darwin-Fix-a-build-warning.patch b/package/gcc/11.4.0/0008-libiberty-Darwin-Fix-a-build-warning.patch new file mode 100644 index 000000000..3c694a89f --- /dev/null +++ b/package/gcc/11.4.0/0008-libiberty-Darwin-Fix-a-build-warning.patch @@ -0,0 +1,37 @@ +From d1fc3505cc09d0ee02abbb732eafc91967c3ac07 Mon Sep 17 00:00:00 2001 +From: Iain Sandoe +Date: Mon, 23 Aug 2021 17:34:43 +0100 +Subject: [PATCH] libiberty, Darwin: Fix a build warning. + +r12-3005-g220c410162ebece4f missed a cast for the set_32 call. +Fixed thus. + +Signed-off-by: Iain Sandoe + +libiberty/ChangeLog: + + * simple-object-mach-o.c (simple_object_mach_o_write_segment): + Cast the first argument to set_32 as needed. + +Upstream: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=38757aa88735ab2e511bc428e2407a5a5e9fa0be +Signed-off-by: Brandon Maier +--- + libiberty/simple-object-mach-o.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libiberty/simple-object-mach-o.c b/libiberty/simple-object-mach-o.c +index 72b69d19c21..a8869e7c639 100644 +--- a/libiberty/simple-object-mach-o.c ++++ b/libiberty/simple-object-mach-o.c +@@ -1228,7 +1228,7 @@ simple_object_mach_o_write_segment (simple_object_write *sobj, int descriptor, + /* Swap the indices, if required. */ + + for (i = 0; i < (nsects_in * 4); ++i) +- set_32 (&index[i], index[i]); ++ set_32 ((unsigned char *) &index[i], index[i]); + + sechdr_offset += sechdrsize; + +-- +2.45.0 + diff --git a/package/gcc/11.4.0/0009-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS-on-Lin.patch b/package/gcc/11.4.0/0009-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS-on-Lin.patch new file mode 100644 index 000000000..7f113a5c0 --- /dev/null +++ b/package/gcc/11.4.0/0009-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS-on-Lin.patch @@ -0,0 +1,44 @@ +From 37b5a741ef2d40fc31569d71fbd953c3a8120b6b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 3 Feb 2023 11:48:35 -0800 +Subject: [PATCH] Undef _TIME_BITS along with _FILE_OFFSET_BITS on Linux + +On 32-bit glibc>=2.34 systems using 64bit time_t build fails because +_FILE_OFFSET_BITS is undefined here but _TIME_BITS is still set to 64 + +Fixes + +``` +/usr/include/features-time64.h:26:5: error: "_TIME_BITS=64 is allowed + only with _FILE_OFFSET_BITS=64" +| # error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" +| ^ +| 1 error generated. +``` + +Reviewed By: thesamesam, MaskRay + +Differential Revision: https://reviews.llvm.org/D140812 + +Upstream: https://github.com/llvm/llvm-project/commit/26800a2c7e7996dc773b4e990dd5cca41c45e1a9 +Upstream: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=d53b3d94aaf211ffb2159614f5aaaf03ceb861cc +Signed-off-by: Thomas Petazzoni +--- + .../sanitizer_common/sanitizer_platform_limits_posix.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp +index 5743516c046..81cf2923ebe 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp +@@ -21,6 +21,7 @@ + // To get this "true" dirent definition, we undefine _FILE_OFFSET_BITS below. + #ifdef _FILE_OFFSET_BITS + #undef _FILE_OFFSET_BITS ++#undef _TIME_BITS + #endif + + // Must go after undef _FILE_OFFSET_BITS. +-- +2.46.0 + diff --git a/package/gcc/11.4.0/0010-libsanitizer-also-undef-_TIME_BITS-in-sanitizer_proc.patch b/package/gcc/11.4.0/0010-libsanitizer-also-undef-_TIME_BITS-in-sanitizer_proc.patch new file mode 100644 index 000000000..816f91515 --- /dev/null +++ b/package/gcc/11.4.0/0010-libsanitizer-also-undef-_TIME_BITS-in-sanitizer_proc.patch @@ -0,0 +1,53 @@ +From 51012d2f0d39293121a5c6e4e26314ebfd6cf958 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 18 Jul 2024 23:13:41 +0200 +Subject: [PATCH] libsanitizer: also undef _TIME_BITS in + sanitizer_procmaps_solaris.cpp + +Upstream commit +https://github.com/llvm/llvm-project/commit/26800a2c7e7996dc773b4e990dd5cca41c45e1a9 +of LLVM added a #undef _TIME_BITS in +libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp to +fix the build on 32-bit Linux platforms that have enabled 64-bit +time_t using _TIME_BITS=64. + +Indeed, _TIME_BITS=64 can only be used when _FILE_OFFSET_BITS=64, but +sanitizer_platform_limits_posix.cpp undefines _FILE_OFFSET_BITS before +including any header file. To fix this, the upstream fix was to also +undef _TIME_BITS. + +This commit simply does the same in sanitizer_procmaps_solaris.cpp, +which also gets compiled under Linux (despite what the file name +says). In practice on Linux hosts (where _TIME_BITS=64 matters), +sanitizer_procmaps_solaris.cpp will expand to nothing, as pretty much +the rest of the file is inside a #ifdef SANITIZER_SOLARIS...#endif. So +the #undef _FILE_OFFSET_BITS and #undef _TIME_BITS are only here +before including sanitizer_platform.h, which will set the +SANITIZER_LINUX/SANITIZER_SOLARIS define depending on the platform. + +Fixes: + +armeb-buildroot-linux-gnueabi/sysroot/usr/include/features-time64.h:26:5: error: #error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" + 26 | # error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" + +Upstream: https://gcc.gnu.org/pipermail/gcc-patches/2024-July/657811.html +Signed-off-by: Thomas Petazzoni +--- + libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp b/libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp +index 4063ec8deaa..503dedd1129 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp ++++ b/libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp +@@ -16,6 +16,7 @@ + + // Before Solaris 11.4, doesn't work in a largefile environment. + #undef _FILE_OFFSET_BITS ++#undef _TIME_BITS + #include + #include + +-- +2.46.0 + diff --git a/package/gcc/12.3.0/0001-disable-split-stack-for-non-thread-builds.patch b/package/gcc/12.4.0/0001-disable-split-stack-for-non-thread-builds.patch similarity index 100% rename from package/gcc/12.3.0/0001-disable-split-stack-for-non-thread-builds.patch rename to package/gcc/12.4.0/0001-disable-split-stack-for-non-thread-builds.patch diff --git a/package/gcc/12.3.0/0002-or1k-Only-define-TARGET_HAVE_TLS-when-HAVE_AS_TLS.patch b/package/gcc/12.4.0/0002-or1k-Only-define-TARGET_HAVE_TLS-when-HAVE_AS_TLS.patch similarity index 100% rename from package/gcc/12.3.0/0002-or1k-Only-define-TARGET_HAVE_TLS-when-HAVE_AS_TLS.patch rename to package/gcc/12.4.0/0002-or1k-Only-define-TARGET_HAVE_TLS-when-HAVE_AS_TLS.patch diff --git a/package/gcc/12.3.0/0003-xtensa-add-.note.GNU-stack-section-on-linux.patch b/package/gcc/12.4.0/0003-xtensa-add-.note.GNU-stack-section-on-linux.patch similarity index 100% rename from package/gcc/12.3.0/0003-xtensa-add-.note.GNU-stack-section-on-linux.patch rename to package/gcc/12.4.0/0003-xtensa-add-.note.GNU-stack-section-on-linux.patch diff --git a/package/gcc/12.4.0/0005-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS-on-Lin.patch b/package/gcc/12.4.0/0005-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS-on-Lin.patch new file mode 100644 index 000000000..386c9287f --- /dev/null +++ b/package/gcc/12.4.0/0005-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS-on-Lin.patch @@ -0,0 +1,44 @@ +From e45f12ecf703eed45515d451cf014fba32e7410b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 3 Feb 2023 11:48:35 -0800 +Subject: [PATCH] Undef _TIME_BITS along with _FILE_OFFSET_BITS on Linux + +On 32-bit glibc>=2.34 systems using 64bit time_t build fails because +_FILE_OFFSET_BITS is undefined here but _TIME_BITS is still set to 64 + +Fixes + +``` +/usr/include/features-time64.h:26:5: error: "_TIME_BITS=64 is allowed + only with _FILE_OFFSET_BITS=64" +| # error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" +| ^ +| 1 error generated. +``` + +Reviewed By: thesamesam, MaskRay + +Differential Revision: https://reviews.llvm.org/D140812 + +Upstream: https://github.com/llvm/llvm-project/commit/26800a2c7e7996dc773b4e990dd5cca41c45e1a9 +Upstream: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=d53b3d94aaf211ffb2159614f5aaaf03ceb861cc +Signed-off-by: Thomas Petazzoni +--- + .../sanitizer_common/sanitizer_platform_limits_posix.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp +index bfdccd5df07..4cedcbfb4bf 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp +@@ -18,6 +18,7 @@ + // depends on _FILE_OFFSET_BITS setting. + // To get this "true" dirent definition, we undefine _FILE_OFFSET_BITS below. + #undef _FILE_OFFSET_BITS ++#undef _TIME_BITS + #endif + + // Must go after undef _FILE_OFFSET_BITS. +-- +2.45.2 + diff --git a/package/gcc/12.4.0/0006-libsanitizer-also-undef-_TIME_BITS-in-sanitizer_proc.patch b/package/gcc/12.4.0/0006-libsanitizer-also-undef-_TIME_BITS-in-sanitizer_proc.patch new file mode 100644 index 000000000..80c3378d7 --- /dev/null +++ b/package/gcc/12.4.0/0006-libsanitizer-also-undef-_TIME_BITS-in-sanitizer_proc.patch @@ -0,0 +1,53 @@ +From 940a0c955bca98aba937c4bfe3fe4a4c17dddb85 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 18 Jul 2024 23:13:41 +0200 +Subject: [PATCH] libsanitizer: also undef _TIME_BITS in + sanitizer_procmaps_solaris.cpp + +Upstream commit +https://github.com/llvm/llvm-project/commit/26800a2c7e7996dc773b4e990dd5cca41c45e1a9 +of LLVM added a #undef _TIME_BITS in +libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp to +fix the build on 32-bit Linux platforms that have enabled 64-bit +time_t using _TIME_BITS=64. + +Indeed, _TIME_BITS=64 can only be used when _FILE_OFFSET_BITS=64, but +sanitizer_platform_limits_posix.cpp undefines _FILE_OFFSET_BITS before +including any header file. To fix this, the upstream fix was to also +undef _TIME_BITS. + +This commit simply does the same in sanitizer_procmaps_solaris.cpp, +which also gets compiled under Linux (despite what the file name +says). In practice on Linux hosts (where _TIME_BITS=64 matters), +sanitizer_procmaps_solaris.cpp will expand to nothing, as pretty much +the rest of the file is inside a #ifdef SANITIZER_SOLARIS...#endif. So +the #undef _FILE_OFFSET_BITS and #undef _TIME_BITS are only here +before including sanitizer_platform.h, which will set the +SANITIZER_LINUX/SANITIZER_SOLARIS define depending on the platform. + +Fixes: + +armeb-buildroot-linux-gnueabi/sysroot/usr/include/features-time64.h:26:5: error: #error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" + 26 | # error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" + +Upstream: https://gcc.gnu.org/pipermail/gcc-patches/2024-July/657811.html +Signed-off-by: Thomas Petazzoni +--- + libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp b/libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp +index e16c4e938cb..ca88cf2c2df 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp ++++ b/libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp +@@ -11,6 +11,7 @@ + + // Before Solaris 11.4, doesn't work in a largefile environment. + #undef _FILE_OFFSET_BITS ++#undef _TIME_BITS + #include "sanitizer_platform.h" + #if SANITIZER_SOLARIS + #include "sanitizer_common.h" +-- +2.45.2 + diff --git a/package/gcc/13.2.0/0001-disable-split-stack-for-non-thread-builds.patch b/package/gcc/13.3.0/0001-disable-split-stack-for-non-thread-builds.patch similarity index 100% rename from package/gcc/13.2.0/0001-disable-split-stack-for-non-thread-builds.patch rename to package/gcc/13.3.0/0001-disable-split-stack-for-non-thread-builds.patch diff --git a/package/gcc/13.2.0/0002-RISC-V-fix-build-issue-with-gcc-4.9.x.patch b/package/gcc/13.3.0/0002-RISC-V-fix-build-issue-with-gcc-4.9.x.patch similarity index 100% rename from package/gcc/13.2.0/0002-RISC-V-fix-build-issue-with-gcc-4.9.x.patch rename to package/gcc/13.3.0/0002-RISC-V-fix-build-issue-with-gcc-4.9.x.patch diff --git a/package/gcc/13.3.0/0004-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS-on-Lin.patch b/package/gcc/13.3.0/0004-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS-on-Lin.patch new file mode 100644 index 000000000..a3be0914b --- /dev/null +++ b/package/gcc/13.3.0/0004-Undef-_TIME_BITS-along-with-_FILE_OFFSET_BITS-on-Lin.patch @@ -0,0 +1,44 @@ +From 88b73eedcfa0fc58aee2555377e6f7d4de153282 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 3 Feb 2023 11:48:35 -0800 +Subject: [PATCH] Undef _TIME_BITS along with _FILE_OFFSET_BITS on Linux + +On 32-bit glibc>=2.34 systems using 64bit time_t build fails because +_FILE_OFFSET_BITS is undefined here but _TIME_BITS is still set to 64 + +Fixes + +``` +/usr/include/features-time64.h:26:5: error: "_TIME_BITS=64 is allowed + only with _FILE_OFFSET_BITS=64" +| # error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" +| ^ +| 1 error generated. +``` + +Reviewed By: thesamesam, MaskRay + +Differential Revision: https://reviews.llvm.org/D140812 + +Upstream: https://github.com/llvm/llvm-project/commit/26800a2c7e7996dc773b4e990dd5cca41c45e1a9 +Upstream: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=d53b3d94aaf211ffb2159614f5aaaf03ceb861cc +Signed-off-by: Thomas Petazzoni +--- + .../sanitizer_common/sanitizer_platform_limits_posix.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp +index bcbd143d19d..1b23898b374 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp +@@ -18,6 +18,7 @@ + // depends on _FILE_OFFSET_BITS setting. + // To get this "true" dirent definition, we undefine _FILE_OFFSET_BITS below. + #undef _FILE_OFFSET_BITS ++#undef _TIME_BITS + #endif + + // Must go after undef _FILE_OFFSET_BITS. +-- +2.45.2 + diff --git a/package/gcc/13.3.0/0005-libsanitizer-also-undef-_TIME_BITS-in-sanitizer_proc.patch b/package/gcc/13.3.0/0005-libsanitizer-also-undef-_TIME_BITS-in-sanitizer_proc.patch new file mode 100644 index 000000000..73b09ac38 --- /dev/null +++ b/package/gcc/13.3.0/0005-libsanitizer-also-undef-_TIME_BITS-in-sanitizer_proc.patch @@ -0,0 +1,53 @@ +From 7ad54084a2c07cca6d03dfe274893e903852d359 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 18 Jul 2024 23:13:41 +0200 +Subject: [PATCH] libsanitizer: also undef _TIME_BITS in + sanitizer_procmaps_solaris.cpp + +Upstream commit +https://github.com/llvm/llvm-project/commit/26800a2c7e7996dc773b4e990dd5cca41c45e1a9 +of LLVM added a #undef _TIME_BITS in +libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp to +fix the build on 32-bit Linux platforms that have enabled 64-bit +time_t using _TIME_BITS=64. + +Indeed, _TIME_BITS=64 can only be used when _FILE_OFFSET_BITS=64, but +sanitizer_platform_limits_posix.cpp undefines _FILE_OFFSET_BITS before +including any header file. To fix this, the upstream fix was to also +undef _TIME_BITS. + +This commit simply does the same in sanitizer_procmaps_solaris.cpp, +which also gets compiled under Linux (despite what the file name +says). In practice on Linux hosts (where _TIME_BITS=64 matters), +sanitizer_procmaps_solaris.cpp will expand to nothing, as pretty much +the rest of the file is inside a #ifdef SANITIZER_SOLARIS...#endif. So +the #undef _FILE_OFFSET_BITS and #undef _TIME_BITS are only here +before including sanitizer_platform.h, which will set the +SANITIZER_LINUX/SANITIZER_SOLARIS define depending on the platform. + +Fixes: + +armeb-buildroot-linux-gnueabi/sysroot/usr/include/features-time64.h:26:5: error: #error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" + 26 | # error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" + +Upstream: https://gcc.gnu.org/pipermail/gcc-patches/2024-July/657811.html +Signed-off-by: Thomas Petazzoni +--- + libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp b/libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp +index eeb49e2afe3..1b23fd4d512 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp ++++ b/libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp +@@ -11,6 +11,7 @@ + + // Before Solaris 11.4, doesn't work in a largefile environment. + #undef _FILE_OFFSET_BITS ++#undef _TIME_BITS + #include "sanitizer_platform.h" + #if SANITIZER_SOLARIS + # include +-- +2.45.2 + diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host index d294e8da3..4ad74e34f 100644 --- a/package/gcc/Config.in.host +++ b/package/gcc/Config.in.host @@ -77,8 +77,8 @@ config BR2_GCC_VERSION string default "8.4.0" if BR2_GCC_VERSION_POWERPC_SPE default "11.4.0" if BR2_GCC_VERSION_11_X - default "12.3.0" if BR2_GCC_VERSION_12_X - default "13.2.0" if BR2_GCC_VERSION_13_X + default "12.4.0" if BR2_GCC_VERSION_12_X + default "13.3.0" if BR2_GCC_VERSION_13_X default "arc-2023.09-release" if BR2_GCC_VERSION_ARC config BR2_EXTRA_GCC_CONFIG_OPTIONS @@ -106,6 +106,10 @@ config BR2_TOOLCHAIN_BUILDROOT_FORTRAN # on architecture building libquadmath, wchar is required depends on !BR2_TOOLCHAIN_HAS_LIBQUADMATH || \ (BR2_TOOLCHAIN_HAS_LIBQUADMATH && BR2_USE_WCHAR) + # internal compiler error: in gen_reg_rtx, at emit-rtl.cc:1167 + # fixed in gcc 14.x, so disable gcc 12.x/13.x + depends on !(BR2_microblaze && \ + (BR2_GCC_VERSION_12_X || BR2_GCC_VERSION_13_X)) select BR2_TOOLCHAIN_HAS_FORTRAN help Enable this option if you want your toolchain to support the diff --git a/package/gcc/gcc.hash b/package/gcc/gcc.hash index 5061a603b..d8d5566a9 100644 --- a/package/gcc/gcc.hash +++ b/package/gcc/gcc.hash @@ -4,10 +4,10 @@ sha512 6de904f552a02de33b11ef52312bb664396efd7e1ce3bbe37bfad5ef617f133095b3767b sha512 440c08ca746da450d9a1b35e8fd2305cb27e7e6987cd9d0f7d375f3b1fc9e4b0bd7acb3cd7bf795e72fcbead59cdef5b6c152862f5d35cd9fbfe6902101ce648 gcc-10.4.0.tar.xz # From https://gcc.gnu.org/pub/gcc/releases/gcc-11.4.0/sha512.sum sha512 a5018bf1f1fa25ddf33f46e720675d261987763db48e7a5fdf4c26d3150a8abcb82fdc413402df1c32f2e6b057d9bae6bdfa026defc4030e10144a8532e60f14 gcc-11.4.0.tar.xz -# From https://gcc.gnu.org/pub/gcc/releases/gcc-12.3.0/sha512.sum -sha512 8fb799dfa2e5de5284edf8f821e3d40c2781e4c570f5adfdb1ca0671fcae3fb7f794ea783e80f01ec7bfbf912ca508e478bd749b2755c2c14e4055648146c204 gcc-12.3.0.tar.xz -# From https://gcc.gnu.org/pub/gcc/releases/gcc-13.2.0/sha512.sum -sha512 d99e4826a70db04504467e349e9fbaedaa5870766cda7c5cab50cdebedc4be755ebca5b789e1232a34a20be1a0b60097de9280efe47bdb71c73251e30b0862a2 gcc-13.2.0.tar.xz +# From https://gcc.gnu.org/pub/gcc/releases/gcc-12.4.0/sha512.sum +sha512 5bd29402cad2deb5d9388d0236c7146414d77e5b8d5f1c6c941c7a1f47691c3389f08656d5f6e8e2d6717bf2c81f018d326f632fb468f42925b40bd217fc4853 gcc-12.4.0.tar.xz +# From https://gcc.gnu.org/pub/gcc/releases/gcc-13.3.0/sha512.sum +sha512 ed5f2f4c6ed2c796fcf2c93707159e9dbd3ddb1ba063d549804dd68cdabbb6d550985ae1c8465ae9a336cfe29274a6eb0f42e21924360574ebd8e5d5c7c9a801 gcc-13.3.0.tar.xz # Locally calculated (fetched from Github) sha512 4dca20f517a42bb027fec605965b09fb917a535eebf3fe3e811d93476b02b1962df5ad4665f117bd44c2ec8e8015d51a44c00591761fe5f259c201ac5c7d920f gcc-arc-2023.09-release.tar.gz diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk index 586a7fd65..4a13cbd4d 100644 --- a/package/gcc/gcc.mk +++ b/package/gcc/gcc.mk @@ -238,7 +238,7 @@ HOST_GCC_COMMON_CONF_OPTS += --with-fp-32="$(GCC_TARGET_FP32_MODE)" endif # musl/uClibc-ng does not work with biarch powerpc toolchains, we -# need to configure gcc explicitely for 32 Bit for CPU's supporting +# need to configure gcc explicitly for 32 Bit for CPU's supporting # 64 Bit and 32 Bit ifneq ($(GCC_TARGET_CPU),) ifeq ($(BR2_powerpc),y) diff --git a/package/gdal/Config.in b/package/gdal/Config.in index 24a1f06af..fe96f4a7d 100644 --- a/package/gdal/Config.in +++ b/package/gdal/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_GDAL depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11, proj depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 - depends on BR2_TOOLCHAIN_HAS_THREADS # proj + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # proj depends on BR2_USE_WCHAR # proj select BR2_PACKAGE_GIFLIB select BR2_PACKAGE_JPEG @@ -26,9 +26,9 @@ config BR2_PACKAGE_GDAL https://gdal.org/ -comment "gdal needs a toolchain w/ C++, dynamic library, gcc >= 4.7, not binutils bug 27597, threads, wchar" +comment "gdal needs a toolchain w/ C++, dynamic library, gcc >= 4.7, not binutils bug 27597, NPTL, wchar" depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || \ BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 || \ - !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR diff --git a/package/gdal/gdal.mk b/package/gdal/gdal.mk index 247e13663..77ffb514c 100644 --- a/package/gdal/gdal.mk +++ b/package/gdal/gdal.mk @@ -46,7 +46,6 @@ GDAL_CONF_OPTS = \ -DGDAL_USE_BLOSC=OFF \ -DGDAL_USE_BRUNSLI=OFF \ -DGDAL_USE_CFITSIO=OFF \ - -DGDAL_USE_OPENSSL=OFF \ -DGDAL_USE_CRYPTOPP=OFF \ -DGDAL_USE_CRNLIB=OFF \ -DGDAL_USE_ECW=OFF \ @@ -130,6 +129,13 @@ else GDAL_CONF_OPTS += -DENABLE_DEFLATE64=OFF endif +ifeq ($(BR2_PACKAGE_OPENSSL),y) +GDAL_DEPENDENCIES += openssl +GDAL_CONF_OPTS += -DGDAL_USE_OPENSSL=ON +else +GDAL_CONF_OPTS += -DGDAL_USE_OPENSSL=OFF +endif + ifeq ($(BR2_PACKAGE_POSTGRESQL),y) GDAL_DEPENDENCIES += postgresql GDAL_CONF_OPTS += -DGDAL_USE_POSTGRESQL=ON diff --git a/package/gdb/14.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/package/gdb/14.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch similarity index 100% rename from package/gdb/14.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch rename to package/gdb/14.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch diff --git a/package/gdb/14.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch b/package/gdb/14.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch similarity index 100% rename from package/gdb/14.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch rename to package/gdb/14.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch diff --git a/package/gdb/14.1/0003-use-asm-sgidefs.h.patch b/package/gdb/14.2/0003-use-asm-sgidefs.h.patch similarity index 100% rename from package/gdb/14.1/0003-use-asm-sgidefs.h.patch rename to package/gdb/14.2/0003-use-asm-sgidefs.h.patch diff --git a/package/gdb/14.1/0004-gdbserver-fix-build-for-m68k.patch b/package/gdb/14.2/0004-gdbserver-fix-build-for-m68k.patch similarity index 100% rename from package/gdb/14.1/0004-gdbserver-fix-build-for-m68k.patch rename to package/gdb/14.2/0004-gdbserver-fix-build-for-m68k.patch diff --git a/package/gdb/14.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch b/package/gdb/14.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch similarity index 100% rename from package/gdb/14.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch rename to package/gdb/14.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch diff --git a/package/gdb/14.1/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch b/package/gdb/14.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch similarity index 100% rename from package/gdb/14.1/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch rename to package/gdb/14.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch diff --git a/package/gdb/14.1/0007-fix-musl-build-on-riscv.patch b/package/gdb/14.2/0007-fix-musl-build-on-riscv.patch similarity index 100% rename from package/gdb/14.1/0007-fix-musl-build-on-riscv.patch rename to package/gdb/14.2/0007-fix-musl-build-on-riscv.patch diff --git a/package/gdb/14.1/0008-gdbserver-Makefile.in-fix-NLS-build.patch b/package/gdb/14.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch similarity index 100% rename from package/gdb/14.1/0008-gdbserver-Makefile.in-fix-NLS-build.patch rename to package/gdb/14.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch diff --git a/package/gdb/14.1/0009-gdb-Fix-native-build-on-xtensa.patch b/package/gdb/14.2/0009-gdb-Fix-native-build-on-xtensa.patch similarity index 100% rename from package/gdb/14.1/0009-gdb-Fix-native-build-on-xtensa.patch rename to package/gdb/14.2/0009-gdb-Fix-native-build-on-xtensa.patch diff --git a/package/gdb/Config.in b/package/gdb/Config.in index 574ad5462..66c2f672f 100644 --- a/package/gdb/Config.in +++ b/package/gdb/Config.in @@ -52,7 +52,7 @@ config BR2_PACKAGE_GDB_SERVER depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY help Build the gdbserver stub to run on the target. - A full gdb is needed to debug the progam. + A full gdb is needed to debug the program. config BR2_PACKAGE_GDB_DEBUGGER bool "full debugger" diff --git a/package/gdb/Config.in.host b/package/gdb/Config.in.host index 891e45948..53706cd3e 100644 --- a/package/gdb/Config.in.host +++ b/package/gdb/Config.in.host @@ -67,5 +67,5 @@ config BR2_GDB_VERSION default "13.2" if BR2_GDB_VERSION_13 || !BR2_PACKAGE_HOST_GDB # When making 14.x the default, or 14.x becomes the oldest version, # be sure to update the target variant to properly select mpfr. - default "14.1" if BR2_GDB_VERSION_14 + default "14.2" if BR2_GDB_VERSION_14 depends on BR2_PACKAGE_GDB || BR2_PACKAGE_HOST_GDB diff --git a/package/gdb/gdb.hash b/package/gdb/gdb.hash index c62da28cb..693ed581c 100644 --- a/package/gdb/gdb.hash +++ b/package/gdb/gdb.hash @@ -1,9 +1,13 @@ # From https://gcc.gnu.org/pub/gdb/releases/sha512.sum -sha512 3653762ac008e065c37cd641653184c9ff7ce51ee2222ade1122bec9d6cc64dffd4fb74888ef11ac1942064a08910e96b7865112ad37f4602eb0a16bed074caa gdb-10.2.tar.xz -sha512 07e9026423438049b11f4f784d57401ece4e940570f613bd6958b3714fe7fbc2c048470bcce3e7d7d9f93331cdf3881d30dcc964cb113a071143a02b28e5b127 gdb-11.2.tar.xz sha512 425568d2e84672177d0fb87b1ad7daafdde097648d605e30cf0656970f66adc6a82ca2d83375ea4be583e9683a340e5bfdf5819668ddf66728200141ae50ff2d gdb-12.1.tar.xz sha512 8185d3e11ab60dafff5860a5016577bfe7dd7547ef01ebc867bc247603d82b74ff74c4f29492c7d2aee57076f52be33e289f4c6b414a4b870d4b3004909f4c34 gdb-13.2.tar.xz -sha512 575e198105076fc4a88f68591aa114ab9c1196e84386a3f7b9b58fe5f30cdeed33f6a5f957b68f08c47284ec922bb60c964627e238471419673fd913575ce427 gdb-14.1.tar.xz +sha512 7e07941f1fe661288cc571b4964012ceabc1760624fce20320db2f470c01439b2386f859b5288da13204b758e2e3b22a74c68c012178db93b9529b06f1e22ede gdb-14.2.tar.xz # Locally calculated (fetched from Github) sha512 3518b47d5c11d1fb478ee152bde1719363f9391db73f3b9f5491217c17742bef8ebca6a51a40302dfaa9476c5a32a8b8f70a4bf64289422dea5f750ae53ab88d gdb-arc-2023.09-release.tar.gz + +# Locally calculated (fetched from gcc.gnu.org) +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING3 +sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING3.LIB +sha256 56bdea73b6145ef6ac5259b3da390b981d840c24cb03b8e1cbc678de7ecfa18d COPYING.LIB diff --git a/package/genpart/0001-fix-return-code.patch b/package/genpart/0001-fix-return-code.patch index ec18c82f8..6ecf0d9bc 100644 --- a/package/genpart/0001-fix-return-code.patch +++ b/package/genpart/0001-fix-return-code.patch @@ -1,7 +1,7 @@ -genpart: return 0 if partition writen OK, with no do_magic +genpart: return 0 if partition written OK, with no do_magic -If do_magic is false, we don't won't write the 0xaa55 magic. -However, if we succesfully wrote the partition entry, we still +If do_magic is false, we won't write the 0xaa55 magic. +However, if we successfully wrote the partition entry, we still want to return 0 to indicate success. Signed-off-by: "Yann E. MORIN" diff --git a/package/genpart/Config.in b/package/genpart/Config.in index 64288452e..b8b8c16f6 100644 --- a/package/genpart/Config.in +++ b/package/genpart/Config.in @@ -5,4 +5,4 @@ config BR2_PACKAGE_GENPART line arguments and dump it to stdout. No CHS magic is done, only lba entries are filled out. - http://www.pengutronix.de/software/genpart/index_en.html + https://public.pengutronix.de/software/genpart diff --git a/package/genpart/Config.in.host b/package/genpart/Config.in.host index d8b9eb61b..f821bc9e8 100644 --- a/package/genpart/Config.in.host +++ b/package/genpart/Config.in.host @@ -5,4 +5,4 @@ config BR2_PACKAGE_HOST_GENPART line arguments and dump it to stdout. No CHS magic is done, only lba entries are filled out. - http://www.pengutronix.de/software/genpart/index_en.html + https://public.pengutronix.de/software/genpart diff --git a/package/genpart/genpart.mk b/package/genpart/genpart.mk index 2aa2c710c..b48a0ac35 100644 --- a/package/genpart/genpart.mk +++ b/package/genpart/genpart.mk @@ -6,7 +6,7 @@ GENPART_VERSION = 1.0.2 GENPART_SOURCE = genpart-$(GENPART_VERSION).tar.bz2 -GENPART_SITE = http://www.pengutronix.de/software/genpart/download +GENPART_SITE = https://public.pengutronix.de/software/genpart # genpart has no license embedded in its source release. # However, their project page mentions: # > This community portal offers an overview about our own OSS diff --git a/package/gerbera/gerbera.mk b/package/gerbera/gerbera.mk index 6616a83e7..f3f05b364 100644 --- a/package/gerbera/gerbera.mk +++ b/package/gerbera/gerbera.mk @@ -80,7 +80,7 @@ else GERBERA_CONF_OPTS += -DWITH_MATROSKA=OFF endif -# Either libupnp or libnpupnp are guranteed to be enabled +# Either libupnp or libnpupnp are guaranteed to be enabled ifeq ($(BR2_PACKAGE_LIBNPUPNP),y) GERBERA_DEPENDENCIES += libnpupnp GERBERA_CONF_OPTS += -DWITH_NPUPNP=ON diff --git a/package/ghostscript/0001-Fix-build-without-BUILD_PDF.patch b/package/ghostscript/0001-Fix-build-without-BUILD_PDF.patch deleted file mode 100644 index af69cd367..000000000 --- a/package/ghostscript/0001-Fix-build-without-BUILD_PDF.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 088f3cd6e58cff5fa51e072d1829f7691a5f6681 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Wed, 20 Sep 2023 13:44:28 +0100 -Subject: [PATCH] Fix build without BUILD_PDF - -The PDFSetParams PostScript extension operator was missing a stub function definition -when the PDF interpreter is not built in. - - Author: Fabrice Fontaine -Upstream: https://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=088f3cd6e58cff5fa51e072d1829f7691a5f6681 -Signed-off-by: Fabrice Fontaine ---- - psi/zpdfops.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/psi/zpdfops.c b/psi/zpdfops.c -index e7e0a42ee..271687a18 100644 ---- a/psi/zpdfops.c -+++ b/psi/zpdfops.c -@@ -1507,6 +1507,11 @@ static int zPDFdrawannots(i_ctx_t *i_ctx_p) - return_error(gs_error_undefined); - } - -+static int zPDFSetParams(i_ctx_t *i_ctx_p) -+{ -+ return_error(gs_error_undefined); -+} -+ - static int zPDFInit(i_ctx_t *i_ctx_p) - { - return_error(gs_error_undefined); --- -2.34.1 - diff --git a/package/ghostscript/ghostscript.hash b/package/ghostscript/ghostscript.hash index 849f6c64b..c64ab80eb 100644 --- a/package/ghostscript/ghostscript.hash +++ b/package/ghostscript/ghostscript.hash @@ -1,5 +1,5 @@ -# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10021/SHA512SUMS -sha512 ee0f754c1bd8a18428ad14eaa3ead80ff8b96275af5012e7a8384f1f10490da056eec9ae3cc791a7a13a24e16e54df5bccdd109c7d53a14534bbd7360a300b11 ghostscript-10.02.1.tar.xz +# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/SHA512SUMS +sha512 2e711f8ba86491570684f13851190f41e6eee87dcfacce0a4adfd09a4523abf2e0b6727f0958ee2683834218f5705675b531fd2419cb7fc314ed4becf51f3ce3 ghostscript-10.04.0.tar.xz # Hash for license file: sha256 8ce064f423b7c24a011b6ebf9431b8bf9861a5255e47c84bfb23fc526d030a8b LICENSE diff --git a/package/ghostscript/ghostscript.mk b/package/ghostscript/ghostscript.mk index da23ebbad..a29ab9b66 100644 --- a/package/ghostscript/ghostscript.mk +++ b/package/ghostscript/ghostscript.mk @@ -4,7 +4,7 @@ # ################################################################################ -GHOSTSCRIPT_VERSION = 10.02.1 +GHOSTSCRIPT_VERSION = 10.04.0 GHOSTSCRIPT_SOURCE = ghostscript-$(GHOSTSCRIPT_VERSION).tar.xz GHOSTSCRIPT_SITE = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs$(subst .,,$(GHOSTSCRIPT_VERSION)) GHOSTSCRIPT_LICENSE = AGPL-3.0 diff --git a/package/giflib/0001-Makefile-add-targets-to-manage-static-building.patch b/package/giflib/0001-Makefile-add-targets-to-manage-static-building.patch index 384457d0b..ba8d426be 100644 --- a/package/giflib/0001-Makefile-add-targets-to-manage-static-building.patch +++ b/package/giflib/0001-Makefile-add-targets-to-manage-static-building.patch @@ -8,8 +8,7 @@ targets to allow the user to build giflib when dynamic library support is not available or enable on the toolchain Signed-off-by: Fabrice Fontaine -[Upstream status: -https://sourceforge.net/p/giflib/code/merge-requests/7] +Upstream: https://sourceforge.net/p/giflib/code/merge-requests/7 --- Makefile | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) @@ -18,16 +17,19 @@ diff --git a/Makefile b/Makefile index b2bf6de..111f52f 100644 --- a/Makefile +++ b/Makefile -@@ -61,10 +61,17 @@ UTILS = $(INSTALLABLE) \ +@@ -91,13 +91,20 @@ LIBUTILSO = libutil.$(SOEXTENSION) + LIBUTILSOMAJOR = libutil.$(LIBMAJOR).$(SOEXTENSION) + endif - LDLIBS=libgif.a -lm - --all: libgif.so libgif.a libutil.so libutil.a $(UTILS) -+SHARED_LIBS = libgif.so libutil.so +-all: $(LIBGIFSO) libgif.a $(LIBUTILSO) libutil.a $(UTILS) ++SHARED_LIBS = $(LIBGIFSO) $(LIBUTILSO) +STATIC_LIBS = libgif.a libutil.a + +all: shared-lib static-lib $(UTILS) + ifeq ($(UNAME), Darwin) + else $(MAKE) -C doc + endif -$(UTILS):: libgif.a libutil.a +$(UTILS):: $(STATIC_LIBS) @@ -36,18 +38,18 @@ index b2bf6de..111f52f 100644 + +static-lib: $(STATIC_LIBS) - libgif.so: $(OBJECTS) $(HEADERS) - $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libgif.so.$(LIBMAJOR) -o libgif.so $(OBJECTS) -@@ -79,7 +86,7 @@ libutil.a: $(UOBJECTS) $(UHEADERS) + $(LIBGIFSO): $(OBJECTS) $(HEADERS) + ifeq ($(UNAME), Darwin) +@@ -120,7 +127,7 @@ libutil.a: $(UOBJECTS) $(UHEADERS) $(AR) rcs libutil.a $(UOBJECTS) clean: -- rm -f $(UTILS) $(TARGET) libgetarg.a libgif.a libgif.so libutil.a libutil.so *.o +- rm -f $(UTILS) $(TARGET) libgetarg.a libgif.a $(LIBGIFSO) libutil.a $(LIBUTILSO) *.o + rm -f $(UTILS) $(TARGET) libgetarg.a $(SHARED_LIBS) $(STATIC_LIBS) *.o - rm -f libgif.so.$(LIBMAJOR).$(LIBMINOR).$(LIBPOINT) - rm -f libgif.so.$(LIBMAJOR) - rm -fr doc/*.1 *.html doc/staging -@@ -96,12 +103,15 @@ install-bin: $(INSTALLABLE) + rm -f $(LIBGIFSOVER) + rm -f $(LIBGIFSOMAJOR) + rm -fr doc/*.[17] *.html doc/staging +@@ -145,12 +152,15 @@ install-bin: $(INSTALLABLE) install-include: $(INSTALL) -d "$(DESTDIR)$(INCDIR)" $(INSTALL) -m 644 gif_lib.h "$(DESTDIR)$(INCDIR)" @@ -57,13 +59,13 @@ index b2bf6de..111f52f 100644 $(INSTALL) -m 644 libgif.a "$(DESTDIR)$(LIBDIR)/libgif.a" +install-shared-lib: + $(INSTALL) -d "$(DESTDIR)$(LIBDIR)" - $(INSTALL) -m 755 libgif.so "$(DESTDIR)$(LIBDIR)/libgif.so.$(LIBVER)" - ln -sf libgif.so.$(LIBVER) "$(DESTDIR)$(LIBDIR)/libgif.so.$(LIBMAJOR)" - ln -sf libgif.so.$(LIBMAJOR) "$(DESTDIR)$(LIBDIR)/libgif.so" + $(INSTALL) -m 755 $(LIBGIFSO) "$(DESTDIR)$(LIBDIR)/$(LIBGIFSOVER)" + ln -sf $(LIBGIFSOVER) "$(DESTDIR)$(LIBDIR)/$(LIBGIFSOMAJOR)" + ln -sf $(LIBGIFSOMAJOR) "$(DESTDIR)$(LIBDIR)/$(LIBGIFSO)" +install-lib: install-static-lib install-shared-lib install-man: - $(INSTALL) -d "$(DESTDIR)$(MANDIR)/man1" - $(INSTALL) -m 644 doc/*.1 "$(DESTDIR)$(MANDIR)/man1" + $(INSTALL) -d "$(DESTDIR)$(MANDIR)/man1" "$(DESTDIR)$(MANDIR)/man7" + $(INSTALL) -m 644 $(MANUAL_PAGES_1:xml=1) "$(DESTDIR)$(MANDIR)/man1" -- -2.20.1 +2.43.0 diff --git a/package/giflib/0002-Fix-CVE-2022-28506.patch b/package/giflib/0002-Fix-CVE-2022-28506.patch deleted file mode 100644 index 35d5f60a9..000000000 --- a/package/giflib/0002-Fix-CVE-2022-28506.patch +++ /dev/null @@ -1,34 +0,0 @@ -From c0cca041fc4fb6748d8dff3675fe7a839253d668 Mon Sep 17 00:00:00 2001 -From: Sandro Mani -Date: Tue, 5 Dec 2023 16:24:32 -0700 -Subject: [PATCH] Fix CVE-2022-28506 - -From: giflib-5.2.1-17.fc39.src.rpm -Fixes https://nvd.nist.gov/vuln/detail/CVE-2022-28506 -Upstream: https://sourceforge.net/p/giflib/bugs/159/ - -Signed-off-by: Sandro Mani -Signed-off-by: Adam Duskett ---- - gif2rgb.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/gif2rgb.c b/gif2rgb.c -index 8d7c0ff..d9a469f 100644 ---- a/gif2rgb.c -+++ b/gif2rgb.c -@@ -294,6 +294,11 @@ static void DumpScreen2RGB(char *FileName, int OneFileFlag, - GifRow = ScreenBuffer[i]; - GifQprintf("\b\b\b\b%-4d", ScreenHeight - i); - for (j = 0, BufferP = Buffer; j < ScreenWidth; j++) { -+ /* Check if color is within color palete */ -+ if (GifRow[j] >= ColorMap->ColorCount) -+ { -+ GIF_EXIT(GifErrorString(D_GIF_ERR_IMAGE_DEFECT)); -+ } - ColorMapEntry = &ColorMap->Colors[GifRow[j]]; - *BufferP++ = ColorMapEntry->Red; - *BufferP++ = ColorMapEntry->Green; --- -2.43.0 - diff --git a/package/giflib/0004-Fix-several-defects-found-by-Coverity-scan.patch b/package/giflib/0002-Fix-several-defects-found-by-Coverity-scan.patch similarity index 43% rename from package/giflib/0004-Fix-several-defects-found-by-Coverity-scan.patch rename to package/giflib/0002-Fix-several-defects-found-by-Coverity-scan.patch index 171976987..f6816d075 100644 --- a/package/giflib/0004-Fix-several-defects-found-by-Coverity-scan.patch +++ b/package/giflib/0002-Fix-several-defects-found-by-Coverity-scan.patch @@ -8,6 +8,8 @@ Upstream: Not submitted Signed-off-by: Sandro Mani Signed-off-by: Adam Duskett +[Fabrice: updated for 5.2.2] +Signed-off-by: Fabrice Fontaine --- gif2rgb.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) @@ -17,44 +19,40 @@ index d9a469f..02cea41 100644 --- a/gif2rgb.c +++ b/gif2rgb.c @@ -170,6 +170,8 @@ static void SaveGif(GifByteType *OutputBuffer, - /* Open stdout for the output file: */ - if ((GifFile = EGifOpenFileHandle(1, &Error)) == NULL) { - PrintGifError(Error); -+ free(OutputBuffer); -+ GifFreeMapObject(OutputColorMap); - exit(EXIT_FAILURE); - } + /* Open stdout for the output file: */ + if ((GifFile = EGifOpenFileHandle(1, &Error)) == NULL) { + PrintGifError(Error); ++ free(OutputBuffer); ++ GifFreeMapObject(OutputColorMap); + exit(EXIT_FAILURE); + } @@ -179,6 +181,8 @@ static void SaveGif(GifByteType *OutputBuffer, - EGifPutImageDesc(GifFile, - 0, 0, Width, Height, false, NULL) == GIF_ERROR) { - PrintGifError(Error); -+ free(OutputBuffer); -+ GifFreeMapObject(OutputColorMap); - exit(EXIT_FAILURE); - } + EGifPutImageDesc(GifFile, 0, 0, Width, Height, false, NULL) == + GIF_ERROR) { + PrintGifError(Error); ++ free(OutputBuffer); ++ GifFreeMapObject(OutputColorMap); + exit(EXIT_FAILURE); + } -@@ -187,8 +191,11 @@ static void SaveGif(GifByteType *OutputBuffer, - GifFile->Image.Width, GifFile->Image.Height); +@@ -187,6 +191,8 @@ static void SaveGif(GifByteType *OutputBuffer, - for (i = 0; i < Height; i++) { -- if (EGifPutLine(GifFile, Ptr, Width) == GIF_ERROR) -+ if (EGifPutLine(GifFile, Ptr, Width) == GIF_ERROR) { -+ free(OutputBuffer); -+ GifFreeMapObject(OutputColorMap); - exit(EXIT_FAILURE); -+ } - GifQprintf("\b\b\b\b%-4d", Height - i - 1); - - Ptr += Width; + for (i = 0; i < Height; i++) { + if (EGifPutLine(GifFile, Ptr, Width) == GIF_ERROR) { ++ free(OutputBuffer); ++ GifFreeMapObject(OutputColorMap); + exit(EXIT_FAILURE); + } + GifQprintf("\b\b\b\b%-4d", Height - i - 1); @@ -196,6 +203,8 @@ static void SaveGif(GifByteType *OutputBuffer, - if (EGifCloseFile(GifFile, &Error) == GIF_ERROR) { - PrintGifError(Error); -+ free(OutputBuffer); -+ GifFreeMapObject(OutputColorMap); - exit(EXIT_FAILURE); - } + if (EGifCloseFile(GifFile, &Error) == GIF_ERROR) { + PrintGifError(Error); ++ free(OutputBuffer); ++ GifFreeMapObject(OutputColorMap); + exit(EXIT_FAILURE); + } } -- 2.43.0 diff --git a/package/giflib/0003-Fix-CVE-2023-39742.patch b/package/giflib/0003-Fix-CVE-2023-39742.patch deleted file mode 100644 index 2ba01ac8a..000000000 --- a/package/giflib/0003-Fix-CVE-2023-39742.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 4288b993ee9df6550a367fe06ede3c003dc7bbc6 Mon Sep 17 00:00:00 2001 -From: Sandro Mani -Date: Tue, 5 Dec 2023 16:35:40 -0700 -Subject: [PATCH] Fix CVE-2023-39742 - -From: giflib-5.2.1-17.fc39.src.rpm -Fix segmentation faults due to non correct checking for args -Fixes: https://nvd.nist.gov/vuln/detail/CVE-2023-39742 -Upstream: https://sourceforge.net/p/giflib/bugs/166/ - -Signed-off-by: Sandro Mani -Signed-off-by: Adam Duskett ---- - getarg.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/getarg.c b/getarg.c -index d569f6c..51fbe0b 100644 ---- a/getarg.c -+++ b/getarg.c -@@ -307,6 +307,12 @@ GAGetParmeters(void *Parameters[], - int i = 0, ScanRes; - - while (!(ISSPACE(CtrlStrCopy[i]))) { -+ -+ if ((*argv) == argv_end) { -+ GAErrorToken = Option; -+ return CMD_ERR_NumRead; -+ } -+ - switch (CtrlStrCopy[i + 1]) { - case 'd': /* Get signed integers. */ - ScanRes = sscanf(*((*argv)++), "%d", --- -2.43.0 - diff --git a/package/giflib/giflib.hash b/package/giflib/giflib.hash index 445e9c4b3..f11d4f150 100644 --- a/package/giflib/giflib.hash +++ b/package/giflib/giflib.hash @@ -1,5 +1,6 @@ # From http://sourceforge.net/projects/giflib/files -md5 6f03aee4ebe54ac2cc1ab3e4b0a049e5 giflib-5.2.1.tar.gz -sha1 c3f774dcbdf26afded7788979c8081d33c6426dc giflib-5.2.1.tar.gz +md5 913dd251492134e235ee3c9a91987a4d giflib-5.2.2.tar.gz +sha1 608ba98d2dd8d03dfa7476f434d57de50a33e10b giflib-5.2.2.tar.gz # Locally computed +sha256 be7ffbd057cadebe2aa144542fd90c6838c6a083b5e8a9048b8ee3b66b29d5fb giflib-5.2.2.tar.gz sha256 0c9b7990ecdca88b676db232c226548ac408b279f550d424d996f0d83591dd8e COPYING diff --git a/package/giflib/giflib.mk b/package/giflib/giflib.mk index 3ac74f924..f37ec8af2 100644 --- a/package/giflib/giflib.mk +++ b/package/giflib/giflib.mk @@ -4,18 +4,13 @@ # ################################################################################ -GIFLIB_VERSION = 5.2.1 +GIFLIB_VERSION = 5.2.2 GIFLIB_SITE = http://downloads.sourceforge.net/project/giflib GIFLIB_INSTALL_STAGING = YES GIFLIB_LICENSE = MIT GIFLIB_LICENSE_FILES = COPYING GIFLIB_CPE_ID_VALID = YES -# 0002-Fix-CVE-2022-28506.patch -GIFLIB_IGNORE_CVES = CVE-2022-28506 -# 0003-Fix-CVE-2023-39742.patch -GIFLIB_IGNORE_CVES += CVE-2023-39742 - ifeq ($(BR2_STATIC_LIBS),y) GIFLIB_BUILD_LIBS = static-lib GIFLIB_INSTALL_LIBS = install-static-lib @@ -32,7 +27,7 @@ define GIFLIB_BUILD_CMDS endef define HOST_GIFLIB_BUILD_CMDS - $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) + $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) shared-lib endef define GIFLIB_INSTALL_STAGING_CMDS @@ -47,7 +42,7 @@ endef define HOST_GIFLIB_INSTALL_CMDS $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) DESTDIR=$(HOST_DIR) \ - PREFIX=/usr install + PREFIX=/usr install-include install-shared-lib endef $(eval $(generic-package)) diff --git a/package/git/git.hash b/package/git/git.hash index 9cf044cc0..1560b599d 100644 --- a/package/git/git.hash +++ b/package/git/git.hash @@ -1,5 +1,5 @@ # From: https://www.kernel.org/pub/software/scm/git/sha256sums.asc -sha256 5446603e73d911781d259e565750dcd277a42836c8e392cac91cf137aa9b76ec git-2.43.0.tar.xz +sha256 25f329439ebcc8a6fe160a5600499f6a179c784d8efa4d50d54e5d77a4d13a62 git-2.43.6.tar.xz # Locally calculated sha256 5b2198d1645f767585e8a88ac0499b04472164c0d2da22e75ecf97ef443ab32e COPYING sha256 1922f45d2c49e390032c9c0ba6d7cac904087f7cec51af30c2b2ad022ce0e76a LGPL-2.1 diff --git a/package/git/git.mk b/package/git/git.mk index 150296818..56c994e3a 100644 --- a/package/git/git.mk +++ b/package/git/git.mk @@ -4,7 +4,7 @@ # ################################################################################ -GIT_VERSION = 2.43.0 +GIT_VERSION = 2.43.6 GIT_SOURCE = git-$(GIT_VERSION).tar.xz GIT_SITE = $(BR2_KERNEL_MIRROR)/software/scm/git GIT_LICENSE = GPL-2.0, LGPL-2.1+ diff --git a/package/glibc/Config.in b/package/glibc/Config.in index 81c64083f..6075d2887 100644 --- a/package/glibc/Config.in +++ b/package/glibc/Config.in @@ -21,7 +21,7 @@ config BR2_PACKAGE_GLIBC_ARCH_SUPPORTS default y if BR2_x86_64 default y if BR2_microblaze default y if BR2_nios2 - default y if BR2_arc && BR2_ARC_ATOMIC_EXT + default y if BR2_arc && BR2_ARC_ATOMIC_EXT && !BR2_arc750d && !BR2_arc770d depends on !BR2_POWERPC_CPU_HAS_SPE depends on BR2_RISCV_ISA_RVA || !BR2_riscv depends on BR2_USE_MMU diff --git a/package/glibc/glibc.hash b/package/glibc/glibc.hash index 15ae55b9e..9f404afea 100644 --- a/package/glibc/glibc.hash +++ b/package/glibc/glibc.hash @@ -1,5 +1,5 @@ # Locally calculated (fetched from Github) -sha256 e38f4284d6909c6b5db7d79c6e450daeaf136a67e547290eec0b063a55eaaa42 glibc-2.38-44-gd37c2b20a4787463d192b32041c3406c2bd91de0.tar.gz +sha256 f36243d2500f714e1333a93f0d029f92d6b0e2e8e80ccb3936b7b40ceeb36d54 glibc-2.38-81-gc8cb4d2b86ece572793e31a3422ea29e88d77df5.tar.gz # Hashes for license files sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/glibc/glibc.mk b/package/glibc/glibc.mk index d198d6f04..104c84490 100644 --- a/package/glibc/glibc.mk +++ b/package/glibc/glibc.mk @@ -7,7 +7,7 @@ # Generate version string using: # git describe --match 'glibc-*' --abbrev=40 origin/release/MAJOR.MINOR/master | cut -d '-' -f 2- # When updating the version, please also update localedef -GLIBC_VERSION = 2.38-44-gd37c2b20a4787463d192b32041c3406c2bd91de0 +GLIBC_VERSION = 2.38-81-gc8cb4d2b86ece572793e31a3422ea29e88d77df5 # Upstream doesn't officially provide an https download link. # There is one (https://sourceware.org/git/glibc.git) but it's not reliable, # sometimes the connection times out. So use an unofficial github mirror. @@ -52,6 +52,19 @@ GLIBC_IGNORE_CVES += CVE-2023-6779 # 2.38 and the version we're really using. GLIBC_IGNORE_CVES += CVE-2023-6780 +# Fixed by glibc-2.38-66-ge1135387deded5d73924f6ca20c72a35dc8e1bda +GLIBC_IGNORE_CVES += CVE-2024-2961 + +# Fixed by glibc-2.38-72-g5968aebb86164034b8f8421b4abab2f837a5bdaf +GLIBC_IGNORE_CVES += CVE-2024-33599 + +# Fixed by glibc-2.38-73-g541ea5172aa658c4bd5c6c6d6fd13903c3d5bb0a + +# glibc-2.38-74-g2ae9446c1b7a3064743b4a51c0bbae668ee43e4c +GLIBC_IGNORE_CVES += CVE-2024-33600 + +# Fixed by glibc-2.38-75-g71af8ca864345d39b746d5cee84b94b430fad5db +GLIBC_IGNORE_CVES += CVE-2024-33601 CVE-2024-33602 + # All these CVEs are considered as not being security issues by # upstream glibc: # https://security-tracker.debian.org/tracker/CVE-2010-4756 diff --git a/package/gmp/gmp.mk b/package/gmp/gmp.mk index bd401c6a8..7e8da9025 100644 --- a/package/gmp/gmp.mk +++ b/package/gmp/gmp.mk @@ -14,6 +14,8 @@ GMP_CPE_ID_VENDOR = gmplib GMP_DEPENDENCIES = host-m4 HOST_GMP_DEPENDENCIES = host-m4 +GMP_CONF_ENV += CC_FOR_BUILD="$(HOSTCC) -std=c99" + # GMP doesn't support assembly for coldfire or mips r6 ISA yet # Disable for ARM v7m since it has different asm constraints ifeq ($(BR2_m68k_cf)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6)$(BR2_ARM_CPU_ARMV7M),y) diff --git a/package/gnu-efi/Config.in b/package/gnu-efi/Config.in index d456a2383..f412e6ba1 100644 --- a/package/gnu-efi/Config.in +++ b/package/gnu-efi/Config.in @@ -1,8 +1,7 @@ config BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS bool - default y if BR2_ARM_CPU_HAS_ARM + default y if BR2_arm && BR2_ARM_CPU_HAS_ARM && !BR2_ARM_SOFT_FLOAT default y if BR2_aarch64 - default y if BR2_aarch64_be default y if BR2_i386 default y if BR2_x86_64 diff --git a/package/gnupg2/gnupg2.hash b/package/gnupg2/gnupg2.hash index c821afb55..6a34f2a1c 100644 --- a/package/gnupg2/gnupg2.hash +++ b/package/gnupg2/gnupg2.hash @@ -1,5 +1,5 @@ # From https://www.gnupg.org/download/integrity_check.html -sha1 228b3984325fdeebc5e3f2d165c6419a5ebc28de gnupg-2.4.4.tar.bz2 -sha256 67ebe016ca90fa7688ce67a387ebd82c6261e95897db7b23df24ff335be85bc6 gnupg-2.4.4.tar.bz2 +sha1 2d510a1a7294f2f9ef3f2e280c93c3ad9b0cdb68 gnupg-2.4.7.tar.bz2 +sha256 7b24706e4da7e0e3b06ca068231027401f238102c41c909631349dcc3b85eb46 gnupg-2.4.7.tar.bz2 # Locally calculated sha256 bc2d6664f6276fa0a72d57633b3ae68dc7dcb677b71018bf08c8e93e509f1357 COPYING diff --git a/package/gnupg2/gnupg2.mk b/package/gnupg2/gnupg2.mk index 986da4790..73871ed1b 100644 --- a/package/gnupg2/gnupg2.mk +++ b/package/gnupg2/gnupg2.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNUPG2_VERSION = 2.4.4 +GNUPG2_VERSION = 2.4.7 GNUPG2_SOURCE = gnupg-$(GNUPG2_VERSION).tar.bz2 GNUPG2_SITE = https://gnupg.org/ftp/gcrypt/gnupg GNUPG2_LICENSE = GPL-3.0+ diff --git a/package/gnuplot/Config.in b/package/gnuplot/Config.in index 603c194fe..8068a7283 100644 --- a/package/gnuplot/Config.in +++ b/package/gnuplot/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_GNUPLOT bool "gnuplot" + select BR2_PACKAGE_READLINE if !BR2_PACKAGE_LIBEDIT help A portable command-line driven graphing utility. diff --git a/package/gnuplot/gnuplot.mk b/package/gnuplot/gnuplot.mk index 91e9bfb9b..53df69e25 100644 --- a/package/gnuplot/gnuplot.mk +++ b/package/gnuplot/gnuplot.mk @@ -41,8 +41,9 @@ endif ifeq ($(BR2_PACKAGE_READLINE),y) GNUPLOT_CONF_OPTS += --with-readline=gnu GNUPLOT_DEPENDENCIES += readline -else -GNUPLOT_CONF_OPTS += --without-readline +else ifeq ($(BR2_PACKAGE_LIBEDIT),y) +GNUPLOT_CONF_OPTS += --with-readline=bsd +GNUPLOT_DEPENDENCIES += libedit endif # Remove Javascript scripts, lua scripts, PostScript files diff --git a/package/gnutls/gnutls.hash b/package/gnutls/gnutls.hash index 47fb34ea7..dcfe201f3 100644 --- a/package/gnutls/gnutls.hash +++ b/package/gnutls/gnutls.hash @@ -1,6 +1,7 @@ # Locally calculated after checking pgp signature -# https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-3.8.3.tar.xz.sig -sha256 f74fc5954b27d4ec6dfbb11dea987888b5b124289a3703afcada0ee520f4173e gnutls-3.8.3.tar.xz +# https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-3.8.9.tar.xz.sig +sha256 69e113d802d1670c4d5ac1b99040b1f2d5c7c05daec5003813c049b5184820ed gnutls-3.8.9.tar.xz # Locally calculated -sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 doc/COPYING -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 doc/COPYING.LESSER +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING +sha256 20e50fe7aae3e56378ebf0417d9de904f55a0e61e4df315333e632a4d3555d95 COPYING.LESSERv2 +sha256 5e4aca90e8e08e47558dfd21e2a42251a139242b0016a06708739eeb8f0da60c README.md diff --git a/package/gnutls/gnutls.mk b/package/gnutls/gnutls.mk index 8a4f3345a..01d55446c 100644 --- a/package/gnutls/gnutls.mk +++ b/package/gnutls/gnutls.mk @@ -6,11 +6,11 @@ # When bumping, make sure *all* --without-libfoo-prefix options are in GNUTLS_CONF_OPTS GNUTLS_VERSION_MAJOR = 3.8 -GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).3 +GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).9 GNUTLS_SOURCE = gnutls-$(GNUTLS_VERSION).tar.xz GNUTLS_SITE = https://www.gnupg.org/ftp/gcrypt/gnutls/v$(GNUTLS_VERSION_MAJOR) GNUTLS_LICENSE = LGPL-2.1+ (core library) -GNUTLS_LICENSE_FILES = doc/COPYING.LESSER +GNUTLS_LICENSE_FILES = COPYING.LESSERv2 README.md GNUTLS_DEPENDENCIES = host-pkgconf libtasn1 libunistring nettle GNUTLS_CPE_ID_VENDOR = gnu @@ -58,25 +58,25 @@ HOST_GNUTLS_CONF_OPTS = \ --without-libz-prefix \ --without-tpm \ --disable-openssl-compatibility \ - --without-libbrotli \ + --without-brotli \ --without-idn \ --without-p11-kit \ --without-zlib \ - --without-libzstd + --without-zstd ifeq ($(BR2_PACKAGE_GNUTLS_OPENSSL),y) GNUTLS_LICENSE += , GPL-3.0+ (gnutls-openssl library) -GNUTLS_LICENSE_FILES += doc/COPYING +GNUTLS_LICENSE_FILES += COPYING GNUTLS_CONF_OPTS += --enable-openssl-compatibility else GNUTLS_CONF_OPTS += --disable-openssl-compatibility endif ifeq ($(BR2_PACKAGE_BROTLI),y) -GNUTLS_CONF_OPTS += --with-libbrotli +GNUTLS_CONF_OPTS += --with-brotli GNUTLS_DEPENDENCIES += brotli else -GNUTLS_CONF_OPTS += --without-libbrotli +GNUTLS_CONF_OPTS += --without-brotli endif ifeq ($(BR2_PACKAGE_CRYPTODEV_LINUX),y) @@ -106,10 +106,10 @@ GNUTLS_CONF_OPTS += --without-zlib endif ifeq ($(BR2_PACKAGE_ZSTD),y) -GNUTLS_CONF_OPTS += --with-libzstd +GNUTLS_CONF_OPTS += --with-zstd GNUTLS_DEPENDENCIES += zstd else -GNUTLS_CONF_OPTS += --without-libzstd +GNUTLS_CONF_OPTS += --without-zstd endif # Provide a default CA cert location diff --git a/package/go-bootstrap-stage2/go-bootstrap-stage2.hash b/package/go-bootstrap-stage2/go-bootstrap-stage2.hash index 6d4c718a4..d61663cac 100644 --- a/package/go-bootstrap-stage2/go-bootstrap-stage2.hash +++ b/package/go-bootstrap-stage2/go-bootstrap-stage2.hash @@ -1,3 +1,3 @@ # From https://go.dev/dl -sha256 e25c9ab72d811142b7f41ff6da5165fec2d1be5feec3ef2c66bc0bdecb431489 go1.19.11.src.tar.gz +sha256 ccf36b53fb0024a017353c3ddb22c1f00bc7a8073c6aac79042da24ee34434d3 go1.19.13.src.tar.gz sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 LICENSE diff --git a/package/go-bootstrap-stage2/go-bootstrap-stage2.mk b/package/go-bootstrap-stage2/go-bootstrap-stage2.mk index 72f3200a2..98bf624b5 100644 --- a/package/go-bootstrap-stage2/go-bootstrap-stage2.mk +++ b/package/go-bootstrap-stage2/go-bootstrap-stage2.mk @@ -6,7 +6,7 @@ # Use last Go version that go-bootstrap-stage1 can build: v1.19.x # See https://golang.org/doc/install/source#bootstrapFromSource -GO_BOOTSTRAP_STAGE2_VERSION = 1.19.11 +GO_BOOTSTRAP_STAGE2_VERSION = 1.19.13 GO_BOOTSTRAP_STAGE2_SITE = https://storage.googleapis.com/golang GO_BOOTSTRAP_STAGE2_SOURCE = go$(GO_BOOTSTRAP_STAGE2_VERSION).src.tar.gz diff --git a/package/go-bootstrap-stage3/0001-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch b/package/go-bootstrap-stage3/0001-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch new file mode 100644 index 000000000..58f4581b0 --- /dev/null +++ b/package/go-bootstrap-stage3/0001-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch @@ -0,0 +1,71 @@ +From 6b05378097c6a386ed9912d2471976dc39504e86 Mon Sep 17 00:00:00 2001 +From: Christian Stewart +Date: Thu, 27 Jul 2023 21:28:47 -0700 +Subject: [PATCH] cmd/dist: set buildvcs=false when building go-bootstrap + +When building go-bootstrap as part of the make.bash process, the cmd/dist +invokes the bootstrap Go compiler to build the go_bootstrap tool: + +${GOROOT_BOOTSTRAP}/bin/go install -tags=math_big_pure_go compiler_bootstrap purego bootstrap/cmd/... + +If there is an invalid .git directory in a parent of ${GOROOT_BOOTSTRAP}, +make.bash will fail. Reproduction of the issue: + + mkdir go-issue-61620 + cd ./go-issue-61620 + wget https://go.dev/dl/go1.19.11.src.tar.gz + mkdir go-bootstrap + tar -xf go1.19.11.src.tar.gz -C ./go-bootstrap --strip-components=1 + cd ./go-bootstrap/src/ + bash make.bash + cd ../../ + wget https://go.dev/dl/go1.20.6.src.tar.gz + mkdir go + tar -xf go1.20.6.src.tar.gz -C ./go/ --strip-components=1 + printf "gitdir: ../../does/not/exist/.git" > ./.git + cd ./go/src/ + GOROOT_BOOTSTRAP=$(pwd)/../../go-bootstrap/ bash make.bash + +The build fails with the following error: + + Building Go toolchain1 using [snip]/go-1.19.10. + error obtaining VCS status: exit status 128 + Use -buildvcs=false to disable VCS stamping. + go tool dist: FAILED: [snip]/go-1.19.10/bin/go install -tags=math_big_pure_go \ + compiler_bootstrap purego bootstrap/cmd/...: exit status 1 + +This change unconditionally sets -buildvcs=false when compiling go-bootstrap. We +don't need the revision information in those binaries anyway. Setting this flag +was previously not done as we were unsure if the go-bootstrap compiler would be +new enough to support the buildvcs build flag. Since Go 1.20.x, Go 1.19.x is the +minimum version for go-bootstrap, and supports -buildvcs=false. We can now set +-buildvcs=false without worrying about compatibility. + +Related: https://github.com/golang/go/issues/54852 +Fixes: https://github.com/golang/go/issues/61620 + +Upstream: https://github.com/golang/go/pull/61621 + +Signed-off-by: Christian Stewart +Signed-off-by: Romain Naour +--- + src/cmd/dist/buildtool.go | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/cmd/dist/buildtool.go b/src/cmd/dist/buildtool.go +index a528d7aa76..3b411d6ebb 100644 +--- a/src/cmd/dist/buildtool.go ++++ b/src/cmd/dist/buildtool.go +@@ -221,6 +221,9 @@ func bootstrapBuildTools() { + cmd := []string{ + pathf("%s/bin/go", goroot_bootstrap), + "install", ++ // Fixes cases where an invalid .git is present in a parent of GOROOT_BOOTSTRAP. ++ // See: https://github.com/golang/go/issues/61620 ++ "-buildvcs=false", + "-tags=math_big_pure_go compiler_bootstrap purego", + } + if vflag > 0 { +-- +2.41.0 + diff --git a/package/go-bootstrap-stage3/Config.in.host b/package/go-bootstrap-stage3/Config.in.host new file mode 100644 index 000000000..1714c2fb1 --- /dev/null +++ b/package/go-bootstrap-stage3/Config.in.host @@ -0,0 +1,4 @@ +config BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_ARCH_SUPPORTS + bool + default y + depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE2_ARCH_SUPPORTS diff --git a/package/go-bootstrap-stage3/go-bootstrap-stage3.hash b/package/go-bootstrap-stage3/go-bootstrap-stage3.hash new file mode 100644 index 000000000..b1aed10c7 --- /dev/null +++ b/package/go-bootstrap-stage3/go-bootstrap-stage3.hash @@ -0,0 +1,3 @@ +# From https://go.dev/dl +sha256 dc806cf75a87e1414b5b4c3dcb9dd3e9cc98f4cfccec42b7af617d5a658a3c43 go1.21.8.src.tar.gz +sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 LICENSE diff --git a/package/go-bootstrap-stage3/go-bootstrap-stage3.mk b/package/go-bootstrap-stage3/go-bootstrap-stage3.mk new file mode 100644 index 000000000..bdc845959 --- /dev/null +++ b/package/go-bootstrap-stage3/go-bootstrap-stage3.mk @@ -0,0 +1,54 @@ +################################################################################ +# +# go-bootstrap-stage3 +# +################################################################################ + +# Use last Go version that go-bootstrap-stage2 can build: v1.21.x +# See https://go.dev/doc/go1.22#bootstrap +GO_BOOTSTRAP_STAGE3_VERSION = 1.21.8 +GO_BOOTSTRAP_STAGE3_SITE = https://storage.googleapis.com/golang +GO_BOOTSTRAP_STAGE3_SOURCE = go$(GO_BOOTSTRAP_STAGE3_VERSION).src.tar.gz + +GO_BOOTSTRAP_STAGE3_LICENSE = BSD-3-Clause +GO_BOOTSTRAP_STAGE3_LICENSE_FILES = LICENSE + +# Use go-bootstrap-stage2 to bootstrap. +HOST_GO_BOOTSTRAP_STAGE3_DEPENDENCIES = host-go-bootstrap-stage2 + +HOST_GO_BOOTSTRAP_STAGE3_ROOT = $(HOST_DIR)/lib/go-$(GO_BOOTSTRAP_STAGE3_VERSION) + +# The go build system is not compatible with ccache, so use +# HOSTCC_NOCCACHE. See https://github.com/golang/go/issues/11685. +HOST_GO_BOOTSTRAP_STAGE3_MAKE_ENV = \ + GO111MODULE=off \ + GOCACHE=$(HOST_GO_HOST_CACHE) \ + GOROOT_BOOTSTRAP=$(HOST_GO_BOOTSTRAP_STAGE2_ROOT) \ + GOROOT_FINAL=$(HOST_GO_BOOTSTRAP_STAGE3_ROOT) \ + GOROOT="$(@D)" \ + GOBIN="$(@D)/bin" \ + GOOS=linux \ + CC=$(HOSTCC_NOCCACHE) \ + CXX=$(HOSTCXX_NOCCACHE) \ + CGO_ENABLED=0 + +define HOST_GO_BOOTSTRAP_STAGE3_BUILD_CMDS + cd $(@D)/src && \ + $(HOST_GO_BOOTSTRAP_STAGE3_MAKE_ENV) ./make.bash $(if $(VERBOSE),-v) +endef + +define HOST_GO_BOOTSTRAP_STAGE3_INSTALL_CMDS + $(INSTALL) -D -m 0755 $(@D)/bin/go $(HOST_GO_BOOTSTRAP_STAGE3_ROOT)/bin/go + $(INSTALL) -D -m 0755 $(@D)/bin/gofmt $(HOST_GO_BOOTSTRAP_STAGE3_ROOT)/bin/gofmt + + cp -a $(@D)/lib $(HOST_GO_BOOTSTRAP_STAGE3_ROOT)/ + + mkdir -p $(HOST_GO_BOOTSTRAP_STAGE3_ROOT)/pkg + cp -a $(@D)/pkg/include $(HOST_GO_BOOTSTRAP_STAGE3_ROOT)/pkg/ + cp -a $(@D)/pkg/tool $(HOST_GO_BOOTSTRAP_STAGE3_ROOT)/pkg/ + + # The Go sources must be installed to the host/ tree for the Go stdlib. + cp -a $(@D)/src $(HOST_GO_BOOTSTRAP_STAGE3_ROOT)/ +endef + +$(eval $(host-generic-package)) diff --git a/package/go/0001-build.go-explicit-option-for-crosscompilation.patch b/package/go/0001-build.go-explicit-option-for-crosscompilation.patch index 992a83a64..c7cf02ced 100644 --- a/package/go/0001-build.go-explicit-option-for-crosscompilation.patch +++ b/package/go/0001-build.go-explicit-option-for-crosscompilation.patch @@ -7,7 +7,7 @@ Actually if GOHOSTOS == GOOS || GOHOSTARCH == GOARCH the go build system assume it's not cross compiling and uses the same toolchain also for the bootstrap. This is a problem in case the cross compilation mandates a different toolchain for bootstrap and target. This patch adds -GO_ASSUME_CROSSCOMPILING varible to assure that in case of cross +GO_ASSUME_CROSSCOMPILING variable to assure that in case of cross compilation CC_FOR_TARGET can be different from CC. Signed-off-by: Angelo Compagnucci diff --git a/package/go/Config.in.host b/package/go/Config.in.host index b87b862ce..0d89e875a 100644 --- a/package/go/Config.in.host +++ b/package/go/Config.in.host @@ -2,7 +2,7 @@ config BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS bool default y - depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE2_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_ARCH_SUPPORTS # See https://go.dev/doc/install/source#environment # See src/go/build/syslist.go for the list of supported architectures depends on (BR2_arm && BR2_TOOLCHAIN_SUPPORTS_PIE) || BR2_aarch64 \ @@ -30,4 +30,4 @@ config BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS config BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS bool default y - depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE2_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_ARCH_SUPPORTS diff --git a/package/go/go.hash b/package/go/go.hash index b1aed10c7..f97acba0d 100644 --- a/package/go/go.hash +++ b/package/go/go.hash @@ -1,3 +1,3 @@ # From https://go.dev/dl -sha256 dc806cf75a87e1414b5b4c3dcb9dd3e9cc98f4cfccec42b7af617d5a658a3c43 go1.21.8.src.tar.gz +sha256 012a7e1f37f362c0918c1dfa3334458ac2da1628c4b9cf4d9ca02db986e17d71 go1.22.12.src.tar.gz sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 LICENSE diff --git a/package/go/go.mk b/package/go/go.mk index 3ca055b25..4f11ab349 100644 --- a/package/go/go.mk +++ b/package/go/go.mk @@ -4,7 +4,7 @@ # ################################################################################ -GO_VERSION = 1.21.8 +GO_VERSION = 1.22.12 GO_SITE = https://storage.googleapis.com/golang GO_SOURCE = go$(GO_VERSION).src.tar.gz @@ -12,7 +12,7 @@ GO_LICENSE = BSD-3-Clause GO_LICENSE_FILES = LICENSE GO_CPE_ID_VENDOR = golang -HOST_GO_DEPENDENCIES = host-go-bootstrap-stage2 +HOST_GO_DEPENDENCIES = host-go-bootstrap-stage3 HOST_GO_GOPATH = $(HOST_DIR)/share/go-path HOST_GO_HOST_CACHE = $(HOST_DIR)/share/host-go-cache HOST_GO_ROOT = $(HOST_DIR)/lib/go @@ -72,7 +72,7 @@ else ifeq ($(BR2_s390x),y) GO_GOARCH = s390x endif -# For the convienience of target packages. +# For the convenience of target packages. HOST_GO_TOOLDIR = $(HOST_GO_ROOT)/pkg/tool/linux_$(GO_GOARCH) HOST_GO_TARGET_ENV = \ $(HOST_GO_COMMON_ENV) \ @@ -128,7 +128,7 @@ HOST_GO_HOST_ENV = \ HOST_GO_MAKE_ENV = \ GO111MODULE=off \ GOCACHE=$(HOST_GO_HOST_CACHE) \ - GOROOT_BOOTSTRAP=$(HOST_GO_BOOTSTRAP_STAGE2_ROOT) \ + GOROOT_BOOTSTRAP=$(HOST_GO_BOOTSTRAP_STAGE3_ROOT) \ GOROOT_FINAL=$(HOST_GO_ROOT) \ GOROOT="$(@D)" \ GOBIN="$(@D)/bin" \ diff --git a/package/gobject-introspection/0001-disable-tests.patch b/package/gobject-introspection/0001-disable-tests.patch index 8de216c03..a39f51617 100644 --- a/package/gobject-introspection/0001-disable-tests.patch +++ b/package/gobject-introspection/0001-disable-tests.patch @@ -5,7 +5,7 @@ Subject: [PATCH] disable tests If introspection data on the host is not built, meson throws the error: "Unknown variable "typelibs". Because tests are not required, removing -the subdir tests alltogether fixes this issue. +the subdir tests altogether fixes this issue. Signed-off-by: Adam Duskett --- diff --git a/package/gobject-introspection/Config.in b/package/gobject-introspection/Config.in index 42250eb77..681655c2d 100644 --- a/package/gobject-introspection/Config.in +++ b/package/gobject-introspection/Config.in @@ -2,6 +2,11 @@ config BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS bool default y depends on BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS + # gobject-introspection programs cause a hang of Qemu on + # Microblaze, and supporting GOI on Microblaze is not very + # relevant. + depends on !BR2_microblazeel + depends on !BR2_microblazebe config BR2_PACKAGE_GOBJECT_INTROSPECTION bool "gobject-introspection" @@ -36,7 +41,7 @@ config BR2_PACKAGE_GOBJECT_INTROSPECTION language bindings can read this metadata and automatically provide bindings to call into the C library. - https://wiki.gnome.org/action/show/Projects/GObjectIntrospection + https://gi.readthedocs.io/ comment "gobject-introspection needs python3" depends on !BR2_PACKAGE_PYTHON3 diff --git a/package/google-breakpad/Config.in b/package/google-breakpad/Config.in index 5c7f4bb7b..4e2d98eb0 100644 --- a/package/google-breakpad/Config.in +++ b/package/google-breakpad/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS config BR2_PACKAGE_GOOGLE_BREAKPAD bool "google-breakpad" depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17 depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_USES_GLIBC @@ -45,10 +45,10 @@ config BR2_PACKAGE_GOOGLE_BREAKPAD_TOOLS endif -comment "google-breakpad requires a glibc toolchain w/ wchar, thread, C++, gcc >= 4.8" +comment "google-breakpad requires a glibc toolchain w/ wchar, threads, C++, gcc >= 7" depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_TOOLCHAIN_USES_GLIBC || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + !BR2_TOOLCHAIN_GCC_AT_LEAST_7 diff --git a/package/googlefontdirectory/googlefontdirectory.hash b/package/googlefontdirectory/googlefontdirectory.hash index 10f3bf60b..320647c43 100644 --- a/package/googlefontdirectory/googlefontdirectory.hash +++ b/package/googlefontdirectory/googlefontdirectory.hash @@ -1,994 +1,994 @@ # Locally calculated sha256 ec2ddbeee673cce1b0796e3b20fbff5fd836ce9ba6d88deed8b59154fa255f06 googlefontdirectory-94dff3eaa9301b6640cccc63c56d6ff33d82882c.tar.gz # Locally calculated with -# for i in $(find apache/ ofl/ ufl/ -name 'LICENSE.txt' -o -name 'OFL.txt' -o -name 'LICENCE.txt') ; do printf "sha256 %s\n" "$(sha256sum $i)" ; done -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/robotocondensed/LICENSE.txt -sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensanscondensed/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/walterturncoat/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/fontdinerswanky/LICENSE.txt +# for i in $(find apache/ ofl/ ufl/ -name 'LICENSE.txt' -o -name 'OFL.txt' -o -name 'LICENCE.txt' | sort) ; do printf "sha256 %s\n" "$(sha256sum $i)" ; done sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/aclonica/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/sunshiney/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/ultra/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/unkempt/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/slackey/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/satisfy/LICENSE.txt -sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensans/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/montez/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/kranky/LICENSE.txt sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/arimo/LICENSE.txt -sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensanshebrew/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/tinos/LICENSE.txt -sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensanshebrewcondensed/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/justanotherhand/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/robotoslab/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/homemadeapple/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/calligraffitti/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/cherrycreamsoda/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/chewy/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/comingsoon/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/cousine/LICENSE.txt sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/craftygirls/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/creepstercaps/LICENSE.txt sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/crushed/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/robotomono/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/fontdinerswanky/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/homemadeapple/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/irishgrover/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/justanotherhand/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/kranky/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/luckiestguy/LICENSE.txt sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/maidenorange/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/roboto/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/rochester/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/rocksalt/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/creepstercaps/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/nokora/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/montez/LICENSE.txt sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/mountainsofchristmas/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/cousine/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/syncopate/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/specialelite/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/luckiestguy/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/nokora/LICENSE.txt +sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensanscondensed/LICENSE.txt +sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensanshebrewcondensed/LICENSE.txt +sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensanshebrew/LICENSE.txt +sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensans/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/permanentmarker/LICENSE.txt sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/rancho/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/smokum/LICENSE.txt sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/redressed/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/irishgrover/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/comingsoon/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/cherrycreamsoda/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/robotocondensed/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/roboto/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/robotomono/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/robotoslab/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/rochester/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/rocksalt/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/satisfy/LICENSE.txt sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/schoolbell/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/slackey/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/smokum/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/specialelite/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/sunshiney/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/syncopate/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/tinos/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/ultra/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/unkempt/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/walterturncoat/LICENSE.txt sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/yellowtail/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/calligraffitti/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/permanentmarker/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/chewy/LICENSE.txt -sha256 0fc8e6675568c02aac6b41dd3cccaf2264fc5969601effe68e09b26635879b2c ofl/ranchers/OFL.txt -sha256 ff72e4d89860e64ee38ccf8a5a7e9dc085d5e36115b096a6c7f8bc988e9bec61 ofl/kumarone/OFL.txt -sha256 643c63caf03855ae29be68035d8888e95eadc767a1d92f163d686da1b0a1cd3c ofl/cantarell/OFL.txt +sha256 5e80642a11aff2ead815949a8a929aff3fb7b9b6a24391406068a1b204dcc8ba ofl/abeezee/OFL.txt +sha256 4f4bc3806a1e55789c6ef75ca5fc628297b05292f74966474dc0d40324abc609 ofl/abel/OFL.txt +sha256 fe9183a0b7c1ae626b14004cd533c89ec7c192aba017f81ab71ede910256abb2 ofl/abhayalibre/OFL.txt +sha256 aba8997e16b1e3888c6e855ba883c70d96bd4375bff8cb9c7ce0f097200f74b8 ofl/abrilfatface/OFL.txt +sha256 ed80dd9539708a531313f98fb081aeeaa395ab5726931a433845d667b019c855 ofl/abyssinicasil/OFL.txt +sha256 e5ccbfc32e4d7fae98b467a9af310ac8d2efd5d90e684426cd24f3eb36090a2c ofl/acme/OFL.txt +sha256 c1bcd16ffc9d095822fd6b7fa1a24c7918b24815ed05711421f804293d2efa62 ofl/actor/OFL.txt +sha256 16a8be6ac4b009ba1dd1e17cea48762f4915609ea5dca1303f716cf63998739d ofl/adamina/OFL.txt +sha256 794d72ffdd25e8f7ca8e1d68db088c30ddbf2fdb369b6cc8217d4fa5fa6dc62f ofl/adobeblank/OFL.txt sha256 1d242ab6fbb2dfbba2e7119b00a6328bc59cb2faf7299b844e9b92a2f12c0d8b ofl/adventpro/OFL.txt -sha256 01af2625d6247ecd2430d1d1603c579f85989d43b2d9129e08e0ac0df8909918 ofl/tienne/OFL.txt -sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloobhaina/OFL.txt -sha256 f3bc8767749fc133d9b35e84ca024b82f1ac4d1b38deca0adcf8300892303022 ofl/faustina/OFL.txt -sha256 69c34ca1873308c667ddde663cbf59c0d1cf14cbb945ad010f71d21264249e24 ofl/aubrey/OFL.txt -sha256 4febcc8d6e539db3e0c652da87bc8704f6d48e71e07f8ddb0974094a3de8da81 ofl/flavors/OFL.txt -sha256 d24ff874133ecd133e55d7c4070d2edab14d3933477c2bccb3a0d8d1cc9c33bf ofl/muktavaani/OFL.txt -sha256 ab5499b975c2dc82f533c6f13c5fca589df4d57c7c400db5f6ca8565ad9c2fd3 ofl/butchermancaps/OFL.txt -sha256 6a28d4d5d8b4d1ea89ace5a047ac6e0de182acdb8bfa22897bf7702102094f69 ofl/shadowsintolighttwo/OFL.txt -sha256 7a1d085067cd589026b256dd85af1eaa1087fa0f3d468192724c5138cc14d894 ofl/copse/OFL.txt -sha256 fd17f80dc48ff767d91d0dd9f821eebfd8b73ee82f55537a9052b6b0107622c8 ofl/voces/OFL.txt -sha256 186d750eb496a4c17a76385f82be6aea2ac1cf2de074a811d63786cf374ea73f ofl/barlowsemicondensed/OFL.txt -sha256 4aa1da66597f4c5cfde67790992ee55926ef6aaa87b9a10d529ab35e8b91070c ofl/asapcondensed/OFL.txt +sha256 520a0c239d39b379b61c4de5f8e3b02db20b0dfc137481843eac01f02c41f4a2 ofl/aguafinascript/OFL.txt +sha256 f15a9a3a9a665c2d17655b8fedad86d9a8f30081d46bb91236beb1bc7294a589 ofl/akronim/OFL.txt +sha256 c39e284759a441660d4c4d852c537e271d0fd5c301fe46d065a972b6ee144ba8 ofl/aksarabaligalang/OFL.txt +sha256 aac8f0cda6159b7251d1034651bcb42e07611495bc8cd764c89d22f3123032f8 ofl/aladin/OFL.txt +sha256 de985adf63cff6b1bcb7c5cb55f1c5850fb1d36289d20a0e26d97a281bfcf956 ofl/aldrich/OFL.txt +sha256 c267a00c9476c78a2336d7b372b536885b8b24173a29ed53496f67a742c14961 ofl/alefhebrew/OFL.txt +sha256 c267a00c9476c78a2336d7b372b536885b8b24173a29ed53496f67a742c14961 ofl/alef/OFL.txt +sha256 f6f60d5d4cf4f4b1fc4e41353c897a2f5a16e6396c0cd8fa8bdfd2f4586a9a68 ofl/alegreya/OFL.txt +sha256 0677891e6a143f297350d260ad766ad33bfc18ed5fa4f213acf648d6b597ec1a ofl/alegreyasans/OFL.txt +sha256 0677891e6a143f297350d260ad766ad33bfc18ed5fa4f213acf648d6b597ec1a ofl/alegreyasanssc/OFL.txt +sha256 f6f60d5d4cf4f4b1fc4e41353c897a2f5a16e6396c0cd8fa8bdfd2f4586a9a68 ofl/alegreyasc/OFL.txt +sha256 de08ff7a460541753999b1208f1254f1d31f16b421312aca4d4b8179d997de38 ofl/aleo/OFL.txt +sha256 513b7871a360a6eccd426bab59743fbff36764588f47381423f04ad6b3d821d9 ofl/alexbrush/OFL.txt +sha256 e315abc82a78710c7242e2f2e6529651fd631d4d50e6ad98ea194f9b54c3d701 ofl/alfaslabone/OFL.txt +sha256 c026db4c1a557cae47e6930876965f9cbc05758eb1f5d6f59b6b61c8f342a57f ofl/alice/OFL.txt +sha256 f480fd19e7018942ecaf460f7a4ab9ccee0aec579abcb07d559dbede913864c6 ofl/alikeangular/OFL.txt +sha256 ecc91fac753ad9ba5bb7e7819a5c59ee1e3cf89032133c6b4b0318d63c35933b ofl/alike/OFL.txt +sha256 ab721b35816e470fb11619ad3705f75d08dccd0864505e3d782e94fd937f6620 ofl/allan/OFL.txt +sha256 08fba9df5c9890f3ab00ee63f63e005ad93a23746f7484f5fe9501a1ad32730e ofl/allerta/OFL.txt +sha256 08fba9df5c9890f3ab00ee63f63e005ad93a23746f7484f5fe9501a1ad32730e ofl/allertastencil/OFL.txt +sha256 87e8d9aca71dbe0481ba8611fc90d7e3aebfa3e2546420c403e7078898b0c484 ofl/allura/OFL.txt +sha256 b7eae5e3c3447f70caa14e0c43f5e0d953f54ee59df406f6362863bcee1a0a95 ofl/almendradisplay/OFL.txt +sha256 b7eae5e3c3447f70caa14e0c43f5e0d953f54ee59df406f6362863bcee1a0a95 ofl/almendra/OFL.txt +sha256 b7eae5e3c3447f70caa14e0c43f5e0d953f54ee59df406f6362863bcee1a0a95 ofl/almendrasc/OFL.txt +sha256 89bf0833b785c49b0f271273ab440bdc20c85bf0322537dc901df940bf1579da ofl/amarante/OFL.txt +sha256 5eca89cdd576df5e4b7c694e0425b126a9ca839aa067df85fab33904a8187076 ofl/amaranth/OFL.txt +sha256 e36d420a3b382b337c386338d8abc3635e10de5dfca7f822fc63ac659a0dcfc3 ofl/amaticasc/OFL.txt sha256 301f77908df2b00141b4dcea50cc1a586c3afcee78843bd811088e8263623f9d ofl/amaticsc/OFL.txt -sha256 6b6c6721a30480a323cf33acf6a7703dfce46b846827a65f8ee96230060e3c3e ofl/homenaje/OFL.txt -sha256 393d494f9ebb5db6a3552ffa03a4c6f3746c22808b40d011b391681da55ca3f6 ofl/kellyslab/OFL.txt -sha256 ca19ac21c7656f493189093eca52b4239fcc5eacc15ab2e3d67cfbfc0e6e443b ofl/sirinstencil/OFL.txt -sha256 980c2b058d331f3c5ca4a1223e549511b71630e4f4a5533879d436d583cb5665 ofl/arbutus/OFL.txt -sha256 2758cf7a872827f39661cf8cc24188113c030447aefb5ca7145993650076ca8c ofl/ptsans/OFL.txt -sha256 7527e73a61f742a0dd050ab2fc7333de71ac7886023c100bca66a0a93b37498e ofl/headlandone/OFL.txt -sha256 39b26527bf9ed27b4c85b86341eceea0579f3550bcf448cf06345eaadf947ec9 ofl/rugeboogie/OFL.txt +sha256 ca424122f42a8d8442bc4cfd902f5f027ea67b5417705f5af1d1235927781720 ofl/amethysta/OFL.txt +sha256 bd8323cd1d2b6bbdfbbf99cb41ec1156d0352ced170de4aa3a96d95e6e20bf5b ofl/amiko/OFL.txt +sha256 1edecf3f971a11dcfd777cbda6f08c0f9a77bf57a0a2a89d8142fb933894ce16 ofl/amiri/OFL.txt +sha256 0dd8e32457e18621737b593ab0fac49905cd948a078ed0e64f4890df714a1dfb ofl/amita/OFL.txt +sha256 06c79c896894160a5810d869a822fa7d02a0e2ccffd97920b8cf3b880380f6e5 ofl/amstelvaralpha/OFL.txt sha256 2ac164969308ac200eefc516151934701044f0db5695ae2acc15df2a8d22e5cb ofl/anaheim/OFL.txt -sha256 88d3abd47414e7912d0d2eb44ca89e0b1bd7c43cc2ebe58a8a75281ad75a0f60 ofl/stardosstencil/OFL.txt -sha256 01003114b77326df223f291c48cdf12e95f6a5937437f164347919f2bbde12d4 ofl/josefinslab/OFL.txt +sha256 f8779e6871bbab04e0a1ddd9997f4d8173b56792a1e7f8b9d691d967a49c7dc3 ofl/andada/OFL.txt +sha256 e6ac721b16f309c89fb443680afda427ea34968bad190a80edf281d01d65fa99 ofl/andadasc/OFL.txt +sha256 e55c615ed00ce0054bd356041a41e5942b4a8cadceac1e32696ba2ef5f06f748 ofl/andika/OFL.txt +sha256 1e4015251ca58d4f349b4ac930259c6f3d6381ce68f8b4b27d54d53f8f63f972 ofl/angkor/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/annieuseyourtelescope/OFL.txt +sha256 8594350034ab1cb85a1946ef8852e69290255816c311450a66fed6eeda9d6292 ofl/anonymouspro/OFL.txt +sha256 60ddc0ee6e443b78940b5f92bcbab76c98ec6965e0da9fbdaf267383ab72bba8 ofl/anticdidone/OFL.txt +sha256 c1f8e0feb0babaacf774b971bcfd791e44125b9d61ff074e4c20924e9661556e ofl/antic/OFL.txt +sha256 22d1914919d3fe08b179dc31169fc743ca7eede7827b91a5d48c23c8cdc7cb81 ofl/anticslab/OFL.txt +sha256 9e262d6d7fb789aab6a8ecc53fc9c78387eeb9f935dcd289282d8e751b6bf743 ofl/antonio/OFL.txt +sha256 9608d22ae5c586628c9904e773b7c6a6520fc16e1492ebcb5ea55d9523399964 ofl/anton/OFL.txt +sha256 cf6dd07485d67d20f105afb9981dffdb6b180b59af45a228839cf3fb0277c9fb ofl/arapey/OFL.txt +sha256 980c2b058d331f3c5ca4a1223e549511b71630e4f4a5533879d436d583cb5665 ofl/arbutus/OFL.txt +sha256 1c023b4aca0e441c55c45c86cdff57fa524a96778f291d9a29a4ad777b70e2e3 ofl/arbutusslab/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/architectsdaughter/OFL.txt +sha256 3173acd82f8c6159b5b1037b539fcbd4edff68e65c2ea8b9412b5a5ca97b08ff ofl/archivoblack/OFL.txt +sha256 3173acd82f8c6159b5b1037b539fcbd4edff68e65c2ea8b9412b5a5ca97b08ff ofl/archivonarrow/OFL.txt +sha256 95d23e4559ea8c6a36aa04fab56e1dca0780f5d93734072d4501023296543102 ofl/archivo/OFL.txt +sha256 95d23e4559ea8c6a36aa04fab56e1dca0780f5d93734072d4501023296543102 ofl/archivovfbeta/OFL.txt +sha256 8218df19bcd9786311bf1126815e8d591027aaf7611ef031af5a31c3fd66e928 ofl/arefruqaa/OFL.txt +sha256 12af42b715a3901bfa7add1351e45b6ce22f3061555d52db45e963274c349360 ofl/arimamadurai/OFL.txt +sha256 203693528d6d2e8dc5e639c6ea42b3e825b59dd6447294e37b306fe734650091 ofl/arizonia/OFL.txt +sha256 47a0b7e315bc56ca0326fca46302d87d48a61e3528d4196e966b62f5bf0243f2 ofl/armata/OFL.txt +sha256 a94cfd8d1f5c33f9a7506def359b907f3313f7008bb57fc893985963cd342f8f ofl/arsenal/OFL.txt +sha256 812fc4af0c63d31e0e81cc153af74e397407b0630e918b8b965bcbb192bc0656 ofl/artifika/OFL.txt +sha256 359671bf16c00cae69cb66d041296b2adc7a4becd73a463cb8c5e101d97c7986 ofl/arvo/OFL.txt +sha256 dd028a807788d5e22e9f8cc18f026cda23369954673658f2ecc7d30bdb364b89 ofl/arya/OFL.txt +sha256 4aa1da66597f4c5cfde67790992ee55926ef6aaa87b9a10d529ab35e8b91070c ofl/asapcondensed/OFL.txt +sha256 7c05152b2380228795cb474819744653fb03ddbfe5990b912ec7d9a41387230d ofl/asap/OFL.txt +sha256 7c05152b2380228795cb474819744653fb03ddbfe5990b912ec7d9a41387230d ofl/asapvfbeta/OFL.txt +sha256 223fa23e8419ee762c662e0faf912dfcf386fa7093ac9ff690e380ce1993ba55 ofl/asar/OFL.txt +sha256 694d5c15c1dac5e26653e18b94394d911e471549ec9b7d6247ade62e486b4915 ofl/asset/OFL.txt +sha256 1152ca18eaa6159634f1eb209c60df360c1c09a52991e392f8033702036634d4 ofl/assistant/OFL.txt +sha256 4e69611ba5017f1fde74c31d342f5c85604814b1b45387b9ab46205996dec38e ofl/astloch/OFL.txt +sha256 ea274e87939d38032b31fb741af75bff9fa3f8d4a8b652265f9e0ce1ad7e9f80 ofl/asul/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/athiti/OFL.txt +sha256 96d82a96abc02fb457ddde0227833dbde9d1d02876c91f0a4e27845ca0d692fa ofl/atomicage/OFL.txt +sha256 69c34ca1873308c667ddde663cbf59c0d1cf14cbb945ad010f71d21264249e24 ofl/aubrey/OFL.txt +sha256 4fe01b13ffb41faa8f030d84843a95dab32792dfeeca7c072abbfd3f4d6896ad ofl/audiowide/OFL.txt +sha256 793891edf1f4f4f35b52fcc9706b03f779c7ea18ab8e9e441242d63ef0279488 ofl/autourone/OFL.txt sha256 83aa5adca2418f091b732a19cc7c30dcb5c00c217051a58f34f5eecb19be0cd3 ofl/average/OFL.txt -sha256 585c6d2da8bcd8ffa651e0016f2e992a6891b625143a46a1dacf00699a817d9a ofl/monoton/OFL.txt -sha256 96e65d9c227a972e38035b849bba1e8b7879eecbb52f278be1e71dd481187f02 ofl/domine/OFL.txt -sha256 d1bf0acea511ad1f4de53e942cffb8ab0e67c03c6203d6f390d71105d52c33f0 ofl/missfajardose/OFL.txt -sha256 131d19126a0e7ddd25540fd6bee219cebbc8aee7e8374882998ee6c2f4ff6cf4 ofl/mergeone/OFL.txt -sha256 042a570b306ab893c6168be7e6e79bbceae46097141357ad0af7ef8bb179ed7b ofl/goblinone/OFL.txt -sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexserif/OFL.txt -sha256 bc80ea18223ea0db2ed73ab5bfd0cd601906a2b7a163183c6c4ea333be309ce4 ofl/baumans/OFL.txt -sha256 5f5dbf452c1657370d9280b50d647212a53c80acae6d78e0b5e8c2b26dc62b09 ofl/puritan/OFL.txt -sha256 90bd333a5cf0ed09264fc3e559d44979373f6c3d983b0f65cc46e952b4eb61f0 ofl/contrailone/OFL.txt -sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/taviraj/OFL.txt -sha256 62fab0ba1d5593782cbf048da193f4b1edc16b817577a99d707827513ad80e9a ofl/overlock/OFL.txt -sha256 75798d56e448ba4d2aec3ef5f3c2d805d9c6fe2ba688cd3d7162b2dd31e9cf48 ofl/textmeone/OFL.txt -sha256 eef925ad6afcbba33f7989f5ad826fd68d50cc1ab4d679c52927c8afd40bddf0 ofl/sedansc/OFL.txt -sha256 466aaa3bbd245e4c91c4e82c0828efe9fcfd913f5b020d75f0918516c2540fa8 ofl/spicyrice/OFL.txt -sha256 88ac81fcd30e64f6e6b91b61b159c9b700bb3dd59012b72ec61629abcfc7fba1 ofl/medulaone/OFL.txt -sha256 1d567f7c5f579d9031ae5edfb0108b4681bdd2e036249b228cc2843d3f052a0f ofl/redactedscript/OFL.txt -sha256 ce78cc8de3f6edd2738e8c02f2079db7086c9a74314baa5854675f83c33954ff ofl/kenia/OFL.txt -sha256 76af3e9e5d8768b17647813a443fcf5df3eb3ced017ee285796625e714d5ea2c ofl/ruslandisplay/OFL.txt -sha256 6e54fc004ebeb61322ecab1d86334ebf69e7051632d48eca489beee505d70762 ofl/hermeneusone/OFL.txt -sha256 8586a7e75681c7297af4cc0641eb2b29e882c5187fe189a1160eceb4e95d4163 ofl/fenix/OFL.txt -sha256 d8eb8611f8c98d20cbf18a28425652d6022dc2a5cca15026b920f1f2bc92a612 ofl/deliusunicase/OFL.txt -sha256 197c3f48cff4df3d768230e0bbdbc4305d8b8b9041ea6fb5e00872af66adc5ae ofl/novamono/OFL.txt -sha256 08fba9df5c9890f3ab00ee63f63e005ad93a23746f7484f5fe9501a1ad32730e ofl/allerta/OFL.txt -sha256 af88d31020bb48a1f78f4384249814d04a44d22feeede2ff4ae79fbb4fcf74da ofl/rammettoone/OFL.txt -sha256 397e83b05703a4240be51e2c3a2be1d0d7693d7a2d8b1ff367c26a2b9afc013e ofl/singleday/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/cedarvillecursive/OFL.txt -sha256 d416bc9437e1d7d8aba0613395ee49c95ce72d680672e910c6205b545cfcbad8 ofl/cherryswash/OFL.txt -sha256 513346ac60af1dde9d4a7bcfad3f39909d5697373a8aa1a6ee4376e6d22d3cdf ofl/niramit/OFL.txt -sha256 0b1bada9befa95a40d55830fe83fc7f8064e245fea33bdf0f96f57848f3866fa ofl/coda/OFL.txt -sha256 2a7b0a41ef401e4e0e955280b07c0a2698932d56aad3181089bdbbaad5760491 ofl/habibi/OFL.txt -sha256 2d62278530348951887211d79d1dba04acebd6ed3b1c413f6154702efea3ea62 ofl/iceberg/OFL.txt -sha256 a20db45220b6c4dc9776f24c77dc9ec7a98977d8b3c65b03aabe66b2d08e0791 ofl/cabincondensed/OFL.txt -sha256 fc1e501d419d84a8f1a800adae092045002d7141241f498237611dbb8ea763d7 ofl/stintultracondensed/OFL.txt -sha256 9a51726e5f247cb1f07bb8f49c163bc3e9ddee5f367bb5a1871d09b854ed1b7c ofl/basic/OFL.txt -sha256 ce0023bc03e1428feb5abfaa939b601d2d827ee5a6c84a2657993a7b16c5290a ofl/diplomatasc/OFL.txt -sha256 e30f893523e50ebbe07acd783ae29c7d604e6208cae7646d993e8528ce13e35a ofl/federo/OFL.txt -sha256 9d96f445b6e9c701428811d0177f894874f8d6f07ecc30d568c506542368f3ff ofl/sharetechmono/OFL.txt +sha256 37d5360d8d2433689e78302a93cd88e9add8a2294046476625edada2d4328deb ofl/averagesans/OFL.txt +sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averiagruesalibre/OFL.txt +sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averialibre/OFL.txt sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averiasanslibre/OFL.txt -sha256 5951473ab31533bfe1452bbcece47f237a5546c7e7d45ff1aec0289619623294 ofl/fugazone/OFL.txt -sha256 aa5d677391db4e54ad324b6888792e533c5d800de7ab713302a2fc8bff2f4f6e ofl/miltonian/OFL.txt -sha256 e0cde1a4993ed689d463d5e2401f4a60c54cc48a14253ab0f8012d722c417038 ofl/mavenpro/OFL.txt -sha256 c1eed37b6d213df4edf8f92ec7d1e972f751abd68ecd649b4f0b8e5d8e8561f6 ofl/yrsa/OFL.txt -sha256 5bbeae56b9db61a9bf85b64d5ed9a74cfcf9ee3e9b005bc2906859ddecd5eaa1 ofl/esteban/OFL.txt -sha256 7b826efb1b74a50b1c1aef0a1ba4530925b993ceadc3016d1d787c68a61649dd ofl/tenorsans/OFL.txt -sha256 28c6d2887c3dfa42488c5418c6c16ead580d33ff0afe60c05159689201f9ec63 ofl/jollylodger/OFL.txt -sha256 ce0023bc03e1428feb5abfaa939b601d2d827ee5a6c84a2657993a7b16c5290a ofl/diplomata/OFL.txt -sha256 8f2e5a9b52cf355023104413827e17dd7126c5a3656492d45eaa1ceb270aa4f1 ofl/yantramanav/OFL.txt -sha256 fe079cdbbad0f6520eb0a8235bce65b21596dd0c4c5a2694b3325cc87313b618 ofl/shortstack/OFL.txt -sha256 018d17b5e04c0a217a21979fa6b6d77bd5a143a5f06ea2ea102e427abd1ebfa2 ofl/tradewinds/OFL.txt -sha256 31c59bcdd538c113ef5c048f56827439facb12b7e5cfd158b04c83727edc453b ofl/salsa/OFL.txt -sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumpenscript/OFL.txt -sha256 ddf311c28ddf5a5ad9747649837346b67bed9d356789c3072bb27dbce49e514d ofl/ptserifcaption/OFL.txt -sha256 c867d1a613bebc4932cf28c060fefb3bcfba3be56ed498b873c79f4eb786af1d ofl/librebaskerville/OFL.txt -sha256 694282197de3d750a43689dc64a8116cd19578cd516e7b2490c7b5362c064dbe ofl/kameron/OFL.txt -sha256 cb30d3086a8b3ce0b9e3690bf48d6620402b61160bc658076f95180ccd9e9dae ofl/sourcecodepro/OFL.txt -sha256 a40c3a6d0c968d3a10b17a2614606de6f20178deccc2447305f31fb106a57fb0 ofl/fresca/OFL.txt -sha256 5d3457831b42632d958fe1a14a09706d8acb006486a5ca5b2b419cd61cb22e32 ofl/chelaone/OFL.txt -sha256 6b53fb03a50914cc382f4d025ee595c17c43f24ae870f840bc51969d3e316c7e ofl/limelight/OFL.txt -sha256 574430e571a6928624f4bdf044420f7547a26309b7ebf6962296d33294e0a1e0 ofl/combo/OFL.txt -sha256 fd20b82eb12d16ec31a58fc44f7e6c533b14b425b569d83f616a1f7a9a401e75 ofl/gochihand/OFL.txt -sha256 0e74984817cdd51dbfbd8309022aa75f733e80dff0cb1d26ad2157e90446ba97 ofl/enriqueta/OFL.txt -sha256 ddf311c28ddf5a5ad9747649837346b67bed9d356789c3072bb27dbce49e514d ofl/ptserif/OFL.txt -sha256 4e69611ba5017f1fde74c31d342f5c85604814b1b45387b9ab46205996dec38e ofl/astloch/OFL.txt -sha256 013e33b6b2919fd0ffbdde6080a1c0f4521689fdce0f4876a59cf49ff8ae31c0 ofl/geostarfill/OFL.txt -sha256 14b3fbd06078a869cf2ba96e6dacb852d373703c86ca7ad54a4cdd6e20fbab19 ofl/knewave/OFL.txt -sha256 a8103c045a88bf9b28dcd7eb60a6662008f49afc0f3721bc46aaf761fc0409e7 ofl/englebert/OFL.txt -sha256 bd22e766af8f8e58eb520cb4fa73538826d04f7371b45e82295d22d1e32a4e58 ofl/gidugu/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/justmeagaindownhere/OFL.txt -sha256 5fba78215eb4e42aed6cb0b5c5df52e0f71246281a866cd4493dfcfcbcab9518 ofl/playball/OFL.txt -sha256 e75230ee246a04912366cd8d759d081200d80fb0756766c96dd52f73e8b40bed ofl/romanesco/OFL.txt -sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/gamjaflower/OFL.txt -sha256 244ca4ef7b106d8c660e9a00cecf5d581b6a222f447d7d59a8f61711b2ad3400 ofl/uncialantiqua/OFL.txt -sha256 36e2f1debc9778bac79fac1a0cb5a5ef51c102f00b58ef7d8a05324144b68166 ofl/didactgothic/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/giveyouglory/OFL.txt -sha256 638774cdf8233b5ddaf9ebee1821e9de1d5d59c335d8ee3ba0b47fb17833b502 ofl/glegoo/OFL.txt -sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulnamsan/OFL.txt -sha256 a10a07aaa150c147fa3cb22e845013f38e6c2b45fe5ba32a74ed1be9d4c417ae ofl/odormeanchey/OFL.txt -sha256 a74380bba78a364ec70b3a5fb6a1161b83cb05cc3e75a0910afbd1b5aff4f9c8 ofl/jaldi/OFL.txt -sha256 9b8405bf5f503f92401fc990f372b34d469670ab60041d5298d1015d3d0b45f8 ofl/thabit/OFL.txt -sha256 7c05152b2380228795cb474819744653fb03ddbfe5990b912ec7d9a41387230d ofl/asap/OFL.txt -sha256 ca9fe3a0e10bbb082f83ecdc07f5f04845c4bd689c46456da3e6bae23e11aae2 ofl/inder/OFL.txt -sha256 5b158abb3406e69b7408b562b7199f6ff55a41ea56e260b87176d693b0095e47 ofl/piedra/OFL.txt -sha256 b7eae5e3c3447f70caa14e0c43f5e0d953f54ee59df406f6362863bcee1a0a95 ofl/almendradisplay/OFL.txt -sha256 87b7d831a81fe8b37e7e6c672937493f710ff81883eee3adec7b5423297efd16 ofl/sharetech/OFL.txt -sha256 4ec46c3e4469afa19f0156bac6917472974f9c85c189f9220cf8735d3e810401 ofl/kristi/OFL.txt -sha256 93f60741563b4f51f2fcdb207fde72b2b23292a47022c729aecd998b360d8038 ofl/bilbo/OFL.txt -sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindcolombo/OFL.txt -sha256 afc1b710d644c1262e1765d2401abcf93a545a4cb051955e2243fbabb8164e25 ofl/carroisgothicsc/OFL.txt -sha256 930fed5b06a415736dc3b4e5f4f01585523b672717564bf677f93966bcd57636 ofl/lustria/OFL.txt -sha256 9a536e5a3b55c2605b0a553eed383cd3efa42ba48dc45cc6f0635b3c53ee791e ofl/warnes/OFL.txt -sha256 879ec56fcc9a961937fd24d542b3b7b3f2b8cb3236b7351e62d16719e25de14c ofl/griffy/OFL.txt -sha256 29cca754098468057880970c604e55c4e2bcb8479742e4130c94f2ddc0363f9c ofl/sixcaps/OFL.txt -sha256 67261c7ceb3e627da5c94d6617dac6da29bf36b910bee304a7680ad62e2c8b46 ofl/changaone/OFL.txt -sha256 327bac41d89cf9f32e0efe353228018e1661cff458a5d4905714958514df7bd5 ofl/lalezar/OFL.txt -sha256 525411e604e7a1d85a4cd42641869f94388f04a6ed77829d6c4edd7fd740ceab ofl/ramaraja/OFL.txt -sha256 3d08baba63f1f2427fd96dee8da30b1ef6c1421b3be0e1f07cc2a78abb27c91d ofl/seaweedscript/OFL.txt -sha256 4c0a1150a363b42bd8681ff4a00315ac49510a944c4c9978237ff8b90a8920a5 ofl/grandhotel/OFL.txt -sha256 bc4c7eb365ea342b1a027fb8417fb0152f5d482a2e31c012fbfa29b668827b04 ofl/cutivemono/OFL.txt +sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averiaseriflibre/OFL.txt +sha256 a815f65bc72d90494b01842d3171f7cb0f9f935e023d9cc260904d221ef1064a ofl/b612mono/OFL.txt +sha256 a815f65bc72d90494b01842d3171f7cb0f9f935e023d9cc260904d221ef1064a ofl/b612/OFL.txt +sha256 d38acce513eccb51d7ac34ca47be279e1fcfdeca1ed088bdd2d281dc6ca939ee ofl/badscript/OFL.txt +sha256 e3ed3ad6cb257e16dc1789900707c5cd1cdef2d60d155389342604991cf693f9 ofl/bahiana/OFL.txt +sha256 fe5e822667a4b2e083b8fdd7a37546163f26f6481b58742236abffdcfb3e6c71 ofl/baijamjuree/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloobhaijaan/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloobhaina/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloobhai/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloochettan/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/balooda/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloo/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloopaaji/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/balootamma/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/balootammudu/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloothambi/OFL.txt +sha256 876db27db250a9b9c03fc2ef30a5efe1f37c2ed2686d368c3779583bdf746912 ofl/balthazar/OFL.txt +sha256 ad4f6ede2e8a017255822a6abee8d10717f1d34c20223de80285ff59e28a1cba ofl/bangers/OFL.txt +sha256 186d750eb496a4c17a76385f82be6aea2ac1cf2de074a811d63786cf374ea73f ofl/barlowcondensed/OFL.txt +sha256 186d750eb496a4c17a76385f82be6aea2ac1cf2de074a811d63786cf374ea73f ofl/barlow/OFL.txt +sha256 186d750eb496a4c17a76385f82be6aea2ac1cf2de074a811d63786cf374ea73f ofl/barlowsemicondensed/OFL.txt +sha256 e2f2dc7a667954c16a919acff5351e8ea89813d10f5a7504e1f4668fffbfa14b ofl/barrio/OFL.txt +sha256 9a51726e5f247cb1f07bb8f49c163bc3e9ddee5f367bb5a1871d09b854ed1b7c ofl/basic/OFL.txt sha256 1818771d183d203703c4b134f028527b535810e2a0666c8fe2785354ddbef686 ofl/battambang/OFL.txt -sha256 b7eae5e3c3447f70caa14e0c43f5e0d953f54ee59df406f6362863bcee1a0a95 ofl/almendra/OFL.txt -sha256 9e0d3db586ba0abf5ca398683809dacdf4c81b2960f592bd085fbf206a67ddb0 ofl/sansitaone/OFL.txt -sha256 fb1dbf3725bbdd389b2c569e0eed5091d8d10eed2833ec7efacfc3542e408615 ofl/scheherazade/OFL.txt -sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorant/OFL.txt -sha256 156ea6985861158c7dea63ecaac4c78ab0ed737d168ddffc3e34c687985a033b ofl/sansation/OFL.txt -sha256 a9b3e7e1cf5735dc49d802b88b1858a2a50307ba2a877ddf3f0b27d8b1d0abc5 ofl/blackandwhitepicture/OFL.txt -sha256 5fe7f3c9410c29534ddd9dfaf64d3994ed4236096d0d543ae69eacc3b25632b1 ofl/bitter/OFL.txt -sha256 f6f60d5d4cf4f4b1fc4e41353c897a2f5a16e6396c0cd8fa8bdfd2f4586a9a68 ofl/alegreya/OFL.txt -sha256 e88691a5e0a8a3f788f31db959701ec90a1d5e7505f1cc53c5663180a7d23c81 ofl/lohitbengali/OFL.txt -sha256 ac55580be2df22a06d29a47501e2ae11e1d399620f5a779e17a66f016ba6d5ff ofl/portersansblock/OFL.txt -sha256 27d9af34210253e7ca1251fbace86c6f65b40031d6ce1a75493a1b2093631298 ofl/vt323/OFL.txt -sha256 9452ef55386e77bd284ca466587d72802337621d7f10aa700e449753883b3397 ofl/trocchi/OFL.txt -sha256 a9b3e7e1cf5735dc49d802b88b1858a2a50307ba2a877ddf3f0b27d8b1d0abc5 ofl/stylish/OFL.txt -sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindkochi/OFL.txt -sha256 3173acd82f8c6159b5b1037b539fcbd4edff68e65c2ea8b9412b5a5ca97b08ff ofl/archivoblack/OFL.txt -sha256 c832a4230a713d080aa2f2544d9a298ed911f689b2c48f7f276a0196b16d2b8a ofl/cookie/OFL.txt -sha256 ae28423a5e63cb65e651ccf62c9091b322fff1d2d4e87ad9f98b1096c2e7abb5 ofl/metrophobic/OFL.txt -sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindsiliguri/OFL.txt -sha256 8c22fb3866eaebd77a2cb8e8ecbb095381ff32300db57758326fef35a26132f5 ofl/ranga/OFL.txt -sha256 d2875ded3e44e9ae53ea2b35e825dafffa19e82c5d14addb9f1150fcd7a3463d ofl/mina/OFL.txt -sha256 8242e7737bce317f7a7f2b887ac87f5bb21305ab96bee92aadc3febac16c35bf ofl/voltaire/OFL.txt -sha256 fca01a37b10879d7685c7d03fc5a04086b15cdb2cb4f870cb687aa5a9a0a1361 ofl/jimnightshade/OFL.txt -sha256 2492bb8645caaf622bdc3e880cdc9b069921e7341346d7b193666c866a1935d0 ofl/condiment/OFL.txt -sha256 e6ac721b16f309c89fb443680afda427ea34968bad190a80edf281d01d65fa99 ofl/andadasc/OFL.txt -sha256 1e5d6660366ddcfca4f2fc10e2acfba9fa4d97d40aec80d7dbfd41d730a420ae ofl/cinzeldecorative/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/coveredbyyourgrace/OFL.txt -sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindvadodara/OFL.txt -sha256 5c36e7ec460b285185ea23847aa1f508708d9ce15d5c055279defd022972f836 ofl/rakkas/OFL.txt -sha256 0b7eae990329ac175a2e1c329060b3a4d6876e4e0cd7e5235511578352f7b191 ofl/biorhyme/OFL.txt -sha256 c54957d55e7c9e66c28e474cd39de75dc044e8f69056788cae44eb78841ceef1 ofl/montserratsubrayada/OFL.txt -sha256 fccf4916b5f84ef5f88d93fec464421aaf4121d11d4be8d74ee2d032f7661d6c ofl/padauk/OFL.txt -sha256 9ca8b9e5db7184105da255bb110023cf1cce6caa56186341bb7b09ba97b20ba5 ofl/prociono/OFL.txt -sha256 0c3f4763f49c2cd37757a2856ad470aec6a416981ac6d6e3f900c1128be39de7 ofl/elsie/OFL.txt +sha256 bc80ea18223ea0db2ed73ab5bfd0cd601906a2b7a163183c6c4ea333be309ce4 ofl/baumans/OFL.txt +sha256 ecb52bab55d8d6185712fe8fd2fd98300f5c8c07fad0d0a97b1e579462b0dd3f ofl/bayon/OFL.txt +sha256 284a5a26e6db9a04259a5690ad57d52c56a4c515ca2ece1943d950f99e709dcd ofl/belgrano/OFL.txt +sha256 2348c4852e6322105d130aa2addbe24c962e330094ad6dfbfd9fbd2281d76b0b ofl/bellefair/OFL.txt +sha256 15b1a21c3fa37a475ba6b0c0cfe289c7952548caf6e432068ddaf98d139ce419 ofl/belleza/OFL.txt +sha256 460966d12f306a007930575c3b8bc336fe0c32f880d622af6d3b745a06ca79a4 ofl/benchnine/OFL.txt +sha256 4a7d2f227b91046ef7a54f8f735668d86e45f4fd4089268de292a6e9de108253 ofl/bentham/OFL.txt +sha256 d941aa56e280b4f204272c4b1add01a8ebc7af3e8e69ba8ba9118aa2a5306dde ofl/berkshireswash/OFL.txt +sha256 9437c26410bcd543607a6775e7d0e359c1df3926d68c92dbaceb26ce79cc0fd3 ofl/bevan/OFL.txt +sha256 012b1870f81b0d97ca756edd9eea315c7fc22657ac2f1cbdfcb6772fed3e20f3 ofl/bhavuka/OFL.txt +sha256 0409c6582424508453ce41648067efaacf0c790622918493d8f1d934bc5329a0 ofl/bigelowrules/OFL.txt sha256 0d5fa0cce86012de872273700eef4fd162459e7c24a6a314911380627391071b ofl/bigshotone/OFL.txt -sha256 ca64dee162bf239c7b92d854d388bcd30552edc3ae1ef5e31714acda34c988db ofl/jomhuria/OFL.txt -sha256 bd77eae571de83ba3884c74c7983e8ac5cdf858badc36906179346dcd7e82454 ofl/gentiumbookbasic/OFL.txt -sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeehairline/OFL.txt -sha256 9c56b4e2e4e922cc37e19e1a9e2e1128beaa17a812e1b67c8ac371b0fb57ae03 ofl/kopubbatang/OFL.txt -sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/tillana/OFL.txt -sha256 486c4d5b9baf0d0ba5546ef3c43fcfe22c062299ab6948045a43efffe4b0f74b ofl/italiana/OFL.txt -sha256 4539710406c656519f8ddc789056a7cd6f4fe66b44cc2f52ebca6e251bb26e13 ofl/imprima/OFL.txt -sha256 7f55affd2bce8ed9be13297ba8df1a4a7e9835c2a006126dc2a1eb4ce75a7943 ofl/muli/OFL.txt -sha256 867b506cb023eae20c1accde77b2e0abf7d8a9e2620da8dbebac9f7b1117ca0b ofl/cantoraone/OFL.txt -sha256 aa72b0185d828cb2fafa62a154e84bd3e20c88ada30326089bb20542b6363aaa ofl/manuale/OFL.txt -sha256 4664e83780a263c53dbab95d3590a5a9db914aeb9a3c78f7e7ad451f9151c998 ofl/spacemono/OFL.txt -sha256 fc59ca3cd3bcb47bd4df597519111ec130c25cabcc57a8808dd2d243cdcec6ae ofl/oldenburg/OFL.txt -sha256 43c372f43d145c22e654781860506a75cb85b086dc76028a62a28a446506d253 ofl/italianno/OFL.txt -sha256 a7fe1f3d23034092b015aaeb53d2ecbc9e592be96b10bdfbcf8700ec6a6ffc97 ofl/fascinateinline/OFL.txt +sha256 93f60741563b4f51f2fcdb207fde72b2b23292a47022c729aecd998b360d8038 ofl/bilbo/OFL.txt +sha256 93f60741563b4f51f2fcdb207fde72b2b23292a47022c729aecd998b360d8038 ofl/bilboswashcaps/OFL.txt +sha256 0b7eae990329ac175a2e1c329060b3a4d6876e4e0cd7e5235511578352f7b191 ofl/biorhymeexpanded/OFL.txt +sha256 0b7eae990329ac175a2e1c329060b3a4d6876e4e0cd7e5235511578352f7b191 ofl/biorhyme/OFL.txt +sha256 505bb8f3c30f2006b4e02d250fda31ed94b651a35f1124a201ca1c405ce989af ofl/biryani/OFL.txt +sha256 5fe7f3c9410c29534ddd9dfaf64d3994ed4236096d0d543ae69eacc3b25632b1 ofl/bitter/OFL.txt +sha256 a9b3e7e1cf5735dc49d802b88b1858a2a50307ba2a877ddf3f0b27d8b1d0abc5 ofl/blackandwhitepicture/OFL.txt +sha256 a02e8715fcdf3325c474b7209399f50230897bfa828fe4eea2639ced1a1d574b ofl/blackhansans/OFL.txt +sha256 8af83da84dd4299842f871285a88049352ab301ffa1f233d2595b29506158635 ofl/blackopsone/OFL.txt +sha256 52caec7d90533523fa7da64e95faf90ea32a663ce21847a39234b61e18d25044 ofl/bokor/OFL.txt sha256 d13a278247ce39695f5ea6b721103faa668083022c5280b78c6392263e473929 ofl/bonbon/OFL.txt -sha256 f0be7437bbb8b91ad4a4f7a5f3d0020368e494a803d892df03e8886d51f2db3a ofl/candal/OFL.txt -sha256 a68d8ec6bea7f277053ae93bf563d4b97c233f09f8e79f86ffe5db66f31fdddf ofl/prozalibre/OFL.txt -sha256 b00c646b7d04a6da1665a148815b8c589c1e05ed7e1febf7ccbd91758747cb03 ofl/quattrocentosans/OFL.txt -sha256 a3deaae17ab9a15dc3c2778126aa6f80d41d567741853f84b16a9e1318ed799a ofl/koulen/OFL.txt -sha256 50f7b09af5ff677f611a96cdf5eb916307c59b29f2e8144942718cb432a9bf6f ofl/margarine/OFL.txt -sha256 72a22b6dd29b6b0cdcc98de30701b46532c9f7314ee095df3063d10775dd70c3 ofl/trochut/OFL.txt -sha256 325e890b8b26fe0a683c3ba24c506d902bdd7034d9c47bd7fa2bb72b5433b9c9 ofl/shrikhand/OFL.txt -sha256 62fab0ba1d5593782cbf048da193f4b1edc16b817577a99d707827513ad80e9a ofl/overlocksc/OFL.txt -sha256 d941aa56e280b4f204272c4b1add01a8ebc7af3e8e69ba8ba9118aa2a5306dde ofl/berkshireswash/OFL.txt -sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantsc/OFL.txt -sha256 36c285c5472c625901d4a13da7e31c5ea6126678d31d56cf95572c49f27c8950 ofl/passionone/OFL.txt -sha256 fbc351e1b5428e4f45834647dc23a5f8aaa3e744e2f4117ca03c44f640b9a3a2 ofl/stintultraexpanded/OFL.txt -sha256 021d5f1df697848da51620394659187be77cbe382ff2f896bc84ffb89c0c2d52 ofl/portlligatsans/OFL.txt -sha256 85b700bfba1250a6f8bdf930cd7113faf3d8e9dc52cd89eb98c3ac8a038a4aa9 ofl/londrinasketch/OFL.txt -sha256 c972795e48b096b6d4e3a947b0bb21c1baf1922a6e07ff9ada587c058f228740 ofl/coustard/OFL.txt -sha256 eb4a7a082fb0e7dde0a8f975d33f02907ccbe40751c8115e790cf3679787d01c ofl/strait/OFL.txt -sha256 9b1cfccef4a7e19f90e2901f808f3aec4335d3cc81f978453ad0c8ded14447a0 ofl/novascript/OFL.txt -sha256 43c89012c2b640187aae7e0c83d5ffa8381a0368c00e8426594358d44d3811e3 ofl/nunitosans/OFL.txt -sha256 fdecdad755f4e5e95bee491c7521f31625dc08283562ea8579543c90430eb269 ofl/karlatamilinclined/OFL.txt -sha256 5e80642a11aff2ead815949a8a929aff3fb7b9b6a24391406068a1b204dcc8ba ofl/abeezee/OFL.txt -sha256 bd77eae571de83ba3884c74c7983e8ac5cdf858badc36906179346dcd7e82454 ofl/gentiumbasic/OFL.txt -sha256 f2fcbde4b8968400d661e7dcc23052b1885815c8e3b45323b26cbb833352f5de ofl/timmana/OFL.txt -sha256 c8af073a60e30b55ef5d0e4f80cea168e06dd65bdee7ec18c1ea8de8f7228780 ofl/strong/OFL.txt +sha256 4653c63a4bab99aa50de5190853fa21ea6c0a25d69d49f5a42cd51f0f67665e0 ofl/boogaloo/OFL.txt +sha256 f3ee3eb20a9d565bee2bbc0d616de382a113327d7506565b2f3d3bee5f489375 ofl/bowlbyone/OFL.txt +sha256 f3ee3eb20a9d565bee2bbc0d616de382a113327d7506565b2f3d3bee5f489375 ofl/bowlbyonesc/OFL.txt +sha256 44b51296985184d9b27fc2c8e5b317906c5d65d9dc834e81c07902d3e5e1cf1a ofl/brawler/OFL.txt +sha256 fbe0442a6b1ce162c95e241df76cab5ef2daf6a5ac84ae1a7a6749f32c051098 ofl/breeserif/OFL.txt +sha256 f8a20490ee8ad3adb2205ea44b279b19099a3a1d6b62849e90b4db20a77deeb8 ofl/brunoace/OFL.txt +sha256 3c187c861dc291b9f7f96f655656f9ac2d57b33da425bd5962810be728344f57 ofl/brunoacesc/OFL.txt +sha256 26daffa24723bb188643085cfc5423f9d78d22a395df4a7928380e430545a201 ofl/bubblegumsans/OFL.txt +sha256 39602407e30d466bf169f46d690aaae4f5f039258e5642f91a80bb132ce6e14a ofl/bubblerone/OFL.txt +sha256 a9ef1db03f660130790beeb3b5d91b68536a44a98ec2db3097d02a1c5f91c599 ofl/buda/OFL.txt +sha256 3bbcf1617d93d3a949a10da78ae91c58be536fb04567ab4b5b9fd207126f1db5 ofl/buenard/OFL.txt +sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeehairline/OFL.txt sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeeinline/OFL.txt -sha256 013e33b6b2919fd0ffbdde6080a1c0f4521689fdce0f4876a59cf49ff8ae31c0 ofl/geostar/OFL.txt -sha256 e55c615ed00ce0054bd356041a41e5942b4a8cadceac1e32696ba2ef5f06f748 ofl/andika/OFL.txt -sha256 4705fc9bceb299b2a951d23c321d31f3679871bb99ceadb978907704d211f4f2 ofl/pacifico/OFL.txt -sha256 2887c5bb38abbde9ccc608c4dcc4b0dba0fefc0c74eec011033bcfbd3ffcb235 ofl/jacquesfrancois/OFL.txt -sha256 99d67fff016522688b8f913377f8ae9f6da6ffeae42cf67c0e5e87cfb0928d33 ofl/unna/OFL.txt -sha256 bba4a13f03d0fd5b476cc148feda6895dd8d65f34b2107ba9d010ad9539d6c0a ofl/faunaone/OFL.txt -sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulhangang/OFL.txt -sha256 58bbdbe5c48dd1d7cfd658425a455c29811181873d3a46a4932c29e5b0ec16e6 ofl/euphoriascript/OFL.txt -sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/laila/OFL.txt +sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungee/OFL.txt +sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeeoutline/OFL.txt +sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeeshade/OFL.txt +sha256 ab5499b975c2dc82f533c6f13c5fca589df4d57c7c400db5f6ca8565ad9c2fd3 ofl/butchermancaps/OFL.txt +sha256 a0369b1d5f654110f2fe101db56a02d02806f1e609ab233368bc573ec45050e5 ofl/butcherman/OFL.txt +sha256 d64c91b0306b53fabed08762068eea8b918d654fb0721c288f13cefa4aaf088c ofl/butterflykids/OFL.txt +sha256 a20db45220b6c4dc9776f24c77dc9ec7a98977d8b3c65b03aabe66b2d08e0791 ofl/cabincondensed/OFL.txt +sha256 8b89f3af5fd02216793ff3dfe9a04dc22dfe5c213422ae21558ff1da6a1e94dd ofl/cabin/OFL.txt +sha256 f6fc9fbae062e4efc1b0306e27715d43cd64a48b8ffba81c22034b8efee4fce2 ofl/cabinsketch/OFL.txt +sha256 8b89f3af5fd02216793ff3dfe9a04dc22dfe5c213422ae21558ff1da6a1e94dd ofl/cabinvfbeta/OFL.txt +sha256 bcb0bda74430ccc281a616a81d0a287fed5a423815b00b222e0b7f603f85b26f ofl/caesardressing/OFL.txt +sha256 c0a8947de199b422d30c16137e4decd5362e3a1d504422880d69c02bd6046dac ofl/cagliostro/OFL.txt sha256 17b90cece30db64934b7299fd76b033a3774c8a990e78badc74c59a5be8e0727 ofl/cairo/OFL.txt -sha256 5f8ff4a3f951c104e99245bdb952be08c73369222048bbf19fa3bf7170d10949 ofl/sanchez/OFL.txt -sha256 8eb1c1019fe7fe6d0b6e7d7bbbba1d9cbdd969d8c5f26455708f6cfb8a77284c ofl/nanummyeongjo/OFL.txt -sha256 942d51cf079299e83e9dd7a9a37eb92260524e8d1d576b2f0b3f7ca207c53f8e ofl/newrocker/OFL.txt -sha256 117fa195cff980e3b10fd8e8e21658c6ec954b0886647970a03c9694d3553b69 ofl/galindo/OFL.txt -sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/athiti/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/annieuseyourtelescope/OFL.txt -sha256 f2ab7e5c5c750fa03a8d8f64c72a089ed86fbd3dc172440fcc704b27816d5957 ofl/noticiatext/OFL.txt +sha256 846e8cc6dc69bf685d2db14cfa758ff3d9d771d54c9e0d3b511f0ecb97ac0e8a ofl/cambay/OFL.txt +sha256 5454dc5cf2f46a2005f42f13ee2a998c7d0afd7f556f32fda208c72b266f7adc ofl/cambo/OFL.txt +sha256 f0be7437bbb8b91ad4a4f7a5f3d0020368e494a803d892df03e8886d51f2db3a ofl/candal/OFL.txt +sha256 643c63caf03855ae29be68035d8888e95eadc767a1d92f163d686da1b0a1cd3c ofl/cantarell/OFL.txt +sha256 f8fbefb5b1004615e6d1e84b1c75e68520d91196f600cb1b07620dd2748eff64 ofl/cantataone/OFL.txt +sha256 867b506cb023eae20c1accde77b2e0abf7d8a9e2620da8dbebac9f7b1117ca0b ofl/cantoraone/OFL.txt +sha256 13e862ac3f67130f58bd4bebb61c588d147b5a555b1ac6959570799c4f648cd0 ofl/capriola/OFL.txt +sha256 8e28b778b6e1a7ff9ca72f4dee2d53120aa2856dc1bfd0be44307e365b0e45bb ofl/cardo/OFL.txt +sha256 806cb93632b8091cd36554642a96b2752bab50015da6a2b456d786c1f9aef5a5 ofl/carme/OFL.txt +sha256 afc1b710d644c1262e1765d2401abcf93a545a4cb051955e2243fbabb8164e25 ofl/carroisgothic/OFL.txt +sha256 afc1b710d644c1262e1765d2401abcf93a545a4cb051955e2243fbabb8164e25 ofl/carroisgothicsc/OFL.txt +sha256 c4afe82f49c05689c40dd4e262803b29c6e611e7b4efd3a0418f574b2be79d9a ofl/carterone/OFL.txt +sha256 c88333734ad7cd30540ec6614d12aa829a0395715de30e336d22ddfa3005db42 ofl/catamaran/OFL.txt +sha256 1e5bf8207a40678bc401e2e5456d0db1f2a183b550a30976b48dcdd6a4e4c46c ofl/caudex/OFL.txt +sha256 21b54eb0d7513524798a00dfbaf99a02c003a0012a728cc5f0e02d24c50482fb ofl/caveatbrush/OFL.txt +sha256 21b54eb0d7513524798a00dfbaf99a02c003a0012a728cc5f0e02d24c50482fb ofl/caveat/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/cedarvillecursive/OFL.txt sha256 9a33b452a3107542c35fc5fcee80e4d8798c82aca071c2f6f58a0f8dc5ad61fe ofl/cevicheone/OFL.txt -sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/balootammudu/OFL.txt -sha256 8f24842e9174beda18a556c2ae7d54f5dc444340c19a3a9ef77e23bca366adbd ofl/firasansextracondensed/OFL.txt -sha256 746b384383888d9325ed2fa9c40d2456b458aa190dd2b8c515ed4f02a1075bb7 ofl/magra/OFL.txt -sha256 8f24842e9174beda18a556c2ae7d54f5dc444340c19a3a9ef77e23bca366adbd ofl/firasanscondensed/OFL.txt -sha256 fe9183a0b7c1ae626b14004cd533c89ec7c192aba017f81ab71ede910256abb2 ofl/abhayalibre/OFL.txt -sha256 876db27db250a9b9c03fc2ef30a5efe1f37c2ed2686d368c3779583bdf746912 ofl/balthazar/OFL.txt -sha256 4342add6f0f2261f8579f31c10a55938930559703eed18be4a33b74eb749d298 ofl/doppioone/OFL.txt -sha256 d8eb8611f8c98d20cbf18a28425652d6022dc2a5cca15026b920f1f2bc92a612 ofl/deliusswashcaps/OFL.txt -sha256 16a8be6ac4b009ba1dd1e17cea48762f4915609ea5dca1303f716cf63998739d ofl/adamina/OFL.txt -sha256 1d567f7c5f579d9031ae5edfb0108b4681bdd2e036249b228cc2843d3f052a0f ofl/redacted/OFL.txt -sha256 866669fde730bf2785f44905ec162f05f2b8d9f6dcf366aca99360fedbfe502c ofl/dancingscript/OFL.txt -sha256 008445a4d53fbd71bff9cf733bdfd841a1b15fb58ef3473f7bab4c456e3b2930 ofl/ovo/OFL.txt -sha256 b7eae5e3c3447f70caa14e0c43f5e0d953f54ee59df406f6362863bcee1a0a95 ofl/almendrasc/OFL.txt -sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellgreatprimersc/OFL.txt -sha256 95d23e4559ea8c6a36aa04fab56e1dca0780f5d93734072d4501023296543102 ofl/archivo/OFL.txt -sha256 3747fdcbfe4f51d6a2f101c35105bacde3715b3c32b34b6b03e5fb37983f89fc ofl/quando/OFL.txt -sha256 38a83f1f8b6efc3ab354b8b6eed22e8524dc71280844dc24811d95ae27b34952 ofl/khyay/OFL.txt -sha256 b8fb5cd1bafb52e652c733fdb75ee20c763e97acb0398f6b4bbe1d8ada0c07e5 ofl/misssaintdelafield/OFL.txt -sha256 a3b0977c5c25101d45054cf9199b9127b05fddc79d4da7dcf400821824e5a6d0 ofl/radley/OFL.txt -sha256 41f82bb4d24b304f30f7136bc47abdd083782e4265c984160f5649d1e78ea49c ofl/montserratalternates/OFL.txt -sha256 7c05152b2380228795cb474819744653fb03ddbfe5990b912ec7d9a41387230d ofl/asapvfbeta/OFL.txt -sha256 d3909465d5838d9d1c72b975ff1ed4f410a85dccd43801be525bf2b2bde89f92 ofl/snippet/OFL.txt -sha256 2ee5e8e47cd7d08f60bb9555f72b25912c9e81b13f5bc9a0551ddf943da6ca98 ofl/mukta/OFL.txt -sha256 f323edc1e5a6d8fa16120aa15367cdfb15468474cc621f9bda1a2f73c5d08d73 ofl/sedgwickavedisplay/OFL.txt -sha256 eef925ad6afcbba33f7989f5ad826fd68d50cc1ab4d679c52927c8afd40bddf0 ofl/sedan/OFL.txt -sha256 4281c00ab5b8f672fc8d686f48cb886ffbe900c8c9ee22473ca7e72e7cef8fbe ofl/wellfleet/OFL.txt -sha256 8b89f3af5fd02216793ff3dfe9a04dc22dfe5c213422ae21558ff1da6a1e94dd ofl/cabinvfbeta/OFL.txt -sha256 4bf7256c8ee73577ee5e26643d3247ec77017ca04489befd3e0f3412827729c7 ofl/laomuangdon/OFL.txt -sha256 399b33eb38cdfc76b8665defa5f81d52e8193d630ad5858c893db6bc20031bc9 ofl/rye/OFL.txt -sha256 aa5d677391db4e54ad324b6888792e533c5d800de7ab713302a2fc8bff2f4f6e ofl/miltoniantattoo/OFL.txt -sha256 8594350034ab1cb85a1946ef8852e69290255816c311450a66fed6eeda9d6292 ofl/anonymouspro/OFL.txt +sha256 13831d02389d917d22fcfa6c79f98f8acbf61d230add0e73a4d4dc5f3bfb9e56 ofl/chakrapetch/OFL.txt +sha256 49f2a11271968a2ce019a43bf5401d1593652a18f27ea59037ff5e39856d2df7 ofl/changa/OFL.txt +sha256 67261c7ceb3e627da5c94d6617dac6da29bf36b910bee304a7680ad62e2c8b46 ofl/changaone/OFL.txt +sha256 e98ce988fba1c138f4e7c0c5120809706ab1b24a3c29638ca83ab2ff082e08db ofl/chango/OFL.txt +sha256 41423e9e1d0ea79d0e78bd5fe9e0b27f4c23140706f5dfbfe116839c83aae91c ofl/charm/OFL.txt +sha256 23b896f4937eac954a383340c92dfcac1c6e05ec21cc08ec6de47d30ad8496a3 ofl/charmonman/OFL.txt +sha256 8c495ddd455def58a45310376a747bb61bf86e4b071cc527b3618bccd3ef00fa ofl/chauphilomeneone/OFL.txt +sha256 5d3457831b42632d958fe1a14a09706d8acb006486a5ca5b2b419cd61cb22e32 ofl/chelaone/OFL.txt +sha256 ae6de2f6fc00f76cc7eb0d97c1ae5e0b7ec734f20ad7f58cf4c74738dc822d21 ofl/chelseamarket/OFL.txt +sha256 bb8fac04b8535d39fb9851c9d886248d25bc0c82000066c92dd577c3369f512b ofl/chenla/OFL.txt +sha256 d416bc9437e1d7d8aba0613395ee49c95ce72d680672e910c6205b545cfcbad8 ofl/cherryswash/OFL.txt +sha256 f27cbf1055db7b9dd80bce5cd12b462f2d9ed7313d84dd8bfef1ddd2b61bdfc5 ofl/chicle/OFL.txt +sha256 b054962de0af1397d5350fddb4d6bb20f5f2e073b543eeeb694c7c3b27144fc5 ofl/chivo/OFL.txt +sha256 74584d937293a9cacdcd2eb05851b71aa1527901c18b87961d2f877c77a1b486 ofl/chonburi/OFL.txt +sha256 1e5d6660366ddcfca4f2fc10e2acfba9fa4d97d40aec80d7dbfd41d730a420ae ofl/cinzeldecorative/OFL.txt sha256 1e5d6660366ddcfca4f2fc10e2acfba9fa4d97d40aec80d7dbfd41d730a420ae ofl/cinzel/OFL.txt -sha256 351740da2d452b48193483f22f64918a6dfd64a7abe225c6187ad3f36e0d9cd8 ofl/postnobillsjaffna/OFL.txt -sha256 64a73da7af818283168543e24bd214aded1bfec06f013bf9cebc20064a8560c5 ofl/elmessiri/OFL.txt -sha256 4fece81b541808b40293b0cd3f5b1990274e1100e1c20455dc2987cd96639d3f ofl/metamorphous/OFL.txt -sha256 8d325681662a30f58f57c92ab656dcbc9679deb78a493e4c0eab75321b2df6c3 ofl/worksans/OFL.txt -sha256 2887c5bb38abbde9ccc608c4dcc4b0dba0fefc0c74eec011033bcfbd3ffcb235 ofl/jacquesfrancoisshadow/OFL.txt -sha256 aac8f0cda6159b7251d1034651bcb42e07611495bc8cd764c89d22f3123032f8 ofl/aladin/OFL.txt -sha256 81d0973236b5b5709a80a217a330db36eabedf57bf4031de46b4660b69901234 ofl/leaguescript/OFL.txt -sha256 5454dc5cf2f46a2005f42f13ee2a998c7d0afd7f556f32fda208c72b266f7adc ofl/cambo/OFL.txt -sha256 b2d4b0c773afce947728ab99fca43b242b7edb0da26fe29f60c7c2d5094ec23e ofl/suwannaphum/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/labelleaurore/OFL.txt -sha256 6939af7114f0a33c7e6142d4c1320d1bbde11aebe6d8f3c48fc5fb3e0f676a7b ofl/jejumyeongjo/OFL.txt -sha256 cbdf9d35f32a9a2f02fb23c8b89c115a5a8e45feaaa2266920c4594c83dd5ed4 ofl/tenaliramakrishna/OFL.txt -sha256 95d23e4559ea8c6a36aa04fab56e1dca0780f5d93734072d4501023296543102 ofl/archivovfbeta/OFL.txt -sha256 967d75b89eef1f8a0ba1f5ee7dfb13427621f9116c6e7878ca04da8c9aa8641b ofl/mrssheppards/OFL.txt -sha256 8af83da84dd4299842f871285a88049352ab301ffa1f233d2595b29506158635 ofl/blackopsone/OFL.txt -sha256 548890e4083028f04e5feba04b6e00554654d840aab81c8664eb66c2216a571b ofl/palanquin/OFL.txt -sha256 c4cd9f38c3246ee6a68c264f017320dc1af09677d386166d8cda806d9a12e0d2 ofl/jockeyone/OFL.txt -sha256 a36ab46c8b1a74a480a1c51d6a5af08b643e870c6d247f233bc97c97c8ad2098 ofl/tuffy/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/nothingyoucoulddo/OFL.txt -sha256 b5c776129b160163c84620b35fd45dea45edf49789cda5a94c2290c230581e0b ofl/scopeone/OFL.txt -sha256 dd028a807788d5e22e9f8cc18f026cda23369954673658f2ecc7d30bdb364b89 ofl/sintony/OFL.txt -sha256 8928e999ff156e35852ab41d7a906598a8285acd3bcd81dff67213a6cd98d43e ofl/mallanna/OFL.txt -sha256 473c5e3123102434d05c66a9fc8b19cf285a3bf71cd8a91a41acef44d1448e62 ofl/sevillana/OFL.txt -sha256 22d1914919d3fe08b179dc31169fc743ca7eede7827b91a5d48c23c8cdc7cb81 ofl/anticslab/OFL.txt -sha256 026610186158060ad351fb20cd1452def5d35b2531634c090ce8cd1d9e9aeaf2 ofl/michroma/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/shadowsintolight/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/architectsdaughter/OFL.txt -sha256 61056041809e0ba18bf8b9d637a375ab1c725025428533d74d668d88b2cb8b89 ofl/simonetta/OFL.txt -sha256 0a852a06f0256a6684662663ccb1d8e08d131abd1f70cf8d972a344cf31aa381 ofl/scada/OFL.txt -sha256 f46c3ea04f38ea73c0731d73dfba3d7361d4b38970feb31a3558bd1b75e0656a ofl/lobstertwo/OFL.txt -sha256 f30a7045e4e21201182b2b9fc4e4b96189aaeaceb2c8e9b68d8bd3dc4e3c5a27 ofl/greatvibes/OFL.txt -sha256 9bc1eb1c679510b32d2e3f5f4f3b47726b1657aa121494aa68ba0b124a3c3a53 ofl/ewert/OFL.txt -sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode39/OFL.txt -sha256 359671bf16c00cae69cb66d041296b2adc7a4becd73a463cb8c5e101d97c7986 ofl/arvo/OFL.txt +sha256 ec1d7de447a90e4b6d8f2b4f95c7f89a70e315fdb41969bc716059e4f2461fa4 ofl/clickerscript/OFL.txt +sha256 0b1bada9befa95a40d55830fe83fc7f8064e245fea33bdf0f96f57848f3866fa ofl/codacaption/OFL.txt +sha256 0b1bada9befa95a40d55830fe83fc7f8064e245fea33bdf0f96f57848f3866fa ofl/coda/OFL.txt +sha256 35dca6122235851d236bd861124f4a893d409eba021cd8c6a292a19df0f4640d ofl/codystar/OFL.txt +sha256 5c289da4a19f054ace8e31a144a6a254601898cd7faf9eaa301141afda0adbbe ofl/coiny/OFL.txt +sha256 574430e571a6928624f4bdf044420f7547a26309b7ebf6962296d33294e0a1e0 ofl/combo/OFL.txt +sha256 bc85bae0b512b799bbfb2b916e4d0a34cfd963d09778cd783e248b479e67760a ofl/comfortaa/OFL.txt +sha256 162a3b5c72cba845280a6f887c11d02984540b924510138c8b1eb473bcdafb6a ofl/concertone/OFL.txt +sha256 2492bb8645caaf622bdc3e880cdc9b069921e7341346d7b193666c866a1935d0 ofl/condiment/OFL.txt +sha256 08a12877eda24767239f26b527bfce0c515efaf623c66da6baad92a6d5315e9a ofl/content/OFL.txt +sha256 90bd333a5cf0ed09264fc3e559d44979373f6c3d983b0f65cc46e952b4eb61f0 ofl/contrailone/OFL.txt +sha256 354b4be0340cd58e381fdf58793a108897bf944a7f8faf9e877c476ed6c730d1 ofl/convergence/OFL.txt +sha256 c832a4230a713d080aa2f2544d9a298ed911f689b2c48f7f276a0196b16d2b8a ofl/cookie/OFL.txt +sha256 7a1d085067cd589026b256dd85af1eaa1087fa0f3d468192724c5138cc14d894 ofl/copse/OFL.txt +sha256 aad1e82802172d4c1d22dd015a5b8b4275e5665a49c1df54ed64716fca7ae194 ofl/corben/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantgaramond/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantinfant/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorant/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantsc/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantunicase/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantupright/OFL.txt +sha256 0836fd874230b17f840efcf7d3bb529f5a7b5befbfeef94478519cfe2d8551c2 ofl/courgette/OFL.txt +sha256 c972795e48b096b6d4e3a947b0bb21c1baf1922a6e07ff9ada587c058f228740 ofl/coustard/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/coveredbyyourgrace/OFL.txt sha256 c09e3b81d9cfeec46bc29a3374000e8ad013d694bdf24a288088491dd4cd5c69 ofl/creepster/OFL.txt -sha256 29bd0cfd0fb2a45f9b057c834a057724bae1f63b525a8ac83d3e7525706d9f80 ofl/inconsolata/OFL.txt -sha256 85814924eca98e1fa530901cc5167d0012aaf31122f9570d7e9755443dd9335b ofl/siamreap/OFL.txt -sha256 223fa23e8419ee762c662e0faf912dfcf386fa7093ac9ff690e380ce1993ba55 ofl/asar/OFL.txt -sha256 a0369b1d5f654110f2fe101db56a02d02806f1e609ab233368bc573ec45050e5 ofl/butcherman/OFL.txt -sha256 4f8b437578b20bff261adfe6c02f63bcf7dbb6a45ab37804b3547e5d5f44927b ofl/nosifercaps/OFL.txt -sha256 793891edf1f4f4f35b52fcc9706b03f779c7ea18ab8e9e441242d63ef0279488 ofl/autourone/OFL.txt -sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulhangangcondensed/OFL.txt -sha256 1c023b4aca0e441c55c45c86cdff57fa524a96778f291d9a29a4ad777b70e2e3 ofl/arbutusslab/OFL.txt -sha256 de61c87e08286ad3215398340e9403125ab03c91b33bdf29de6d3e8a386d2d28 ofl/dangrek/OFL.txt -sha256 53ad6a474f68ddfc3fe72449de3ede4d3f033b2f24b77833b1d56edf505486d2 ofl/sura/OFL.txt +sha256 4938e917ac54665be1dd862f54634d991b39c5d1eef69345d66a5089e401bfb4 ofl/creteround/OFL.txt +sha256 490b8f3acbce2331adc9b9d3e75ee6fe07946fb29af429a300c7d066b1250b2d ofl/crimsontext/OFL.txt +sha256 eba176d3ae86af6b41e9b744e4d18fb56e2a6ad671381bddb61fabb86b1d39c1 ofl/croissantone/OFL.txt sha256 247edbf968c0a5b8defd6a9e420080a8bbca6ea002bfb326d12a472a6f95637b ofl/cuprum/OFL.txt +sha256 1a2debd5ad8e656b26bb3b29213caa8f7e557a2f31454b11ebb6c3e3b59aa5d4 ofl/cutefont/OFL.txt +sha256 bc4c7eb365ea342b1a027fb8417fb0152f5d482a2e31c012fbfa29b668827b04 ofl/cutivemono/OFL.txt +sha256 1404cc9279d4ad713a372a5e1e1d20d7b9b000d2397c8529aeb3df5402446600 ofl/cutive/OFL.txt +sha256 a21fa252efb7a1ff84de6a36df4386959668aa046f28161b4047829f7d9cd1b5 ofl/damion/OFL.txt +sha256 866669fde730bf2785f44905ec162f05f2b8d9f6dcf366aca99360fedbfe502c ofl/dancingscript/OFL.txt +sha256 de61c87e08286ad3215398340e9403125ab03c91b33bdf29de6d3e8a386d2d28 ofl/dangrek/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/dawningofanewday/OFL.txt +sha256 cacad5bf45bf5c81f4b6cbd114261bc8a08f6110b66a4c6fad8bbc16618a3096 ofl/daysone/OFL.txt +sha256 64ecb0c6bf5cd80c3da76035c00671272966afbd32ffbdbcad95a8b56501fb08 ofl/decovaralpha/OFL.txt +sha256 f139d6f43d2a63a8fb3ded48b8ec747d9d59a7fbb13d077d9b96ac88580bc1ad ofl/dekko/OFL.txt +sha256 d8eb8611f8c98d20cbf18a28425652d6022dc2a5cca15026b920f1f2bc92a612 ofl/delius/OFL.txt +sha256 d8eb8611f8c98d20cbf18a28425652d6022dc2a5cca15026b920f1f2bc92a612 ofl/deliusswashcaps/OFL.txt +sha256 d8eb8611f8c98d20cbf18a28425652d6022dc2a5cca15026b920f1f2bc92a612 ofl/deliusunicase/OFL.txt +sha256 19e186a088a50835b38b59409a76b8df2d0252ce114a99e79e306231bbe253b7 ofl/dellarespira/OFL.txt +sha256 2e2fe5f1d8916a5160060594a96c1a5116406d26847afdbd09618481e2abd6fc ofl/denkone/OFL.txt +sha256 bac36a7fcafc5702d9d928bb81c7de9f8739eaa820e546c3d2cc52730b652af4 ofl/devonshire/OFL.txt +sha256 9e53298e3629e00ae4c31531cca09051ddaa654a5de4f7b55e596132fff86e1f ofl/dhurjati/OFL.txt +sha256 00a6fe8dfdc48d6206bcc4f10a765515a73433dfba7255eff966963beb26facb ofl/dhyana/OFL.txt +sha256 36e2f1debc9778bac79fac1a0cb5a5ef51c102f00b58ef7d8a05324144b68166 ofl/didactgothic/OFL.txt +sha256 cdf5fc4014abe91588666a9592ec86200e5a4d743b4b6e05d28d47e850bbe5fa ofl/digitalnumbers/OFL.txt +sha256 ce0023bc03e1428feb5abfaa939b601d2d827ee5a6c84a2657993a7b16c5290a ofl/diplomata/OFL.txt +sha256 ce0023bc03e1428feb5abfaa939b601d2d827ee5a6c84a2657993a7b16c5290a ofl/diplomatasc/OFL.txt +sha256 de5ff32211a4340b01477af39ee339d639438955e409f79b666d4b9207f3c92c ofl/dohyeon/OFL.txt +sha256 dcc832bd71ea62cbf97f06327a1b5442905b49ea446801421d71f7d1362db215 ofl/dokdo/OFL.txt +sha256 96e65d9c227a972e38035b849bba1e8b7879eecbb52f278be1e71dd481187f02 ofl/domine/OFL.txt +sha256 8aa063e3a1299c5e1821f386f5ca8bc157ac561bd12c739ffa81c6f0821450c0 ofl/donegalone/OFL.txt +sha256 4342add6f0f2261f8579f31c10a55938930559703eed18be4a33b74eb749d298 ofl/doppioone/OFL.txt +sha256 92f750829545386017c3418d890769778b76fd01dfb41c62fcbb0d42ba0303eb ofl/dorsa/OFL.txt +sha256 faf47a1ceab38b07205b9d58fbbf9ac39772ea47cc731aca7816276da7226a22 ofl/dosis/OFL.txt +sha256 3621f156cc7a26e0a9cb413332e0bb35a0e76b36dbfe0b1c885b565a7bf3051e ofl/drsugiyama/OFL.txt +sha256 9df0700fcd0ef48abd74459a8650d35f59397fbaa00c5b00527e57cc155689c0 ofl/durusans/OFL.txt +sha256 ee2c069b30f3e9a5aaf52357117ee3443ee27f17c29a2ec68861db283379905c ofl/dynalight/OFL.txt +sha256 3184f6a99f589c78740fbff6ddaaabb43b8cc2f3852da36e60aeb024ea8d6f00 ofl/eaglelake/OFL.txt +sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/eastseadokdo/OFL.txt +sha256 5946eec3a7d3bda02825930156e4716198e7753641dd3303a3e8c386c8011909 ofl/eatercaps/OFL.txt +sha256 5946eec3a7d3bda02825930156e4716198e7753641dd3303a3e8c386c8011909 ofl/eater/OFL.txt +sha256 6f9e3a1c51f617e7b110862426204ec7a56d8c6d2f731373b5de6b8d069099b6 ofl/ebgaramond/OFL.txt +sha256 1b3b78123c94dcbc9fd4ec174317336c8c93423da62dc946b8852553cb13ddee ofl/economica/OFL.txt +sha256 b4cff421cb89d1e32036e818f291f8ab0d3294ada70b5883d5bcc6470b869702 ofl/eczar/OFL.txt +sha256 2ee5e8e47cd7d08f60bb9555f72b25912c9e81b13f5bc9a0551ddf943da6ca98 ofl/ekmukta/OFL.txt +sha256 c4955dfe15a5db10326aa58ef767460c42cd12a3acdb3e698eee2704eb373d94 ofl/electrolize/OFL.txt +sha256 64a73da7af818283168543e24bd214aded1bfec06f013bf9cebc20064a8560c5 ofl/elmessiri/OFL.txt +sha256 0c3f4763f49c2cd37757a2856ad470aec6a416981ac6d6e3f900c1128be39de7 ofl/elsie/OFL.txt +sha256 0c3f4763f49c2cd37757a2856ad470aec6a416981ac6d6e3f900c1128be39de7 ofl/elsieswashcaps/OFL.txt +sha256 8f94e5901c371537043e0c762c827ce33963e7bd186fbea0abafc035ef7120a7 ofl/emblemaone/OFL.txt sha256 0623888cc2391c6c9853c04eafa7f687fef1a8328bbb848feab05d9e2a98764d ofl/emilyscandy/OFL.txt -sha256 1c43e70c49ef7a9b35fcb3758fec8ec5969ff1274c4834b4466b9014f3b9f55f ofl/volkhov/OFL.txt -sha256 cc31fe974951d56d542f33782d07b2d5577a4afdddba89744e6bd69bcbf3a853 ofl/karlatamilupright/OFL.txt -sha256 cd354a6084383c50398fae709ebe3a5dd98b947c486c1fe9de5f89caf81f980c ofl/snowburstone/OFL.txt -sha256 8a59454b7f1cc0b1fa29805781769047e5c269aa629e3422c2d7fc04b89e5c1f ofl/rosarivo/OFL.txt +sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesanscondensed/OFL.txt +sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesansexpanded/OFL.txt +sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesans/OFL.txt +sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesanssemicondensed/OFL.txt +sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesanssemiexpanded/OFL.txt +sha256 ef0bdccd20de76d517fb3939161d05ecd5808382fb8fa82cde5fcdb3adcb8029 ofl/engagement/OFL.txt +sha256 a8103c045a88bf9b28dcd7eb60a6662008f49afc0f3721bc46aaf761fc0409e7 ofl/englebert/OFL.txt +sha256 0e74984817cdd51dbfbd8309022aa75f733e80dff0cb1d26ad2157e90446ba97 ofl/enriqueta/OFL.txt +sha256 d484e0dce424a9e360adabb568b6773db5f1566df71ce3e9dcd66a6cc2c38d33 ofl/ericaone/OFL.txt +sha256 5bbeae56b9db61a9bf85b64d5ed9a74cfcf9ee3e9b005bc2906859ddecd5eaa1 ofl/esteban/OFL.txt +sha256 58bbdbe5c48dd1d7cfd658425a455c29811181873d3a46a4932c29e5b0ec16e6 ofl/euphoriascript/OFL.txt +sha256 9bc1eb1c679510b32d2e3f5f4f3b47726b1657aa121494aa68ba0b124a3c3a53 ofl/ewert/OFL.txt +sha256 9e2d92fb24b4a548ab030c509ba88267e224f2523728ee9bb35cf334811106bd ofl/exo2/OFL.txt +sha256 2da0fa5707f1fab1c802969b098fd1b92ca0b3b233a80e27fca416647c064dfc ofl/exo/OFL.txt sha256 de71817dafdecfee21268b8c4f106146e1d00988c4fd6546b10445eb26b24cc0 ofl/expletussans/OFL.txt +sha256 f2c0dfa02d6f5c444b4babd7bc0b43be77ea85706e8524342516bc41e43c2f01 ofl/fahkwang/OFL.txt +sha256 9ca8b9e5db7184105da255bb110023cf1cce6caa56186341bb7b09ba97b20ba5 ofl/fanwoodtext/OFL.txt +sha256 afc1cda4eedcfe27c8cf30fe3e9879587cb43cc2882d4cb91dd3e3fc9eecd0bf ofl/farsan/OFL.txt +sha256 a7fe1f3d23034092b015aaeb53d2ecbc9e592be96b10bdfbcf8700ec6a6ffc97 ofl/fascinateinline/OFL.txt +sha256 a7fe1f3d23034092b015aaeb53d2ecbc9e592be96b10bdfbcf8700ec6a6ffc97 ofl/fascinate/OFL.txt +sha256 2cd51b11e821dad2fb7acc54d68bd9a139fc7a1207e17c432ba9ce49bba3d493 ofl/fasterone/OFL.txt +sha256 19849b33c59d0cffeaad0dbdc38db767e95e03cd36fbbfe6b67a9878aa5758df ofl/fasthand/OFL.txt +sha256 bba4a13f03d0fd5b476cc148feda6895dd8d65f34b2107ba9d010ad9539d6c0a ofl/faunaone/OFL.txt +sha256 f3bc8767749fc133d9b35e84ca024b82f1ac4d1b38deca0adcf8300892303022 ofl/faustina/OFL.txt +sha256 f3bc8767749fc133d9b35e84ca024b82f1ac4d1b38deca0adcf8300892303022 ofl/faustinavfbeta/OFL.txt +sha256 17d7a7f5d9f0139535ecec516988c4c73a2ec0f225987288f3fd6ee2622d4450 ofl/federant/OFL.txt +sha256 e30f893523e50ebbe07acd783ae29c7d604e6208cae7646d993e8528ce13e35a ofl/federo/OFL.txt +sha256 75c7ccf4f537a7a3ebbedd299c1d2542e13d3b27aaf76a0a2d9fa91a2a8fcd3a ofl/felipa/OFL.txt +sha256 8586a7e75681c7297af4cc0641eb2b29e882c5187fe189a1160eceb4e95d4163 ofl/fenix/OFL.txt +sha256 d336c098ea798bf14de111cd90dff7d6bc340852405246511345d0f8564fe76e ofl/fingerpaint/OFL.txt sha256 d1829ff3455bbf3b9d13dfb0a57758a863107c9108aab48558f26f37f1094180 ofl/firamono/OFL.txt -sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/rajdhani/OFL.txt -sha256 26e4c39c4905bd7f1068b0bab008f5a4a9b945e2d7fda31e52719fc5aa9655bf ofl/vibur/OFL.txt -sha256 49f2a11271968a2ce019a43bf5401d1593652a18f27ea59037ff5e39856d2df7 ofl/changa/OFL.txt -sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/maitree/OFL.txt -sha256 2758cf7a872827f39661cf8cc24188113c030447aefb5ca7145993650076ca8c ofl/ptsanscaption/OFL.txt -sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindmadurai/OFL.txt -sha256 f354ef1e7256644b320c5e1d9a07a819c2e2b930166003c96680894f9fba81be ofl/mrssaintdelafield/OFL.txt -sha256 5c289da4a19f054ace8e31a144a6a254601898cd7faf9eaa301141afda0adbbe ofl/coiny/OFL.txt -sha256 0886960207bb5bcf81a46ce663bab6c52a742dad80ee2cff5cbcda6f1df88568 ofl/rhodiumlibre/OFL.txt -sha256 8f94e5901c371537043e0c762c827ce33963e7bd186fbea0abafc035ef7120a7 ofl/emblemaone/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/gloriahallelujah/OFL.txt -sha256 24af1fb3ab8dfeddc83162b7f3b6c1104149b6c3022f1aa948ef4f8ff7e6bf7c ofl/poetsenone/OFL.txt -sha256 f3ee3eb20a9d565bee2bbc0d616de382a113327d7506565b2f3d3bee5f489375 ofl/bowlbyone/OFL.txt -sha256 70f664de65e7bb62e1ac728f20a9bb28de7fdc18be594186137a9e15ce9dcee5 ofl/niconne/OFL.txt -sha256 e604b133509815768e6ec4738bb04844ce9a23e80099d2b61e5d75ef46acbeb0 ofl/ruluko/OFL.txt -sha256 42ad5a49e171bec80308a1c9e8e66b03e638b3ea65af7fafa6fc0e42f45e7626 ofl/suravaram/OFL.txt -sha256 4fe81901e6f84cfce1145c715e931352a9a12aa7ac75cc193eb523c0cb0e5eb5 ofl/lohitdevanagari/OFL.txt -sha256 2937c7789b0e4fdeda6eafe93164a2ab36e20386704c4cb6f87b1deb620ec0da ofl/leckerlione/OFL.txt -sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexmono/OFL.txt -sha256 fce9f9e2fb268507a89fceea0b3eccc044f39fc3492968a04fd9e04df5ae95fa ofl/sourcesanspro/OFL.txt -sha256 e12a3e737fa75c0ee072d965b6185710f35e38a4f7a0793ebc66ba14a216109b ofl/meiescript/OFL.txt -sha256 d2f9c74aba2716333b0a3d283083f9fdc93b2e060c5ae094c79e97e8cba9d7e6 ofl/squadaone/OFL.txt -sha256 5d6517d497bea6116ed35079b30374043f6d90b19c8d97fc4e5ec48520d1e08b ofl/zcoolkuaile/OFL.txt -sha256 f8a20490ee8ad3adb2205ea44b279b19099a3a1d6b62849e90b4db20a77deeb8 ofl/brunoace/OFL.txt -sha256 75b2a5f39a53b4cf9286eb3d2cc1f895a8f3442680013c77124121bc347a6448 ofl/lemonada/OFL.txt -sha256 715ba72697e14daa9b29a333545f69bde7c497b9f77d0a2a4c4a5a752d961801 ofl/marcellus/OFL.txt -sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode128text/OFL.txt -sha256 eba176d3ae86af6b41e9b744e4d18fb56e2a6ad671381bddb61fabb86b1d39c1 ofl/croissantone/OFL.txt -sha256 12404fcefccc3cb964cb2406510ba679b30f7d7ae689db08df5b455ae24b3feb ofl/paytoneone/OFL.txt +sha256 8f24842e9174beda18a556c2ae7d54f5dc444340c19a3a9ef77e23bca366adbd ofl/firasanscondensed/OFL.txt +sha256 8f24842e9174beda18a556c2ae7d54f5dc444340c19a3a9ef77e23bca366adbd ofl/firasansextracondensed/OFL.txt +sha256 8f24842e9174beda18a556c2ae7d54f5dc444340c19a3a9ef77e23bca366adbd ofl/firasans/OFL.txt +sha256 2bb0c0200723d923f8e20d08b8bd1c7af7f5cef8bb2d63ce44bd268b54334621 ofl/fjallaone/OFL.txt +sha256 df9fcd8f62ae79aba7fa5b0563a08dfede1fa0909d668287d70c395d88f5fe02 ofl/fjordone/OFL.txt +sha256 e3ea566dbf689a9110b2094f9f2e5d16d7ec31720147651efc1005ca20420dd4 ofl/flamenco/OFL.txt +sha256 4febcc8d6e539db3e0c652da87bc8704f6d48e71e07f8ddb0974094a3de8da81 ofl/flavors/OFL.txt +sha256 382232d1add5623ba5b06394afa071f4eeecccb6d2b2bd02cfecff4a8a45065a ofl/fondamento/OFL.txt +sha256 1bfe7d2aca99042eabf37079152fef8abdda2c36dad454ae89b858a3cb1078c5 ofl/forum/OFL.txt +sha256 09685e225ba9b697b2ccd2d4098cac5ecbed0679960605258a271af60749887b ofl/francoisone/OFL.txt sha256 e2a176ce310235bf281f1124454e21331390ae1b4c429a2d80ae642d333a5a7f ofl/frankruhllibre/OFL.txt +sha256 60fea3a0da19167a3efb9c3792a3a15dc9235405d01bbec1233fdf3e79c74296 ofl/freckleface/OFL.txt +sha256 f8e2b58dd7a8c8e21e5d744b45876bce7e010a647c071c1ed42ff0e618d4ea59 ofl/frederickathegreat/OFL.txt +sha256 43186c592361336474683e302dcc988831a53857bef188c4466f6b45dc238f84 ofl/fredokaone/OFL.txt +sha256 59b91c9912b80714852a43897cbc9414d6457e22072dc99a4cea6e2bb4f3c65c ofl/freehand/OFL.txt +sha256 a40c3a6d0c968d3a10b17a2614606de6f20178deccc2447305f31fb106a57fb0 ofl/fresca/OFL.txt +sha256 c2368518f12463a93cfed44e1460f36085dc60df06f415ee9b0319809987ccce ofl/frijole/OFL.txt +sha256 e43f121c788cca4a14049e58864e28021174b055710ba38e0964e816dbf905af ofl/fruktur/OFL.txt +sha256 5951473ab31533bfe1452bbcece47f237a5546c7e7d45ff1aec0289619623294 ofl/fugazone/OFL.txt +sha256 64dc6a7e2a77aa340c49c3e0829703f540f8d64afa506f44eaa6741580716d0f ofl/gabriela/OFL.txt +sha256 53a9ce47085d9fef613c7ecb3730dc80d25962510bbea231b89564f58240f251 ofl/gaegu/OFL.txt +sha256 eb6c70cb6b575ad22df022d454df7a20582915e6e8da19b579c6cbef37a26bb5 ofl/gafata/OFL.txt +sha256 6a809aeba8af2115ca4b4c3597b1fbeb836a45f0489070f330f9c2dff870da8d ofl/galada/OFL.txt +sha256 d102f22055cfa31a9659228483de3c726010f0b3b416b78e3cbefcb54816e812 ofl/galdeano/OFL.txt +sha256 117fa195cff980e3b10fd8e8e21658c6ec954b0886647970a03c9694d3553b69 ofl/galindo/OFL.txt +sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/gamjaflower/OFL.txt +sha256 c6b9c7322fe0203d4d8a0f98541136d8d76da76b92c79d206b09991b98338cc8 ofl/gemunulibre/OFL.txt +sha256 bd77eae571de83ba3884c74c7983e8ac5cdf858badc36906179346dcd7e82454 ofl/gentiumbasic/OFL.txt +sha256 bd77eae571de83ba3884c74c7983e8ac5cdf858badc36906179346dcd7e82454 ofl/gentiumbookbasic/OFL.txt +sha256 cd059851dc2abcd2865ae318e8b949736f958794210acb90316530fd100fc904 ofl/geo/OFL.txt +sha256 013e33b6b2919fd0ffbdde6080a1c0f4521689fdce0f4876a59cf49ff8ae31c0 ofl/geostarfill/OFL.txt +sha256 013e33b6b2919fd0ffbdde6080a1c0f4521689fdce0f4876a59cf49ff8ae31c0 ofl/geostar/OFL.txt +sha256 b7574cd4c76770e5e3915d16bd93f09663bd77cb041a4ec09d824c52b540529a ofl/germaniaone/OFL.txt +sha256 9e19c0d2e7e7adcbe9dfd0749e34dda41e7e356e0f2cc082d61d2fc9b6e0cef7 ofl/gfsdidot/OFL.txt +sha256 bfc205682f5454b42a732ec857b665293ab8bc6f0ee901a0967219ba7ffdb190 ofl/gfsneohellenic/OFL.txt +sha256 bd22e766af8f8e58eb520cb4fa73538826d04f7371b45e82295d22d1e32a4e58 ofl/gidugu/OFL.txt +sha256 d324289a26909a519fb16c3d468a56ab909ad6d9070cac5742e5d59ad9bd9815 ofl/gildadisplay/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/giveyouglory/OFL.txt +sha256 2950994bcfb8e903f0539d28a8ec4af077e0aa1fa7946c33c912d2d6969c2971 ofl/glassantiqua/OFL.txt +sha256 638774cdf8233b5ddaf9ebee1821e9de1d5d59c335d8ee3ba0b47fb17833b502 ofl/glegoo/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/gloriahallelujah/OFL.txt +sha256 042a570b306ab893c6168be7e6e79bbceae46097141357ad0af7ef8bb179ed7b ofl/goblinone/OFL.txt +sha256 fd20b82eb12d16ec31a58fc44f7e6c533b14b425b569d83f616a1f7a9a401e75 ofl/gochihand/OFL.txt +sha256 860cbfdc9dbc3f0e8d35af80c31e8f20945bff393d4f483dfc157469e01d321c ofl/gorditas/OFL.txt +sha256 ed95c33f80ccca002e3a360b683c43368f9c5eb024e5b992abb51af3c10b59bc ofl/gothica1/OFL.txt +sha256 58bdc69f4c6177125c6e7cdbc78f710f5f9952f11bba7bd5b17bd7ef169d731f ofl/goudybookletter1911/OFL.txt +sha256 742a6a4386db47a2987c7c3b4aeedfb5adedfb3356c118de450a664735686535 ofl/graduate/OFL.txt +sha256 4c0a1150a363b42bd8681ff4a00315ac49510a944c4c9978237ff8b90a8920a5 ofl/grandhotel/OFL.txt +sha256 9860b97028024085855e503e32c1971bfd603374641cd018c136433ebcf5a338 ofl/gravitasone/OFL.txt +sha256 f30a7045e4e21201182b2b9fc4e4b96189aaeaceb2c8e9b68d8bd3dc4e3c5a27 ofl/greatvibes/OFL.txt +sha256 879ec56fcc9a961937fd24d542b3b7b3f2b8cb3236b7351e62d16719e25de14c ofl/griffy/OFL.txt +sha256 4579982a484a9745864de2cda666fd7b5017f9182b74dbb4cd53d84c1d1b2231 ofl/gruppo/OFL.txt +sha256 315a576cbc7ab61c9e347b5725893bc8498fdcb8fc10831793c6864bc2cefba8 ofl/gudea/OFL.txt +sha256 391ac3126dacc95b92a8f3408467879edb3245344bc411530a30d5aada52df92 ofl/gugi/OFL.txt +sha256 2bd35914efa381c80f9fb62d6ea7d736d3c0739196a3783c3122593c3408392c ofl/gurajada/OFL.txt +sha256 2a7b0a41ef401e4e0e955280b07c0a2698932d56aad3181089bdbbaad5760491 ofl/habibi/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/halant/OFL.txt +sha256 b43e2530c7af69fe1800f180d210b6d2745915ed4e0e404495038c861bb6dbf7 ofl/hammersmithone/OFL.txt +sha256 1f581506286e960436548dba0701aab278f7e67f2adc6bdae2958923867d1e64 ofl/hanaleifill/OFL.txt +sha256 1f581506286e960436548dba0701aab278f7e67f2adc6bdae2958923867d1e64 ofl/hanalei/OFL.txt +sha256 5f1f5510eff7922864bf326ffa1d4a62f01add5193e9367b542378e5a808b500 ofl/handlee/OFL.txt +sha256 d724dea493d89a7a9681186e2fb462b7cd551674960ee4142ae6b325261b5115 ofl/hanna/OFL.txt +sha256 de2246895f0ac21fe05b095d586d36cbc9f987ebcaed1e050c61e69667caf1c6 ofl/hannari/OFL.txt +sha256 1a5e3792a425687a523fc7c0f8ab5d01d58bf853149d57f3dec4b4fc6932fcf6 ofl/hanuman/OFL.txt +sha256 bff4e5087ece354afccd073621197bbb7dd9349943b5ee6aa12b1adf0b133081 ofl/happymonkey/OFL.txt +sha256 757f49d04406c93c40d1781e7867fd85a1f9fdfbfe03a5ae332900da802fffc6 ofl/harmattan/OFL.txt +sha256 7527e73a61f742a0dd050ab2fc7333de71ac7886023c100bca66a0a93b37498e ofl/headlandone/OFL.txt +sha256 a90a8ebe28f3c2905a44557166010a3d219ffcce1703c3c3280ea8728d5e2ebd ofl/heebo/OFL.txt sha256 2d83a49d05906b5e23285168e72c0d019fc15e3ad110376f640feeeda34c27d1 ofl/hennypenny/OFL.txt -sha256 d7d8074c2dd46804990c184e25849947ab76c5ac7607fbf3966543455769bb73 ofl/yeonsung/OFL.txt -sha256 13831d02389d917d22fcfa6c79f98f8acbf61d230add0e73a4d4dc5f3bfb9e56 ofl/chakrapetch/OFL.txt -sha256 c39e284759a441660d4c4d852c537e271d0fd5c301fe46d065a972b6ee144ba8 ofl/aksarabaligalang/OFL.txt +sha256 6e54fc004ebeb61322ecab1d86334ebf69e7051632d48eca489beee505d70762 ofl/hermeneusone/OFL.txt +sha256 50265d2b41f8ad2dd350532d2286509aa694021b4aa0490b06f0068e4ed78c27 ofl/herrvonmuellerhoff/OFL.txt +sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/himelody/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindcolombo/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindguntur/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindjalandhar/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindkochi/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindmadurai/OFL.txt sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindmysuru/OFL.txt -sha256 0da6a3e5b24a9fa04085c20a2a1d3101eeb1e0bff56a2291f407187e1b2adcf2 ofl/mrdafoe/OFL.txt -sha256 a815f65bc72d90494b01842d3171f7cb0f9f935e023d9cc260904d221ef1064a ofl/b612/OFL.txt -sha256 e2f2dc7a667954c16a919acff5351e8ea89813d10f5a7504e1f4668fffbfa14b ofl/barrio/OFL.txt -sha256 8c495ddd455def58a45310376a747bb61bf86e4b071cc527b3618bccd3ef00fa ofl/chauphilomeneone/OFL.txt -sha256 b687f920fe20fe48d8f7709421e5deeb4becea295c80ce62aadcffc54132fa1b ofl/stalinone/OFL.txt -sha256 a90a8ebe28f3c2905a44557166010a3d219ffcce1703c3c3280ea8728d5e2ebd ofl/heebo/OFL.txt -sha256 c267a00c9476c78a2336d7b372b536885b8b24173a29ed53496f67a742c14961 ofl/alefhebrew/OFL.txt -sha256 2cd51b11e821dad2fb7acc54d68bd9a139fc7a1207e17c432ba9ce49bba3d493 ofl/fasterone/OFL.txt -sha256 ca424122f42a8d8442bc4cfd902f5f027ea67b5417705f5af1d1235927781720 ofl/amethysta/OFL.txt -sha256 bb8fac04b8535d39fb9851c9d886248d25bc0c82000066c92dd577c3369f512b ofl/chenla/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/lovedbytheking/OFL.txt -sha256 53a9ce47085d9fef613c7ecb3730dc80d25962510bbea231b89564f58240f251 ofl/gaegu/OFL.txt -sha256 9d96f445b6e9c701428811d0177f894874f8d6f07ecc30d568c506542368f3ff ofl/share/OFL.txt -sha256 9465823369fbe1ae0b5a3065021d53ef8c56e113e664229455dc80b237fa6a07 ofl/nobile/OFL.txt -sha256 0dd8e32457e18621737b593ab0fac49905cd948a078ed0e64f4890df714a1dfb ofl/amita/OFL.txt -sha256 791936b10381b512512317572fb5eee91bf503344d52c37335e402fc1cf19992 ofl/reemkufi/OFL.txt -sha256 898a9cf80636e86d6b6009b96795fda29e431ee701c28c36f274a7e8a7d8246b ofl/rubik/OFL.txt -sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloothambi/OFL.txt -sha256 382232d1add5623ba5b06394afa071f4eeecccb6d2b2bd02cfecff4a8a45065a ofl/fondamento/OFL.txt -sha256 0c3f4763f49c2cd37757a2856ad470aec6a416981ac6d6e3f900c1128be39de7 ofl/elsieswashcaps/OFL.txt -sha256 d849309d514833fe3d7a610e10f6cd5d99b4f9552bfa304969acbf89c66e4422 ofl/smythe/OFL.txt -sha256 53f9c99fa3d47f7d632a42ee7bab4a834a60a744f6026d676c3a223cef2b2ef3 ofl/vollkorn/OFL.txt -sha256 a1077580b649c7b0e05ea0e9369d48687b4ab1c585573bf86b0dcce7dde177c0 ofl/junge/OFL.txt -sha256 a9b40759b5821a0c2ad07cbd2c2a61dca4b3e222e6370a7d5bfb6b373bf4fb10 ofl/sunflower/OFL.txt -sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindguntur/OFL.txt -sha256 84b11cc0aac8fdb93af94872bc4b8f015caabf4919db63ab7f916ccff8e52f56 ofl/josefinsans/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/dawningofanewday/OFL.txt -sha256 f27cbf1055db7b9dd80bce5cd12b462f2d9ed7313d84dd8bfef1ddd2b61bdfc5 ofl/chicle/OFL.txt -sha256 aba8997e16b1e3888c6e855ba883c70d96bd4375bff8cb9c7ce0f097200f74b8 ofl/abrilfatface/OFL.txt -sha256 8f24842e9174beda18a556c2ae7d54f5dc444340c19a3a9ef77e23bca366adbd ofl/firasans/OFL.txt -sha256 d484e0dce424a9e360adabb568b6773db5f1566df71ce3e9dcd66a6cc2c38d33 ofl/ericaone/OFL.txt -sha256 1b3b78123c94dcbc9fd4ec174317336c8c93423da62dc946b8852553cb13ddee ofl/economica/OFL.txt -sha256 74584d937293a9cacdcd2eb05851b71aa1527901c18b87961d2f877c77a1b486 ofl/kanit/OFL.txt -sha256 a6a74417db7c37f69495da556a3eb86a22a784ffb0131e3e0a5a47ce8d7fa5fb ofl/shanti/OFL.txt -sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldoublepicasc/OFL.txt -sha256 963f283b5410c7df62067a35cd7def0802c583a880e7cd7e326832ec3985ec87 ofl/spectral/OFL.txt -sha256 11bdf9c7abd81f46a88b0b017d78a0e51f451e9dc0c2272813aa9f456ee886ca ofl/kiteone/OFL.txt -sha256 6827fa45930d5847fca5b3d3898b3d87a229fba772a5b6c5bc33bf73ec83478d ofl/khmer/OFL.txt -sha256 5ae0cfa62a70251d9a2c3c5430ed3bafa480005f23e4b9525488f2318e5c10ca ofl/mrbedfort/OFL.txt -sha256 34b8afbcab7508bea23847288332a8c05a507364ca6f0c8756ce560d7d59d506 ofl/mada/OFL.txt -sha256 b67eed9578defb59cc4ff4b58428fb816786e499e84cdeafca54723b055c169e ofl/viga/OFL.txt -sha256 afc1cda4eedcfe27c8cf30fe3e9879587cb43cc2882d4cb91dd3e3fc9eecd0bf ofl/farsan/OFL.txt -sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesanscondensed/OFL.txt -sha256 9ca8b9e5db7184105da255bb110023cf1cce6caa56186341bb7b09ba97b20ba5 ofl/lindenhill/OFL.txt -sha256 a89ac8075be60f2beba79bed3fa253415a373dbdc3bb108b23f4854d0dd495b8 ofl/pathwaygothicone/OFL.txt -sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindjalandhar/OFL.txt -sha256 f22a2beea88d631a620b15683fd03e79f13ad3297ad97fa5e42283c0b1a3a038 ofl/marckscript/OFL.txt -sha256 faf47a1ceab38b07205b9d58fbbf9ac39772ea47cc731aca7816276da7226a22 ofl/terminaldosis/OFL.txt -sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellgreatprimer/OFL.txt -sha256 d2f87f90d108a947f98c030d9d8e4bf27e761ce83f222453b9a7230c5fb309e1 ofl/novaflat/OFL.txt -sha256 2da0fa5707f1fab1c802969b098fd1b92ca0b3b233a80e27fca416647c064dfc ofl/exo/OFL.txt -sha256 f9e5dfcdb2947c0db70465668706b0617cd052b6f86e582dff8741d9e5cded0a ofl/yinmar/OFL.txt -sha256 bcb0bda74430ccc281a616a81d0a287fed5a423815b00b222e0b7f603f85b26f ofl/caesardressing/OFL.txt -sha256 a94cfd8d1f5c33f9a7506def359b907f3313f7008bb57fc893985963cd342f8f ofl/arsenal/OFL.txt -sha256 52caec7d90533523fa7da64e95faf90ea32a663ce21847a39234b61e18d25044 ofl/bokor/OFL.txt -sha256 ef0bdccd20de76d517fb3939161d05ecd5808382fb8fa82cde5fcdb3adcb8029 ofl/engagement/OFL.txt -sha256 0d75673e4c98de3e11337dbd90b05d0232edfcade5c1c02fbc0118c85aea25da ofl/macondo/OFL.txt -sha256 9cd20277e2c89d47e3997435e3a16539d20173d850fbb42474990f71642e473e ofl/matesc/OFL.txt -sha256 a7ba785ad99b6eae0444ab89910e512d4af9865937fddbcb5c72c4f59f55d6ad ofl/merriweather/OFL.txt -sha256 010cb216e8f3fbb2836fa3f38787a412b749352de546797f57c03c3bcfe46b1f ofl/nunito/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/hind/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindsiliguri/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindvadodara/OFL.txt +sha256 ac987f9cbc5b18d3239d88adb57a4e134049811d24ddda2f6383faa589fd2727 ofl/holtwoodonesc/OFL.txt +sha256 6b6c6721a30480a323cf33acf6a7703dfce46b846827a65f8ee96230060e3c3e ofl/homenaje/OFL.txt +sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexmono/OFL.txt +sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexsanscondensed/OFL.txt sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexsans/OFL.txt -sha256 cb8bbf7a86eefa8c146f24ae5be74fffa887ba83719ab3c87036be8e3d0191e2 ofl/montaga/OFL.txt -sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode128/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/overtherainbow/OFL.txt -sha256 3621f156cc7a26e0a9cb413332e0bb35a0e76b36dbfe0b1c885b565a7bf3051e ofl/drsugiyama/OFL.txt -sha256 fbb941b371c6348ee2572ce8c78fb66128a61885f960dec1906c4e44ca4b4d3c ofl/reeniebeanie/OFL.txt -sha256 9e19c0d2e7e7adcbe9dfd0749e34dda41e7e356e0f2cc082d61d2fc9b6e0cef7 ofl/gfsdidot/OFL.txt -sha256 812fc4af0c63d31e0e81cc153af74e397407b0630e918b8b965bcbb192bc0656 ofl/artifika/OFL.txt -sha256 e8ad3f3de5baeff6bac6e711d8c406e0a6b8a61d2944741532d8965d893a2681 ofl/pirataone/OFL.txt -sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantupright/OFL.txt -sha256 65f43260cf7e66b57ddca8d148384a6602e2c06edd389a8b3cf388045127b47d ofl/lusitana/OFL.txt +sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexserif/OFL.txt +sha256 2d62278530348951887211d79d1dba04acebd6ed3b1c413f6154702efea3ea62 ofl/iceberg/OFL.txt sha256 518962c41d4a5e96b0016bd8d8acc965413ea1a0102467e4955931e702b14a0d ofl/iceland/OFL.txt -sha256 2171558d2482764644a2f793696fa2e48c361730ecc87686b9a29082d6daeb10 ofl/khula/OFL.txt -sha256 d336c098ea798bf14de111cd90dff7d6bc340852405246511345d0f8564fe76e ofl/fingerpaint/OFL.txt -sha256 ea274e87939d38032b31fb741af75bff9fa3f8d4a8b652265f9e0ce1ad7e9f80 ofl/asul/OFL.txt -sha256 eb1992aec1cf892ec94ffc116d79b62c7cb03dc108141b94a57a4195d210b514 ofl/meddon/OFL.txt -sha256 9b584984f9db0ee30347391a76eff9c0a6b03dc450c3c6afe3757a2cb3a4db87 ofl/tajawal/OFL.txt -sha256 1dd84b611f4bed7f9ff9089e76a96337b187e6f283a4ab33bcb987f844f2c4db ofl/parisienne/OFL.txt -sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/hind/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldoublepica/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldoublepicasc/OFL.txt sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldwpica/OFL.txt -sha256 de08ff7a460541753999b1208f1254f1d31f16b421312aca4d4b8179d997de38 ofl/aleo/OFL.txt -sha256 7706a84d7e49e2273877106334a1eded8ae89fb5839fb81e0f2bb27c846f667e ofl/lora/OFL.txt -sha256 cc31fe974951d56d542f33782d07b2d5577a4afdddba89744e6bd69bcbf3a853 ofl/karla/OFL.txt -sha256 0409c6582424508453ce41648067efaacf0c790622918493d8f1d934bc5329a0 ofl/bigelowrules/OFL.txt -sha256 9e2d92fb24b4a548ab030c509ba88267e224f2523728ee9bb35cf334811106bd ofl/exo2/OFL.txt -sha256 f480fd19e7018942ecaf460f7a4ab9ccee0aec579abcb07d559dbede913864c6 ofl/alikeangular/OFL.txt -sha256 6ea7a3ef1d07feb592693f3f22c26d0b09321ff81814292b49be99888d0da9d7 ofl/ponnala/OFL.txt -sha256 0b7eae990329ac175a2e1c329060b3a4d6876e4e0cd7e5235511578352f7b191 ofl/biorhymeexpanded/OFL.txt -sha256 21b54eb0d7513524798a00dfbaf99a02c003a0012a728cc5f0e02d24c50482fb ofl/caveat/OFL.txt -sha256 adadb8d5d34fe2218dca0f4a4919a9b6f81dfaebb289e5446ac7b3063d6965e9 ofl/tangerine/OFL.txt -sha256 16741ac498178f645283cfb45b7a487b6d361b5de5730c5ea729f056f414f6b0 ofl/ropasans/OFL.txt -sha256 1e5bf8207a40678bc401e2e5456d0db1f2a183b550a30976b48dcdd6a4e4c46c ofl/caudex/OFL.txt -sha256 6f9e3a1c51f617e7b110862426204ec7a56d8c6d2f731373b5de6b8d069099b6 ofl/ebgaramond/OFL.txt -sha256 c2368518f12463a93cfed44e1460f36085dc60df06f415ee9b0319809987ccce ofl/frijole/OFL.txt -sha256 5f247fad3e8a86b6c0779dff09277047c1ce2b0b7580a1093347a8af755352ba ofl/sawarabigothic/OFL.txt -sha256 6627b9c2c8ff8e0c6ef23f1b0125dd5b293320c10c916d402fef64916c296d0e ofl/kreon/OFL.txt -sha256 723764a50d4e6985dfcbd75fcb40dbd3abab37ba25ae626486d4a32084854487 ofl/kdamthmor/OFL.txt -sha256 846ce83956a732edd57b74d9ba988d58abc8c8e6d0926859559318ce6aed139d ofl/mclaren/OFL.txt -sha256 ba01480319f922ecebbc73f1a523e7f8876e92b16553a32c494bcd3f6f5a27fa ofl/ledger/OFL.txt -sha256 c3bfad2900a83f571d5c984d490d51c56aef14806c28dde38125593e1e71daca ofl/mrdehaviland/OFL.txt -sha256 12af42b715a3901bfa7add1351e45b6ce22f3061555d52db45e963274c349360 ofl/arimamadurai/OFL.txt -sha256 aa8a8196a3e22c3bd985e33cd3245ae9a38accba5e79fc0e3b292612a8d6b337 ofl/miriamlibre/OFL.txt -sha256 3169e7e0e87168908218f11d660a52c0b81b5952fd73918a596e70721d68d3e5 ofl/inika/OFL.txt -sha256 e711c816f7de931244976f51166baa15446fc307e5d0ea04fdca1bc2c04afb1c ofl/nixieone/OFL.txt -sha256 1ba345a91338581e5f8fccc3e37e447ddea5b99ec9caec1b76c7c39492387d2f ofl/signika/OFL.txt -sha256 b01cec9e5e2035b70a6aeb61c673d1f6d5c91539845be07733bd9880fddeb9f0 ofl/kadwa/OFL.txt -sha256 d7577acbab1d70f2e6bd1b21d8f61db189d6aabe6375bc2d96564b8d94031664 ofl/stalemate/OFL.txt -sha256 5946eec3a7d3bda02825930156e4716198e7753641dd3303a3e8c386c8011909 ofl/eatercaps/OFL.txt -sha256 ae6de2f6fc00f76cc7eb0d97c1ae5e0b7ec734f20ad7f58cf4c74738dc822d21 ofl/chelseamarket/OFL.txt -sha256 860cbfdc9dbc3f0e8d35af80c31e8f20945bff393d4f483dfc157469e01d321c ofl/gorditas/OFL.txt -sha256 9a2d8c5a3de0a6e62432322115dce136139948411dba33cd86525c0a02749fb8 ofl/unicaone/OFL.txt -sha256 4fe01b13ffb41faa8f030d84843a95dab32792dfeeca7c072abbfd3f4d6896ad ofl/audiowide/OFL.txt -sha256 173ea2d0bdda981829719623c35699e8c0e4aa508e0af12817ad7ccbfa4c6137 ofl/originalsurfer/OFL.txt -sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/trirong/OFL.txt -sha256 58bdc69f4c6177125c6e7cdbc78f710f5f9952f11bba7bd5b17bd7ef169d731f ofl/goudybookletter1911/OFL.txt -sha256 2950994bcfb8e903f0539d28a8ec4af077e0aa1fa7946c33c912d2d6969c2971 ofl/glassantiqua/OFL.txt -sha256 7344b8b8c97c4f88c0ff8bb72bb024bba72f404be1c740b6596a73ed15d28df3 ofl/vampiroone/OFL.txt -sha256 cacad5bf45bf5c81f4b6cbd114261bc8a08f6110b66a4c6fad8bbc16618a3096 ofl/daysone/OFL.txt -sha256 0677891e6a143f297350d260ad766ad33bfc18ed5fa4f213acf648d6b597ec1a ofl/alegreyasanssc/OFL.txt -sha256 c8155eb9337078a9ea9f1e576ac813a03030ca43e2694593e90cd4fee6fce937 ofl/sumana/OFL.txt -sha256 95803fae1b063e592c67b5867f1f36df1df526e5ebf33c6cd4d4afa31a9d5586 ofl/sitara/OFL.txt -sha256 c254ae01c407f4a2bd0ad163e4c1a795d57ddfa8967c21b8a28c250b44d13963 ofl/sawarabimincho/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldwpicasc/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellenglish/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellenglishsc/OFL.txt sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellfrenchcanon/OFL.txt -sha256 25995bcf8e8ddea1aafa5449870567cbbeae7e26b27ba30aca5642f2c02e9757 ofl/quantico/OFL.txt -sha256 455755e2e7ce9dbac6beb3729c97c57d6f74a638dcb5be548ec953021fbdbfb3 ofl/ntr/OFL.txt -sha256 ad6f73fa3edb7aea340aadbc63c0d7ef7663abed82664432ae09a6b377fa313f ofl/librefranklin/OFL.txt -sha256 581f08727777cb2a1a1ec95c0f981ce64fb1ad4354f78a0ac4f3481afa605577 ofl/moulpali/OFL.txt -sha256 4bf7256c8ee73577ee5e26643d3247ec77017ca04489befd3e0f3412827729c7 ofl/laomuangkhong/OFL.txt -sha256 08fdc7cbd92b9bbc4d41d0945ae7f25450d91c5fc8c66c68df331af3505e4ec3 ofl/rougescript/OFL.txt -sha256 694d5c15c1dac5e26653e18b94394d911e471549ec9b7d6247ade62e486b4915 ofl/asset/OFL.txt -sha256 bddfe669338d0dbc24c15ccd31dbf5c101a213da38049c24baca9ccb7fde45a4 ofl/wallpoet/OFL.txt -sha256 2758cf7a872827f39661cf8cc24188113c030447aefb5ca7145993650076ca8c ofl/ptsansnarrow/OFL.txt -sha256 3cbf579238e4eacd90ad67883d971aa346ce8990d658635f78f98d608a6830a2 ofl/zillaslabhighlight/OFL.txt -sha256 87000f71a897c8c130c7777d058c5868f84316f99a32644b3bf595cd11edeb12 ofl/sancreek/OFL.txt -sha256 08fba9df5c9890f3ab00ee63f63e005ad93a23746f7484f5fe9501a1ad32730e ofl/allertastencil/OFL.txt -sha256 9608d22ae5c586628c9904e773b7c6a6520fc16e1492ebcb5ea55d9523399964 ofl/anton/OFL.txt -sha256 f3758ee70600ecd5450f01ea373204b202e048d0454c9db2d1175c5a5dd1e92f ofl/vesperlibre/OFL.txt -sha256 e43f121c788cca4a14049e58864e28021174b055710ba38e0964e816dbf905af ofl/fruktur/OFL.txt -sha256 5e0da210fb04058a8c0087985d2d456b931c2579811a49655721d3cf0c36b6d6 ofl/notoserif/OFL.txt -sha256 a1580ba69a8d706bd95e1e72ee0b5cfda0a478fbbab6a4af13b4a9e1b28faac0 ofl/revalia/OFL.txt -sha256 f323edc1e5a6d8fa16120aa15367cdfb15468474cc621f9bda1a2f73c5d08d73 ofl/sedgwickave/OFL.txt sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellfrenchcanonsc/OFL.txt -sha256 0836fd874230b17f840efcf7d3bb529f5a7b5befbfeef94478519cfe2d8551c2 ofl/courgette/OFL.txt -sha256 e3ed3ad6cb257e16dc1789900707c5cd1cdef2d60d155389342604991cf693f9 ofl/bahiana/OFL.txt -sha256 391ac3126dacc95b92a8f3408467879edb3245344bc411530a30d5aada52df92 ofl/gugi/OFL.txt -sha256 88dcde7d08e509a3eec64886292a36cbd58ed9bb52f37f91f55656fb9d21ddb8 ofl/supermercadoone/OFL.txt -sha256 41423e9e1d0ea79d0e78bd5fe9e0b27f4c23140706f5dfbfe116839c83aae91c ofl/charm/OFL.txt -sha256 43186c592361336474683e302dcc988831a53857bef188c4466f6b45dc238f84 ofl/fredokaone/OFL.txt -sha256 a21fa252efb7a1ff84de6a36df4386959668aa046f28161b4047829f7d9cd1b5 ofl/damion/OFL.txt -sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulnamsancondensed/OFL.txt -sha256 bfc205682f5454b42a732ec857b665293ab8bc6f0ee901a0967219ba7ffdb190 ofl/gfsneohellenic/OFL.txt -sha256 59b91c9912b80714852a43897cbc9414d6457e22072dc99a4cea6e2bb4f3c65c ofl/freehand/OFL.txt -sha256 8b89f3af5fd02216793ff3dfe9a04dc22dfe5c213422ae21558ff1da6a1e94dd ofl/cabin/OFL.txt -sha256 b598b7fddfd578950aa1fe6e0e2607b779abfaa686b83af8ec65c860f646b2cd ofl/rumraisin/OFL.txt -sha256 2bd35914efa381c80f9fb62d6ea7d736d3c0739196a3783c3122593c3408392c ofl/gurajada/OFL.txt -sha256 5625e91bd7c2a45c8b9f59106d587bd025470b462ea901df691defe0099621e1 ofl/taprom/OFL.txt -sha256 37d5360d8d2433689e78302a93cd88e9add8a2294046476625edada2d4328deb ofl/averagesans/OFL.txt -sha256 f8e2b58dd7a8c8e21e5d744b45876bce7e010a647c071c1ed42ff0e618d4ea59 ofl/frederickathegreat/OFL.txt -sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/balootamma/OFL.txt -sha256 09685e225ba9b697b2ccd2d4098cac5ecbed0679960605258a271af60749887b ofl/francoisone/OFL.txt -sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/himelody/OFL.txt -sha256 08a12877eda24767239f26b527bfce0c515efaf623c66da6baad92a6d5315e9a ofl/content/OFL.txt -sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/saira/OFL.txt -sha256 d8eb8611f8c98d20cbf18a28425652d6022dc2a5cca15026b920f1f2bc92a612 ofl/delius/OFL.txt -sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/pridi/OFL.txt -sha256 c1eed37b6d213df4edf8f92ec7d1e972f751abd68ecd649b4f0b8e5d8e8561f6 ofl/rasa/OFL.txt -sha256 4e66943af352059c059dd658774f25fbc831f1ad478f9f0890c06ecc2dd324c7 ofl/metalmania/OFL.txt -sha256 f5b03ea0b27c7f5afb9702771ee57679ae8ba6b471b6ba9e62d985d3256f1929 ofl/playfairdisplay/OFL.txt -sha256 593f0bc55c75b673772b378eaee314f128283745c4bb1cfdb9b8012a3b6c46fe ofl/skranji/OFL.txt -sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averiagruesalibre/OFL.txt -sha256 14d28541780d90f6577bb7abcc6f005bf6969614294e75c82abb8758a696ad46 ofl/quicksand/OFL.txt -sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloochettan/OFL.txt -sha256 35dca6122235851d236bd861124f4a893d409eba021cd8c6a292a19df0f4640d ofl/codystar/OFL.txt -sha256 ab721b35816e470fb11619ad3705f75d08dccd0864505e3d782e94fd937f6620 ofl/allan/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellgreatprimer/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellgreatprimersc/OFL.txt +sha256 4539710406c656519f8ddc789056a7cd6f4fe66b44cc2f52ebca6e251bb26e13 ofl/imprima/OFL.txt +sha256 29bd0cfd0fb2a45f9b057c834a057724bae1f63b525a8ac83d3e7525706d9f80 ofl/inconsolata/OFL.txt +sha256 ca9fe3a0e10bbb082f83ecdc07f5f04845c4bd689c46456da3e6bae23e11aae2 ofl/inder/OFL.txt sha256 d9cdb075679d15a99bab2a8541b9c4fdc71347502111fbe9affd1d462219d96b ofl/indieflower/OFL.txt -sha256 1313ae342eae4e1810304b6cd32f6815dd11b8e45812a2af98e58b6960684fa0 ofl/petrona/OFL.txt -sha256 1e4015251ca58d4f349b4ac930259c6f3d6381ce68f8b4b27d54d53f8f63f972 ofl/angkor/OFL.txt -sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averialibre/OFL.txt -sha256 8e28b778b6e1a7ff9ca72f4dee2d53120aa2856dc1bfd0be44307e365b0e45bb ofl/cardo/OFL.txt -sha256 a02e8715fcdf3325c474b7209399f50230897bfa828fe4eea2639ced1a1d574b ofl/blackhansans/OFL.txt -sha256 d530c14e9cc263c567b47742ef20df2a41374f00732ba4f290f52adad428b1a2 ofl/meerainimai/OFL.txt -sha256 2e2fe5f1d8916a5160060594a96c1a5116406d26847afdbd09618481e2abd6fc ofl/denkone/OFL.txt -sha256 56c4ff36faaaf336bc5fee659ff6fab2413d67499cc22acc29079b3892d8931b ofl/miniver/OFL.txt -sha256 0d75673e4c98de3e11337dbd90b05d0232edfcade5c1c02fbc0118c85aea25da ofl/macondoswashcaps/OFL.txt -sha256 742a6a4386db47a2987c7c3b4aeedfb5adedfb3356c118de450a664735686535 ofl/graduate/OFL.txt -sha256 9e53298e3629e00ae4c31531cca09051ddaa654a5de4f7b55e596132fff86e1f ofl/dhurjati/OFL.txt -sha256 df9fcd8f62ae79aba7fa5b0563a08dfede1fa0909d668287d70c395d88f5fe02 ofl/fjordone/OFL.txt -sha256 02faa476b17db0044d0c502a3ce12fdc81eeeb9bd618e6a005407c79d6081bbb ofl/monofett/OFL.txt -sha256 1edecf3f971a11dcfd777cbda6f08c0f9a77bf57a0a2a89d8142fb933894ce16 ofl/amiri/OFL.txt -sha256 6e6efa9b0556d100cfe60690cff5d9be7144df77adabfd2c278dbfee451351ea ofl/phetsarath/OFL.txt -sha256 2348c4852e6322105d130aa2addbe24c962e330094ad6dfbfd9fbd2281d76b0b ofl/bellefair/OFL.txt -sha256 3bbcf1617d93d3a949a10da78ae91c58be536fb04567ab4b5b9fd207126f1db5 ofl/buenard/OFL.txt -sha256 faf47a1ceab38b07205b9d58fbbf9ac39772ea47cc731aca7816276da7226a22 ofl/dosis/OFL.txt -sha256 3ac1301549523d9861fedca12871f24e575fbd26d520632fc00ba849b471d275 ofl/russoone/OFL.txt -sha256 44b51296985184d9b27fc2c8e5b317906c5d65d9dc834e81c07902d3e5e1cf1a ofl/brawler/OFL.txt -sha256 afb8c471158619593df0fb501453bd39fda42396e2cc3911e2a0a471c11b863c ofl/sarala/OFL.txt -sha256 de985adf63cff6b1bcb7c5cb55f1c5850fb1d36289d20a0e26d97a281bfcf956 ofl/aldrich/OFL.txt -sha256 194e25172d0144f29aff4b6fb2931ff0be0139448a5cd867db37863c9179330a ofl/stalinistone/OFL.txt -sha256 ae05f8781a5ef38380ef3efe8cad86783610b6a780c6c278d7472f95310fccee ofl/oswald/OFL.txt -sha256 2dab153a33dcb2101bba3f194d27d953c848a0fabf2e336650a81f84a0c33b3f ofl/pragatinarrow/OFL.txt -sha256 9d61931b909f9a738964f8fb311eb8fa40dba1ef9f1688b36039ebb15ee1805e ofl/questrial/OFL.txt -sha256 e315abc82a78710c7242e2f2e6529651fd631d4d50e6ad98ea194f9b54c3d701 ofl/alfaslabone/OFL.txt -sha256 4653c63a4bab99aa50de5190853fa21ea6c0a25d69d49f5a42cd51f0f67665e0 ofl/boogaloo/OFL.txt -sha256 bd8323cd1d2b6bbdfbbf99cb41ec1156d0352ced170de4aa3a96d95e6e20bf5b ofl/amiko/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/sueellenfrancisco/OFL.txt -sha256 ed93e9833f18acc2775380a28139fd88d3ebf82df7cb814042498467be3463bb ofl/lemon/OFL.txt -sha256 1f00d1f970b4ea469b6936e599b599bb217edaab792e586658ef2e71cf438685 ofl/itim/OFL.txt -sha256 fa28ba897eb819768d6bc00c30aa03ef560e80e5f6fb872eaea089c66992f502 ofl/notable/OFL.txt -sha256 96199bf9ff12dd471a66911dee95440737b437e7f5a6fd30e9e950c16d66e8df ofl/unifrakturmaguntia/OFL.txt -sha256 36e2f1debc9778bac79fac1a0cb5a5ef51c102f00b58ef7d8a05324144b68166 ofl/judson/OFL.txt -sha256 ad4f6ede2e8a017255822a6abee8d10717f1d34c20223de80285ff59e28a1cba ofl/bangers/OFL.txt -sha256 f8779e6871bbab04e0a1ddd9997f4d8173b56792a1e7f8b9d691d967a49c7dc3 ofl/andada/OFL.txt -sha256 49b9214f7b40024abec2fc89a32bdda380f2174ba7005d7636e6ea340157c5a6 ofl/jomolhari/OFL.txt -sha256 a815f65bc72d90494b01842d3171f7cb0f9f935e023d9cc260904d221ef1064a ofl/b612mono/OFL.txt -sha256 5eca89cdd576df5e4b7c694e0425b126a9ca839aa067df85fab33904a8187076 ofl/amaranth/OFL.txt -sha256 e0cde1a4993ed689d463d5e2401f4a60c54cc48a14253ab0f8012d722c417038 ofl/mavenprovfbeta/OFL.txt -sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumgothiccoding/OFL.txt -sha256 0fbae33ac3aa455c8c0d598347c87f1abfac0d215483f40f5a0e8dd08076df1b ofl/librebarcode39extended/OFL.txt -sha256 3670ddaf348c62ada22a2f606158dedcd9ca5fd5422a6173d6593204a8f53d4f ofl/varta/OFL.txt -sha256 ab592d1abca19428b89d851706fa7815ec25139c6affb45d366577ca63fb91b7 ofl/yesevaone/OFL.txt -sha256 e8dd8f53b2fa502ace0636debbe7e357c4888d8d02b8b41d6a9a22d3058a63dc ofl/peralta/OFL.txt -sha256 cdf5fc4014abe91588666a9592ec86200e5a4d743b4b6e05d28d47e850bbe5fa ofl/digitalnumbers/OFL.txt -sha256 f8c2225a5fdb50e2e75f98cf6e69f198571f605f1b7f6f7eacc0947e2fcdbe8d ofl/sreekrushnadevaraya/OFL.txt -sha256 a80ee908b60f5bec9c10b135d3da93730e2194107d1f7fd3f61bd8c1a97b3e0c ofl/yesteryear/OFL.txt -sha256 6d216cec166b6e139adaa599053dd49720c053e1f2adb4845de3cc9c3704344d ofl/play/OFL.txt -sha256 46751a31966477e3f038d1e5ff1146a33234a3a523a0e6a21be3221cba082a34 ofl/muktamahee/OFL.txt -sha256 505bb8f3c30f2006b4e02d250fda31ed94b651a35f1124a201ca1c405ce989af ofl/biryani/OFL.txt -sha256 5641212407f956b828bf632afc4bbb3344f461f82255ab56756d9e3e8604c7b1 ofl/martelsans/OFL.txt -sha256 1ed119b01f03187dbe2f5f89c95431b9a4ca46db604fd263164d8b4055189f46 ofl/lateef/OFL.txt -sha256 4938e917ac54665be1dd862f54634d991b39c5d1eef69345d66a5089e401bfb4 ofl/creteround/OFL.txt -sha256 9263f9488a9ed1d5f4218581b642e0f054f9a20d208f1a53c19c9f7dbd27eaf2 ofl/peddana/OFL.txt -sha256 e75ed24435d1711de0bebfaa621c3eb5564798c88cc0c1d1f8d529bbaae703a9 ofl/yanonekaffeesatz/OFL.txt -sha256 708e33bed791c40638926a7577bcef8ff8748f84045f3825277540cbb8d483ba ofl/poiretone/OFL.txt -sha256 f1d1a3536fa4b9c71d04fe4c8d8bbfc0cc5c457d6883f45086b04d0bc07ed12d ofl/vastshadow/OFL.txt -sha256 f9f28345ffcd6cea6e3c6699e4579cd1948053d80fe89a6a5a2ecb269afc95f8 ofl/nikukyu/OFL.txt -sha256 c1bcd16ffc9d095822fd6b7fa1a24c7918b24815ed05711421f804293d2efa62 ofl/actor/OFL.txt -sha256 ae629d13b06d9afc5cf3c07d585f3192b89b7decaffc5c4dfcfa7ce11a2a2b11 ofl/raviprakash/OFL.txt -sha256 bdce62dd98db969b73f93f8e8e2151004c20ad871ceb15ad9bfcbdf2cf939dba ofl/pompiere/OFL.txt -sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/poorstory/OFL.txt -sha256 757f49d04406c93c40d1781e7867fd85a1f9fdfbfe03a5ae332900da802fffc6 ofl/harmattan/OFL.txt -sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/khand/OFL.txt -sha256 74ba064d03f1f1c4a952da936c3eb71866c34404916734de3cae73b34357e59e ofl/lato/OFL.txt -sha256 94625b91cba99cf9c8e580febf5e738b2e3c7cde9034a16bcfb7538b672137e5 ofl/zcoolxiaowei/OFL.txt -sha256 3e908f3a95680bdf3c8456bfbf76392605b34cb3fba109e46441056ab966cb35 ofl/modernantiqua/OFL.txt -sha256 6a809aeba8af2115ca4b4c3597b1fbeb836a45f0489070f330f9c2dff870da8d ofl/galada/OFL.txt -sha256 2c3737ea83b48d48624068d1bbd1d9f8049eb7cf2e1f67435e420375c42e0686 ofl/spirax/OFL.txt -sha256 92f750829545386017c3418d890769778b76fd01dfb41c62fcbb0d42ba0303eb ofl/dorsa/OFL.txt -sha256 656a20870fbcb8f559f1c6308c1df90ac93d7cd0279aab49b43a43b5e58534e6 ofl/neucha/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/zeyada/OFL.txt -sha256 4bf7256c8ee73577ee5e26643d3247ec77017ca04489befd3e0f3412827729c7 ofl/laosanspro/OFL.txt -sha256 33e3a83e377c6a41149044bd919f50d9a971d801052d4e0c0a98cb417b42ae38 ofl/risque/OFL.txt -sha256 b4fc1d55ce610f255c5712f8169543f9610536d002deb99bbc99bfbba9f8a560 ofl/pangolin/OFL.txt -sha256 511125dc85198375795fdbc109d088654d3b7f9dbd3ccb7bf93d844aef0b153c ofl/ptmono/OFL.txt -sha256 819e3b25f9b50f12299a3db1638be3813efc6b938f2b86693a218d20ec4e3209 ofl/londrinashadow/OFL.txt -sha256 e3ea566dbf689a9110b2094f9f2e5d16d7ec31720147651efc1005ca20420dd4 ofl/flamenco/OFL.txt -sha256 186d750eb496a4c17a76385f82be6aea2ac1cf2de074a811d63786cf374ea73f ofl/barlowcondensed/OFL.txt -sha256 705960c3281a5765ecc0b59bd4ed7ca59eed165748076bc2fc3e8fdbfeb944b0 ofl/pressstart2p/OFL.txt -sha256 7e896665d0863d2a17a671001dbe2528a5f9302f1dff9222af8b0834e9088d0c ofl/kiranghaerang/OFL.txt -sha256 5f1f5510eff7922864bf326ffa1d4a62f01add5193e9367b542378e5a808b500 ofl/handlee/OFL.txt -sha256 3173acd82f8c6159b5b1037b539fcbd4edff68e65c2ea8b9412b5a5ca97b08ff ofl/archivonarrow/OFL.txt -sha256 82831e8f12ecb6deb2f4d9919a04049895b4619e0301fa6b699c861bd7311c54 ofl/kavoon/OFL.txt -sha256 1a5e3792a425687a523fc7c0f8ab5d01d58bf853149d57f3dec4b4fc6932fcf6 ofl/hanuman/OFL.txt -sha256 7f91d7d8854e5cb4fc630807c0f4d57c07777769dc597173fe0aef5e58f0992c ofl/qwigley/OFL.txt -sha256 354b4be0340cd58e381fdf58793a108897bf944a7f8faf9e877c476ed6c730d1 ofl/convergence/OFL.txt -sha256 1e20933206ca06421c7c378184da5476d195314cf4bcda2bf122cd45d69a956e ofl/oxygenmono/OFL.txt -sha256 a7fe1f3d23034092b015aaeb53d2ecbc9e592be96b10bdfbcf8700ec6a6ffc97 ofl/fascinate/OFL.txt -sha256 4dbbe5c21b46f2647d227dde69b971a1b46de1435e0752a9eda1ce120725a93c ofl/norican/OFL.txt -sha256 1f581506286e960436548dba0701aab278f7e67f2adc6bdae2958923867d1e64 ofl/hanalei/OFL.txt -sha256 56edbe5fff7981dae6f6eff32f61ba04cd54324e5abfa44b1257b2a307ea561c ofl/poly/OFL.txt -sha256 59bda6b53e28d388de5eac7bbb8f3e65889dc8489be3d922f95a525354110c0e ofl/tharlon/OFL.txt -sha256 3fa0ceff4b9a2d28dde43bc63cde3acfb5e6e92d13a53e484ca0e501e18c7e2e ofl/lekton/OFL.txt -sha256 ad9ce814ff266b57d3c4698d3fadca4b41a6f942a0ddd215db5cc66abf92d668 ofl/mako/OFL.txt -sha256 c4afe82f49c05689c40dd4e262803b29c6e611e7b4efd3a0418f574b2be79d9a ofl/carterone/OFL.txt -sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/karma/OFL.txt -sha256 d38acce513eccb51d7ac34ca47be279e1fcfdeca1ed088bdd2d281dc6ca939ee ofl/badscript/OFL.txt -sha256 31eb7046f4c80e0f96944c4b40b0772de68b34783b794fc13aab3f54c2ef6d9b ofl/thasadith/OFL.txt -sha256 06c79c896894160a5810d869a822fa7d02a0e2ccffd97920b8cf3b880380f6e5 ofl/amstelvaralpha/OFL.txt -sha256 4faa2d9e2ce0a4b5b37e62ee6fafe474a539b31578f7214ed97cc3503aeb8ebd ofl/oldstandardtt/OFL.txt +sha256 3169e7e0e87168908218f11d660a52c0b81b5952fd73918a596e70721d68d3e5 ofl/inika/OFL.txt +sha256 16f8621a8dda01f044b8a58489334dbaadfad44ef2fa1d5ce0864cc2f309df01 ofl/inknutantiqua/OFL.txt sha256 1e511bb01d29562932157365418c02d954d8faeef794bcd54729177fb2b03db0 ofl/istokweb/OFL.txt -sha256 846e8cc6dc69bf685d2db14cfa758ff3d9d771d54c9e0d3b511f0ecb97ac0e8a ofl/cambay/OFL.txt -sha256 6c181f5a0045e8f414e1c232c35972ab83ea084ac44825f517ba001628d97b21 ofl/kronaone/OFL.txt -sha256 d7f96801a28ea11eaa51bc4a9c87fd91f2133bc298068e6e2847a15ddda23089 ofl/librecaslontext/OFL.txt -sha256 1f00d1f970b4ea469b6936e599b599bb217edaab792e586658ef2e71cf438685 ofl/sriracha/OFL.txt -sha256 22c4588bdc14621220ba14515d52041d1312541e034a15d1f5c2a88fc6075276 ofl/merriweathersans/OFL.txt -sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode39text/OFL.txt -sha256 5b26c88d163b1430561f53fd3d9021d6057f3c67d25534a5d8d232cfbf8ee2a4 ofl/wireone/OFL.txt -sha256 57f8d60cfe9212b971f07253e303746128edd06b21e3a0e4e188308e569f03e5 ofl/orienta/OFL.txt -sha256 c87702d8b70f714fbefb554660e8ca57a43ef62a59089d11cbf0c6bd51d56928 ofl/lohittamil/OFL.txt +sha256 486c4d5b9baf0d0ba5546ef3c43fcfe22c062299ab6948045a43efffe4b0f74b ofl/italiana/OFL.txt +sha256 43c372f43d145c22e654781860506a75cb85b086dc76028a62a28a446506d253 ofl/italianno/OFL.txt +sha256 1f00d1f970b4ea469b6936e599b599bb217edaab792e586658ef2e71cf438685 ofl/itim/OFL.txt +sha256 2887c5bb38abbde9ccc608c4dcc4b0dba0fefc0c74eec011033bcfbd3ffcb235 ofl/jacquesfrancois/OFL.txt +sha256 2887c5bb38abbde9ccc608c4dcc4b0dba0fefc0c74eec011033bcfbd3ffcb235 ofl/jacquesfrancoisshadow/OFL.txt +sha256 a74380bba78a364ec70b3a5fb6a1161b83cb05cc3e75a0910afbd1b5aff4f9c8 ofl/jaldi/OFL.txt +sha256 6939af7114f0a33c7e6142d4c1320d1bbde11aebe6d8f3c48fc5fb3e0f676a7b ofl/jejugothic/OFL.txt sha256 6939af7114f0a33c7e6142d4c1320d1bbde11aebe6d8f3c48fc5fb3e0f676a7b ofl/jejuhallasan/OFL.txt -sha256 9437c26410bcd543607a6775e7d0e359c1df3926d68c92dbaceb26ce79cc0fd3 ofl/bevan/OFL.txt -sha256 50265d2b41f8ad2dd350532d2286509aa694021b4aa0490b06f0068e4ed78c27 ofl/herrvonmuellerhoff/OFL.txt -sha256 9acc45e5ba18b5b38868fad1f51c03df4f5d7a43061d46314843de45c4444233 ofl/ribeyemarrow/OFL.txt -sha256 1fac7a3e4e43b091c2d31aef7a375d2b969c42b2d5fce8e2d40b5f7b1233ddb7 ofl/moul/OFL.txt -sha256 331c71cbd8f1d8a70cd6eec3d55553b64e6261a9bb0982fa12e6e48baca827c5 ofl/philosopher/OFL.txt -sha256 1e20933206ca06421c7c378184da5476d195314cf4bcda2bf122cd45d69a956e ofl/oxygen/OFL.txt -sha256 89418a3c7b5726c3f8828a7b7c3f1cad661cf5b7a1be3d2bd9ea243f8d9890c8 ofl/sniglet/OFL.txt -sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/balooda/OFL.txt -sha256 89d9d01291eeb91074ccf1f7ce07e7a1d9d421ec1191f8e84d440cb50830ed92 ofl/purplepurse/OFL.txt -sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloopaaji/OFL.txt -sha256 9acc45e5ba18b5b38868fad1f51c03df4f5d7a43061d46314843de45c4444233 ofl/ribeye/OFL.txt -sha256 f938d4076b66a13cf984ce88d92a07ff9802e8ae5e1f4a28cdc43fad122ae611 ofl/spinnaker/OFL.txt -sha256 89bf0833b785c49b0f271273ab440bdc20c85bf0322537dc901df940bf1579da ofl/amarante/OFL.txt -sha256 377f4f9c19e935228552478eb68cc2ed82910988a60ba60e2ac73b09f32d02d1 ofl/patrickhand/OFL.txt -sha256 684ef102ca4c5ff61cf1c1e5c2c6326f3c26f848446f98b8862dcca716a87601 ofl/quattrocento/OFL.txt -sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/rozhaone/OFL.txt -sha256 61be7c29f4835e2be7243db12213d75d53ff028f29f4b493212a1688b1d3a1ba ofl/titanone/OFL.txt -sha256 9df0700fcd0ef48abd74459a8650d35f59397fbaa00c5b00527e57cc155689c0 ofl/durusans/OFL.txt -sha256 b1958132ff727bd74409aa37ec0abbe4be13b1b379e1210e6fb77fc608c607d5 ofl/kodchasan/OFL.txt -sha256 f1888ed385b528866a472d02f4e06ef0873aca5b3c63ff1f6116cbb150dc9a13 ofl/metal/OFL.txt -sha256 e36d420a3b382b337c386338d8abc3635e10de5dfca7f822fc63ac659a0dcfc3 ofl/amaticasc/OFL.txt -sha256 8fbe530adcbe30c658393c3f2b5a4785d6765afcefdfe47f594730131f3a0abd ofl/oleoscript/OFL.txt -sha256 60ddc0ee6e443b78940b5f92bcbab76c98ec6965e0da9fbdaf267383ab72bba8 ofl/anticdidone/OFL.txt -sha256 afc1b710d644c1262e1765d2401abcf93a545a4cb051955e2243fbabb8164e25 ofl/carroisgothic/OFL.txt -sha256 3184f6a99f589c78740fbff6ddaaabb43b8cc2f3852da36e60aeb024ea8d6f00 ofl/eaglelake/OFL.txt -sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/halant/OFL.txt -sha256 9a9f089005f389717106bb3ba427cda9bd51b8a477078644566543f2a60ca85d ofl/rambla/OFL.txt -sha256 99d2f30e282d6174af8ff68597f58bb53c0dcb2b104a4c1b8d19da49021d00d3 ofl/unifrakturcook/OFL.txt -sha256 2bb0c0200723d923f8e20d08b8bd1c7af7f5cef8bb2d63ce44bd268b54334621 ofl/fjallaone/OFL.txt -sha256 72afba97d1ac9409a9fd3bb91a02a639427ca1988977909dad273e293a508d7e ofl/staatliches/OFL.txt -sha256 88aece7d90f2bb7049719f11619a560af22af3451af141f12aa4f46bb157a99b ofl/lobster/OFL.txt +sha256 6939af7114f0a33c7e6142d4c1320d1bbde11aebe6d8f3c48fc5fb3e0f676a7b ofl/jejumyeongjo/OFL.txt +sha256 fca01a37b10879d7685c7d03fc5a04086b15cdb2cb4f870cb687aa5a9a0a1361 ofl/jimnightshade/OFL.txt +sha256 c4cd9f38c3246ee6a68c264f017320dc1af09677d386166d8cda806d9a12e0d2 ofl/jockeyone/OFL.txt +sha256 28c6d2887c3dfa42488c5418c6c16ead580d33ff0afe60c05159689201f9ec63 ofl/jollylodger/OFL.txt +sha256 ca64dee162bf239c7b92d854d388bcd30552edc3ae1ef5e31714acda34c988db ofl/jomhuria/OFL.txt +sha256 49b9214f7b40024abec2fc89a32bdda380f2174ba7005d7636e6ea340157c5a6 ofl/jomolhari/OFL.txt +sha256 84b11cc0aac8fdb93af94872bc4b8f015caabf4919db63ab7f916ccff8e52f56 ofl/josefinsans/OFL.txt +sha256 84b11cc0aac8fdb93af94872bc4b8f015caabf4919db63ab7f916ccff8e52f56 ofl/josefinsansstdlight/OFL.txt +sha256 01003114b77326df223f291c48cdf12e95f6a5937437f164347919f2bbde12d4 ofl/josefinslab/OFL.txt +sha256 dc35123e99a857674b3e8807e9d7df82220d298423d9fc50ce084fbcdecf602d ofl/jotione/OFL.txt +sha256 44a7c6e4c5572392ae122d3b1d8c6ba6fd640a7797e675384585d947f2773e3c ofl/jua/OFL.txt +sha256 36e2f1debc9778bac79fac1a0cb5a5ef51c102f00b58ef7d8a05324144b68166 ofl/judson/OFL.txt +sha256 f76c1013cffb3e0de0e7dad19ee5b4b7849c7ab10b67218515e39cfd87e554a7 ofl/julee/OFL.txt sha256 955655cafa13f187f45a79dcf451942fd1118a8426abc5a25ffc5dbb00709da6 ofl/juliussansone/OFL.txt -sha256 9e1c955538817c3fab7160cb3110501e73ce109eeb58c4992a14e8323d900849 ofl/pecita/OFL.txt -sha256 96d82a96abc02fb457ddde0227833dbde9d1d02876c91f0a4e27845ca0d692fa ofl/atomicage/OFL.txt -sha256 7729f005b7a087368e2cf61fc4b65cdc85988e47d0e6e38c93a72de345e86b41 ofl/newscycle/OFL.txt -sha256 336fab6956d78eb34b50cd7bc6b16116c44735fbd0bf9f4def769ca4d8e218a9 ofl/sofia/OFL.txt -sha256 b26cae1321380296ba8311b632a397d5eac11b47197f9d0aa0b9310f1531ad60 ofl/sarabun/OFL.txt -sha256 aa8a8196a3e22c3bd985e33cd3245ae9a38accba5e79fc0e3b292612a8d6b337 ofl/suezone/OFL.txt -sha256 d3711c90a7deda6210d30e41b945f16bdaa00662b30ee0b7c36abfee82525bfe ofl/kokoro/OFL.txt -sha256 513b7871a360a6eccd426bab59743fbff36764588f47381423f04ad6b3d821d9 ofl/alexbrush/OFL.txt -sha256 67f64c5509e5151796599e3ad47c3131cbe0c80c4f9430b90236a1249c2eacc9 ofl/roundedmplus1c/OFL.txt -sha256 4a7d2f227b91046ef7a54f8f735668d86e45f4fd4089268de292a6e9de108253 ofl/bentham/OFL.txt -sha256 3c187c861dc291b9f7f96f655656f9ac2d57b33da425bd5962810be728344f57 ofl/brunoacesc/OFL.txt +sha256 a1077580b649c7b0e05ea0e9369d48687b4ab1c585573bf86b0dcce7dde177c0 ofl/junge/OFL.txt +sha256 ee9d043332991eb6bf2bd56fb04db3c558c1ee2f0cb9aa7b18366c77e34fef30 ofl/jura/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/justmeagaindownhere/OFL.txt sha256 869e4c29978c318b33c2e5c7c8f24d2e947f249071bb1471620036a9d1ba87ad ofl/k2d/OFL.txt -sha256 6383249ddffbd87f2bbd7878ceba2dee0f1a2193cd7a4f41c00aaceb8e6d8b5b ofl/meriendaone/OFL.txt -sha256 ed50ebe2fa922554980909192526fe94966556626d6d440a462c8e7eaed74cdc ofl/sortsmillgoudy/OFL.txt -sha256 d64c91b0306b53fabed08762068eea8b918d654fb0721c288f13cefa4aaf088c ofl/butterflykids/OFL.txt -sha256 bc1175730d609233043cde47e48f69831f012e85537c5ec1a2cf4836757c1540 ofl/mali/OFL.txt -sha256 fe5e822667a4b2e083b8fdd7a37546163f26f6481b58742236abffdcfb3e6c71 ofl/baijamjuree/OFL.txt -sha256 b0316f404a7b291e40921c605160181065791a5010a2d2d5691fc7e28cdbdff2 ofl/underdog/OFL.txt -sha256 c026db4c1a557cae47e6930876965f9cbc05758eb1f5d6f59b6b61c8f342a57f ofl/alice/OFL.txt -sha256 aad1e82802172d4c1d22dd015a5b8b4275e5665a49c1df54ed64716fca7ae194 ofl/corben/OFL.txt +sha256 b01cec9e5e2035b70a6aeb61c673d1f6d5c91539845be07733bd9880fddeb9f0 ofl/kadwa/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/kalam/OFL.txt +sha256 694282197de3d750a43689dc64a8116cd19578cd516e7b2490c7b5362c064dbe ofl/kameron/OFL.txt +sha256 74584d937293a9cacdcd2eb05851b71aa1527901c18b87961d2f877c77a1b486 ofl/kanit/OFL.txt +sha256 136a256d6050ed32bbf96736d70b9099c6359e83dabeb6847cdf6b8ef84319cc ofl/kantumruy/OFL.txt +sha256 cc31fe974951d56d542f33782d07b2d5577a4afdddba89744e6bd69bcbf3a853 ofl/karla/OFL.txt +sha256 fdecdad755f4e5e95bee491c7521f31625dc08283562ea8579543c90430eb269 ofl/karlatamilinclined/OFL.txt +sha256 cc31fe974951d56d542f33782d07b2d5577a4afdddba89744e6bd69bcbf3a853 ofl/karlatamilupright/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/karma/OFL.txt +sha256 251f65282ff48a7e8ef3fb661fc99254d9b3b0c368427c98b1edbfe4ca66e888 ofl/katibeh/OFL.txt +sha256 3336bf5d4e7eedba48ecb831f37bf676e901c39f2e6a422cceadd9d2ffa55be8 ofl/kaushanscript/OFL.txt +sha256 0acef93ca37cf19eeb83a1c6a29b78b08377a211c8d80cd27626e210176828da ofl/kavivanar/OFL.txt +sha256 82831e8f12ecb6deb2f4d9919a04049895b4619e0301fa6b699c861bd7311c54 ofl/kavoon/OFL.txt +sha256 723764a50d4e6985dfcbd75fcb40dbd3abab37ba25ae626486d4a32084854487 ofl/kdamthmor/OFL.txt +sha256 ca13e9cd1faaa6afb9e43dcb534a8984cec3218993fb4b436468a79a1657ee19 ofl/keaniaone/OFL.txt +sha256 393d494f9ebb5db6a3552ffa03a4c6f3746c22808b40d011b391681da55ca3f6 ofl/kellyslab/OFL.txt +sha256 ce78cc8de3f6edd2738e8c02f2079db7086c9a74314baa5854675f83c33954ff ofl/kenia/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/khand/OFL.txt +sha256 6827fa45930d5847fca5b3d3898b3d87a229fba772a5b6c5bc33bf73ec83478d ofl/khmer/OFL.txt +sha256 2171558d2482764644a2f793696fa2e48c361730ecc87686b9a29082d6daeb10 ofl/khula/OFL.txt +sha256 38a83f1f8b6efc3ab354b8b6eed22e8524dc71280844dc24811d95ae27b34952 ofl/khyay/OFL.txt +sha256 7e896665d0863d2a17a671001dbe2528a5f9302f1dff9222af8b0834e9088d0c ofl/kiranghaerang/OFL.txt +sha256 11bdf9c7abd81f46a88b0b017d78a0e51f451e9dc0c2272813aa9f456ee886ca ofl/kiteone/OFL.txt +sha256 14b3fbd06078a869cf2ba96e6dacb852d373703c86ca7ad54a4cdd6e20fbab19 ofl/knewave/OFL.txt +sha256 b1958132ff727bd74409aa37ec0abbe4be13b1b379e1210e6fb77fc608c607d5 ofl/kodchasan/OFL.txt +sha256 0878e7d6e842bc3c45154059a1c2812de0d31dca343fe6bc16abc9afdee3e3de ofl/koho/OFL.txt +sha256 d3711c90a7deda6210d30e41b945f16bdaa00662b30ee0b7c36abfee82525bfe ofl/kokoro/OFL.txt +sha256 9c56b4e2e4e922cc37e19e1a9e2e1128beaa17a812e1b67c8ac371b0fb57ae03 ofl/kopubbatang/OFL.txt +sha256 e39d6ec64a37ed1523a59940695a61ea5e7882d9bbe0e7eb11653fda4b04fc79 ofl/kottaone/OFL.txt +sha256 a3deaae17ab9a15dc3c2778126aa6f80d41d567741853f84b16a9e1318ed799a ofl/koulen/OFL.txt +sha256 6627b9c2c8ff8e0c6ef23f1b0125dd5b293320c10c916d402fef64916c296d0e ofl/kreon/OFL.txt +sha256 4ec46c3e4469afa19f0156bac6917472974f9c85c189f9220cf8735d3e810401 ofl/kristi/OFL.txt +sha256 6c181f5a0045e8f414e1c232c35972ab83ea084ac44825f517ba001628d97b21 ofl/kronaone/OFL.txt +sha256 8f187da1eb4f23e3fe7ba68b1cb2e92881a415dd34c46489698454517e273c4f ofl/krub/OFL.txt +sha256 ff72e4d89860e64ee38ccf8a5a7e9dc085d5e36115b096a6c7f8bc988e9bec61 ofl/kumarone/OFL.txt +sha256 b712dacdda5da76c0213f8478886f893b855665c1153ae438bc3e55a7dc525ef ofl/kurale/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/labelleaurore/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/laila/OFL.txt +sha256 b5c3d12a3085b96011fee65555234bb9d31fa7444cf6f8d5ae6b1f5771394399 ofl/lakkireddy/OFL.txt +sha256 327bac41d89cf9f32e0efe353228018e1661cff458a5d4905714958514df7bd5 ofl/lalezar/OFL.txt +sha256 d51f3341fd7b3dfa1114d3ef0bdabbe57f60eef86a1458019e0077d676fa1fcb ofl/lancelot/OFL.txt +sha256 4bf7256c8ee73577ee5e26643d3247ec77017ca04489befd3e0f3412827729c7 ofl/laomuangdon/OFL.txt +sha256 4bf7256c8ee73577ee5e26643d3247ec77017ca04489befd3e0f3412827729c7 ofl/laomuangkhong/OFL.txt +sha256 4bf7256c8ee73577ee5e26643d3247ec77017ca04489befd3e0f3412827729c7 ofl/laosanspro/OFL.txt +sha256 1ed119b01f03187dbe2f5f89c95431b9a4ca46db604fd263164d8b4055189f46 ofl/lateef/OFL.txt +sha256 74ba064d03f1f1c4a952da936c3eb71866c34404916734de3cae73b34357e59e ofl/lato/OFL.txt +sha256 81d0973236b5b5709a80a217a330db36eabedf57bf4031de46b4660b69901234 ofl/leaguescript/OFL.txt +sha256 2937c7789b0e4fdeda6eafe93164a2ab36e20386704c4cb6f87b1deb620ec0da ofl/leckerlione/OFL.txt +sha256 ba01480319f922ecebbc73f1a523e7f8876e92b16553a32c494bcd3f6f5a27fa ofl/ledger/OFL.txt +sha256 3fa0ceff4b9a2d28dde43bc63cde3acfb5e6e92d13a53e484ca0e501e18c7e2e ofl/lekton/OFL.txt +sha256 75b2a5f39a53b4cf9286eb3d2cc1f895a8f3442680013c77124121bc347a6448 ofl/lemonada/OFL.txt +sha256 ed93e9833f18acc2775380a28139fd88d3ebf82df7cb814042498467be3463bb ofl/lemon/OFL.txt +sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode128/OFL.txt +sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode128text/OFL.txt +sha256 0fbae33ac3aa455c8c0d598347c87f1abfac0d215483f40f5a0e8dd08076df1b ofl/librebarcode39extended/OFL.txt +sha256 0fbae33ac3aa455c8c0d598347c87f1abfac0d215483f40f5a0e8dd08076df1b ofl/librebarcode39extendedtext/OFL.txt +sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode39/OFL.txt +sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode39text/OFL.txt +sha256 c867d1a613bebc4932cf28c060fefb3bcfba3be56ed498b873c79f4eb786af1d ofl/librebaskerville/OFL.txt +sha256 d7f96801a28ea11eaa51bc4a9c87fd91f2133bc298068e6e2847a15ddda23089 ofl/librecaslontext/OFL.txt +sha256 ad6f73fa3edb7aea340aadbc63c0d7ef7663abed82664432ae09a6b377fa313f ofl/librefranklin/OFL.txt +sha256 aa36087ecd7e9085e5a1439b0a6d0ee35966e8cd2ccaa649bebe62cae5815e82 ofl/lifesavers/OFL.txt +sha256 255d5debbb80eb2ea762644311f266a279e8778f00156655a516e2b7781a63e1 ofl/lilitaone/OFL.txt sha256 878aec7282ab41d058cedbf90e14512bcb4fbd0658496de8c2dfc592ed1f0cd0 ofl/lilyscriptone/OFL.txt -sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellenglishsc/OFL.txt -sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/sarpanch/OFL.txt -sha256 aff3cea99bf300b4b29f4dc04867cf9b49d83de8c5ecaf991c446d506b56173e ofl/wendyone/OFL.txt -sha256 b054962de0af1397d5350fddb4d6bb20f5f2e073b543eeeb694c7c3b27144fc5 ofl/chivo/OFL.txt -sha256 19849b33c59d0cffeaad0dbdc38db767e95e03cd36fbbfe6b67a9878aa5758df ofl/fasthand/OFL.txt -sha256 a57810cbca0b4715ae8610dd7a268260cebbdd4fd76d304e371517f828150669 ofl/stoke/OFL.txt -sha256 47a0b7e315bc56ca0326fca46302d87d48a61e3528d4196e966b62f5bf0243f2 ofl/armata/OFL.txt -sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumgothic/OFL.txt +sha256 6b53fb03a50914cc382f4d025ee595c17c43f24ae870f840bc51969d3e316c7e ofl/limelight/OFL.txt +sha256 9ca8b9e5db7184105da255bb110023cf1cce6caa56186341bb7b09ba97b20ba5 ofl/lindenhill/OFL.txt +sha256 88aece7d90f2bb7049719f11619a560af22af3451af141f12aa4f46bb157a99b ofl/lobster/OFL.txt +sha256 f46c3ea04f38ea73c0731d73dfba3d7361d4b38970feb31a3558bd1b75e0656a ofl/lobstertwo/OFL.txt +sha256 e88691a5e0a8a3f788f31db959701ec90a1d5e7505f1cc53c5663180a7d23c81 ofl/lohitbengali/OFL.txt +sha256 4fe81901e6f84cfce1145c715e931352a9a12aa7ac75cc193eb523c0cb0e5eb5 ofl/lohitdevanagari/OFL.txt +sha256 c87702d8b70f714fbefb554660e8ca57a43ef62a59089d11cbf0c6bd51d56928 ofl/lohittamil/OFL.txt +sha256 9551ade371e7bcb1f6d9959273bbf1fed3bdf398efb5c57cc1fd85d6a13e9e5e ofl/londrinaoutline/OFL.txt +sha256 819e3b25f9b50f12299a3db1638be3813efc6b938f2b86693a218d20ec4e3209 ofl/londrinashadow/OFL.txt +sha256 85b700bfba1250a6f8bdf930cd7113faf3d8e9dc52cd89eb98c3ac8a038a4aa9 ofl/londrinasketch/OFL.txt +sha256 66b5c49d384cba754806a891ebd52f2ca08dd05c0eb3c56170192da466a00a20 ofl/londrinasolid/OFL.txt +sha256 7706a84d7e49e2273877106334a1eded8ae89fb5839fb81e0f2bb27c846f667e ofl/lora/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/lovedbytheking/OFL.txt +sha256 1d1b7f3480c8d9b65c26d205e41dcbfa85731588d6ea50bccfa78e91f242d629 ofl/loversquarrel/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/loveyalikeasister/OFL.txt +sha256 65f43260cf7e66b57ddca8d148384a6602e2c06edd389a8b3cf388045127b47d ofl/lusitana/OFL.txt +sha256 930fed5b06a415736dc3b4e5f4f01585523b672717564bf677f93966bcd57636 ofl/lustria/OFL.txt +sha256 0d75673e4c98de3e11337dbd90b05d0232edfcade5c1c02fbc0118c85aea25da ofl/macondo/OFL.txt +sha256 0d75673e4c98de3e11337dbd90b05d0232edfcade5c1c02fbc0118c85aea25da ofl/macondoswashcaps/OFL.txt +sha256 34b8afbcab7508bea23847288332a8c05a507364ca6f0c8756ce560d7d59d506 ofl/mada/OFL.txt +sha256 746b384383888d9325ed2fa9c40d2456b458aa190dd2b8c515ed4f02a1075bb7 ofl/magra/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/maitree/OFL.txt sha256 616e75d879831bedfa7725c078e09bb56f8a17f40b194e16691b12251bb42b3e ofl/majormonodisplay/OFL.txt -sha256 75c7ccf4f537a7a3ebbedd299c1d2542e13d3b27aaf76a0a2d9fa91a2a8fcd3a ofl/felipa/OFL.txt -sha256 ee2c069b30f3e9a5aaf52357117ee3443ee27f17c29a2ec68861db283379905c ofl/dynalight/OFL.txt -sha256 fbe0442a6b1ce162c95e241df76cab5ef2daf6a5ac84ae1a7a6749f32c051098 ofl/breeserif/OFL.txt -sha256 43d530580461a574f6dfed9e15af6a74e95f7c04d9bfa1174a63ff036e8eee07 ofl/rubikmonoone/OFL.txt -sha256 40bd3f35477284c021978816e9d3b8723ff2283fd7065fafaa5bb3004e41b237 ofl/songmyung/OFL.txt -sha256 460966d12f306a007930575c3b8bc336fe0c32f880d622af6d3b745a06ca79a4 ofl/benchnine/OFL.txt -sha256 f6f60d5d4cf4f4b1fc4e41353c897a2f5a16e6396c0cd8fa8bdfd2f4586a9a68 ofl/alegreyasc/OFL.txt -sha256 0c922e2d65050677c26ae8dc501bc9ad3e0059c4b10df2fc9717d7bdacdfeb6d ofl/ramabhadra/OFL.txt -sha256 548890e4083028f04e5feba04b6e00554654d840aab81c8664eb66c2216a571b ofl/palanquindark/OFL.txt -sha256 e39d6ec64a37ed1523a59940695a61ea5e7882d9bbe0e7eb11653fda4b04fc79 ofl/kottaone/OFL.txt -sha256 1bfe7d2aca99042eabf37079152fef8abdda2c36dad454ae89b858a3cb1078c5 ofl/forum/OFL.txt -sha256 5505d1a010ee0f2eeecdf624984d2a6170480adab3091170abbcedd85361f1b9 ofl/novacut/OFL.txt +sha256 ad9ce814ff266b57d3c4698d3fadca4b41a6f942a0ddd215db5cc66abf92d668 ofl/mako/OFL.txt +sha256 bc1175730d609233043cde47e48f69831f012e85537c5ec1a2cf4836757c1540 ofl/mali/OFL.txt +sha256 8928e999ff156e35852ab41d7a906598a8285acd3bcd81dff67213a6cd98d43e ofl/mallanna/OFL.txt +sha256 1b8eef90c567309fef17962cc969dd9ed1de69176517238e744018bb983e7c1c ofl/mandali/OFL.txt +sha256 aa72b0185d828cb2fafa62a154e84bd3e20c88ada30326089bb20542b6363aaa ofl/manuale/OFL.txt +sha256 715ba72697e14daa9b29a333545f69bde7c497b9f77d0a2a4c4a5a752d961801 ofl/marcellus/OFL.txt sha256 715ba72697e14daa9b29a333545f69bde7c497b9f77d0a2a4c4a5a752d961801 ofl/marcellussc/OFL.txt -sha256 0786594992757ea0290ae4a490ab9249728f372adb13959c0c8ae4fec83057ff ofl/quintessential/OFL.txt -sha256 ca13e9cd1faaa6afb9e43dcb534a8984cec3218993fb4b436468a79a1657ee19 ofl/keaniaone/OFL.txt -sha256 760fb433c515570f6b77ebc60299c2c91d5f03848c659452a9d2458b28935768 ofl/numans/OFL.txt -sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantunicase/OFL.txt -sha256 1d1b7f3480c8d9b65c26d205e41dcbfa85731588d6ea50bccfa78e91f242d629 ofl/loversquarrel/OFL.txt -sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/prompt/OFL.txt -sha256 eb6c70cb6b575ad22df022d454df7a20582915e6e8da19b579c6cbef37a26bb5 ofl/gafata/OFL.txt -sha256 93f60741563b4f51f2fcdb207fde72b2b23292a47022c729aecd998b360d8038 ofl/bilboswashcaps/OFL.txt -sha256 4579982a484a9745864de2cda666fd7b5017f9182b74dbb4cd53d84c1d1b2231 ofl/gruppo/OFL.txt -sha256 cd059851dc2abcd2865ae318e8b949736f958794210acb90316530fd100fc904 ofl/geo/OFL.txt -sha256 af9b97696048d509e3d70f8108b7c4381084f95c8fedd97acaa76b0b287668be ofl/molle/OFL.txt -sha256 6958d8c61b6b223f81bdc2109941e5d0004996dde61e197d628e0293f4f1bc58 ofl/miama/OFL.txt +sha256 f22a2beea88d631a620b15683fd03e79f13ad3297ad97fa5e42283c0b1a3a038 ofl/marckscript/OFL.txt +sha256 50f7b09af5ff677f611a96cdf5eb916307c59b29f2e8144942718cb432a9bf6f ofl/margarine/OFL.txt +sha256 a345b13576140008a697ac66ca8c76cd63b1dd076712bc30a0f5e97dcc53cc83 ofl/markoone/OFL.txt sha256 7e98b49a12b51240c85b04eb0d9919a6fec7dbd491bef6cbddc22d3f851bd1f1 ofl/marmelad/OFL.txt -sha256 b9d592c3bf421197d9b7e353416b8e2ec81584988824b43d38c86d997a08b868 ofl/myanmarsanspro/OFL.txt -sha256 e414e07f7a4da16ed47ebec80d52dd79f21d3ca42bc92385a755d8078a038814 ofl/playfairdisplaysc/OFL.txt -sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/sairaextracondensed/OFL.txt -sha256 bc85bae0b512b799bbfb2b916e4d0a34cfd963d09778cd783e248b479e67760a ofl/comfortaa/OFL.txt -sha256 caa697668c3cf3e622753fb202c6c2e29648b94a3499dc7b869a14192e38c553 ofl/sourceserifpro/OFL.txt -sha256 81d6c3788a6b641cb9f543389d9d5c0cd3bf94fbb5639be19c102b9274c34291 ofl/mousememoirs/OFL.txt -sha256 dd028a807788d5e22e9f8cc18f026cda23369954673658f2ecc7d30bdb364b89 ofl/arya/OFL.txt -sha256 53f9c99fa3d47f7d632a42ee7bab4a834a60a744f6026d676c3a223cef2b2ef3 ofl/vollkornsc/OFL.txt -sha256 6506b2fa2a14259a8859608a6148a4591d67bbaef4d8e1948b43c4078561b0e5 ofl/tauri/OFL.txt +sha256 f177d98c67b84250ec87a03ca6ad161e84cab15b435e960039b971797a065f4a ofl/martel/OFL.txt +sha256 5641212407f956b828bf632afc4bbb3344f461f82255ab56756d9e3e8604c7b1 ofl/martelsans/OFL.txt sha256 6cca1abc09d677cf00a55674ce2775e0eeb6dc5c0137b0401816680b9e500f81 ofl/marvel/OFL.txt -sha256 e98ce988fba1c138f4e7c0c5120809706ab1b24a3c29638ca83ab2ff082e08db ofl/chango/OFL.txt -sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/sairasemicondensed/OFL.txt +sha256 9cd20277e2c89d47e3997435e3a16539d20173d850fbb42474990f71642e473e ofl/mate/OFL.txt +sha256 9cd20277e2c89d47e3997435e3a16539d20173d850fbb42474990f71642e473e ofl/matesc/OFL.txt +sha256 e0cde1a4993ed689d463d5e2401f4a60c54cc48a14253ab0f8012d722c417038 ofl/mavenpro/OFL.txt +sha256 e0cde1a4993ed689d463d5e2401f4a60c54cc48a14253ab0f8012d722c417038 ofl/mavenprovfbeta/OFL.txt +sha256 846ce83956a732edd57b74d9ba988d58abc8c8e6d0926859559318ce6aed139d ofl/mclaren/OFL.txt +sha256 eb1992aec1cf892ec94ffc116d79b62c7cb03dc108141b94a57a4195d210b514 ofl/meddon/OFL.txt +sha256 45b1f44d2cb859ea4b7be2f322c57b8ff7be55075c336744e62b5550cd0a97eb ofl/medievalsharp/OFL.txt +sha256 88ac81fcd30e64f6e6b91b61b159c9b700bb3dd59012b72ec61629abcfc7fba1 ofl/medulaone/OFL.txt +sha256 d530c14e9cc263c567b47742ef20df2a41374f00732ba4f290f52adad428b1a2 ofl/meerainimai/OFL.txt +sha256 36e2f1debc9778bac79fac1a0cb5a5ef51c102f00b58ef7d8a05324144b68166 ofl/megrim/OFL.txt +sha256 e12a3e737fa75c0ee072d965b6185710f35e38a4f7a0793ebc66ba14a216109b ofl/meiescript/OFL.txt +sha256 131d19126a0e7ddd25540fd6bee219cebbc8aee7e8374882998ee6c2f4ff6cf4 ofl/mergeone/OFL.txt +sha256 c264f64bb2b91ca0dfdeab75d71719120271fa6a30035396416af235ef481c1e ofl/merienda/OFL.txt +sha256 6383249ddffbd87f2bbd7878ceba2dee0f1a2193cd7a4f41c00aaceb8e6d8b5b ofl/meriendaone/OFL.txt +sha256 a7ba785ad99b6eae0444ab89910e512d4af9865937fddbcb5c72c4f59f55d6ad ofl/merriweather/OFL.txt +sha256 22c4588bdc14621220ba14515d52041d1312541e034a15d1f5c2a88fc6075276 ofl/merriweathersans/OFL.txt +sha256 2f871c2e81de6d0c72c981615002c30bc9f1637003d6d3d4c3f0149886b70569 ofl/mervalescript/OFL.txt +sha256 4e66943af352059c059dd658774f25fbc831f1ad478f9f0890c06ecc2dd324c7 ofl/metalmania/OFL.txt +sha256 f1888ed385b528866a472d02f4e06ef0873aca5b3c63ff1f6116cbb150dc9a13 ofl/metal/OFL.txt +sha256 4fece81b541808b40293b0cd3f5b1990274e1100e1c20455dc2987cd96639d3f ofl/metamorphous/OFL.txt +sha256 ae28423a5e63cb65e651ccf62c9091b322fff1d2d4e87ad9f98b1096c2e7abb5 ofl/metrophobic/OFL.txt +sha256 6958d8c61b6b223f81bdc2109941e5d0004996dde61e197d628e0293f4f1bc58 ofl/miama/OFL.txt +sha256 026610186158060ad351fb20cd1452def5d35b2531634c090ce8cd1d9e9aeaf2 ofl/michroma/OFL.txt +sha256 3997621a219c7758e31dbafdd3cbd2bcb0b6144a41d1ca068d04dbcc4bafcde6 ofl/milonga/OFL.txt +sha256 aa5d677391db4e54ad324b6888792e533c5d800de7ab713302a2fc8bff2f4f6e ofl/miltonian/OFL.txt +sha256 aa5d677391db4e54ad324b6888792e533c5d800de7ab713302a2fc8bff2f4f6e ofl/miltoniantattoo/OFL.txt +sha256 d2875ded3e44e9ae53ea2b35e825dafffa19e82c5d14addb9f1150fcd7a3463d ofl/mina/OFL.txt +sha256 56c4ff36faaaf336bc5fee659ff6fab2413d67499cc22acc29079b3892d8931b ofl/miniver/OFL.txt +sha256 aa8a8196a3e22c3bd985e33cd3245ae9a38accba5e79fc0e3b292612a8d6b337 ofl/miriamlibre/OFL.txt +sha256 d1bf0acea511ad1f4de53e942cffb8ab0e67c03c6203d6f390d71105d52c33f0 ofl/missfajardose/OFL.txt +sha256 b8fb5cd1bafb52e652c733fdb75ee20c763e97acb0398f6b4bbe1d8ada0c07e5 ofl/misssaintdelafield/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/modak/OFL.txt +sha256 3e908f3a95680bdf3c8456bfbf76392605b34cb3fba109e46441056ab966cb35 ofl/modernantiqua/OFL.txt +sha256 4dee45deee99672fbe342b2f4b7aa75b0cd12de18a68f9732c77f096bab47e0e ofl/molengo/OFL.txt +sha256 af9b97696048d509e3d70f8108b7c4381084f95c8fedd97acaa76b0b287668be ofl/molle/OFL.txt +sha256 04b895d77ccec5034191e953e8e5884637269be15fe0675fc25039014eb46349 ofl/monda/OFL.txt +sha256 02faa476b17db0044d0c502a3ce12fdc81eeeb9bd618e6a005407c79d6081bbb ofl/monofett/OFL.txt +sha256 585c6d2da8bcd8ffa651e0016f2e992a6891b625143a46a1dacf00699a817d9a ofl/monoton/OFL.txt +sha256 a5fc033225d145b43fd7391482ae7689825414ce29a01614d651a3012b57c81e ofl/monsieurladoulaise/OFL.txt +sha256 cb8bbf7a86eefa8c146f24ae5be74fffa887ba83719ab3c87036be8e3d0191e2 ofl/montaga/OFL.txt +sha256 41f82bb4d24b304f30f7136bc47abdd083782e4265c984160f5649d1e78ea49c ofl/montserratalternates/OFL.txt +sha256 41f82bb4d24b304f30f7136bc47abdd083782e4265c984160f5649d1e78ea49c ofl/montserrat/OFL.txt +sha256 c54957d55e7c9e66c28e474cd39de75dc044e8f69056788cae44eb78841ceef1 ofl/montserratsubrayada/OFL.txt +sha256 1fac7a3e4e43b091c2d31aef7a375d2b969c42b2d5fce8e2d40b5f7b1233ddb7 ofl/moul/OFL.txt +sha256 581f08727777cb2a1a1ec95c0f981ce64fb1ad4354f78a0ac4f3481afa605577 ofl/moulpali/OFL.txt +sha256 81d6c3788a6b641cb9f543389d9d5c0cd3bf94fbb5639be19c102b9274c34291 ofl/mousememoirs/OFL.txt +sha256 da15da6b1496d4de18f97e2ad1b722ef8a1c121149c2c93b2cf7eac6ac27b35c ofl/mplus1p/OFL.txt +sha256 5ae0cfa62a70251d9a2c3c5430ed3bafa480005f23e4b9525488f2318e5c10ca ofl/mrbedford/OFL.txt +sha256 5ae0cfa62a70251d9a2c3c5430ed3bafa480005f23e4b9525488f2318e5c10ca ofl/mrbedfort/OFL.txt +sha256 0da6a3e5b24a9fa04085c20a2a1d3101eeb1e0bff56a2291f407187e1b2adcf2 ofl/mrdafoe/OFL.txt +sha256 c3bfad2900a83f571d5c984d490d51c56aef14806c28dde38125593e1e71daca ofl/mrdehaviland/OFL.txt +sha256 f354ef1e7256644b320c5e1d9a07a819c2e2b930166003c96680894f9fba81be ofl/mrssaintdelafield/OFL.txt +sha256 967d75b89eef1f8a0ba1f5ee7dfb13427621f9116c6e7878ca04da8c9aa8641b ofl/mrssheppards/OFL.txt +sha256 46751a31966477e3f038d1e5ff1146a33234a3a523a0e6a21be3221cba082a34 ofl/muktamahee/OFL.txt +sha256 d24ff874133ecd133e55d7c4070d2edab14d3933477c2bccb3a0d8d1cc9c33bf ofl/muktamalar/OFL.txt +sha256 2ee5e8e47cd7d08f60bb9555f72b25912c9e81b13f5bc9a0551ddf943da6ca98 ofl/mukta/OFL.txt +sha256 d24ff874133ecd133e55d7c4070d2edab14d3933477c2bccb3a0d8d1cc9c33bf ofl/muktavaani/OFL.txt +sha256 7f55affd2bce8ed9be13297ba8df1a4a7e9835c2a006126dc2a1eb4ce75a7943 ofl/muli/OFL.txt +sha256 b9d592c3bf421197d9b7e353416b8e2ec81584988824b43d38c86d997a08b868 ofl/myanmarsanspro/OFL.txt +sha256 965bd2c907f7bb6f36da4f85e83f29aea8b2f720783deebd7ed7b40678e67672 ofl/mysteryquest/OFL.txt +sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumbrushscript/OFL.txt +sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumgothiccoding/OFL.txt +sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumgothic/OFL.txt +sha256 8eb1c1019fe7fe6d0b6e7d7bbbba1d9cbdd969d8c5f26455708f6cfb8a77284c ofl/nanummyeongjo/OFL.txt +sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumpenscript/OFL.txt +sha256 c0a7efe98e77cbfcf1a5ca43e874e25cf53d9185c56295bc3b5c407f95dae638 ofl/nats/OFL.txt +sha256 656a20870fbcb8f559f1c6308c1df90ac93d7cd0279aab49b43a43b5e58534e6 ofl/neucha/OFL.txt +sha256 636d62f04d7bda9fcf9354f258f6244e7e18288cae036b95122e204f1acbec80 ofl/neuton/OFL.txt +sha256 942d51cf079299e83e9dd7a9a37eb92260524e8d1d576b2f0b3f7ca207c53f8e ofl/newrocker/OFL.txt +sha256 7729f005b7a087368e2cf61fc4b65cdc85988e47d0e6e38c93a72de345e86b41 ofl/newscycle/OFL.txt +sha256 6aa923334ec515d26b1a61bb978a0bb5bd8884de7529add1625beef2f4a53f74 ofl/nicomoji/OFL.txt +sha256 70f664de65e7bb62e1ac728f20a9bb28de7fdc18be594186137a9e15ce9dcee5 ofl/niconne/OFL.txt +sha256 f9f28345ffcd6cea6e3c6699e4579cd1948053d80fe89a6a5a2ecb269afc95f8 ofl/nikukyu/OFL.txt +sha256 513346ac60af1dde9d4a7bcfad3f39909d5697373a8aa1a6ee4376e6d22d3cdf ofl/niramit/OFL.txt +sha256 e711c816f7de931244976f51166baa15446fc307e5d0ea04fdca1bc2c04afb1c ofl/nixieone/OFL.txt +sha256 9465823369fbe1ae0b5a3065021d53ef8c56e113e664229455dc80b237fa6a07 ofl/nobile/OFL.txt +sha256 4dbbe5c21b46f2647d227dde69b971a1b46de1435e0752a9eda1ce120725a93c ofl/norican/OFL.txt +sha256 4f8b437578b20bff261adfe6c02f63bcf7dbb6a45ab37804b3547e5d5f44927b ofl/nosifercaps/OFL.txt +sha256 b41b99f35b507564e54f6b2f5162ad1c21f94a16837c632da6632b376a341f42 ofl/nosifer/OFL.txt +sha256 fa28ba897eb819768d6bc00c30aa03ef560e80e5f6fb872eaea089c66992f502 ofl/notable/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/nothingyoucoulddo/OFL.txt +sha256 f2ab7e5c5c750fa03a8d8f64c72a089ed86fbd3dc172440fcc704b27816d5957 ofl/noticiatext/OFL.txt +sha256 5e0da210fb04058a8c0087985d2d456b931c2579811a49655721d3cf0c36b6d6 ofl/notosans/OFL.txt +sha256 6a73f9541c2de74158c0e7cf6b0a58ef774f5a780bf191f2d7ec9cc53efe2bf2 ofl/notosanstamil/OFL.txt +sha256 5e0da210fb04058a8c0087985d2d456b931c2579811a49655721d3cf0c36b6d6 ofl/notoserif/OFL.txt +sha256 5505d1a010ee0f2eeecdf624984d2a6170480adab3091170abbcedd85361f1b9 ofl/novacut/OFL.txt +sha256 d2f87f90d108a947f98c030d9d8e4bf27e761ce83f222453b9a7230c5fb309e1 ofl/novaflat/OFL.txt +sha256 197c3f48cff4df3d768230e0bbdbc4305d8b8b9041ea6fb5e00872af66adc5ae ofl/novamono/OFL.txt +sha256 bb655534b6c7bf3e547c1368a68a5b1032d0e96fd08b5cc75f3d7a78528784ef ofl/novaoval/OFL.txt +sha256 f1ef4c3ef43322403f5c30e4fb46496969cb5c34a2a6e7247b507254b69caa6a ofl/novaround/OFL.txt +sha256 9b1cfccef4a7e19f90e2901f808f3aec4335d3cc81f978453ad0c8ded14447a0 ofl/novascript/OFL.txt sha256 42e7b456fee0d0dc86927579b3d2626d42bb0f4cc9778f3a92ca8ada4e46348e ofl/novaslim/OFL.txt -sha256 1b8eef90c567309fef17962cc969dd9ed1de69176517238e744018bb983e7c1c ofl/mandali/OFL.txt -sha256 9e262d6d7fb789aab6a8ecc53fc9c78387eeb9f935dcd289282d8e751b6bf743 ofl/antonio/OFL.txt -sha256 07dbf75115edfc1fd75580aa19c4c730201a099e8f86a9869887dfbed0547266 ofl/offside/OFL.txt -sha256 f177d98c67b84250ec87a03ca6ad161e84cab15b435e960039b971797a065f4a ofl/martel/OFL.txt -sha256 bb3e8082faf86b1474a6b042125ef0f83669d28110b72f70416a7587b7b9f144 ofl/unlock/OFL.txt -sha256 c4955dfe15a5db10326aa58ef767460c42cd12a3acdb3e698eee2704eb373d94 ofl/electrolize/OFL.txt -sha256 cf6dd07485d67d20f105afb9981dffdb6b180b59af45a228839cf3fb0277c9fb ofl/arapey/OFL.txt -sha256 87e8d9aca71dbe0481ba8611fc90d7e3aebfa3e2546420c403e7078898b0c484 ofl/allura/OFL.txt -sha256 55e13d77a4457aa9c60f10c5b97baea3343d3bac30960d49554a033cb9eaff7c ofl/sail/OFL.txt -sha256 1c5bc055869d5e9151ec7774082727db720ec4293c65be67f91a4bdcaeb02998 ofl/righteous/OFL.txt -sha256 de5ff32211a4340b01477af39ee339d639438955e409f79b666d4b9207f3c92c ofl/dohyeon/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/waitingforthesunrise/OFL.txt -sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellenglish/OFL.txt -sha256 44a7c6e4c5572392ae122d3b1d8c6ba6fd640a7797e675384585d947f2773e3c ofl/jua/OFL.txt -sha256 1ba345a91338581e5f8fccc3e37e447ddea5b99ec9caec1b76c7c39492387d2f ofl/signikanegative/OFL.txt -sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantgaramond/OFL.txt -sha256 9ee6b2ec20a06c599a07412690876eb457bf192c10e886e60d8bdffb80bc21a3 ofl/sahitya/OFL.txt -sha256 dcc832bd71ea62cbf97f06327a1b5442905b49ea446801421d71f7d1362db215 ofl/dokdo/OFL.txt -sha256 8aa063e3a1299c5e1821f386f5ca8bc157ac561bd12c739ffa81c6f0821450c0 ofl/donegalone/OFL.txt -sha256 e588abf45ca2b19c340c4b27349c9b6b6e5e198316fd965128ed9f4422942cbe ofl/raleway/OFL.txt -sha256 9860b97028024085855e503e32c1971bfd603374641cd018c136433ebcf5a338 ofl/gravitasone/OFL.txt -sha256 ee9d043332991eb6bf2bd56fb04db3c558c1ee2f0cb9aa7b18366c77e34fef30 ofl/jura/OFL.txt -sha256 15b1a21c3fa37a475ba6b0c0cfe289c7952548caf6e432068ddaf98d139ce419 ofl/belleza/OFL.txt -sha256 c5a77946a56488790364d060628385d51226da62a18f30d2be0181d82ee62b00 ofl/suranna/OFL.txt -sha256 36e2f1debc9778bac79fac1a0cb5a5ef51c102f00b58ef7d8a05324144b68166 ofl/megrim/OFL.txt -sha256 0fbae33ac3aa455c8c0d598347c87f1abfac0d215483f40f5a0e8dd08076df1b ofl/librebarcode39extendedtext/OFL.txt -sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/teko/OFL.txt -sha256 d324289a26909a519fb16c3d468a56ab909ad6d9070cac5742e5d59ad9bd9815 ofl/gildadisplay/OFL.txt sha256 c0bcb72e68dd416db0bb9fcec7a7fa62321b0147cde00d8c8f82748e33aefd34 ofl/novasquare/OFL.txt -sha256 794d72ffdd25e8f7ca8e1d68db088c30ddbf2fdb369b6cc8217d4fa5fa6dc62f ofl/adobeblank/OFL.txt -sha256 806cb93632b8091cd36554642a96b2752bab50015da6a2b456d786c1f9aef5a5 ofl/carme/OFL.txt -sha256 0677891e6a143f297350d260ad766ad33bfc18ed5fa4f213acf648d6b597ec1a ofl/alegreyasans/OFL.txt -sha256 08b6f5cceaefcf2881eb009adeb78edd0fabf9c8f0eaf8b88f07a690222227e6 ofl/varelaround/OFL.txt -sha256 3f0f27931c92453994176af3b1e7954f9aac39fe145374d6d08c47c822e82e59 ofl/princesssofia/OFL.txt -sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeeoutline/OFL.txt -sha256 455397ca15d39e9178bbbf4b485a29187751d60f7ceb7829980a521d5ab6848d ofl/sofadione/OFL.txt -sha256 b7574cd4c76770e5e3915d16bd93f09663bd77cb041a4ec09d824c52b540529a ofl/germaniaone/OFL.txt -sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/eastseadokdo/OFL.txt -sha256 520a0c239d39b379b61c4de5f8e3b02db20b0dfc137481843eac01f02c41f4a2 ofl/aguafinascript/OFL.txt +sha256 455755e2e7ce9dbac6beb3729c97c57d6f74a638dcb5be548ec953021fbdbfb3 ofl/ntr/OFL.txt +sha256 760fb433c515570f6b77ebc60299c2c91d5f03848c659452a9d2458b28935768 ofl/numans/OFL.txt +sha256 010cb216e8f3fbb2836fa3f38787a412b749352de546797f57c03c3bcfe46b1f ofl/nunito/OFL.txt +sha256 43c89012c2b640187aae7e0c83d5ffa8381a0368c00e8426594358d44d3811e3 ofl/nunitosans/OFL.txt +sha256 a10a07aaa150c147fa3cb22e845013f38e6c2b45fe5ba32a74ed1be9d4c417ae ofl/odormeanchey/OFL.txt +sha256 07dbf75115edfc1fd75580aa19c4c730201a099e8f86a9869887dfbed0547266 ofl/offside/OFL.txt +sha256 ed50ebe2fa922554980909192526fe94966556626d6d440a462c8e7eaed74cdc ofl/oflsortsmillgoudytt/OFL.txt +sha256 fc59ca3cd3bcb47bd4df597519111ec130c25cabcc57a8808dd2d243cdcec6ae ofl/oldenburg/OFL.txt +sha256 4faa2d9e2ce0a4b5b37e62ee6fafe474a539b31578f7214ed97cc3503aeb8ebd ofl/oldstandardtt/OFL.txt +sha256 8fbe530adcbe30c658393c3f2b5a4785d6765afcefdfe47f594730131f3a0abd ofl/oleoscript/OFL.txt +sha256 8fbe530adcbe30c658393c3f2b5a4785d6765afcefdfe47f594730131f3a0abd ofl/oleoscriptswashcaps/OFL.txt +sha256 d941c5b788d47aa469ee54e30f4c12d6a43c45a295f10c568bdf9772f2893b7b ofl/oranienbaum/OFL.txt sha256 ffaf7bc750bdaa0b95b09eb80e419748bfaf46268c6612860f0a5e19e17abb12 ofl/orbitron/OFL.txt -sha256 c6b9c7322fe0203d4d8a0f98541136d8d76da76b92c79d206b09991b98338cc8 ofl/gemunulibre/OFL.txt -sha256 2f871c2e81de6d0c72c981615002c30bc9f1637003d6d3d4c3f0149886b70569 ofl/mervalescript/OFL.txt -sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloobhaijaan/OFL.txt -sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulnamsanvertical/OFL.txt -sha256 00a6fe8dfdc48d6206bcc4f10a765515a73433dfba7255eff966963beb26facb ofl/dhyana/OFL.txt -sha256 cd2dea62cd4b0c5fb335cf07ff04fd5c4bacb49b8d6c2bbbef9766c663d79b1c ofl/patuaone/OFL.txt -sha256 c0a8947de199b422d30c16137e4decd5362e3a1d504422880d69c02bd6046dac ofl/cagliostro/OFL.txt -sha256 c267a00c9476c78a2336d7b372b536885b8b24173a29ed53496f67a742c14961 ofl/alef/OFL.txt -sha256 2cc926050c4c6ccd9a0288b7792e2fcf93e5629ee6269e35986f092275e5a1b9 ofl/sarina/OFL.txt -sha256 f1bce31b817dee01c1e4ef8bc45d8ecb95f01f4abbf0a985007cb3cd0fd8123d ofl/zcoolqingkehuangyou/OFL.txt -sha256 9788e3b3e67f22ab5846a0bb867a230e7df2468c3cd20f730a5d9c34e673d090 ofl/rubikone/OFL.txt -sha256 f3bc8767749fc133d9b35e84ca024b82f1ac4d1b38deca0adcf8300892303022 ofl/faustinavfbeta/OFL.txt -sha256 ee81f11dd1970e9749afd2a572256f8eefce65532872762a4d7a3d5daa0812c8 ofl/shojumaru/OFL.txt -sha256 4f4bc3806a1e55789c6ef75ca5fc628297b05292f74966474dc0d40324abc609 ofl/abel/OFL.txt -sha256 064539f87826887d2062b7823b2b97b7625d68b642f6c945c99c0b8dc8084195 ofl/rationale/OFL.txt -sha256 a345b13576140008a697ac66ca8c76cd63b1dd076712bc30a0f5e97dcc53cc83 ofl/markoone/OFL.txt -sha256 203693528d6d2e8dc5e639c6ea42b3e825b59dd6447294e37b306fe734650091 ofl/arizonia/OFL.txt -sha256 9ca8b9e5db7184105da255bb110023cf1cce6caa56186341bb7b09ba97b20ba5 ofl/fanwoodtext/OFL.txt -sha256 3997621a219c7758e31dbafdd3cbd2bcb0b6144a41d1ca068d04dbcc4bafcde6 ofl/milonga/OFL.txt -sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeeshade/OFL.txt -sha256 162a3b5c72cba845280a6f887c11d02984540b924510138c8b1eb473bcdafb6a ofl/concertone/OFL.txt -sha256 21b54eb0d7513524798a00dfbaf99a02c003a0012a728cc5f0e02d24c50482fb ofl/caveatbrush/OFL.txt -sha256 186d750eb496a4c17a76385f82be6aea2ac1cf2de074a811d63786cf374ea73f ofl/barlow/OFL.txt -sha256 9551ade371e7bcb1f6d9959273bbf1fed3bdf398efb5c57cc1fd85d6a13e9e5e ofl/londrinaoutline/OFL.txt -sha256 f15a9a3a9a665c2d17655b8fedad86d9a8f30081d46bb91236beb1bc7294a589 ofl/akronim/OFL.txt -sha256 76a55594c9a18b7d94b8119de838237eb834bae4e8c646d6d363aee587b7b427 ofl/slabo13px/OFL.txt -sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/sairacondensed/OFL.txt sha256 96b7bc175186cd0153a9682a1c9bb1da7103ab13a83abef8026bc64582ca616f ofl/oregano/OFL.txt -sha256 6fc386ac48a529b85c21f90a6c8d2111c6271b3063f9ddd78e92645db5259510 ofl/tulpenone/OFL.txt -sha256 13e862ac3f67130f58bd4bebb61c588d147b5a555b1ac6959570799c4f648cd0 ofl/capriola/OFL.txt -sha256 d24ff874133ecd133e55d7c4070d2edab14d3933477c2bccb3a0d8d1cc9c33bf ofl/muktamalar/OFL.txt -sha256 85814924eca98e1fa530901cc5167d0012aaf31122f9570d7e9755443dd9335b ofl/siemreap/OFL.txt -sha256 f76c1013cffb3e0de0e7dad19ee5b4b7849c7ab10b67218515e39cfd87e554a7 ofl/julee/OFL.txt -sha256 c264f64bb2b91ca0dfdeab75d71719120271fa6a30035396416af235ef481c1e ofl/merienda/OFL.txt -sha256 d102f22055cfa31a9659228483de3c726010f0b3b416b78e3cbefcb54816e812 ofl/galdeano/OFL.txt -sha256 2db02cb5d05d5f8a003ffefce36a32a16520ad4cab9ed90635ff953b583e4e82 ofl/sigmarone/OFL.txt -sha256 cdcc959c42ab255b4cea4bd82f2db5c24a2da7ecabe615d02d5a5dba3716e446 ofl/racingsansone/OFL.txt -sha256 c88333734ad7cd30540ec6614d12aa829a0395715de30e336d22ddfa3005db42 ofl/catamaran/OFL.txt -sha256 26daffa24723bb188643085cfc5423f9d78d22a395df4a7928380e430545a201 ofl/bubblegumsans/OFL.txt -sha256 de2246895f0ac21fe05b095d586d36cbc9f987ebcaed1e050c61e69667caf1c6 ofl/hannari/OFL.txt -sha256 b54d54664cddcbf05f5b4ea3aec7e89317eb917cf465920969e7b22361e0f4a5 ofl/seymourone/OFL.txt -sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averiaseriflibre/OFL.txt -sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexsanscondensed/OFL.txt -sha256 5802c9e3509199c7aa9a13ea410ae27febbc0cdea184bf7d227170fac703bba8 ofl/passeroone/OFL.txt -sha256 2400b30a72d2b1555255b81625576dfb552584a19a9c85ad8d43ff77bceab13b ofl/plaster/OFL.txt -sha256 4bed7eaae70cab1bdf2bcf9b1cb562fcd9cc26d1c3533c4ade0ec70516dfb3a4 ofl/trykker/OFL.txt -sha256 45b1f44d2cb859ea4b7be2f322c57b8ff7be55075c336744e62b5550cd0a97eb ofl/medievalsharp/OFL.txt +sha256 57f8d60cfe9212b971f07253e303746128edd06b21e3a0e4e188308e569f03e5 ofl/orienta/OFL.txt +sha256 173ea2d0bdda981829719623c35699e8c0e4aa508e0af12817ad7ccbfa4c6137 ofl/originalsurfer/OFL.txt +sha256 ae05f8781a5ef38380ef3efe8cad86783610b6a780c6c278d7472f95310fccee ofl/oswald/OFL.txt +sha256 62fab0ba1d5593782cbf048da193f4b1edc16b817577a99d707827513ad80e9a ofl/overlock/OFL.txt +sha256 62fab0ba1d5593782cbf048da193f4b1edc16b817577a99d707827513ad80e9a ofl/overlocksc/OFL.txt +sha256 19c6ecf65a6b0687dd324b093ced5f1020a1fcabfc8ddaaeca6906cd05153e23 ofl/overpassmono/OFL.txt sha256 19c6ecf65a6b0687dd324b093ced5f1020a1fcabfc8ddaaeca6906cd05153e23 ofl/overpass/OFL.txt -sha256 ff1f38ac4e694a4ad5bd3d7a5146cd8bd73fd57aae794ced76a24b0d68e41206 ofl/pinyonscript/OFL.txt -sha256 6aa923334ec515d26b1a61bb978a0bb5bd8884de7529add1625beef2f4a53f74 ofl/nicomoji/OFL.txt -sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesansexpanded/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/overtherainbow/OFL.txt +sha256 008445a4d53fbd71bff9cf733bdfd841a1b15fb58ef3473f7bab4c456e3b2930 ofl/ovo/OFL.txt +sha256 1e20933206ca06421c7c378184da5476d195314cf4bcda2bf122cd45d69a956e ofl/oxygenmono/OFL.txt +sha256 1e20933206ca06421c7c378184da5476d195314cf4bcda2bf122cd45d69a956e ofl/oxygen/OFL.txt +sha256 4705fc9bceb299b2a951d23c321d31f3679871bb99ceadb978907704d211f4f2 ofl/pacifico/OFL.txt +sha256 fccf4916b5f84ef5f88d93fec464421aaf4121d11d4be8d74ee2d032f7661d6c ofl/padauk/OFL.txt +sha256 548890e4083028f04e5feba04b6e00554654d840aab81c8664eb66c2216a571b ofl/palanquindark/OFL.txt +sha256 548890e4083028f04e5feba04b6e00554654d840aab81c8664eb66c2216a571b ofl/palanquin/OFL.txt +sha256 b4fc1d55ce610f255c5712f8169543f9610536d002deb99bbc99bfbba9f8a560 ofl/pangolin/OFL.txt sha256 38fab5a643fa935a4e11edae2d7b2bbe9866b4f4828c2be2f41451b3f27cb67a ofl/paprika/OFL.txt -sha256 a5fc033225d145b43fd7391482ae7689825414ce29a01614d651a3012b57c81e ofl/monsieurladoulaise/OFL.txt -sha256 ecc91fac753ad9ba5bb7e7819a5c59ee1e3cf89032133c6b4b0318d63c35933b ofl/alike/OFL.txt -sha256 6939af7114f0a33c7e6142d4c1320d1bbde11aebe6d8f3c48fc5fb3e0f676a7b ofl/jejugothic/OFL.txt -sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldoublepica/OFL.txt -sha256 9cd20277e2c89d47e3997435e3a16539d20173d850fbb42474990f71642e473e ofl/mate/OFL.txt -sha256 351740da2d452b48193483f22f64918a6dfd64a7abe225c6187ad3f36e0d9cd8 ofl/postnobillscolombo/OFL.txt -sha256 aa8a8196a3e22c3bd985e33cd3245ae9a38accba5e79fc0e3b292612a8d6b337 ofl/secularone/OFL.txt -sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesans/OFL.txt -sha256 136a256d6050ed32bbf96736d70b9099c6359e83dabeb6847cdf6b8ef84319cc ofl/kantumruy/OFL.txt +sha256 1dd84b611f4bed7f9ff9089e76a96337b187e6f283a4ab33bcb987f844f2c4db ofl/parisienne/OFL.txt +sha256 5802c9e3509199c7aa9a13ea410ae27febbc0cdea184bf7d227170fac703bba8 ofl/passeroone/OFL.txt +sha256 36c285c5472c625901d4a13da7e31c5ea6126678d31d56cf95572c49f27c8950 ofl/passionone/OFL.txt +sha256 a89ac8075be60f2beba79bed3fa253415a373dbdc3bb108b23f4854d0dd495b8 ofl/pathwaygothicone/OFL.txt +sha256 377f4f9c19e935228552478eb68cc2ed82910988a60ba60e2ac73b09f32d02d1 ofl/patrickhand/OFL.txt +sha256 377f4f9c19e935228552478eb68cc2ed82910988a60ba60e2ac73b09f32d02d1 ofl/patrickhandsc/OFL.txt sha256 72060253bd481a8dc18664bb9117072dc07c0f0270a40617c230654821774850 ofl/pattaya/OFL.txt -sha256 56d9c3529facf93873a2a1626dd038054d244b3af30a1e3ffe0e78bbda1c7622 ofl/preahvihear/OFL.txt -sha256 1a2debd5ad8e656b26bb3b29213caa8f7e557a2f31454b11ebb6c3e3b59aa5d4 ofl/cutefont/OFL.txt -sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/kalam/OFL.txt -sha256 d941c5b788d47aa469ee54e30f4c12d6a43c45a295f10c568bdf9772f2893b7b ofl/oranienbaum/OFL.txt -sha256 5e0da210fb04058a8c0087985d2d456b931c2579811a49655721d3cf0c36b6d6 ofl/notosans/OFL.txt -sha256 5ae0cfa62a70251d9a2c3c5430ed3bafa480005f23e4b9525488f2318e5c10ca ofl/mrbedford/OFL.txt -sha256 0acef93ca37cf19eeb83a1c6a29b78b08377a211c8d80cd27626e210176828da ofl/kavivanar/OFL.txt -sha256 c0562e066174197902a4a10606673d189f067970ef89c6013943b9cf182aadbc ofl/titilliumweb/OFL.txt -sha256 f8fbefb5b1004615e6d1e84b1c75e68520d91196f600cb1b07620dd2748eff64 ofl/cantataone/OFL.txt -sha256 2e2cb5a98da665f2ab82a9fd01fb18c2337f845761b0c163f690ed65f3b94677 ofl/sacramento/OFL.txt -sha256 251f65282ff48a7e8ef3fb661fc99254d9b3b0c368427c98b1edbfe4ca66e888 ofl/katibeh/OFL.txt +sha256 cd2dea62cd4b0c5fb335cf07ff04fd5c4bacb49b8d6c2bbbef9766c663d79b1c ofl/patuaone/OFL.txt +sha256 75a77451968e55a1ab404bd953bd8778983e21116d507b890fbcf838e58c8e8b ofl/pavanam/OFL.txt +sha256 12404fcefccc3cb964cb2406510ba679b30f7d7ae689db08df5b455ae24b3feb ofl/paytoneone/OFL.txt +sha256 9e1c955538817c3fab7160cb3110501e73ce109eeb58c4992a14e8323d900849 ofl/pecita/OFL.txt +sha256 9263f9488a9ed1d5f4218581b642e0f054f9a20d208f1a53c19c9f7dbd27eaf2 ofl/peddana/OFL.txt +sha256 e8dd8f53b2fa502ace0636debbe7e357c4888d8d02b8b41d6a9a22d3058a63dc ofl/peralta/OFL.txt +sha256 cf5c4103b0ecf3c38e7c26768b5caf05e1b3e16d4d87b32d859b3c19ce7c216c ofl/petitformalscript/OFL.txt +sha256 1313ae342eae4e1810304b6cd32f6815dd11b8e45812a2af98e58b6960684fa0 ofl/petrona/OFL.txt +sha256 6e6efa9b0556d100cfe60690cff5d9be7144df77adabfd2c278dbfee451351ea ofl/phetsarath/OFL.txt +sha256 331c71cbd8f1d8a70cd6eec3d55553b64e6261a9bb0982fa12e6e48baca827c5 ofl/philosopher/OFL.txt +sha256 5b158abb3406e69b7408b562b7199f6ff55a41ea56e260b87176d693b0095e47 ofl/piedra/OFL.txt +sha256 ff1f38ac4e694a4ad5bd3d7a5146cd8bd73fd57aae794ced76a24b0d68e41206 ofl/pinyonscript/OFL.txt +sha256 e8ad3f3de5baeff6bac6e711d8c406e0a6b8a61d2944741532d8965d893a2681 ofl/pirataone/OFL.txt +sha256 2400b30a72d2b1555255b81625576dfb552584a19a9c85ad8d43ff77bceab13b ofl/plaster/OFL.txt +sha256 5fba78215eb4e42aed6cb0b5c5df52e0f71246281a866cd4493dfcfcbcab9518 ofl/playball/OFL.txt +sha256 f5b03ea0b27c7f5afb9702771ee57679ae8ba6b471b6ba9e62d985d3256f1929 ofl/playfairdisplay/OFL.txt +sha256 e414e07f7a4da16ed47ebec80d52dd79f21d3ca42bc92385a755d8078a038814 ofl/playfairdisplaysc/OFL.txt +sha256 6d216cec166b6e139adaa599053dd49720c053e1f2adb4845de3cc9c3704344d ofl/play/OFL.txt +sha256 5866fd437bf701cd93f2c41ca2a8b33786975c947bee27882d256b408c9b424a ofl/podkova/OFL.txt +sha256 5866fd437bf701cd93f2c41ca2a8b33786975c947bee27882d256b408c9b424a ofl/podkovavfbeta/OFL.txt +sha256 24af1fb3ab8dfeddc83162b7f3b6c1104149b6c3022f1aa948ef4f8ff7e6bf7c ofl/poetsenone/OFL.txt +sha256 708e33bed791c40638926a7577bcef8ff8748f84045f3825277540cbb8d483ba ofl/poiretone/OFL.txt +sha256 de318dcb99e332a746edb9f83180ee206fc3bce74ff96ad7d1cb219967ec74af ofl/pollerone/OFL.txt +sha256 56edbe5fff7981dae6f6eff32f61ba04cd54324e5abfa44b1257b2a307ea561c ofl/poly/OFL.txt +sha256 bdce62dd98db969b73f93f8e8e2151004c20ad871ceb15ad9bfcbdf2cf939dba ofl/pompiere/OFL.txt +sha256 6ea7a3ef1d07feb592693f3f22c26d0b09321ff81814292b49be99888d0da9d7 ofl/ponnala/OFL.txt +sha256 ae30055f1e31d12f6235802c25a8872bb7053fca8ed4a604c530f4b2ee83e572 ofl/pontanosans/OFL.txt +sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/poorstory/OFL.txt sha256 31bc966c36352bfd33717382786d0458c38ecf540628ab134e0ce35fde801d28 ofl/poppins/OFL.txt -sha256 f016385cb4b360e7698d22a48c6b58c0634b1ed5c9c17df78515d43887511df6 ofl/yaldevicolombo/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/swankyandmoomoo/OFL.txt -sha256 b712dacdda5da76c0213f8478886f893b855665c1153ae438bc3e55a7dc525ef ofl/kurale/OFL.txt -sha256 74584d937293a9cacdcd2eb05851b71aa1527901c18b87961d2f877c77a1b486 ofl/chonburi/OFL.txt -sha256 8f187da1eb4f23e3fe7ba68b1cb2e92881a415dd34c46489698454517e273c4f ofl/krub/OFL.txt -sha256 3336bf5d4e7eedba48ecb831f37bf676e901c39f2e6a422cceadd9d2ffa55be8 ofl/kaushanscript/OFL.txt -sha256 bb655534b6c7bf3e547c1368a68a5b1032d0e96fd08b5cc75f3d7a78528784ef ofl/novaoval/OFL.txt -sha256 04b895d77ccec5034191e953e8e5884637269be15fe0675fc25039014eb46349 ofl/monda/OFL.txt -sha256 d724dea493d89a7a9681186e2fb462b7cd551674960ee4142ae6b325261b5115 ofl/hanna/OFL.txt -sha256 64ecb0c6bf5cd80c3da76035c00671272966afbd32ffbdbcad95a8b56501fb08 ofl/decovaralpha/OFL.txt -sha256 0cf28cdcf1cdfd35054352816b2d8c81bd6d6f73632198b61507f26dd4dcbeea ofl/sansita/OFL.txt -sha256 d69bcd35f4a121b312a64f7e8eb15bed61c9056e9e9cdaa8d513366142c8e005 ofl/rosario/OFL.txt -sha256 b4cff421cb89d1e32036e818f291f8ab0d3294ada70b5883d5bcc6470b869702 ofl/eczar/OFL.txt -sha256 ecb52bab55d8d6185712fe8fd2fd98300f5c8c07fad0d0a97b1e579462b0dd3f ofl/bayon/OFL.txt -sha256 ed95c33f80ccca002e3a360b683c43368f9c5eb024e5b992abb51af3c10b59bc ofl/gothica1/OFL.txt -sha256 66b5c49d384cba754806a891ebd52f2ca08dd05c0eb3c56170192da466a00a20 ofl/londrinasolid/OFL.txt -sha256 284a5a26e6db9a04259a5690ad57d52c56a4c515ca2ece1943d950f99e709dcd ofl/belgrano/OFL.txt -sha256 6cbe0f55c154b5dee71ca4f2418d69e4e916448ef2ab52dc4541197b292efa24 ofl/sonsieone/OFL.txt -sha256 255d5debbb80eb2ea762644311f266a279e8778f00156655a516e2b7781a63e1 ofl/lilitaone/OFL.txt -sha256 490b8f3acbce2331adc9b9d3e75ee6fe07946fb29af429a300c7d066b1250b2d ofl/crimsontext/OFL.txt -sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumbrushscript/OFL.txt -sha256 f2c0dfa02d6f5c444b4babd7bc0b43be77ea85706e8524342516bc41e43c2f01 ofl/fahkwang/OFL.txt -sha256 4398885e6b303830d81eea03444aae6fb08a44f41b6acd193c88a2f8cd17606e ofl/srisakdi/OFL.txt -sha256 c1f8e0feb0babaacf774b971bcfd791e44125b9d61ff074e4c20924e9661556e ofl/antic/OFL.txt -sha256 6a73f9541c2de74158c0e7cf6b0a58ef774f5a780bf191f2d7ec9cc53efe2bf2 ofl/notosanstamil/OFL.txt -sha256 0b1bada9befa95a40d55830fe83fc7f8064e245fea33bdf0f96f57848f3866fa ofl/codacaption/OFL.txt -sha256 b41b99f35b507564e54f6b2f5162ad1c21f94a16837c632da6632b376a341f42 ofl/nosifer/OFL.txt -sha256 e8d0118fa9d640543e7f6848d1d93f47313c7f56b64f73f37291d859cd5932bf ofl/souliyo/OFL.txt -sha256 bff4e5087ece354afccd073621197bbb7dd9349943b5ee6aa12b1adf0b133081 ofl/happymonkey/OFL.txt -sha256 1f581506286e960436548dba0701aab278f7e67f2adc6bdae2958923867d1e64 ofl/hanaleifill/OFL.txt +sha256 ac55580be2df22a06d29a47501e2ae11e1d399620f5a779e17a66f016ba6d5ff ofl/portersansblock/OFL.txt +sha256 021d5f1df697848da51620394659187be77cbe382ff2f896bc84ffb89c0c2d52 ofl/portlligatsans/OFL.txt +sha256 e37fcc467040ecd81bf4cf59c99ef56b20f57918995e82b3de1d5b4e931bc2e6 ofl/portlligatslab/OFL.txt +sha256 351740da2d452b48193483f22f64918a6dfd64a7abe225c6187ad3f36e0d9cd8 ofl/postnobillscolombo/OFL.txt +sha256 351740da2d452b48193483f22f64918a6dfd64a7abe225c6187ad3f36e0d9cd8 ofl/postnobillsjaffna/OFL.txt +sha256 2dab153a33dcb2101bba3f194d27d953c848a0fabf2e336650a81f84a0c33b3f ofl/pragatinarrow/OFL.txt +sha256 56d9c3529facf93873a2a1626dd038054d244b3af30a1e3ffe0e78bbda1c7622 ofl/preahvihear/OFL.txt +sha256 705960c3281a5765ecc0b59bd4ed7ca59eed165748076bc2fc3e8fdbfeb944b0 ofl/pressstart2p/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/pridi/OFL.txt +sha256 3f0f27931c92453994176af3b1e7954f9aac39fe145374d6d08c47c822e82e59 ofl/princesssofia/OFL.txt +sha256 9ca8b9e5db7184105da255bb110023cf1cce6caa56186341bb7b09ba97b20ba5 ofl/prociono/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/prompt/OFL.txt +sha256 7039124ec9c84f9d637637da9f80158f0d3681c82d4e6a811053467f7c33d587 ofl/prostoone/OFL.txt +sha256 a68d8ec6bea7f277053ae93bf563d4b97c233f09f8e79f86ffe5db66f31fdddf ofl/prozalibre/OFL.txt +sha256 511125dc85198375795fdbc109d088654d3b7f9dbd3ccb7bf93d844aef0b153c ofl/ptmono/OFL.txt +sha256 2758cf7a872827f39661cf8cc24188113c030447aefb5ca7145993650076ca8c ofl/ptsanscaption/OFL.txt +sha256 2758cf7a872827f39661cf8cc24188113c030447aefb5ca7145993650076ca8c ofl/ptsansnarrow/OFL.txt +sha256 2758cf7a872827f39661cf8cc24188113c030447aefb5ca7145993650076ca8c ofl/ptsans/OFL.txt +sha256 ddf311c28ddf5a5ad9747649837346b67bed9d356789c3072bb27dbce49e514d ofl/ptserifcaption/OFL.txt +sha256 ddf311c28ddf5a5ad9747649837346b67bed9d356789c3072bb27dbce49e514d ofl/ptserif/OFL.txt +sha256 5f5dbf452c1657370d9280b50d647212a53c80acae6d78e0b5e8c2b26dc62b09 ofl/puritan/OFL.txt +sha256 89d9d01291eeb91074ccf1f7ce07e7a1d9d421ec1191f8e84d440cb50830ed92 ofl/purplepurse/OFL.txt +sha256 3747fdcbfe4f51d6a2f101c35105bacde3715b3c32b34b6b03e5fb37983f89fc ofl/quando/OFL.txt +sha256 25995bcf8e8ddea1aafa5449870567cbbeae7e26b27ba30aca5642f2c02e9757 ofl/quantico/OFL.txt +sha256 684ef102ca4c5ff61cf1c1e5c2c6326f3c26f848446f98b8862dcca716a87601 ofl/quattrocento/OFL.txt +sha256 b00c646b7d04a6da1665a148815b8c589c1e05ed7e1febf7ccbd91758747cb03 ofl/quattrocentosans/OFL.txt +sha256 9d61931b909f9a738964f8fb311eb8fa40dba1ef9f1688b36039ebb15ee1805e ofl/questrial/OFL.txt +sha256 14d28541780d90f6577bb7abcc6f005bf6969614294e75c82abb8758a696ad46 ofl/quicksand/OFL.txt +sha256 0786594992757ea0290ae4a490ab9249728f372adb13959c0c8ae4fec83057ff ofl/quintessential/OFL.txt +sha256 7f91d7d8854e5cb4fc630807c0f4d57c07777769dc597173fe0aef5e58f0992c ofl/qwigley/OFL.txt +sha256 cdcc959c42ab255b4cea4bd82f2db5c24a2da7ecabe615d02d5a5dba3716e446 ofl/racingsansone/OFL.txt +sha256 a3b0977c5c25101d45054cf9199b9127b05fddc79d4da7dcf400821824e5a6d0 ofl/radley/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/rajdhani/OFL.txt +sha256 5c36e7ec460b285185ea23847aa1f508708d9ce15d5c055279defd022972f836 ofl/rakkas/OFL.txt +sha256 e31de7000a2a13b2e54ad01e788fd29e979fe05ea1fded44d6e71cc06e33bb2b ofl/ralewaydots/OFL.txt +sha256 e588abf45ca2b19c340c4b27349c9b6b6e5e198316fd965128ed9f4422942cbe ofl/raleway/OFL.txt +sha256 0c922e2d65050677c26ae8dc501bc9ad3e0059c4b10df2fc9717d7bdacdfeb6d ofl/ramabhadra/OFL.txt +sha256 525411e604e7a1d85a4cd42641869f94388f04a6ed77829d6c4edd7fd740ceab ofl/ramaraja/OFL.txt +sha256 9a9f089005f389717106bb3ba427cda9bd51b8a477078644566543f2a60ca85d ofl/rambla/OFL.txt +sha256 af88d31020bb48a1f78f4384249814d04a44d22feeede2ff4ae79fbb4fcf74da ofl/rammettoone/OFL.txt +sha256 0fc8e6675568c02aac6b41dd3cccaf2264fc5969601effe68e09b26635879b2c ofl/ranchers/OFL.txt +sha256 8c22fb3866eaebd77a2cb8e8ecbb095381ff32300db57758326fef35a26132f5 ofl/ranga/OFL.txt +sha256 c1eed37b6d213df4edf8f92ec7d1e972f751abd68ecd649b4f0b8e5d8e8561f6 ofl/rasa/OFL.txt +sha256 064539f87826887d2062b7823b2b97b7625d68b642f6c945c99c0b8dc8084195 ofl/rationale/OFL.txt +sha256 ae629d13b06d9afc5cf3c07d585f3192b89b7decaffc5c4dfcfa7ce11a2a2b11 ofl/raviprakash/OFL.txt +sha256 1d567f7c5f579d9031ae5edfb0108b4681bdd2e036249b228cc2843d3f052a0f ofl/redacted/OFL.txt +sha256 1d567f7c5f579d9031ae5edfb0108b4681bdd2e036249b228cc2843d3f052a0f ofl/redactedscript/OFL.txt +sha256 791936b10381b512512317572fb5eee91bf503344d52c37335e402fc1cf19992 ofl/reemkufi/OFL.txt +sha256 fbb941b371c6348ee2572ce8c78fb66128a61885f960dec1906c4e44ca4b4d3c ofl/reeniebeanie/OFL.txt +sha256 a1580ba69a8d706bd95e1e72ee0b5cfda0a478fbbab6a4af13b4a9e1b28faac0 ofl/revalia/OFL.txt +sha256 0886960207bb5bcf81a46ce663bab6c52a742dad80ee2cff5cbcda6f1df88568 ofl/rhodiumlibre/OFL.txt +sha256 9acc45e5ba18b5b38868fad1f51c03df4f5d7a43061d46314843de45c4444233 ofl/ribeyemarrow/OFL.txt +sha256 9acc45e5ba18b5b38868fad1f51c03df4f5d7a43061d46314843de45c4444233 ofl/ribeye/OFL.txt +sha256 1c5bc055869d5e9151ec7774082727db720ec4293c65be67f91a4bdcaeb02998 ofl/righteous/OFL.txt +sha256 33e3a83e377c6a41149044bd919f50d9a971d801052d4e0c0a98cb417b42ae38 ofl/risque/OFL.txt sha256 03082243ebc53e2090bc59987f693982ccee83b30516457b11f6a2349b78f5f8 ofl/rokkitt/OFL.txt -sha256 1152ca18eaa6159634f1eb209c60df360c1c09a52991e392f8033702036634d4 ofl/assistant/OFL.txt -sha256 012b1870f81b0d97ca756edd9eea315c7fc22657ac2f1cbdfcb6772fed3e20f3 ofl/bhavuka/OFL.txt +sha256 e75230ee246a04912366cd8d759d081200d80fb0756766c96dd52f73e8b40bed ofl/romanesco/OFL.txt +sha256 16741ac498178f645283cfb45b7a487b6d361b5de5730c5ea729f056f414f6b0 ofl/ropasans/OFL.txt +sha256 d69bcd35f4a121b312a64f7e8eb15bed61c9056e9e9cdaa8d513366142c8e005 ofl/rosario/OFL.txt +sha256 8a59454b7f1cc0b1fa29805781769047e5c269aa629e3422c2d7fc04b89e5c1f ofl/rosarivo/OFL.txt +sha256 08fdc7cbd92b9bbc4d41d0945ae7f25450d91c5fc8c66c68df331af3505e4ec3 ofl/rougescript/OFL.txt +sha256 67f64c5509e5151796599e3ad47c3131cbe0c80c4f9430b90236a1249c2eacc9 ofl/roundedmplus1c/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/rozhaone/OFL.txt +sha256 43d530580461a574f6dfed9e15af6a74e95f7c04d9bfa1174a63ff036e8eee07 ofl/rubikmonoone/OFL.txt +sha256 898a9cf80636e86d6b6009b96795fda29e431ee701c28c36f274a7e8a7d8246b ofl/rubik/OFL.txt +sha256 9788e3b3e67f22ab5846a0bb867a230e7df2468c3cd20f730a5d9c34e673d090 ofl/rubikone/OFL.txt +sha256 1c45059cea5c6798c8591b0a17961a30328747d44214ff9b8f9c62a683bd6598 ofl/ruda/OFL.txt sha256 ce1108854c91696a8549bb21459f1dc74e8a1ec11664d712c3868c40042f1a8a ofl/rufina/OFL.txt -sha256 bac36a7fcafc5702d9d928bb81c7de9f8739eaa820e546c3d2cc52730b652af4 ofl/devonshire/OFL.txt -sha256 ac987f9cbc5b18d3239d88adb57a4e134049811d24ddda2f6383faa589fd2727 ofl/holtwoodonesc/OFL.txt -sha256 f3ee3eb20a9d565bee2bbc0d616de382a113327d7506565b2f3d3bee5f489375 ofl/bowlbyonesc/OFL.txt -sha256 965bd2c907f7bb6f36da4f85e83f29aea8b2f720783deebd7ed7b40678e67672 ofl/mysteryquest/OFL.txt -sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesanssemiexpanded/OFL.txt -sha256 19e186a088a50835b38b59409a76b8df2d0252ce114a99e79e306231bbe253b7 ofl/dellarespira/OFL.txt -sha256 aa36087ecd7e9085e5a1439b0a6d0ee35966e8cd2ccaa649bebe62cae5815e82 ofl/lifesavers/OFL.txt -sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldwpicasc/OFL.txt -sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/loveyalikeasister/OFL.txt -sha256 a9ef1db03f660130790beeb3b5d91b68536a44a98ec2db3097d02a1c5f91c599 ofl/buda/OFL.txt -sha256 de318dcb99e332a746edb9f83180ee206fc3bce74ff96ad7d1cb219967ec74af ofl/pollerone/OFL.txt -sha256 315a576cbc7ab61c9e347b5725893bc8498fdcb8fc10831793c6864bc2cefba8 ofl/gudea/OFL.txt -sha256 41f82bb4d24b304f30f7136bc47abdd083782e4265c984160f5649d1e78ea49c ofl/montserrat/OFL.txt -sha256 5866fd437bf701cd93f2c41ca2a8b33786975c947bee27882d256b408c9b424a ofl/podkovavfbeta/OFL.txt -sha256 377f4f9c19e935228552478eb68cc2ed82910988a60ba60e2ac73b09f32d02d1 ofl/patrickhandsc/OFL.txt -sha256 ec1d7de447a90e4b6d8f2b4f95c7f89a70e315fdb41969bc716059e4f2461fa4 ofl/clickerscript/OFL.txt -sha256 7039124ec9c84f9d637637da9f80158f0d3681c82d4e6a811053467f7c33d587 ofl/prostoone/OFL.txt -sha256 16f8621a8dda01f044b8a58489334dbaadfad44ef2fa1d5ce0864cc2f309df01 ofl/inknutantiqua/OFL.txt -sha256 ae30055f1e31d12f6235802c25a8872bb7053fca8ed4a604c530f4b2ee83e572 ofl/pontanosans/OFL.txt -sha256 f1ef4c3ef43322403f5c30e4fb46496969cb5c34a2a6e7247b507254b69caa6a ofl/novaround/OFL.txt -sha256 cf5c4103b0ecf3c38e7c26768b5caf05e1b3e16d4d87b32d859b3c19ce7c216c ofl/petitformalscript/OFL.txt -sha256 ed80dd9539708a531313f98fb081aeeaa395ab5726931a433845d667b019c855 ofl/abyssinicasil/OFL.txt -sha256 1404cc9279d4ad713a372a5e1e1d20d7b9b000d2397c8529aeb3df5402446600 ofl/cutive/OFL.txt -sha256 19c6ecf65a6b0687dd324b093ced5f1020a1fcabfc8ddaaeca6906cd05153e23 ofl/overpassmono/OFL.txt -sha256 0878e7d6e842bc3c45154059a1c2812de0d31dca343fe6bc16abc9afdee3e3de ofl/koho/OFL.txt -sha256 636d62f04d7bda9fcf9354f258f6244e7e18288cae036b95122e204f1acbec80 ofl/neuton/OFL.txt -sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloo/OFL.txt -sha256 5866fd437bf701cd93f2c41ca2a8b33786975c947bee27882d256b408c9b424a ofl/podkova/OFL.txt -sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungee/OFL.txt -sha256 dc35123e99a857674b3e8807e9d7df82220d298423d9fc50ce084fbcdecf602d ofl/jotione/OFL.txt +sha256 39b26527bf9ed27b4c85b86341eceea0579f3550bcf448cf06345eaadf947ec9 ofl/rugeboogie/OFL.txt +sha256 e604b133509815768e6ec4738bb04844ce9a23e80099d2b61e5d75ef46acbeb0 ofl/ruluko/OFL.txt +sha256 b598b7fddfd578950aa1fe6e0e2607b779abfaa686b83af8ec65c860f646b2cd ofl/rumraisin/OFL.txt +sha256 76af3e9e5d8768b17647813a443fcf5df3eb3ced017ee285796625e714d5ea2c ofl/ruslandisplay/OFL.txt +sha256 3ac1301549523d9861fedca12871f24e575fbd26d520632fc00ba849b471d275 ofl/russoone/OFL.txt +sha256 bb49cbf811dafcb11e0de081efcdc8385e45ccc85a5bfc3231ec4861d444dc42 ofl/ruthie/OFL.txt +sha256 399b33eb38cdfc76b8665defa5f81d52e8193d630ad5858c893db6bc20031bc9 ofl/rye/OFL.txt +sha256 2e2cb5a98da665f2ab82a9fd01fb18c2337f845761b0c163f690ed65f3b94677 ofl/sacramento/OFL.txt +sha256 9ee6b2ec20a06c599a07412690876eb457bf192c10e886e60d8bdffb80bc21a3 ofl/sahitya/OFL.txt +sha256 55e13d77a4457aa9c60f10c5b97baea3343d3bac30960d49554a033cb9eaff7c ofl/sail/OFL.txt +sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/sairacondensed/OFL.txt +sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/sairaextracondensed/OFL.txt +sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/saira/OFL.txt +sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/sairasemicondensed/OFL.txt +sha256 31c59bcdd538c113ef5c048f56827439facb12b7e5cfd158b04c83727edc453b ofl/salsa/OFL.txt +sha256 5f8ff4a3f951c104e99245bdb952be08c73369222048bbf19fa3bf7170d10949 ofl/sanchez/OFL.txt +sha256 87000f71a897c8c130c7777d058c5868f84316f99a32644b3bf595cd11edeb12 ofl/sancreek/OFL.txt +sha256 156ea6985861158c7dea63ecaac4c78ab0ed737d168ddffc3e34c687985a033b ofl/sansation/OFL.txt +sha256 0cf28cdcf1cdfd35054352816b2d8c81bd6d6f73632198b61507f26dd4dcbeea ofl/sansita/OFL.txt +sha256 9e0d3db586ba0abf5ca398683809dacdf4c81b2960f592bd085fbf206a67ddb0 ofl/sansitaone/OFL.txt +sha256 b26cae1321380296ba8311b632a397d5eac11b47197f9d0aa0b9310f1531ad60 ofl/sarabun/OFL.txt +sha256 afb8c471158619593df0fb501453bd39fda42396e2cc3911e2a0a471c11b863c ofl/sarala/OFL.txt +sha256 2cc926050c4c6ccd9a0288b7792e2fcf93e5629ee6269e35986f092275e5a1b9 ofl/sarina/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/sarpanch/OFL.txt +sha256 5f247fad3e8a86b6c0779dff09277047c1ce2b0b7580a1093347a8af755352ba ofl/sawarabigothic/OFL.txt +sha256 c254ae01c407f4a2bd0ad163e4c1a795d57ddfa8967c21b8a28c250b44d13963 ofl/sawarabimincho/OFL.txt +sha256 0a852a06f0256a6684662663ccb1d8e08d131abd1f70cf8d972a344cf31aa381 ofl/scada/OFL.txt +sha256 fb1dbf3725bbdd389b2c569e0eed5091d8d10eed2833ec7efacfc3542e408615 ofl/scheherazade/OFL.txt +sha256 b5c776129b160163c84620b35fd45dea45edf49789cda5a94c2290c230581e0b ofl/scopeone/OFL.txt +sha256 3d08baba63f1f2427fd96dee8da30b1ef6c1421b3be0e1f07cc2a78abb27c91d ofl/seaweedscript/OFL.txt +sha256 aa8a8196a3e22c3bd985e33cd3245ae9a38accba5e79fc0e3b292612a8d6b337 ofl/secularone/OFL.txt +sha256 eef925ad6afcbba33f7989f5ad826fd68d50cc1ab4d679c52927c8afd40bddf0 ofl/sedan/OFL.txt +sha256 eef925ad6afcbba33f7989f5ad826fd68d50cc1ab4d679c52927c8afd40bddf0 ofl/sedansc/OFL.txt +sha256 f323edc1e5a6d8fa16120aa15367cdfb15468474cc621f9bda1a2f73c5d08d73 ofl/sedgwickavedisplay/OFL.txt +sha256 f323edc1e5a6d8fa16120aa15367cdfb15468474cc621f9bda1a2f73c5d08d73 ofl/sedgwickave/OFL.txt +sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulhangangcondensed/OFL.txt +sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulhangang/OFL.txt +sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulnamsancondensed/OFL.txt +sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulnamsan/OFL.txt +sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulnamsanvertical/OFL.txt +sha256 473c5e3123102434d05c66a9fc8b19cf285a3bf71cd8a91a41acef44d1448e62 ofl/sevillana/OFL.txt +sha256 b54d54664cddcbf05f5b4ea3aec7e89317eb917cf465920969e7b22361e0f4a5 ofl/seymourone/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/shadowsintolight/OFL.txt +sha256 6a28d4d5d8b4d1ea89ace5a047ac6e0de182acdb8bfa22897bf7702102094f69 ofl/shadowsintolighttwo/OFL.txt +sha256 a6a74417db7c37f69495da556a3eb86a22a784ffb0131e3e0a5a47ce8d7fa5fb ofl/shanti/OFL.txt +sha256 9d96f445b6e9c701428811d0177f894874f8d6f07ecc30d568c506542368f3ff ofl/share/OFL.txt +sha256 9d96f445b6e9c701428811d0177f894874f8d6f07ecc30d568c506542368f3ff ofl/sharetechmono/OFL.txt +sha256 87b7d831a81fe8b37e7e6c672937493f710ff81883eee3adec7b5423297efd16 ofl/sharetech/OFL.txt +sha256 ee81f11dd1970e9749afd2a572256f8eefce65532872762a4d7a3d5daa0812c8 ofl/shojumaru/OFL.txt +sha256 fe079cdbbad0f6520eb0a8235bce65b21596dd0c4c5a2694b3325cc87313b618 ofl/shortstack/OFL.txt +sha256 325e890b8b26fe0a683c3ba24c506d902bdd7034d9c47bd7fa2bb72b5433b9c9 ofl/shrikhand/OFL.txt +sha256 85814924eca98e1fa530901cc5167d0012aaf31122f9570d7e9755443dd9335b ofl/siamreap/OFL.txt +sha256 85814924eca98e1fa530901cc5167d0012aaf31122f9570d7e9755443dd9335b ofl/siemreap/OFL.txt +sha256 2db02cb5d05d5f8a003ffefce36a32a16520ad4cab9ed90635ff953b583e4e82 ofl/sigmarone/OFL.txt +sha256 1ba345a91338581e5f8fccc3e37e447ddea5b99ec9caec1b76c7c39492387d2f ofl/signikanegative/OFL.txt +sha256 1ba345a91338581e5f8fccc3e37e447ddea5b99ec9caec1b76c7c39492387d2f ofl/signika/OFL.txt +sha256 61056041809e0ba18bf8b9d637a375ab1c725025428533d74d668d88b2cb8b89 ofl/simonetta/OFL.txt +sha256 397e83b05703a4240be51e2c3a2be1d0d7693d7a2d8b1ff367c26a2b9afc013e ofl/singleday/OFL.txt +sha256 dd028a807788d5e22e9f8cc18f026cda23369954673658f2ecc7d30bdb364b89 ofl/sintony/OFL.txt +sha256 ca19ac21c7656f493189093eca52b4239fcc5eacc15ab2e3d67cfbfc0e6e443b ofl/sirinstencil/OFL.txt +sha256 95803fae1b063e592c67b5867f1f36df1df526e5ebf33c6cd4d4afa31a9d5586 ofl/sitara/OFL.txt +sha256 29cca754098468057880970c604e55c4e2bcb8479742e4130c94f2ddc0363f9c ofl/sixcaps/OFL.txt +sha256 593f0bc55c75b673772b378eaee314f128283745c4bb1cfdb9b8012a3b6c46fe ofl/skranji/OFL.txt +sha256 76a55594c9a18b7d94b8119de838237eb834bae4e8c646d6d363aee587b7b427 ofl/slabo13px/OFL.txt sha256 76a55594c9a18b7d94b8119de838237eb834bae4e8c646d6d363aee587b7b427 ofl/slabo27px/OFL.txt -sha256 ed50ebe2fa922554980909192526fe94966556626d6d440a462c8e7eaed74cdc ofl/oflsortsmillgoudytt/OFL.txt +sha256 d849309d514833fe3d7a610e10f6cd5d99b4f9552bfa304969acbf89c66e4422 ofl/smythe/OFL.txt +sha256 89418a3c7b5726c3f8828a7b7c3f1cad661cf5b7a1be3d2bd9ea243f8d9890c8 ofl/sniglet/OFL.txt +sha256 d3909465d5838d9d1c72b975ff1ed4f410a85dccd43801be525bf2b2bde89f92 ofl/snippet/OFL.txt +sha256 cd354a6084383c50398fae709ebe3a5dd98b947c486c1fe9de5f89caf81f980c ofl/snowburstone/OFL.txt +sha256 455397ca15d39e9178bbbf4b485a29187751d60f7ceb7829980a521d5ab6848d ofl/sofadione/OFL.txt +sha256 336fab6956d78eb34b50cd7bc6b16116c44735fbd0bf9f4def769ca4d8e218a9 ofl/sofia/OFL.txt +sha256 40bd3f35477284c021978816e9d3b8723ff2283fd7065fafaa5bb3004e41b237 ofl/songmyung/OFL.txt +sha256 6cbe0f55c154b5dee71ca4f2418d69e4e916448ef2ab52dc4541197b292efa24 ofl/sonsieone/OFL.txt +sha256 ed50ebe2fa922554980909192526fe94966556626d6d440a462c8e7eaed74cdc ofl/sortsmillgoudy/OFL.txt +sha256 e8d0118fa9d640543e7f6848d1d93f47313c7f56b64f73f37291d859cd5932bf ofl/souliyo/OFL.txt +sha256 cb30d3086a8b3ce0b9e3690bf48d6620402b61160bc658076f95180ccd9e9dae ofl/sourcecodepro/OFL.txt +sha256 fce9f9e2fb268507a89fceea0b3eccc044f39fc3492968a04fd9e04df5ae95fa ofl/sourcesanspro/OFL.txt +sha256 caa697668c3cf3e622753fb202c6c2e29648b94a3499dc7b869a14192e38c553 ofl/sourceserifpro/OFL.txt +sha256 4664e83780a263c53dbab95d3590a5a9db914aeb9a3c78f7e7ad451f9151c998 ofl/spacemono/OFL.txt +sha256 963f283b5410c7df62067a35cd7def0802c583a880e7cd7e326832ec3985ec87 ofl/spectral/OFL.txt +sha256 466aaa3bbd245e4c91c4e82c0828efe9fcfd913f5b020d75f0918516c2540fa8 ofl/spicyrice/OFL.txt +sha256 f938d4076b66a13cf984ce88d92a07ff9802e8ae5e1f4a28cdc43fad122ae611 ofl/spinnaker/OFL.txt +sha256 2c3737ea83b48d48624068d1bbd1d9f8049eb7cf2e1f67435e420375c42e0686 ofl/spirax/OFL.txt +sha256 d2f9c74aba2716333b0a3d283083f9fdc93b2e060c5ae094c79e97e8cba9d7e6 ofl/squadaone/OFL.txt +sha256 f8c2225a5fdb50e2e75f98cf6e69f198571f605f1b7f6f7eacc0947e2fcdbe8d ofl/sreekrushnadevaraya/OFL.txt +sha256 1f00d1f970b4ea469b6936e599b599bb217edaab792e586658ef2e71cf438685 ofl/sriracha/OFL.txt +sha256 4398885e6b303830d81eea03444aae6fb08a44f41b6acd193c88a2f8cd17606e ofl/srisakdi/OFL.txt +sha256 72afba97d1ac9409a9fd3bb91a02a639427ca1988977909dad273e293a508d7e ofl/staatliches/OFL.txt +sha256 d7577acbab1d70f2e6bd1b21d8f61db189d6aabe6375bc2d96564b8d94031664 ofl/stalemate/OFL.txt +sha256 194e25172d0144f29aff4b6fb2931ff0be0139448a5cd867db37863c9179330a ofl/stalinistone/OFL.txt +sha256 b687f920fe20fe48d8f7709421e5deeb4becea295c80ce62aadcffc54132fa1b ofl/stalinone/OFL.txt +sha256 88d3abd47414e7912d0d2eb44ca89e0b1bd7c43cc2ebe58a8a75281ad75a0f60 ofl/stardosstencil/OFL.txt +sha256 fc1e501d419d84a8f1a800adae092045002d7141241f498237611dbb8ea763d7 ofl/stintultracondensed/OFL.txt +sha256 fbc351e1b5428e4f45834647dc23a5f8aaa3e744e2f4117ca03c44f640b9a3a2 ofl/stintultraexpanded/OFL.txt +sha256 a57810cbca0b4715ae8610dd7a268260cebbdd4fd76d304e371517f828150669 ofl/stoke/OFL.txt +sha256 eb4a7a082fb0e7dde0a8f975d33f02907ccbe40751c8115e790cf3679787d01c ofl/strait/OFL.txt +sha256 c8af073a60e30b55ef5d0e4f80cea168e06dd65bdee7ec18c1ea8de8f7228780 ofl/strong/OFL.txt +sha256 a9b3e7e1cf5735dc49d802b88b1858a2a50307ba2a877ddf3f0b27d8b1d0abc5 ofl/stylish/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/sueellenfrancisco/OFL.txt +sha256 aa8a8196a3e22c3bd985e33cd3245ae9a38accba5e79fc0e3b292612a8d6b337 ofl/suezone/OFL.txt +sha256 c8155eb9337078a9ea9f1e576ac813a03030ca43e2694593e90cd4fee6fce937 ofl/sumana/OFL.txt +sha256 a9b40759b5821a0c2ad07cbd2c2a61dca4b3e222e6370a7d5bfb6b373bf4fb10 ofl/sunflower/OFL.txt +sha256 88dcde7d08e509a3eec64886292a36cbd58ed9bb52f37f91f55656fb9d21ddb8 ofl/supermercadoone/OFL.txt +sha256 c5a77946a56488790364d060628385d51226da62a18f30d2be0181d82ee62b00 ofl/suranna/OFL.txt +sha256 53ad6a474f68ddfc3fe72449de3ede4d3f033b2f24b77833b1d56edf505486d2 ofl/sura/OFL.txt +sha256 42ad5a49e171bec80308a1c9e8e66b03e638b3ea65af7fafa6fc0e42f45e7626 ofl/suravaram/OFL.txt +sha256 b2d4b0c773afce947728ab99fca43b242b7edb0da26fe29f60c7c2d5094ec23e ofl/suwannaphum/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/swankyandmoomoo/OFL.txt +sha256 9b584984f9db0ee30347391a76eff9c0a6b03dc450c3c6afe3757a2cb3a4db87 ofl/tajawal/OFL.txt +sha256 adadb8d5d34fe2218dca0f4a4919a9b6f81dfaebb289e5446ac7b3063d6965e9 ofl/tangerine/OFL.txt +sha256 5625e91bd7c2a45c8b9f59106d587bd025470b462ea901df691defe0099621e1 ofl/taprom/OFL.txt +sha256 6506b2fa2a14259a8859608a6148a4591d67bbaef4d8e1948b43c4078561b0e5 ofl/tauri/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/taviraj/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/teko/OFL.txt +sha256 5a5cf278190adf8be3e9905c2b21460241cb376c600bdfd6eb7aceb66036c4bf ofl/telex/OFL.txt +sha256 cbdf9d35f32a9a2f02fb23c8b89c115a5a8e45feaaa2266920c4594c83dd5ed4 ofl/tenaliramakrishna/OFL.txt +sha256 7b826efb1b74a50b1c1aef0a1ba4530925b993ceadc3016d1d787c68a61649dd ofl/tenorsans/OFL.txt sha256 d7b108fc1f23fb016a47bb40c63d6f6e04cc35a1edfb991638d7f03621bf7f33 ofl/terminaldosislight/OFL.txt -sha256 71e5222c549d85a1403b6e709b4328b81d7b51ba021b8bd20df89550da80c087 ofl/yatraone/OFL.txt -sha256 f139d6f43d2a63a8fb3ded48b8ec747d9d59a7fbb13d077d9b96ac88580bc1ad ofl/dekko/OFL.txt -sha256 84b11cc0aac8fdb93af94872bc4b8f015caabf4919db63ab7f916ccff8e52f56 ofl/josefinsansstdlight/OFL.txt -sha256 8fbe530adcbe30c658393c3f2b5a4785d6765afcefdfe47f594730131f3a0abd ofl/oleoscriptswashcaps/OFL.txt -sha256 64dc6a7e2a77aa340c49c3e0829703f540f8d64afa506f44eaa6741580716d0f ofl/gabriela/OFL.txt -sha256 17d7a7f5d9f0139535ecec516988c4c73a2ec0f225987288f3fd6ee2622d4450 ofl/federant/OFL.txt -sha256 c0a7efe98e77cbfcf1a5ca43e874e25cf53d9185c56295bc3b5c407f95dae638 ofl/nats/OFL.txt -sha256 2ee5e8e47cd7d08f60bb9555f72b25912c9e81b13f5bc9a0551ddf943da6ca98 ofl/ekmukta/OFL.txt -sha256 e5ccbfc32e4d7fae98b467a9af310ac8d2efd5d90e684426cd24f3eb36090a2c ofl/acme/OFL.txt -sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/modak/OFL.txt -sha256 75a77451968e55a1ab404bd953bd8778983e21116d507b890fbcf838e58c8e8b ofl/pavanam/OFL.txt -sha256 36931b77dd81fa96fffad91b6acb54931e600845eb81f91ecf1b4459012c621a ofl/vidaloka/OFL.txt -sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloobhai/OFL.txt -sha256 1c45059cea5c6798c8591b0a17961a30328747d44214ff9b8f9c62a683bd6598 ofl/ruda/OFL.txt +sha256 faf47a1ceab38b07205b9d58fbbf9ac39772ea47cc731aca7816276da7226a22 ofl/terminaldosis/OFL.txt +sha256 75798d56e448ba4d2aec3ef5f3c2d805d9c6fe2ba688cd3d7162b2dd31e9cf48 ofl/textmeone/OFL.txt +sha256 9b8405bf5f503f92401fc990f372b34d469670ab60041d5298d1015d3d0b45f8 ofl/thabit/OFL.txt +sha256 59bda6b53e28d388de5eac7bbb8f3e65889dc8489be3d922f95a525354110c0e ofl/tharlon/OFL.txt +sha256 31eb7046f4c80e0f96944c4b40b0772de68b34783b794fc13aab3f54c2ef6d9b ofl/thasadith/OFL.txt sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/thegirlnextdoor/OFL.txt -sha256 4dee45deee99672fbe342b2f4b7aa75b0cd12de18a68f9732c77f096bab47e0e ofl/molengo/OFL.txt -sha256 5a5cf278190adf8be3e9905c2b21460241cb376c600bdfd6eb7aceb66036c4bf ofl/telex/OFL.txt -sha256 bb49cbf811dafcb11e0de081efcdc8385e45ccc85a5bfc3231ec4861d444dc42 ofl/ruthie/OFL.txt -sha256 b5c3d12a3085b96011fee65555234bb9d31fa7444cf6f8d5ae6b1f5771394399 ofl/lakkireddy/OFL.txt -sha256 23b896f4937eac954a383340c92dfcac1c6e05ec21cc08ec6de47d30ad8496a3 ofl/charmonman/OFL.txt -sha256 39602407e30d466bf169f46d690aaae4f5f039258e5642f91a80bb132ce6e14a ofl/bubblerone/OFL.txt -sha256 e31de7000a2a13b2e54ad01e788fd29e979fe05ea1fded44d6e71cc06e33bb2b ofl/ralewaydots/OFL.txt -sha256 8218df19bcd9786311bf1126815e8d591027aaf7611ef031af5a31c3fd66e928 ofl/arefruqaa/OFL.txt -sha256 e37fcc467040ecd81bf4cf59c99ef56b20f57918995e82b3de1d5b4e931bc2e6 ofl/portlligatslab/OFL.txt -sha256 60fea3a0da19167a3efb9c3792a3a15dc9235405d01bbec1233fdf3e79c74296 ofl/freckleface/OFL.txt -sha256 da15da6b1496d4de18f97e2ad1b722ef8a1c121149c2c93b2cf7eac6ac27b35c ofl/mplus1p/OFL.txt -sha256 d51f3341fd7b3dfa1114d3ef0bdabbe57f60eef86a1458019e0077d676fa1fcb ofl/lancelot/OFL.txt -sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantinfant/OFL.txt -sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesanssemicondensed/OFL.txt -sha256 5946eec3a7d3bda02825930156e4716198e7753641dd3303a3e8c386c8011909 ofl/eater/OFL.txt -sha256 b43e2530c7af69fe1800f180d210b6d2745915ed4e0e404495038c861bb6dbf7 ofl/hammersmithone/OFL.txt +sha256 01af2625d6247ecd2430d1d1603c579f85989d43b2d9129e08e0ac0df8909918 ofl/tienne/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/tillana/OFL.txt +sha256 f2fcbde4b8968400d661e7dcc23052b1885815c8e3b45323b26cbb833352f5de ofl/timmana/OFL.txt +sha256 61be7c29f4835e2be7243db12213d75d53ff028f29f4b493212a1688b1d3a1ba ofl/titanone/OFL.txt +sha256 c0562e066174197902a4a10606673d189f067970ef89c6013943b9cf182aadbc ofl/titilliumweb/OFL.txt +sha256 018d17b5e04c0a217a21979fa6b6d77bd5a143a5f06ea2ea102e427abd1ebfa2 ofl/tradewinds/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/trirong/OFL.txt +sha256 9452ef55386e77bd284ca466587d72802337621d7f10aa700e449753883b3397 ofl/trocchi/OFL.txt +sha256 72a22b6dd29b6b0cdcc98de30701b46532c9f7314ee095df3063d10775dd70c3 ofl/trochut/OFL.txt +sha256 4bed7eaae70cab1bdf2bcf9b1cb562fcd9cc26d1c3533c4ade0ec70516dfb3a4 ofl/trykker/OFL.txt +sha256 a36ab46c8b1a74a480a1c51d6a5af08b643e870c6d247f233bc97c97c8ad2098 ofl/tuffy/OFL.txt +sha256 6fc386ac48a529b85c21f90a6c8d2111c6271b3063f9ddd78e92645db5259510 ofl/tulpenone/OFL.txt +sha256 244ca4ef7b106d8c660e9a00cecf5d581b6a222f447d7d59a8f61711b2ad3400 ofl/uncialantiqua/OFL.txt +sha256 b0316f404a7b291e40921c605160181065791a5010a2d2d5691fc7e28cdbdff2 ofl/underdog/OFL.txt +sha256 9a2d8c5a3de0a6e62432322115dce136139948411dba33cd86525c0a02749fb8 ofl/unicaone/OFL.txt +sha256 99d2f30e282d6174af8ff68597f58bb53c0dcb2b104a4c1b8d19da49021d00d3 ofl/unifrakturcook/OFL.txt +sha256 96199bf9ff12dd471a66911dee95440737b437e7f5a6fd30e9e950c16d66e8df ofl/unifrakturmaguntia/OFL.txt +sha256 bb3e8082faf86b1474a6b042125ef0f83669d28110b72f70416a7587b7b9f144 ofl/unlock/OFL.txt +sha256 99d67fff016522688b8f913377f8ae9f6da6ffeae42cf67c0e5e87cfb0928d33 ofl/unna/OFL.txt +sha256 7344b8b8c97c4f88c0ff8bb72bb024bba72f404be1c740b6596a73ed15d28df3 ofl/vampiroone/OFL.txt sha256 5a8751bef5a4fc867ae015099267905034345260f14060fa276aac4051ddd8b4 ofl/varela/OFL.txt -sha256 f6fc9fbae062e4efc1b0306e27715d43cd64a48b8ffba81c22034b8efee4fce2 ofl/cabinsketch/OFL.txt +sha256 08b6f5cceaefcf2881eb009adeb78edd0fabf9c8f0eaf8b88f07a690222227e6 ofl/varelaround/OFL.txt +sha256 3670ddaf348c62ada22a2f606158dedcd9ca5fd5422a6173d6593204a8f53d4f ofl/varta/OFL.txt +sha256 f1d1a3536fa4b9c71d04fe4c8d8bbfc0cc5c457d6883f45086b04d0bc07ed12d ofl/vastshadow/OFL.txt +sha256 f3758ee70600ecd5450f01ea373204b202e048d0454c9db2d1175c5a5dd1e92f ofl/vesperlibre/OFL.txt +sha256 26e4c39c4905bd7f1068b0bab008f5a4a9b945e2d7fda31e52719fc5aa9655bf ofl/vibur/OFL.txt +sha256 36931b77dd81fa96fffad91b6acb54931e600845eb81f91ecf1b4459012c621a ofl/vidaloka/OFL.txt +sha256 b67eed9578defb59cc4ff4b58428fb816786e499e84cdeafca54723b055c169e ofl/viga/OFL.txt +sha256 fd17f80dc48ff767d91d0dd9f821eebfd8b73ee82f55537a9052b6b0107622c8 ofl/voces/OFL.txt +sha256 1c43e70c49ef7a9b35fcb3758fec8ec5969ff1274c4834b4466b9014f3b9f55f ofl/volkhov/OFL.txt +sha256 53f9c99fa3d47f7d632a42ee7bab4a834a60a744f6026d676c3a223cef2b2ef3 ofl/vollkorn/OFL.txt +sha256 53f9c99fa3d47f7d632a42ee7bab4a834a60a744f6026d676c3a223cef2b2ef3 ofl/vollkornsc/OFL.txt +sha256 8242e7737bce317f7a7f2b887ac87f5bb21305ab96bee92aadc3febac16c35bf ofl/voltaire/OFL.txt +sha256 27d9af34210253e7ca1251fbace86c6f65b40031d6ce1a75493a1b2093631298 ofl/vt323/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/waitingforthesunrise/OFL.txt +sha256 bddfe669338d0dbc24c15ccd31dbf5c101a213da38049c24baca9ccb7fde45a4 ofl/wallpoet/OFL.txt +sha256 9a536e5a3b55c2605b0a553eed383cd3efa42ba48dc45cc6f0635b3c53ee791e ofl/warnes/OFL.txt +sha256 4281c00ab5b8f672fc8d686f48cb886ffbe900c8c9ee22473ca7e72e7cef8fbe ofl/wellfleet/OFL.txt +sha256 aff3cea99bf300b4b29f4dc04867cf9b49d83de8c5ecaf991c446d506b56173e ofl/wendyone/OFL.txt +sha256 5b26c88d163b1430561f53fd3d9021d6057f3c67d25534a5d8d232cfbf8ee2a4 ofl/wireone/OFL.txt +sha256 8d325681662a30f58f57c92ab656dcbc9679deb78a493e4c0eab75321b2df6c3 ofl/worksans/OFL.txt +sha256 f016385cb4b360e7698d22a48c6b58c0634b1ed5c9c17df78515d43887511df6 ofl/yaldevicolombo/OFL.txt +sha256 e75ed24435d1711de0bebfaa621c3eb5564798c88cc0c1d1f8d529bbaae703a9 ofl/yanonekaffeesatz/OFL.txt +sha256 8f2e5a9b52cf355023104413827e17dd7126c5a3656492d45eaa1ceb270aa4f1 ofl/yantramanav/OFL.txt +sha256 71e5222c549d85a1403b6e709b4328b81d7b51ba021b8bd20df89550da80c087 ofl/yatraone/OFL.txt +sha256 d7d8074c2dd46804990c184e25849947ab76c5ac7607fbf3966543455769bb73 ofl/yeonsung/OFL.txt +sha256 ab592d1abca19428b89d851706fa7815ec25139c6affb45d366577ca63fb91b7 ofl/yesevaone/OFL.txt +sha256 a80ee908b60f5bec9c10b135d3da93730e2194107d1f7fd3f61bd8c1a97b3e0c ofl/yesteryear/OFL.txt +sha256 f9e5dfcdb2947c0db70465668706b0617cd052b6f86e582dff8741d9e5cded0a ofl/yinmar/OFL.txt +sha256 c1eed37b6d213df4edf8f92ec7d1e972f751abd68ecd649b4f0b8e5d8e8561f6 ofl/yrsa/OFL.txt +sha256 5d6517d497bea6116ed35079b30374043f6d90b19c8d97fc4e5ec48520d1e08b ofl/zcoolkuaile/OFL.txt +sha256 f1bce31b817dee01c1e4ef8bc45d8ecb95f01f4abbf0a985007cb3cd0fd8123d ofl/zcoolqingkehuangyou/OFL.txt +sha256 94625b91cba99cf9c8e580febf5e738b2e3c7cde9034a16bcfb7538b672137e5 ofl/zcoolxiaowei/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/zeyada/OFL.txt +sha256 3cbf579238e4eacd90ad67883d971aa346ce8990d658635f78f98d608a6830a2 ofl/zillaslabhighlight/OFL.txt sha256 2f0015108d68627bd788d313f529c21ff4da2c2c42a5e1f3883acc83480f9002 ufl/ubuntucondensed/LICENCE.txt -sha256 2f0015108d68627bd788d313f529c21ff4da2c2c42a5e1f3883acc83480f9002 ufl/ubuntumono/LICENCE.txt sha256 2f0015108d68627bd788d313f529c21ff4da2c2c42a5e1f3883acc83480f9002 ufl/ubuntu/LICENCE.txt +sha256 2f0015108d68627bd788d313f529c21ff4da2c2c42a5e1f3883acc83480f9002 ufl/ubuntumono/LICENCE.txt diff --git a/package/gpsd/Config.in b/package/gpsd/Config.in index 8c28c05ef..4f1c6f631 100644 --- a/package/gpsd/Config.in +++ b/package/gpsd/Config.in @@ -80,11 +80,12 @@ config BR2_PACKAGE_GPSD_PYTHON bool "build Python support and modules" depends on BR2_USE_WCHAR # python3 select BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_SERIAL # runtime help Python libraries and tools for the gpsd service daemon including gpsfake test harness. -comment "GPSD python support not available with toolchain w/o wide characters support" +comment "python support needs a toolchain w/ wchar" depends on !BR2_USE_WCHAR comment "Protocols" diff --git a/package/gpsd/gpsd.mk b/package/gpsd/gpsd.mk index 1d4013d12..c57fad83c 100644 --- a/package/gpsd/gpsd.mk +++ b/package/gpsd/gpsd.mk @@ -178,7 +178,7 @@ ifeq ($(BR2_PACKAGE_GPSD_MAX_DEV),y) GPSD_SCONS_OPTS += max_devices=$(BR2_PACKAGE_GPSD_MAX_DEV_VALUE) endif -ifeq ($(BR2_PACKAGE_PYTHON3),y) +ifeq ($(BR2_PACKAGE_GPSD_PYTHON),y) GPSD_SCONS_OPTS += \ python=yes \ python_libdir="/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages" diff --git a/package/gr-osmosdr/gr-osmosdr.mk b/package/gr-osmosdr/gr-osmosdr.mk index 8491c005d..0d1e4edb3 100644 --- a/package/gr-osmosdr/gr-osmosdr.mk +++ b/package/gr-osmosdr/gr-osmosdr.mk @@ -23,8 +23,10 @@ GR_OSMOSDR_CONF_OPTS = \ GR_OSMOSDR_INSTALL_STAGING = YES ifeq ($(BR2_PACKAGE_GNURADIO_PYTHON),y) -GR_OSMOSDR_CONF_OPTS += -DENABLE_PYTHON=ON -GR_OSMOSDR_DEPENDENCIES += python3 +GR_OSMOSDR_CONF_OPTS += \ + -DENABLE_PYTHON=ON \ + -DPYTHON_INCLUDE_DIRS=$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR) +GR_OSMOSDR_DEPENDENCIES += python3 host-python-six else GR_OSMOSDR_CONF_OPTS += -DENABLE_PYTHON=OFF endif diff --git a/package/gstreamer1/gst-omx/gst-omx.hash b/package/gstreamer1/gst-omx/gst-omx.hash index 86f8c772c..a84ffa7b6 100644 --- a/package/gstreamer1/gst-omx/gst-omx.hash +++ b/package/gstreamer1/gst-omx/gst-omx.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.22.9.tar.xz.sha256sum -sha256 9362d6117985d09dcf6e27bdaef377dc08efb7df01d00101d04fb644addac61e gst-omx-1.22.9.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.22.12.tar.xz.sha256sum +sha256 6b0685b92ac735032d7987d1028afaeab0a98ab726e0c51e5b9bfc8f2da7c8b1 gst-omx-1.22.12.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/gstreamer1/gst-omx/gst-omx.mk b/package/gstreamer1/gst-omx/gst-omx.mk index 32891bafa..c1ab2b19c 100644 --- a/package/gstreamer1/gst-omx/gst-omx.mk +++ b/package/gstreamer1/gst-omx/gst-omx.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST_OMX_VERSION = 1.22.9 +GST_OMX_VERSION = 1.22.12 GST_OMX_SOURCE = gst-omx-$(GST_OMX_VERSION).tar.xz GST_OMX_SITE = https://gstreamer.freedesktop.org/src/gst-omx diff --git a/package/gstreamer1/gst1-devtools/gst1-devtools.hash b/package/gstreamer1/gst1-devtools/gst1-devtools.hash index 6cf7c9597..d194dd32e 100644 --- a/package/gstreamer1/gst1-devtools/gst1-devtools.hash +++ b/package/gstreamer1/gst1-devtools/gst1-devtools.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-1.22.9.tar.xz.sha256sum -sha256 02e29400b44e9cc603aa6444dee5726b57edabef6455e6d0921ffed6f13840ee gst-devtools-1.22.9.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-1.22.12.tar.xz.sha256sum +sha256 015ff62789dab423edafe979b019c7de4c849a2b7e74912b20b74a70e5b68f72 gst-devtools-1.22.12.tar.xz sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 validate/COPYING diff --git a/package/gstreamer1/gst1-devtools/gst1-devtools.mk b/package/gstreamer1/gst1-devtools/gst1-devtools.mk index 0c085b8b4..66aec4a8e 100644 --- a/package/gstreamer1/gst1-devtools/gst1-devtools.mk +++ b/package/gstreamer1/gst1-devtools/gst1-devtools.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_DEVTOOLS_VERSION = 1.22.9 +GST1_DEVTOOLS_VERSION = 1.22.12 GST1_DEVTOOLS_SOURCE = gst-devtools-$(GST1_DEVTOOLS_VERSION).tar.xz GST1_DEVTOOLS_SITE = https://gstreamer.freedesktop.org/src/gst-devtools GST1_DEVTOOLS_LICENSE = LGPL-2.1+ diff --git a/package/gstreamer1/gst1-libav/gst1-libav.hash b/package/gstreamer1/gst1-libav/gst1-libav.hash index b5bc84d67..b6130ac14 100644 --- a/package/gstreamer1/gst1-libav/gst1-libav.hash +++ b/package/gstreamer1/gst1-libav/gst1-libav.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.22.9.tar.xz.sha256sum -sha256 192f7d27d21c1e7c72c339a2647a9b0c247fedc62ea5029115f8c3e22ebb87d8 gst-libav-1.22.9.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.22.12.tar.xz.sha256sum +sha256 3b60d4cac2fbcd085a93e9389ca23e0443bee1ca75574d31d4f12bb1bbecab48 gst-libav-1.22.12.tar.xz sha256 ad2eec519ebd4b5df86ea84dff24ae3bfa2edea846a703b58902dd221ae375db COPYING diff --git a/package/gstreamer1/gst1-libav/gst1-libav.mk b/package/gstreamer1/gst1-libav/gst1-libav.mk index 1b872b7fa..142ea7ed9 100644 --- a/package/gstreamer1/gst1-libav/gst1-libav.mk +++ b/package/gstreamer1/gst1-libav/gst1-libav.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_LIBAV_VERSION = 1.22.9 +GST1_LIBAV_VERSION = 1.22.12 GST1_LIBAV_SOURCE = gst-libav-$(GST1_LIBAV_VERSION).tar.xz GST1_LIBAV_SITE = https://gstreamer.freedesktop.org/src/gst-libav GST1_LIBAV_LICENSE = LGPL-2.1+ diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in index d2c60ec9c..e85ec1678 100644 --- a/package/gstreamer1/gst1-plugins-bad/Config.in +++ b/package/gstreamer1/gst1-plugins-bad/Config.in @@ -746,11 +746,12 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_ZXING depends on !BR2_STATIC_LIBS # zxing-cpp depends on BR2_USE_WCHAR # zxing-cpp depends on BR2_INSTALL_LIBSTDCPP # zxing-cpp + depends on BR2_TOOLCHAIN_HAS_THREADS # zxing-cpp select BR2_PACKAGE_ZXING_CPP -comment "zxing plugin needs a toolchain w/ C++, wchar, dynamic library" +comment "zxing plugin needs a toolchain w/ C++, wchar, dynamic library, threads" depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR || \ - !BR2_INSTALL_LIBSTDCPP + !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS endif diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash index 174c4ad57..a1ebb39c8 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.22.9.tar.xz.sha256sum -sha256 1bc65d0fd5f53a3636564efd3fcf318c3edcdec39c4109a503c1fc8203840a1d gst-plugins-bad-1.22.9.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.22.12.tar.xz.sha256sum +sha256 388b4c4412f42e36a38b17cc34119bc11879bd4d9fbd4ff6d03b2c7fc6b4d494 gst-plugins-bad-1.22.12.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk index a61038376..7d36c041c 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_BAD_VERSION = 1.22.9 +GST1_PLUGINS_BAD_VERSION = 1.22.12 GST1_PLUGINS_BAD_SOURCE = gst-plugins-bad-$(GST1_PLUGINS_BAD_VERSION).tar.xz GST1_PLUGINS_BAD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-bad GST1_PLUGINS_BAD_INSTALL_STAGING = YES diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash index 060a871b9..28ee14122 100644 --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.22.9.tar.xz.sha256sum -sha256 fac3e0dd2d8e9370388b34bf8c21b89d5f63bc3cfc12cd7fdc8fc6c1cba03334 gst-plugins-base-1.22.9.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.22.12.tar.xz.sha256sum +sha256 73cfadc3a6ffe77ed974cfd6fb391c605e4531f48db21dd6b9f42b8cb69bd8c1 gst-plugins-base-1.22.12.tar.xz sha256 ad2eec519ebd4b5df86ea84dff24ae3bfa2edea846a703b58902dd221ae375db COPYING diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk index 512e3fdee..31a40406f 100644 --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_BASE_VERSION = 1.22.9 +GST1_PLUGINS_BASE_VERSION = 1.22.12 GST1_PLUGINS_BASE_SOURCE = gst-plugins-base-$(GST1_PLUGINS_BASE_VERSION).tar.xz GST1_PLUGINS_BASE_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-base GST1_PLUGINS_BASE_INSTALL_STAGING = YES diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in index e1e2674a4..3cf227b78 100644 --- a/package/gstreamer1/gst1-plugins-good/Config.in +++ b/package/gstreamer1/gst1-plugins-good/Config.in @@ -293,6 +293,8 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL select BR2_PACKAGE_QT5BASE_WIDGETS select BR2_PACKAGE_QT5DECLARATIVE select BR2_PACKAGE_QT5DECLARATIVE_QUICK + select BR2_PACKAGE_QT5TOOLS + select BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS select BR2_PACKAGE_QT5X11EXTRAS if BR2_PACKAGE_QT5BASE_XCB help QT5 plugin which includes elements qmlglsrc and qmlglsink diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash index 4410da6ef..1e1b83e11 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.22.9.tar.xz.sha256sum -sha256 26959fcfebfff637d4ea08ef40316baf31b61bb7729820b0684e800c3a1478b6 gst-plugins-good-1.22.9.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.22.12.tar.xz.sha256sum +sha256 9c1913f981900bd8867182639b20907b28ed78ef7a222cfbf2d8ba9dab992fa7 gst-plugins-good-1.22.12.tar.xz sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk index a1ad63915..7ba266779 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_GOOD_VERSION = 1.22.9 +GST1_PLUGINS_GOOD_VERSION = 1.22.12 GST1_PLUGINS_GOOD_SOURCE = gst-plugins-good-$(GST1_PLUGINS_GOOD_VERSION).tar.xz GST1_PLUGINS_GOOD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-good GST1_PLUGINS_GOOD_LICENSE_FILES = COPYING @@ -357,7 +357,7 @@ endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL),y) GST1_PLUGINS_GOOD_CONF_OPTS += -Dqt5=enabled -GST1_PLUGINS_GOOD_DEPENDENCIES += qt5declarative +GST1_PLUGINS_GOOD_DEPENDENCIES += qt5declarative qt5tools ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y) GST1_PLUGINS_GOOD_DEPENDENCIES += qt5x11extras endif diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash index 20394619b..497b5ae95 100644 --- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash +++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.22.9.tar.xz.sha256sum -sha256 0bf685d66015a01dd3fc1671b64a1c8acb321dd9d4ab9e05a29ab19782aa6236 gst-plugins-ugly-1.22.9.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.22.12.tar.xz.sha256sum +sha256 d59a1aaf8dd2cc416dc5b5c0b7aecd02b1811bf1229aa724e6c2a503d3799083 gst-plugins-ugly-1.22.12.tar.xz sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk index 7bb95dd1d..6542ca9ff 100644 --- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk +++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_UGLY_VERSION = 1.22.9 +GST1_PLUGINS_UGLY_VERSION = 1.22.12 GST1_PLUGINS_UGLY_SOURCE = gst-plugins-ugly-$(GST1_PLUGINS_UGLY_VERSION).tar.xz GST1_PLUGINS_UGLY_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-ugly GST1_PLUGINS_UGLY_LICENSE_FILES = COPYING diff --git a/package/gstreamer1/gst1-python/gst1-python.hash b/package/gstreamer1/gst1-python/gst1-python.hash index 2f352df92..b28ad5975 100644 --- a/package/gstreamer1/gst1-python/gst1-python.hash +++ b/package/gstreamer1/gst1-python/gst1-python.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.22.9.tar.xz.sha256sum -sha256 3f9d5c6ffefda268703744b592a6b3983aa6723273b1220ecbcb62c2a5800009 gst-python-1.22.9.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.22.12.tar.xz.sha256sum +sha256 d98d3226efea20d5c440a28988a20319a953f7c594895df2bba4538633108e9f gst-python-1.22.12.tar.xz sha256 ea3ad127610e5ded2210b3a86a46314f2b3b28e438eccffdae19a4d6fbcdb0c2 COPYING diff --git a/package/gstreamer1/gst1-python/gst1-python.mk b/package/gstreamer1/gst1-python/gst1-python.mk index 501ca5e02..f5f4d713a 100644 --- a/package/gstreamer1/gst1-python/gst1-python.mk +++ b/package/gstreamer1/gst1-python/gst1-python.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PYTHON_VERSION = 1.22.9 +GST1_PYTHON_VERSION = 1.22.12 GST1_PYTHON_SOURCE = gst-python-$(GST1_PYTHON_VERSION).tar.xz GST1_PYTHON_SITE = https://gstreamer.freedesktop.org/src/gst-python GST1_PYTHON_INSTALL_STAGING = YES diff --git a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash index 21f380378..98b211f7a 100644 --- a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash +++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash @@ -1,4 +1,4 @@ -# From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.22.9.tar.xz.sha256sum -sha256 808af148f89404ff74850f8ca5272bed4bfe67f9620231dc4514fd07eb26d0a4 gst-rtsp-server-1.22.9.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.22.12.tar.xz.sha256sum +sha256 bf6c7871e7cf3528e4ec87ddc2f2949691cd269f98e536482ae744c1405cf451 gst-rtsp-server-1.22.12.tar.xz sha256 ad2eec519ebd4b5df86ea84dff24ae3bfa2edea846a703b58902dd221ae375db COPYING sha256 ad2eec519ebd4b5df86ea84dff24ae3bfa2edea846a703b58902dd221ae375db COPYING.LIB diff --git a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk index 87e6413d0..a8c382e11 100644 --- a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk +++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_RTSP_SERVER_VERSION = 1.22.9 +GST1_RTSP_SERVER_VERSION = 1.22.12 GST1_RTSP_SERVER_SOURCE = gst-rtsp-server-$(GST1_RTSP_SERVER_VERSION).tar.xz GST1_RTSP_SERVER_SITE = http://gstreamer.freedesktop.org/src/gst-rtsp-server GST1_RTSP_SERVER_LICENSE = LGPL-2.1+ diff --git a/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash b/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash index ec23ae7c6..c6e0048ee 100644 --- a/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash +++ b/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.22.9.tar.xz.sha256sum -sha256 8ba20da8c4cbf5b2953dba904672c4275d0053e1528f97fdf8e59942c7883ca8 gstreamer-vaapi-1.22.9.tar.xz +# From https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.22.12.tar.xz.sha256sum +sha256 013ad729b2fe4fccda559bddc626bcb14230cfb90a2271049f8466bfec5d80df gstreamer-vaapi-1.22.12.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk b/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk index d934bab23..0cdec46f3 100644 --- a/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk +++ b/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_VAAPI_VERSION = 1.22.9 +GST1_VAAPI_VERSION = 1.22.12 GST1_VAAPI_SITE = https://gstreamer.freedesktop.org/src/gstreamer-vaapi GST1_VAAPI_SOURCE = gstreamer-vaapi-$(GST1_VAAPI_VERSION).tar.xz GST1_VAAPI_LICENSE = LGPL-2.1+ diff --git a/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.hash b/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.hash index 2ea29dae6..e6bba2072 100644 --- a/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.hash +++ b/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.hash @@ -1,5 +1,5 @@ -# From https://gstreamer.freedesktop.org/src/gstreamer-editing-services/gst-editing-services-1.22.9.tar.xz.sha256sum -sha256 3553ad3802dccde0c0ef1461881acd9b55bddf8adf751de4cb51b7f8cb50440d gst-editing-services-1.22.9.tar.xz +# From https://gstreamer.freedesktop.org/src/gstreamer-editing-services/gst-editing-services-1.22.12.tar.xz.sha256sum +sha256 792339135ce713088663cc5d44e0aea8217793e88fabfd11571e7abf4a429f2c gst-editing-services-1.22.12.tar.xz # Hashes for license files: sha256 f445dc78b88496f7e20c7a2a461b95baba5865c8919b8289ac24ac0a80c6ce7a COPYING diff --git a/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.mk b/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.mk index e2c0f1ccf..75c660f31 100644 --- a/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.mk +++ b/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.mk @@ -4,7 +4,7 @@ # ################################################################################ -GSTREAMER1_EDITING_SERVICES_VERSION = 1.22.9 +GSTREAMER1_EDITING_SERVICES_VERSION = 1.22.12 GSTREAMER1_EDITING_SERVICES_SOURCE = gst-editing-services-$(GSTREAMER1_EDITING_SERVICES_VERSION).tar.xz GSTREAMER1_EDITING_SERVICES_SITE = https://gstreamer.freedesktop.org/src/gstreamer-editing-services GSTREAMER1_EDITING_SERVICES_LICENSE = LGPL-2.0+ diff --git a/package/gstreamer1/gstreamer1/gstreamer1.hash b/package/gstreamer1/gstreamer1/gstreamer1.hash index b6ed001eb..445f1c15f 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.hash +++ b/package/gstreamer1/gstreamer1/gstreamer1.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.22.9.tar.xz.sha256sum -sha256 1e7124d347e8cdc80f08ec1d370c201be513002af1102bb20e83c5279cb48ebd gstreamer-1.22.9.tar.xz +# From https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.22.12.tar.xz.sha256sum +sha256 ac352f3d02caa67f3b169daa9aa78b04dea0fc08a727de73cb28d89bd54c6f61 gstreamer-1.22.12.tar.xz sha256 ad2eec519ebd4b5df86ea84dff24ae3bfa2edea846a703b58902dd221ae375db COPYING diff --git a/package/gstreamer1/gstreamer1/gstreamer1.mk b/package/gstreamer1/gstreamer1/gstreamer1.mk index 5b9125e62..157799424 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.mk +++ b/package/gstreamer1/gstreamer1/gstreamer1.mk @@ -4,7 +4,7 @@ # ################################################################################ -GSTREAMER1_VERSION = 1.22.9 +GSTREAMER1_VERSION = 1.22.12 GSTREAMER1_SOURCE = gstreamer-$(GSTREAMER1_VERSION).tar.xz GSTREAMER1_SITE = https://gstreamer.freedesktop.org/src/gstreamer GSTREAMER1_INSTALL_STAGING = YES diff --git a/package/gtest/gtest.mk b/package/gtest/gtest.mk index c252ede81..832c494ff 100644 --- a/package/gtest/gtest.mk +++ b/package/gtest/gtest.mk @@ -18,7 +18,7 @@ GTEST_CPE_ID_PRODUCT = google_test # gtest. # So, force to build gtest as a static library. # -# For further details, refer to the explaination given in the README file from +# For further details, refer to the explanation given in the README file from # the gtest sources. GTEST_CONF_OPTS = -DBUILD_SHARED_LIBS=OFF diff --git a/package/guile/guile.mk b/package/guile/guile.mk index 1d2e8038f..82daaf5ad 100644 --- a/package/guile/guile.mk +++ b/package/guile/guile.mk @@ -44,11 +44,6 @@ ifeq ($(BR2_STATIC_LIBS),y) GUILE_CFLAGS += -DGC_NO_DLOPEN endif -# Triggers assembler error with -Os -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM)$(BR2_OPTIMIZE_S),yy) -GUILE_CFLAGS += -O2 -endif - # jit triggers build failures with gcc < 5 ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5),) GUILE_CONF_OPTS += --disable-jit diff --git a/package/harfbuzz/harfbuzz.hash b/package/harfbuzz/harfbuzz.hash index fbe890910..f107aee8c 100644 --- a/package/harfbuzz/harfbuzz.hash +++ b/package/harfbuzz/harfbuzz.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 109501eaeb8bde3eadb25fab4164e993fbace29c3d775bcaa1c1e58e2f15f847 harfbuzz-8.3.0.tar.xz +sha256 f73e1eacd7e2ffae687bc3f056bb0c705b7a05aee86337686e09da8fc1c2030c harfbuzz-8.3.1.tar.xz sha256 ba8f810f2455c2f08e2d56bb49b72f37fcf68f1f4fade38977cfd7372050ad64 COPYING diff --git a/package/harfbuzz/harfbuzz.mk b/package/harfbuzz/harfbuzz.mk index 599ea548d..e3da4add4 100644 --- a/package/harfbuzz/harfbuzz.mk +++ b/package/harfbuzz/harfbuzz.mk @@ -4,7 +4,7 @@ # ################################################################################ -HARFBUZZ_VERSION = 8.3.0 +HARFBUZZ_VERSION = 8.3.1 HARFBUZZ_SITE = https://github.com/harfbuzz/harfbuzz/releases/download/$(HARFBUZZ_VERSION) HARFBUZZ_SOURCE = harfbuzz-$(HARFBUZZ_VERSION).tar.xz HARFBUZZ_LICENSE = MIT, ISC (ucdn library) diff --git a/package/hddtemp/Config.in b/package/hddtemp/Config.in index 0e0225246..23fef3d23 100644 --- a/package/hddtemp/Config.in +++ b/package/hddtemp/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_HDDTEMP select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE help hddtemp is a small utility that gives you the temperature of - your hard drive by reading S.M.A.R.T. informations, for drives + your hard drive by reading S.M.A.R.T. information, for drives that support this feature. https://github.com/vitlav/hddtemp diff --git a/package/heimdal/0002-cf-largefile.m4-Fix-build-with-autoconf-2.72.patch b/package/heimdal/0002-cf-largefile.m4-Fix-build-with-autoconf-2.72.patch new file mode 100644 index 000000000..5b36c5a78 --- /dev/null +++ b/package/heimdal/0002-cf-largefile.m4-Fix-build-with-autoconf-2.72.patch @@ -0,0 +1,27 @@ +From 1b57b62d82a478c1fade350f0fb1d57031a8734e Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sat, 10 Feb 2024 09:33:48 +0100 +Subject: [PATCH] cf/largefile.m4: Fix build with autoconf-2.72 + +Fixes https://github.com/heimdal/heimdal/issues/1201 + +Upstream: https://github.com/heimdal/heimdal/commit/1b57b62d82a478c1fade350f0fb1d57031a8734e + +Signed-off-by: Bernd Kuhls +--- + cf/largefile.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cf/largefile.m4 b/cf/largefile.m4 +index 5c54897be4..cdbbc55431 100644 +--- a/cf/largefile.m4 ++++ b/cf/largefile.m4 +@@ -10,7 +10,7 @@ dnl with generated code, such as lex + if test "$enable_largefile" != no -a "$ac_cv_sys_large_files" != no; then + CPPFLAGS="$CPPFLAGS -D_LARGE_FILES=$ac_cv_sys_large_files" + fi +-if test "$enable_largefile" != no -a "$ac_cv_sys_file_offset_bits" != no; then ++if test "$enable_largefile" != no -a "$ac_cv_sys_file_offset_bits" != no && test -n "$ac_cv_sys_file_offset_bits"; then + CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits" + fi + ]) diff --git a/package/heimdal/heimdal.mk b/package/heimdal/heimdal.mk index 786d94a1a..f6c52f63a 100644 --- a/package/heimdal/heimdal.mk +++ b/package/heimdal/heimdal.mk @@ -6,7 +6,7 @@ HEIMDAL_VERSION = f4faaeaba371fff3f8d1bc14389f5e6d70ca8e17 HEIMDAL_SITE = $(call github,heimdal,heimdal,$(HEIMDAL_VERSION)) -HOST_HEIMDAL_DEPENDENCIES = host-e2fsprogs host-ncurses host-pkgconf +HOST_HEIMDAL_DEPENDENCIES = host-e2fsprogs host-ncurses host-pkgconf host-libxcrypt host-flex host-bison HOST_HEIMDAL_AUTORECONF = YES HEIMDAL_INSTALL_STAGING = YES # static because of -fPIC issues with e2fsprogs on x86_64 host @@ -29,7 +29,7 @@ HOST_HEIMDAL_CONF_OPTS = \ --disable-heimdal-documentation # Don't use compile_et from e2fsprogs as it raises a build failure with samba4 -HOST_HEIMDAL_CONF_ENV = ac_cv_prog_COMPILE_ET=no MAKEINFO=true +HOST_HEIMDAL_CONF_ENV = ac_cv_prog_COMPILE_ET=no MAKEINFO=true LIBS=-lcrypt HEIMDAL_LICENSE = BSD-3-Clause HEIMDAL_LICENSE_FILES = LICENSE HEIMDAL_CPE_ID_VALID = YES diff --git a/package/heirloom-mailx/Config.in b/package/heirloom-mailx/Config.in index c5b0bcbea..ed2a51943 100644 --- a/package/heirloom-mailx/Config.in +++ b/package/heirloom-mailx/Config.in @@ -13,7 +13,7 @@ config BR2_PACKAGE_HEIRLOOM_MAILX importantly on embedded systems, as a mail composition program and SMTP client, in order to send e-mail from shell scripts. It supports SMTP authentication (login, plain, - cram-md5), SMTPS, MIME encoding of attachements, and more. + cram-md5), SMTPS, MIME encoding of attachments, and more. http://heirloom.sourceforge.net/mailx.html diff --git a/package/hiawatha/Config.in b/package/hiawatha/Config.in index 4b1a3ca86..a5d8a7fbb 100644 --- a/package/hiawatha/Config.in +++ b/package/hiawatha/Config.in @@ -26,7 +26,7 @@ config BR2_PACKAGE_HIAWATHA pipelining, keep alive connections, URL rewriting and many more. - http://www.hiawatha-webserver.org/ + https://hiawatha.leisink.net/ if BR2_PACKAGE_HIAWATHA diff --git a/package/hiawatha/hiawatha.mk b/package/hiawatha/hiawatha.mk index 2ba8efb2f..9268c368b 100644 --- a/package/hiawatha/hiawatha.mk +++ b/package/hiawatha/hiawatha.mk @@ -5,7 +5,7 @@ ################################################################################ HIAWATHA_VERSION = 11.2 -HIAWATHA_SITE = https://www.hiawatha-webserver.org/files +HIAWATHA_SITE = https://hiawatha.leisink.net/files HIAWATHA_DEPENDENCIES = zlib HIAWATHA_LICENSE = GPL-2.0 HIAWATHA_LICENSE_FILES = LICENSE diff --git a/package/hidapi/Config.in b/package/hidapi/Config.in index 061c7883f..1d3c86b67 100644 --- a/package/hidapi/Config.in +++ b/package/hidapi/Config.in @@ -15,7 +15,7 @@ config BR2_PACKAGE_HIDAPI http://github.com/libusb/hidapi/ -comment "hidapi needs udev /dev management and a toolchain w/ NPTL, threads, gcc >= 4.9" +comment "hidapi needs udev /dev management and a toolchain w/ NPTL, gcc >= 4.9" depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ !BR2_PACKAGE_HAS_UDEV || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/hostapd/Config.in b/package/hostapd/Config.in index f4206ceea..660274ddf 100644 --- a/package/hostapd/Config.in +++ b/package/hostapd/Config.in @@ -54,7 +54,7 @@ config BR2_PACKAGE_HOSTAPD_ACS depends on BR2_PACKAGE_HOSTAPD_DRIVER_NL80211 help Enable support for standard ACS (Automatic Channel Selection). - Some propietary drivers use a custom algorithm which requires + Some proprietary drivers use a custom algorithm which requires channel to be set to '0' (which enables ACS in the config), causing hostapd to use the standard one which doesn't work for those cases. diff --git a/package/hostapd/hostapd.mk b/package/hostapd/hostapd.mk index 8981d9247..5756510e1 100644 --- a/package/hostapd/hostapd.mk +++ b/package/hostapd/hostapd.mk @@ -25,7 +25,7 @@ HOSTAPD_CONFIG_DISABLE = # Try to use openssl if it's already available ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) -HOSTAPD_DEPENDENCIES += host-pkgconf libopenssl +HOSTAPD_DEPENDENCIES += libopenssl HOSTAPD_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs openssl` HOSTAPD_CONFIG_EDITS += 's/\#\(CONFIG_TLS=openssl\)/\1/' else diff --git a/package/htop/htop.mk b/package/htop/htop.mk index 6dbaae379..4fa8e4fb5 100644 --- a/package/htop/htop.mk +++ b/package/htop/htop.mk @@ -17,6 +17,16 @@ HTOP_LICENSE_FILES = COPYING # provided by autoconf relies on wchar_t. HTOP_CONF_ENV += ac_cv_prog_cc_c99=-std=gnu99 +# --enable-static has a non-standard semantic in htop, and causes the +# main binary to be linked statically, not just the production of +# static libraries. This causes issues with BR2_SHARED_STATIC_LIBS as +# htop is linked statically, but pkg-config returns results relevant +# for a shared library build. Since htop is only building an +# application, let's disable this bogus behavior. +ifeq ($(BR2_SHARED_STATIC_LIBS),y) +HTOP_CONF_OPTS += --disable-static +endif + ifeq ($(BR2_PACKAGE_HWLOC),y) HTOP_CONF_OPTS += --enable-hwloc HTOP_DEPENDENCIES += hwloc diff --git a/package/icu/0002-workaround-toolchain-bugs.patch b/package/icu/0002-workaround-toolchain-bugs.patch index b5f25d0a1..f6b124cc2 100644 --- a/package/icu/0002-workaround-toolchain-bugs.patch +++ b/package/icu/0002-workaround-toolchain-bugs.patch @@ -1,7 +1,7 @@ Workaround toolchain bugs Many of ARM Sourcery CodeBench toolchain have a bug when compiling -icu's translit.cpp source file. The bug is trigerred when there is a +icu's translit.cpp source file. The bug is triggered when there is a combination of "-W -Wall" and "-Os", and causes an internal compiler error. The bug has been reported to Mentor Graphics. diff --git a/package/icu/Config.in b/package/icu/Config.in index 8b410bfdb..4ed662e88 100644 --- a/package/icu/Config.in +++ b/package/icu/Config.in @@ -21,7 +21,7 @@ config BR2_PACKAGE_ICU_CUSTOM_DATA_PATH help This option allows to define the path to a custom data library generated with http://apps.icu-project.org/datacustom/ - Make sure you select the appropiate version to match the one + Make sure you select the appropriate version to match the one provided by buildroot. Leave empty to not use this functionality. diff --git a/package/imagemagick/imagemagick.hash b/package/imagemagick/imagemagick.hash index fd80316ec..2983b511c 100644 --- a/package/imagemagick/imagemagick.hash +++ b/package/imagemagick/imagemagick.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 09402e5f17c6575ef9f010bb2e21ae1710f1f3426f115ad4317ee9129c32608e imagemagick-7.1.1-21.tar.gz -sha256 8cceeb67d4e783cb63075c7311fdb990fa0369ee80fbd0f481064cd02386ca2d LICENSE +sha256 ceb972266b23dc7c1cfce0da5a7f0c9acfb4dc81f40eb542a49476fedbc2618f imagemagick-7.1.1-43.tar.gz +sha256 a556c5292c87c9a6ac795c80669b0c3660f9f729de8c476bf2b10f83ab1b34ec LICENSE diff --git a/package/imagemagick/imagemagick.mk b/package/imagemagick/imagemagick.mk index 53cf02abf..6bbda4039 100644 --- a/package/imagemagick/imagemagick.mk +++ b/package/imagemagick/imagemagick.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMAGEMAGICK_VERSION = 7.1.1-21 +IMAGEMAGICK_VERSION = 7.1.1-43 IMAGEMAGICK_SITE = $(call github,ImageMagick,ImageMagick,$(IMAGEMAGICK_VERSION)) IMAGEMAGICK_LICENSE = Apache-2.0 IMAGEMAGICK_LICENSE_FILES = LICENSE diff --git a/package/inih/inih.hash b/package/inih/inih.hash index 476b544ce..f20d7ac0b 100644 --- a/package/inih/inih.hash +++ b/package/inih/inih.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 f03f98ca35c3adb56b2358573c8d3eda319ccd5287243d691e724b7eafa970b3 inih-57.tar.gz +sha256 e79216260d5dffe809bda840be48ab0eec7737b2bb9f02d2275c1b46344ea7b7 inih-58.tar.gz sha256 9ae3b39e83e9158e44b67733baa3bb2d84e80efdcfb14a5820210a42c7abdf7f LICENSE.txt diff --git a/package/inih/inih.mk b/package/inih/inih.mk index 93032f1ed..80cde0942 100644 --- a/package/inih/inih.mk +++ b/package/inih/inih.mk @@ -4,7 +4,7 @@ # ################################################################################ -INIH_VERSION = 57 +INIH_VERSION = 58 INIH_SITE = $(call github,benhoyt,inih,r$(INIH_VERSION)) INIH_INSTALL_STAGING = YES INIH_LICENSE = BSD-3-Clause diff --git a/package/intel-gmmlib/intel-gmmlib.hash b/package/intel-gmmlib/intel-gmmlib.hash index 9527cb9a5..aadf01a16 100644 --- a/package/intel-gmmlib/intel-gmmlib.hash +++ b/package/intel-gmmlib/intel-gmmlib.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 5fa23407d4780c4ee8acd68e9ec9186e1721238150dc36ca9ab469a335891d2a intel-gmmlib-22.3.17.tar.gz +sha256 ea9c418b0fd84a982850f230cb2d783dfe2e1f9923065f54b2fcaad1e9b33417 intel-gmmlib-22.3.19.tar.gz sha256 8b7446825df3f8b0268307e272aa6aaaf78351c83161d860d02c913c22666c48 LICENSE.md diff --git a/package/intel-gmmlib/intel-gmmlib.mk b/package/intel-gmmlib/intel-gmmlib.mk index 5502687a4..74e19e93f 100644 --- a/package/intel-gmmlib/intel-gmmlib.mk +++ b/package/intel-gmmlib/intel-gmmlib.mk @@ -4,7 +4,7 @@ # ################################################################################ -INTEL_GMMLIB_VERSION = 22.3.17 +INTEL_GMMLIB_VERSION = 22.3.19 INTEL_GMMLIB_SITE = https://github.com/intel/gmmlib/archive INTEL_GMMLIB_LICENSE = MIT INTEL_GMMLIB_LICENSE_FILES = LICENSE.md diff --git a/package/intel-mediadriver/intel-mediadriver.hash b/package/intel-mediadriver/intel-mediadriver.hash index a1b098094..6bc9549c1 100644 --- a/package/intel-mediadriver/intel-mediadriver.hash +++ b/package/intel-mediadriver/intel-mediadriver.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 a024e96abd662193e4295f427a76c5894087503df46bd82c0e5bea103e44b171 intel-media-24.1.3.tar.gz +sha256 e23ea37c98d8d4b9d1a3a134b6489256d8f5a7a4ee71967b1db8ade70052654f intel-media-24.1.5.tar.gz sha256 74979d5aaee78b8da82e3aafd415a216b6131dfff6d95d6930927c8a4e3bded3 LICENSE.md diff --git a/package/intel-mediadriver/intel-mediadriver.mk b/package/intel-mediadriver/intel-mediadriver.mk index 72a22fe5c..875e7e7c7 100644 --- a/package/intel-mediadriver/intel-mediadriver.mk +++ b/package/intel-mediadriver/intel-mediadriver.mk @@ -6,7 +6,7 @@ # based on https://software.intel.com/en-us/articles/build-and-debug-open-source-media-stack -INTEL_MEDIADRIVER_VERSION = 24.1.3 +INTEL_MEDIADRIVER_VERSION = 24.1.5 INTEL_MEDIADRIVER_SITE = https://github.com/intel/media-driver/archive INTEL_MEDIADRIVER_SOURCE= intel-media-$(INTEL_MEDIADRIVER_VERSION).tar.gz INTEL_MEDIADRIVER_LICENSE = MIT, BSD-3-Clause diff --git a/package/intel-microcode/intel-microcode.hash b/package/intel-microcode/intel-microcode.hash index 742332d55..9721a1597 100644 --- a/package/intel-microcode/intel-microcode.hash +++ b/package/intel-microcode/intel-microcode.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 cee26f311f7e2c039dd48cd30f995183bde9b98fb4c3039800e2ddaf5c090e55 intel-microcode-20231114.tar.gz +sha256 1da88b51953c9da2e20b5c94b3d7270cf87ea5babcaa56e3d6a5c9eaf11694b3 intel-microcode-20250211.tar.gz sha256 03efb1491c7e899feb2665fa299363e64035e5444c1b8bc1f6ebed30de964e12 license diff --git a/package/intel-microcode/intel-microcode.mk b/package/intel-microcode/intel-microcode.mk index a159baa93..db3e690ec 100644 --- a/package/intel-microcode/intel-microcode.mk +++ b/package/intel-microcode/intel-microcode.mk @@ -4,7 +4,7 @@ # ################################################################################ -INTEL_MICROCODE_VERSION = 20231114 +INTEL_MICROCODE_VERSION = 20250211 INTEL_MICROCODE_SITE = $(call github,intel,Intel-Linux-Processor-Microcode-Data-Files,microcode-$(INTEL_MICROCODE_VERSION)) INTEL_MICROCODE_LICENSE = PROPRIETARY INTEL_MICROCODE_LICENSE_FILES = license diff --git a/package/iperf3/Config.in b/package/iperf3/Config.in index 5b2204c5e..0c6946f55 100644 --- a/package/iperf3/Config.in +++ b/package/iperf3/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_IPERF3 bool "iperf3" + depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_TOOLCHAIN_HAS_THREADS help iperf is a tool for active measurements of the maximum @@ -13,4 +14,5 @@ config BR2_PACKAGE_IPERF3 http://software.es.net/iperf/index.html comment "iperf3 needs a toolchain w/ threads" + depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/iperf3/iperf3.hash b/package/iperf3/iperf3.hash index 02ada0dcc..2aef76578 100644 --- a/package/iperf3/iperf3.hash +++ b/package/iperf3/iperf3.hash @@ -1,4 +1,4 @@ -# From https://downloads.es.net/pub/iperf/iperf-3.14.tar.gz.sha256 -sha256 723fcc430a027bc6952628fa2a3ac77584a1d0bd328275e573fc9b206c155004 iperf-3.14.tar.gz +# From https://downloads.es.net/pub/iperf/iperf-3.18.tar.gz.sha256 +sha256 c0618175514331e766522500e20c94bfb293b4424eb27d7207fb427b88d20bab iperf-3.18.tar.gz # Locally computed -sha256 35aa7c4618b9884d6faa9b43a4e70291b35ea9f89329d5d33becd852e85221b0 LICENSE +sha256 3dc3e2076dd9cdea2b66d8fe213997ff25fb6171594f055b59fe25321b438f6f LICENSE diff --git a/package/iperf3/iperf3.mk b/package/iperf3/iperf3.mk index c00b16ce6..744ee070a 100644 --- a/package/iperf3/iperf3.mk +++ b/package/iperf3/iperf3.mk @@ -4,7 +4,7 @@ # ################################################################################ -IPERF3_VERSION = 3.14 +IPERF3_VERSION = 3.18 IPERF3_SITE = https://downloads.es.net/pub/iperf IPERF3_SOURCE = iperf-$(IPERF3_VERSION).tar.gz IPERF3_LICENSE = BSD-3-Clause, BSD-2-Clause, MIT diff --git a/package/irda-utils/0001-daemon.patch b/package/irda-utils/0001-daemon.patch index f6034a75b..9f01de20a 100644 --- a/package/irda-utils/0001-daemon.patch +++ b/package/irda-utils/0001-daemon.patch @@ -2,7 +2,7 @@ written by Mike Frysinger https://sourceforge.net/tracker/?func=detail&aid=3132053&group_id=5616&atid=305616 -Rather than using the fork function (which doesnt work on nommu +Rather than using the fork function (which doesn't work on nommu systems), simply use the daemon() function instead (which does work). this should work the same before and after for all systems. diff --git a/package/irda-utils/0002-nommu.patch b/package/irda-utils/0002-nommu.patch index bc76bd395..13c5ad2a7 100644 --- a/package/irda-utils/0002-nommu.patch +++ b/package/irda-utils/0002-nommu.patch @@ -3,7 +3,7 @@ written by Mike Frysinger https://sourceforge.net/tracker/?func=detail&aid=3132056&group_id=5616&atid=305616 nommu systems cannot fork() as the hardware cannot support -it. irattach uses it as a minor optimization, but it isnt +it. irattach uses it as a minor optimization, but it isn't necessary for correct functioning of the utility. so add a NO_FORK define so we nommu peeps can do CFLAGS="... -DNO_FORK=1 ..." and use it in our embedded systems. diff --git a/package/irssi/irssi.hash b/package/irssi/irssi.hash index df72ee4d7..f2798d14c 100644 --- a/package/irssi/irssi.hash +++ b/package/irssi/irssi.hash @@ -1,4 +1,5 @@ -# Locally calculated after checking pgp signature -sha256 fefe9ec8c7b1475449945c934a2360ab12693454892be47a6d288c63eb107ead irssi-1.4.4.tar.xz +# Locally calculated after checking pgp signature with key +# 7EE65E3082A5FB06AC7C368D00CCB587DDBEF0E1 +sha256 72a951cb0ad622785a8962801f005a3a412736c7e7e3ce152f176287c52fe062 irssi-1.4.5.tar.xz # Locally calculated sha256 a1a27cb2ecee8d5378fbb3562f577104a445d6d66fee89286e16758305e63e2b COPYING diff --git a/package/irssi/irssi.mk b/package/irssi/irssi.mk index 6790bf0c9..7c86569d6 100644 --- a/package/irssi/irssi.mk +++ b/package/irssi/irssi.mk @@ -4,7 +4,7 @@ # ################################################################################ -IRSSI_VERSION = 1.4.4 +IRSSI_VERSION = 1.4.5 IRSSI_SOURCE = irssi-$(IRSSI_VERSION).tar.xz IRSSI_SITE = https://codeberg.org/irssi/irssi/releases/download/$(IRSSI_VERSION) IRSSI_LICENSE = GPL-2.0+ diff --git a/package/ivi-homescreen/Config.in b/package/ivi-homescreen/Config.in index c24df05b6..a4f5f6835 100644 --- a/package/ivi-homescreen/Config.in +++ b/package/ivi-homescreen/Config.in @@ -3,7 +3,7 @@ menuconfig BR2_PACKAGE_IVI_HOMESCREEN depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS depends on BR2_HOST_GCC_AT_LEAST_5 # flutter-engine - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # flutter-engine + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17 filesystem depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # flutter-engine depends on BR2_TOOLCHAIN_USES_GLIBC # flutter-engine depends on BR2_INSTALL_LIBSTDCPP # flutter-engine @@ -250,11 +250,11 @@ comment "OpenGL texture plugin needs an EGL backend" endif # BR2_PACKAGE_IVI_HOMESCREEN -comment "ivi-homescreen needs a glibc toolchain w/ wchar, C++, gcc >= 5, dynamic library, host gcc >= 5, NPTL" +comment "ivi-homescreen needs a glibc toolchain w/ wchar, C++, gcc >= 8, dynamic library, host gcc >= 5" depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_TOOLCHAIN_HAS_THREADS_NPTL \ - || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 \ + depends on !BR2_TOOLCHAIN_USES_GLIBC \ + || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_8 \ || BR2_STATIC_LIBS || !BR2_USE_WCHAR \ || !BR2_HOST_GCC_AT_LEAST_5 diff --git a/package/jailhouse/jailhouse.mk b/package/jailhouse/jailhouse.mk index b5a8b40fd..a1c86f0e9 100644 --- a/package/jailhouse/jailhouse.mk +++ b/package/jailhouse/jailhouse.mk @@ -21,7 +21,8 @@ JAILHOUSE_MAKE_OPTS = \ ifeq ($(BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS),y) JAILHOUSE_DEPENDENCIES += \ host-python-mako \ - host-python-setuptools + host-python-setuptools \ + python3 JAILHOUSE_MAKE_OPTS += \ HAS_PYTHON_MAKO="yes" \ PYTHON_PIP_USABLE="yes" @@ -44,7 +45,7 @@ define JAILHOUSE_INSTALL_HELPER_SCRIPTS $(HOST_DIR)/bin/python setup.py \ install --no-compile \ $(PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS) \ - --root=$(TARGET_DIR)) + --root=$(TARGET_DIR) endef endif diff --git a/package/janus-gateway/janus-gateway.mk b/package/janus-gateway/janus-gateway.mk index 786bc211d..0b4db458f 100644 --- a/package/janus-gateway/janus-gateway.mk +++ b/package/janus-gateway/janus-gateway.mk @@ -10,6 +10,7 @@ JANUS_GATEWAY_LICENSE = GPL-3.0 with OpenSSL exception JANUS_GATEWAY_LICENSE_FILES = COPYING JANUS_GATEWAY_CPE_ID_VENDOR = meetecho JANUS_GATEWAY_CPE_ID_PRODUCT = janus +JANUS_GATEWAY_INSTALL_STAGING = YES # ding-libs provides the ini_config library JANUS_GATEWAY_DEPENDENCIES = host-pkgconf jansson libnice \ diff --git a/package/json-for-modern-cpp/Config.in b/package/json-for-modern-cpp/Config.in index b045cba68..34fc4e29e 100644 --- a/package/json-for-modern-cpp/Config.in +++ b/package/json-for-modern-cpp/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_JSON_FOR_MODERN_CPP depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 depends on BR2_INSTALL_LIBSTDCPP help - Json for modern c++ has the following desing goals in mind: + Json for modern c++ has the following design goals in mind: - Intuitive syntax. In languages such as Python, JSON feels like a first class data type. All the operator magic of diff --git a/package/jsoncpp/jsoncpp.hash b/package/jsoncpp/jsoncpp.hash index 99266ae42..0fa9b8942 100644 --- a/package/jsoncpp/jsoncpp.hash +++ b/package/jsoncpp/jsoncpp.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 f409856e5920c18d0c2fb85276e24ee607d2a09b5e7d5f0a371368903c275da2 jsoncpp-1.9.5.tar.gz +sha256 f93b6dd7ce796b13d02c108bc9f79812245a82e577581c4c9aabe57075c90ea2 jsoncpp-1.9.6.tar.gz sha256 cec0db5f6d7ed6b3a72647bd50aed02e13c3377fd44382b96dc2915534c042ad LICENSE diff --git a/package/jsoncpp/jsoncpp.mk b/package/jsoncpp/jsoncpp.mk index 5ef62befb..9915907ea 100644 --- a/package/jsoncpp/jsoncpp.mk +++ b/package/jsoncpp/jsoncpp.mk @@ -4,7 +4,7 @@ # ################################################################################ -JSONCPP_VERSION = 1.9.5 +JSONCPP_VERSION = 1.9.6 JSONCPP_SITE = $(call github,open-source-parsers,jsoncpp,$(JSONCPP_VERSION)) JSONCPP_LICENSE = Public Domain or MIT JSONCPP_LICENSE_FILES = LICENSE diff --git a/package/keepalived/Config.in b/package/keepalived/Config.in index 2a0663fed..98512912f 100644 --- a/package/keepalived/Config.in +++ b/package/keepalived/Config.in @@ -10,7 +10,7 @@ config BR2_PACKAGE_KEEPALIVED checks. Keepalived implements a framework based on three family checks: Layer3, Layer4 & Layer5. This framework gives the daemon the ability of checking a LVS server pool - states. Keepalived can be sumarize as a LVS driving daemon. + states. Keepalived can be summarized as a LVS driving daemon. http://www.keepalived.org/ diff --git a/package/kexec-lite/Config.in b/package/kexec-lite/Config.in index 89184b0b7..71bd619ae 100644 --- a/package/kexec-lite/Config.in +++ b/package/kexec-lite/Config.in @@ -13,7 +13,7 @@ config BR2_PACKAGE_KEXEC_LITE select BR2_PACKAGE_DTC select BR2_PACKAGE_DTC_PROGRAMS help - Kexec is a user space utiltity for loading another kernel + Kexec is a user space utility for loading another kernel and asking the currently running kernel to do something with it. diff --git a/package/kexec/0001-Fix-building-on-x86_64-with-binutils-2-41.patch b/package/kexec/0001-Fix-building-on-x86_64-with-binutils-2-41.patch new file mode 100644 index 000000000..ae44c21fe --- /dev/null +++ b/package/kexec/0001-Fix-building-on-x86_64-with-binutils-2-41.patch @@ -0,0 +1,94 @@ +From 328de8e00e298f00d7ba6b25dc3950147e9642e6 Mon Sep 17 00:00:00 2001 +From: Michel Lind +Date: Tue, 30 Jan 2024 04:14:31 -0600 +Subject: Fix building on x86_64 with binutils 2.41 + +Newer versions of the GNU assembler (observed with binutils 2.41) will +complain about the ".arch i386" in files assembled with "as --64", +with the message "Error: 64bit mode not supported on 'i386'". + +Fix by moving ".arch i386" below the relevant ".code32" directive, so +that the assembler is no longer expecting 64-bit instructions to be used +by the time that the ".arch i386" directive is encountered. + +Based on similar iPXE fix: +https://github.com/ipxe/ipxe/commit/6ca597eee + +Signed-off-by: Michel Lind +Signed-off-by: Simon Horman +Upstream: https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?id=328de8e00e298f00d7ba6b25dc3950147e9642e6 +Signed-off-by: Fabrice Fontaine +--- + purgatory/arch/i386/entry32-16-debug.S | 2 +- + purgatory/arch/i386/entry32-16.S | 2 +- + purgatory/arch/i386/entry32.S | 2 +- + purgatory/arch/i386/setup-x86.S | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/purgatory/arch/i386/entry32-16-debug.S b/purgatory/arch/i386/entry32-16-debug.S +index 5167944d..12e11649 100644 +--- a/purgatory/arch/i386/entry32-16-debug.S ++++ b/purgatory/arch/i386/entry32-16-debug.S +@@ -25,10 +25,10 @@ + .globl entry16_debug_pre32 + .globl entry16_debug_first32 + .globl entry16_debug_old_first32 +- .arch i386 + .balign 16 + entry16_debug: + .code32 ++ .arch i386 + /* Compute where I am running at (assumes esp valid) */ + call 1f + 1: popl %ebx +diff --git a/purgatory/arch/i386/entry32-16.S b/purgatory/arch/i386/entry32-16.S +index c051aab0..eace0958 100644 +--- a/purgatory/arch/i386/entry32-16.S ++++ b/purgatory/arch/i386/entry32-16.S +@@ -20,10 +20,10 @@ + #undef i386 + .text + .globl entry16, entry16_regs +- .arch i386 + .balign 16 + entry16: + .code32 ++ .arch i386 + /* Compute where I am running at (assumes esp valid) */ + call 1f + 1: popl %ebx +diff --git a/purgatory/arch/i386/entry32.S b/purgatory/arch/i386/entry32.S +index f7a494f1..8ce9e316 100644 +--- a/purgatory/arch/i386/entry32.S ++++ b/purgatory/arch/i386/entry32.S +@@ -20,10 +20,10 @@ + #undef i386 + + .text +- .arch i386 + .globl entry32, entry32_regs + entry32: + .code32 ++ .arch i386 + + /* Setup a gdt that should that is generally usefully */ + lgdt %cs:gdt +diff --git a/purgatory/arch/i386/setup-x86.S b/purgatory/arch/i386/setup-x86.S +index 201bb2cb..a212eed4 100644 +--- a/purgatory/arch/i386/setup-x86.S ++++ b/purgatory/arch/i386/setup-x86.S +@@ -21,10 +21,10 @@ + #undef i386 + + .text +- .arch i386 + .globl purgatory_start + purgatory_start: + .code32 ++ .arch i386 + + /* Load a gdt so I know what the segment registers are */ + lgdt %cs:gdt +-- +cgit 1.2.3-korg + diff --git a/package/kexec/kexec.mk b/package/kexec/kexec.mk index df14b2d71..1fd8c0f0a 100644 --- a/package/kexec/kexec.mk +++ b/package/kexec/kexec.mk @@ -16,6 +16,14 @@ KEXEC_SELINUX_MODULES = kdump # Makefile expects $STRIP -o to work, so needed for !BR2_STRIP_strip KEXEC_MAKE_OPTS = STRIP="$(TARGET_CROSS)strip" +# kexec requires at least -O1 optimization level. Its code uses a +# trick to detect unaligned accesses at link time which needs at least +# dead-code-removal to work. See put/get_unaligned() macros in +# kexec/kexec.h +ifeq ($(BR2_OPTIMIZE_0),y) +KEXEC_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -O1" +endif + ifeq ($(BR2_PACKAGE_KEXEC_ZLIB),y) KEXEC_CONF_OPTS += --with-zlib KEXEC_DEPENDENCIES += zlib diff --git a/package/kmod/0002-Use-portable-implementation-for-basename-API.patch b/package/kmod/0002-Use-portable-implementation-for-basename-API.patch new file mode 100644 index 000000000..26f108d66 --- /dev/null +++ b/package/kmod/0002-Use-portable-implementation-for-basename-API.patch @@ -0,0 +1,134 @@ +From 721ed6040c7aa47070faf6378c433089e178bd43 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 9 Dec 2023 17:35:59 -0800 +Subject: [PATCH] Use portable implementation for basename API + +musl has removed the non-prototype declaration of basename from +string.h [1] which now results in build errors with clang-17+ compiler + +Implement GNU basename behavior using strchr which is portable across libcs + +Fixes +../git/tools/kmod.c:71:19: error: call to undeclared function 'basename'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] +71 | "Commands:\n", basename(argv[0])); +| ^ + +[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7 + +Suggested-by: Rich Felker + +Signed-off-by: Khem Raj + +Upstream: https://github.com/kmod-project/kmod/pull/32 +Signed-off-by: Fiona Klute +--- + libkmod/libkmod-config.c | 2 +- + shared/util.c | 4 ++-- + shared/util.h | 7 +++++++ + testsuite/testsuite.c | 2 +- + tools/depmod.c | 2 +- + tools/kmod.c | 4 ++-- + 6 files changed, 14 insertions(+), 7 deletions(-) + +diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c +index e83621b3..8aa555a4 100644 +--- a/libkmod/libkmod-config.c ++++ b/libkmod/libkmod-config.c +@@ -794,7 +794,7 @@ static int conf_files_insert_sorted(struct kmod_ctx *ctx, + bool is_single = false; + + if (name == NULL) { +- name = basename(path); ++ name = gnu_basename(path); + is_single = true; + } + +diff --git a/shared/util.c b/shared/util.c +index e2bab83a..0e16670e 100644 +--- a/shared/util.c ++++ b/shared/util.c +@@ -172,9 +172,9 @@ char *modname_normalize(const char *modname, char buf[static PATH_MAX], size_t * + + char *path_to_modname(const char *path, char buf[static PATH_MAX], size_t *len) + { +- char *modname; ++ const char *modname; + +- modname = basename(path); ++ modname = gnu_basename(path); + if (modname == NULL || modname[0] == '\0') + return NULL; + +diff --git a/shared/util.h b/shared/util.h +index c4a3916b..073dc5a7 100644 +--- a/shared/util.h ++++ b/shared/util.h +@@ -5,6 +5,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -76,6 +77,12 @@ do { \ + __p->__v = (val); \ + } while(0) + ++static _always_inline_ const char *gnu_basename(const char *s) ++{ ++ const char *p = strrchr(s, '/'); ++ return p ? p+1 : s; ++} ++ + static _always_inline_ unsigned int ALIGN_POWER2(unsigned int u) + { + return 1 << ((sizeof(u) * 8) - __builtin_clz(u - 1)); +diff --git a/testsuite/testsuite.c b/testsuite/testsuite.c +index 318343ac..aafc9873 100644 +--- a/testsuite/testsuite.c ++++ b/testsuite/testsuite.c +@@ -70,7 +70,7 @@ static void help(void) + + printf("Usage:\n" + "\t%s [options] \n" +- "Options:\n", basename(progname)); ++ "Options:\n", gnu_basename(progname)); + + for (itr = options, itr_short = options_short; + itr->name != NULL; itr++, itr_short++) +diff --git a/tools/depmod.c b/tools/depmod.c +index 43fc354a..cfb15b11 100644 +--- a/tools/depmod.c ++++ b/tools/depmod.c +@@ -762,7 +762,7 @@ static int cfg_files_insert_sorted(struct cfg_file ***p_files, size_t *p_n_files + if (name != NULL) + namelen = strlen(name); + else { +- name = basename(dir); ++ name = gnu_basename(dir); + namelen = strlen(name); + dirlen -= namelen + 1; + } +diff --git a/tools/kmod.c b/tools/kmod.c +index 55689c07..df91e5c6 100644 +--- a/tools/kmod.c ++++ b/tools/kmod.c +@@ -68,7 +68,7 @@ static int kmod_help(int argc, char *argv[]) + "Options:\n" + "\t-V, --version show version\n" + "\t-h, --help show this help\n\n" +- "Commands:\n", basename(argv[0])); ++ "Commands:\n", gnu_basename(argv[0])); + + for (i = 0; i < ARRAY_SIZE(kmod_cmds); i++) { + if (kmod_cmds[i]->help != NULL) { +@@ -156,7 +156,7 @@ static int handle_kmod_compat_commands(int argc, char *argv[]) + const char *cmd; + size_t i; + +- cmd = basename(argv[0]); ++ cmd = gnu_basename(argv[0]); + + for (i = 0; i < ARRAY_SIZE(kmod_compat_cmds); i++) { + if (streq(kmod_compat_cmds[i]->name, cmd)) diff --git a/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk b/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk index b785a71b6..a43ee57e0 100644 --- a/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk +++ b/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk @@ -6,7 +6,7 @@ # Not possible to directly refer to kodi variables, because of # first/second expansion trickery... -KODI_JSONSCHEMABUILDER_VERSION = 20.4-Nexus +KODI_JSONSCHEMABUILDER_VERSION = 20.5-Nexus KODI_JSONSCHEMABUILDER_SITE = $(call github,xbmc,xbmc,$(KODI_JSONSCHEMABUILDER_VERSION)) KODI_JSONSCHEMABUILDER_SOURCE = kodi-$(KODI_JSONSCHEMABUILDER_VERSION).tar.gz KODI_JSONSCHEMABUILDER_DL_SUBDIR = kodi diff --git a/package/kodi-pvr-hts/kodi-pvr-hts.hash b/package/kodi-pvr-hts/kodi-pvr-hts.hash index a268940b0..2a59b7bbe 100644 --- a/package/kodi-pvr-hts/kodi-pvr-hts.hash +++ b/package/kodi-pvr-hts/kodi-pvr-hts.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 15d68d928e0794fb42fd0f3483403fb0290c5c94aa3d3b648a8a2f8e8316dfff kodi-pvr-hts-20.7.0-Nexus.tar.gz +sha256 244cfc1488aa0c51465af411f3df8884b4a571a08acfa20ac9defdb8ef49022e kodi-pvr-hts-20.7.2-Nexus.tar.gz sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-hts/kodi-pvr-hts.mk b/package/kodi-pvr-hts/kodi-pvr-hts.mk index c56d0e054..ebc31ddbd 100644 --- a/package/kodi-pvr-hts/kodi-pvr-hts.mk +++ b/package/kodi-pvr-hts/kodi-pvr-hts.mk @@ -4,7 +4,7 @@ # ################################################################################ -KODI_PVR_HTS_VERSION = 20.7.0-Nexus +KODI_PVR_HTS_VERSION = 20.7.2-Nexus KODI_PVR_HTS_SITE = $(call github,kodi-pvr,pvr.hts,$(KODI_PVR_HTS_VERSION)) KODI_PVR_HTS_LICENSE = GPL-2.0+ KODI_PVR_HTS_LICENSE_FILES = LICENSE.md diff --git a/package/kodi-texturepacker/kodi-texturepacker.mk b/package/kodi-texturepacker/kodi-texturepacker.mk index 981019301..e640ab3a9 100644 --- a/package/kodi-texturepacker/kodi-texturepacker.mk +++ b/package/kodi-texturepacker/kodi-texturepacker.mk @@ -6,7 +6,7 @@ # Not possible to directly refer to kodi variables, because of # first/second expansion trickery... -KODI_TEXTUREPACKER_VERSION = 20.4-Nexus +KODI_TEXTUREPACKER_VERSION = 20.5-Nexus KODI_TEXTUREPACKER_SITE = $(call github,xbmc,xbmc,$(KODI_TEXTUREPACKER_VERSION)) KODI_TEXTUREPACKER_SOURCE = kodi-$(KODI_TEXTUREPACKER_VERSION).tar.gz KODI_TEXTUREPACKER_DL_SUBDIR = kodi diff --git a/package/kodi/Config.in b/package/kodi/Config.in index 8ad9fdae7..b71f7f140 100644 --- a/package/kodi/Config.in +++ b/package/kodi/Config.in @@ -140,7 +140,7 @@ config BR2_PACKAGE_KODI_BLUEZ select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID help - Enable bluetooth support + Enable bluetooth support comment "bluetooth support needs a toolchain w/ headers >= 3.18" depends on BR2_TOOLCHAIN_HAS_SYNC_4 diff --git a/package/kodi/kodi.hash b/package/kodi/kodi.hash index 7b26778b6..b497ab7dc 100644 --- a/package/kodi/kodi.hash +++ b/package/kodi/kodi.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 ccb2d3e382b5ae628a89db2325f5e778f1770a2a182f6eaa25645a22ccdffb18 kodi-20.4-Nexus.tar.gz +sha256 9bf3257ebf251d20f276b7f90681985a270779150af2fb395d4b593c04002deb kodi-20.5-Nexus.tar.gz sha256 f38c4a4e7a4f4da6d8e83b8852489aa3bb6588a915dc41f5ee89d9aad305a06e kodi-libdvdcss-1.4.3-Next-Nexus-Alpha2-2.tar.gz sha256 584f62a3896794408d46368e2ecf2c6217ab9c676ce85921b2d68b8961f49dfc kodi-libdvdnav-6.1.1-Next-Nexus-Alpha2-2.tar.gz sha256 719130091e3adc9725ba72df808f24a14737a009dca5a4c38c601c0c76449b62 kodi-libdvdread-6.1.3-Next-Nexus-Alpha2-2.tar.gz diff --git a/package/kodi/kodi.mk b/package/kodi/kodi.mk index eebb48238..12a53c8e7 100644 --- a/package/kodi/kodi.mk +++ b/package/kodi/kodi.mk @@ -6,7 +6,7 @@ # When updating the version, please also update kodi-jsonschemabuilder # and kodi-texturepacker -KODI_VERSION_MAJOR = 20.4 +KODI_VERSION_MAJOR = 20.5 KODI_VERSION_NAME = Nexus KODI_VERSION = $(KODI_VERSION_MAJOR)-$(KODI_VERSION_NAME) KODI_SITE = $(call github,xbmc,xbmc,$(KODI_VERSION)) @@ -67,6 +67,7 @@ KODI_EXTRA_DOWNLOADS += \ KODI_CONF_OPTS += \ -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) $(KODI_C_FLAGS)" \ + -DCMAKE_EXE_LINKER_FLAGS="$(KODI_EXTRA_LIBS)" \ -DENABLE_APP_AUTONAME=OFF \ -DENABLE_CCACHE=OFF \ -DENABLE_DVDCSS=ON \ @@ -127,6 +128,7 @@ KODI_CONF_OPTS += -DCORE_PLATFORM_NAME="$(KODI_CORE_PLATFORM_NAME)" ifeq ($(BR2_ENABLE_LOCALE),) KODI_DEPENDENCIES += libiconv +KODI_EXTRA_LIBS += -liconv endif ifeq ($(BR2_arceb)$(BR2_arcle),y) @@ -205,11 +207,6 @@ else KODI_CONF_OPTS += -D_AVX2_OK=OFF -D_AVX2_TRUE=OFF endif -# mips: uses __atomic_load_8 -ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -KODI_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic -endif - ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5),) KODI_C_FLAGS += -std=gnu99 endif diff --git a/package/ksmbd-tools/ksmbd-tools.hash b/package/ksmbd-tools/ksmbd-tools.hash index c3e6ebefe..3367886d5 100644 --- a/package/ksmbd-tools/ksmbd-tools.hash +++ b/package/ksmbd-tools/ksmbd-tools.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ab377b3044c48382303f3f7ec95f2e1a17592c774d70b2a11f32952099dbb214 ksmbd-tools-3.5.1.tar.gz +sha256 5da7fb4cb4368f9abf56f6f9fbc17b25e387876bed9ff7ee0d6f1140ef07c8d7 ksmbd-tools-3.5.2.tar.gz sha256 576540abf5e95029ad4ad90e32071385a5e95b2c30708c706116f3eb87b9a3de COPYING diff --git a/package/ksmbd-tools/ksmbd-tools.mk b/package/ksmbd-tools/ksmbd-tools.mk index c56c6e10b..261eddad7 100644 --- a/package/ksmbd-tools/ksmbd-tools.mk +++ b/package/ksmbd-tools/ksmbd-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -KSMBD_TOOLS_VERSION = 3.5.1 +KSMBD_TOOLS_VERSION = 3.5.2 KSMBD_TOOLS_SITE = https://github.com/cifsd-team/ksmbd-tools/releases/download/$(KSMBD_TOOLS_VERSION) KSMBD_TOOLS_LICENSE = GPL-2.0+ KSMBD_TOOLS_LICENSE_FILES = COPYING diff --git a/package/lbreakout2/Config.in b/package/lbreakout2/Config.in index eeb8a0696..3397df97b 100644 --- a/package/lbreakout2/Config.in +++ b/package/lbreakout2/Config.in @@ -5,9 +5,9 @@ config BR2_PACKAGE_LBREAKOUT2 help LBreakout2 is the successor to LBreakout, a breakout-style arcade game in the manner of Arkanoid. Requires SDL, libpng, - and optionnally SDL_mixer/SDL_net. + and optionally SDL_mixer/SDL_net. A display with minimum 640x480 resolution, a keyboard and a - mouse are recommanded. + mouse are recommended. http://lgames.sourceforge.net/index.php?project=LBreakout2 diff --git a/package/libarchive/0001-Revert-Only-add-iconv-to-the-.pc-file-if-needed-1825.patch b/package/libarchive/0001-Revert-Only-add-iconv-to-the-.pc-file-if-needed-1825.patch index a4dd7dad5..31ac4b0b5 100644 --- a/package/libarchive/0001-Revert-Only-add-iconv-to-the-.pc-file-if-needed-1825.patch +++ b/package/libarchive/0001-Revert-Only-add-iconv-to-the-.pc-file-if-needed-1825.patch @@ -15,7 +15,7 @@ diff --git a/configure.ac b/configure.ac index 93f7af94..204a4e69 100644 --- a/configure.ac +++ b/configure.ac -@@ -434,9 +434,7 @@ if test "x$with_iconv" != "xno"; then +@@ -455,9 +455,7 @@ if test "x$with_iconv" != "xno"; then AC_CHECK_HEADERS([localcharset.h]) am_save_LIBS="$LIBS" LIBS="${LIBS} ${LIBICONV}" diff --git a/package/libarchive/0002-autotools-do-not-add-iconv-for-Requires.private.patch b/package/libarchive/0002-autotools-do-not-add-iconv-for-Requires.private.patch index 338dad46e..a5b4c86a2 100644 --- a/package/libarchive/0002-autotools-do-not-add-iconv-for-Requires.private.patch +++ b/package/libarchive/0002-autotools-do-not-add-iconv-for-Requires.private.patch @@ -17,7 +17,7 @@ diff --git a/configure.ac b/configure.ac index 99bff20d1..f245d0c55 100644 --- a/configure.ac +++ b/configure.ac -@@ -378,7 +378,6 @@ if test "x$with_iconv" != "xno"; then +@@ -455,7 +455,6 @@ if test "x$with_iconv" != "xno"; then AC_CHECK_HEADERS([localcharset.h]) am_save_LIBS="$LIBS" LIBS="${LIBS} ${LIBICONV}" diff --git a/package/libarchive/Config.in b/package/libarchive/Config.in index ffa4cff7b..2c8d813cc 100644 --- a/package/libarchive/Config.in +++ b/package/libarchive/Config.in @@ -30,4 +30,10 @@ config BR2_PACKAGE_LIBARCHIVE_BSDCAT The 'bsdcat' program is a simple replacement tool for zcat, bzcat, xzcat, and such. +config BR2_PACKAGE_LIBARCHIVE_BSDUNZIP + bool "bsdunzip" + help + The 'bsdunzip' program is a simple replacement tool + for Info-ZIP. + endif diff --git a/package/libarchive/libarchive.hash b/package/libarchive/libarchive.hash index 818113585..c0b04b0f4 100644 --- a/package/libarchive/libarchive.hash +++ b/package/libarchive/libarchive.hash @@ -1,4 +1,4 @@ # From https://www.libarchive.de/downloads/sha256sums -sha256 04357661e6717b6941682cde02ad741ae4819c67a260593dfb2431861b251acb libarchive-3.7.2.tar.xz +sha256 879acd83c3399c7caaee73fe5f7418e06087ab2aaf40af3e99b9e29beb29faee libarchive-3.7.7.tar.xz # Locally computed: sha256 b2cdf763345de2de34cebf54394df3c61a105c3b71288603c251f2fa638200ba COPYING diff --git a/package/libarchive/libarchive.mk b/package/libarchive/libarchive.mk index 136f7a9c0..70123ee2b 100644 --- a/package/libarchive/libarchive.mk +++ b/package/libarchive/libarchive.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBARCHIVE_VERSION = 3.7.2 +LIBARCHIVE_VERSION = 3.7.7 LIBARCHIVE_SOURCE = libarchive-$(LIBARCHIVE_VERSION).tar.xz LIBARCHIVE_SITE = https://www.libarchive.de/downloads LIBARCHIVE_INSTALL_STAGING = YES @@ -46,6 +46,16 @@ else LIBARCHIVE_CONF_OPTS += --disable-bsdcat endif +ifeq ($(BR2_PACKAGE_LIBARCHIVE_BSDUNZIP),y) +ifeq ($(BR2_STATIC_LIBS),y) +LIBARCHIVE_CONF_OPTS += --enable-bsdunzip=static +else +LIBARCHIVE_CONF_OPTS += --enable-bsdunzip=shared +endif +else +LIBARCHIVE_CONF_OPTS += --disable-bsdunzip +endif + ifeq ($(BR2_PACKAGE_ACL),y) LIBARCHIVE_DEPENDENCIES += acl else diff --git a/package/libassuan/libassuan.hash b/package/libassuan/libassuan.hash index 084a09848..6bb5022d1 100644 --- a/package/libassuan/libassuan.hash +++ b/package/libassuan/libassuan.hash @@ -1,6 +1,6 @@ # From https://www.gnupg.org/download/integrity_check.html -sha1 b1e8754dbf89b3a3eb175f5df75048dbca1fce57 libassuan-2.5.6.tar.bz2 -sha256 e9fd27218d5394904e4e39788f9b1742711c3e6b41689a31aa3380bd5aa4f426 libassuan-2.5.6.tar.bz2 +sha1 b6ccd955085dac902a09871f94a3d41a7667d0c8 libassuan-2.5.7.tar.bz2 +sha256 0103081ffc27838a2e50479153ca105e873d3d65d8a9593282e9c94c7e6afb76 libassuan-2.5.7.tar.bz2 # Locally calculated sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/package/libassuan/libassuan.mk b/package/libassuan/libassuan.mk index fb95a6fd6..9553c630a 100644 --- a/package/libassuan/libassuan.mk +++ b/package/libassuan/libassuan.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBASSUAN_VERSION = 2.5.6 +LIBASSUAN_VERSION = 2.5.7 LIBASSUAN_SITE = https://gnupg.org/ftp/gcrypt/libassuan LIBASSUAN_SOURCE = libassuan-$(LIBASSUAN_VERSION).tar.bz2 LIBASSUAN_LICENSE = LGPL-2.1+ (library), GPL-3.0 (tests, doc) diff --git a/package/libblockdev/libblockdev.hash b/package/libblockdev/libblockdev.hash index 79700a499..1438fad74 100644 --- a/package/libblockdev/libblockdev.hash +++ b/package/libblockdev/libblockdev.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 41e4af66c9d78e795302d37825dfd88a4970f82da7b4ebe6487feba2afae44fb libblockdev-3.1.0.tar.gz +sha256 a5cb33a53ff5969067982704f45399d02555fdb2313ed0c56eac9555397dc2db libblockdev-3.1.1.tar.gz sha256 97bdc721d875501b6243a456333fdfdb1ab64d31c4da2554de845caf4674b946 LICENSE diff --git a/package/libblockdev/libblockdev.mk b/package/libblockdev/libblockdev.mk index ebf01acfb..9ffa15a7a 100644 --- a/package/libblockdev/libblockdev.mk +++ b/package/libblockdev/libblockdev.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBBLOCKDEV_VERSION = 3.1.0 +LIBBLOCKDEV_VERSION = 3.1.1 LIBBLOCKDEV_SITE = https://github.com/storaged-project/libblockdev/releases/download/$(LIBBLOCKDEV_VERSION)-1 LIBBLOCKDEV_LICENSE = LGPL-2.1 LIBBLOCKDEV_LICENSE_FILES = LICENSE diff --git a/package/libbsd/Config.in b/package/libbsd/Config.in index 9f4b30f68..fd05a2a20 100644 --- a/package/libbsd/Config.in +++ b/package/libbsd/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS default y # libbsd does not support those architectures (see src/local-elf.h) depends on !BR2_microblaze - depends on !BR2_arc depends on !BR2_xtensa config BR2_PACKAGE_LIBBSD diff --git a/package/libcddb/Config.in b/package/libcddb/Config.in index f2bb82782..71797a271 100644 --- a/package/libcddb/Config.in +++ b/package/libcddb/Config.in @@ -15,6 +15,6 @@ if BR2_PACKAGE_LIBCDDB config BR2_PACKAGE_LIBCDDB_INSTALL_CDDB_QUERY bool "install cddb_query" help - cddb_query is an optionnal libcddb test program. + cddb_query is an optional libcddb test program. endif diff --git a/package/libcoap/Config.in b/package/libcoap/Config.in index 6e0c1905b..2bd6b742e 100644 --- a/package/libcoap/Config.in +++ b/package/libcoap/Config.in @@ -1,11 +1,13 @@ config BR2_PACKAGE_LIBCOAP bool "libcoap" + select BR2_PACKAGE_LIBOPENSSL_ENABLE_PSK if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENGINES if BR2_PACKAGE_LIBOPENSSL help libcoap is a C implementation of a lightweight application-protocol for devices that are constrained their - resources such as computing power, RF range, memory, bandwith, - or network packet sizes. This protocol, CoAP, is standardized - by the IETF as RFC 7252. For further information related to - CoAP, see . + resources such as computing power, RF range, memory, + bandwidth, or network packet sizes. This protocol, CoAP, is + standardized by the IETF as RFC 7252. For further + information related to CoAP, see . https://github.com/obgm/libcoap diff --git a/package/libcuefile/0002-libcuefile-fedora-c99.patch b/package/libcuefile/0002-libcuefile-fedora-c99.patch new file mode 100644 index 000000000..3f76dd315 --- /dev/null +++ b/package/libcuefile/0002-libcuefile-fedora-c99.patch @@ -0,0 +1,27 @@ +From 7dd8752f5aa2dccbaccb4c28a23f659df3bc0d19 Mon Sep 17 00:00:00 2001 +From: DJ Delorie +Date: Thu, 27 Apr 2023 17:24:58 -0400 +Subject: [PATCH] Fix C99 compatibility issue + +Related to: + + + + +See Also https://bugzilla.redhat.com/show_bug.cgi?id=2190307 +Signed-off-by: DJ Delorie +Signed-off-by: Dario Binacchi +Upstream: https://src.fedoraproject.org/rpms/libcuefile/blob/7dd8752f5aa2dccbaccb4c28a23f659df3bc0d19/f/libcuefile-fedora-c99.patch +--- +diff -rup a/src/cue_parse.c b/src/cue_parse.c +--- a/src/cue_parse.c 2011-06-18 07:28:43.000000000 -0400 ++++ b/src/cue_parse.c 2023-04-27 16:10:13.314263314 -0400 +@@ -1513,6 +1513,8 @@ void yyerror (char *s) + fprintf(stderr, "%d: %s\n", cue_lineno, s); + } + ++void cue_delete_buffer(void); ++ + Cd *cue_parse (FILE *fp) + { + cue_yyin = fp; diff --git a/package/libcurl/0001-configure.ac-find-libpsl-with-pkg-config.patch b/package/libcurl/0001-configure.ac-find-libpsl-with-pkg-config.patch deleted file mode 100644 index 46df1e36a..000000000 --- a/package/libcurl/0001-configure.ac-find-libpsl-with-pkg-config.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 9b3f67e267d1fa8d7867655d133bdbf8830a0ab3 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Thu, 15 Feb 2024 20:59:25 +0100 -Subject: [PATCH] configure.ac: find libpsl with pkg-config - -Find libpsl with pkg-config to avoid static build failures. - -Ref: http://autobuild.buildroot.org/results/1fb15e1a99472c403d0d3b1a688902f32e78d002 - -Signed-off-by: Fabrice Fontaine -Closes #12947 - -Upstream: https://github.com/curl/curl/commit/9b3f67e267d1fa8d7867655d133bdbf8830a0ab3 ---- - configure.ac | 79 ++++++++++++++++++++++++++++++++++++++++++++-------- - docs/TODO | 7 ----- - 2 files changed, 67 insertions(+), 19 deletions(-) - -diff --git a/configure.ac b/configure.ac -index cd0e2d07d8d164..09d5364f4de575 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2075,19 +2075,74 @@ dnl ********************************************************************** - dnl Check for libpsl - dnl ********************************************************************** - --AC_ARG_WITH(libpsl, -- AS_HELP_STRING([--without-libpsl], -- [disable support for libpsl]), -- with_libpsl=$withval, -- with_libpsl=yes) --curl_psl_msg="no (libpsl disabled)" --if test $with_libpsl != "no"; then -- AC_SEARCH_LIBS(psl_builtin, psl, -- [curl_psl_msg="enabled"; -- AC_DEFINE([USE_LIBPSL], [1], [PSL support enabled]) -- ], -- [AC_MSG_ERROR([libpsl was not found]) ] -+dnl Default to compiler & linker defaults for LIBPSL files & libraries. -+OPT_LIBPSL=off -+AC_ARG_WITH(libpsl,dnl -+AS_HELP_STRING([--with-libpsl=PATH],[Where to look for libpsl, PATH points to the LIBPSL installation; when possible, set the PKG_CONFIG_PATH environment variable instead of using this option]) -+AS_HELP_STRING([--without-libpsl], [disable LIBPSL]), -+ OPT_LIBPSL=$withval) -+ -+if test X"$OPT_LIBPSL" != Xno; then -+ dnl backup the pre-libpsl variables -+ CLEANLDFLAGS="$LDFLAGS" -+ CLEANCPPFLAGS="$CPPFLAGS" -+ CLEANLIBS="$LIBS" -+ -+ case "$OPT_LIBPSL" in -+ yes) -+ dnl --with-libpsl (without path) used -+ CURL_CHECK_PKGCONFIG(libpsl) -+ -+ if test "$PKGCONFIG" != "no" ; then -+ LIB_PSL=`$PKGCONFIG --libs-only-l libpsl` -+ LD_PSL=`$PKGCONFIG --libs-only-L libpsl` -+ CPP_PSL=`$PKGCONFIG --cflags-only-I libpsl` -+ else -+ dnl no libpsl pkg-config found -+ LIB_PSL="-lpsl" -+ fi -+ -+ ;; -+ off) -+ dnl no --with-libpsl option given, just check default places -+ LIB_PSL="-lpsl" -+ ;; -+ *) -+ dnl use the given --with-libpsl spot -+ LIB_PSL="-lpsl" -+ PREFIX_PSL=$OPT_LIBPSL -+ ;; -+ esac -+ -+ dnl if given with a prefix, we set -L and -I based on that -+ if test -n "$PREFIX_PSL"; then -+ LD_PSL=-L${PREFIX_PSL}/lib$libsuff -+ CPP_PSL=-I${PREFIX_PSL}/include -+ fi -+ -+ LDFLAGS="$LDFLAGS $LD_PSL" -+ CPPFLAGS="$CPPFLAGS $CPP_PSL" -+ LIBS="$LIB_PSL $LIBS" -+ -+ AC_CHECK_LIB(psl, psl_builtin, -+ [ -+ AC_CHECK_HEADERS(libpsl.h, -+ curl_psl_msg="enabled" -+ LIBPSL_ENABLED=1 -+ AC_DEFINE(USE_LIBPSL, 1, [if libpsl is in use]) -+ AC_SUBST(USE_LIBPSL, [1]) -+ ) -+ ], -+ dnl not found, revert back to clean variables -+ LDFLAGS=$CLEANLDFLAGS -+ CPPFLAGS=$CLEANCPPFLAGS -+ LIBS=$CLEANLIBS - ) -+ -+ if test X"$OPT_LIBPSL" != Xoff && -+ test "$LIBPSL_ENABLED" != "1"; then -+ AC_MSG_ERROR([libpsl libs and/or directories were not found where specified!]) -+ fi - fi - AM_CONDITIONAL([USE_LIBPSL], [test "$curl_psl_msg" = "enabled"]) - diff --git a/package/libcurl/libcurl.hash b/package/libcurl/libcurl.hash index 1f3dce0fd..4a26a1774 100644 --- a/package/libcurl/libcurl.hash +++ b/package/libcurl/libcurl.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://curl.se/download/curl-8.6.0.tar.xz.asc +# https://curl.se/download/curl-8.12.1.tar.xz.asc # signed with key 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 -sha256 3ccd55d91af9516539df80625f818c734dc6f2ecf9bada33c76765e99121db15 curl-8.6.0.tar.xz -sha256 adb1fc06547fd136244179809f7b7c2d2ae6c4534f160aa513af9b6a12866a32 COPYING +sha256 0341f1ed97a26c811abaebd37d62b833956792b7607ea3f15d001613c76de202 curl-8.12.1.tar.xz +sha256 e18f1989333b70044b2adfb7dc2f905d0119dbdcac3bc9f4bc9d540e3a29de5b COPYING diff --git a/package/libcurl/libcurl.mk b/package/libcurl/libcurl.mk index 4281cfabb..2066ba038 100644 --- a/package/libcurl/libcurl.mk +++ b/package/libcurl/libcurl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCURL_VERSION = 8.6.0 +LIBCURL_VERSION = 8.12.1 LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.xz LIBCURL_SITE = https://curl.se/download LIBCURL_DEPENDENCIES = host-pkgconf \ @@ -14,8 +14,6 @@ LIBCURL_LICENSE = curl LIBCURL_LICENSE_FILES = COPYING LIBCURL_CPE_ID_VENDOR = haxx LIBCURL_INSTALL_STAGING = YES -# 0001-configure.ac-find-libpsl-with-pkg-config.patch -LIBCURL_AUTORECONF = YES # We disable NTLM delegation to winbinds ntlm_auth ('--disable-ntlm-wb') # support because it uses fork(), which doesn't work on non-MMU platforms. @@ -34,6 +32,10 @@ LIBCURL_CONF_OPTS = \ --disable-ldap \ --disable-ldaps +# Only affects Nest products. +# https://nvd.nist.gov/vuln/detail/CVE-2024-32928 +LIBCURL_IGNORE_CVES += CVE-2024-32928 + ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) LIBCURL_CONF_OPTS += --enable-threaded-resolver else @@ -192,11 +194,6 @@ LIBCURL_CONF_OPTS += \ --disable-tftp endif -define LIBCURL_FIX_DOT_PC - printf 'Requires: openssl\n' >>$(@D)/libcurl.pc.in -endef -LIBCURL_POST_PATCH_HOOKS += $(if $(BR2_PACKAGE_LIBCURL_OPENSSL),LIBCURL_FIX_DOT_PC) - ifeq ($(BR2_PACKAGE_LIBCURL_CURL),) define LIBCURL_TARGET_CLEANUP rm -rf $(TARGET_DIR)/usr/bin/curl diff --git a/package/libdrm/Config.in b/package/libdrm/Config.in index 3cb0e02a4..fab8289be 100644 --- a/package/libdrm/Config.in +++ b/package/libdrm/Config.in @@ -20,7 +20,6 @@ config BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC config BR2_PACKAGE_LIBDRM_INTEL bool "intel" - depends on BR2_i386 || BR2_x86_64 depends on BR2_PACKAGE_LIBDRM_HAS_ATOMIC select BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC select BR2_PACKAGE_LIBPCIACCESS diff --git a/package/libdrm/libdrm.mk b/package/libdrm/libdrm.mk index 61d1c2437..e0c1217b3 100644 --- a/package/libdrm/libdrm.mk +++ b/package/libdrm/libdrm.mk @@ -108,10 +108,12 @@ LIBDRM_CONF_OPTS += -Dvalgrind=disabled endif ifeq ($(BR2_PACKAGE_LIBDRM_INSTALL_TESTS),y) -LIBDRM_CONF_OPTS += -Dinstall-test-programs=true +LIBDRM_CONF_OPTS += -Dtests=true -Dinstall-test-programs=true ifeq ($(BR2_PACKAGE_CUNIT),y) LIBDRM_DEPENDENCIES += cunit endif +else +LIBDRM_CONF_OPTS += -Dtests=false endif $(eval $(meson-package)) diff --git a/package/libedit/libedit.mk b/package/libedit/libedit.mk index 576a16317..d66232917 100644 --- a/package/libedit/libedit.mk +++ b/package/libedit/libedit.mk @@ -10,6 +10,7 @@ LIBEDIT_INSTALL_STAGING = YES LIBEDIT_DEPENDENCIES = ncurses LIBEDIT_LICENSE = BSD-3-Clause LIBEDIT_LICENSE_FILES = COPYING +LIBEDIT_CPE_ID_VALID = YES # We're patching configure.ac LIBEDIT_AUTORECONF = YES diff --git a/package/libee/Config.in b/package/libee/Config.in index 9a3411ef2..f7dd821bc 100644 --- a/package/libee/Config.in +++ b/package/libee/Config.in @@ -13,7 +13,7 @@ config BR2_PACKAGE_LIBEE convenient API layer above the CEE standard. However, CEE is not finished. At the time of this writing, CEE is under heavy development and even some of its core data structures - (like the data dictionary and taxonmy) have not been fully + (like the data dictionary and taxonomy) have not been fully specified. http://www.libee.org diff --git a/package/libest/0001-package-libest-fix-error-implicit-declaration-of-fun.patch b/package/libest/0001-package-libest-fix-error-implicit-declaration-of-fun.patch new file mode 100644 index 000000000..6fd952170 --- /dev/null +++ b/package/libest/0001-package-libest-fix-error-implicit-declaration-of-fun.patch @@ -0,0 +1,64 @@ +From 28c65fd9dff2f30438b98f0b71f387468259a2c3 Mon Sep 17 00:00:00 2001 +From: Aleksandr Makarov +Date: Fri, 12 Jul 2024 21:07:10 +0300 +Subject: [PATCH] =?UTF-8?q?package/libest:=20fix=20error:=20implicit?= + =?UTF-8?q?=20declaration=20of=20function=20=E2=80=98ERR=5Ferror=5Fstring?= + =?UTF-8?q?=E2=80=99?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Added necessary header includes to fix 'implicit declaration' errors which occur when +using -Wimplicit-function-declaration flag. + +Upstream: https://github.com/cisco/libest/pull/132 +Signed-off-by: Aleksandr Makarov +--- + src/est/est.c | 4 +++- + src/est/est_client.c | 1 + + src/est/est_server_http.c | 2 ++ + 3 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/src/est/est.c b/src/est/est.c +index 8a65f87..24474c0 100644 +--- a/src/est/est.c ++++ b/src/est/est.c +@@ -42,7 +42,9 @@ + #include + #endif /* DISABLE_BACKTRACE*/ + #endif /* WIN32*/ +- ++#include ++#include ++#include + #ifndef ENABLE_CLIENT_ONLY + static char hex_chpw[] = {0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, + 0xF7, 0x0D, 0x01, 0x09, 0x07}; +diff --git a/src/est/est_client.c b/src/est/est_client.c +index 8dff9d9..5c25d4f 100644 +--- a/src/est/est_client.c ++++ b/src/est/est_client.c +@@ -40,6 +40,7 @@ + #include + #include + #include ++#include + #include "est.h" + #include "est_locl.h" + #include "est_ossl_util.h" +diff --git a/src/est/est_server_http.c b/src/est/est_server_http.c +index 2bd08d5..ce1cece 100644 +--- a/src/est/est_server_http.c ++++ b/src/est/est_server_http.c +@@ -42,6 +42,8 @@ + #include + #include + #include ++#include ++#include + #if defined(_WIN32) + #define _CRT_SECURE_NO_WARNINGS // Disable deprecation warning in VS2005 + #else +-- +2.40.1 + diff --git a/package/libest/0002-package-libest-Add-OpenSSL-3.0-compatibility.patch b/package/libest/0002-package-libest-Add-OpenSSL-3.0-compatibility.patch new file mode 100644 index 000000000..a4c74e424 --- /dev/null +++ b/package/libest/0002-package-libest-Add-OpenSSL-3.0-compatibility.patch @@ -0,0 +1,225 @@ +From ad5ce7ff1cae92c151dc6f350ef943106ddd852f Mon Sep 17 00:00:00 2001 +From: Aleksandr Makarov +Date: Fri, 12 Jul 2024 21:07:36 +0300 +Subject: [PATCH] package/libest: Add OpenSSL 3.0 compatibility + +The functions `FIPS_mode` and `FIPS_mode_set` are deprecated in OpenSSL 3.0, replaced by +`EVP_default_properties_is_fips_enabled` and `EVP_default_properties_enable_fips` respectively. + +This commit introduces wrappers for these new EVP APIs to maintain compatibility with OpenSSL 3.0, +while ensuring continued support for older versions of OpenSSL. + +- Implemented `is_fips_enabled` wrapper around `EVP_default_properties_is_fips_enabled` +- Implemented `enable_fips` wrapper around `EVP_default_properties_enable_fips` +- Added conditional compilation to support both new and legacy OpenSSL versions + +Upstream: https://github.com/cisco/libest/pull/132 +Signed-off-by: Aleksandr Makarov +--- + example/client-brski/estclient-brski.c | 2 +- + example/client/estclient.c | 2 +- + example/proxy/estproxy.c | 2 +- + example/server/estserver.c | 2 +- + java/jni/client.c | 2 +- + src/est/est_client.c | 12 ++++++------ + src/est/est_ossl_util.c | 18 ++++++++++++++++++ + src/est/est_ossl_util.h | 2 ++ + src/est/est_server.c | 2 +- + test/UT/US1864/us1864.c | 4 ++-- + 10 files changed, 34 insertions(+), 14 deletions(-) + +diff --git a/example/client-brski/estclient-brski.c b/example/client-brski/estclient-brski.c +index 9e63af5..6e03052 100644 +--- a/example/client-brski/estclient-brski.c ++++ b/example/client-brski/estclient-brski.c +@@ -388,7 +388,7 @@ int main (int argc, char **argv) + break; + case 'f': + /* Turn FIPS on if requested and exit if failure */ +- set_fips_return = FIPS_mode_set(1); ++ set_fips_return = est_enable_fips(1); + if (!set_fips_return) { + printf("\nERROR setting FIPS MODE ON ...\n"); + ERR_load_crypto_strings(); +diff --git a/example/client/estclient.c b/example/client/estclient.c +index a8a2d6f..75b1272 100644 +--- a/example/client/estclient.c ++++ b/example/client/estclient.c +@@ -1280,7 +1280,7 @@ int main (int argc, char **argv) + break; + case 'f': + /* Turn FIPS on if requested and exit if failure */ +- set_fips_return = FIPS_mode_set(1); ++ set_fips_return = est_enable_fips(1); + if (!set_fips_return) { + printf("\nERROR setting FIPS MODE ON ...\n"); + ERR_load_crypto_strings(); +diff --git a/example/proxy/estproxy.c b/example/proxy/estproxy.c +index 114bd65..6dbdbda 100644 +--- a/example/proxy/estproxy.c ++++ b/example/proxy/estproxy.c +@@ -593,7 +593,7 @@ int main (int argc, char **argv) + /* + * Turn FIPS on if user requested it and exit if failure + */ +- set_fips_return = FIPS_mode_set(1); ++ set_fips_return = est_enable_fips(1); + if (set_fips_return != 1) { + set_fips_error = ERR_get_error(); + printf("\nERROR WHILE SETTING FIPS MODE ON exiting ....\n"); +diff --git a/example/server/estserver.c b/example/server/estserver.c +index 3539dc4..90886cf 100644 +--- a/example/server/estserver.c ++++ b/example/server/estserver.c +@@ -2285,7 +2285,7 @@ int main (int argc, char **argv) + /* turn FIPS on if user requested it + * and exit if failure. + */ +- set_fips_return = FIPS_mode_set(1); ++ set_fips_return = est_enable_fips(1); + if (set_fips_return != 1) { + set_fips_error = ERR_get_error(); + printf("\nERROR WHILE SETTING FIPS MODE ON exiting ....\n"); +diff --git a/java/jni/client.c b/java/jni/client.c +index c5bc28e..f58d5c0 100644 +--- a/java/jni/client.c ++++ b/java/jni/client.c +@@ -179,7 +179,7 @@ static int jni_est_client_X509_REQ_sign (X509_REQ *x, EVP_PKEY *pkey, const EVP_ + */ + JNIEXPORT jint JNICALL Java_com_cisco_c3m_est_ESTClient_enable_1fips( + JNIEnv *env, jclass obj) { +- if (!FIPS_mode() && !FIPS_mode_set(1)) { ++ if (!est_is_fips_enabled() && !est_enable_fips(1)) { + ERR_print_errors_fp(stderr); + return -1; + } else { +diff --git a/src/est/est_client.c b/src/est/est_client.c +index 5c25d4f..63069af 100644 +--- a/src/est/est_client.c ++++ b/src/est/est_client.c +@@ -3183,7 +3183,7 @@ EST_ERROR est_client_enroll_internal (EST_CTX *ctx, char *cn, int *pkcs7_len, in + * HTTPS digest mode requires the use of MD5. Make sure we're not + * in FIPS mode and can use MD5 + */ +- if (ctx->auth_mode == AUTH_DIGEST && (FIPS_mode())){ ++ if (ctx->auth_mode == AUTH_DIGEST && (est_is_fips_enabled())){ + EST_LOG_ERR("HTTP digest auth not allowed while in FIPS mode"); + rv = EST_ERR_BAD_MODE; + goto err; +@@ -3594,7 +3594,7 @@ EST_ERROR est_client_reenroll (EST_CTX *ctx, X509 *cert, int *pkcs7_len, EVP_PKE + * HTTPS digest mode requires the use of MD5. Make sure we're not + * in FIPS mode and can use MD5 + */ +- if (ctx->auth_mode == AUTH_DIGEST && (FIPS_mode())){ ++ if (ctx->auth_mode == AUTH_DIGEST && (est_is_fips_enabled())){ + EST_LOG_ERR("HTTP digest auth not allowed while in FIPS mode"); + rv = EST_ERR_BAD_MODE; + goto err; +@@ -3680,7 +3680,7 @@ static EST_ERROR est_client_enroll_csr_internal (EST_CTX *ctx, X509_REQ *csr, in + * HTTPS digest mode requires the use of MD5. Make sure we're not + * in FIPS mode and can use MD5 + */ +- if (ctx->auth_mode == AUTH_DIGEST && (FIPS_mode())){ ++ if (ctx->auth_mode == AUTH_DIGEST && (est_is_fips_enabled())){ + EST_LOG_ERR("HTTP digest auth not allowed while in FIPS mode"); + rv = EST_ERR_BAD_MODE; + goto err; +@@ -5872,7 +5872,7 @@ static EST_ERROR est_client_brski_send_get_voucher (EST_CTX *ctx, int *cacert_le + * HTTPS digest mode requires the use of MD5. Make sure we're not + * in FIPS mode and can use MD5 + */ +- if (ctx->auth_mode == AUTH_DIGEST && (FIPS_mode())){ ++ if (ctx->auth_mode == AUTH_DIGEST && (est_is_fips_enabled())){ + EST_LOG_ERR("HTTP digest auth not allowed while in FIPS mode"); + rv = EST_ERR_BAD_MODE; + goto err; +@@ -6366,7 +6366,7 @@ EST_ERROR est_client_brski_send_voucher_status (EST_CTX *ctx, EST_BRSKI_STATUS_V + * HTTPS digest mode requires the use of MD5. Make sure we're not + * in FIPS mode and can use MD5 + */ +- if (ctx->auth_mode == AUTH_DIGEST && (FIPS_mode())){ ++ if (ctx->auth_mode == AUTH_DIGEST && (est_is_fips_enabled())){ + EST_LOG_ERR("HTTP digest auth not allowed while in FIPS mode"); + rv = EST_ERR_BAD_MODE; + goto err; +@@ -6535,7 +6535,7 @@ EST_ERROR est_client_brski_send_enroll_status (EST_CTX *ctx, EST_BRSKI_STATUS_VA + * HTTPS digest mode requires the use of MD5. Make sure we're not + * in FIPS mode and can use MD5 + */ +- if (ctx->auth_mode == AUTH_DIGEST && (FIPS_mode())){ ++ if (ctx->auth_mode == AUTH_DIGEST && (est_is_fips_enabled())){ + EST_LOG_ERR("HTTP digest auth not allowed while in FIPS mode"); + rv = EST_ERR_BAD_MODE; + goto err; +diff --git a/src/est/est_ossl_util.c b/src/est/est_ossl_util.c +index daa54f2..0887daa 100644 +--- a/src/est/est_ossl_util.c ++++ b/src/est/est_ossl_util.c +@@ -500,3 +500,21 @@ char *est_find_ser_num_in_subj(X509 *cert) + return(ser_num_str); + } + #endif ++ ++int est_is_fips_enabled() ++{ ++#if OPENSSL_VERSION_NUMBER >= 0x30000000L ++ return EVP_default_properties_is_fips_enabled(NULL); ++#else ++ return FIPS_mode(); ++#endif ++} ++ ++int est_enable_fips(int enable) ++{ ++#if OPENSSL_VERSION_NUMBER >= 0x30000000L ++ return EVP_default_properties_enable_fips(NULL, enable); ++#else ++ return FIPS_mode_set(enable); ++#endif ++} +diff --git a/src/est/est_ossl_util.h b/src/est/est_ossl_util.h +index 68ad290..2389e45 100644 +--- a/src/est/est_ossl_util.h ++++ b/src/est/est_ossl_util.h +@@ -44,4 +44,6 @@ LIBEST_TEST_API void ossl_dump_ssl_errors(void); + EST_ERROR ossl_init_cert_store(X509_STORE *store, + unsigned char *raw1, int size1); + ++int est_is_fips_enabled(); ++int est_enable_fips(int); + #endif +diff --git a/src/est/est_server.c b/src/est/est_server.c +index d047b48..979ae53 100644 +--- a/src/est/est_server.c ++++ b/src/est/est_server.c +@@ -3355,7 +3355,7 @@ EST_ERROR est_server_set_auth_mode (EST_CTX *ctx, EST_HTTP_AUTH_MODE amode) + /* + * Since HTTP digest auth uses MD5, make sure we're not in FIPS mode. + */ +- if (FIPS_mode()) { ++ if (est_is_fips_enabled()) { + EST_LOG_ERR("HTTP digest auth not allowed while in FIPS mode"); + return (EST_ERR_BAD_MODE); + } +diff --git a/test/UT/US1864/us1864.c b/test/UT/US1864/us1864.c +index 3e41cd7..1f57494 100644 +--- a/test/UT/US1864/us1864.c ++++ b/test/UT/US1864/us1864.c +@@ -218,12 +218,12 @@ static void us1864_test1 (void) + /* + * Make sure we don't allow DIGEST mode when in FIPS mode + */ +- if (!FIPS_mode_set(1)) { ++ if (!est_enable_fips(1)) { + printf("FIPS mode not supported, skipping test to prevent digest auth when in FIPS mode"); + } else { + est_rv = est_server_set_auth_mode(ctx, AUTH_DIGEST); + CU_ASSERT(est_rv == EST_ERR_BAD_MODE); +- FIPS_mode_set(0); ++ est_enable_fips(0); + } + + X509_free(x); +-- +2.40.1 + diff --git a/package/libev/libev.mk b/package/libev/libev.mk index cbd5433d7..80832d0c1 100644 --- a/package/libev/libev.mk +++ b/package/libev/libev.mk @@ -12,7 +12,7 @@ LIBEV_LICENSE_FILES = LICENSE # libev has some assembly function that is not present in Thumb mode: # Error: selected processor does not support `mcr p15,0,r3,c7,c10,5' in Thumb mode -# so, we desactivate Thumb mode +# so, we deactivate Thumb mode ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) LIBEV_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm" endif diff --git a/package/libffi/0004-Forward-declare-open_temp_exec_file-764.patch b/package/libffi/0004-Forward-declare-open_temp_exec_file-764.patch new file mode 100644 index 000000000..341a2e4e4 --- /dev/null +++ b/package/libffi/0004-Forward-declare-open_temp_exec_file-764.patch @@ -0,0 +1,49 @@ +From ce077e5565366171aa1b4438749b0922fce887a4 Mon Sep 17 00:00:00 2001 +From: serge-sans-paille +Date: Thu, 2 Feb 2023 14:46:29 +0000 +Subject: [PATCH] Forward declare open_temp_exec_file (#764) + +It's defined in closures.c and used in tramp.c. +Also declare it as an hidden symbol, as it should be. + +Co-authored-by: serge-sans-paille +Upstream: https://github.com/libffi/libffi/pull/764 +Signed-off-by: Roy Kollen Svendsen +--- + include/ffi_common.h | 4 ++++ + src/tramp.c | 4 ++++ + 2 files changed, 8 insertions(+) + +diff --git a/include/ffi_common.h b/include/ffi_common.h +index 2bd31b0..c53a794 100644 +--- a/include/ffi_common.h ++++ b/include/ffi_common.h +@@ -128,6 +128,10 @@ void *ffi_data_to_code_pointer (void *data) FFI_HIDDEN; + static trampoline. */ + int ffi_tramp_is_present (void *closure) FFI_HIDDEN; + ++/* Return a file descriptor of a temporary zero-sized file in a ++ writable and executable filesystem. */ ++int open_temp_exec_file(void) FFI_HIDDEN; ++ + /* Extended cif, used in callback from assembly routine */ + typedef struct + { +diff --git a/src/tramp.c b/src/tramp.c +index 7e005b0..5f19b55 100644 +--- a/src/tramp.c ++++ b/src/tramp.c +@@ -39,6 +39,10 @@ + #ifdef __linux__ + #define _GNU_SOURCE 1 + #endif ++ ++#include ++#include ++ + #include + #include + #include +-- +2.45.1 + diff --git a/package/libfreeglut/Config.in b/package/libfreeglut/Config.in index ccb2d5cdd..a3e20fd50 100644 --- a/package/libfreeglut/Config.in +++ b/package/libfreeglut/Config.in @@ -11,7 +11,7 @@ config BR2_PACKAGE_LIBFREEGLUT OpenGL Utility Toolkit (GLUT) library. GLUT (and hence FreeGLUT) takes care of all the system-specific chores required for creating windows, initializing OpenGL contexts, - and handling input events, to allow for trully portable OpenGL + and handling input events, to allow for truly portable OpenGL programs. http://freeglut.sourceforge.net diff --git a/package/libftdi/libftdi.mk b/package/libftdi/libftdi.mk index 257342622..2cd2fa7e4 100644 --- a/package/libftdi/libftdi.mk +++ b/package/libftdi/libftdi.mk @@ -16,7 +16,7 @@ LIBFTDI_AUTORECONF = YES LIBFTDI_CONF_OPTS = --without-examples -# configure detect it automaticaly so we need to force it +# configure detect it automatically so we need to force it ifeq ($(BR2_PACKAGE_LIBFTDI_CPP),y) LIBFTDI_LICENSE += , GPL-2.0 with exception (ftdipp) LIBFTDI_LICENSE_FILES += COPYING.GPL diff --git a/package/libgeos/libgeos.hash b/package/libgeos/libgeos.hash index 37fe7d6d2..362f1c10b 100644 --- a/package/libgeos/libgeos.hash +++ b/package/libgeos/libgeos.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 d6ea7e492224b51193e8244fe3ec17c4d44d0777f3c32ca4fb171140549a0d03 geos-3.12.1.tar.bz2 +sha256 34c7770bf0090ee88488af98767d08e779f124fa33437e0aabec8abd4609fec6 geos-3.12.2.tar.bz2 sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libgeos/libgeos.mk b/package/libgeos/libgeos.mk index 491168324..05b74b60a 100644 --- a/package/libgeos/libgeos.mk +++ b/package/libgeos/libgeos.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGEOS_VERSION = 3.12.1 +LIBGEOS_VERSION = 3.12.2 LIBGEOS_SITE = http://download.osgeo.org/geos LIBGEOS_SOURCE = geos-$(LIBGEOS_VERSION).tar.bz2 LIBGEOS_LICENSE = LGPL-2.1 diff --git a/package/libgeotiff/Config.in b/package/libgeotiff/Config.in index 7ed296fb2..f07c99436 100644 --- a/package/libgeotiff/Config.in +++ b/package/libgeotiff/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_LIBGEOTIFF bool "libgeotiff" depends on BR2_INSTALL_LIBSTDCPP # proj depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # proj - depends on BR2_TOOLCHAIN_HAS_THREADS # proj + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # proj depends on BR2_USE_WCHAR # proj select BR2_PACKAGE_PROJ select BR2_PACKAGE_TIFF @@ -12,7 +12,7 @@ config BR2_PACKAGE_LIBGEOTIFF https://github.com/OSGeo/libgeotiff -comment "libgeotiff needs a toolchain w/ C++, gcc >= 4.7, threads, wchar" +comment "libgeotiff needs a toolchain w/ C++, gcc >= 4.7, NPTL, wchar" depends on !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || \ - !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR diff --git a/package/libgit2/libgit2.hash b/package/libgit2/libgit2.hash index 76d599b81..022fb35a9 100644 --- a/package/libgit2/libgit2.hash +++ b/package/libgit2/libgit2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 17d2b292f21be3892b704dddff29327b3564f96099a1c53b00edc23160c71327 libgit2-1.7.1.tar.gz +sha256 de384e29d7efc9330c6cdb126ebf88342b5025d920dcb7c645defad85195ea7f libgit2-1.7.2.tar.gz sha256 6f3c2cd59b057e366c1acc073b038135c52d77892bb33bd4d931c5369d3f062b COPYING diff --git a/package/libgit2/libgit2.mk b/package/libgit2/libgit2.mk index 46ccc1e51..498b66580 100644 --- a/package/libgit2/libgit2.mk +++ b/package/libgit2/libgit2.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGIT2_VERSION = 1.7.1 +LIBGIT2_VERSION = 1.7.2 LIBGIT2_SITE = $(call github,libgit2,libgit2,v$(LIBGIT2_VERSION)) LIBGIT2_LICENSE = \ GPL-2.0 with linking exception, \ diff --git a/package/libglib2/0006-link-with-latomic-when-needed.patch b/package/libglib2/0006-link-with-latomic-when-needed.patch new file mode 100644 index 000000000..3b5a07101 --- /dev/null +++ b/package/libglib2/0006-link-with-latomic-when-needed.patch @@ -0,0 +1,52 @@ +From 4e6dc4dee0e1c6407113597180d9616b4f275f94 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 2 May 2024 14:02:17 +0200 +Subject: [PATCH] link with -latomic when needed + +Some architecture such as sparc and some flavors of arm needs -latomic +to avoid the following build failure: + +gthread-posix.c:(.text+0xda8): undefined reference to `__atomic_compare_exchange_4' + +Signed-off-by: Fabrice Fontaine +Upstream: https://gitlab.gnome.org/GNOME/glib/-/commit/4e6dc4dee0e1c6407113597180d9616b4f275f94 +--- + glib/meson.build | 1 + + meson.build | 9 +++++++++ + 2 files changed, 10 insertions(+) + +diff --git a/glib/meson.build b/glib/meson.build +index 24cbb664d4..b2dd569e1e 100644 +--- a/glib/meson.build ++++ b/glib/meson.build +@@ -419,6 +419,7 @@ libglib = library('glib-2.0', + include_directories : configinc, + link_with: [charset_lib, gnulib_lib], + dependencies : [ ++ atomic_dep, + gnulib_libm_dependency, + libiconv, + libintl_deps, +diff --git a/meson.build b/meson.build +index 46c5aa200a..8b42940558 100644 +--- a/meson.build ++++ b/meson.build +@@ -2233,6 +2233,15 @@ libffi_dep = dependency('libffi', version : '>= 3.0.0') + + libz_dep = dependency('zlib') + ++libatomic_test_code = ''' ++ int main (int argc, char ** argv) { ++ return 0; ++ }''' ++atomic_dep = [] ++if cc.links(libatomic_test_code, args : '-latomic', name : 'check for -latomic') ++ atomic_dep = cc.find_library('atomic') ++endif ++ + # First check in libc, fallback to libintl, and as last chance build + # proxy-libintl subproject. + # FIXME: glib-gettext.m4 has much more checks to detect broken/uncompatible +-- +2.44.0 + diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk index c06ded2a5..c33df70b2 100644 --- a/package/libglib2/libglib2.mk +++ b/package/libglib2/libglib2.mk @@ -64,11 +64,6 @@ ifeq ($(BR2_PACKAGE_ELFUTILS),y) LIBGLIB2_DEPENDENCIES += elfutils endif -# Uses __atomic_compare_exchange_4 -ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -LIBGLIB2_LDFLAGS += -latomic -endif - ifeq ($(BR2_PACKAGE_LIBICONV),y) LIBGLIB2_DEPENDENCIES += libiconv endif @@ -129,7 +124,7 @@ endef # Compile schemas at target finalization since other packages install # them as well, and better do it in a central place. -# It's used at run time so it doesn't matter defering it. +# It's used at run time so it doesn't matter deferring it. define LIBGLIB2_COMPILE_SCHEMAS $(HOST_DIR)/bin/glib-compile-schemas \ $(STAGING_DIR)/usr/share/glib-2.0/schemas \ diff --git a/package/libglob/libglob.mk b/package/libglob/libglob.mk index 90356b397..52da39965 100644 --- a/package/libglob/libglob.mk +++ b/package/libglob/libglob.mk @@ -5,7 +5,7 @@ ################################################################################ LIBGLOB_VERSION = 1.0 -LIBGLOB_SITE = $(call github,voidlinux,libglob,$(LIBGLOB_VERSION)) +LIBGLOB_SITE = $(call github,void-linux,libglob,$(LIBGLOB_VERSION)) LIBGLOB_LICENSE = BSD-3-Clause LIBGLOB_LICENSE_FILES = LICENSE LIBGLOB_INSTALL_STAGING = YES diff --git a/package/libgpg-error/Config.in b/package/libgpg-error/Config.in index 5a2c14ead..a0ee7ec53 100644 --- a/package/libgpg-error/Config.in +++ b/package/libgpg-error/Config.in @@ -15,6 +15,7 @@ config BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS BR2_sh4a || BR2_sh4aeb || \ BR2_sparc || BR2_sparc64 || \ BR2_x86_64 + depends on BR2_USE_MMU # fork() config BR2_PACKAGE_LIBGPG_ERROR bool "libgpg-error" diff --git a/package/libgpg-error/libgpg-error.hash b/package/libgpg-error/libgpg-error.hash index 5c445ba0b..3b3464592 100644 --- a/package/libgpg-error/libgpg-error.hash +++ b/package/libgpg-error/libgpg-error.hash @@ -1,6 +1,7 @@ # From https://www.gnupg.org/download/integrity_check.html -sha1 94668233fd7bd8e7c0ec5e363134cd53c575da60 libgpg-error-1.47.tar.bz2 -sha256 9e3c670966b96ecc746c28c2c419541e3bcb787d1a73930f5e5f5e1bcbbb9bdb libgpg-error-1.47.tar.bz2 +sha1 8bdb504750b4da9e7daffa164cf1ed9900671f32 libgpg-error-1.48.tar.bz2 +sha256 89ce1ae893e122924b858de84dc4f67aae29ffa610ebf668d5aa539045663d6f libgpg-error-1.48.tar.bz2 + # Locally calculated sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB diff --git a/package/libgpg-error/libgpg-error.mk b/package/libgpg-error/libgpg-error.mk index 60e3da9de..3dd0ec94d 100644 --- a/package/libgpg-error/libgpg-error.mk +++ b/package/libgpg-error/libgpg-error.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGPG_ERROR_VERSION = 1.47 +LIBGPG_ERROR_VERSION = 1.48 LIBGPG_ERROR_SITE = https://www.gnupg.org/ftp/gcrypt/libgpg-error LIBGPG_ERROR_SOURCE = libgpg-error-$(LIBGPG_ERROR_VERSION).tar.bz2 LIBGPG_ERROR_LICENSE = GPL-2.0+, LGPL-2.1+ diff --git a/package/libgtk3/libgtk3.hash b/package/libgtk3/libgtk3.hash index 0fa487344..6a682a741 100644 --- a/package/libgtk3/libgtk3.hash +++ b/package/libgtk3/libgtk3.hash @@ -1,5 +1,5 @@ -# From https://download.gnome.org/sources/gtk+/3.24/gtk+-3.24.41.sha256sum -sha256 47da61487af3087a94bc49296fd025ca0bc02f96ef06c556e7c8988bd651b6fa gtk+-3.24.41.tar.xz +# From https://download.gnome.org/sources/gtk+/3.24/gtk+-3.24.43.sha256sum +sha256 7e04f0648515034b806b74ae5d774d87cffb1a2a96c468cb5be476d51bf2f3c7 gtk+-3.24.43.tar.xz # Hash for license file: sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/package/libgtk3/libgtk3.mk b/package/libgtk3/libgtk3.mk index 7e5882f83..d6d7c64a5 100644 --- a/package/libgtk3/libgtk3.mk +++ b/package/libgtk3/libgtk3.mk @@ -5,7 +5,7 @@ ################################################################################ LIBGTK3_VERSION_MAJOR = 3.24 -LIBGTK3_VERSION = $(LIBGTK3_VERSION_MAJOR).41 +LIBGTK3_VERSION = $(LIBGTK3_VERSION_MAJOR).43 LIBGTK3_SOURCE = gtk+-$(LIBGTK3_VERSION).tar.xz LIBGTK3_SITE = https://download.gnome.org/sources/gtk+/$(LIBGTK3_VERSION_MAJOR) LIBGTK3_LICENSE = LGPL-2.0+ diff --git a/package/libhtp/libhtp.hash b/package/libhtp/libhtp.hash index c016cb343..1809bc93a 100644 --- a/package/libhtp/libhtp.hash +++ b/package/libhtp/libhtp.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 d4214f94522fa5a1ec1909dbb52831c534788d93bc6b2ca8252de9332b11b606 libhtp-0.5.45.tar.gz +sha256 7f0719732fd0c82f9915e3df27e31548798590ad624fbad24f58b50885248ab8 libhtp-0.5.48.tar.gz sha256 87c93904e5434c81622ea690c2b90097b9f162aaa92a96542649a157dbf98d15 LICENSE diff --git a/package/libhtp/libhtp.mk b/package/libhtp/libhtp.mk index 8a732d1d5..8735f593d 100644 --- a/package/libhtp/libhtp.mk +++ b/package/libhtp/libhtp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBHTP_VERSION = 0.5.45 +LIBHTP_VERSION = 0.5.48 LIBHTP_SITE = $(call github,OISF,libhtp,$(LIBHTP_VERSION)) LIBHTP_LICENSE = BSD-3-Clause LIBHTP_LICENSE_FILES = LICENSE diff --git a/package/libilbc/Config.in b/package/libilbc/Config.in index 89d5db2fd..db3486c1c 100644 --- a/package/libilbc/Config.in +++ b/package/libilbc/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_LIBILBC iLBC (internet Low Bitrate Codec) is a FREE speech codec suitable for robust voice communication over IP. - http://www.webrtc.org/license-rights/ilbc-freeware + https://github.com/freeswitch/libilbc diff --git a/package/libilbc/libilbc.hash b/package/libilbc/libilbc.hash index 5f41a99ce..be88d6f9c 100644 --- a/package/libilbc/libilbc.hash +++ b/package/libilbc/libilbc.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 f97d8284776c95b31ed5d5441f13b519b8c7966b77a26aa06c29bb77e02cfe16 libilbc-829b08c7902ceb87a261279fabb36b6d523c6e07-br1.tar.gz +sha256 fe4827a548e96f0549dd8f30eb6a48c6c55fd4535de6c8e9c6e4f38bea6190bf libilbc-829b08c7902ceb87a261279fabb36b6d523c6e07.tar.gz sha256 b7f4cbb4a12cd11a3d1aeda9bd17c99f59b054de4b3ee53045531cd2fa74dd2a gips_iLBClicense.pdf diff --git a/package/libilbc/libilbc.mk b/package/libilbc/libilbc.mk index 06d94eb36..d8139ba20 100644 --- a/package/libilbc/libilbc.mk +++ b/package/libilbc/libilbc.mk @@ -5,8 +5,7 @@ ################################################################################ LIBILBC_VERSION = 829b08c7902ceb87a261279fabb36b6d523c6e07 -LIBILBC_SITE = https://freeswitch.org/stash/scm/sd/libilbc.git -LIBILBC_SITE_METHOD = git +LIBILBC_SITE = $(call github,freeswitch,libilbc,$(LIBILBC_VERSION)) LIBILBC_LICENSE = Global IP Sound iLBC Public License v2.0 LIBILBC_LICENSE_FILES = gips_iLBClicense.pdf LIBILBC_AUTORECONF = YES diff --git a/package/libjwt/libjwt.hash b/package/libjwt/libjwt.hash index 47e8b2c50..adc32c3a2 100644 --- a/package/libjwt/libjwt.hash +++ b/package/libjwt/libjwt.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 cb2fd95123689e7d209a3a8c060e02f68341c9a5ded524c0cd881a8cd20d711f libjwt-1.15.3.tar.gz -sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 LICENSE +sha256 b8b257da9b64ba9075fce3a3f670ae02dee7fc95ab7009a2e1ad60905e3f8d48 libjwt-1.17.0.tar.bz2 +sha256 3f3d9e0024b1921b067d6f7f88deb4a60cbe7a78e76c64e3f1d7fc3b779b9d04 LICENSE diff --git a/package/libjwt/libjwt.mk b/package/libjwt/libjwt.mk index 1643aa7b7..f143ba4b6 100644 --- a/package/libjwt/libjwt.mk +++ b/package/libjwt/libjwt.mk @@ -4,13 +4,15 @@ # ################################################################################ -LIBJWT_VERSION = 1.15.3 -LIBJWT_SITE = $(call github,benmcollins,libjwt,v$(LIBJWT_VERSION)) +LIBJWT_VERSION = 1.17.0 +LIBJWT_SITE = https://github.com/benmcollins/libjwt/releases/download/v$(LIBJWT_VERSION) +LIBJWT_SOURCE = libjwt-$(LIBJWT_VERSION).tar.bz2 LIBJWT_DEPENDENCIES = host-pkgconf jansson -LIBJWT_AUTORECONF = YES LIBJWT_INSTALL_STAGING = YES LIBJWT_LICENSE = MPL-2.0 LIBJWT_LICENSE_FILES = LICENSE +LIBJWT_CPE_ID_VENDOR = bencollins +LIBJWT_CPE_ID_PRODUCT = jwt_c_library LIBJWT_CONF_OPTS = --without-examples ifeq ($(BR2_PACKAGE_OPENSSL),y) diff --git a/package/libkcapi/libkcapi.mk b/package/libkcapi/libkcapi.mk index 11462d6e2..7a79dd55a 100644 --- a/package/libkcapi/libkcapi.mk +++ b/package/libkcapi/libkcapi.mk @@ -6,7 +6,7 @@ LIBKCAPI_VERSION = 1.5.0 LIBKCAPI_SOURCE = libkcapi-$(LIBKCAPI_VERSION).tar.xz -LIBKCAPI_SITE = http://www.chronox.de/libkcapi +LIBKCAPI_SITE = http://www.chronox.de/libkcapi/releases/$(LIBKCAPI_VERSION) LIBKCAPI_AUTORECONF = YES LIBKCAPI_INSTALL_STAGING = YES LIBKCAPI_LICENSE = BSD-3-Clause (library), BSD-3-Clause or GPL-2.0 (programs) diff --git a/package/libkrb5/libkrb5.hash b/package/libkrb5/libkrb5.hash index 22178d0de..0403b3aed 100644 --- a/package/libkrb5/libkrb5.hash +++ b/package/libkrb5/libkrb5.hash @@ -1,5 +1,7 @@ # Locally calculated after checking pgp signature -sha256 69f8aaff85484832df67a4bbacd99b9259bd95aab8c651fbbe65cdc9620ea93b krb5-1.21.tar.gz +# from https://web.mit.edu/kerberos/dist/krb5/1.21/krb5-1.21.3.tar.gz.asc +# with key C4493CB739F4A89F9852CBC20CBA08575F8372DF +sha256 b7a4cd5ead67fb08b980b21abd150ff7217e85ea320c9ed0c6dadd304840ad35 krb5-1.21.3.tar.gz # Hash for license file: -sha256 0d5373486138cb176c063db98274b4c4ab6ef3518c4191360736384b780306c2 NOTICE +sha256 7601361a275aadbe35c90185519323c28730d60c553683e56fd06cf9c5f749a6 NOTICE diff --git a/package/libkrb5/libkrb5.mk b/package/libkrb5/libkrb5.mk index 62a34b237..e57a2b98a 100644 --- a/package/libkrb5/libkrb5.mk +++ b/package/libkrb5/libkrb5.mk @@ -4,8 +4,9 @@ # ################################################################################ -LIBKRB5_VERSION = 1.21 -LIBKRB5_SITE = https://web.mit.edu/kerberos/dist/krb5/$(LIBKRB5_VERSION) +LIBKRB5_VERSION_MAJOR = 1.21 +LIBKRB5_VERSION = $(LIBKRB5_VERSION_MAJOR).3 +LIBKRB5_SITE = https://web.mit.edu/kerberos/dist/krb5/$(LIBKRB5_VERSION_MAJOR) LIBKRB5_SOURCE = krb5-$(LIBKRB5_VERSION).tar.gz LIBKRB5_SUBDIR = src LIBKRB5_LICENSE = MIT, BSD-2-Clause, BSD-3-Clause, BSD-4-Clause, others @@ -33,6 +34,13 @@ LIBKRB5_CONF_OPTS = \ --without-tcl \ --disable-rpath +# libkrb5 has some assembly function that is not present in Thumb mode: +# Error: selected processor does not support `mcr p15,0,r2,c7,c10,5' in Thumb mode +# so, we deactivate Thumb mode +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +LIBKRB5_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm" +endif + # Enabling static and shared at the same time is not supported ifeq ($(BR2_SHARED_STATIC_LIBS),y) LIBKRB5_CONF_OPTS += --disable-static diff --git a/package/libksba/libksba.hash b/package/libksba/libksba.hash index 3ac36e19c..e74cde2cc 100644 --- a/package/libksba/libksba.hash +++ b/package/libksba/libksba.hash @@ -1,6 +1,6 @@ # From https://www.gnupg.org/download/integrity_check.html -sha1 0ada15ac00baa7df677a05bcb517621708f9c2f2 libksba-1.6.5.tar.bz2 -sha256 a564628c574c99287998753f98d750babd91a4e9db451f46ad140466ef2a6d16 libksba-1.6.5.tar.bz2 +sha1 1db4222e052656700021a30d517f5aa2f882da4a libksba-1.6.6.tar.bz2 +sha256 5dec033d211559338838c0c4957c73dfdc3ee86f73977d6279640c9cd08ce6a4 libksba-1.6.6.tar.bz2 # Hash for license files: sha256 f9c59ea5a5e1dfdeebcd134e6a594c21eb088cc95f6653ee99ff2e187c105380 AUTHORS diff --git a/package/libksba/libksba.mk b/package/libksba/libksba.mk index 52ad5fbee..b87efda22 100644 --- a/package/libksba/libksba.mk +++ b/package/libksba/libksba.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBKSBA_VERSION = 1.6.5 +LIBKSBA_VERSION = 1.6.6 LIBKSBA_SOURCE = libksba-$(LIBKSBA_VERSION).tar.bz2 LIBKSBA_SITE = https://gnupg.org/ftp/gcrypt/libksba LIBKSBA_LICENSE = LGPL-3.0+ or GPL-2.0+ (library, headers), GPL-3.0+ (manual, tests, build system) diff --git a/package/libldns/libldns.hash b/package/libldns/libldns.hash index ff86ae348..ffdfbedc1 100644 --- a/package/libldns/libldns.hash +++ b/package/libldns/libldns.hash @@ -1,7 +1,7 @@ -# From http://www.nlnetlabs.nl/downloads/ldns/ldns-1.8.3.tar.gz.sha1 -sha1 2796cc49636f68260c9662b60d5a7c9e6eed195c ldns-1.8.3.tar.gz -# From http://www.nlnetlabs.nl/downloads/ldns/ldns-1.8.3.tar.gz.sha256 -sha256 c3f72dd1036b2907e3a56e6acf9dfb2e551256b3c1bbd9787942deeeb70e7860 ldns-1.8.3.tar.gz +# From https://www.nlnetlabs.nl/downloads/ldns/ldns-1.8.4-rc.1.tar.gz.sha1 +sha1 43d013b904e6df5ac5e28001cdc91bef537f3f6f ldns-1.8.4.tar.gz +# From https://www.nlnetlabs.nl/downloads/ldns/ldns-1.8.4.tar.gz.sha256 +sha256 838b907594baaff1cd767e95466a7745998ae64bc74be038dccc62e2de2e4247 ldns-1.8.4.tar.gz # Hash for license file: sha256 9e0b1505c358d1a7c79555ee8bd1acbe2985dbc74dd81f3697cebf2161e922e6 LICENSE diff --git a/package/libldns/libldns.mk b/package/libldns/libldns.mk index d6af6a2b9..0740d09fa 100644 --- a/package/libldns/libldns.mk +++ b/package/libldns/libldns.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBLDNS_VERSION = 1.8.3 +LIBLDNS_VERSION = 1.8.4 LIBLDNS_SOURCE = ldns-$(LIBLDNS_VERSION).tar.gz -LIBLDNS_SITE = http://www.nlnetlabs.nl/downloads/ldns +LIBLDNS_SITE = https://www.nlnetlabs.nl/downloads/ldns LIBLDNS_LICENSE = BSD-3-Clause LIBLDNS_LICENSE_FILES = LICENSE LIBLDNS_CPE_ID_VENDOR = nlnetlabs diff --git a/package/liblinear/Config.in b/package/liblinear/Config.in index cabcba05a..8c112678c 100644 --- a/package/liblinear/Config.in +++ b/package/liblinear/Config.in @@ -5,7 +5,7 @@ config BR2_PACKAGE_LIBLINEAR liblinear is a linear classifier for data with millions of instances and features. - http://www.csie.ntu.edu.tw/~cjlin/liblinear/ + https://www.csie.ntu.edu.tw/~cjlin/liblinear/ comment "liblinear needs a toolchain w/ C++" depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/liblinear/liblinear.mk b/package/liblinear/liblinear.mk index 014f9e2de..134673a23 100644 --- a/package/liblinear/liblinear.mk +++ b/package/liblinear/liblinear.mk @@ -5,7 +5,7 @@ ################################################################################ LIBLINEAR_VERSION = 2.45 -LIBLINEAR_SITE = http://www.csie.ntu.edu.tw/~cjlin/liblinear +LIBLINEAR_SITE = https://www.csie.ntu.edu.tw/~cjlin/liblinear/oldfiles LIBLINEAR_LICENSE = BSD-3-Clause LIBLINEAR_LICENSE_FILES = COPYRIGHT LIBLINEAR_INSTALL_STAGING = YES diff --git a/package/liblockfile/liblockfile.hash b/package/liblockfile/liblockfile.hash index c2cacd6fe..b78a3b378 100644 --- a/package/liblockfile/liblockfile.hash +++ b/package/liblockfile/liblockfile.hash @@ -1,6 +1,5 @@ # From https://snapshot.debian.org/archive/debian/20210128T210947Z/pool/main/libl/liblockfile/liblockfile_1.17-1.dsc sha256 6e937f3650afab4aac198f348b89b1ca42edceb17fb6bb0918f642143ccfd15e liblockfile_1.17.orig.tar.gz -sha256 e3657c0e3facfeccb58900c0b48d56cd68ad5f9f24d1b4c6eaa69c26490fb673 liblockfile_1.17-1.debian.tar.bz2 # Locally computed sha256 3d080ab931103a823e6b9b788ccbc3e9d44797bd54546f3feebfd305f90de46a COPYRIGHT sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 licenses/GPL-2 diff --git a/package/liblockfile/liblockfile.mk b/package/liblockfile/liblockfile.mk index f472809eb..6535634ef 100644 --- a/package/liblockfile/liblockfile.mk +++ b/package/liblockfile/liblockfile.mk @@ -7,7 +7,6 @@ LIBLOCKFILE_VERSION = 1.17 LIBLOCKFILE_SOURCE = liblockfile_$(LIBLOCKFILE_VERSION).orig.tar.gz LIBLOCKFILE_SITE = http://snapshot.debian.org/archive/debian/20210128T210947Z/pool/main/libl/liblockfile -LIBLOCKFILE_PATCH = liblockfile_$(LIBLOCKFILE_VERSION)-1.debian.tar.bz2 LIBLOCKFILE_LICENSE = LGPL-2.0+, GPL-2.0+ (dotlockfile) LIBLOCKFILE_LICENSE_FILES = COPYRIGHT licenses/GPL-2 licenses/LGPL-2 diff --git a/package/libmad/0003-drop-GCC-fforce-mem-option.patch b/package/libmad/0003-drop-GCC-fforce-mem-option.patch new file mode 100644 index 000000000..25b685efd --- /dev/null +++ b/package/libmad/0003-drop-GCC-fforce-mem-option.patch @@ -0,0 +1,18 @@ +configure.ac: drop GCC "-fforce-mem" option + +As reported at [1], the option has been removed from version 4.3 of GCC. + +[1] https://ez.analog.com/dsp/software-and-development-tools/linux-blackfin/linux-bug-archive/w/documents/7460/5626-build-lib-mad-fail-at-option--fforce-mem-with-gcc-4-3 +Signed-off-by: Dario Binacchi +Upstream: Dead + +--- libmad-0.15.1b-orig/configure.ac 2024-07-02 14:26:40.657984791 +0200 ++++ libmad-0.15.1b/configure.ac 2024-07-02 14:27:07.098198997 +0200 +@@ -140,7 +140,6 @@ + case "$optimize" in + -O|"-O "*) + optimize="-O" +- optimize="$optimize -fforce-mem" + optimize="$optimize -fforce-addr" + : #x optimize="$optimize -finline-functions" + : #- optimize="$optimize -fstrength-reduce" diff --git a/package/libmad/libmad.mk b/package/libmad/libmad.mk index 084a533cc..db04d22e9 100644 --- a/package/libmad/libmad.mk +++ b/package/libmad/libmad.mk @@ -19,7 +19,7 @@ define LIBMAD_APPLY_DEBIAN_PATCHES fi endef -LIBMAD_POST_PATCH_HOOKS += LIBMAD_APPLY_DEBIAN_PATCHES +LIBMAD_PRE_PATCH_HOOKS += LIBMAD_APPLY_DEBIAN_PATCHES # debian/patches/md_size.diff LIBMAD_IGNORE_CVES += CVE-2017-8372 CVE-2017-8373 @@ -33,7 +33,7 @@ LIBMAD_AUTORECONF = YES # libmad has some assembly function that is not present in Thumb mode: # Error: selected processor does not support `smull r6,r7,r3,r1' in Thumb mode -# so, we desactivate Thumb mode +# so, we deactivate Thumb mode ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) LIBMAD_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm" endif diff --git a/package/libmanette/0001-Meson-Un-hardcode-building-a-shared-library.patch b/package/libmanette/0001-Meson-Un-hardcode-building-a-shared-library.patch deleted file mode 100644 index a93a1f721..000000000 --- a/package/libmanette/0001-Meson-Un-hardcode-building-a-shared-library.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 003c2e84d95357bbbef72fb395ef85f1650097a3 Mon Sep 17 00:00:00 2001 -From: Adrian Perez de Castro -Date: Fri, 23 Sep 2022 14:35:51 +0300 -Subject: [PATCH] Meson: Un-hardcode building a shared library - -Use library() instead of shared_library() to allow specifying which kind -of library to build with "meson setup --default-library ..." - -This allows more easily incorporating libmanette in an application e.g. -as a Meson subproject which gets built into a program as a static -library. - -Signed-off-by: Adrian Perez de Castro -[Upstream status: https://gitlab.gnome.org/GNOME/libmanette/-/merge_requests/84] ---- - src/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/meson.build b/src/meson.build -index c140cac..b71d090 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -63,7 +63,7 @@ if gudev.found() - libmanette_deps += [ gudev ] - endif - --libmanette_lib = shared_library( -+libmanette_lib = library( - libmanette_module, - libmanette_sources, - c_args: libmanette_c_args, --- -2.37.3 - diff --git a/package/libmanette/libmanette.hash b/package/libmanette/libmanette.hash index 96089f971..b1da3c19f 100644 --- a/package/libmanette/libmanette.hash +++ b/package/libmanette/libmanette.hash @@ -1,5 +1,5 @@ -# From https://download.gnome.org/sources/libmanette/0.2/libmanette-0.2.6.sha256sum -sha256 63653259a821ec7d90d681e52e757e2219d462828c9d74b056a5f53267636bac libmanette-0.2.6.tar.xz +# From https://download.gnome.org/sources/libmanette/0.2/libmanette-0.2.7.sha256sum +sha256 cddd5c02a131072c19c6cde6f2cb2cd57eae7dacb50d14c337efd980baa51a51 libmanette-0.2.7.tar.xz # Locally calculated sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libmanette/libmanette.mk b/package/libmanette/libmanette.mk index 10f2b8a46..42fb47979 100644 --- a/package/libmanette/libmanette.mk +++ b/package/libmanette/libmanette.mk @@ -5,7 +5,7 @@ ################################################################################ LIBMANETTE_VERSION_MAJOR = 0.2 -LIBMANETTE_VERSION = $(LIBMANETTE_VERSION_MAJOR).6 +LIBMANETTE_VERSION = $(LIBMANETTE_VERSION_MAJOR).7 LIBMANETTE_SOURCE = libmanette-$(LIBMANETTE_VERSION).tar.xz LIBMANETTE_SITE = https://download.gnome.org/sources/libmanette/$(LIBMANETTE_VERSION_MAJOR) LIBMANETTE_LICENSE = LGPL-2.1+ diff --git a/package/libmdbx/libmdbx.hash b/package/libmdbx/libmdbx.hash index 82cf28d6a..222e7caf5 100644 --- a/package/libmdbx/libmdbx.hash +++ b/package/libmdbx/libmdbx.hash @@ -1,5 +1,5 @@ # Hashes from: https://libmdbx.dqdkfa.ru/release/SHA256SUMS -sha256 c78c56c53708bbfc519bf53ebf520d1f09d30ee6427a4bedf713316696e671d0 libmdbx-amalgamated-0.12.8.tar.xz +sha256 19c0eb33e1ed43ca2a94dceb06dd31946432d16f30a9751d3701c67efa22eb1a libmdbx-amalgamated-0.12.12.tar.xz # Locally calculated sha256 310fe25c858a9515fc8c8d7d1f24a67c9496f84a91e0a0e41ea9975b1371e569 LICENSE diff --git a/package/libmdbx/libmdbx.mk b/package/libmdbx/libmdbx.mk index 4cc6cbd08..c736945e9 100644 --- a/package/libmdbx/libmdbx.mk +++ b/package/libmdbx/libmdbx.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMDBX_VERSION = 0.12.8 +LIBMDBX_VERSION = 0.12.12 LIBMDBX_SOURCE = libmdbx-amalgamated-$(LIBMDBX_VERSION).tar.xz LIBMDBX_SITE = https://libmdbx.dqdkfa.ru/release LIBMDBX_SUPPORTS_IN_SOURCE_BUILD = NO diff --git a/package/libmnl/libmnl.hash b/package/libmnl/libmnl.hash index 4b592333c..e2db46f03 100644 --- a/package/libmnl/libmnl.hash +++ b/package/libmnl/libmnl.hash @@ -1,7 +1,5 @@ -# From ftp://ftp.netfilter.org/pub/libmnl/libmnl-1.0.5.tar.bz2.{md5sum,sha1sum} -md5 0bbb70573119ec5d49435114583e7a49 libmnl-1.0.5.tar.bz2 -sha1 63c6456b77f7978a7b37e62c1b38346b2ef2d91c libmnl-1.0.5.tar.bz2 +# From https://netfilter.org/projects/libmnl/files/libmnl-1.0.5.tar.bz2.sha256sum +sha256 274b9b919ef3152bfb3da3a13c950dd60d6e2bcd54230ffeca298d03b40d0525 libmnl-1.0.5.tar.bz2 # Locally calculated -sha256 274b9b919ef3152bfb3da3a13c950dd60d6e2bcd54230ffeca298d03b40d0525 libmnl-1.0.5.tar.bz2 sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libmnl/libmnl.mk b/package/libmnl/libmnl.mk index 08eebbaed..3bd3a03c8 100644 --- a/package/libmnl/libmnl.mk +++ b/package/libmnl/libmnl.mk @@ -6,7 +6,7 @@ LIBMNL_VERSION = 1.0.5 LIBMNL_SOURCE = libmnl-$(LIBMNL_VERSION).tar.bz2 -LIBMNL_SITE = http://netfilter.org/projects/libmnl/files +LIBMNL_SITE = https://netfilter.org/projects/libmnl/files LIBMNL_INSTALL_STAGING = YES LIBMNL_LICENSE = LGPL-2.1+ LIBMNL_LICENSE_FILES = COPYING diff --git a/package/libmodbus/libmodbus.hash b/package/libmodbus/libmodbus.hash index a7b7e583a..5c081d971 100644 --- a/package/libmodbus/libmodbus.hash +++ b/package/libmodbus/libmodbus.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 899be4e25ab7fe5799d43f9567510d6f063d2e8f56136dd726b6fd976f9b2253 libmodbus-3.1.10.tar.gz +sha256 15b4b2e0f68122c2da9b195de5c330489a9c97d40b4a95d2822378dc14d780e7 libmodbus-3.1.11.tar.gz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LESSER diff --git a/package/libmodbus/libmodbus.mk b/package/libmodbus/libmodbus.mk index 2fffa1e0e..4902d6257 100644 --- a/package/libmodbus/libmodbus.mk +++ b/package/libmodbus/libmodbus.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMODBUS_VERSION = 3.1.10 +LIBMODBUS_VERSION = 3.1.11 LIBMODBUS_SITE = https://github.com/stephane/libmodbus/releases/download/v$(LIBMODBUS_VERSION) LIBMODBUS_LICENSE = LGPL-2.1+ LIBMODBUS_LICENSE_FILES = COPYING.LESSER diff --git a/package/libmodsecurity/libmodsecurity.hash b/package/libmodsecurity/libmodsecurity.hash index 2221a8a37..dbe43d18e 100644 --- a/package/libmodsecurity/libmodsecurity.hash +++ b/package/libmodsecurity/libmodsecurity.hash @@ -1,5 +1,5 @@ # From https://github.com/owasp-modsecurity/ModSecurity/releases/download/v3.0.12/modsecurity-v3.0.12.tar.gz.sha256 sha256 a36118401641feef376bb469bf468abf94b7948844976a188a6fccb53390b11f modsecurity-v3.0.12.tar.gz -# Localy calculated +# Locally calculated sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE diff --git a/package/libnetconf2/Config.in b/package/libnetconf2/Config.in index 7865f9e48..a01d2d7f9 100644 --- a/package/libnetconf2/Config.in +++ b/package/libnetconf2/Config.in @@ -11,7 +11,7 @@ config BR2_PACKAGE_LIBNETCONF2 https://github.com/CESNET/libnetconf2 -comment "libnetconf2 needs a toolchain w/ threads, dynamic libraray" +comment "libnetconf2 needs a toolchain w/ threads, dynamic library" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libnetfilter_acct/Config.in b/package/libnetfilter_acct/Config.in index ecfef6dc6..614af27fe 100644 --- a/package/libnetfilter_acct/Config.in +++ b/package/libnetfilter_acct/Config.in @@ -5,4 +5,4 @@ config BR2_PACKAGE_LIBNETFILTER_ACCT libnetfilter_acct is the userspace library providing interface to extended accounting infrastructure. - http://www.netfilter.org/projects/libnetfilter_acct/ + https://www.netfilter.org/projects/libnetfilter_acct/ diff --git a/package/libnetfilter_acct/libnetfilter_acct.hash b/package/libnetfilter_acct/libnetfilter_acct.hash index a72d83fb2..da9e1a326 100644 --- a/package/libnetfilter_acct/libnetfilter_acct.hash +++ b/package/libnetfilter_acct/libnetfilter_acct.hash @@ -1,4 +1,4 @@ -# From ftp://ftp.netfilter.org/pub/libnetfilter_acct/libnetfilter_acct-1.0.3.tar.bz2.{md5sum,sha1sum} +# From https://www.netfilter.org/projects/libnetfilter_acct/files/libnetfilter_acct-1.0.3.tar.bz2.{md5sum,sha1sum} md5 814b2972b2f5c740ff87510bc109168b libnetfilter_acct-1.0.3.tar.bz2 sha1 4b9073e4aa989b0f000c8da1ab01b22fceed52b2 libnetfilter_acct-1.0.3.tar.bz2 diff --git a/package/libnetfilter_acct/libnetfilter_acct.mk b/package/libnetfilter_acct/libnetfilter_acct.mk index e791f6f13..6763ad27d 100644 --- a/package/libnetfilter_acct/libnetfilter_acct.mk +++ b/package/libnetfilter_acct/libnetfilter_acct.mk @@ -6,7 +6,7 @@ LIBNETFILTER_ACCT_VERSION = 1.0.3 LIBNETFILTER_ACCT_SOURCE = libnetfilter_acct-$(LIBNETFILTER_ACCT_VERSION).tar.bz2 -LIBNETFILTER_ACCT_SITE = http://www.netfilter.org/projects/libnetfilter_acct/files +LIBNETFILTER_ACCT_SITE = https://www.netfilter.org/projects/libnetfilter_acct/files LIBNETFILTER_ACCT_INSTALL_STAGING = YES LIBNETFILTER_ACCT_DEPENDENCIES = host-pkgconf libmnl LIBNETFILTER_ACCT_LICENSE = LGPL-2.1+ diff --git a/package/libnetfilter_log/Config.in b/package/libnetfilter_log/Config.in index b244e8a8e..66e1b170b 100644 --- a/package/libnetfilter_log/Config.in +++ b/package/libnetfilter_log/Config.in @@ -6,4 +6,4 @@ config BR2_PACKAGE_LIBNETFILTER_LOG libnetfilter_log is a userspace library providing interface to packets that have been logged by the kernel packet filter. - http://www.netfilter.org/projects/libnetfilter_log/ + https://www.netfilter.org/projects/libnetfilter_log/ diff --git a/package/libnetfilter_log/libnetfilter_log.hash b/package/libnetfilter_log/libnetfilter_log.hash index 7589284f4..1e3cea0a8 100644 --- a/package/libnetfilter_log/libnetfilter_log.hash +++ b/package/libnetfilter_log/libnetfilter_log.hash @@ -1,4 +1,4 @@ -# From ftp://ftp.netfilter.org/pub/libnetfilter_log/libnetfilter_log-1.0.2.tar.bz2.sha256sum +# From https://www.netfilter.org/projects/libnetfilter_log/files/libnetfilter_log-1.0.2.tar.bz2.sha256sum sha256 e3f408575614d849e4726b45e90c7ebb0e6744b04859555a9ce6ec40744ffeea libnetfilter_log-1.0.2.tar.bz2 # Hash for license file: diff --git a/package/libnetfilter_log/libnetfilter_log.mk b/package/libnetfilter_log/libnetfilter_log.mk index 01f94aac4..9b01f819b 100644 --- a/package/libnetfilter_log/libnetfilter_log.mk +++ b/package/libnetfilter_log/libnetfilter_log.mk @@ -6,7 +6,7 @@ LIBNETFILTER_LOG_VERSION = 1.0.2 LIBNETFILTER_LOG_SOURCE = libnetfilter_log-$(LIBNETFILTER_LOG_VERSION).tar.bz2 -LIBNETFILTER_LOG_SITE = http://www.netfilter.org/projects/libnetfilter_log/files +LIBNETFILTER_LOG_SITE = https://www.netfilter.org/projects/libnetfilter_log/files LIBNETFILTER_LOG_INSTALL_STAGING = YES LIBNETFILTER_LOG_DEPENDENCIES = host-pkgconf libmnl libnfnetlink LIBNETFILTER_LOG_LICENSE = GPL-2.0+ diff --git a/package/libnfs/libnfs.hash b/package/libnfs/libnfs.hash index b67a5d2ed..c5e5197c1 100644 --- a/package/libnfs/libnfs.hash +++ b/package/libnfs/libnfs.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 637e56643b19da9fba98f06847788c4dad308b723156a64748041035dcdf9bd3 libnfs-5.0.2.tar.gz +sha256 d945cb4f4c8f82ee1f3640893a168810f794a28e1010bb007ec5add345e9df3e libnfs-5.0.3.tar.gz sha256 edd960c0142b8ada98b43b6396b78f4e557b0bc70ac601a51e397ad04070e2c5 COPYING sha256 d9406ced95457941032aa11d04623b8ab71f2827a3395ebef137aec475be35b1 LICENCE-BSD.txt sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENCE-LGPL-2.1.txt diff --git a/package/libnfs/libnfs.mk b/package/libnfs/libnfs.mk index b013decfc..e5e302a4f 100644 --- a/package/libnfs/libnfs.mk +++ b/package/libnfs/libnfs.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNFS_VERSION = 5.0.2 +LIBNFS_VERSION = 5.0.3 LIBNFS_SITE = $(call github,sahlberg,libnfs,libnfs-$(LIBNFS_VERSION)) LIBNFS_INSTALL_STAGING = YES LIBNFS_AUTORECONF = YES @@ -17,9 +17,9 @@ LIBNFS_DEPENDENCIES += libtirpc endif ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) -LIBNFS_CONF_OPTS += --enable-threads +LIBNFS_CONF_OPTS += --enable-pthread else -LIBNFS_CONF_OPTS += --disable-threads +LIBNFS_CONF_OPTS += --disable-pthread endif $(eval $(autotools-package)) diff --git a/package/libnpth/0001-Fix-INSERT_EXPOSE_RWLOCK_API-for-musl-C-library.patch b/package/libnpth/0001-Fix-INSERT_EXPOSE_RWLOCK_API-for-musl-C-library.patch new file mode 100644 index 000000000..bc5ed70a9 --- /dev/null +++ b/package/libnpth/0001-Fix-INSERT_EXPOSE_RWLOCK_API-for-musl-C-library.patch @@ -0,0 +1,37 @@ +From 417abd56fd7bf45cd4948414050615cb1ad59134 Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Fri, 1 Mar 2024 13:53:52 +0900 +Subject: [PATCH] Fix INSERT_EXPOSE_RWLOCK_API for musl C library. + +* configure.ac: Add a case for musl system. + +-- + +GnuPG-bug-id: 5664 +Signed-off-by: NIIBE Yutaka + +Upstream: https://git.gnupg.org/cgi-bin/gitweb.cgi?p=npth.git;a=commit;h=417abd56fd7bf45cd4948414050615cb1ad59134 +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index c1091b1..576a26e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -381,7 +381,10 @@ fi + AC_SUBST(INSERT_NO_RWLOCK) + + case "${host}" in +- *-*-linux*|*-*-gnu*) ++ *-*-linux-musl*) ++ INSERT_EXPOSE_RWLOCK_API="1" ++ ;; ++ *-*-linux-gnu*|*-*-gnu*) + INSERT_EXPOSE_RWLOCK_API="defined(__USE_UNIX98) || defined(__USE_XOPEN2K)" + ;; + *) +-- +2.30.2 + diff --git a/package/libnpth/0002-Return-a-run-time-error-if-npth_rwlock_timedrdlock-is-not-supported.patch b/package/libnpth/0002-Return-a-run-time-error-if-npth_rwlock_timedrdlock-is-not-supported.patch new file mode 100644 index 000000000..0d9b38e4c --- /dev/null +++ b/package/libnpth/0002-Return-a-run-time-error-if-npth_rwlock_timedrdlock-is-not-supported.patch @@ -0,0 +1,51 @@ +From 01f03a91c9bd63910995aeef412beb3ca6dc9a67 Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Tue, 7 May 2024 13:45:47 +0900 +Subject: [PATCH] Return a run-time error if npth_rwlock_timedrdlock is not + supported. + +* src/npth.c (npth_rwlock_timedrdlock): Return ENOSYS if not +supported. +(npth_rwlock_timedwrlock): Use HAVE_PTHREAD_RWLOCK_TRYWRLOCK. + +-- + +GnuPG-bug-id: 7109 +Fixed-commit: 363c370bd35dd0bb4e5636b2d4f06ea88c658794 +Signed-off-by: NIIBE Yutaka + +Upstream: https://git.gnupg.org/cgi-bin/gitweb.cgi?p=npth.git;a=commit;h=01f03a91c9bd63910995aeef412beb3ca6dc9a67 +Signed-off-by: Fabrice Fontaine +--- + src/npth.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/npth.c b/src/npth.c +index c0ff8da..f02540c 100644 +--- a/src/npth.c ++++ b/src/npth.c +@@ -488,9 +488,11 @@ npth_rwlock_timedrdlock (npth_rwlock_t *rwlock, const struct timespec *abstime) + ENTER(); + #if HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK + err = pthread_rwlock_timedrdlock (rwlock, abstime); +-#else ++#elif HAVE_PTHREAD_RWLOCK_TRYRDLOCK + err = busy_wait_for ((trylock_func_t) pthread_rwlock_tryrdlock, rwlock, + abstime); ++#else ++ err = ENOSYS; + #endif + LEAVE(); + return err; +@@ -533,7 +535,7 @@ npth_rwlock_timedwrlock (npth_rwlock_t *rwlock, const struct timespec *abstime) + ENTER(); + #if HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK + err = pthread_rwlock_timedwrlock (rwlock, abstime); +-#elif HAVE_PTHREAD_RWLOCK_TRYRDLOCK ++#elif HAVE_PTHREAD_RWLOCK_TRYWRLOCK + err = busy_wait_for ((trylock_func_t) pthread_rwlock_trywrlock, rwlock, + abstime); + #else +-- +2.30.2 + diff --git a/package/libnpth/0003-Fix-previous-commit.patch b/package/libnpth/0003-Fix-previous-commit.patch new file mode 100644 index 000000000..5f3ce06bf --- /dev/null +++ b/package/libnpth/0003-Fix-previous-commit.patch @@ -0,0 +1,39 @@ +From 75c68399ef3bbb5d024f2a60474a7214fa479016 Mon Sep 17 00:00:00 2001 +From: NIIBE Yutaka +Date: Mon, 13 May 2024 11:13:23 +0900 +Subject: [PATCH] Fix previous commit. + +Signed-off-by: NIIBE Yutaka + +Upstream: https://git.gnupg.org/cgi-bin/gitweb.cgi?p=npth.git;a=commit;h=75c68399ef3bbb5d024f2a60474a7214fa479016 +Signed-off-by: Fabrice Fontaine +--- + src/npth.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/src/npth.c b/src/npth.c +index f02540c..8dced17 100644 +--- a/src/npth.c ++++ b/src/npth.c +@@ -178,6 +178,18 @@ static int initialized_or_any_threads; + typedef int (*trylock_func_t) (void *); + + #ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK ++#define REQUIRE_THE_BUSY_WAIT_FOR_IMPLEMENTATION 1 ++#endif ++ ++#if !HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK && HAVE_PTHREAD_RWLOCK_TRYRDLOCK ++#define REQUIRE_THE_BUSY_WAIT_FOR_IMPLEMENTATION 1 ++#endif ++ ++#if !HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK && HAVE_PTHREAD_RWLOCK_TRYWRLOCK ++#define REQUIRE_THE_BUSY_WAIT_FOR_IMPLEMENTATION 1 ++#endif ++ ++#if REQUIRE_THE_BUSY_WAIT_FOR_IMPLEMENTATION + static int + busy_wait_for (trylock_func_t trylock, void *lock, + const struct timespec *abstime) +-- +2.30.2 + diff --git a/package/libnpth/libnpth.hash b/package/libnpth/libnpth.hash index b9f72e077..a140a23f6 100644 --- a/package/libnpth/libnpth.hash +++ b/package/libnpth/libnpth.hash @@ -1,7 +1,6 @@ -# Locally calculated after checking signature -# https://gnupg.org/ftp/gcrypt/npth/npth-1.6.tar.bz2.sig -# using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 -sha256 1393abd9adcf0762d34798dc34fdcf4d0d22a8410721e76f1e3afcd1daa4e2d1 npth-1.6.tar.bz2 +# From https://www.gnupg.org/download/integrity_check.html +sha1 a9f7adc1b1f6707071d29bfb3338c28b995ca1ce npth-1.7.tar.bz2 +sha256 8589f56937b75ce33b28d312fccbf302b3b71ec3f3945fde6aaa74027914ad05 npth-1.7.tar.bz2 # Hash for license file: sha256 ce64d5f7b49ea6d80fdb6d4cdee6839d1a94274f7493dc797c3b55b65ec8e9ed COPYING.LIB diff --git a/package/libnpth/libnpth.mk b/package/libnpth/libnpth.mk index ecfef863f..3fa5e1f90 100644 --- a/package/libnpth/libnpth.mk +++ b/package/libnpth/libnpth.mk @@ -4,11 +4,14 @@ # ################################################################################ -LIBNPTH_VERSION = 1.6 +LIBNPTH_VERSION = 1.7 LIBNPTH_SOURCE = npth-$(LIBNPTH_VERSION).tar.bz2 LIBNPTH_SITE = https://www.gnupg.org/ftp/gcrypt/npth LIBNPTH_LICENSE = LGPL-2.0+ LIBNPTH_LICENSE_FILES = COPYING.LIB LIBNPTH_INSTALL_STAGING = YES +# 0001-Fix-INSERT_EXPOSE_RWLOCK_API-for-musl-C-library.patch +LIBNPTH_AUTORECONF = YES +LIBNPTH_CONF_OPTS = --disable-tests $(eval $(autotools-package)) diff --git a/package/libnss/0001-Bug-1801182-Allow-overriding-OS_ARCH-OS_TEST-and-OS_.patch b/package/libnss/0001-Bug-1801182-Allow-overriding-OS_ARCH-OS_TEST-and-OS_.patch index 7b3abea30..90dffad96 100644 --- a/package/libnss/0001-Bug-1801182-Allow-overriding-OS_ARCH-OS_TEST-and-OS_.patch +++ b/package/libnss/0001-Bug-1801182-Allow-overriding-OS_ARCH-OS_TEST-and-OS_.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Bug 1801182 - Allow overriding OS_ARCH, OS_TEST and OS_RELEASE in Makefile Starting from Make 4.3.91 simple expanded variables can't be safely -overriden via command line anymore, so let's use conditional expanded +overridden via command line anymore, so let's use conditional expanded variables to override OS_ARCH, OS_TEST and OS_RELEASE. Signed-off-by: Giulio Benetti diff --git a/package/libopenh264/libopenh264.hash b/package/libopenh264/libopenh264.hash index fe98b7773..6eb78e200 100644 --- a/package/libopenh264/libopenh264.hash +++ b/package/libopenh264/libopenh264.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a44d1ccc348a790f9a272bba2d1c2eb9a9bbd0302e4e9b655d709e1c32f92691 libopenh264-2.4.0.tar.gz +sha256 8ffbe944e74043d0d3fb53d4a2a14c94de71f58dbea6a06d0dc92369542958ea libopenh264-2.4.1.tar.gz sha256 dd5c1c9668512530fa5a96e4c29ac4033d70a7eeb0eed7a42fddb6dd794ebdbb LICENSE diff --git a/package/libopenh264/libopenh264.mk b/package/libopenh264/libopenh264.mk index 478c29d7a..e371e4cdc 100644 --- a/package/libopenh264/libopenh264.mk +++ b/package/libopenh264/libopenh264.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBOPENH264_VERSION = 2.4.0 +LIBOPENH264_VERSION = 2.4.1 LIBOPENH264_SITE = $(call github,cisco,openh264,v$(LIBOPENH264_VERSION)) LIBOPENH264_LICENSE = BSD-2-Clause LIBOPENH264_LICENSE_FILES = LICENSE diff --git a/package/libopenssl/libopenssl.hash b/package/libopenssl/libopenssl.hash index 841d4b4cf..29b6850ed 100644 --- a/package/libopenssl/libopenssl.hash +++ b/package/libopenssl/libopenssl.hash @@ -1,5 +1,5 @@ -# From https://www.openssl.org/source/openssl-3.2.1.tar.gz.sha256 -sha256 83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39 openssl-3.2.1.tar.gz +# From https://github.com/openssl/openssl/releases/download/openssl-3.2.4/openssl-3.2.4.tar.gz.sha256 +sha256 b23ad7fd9f73e43ad1767e636040e88ba7c9e5775bfa5618436a0dd2c17c3716 openssl-3.2.4.tar.gz # License files sha256 7d5450cb2d142651b8afa315b5f238efc805dad827d91ba367d8516bc9d49e7a LICENSE.txt diff --git a/package/libopenssl/libopenssl.mk b/package/libopenssl/libopenssl.mk index feb5026c0..3e873a2fa 100644 --- a/package/libopenssl/libopenssl.mk +++ b/package/libopenssl/libopenssl.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBOPENSSL_VERSION = 3.2.1 -LIBOPENSSL_SITE = https://www.openssl.org/source +LIBOPENSSL_VERSION = 3.2.4 +LIBOPENSSL_SITE = https://github.com/openssl/openssl/releases/download/openssl-$(LIBOPENSSL_VERSION) LIBOPENSSL_SOURCE = openssl-$(LIBOPENSSL_VERSION).tar.gz LIBOPENSSL_LICENSE = Apache-2.0 LIBOPENSSL_LICENSE_FILES = LICENSE.txt @@ -84,6 +84,7 @@ define LIBOPENSSL_CONFIGURE_CMDS no-fuzz-libfuzzer \ no-fuzz-afl \ no-afalgeng \ + $(if $(BR2_PACKAGE_LIBOPENSSL_BIN),,no-apps) \ $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_CHACHA),,no-chacha) \ $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_RC2),,no-rc2) \ $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4),,no-rc4) \ @@ -135,8 +136,8 @@ endef define LIBOPENSSL_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install - rm -rf $(TARGET_DIR)/usr/lib/ssl - rm -f $(TARGET_DIR)/usr/bin/c_rehash + $(RM) -rf $(TARGET_DIR)/usr/lib/ssl + $(RM) -f $(TARGET_DIR)/usr/bin/c_rehash endef # libdl has no business in a static build @@ -156,17 +157,9 @@ endef LIBOPENSSL_POST_INSTALL_TARGET_HOOKS += LIBOPENSSL_REMOVE_PERL_SCRIPTS endif -ifeq ($(BR2_PACKAGE_LIBOPENSSL_BIN),) -define LIBOPENSSL_REMOVE_BIN - $(RM) -f $(TARGET_DIR)/usr/bin/openssl - $(RM) -f $(TARGET_DIR)/etc/ssl/misc/{CA.*,c_*} -endef -LIBOPENSSL_POST_INSTALL_TARGET_HOOKS += LIBOPENSSL_REMOVE_BIN -endif - -ifneq ($(BR2_PACKAGE_LIBOPENSSL_ENGINES),y) +ifeq ($(BR2_PACKAGE_LIBOPENSSL_ENGINES),) define LIBOPENSSL_REMOVE_LIBOPENSSL_ENGINES - rm -rf $(TARGET_DIR)/usr/lib/engines-1.1 + $(RM) -rf $(TARGET_DIR)/usr/lib/engines-3 endef LIBOPENSSL_POST_INSTALL_TARGET_HOOKS += LIBOPENSSL_REMOVE_LIBOPENSSL_ENGINES endif diff --git a/package/libpam-nfc/Config.in b/package/libpam-nfc/Config.in index ce3a3eeb1..3dce8d8e4 100644 --- a/package/libpam-nfc/Config.in +++ b/package/libpam-nfc/Config.in @@ -2,6 +2,6 @@ config BR2_PACKAGE_LIBPAM_NFC bool "libpam-nfc" select BR2_PACKAGE_LIBNFC help - NFC-based PAM authentification module. + NFC-based PAM authentication module. https://github.com/nfc-tools/pam_nfc diff --git a/package/libpcap/libpcap.hash b/package/libpcap/libpcap.hash index 34339c126..7f53b99b8 100644 --- a/package/libpcap/libpcap.hash +++ b/package/libpcap/libpcap.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://www.tcpdump.org/release/libpcap-1.10.4.tar.gz.sig -sha256 ed19a0383fad72e3ad435fd239d7cd80d64916b87269550159d20e47160ebe5f libpcap-1.10.4.tar.gz +# https://www.tcpdump.org/release/libpcap-1.10.5.tar.gz.sig +sha256 37ced90a19a302a7f32e458224a00c365c117905c2cd35ac544b6880a81488f0 libpcap-1.10.5.tar.gz # Hash for license file: sha256 8a54594d257e14a5260ac770f1633516cb51e3fc28c40136ce2697014eda7afd LICENSE diff --git a/package/libpcap/libpcap.mk b/package/libpcap/libpcap.mk index a4523f221..67adb0a97 100644 --- a/package/libpcap/libpcap.mk +++ b/package/libpcap/libpcap.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBPCAP_VERSION = 1.10.4 +LIBPCAP_VERSION = 1.10.5 LIBPCAP_SITE = https://www.tcpdump.org/release LIBPCAP_LICENSE = BSD-3-Clause LIBPCAP_LICENSE_FILES = LICENSE @@ -57,5 +57,9 @@ ifeq ($(BR2_microblaze)$(BR2_sparc)$(BR2_sparc64),y) LIBPCAP_CFLAGS += -fPIC endif +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_104028),y) +LIBPCAP_CFLAGS += -O2 +endif + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/libpeas/Config.in b/package/libpeas/Config.in index 430e668ee..33fae14d4 100644 --- a/package/libpeas/Config.in +++ b/package/libpeas/Config.in @@ -9,7 +9,7 @@ config BR2_PACKAGE_LIBPEAS select BR2_PACKAGE_GOBJECT_INTROSPECTION select BR2_PACKAGE_LIBGLIB2 help - libpeas is a gobject-based plugins engine, and is targetted at + libpeas is a gobject-based plugins engine, and is targeted at giving every application the chance to assume its own extensibility. It also has a set of features including, but not limited to: diff --git a/package/libpng/libpng.hash b/package/libpng/libpng.hash index fbae14c51..356c0e3e5 100644 --- a/package/libpng/libpng.hash +++ b/package/libpng/libpng.hash @@ -1,4 +1,4 @@ -# From https://sourceforge.net/p/png-mng/mailman/message/58731120/ -sha256 c919dbc11f4c03b05aba3f8884d8eb7adfe3572ad228af972bb60057bdb48450 libpng-1.6.42.tar.xz +# From https://sourceforge.net/p/png-mng/mailman/message/58741099/ +sha256 6a5ca0652392a2d7c9db2ae5b40210843c0bbc081cbd410825ab00cc59f14a6c libpng-1.6.43.tar.xz # Locally computed: sha256 7317e078e2d3b5d7ba5a6159e650945153262b44b76f6700f8e9edb261c5143e LICENSE diff --git a/package/libpng/libpng.mk b/package/libpng/libpng.mk index c4da9f89c..af38afde4 100644 --- a/package/libpng/libpng.mk +++ b/package/libpng/libpng.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBPNG_VERSION = 1.6.42 +LIBPNG_VERSION = 1.6.43 LIBPNG_SERIES = 16 LIBPNG_SOURCE = libpng-$(LIBPNG_VERSION).tar.xz LIBPNG_SITE = http://downloads.sourceforge.net/project/libpng/libpng$(LIBPNG_SERIES)/$(LIBPNG_VERSION) diff --git a/package/libpwquality/libpwquality.mk b/package/libpwquality/libpwquality.mk index f12e583b2..ba62cdfb0 100644 --- a/package/libpwquality/libpwquality.mk +++ b/package/libpwquality/libpwquality.mk @@ -23,7 +23,7 @@ LIBPWQUALITY_CONF_OPTS += --disable-python-bindings endif ifeq ($(BR2_PACKAGE_LINUX_PAM),y) -LIBPWQUALITY_CONF_OPTS += --enable-pam +LIBPWQUALITY_CONF_OPTS += --enable-pam --with-securedir=/lib/security LIBPWQUALITY_DEPENDENCIES += linux-pam else LIBPWQUALITY_CONF_OPTS += --disable-pam diff --git a/package/libressl/0004-CMakeLists-txt-Fix-HOST-variable-for-ppc64.patch b/package/libressl/0004-CMakeLists-txt-Fix-HOST-variable-for-ppc64.patch new file mode 100644 index 000000000..8da8fedae --- /dev/null +++ b/package/libressl/0004-CMakeLists-txt-Fix-HOST-variable-for-ppc64.patch @@ -0,0 +1,26 @@ +From e6c7de3f03c51fbdcf5ad88bf12fe9e128521f0d Mon Sep 17 00:00:00 2001 +From: OPNA2608 +Date: Fri, 19 Jul 2024 11:41:46 +0200 +Subject: [PATCH] CMakeLists.txt: Fix HOST variable for ppc64 + +The code here defined HOST_PPC64, but the rest of the build system expects HOST_POWERPC64. + +Upstream: https://github.com/libressl/portable/commit/e6c7de3f03c51fbdcf5ad88bf12fe9e128521f0d +Signed-off-by: Fabrice Fontaine +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c496ad97b5..670aa9a1a0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -373,7 +373,7 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "mips") + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "powerpc") + set(HOST_POWERPC true) + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64") +- set(HOST_PPC64 true) ++ set(HOST_POWERPC64 true) + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64") + set(HOST_RISCV64 true) + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "sparc64") diff --git a/package/libressl/libressl.hash b/package/libressl/libressl.hash index 40b49dbb8..5d3b54ea9 100644 --- a/package/libressl/libressl.hash +++ b/package/libressl/libressl.hash @@ -1,4 +1,4 @@ # From https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/SHA256 -sha256 6d4b8d5bbb25a1f8336639e56ec5088052d43a95256697a85c4ce91323c25954 libressl-3.8.2.tar.gz +sha256 c0cef9cfe174ac366ce482f542fddb07721e7fa0caface34b49a8720fa37fe7d libressl-3.8.4.tar.gz # Locally computed sha256 5c63613f008f16a9c0025c096bbd736cecf720494d121b5c5203e0ec6e5955b1 COPYING diff --git a/package/libressl/libressl.mk b/package/libressl/libressl.mk index b72f3b38c..1d90aa853 100644 --- a/package/libressl/libressl.mk +++ b/package/libressl/libressl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBRESSL_VERSION = 3.8.2 +LIBRESSL_VERSION = 3.8.4 LIBRESSL_SITE = https://ftp.openbsd.org/pub/OpenBSD/LibreSSL LIBRESSL_LICENSE = ISC (new additions), OpenSSL or SSLeay (original OpenSSL code) LIBRESSL_LICENSE_FILES = COPYING diff --git a/package/libsha1/0001-test-fix-gcc-14.x-compile-implicit-int.patch b/package/libsha1/0001-test-fix-gcc-14.x-compile-implicit-int.patch new file mode 100644 index 000000000..603a2b77a --- /dev/null +++ b/package/libsha1/0001-test-fix-gcc-14.x-compile-implicit-int.patch @@ -0,0 +1,39 @@ +From d449f26f782be91b3847f88ed2bd937582a575b6 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Sun, 25 Aug 2024 11:33:59 +0200 +Subject: [PATCH] test: fix gcc-14.x compile (implicit int) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes: + + test.c:14:8: error: type defaults to ‘int’ in declaration of ‘num_test’ [-Wimplicit-int] + 14 | static num_test; + | ^~~~~~~~ + +Signed-off-by: Peter Seiderer + +Upstream: https://github.com/dottedmag/libsha1/pull/1 + +Signed-off-by: Thomas Bonnefille +--- + test.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test.c b/test.c +index 21a6525..1ec89d3 100644 +--- a/test.c ++++ b/test.c +@@ -11,7 +11,7 @@ static void print_hex(const char* data, size_t size) + printf("%x%x", ((unsigned char)data[i])/16, ((unsigned char)data[i])%16); + } + +-static num_test; ++static int num_test; + + static int do_test(const char* data, size_t size, const char* expected_dgst) + { +-- +2.47.1 + diff --git a/package/libsndfile/0001-mat4-mat5-fix-int-overflow-in-dataend-calculation.patch b/package/libsndfile/0001-mat4-mat5-fix-int-overflow-in-dataend-calculation.patch new file mode 100644 index 000000000..79d521002 --- /dev/null +++ b/package/libsndfile/0001-mat4-mat5-fix-int-overflow-in-dataend-calculation.patch @@ -0,0 +1,45 @@ +From 0754562e13d2e63a248a1c82f90b30bc0ffe307c Mon Sep 17 00:00:00 2001 +From: Alex Stewart +Date: Tue, 10 Oct 2023 16:10:34 -0400 +Subject: [PATCH] mat4/mat5: fix int overflow in dataend calculation + +The clang sanitizer warns of a possible signed integer overflow when +calculating the `dataend` value in `mat4_read_header()`. + +``` +src/mat4.c:323:41: runtime error: signed integer overflow: 205 * -100663296 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior src/mat4.c:323:41 in +src/mat4.c:323:48: runtime error: signed integer overflow: 838860800 * 4 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior src/mat4.c:323:48 in +``` + +Cast the offending `rows` and `cols` ints to `sf_count_t` (the type of +`dataend` before performing the calculation, to avoid the issue. + +CVE: CVE-2022-33065 +Fixes: https://github.com/libsndfile/libsndfile/issues/789 +Fixes: https://github.com/libsndfile/libsndfile/issues/833 + +Signed-off-by: Alex Stewart +Upstream: https://github.com/libsndfile/libsndfile/commit/0754562e13d2e63a248a1c82f90b30bc0ffe307c +Signed-off-by: Peter Korsgaard +--- + src/mat4.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/mat4.c b/src/mat4.c +index 0b1b414b..575683ba 100644 +--- a/src/mat4.c ++++ b/src/mat4.c +@@ -320,7 +320,7 @@ mat4_read_header (SF_PRIVATE *psf) + psf->filelength - psf->dataoffset, psf->sf.channels * psf->sf.frames * psf->bytewidth) ; + } + else if ((psf->filelength - psf->dataoffset) > psf->sf.channels * psf->sf.frames * psf->bytewidth) +- psf->dataend = psf->dataoffset + rows * cols * psf->bytewidth ; ++ psf->dataend = psf->dataoffset + (sf_count_t) rows * (sf_count_t) cols * psf->bytewidth ; + + psf->datalength = psf->filelength - psf->dataoffset - psf->dataend ; + +-- +2.39.5 + diff --git a/package/libsndfile/0002-au-avoid-int-overflow-while-calculating-data_end.patch b/package/libsndfile/0002-au-avoid-int-overflow-while-calculating-data_end.patch new file mode 100644 index 000000000..28d8cfff6 --- /dev/null +++ b/package/libsndfile/0002-au-avoid-int-overflow-while-calculating-data_end.patch @@ -0,0 +1,58 @@ +From a5afea2e24080ddf5c7b8e26c29cdbd94ae8226b Mon Sep 17 00:00:00 2001 +From: Alex Stewart +Date: Wed, 11 Oct 2023 16:36:02 -0400 +Subject: [PATCH] au: avoid int overflow while calculating data_end + +At several points in au_read_header(), we calculate the functional end +of the data segment by adding the (int)au_fmt.dataoffset and the +(int)au_fmt.datasize. This can overflow the implicit int_32 return value +and cause undefined behavior. + +Instead, precalculate the value and assign it to a 64-bit +(sf_count_t)data_end variable. + +CVE: CVE-2022-33065 +Fixes: https://github.com/libsndfile/libsndfile/issues/833 + +Signed-off-by: Alex Stewart +Upstream: https://github.com/libsndfile/libsndfile/commit/a5afea2e24080ddf5c7b8e26c29cdbd94ae8226b +Signed-off-by: Peter Korsgaard +--- + src/au.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/src/au.c b/src/au.c +index 62bd691d..f68f2587 100644 +--- a/src/au.c ++++ b/src/au.c +@@ -291,6 +291,7 @@ static int + au_read_header (SF_PRIVATE *psf) + { AU_FMT au_fmt ; + int marker, dword ; ++ sf_count_t data_end ; + + memset (&au_fmt, 0, sizeof (au_fmt)) ; + psf_binheader_readf (psf, "pm", 0, &marker) ; +@@ -317,14 +318,15 @@ au_read_header (SF_PRIVATE *psf) + return SFE_AU_EMBED_BAD_LEN ; + } ; + ++ data_end = (sf_count_t) au_fmt.dataoffset + (sf_count_t) au_fmt.datasize ; + if (psf->fileoffset > 0) +- { psf->filelength = au_fmt.dataoffset + au_fmt.datasize ; ++ { psf->filelength = data_end ; + psf_log_printf (psf, " Data Size : %d\n", au_fmt.datasize) ; + } +- else if (au_fmt.datasize == -1 || au_fmt.dataoffset + au_fmt.datasize == psf->filelength) ++ else if (au_fmt.datasize == -1 || data_end == psf->filelength) + psf_log_printf (psf, " Data Size : %d\n", au_fmt.datasize) ; +- else if (au_fmt.dataoffset + au_fmt.datasize < psf->filelength) +- { psf->filelength = au_fmt.dataoffset + au_fmt.datasize ; ++ else if (data_end < psf->filelength) ++ { psf->filelength = data_end ; + psf_log_printf (psf, " Data Size : %d\n", au_fmt.datasize) ; + } + else +-- +2.39.5 + diff --git a/package/libsndfile/0003-avr-fix-int-overflow-in-avr_read_header.patch b/package/libsndfile/0003-avr-fix-int-overflow-in-avr_read_header.patch new file mode 100644 index 000000000..f50e4fb55 --- /dev/null +++ b/package/libsndfile/0003-avr-fix-int-overflow-in-avr_read_header.patch @@ -0,0 +1,34 @@ +From 2f8eece78cc8b4dce6c95b3045867f0936714db8 Mon Sep 17 00:00:00 2001 +From: Alex Stewart +Date: Wed, 11 Oct 2023 16:46:29 -0400 +Subject: [PATCH] avr: fix int overflow in avr_read_header() + +Pre-cast hdr.frames to sf_count_t, to provide the calculation with +enough numeric space to avoid an int-overflow. + +CVE: CVE-2022-33065 +Fixes: https://github.com/libsndfile/libsndfile/issues/833 + +Signed-off-by: Alex Stewart +Upstream: https://github.com/libsndfile/libsndfile/commit/2f8eece78cc8b4dce6c95b3045867f0936714db8 +Signed-off-by: Peter Korsgaard +--- + src/avr.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/avr.c b/src/avr.c +index 6c78ff69..1bc1ffc9 100644 +--- a/src/avr.c ++++ b/src/avr.c +@@ -162,7 +162,7 @@ avr_read_header (SF_PRIVATE *psf) + psf->endian = SF_ENDIAN_BIG ; + + psf->dataoffset = AVR_HDR_SIZE ; +- psf->datalength = hdr.frames * (hdr.rez / 8) ; ++ psf->datalength = (sf_count_t) hdr.frames * (hdr.rez / 8) ; + + if (psf->fileoffset > 0) + psf->filelength = AVR_HDR_SIZE + psf->datalength ; +-- +2.39.5 + diff --git a/package/libsndfile/0004-sds-fix-int-overflow-warning-in-sample-calculations.patch b/package/libsndfile/0004-sds-fix-int-overflow-warning-in-sample-calculations.patch new file mode 100644 index 000000000..c93b1006d --- /dev/null +++ b/package/libsndfile/0004-sds-fix-int-overflow-warning-in-sample-calculations.patch @@ -0,0 +1,61 @@ +From 2e9f71dd5d5c85b5bd4a0573d1fa05b5b89b33a7 Mon Sep 17 00:00:00 2001 +From: Alex Stewart +Date: Wed, 11 Oct 2023 16:54:21 -0400 +Subject: [PATCH] sds: fix int overflow warning in sample calculations + +The sds_*byte_read() functions compose their uint_32 sample buffers by +shifting 7bit samples into a 32bit wide buffer, and adding them +together. Because the 7bit samples are stored in 32bit ints, code +fuzzers become concerned that the addition operation can overflow and +cause undefined behavior. + +Instead, bitwise-OR the bytes together - which should accomplish the +same arithmetic operation, without risking an int-overflow. + +CVE: CVE-2022-33065 +Fixes: https://github.com/libsndfile/libsndfile/issues/833 + +Signed-off-by: Alex Stewart + +Do the same for the 3byte and 4byte read functions. + +Upstream: https://github.com/libsndfile/libsndfile/commit/2e9f71dd5d5c85b5bd4a0573d1fa05b5b89b33a7 +Signed-off-by: Peter Korsgaard +--- + src/sds.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/sds.c b/src/sds.c +index 6bc76171..2a0f164c 100644 +--- a/src/sds.c ++++ b/src/sds.c +@@ -454,7 +454,7 @@ sds_2byte_read (SF_PRIVATE *psf, SDS_PRIVATE *psds) + + ucptr = psds->read_data + 5 ; + for (k = 0 ; k < 120 ; k += 2) +- { sample = arith_shift_left (ucptr [k], 25) + arith_shift_left (ucptr [k + 1], 18) ; ++ { sample = arith_shift_left (ucptr [k], 25) | arith_shift_left (ucptr [k + 1], 18) ; + psds->read_samples [k / 2] = (int) (sample - 0x80000000) ; + } ; + +@@ -498,7 +498,7 @@ sds_3byte_read (SF_PRIVATE *psf, SDS_PRIVATE *psds) + + ucptr = psds->read_data + 5 ; + for (k = 0 ; k < 120 ; k += 3) +- { sample = (((uint32_t) ucptr [k]) << 25) + (ucptr [k + 1] << 18) + (ucptr [k + 2] << 11) ; ++ { sample = (((uint32_t) ucptr [k]) << 25) | (ucptr [k + 1] << 18) | (ucptr [k + 2] << 11) ; + psds->read_samples [k / 3] = (int) (sample - 0x80000000) ; + } ; + +@@ -542,7 +542,7 @@ sds_4byte_read (SF_PRIVATE *psf, SDS_PRIVATE *psds) + + ucptr = psds->read_data + 5 ; + for (k = 0 ; k < 120 ; k += 4) +- { sample = (((uint32_t) ucptr [k]) << 25) + (ucptr [k + 1] << 18) + (ucptr [k + 2] << 11) + (ucptr [k + 3] << 4) ; ++ { sample = (((uint32_t) ucptr [k]) << 25) | (ucptr [k + 1] << 18) | (ucptr [k + 2] << 11) | (ucptr [k + 3] << 4) ; + psds->read_samples [k / 4] = (int) (sample - 0x80000000) ; + } ; + +-- +2.39.5 + diff --git a/package/libsndfile/0005-aiff-fix-int-overflow-when-counting-header-elements.patch b/package/libsndfile/0005-aiff-fix-int-overflow-when-counting-header-elements.patch new file mode 100644 index 000000000..5efb6f236 --- /dev/null +++ b/package/libsndfile/0005-aiff-fix-int-overflow-when-counting-header-elements.patch @@ -0,0 +1,39 @@ +From 187451dbd3c044f9a76b6c1d950d458de0103180 Mon Sep 17 00:00:00 2001 +From: Alex Stewart +Date: Wed, 11 Oct 2023 17:26:51 -0400 +Subject: [PATCH] aiff: fix int overflow when counting header elements + +aiff_read_basc_chunk() tries to count the AIFF header size by keeping +track of the bytes returned by psf_binheader_readf(). Though improbable, +it is technically possible for these added bytes to exceed the int-sized +`count` accumulator. + +Use a 64-bit sf_count_t type for `count`, to ensure that it always has +enough numeric space. + +CVE: CVE-2022-33065 +Fixes: https://github.com/libsndfile/libsndfile/issues/833 + +Signed-off-by: Alex Stewart +Upstream: https://github.com/libsndfile/libsndfile/commit/187451dbd3c044f9a76b6c1d950d458de0103180 +Signed-off-by: Peter Korsgaard +--- + src/aiff.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/aiff.c b/src/aiff.c +index ac3655e9..6d8f1bc8 100644 +--- a/src/aiff.c ++++ b/src/aiff.c +@@ -1702,7 +1702,7 @@ static int + aiff_read_basc_chunk (SF_PRIVATE * psf, int datasize) + { const char * type_str ; + basc_CHUNK bc ; +- int count ; ++ sf_count_t count ; + + count = psf_binheader_readf (psf, "E442", &bc.version, &bc.numBeats, &bc.rootNote) ; + count += psf_binheader_readf (psf, "E222", &bc.scaleType, &bc.sigNumerator, &bc.sigDenominator) ; +-- +2.39.5 + diff --git a/package/libsndfile/0006-ircam-fix-int-overflow-in-ircam_read_header.patch b/package/libsndfile/0006-ircam-fix-int-overflow-in-ircam_read_header.patch new file mode 100644 index 000000000..b240a38e2 --- /dev/null +++ b/package/libsndfile/0006-ircam-fix-int-overflow-in-ircam_read_header.patch @@ -0,0 +1,82 @@ +From 5d5319300587e3d4a146332a2f48674ceb8a0257 Mon Sep 17 00:00:00 2001 +From: Alex Stewart +Date: Wed, 11 Oct 2023 17:43:02 -0400 +Subject: [PATCH] ircam: fix int overflow in ircam_read_header() + +When reading the IRCAM header, it is possible for the calculated +blockwidth to exceed the bounds of a signed int32. + +Use a 64bit sf_count_t to store the blockwidth. + +CVE: CVE-2022-33065 +Fixes: https://github.com/libsndfile/libsndfile/issues/833 + +Signed-off-by: Alex Stewart +Upstream: https://github.com/libsndfile/libsndfile/commit/5d5319300587e3d4a146332a2f48674ceb8a0257 +Signed-off-by: Peter Korsgaard +--- + src/common.h | 2 +- + src/ircam.c | 10 +++++----- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/common.h b/src/common.h +index cd9ac8b0..01f6ae09 100644 +--- a/src/common.h ++++ b/src/common.h +@@ -439,7 +439,7 @@ typedef struct sf_private_tag + sf_count_t datalength ; /* Length in bytes of the audio data. */ + sf_count_t dataend ; /* Offset to file tailer. */ + +- int blockwidth ; /* Size in bytes of one set of interleaved samples. */ ++ sf_count_t blockwidth ; /* Size in bytes of one set of interleaved samples. */ + int bytewidth ; /* Size in bytes of one sample (one channel). */ + + void *dither ; +diff --git a/src/ircam.c b/src/ircam.c +index 8e7cdba8..3d73ba44 100644 +--- a/src/ircam.c ++++ b/src/ircam.c +@@ -171,35 +171,35 @@ ircam_read_header (SF_PRIVATE *psf) + switch (encoding) + { case IRCAM_PCM_16 : + psf->bytewidth = 2 ; +- psf->blockwidth = psf->sf.channels * psf->bytewidth ; ++ psf->blockwidth = (sf_count_t) psf->sf.channels * psf->bytewidth ; + + psf->sf.format = SF_FORMAT_IRCAM | SF_FORMAT_PCM_16 ; + break ; + + case IRCAM_PCM_32 : + psf->bytewidth = 4 ; +- psf->blockwidth = psf->sf.channels * psf->bytewidth ; ++ psf->blockwidth = (sf_count_t) psf->sf.channels * psf->bytewidth ; + + psf->sf.format = SF_FORMAT_IRCAM | SF_FORMAT_PCM_32 ; + break ; + + case IRCAM_FLOAT : + psf->bytewidth = 4 ; +- psf->blockwidth = psf->sf.channels * psf->bytewidth ; ++ psf->blockwidth = (sf_count_t) psf->sf.channels * psf->bytewidth ; + + psf->sf.format = SF_FORMAT_IRCAM | SF_FORMAT_FLOAT ; + break ; + + case IRCAM_ALAW : + psf->bytewidth = 1 ; +- psf->blockwidth = psf->sf.channels * psf->bytewidth ; ++ psf->blockwidth = (sf_count_t) psf->sf.channels * psf->bytewidth ; + + psf->sf.format = SF_FORMAT_IRCAM | SF_FORMAT_ALAW ; + break ; + + case IRCAM_ULAW : + psf->bytewidth = 1 ; +- psf->blockwidth = psf->sf.channels * psf->bytewidth ; ++ psf->blockwidth = (sf_count_t) psf->sf.channels * psf->bytewidth ; + + psf->sf.format = SF_FORMAT_IRCAM | SF_FORMAT_ULAW ; + break ; +-- +2.39.5 + diff --git a/package/libsndfile/0007-mat4-mat5-fix-int-overflow-when-calculating-blockwid.patch b/package/libsndfile/0007-mat4-mat5-fix-int-overflow-when-calculating-blockwid.patch new file mode 100644 index 000000000..ef4d6c0f0 --- /dev/null +++ b/package/libsndfile/0007-mat4-mat5-fix-int-overflow-when-calculating-blockwid.patch @@ -0,0 +1,48 @@ +From 39f2a4ffe5ab77d1cadc2057c2db046a9a3d5d65 Mon Sep 17 00:00:00 2001 +From: Alex Stewart +Date: Wed, 11 Oct 2023 16:12:22 -0400 +Subject: [PATCH] mat4/mat5: fix int overflow when calculating blockwidth + +Pre-cast the components of the blockwidth calculation to sf_count_t to +avoid overflowing integers during calculation. + +CVE: CVE-2022-33065 +Fixes: https://github.com/libsndfile/libsndfile/issues/833 + +Signed-off-by: Alex Stewart +Upstream: https://github.com/libsndfile/libsndfile/commit/39f2a4ffe5ab77d1cadc2057c2db046a9a3d5d65 +Signed-off-by: Peter Korsgaard +--- + src/mat4.c | 2 +- + src/mat5.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/mat4.c b/src/mat4.c +index 575683ba..9f046f0c 100644 +--- a/src/mat4.c ++++ b/src/mat4.c +@@ -104,7 +104,7 @@ mat4_open (SF_PRIVATE *psf) + + psf->container_close = mat4_close ; + +- psf->blockwidth = psf->bytewidth * psf->sf.channels ; ++ psf->blockwidth = (sf_count_t) psf->bytewidth * psf->sf.channels ; + + switch (subformat) + { case SF_FORMAT_PCM_16 : +diff --git a/src/mat5.c b/src/mat5.c +index da5a6eca..20f0ea64 100644 +--- a/src/mat5.c ++++ b/src/mat5.c +@@ -114,7 +114,7 @@ mat5_open (SF_PRIVATE *psf) + + psf->container_close = mat5_close ; + +- psf->blockwidth = psf->bytewidth * psf->sf.channels ; ++ psf->blockwidth = (sf_count_t) psf->bytewidth * psf->sf.channels ; + + switch (subformat) + { case SF_FORMAT_PCM_U8 : +-- +2.39.5 + diff --git a/package/libsndfile/0008-common-fix-int-overflow-in-psf_binheader_readf.patch b/package/libsndfile/0008-common-fix-int-overflow-in-psf_binheader_readf.patch new file mode 100644 index 000000000..c9b6ff18f --- /dev/null +++ b/package/libsndfile/0008-common-fix-int-overflow-in-psf_binheader_readf.patch @@ -0,0 +1,181 @@ +From 6be8906740cdca067f12920bb4a63f728485aff0 Mon Sep 17 00:00:00 2001 +From: Alex Stewart +Date: Mon, 16 Oct 2023 12:37:47 -0400 +Subject: [PATCH] common: fix int overflow in psf_binheader_readf() + +The psf_binheader_readf() function attempts to count and return the +number of bytes traversed in the header. During this accumulation, it is +possible to overflow the int-sized byte_count variable. + +Avoid this overflow by checking that the accumulated bytes do not exceed +INT_MAX and throwing an error if they do. This implies that files with +multi-gigabyte headers threaten to produce this error, but I imagine +those files don't really exist - and this error is better than the +undefined behavior which would have resulted previously. + +CVE: CVE-2022-33065 +Fixes: https://github.com/libsndfile/libsndfile/issues/833 + +Signed-off-by: Alex Stewart +Upstream: https://github.com/libsndfile/libsndfile/commit/6be8906740cdca067f12920bb4a63f728485aff0 +Signed-off-by: Peter Korsgaard +--- + src/common.c | 36 ++++++++++++++++++++++++------------ + 1 file changed, 24 insertions(+), 12 deletions(-) + +diff --git a/src/common.c b/src/common.c +index b877aa86..8982379a 100644 +--- a/src/common.c ++++ b/src/common.c +@@ -18,6 +18,7 @@ + + #include + ++#include + #include + #include + #if HAVE_UNISTD_H +@@ -990,6 +991,7 @@ psf_binheader_readf (SF_PRIVATE *psf, char const *format, ...) + double *doubleptr ; + char c ; + int byte_count = 0, count = 0 ; ++ int read_bytes = 0 ; + + if (! format) + return psf_ftell (psf) ; +@@ -998,6 +1000,7 @@ psf_binheader_readf (SF_PRIVATE *psf, char const *format, ...) + + while ((c = *format++)) + { ++ read_bytes = 0 ; + if (psf->header.indx + 16 >= psf->header.len && psf_bump_header_allocation (psf, 16)) + break ; + +@@ -1014,7 +1017,7 @@ psf_binheader_readf (SF_PRIVATE *psf, char const *format, ...) + intptr = va_arg (argptr, unsigned int*) ; + *intptr = 0 ; + ucptr = (unsigned char*) intptr ; +- byte_count += header_read (psf, ucptr, sizeof (int)) ; ++ read_bytes = header_read (psf, ucptr, sizeof (int)) ; + *intptr = GET_MARKER (ucptr) ; + break ; + +@@ -1022,7 +1025,7 @@ psf_binheader_readf (SF_PRIVATE *psf, char const *format, ...) + intptr = va_arg (argptr, unsigned int*) ; + *intptr = 0 ; + ucptr = (unsigned char*) intptr ; +- byte_count += header_read (psf, sixteen_bytes, sizeof (sixteen_bytes)) ; ++ read_bytes = header_read (psf, sixteen_bytes, sizeof (sixteen_bytes)) ; + { int k ; + intdata = 0 ; + for (k = 0 ; k < 16 ; k++) +@@ -1034,14 +1037,14 @@ psf_binheader_readf (SF_PRIVATE *psf, char const *format, ...) + case '1' : + charptr = va_arg (argptr, char*) ; + *charptr = 0 ; +- byte_count += header_read (psf, charptr, sizeof (char)) ; ++ read_bytes = header_read (psf, charptr, sizeof (char)) ; + break ; + + case '2' : /* 2 byte value with the current endian-ness */ + shortptr = va_arg (argptr, unsigned short*) ; + *shortptr = 0 ; + ucptr = (unsigned char*) shortptr ; +- byte_count += header_read (psf, ucptr, sizeof (short)) ; ++ read_bytes = header_read (psf, ucptr, sizeof (short)) ; + if (psf->rwf_endian == SF_ENDIAN_BIG) + *shortptr = GET_BE_SHORT (ucptr) ; + else +@@ -1051,7 +1054,7 @@ psf_binheader_readf (SF_PRIVATE *psf, char const *format, ...) + case '3' : /* 3 byte value with the current endian-ness */ + intptr = va_arg (argptr, unsigned int*) ; + *intptr = 0 ; +- byte_count += header_read (psf, sixteen_bytes, 3) ; ++ read_bytes = header_read (psf, sixteen_bytes, 3) ; + if (psf->rwf_endian == SF_ENDIAN_BIG) + *intptr = GET_BE_3BYTE (sixteen_bytes) ; + else +@@ -1062,7 +1065,7 @@ psf_binheader_readf (SF_PRIVATE *psf, char const *format, ...) + intptr = va_arg (argptr, unsigned int*) ; + *intptr = 0 ; + ucptr = (unsigned char*) intptr ; +- byte_count += header_read (psf, ucptr, sizeof (int)) ; ++ read_bytes = header_read (psf, ucptr, sizeof (int)) ; + if (psf->rwf_endian == SF_ENDIAN_BIG) + *intptr = psf_get_be32 (ucptr, 0) ; + else +@@ -1072,7 +1075,7 @@ psf_binheader_readf (SF_PRIVATE *psf, char const *format, ...) + case '8' : /* 8 byte value with the current endian-ness */ + countptr = va_arg (argptr, sf_count_t *) ; + *countptr = 0 ; +- byte_count += header_read (psf, sixteen_bytes, 8) ; ++ read_bytes = header_read (psf, sixteen_bytes, 8) ; + if (psf->rwf_endian == SF_ENDIAN_BIG) + countdata = psf_get_be64 (sixteen_bytes, 0) ; + else +@@ -1083,7 +1086,7 @@ psf_binheader_readf (SF_PRIVATE *psf, char const *format, ...) + case 'f' : /* Float conversion */ + floatptr = va_arg (argptr, float *) ; + *floatptr = 0.0 ; +- byte_count += header_read (psf, floatptr, sizeof (float)) ; ++ read_bytes = header_read (psf, floatptr, sizeof (float)) ; + if (psf->rwf_endian == SF_ENDIAN_BIG) + *floatptr = float32_be_read ((unsigned char*) floatptr) ; + else +@@ -1093,7 +1096,7 @@ psf_binheader_readf (SF_PRIVATE *psf, char const *format, ...) + case 'd' : /* double conversion */ + doubleptr = va_arg (argptr, double *) ; + *doubleptr = 0.0 ; +- byte_count += header_read (psf, doubleptr, sizeof (double)) ; ++ read_bytes = header_read (psf, doubleptr, sizeof (double)) ; + if (psf->rwf_endian == SF_ENDIAN_BIG) + *doubleptr = double64_be_read ((unsigned char*) doubleptr) ; + else +@@ -1117,7 +1120,7 @@ psf_binheader_readf (SF_PRIVATE *psf, char const *format, ...) + charptr = va_arg (argptr, char*) ; + count = va_arg (argptr, size_t) ; + memset (charptr, 0, count) ; +- byte_count += header_read (psf, charptr, count) ; ++ read_bytes = header_read (psf, charptr, count) ; + break ; + + case 'G' : +@@ -1128,7 +1131,7 @@ psf_binheader_readf (SF_PRIVATE *psf, char const *format, ...) + if (psf->header.indx + count >= psf->header.len && psf_bump_header_allocation (psf, count)) + break ; + +- byte_count += header_gets (psf, charptr, count) ; ++ read_bytes = header_gets (psf, charptr, count) ; + break ; + + case 'z' : +@@ -1152,7 +1155,7 @@ psf_binheader_readf (SF_PRIVATE *psf, char const *format, ...) + case 'j' : /* Seek to position from current position. */ + count = va_arg (argptr, size_t) ; + header_seek (psf, count, SEEK_CUR) ; +- byte_count += count ; ++ read_bytes = count ; + break ; + + case '!' : /* Clear buffer, forcing re-read. */ +@@ -1164,8 +1167,17 @@ psf_binheader_readf (SF_PRIVATE *psf, char const *format, ...) + psf->error = SFE_INTERNAL ; + break ; + } ; ++ ++ if (read_bytes > 0 && byte_count > (INT_MAX - read_bytes)) ++ { psf_log_printf (psf, "Header size exceeds INT_MAX. Aborting.", c) ; ++ psf->error = SFE_INTERNAL ; ++ break ; ++ } else ++ { byte_count += read_bytes ; + } ; + ++ } ; /*end while*/ ++ + va_end (argptr) ; + + return byte_count ; +-- +2.39.5 + diff --git a/package/libsndfile/0009-nms_adpcm-fix-int-overflow-in-signal-estimate.patch b/package/libsndfile/0009-nms_adpcm-fix-int-overflow-in-signal-estimate.patch new file mode 100644 index 000000000..266fa661b --- /dev/null +++ b/package/libsndfile/0009-nms_adpcm-fix-int-overflow-in-signal-estimate.patch @@ -0,0 +1,233 @@ +From 71565532463b22c24824101845a533a67bff4c9c Mon Sep 17 00:00:00 2001 +From: Alex Stewart +Date: Thu, 19 Oct 2023 14:07:19 -0400 +Subject: [PATCH] nms_adpcm: fix int overflow in signal estimate + +It is possible (though functionally incorrect) for the signal estimate +calculation in nms_adpcm_update() to overflow the int value of s_e, +resulting in undefined behavior. + +Since adpcm state signal values are never practically larger than +16 bits, use smaller numeric sizes throughout the file to avoid the +overflow. + +CVE: CVE-2022-33065 +Fixes: https://github.com/libsndfile/libsndfile/issues/833 + +Authored-by: Arthur Taylor +Signed-off-by: Alex Stewart +Upstream: https://github.com/libsndfile/libsndfile/commit/71565532463b22c24824101845a533a67bff4c9c +[Peter: adjust for 1.2.2] +Signed-off-by: Peter Korsgaard +--- + src/nms_adpcm.c | 81 ++++++++++++++++++++++++------------------------- + 1 file changed, 40 insertions(+), 41 deletions(-) + +diff --git a/src/nms_adpcm.c b/src/nms_adpcm.c +index 5999be1f..dca85f0b 100644 +--- a/src/nms_adpcm.c ++++ b/src/nms_adpcm.c +@@ -48,36 +48,36 @@ + /* Variable names from ITU G.726 spec */ + struct nms_adpcm_state + { /* Log of the step size multiplier. Operated on by codewords. */ +- int yl ; ++ short yl ; + + /* Quantizer step size multiplier. Generated from yl. */ +- int y ; ++ short y ; + + /* Coefficents of the pole predictor */ +- int a [2] ; ++ short a [2] ; + + /* Coefficents of the zero predictor */ +- int b [6] ; ++ short b [6] ; + + /* Previous quantized deltas (multiplied by 2^14) */ +- int d_q [7] ; ++ short d_q [7] ; + + /* d_q [x] + s_ez [x], used by the pole-predictor for signs only. */ +- int p [3] ; ++ short p [3] ; + + /* Previous reconstructed signal values. */ +- int s_r [2] ; ++ short s_r [2] ; + + /* Zero predictor components of the signal estimate. */ +- int s_ez ; ++ short s_ez ; + + /* Signal estimate, (including s_ez). */ +- int s_e ; ++ short s_e ; + + /* The most recent codeword (enc:generated, dec:inputted) */ +- int Ik ; ++ char Ik ; + +- int parity ; ++ char parity ; + + /* + ** Offset into code tables for the bitrate. +@@ -109,7 +109,7 @@ typedef struct + } NMS_ADPCM_PRIVATE ; + + /* Pre-computed exponential interval used in the antilog approximation. */ +-static unsigned int table_expn [] = ++static unsigned short table_expn [] = + { 0x4000, 0x4167, 0x42d5, 0x444c, 0x45cb, 0x4752, 0x48e2, 0x4a7a, + 0x4c1b, 0x4dc7, 0x4f7a, 0x5138, 0x52ff, 0x54d1, 0x56ac, 0x5892, + 0x5a82, 0x5c7e, 0x5e84, 0x6096, 0x62b4, 0x64dd, 0x6712, 0x6954, +@@ -117,21 +117,21 @@ static unsigned int table_expn [] = + } ; + + /* Table mapping codewords to scale factor deltas. */ +-static int table_scale_factor_step [] = ++static short table_scale_factor_step [] = + { 0x0, 0x0, 0x0, 0x0, 0x4b0, 0x0, 0x0, 0x0, /* 2-bit */ + -0x3c, 0x0, 0x90, 0x0, 0x2ee, 0x0, 0x898, 0x0, /* 3-bit */ + -0x30, 0x12, 0x6b, 0xc8, 0x188, 0x2e0, 0x551, 0x1150, /* 4-bit */ + } ; + + /* Table mapping codewords to quantized delta interval steps. */ +-static unsigned int table_step [] = ++static unsigned short table_step [] = + { 0x73F, 0, 0, 0, 0x1829, 0, 0, 0, /* 2-bit */ + 0x3EB, 0, 0xC18, 0, 0x1581, 0, 0x226E, 0, /* 3-bit */ + 0x20C, 0x635, 0xA83, 0xF12, 0x1418, 0x19E3, 0x211A, 0x2BBA, /* 4-bit */ + } ; + + /* Binary search lookup table for quantizing using table_step. */ +-static int table_step_search [] = ++static short table_step_search [] = + { 0, 0x1F6D, 0, -0x1F6D, 0, 0, 0, 0, /* 2-bit */ + 0x1008, 0x1192, 0, -0x219A, 0x1656, -0x1656, 0, 0, /* 3-bit */ + 0x872, 0x1277, -0x8E6, -0x232B, 0xD06, -0x17D7, -0x11D3, 0, /* 4-bit */ +@@ -179,23 +179,23 @@ static sf_count_t nms_adpcm_seek (SF_PRIVATE *psf, int mode, sf_count_t offset) + ** Maps [1,20480] to [1,1024] in an exponential relationship. This is + ** approximately ret = b^exp where b = e^(ln(1024)/ln(20480)) ~= 1.0003385 + */ +-static inline int +-nms_adpcm_antilog (int exp) +-{ int ret ; ++static inline short ++nms_adpcm_antilog (short exp) ++{ int_fast32_t r ; + +- ret = 0x1000 ; +- ret += (((exp & 0x3f) * 0x166b) >> 12) ; +- ret *= table_expn [(exp & 0x7c0) >> 6] ; +- ret >>= (26 - (exp >> 11)) ; ++ r = 0x1000 ; ++ r += (((int_fast32_t) (exp & 0x3f) * 0x166b) >> 12) ; ++ r *= table_expn [(exp & 0x7c0) >> 6] ; ++ r >>= (26 - (exp >> 11)) ; + +- return ret ; ++ return (short) r ; + } /* nms_adpcm_antilog */ + + static void + nms_adpcm_update (struct nms_adpcm_state *s) + { /* Variable names from ITU G.726 spec */ +- int a1ul ; +- int fa1 ; ++ short a1ul, fa1 ; ++ int_fast32_t se ; + int i ; + + /* Decay and Modify the scale factor in the log domain based on the codeword. */ +@@ -222,7 +222,7 @@ nms_adpcm_update (struct nms_adpcm_state *s) + else if (fa1 > 256) + fa1 = 256 ; + +- s->a [0] = (0xff * s->a [0]) >> 8 ; ++ s->a [0] = (s->a [0] * 0xff) >> 8 ; + if (s->p [0] != 0 && s->p [1] != 0 && ((s->p [0] ^ s->p [1]) < 0)) + s->a [0] -= 192 ; + else +@@ -230,7 +230,7 @@ nms_adpcm_update (struct nms_adpcm_state *s) + fa1 = -fa1 ; + } + +- s->a [1] = fa1 + ((0xfe * s->a [1]) >> 8) ; ++ s->a [1] = fa1 + ((s->a [1] * 0xfe) >> 8) ; + if (s->p [0] != 0 && s->p [2] != 0 && ((s->p [0] ^ s->p [2]) < 0)) + s->a [1] -= 128 ; + else +@@ -250,19 +250,18 @@ nms_adpcm_update (struct nms_adpcm_state *s) + s->a [0] = a1ul ; + } ; + +- /* Compute the zero predictor estimate. Rotate past deltas too. */ +- s->s_ez = 0 ; ++ /* Compute the zero predictor estimate and rotate past deltas. */ ++ se = 0 ; + for (i = 5 ; i >= 0 ; i--) +- { s->s_ez += s->d_q [i] * s->b [i] ; ++ { se += (int_fast32_t) s->d_q [i] * s->b [i] ; + s->d_q [i + 1] = s->d_q [i] ; + } ; ++ s->s_ez = se >> 14 ; + +- /* Compute the signal estimate. */ +- s->s_e = s->a [0] * s->s_r [0] + s->a [1] * s->s_r [1] + s->s_ez ; +- +- /* Return to scale */ +- s->s_ez >>= 14 ; +- s->s_e >>= 14 ; ++ /* Complete the signal estimate. */ ++ se += (int_fast32_t) s->a [0] * s->s_r [0] ; ++ se += (int_fast32_t) s->a [1] * s->s_r [1] ; ++ s->s_e = se >> 14 ; + + /* Rotate members to prepare for next iteration. */ + s->s_r [1] = s->s_r [0] ; +@@ -274,7 +273,7 @@ nms_adpcm_update (struct nms_adpcm_state *s) + static int16_t + nms_adpcm_reconstruct_sample (struct nms_adpcm_state *s, uint8_t I) + { /* Variable names from ITU G.726 spec */ +- int dqx ; ++ int_fast32_t dqx ; + + /* + ** The ordering of the 12-bit right-shift is a precision loss. It agrees +@@ -308,17 +307,17 @@ nms_adpcm_codec_init (struct nms_adpcm_state *s, enum nms_enc_type type) + /* + ** nms_adpcm_encode_sample() + ** +-** Encode a linear 16-bit pcm sample into a 2,3, or 4 bit NMS-ADPCM codeword ++** Encode a linear 16-bit pcm sample into a 2, 3, or 4 bit NMS-ADPCM codeword + ** using and updating the predictor state. + */ + static uint8_t + nms_adpcm_encode_sample (struct nms_adpcm_state *s, int16_t sl) + { /* Variable names from ITU G.726 spec */ +- int d ; ++ int_fast32_t d ; + uint8_t I ; + + /* Down scale the sample from 16 => ~14 bits. */ +- sl = (sl * 0x1fdf) / 0x7fff ; ++ sl = ((int_fast32_t) sl * 0x1fdf) / 0x7fff ; + + /* Compute estimate, and delta from actual value */ + nms_adpcm_update (s) ; +@@ -407,7 +406,7 @@ nms_adpcm_encode_sample (struct nms_adpcm_state *s, int16_t sl) + */ + static int16_t + nms_adpcm_decode_sample (struct nms_adpcm_state *s, uint8_t I) +-{ int sl ; ++{ int_fast32_t sl ; + + nms_adpcm_update (s) ; + sl = nms_adpcm_reconstruct_sample (s, I) ; +-- +2.39.5 + diff --git a/package/libsndfile/0010-nms_adpcm-fix-int-overflow-in-sf.frames-calc.patch b/package/libsndfile/0010-nms_adpcm-fix-int-overflow-in-sf.frames-calc.patch new file mode 100644 index 000000000..0763a53de --- /dev/null +++ b/package/libsndfile/0010-nms_adpcm-fix-int-overflow-in-sf.frames-calc.patch @@ -0,0 +1,39 @@ +From 3fb27a2c93a11dd3321b0b13140d89ebb39060cb Mon Sep 17 00:00:00 2001 +From: Alex Stewart +Date: Tue, 17 Oct 2023 11:50:53 -0400 +Subject: [PATCH] nms_adpcm: fix int overflow in sf.frames calc + +When calculating sf.frames from the blocks_total PNMS variable, it is +theoretically possible to overflow the blocks_total int boundaries, +leading to undefined behavior. + +Cast blocks_total to a long-sized sf_count_t before the calculation, to +provide it with enough numeric space and because that is the final +typing regardless. + +CVE: CVE-2022-33065 +Fixes: https://github.com/libsndfile/libsndfile/issues/833 + +Signed-off-by: Alex Stewart +Upstream: https://github.com/libsndfile/libsndfile/commit/3fb27a2c93a11dd3321b0b13140d89ebb39060cb +Signed-off-by: Peter Korsgaard +--- + src/nms_adpcm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/nms_adpcm.c b/src/nms_adpcm.c +index dca85f0b..61d171c7 100644 +--- a/src/nms_adpcm.c ++++ b/src/nms_adpcm.c +@@ -1090,7 +1090,7 @@ nms_adpcm_init (SF_PRIVATE *psf) + else + pnms->blocks_total = psf->datalength / (pnms->shortsperblock * sizeof (short)) ; + +- psf->sf.frames = pnms->blocks_total * NMS_SAMPLES_PER_BLOCK ; ++ psf->sf.frames = (sf_count_t) pnms->blocks_total * NMS_SAMPLES_PER_BLOCK ; + psf->codec_close = nms_adpcm_close ; + psf->seek = nms_adpcm_seek ; + +-- +2.39.5 + diff --git a/package/libsndfile/0011-pcm-fix-int-overflow-in-pcm_init.patch b/package/libsndfile/0011-pcm-fix-int-overflow-in-pcm_init.patch new file mode 100644 index 000000000..aa30090a6 --- /dev/null +++ b/package/libsndfile/0011-pcm-fix-int-overflow-in-pcm_init.patch @@ -0,0 +1,35 @@ +From 09f8f8d5544d98a5a2d28504c02314a2a816ac37 Mon Sep 17 00:00:00 2001 +From: Alex Stewart +Date: Tue, 17 Oct 2023 11:57:23 -0400 +Subject: [PATCH] pcm: fix int overflow in pcm_init() + +Cast the int-sized bytewidth variable to a long-sized sf_count_t type +prior to calculating the blockwidth, to provide the calculation with +enough numeric space and sf_count_t is the final typing regardless. + +CVE: CVE-2022-33065 +Fixes: https://github.com/libsndfile/libsndfile/issues/833 + +Signed-off-by: Alex Stewart +Upstream: https://github.com/libsndfile/libsndfile/commit/09f8f8d5544d98a5a2d28504c02314a2a816ac37 +Signed-off-by: Peter Korsgaard +--- + src/pcm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/pcm.c b/src/pcm.c +index bdf46183..a42e4868 100644 +--- a/src/pcm.c ++++ b/src/pcm.c +@@ -127,7 +127,7 @@ pcm_init (SF_PRIVATE *psf) + return SFE_INTERNAL ; + } ; + +- psf->blockwidth = psf->bytewidth * psf->sf.channels ; ++ psf->blockwidth = (sf_count_t) psf->bytewidth * psf->sf.channels ; + + if ((SF_CODEC (psf->sf.format)) == SF_FORMAT_PCM_S8) + chars = SF_CHARS_SIGNED ; +-- +2.39.5 + diff --git a/package/libsndfile/0012-rf64-fix-int-overflow-in-rf64_read_header.patch b/package/libsndfile/0012-rf64-fix-int-overflow-in-rf64_read_header.patch new file mode 100644 index 000000000..8d3998626 --- /dev/null +++ b/package/libsndfile/0012-rf64-fix-int-overflow-in-rf64_read_header.patch @@ -0,0 +1,40 @@ +From 49704025956f03751d3436a0bb42287cd7f434b6 Mon Sep 17 00:00:00 2001 +From: Alex Stewart +Date: Tue, 17 Oct 2023 12:01:00 -0400 +Subject: [PATCH] rf64: fix int overflow in rf64_read_header() + +When checking for mismatches between the filelength and riff_size, it is +possible to overflow the temporary riff_size value used in the +comparison by adding a static offset; which is probably fine, but it is +offensive to overflow fuzzers. + +Since filelength is always a positive value, simply move the offset to +the other side of the comparison operator as a negative value, avoid the +possibility of an overflow. + +CVE: CVE-2022-33065 +Fixes: https://github.com/libsndfile/libsndfile/issues/833 + +Signed-off-by: Alex Stewart +Upstream: https://github.com/libsndfile/libsndfile/commit/49704025956f03751d3436a0bb42287cd7f434b6 +Signed-off-by: Peter Korsgaard +--- + src/rf64.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/rf64.c b/src/rf64.c +index 123db445..c60399fb 100644 +--- a/src/rf64.c ++++ b/src/rf64.c +@@ -242,7 +242,7 @@ rf64_read_header (SF_PRIVATE *psf, int *blockalign, int *framesperblock) + } ; + } ; + +- if (psf->filelength != riff_size + 8) ++ if (psf->filelength - 8 != riff_size) + psf_log_printf (psf, " Riff size : %D (should be %D)\n", riff_size, psf->filelength - 8) ; + else + psf_log_printf (psf, " Riff size : %D\n", riff_size) ; +-- +2.39.5 + diff --git a/package/libsndfile/0013-ima_adpcm-fix-int-overflow-in-ima_reader_init.patch b/package/libsndfile/0013-ima_adpcm-fix-int-overflow-in-ima_reader_init.patch new file mode 100644 index 000000000..ee324158c --- /dev/null +++ b/package/libsndfile/0013-ima_adpcm-fix-int-overflow-in-ima_reader_init.patch @@ -0,0 +1,55 @@ +From 9a829113c88a51e57c1e46473e90609e4b7df151 Mon Sep 17 00:00:00 2001 +From: Alex Stewart +Date: Tue, 17 Oct 2023 12:19:12 -0400 +Subject: [PATCH] ima_adpcm: fix int overflow in ima_reader_init() + +When calculating sf.frames, pre-cast samplesperblock to sf_count_t, to +provide the calculation with enough numeric space to avoid overflows. + +Other changes in this commit are syntactic, and only to satisfy the git +pre-commit syntax checker. + +CVE: CVE-2022-33065 +Fixes: https://github.com/libsndfile/libsndfile/issues/833 + +Signed-off-by: Alex Stewart +Upstream: https://github.com/libsndfile/libsndfile/commit/9a829113c88a51e57c1e46473e90609e4b7df151 +Signed-off-by: Peter Korsgaard +--- + src/ima_adpcm.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/ima_adpcm.c b/src/ima_adpcm.c +index bc61f4e5..7464d1b3 100644 +--- a/src/ima_adpcm.c ++++ b/src/ima_adpcm.c +@@ -187,7 +187,7 @@ ima_reader_init (SF_PRIVATE *psf, int blockalign, int samplesperblock) + ** to avoid having to branch when pulling apart the nibbles. + */ + count = ((samplesperblock - 2) | 7) + 2 ; +- pimasize = sizeof (IMA_ADPCM_PRIVATE) + psf->sf.channels * (blockalign + samplesperblock + sizeof(short) * count) ; ++ pimasize = sizeof (IMA_ADPCM_PRIVATE) + psf->sf.channels * (blockalign + samplesperblock + sizeof (short) * count) ; + + if (! (pima = calloc (1, pimasize))) + return SFE_MALLOC_FAILED ; +@@ -238,7 +238,7 @@ ima_reader_init (SF_PRIVATE *psf, int blockalign, int samplesperblock) + case SF_FORMAT_AIFF : + psf_log_printf (psf, "still need to check block count\n") ; + pima->decode_block = aiff_ima_decode_block ; +- psf->sf.frames = pima->samplesperblock * pima->blocks / pima->channels ; ++ psf->sf.frames = (sf_count_t) pima->samplesperblock * pima->blocks / pima->channels ; + break ; + + default : +@@ -391,7 +391,7 @@ aiff_ima_encode_block (SF_PRIVATE *psf, IMA_ADPCM_PRIVATE *pima) + static int + wavlike_ima_decode_block (SF_PRIVATE *psf, IMA_ADPCM_PRIVATE *pima) + { int chan, k, predictor, blockindx, indx, indxstart, diff ; +- short step, bytecode, stepindx [2] = { 0 }; ++ short step, bytecode, stepindx [2] = { 0 } ; + + pima->blockcount ++ ; + pima->samplecount = 0 ; +-- +2.39.5 + diff --git a/package/libsndfile/0014-src-ogg-better-error-checking-for-vorbis.-Fixes-1035.patch b/package/libsndfile/0014-src-ogg-better-error-checking-for-vorbis.-Fixes-1035.patch new file mode 100644 index 000000000..dd9f15781 --- /dev/null +++ b/package/libsndfile/0014-src-ogg-better-error-checking-for-vorbis.-Fixes-1035.patch @@ -0,0 +1,411 @@ +From 4755f5bd7854611d92ad0f1295587b439f9950ba Mon Sep 17 00:00:00 2001 +From: Arthur Taylor +Date: Fri, 15 Nov 2024 19:46:53 -0800 +Subject: [PATCH] src/ogg: better error checking for vorbis. Fixes #1035 + +Upstream: https://github.com/libsndfile/libsndfile/commit/4755f5bd7854611d92ad0f1295587b439f9950ba +Signed-off-by: Peter Korsgaard +--- + src/ogg.c | 12 ++-- + src/ogg_opus.c | 17 +++-- + src/ogg_vorbis.c | 170 ++++++++++++++++++++++++++--------------------- + 3 files changed, 114 insertions(+), 85 deletions(-) + +diff --git a/src/ogg.c b/src/ogg.c +index 529941af..e2d679d4 100644 +--- a/src/ogg.c ++++ b/src/ogg.c +@@ -211,12 +211,16 @@ ogg_read_first_page (SF_PRIVATE *psf, OGG_PRIVATE *odata) + + int + ogg_write_page (SF_PRIVATE *psf, ogg_page *page) +-{ int bytes ; ++{ int n ; + +- bytes = psf_fwrite (page->header, 1, page->header_len, psf) ; +- bytes += psf_fwrite (page->body, 1, page->body_len, psf) ; ++ n = psf_fwrite (page->header, 1, page->header_len, psf) ; ++ if (n == page->header_len) ++ n += psf_fwrite (page->body, 1, page->body_len, psf) ; + +- return bytes == page->header_len + page->body_len ; ++ if (n != page->body_len + page->header_len) ++ return -1 ; ++ ++ return n ; + } /* ogg_write_page */ + + sf_count_t +diff --git a/src/ogg_opus.c b/src/ogg_opus.c +index 511653ec..e01224b9 100644 +--- a/src/ogg_opus.c ++++ b/src/ogg_opus.c +@@ -827,15 +827,16 @@ ogg_opus_write_header (SF_PRIVATE *psf, int UNUSED (calc_length)) + + /* The first page MUST only contain the header, so flush it out now */ + ogg_stream_packetin (&odata->ostream, &op) ; +- for ( ; (nn = ogg_stream_flush (&odata->ostream, &odata->opage)) ; ) +- { if (! (nn = ogg_write_page (psf, &odata->opage))) ++ while (ogg_stream_flush (&odata->ostream, &odata->opage)) ++ { nn = ogg_write_page (psf, &odata->opage) ; ++ if (nn < 0) + { psf_log_printf (psf, "Opus : Failed to write header!\n") ; + if (psf->error) + return psf->error ; + return SFE_INTERNAL ; + } ; + psf->dataoffset += nn ; +- } ++ } ; + + /* + ** Metadata Tags (manditory) +@@ -850,15 +851,16 @@ ogg_opus_write_header (SF_PRIVATE *psf, int UNUSED (calc_length)) + vorbiscomment_write_tags (psf, &op, &opustags_ident, opus_get_version_string (), - (OGG_OPUS_COMMENT_PAD)) ; + op.packetno = 2 ; + ogg_stream_packetin (&odata->ostream, &op) ; +- for ( ; (nn = ogg_stream_flush (&odata->ostream, &odata->opage)) ; ) +- { if (! (nn = ogg_write_page (psf, &odata->opage))) ++ while (ogg_stream_flush (&odata->ostream, &odata->opage)) ++ { nn = ogg_write_page (psf, &odata->opage) ; ++ if (nn < 0) + { psf_log_printf (psf, "Opus : Failed to write comments!\n") ; + if (psf->error) + return psf->error ; + return SFE_INTERNAL ; + } ; + psf->dataoffset += nn ; +- } ++ } ; + + return 0 ; + } /* ogg_opus_write_header */ +@@ -1132,7 +1134,8 @@ ogg_opus_write_out (SF_PRIVATE *psf, OGG_PRIVATE *odata, OPUS_PRIVATE *oopus) + if (nbytes > 0) + { oopus->u.encode.last_segments -= ogg_page_segments (&odata->opage) ; + oopus->pg_pos = oopus->pkt_pos ; +- ogg_write_page (psf, &odata->opage) ; ++ if (ogg_write_page (psf, &odata->opage) < 0) ++ return -1 ; + } + else + break ; +diff --git a/src/ogg_vorbis.c b/src/ogg_vorbis.c +index add12396..fae252ca 100644 +--- a/src/ogg_vorbis.c ++++ b/src/ogg_vorbis.c +@@ -82,28 +82,6 @@ + /* How many seconds in the future to not bother bisection searching for. */ + #define VORBIS_SEEK_THRESHOLD 2 + +-typedef int convert_func (SF_PRIVATE *psf, int, void *, int, int, float **) ; +- +-static int vorbis_read_header (SF_PRIVATE *psf) ; +-static int vorbis_write_header (SF_PRIVATE *psf, int calc_length) ; +-static int vorbis_close (SF_PRIVATE *psf) ; +-static int vorbis_command (SF_PRIVATE *psf, int command, void *data, int datasize) ; +-static int vorbis_byterate (SF_PRIVATE *psf) ; +-static int vorbis_calculate_granulepos (SF_PRIVATE *psf, uint64_t *gp_out) ; +-static int vorbis_skip (SF_PRIVATE *psf, uint64_t target_gp) ; +-static int vorbis_seek_trysearch (SF_PRIVATE *psf, uint64_t target_gp) ; +-static sf_count_t vorbis_seek (SF_PRIVATE *psf, int mode, sf_count_t offset) ; +-static sf_count_t vorbis_read_s (SF_PRIVATE *psf, short *ptr, sf_count_t len) ; +-static sf_count_t vorbis_read_i (SF_PRIVATE *psf, int *ptr, sf_count_t len) ; +-static sf_count_t vorbis_read_f (SF_PRIVATE *psf, float *ptr, sf_count_t len) ; +-static sf_count_t vorbis_read_d (SF_PRIVATE *psf, double *ptr, sf_count_t len) ; +-static sf_count_t vorbis_write_s (SF_PRIVATE *psf, const short *ptr, sf_count_t len) ; +-static sf_count_t vorbis_write_i (SF_PRIVATE *psf, const int *ptr, sf_count_t len) ; +-static sf_count_t vorbis_write_f (SF_PRIVATE *psf, const float *ptr, sf_count_t len) ; +-static sf_count_t vorbis_write_d (SF_PRIVATE *psf, const double *ptr, sf_count_t len) ; +-static sf_count_t vorbis_read_sample (SF_PRIVATE *psf, void *ptr, sf_count_t lens, convert_func *transfn) ; +-static int vorbis_rnull (SF_PRIVATE *psf, int samples, void *vptr, int off , int channels, float **pcm) ; +- + typedef struct + { int id ; + const char *name ; +@@ -145,6 +123,45 @@ typedef struct + sf_count_t last_page ; + } VORBIS_PRIVATE ; + ++typedef int convert_func (SF_PRIVATE *psf, int, void *, int, int, float **) ; ++ ++static int vorbis_read_header (SF_PRIVATE *psf) ; ++static int vorbis_write_header (SF_PRIVATE *psf, int calc_length) ; ++static int vorbis_close (SF_PRIVATE *psf) ; ++static int vorbis_command (SF_PRIVATE *psf, int command, void *data, int datasize) ; ++static int vorbis_byterate (SF_PRIVATE *psf) ; ++static int vorbis_calculate_granulepos (SF_PRIVATE *psf, uint64_t *gp_out) ; ++static int vorbis_skip (SF_PRIVATE *psf, uint64_t target_gp) ; ++static int vorbis_seek_trysearch (SF_PRIVATE *psf, uint64_t target_gp) ; ++static sf_count_t vorbis_seek (SF_PRIVATE *psf, int mode, sf_count_t offset) ; ++static sf_count_t vorbis_read_s (SF_PRIVATE *psf, short *ptr, sf_count_t len) ; ++static sf_count_t vorbis_read_i (SF_PRIVATE *psf, int *ptr, sf_count_t len) ; ++static sf_count_t vorbis_read_f (SF_PRIVATE *psf, float *ptr, sf_count_t len) ; ++static sf_count_t vorbis_read_d (SF_PRIVATE *psf, double *ptr, sf_count_t len) ; ++static sf_count_t vorbis_write_s (SF_PRIVATE *psf, const short *ptr, sf_count_t len) ; ++static sf_count_t vorbis_write_i (SF_PRIVATE *psf, const int *ptr, sf_count_t len) ; ++static sf_count_t vorbis_write_f (SF_PRIVATE *psf, const float *ptr, sf_count_t len) ; ++static sf_count_t vorbis_write_d (SF_PRIVATE *psf, const double *ptr, sf_count_t len) ; ++static sf_count_t vorbis_read_sample (SF_PRIVATE *psf, void *ptr, sf_count_t lens, convert_func *transfn) ; ++static int vorbis_write_samples (SF_PRIVATE *psf, OGG_PRIVATE *odata, VORBIS_PRIVATE *vdata, int in_frames) ; ++static int vorbis_rnull (SF_PRIVATE *psf, int samples, void *vptr, int off , int channels, float **pcm) ; ++static void vorbis_log_error (SF_PRIVATE *psf, int error) ; ++ ++ ++static void ++vorbis_log_error(SF_PRIVATE *psf, int error) { ++ switch (error) ++ { case 0: return; ++ case OV_EIMPL: psf->error = SFE_UNIMPLEMENTED ; break ; ++ case OV_ENOTVORBIS: psf->error = SFE_MALFORMED_FILE ; break ; ++ case OV_EBADHEADER: psf->error = SFE_MALFORMED_FILE ; break ; ++ case OV_EVERSION: psf->error = SFE_UNSUPPORTED_ENCODING ; break ; ++ case OV_EFAULT: ++ case OV_EINVAL: ++ default: psf->error = SFE_INTERNAL ; ++ } ; ++} ; ++ + static int + vorbis_read_header (SF_PRIVATE *psf) + { OGG_PRIVATE *odata = (OGG_PRIVATE *) psf->container_data ; +@@ -380,7 +397,6 @@ vorbis_write_header (SF_PRIVATE *psf, int UNUSED (calc_length)) + { ogg_packet header ; + ogg_packet header_comm ; + ogg_packet header_code ; +- int result ; + + vorbis_analysis_headerout (&vdata->vdsp, &vdata->vcomment, &header, &header_comm, &header_code) ; + ogg_stream_packetin (&odata->ostream, &header) ; /* automatically placed in its own page */ +@@ -390,9 +406,9 @@ vorbis_write_header (SF_PRIVATE *psf, int UNUSED (calc_length)) + /* This ensures the actual + * audio data will start on a new page, as per spec + */ +- while ((result = ogg_stream_flush (&odata->ostream, &odata->opage)) != 0) +- { ogg_write_page (psf, &odata->opage) ; +- } ; ++ while (ogg_stream_flush (&odata->ostream, &odata->opage)) ++ if (ogg_write_page (psf, &odata->opage) < 0) ++ return -1 ; + } + + return 0 ; +@@ -402,6 +418,7 @@ static int + vorbis_close (SF_PRIVATE *psf) + { OGG_PRIVATE* odata = psf->container_data ; + VORBIS_PRIVATE *vdata = psf->codec_data ; ++ int ret = 0 ; + + if (odata == NULL || vdata == NULL) + return 0 ; +@@ -412,34 +429,14 @@ vorbis_close (SF_PRIVATE *psf) + if (psf->file.mode == SFM_WRITE) + { + if (psf->write_current <= 0) +- vorbis_write_header (psf, 0) ; ++ ret = vorbis_write_header (psf, 0) ; + +- vorbis_analysis_wrote (&vdata->vdsp, 0) ; +- while (vorbis_analysis_blockout (&vdata->vdsp, &vdata->vblock) == 1) +- { +- +- /* analysis, assume we want to use bitrate management */ +- vorbis_analysis (&vdata->vblock, NULL) ; +- vorbis_bitrate_addblock (&vdata->vblock) ; +- +- while (vorbis_bitrate_flushpacket (&vdata->vdsp, &odata->opacket)) +- { /* weld the packet into the bitstream */ +- ogg_stream_packetin (&odata->ostream, &odata->opacket) ; +- +- /* write out pages (if any) */ +- while (!odata->eos) +- { int result = ogg_stream_pageout (&odata->ostream, &odata->opage) ; +- if (result == 0) break ; +- ogg_write_page (psf, &odata->opage) ; +- +- /* this could be set above, but for illustrative purposes, I do +- it here (to show that vorbis does know where the stream ends) */ +- +- if (ogg_page_eos (&odata->opage)) odata->eos = 1 ; +- } +- } +- } +- } ++ if (ret == 0) ++ { /* A write of zero samples tells Vorbis the stream is done and to ++ flush. */ ++ ret = vorbis_write_samples (psf, odata, vdata, 0) ; ++ } ; ++ } ; + + /* ogg_page and ogg_packet structs always point to storage in + libvorbis. They are never freed or manipulated directly */ +@@ -449,7 +446,7 @@ vorbis_close (SF_PRIVATE *psf) + vorbis_comment_clear (&vdata->vcomment) ; + vorbis_info_clear (&vdata->vinfo) ; + +- return 0 ; ++ return ret ; + } /* vorbis_close */ + + int +@@ -688,33 +685,40 @@ vorbis_read_d (SF_PRIVATE *psf, double *ptr, sf_count_t lens) + /*============================================================================== + */ + +-static void ++static int + vorbis_write_samples (SF_PRIVATE *psf, OGG_PRIVATE *odata, VORBIS_PRIVATE *vdata, int in_frames) +-{ +- vorbis_analysis_wrote (&vdata->vdsp, in_frames) ; ++{ int ret ; ++ ++ if ((ret = vorbis_analysis_wrote (&vdata->vdsp, in_frames)) != 0) ++ return ret ; + + /* + ** Vorbis does some data preanalysis, then divvies up blocks for + ** more involved (potentially parallel) processing. Get a single + ** block for encoding now. + */ +- while (vorbis_analysis_blockout (&vdata->vdsp, &vdata->vblock) == 1) ++ while ((ret = vorbis_analysis_blockout (&vdata->vdsp, &vdata->vblock)) == 1) + { + /* analysis, assume we want to use bitrate management */ +- vorbis_analysis (&vdata->vblock, NULL) ; +- vorbis_bitrate_addblock (&vdata->vblock) ; ++ if ((ret = vorbis_analysis (&vdata->vblock, NULL)) != 0) ++ return ret ; ++ if ((ret = vorbis_bitrate_addblock (&vdata->vblock)) != 0) ++ return ret ; + +- while (vorbis_bitrate_flushpacket (&vdata->vdsp, &odata->opacket)) ++ while ((ret = vorbis_bitrate_flushpacket (&vdata->vdsp, &odata->opacket)) == 1) + { + /* weld the packet into the bitstream */ +- ogg_stream_packetin (&odata->ostream, &odata->opacket) ; ++ if ((ret = ogg_stream_packetin (&odata->ostream, &odata->opacket)) != 0) ++ return ret ; + + /* write out pages (if any) */ + while (!odata->eos) +- { int result = ogg_stream_pageout (&odata->ostream, &odata->opage) ; +- if (result == 0) ++ { ret = ogg_stream_pageout (&odata->ostream, &odata->opage) ; ++ if (ret == 0) + break ; +- ogg_write_page (psf, &odata->opage) ; ++ ++ if (ogg_write_page (psf, &odata->opage) < 0) ++ return -1 ; + + /* This could be set above, but for illustrative purposes, I do + ** it here (to show that vorbis does know where the stream ends) */ +@@ -722,16 +726,22 @@ vorbis_write_samples (SF_PRIVATE *psf, OGG_PRIVATE *odata, VORBIS_PRIVATE *vdata + odata->eos = 1 ; + } ; + } ; ++ if (ret != 0) ++ return ret ; + } ; ++ if (ret != 0) ++ return ret ; + + vdata->gp += in_frames ; ++ ++ return 0 ; + } /* vorbis_write_data */ + + + static sf_count_t + vorbis_write_s (SF_PRIVATE *psf, const short *ptr, sf_count_t lens) + { +- int i, m, j = 0 ; ++ int i, m, j = 0, ret ; + OGG_PRIVATE *odata = (OGG_PRIVATE *) psf->container_data ; + VORBIS_PRIVATE *vdata = (VORBIS_PRIVATE *) psf->codec_data ; + int in_frames = lens / psf->sf.channels ; +@@ -740,14 +750,17 @@ vorbis_write_s (SF_PRIVATE *psf, const short *ptr, sf_count_t lens) + for (m = 0 ; m < psf->sf.channels ; m++) + buffer [m][i] = (float) (ptr [j++]) / 32767.0f ; + +- vorbis_write_samples (psf, odata, vdata, in_frames) ; ++ if ((ret = vorbis_write_samples (psf, odata, vdata, in_frames))) ++ { vorbis_log_error (psf, ret) ; ++ return 0 ; ++ } ; + + return lens ; + } /* vorbis_write_s */ + + static sf_count_t + vorbis_write_i (SF_PRIVATE *psf, const int *ptr, sf_count_t lens) +-{ int i, m, j = 0 ; ++{ int i, m, j = 0, ret ; + OGG_PRIVATE *odata = (OGG_PRIVATE *) psf->container_data ; + VORBIS_PRIVATE *vdata = (VORBIS_PRIVATE *) psf->codec_data ; + int in_frames = lens / psf->sf.channels ; +@@ -756,14 +769,17 @@ vorbis_write_i (SF_PRIVATE *psf, const int *ptr, sf_count_t lens) + for (m = 0 ; m < psf->sf.channels ; m++) + buffer [m][i] = (float) (ptr [j++]) / 2147483647.0f ; + +- vorbis_write_samples (psf, odata, vdata, in_frames) ; ++ if ((ret = vorbis_write_samples (psf, odata, vdata, in_frames))) ++ { vorbis_log_error (psf, ret) ; ++ return 0 ; ++ } ; + + return lens ; + } /* vorbis_write_i */ + + static sf_count_t + vorbis_write_f (SF_PRIVATE *psf, const float *ptr, sf_count_t lens) +-{ int i, m, j = 0 ; ++{ int i, m, j = 0, ret ; + OGG_PRIVATE *odata = (OGG_PRIVATE *) psf->container_data ; + VORBIS_PRIVATE *vdata = (VORBIS_PRIVATE *) psf->codec_data ; + int in_frames = lens / psf->sf.channels ; +@@ -772,14 +788,17 @@ vorbis_write_f (SF_PRIVATE *psf, const float *ptr, sf_count_t lens) + for (m = 0 ; m < psf->sf.channels ; m++) + buffer [m][i] = ptr [j++] ; + +- vorbis_write_samples (psf, odata, vdata, in_frames) ; ++ if ((ret = vorbis_write_samples (psf, odata, vdata, in_frames)) != 0) ++ { vorbis_log_error (psf, ret) ; ++ return 0 ; ++ } ; + + return lens ; + } /* vorbis_write_f */ + + static sf_count_t + vorbis_write_d (SF_PRIVATE *psf, const double *ptr, sf_count_t lens) +-{ int i, m, j = 0 ; ++{ int i, m, j = 0, ret ; + OGG_PRIVATE *odata = (OGG_PRIVATE *) psf->container_data ; + VORBIS_PRIVATE *vdata = (VORBIS_PRIVATE *) psf->codec_data ; + int in_frames = lens / psf->sf.channels ; +@@ -788,7 +807,10 @@ vorbis_write_d (SF_PRIVATE *psf, const double *ptr, sf_count_t lens) + for (m = 0 ; m < psf->sf.channels ; m++) + buffer [m][i] = (float) ptr [j++] ; + +- vorbis_write_samples (psf, odata, vdata, in_frames) ; ++ if ((ret = vorbis_write_samples (psf, odata, vdata, in_frames)) != 0) ++ { vorbis_log_error (psf, ret) ; ++ return 0 ; ++ } ; + + return lens ; + } /* vorbis_write_d */ +@@ -884,7 +906,7 @@ vorbis_seek_trysearch (SF_PRIVATE *psf, uint64_t target_gp) + return 0 ; + + /* Search for a position a half large-block before our target. As Vorbis is +- ** lapped, every sample position come from two blocks, the "left" half of ++ ** lapped, every sample position comes from two blocks, the "left" half of + ** one block and the "right" half of the previous block. The granule + ** position of an Ogg page of a Vorbis stream is the sample offset of the + ** last finished sample in the stream that can be decoded from a page. A +-- +2.39.5 + diff --git a/package/libsndfile/libsndfile.mk b/package/libsndfile/libsndfile.mk index dc23d94cb..4caba72c4 100644 --- a/package/libsndfile/libsndfile.mk +++ b/package/libsndfile/libsndfile.mk @@ -13,6 +13,24 @@ LIBSNDFILE_LICENSE_FILES = COPYING LIBSNDFILE_CPE_ID_VALID = YES LIBSNDFILE_DEPENDENCIES = host-pkgconf +# 0001-mat4-mat5-fix-int-overflow-in-dataend-calculation.patch +# 0002-au-avoid-int-overflow-while-calculating-data_end.patch +# 0003-avr-fix-int-overflow-in-avr_read_header.patch +# 0004-sds-fix-int-overflow-warning-in-sample-calculations.patch +# 0005-aiff-fix-int-overflow-when-counting-header-elements.patch +# 0006-ircam-fix-int-overflow-in-ircam_read_header.patch +# 0007-mat4-mat5-fix-int-overflow-when-calculating-blockwid.patch +# 0008-common-fix-int-overflow-in-psf_binheader_readf.patch +# 0009-nms_adpcm-fix-int-overflow-in-signal-estimate.patch +# 0010-nms_adpcm-fix-int-overflow-in-sf.frames-calc.patch +# 0011-pcm-fix-int-overflow-in-pcm_init.patch +# 0012-rf64-fix-int-overflow-in-rf64_read_header.patch +# 0013-ima_adpcm-fix-int-overflow-in-ima_reader_init.patch +LIBSNDFILE_IGNORE_CVES += CVE-2022-33065 + +# 0014-src-ogg-better-error-checking-for-vorbis.-Fixes-1035.patch +LIBSNDFILE_IGNORE_CVES += CVE-2024-50612 + LIBSNDFILE_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' LIBSNDFILE_CONF_OPTS = \ --disable-sqlite \ diff --git a/package/libsoup3/libsoup3.hash b/package/libsoup3/libsoup3.hash index 11e48b42a..23af34790 100644 --- a/package/libsoup3/libsoup3.hash +++ b/package/libsoup3/libsoup3.hash @@ -1,4 +1,4 @@ -# From https://download.gnome.org/sources/libsoup/3.4/libsoup-3.4.4.sha256sum -sha256 291c67725f36ed90ea43efff25064b69c5a2d1981488477c05c481a3b4b0c5aa libsoup-3.4.4.tar.xz +# From https://download.gnome.org/sources/libsoup/3.6/libsoup-3.6.1.sha256sum +sha256 ceb1f1aa2bdd73b2cd8159d3998c96c55ef097ef15e4b4f36029209fa18af838 libsoup-3.6.1.tar.xz # Locally calculated sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/package/libsoup3/libsoup3.mk b/package/libsoup3/libsoup3.mk index 10caa5bea..f2f96c2de 100644 --- a/package/libsoup3/libsoup3.mk +++ b/package/libsoup3/libsoup3.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBSOUP3_VERSION_MAJOR = 3.4 -LIBSOUP3_VERSION = $(LIBSOUP3_VERSION_MAJOR).4 +LIBSOUP3_VERSION_MAJOR = 3.6 +LIBSOUP3_VERSION = $(LIBSOUP3_VERSION_MAJOR).1 LIBSOUP3_SOURCE = libsoup-$(LIBSOUP3_VERSION).tar.xz LIBSOUP3_SITE = https://download.gnome.org/sources/libsoup/$(LIBSOUP3_VERSION_MAJOR) LIBSOUP3_LICENSE = LGPL-2.0+ diff --git a/package/libtasn1/libtasn1.hash b/package/libtasn1/libtasn1.hash index 4bcb6a3fe..b9c9dad13 100644 --- a/package/libtasn1/libtasn1.hash +++ b/package/libtasn1/libtasn1.hash @@ -1,7 +1,7 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/libtasn1/libtasn1-4.19.0.tar.gz.sig -sha256 1613f0ac1cf484d6ec0ce3b8c06d56263cc7242f1c23b30d82d23de345a63f7a libtasn1-4.19.0.tar.gz +# https://ftp.gnu.org/gnu/libtasn1/libtasn1-4.20.0.tar.gz.sig +sha256 92e0e3bd4c02d4aeee76036b2ddd83f0c732ba4cda5cb71d583272b23587a76c libtasn1-4.20.0.tar.gz # Locally calculated -sha256 7446831f659f7ebfd8d497acc7f05dfa8e31c6cb6ba1b45df33d4895ab80f5a6 COPYING -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 doc/COPYING -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 doc/COPYING.LESSER +sha256 990ef6a87f29a9d3db33698b94ea026a5d0f81bbf9806333d73699a250b7e5d6 README.md +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING +sha256 20e50fe7aae3e56378ebf0417d9de904f55a0e61e4df315333e632a4d3555d95 COPYING.LESSERv2 diff --git a/package/libtasn1/libtasn1.mk b/package/libtasn1/libtasn1.mk index 3af1bcdcb..3154e500f 100644 --- a/package/libtasn1/libtasn1.mk +++ b/package/libtasn1/libtasn1.mk @@ -4,11 +4,11 @@ # ################################################################################ -LIBTASN1_VERSION = 4.19.0 +LIBTASN1_VERSION = 4.20.0 LIBTASN1_SITE = $(BR2_GNU_MIRROR)/libtasn1 LIBTASN1_DEPENDENCIES = host-bison host-pkgconf LIBTASN1_LICENSE = GPL-3.0+ (tests, tools), LGPL-2.1+ (library) -LIBTASN1_LICENSE_FILES = COPYING doc/COPYING doc/COPYING.LESSER +LIBTASN1_LICENSE_FILES = README.md COPYING COPYING.LESSERv2 LIBTASN1_CPE_ID_VENDOR = gnu LIBTASN1_INSTALL_STAGING = YES diff --git a/package/libtorrent-rasterbar/libtorrent-rasterbar.hash b/package/libtorrent-rasterbar/libtorrent-rasterbar.hash index 3f59642b7..b1abe85d8 100644 --- a/package/libtorrent-rasterbar/libtorrent-rasterbar.hash +++ b/package/libtorrent-rasterbar/libtorrent-rasterbar.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c8ad8638684c0a903ebabc30490079e31b1a6a638da2adec5a8bef6a0e62214b libtorrent-rasterbar-1.2.15.tar.gz +sha256 eee8e99548dc5eb5e643e49db9202f4f97112c032dba883dfdc8144af5b6e40e libtorrent-rasterbar-1.2.19.tar.gz sha256 f3a5dd1558cce616b12edad521427ec8976ce2bb0af33f7f359cfa648bf55ad8 COPYING diff --git a/package/libtorrent-rasterbar/libtorrent-rasterbar.mk b/package/libtorrent-rasterbar/libtorrent-rasterbar.mk index 085b38343..6b497bbe5 100644 --- a/package/libtorrent-rasterbar/libtorrent-rasterbar.mk +++ b/package/libtorrent-rasterbar/libtorrent-rasterbar.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBTORRENT_RASTERBAR_VERSION = 1.2.15 +LIBTORRENT_RASTERBAR_VERSION = 1.2.19 LIBTORRENT_RASTERBAR_SITE = \ https://github.com/arvidn/libtorrent/releases/download/v$(LIBTORRENT_RASTERBAR_VERSION) LIBTORRENT_RASTERBAR_LICENSE = BSD-3-Clause diff --git a/package/libtracefs/0002-libtracefs-utest-Add-PATH_MAX-if-it-is-not-already-defined.patch b/package/libtracefs/0002-libtracefs-utest-Add-PATH_MAX-if-it-is-not-already-defined.patch new file mode 100644 index 000000000..121fee5ad --- /dev/null +++ b/package/libtracefs/0002-libtracefs-utest-Add-PATH_MAX-if-it-is-not-already-defined.patch @@ -0,0 +1,40 @@ +From ba750812f68f0f3314494558496c23f934f8faff Mon Sep 17 00:00:00 2001 +From: "Steven Rostedt (Google)" +Date: Thu, 22 Feb 2024 11:02:46 -0500 +Subject: libtracefs utest: Add PATH_MAX if it is not already defined + +In some setups PATH_MAX may not be defined (it is usually defined in +linux/limits.h), but we just use PATH_MAX as something to hold the paths +to the tracing files. In that case, just define it to 1024 if it's not +already defined. + +Link: https://lore.kernel.org/linux-trace-devel/20240222-utest-fixes-v2-1-7b8ee8dca0b7@gmail.com/ + +Fixes: 845f16976929 ("libtracefs: Add unit tests") +Reported-by: Miko Larsson +Signed-off-by: Steven Rostedt (Google) + +Upstream: https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/commit/?id=ba750812f68f0f3314494558496c23f934f8faff +Signed-off-by: Fabrice Fontaine +--- + utest/tracefs-utest.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/utest/tracefs-utest.c b/utest/tracefs-utest.c +index 963fac7..07ecd32 100644 +--- a/utest/tracefs-utest.c ++++ b/utest/tracefs-utest.c +@@ -26,6 +26,10 @@ + + #define gettid() syscall(__NR_gettid) + ++#ifndef PATH_MAX ++#define PATH_MAX 1024 ++#endif ++ + #define TRACEFS_SUITE "tracefs library" + #define TEST_INSTANCE_NAME "cunit_test_iter" + #define TEST_TRACE_DIR "/tmp/trace_utest.XXXXXX" +-- +cgit 1.2.3-korg + diff --git a/package/libuecc/libuecc.hash b/package/libuecc/libuecc.hash index b72519f16..7ac5860cd 100644 --- a/package/libuecc/libuecc.hash +++ b/package/libuecc/libuecc.hash @@ -1,5 +1,3 @@ -# from https://projects.universe-factory.net/projects/fastd/files -md5 5cd543cb8e7bce83a22c07a0579c95a1 libuecc-7.tar.xz # computed locally -sha256 b94aef08eab5359d0facaa7ead2ce81b193eef0c61379d9835213ebc0a46257a libuecc-7.tar.xz +sha256 465a6584c991c13fddf36700328c44fee9a3baff9025fb5f232b34d003d715e0 libuecc-7.tar.gz sha256 ec4d9fcc3a37a7998a9ea4decf38f4c0c91a44fd05bb17638c52fe16f2b12e23 COPYRIGHT diff --git a/package/libuecc/libuecc.mk b/package/libuecc/libuecc.mk index aad26e5af..6251edb63 100644 --- a/package/libuecc/libuecc.mk +++ b/package/libuecc/libuecc.mk @@ -5,8 +5,7 @@ ################################################################################ LIBUECC_VERSION = 7 -LIBUECC_SITE = https://projects.universe-factory.net/attachments/download/85 -LIBUECC_SOURCE = libuecc-$(LIBUECC_VERSION).tar.xz +LIBUECC_SITE = $(call github,neocturne,libuecc,v$(LIBUECC_VERSION)) LIBUECC_LICENSE = BSD-2-Clause LIBUECC_LICENSE_FILES = COPYRIGHT LIBUECC_INSTALL_STAGING = YES diff --git a/package/libuhttpd/0003-CMakeLists.txt-add-BUILD_WERROR-option.patch b/package/libuhttpd/0003-CMakeLists.txt-add-BUILD_WERROR-option.patch new file mode 100644 index 000000000..2e87014e8 --- /dev/null +++ b/package/libuhttpd/0003-CMakeLists.txt-add-BUILD_WERROR-option.patch @@ -0,0 +1,30 @@ +From c0f2260d8b7e435bce765e7ac91d51f1b349b87b Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 10 Mar 2024 13:43:12 +0100 +Subject: [PATCH] CMakeLists.txt: add BUILD_WERROR option + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/zhaojh329/libuhttpd/commit/c0f2260d8b7e435bce765e7ac91d51f1b349b87b +--- + CMakeLists.txt | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6fb9651..6719e5f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -7,7 +7,13 @@ include(CheckLibraryExists) + list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules/") + + add_definitions(-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64) +-add_compile_options(-O -Wall -Werror --std=gnu99) ++add_compile_options(-O -Wall --std=gnu99) ++ ++option(BUILD_WERROR "Build with -Werror" ON) ++ ++if(BUILD_WERROR) ++ add_compile_options(-Werror) ++endif() + + option(BUILD_STATIC "Build static library" OFF) + diff --git a/package/libuhttpd/libuhttpd.mk b/package/libuhttpd/libuhttpd.mk index 0d5306c6d..78e0f42b2 100644 --- a/package/libuhttpd/libuhttpd.mk +++ b/package/libuhttpd/libuhttpd.mk @@ -10,6 +10,7 @@ LIBUHTTPD_LICENSE = MIT LIBUHTTPD_LICENSE_FILES = LICENSE LIBUHTTPD_INSTALL_STAGING = YES LIBUHTTPD_DEPENDENCIES = libev +LIBUHTTPD_CONF_OPTS = -DBUILD_WERROR=OFF ifeq ($(BR2_PACKAGE_OPENSSL),y) LIBUHTTPD_DEPENDENCIES += openssl diff --git a/package/libunwind/libunwind.mk b/package/libunwind/libunwind.mk index d7ddb8f17..94e9bbd1b 100644 --- a/package/libunwind/libunwind.mk +++ b/package/libunwind/libunwind.mk @@ -10,7 +10,6 @@ LIBUNWIND_INSTALL_STAGING = YES LIBUNWIND_LICENSE_FILES = COPYING LIBUNWIND_LICENSE = MIT LIBUNWIND_CPE_ID_VALID = YES -LIBUNWIND_AUTORECONF = YES LIBUNWIND_CONF_OPTS = \ --disable-tests \ @@ -18,6 +17,7 @@ LIBUNWIND_CONF_OPTS = \ ifeq ($(BR2_PACKAGE_LIBUCONTEXT),y) LIBUNWIND_DEPENDENCIES += libucontext +LIBUNWIND_CONF_OPTS += LIBS=-lucontext endif $(eval $(autotools-package)) diff --git a/package/libupnp/libupnp.hash b/package/libupnp/libupnp.hash index 6fd4678c0..86437a733 100644 --- a/package/libupnp/libupnp.hash +++ b/package/libupnp/libupnp.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 16a7cee93ce2868ae63ab1a8164dc7de43577c59983b9f61293a310d6888dceb libupnp-1.14.18.tar.bz2 +sha256 b6423c573b758d09539f5e6c4712c1a9fd35dccf835f81d99473d50a50ad49b0 libupnp-1.14.19.tar.bz2 sha256 c8b99423cad48bb44e2cf52a496361404290865eac259a82da6d1e4331ececb3 COPYING diff --git a/package/libupnp/libupnp.mk b/package/libupnp/libupnp.mk index 61e52c095..cd148d14d 100644 --- a/package/libupnp/libupnp.mk +++ b/package/libupnp/libupnp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBUPNP_VERSION = 1.14.18 +LIBUPNP_VERSION = 1.14.19 LIBUPNP_SOURCE = libupnp-$(LIBUPNP_VERSION).tar.bz2 LIBUPNP_SITE = \ http://downloads.sourceforge.net/project/pupnp/release-$(LIBUPNP_VERSION) diff --git a/package/liburiparser/liburiparser.hash b/package/liburiparser/liburiparser.hash index 73b4ec686..f2e331789 100644 --- a/package/liburiparser/liburiparser.hash +++ b/package/liburiparser/liburiparser.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 1ddae35cb3cc2c36e8199829d46f1c7f8b222e74a723fdae67ec8561e1ac5a39 uriparser-0.9.7.tar.xz +sha256 1d71c054837ea32a31e462bce5a1af272379ecf511e33448e88100b87ff73b2e uriparser-0.9.8.tar.xz sha256 287f09e6546a9610f949f89e8fb937cacfeabd7bfaa8c8a0c18312193bf04ad3 COPYING diff --git a/package/liburiparser/liburiparser.mk b/package/liburiparser/liburiparser.mk index 6d25b1d9b..b0ba8c387 100644 --- a/package/liburiparser/liburiparser.mk +++ b/package/liburiparser/liburiparser.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBURIPARSER_VERSION = 0.9.7 +LIBURIPARSER_VERSION = 0.9.8 LIBURIPARSER_SOURCE = uriparser-$(LIBURIPARSER_VERSION).tar.xz LIBURIPARSER_SITE = https://github.com/uriparser/uriparser/releases/download/uriparser-$(LIBURIPARSER_VERSION) LIBURIPARSER_LICENSE = BSD-3-Clause diff --git a/package/libutempter/libutempter.mk b/package/libutempter/libutempter.mk index d51f70049..aad98126f 100644 --- a/package/libutempter/libutempter.mk +++ b/package/libutempter/libutempter.mk @@ -11,7 +11,8 @@ LIBUTEMPTER_LICENSE = LGPL-2.1+ LIBUTEMPTER_LICENSE_FILES = COPYING define LIBUTEMPTER_BUILD_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + COMPILE_PIE= LINK_PIE= endef define LIBUTEMPTER_INSTALL_STAGING_CMDS diff --git a/package/libvirt/Config.in b/package/libvirt/Config.in index 3f4fc70e6..6e4de43f7 100644 --- a/package/libvirt/Config.in +++ b/package/libvirt/Config.in @@ -45,6 +45,7 @@ config BR2_PACKAGE_LIBVIRT_DAEMON bool "libvirtd" default y depends on BR2_INSTALL_LIBSTDCPP # nmap + depends on !BR2_KERNEL_64_USERLAND_32 # ebtables select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS select BR2_PACKAGE_DNSMASQ select BR2_PACKAGE_EBTABLES diff --git a/package/libvirt/S92libvirtd b/package/libvirt/S92libvirtd index 736519f3d..35368ef5a 100644 --- a/package/libvirt/S92libvirtd +++ b/package/libvirt/S92libvirtd @@ -47,7 +47,7 @@ load_modules() { } # -# If libvirtd dies it leves behind one stale dnsmasq per virtual network that +# If libvirtd dies it leaves behind one stale dnsmasq per virtual network that # must be killed before starting libvirtd again. # rm_stale_dnsmasq() { diff --git a/package/libvirt/libvirt.mk b/package/libvirt/libvirt.mk index 1dc61a754..7f2a33e92 100644 --- a/package/libvirt/libvirt.mk +++ b/package/libvirt/libvirt.mk @@ -250,6 +250,36 @@ define LIBVIRT_INSTALL_UDEV_RULES endef LIBVIRT_POST_INSTALL_TARGET_HOOKS += LIBVIRT_INSTALL_UDEV_RULES +ifeq ($(BR2_PACKAGE_LIBVIRT_QEMU),y) +define LIBVIRT_USERS_QEMU + qemu -1 kvm -1 * - - - Libvirt qemu/kvm daemon +endef +define LIBVIRT_PERMISSIONS_QEMU + /var/cache/libvirt/qemu d 750 qemu kvm - - - - - + /var/cache/libvirt/qemu/capabilities d 755 root root - - - - - + /var/lib/libvirt/qemu d 751 qemu kvm - - - - - + /var/lib/libvirt/qemu/autostart d 700 root root - - - - - + /var/lib/libvirt/qemu/channel d 755 qemu kvm - - - - - + /var/lib/libvirt/qemu/channel/target d 755 qemu kvm - - - - - + /var/lib/libvirt/qemu/dump d 755 qemu kvm - - - - - + /var/lib/libvirt/qemu/networks d 700 root root - - - - - + /var/lib/libvirt/qemu/networks/autostart d 700 root root - - - - - + /var/lib/libvirt/qemu/nvram d 755 qemu kvm - - - - - + /var/lib/libvirt/qemu/save d 755 qemu kvm - - - - - + /var/lib/libvirt/qemu/snapshot d 755 qemu kvm - - - - - + /var/log/libvirt/qemu d 750 root root - - - - - + /var/log/swtpm/libvirt/qemu d 711 root root - - - - - +endef +define LIBVIRT_CREATE_SYMLINKS_QEMU + $(INSTALL) -m 751 -d $(TARGET_DIR)/var/lib/libvirt/qemu + ln -s -f ../../var/lib/libvirt/qemu $(TARGET_DIR)/etc/libvirt/ +endef +endif + +define LIBVIRT_USERS + $(LIBVIRT_USERS_QEMU) +endef + # Adjust directory ownerships and permissions. Notice /var/log is a symlink to # /tmp in the default sysvinit skeleton, so some directories may disappear at # run-time. Set the permissions anyway, since they are valid for the default @@ -263,29 +293,16 @@ define LIBVIRT_PERMISSIONS /var/lib/libvirt/filesystems d 711 root root - - - - - /var/lib/libvirt/images d 711 root root - - - - - /var/lib/libvirt/network d 700 root root - - - - - - /var/lib/libvirt/qemu d 751 qemu kvm - - - - - - /var/lib/libvirt/qemu/autostart d 700 root root - - - - - - /var/lib/libvirt/qemu/networks d 700 root root - - - - - - /var/lib/libvirt/qemu/networks/autostart d 700 root root - - - - - - /var/lib/libvirt/qemu/channel d 755 qemu kvm - - - - - - /var/lib/libvirt/qemu/channel/target d 755 qemu kvm - - - - - - /var/lib/libvirt/qemu/dump d 755 qemu kvm - - - - - - /var/lib/libvirt/qemu/nvram d 755 qemu kvm - - - - - - /var/lib/libvirt/qemu/save d 755 qemu kvm - - - - - - /var/lib/libvirt/qemu/snapshot d 755 qemu kvm - - - - - /var/lib/libvirt/secrets d 700 root root - - - - - /var/lib/libvirt/storage d 755 root root - - - - - /var/lib/libvirt/storage/autostart d 755 root root - - - - - /var/cache/libvirt d 711 root root - - - - - /var/cache/libvirt/lxc d 750 root root - - - - - - /var/cache/libvirt/qemu d 750 qemu kvm - - - - - - /var/cache/libvirt/qemu/capabilities d 755 root root - - - - - /var/log/libvirt d 700 root root - - - - - /var/log/libvirt/lxc d 750 root root - - - - - - /var/log/libvirt/qemu d 750 root root - - - - - /var/log/swtpm d 755 root root - - - - - /var/log/swtpm/libvirt d 755 root root - - - - - - /var/log/swtpm/libvirt/qemu d 711 root root - - - - - + $(LIBVIRT_PERMISSIONS_QEMU) endef # libvirt may need to create persistent files (e.g. VM definitions) in these @@ -296,22 +313,15 @@ endef define LIBVIRT_CREATE_SYMLINKS $(INSTALL) -m 700 -d $(TARGET_DIR)/etc/libvirt $(INSTALL) -m 755 -d $(TARGET_DIR)/var/lib/libvirt - $(INSTALL) -m 751 -d $(TARGET_DIR)/var/lib/libvirt/qemu $(INSTALL) -m 700 -d $(TARGET_DIR)/var/lib/libvirt/secrets $(INSTALL) -m 755 -d $(TARGET_DIR)/var/lib/libvirt/storage - ln -s -f ../../var/lib/libvirt/qemu $(TARGET_DIR)/etc/libvirt/ ln -s -f ../../var/lib/libvirt/secrets $(TARGET_DIR)/etc/libvirt/ ln -s -f ../../var/lib/libvirt/storage $(TARGET_DIR)/etc/libvirt/ + $(LIBVIRT_CREATE_SYMLINKS_QEMU) endef LIBVIRT_PRE_INSTALL_TARGET_HOOKS += LIBVIRT_CREATE_SYMLINKS -ifeq ($(BR2_PACKAGE_LIBVIRT_QEMU),y) -define LIBVIRT_USERS - qemu -1 kvm -1 * - - - Libvirt qemu/kvm daemon -endef -endif - ifeq ($(BR2_PACKAGE_LIBVIRT_DAEMON),y) define LIBVIRT_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/libvirt/S91virtlogd $(TARGET_DIR)/etc/init.d/S91virtlogd diff --git a/package/libvncserver/libvncserver.mk b/package/libvncserver/libvncserver.mk index 3a15a82d0..082f838f1 100644 --- a/package/libvncserver/libvncserver.mk +++ b/package/libvncserver/libvncserver.mk @@ -22,7 +22,7 @@ LIBVNCSERVER_CONF_OPTS += \ -DWITH_SDL=OFF \ -DWITH_TESTS=OFF -ifneq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) LIBVNCSERVER_CONF_OPTS += -DWITH_THREADS=ON else LIBVNCSERVER_CONF_OPTS += -DWITH_THREADS=OFF diff --git a/package/libvpl/Config.in b/package/libvpl/Config.in index b9e9a20fd..5a370ed2e 100644 --- a/package/libvpl/Config.in +++ b/package/libvpl/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_LIBVPL_ARCH_SUPPORTS bool - default y if BR2_ARCH_IS_64 + default y if BR2_ARCH_IS_64 && !BR2_mips64 && !BR2_mips64el default y if BR2_arm config BR2_PACKAGE_LIBVPL diff --git a/package/libvpl/libvpl.hash b/package/libvpl/libvpl.hash index df1914e4a..19407e01b 100644 --- a/package/libvpl/libvpl.hash +++ b/package/libvpl/libvpl.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 524299a7b920ac0de1f6913ca90515858ea3a8ea2daaea60f8e0be62f22c8041 libvpl-2.10.1.tar.gz +sha256 ad956ea7ecf14614325f59dfb44cc5ba08e2fcac373342d61c7db152ac651253 libvpl-2.10.2.tar.gz sha256 bf1cfac2e2792b6e1e995ce103d70796aecaf2ec7e4c5fe5474f7acec7b4a677 LICENSE diff --git a/package/libvpl/libvpl.mk b/package/libvpl/libvpl.mk index 0c5d35487..645fda14d 100644 --- a/package/libvpl/libvpl.mk +++ b/package/libvpl/libvpl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBVPL_VERSION = 2.10.1 +LIBVPL_VERSION = 2.10.2 LIBVPL_SITE = $(call github,intel,libvpl,v$(LIBVPL_VERSION)) LIBVPL_LICENSE = MIT LIBVPL_LICENSE_FILES = LICENSE diff --git a/package/libwpe/libwpe.hash b/package/libwpe/libwpe.hash index 554b1f2b0..2a2ee3c2e 100644 --- a/package/libwpe/libwpe.hash +++ b/package/libwpe/libwpe.hash @@ -1,6 +1,7 @@ -# From https://wpewebkit.org/releases/libwpe-1.14.2.tar.xz.sums -sha1 70a2b894af2b50d7082260158a89524974a480f3 libwpe-1.14.2.tar.xz -sha256 8ae38022c50cb340c96fdbee1217f1e46ab57fbc1c8ba98142565abbedbe22ef libwpe-1.14.2.tar.xz +# From https://wpewebkit.org/releases/libwpe-1.16.0.tar.xz.sums +md5 9779115aaa7e67abe642777394e7bfa2 libwpe-1.16.0.tar.xz +sha1 ea574e09b5d47461a5579a24006488419474d136 libwpe-1.16.0.tar.xz +sha256 c7f3a3c6b3d006790d486dc7cceda2b6d2e329de07f33bc47dfc53f00f334b2a libwpe-1.16.0.tar.xz # Hashes for license files: sha256 35bef295cedbbf179eaee14328002587a0e7dc08ebf3f15ea080a6f2815f0d7b COPYING diff --git a/package/libwpe/libwpe.mk b/package/libwpe/libwpe.mk index 1fbdd5fcc..de49cedfb 100644 --- a/package/libwpe/libwpe.mk +++ b/package/libwpe/libwpe.mk @@ -5,7 +5,7 @@ ################################################################################ # The middle number is even for stable releases, odd for development ones. -LIBWPE_VERSION = 1.14.2 +LIBWPE_VERSION = 1.16.0 LIBWPE_SITE = https://wpewebkit.org/releases LIBWPE_SOURCE = libwpe-$(LIBWPE_VERSION).tar.xz LIBWPE_INSTALL_STAGING = YES diff --git a/package/libxcrypt/Config.in b/package/libxcrypt/Config.in index 57ae8f67a..38c75b5e6 100644 --- a/package/libxcrypt/Config.in +++ b/package/libxcrypt/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_LIBXCRYPT bool "libxcrypt" + depends on BR2_TOOLCHAIN_USES_GLIBC help libxcrypt is a modern library for one-way hashing of passwords. It supports a wide variety of both diff --git a/package/libxcrypt/libxcrypt.mk b/package/libxcrypt/libxcrypt.mk index 9ad030fbd..3a3d808a3 100644 --- a/package/libxcrypt/libxcrypt.mk +++ b/package/libxcrypt/libxcrypt.mk @@ -14,7 +14,7 @@ LIBXCRYPT_AUTORECONF = YES # Some warnings turn into errors with some sensitive compilers LIBXCRYPT_CONF_OPTS = --disable-werror -# Disable obsolete and unsecure API +# Disable obsolete and insecure API LIBXCRYPT_CONF_OPTS += --disable-obsolete_api $(eval $(autotools-package)) diff --git a/package/libxml2/libxml2.hash b/package/libxml2/libxml2.hash index 959887ab0..73fd0eced 100644 --- a/package/libxml2/libxml2.hash +++ b/package/libxml2/libxml2.hash @@ -1,4 +1,4 @@ -# From https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.5.sha256sum -sha256 a972796696afd38073e0f59c283c3a2f5a560b5268b4babc391b286166526b21 libxml2-2.12.5.tar.xz +# From https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.9.sha256sum +sha256 59912db536ab56a3996489ea0299768c7bcffe57169f0235e7f962a91f483590 libxml2-2.12.9.tar.xz # License files, locally calculated sha256 7fb0a66f3989f9bd5c7e5438a3de02cd4a7a47dde0aea2f7ea2ba2ff454ee6a4 Copyright diff --git a/package/libxml2/libxml2.mk b/package/libxml2/libxml2.mk index 6070c07b0..b69722b21 100644 --- a/package/libxml2/libxml2.mk +++ b/package/libxml2/libxml2.mk @@ -5,7 +5,7 @@ ################################################################################ LIBXML2_VERSION_MAJOR = 2.12 -LIBXML2_VERSION = $(LIBXML2_VERSION_MAJOR).5 +LIBXML2_VERSION = $(LIBXML2_VERSION_MAJOR).9 LIBXML2_SOURCE = libxml2-$(LIBXML2_VERSION).tar.xz LIBXML2_SITE = \ https://download.gnome.org/sources/libxml2/$(LIBXML2_VERSION_MAJOR) diff --git a/package/libxslt/libxslt.hash b/package/libxslt/libxslt.hash index 7597e7954..dd67940c8 100644 --- a/package/libxslt/libxslt.hash +++ b/package/libxslt/libxslt.hash @@ -1,5 +1,5 @@ -# From https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.39.sha256sum -sha256 2a20ad621148339b0759c4d4e96719362dee64c9a096dbba625ba053846349f0 libxslt-1.1.39.tar.xz +# From https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.42.sha256sum +sha256 85ca62cac0d41fc77d3f6033da9df6fd73d20ea2fc18b0a3609ffb4110e1baeb libxslt-1.1.42.tar.xz # Hash for license file: sha256 7e48e290b6bfccc2ec1b297023a1d77f2fd87417f71fbb9f50aabef40a851819 COPYING diff --git a/package/libxslt/libxslt.mk b/package/libxslt/libxslt.mk index 8098937ef..b5bb22f9a 100644 --- a/package/libxslt/libxslt.mk +++ b/package/libxslt/libxslt.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBXSLT_VERSION = 1.1.39 +LIBXSLT_VERSION = 1.1.42 LIBXSLT_SOURCE = libxslt-$(LIBXSLT_VERSION).tar.xz LIBXSLT_SITE = https://download.gnome.org/sources/libxslt/1.1 LIBXSLT_INSTALL_STAGING = YES diff --git a/package/lightning/0001-Fix-build-on-mips64el.patch b/package/lightning/0001-Fix-build-on-mips64el.patch deleted file mode 100644 index b3f087bb9..000000000 --- a/package/lightning/0001-Fix-build-on-mips64el.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 90f5c78f47dfb1ae4b953b0e30c7ef72a6438396 Mon Sep 17 00:00:00 2001 -From: Paul Cercueil -Date: Thu, 5 Oct 2023 14:24:13 +0200 -Subject: [PATCH] Fix build on mips64el - -The "cvt_offset" field may be used for anything non-ARM in -jit_fallback.c, so enable this field on anything non-ARM. Worst case -scenario, this field is not used and it only occupies 4 bytes of RAM. - -Besides, when building for mips64el with the N32 ABI, the __WORDSIZE -ends up being 32 and not 64 (which may be a problem in itself), which -caused some more issues as the movi_d_w() macro referenced by -jit_mips.c was not defined anywhere. - -This caused Buildroot's CI to fail when building on mips64el: -http://autobuild.buildroot.net/results/f951d91d2ca4647170a52499a243d45d13d3bced/ - -Upstream: http://git.savannah.gnu.org/cgit/lightning.git/commit/?id=90f5c78f47dfb1ae4b953b0e30c7ef72a6438396 -Signed-off-by: Paul Cercueil ---- - include/lightning/jit_private.h | 5 +---- - lib/lightning.c | 4 ++-- - 2 files changed, 3 insertions(+), 6 deletions(-) - -diff --git a/include/lightning/jit_private.h b/include/lightning/jit_private.h -index 5052a36..9f8caf6 100644 ---- a/include/lightning/jit_private.h -+++ b/include/lightning/jit_private.h -@@ -555,10 +555,7 @@ struct jit_function { - jit_int32_t *regoff; - jit_regset_t regset; - jit_int32_t stack; --#if defined(__i386__) || defined(__x86_64__) || \ -- defined(__powerpc__) || defined(__sparc__) || \ -- defined(__s390__) || defined(__s390x__) || \ -- defined(__hppa__) || defined(__alpha__) -+#if !defined(__arm__) - jit_int32_t cvt_offset; /* allocai'd offset for x87<->xmm or - * fpr<->gpr transfer using the stack */ - #endif -diff --git a/lib/lightning.c b/lib/lightning.c -index d5ea330..39c4fc2 100644 ---- a/lib/lightning.c -+++ b/lib/lightning.c -@@ -4285,7 +4285,7 @@ static void _htoni_ul(jit_state_t*, jit_int32_t, jit_word_t); - #endif - # define movi_f_w(r0, i0) _movi_f_w(_jit, r0, i0) - static void _movi_f_w(jit_state_t*, jit_int32_t, jit_float32_t); --#if __WORDSIZE == 32 -+#if __WORDSIZE == 32 && !(defined(__mips__) && NEW_ABI) - # define movi_d_ww(r0, r1, i0) _movi_d_ww(_jit, r0, r1, i0) - static void _movi_d_ww(jit_state_t*, jit_int32_t, jit_int32_t, jit_float64_t); - #else -@@ -4569,7 +4569,7 @@ _movi_f_w(jit_state_t *_jit, jit_int32_t r0, jit_float32_t i0) - movi(r0, data.i); - } - --#if __WORDSIZE == 32 -+#if __WORDSIZE == 32 && !(defined(__mips__) && NEW_ABI) - static void - _movi_d_ww(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1, jit_float64_t i0) - { --- -2.40.1 - diff --git a/package/lightning/0001-mips-Fix-build-on-MIPS64-with-n32-ABI.patch b/package/lightning/0001-mips-Fix-build-on-MIPS64-with-n32-ABI.patch new file mode 100644 index 000000000..19582d143 --- /dev/null +++ b/package/lightning/0001-mips-Fix-build-on-MIPS64-with-n32-ABI.patch @@ -0,0 +1,133 @@ +From 66a9a994c03d65fc37d701a60b26506bede49ae1 Mon Sep 17 00:00:00 2001 +From: Paul Cercueil +Date: Sun, 2 Jun 2024 22:35:24 +0200 +Subject: [PATCH] mips: Fix build on MIPS64 with n32 ABI + +The build on MIPS64 with n32 ABI was broken for a few reasons. + +- The _movi_d_w() functions had a different prototype in jit_mips-fpu.c + than in lightning.c; +- The movi_d_w() was still provided by lightning.c even though + jit_mips-fpu.c provides its own version; +- The "ww" opcodes were allowed, which was probably not meant to happen. + +Fixes a build issue reported by Buildroot: +http://autobuild.buildroot.net/results/27123bf0ddc84599bceb02ac987327817d498659/ + +Signed-off-by: Paul Cercueil +Upstream: http://git.savannah.gnu.org/cgit/lightning.git/commit/?id=778d326740f9893c398f959b419629935b613099 +--- + lib/jit_mips-fpu.c | 4 ++-- + lib/jit_mips.c | 3 +-- + lib/lightning.c | 43 +++++++++++++++++++++---------------------- + 3 files changed, 24 insertions(+), 26 deletions(-) + +diff --git a/lib/jit_mips-fpu.c b/lib/jit_mips-fpu.c +index 61db30e..8ad97e9 100644 +--- a/lib/jit_mips-fpu.c ++++ b/lib/jit_mips-fpu.c +@@ -349,7 +349,7 @@ static void _movi_f(jit_state_t*,jit_int32_t,jit_float32_t*); + # define movi64(r0, i0) _movi64(_jit, r0, i0) + static void _movi64(jit_state_t*,jit_int32_t,jit_int64_t); + # define movi_d_w(r0, i0) _movi_d_w(_jit, r0, i0) +-static void _movi_d_w(jit_state_t*,jit_int32_t,jit_int64_t); ++static void _movi_d_w(jit_state_t*,jit_int32_t,jit_float64_t); + # elif __WORDSIZE == 64 + # define movi64(r0, i0) movi(r0, i0) + # endif +@@ -1152,7 +1152,7 @@ _movi64(jit_state_t *_jit, jit_int32_t r0, jit_int64_t i0) + } + + static void +-_movi_d_w(jit_state_t *_jit, jit_int32_t r0, jit_int64_t i0) ++_movi_d_w(jit_state_t *_jit, jit_int32_t r0, jit_float64_t i0) + { + union { + jit_int64_t l; +diff --git a/lib/jit_mips.c b/lib/jit_mips.c +index 4fb6c34..6eb41a0 100644 +--- a/lib/jit_mips.c ++++ b/lib/jit_mips.c +@@ -2184,8 +2184,7 @@ _emit_code(jit_state_t *_jit) + case jit_code_movi_w_d: + movi_w_d(rn(node->u.w), node->v.w); + break; +-#endif +-#if __WORDSIZE == 32 ++#else + case jit_code_movr_ww_d: + movr_ww_d(rn(node->u.w), rn(node->v.w), rn(node->w.w)); + break; +diff --git a/lib/lightning.c b/lib/lightning.c +index b40d35b..2c10928 100644 +--- a/lib/lightning.c ++++ b/lib/lightning.c +@@ -4331,12 +4331,12 @@ static void _htoni_ul(jit_state_t*, jit_int32_t, jit_word_t); + #endif + # define movi_f_w(r0, i0) _movi_f_w(_jit, r0, i0) + static void _movi_f_w(jit_state_t*, jit_int32_t, jit_float32_t); +-#if __WORDSIZE == 32 && !(defined(__mips__) && NEW_ABI) +-# define movi_d_ww(r0, r1, i0) _movi_d_ww(_jit, r0, r1, i0) +-static void _movi_d_ww(jit_state_t*, jit_int32_t, jit_int32_t, jit_float64_t); +-#else ++#if __WORDSIZE == 64 + # define movi_d_w(r0, i0) _movi_d_w(_jit, r0, i0) + static void _movi_d_w(jit_state_t*, jit_int32_t, jit_float64_t); ++#elif !(defined(__mips__) && NEW_ABI) ++# define movi_d_ww(r0, r1, i0) _movi_d_ww(_jit, r0, r1, i0) ++static void _movi_d_ww(jit_state_t*, jit_int32_t, jit_int32_t, jit_float64_t); + #endif + #define cloi(r0, i0) _cloi(_jit, r0, i0) + static void _cloi(jit_state_t*, jit_int32_t, jit_word_t); +@@ -4803,7 +4803,23 @@ _movi_f_w(jit_state_t *_jit, jit_int32_t r0, jit_float32_t i0) + movi(r0, data.i); + } + +-#if __WORDSIZE == 32 && !(defined(__mips__) && NEW_ABI) ++#if __WORDSIZE == 64 ++static void ++_movi_d_w(jit_state_t *_jit, jit_int32_t r0, jit_float64_t i0) ++{ ++ union { ++ jit_int64_t l; ++ jit_float64_t d; ++ } data; ++ data.d = i0; ++# if defined(__ia64__) ++ /* Should be used only in this case (with out0 == 120) */ ++ if (r0 >= 120) ++ r0 = _jitc->rout + (r0 - 120); ++# endif ++ movi(r0, data.l); ++} ++#elif !(defined(__mips__) && NEW_ABI) + static void + _movi_d_ww(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1, jit_float64_t i0) + { +@@ -4821,23 +4837,6 @@ _movi_d_ww(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1, jit_float64_t i0) + movi(r0, data.i[1]); + # endif + } +- +-#else +-static void +-_movi_d_w(jit_state_t *_jit, jit_int32_t r0, jit_float64_t i0) +-{ +- union { +- jit_int64_t l; +- jit_float64_t d; +- } data; +- data.d = i0; +-# if defined(__ia64__) +- /* Should be used only in this case (with out0 == 120) */ +- if (r0 >= 120) +- r0 = _jitc->rout + (r0 - 120); +-# endif +- movi(r0, data.l); +-} + #endif + + void +-- +2.43.0 + diff --git a/package/lightning/lightning.hash b/package/lightning/lightning.hash index 6f7c24d19..76ad5e4cd 100644 --- a/package/lightning/lightning.hash +++ b/package/lightning/lightning.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 0aca8242dead17d62117bcfcb078e6a9ea856cc81742813c9e8394bcce73b3e2 lightning-2.2.2.tar.gz +sha256 c045c7a33a00affbfeb11066fa502c03992e474a62ba95977aad06dbc14c6829 lightning-2.2.3.tar.gz sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LESSER diff --git a/package/lightning/lightning.mk b/package/lightning/lightning.mk index c23ae9745..08e388392 100644 --- a/package/lightning/lightning.mk +++ b/package/lightning/lightning.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIGHTNING_VERSION = 2.2.2 +LIGHTNING_VERSION = 2.2.3 LIGHTNING_SITE = $(BR2_GNU_MIRROR)/lightning LIGHTNING_LICENSE = LGPL-3.0+ LIGHTNING_LICENSE_FILES = COPYING.LESSER diff --git a/package/linux-firmware/Config.in b/package/linux-firmware/Config.in index 920c0a2ef..076ecde02 100644 --- a/package/linux-firmware/Config.in +++ b/package/linux-firmware/Config.in @@ -195,6 +195,42 @@ config BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW54XXX help Firmware files for the Cypress cyw54xxx FullMAC. +config BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_100 + bool "Intel iwlwifi 100" + help + Firmware files for the Intel Wifi 100 devices supported by + the iwlwifi kernel driver. + +config BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_105 + bool "Intel iwlwifi 105" + help + Firmware files for the Intel Wifi 105 devices supported by + the iwlwifi kernel driver. + +config BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_135 + bool "Intel iwlwifi 135" + help + Firmware files for the Intel Wifi 135 devices supported by + the iwlwifi kernel driver. + +config BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_1000 + bool "Intel iwlwifi 1000" + help + Firmware files for the Intel Wifi 1000 devices supported by + the iwlwifi kernel driver. + +config BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_2000 + bool "Intel iwlwifi 2000" + help + Firmware files for the Intel Wifi 2000 devices supported by + the iwlwifi kernel driver. + +config BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_2030 + bool "Intel iwlwifi 2030" + help + Firmware files for the Intel Wifi 2030 devices supported by + the iwlwifi kernel driver. + config BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_22000 bool "Intel iwlwifi 22000" help @@ -545,7 +581,7 @@ config BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_4X (qede) config BR2_PACKAGE_LINUX_FIRMWARE_RTL_815X - bool "Realtek 8152/8153/8156 USB Ethernet Adapaters" + bool "Realtek 8152/8153/8156 USB Ethernet Adapters" help Firmware files for Realtek 8152/8153/8156 based USB Ethernet adapters. diff --git a/package/linux-firmware/linux-firmware.mk b/package/linux-firmware/linux-firmware.mk index 60e8861ab..b25c97263 100644 --- a/package/linux-firmware/linux-firmware.mk +++ b/package/linux-firmware/linux-firmware.mk @@ -486,6 +486,36 @@ LINUX_FIRMWARE_FILES += wil6210.* LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.QualcommAtheros_ath10k endif +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_100),y) +LINUX_FIRMWARE_FILES += iwlwifi-100-*.ucode +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware +endif + +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_105),y) +LINUX_FIRMWARE_FILES += iwlwifi-105-*.ucode +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware +endif + +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_135),y) +LINUX_FIRMWARE_FILES += iwlwifi-135-*.ucode +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware +endif + +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_1000),y) +LINUX_FIRMWARE_FILES += iwlwifi-1000-*.ucode +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware +endif + +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_2000),y) +LINUX_FIRMWARE_FILES += iwlwifi-2000-*.ucode +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware +endif + +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_2030),y) +LINUX_FIRMWARE_FILES += iwlwifi-2030-*.ucode +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware +endif + ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_22000),y) LINUX_FIRMWARE_FILES += iwlwifi-QuZ-*.ucode iwlwifi-Qu-*.ucode LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware diff --git a/package/linux-fusion/0001-fix-for-linux-4-and-above.patch b/package/linux-fusion/0001-fix-for-linux-4-and-above.patch index 689d9bf10..bc9e93651 100644 --- a/package/linux-fusion/0001-fix-for-linux-4-and-above.patch +++ b/package/linux-fusion/0001-fix-for-linux-4-and-above.patch @@ -1,6 +1,6 @@ Fix build for linux >= 4.x -Instead of relying on testing for '3' as the linux kernel major verison, +Instead of relying on testing for '3' as the linux kernel major version, check that it is 2.x to include the proper Makefile, otherwise forcibly include the .26 Makefile, that is good for 3.x and 4.x too. diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host index 63e82c49d..ebe551cc7 100644 --- a/package/linux-headers/Config.in.host +++ b/package/linux-headers/Config.in.host @@ -403,12 +403,12 @@ endchoice config BR2_DEFAULT_KERNEL_HEADERS string - default "4.19.307" if BR2_KERNEL_HEADERS_4_19 - default "5.4.269" if BR2_KERNEL_HEADERS_5_4 - default "5.10.210" if BR2_KERNEL_HEADERS_5_10 - default "5.15.149" if BR2_KERNEL_HEADERS_5_15 - default "6.1.79" if BR2_KERNEL_HEADERS_6_1 - default "6.6.18" if BR2_KERNEL_HEADERS_6_6 + default "4.19.325" if BR2_KERNEL_HEADERS_4_19 + default "5.4.290" if BR2_KERNEL_HEADERS_5_4 + default "5.10.234" if BR2_KERNEL_HEADERS_5_10 + default "5.15.178" if BR2_KERNEL_HEADERS_5_15 + default "6.1.128" if BR2_KERNEL_HEADERS_6_1 + default "6.6.78" if BR2_KERNEL_HEADERS_6_6 default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION default "custom" if BR2_KERNEL_HEADERS_CUSTOM_TARBALL default BR2_KERNEL_HEADERS_CUSTOM_REPO_VERSION \ diff --git a/package/linux-pam/0001-build-consistently-include-config.h-first.patch b/package/linux-pam/0001-build-consistently-include-config.h-first.patch new file mode 100644 index 000000000..e9f36b8a6 --- /dev/null +++ b/package/linux-pam/0001-build-consistently-include-config.h-first.patch @@ -0,0 +1,180 @@ +From cdba2c8cdba9b3500595624fb375c0dda266631b Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Fri, 30 Aug 2024 08:00:00 +0000 +Subject: [PATCH] build: consistently include config.h first + +Make sure that config.h is included before any system header. + +Upstream: https://github.com/linux-pam/linux-pam/commit/5d7eefb1883c557c7a027f68e966e2fae294a9b6 +Signed-off-by: Thomas Petazzoni +--- + libpam/pam_prelude.c | 8 ++++---- + modules/pam_namespace/argv_parse.c | 2 ++ + modules/pam_setquota/pam_setquota.c | 3 ++- + modules/pam_timestamp/sha1.c | 2 +- + modules/pam_unix/audit.c | 3 +-- + modules/pam_unix/bigcrypt_main.c | 2 ++ + modules/pam_unix/md5.c | 4 ++-- + modules/pam_unix/md5_crypt.c | 2 +- + modules/pam_unix/yppasswd.h | 2 ++ + 9 files changed, 17 insertions(+), 11 deletions(-) + +diff --git a/libpam/pam_prelude.c b/libpam/pam_prelude.c +index 6c73bf5d..c62e2f2c 100644 +--- a/libpam/pam_prelude.c ++++ b/libpam/pam_prelude.c +@@ -5,17 +5,17 @@ + * (C) Sebastien Tricaud 2005 + */ + +-#include +-#include +- + #ifdef PRELUDE + ++#include "pam_private.h" ++ ++#include ++#include + #include + #include + #include + + #include "pam_prelude.h" +-#include "pam_private.h" + + + #define ANALYZER_CLASS "pam" +diff --git a/modules/pam_namespace/argv_parse.c b/modules/pam_namespace/argv_parse.c +index ac7c9ae0..cbae7831 100644 +--- a/modules/pam_namespace/argv_parse.c ++++ b/modules/pam_namespace/argv_parse.c +@@ -28,6 +28,8 @@ + * Version 1.1, modified 2/27/1999 + */ + ++#include "config.h" ++ + #include + #include + #include +diff --git a/modules/pam_setquota/pam_setquota.c b/modules/pam_setquota/pam_setquota.c +index c15fc669..73445e29 100644 +--- a/modules/pam_setquota/pam_setquota.c ++++ b/modules/pam_setquota/pam_setquota.c +@@ -8,6 +8,8 @@ + Copyright © 2016 Keller Fuchs + */ + ++#include "pam_inline.h" ++ + #include + #include + #include +@@ -22,7 +24,6 @@ + #include + #include + #include +-#include "pam_inline.h" + + #ifndef PATH_LOGIN_DEFS + # define PATH_LOGIN_DEFS "/etc/login.defs" +diff --git a/modules/pam_timestamp/sha1.c b/modules/pam_timestamp/sha1.c +index dff454cf..f21b2870 100644 +--- a/modules/pam_timestamp/sha1.c ++++ b/modules/pam_timestamp/sha1.c +@@ -37,6 +37,7 @@ + */ + /* See http://www.itl.nist.gov/fipspubs/fip180-1.htm for descriptions. */ + ++#include "pam_inline.h" + #include + #include + #include +@@ -47,7 +48,6 @@ + #include + #include + #include "sha1.h" +-#include "pam_inline.h" + + static const unsigned char + padding[SHA1_BLOCK_SIZE] = { +diff --git a/modules/pam_unix/audit.c b/modules/pam_unix/audit.c +index 1547a652..9513aaa9 100644 +--- a/modules/pam_unix/audit.c ++++ b/modules/pam_unix/audit.c +@@ -1,5 +1,3 @@ +-#include "audit.h" +- + #include "config.h" + + #ifdef HAVE_LIBAUDIT +@@ -11,6 +9,7 @@ + + #include + ++#include "audit.h" + #include "passverify.h" + + int audit_log(int type, const char *uname, int retval) +diff --git a/modules/pam_unix/bigcrypt_main.c b/modules/pam_unix/bigcrypt_main.c +index fab212d9..22d325da 100644 +--- a/modules/pam_unix/bigcrypt_main.c ++++ b/modules/pam_unix/bigcrypt_main.c +@@ -1,3 +1,5 @@ ++#include "config.h" ++ + #include + #include + +diff --git a/modules/pam_unix/md5.c b/modules/pam_unix/md5.c +index 95b8de4c..78e9af27 100644 +--- a/modules/pam_unix/md5.c ++++ b/modules/pam_unix/md5.c +@@ -18,11 +18,11 @@ + * + */ + ++#include "pam_inline.h" ++ + #include + #include "md5.h" + +-#include "pam_inline.h" +- + #ifndef HIGHFIRST + #define byteReverse(buf, len) /* Nothing */ + #else +diff --git a/modules/pam_unix/md5_crypt.c b/modules/pam_unix/md5_crypt.c +index 9a6bd4f9..9451f376 100644 +--- a/modules/pam_unix/md5_crypt.c ++++ b/modules/pam_unix/md5_crypt.c +@@ -12,11 +12,11 @@ + * + */ + ++#include "pam_inline.h" + #include + #include + #include + #include "md5.h" +-#include "pam_inline.h" + + static const unsigned char itoa64[] = /* 0 ... 63 => ascii - 64 */ + "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; +diff --git a/modules/pam_unix/yppasswd.h b/modules/pam_unix/yppasswd.h +index dc686cd7..3a40c3ea 100644 +--- a/modules/pam_unix/yppasswd.h ++++ b/modules/pam_unix/yppasswd.h +@@ -6,6 +6,8 @@ + #ifndef _YPPASSWD_H_RPCGEN + #define _YPPASSWD_H_RPCGEN + ++#include "config.h" ++ + #include + + +-- +2.47.1 + diff --git a/package/linux-pam/0001-pam_namespace-include-stdint-h.patch b/package/linux-pam/0001-pam_namespace-include-stdint-h.patch deleted file mode 100644 index 5eda61950..000000000 --- a/package/linux-pam/0001-pam_namespace-include-stdint-h.patch +++ /dev/null @@ -1,42 +0,0 @@ -From cc9d40b7cdbd3e15ccaa324a0dda1680ef9dea13 Mon Sep 17 00:00:00 2001 -From: Jacob Heider -Date: Wed, 17 Jan 2024 11:49:26 -0500 -Subject: [PATCH] pam_namespace: include stdint.h - -pam_namespace.c makes use of SIZE_MAX but doesn't include stdint.h, -resulting in the following build failures on 1.6.0: - - pam_namespace.c: In function 'process_line': - pam_namespace.c:649:41: error: 'SIZE_MAX' undeclared (first use in this function) - 649 | if (count > UINT_MAX || count > SIZE_MAX / sizeof(uid_t)) { - | ^~~~~~~~ - pam_namespace.c:41:1: note: 'SIZE_MAX' is defined in header ''; did you forget to '#include '? - 40 | #include "argv_parse.h" - +++ |+#include - 41 | - pam_namespace.c:649:41: note: each undeclared identifier is reported only once for each function it appears in - 649 | if (count > UINT_MAX || count > SIZE_MAX / sizeof(uid_t)) { - | ^~~~~~~~ - -Fixes: v1.6.0~100 ("pam_namespace: validate amount of uids in config") -Resolves: https://github.com/linux-pam/linux-pam/issues/733 - -Upstream: https://github.com/linux-pam/linux-pam/commit/cc9d40b7cdbd3e15ccaa324a0dda1680ef9dea13 -Signed-off-by: Fabrice Fontaine ---- - modules/pam_namespace/pam_namespace.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/modules/pam_namespace/pam_namespace.c b/modules/pam_namespace/pam_namespace.c -index f72d67189..b16731c22 100644 ---- a/modules/pam_namespace/pam_namespace.c -+++ b/modules/pam_namespace/pam_namespace.c -@@ -34,6 +34,8 @@ - - #define _ATFILE_SOURCE - -+#include "config.h" -+#include - #include "pam_cc_compat.h" - #include "pam_inline.h" - #include "pam_namespace.h" diff --git a/package/linux-pam/Config.in b/package/linux-pam/Config.in index b17716f2f..e508d79b7 100644 --- a/package/linux-pam/Config.in +++ b/package/linux-pam/Config.in @@ -5,7 +5,6 @@ config BR2_PACKAGE_LINUX_PAM depends on !BR2_STATIC_LIBS depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C11/stdatomic.h - select BR2_PACKAGE_FLEX help A Security Framework that Provides Authentication for Applications diff --git a/package/linux-pam/linux-pam.hash b/package/linux-pam/linux-pam.hash index cd882715c..353613e6e 100644 --- a/package/linux-pam/linux-pam.hash +++ b/package/linux-pam/linux-pam.hash @@ -1,6 +1,6 @@ # Locally computed hashes after checking signature at -# https://github.com/linux-pam/linux-pam/releases/download/v1.6.0/Linux-PAM-1.6.0.tar.xz.asc +# https://github.com/linux-pam/linux-pam/releases/download/v1.6.1/Linux-PAM-1.6.1.tar.xz.asc # signed with the key 8C6BFD92EE0F42EDF91A6A736D1A7F052E5924BB -sha256 fff4a34e5bbee77e2e8f1992f27631e2329bcbf8a0563ddeb5c3389b4e3169ad Linux-PAM-1.6.0.tar.xz +sha256 f8923c740159052d719dbfc2a2f81942d68dd34fcaf61c706a02c9b80feeef8e Linux-PAM-1.6.1.tar.xz # Locally computed sha256 133d98e7a2ab3ffd330b4debb0bfc10fea21e4b2b5a5b09de2e924293be5ff08 Copyright diff --git a/package/linux-pam/linux-pam.mk b/package/linux-pam/linux-pam.mk index 89a46e81d..f8a9e7df2 100644 --- a/package/linux-pam/linux-pam.mk +++ b/package/linux-pam/linux-pam.mk @@ -4,7 +4,7 @@ # ################################################################################ -LINUX_PAM_VERSION = 1.6.0 +LINUX_PAM_VERSION = 1.6.1 LINUX_PAM_SOURCE = Linux-PAM-$(LINUX_PAM_VERSION).tar.xz LINUX_PAM_SITE = https://github.com/linux-pam/linux-pam/releases/download/v$(LINUX_PAM_VERSION) LINUX_PAM_INSTALL_STAGING = YES @@ -16,7 +16,7 @@ LINUX_PAM_CONF_OPTS = \ --disable-regenerate-docu \ --enable-securedir=/lib/security \ --libdir=/lib -LINUX_PAM_DEPENDENCIES = flex host-flex host-pkgconf \ +LINUX_PAM_DEPENDENCIES = host-flex host-pkgconf \ $(if $(BR2_PACKAGE_LIBXCRYPT),libxcrypt) \ $(TARGET_NLS_DEPENDENCIES) LINUX_PAM_LICENSE = BSD-3-Clause diff --git a/package/linux-tools/linux-tool-perf.mk.in b/package/linux-tools/linux-tool-perf.mk.in index 65aba2e9f..df3030439 100644 --- a/package/linux-tools/linux-tool-perf.mk.in +++ b/package/linux-tools/linux-tool-perf.mk.in @@ -28,7 +28,8 @@ PERF_MAKE_FLAGS = \ NO_LIBPERL=1 \ NO_LIBPYTHON=1 \ NO_LIBBIONIC=1 \ - NO_LIBTRACEEVENT=1 + NO_LIBTRACEEVENT=1 \ + NO_SHELLCHECK=1 # We need to pass an argument to ld for setting the emulation when # building for MIPS architecture, otherwise the default one will always diff --git a/package/linux-zigbee/0001-test-serial-Remove-test-serial.patch b/package/linux-zigbee/0001-test-serial-Remove-test-serial.patch index 8cd9d754c..95e52b3c9 100644 --- a/package/linux-zigbee/0001-test-serial-Remove-test-serial.patch +++ b/package/linux-zigbee/0001-test-serial-Remove-test-serial.patch @@ -5,7 +5,7 @@ Subject: [PATCH] test-serial: Remove test-serial This folders only contains python tests scripts which would force us to enable a dependency to host-python which seems kind of silly since -theses are only tests scripts. +these are only tests scripts. Signed-off-by: Maxime Hadjinlian --- diff --git a/package/lldpd/Config.in b/package/lldpd/Config.in index 3e0446986..04dd6040b 100644 --- a/package/lldpd/Config.in +++ b/package/lldpd/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_LLDPD select BR2_PACKAGE_LIBEVENT help lldpd is a 802.1ab implementation (LLDP) to help you locate - neighbors of all your equipments. + neighbors of all your equipment. LLDP allows you to know exactly on which port is a server (and reciprocally). diff --git a/package/llvm-project/llvm/llvm.mk b/package/llvm-project/llvm/llvm.mk index 6598d8b6c..b0515474d 100644 --- a/package/llvm-project/llvm/llvm.mk +++ b/package/llvm-project/llvm/llvm.mk @@ -20,10 +20,6 @@ LLVM_DEPENDENCIES = host-llvm HOST_LLVM_CONF_OPTS += -DCMAKE_MODULE_PATH=$(HOST_DIR)/lib/cmake/llvm LLVM_CONF_OPTS += -DCMAKE_MODULE_PATH=$(HOST_DIR)/lib/cmake/llvm -# Assembly files for x64 in lib/Support/BLAKE3 need to be compiled -# by a C compiler -HOST_LLVM_CONF_OPTS += -DCMAKE_ASM_COMPILER="$(CMAKE_HOST_C_COMPILER)" - # Don't build clang libcxx libcxxabi lldb compiler-rt lld polly as llvm subprojects # This flag assumes that projects are checked out side-by-side and not nested HOST_LLVM_CONF_OPTS += -DLLVM_ENABLE_PROJECTS="" diff --git a/package/lmbench/0003-TOO_LONG-100-usec-to-prevent-memsize-from-timingout-.patch b/package/lmbench/0003-TOO_LONG-100-usec-to-prevent-memsize-from-timingout-.patch index 6c3e7370e..9702693c8 100644 --- a/package/lmbench/0003-TOO_LONG-100-usec-to-prevent-memsize-from-timingout-.patch +++ b/package/lmbench/0003-TOO_LONG-100-usec-to-prevent-memsize-from-timingout-.patch @@ -1,7 +1,7 @@ From d85b61666aa2728f68b69d02bfb162c432df709f Mon Sep 17 00:00:00 2001 From: vgupta Date: Sat, 3 Mar 2012 10:02:24 +0000 -Subject: [PATCH] TOO_LONG 100 usec to prevent memsize from timingout @80Mhz +Subject: [PATCH] TOO_LONG 100 usec to prevent memsize from timing out @80Mhz git-svn-id: http://sjvm-subversion02.internal.synopsys.com/svn/OSS/ARC_Linux/tests/lmbench-3.0-a9@157318 4eed8e25-bc12-0410-818a-f70ee6866280 diff --git a/package/lmbench/0005-scripts-build-make-it-possible-to-set-LDLIBS.patch b/package/lmbench/0005-scripts-build-make-it-possible-to-set-LDLIBS.patch new file mode 100644 index 000000000..6d5599763 --- /dev/null +++ b/package/lmbench/0005-scripts-build-make-it-possible-to-set-LDLIBS.patch @@ -0,0 +1,30 @@ +From 2c7ff6989bc6161d8a2cc823d3aa7c9cb1deca80 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 4 Dec 2024 22:59:31 +0100 +Subject: [PATCH] scripts/build: make it possible to set LDLIBS + +LDLIBS is currently unconditionnally set to '-lm', but doesn't allow +the user to provide additional libraries to link with. + +Upstream: dead, last release in 2006 +Signed-off-by: Thomas Petazzoni +--- + scripts/build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/scripts/build b/scripts/build +index 60b755c..4820d80 100755 +--- a/scripts/build ++++ b/scripts/build +@@ -18,7 +18,7 @@ done + + trap 'rm -f ${BASE}$$.s ${BASE}$$.c ${BASE}$$.o ${BASE}$$; exit 1' 1 2 15 + +-LDLIBS=-lm ++LDLIBS="${LDLIBS} -lm" + + # check for HP-UX's ANSI compiler + echo "main(int ac, char *av[]) { int i; }" > ${BASE}$$.c +-- +2.47.0 + diff --git a/package/lmbench/lmbench.mk b/package/lmbench/lmbench.mk index b0f99ff10..3d942779a 100644 --- a/package/lmbench/lmbench.mk +++ b/package/lmbench/lmbench.mk @@ -26,7 +26,6 @@ LMBENCH_POST_PATCH_HOOKS += UPDATE_CONFIG_HOOK define LMBENCH_CONFIGURE_CMDS sed -i 's/CFLAGS=/CFLAGS+=/g' $(@D)/src/Makefile - sed -i 's/LDLIBS=/LDLIBS+=/g' $(@D)/scripts/build sed -i '/cd .*doc/d' $(@D)/src/Makefile sed -i '/include/d' $(@D)/src/Makefile touch $@ diff --git a/package/localedef/localedef.mk b/package/localedef/localedef.mk index c017c0e00..bade28fdc 100644 --- a/package/localedef/localedef.mk +++ b/package/localedef/localedef.mk @@ -7,7 +7,7 @@ # Use the same VERSION and SITE as target glibc # As in glibc.mk, generate version string using: # git describe --match 'glibc-*' --abbrev=40 origin/release/MAJOR.MINOR/master | cut -d '-' -f 2- -LOCALEDEF_VERSION = 2.38-44-gd37c2b20a4787463d192b32041c3406c2bd91de0 +LOCALEDEF_VERSION = 2.38-81-gc8cb4d2b86ece572793e31a3422ea29e88d77df5 LOCALEDEF_SOURCE = glibc-$(LOCALEDEF_VERSION).tar.gz LOCALEDEF_SITE = $(call github,bminor,glibc,$(LOCALEDEF_VERSION)) HOST_LOCALEDEF_DL_SUBDIR = glibc diff --git a/package/lrzsz/lrzsz.mk b/package/lrzsz/lrzsz.mk index d9be23540..7247a4bd5 100644 --- a/package/lrzsz/lrzsz.mk +++ b/package/lrzsz/lrzsz.mk @@ -13,11 +13,6 @@ LRZSZ_CPE_ID_VALID = YES LRZSZ_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) LRZSZ_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) -define LRZSZ_POST_CONFIGURE_HOOKS - $(SED) "s/-lnsl//;" $(@D)/src/Makefile - $(SED) "s~\(#define ENABLE_SYSLOG.*\)~/* \1 */~;" $(@D)/config.h -endef - define LRZSZ_INSTALL_TARGET_CMDS $(INSTALL) -m 0755 -D $(@D)/src/lrz $(TARGET_DIR)/usr/bin/rz $(INSTALL) -m 0755 -D $(@D)/src/lsz $(TARGET_DIR)/usr/bin/sz diff --git a/package/ltrace/Config.in b/package/ltrace/Config.in index 21d381db7..2dc969c4f 100644 --- a/package/ltrace/Config.in +++ b/package/ltrace/Config.in @@ -15,6 +15,7 @@ config BR2_PACKAGE_LTRACE depends on BR2_USE_WCHAR # elfutils depends on !BR2_STATIC_LIBS # elfutils depends on BR2_TOOLCHAIN_HAS_THREADS # elfutils + depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC depends on BR2_PACKAGE_LTRACE_ARCH_SUPPORTS select BR2_PACKAGE_ELFUTILS help @@ -25,7 +26,8 @@ config BR2_PACKAGE_LTRACE http://ltrace.org -comment "ltrace needs a toolchain w/ wchar, dynamic library, threads" +comment "ltrace needs a uClibc or glibc toolchain w/ wchar, dynamic library, threads" depends on BR2_PACKAGE_LTRACE_ARCH_SUPPORTS depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS \ - || !BR2_TOOLCHAIN_HAS_THREADS + || !BR2_TOOLCHAIN_HAS_THREADS \ + || !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) diff --git a/package/lua-augeas/lua-augeas.mk b/package/lua-augeas/lua-augeas.mk index 930cf49b8..8a7f2b5f7 100644 --- a/package/lua-augeas/lua-augeas.mk +++ b/package/lua-augeas/lua-augeas.mk @@ -11,7 +11,7 @@ LUA_AUGEAS_LICENSE_FILES = COPYRIGHT LUA_AUGEAS_DEPENDENCIES = luainterpreter augeas host-pkgconf # LDFLAGS=$(LDFLAGS) is present to pass LDFLAGS from environment to the command -# line. With LDFLAGS set in the command line, related ordinary asignment present +# line. With LDFLAGS set in the command line, related ordinary assignment present # in the makefile are ignored and so lua-augeas makefile cannot not add '-L/lib' # to this value. LUA_AUGEAS_CONF_OPTS= \ diff --git a/package/lua-cffi/0001-src-platform.hh-fix-or1k-build.patch b/package/lua-cffi/0001-src-platform.hh-fix-or1k-build.patch new file mode 100644 index 000000000..35d023df4 --- /dev/null +++ b/package/lua-cffi/0001-src-platform.hh-fix-or1k-build.patch @@ -0,0 +1,39 @@ +From 2294e61b057215bf089b1d1c482a5dcbcad6b414 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 23 May 2024 17:50:18 +0200 +Subject: [PATCH] src/platform.hh: fix or1k build + +Fix the following or1k build failure raised since version 0.2.2 and +https://github.com/q66/cffi-lua/commit/27755f61e4c625dff951302bade4ad07e3609ca5: + +In file included from /home/buildroot/autobuild/run/instance-0/output-1/host/or1k-buildroot-linux-uclibc/sysroot/usr/include/lua.hpp:6, + from ../src/lua.hh:23, + from ../src/parser.hh:4, + from ../src/ffilib.cc:7: +../src/ffilib.cc: In static member function 'static void ffi_module::setup(lua_State*)': +../src/ffilib.cc:1616:28: error: expected ')' before 'FFI_ARCH_NAME' + 1616 | lua_pushliteral(L, FFI_ARCH_NAME); + | ^~~~~~~~~~~~~ + +Fixes: 27755f61e4c625dff951302bade4ad07e3609ca5 + - http://autobuild.buildroot.org/results/4e14753732c5b6fe8ba9ecc4050ffb35f471c428 + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/q66/cffi-lua/commit/2294e61b057215bf089b1d1c482a5dcbcad6b414 +--- + src/platform.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/platform.hh b/src/platform.hh +index 84e0a89..dab1e76 100644 +--- a/src/platform.hh ++++ b/src/platform.hh +@@ -192,7 +192,7 @@ + # endif + #elif defined(__OR1K__) + # define FFI_ARCH FFI_ARCH_OR1K +-# define FFO_ARCH_NAME "or1k" ++# define FFI_ARCH_NAME "or1k" + #elif defined(__riscv) || defined(__riscv__) + # if __riscv_xlen == 32 + # define FFI_ARCH FFI_ARCH_RV32 diff --git a/package/luabitop/luabitop.hash b/package/luabitop/luabitop.hash index 02757a6b0..cfbf2b651 100644 --- a/package/luabitop/luabitop.hash +++ b/package/luabitop/luabitop.hash @@ -1,4 +1,4 @@ # computed by luarocks/buildroot sha256 fc7a8065a57462ee13bed7f95b0ab13f94ecd1bf846108c61ccf2c75548af26e luabitop-1.0.2-1.src.rock -# Locally calcuated +# Locally calculated sha256 25e331120d0c2f95fa2ac6e439ca920f0a4362c366a4c7382d843113743a3ba5 LuaBitOp-1.0.2/README diff --git a/package/luajit/luajit.mk b/package/luajit/luajit.mk index 06c899339..693e22630 100644 --- a/package/luajit/luajit.mk +++ b/package/luajit/luajit.mk @@ -33,15 +33,6 @@ LUAJIT_HOST_CC = $(HOSTCC) -m32 LUAJIT_XCFLAGS += -DLUAJIT_DISABLE_GC64 endif -# emulation of git archive with .gitattributes & export-subst -# Timestamp of the $(LUAJIT_VERSION) commit, obtained in the LuaJit -# repo, with: git show -s --format=%ct $(LUAJIT_VERSION) -define LUAJIT_GEN_RELVER_FILE - echo 1693350652 >$(@D)/.relver -endef -LUAJIT_POST_EXTRACT_HOOKS = LUAJIT_GEN_RELVER_FILE -HOST_LUAJIT_POST_EXTRACT_HOOKS = LUAJIT_GEN_RELVER_FILE - # We unfortunately can't use TARGET_CONFIGURE_OPTS, because the luajit # build system uses non conventional variable names. define LUAJIT_BUILD_CMDS diff --git a/package/lvm2/lvm2.mk b/package/lvm2/lvm2.mk index 810d668ec..05b7388cf 100644 --- a/package/lvm2/lvm2.mk +++ b/package/lvm2/lvm2.mk @@ -76,5 +76,10 @@ HOST_LVM2_CONF_OPTS = \ --disable-selinux \ --with-confdir=$(HOST_DIR)/etc +define LVM2_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_MD) + $(call KCONFIG_ENABLE_OPT,CONFIG_BLK_DEV_DM) +endef + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/lxc/0001-src-lxc-syscall_numbers.h-drop-define-1.patch b/package/lxc/0001-src-lxc-syscall_numbers.h-drop-define-1.patch new file mode 100644 index 000000000..4a944e35b --- /dev/null +++ b/package/lxc/0001-src-lxc-syscall_numbers.h-drop-define-1.patch @@ -0,0 +1,133 @@ +From 82fe01821cd5cb8548598d7d93b07d6ef3f6b604 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 30 Mar 2024 16:50:46 +0100 +Subject: [PATCH] src/lxc/syscall_numbers.h: drop define -1 + +Drop "#define -1" to avoid the following m68k build failure with gcc 12: + +In file included from ../src/lxc/syscall_wrappers.h:19, + from ../src/lxc/mount_utils.h:15, + from ../src/lxc/conf.h:24, + from ../src/lxc/log.h:19, + from ../src/lxc/storage/btrfs.c:20: +../src/lxc/syscall_numbers.h:423:25: error: macro names must be identifiers + 423 | #define -1 + | ^ + +Fixes: + - http://autobuild.buildroot.org/results/f40a517eba86838b11b4b1d6a8a05b8233a3394d + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/lxc/lxc/commit/82fe01821cd5cb8548598d7d93b07d6ef3f6b604 +--- + src/lxc/syscall_numbers.h | 13 ------------- + 1 file changed, 13 deletions(-) + +diff --git a/src/lxc/syscall_numbers.h b/src/lxc/syscall_numbers.h +index 58840a5981..5e659d1b81 100644 +--- a/src/lxc/syscall_numbers.h ++++ b/src/lxc/syscall_numbers.h +@@ -53,7 +53,6 @@ + #elif defined __loongarch64 + #define __NR_keyctl 219 + #else +- #define -1 + #warning "__NR_keyctl not defined for your architecture" + #endif + #endif +@@ -92,7 +91,6 @@ + #elif defined __loongarch64 + #define __NR_memfd_create 279 + #else +- #define -1 + #warning "__NR_memfd_create not defined for your architecture" + #endif + #endif +@@ -129,7 +127,6 @@ + #elif defined __loongarch64 + #define __NR_pivot_root 41 + #else +- #define -1 + #warning "__NR_pivot_root not defined for your architecture" + #endif + #endif +@@ -166,7 +163,6 @@ + #elif defined __loongarch64 + #define __NR_setns 268 + #else +- #define -1 + #warning "__NR_setns not defined for your architecture" + #endif + #endif +@@ -203,7 +199,6 @@ + #elif defined __loongarch64 + #define __NR_sethostname 161 + #else +- #define -1 + #warning "__NR_sethostname not defined for your architecture" + #endif + #endif +@@ -272,7 +267,6 @@ + #elif defined __loongarch64 + #define __NR_signalfd4 74 + #else +- #define -1 + #warning "__NR_signalfd4 not defined for your architecture" + #endif + #endif +@@ -309,7 +303,6 @@ + #elif defined __loongarch64 + #define __NR_unshare 97 + #else +- #define -1 + #warning "__NR_unshare not defined for your architecture" + #endif + #endif +@@ -346,7 +339,6 @@ + #elif defined __loongarch64 + #define __NR_bpf 280 + #else +- #define -1 + #warning "__NR_bpf not defined for your architecture" + #endif + #endif +@@ -383,7 +375,6 @@ + #elif defined __loongarch64 + #define __NR_faccessat 48 + #else +- #define -1 + #warning "__NR_faccessat not defined for your architecture" + #endif + #endif +@@ -440,7 +431,6 @@ + #elif defined __loongarch64 + #define __NR_seccomp 277 + #else +- #define -1 + #warning "__NR_seccomp not defined for your architecture" + #endif + #endif +@@ -477,7 +467,6 @@ + #elif defined __loongarch64 + #define __NR_gettid 178 + #else +- #define -1 + #warning "__NR_gettid not defined for your architecture" + #endif + #endif +@@ -518,7 +507,6 @@ + #elif defined __loongarch64 + #define __NR_execveat 281 + #else +- #define -1 + #warning "__NR_execveat not defined for your architecture" + #endif + #endif +@@ -759,7 +747,6 @@ + #elif defined __loongarch64 + #define __NR_personality 92 + #else +- #define -1 + #warning "__NR_personality not defined for your architecture" + #endif + #endif diff --git a/package/lynx/lynx.mk b/package/lynx/lynx.mk index da57eb260..831732926 100644 --- a/package/lynx/lynx.mk +++ b/package/lynx/lynx.mk @@ -6,7 +6,7 @@ LYNX_VERSION = 2.8.9rel.1 LYNX_SOURCE = lynx$(LYNX_VERSION).tar.bz2 -LYNX_SITE = ftp://ftp.invisible-island.net/lynx/tarballs +LYNX_SITE = https://invisible-mirror.net/archives/lynx/tarballs LYNX_PATCH = \ https://salsa.debian.org/lynx-team/lynx/-/raw/debian/2.9.0dev.6-3_deb11u1/debian/patches/90_CVE-2021-38165.patch # 90_CVE-2021-38165.patch diff --git a/package/madplay/0004-configure-ac-call-AM_MKINSTALLDIRS.patch b/package/madplay/0004-configure-ac-call-AM_MKINSTALLDIRS.patch index 7d3fb8ddc..448139e0b 100644 --- a/package/madplay/0004-configure-ac-call-AM_MKINSTALLDIRS.patch +++ b/package/madplay/0004-configure-ac-call-AM_MKINSTALLDIRS.patch @@ -3,7 +3,7 @@ configure.ac: call AM_MKINSTALLDIRS to substitute @MKINSTALLDIRS@ MKINSTALLDIRS is obsolete and doesn't get automatically called. Force call AM_MKINSTALLDIRS() macro to substitute every @MKINSTALLDIRS@ -occurence in *.in files. +occurrence in *.in files. Signed-off-by: Giulio Benetti diff --git a/package/madplay/madplay.mk b/package/madplay/madplay.mk index 91ee44ab5..b9162dd2f 100644 --- a/package/madplay/madplay.mk +++ b/package/madplay/madplay.mk @@ -18,7 +18,7 @@ MADPLAY_AUTORECONF = YES # madplay uses libmad which has some assembly function that is not present in # Thumb mode: # Error: selected processor does not support `smull r8,r9,r2,r4' in Thumb mode -# so, we desactivate Thumb mode +# so, we deactivate Thumb mode ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) MADPLAY_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm" endif diff --git a/package/make/make.mk b/package/make/make.mk index e194e1587..1d1a976eb 100644 --- a/package/make/make.mk +++ b/package/make/make.mk @@ -23,7 +23,7 @@ HOST_MAKE_DEPENDENCIES = host-pkgconf HOST_MAKE_CONF_OPTS = --without-guile # Configure host-make binary to be 'host-make' to ensure it isn't -# accidently used by packages when they invoke recursive / sub-make. +# accidentally used by packages when they invoke recursive / sub-make. HOST_MAKE_CONF_OPTS += --program-prefix=host- $(eval $(autotools-package)) diff --git a/package/makedevs/makedevs.c b/package/makedevs/makedevs.c index a5c9c7d64..be76155ab 100644 --- a/package/makedevs/makedevs.c +++ b/package/makedevs/makedevs.c @@ -165,7 +165,7 @@ int bb_make_directory (char *path, long mode, int flags) } /* Since the directory exists, don't attempt to change * permissions if it was the full target. Note that - * this is not an error conditon. */ + * this is not an error condition. */ if (!c) { umask(mask); return 0; @@ -480,11 +480,11 @@ int main(int argc, char **argv) } if (optind >= argc || (rootdir=argv[optind])==NULL) { - bb_error_msg_and_die("root directory not speficied"); + bb_error_msg_and_die("root directory not specified"); } if (chdir(rootdir) != 0) { - bb_perror_msg_and_die("Couldnt chdir to %s", rootdir); + bb_perror_msg_and_die("Could not chdir to %s", rootdir); } umask(0); diff --git a/package/mariadb/Config.in b/package/mariadb/Config.in index d88dda3cd..acedd1da9 100644 --- a/package/mariadb/Config.in +++ b/package/mariadb/Config.in @@ -11,6 +11,7 @@ config BR2_PACKAGE_MARIADB select BR2_PACKAGE_FMT select BR2_PACKAGE_NCURSES select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL select BR2_PACKAGE_PCRE2 help MariaDB is one of the most popular database servers in the diff --git a/package/mariadb/mariadb.mk b/package/mariadb/mariadb.mk index 8641437d4..1dcf6568d 100644 --- a/package/mariadb/mariadb.mk +++ b/package/mariadb/mariadb.mk @@ -26,7 +26,7 @@ MARIADB_DEPENDENCIES = \ libxml2 MARIADB_CONF_OPTS += \ - -DWITH_FMT=system \ + -DWITH_LIBFMT=system \ -DWITH_PCRE=system # use bundled GPL-2.0+ licensed readline as package/readline is GPL-3.0+ diff --git a/package/mbedtls/mbedtls.hash b/package/mbedtls/mbedtls.hash index 3ec151a85..9de7f731d 100644 --- a/package/mbedtls/mbedtls.hash +++ b/package/mbedtls/mbedtls.hash @@ -1,4 +1,4 @@ -# From https://github.com/ARMmbed/mbedtls/releases/tag/v2.28.7: -sha256 1df6073f0cf6a4e1953890bf5e0de2a8c7e6be50d6d6c69fa9fefcb1d14e981a mbedtls-2.28.7.tar.gz +# From https://github.com/ARMmbed/mbedtls/releases/tag/v2.28.9: +sha256 e85ea97aaf78dd6c0a5ba2e54dd5932ffa15f39abfc189c26beef7684630c02b mbedtls-2.28.9.tar.bz2 # Locally calculated sha256 9b405ef4c89342f5eae1dd828882f931747f71001cfba7d114801039b52ad09b LICENSE diff --git a/package/mbedtls/mbedtls.mk b/package/mbedtls/mbedtls.mk index cdb4aef4f..2faa6dff5 100644 --- a/package/mbedtls/mbedtls.mk +++ b/package/mbedtls/mbedtls.mk @@ -4,8 +4,9 @@ # ################################################################################ -MBEDTLS_VERSION = 2.28.7 -MBEDTLS_SITE = $(call github,ARMmbed,mbedtls,v$(MBEDTLS_VERSION)) +MBEDTLS_VERSION = 2.28.9 +MBEDTLS_SITE = https://github.com/Mbed-TLS/mbedtls/releases/download/mbedtls-$(MBEDTLS_VERSION) +MBEDTLS_SOURCE = mbedtls-$(MBEDTLS_VERSION).tar.bz2 MBEDTLS_CONF_OPTS = \ -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -std=c99" \ -DENABLE_PROGRAMS=$(if $(BR2_PACKAGE_MBEDTLS_PROGRAMS),ON,OFF) \ diff --git a/package/mdio-tools/mdio-tools.mk b/package/mdio-tools/mdio-tools.mk index 16eba7473..b42ea41c7 100644 --- a/package/mdio-tools/mdio-tools.mk +++ b/package/mdio-tools/mdio-tools.mk @@ -14,6 +14,7 @@ MDIO_TOOLS_MODULE_SUBDIRS = kernel define MDIO_TOOLS_LINUX_CONFIG_FIXUPS $(call KCONFIG_ENABLE_OPT,CONFIG_NET) + $(call KCONFIG_ENABLE_OPT,CONFIG_NETDEVICES) $(call KCONFIG_ENABLE_OPT,CONFIG_MDIO_DEVICE) endef diff --git a/package/mdnsd/S50mdnsd b/package/mdnsd/S50mdnsd index 1c2b71802..6d7767139 100644 --- a/package/mdnsd/S50mdnsd +++ b/package/mdnsd/S50mdnsd @@ -36,7 +36,9 @@ reload() { case "$1" in start|stop|restart|reload) - if "$1"; then + "$1" + status=$? + if [ "$status" -eq 0 ]; then echo "OK" else echo "FAIL" @@ -48,4 +50,4 @@ case "$1" in ;; esac -exit $? +exit "$status" diff --git a/package/mesa3d-headers/mesa3d-headers.mk b/package/mesa3d-headers/mesa3d-headers.mk index 1d006dbc9..33c60b285 100644 --- a/package/mesa3d-headers/mesa3d-headers.mk +++ b/package/mesa3d-headers/mesa3d-headers.mk @@ -12,7 +12,7 @@ endif # Not possible to directly refer to mesa3d variables, because of # first/second expansion trickery... -MESA3D_HEADERS_VERSION = 24.0.0 +MESA3D_HEADERS_VERSION = 24.0.9 MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz MESA3D_HEADERS_SITE = https://archive.mesa3d.org MESA3D_HEADERS_DL_SUBDIR = mesa3d diff --git a/package/mesa3d/0006-drisw-fix-build-without-dri3.patch b/package/mesa3d/0006-drisw-fix-build-without-dri3.patch deleted file mode 100644 index ab27d384c..000000000 --- a/package/mesa3d/0006-drisw-fix-build-without-dri3.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 3ab46dcfda9edf5c9bc27c8f5031146d9d9d8ade Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Thu, 18 Jan 2024 22:50:16 +0100 -Subject: [PATCH] drisw: fix build without dri3 - -commit 1887368df41 ("glx/sw: check for modifier support in the kopper path") -added dri3_priv.h header and dri3_check_multibuffer() function in drisw that -can be build without dri3. - - i686-buildroot-linux-gnu/bin/ld: src/glx/libglx.a.p/drisw_glx.c.o: in function `driswCreateScreenDriver': - drisw_glx.c:(.text.driswCreateScreenDriver+0x3a0): undefined reference to `dri3_check_multibuffer' - collect2: error: ld returned 1 exit status - -Add HAVE_DRI3 guard around dri3_priv.h header and the zink code using -dri3_check_multibuffer(). - -Fixes: 1887368df41 ("glx/sw: check for modifier support in the kopper path") - -Upstream: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27478 - -Signed-off-by: Romain Naour ---- - src/glx/drisw_glx.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c -index 3d3f75259bc..4b19e2d7707 100644 ---- a/src/glx/drisw_glx.c -+++ b/src/glx/drisw_glx.c -@@ -32,7 +32,9 @@ - #include - #include "dri_common.h" - #include "drisw_priv.h" -+#ifdef HAVE_DRI3 - #include "dri3_priv.h" -+#endif - #include - #include - #include -@@ -995,6 +997,7 @@ driswCreateScreenDriver(int screen, struct glx_display *priv, - goto handle_error; - } - -+#ifdef HAVE_DRI3 - if (pdpyp->zink) { - bool err; - psc->has_multibuffer = dri3_check_multibuffer(priv->dpy, &err); -@@ -1005,6 +1008,7 @@ driswCreateScreenDriver(int screen, struct glx_display *priv, - goto handle_error; - } - } -+#endif - - glx_config_destroy_list(psc->base.configs); - psc->base.configs = configs; --- -2.43.0 - diff --git a/package/mesa3d/0007-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch b/package/mesa3d/0007-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch deleted file mode 100644 index f9e4d50fd..000000000 --- a/package/mesa3d/0007-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 83b4ff6616708bd7ba5981d22cd5211ca6787d58 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Wed, 24 Jan 2024 14:28:32 +0100 -Subject: [PATCH] glxext: don't try zink if not enabled in mesa - -Commit 7d9ea77b459 ("glx: add automatic zink fallback loading between hw and sw drivers") -added an automatic zink fallback even when the zink gallium is not -enabled at build time. - -It leads to unexpected error log while loading drisw driver and -zink is not installed on the rootfs: - - MESA-LOADER: failed to open zink: /usr/lib/dri/zink_dri.so - -Fixes: 7d9ea77b459 ("glx: add automatic zink fallback loading between hw and sw drivers") - -Upstream: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27478 - -Signed-off-by: Romain Naour ---- - src/glx/glxext.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/glx/glxext.c b/src/glx/glxext.c -index 39d5f08bdcf..e106eb40046 100644 ---- a/src/glx/glxext.c -+++ b/src/glx/glxext.c -@@ -904,9 +904,11 @@ __glXInitialize(Display * dpy) - #endif /* HAVE_DRI3 */ - if (!debug_get_bool_option("LIBGL_DRI2_DISABLE", false)) - dpyPriv->dri2Display = dri2CreateDisplay(dpy); -+#if defined(HAVE_ZINK) - if (!dpyPriv->dri3Display && !dpyPriv->dri2Display) - try_zink = !debug_get_bool_option("LIBGL_KOPPER_DISABLE", false) && - !getenv("GALLIUM_DRIVER"); -+#endif /* HAVE_ZINK */ - } - #endif /* GLX_USE_DRM */ - if (glx_direct) --- -2.43.0 - diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in index 39a4f706e..d8ea22ac9 100644 --- a/package/mesa3d/Config.in +++ b/package/mesa3d/Config.in @@ -56,11 +56,7 @@ config BR2_PACKAGE_MESA3D_OPENCL select BR2_PACKAGE_LIBCLC select BR2_PACKAGE_HAS_LIBOPENCL -# inform the .mk file of gallium, dri, dri3 or vulkan driver selection -config BR2_PACKAGE_MESA3D_DRI3 - bool - select BR2_PACKAGE_XLIB_LIBXSHMFENCE - +# inform the .mk file of gallium or vulkan driver selection config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER bool select BR2_PACKAGE_MESA3D_DRIVER @@ -71,6 +67,7 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER config BR2_PACKAGE_MESA3D_DRIVER bool + select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_XORG7 # Gallium xa state tracker. # Quote from mesa3d meson.build: "XA state tracker requires at least @@ -102,8 +99,7 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_CROCUS config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV bool "Gallium Etnaviv driver" - depends on (BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32) || !BR2_PACKAGE_XORG7 # libxshmfence - select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER select BR2_PACKAGE_LIBDRM_ETNAVIV help @@ -117,7 +113,6 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO # can't see is just spurious. However, that dependency is about # the toolchain having sync4 primitives, which is always a given # for arm/aarch64. - select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER select BR2_PACKAGE_LIBDRM_FREEDRENO help @@ -140,8 +135,7 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA bool "Gallium lima driver" - depends on (BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32) || !BR2_PACKAGE_XORG7 # libxshmfence - select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER help Mesa driver for ARM Mali Utgard GPUs. @@ -157,8 +151,7 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST bool "Gallium panfrost driver" - depends on (BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32) || !BR2_PACKAGE_XORG7 # libxshmfence - select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER help Mesa driver for ARM Mali Midgard and Bifrost GPUs. @@ -239,7 +232,6 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D bool "Gallium v3d driver" depends on (BR2_arm && BR2_ARM_CPU_HAS_NEON) || BR2_aarch64 depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence - select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4 # runtime select BR2_PACKAGE_MESA3D_OPENGL_EGL @@ -255,7 +247,6 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4 bool "Gallium vc4 driver" depends on (BR2_arm && BR2_ARM_CPU_HAS_NEON) || BR2_aarch64 depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence - select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER select BR2_PACKAGE_LIBDRM_VC4 select BR2_PACKAGE_MESA3D_OPENGL_EGL @@ -295,7 +286,6 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_BROADCOM bool "Vulkan broadcom driver" depends on BR2_arm || BR2_aarch64 depends on BR2_TOOLCHAIN_HAS_SYNC_4 # dri3/libxshmfence - select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_MESA3D_VULKAN_DRIVER help Vulkan broadcom driver. @@ -306,7 +296,6 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # memfd.h depends on BR2_TOOLCHAIN_USES_GLIBC # ifunc, static_assert - select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_MESA3D_VULKAN_DRIVER help Vulkan driver for Intel hardware from Ivy Bridge onward. diff --git a/package/mesa3d/mesa3d.hash b/package/mesa3d/mesa3d.hash index 49b42e213..d506d398b 100644 --- a/package/mesa3d/mesa3d.hash +++ b/package/mesa3d/mesa3d.hash @@ -1,5 +1,5 @@ -# From https://lists.freedesktop.org/archives/mesa-announce/2024-February/000747.html -sha256 dc7e8c077bc5884df95478263b34bdebb7e88e600689cb56fb07be2b8c304c36 mesa-24.0.0.tar.xz -sha512 9dfdea7cebb37b9c020335e24194b39b399f48b5af6eec30c3455108276ac4e29e7b06df942cb2abc7afa667784968c0c43d19b9afe30ef03021b9cb6a789f15 mesa-24.0.0.tar.xz +# From https://lists.freedesktop.org/archives/mesa-announce/2024-June/000764.html +sha256 51aa686ca4060e38711a9e8f60c8f1efaa516baf411946ed7f2c265cd582ca4c mesa-24.0.9.tar.xz +sha512 de2ee6c9df1fc106ee10befe0a76be1e9cfe83d65dbdb83bad6d8d7cfaa085232fb115293a1a790b37b50b1fe14bd58aafbcfe5a15e953b5901a7105d57569a5 mesa-24.0.9.tar.xz # License sha256 a00275a53178e2645fb65be99a785c110513446a5071ff2c698ed260ad917d75 docs/license.rst diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk index 8e3cd7245..ce460c447 100644 --- a/package/mesa3d/mesa3d.mk +++ b/package/mesa3d/mesa3d.mk @@ -5,7 +5,7 @@ ################################################################################ # When updating the version, please also update mesa3d-headers -MESA3D_VERSION = 24.0.0 +MESA3D_VERSION = 24.0.9 MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz MESA3D_SITE = https://archive.mesa3d.org MESA3D_LICENSE = MIT, SGI, Khronos @@ -29,17 +29,9 @@ MESA3D_CONF_OPTS = \ -Dgallium-omx=disabled \ -Dpower8=disabled -# Codesourcery ARM 2014.05 fail to link libmesa_dri_drivers.so with --as-needed linker -# flag due to a linker bug between binutils 2.24 and 2.25 (2.24.51.20140217). -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM),y) -MESA3D_CONF_OPTS += -Db_asneeded=false -endif - -ifeq ($(BR2_PACKAGE_MESA3D_DRI3),y) +ifeq ($(BR2_PACKAGE_MESA3D_DRIVER)$(BR2_PACKAGE_XORG7),yy) MESA3D_CONF_OPTS += -Ddri3=enabled -ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE),y) MESA3D_DEPENDENCIES += xlib_libxshmfence -endif else MESA3D_CONF_OPTS += -Ddri3=disabled endif diff --git a/package/micropython/0001-py-nlrthumb-Make-non-Thumb2-long-jump-workaround-opt.patch b/package/micropython/0001-py-nlrthumb-Make-non-Thumb2-long-jump-workaround-opt.patch new file mode 100644 index 000000000..b05791045 --- /dev/null +++ b/package/micropython/0001-py-nlrthumb-Make-non-Thumb2-long-jump-workaround-opt.patch @@ -0,0 +1,130 @@ +From 7b050b366b7dacfb43779c51702a892d8f1873d0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=2E=20Neusch=C3=A4fer?= +Date: Sun, 2 Apr 2023 19:58:42 +0200 +Subject: [PATCH] py/nlrthumb: Make non-Thumb2 long-jump workaround opt-in. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Although the original motivation given for the workaround[1] is correct, +nlr.o and nlrthumb.o are linked with a small enough distance that the +problem does not occur, and the workaround isn't necessary. The distance +between the b instruction and its target (nlr_push_tail) is just 64 +bytes[2], well within the ±2046 byte range addressable by an +unconditional branch instruction in Thumb mode. + +The workaround induces a relocation in the text section (textrel), which +isn't supported everywhere, notably not on musl-libc[3], where it causes +a crash on start-up. With the workaround removed, micropython works on an +ARMv5T Linux system built with musl-libc. + +This commit changes nlrthumb.c to use a direct jump by default, but +leaves the long jump workaround as an option for those cases where it's +actually needed. + +[1]: commit dd376a239dc4f47b0ee7866810fcda151f3cf6dd + +Author: Damien George +Date: Fri Sep 1 15:25:29 2017 +1000 + + py/nlrthumb: Get working again on standard Thumb arch (ie not Thumb2). + + "b" on Thumb might not be long enough for the jump to nlr_push_tail so + it must be done indirectly. + +[2]: Excerpt from objdump -d micropython: + +000095c4 : + 95c4: b510 push {r4, lr} + 95c6: 0004 movs r4, r0 + 95c8: f02d fd42 bl 37050 + 95cc: 6943 ldr r3, [r0, #20] + 95ce: 6023 str r3, [r4, #0] + 95d0: 6144 str r4, [r0, #20] + 95d2: 2000 movs r0, #0 + 95d4: bd10 pop {r4, pc} + +000095d6 : + 95d6: b510 push {r4, lr} + 95d8: f02d fd3a bl 37050 + 95dc: 6943 ldr r3, [r0, #20] + 95de: 681b ldr r3, [r3, #0] + 95e0: 6143 str r3, [r0, #20] + 95e2: bd10 pop {r4, pc} + +000095e4 : + 95e4: 60c4 str r4, [r0, #12] + 95e6: 6105 str r5, [r0, #16] + 95e8: 6146 str r6, [r0, #20] + 95ea: 6187 str r7, [r0, #24] + 95ec: 4641 mov r1, r8 + 95ee: 61c1 str r1, [r0, #28] + 95f0: 4649 mov r1, r9 + 95f2: 6201 str r1, [r0, #32] + 95f4: 4651 mov r1, sl + 95f6: 6241 str r1, [r0, #36] @ 0x24 + 95f8: 4659 mov r1, fp + 95fa: 6281 str r1, [r0, #40] @ 0x28 + 95fc: 4669 mov r1, sp + 95fe: 62c1 str r1, [r0, #44] @ 0x2c + 9600: 4671 mov r1, lr + 9602: 6081 str r1, [r0, #8] + 9604: e7de b.n 95c4 + +[3]: https://www.openwall.com/lists/musl/2020/09/25/4 + +Signed-off-by: J. Neuschäfer +Upstream: https://github.com/micropython/micropython/commit/7b050b366b7dacfb43779c51702a892d8f1873d0 +--- + py/mpconfig.h | 6 ++++++ + py/nlrthumb.c | 10 +++++++++- + 2 files changed, 15 insertions(+), 1 deletion(-) + +diff --git a/py/mpconfig.h b/py/mpconfig.h +index af2480266..1aa3e0699 100644 +--- a/py/mpconfig.h ++++ b/py/mpconfig.h +@@ -587,6 +587,12 @@ + /*****************************************************************************/ + /* Python internal features */ + ++// Use a special long jump in nlrthumb.c, which may be necessary if nlr.o and ++// nlrthumb.o are linked far apart from each other. ++#ifndef MICROPY_NLR_THUMB_USE_LONG_JUMP ++#define MICROPY_NLR_THUMB_USE_LONG_JUMP (0) ++#endif ++ + // Whether to enable import of external modules + // When disabled, only importing of built-in modules is supported + // When enabled, a port must implement mp_import_stat (among other things) +diff --git a/py/nlrthumb.c b/py/nlrthumb.c +index a22c5df5b..e7b24f242 100644 +--- a/py/nlrthumb.c ++++ b/py/nlrthumb.c +@@ -38,6 +38,14 @@ + + __attribute__((naked)) unsigned int nlr_push(nlr_buf_t *nlr) { + ++ // If you get a linker error here, indicating that a relocation doesn't ++ // fit, try the following (in that order): ++ // ++ // 1. Ensure that nlr.o nlrthumb.o are linked closely together, i.e. ++ // there aren't too many other files between them in the linker list ++ // (PY_CORE_O_BASENAME in py/py.mk) ++ // 2. Set -DMICROPY_NLR_THUMB_USE_LONG_JUMP=1 during the build ++ // + __asm volatile ( + "str r4, [r0, #12] \n" // store r4 into nlr_buf + "str r5, [r0, #16] \n" // store r5 into nlr_buf +@@ -71,7 +79,7 @@ __attribute__((naked)) unsigned int nlr_push(nlr_buf_t *nlr) { + "str lr, [r0, #8] \n" // store lr into nlr_buf + #endif + +- #if !defined(__thumb2__) ++ #if MICROPY_NLR_THUMB_USE_LONG_JUMP + "ldr r1, nlr_push_tail_var \n" + "bx r1 \n" // do the rest in C + ".align 2 \n" +-- +2.43.0 + diff --git a/package/micropython/Config.in b/package/micropython/Config.in index 849a5452f..f532b3bdb 100644 --- a/package/micropython/Config.in +++ b/package/micropython/Config.in @@ -3,11 +3,11 @@ config BR2_PACKAGE_MICROPYTHON depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS help - Micro Python is a lean and fast implementation of the Python + MicroPython is a lean and fast implementation of the Python 3 programming language that is optimised to run on a microcontroller. - http://micropython.org + https://micropython.org if BR2_PACKAGE_MICROPYTHON diff --git a/package/minisign/minisign.mk b/package/minisign/minisign.mk index 34b3f4046..7cdce597f 100644 --- a/package/minisign/minisign.mk +++ b/package/minisign/minisign.mk @@ -10,6 +10,7 @@ MINISIGN_LICENSE = ISC MINISIGN_LICENSE_FILES = LICENSE MINISIGN_DEPENDENCIES = libsodium HOST_MINISIGN_DEPENDENCIES = host-libsodium +MINISIGN_CONF_OPTS = -DCMAKE_STRIP="" ifeq ($(BR2_STATIC_LIBS),y) MINISIGN_CONF_OPTS += -DBUILD_STATIC_EXECUTABLES=1 diff --git a/package/minizip/Config.in b/package/minizip/Config.in index 98eb4dec1..3c3670b78 100644 --- a/package/minizip/Config.in +++ b/package/minizip/Config.in @@ -5,7 +5,7 @@ config BR2_PACKAGE_MINIZIP help Enables to extract files from a .zip archive file. It is compatible with PKZip 2.04g, WinZip, InfoZip, - MimarSinan Codex Suite 2002 tools, and compatible sofware. + MimarSinan Codex Suite 2002 tools, and compatible software. https://github.com/zlib-ng/minizip-ng diff --git a/package/mjpg-streamer/0001-Export-all-symbols-of-mjpg_streamer-binary.patch b/package/mjpg-streamer/0001-Export-all-symbols-of-mjpg_streamer-binary.patch new file mode 100644 index 000000000..771ee8383 --- /dev/null +++ b/package/mjpg-streamer/0001-Export-all-symbols-of-mjpg_streamer-binary.patch @@ -0,0 +1,33 @@ +From fbde1593948ae95f287b2167d0bec5b27948cc01 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 6 Aug 2024 17:04:55 +0200 +Subject: [PATCH] Export all symbols of mjpg_streamer binary + +Fixes runtime error with stripped binary + + dlopen: /usr/lib/mjpg-streamer/input_uvc.so: undefined symbol: resolutions_help + +Source: http://lists.busybox.net/pipermail/buildroot/2024-August/759732.html + +Upstream: https://github.com/jacksonliam/mjpg-streamer/pull/401 + +Signed-off-by: Bernd Kuhls +--- + mjpg-streamer-experimental/CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/mjpg-streamer-experimental/CMakeLists.txt b/mjpg-streamer-experimental/CMakeLists.txt +index cf26620..3ff12cd 100644 +--- a/mjpg-streamer-experimental/CMakeLists.txt ++++ b/mjpg-streamer-experimental/CMakeLists.txt +@@ -92,6 +92,7 @@ set (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) + add_executable(mjpg_streamer mjpg_streamer.c + utils.c) + ++set_property(TARGET mjpg_streamer PROPERTY ENABLE_EXPORTS ON) + target_link_libraries(mjpg_streamer pthread dl) + install(TARGETS mjpg_streamer DESTINATION bin) + +-- +2.39.2 + diff --git a/package/mmc-utils/Config.in b/package/mmc-utils/Config.in index d938b5dea..3275ba0d4 100644 --- a/package/mmc-utils/Config.in +++ b/package/mmc-utils/Config.in @@ -11,9 +11,9 @@ if BR2_PACKAGE_MMC_UTILS config BR2_PACKAGE_MMC_UTILS_ENABLE_DANGEROUS_COMMANDS bool "Enable dangerous commands" help - Enable support for dangerous commands in mmc-utils. mmc-utils - considers turning on permanent write protection on a device a - "dangerous command" and doesn't offer it by default. + Enable support for dangerous commands in mmc-utils. mmc-utils + considers turning on permanent write protection on a device a + "dangerous command" and doesn't offer it by default. endif diff --git a/package/mmc-utils/mmc-utils.hash b/package/mmc-utils/mmc-utils.hash index cd9d13324..2c1bb8606 100644 --- a/package/mmc-utils/mmc-utils.hash +++ b/package/mmc-utils/mmc-utils.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 84be5003ae83b4fdb0279a693f320fd472aebd14908a1ac16bda4f675e92ad40 mmc-utils-80271e9a6fd0db9cb3a85d024664da886e94315c-br1.tar.gz +sha256 83b1bd7602b0c8d05a8ff2f842d80fa7c9a0b084b7159bb9eed796b0075b94d1 mmc-utils-e1281d4de9166b7254ba30bb58f9191fc2c9e7fb-br1.tar.gz sha256 4207d81122a02555f78c5a11b61c83a331ee03dc933e1ef9dd932ef9b434d12d README diff --git a/package/mmc-utils/mmc-utils.mk b/package/mmc-utils/mmc-utils.mk index ef4d97c1c..48c347d84 100644 --- a/package/mmc-utils/mmc-utils.mk +++ b/package/mmc-utils/mmc-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -MMC_UTILS_VERSION = 80271e9a6fd0db9cb3a85d024664da886e94315c +MMC_UTILS_VERSION = e1281d4de9166b7254ba30bb58f9191fc2c9e7fb MMC_UTILS_SITE = https://git.kernel.org/pub/scm/utils/mmc/mmc-utils.git MMC_UTILS_SITE_METHOD = git MMC_UTILS_LICENSE = GPL-2.0 diff --git a/package/mosquitto/0001-Revert-Fix-NetBSD-build.patch b/package/mosquitto/0001-Revert-Fix-NetBSD-build.patch new file mode 100644 index 000000000..180a23565 --- /dev/null +++ b/package/mosquitto/0001-Revert-Fix-NetBSD-build.patch @@ -0,0 +1,390 @@ +From 18d41744338d6e291612e66e8baace4faaad7b2e Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Fri, 6 Dec 2024 08:27:53 +0100 +Subject: [PATCH] Revert "Fix NetBSD build" + +This reverts commit 88b7bb3521cc51cb1e80630395ae736040cc8ff8. + +This unfortunately broke non-thread builds, so revert it until fixed +upstream. + +Upstream: https://github.com/eclipse-mosquitto/mosquitto/issues/3183 +Signed-off-by: Peter Korsgaard +--- + lib/dummypthread.h | 14 ++++++++++++ + lib/handle_pubackcomp.c | 4 ++-- + lib/mosquitto_internal.h | 6 +++++- + lib/packet_mosq.c | 46 ++++++++++++++++++++-------------------- + lib/pthread_compat.h | 28 ------------------------ + lib/util_mosq.c | 32 ++++++++++++++-------------- + 6 files changed, 60 insertions(+), 70 deletions(-) + create mode 100644 lib/dummypthread.h + delete mode 100644 lib/pthread_compat.h + +diff --git a/lib/dummypthread.h b/lib/dummypthread.h +new file mode 100644 +index 00000000..c0eb2c15 +--- /dev/null ++++ b/lib/dummypthread.h +@@ -0,0 +1,14 @@ ++#ifndef DUMMYPTHREAD_H ++#define DUMMYPTHREAD_H ++ ++#define pthread_create(A, B, C, D) ++#define pthread_join(A, B) ++#define pthread_cancel(A) ++#define pthread_testcancel() ++ ++#define pthread_mutex_init(A, B) ++#define pthread_mutex_destroy(A) ++#define pthread_mutex_lock(A) ++#define pthread_mutex_unlock(A) ++ ++#endif +diff --git a/lib/handle_pubackcomp.c b/lib/handle_pubackcomp.c +index d70d602d..4568bb40 100644 +--- a/lib/handle_pubackcomp.c ++++ b/lib/handle_pubackcomp.c +@@ -57,9 +57,9 @@ int handle__pubackcomp(struct mosquitto *mosq, const char *type) + } + } + +- COMPAT_pthread_mutex_lock(&mosq->msgs_out.mutex); ++ pthread_mutex_lock(&mosq->msgs_out.mutex); + util__increment_send_quota(mosq); +- COMPAT_pthread_mutex_unlock(&mosq->msgs_out.mutex); ++ pthread_mutex_unlock(&mosq->msgs_out.mutex); + + rc = packet__read_uint16(&mosq->in_packet, &mid); + if(rc) return rc; +diff --git a/lib/mosquitto_internal.h b/lib/mosquitto_internal.h +index 31120258..ac71ffbf 100644 +--- a/lib/mosquitto_internal.h ++++ b/lib/mosquitto_internal.h +@@ -33,7 +33,11 @@ Contributors: + #endif + #include + +-#include ++#if defined(WITH_THREADING) && !defined(WITH_BROKER) ++# include ++#else ++# include ++#endif + + #ifdef WITH_SRV + # include +diff --git a/lib/packet_mosq.c b/lib/packet_mosq.c +index b063eb71..fd716baf 100644 +--- a/lib/packet_mosq.c ++++ b/lib/packet_mosq.c +@@ -129,13 +129,13 @@ void packet__cleanup_all_no_locks(struct mosquitto *mosq) + + void packet__cleanup_all(struct mosquitto *mosq) + { +- COMPAT_pthread_mutex_lock(&mosq->current_out_packet_mutex); +- COMPAT_pthread_mutex_lock(&mosq->out_packet_mutex); ++ pthread_mutex_lock(&mosq->current_out_packet_mutex); ++ pthread_mutex_lock(&mosq->out_packet_mutex); + + packet__cleanup_all_no_locks(mosq); + +- COMPAT_pthread_mutex_unlock(&mosq->out_packet_mutex); +- COMPAT_pthread_mutex_unlock(&mosq->current_out_packet_mutex); ++ pthread_mutex_unlock(&mosq->out_packet_mutex); ++ pthread_mutex_unlock(&mosq->current_out_packet_mutex); + } + + +@@ -151,7 +151,7 @@ int packet__queue(struct mosquitto *mosq, struct mosquitto__packet *packet) + packet->to_process = packet->packet_length; + + packet->next = NULL; +- COMPAT_pthread_mutex_lock(&mosq->out_packet_mutex); ++ pthread_mutex_lock(&mosq->out_packet_mutex); + + #ifdef WITH_BROKER + if(db.config->max_queued_messages > 0 && mosq->out_packet_count >= db.config->max_queued_messages){ +@@ -174,7 +174,7 @@ int packet__queue(struct mosquitto *mosq, struct mosquitto__packet *packet) + } + mosq->out_packet_last = packet; + mosq->out_packet_count++; +- COMPAT_pthread_mutex_unlock(&mosq->out_packet_mutex); ++ pthread_mutex_unlock(&mosq->out_packet_mutex); + #ifdef WITH_BROKER + # ifdef WITH_WEBSOCKETS + if(mosq->wsi){ +@@ -232,8 +232,8 @@ int packet__write(struct mosquitto *mosq) + if(!mosq) return MOSQ_ERR_INVAL; + if(mosq->sock == INVALID_SOCKET) return MOSQ_ERR_NO_CONN; + +- COMPAT_pthread_mutex_lock(&mosq->current_out_packet_mutex); +- COMPAT_pthread_mutex_lock(&mosq->out_packet_mutex); ++ pthread_mutex_lock(&mosq->current_out_packet_mutex); ++ pthread_mutex_lock(&mosq->out_packet_mutex); + if(mosq->out_packet && !mosq->current_out_packet){ + mosq->current_out_packet = mosq->out_packet; + mosq->out_packet = mosq->out_packet->next; +@@ -242,7 +242,7 @@ int packet__write(struct mosquitto *mosq) + } + mosq->out_packet_count--; + } +- COMPAT_pthread_mutex_unlock(&mosq->out_packet_mutex); ++ pthread_mutex_unlock(&mosq->out_packet_mutex); + + #ifdef WITH_BROKER + if(mosq->current_out_packet){ +@@ -252,7 +252,7 @@ int packet__write(struct mosquitto *mosq) + + state = mosquitto__get_state(mosq); + if(state == mosq_cs_connect_pending){ +- COMPAT_pthread_mutex_unlock(&mosq->current_out_packet_mutex); ++ pthread_mutex_unlock(&mosq->current_out_packet_mutex); + return MOSQ_ERR_SUCCESS; + } + +@@ -274,10 +274,10 @@ int packet__write(struct mosquitto *mosq) + || errno == WSAENOTCONN + #endif + ){ +- COMPAT_pthread_mutex_unlock(&mosq->current_out_packet_mutex); ++ pthread_mutex_unlock(&mosq->current_out_packet_mutex); + return MOSQ_ERR_SUCCESS; + }else{ +- COMPAT_pthread_mutex_unlock(&mosq->current_out_packet_mutex); ++ pthread_mutex_unlock(&mosq->current_out_packet_mutex); + switch(errno){ + case COMPAT_ECONNRESET: + return MOSQ_ERR_CONN_LOST; +@@ -296,7 +296,7 @@ int packet__write(struct mosquitto *mosq) + if(((packet->command)&0xF6) == CMD_PUBLISH){ + G_PUB_MSGS_SENT_INC(1); + #ifndef WITH_BROKER +- COMPAT_pthread_mutex_lock(&mosq->callback_mutex); ++ pthread_mutex_lock(&mosq->callback_mutex); + if(mosq->on_publish){ + /* This is a QoS=0 message */ + mosq->in_callback = true; +@@ -309,7 +309,7 @@ int packet__write(struct mosquitto *mosq) + mosq->on_publish_v5(mosq, mosq->userdata, packet->mid, 0, NULL); + mosq->in_callback = false; + } +- COMPAT_pthread_mutex_unlock(&mosq->callback_mutex); ++ pthread_mutex_unlock(&mosq->callback_mutex); + }else if(((packet->command)&0xF0) == CMD_DISCONNECT){ + do_client_disconnect(mosq, MOSQ_ERR_SUCCESS, NULL); + packet__cleanup(packet); +@@ -321,7 +321,7 @@ int packet__write(struct mosquitto *mosq) + } + + /* Free data and reset values */ +- COMPAT_pthread_mutex_lock(&mosq->out_packet_mutex); ++ pthread_mutex_lock(&mosq->out_packet_mutex); + mosq->current_out_packet = mosq->out_packet; + if(mosq->out_packet){ + mosq->out_packet = mosq->out_packet->next; +@@ -330,7 +330,7 @@ int packet__write(struct mosquitto *mosq) + } + mosq->out_packet_count--; + } +- COMPAT_pthread_mutex_unlock(&mosq->out_packet_mutex); ++ pthread_mutex_unlock(&mosq->out_packet_mutex); + + packet__cleanup(packet); + mosquitto__free(packet); +@@ -338,9 +338,9 @@ int packet__write(struct mosquitto *mosq) + #ifdef WITH_BROKER + mosq->next_msg_out = db.now_s + mosq->keepalive; + #else +- COMPAT_pthread_mutex_lock(&mosq->msgtime_mutex); ++ pthread_mutex_lock(&mosq->msgtime_mutex); + mosq->next_msg_out = mosquitto_time() + mosq->keepalive; +- COMPAT_pthread_mutex_unlock(&mosq->msgtime_mutex); ++ pthread_mutex_unlock(&mosq->msgtime_mutex); + #endif + } + #ifdef WITH_BROKER +@@ -348,7 +348,7 @@ int packet__write(struct mosquitto *mosq) + mux__remove_out(mosq); + } + #endif +- COMPAT_pthread_mutex_unlock(&mosq->current_out_packet_mutex); ++ pthread_mutex_unlock(&mosq->current_out_packet_mutex); + return MOSQ_ERR_SUCCESS; + } + +@@ -536,9 +536,9 @@ int packet__read(struct mosquitto *mosq) + #ifdef WITH_BROKER + keepalive__update(mosq); + #else +- COMPAT_pthread_mutex_lock(&mosq->msgtime_mutex); ++ pthread_mutex_lock(&mosq->msgtime_mutex); + mosq->last_msg_in = mosquitto_time(); +- COMPAT_pthread_mutex_unlock(&mosq->msgtime_mutex); ++ pthread_mutex_unlock(&mosq->msgtime_mutex); + #endif + } + return MOSQ_ERR_SUCCESS; +@@ -571,9 +571,9 @@ int packet__read(struct mosquitto *mosq) + #ifdef WITH_BROKER + keepalive__update(mosq); + #else +- COMPAT_pthread_mutex_lock(&mosq->msgtime_mutex); ++ pthread_mutex_lock(&mosq->msgtime_mutex); + mosq->last_msg_in = mosquitto_time(); +- COMPAT_pthread_mutex_unlock(&mosq->msgtime_mutex); ++ pthread_mutex_unlock(&mosq->msgtime_mutex); + #endif + return rc; + } +diff --git a/lib/pthread_compat.h b/lib/pthread_compat.h +deleted file mode 100644 +index ca1f27dc..00000000 +--- a/lib/pthread_compat.h ++++ /dev/null +@@ -1,28 +0,0 @@ +-#ifndef PTHREAD_COMPAT_ +-#define PTHREAD_COMPAT_ +- +-#if defined(WITH_THREADING) && !defined(WITH_BROKER) +-# include +- +-# define COMPAT_pthread_create(A, B, C, D) pthread_create((A), (B), (C), (D)) +-# define COMPAT_pthread_join(A, B) pthread_join((A), (B)) +-# define COMPAT_pthread_cancel(A) pthread_cancel((A)) +-# define COMPAT_pthread_testcancel() pthread_testcancel() +- +-# define COMPAT_pthread_mutex_init(A, B) pthread_mutex_init((A), (B)) +-# define COMPAT_pthread_mutex_destroy(A) pthread_mutex_init((A)) +-# define COMPAT_pthread_mutex_lock(A) pthread_mutex_lock((A)) +-# define COMPAT_pthread_mutex_unlock(A) pthread_mutex_unlock((A)) +-#else +-# define COMPAT_pthread_create(A, B, C, D) +-# define COMPAT_pthread_join(A, B) +-# define COMPAT_pthread_cancel(A) +-# define COMPAT_pthread_testcancel() +- +-# define COMPAT_pthread_mutex_init(A, B) +-# define COMPAT_pthread_mutex_destroy(A) +-# define COMPAT_pthread_mutex_lock(A) +-# define COMPAT_pthread_mutex_unlock(A) +-#endif +- +-#endif +diff --git a/lib/util_mosq.c b/lib/util_mosq.c +index 4bebcbd0..22f8c4d5 100644 +--- a/lib/util_mosq.c ++++ b/lib/util_mosq.c +@@ -87,10 +87,10 @@ int mosquitto__check_keepalive(struct mosquitto *mosq) + return MOSQ_ERR_SUCCESS; + } + #endif +- COMPAT_pthread_mutex_lock(&mosq->msgtime_mutex); ++ pthread_mutex_lock(&mosq->msgtime_mutex); + next_msg_out = mosq->next_msg_out; + last_msg_in = mosq->last_msg_in; +- COMPAT_pthread_mutex_unlock(&mosq->msgtime_mutex); ++ pthread_mutex_unlock(&mosq->msgtime_mutex); + if(mosq->keepalive && mosq->sock != INVALID_SOCKET && + (now >= next_msg_out || now - last_msg_in >= mosq->keepalive)){ + +@@ -98,10 +98,10 @@ int mosquitto__check_keepalive(struct mosquitto *mosq) + if(state == mosq_cs_active && mosq->ping_t == 0){ + send__pingreq(mosq); + /* Reset last msg times to give the server time to send a pingresp */ +- COMPAT_pthread_mutex_lock(&mosq->msgtime_mutex); ++ pthread_mutex_lock(&mosq->msgtime_mutex); + mosq->last_msg_in = now; + mosq->next_msg_out = now + mosq->keepalive; +- COMPAT_pthread_mutex_unlock(&mosq->msgtime_mutex); ++ pthread_mutex_unlock(&mosq->msgtime_mutex); + }else{ + #ifdef WITH_BROKER + # ifdef WITH_BRIDGE +@@ -118,7 +118,7 @@ int mosquitto__check_keepalive(struct mosquitto *mosq) + }else{ + rc = MOSQ_ERR_KEEPALIVE; + } +- COMPAT_pthread_mutex_lock(&mosq->callback_mutex); ++ pthread_mutex_lock(&mosq->callback_mutex); + if(mosq->on_disconnect){ + mosq->in_callback = true; + mosq->on_disconnect(mosq, mosq->userdata, rc); +@@ -129,7 +129,7 @@ int mosquitto__check_keepalive(struct mosquitto *mosq) + mosq->on_disconnect_v5(mosq, mosq->userdata, rc, NULL); + mosq->in_callback = false; + } +- COMPAT_pthread_mutex_unlock(&mosq->callback_mutex); ++ pthread_mutex_unlock(&mosq->callback_mutex); + + return rc; + #endif +@@ -150,11 +150,11 @@ uint16_t mosquitto__mid_generate(struct mosquitto *mosq) + uint16_t mid; + assert(mosq); + +- COMPAT_pthread_mutex_lock(&mosq->mid_mutex); ++ pthread_mutex_lock(&mosq->mid_mutex); + mosq->last_mid++; + if(mosq->last_mid == 0) mosq->last_mid++; + mid = mosq->last_mid; +- COMPAT_pthread_mutex_unlock(&mosq->mid_mutex); ++ pthread_mutex_unlock(&mosq->mid_mutex); + + return mid; + } +@@ -280,14 +280,14 @@ int util__random_bytes(void *bytes, int count) + + int mosquitto__set_state(struct mosquitto *mosq, enum mosquitto_client_state state) + { +- COMPAT_pthread_mutex_lock(&mosq->state_mutex); ++ pthread_mutex_lock(&mosq->state_mutex); + #ifdef WITH_BROKER + if(mosq->state != mosq_cs_disused) + #endif + { + mosq->state = state; + } +- COMPAT_pthread_mutex_unlock(&mosq->state_mutex); ++ pthread_mutex_unlock(&mosq->state_mutex); + + return MOSQ_ERR_SUCCESS; + } +@@ -296,9 +296,9 @@ enum mosquitto_client_state mosquitto__get_state(struct mosquitto *mosq) + { + enum mosquitto_client_state state; + +- COMPAT_pthread_mutex_lock(&mosq->state_mutex); ++ pthread_mutex_lock(&mosq->state_mutex); + state = mosq->state; +- COMPAT_pthread_mutex_unlock(&mosq->state_mutex); ++ pthread_mutex_unlock(&mosq->state_mutex); + + return state; + } +@@ -306,18 +306,18 @@ enum mosquitto_client_state mosquitto__get_state(struct mosquitto *mosq) + #ifndef WITH_BROKER + void mosquitto__set_request_disconnect(struct mosquitto *mosq, bool request_disconnect) + { +- COMPAT_pthread_mutex_lock(&mosq->state_mutex); ++ pthread_mutex_lock(&mosq->state_mutex); + mosq->request_disconnect = request_disconnect; +- COMPAT_pthread_mutex_unlock(&mosq->state_mutex); ++ pthread_mutex_unlock(&mosq->state_mutex); + } + + bool mosquitto__get_request_disconnect(struct mosquitto *mosq) + { + bool request_disconnect; + +- COMPAT_pthread_mutex_lock(&mosq->state_mutex); ++ pthread_mutex_lock(&mosq->state_mutex); + request_disconnect = mosq->request_disconnect; +- COMPAT_pthread_mutex_unlock(&mosq->state_mutex); ++ pthread_mutex_unlock(&mosq->state_mutex); + + return request_disconnect; + } +-- +2.39.5 + diff --git a/package/mosquitto/mosquitto.hash b/package/mosquitto/mosquitto.hash index 453c1934d..f644f688b 100644 --- a/package/mosquitto/mosquitto.hash +++ b/package/mosquitto/mosquitto.hash @@ -1,6 +1,6 @@ # Locally calculated after checking gpg signature -# from https://mosquitto.org/files/source/mosquitto-2.0.18.tar.gz.asc -sha256 d665fe7d0032881b1371a47f34169ee4edab67903b2cd2b4c083822823f4448a mosquitto-2.0.18.tar.gz +# from https://mosquitto.org/files/source/mosquitto-2.0.20.tar.gz.asc +sha256 ebd07d89d2a446a7f74100ad51272e4a8bf300b61634a7812e19f068f2759de8 mosquitto-2.0.20.tar.gz # License files sha256 d3c4ccace4e5d3cc89d34cf2a0bc85b8596bfc0a32b815d0d77f9b7c41b5350c LICENSE.txt diff --git a/package/mosquitto/mosquitto.mk b/package/mosquitto/mosquitto.mk index b847e56fe..31fb97e90 100644 --- a/package/mosquitto/mosquitto.mk +++ b/package/mosquitto/mosquitto.mk @@ -4,7 +4,7 @@ # ################################################################################ -MOSQUITTO_VERSION = 2.0.18 +MOSQUITTO_VERSION = 2.0.20 MOSQUITTO_SITE = https://mosquitto.org/files/source MOSQUITTO_LICENSE = EPL-2.0 or EDLv1.0 MOSQUITTO_LICENSE_FILES = LICENSE.txt epl-v20 edl-v10 diff --git a/package/mpg123/mpg123.hash b/package/mpg123/mpg123.hash index 0fe469960..67ece3452 100644 --- a/package/mpg123/mpg123.hash +++ b/package/mpg123/mpg123.hash @@ -1,6 +1,6 @@ -# From https://sourceforge.net/projects/mpg123/files/mpg123/1.32.3/ -sha1 3a94848a620db7917c757cb21e261c711e44618f mpg123-1.32.3.tar.bz2 +# From https://sourceforge.net/projects/mpg123/files/mpg123/1.32.8/ +sha1 dc4d8d9d7fdc9c6c85e3036734eb937272a97800 mpg123-1.32.8.tar.bz2 # Locally calculated -sha256 2d9913a57d4ee8f497a182c6e82582602409782a4fb481e989feebf4435867b4 mpg123-1.32.3.tar.bz2 +sha256 feee1374c79540e0e405df0bc45fde20ad67011425c361a2759e2146894a27a7 mpg123-1.32.8.tar.bz2 # License file sha256 c22482728a634a8dfdb4ff72a96d4c1ed64cd8f3e79335c401751ac591609366 COPYING diff --git a/package/mpg123/mpg123.mk b/package/mpg123/mpg123.mk index 4de5f99bd..2020fa55e 100644 --- a/package/mpg123/mpg123.mk +++ b/package/mpg123/mpg123.mk @@ -4,7 +4,7 @@ # ################################################################################ -MPG123_VERSION = 1.32.3 +MPG123_VERSION = 1.32.8 MPG123_SOURCE = mpg123-$(MPG123_VERSION).tar.bz2 MPG123_SITE = https://downloads.sourceforge.net/project/mpg123/mpg123/$(MPG123_VERSION) MPG123_INSTALL_STAGING = YES @@ -15,7 +15,7 @@ MPG123_DEPENDENCIES = host-pkgconf # mpg123 has some assembly function that is not present in Thumb mode: # Error: selected processor does not support `smull r3,ip,r2,r10' in Thumb mode -# so, we desactivate Thumb mode +# so, we deactivate Thumb mode ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) MPG123_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm" endif diff --git a/package/mpir/0002-Fix-configure-failures-with-Xcode12.patch b/package/mpir/0002-Fix-configure-failures-with-Xcode12.patch new file mode 100644 index 000000000..453515f92 --- /dev/null +++ b/package/mpir/0002-Fix-configure-failures-with-Xcode12.patch @@ -0,0 +1,116 @@ +From bbc43ca6ae0bec4f64e69c9cd4c967005d6470eb Mon Sep 17 00:00:00 2001 +From: Mitchell Blank Jr +Date: Mon, 21 Dec 2020 12:05:19 +0000 +Subject: [PATCH] Fix configure failures with Xcode12 + +Changes are needed becuase Xcode12 includes a default of +-Werror,-Wimplicit-function-declaration which means that +even something like calling "exit(0);" is a compile failure +if you haven't done a "#include " first (as C99 +requires, but most other compilers will just warn about) + +I don't know if the "long long reliability test 2" test which +tries to provoke a crash on a particular gcc 3.3 build still +does what it was originally intended to do with my change. +Of course, I doubt anyone has tried to use that compiler in +years. + +Fixes #290 + +Upstream: https://github.com/wbhart/mpir/commit/bbc43ca6ae0bec4f64e69c9cd4c967005d6470eb +Signed-off-by: Fabrice Fontaine +--- + acinclude.m4 | 24 +++++++++++++----------- + 1 file changed, 13 insertions(+), 11 deletions(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index 91c35bc23..620a629ef 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -589,9 +589,9 @@ extern + #endif + __inline__ t1 e(t2 rp,t2 up,int n,t1 v0) + {t1 c,x,r;int i;if(v0){c=1;for(i=1;iconftest.c <conftest.c < + int + main () + { +- exit(0); ++ return 0; + } + double d; + double diff --git a/package/mpir/mpir.mk b/package/mpir/mpir.mk index 5dbd760aa..46cd35e43 100644 --- a/package/mpir/mpir.mk +++ b/package/mpir/mpir.mk @@ -11,6 +11,8 @@ MPIR_LICENSE = LGPL-3.0+ MPIR_LICENSE_FILES = COPYING.LIB MPIR_INSTALL_STAGING = YES MPIR_DEPENDENCIES = gmp host-yasm +# 0002-Fix-configure-failures-with-Xcode12.patch +MPIR_AUTORECONF = YES ifeq ($(BR2_MIPS_NABI32),y) MPIR_CONF_OPTS += ABI=n32 diff --git a/package/mrouted/Config.in b/package/mrouted/Config.in index 95b4fb382..de99303bf 100644 --- a/package/mrouted/Config.in +++ b/package/mrouted/Config.in @@ -8,6 +8,7 @@ config BR2_PACKAGE_MROUTED source. This package comes with mrouted and mroutectl. Where the latter is used to query status and control operation. - Note: at least two interfaces with MULTICAST flag is requried. + Note: at least two interfaces with MULTICAST flag are + required. http://github.com/troglobit/mrouted diff --git a/package/mrouted/mrouted.mk b/package/mrouted/mrouted.mk index 0d2071c4f..7b5f5039f 100644 --- a/package/mrouted/mrouted.mk +++ b/package/mrouted/mrouted.mk @@ -23,7 +23,7 @@ define MROUTED_INSTALL_INIT_SYSTEMD $(TARGET_DIR)/usr/lib/systemd/system/mrouted.service endef -# We will asume that CONFIG_NET and CONFIG_INET are already +# We will assume that CONFIG_NET and CONFIG_INET are already # set in the kernel configuration provided by the user. define MROUTED_LINUX_CONFIG_FIXUPS $(call KCONFIG_ENABLE_OPT,CONFIG_IP_MULTICAST) diff --git a/package/msmtp/msmtp.hash b/package/msmtp/msmtp.hash index c5fe9d917..ba4ef0274 100644 --- a/package/msmtp/msmtp.hash +++ b/package/msmtp/msmtp.hash @@ -1,7 +1,7 @@ # Locally calculated after checking signature -# https://marlam.de/msmtp/releases/msmtp-1.8.24.tar.xz.sig +# https://marlam.de/msmtp/releases/msmtp-1.8.25.tar.xz.sig # with key 2F61B4828BBA779AECB3F32703A2A4AB1E32FD34 -sha256 bd6644b1aaab17d61b86647993e3efad860b23c54283b00ddc579c1f5110aa59 msmtp-1.8.24.tar.xz +sha256 2dfe1dbbb397d26fe0b0b6b2e9cd2efdf9d72dd42d18e70d7f363ada2652d738 msmtp-1.8.25.tar.xz # Hash for license file: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/msmtp/msmtp.mk b/package/msmtp/msmtp.mk index 93c923a12..b964970bf 100644 --- a/package/msmtp/msmtp.mk +++ b/package/msmtp/msmtp.mk @@ -4,7 +4,7 @@ # ################################################################################ -MSMTP_VERSION = 1.8.24 +MSMTP_VERSION = 1.8.25 MSMTP_SITE = https://marlam.de/msmtp/releases MSMTP_SOURCE = msmtp-$(MSMTP_VERSION).tar.xz MSMTP_DEPENDENCIES = host-pkgconf diff --git a/package/mtd/mtd.mk b/package/mtd/mtd.mk index 998cc419b..39b9f2a52 100644 --- a/package/mtd/mtd.mk +++ b/package/mtd/mtd.mk @@ -6,7 +6,7 @@ MTD_VERSION = 2.1.6 MTD_SOURCE = mtd-utils-$(MTD_VERSION).tar.bz2 -MTD_SITE = ftp://ftp.infradead.org/pub/mtd-utils +MTD_SITE = https://infraroot.at/pub/mtd MTD_LICENSE = GPL-2.0 MTD_LICENSE_FILES = COPYING MTD_CPE_ID_VENDOR = mtd-utils_project diff --git a/package/multipath-tools/multipath-tools.hash b/package/multipath-tools/multipath-tools.hash index 0f51c3884..03a286714 100644 --- a/package/multipath-tools/multipath-tools.hash +++ b/package/multipath-tools/multipath-tools.hash @@ -4,4 +4,3 @@ sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENS sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 LICENSES/GPL-3.0 sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c LICENSES/LGPL-2.0 sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSES/LGPL-2.1 -sha256 5887418b2e0e595da5aca08b2dff25298f20618f9894d5e26ce852d9d1ae90c4 README.md diff --git a/package/multipath-tools/multipath-tools.mk b/package/multipath-tools/multipath-tools.mk index e62e85e14..164d85060 100644 --- a/package/multipath-tools/multipath-tools.mk +++ b/package/multipath-tools/multipath-tools.mk @@ -16,8 +16,7 @@ MULTIPATH_TOOLS_LICENSE_FILES = \ LICENSES/GPL-2.0 \ LICENSES/GPL-3.0 \ LICENSES/LGPL-2.0 \ - LICENSES/LGPL-2.1 \ - README.md + LICENSES/LGPL-2.1 MULTIPATH_TOOLS_CPE_ID_VENDOR = opensvc MULTIPATH_TOOLS_DEPENDENCIES = \ diff --git a/package/mupdf/Config.in b/package/mupdf/Config.in index cf9771116..34c5e7d53 100644 --- a/package/mupdf/Config.in +++ b/package/mupdf/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_MUPDF depends on BR2_INSTALL_LIBSTDCPP # harfbuzz depends on BR2_TOOLCHAIN_HAS_SYNC_4 # harfbuzz depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # harfbuzz - depends on BR2_PACKAGE_XORG7 select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_GUMBO_PARSER select BR2_PACKAGE_HARFBUZZ @@ -11,7 +10,6 @@ config BR2_PACKAGE_MUPDF select BR2_PACKAGE_JPEG select BR2_PACKAGE_LCMS2 select BR2_PACKAGE_OPENJPEG - select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_ZLIB help MuPDF is a lightweight PDF, XPS, and E-book viewer. diff --git a/package/mupdf/mupdf.mk b/package/mupdf/mupdf.mk index 08894d798..d813d9b7d 100644 --- a/package/mupdf/mupdf.mk +++ b/package/mupdf/mupdf.mk @@ -19,37 +19,32 @@ MUPDF_DEPENDENCIES = \ host-pkgconf \ jbig2dec jpeg \ lcms2 openjpeg \ - xlib_libX11 \ zlib -# The pkg-config name for gumbo-parser is `gumbo`. -MUPDF_PKG_CONFIG_PACKAGES = \ - freetype2 \ - gumbo \ - harfbuzz \ - libjpeg \ - zlib - -MUPDF_CFLAGS = \ - $(TARGET_CFLAGS) \ - `$(PKG_CONFIG_HOST_BINARY) --cflags $(MUPDF_PKG_CONFIG_PACKAGES)` \ - -fPIC # -fPIC is needed because the Makefile doesn't append it. - -MUPDF_LDFLAGS = \ - $(TARGET_LDFLAGS) \ - `$(PKG_CONFIG_HOST_BINARY) --libs $(MUPDF_PKG_CONFIG_PACKAGES)` - # mupdf doesn't use CFLAGS and LIBS but XCFLAGS and XLIBS instead. # with USE_SYSTEM_LIBS it will try to use system libraries instead of the bundled ones. MUPDF_MAKE_ENV = $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \ - XCFLAGS="$(MUPDF_CFLAGS)" \ - XLIBS="$(MUPDF_LDFLAGS)" \ + XCFLAGS="$(TARGET_CFLAGS)" \ + XLIBS="$(TARGET_LDFLAGS)" \ USE_SYSTEM_LIBS=yes MUPDF_MAKE_OPTS = \ HAVE_OBJCOPY=no \ prefix="/usr" +ifeq ($(BR2_STATIC_LIBS),y) +MUPDF_MAKE_OPTS += shared=no +else +MUPDF_MAKE_OPTS += shared=yes +endif + +ifeq ($(BR2_PACKAGE_XLIB_LIBX11)$(BR2_PACKAGE_XLIB_LIBXEXT),yy) +MUPDF_MAKE_OPTS += HAVE_X11=yes +MUPDF_DEPENDENCIES += xlib_libX11 xlib_libXext +else +MUPDF_MAKE_OPTS += HAVE_X11=no +endif + ifeq ($(BR2_PACKAGE_LIBFREEGLUT),y) MUPDF_DEPENDENCIES += libfreeglut else diff --git a/package/musepack/0004-missing-sys-select.patch b/package/musepack/0004-missing-sys-select.patch index 1e3a4b114..64efbc473 100644 --- a/package/musepack/0004-missing-sys-select.patch +++ b/package/musepack/0004-missing-sys-select.patch @@ -1,7 +1,7 @@ Add missing include This header is needed when types like fd_set are used. This fixes a -build issue occuring on the musl C library. +build issue occurring on the musl C library. Signed-off-by: Bernd Kuhls [Thomas: better commit log.] diff --git a/package/musl-compat-headers/musl-compat-headers.hash b/package/musl-compat-headers/musl-compat-headers.hash index 626145df3..27e0afb68 100644 --- a/package/musl-compat-headers/musl-compat-headers.hash +++ b/package/musl-compat-headers/musl-compat-headers.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 c13407edd0e33be73cae72514cb234f8612e1c0e54401c9448daffd3a240158b queue.h?rev=1.70 +sha256 c13407edd0e33be73cae72514cb234f8612e1c0e54401c9448daffd3a240158b queue.h diff --git a/package/musl-compat-headers/musl-compat-headers.mk b/package/musl-compat-headers/musl-compat-headers.mk index 1cfa89487..865b0bae4 100644 --- a/package/musl-compat-headers/musl-compat-headers.mk +++ b/package/musl-compat-headers/musl-compat-headers.mk @@ -5,7 +5,7 @@ ################################################################################ # No main site, just using extra downloads -MUSL_COMPAT_HEADERS_QUEUE_H = http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/sys/queue.h?rev=1.70 +MUSL_COMPAT_HEADERS_QUEUE_H = https://raw.githubusercontent.com/NetBSD/src/03be82a6b173b3c62116b7a186067fed3004dd44/sys/sys/queue.h MUSL_COMPAT_HEADERS_EXTRA_DOWNLOADS = $(MUSL_COMPAT_HEADERS_QUEUE_H) diff --git a/package/musl/0003-use-hidden-visibility-for-C-entry-point-function-_st.patch b/package/musl/0003-use-hidden-visibility-for-C-entry-point-function-_st.patch new file mode 100644 index 000000000..6359565cd --- /dev/null +++ b/package/musl/0003-use-hidden-visibility-for-C-entry-point-function-_st.patch @@ -0,0 +1,42 @@ +From 9c78557af0a5e521cdb46a4ca7630f2987d2523e Mon Sep 17 00:00:00 2001 +From: Rich Felker +Date: Sat, 10 Aug 2024 19:49:24 -0400 +Subject: [PATCH] use hidden visibility for C entry point function _start_c + +the file-level crt_arch.h asm fragments generally make direct +(non-PLT) calls from _start to _start_c, which is only valid when +there is a local, non-interposable definition for _start_c. generally, +the linker is expected to know that local definitions in a main +executable (as opposed to shared library) output are non-interposable, +making this work, but historically there have been linker bugs in this +area, and microblaze is reportedly still broken, flagging the +relocation for the call as a textrel. + +the equivalent _dlstart_c, called from the same crt_arch.h asm +fragments, has always used hidden visibility without problem, and +semantically it should be hidden, so make it hidden. this ensures the +direct call is always valid regardless of whether the linker properly +special-cases main executable output. + +Upstream: https://git.musl-libc.org/cgit/musl/commit/?id=9c78557af0a5e521cdb46a4ca7630f2987d2523e +Signed-off-by: J. Neuschäfer +--- + crt/crt1.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/crt/crt1.c b/crt/crt1.c +index 8fe8ab5d..10601215 100644 +--- a/crt/crt1.c ++++ b/crt/crt1.c +@@ -11,7 +11,7 @@ weak void _fini(); + int __libc_start_main(int (*)(), int, char **, + void (*)(), void(*)(), void(*)()); + +-void _start_c(long *p) ++hidden void _start_c(long *p) + { + int argc = p[0]; + char **argv = (void *)(p+1); +-- +2.45.2 + diff --git a/package/musl/0004-iconv-fix-erroneous-input-validation-in-EUC-KR-decod.patch b/package/musl/0004-iconv-fix-erroneous-input-validation-in-EUC-KR-decod.patch new file mode 100644 index 000000000..dbfd87db7 --- /dev/null +++ b/package/musl/0004-iconv-fix-erroneous-input-validation-in-EUC-KR-decod.patch @@ -0,0 +1,41 @@ +From e5adcd97b5196e29991b524237381a0202a60659 Mon Sep 17 00:00:00 2001 +From: Rich Felker +Date: Sun, 9 Feb 2025 10:07:19 -0500 +Subject: [PATCH] iconv: fix erroneous input validation in EUC-KR decoder + +as a result of incorrect bounds checking on the lead byte being +decoded, certain invalid inputs which should produce an encoding +error, such as "\xc8\x41", instead produced out-of-bounds loads from +the ksc table. + +in a worst case, the loaded value may not be a valid unicode scalar +value, in which case, if the output encoding was UTF-8, wctomb would +return (size_t)-1, causing an overflow in the output pointer and +remaining buffer size which could clobber memory outside of the output +buffer. + +bug report was submitted in private by Nick Wellnhofer on account of +potential security implications. + +Upstream: https://git.musl-libc.org/cgit/musl/commit/?id=e5adcd97b5196e29991b524237381a0202a60659 +Signed-off-by: Peter Korsgaard +--- + src/locale/iconv.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/locale/iconv.c b/src/locale/iconv.c +index 9605c8e9..008c93f0 100644 +--- a/src/locale/iconv.c ++++ b/src/locale/iconv.c +@@ -502,7 +502,7 @@ size_t iconv(iconv_t cd, char **restrict in, size_t *restrict inb, char **restri + if (c >= 93 || d >= 94) { + c += (0xa1-0x81); + d += 0xa1; +- if (c >= 93 || c>=0xc6-0x81 && d>0x52) ++ if (c > 0xc6-0x81 || c==0xc6-0x81 && d>0x52) + goto ilseq; + if (d-'A'<26) d = d-'A'; + else if (d-'a'<26) d = d-'a'+26; +-- +2.39.5 + diff --git a/package/musl/0005-iconv-harden-UTF-8-output-code-path-against-input-de.patch b/package/musl/0005-iconv-harden-UTF-8-output-code-path-against-input-de.patch new file mode 100644 index 000000000..a14041364 --- /dev/null +++ b/package/musl/0005-iconv-harden-UTF-8-output-code-path-against-input-de.patch @@ -0,0 +1,40 @@ +From c47ad25ea3b484e10326f933e927c0bc8cded3da Mon Sep 17 00:00:00 2001 +From: Rich Felker +Date: Wed, 12 Feb 2025 17:06:30 -0500 +Subject: [PATCH] iconv: harden UTF-8 output code path against input decoder + bugs + +the UTF-8 output code was written assuming an invariant that iconv's +decoders only emit valid Unicode Scalar Values which wctomb can encode +successfully, thereby always returning a value between 1 and 4. + +if this invariant is not satisfied, wctomb returns (size_t)-1, and the +subsequent adjustments to the output buffer pointer and remaining +output byte count overflow, moving the output position backwards, +potentially past the beginning of the buffer, without storing any +bytes. + +Upstream: https://git.musl-libc.org/cgit/musl/commit/?id=c47ad25ea3b484e10326f933e927c0bc8cded3da +Signed-off-by: Peter Korsgaard +--- + src/locale/iconv.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/locale/iconv.c b/src/locale/iconv.c +index 008c93f0..52178950 100644 +--- a/src/locale/iconv.c ++++ b/src/locale/iconv.c +@@ -545,6 +545,10 @@ size_t iconv(iconv_t cd, char **restrict in, size_t *restrict inb, char **restri + if (*outb < k) goto toobig; + memcpy(*out, tmp, k); + } else k = wctomb_utf8(*out, c); ++ /* This failure condition should be unreachable, but ++ * is included to prevent decoder bugs from translating ++ * into advancement outside the output buffer range. */ ++ if (k>4) goto ilseq; + *out += k; + *outb -= k; + break; +-- +2.39.5 + diff --git a/package/musl/Config.in b/package/musl/Config.in index 7fba85bcd..44654eff3 100644 --- a/package/musl/Config.in +++ b/package/musl/Config.in @@ -15,7 +15,8 @@ config BR2_PACKAGE_MUSL_ARCH_SUPPORTS default y if BR2_powerpc default y if BR2_powerpc64 default y if BR2_powerpc64le - default y if BR2_riscv + default y if BR2_RISCV_64 + default y if BR2_s390x default y if BR2_sh default y if BR2_x86_64 depends on !BR2_POWERPC_CPU_HAS_SPE # not supported, build breaks diff --git a/package/musl/musl.mk b/package/musl/musl.mk index 783a103fc..13a49a15e 100644 --- a/package/musl/musl.mk +++ b/package/musl/musl.mk @@ -26,6 +26,10 @@ MUSL_ADD_TOOLCHAIN_DEPENDENCY = NO MUSL_INSTALL_STAGING = YES +# 0004-iconv-fix-erroneous-input-validation-in-EUC-KR-decod.patch +# 0005-iconv-harden-UTF-8-output-code-path-against-input-de.patch +MUSL_IGNORE_CVES += CVE-2025-26519 + # musl does not build with LTO, so explicitly disable it # when using a compiler that may have support for LTO ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_7),y) diff --git a/package/mutt/mutt.hash b/package/mutt/mutt.hash index 8c4aae3c1..72c7924e9 100644 --- a/package/mutt/mutt.hash +++ b/package/mutt/mutt.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 043af312f64b8e56f7fd0bf77f84a205d4c498030bd9586457665c47bb18ce38 mutt-2.2.12.tar.gz +sha256 eb23faddc1cc97d867693f3a4a9f30949ad93765ad5b6fdae2797a4001c58efb mutt-2.2.13.tar.gz sha256 732f24b69a6c71cd8e01e4672bb8e12cc1cbb88a50a4665e6ca4fd95000a57ee GPL diff --git a/package/mutt/mutt.mk b/package/mutt/mutt.mk index 2fe7b92b3..9a6be6d4a 100644 --- a/package/mutt/mutt.mk +++ b/package/mutt/mutt.mk @@ -4,7 +4,7 @@ # ################################################################################ -MUTT_VERSION = 2.2.12 +MUTT_VERSION = 2.2.13 MUTT_SITE = https://bitbucket.org/mutt/mutt/downloads MUTT_LICENSE = GPL-2.0+ MUTT_LICENSE_FILES = GPL diff --git a/package/ncftp/Config.in b/package/ncftp/Config.in index 6a939aa88..c8870a3dd 100644 --- a/package/ncftp/Config.in +++ b/package/ncftp/Config.in @@ -7,7 +7,7 @@ config BR2_PACKAGE_NCFTP application programs implementing the File Transfer Protocol (FTP). - http://www.ncftp.com/ncftp/ + https://www.ncftp.com/ncftp/ if BR2_PACKAGE_NCFTP diff --git a/package/ncftp/ncftp.mk b/package/ncftp/ncftp.mk index 676a9c589..789da1f45 100644 --- a/package/ncftp/ncftp.mk +++ b/package/ncftp/ncftp.mk @@ -8,9 +8,9 @@ NCFTP_VERSION = 3.2.6 # use .gz as upstream .xz tarball has changed after the hash was added for # 2017.02. Can be changed back to .xz when version is bumped NCFTP_SOURCE = ncftp-$(NCFTP_VERSION)-src.tar.gz -NCFTP_SITE = ftp://ftp.ncftp.com/ncftp +NCFTP_SITE = https://www.ncftp.com/public_ftp/ncftp/older_versions NCFTP_TARGET_BINS = ncftp -NCFTP_LICENSE = Clarified Artistic License +NCFTP_LICENSE = ClArtistic NCFTP_LICENSE_FILES = doc/LICENSE.txt NCFTP_DEPENDENCIES = host-autoconf diff --git a/package/neon/neon.mk b/package/neon/neon.mk index 96ee60878..93870b996 100644 --- a/package/neon/neon.mk +++ b/package/neon/neon.mk @@ -10,7 +10,7 @@ NEON_LICENSE = LGPL-2.0+ (library), GPL-2.0+ (manual and tests) NEON_LICENSE_FILES = src/COPYING.LIB test/COPYING README.md NEON_CPE_ID_VENDOR = webdav NEON_INSTALL_STAGING = YES -NEON_CONF_OPTS = --without-gssapi --disable-rpath +NEON_CONF_OPTS = --without-gssapi NEON_CONFIG_SCRIPTS = neon-config NEON_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) NEON_CONF_ENV = ne_cv_libsfor_bindtextdomain=$(TARGET_NLS_LIBS) diff --git a/package/net-tools/net-tools.mk b/package/net-tools/net-tools.mk index 0744bf18c..03e1c7340 100644 --- a/package/net-tools/net-tools.mk +++ b/package/net-tools/net-tools.mk @@ -16,7 +16,7 @@ define NET_TOOLS_CONFIGURE_CMDS (cd $(@D); yes "" | ./configure.sh config.in ) endef -# Enable I18N when appropiate +# Enable I18N when appropriate ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) define NET_TOOLS_ENABLE_I18N $(SED) 's:I18N 0:I18N 1:' $(@D)/config.h diff --git a/package/netatalk/netatalk.hash b/package/netatalk/netatalk.hash index 9ab5d604a..285484ed2 100644 --- a/package/netatalk/netatalk.hash +++ b/package/netatalk/netatalk.hash @@ -1,7 +1,7 @@ -# From http://sourceforge.net/projects/netatalk/files/netatalk/3.1.18/ -md5 b1caff4e1da534d8ca57d688c7fa3ce1 netatalk-3.1.18.tar.xz -sha1 cbd92c95d04cfd4a9f49977970501a623310c2d9 netatalk-3.1.18.tar.xz +# From http://sourceforge.net/projects/netatalk/files/netatalk/3.1.19/ +md5 4861f0c2450ac7a6094e51090e6fdc75 netatalk-3.1.19.tar.xz +sha1 16900b3b14da9c2f40e1267ecb3e68021cc794b0 netatalk-3.1.19.tar.xz # Locally computed -sha256 3941effcc2c4e0dceecabc763fbb8478a2f2fbe0af4a6314983cfea452df8d47 netatalk-3.1.18.tar.xz +sha256 433fa87ac23bc18a9acb0769b4f7f4047eeb14e02e0607ecd3a051c31859164f netatalk-3.1.19.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 7599ae145e53be03a08f8b558b2f2e0c828e1630f1843cc04f41981b8cefcd65 COPYRIGHT diff --git a/package/netatalk/netatalk.mk b/package/netatalk/netatalk.mk index 53cd53876..b6f9c3fa5 100644 --- a/package/netatalk/netatalk.mk +++ b/package/netatalk/netatalk.mk @@ -4,7 +4,7 @@ # ################################################################################ -NETATALK_VERSION = 3.1.18 +NETATALK_VERSION = 3.1.19 NETATALK_SITE = http://downloads.sourceforge.net/project/netatalk/netatalk-$(subst .,-,$(NETATALK_VERSION)) NETATALK_SOURCE = netatalk-$(NETATALK_VERSION).tar.xz NETATALK_CONFIG_SCRIPTS = netatalk-config diff --git a/package/nettle/nettle.mk b/package/nettle/nettle.mk index 20f755cc9..0af15ac94 100644 --- a/package/nettle/nettle.mk +++ b/package/nettle/nettle.mk @@ -5,7 +5,7 @@ ################################################################################ NETTLE_VERSION = 3.9.1 -NETTLE_SITE = https://ftp.gnu.org/gnu/nettle +NETTLE_SITE = $(BR2_GNU_MIRROR)/nettle NETTLE_DEPENDENCIES = host-m4 gmp NETTLE_INSTALL_STAGING = YES NETTLE_LICENSE = Dual GPL-2.0+/LGPL-3.0+ diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in index 57d754313..1d9a02c1d 100644 --- a/package/network-manager/Config.in +++ b/package/network-manager/Config.in @@ -5,7 +5,7 @@ config BR2_PACKAGE_NETWORK_MANAGER depends on BR2_PACKAGE_HAS_UDEV depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6 - depends on BR2_TOOLCHAIN_USES_GLIBC # CLOCK_BOOTTIME, IPTOS_CLASS_* + depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_WCHAR # libglib2 select BR2_PACKAGE_DBUS @@ -59,10 +59,11 @@ config BR2_PACKAGE_NETWORK_MANAGER_OVS This option enables support for OpenVSwitch endif -comment "NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 4.6, dynamic library, wchar, threads, gcc >= 4.9" +comment "NetworkManager needs udev /dev management and a glibc or musl toolchain w/ headers >= 4.6, dynamic library, wchar, threads, gcc >= 4.9" depends on BR2_USE_MMU depends on !BR2_PACKAGE_HAS_UDEV || \ !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6 || \ - !BR2_TOOLCHAIN_USES_GLIBC || BR2_STATIC_LIBS || \ + !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) || \ + BR2_STATIC_LIBS || \ !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/network-manager/network-manager.hash b/package/network-manager/network-manager.hash index 0196d68c5..daf4c3fef 100644 --- a/package/network-manager/network-manager.hash +++ b/package/network-manager/network-manager.hash @@ -3,4 +3,3 @@ sha256 4b58bf3ac57e2cefb5652efd0945eb0b4bc36a63d92a61ab471d8bb2c9a420e1 Networ # Locally computed sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL -sha256 e7cf3d92bda8e5365eaf4514d572146a19e93336f7a966493778d0d0c4476fae CONTRIBUTING.md diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk index f6ef923d5..4a246fd90 100644 --- a/package/network-manager/network-manager.mk +++ b/package/network-manager/network-manager.mk @@ -10,7 +10,7 @@ NETWORK_MANAGER_SOURCE = NetworkManager-$(NETWORK_MANAGER_VERSION).tar.xz NETWORK_MANAGER_SITE = https://download.gnome.org/sources/NetworkManager/$(NETWORK_MANAGER_VERSION_MAJOR) NETWORK_MANAGER_INSTALL_STAGING = YES NETWORK_MANAGER_LICENSE = GPL-2.0+ (app), LGPL-2.1+ (libnm) -NETWORK_MANAGER_LICENSE_FILES = COPYING COPYING.LGPL CONTRIBUTING.md +NETWORK_MANAGER_LICENSE_FILES = COPYING COPYING.LGPL NETWORK_MANAGER_CPE_ID_VENDOR = gnome NETWORK_MANAGER_CPE_ID_PRODUCT = networkmanager NETWORK_MANAGER_SELINUX_MODULES = networkmanager diff --git a/package/newlib-bare-metal/newlib-bare-metal.mk b/package/newlib-bare-metal/newlib-bare-metal.mk index 9f5d76575..89092eb97 100644 --- a/package/newlib-bare-metal/newlib-bare-metal.mk +++ b/package/newlib-bare-metal/newlib-bare-metal.mk @@ -5,7 +5,7 @@ ################################################################################ NEWLIB_BARE_METAL_VERSION = 4.4.0.20231231 -NEWLIB_BARE_METAL_SITE = ftp://sourceware.org/pub/newlib +NEWLIB_BARE_METAL_SITE = https://sourceware.org/ftp/newlib NEWLIB_BARE_METAL_SOURCE = newlib-$(NEWLIB_BARE_METAL_VERSION).tar.gz NEWLIB_BARE_METAL_DEPENDENCIES = host-gcc-bare-metal NEWLIB_BARE_METAL_ADD_TOOLCHAIN_DEPENDENCY = NO diff --git a/package/nfacct/Config.in b/package/nfacct/Config.in index e30d2d997..02e7a6dba 100644 --- a/package/nfacct/Config.in +++ b/package/nfacct/Config.in @@ -5,4 +5,4 @@ config BR2_PACKAGE_NFACCT nfacct is the command line tool to create/retrieve/delete netfilter accounting objects. - http://www.netfilter.org/projects/nfacct/ + https://www.netfilter.org/projects/nfacct/ diff --git a/package/nfacct/nfacct.hash b/package/nfacct/nfacct.hash index aac5ce0ab..4038ff86b 100644 --- a/package/nfacct/nfacct.hash +++ b/package/nfacct/nfacct.hash @@ -1,4 +1,4 @@ -# From ftp://ftp.netfilter.org/pub/nfacct/nfacct-1.0.2.tar.bz2.{md5sum,sha1sum} +# From https://www.netfilter.org/projects/nfacct/files/nfacct-1.0.2.tar.bz2.{md5sum,sha1sum} md5 94faafdaaed85ca9220c5692be8a408e nfacct-1.0.2.tar.bz2 sha1 17d6576778227ea93c62600d9b18ff4932963c6a nfacct-1.0.2.tar.bz2 # Locally computed diff --git a/package/nfacct/nfacct.mk b/package/nfacct/nfacct.mk index d4c7c4ce7..0092cb9c2 100644 --- a/package/nfacct/nfacct.mk +++ b/package/nfacct/nfacct.mk @@ -6,7 +6,7 @@ NFACCT_VERSION = 1.0.2 NFACCT_SOURCE = nfacct-$(NFACCT_VERSION).tar.bz2 -NFACCT_SITE = http://www.netfilter.org/projects/nfacct/files +NFACCT_SITE = https://www.netfilter.org/projects/nfacct/files NFACCT_DEPENDENCIES = host-pkgconf \ libnetfilter_acct NFACCT_LICENSE = GPL-2.0 diff --git a/package/nfs-utils/nfs-utils.mk b/package/nfs-utils/nfs-utils.mk index 4f2b41c78..9ea3bae79 100644 --- a/package/nfs-utils/nfs-utils.mk +++ b/package/nfs-utils/nfs-utils.mk @@ -42,7 +42,8 @@ NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPCDEBUG) += usr/sbin/rpcdebug NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_LOCKD) += usr/sbin/rpc.lockd NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_RQUOTAD) += usr/sbin/rpc.rquotad NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_NFSD) += usr/sbin/exportfs \ - usr/sbin/rpc.mountd usr/sbin/rpc.nfsd usr/lib/systemd/system/nfs-server.service + usr/sbin/rpc.mountd usr/sbin/rpc.nfsd usr/lib/systemd/system/nfs-server.service \ + usr/sbin/fsidd usr/lib/systemd/system/fsidd.service ifeq ($(BR2_PACKAGE_NFS_UTILS_NFSV4),y) NFS_UTILS_CONF_OPTS += --enable-nfsv4 --enable-nfsv41 @@ -78,7 +79,7 @@ NFS_UTILS_POST_INSTALL_TARGET_HOOKS += NFS_UTILS_INSTALL_FIXUP ifeq ($(BR2_INIT_SYSTEMD),y) NFS_UTILS_CONF_OPTS += --with-systemd=/usr/lib/systemd/system -NFS_UTILS_DEPENDENCIES += systemd +NFS_UTILS_DEPENDENCIES += systemd host-systemd else NFS_UTILS_CONF_OPTS += --without-systemd endif diff --git a/package/nghttp2/nghttp2.hash b/package/nghttp2/nghttp2.hash index dddf6fe1b..4b60d6d14 100644 --- a/package/nghttp2/nghttp2.hash +++ b/package/nghttp2/nghttp2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 4a68a3040da92fd9872c056d0f6b0cd60de8410de10b578f8ade9ecc14d297e0 nghttp2-1.58.0.tar.xz +sha256 88bb94c9e4fd1c499967f83dece36a78122af7d5fb40da2019c56b9ccc6eb9dd nghttp2-1.64.0.tar.xz sha256 6b94f3abc1aabd0c72a7c7d92a77f79dda7c8a0cb3df839a97890b4116a2de2a COPYING diff --git a/package/nghttp2/nghttp2.mk b/package/nghttp2/nghttp2.mk index 7a05e38fa..98f837e28 100644 --- a/package/nghttp2/nghttp2.mk +++ b/package/nghttp2/nghttp2.mk @@ -4,7 +4,7 @@ # ################################################################################ -NGHTTP2_VERSION = 1.58.0 +NGHTTP2_VERSION = 1.64.0 NGHTTP2_SOURCE = nghttp2-$(NGHTTP2_VERSION).tar.xz NGHTTP2_SITE = https://github.com/nghttp2/nghttp2/releases/download/v$(NGHTTP2_VERSION) NGHTTP2_LICENSE = MIT diff --git a/package/nginx-modsecurity/nginx-modsecurity.hash b/package/nginx-modsecurity/nginx-modsecurity.hash index 0cd2ee07c..698dbc7da 100644 --- a/package/nginx-modsecurity/nginx-modsecurity.hash +++ b/package/nginx-modsecurity/nginx-modsecurity.hash @@ -1,4 +1,4 @@ # From https://github.com/SpiderLabs/ModSecurity-nginx/releases/download/v1.0.3/modsecurity-nginx-v1.0.3.tar.gz.sha256 sha256 ae811c7208ac029cb7a99d6f63e03d3971797607517187f47620df39c1f78add modsecurity-nginx-v1.0.3.tar.gz -# Localy calculated +# Locally calculated sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE diff --git a/package/nginx/0007-auto-lib-libgd-conf-use-pkg-config.patch b/package/nginx/0006-auto-lib-libgd-conf-use-pkg-config.patch similarity index 100% rename from package/nginx/0007-auto-lib-libgd-conf-use-pkg-config.patch rename to package/nginx/0006-auto-lib-libgd-conf-use-pkg-config.patch diff --git a/package/nginx/0006-auto-lib-openssl-conf-use-pkg-config.patch b/package/nginx/0006-auto-lib-openssl-conf-use-pkg-config.patch deleted file mode 100644 index 433872965..000000000 --- a/package/nginx/0006-auto-lib-openssl-conf-use-pkg-config.patch +++ /dev/null @@ -1,251 +0,0 @@ -From 4ba4b1e0bd1b69e124eb34c95ae9e7c087370efa Mon Sep 17 00:00:00 2001 -From: Martin Bark -Date: Fri, 6 May 2016 14:48:31 +0100 -Subject: [PATCH] auto/lib/openssl/conf: use pkg-config - -Change to using pkg-config to find the path to openssl and its -dependencies. - -Signed-off-by: Martin Bark ---- - auto/lib/openssl/conf | 187 +++++++++++++++++++++--------------------- - 1 file changed, 94 insertions(+), 93 deletions(-) - -diff --git a/auto/lib/openssl/conf b/auto/lib/openssl/conf -index 4fb52df7..9f30490d 100644 ---- a/auto/lib/openssl/conf -+++ b/auto/lib/openssl/conf -@@ -1,4 +1,3 @@ -- - # Copyright (C) Igor Sysoev - # Copyright (C) Nginx, Inc. - -@@ -7,123 +6,125 @@ if [ $OPENSSL != NONE ]; then - - case "$CC" in - -- cl | bcc32) -- have=NGX_OPENSSL . auto/have -- have=NGX_SSL . auto/have -- -- CFLAGS="$CFLAGS -DNO_SYS_TYPES_H" -- -- CORE_INCS="$CORE_INCS $OPENSSL/openssl/include" -- CORE_DEPS="$CORE_DEPS $OPENSSL/openssl/include/openssl/ssl.h" -- -- if [ -f $OPENSSL/ms/do_ms.bat ]; then -- # before OpenSSL 1.1.0 -- CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/ssleay32.lib" -- CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libeay32.lib" -- else -- # OpenSSL 1.1.0+ -- CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libssl.lib" -- CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libcrypto.lib" -- fi -- -- # libeay32.lib requires gdi32.lib -- CORE_LIBS="$CORE_LIBS gdi32.lib" -- # OpenSSL 1.0.0 requires crypt32.lib -- CORE_LIBS="$CORE_LIBS crypt32.lib" -- ;; -- -- *) -- have=NGX_OPENSSL . auto/have -- have=NGX_SSL . auto/have -- -- CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include" -- CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h" -- CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a" -- CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a" -- CORE_LIBS="$CORE_LIBS $NGX_LIBDL" -- CORE_LIBS="$CORE_LIBS $NGX_LIBPTHREAD" -- -- if [ "$NGX_PLATFORM" = win32 ]; then -- CORE_LIBS="$CORE_LIBS -lgdi32 -lcrypt32 -lws2_32" -- fi -- ;; -+ cl | bcc32) -+ have=NGX_OPENSSL . auto/have -+ have=NGX_SSL . auto/have -+ -+ CFLAGS="$CFLAGS -DNO_SYS_TYPES_H" -+ -+ CORE_INCS="$CORE_INCS $OPENSSL/openssl/include" -+ CORE_DEPS="$CORE_DEPS $OPENSSL/openssl/include/openssl/ssl.h" -+ -+ if [ -f $OPENSSL/ms/do_ms.bat ]; then -+ # before OpenSSL 1.1.0 -+ CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/ssleay32.lib" -+ CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libeay32.lib" -+ else -+ # OpenSSL 1.1.0+ -+ CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libssl.lib" -+ CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libcrypto.lib" -+ fi -+ -+ # libeay32.lib requires gdi32.lib -+ CORE_LIBS="$CORE_LIBS gdi32.lib" -+ # OpenSSL 1.0.0 requires crypt32.lib -+ CORE_LIBS="$CORE_LIBS crypt32.lib" -+ ;; -+ -+ *) -+ have=NGX_OPENSSL . auto/have -+ have=NGX_SSL . auto/have -+ -+ CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include" -+ CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h" -+ CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a" -+ CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a" -+ CORE_LIBS="$CORE_LIBS $NGX_LIBDL" -+ CORE_LIBS="$CORE_LIBS $NGX_LIBPTHREAD" -+ -+ if [ "$NGX_PLATFORM" = win32 ]; then -+ CORE_LIBS="$CORE_LIBS -lgdi32 -lcrypt32 -lws2_32" -+ fi -+ ;; - esac - - else - - if [ "$NGX_PLATFORM" != win32 ]; then - -- OPENSSL=NO -+ OPENSSL=NO - -- ngx_feature="OpenSSL library" -- ngx_feature_name="NGX_OPENSSL" -- ngx_feature_run=no -- ngx_feature_incs="#include " -- ngx_feature_path= -- ngx_feature_libs="-lssl -lcrypto $NGX_LIBDL $NGX_LIBPTHREAD" -- ngx_feature_test="SSL_CTX_set_options(NULL, 0)" -- . auto/feature -+ ngx_feature="OpenSSL library" -+ ngx_feature_name="NGX_OPENSSL" -+ ngx_feature_run=no -+ ngx_feature_incs="#include " -+ ngx_feature_path= -+ ngx_feature_path="$(${PKG_CONFIG:=pkg-config} --cflags-only-I openssl| -+ sed -re 's/(^|\s)-I\s*(\S+)/\1\2/g')" -+ ngx_feature_libs="$(${PKG_CONFIG:=pkg-config} --libs openssl)" -+ ngx_feature_test="SSL_CTX_set_options(NULL, 0)" -+ . auto/feature - -- if [ $ngx_found = no ]; then -+ if [ $ngx_found = no ]; then - -- # FreeBSD port -+ # FreeBSD port - -- ngx_feature="OpenSSL library in /usr/local/" -- ngx_feature_path="/usr/local/include" -+ ngx_feature="OpenSSL library in /usr/local/" -+ ngx_feature_path="/usr/local/include" - -- if [ $NGX_RPATH = YES ]; then -- ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lssl -lcrypto" -- else -- ngx_feature_libs="-L/usr/local/lib -lssl -lcrypto" -- fi -+ if [ $NGX_RPATH = YES ]; then -+ ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lssl -lcrypto" -+ else -+ ngx_feature_libs="-L/usr/local/lib -lssl -lcrypto" -+ fi - -- ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD" -+ ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD" - -- . auto/feature -- fi -+ . auto/feature -+ fi - -- if [ $ngx_found = no ]; then -+ if [ $ngx_found = no ]; then - -- # NetBSD port -+ # NetBSD port - -- ngx_feature="OpenSSL library in /usr/pkg/" -- ngx_feature_path="/usr/pkg/include" -+ ngx_feature="OpenSSL library in /usr/pkg/" -+ ngx_feature_path="/usr/pkg/include" - -- if [ $NGX_RPATH = YES ]; then -- ngx_feature_libs="-R/usr/pkg/lib -L/usr/pkg/lib -lssl -lcrypto" -- else -- ngx_feature_libs="-L/usr/pkg/lib -lssl -lcrypto" -- fi -+ if [ $NGX_RPATH = YES ]; then -+ ngx_feature_libs="-R/usr/pkg/lib -L/usr/pkg/lib -lssl -lcrypto" -+ else -+ ngx_feature_libs="-L/usr/pkg/lib -lssl -lcrypto" -+ fi - -- ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD" -+ ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD" - -- . auto/feature -- fi -+ . auto/feature -+ fi - -- if [ $ngx_found = no ]; then -+ if [ $ngx_found = no ]; then - -- # MacPorts -+ # MacPorts - -- ngx_feature="OpenSSL library in /opt/local/" -- ngx_feature_path="/opt/local/include" -+ ngx_feature="OpenSSL library in /opt/local/" -+ ngx_feature_path="/opt/local/include" - -- if [ $NGX_RPATH = YES ]; then -- ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lssl -lcrypto" -- else -- ngx_feature_libs="-L/opt/local/lib -lssl -lcrypto" -- fi -+ if [ $NGX_RPATH = YES ]; then -+ ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lssl -lcrypto" -+ else -+ ngx_feature_libs="-L/opt/local/lib -lssl -lcrypto" -+ fi - -- ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD" -+ ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD" - -- . auto/feature -- fi -+ . auto/feature -+ fi - -- if [ $ngx_found = yes ]; then -- have=NGX_SSL . auto/have -- CORE_INCS="$CORE_INCS $ngx_feature_path" -- CORE_LIBS="$CORE_LIBS $ngx_feature_libs" -- OPENSSL=YES -- fi -+ if [ $ngx_found = yes ]; then -+ have=NGX_SSL . auto/have -+ CORE_INCS="$CORE_INCS $ngx_feature_path" -+ CORE_LIBS="$CORE_LIBS $ngx_feature_libs" -+ OPENSSL=YES -+ fi - fi - - if [ $OPENSSL != YES ]; then -@@ -136,7 +137,7 @@ into the system, or build the OpenSSL library statically from the source - with nginx by using --with-openssl= option. - - END -- exit 1 -+ exit 1 - fi - - fi --- -2.17.1 - diff --git a/package/nginx/0008-src-os-unix-ngx_linux_config.h-only-include-dlfcn.h-.patch b/package/nginx/0007-src-os-unix-ngx_linux_config.h-only-include-dlfcn.h-.patch similarity index 100% rename from package/nginx/0008-src-os-unix-ngx_linux_config.h-only-include-dlfcn.h-.patch rename to package/nginx/0007-src-os-unix-ngx_linux_config.h-only-include-dlfcn.h-.patch diff --git a/package/nginx/0010-Allow-forcing-of-endianness-for-cross-compilation.patch b/package/nginx/0008-Allow-forcing-of-endianness-for-cross-compilation.patch similarity index 100% rename from package/nginx/0010-Allow-forcing-of-endianness-for-cross-compilation.patch rename to package/nginx/0008-Allow-forcing-of-endianness-for-cross-compilation.patch diff --git a/package/nginx/0009-auto-lib-openssl-conf-use-pkg-config.patch b/package/nginx/0009-auto-lib-openssl-conf-use-pkg-config.patch new file mode 100644 index 000000000..05fb48b76 --- /dev/null +++ b/package/nginx/0009-auto-lib-openssl-conf-use-pkg-config.patch @@ -0,0 +1,34 @@ +From 232ac61984720401b0c3854da1644ec20ed218e0 Mon Sep 17 00:00:00 2001 +From: Martin Bark +Date: Thu, 15 Aug 2024 19:47:23 +0200 +Subject: [PATCH] auto/lib/openssl/conf: use pkg-config + +Change to using pkg-config to find the path to openssl and its +dependencies. + +Signed-off-by: Martin Bark +Signed-off-by: Waldemar Brodkorb +Upstream: not suitable +--- + auto/lib/openssl/conf | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/auto/lib/openssl/conf b/auto/lib/openssl/conf +index fdf430dff..c9fe4c8bf 100644 +--- a/auto/lib/openssl/conf ++++ b/auto/lib/openssl/conf +@@ -63,8 +63,9 @@ else + ngx_feature_name="NGX_OPENSSL" + ngx_feature_run=no + ngx_feature_incs="#include " +- ngx_feature_path= +- ngx_feature_libs="-lssl -lcrypto $NGX_LIBDL $NGX_LIBPTHREAD" ++ ngx_feature_path="$(${PKG_CONFIG:=pkg-config} --cflags-only-I openssl| ++ sed -re 's/(^|\s)-I\s*(\S+)/\1\2/g')" ++ ngx_feature_libs="$(${PKG_CONFIG:=pkg-config} --libs openssl)" + ngx_feature_test="SSL_CTX_set_options(NULL, 0)" + . auto/feature + +-- +2.39.2 + diff --git a/package/nginx/0009-auto-os-linux-fix-build-with-libxcrypt.patch b/package/nginx/0009-auto-os-linux-fix-build-with-libxcrypt.patch deleted file mode 100644 index 8b368d946..000000000 --- a/package/nginx/0009-auto-os-linux-fix-build-with-libxcrypt.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 79f1fe5251afc4e22a138b0c8f44fc9c94093b8b Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Fri, 2 Apr 2021 09:18:26 +0200 -Subject: [PATCH] auto/os/linux: fix build with libxcrypt - -If crypt_r is found in libcrypt, add -lcrypt to CORE_LIBS to avoid the -following build failure with libxcrypt: - -objs/ngx_modules.o \ --lpcre -L/home/giuliobenetti/autobuild/run/instance-3/output-1/host/bin/../xtensa-buildroot-linux-uclibc/sysroot/usr/lib -lssl -lcrypto -L/home/giuliobenetti/autobuild/run/instance-3/output-1/host/bin/../xtensa-buildroot-linux-uclibc/sysroot/usr/lib -lxslt -lxml2 -lGeoIP \ --Wl,-E -/home/giuliobenetti/autobuild/run/instance-3/output-1/host/lib/gcc/xtensa-buildroot-linux-uclibc/9.3.0/../../../../xtensa-buildroot-linux-uclibc/bin/ld: objs/src/os/unix/ngx_user.o:/home/giuliobenetti/autobuild/run/instance-3/output-1/build/nginx-1.18.0/src/os/unix/ngx_user.c:18: undefined reference to `crypt_r' - -Fixes: - - http://autobuild.buildroot.org/results/79a51b0d348e756517b5c9ce815a67f5c657e7e6 - -Signed-off-by: Fabrice Fontaine ---- - auto/os/linux | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/auto/os/linux b/auto/os/linux -index 5e280eca..04682812 100644 ---- a/auto/os/linux -+++ b/auto/os/linux -@@ -232,6 +232,9 @@ ngx_feature_test="struct crypt_data cd; - crypt_r(\"key\", \"salt\", &cd);" - . auto/feature - -+if [ $ngx_found = yes ]; then -+ CORE_LIBS="$CORE_LIBS $ngx_feature_libs" -+fi - - ngx_include="sys/vfs.h"; . auto/include - --- -2.30.2 - diff --git a/package/nginx/nginx.hash b/package/nginx/nginx.hash index 24bc588d8..77220665f 100644 --- a/package/nginx/nginx.hash +++ b/package/nginx/nginx.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 77a2541637b92a621e3ee76776c8b7b40cf6d707e69ba53a940283e30ff2f55d nginx-1.24.0.tar.gz +sha256 69ee2b237744036e61d24b836668aad3040dda461fe6f570f1787eab570c75aa nginx-1.26.3.tar.gz # License files, locally calculated -sha256 ececed0b0e7243a4766cbc62b26df4bd3513b41de3a07425da1679c836d06320 LICENSE +sha256 f19c4caea60247490199c5a6d0134281e3fb20b3d7577e6873c628597f5381d9 LICENSE diff --git a/package/nginx/nginx.mk b/package/nginx/nginx.mk index 7bd2173b4..6ca1ac207 100644 --- a/package/nginx/nginx.mk +++ b/package/nginx/nginx.mk @@ -4,7 +4,7 @@ # ################################################################################ -NGINX_VERSION = 1.24.0 +NGINX_VERSION = 1.26.3 NGINX_SITE = https://nginx.org/download NGINX_LICENSE = BSD-2-Clause NGINX_LICENSE_FILES = LICENSE @@ -93,7 +93,7 @@ endif # - pcre-jit (want to rebuild pcre) # Notes: -# * Feature/module option are *not* symetric. +# * Feature/module option are *not* symmetric. # If a feature is on by default, only its --without-xxx option exists; # if a feature is off by default, only its --with-xxx option exists. # * The configure script fails if unknown options are passed on the command diff --git a/package/nload/Config.in b/package/nload/Config.in index c938d8eae..6c2cab7fe 100644 --- a/package/nload/Config.in +++ b/package/nload/Config.in @@ -9,7 +9,7 @@ config BR2_PACKAGE_NLOAD nload is a console application which monitors network traffic and bandwidth usage in real time. It visualizes the in- and outgoing traffic using two graphs and provides additional info - like total amount of transfered data and min/max network + like total amount of transferred data and min/max network usage. http://www.roland-riegel.de/nload/ diff --git a/package/nodejs/nodejs-src/0004-lib-internal-modules-cjs-loader.js-adjust-default-pa.patch b/package/nodejs/nodejs-src/0004-lib-internal-modules-cjs-loader.js-adjust-default-pa.patch index 25c26b43b..ffb8e67a6 100644 --- a/package/nodejs/nodejs-src/0004-lib-internal-modules-cjs-loader.js-adjust-default-pa.patch +++ b/package/nodejs/nodejs-src/0004-lib-internal-modules-cjs-loader.js-adjust-default-pa.patch @@ -6,7 +6,7 @@ Subject: [PATCH] lib/internal/modules/cjs/loader.js: adjust default path to NPM installs modules in /usr/lib/node_modules/, but by default NodeJS searches for them only in /usr/lib/node/. We could also set the -NODE_PATH environment variable, but it is more convienient to have +NODE_PATH environment variable, but it is more convenient to have NodeJS configured by default to find modules where they are installed. This issue is discussed at diff --git a/package/nodejs/nodejs.hash b/package/nodejs/nodejs.hash index ddab345e0..486e5fce9 100644 --- a/package/nodejs/nodejs.hash +++ b/package/nodejs/nodejs.hash @@ -1,8 +1,10 @@ -# From https://nodejs.org/dist/v20.11.1/SHASUMS256.txt.asc -sha256 c957f29eb4e341903520caf362534f0acd1db7be79c502ae8e283994eed07fe1 node-v20.11.1-linux-arm64.tar.xz -sha256 28e0120d2d150a8f41717899d33167b8b32053778665583d49ff971bfd188d1b node-v20.11.1-linux-armv7l.tar.xz -sha256 51343cacf5cdf5c4b5e93e919d19dd373d6ef43d5f2c666eae299f26e31d08b5 node-v20.11.1-linux-ppc64le.tar.xz -sha256 d8dab549b09672b03356aa2257699f3de3b58c96e74eb26a8b495fbdc9cf6fbe node-v20.11.1-linux-x64.tar.xz -sha256 77813edbf3f7f16d2d35d3353443dee4e61d5ee84d9e3138c7538a3c0ca5209e node-v20.11.1.tar.xz +# From https://nodejs.org/dist/v20.18.2/SHASUMS256.txt.asc +sha256 05819d72dcc0aa788baab1066e18ede5f1ab6730a1925cd6b15c131b55fd4272 node-v20.18.2-headers.tar.xz +sha256 5c1437aa16e7e6a2e0687a42c4d3f0a8f8a2039cda8880cb3be8cd983aeefb44 node-v20.18.2-linux-arm64.tar.xz +sha256 63d4df56fb2e34a5077345f78941094204d2223ce03b8ebc9c1500e6e2aae68d node-v20.18.2-linux-armv7l.tar.xz +sha256 828a2635261ca225cd4a8a4b1a914003cdc7b30656c2e9092ac7aab02ac361db node-v20.18.2-linux-ppc64le.tar.xz +sha256 4e50f727ae09bdafecf2322c72faf7cd82bf3b8851a16b8bb63974e0d8d6eceb node-v20.18.2-linux-x64.tar.xz +sha256 69bf81b70f3a95ae0763459f02860c282d7e3a47567c8afaf126cc778176a882 node-v20.18.2.tar.xz + # Locally calculated -sha256 7b0bbdca72f925bd78b764914651244a4432a753c7325d061a565cd7eac1193d LICENSE +sha256 4f0e8660d7fe2f8f7759a54c53907300c555992b580e846b30b75121c53ad180 LICENSE diff --git a/package/nodejs/nodejs.mk b/package/nodejs/nodejs.mk index 858c6a86f..2bdebcd85 100644 --- a/package/nodejs/nodejs.mk +++ b/package/nodejs/nodejs.mk @@ -5,7 +5,7 @@ ################################################################################ # _VERSION, _SOURCE and _SITE must be kept empty to avoid downloading anything -NODEJS_COMMON_VERSION = 20.11.1 +NODEJS_COMMON_VERSION = 20.18.2 NODEJS_COMMON_SOURCE = node-v$(NODEJS_COMMON_VERSION).tar.xz NODEJS_COMMON_SITE = http://nodejs.org/dist/v$(NODEJS_COMMON_VERSION) diff --git a/package/ntp/0001-nano.patch b/package/ntp/0001-nano.patch deleted file mode 100644 index bce347826..000000000 --- a/package/ntp/0001-nano.patch +++ /dev/null @@ -1,28 +0,0 @@ -Fixes issues with glibc header files, see -http://bugs.gentoo.org/show_bug.cgi?id=270483 - -Signed-off-by: Gustavo Zacarias - -Rebase to apply cleanly. - -Signed-off-by: Danomi Manchego - - -diff -purN a/include/ntp_syscall.h b/include/ntp_syscall.h ---- a/include/ntp_syscall.h 2015-02-11 08:42:37.794576469 -0500 -+++ b/include/ntp_syscall.h 2015-02-11 08:43:03.216957279 -0500 -@@ -10,6 +10,14 @@ - # include - #endif - -+#if defined(ADJ_NANO) && !defined(MOD_NANO) -+#define MOD_NANO ADJ_NANO -+#endif -+ -+#if defined(ADJ_TAI) && !defined(MOD_TAI) -+#define MOD_TAI ADJ_TAI -+#endif -+ - #ifndef NTP_SYSCALLS_LIBC - # ifdef NTP_SYSCALLS_STD - # define ntp_adjtime(t) syscall(SYS_ntp_adjtime, (t)) diff --git a/package/ntp/0002-ntp-syscalls-fallback.patch b/package/ntp/0001-ntp-syscalls-fallback.patch similarity index 75% rename from package/ntp/0002-ntp-syscalls-fallback.patch rename to package/ntp/0001-ntp-syscalls-fallback.patch index 535fc93df..46704b9d3 100644 --- a/package/ntp/0002-ntp-syscalls-fallback.patch +++ b/package/ntp/0001-ntp-syscalls-fallback.patch @@ -8,10 +8,11 @@ Signed-off-by: James Knight configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/configure.ac b/configure.ac ---- a/configure.ac -+++ b/configure.ac -@@ -1523,11 +1523,11 @@ AC_CACHE_CHECK( +Index: ntp-4.2.8p17/configure.ac +=================================================================== +--- ntp-4.2.8p17.orig/configure.ac ++++ ntp-4.2.8p17/configure.ac +@@ -1472,11 +1472,11 @@ AC_CACHE_CHECK( [ntp_cv_var_ntp_syscalls], [ ntp_cv_var_ntp_syscalls=no diff --git a/package/ntp/0002-fix-pthread-detach-check.patch b/package/ntp/0002-fix-pthread-detach-check.patch new file mode 100644 index 000000000..894b422f2 --- /dev/null +++ b/package/ntp/0002-fix-pthread-detach-check.patch @@ -0,0 +1,26 @@ +fix pthread_detach check + +Upstream: https://bugs.ntp.org/show_bug.cgi?id=3926 + +Signed-off-by: Yegor Yefremov +--- + sntp/m4/openldap-thread-check.m4 | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +Index: ntp-4.2.8p17/sntp/m4/openldap-thread-check.m4 +=================================================================== +--- ntp-4.2.8p17.orig/sntp/m4/openldap-thread-check.m4 ++++ ntp-4.2.8p17/sntp/m4/openldap-thread-check.m4 +@@ -262,10 +262,8 @@ pthread_rwlock_t rwlock; + dnl save the flags + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + #include +-#ifndef NULL +-#define NULL (void*)0 +-#endif +-]], [[pthread_detach(NULL);]])],[ol_cv_func_pthread_detach=yes],[ol_cv_func_pthread_detach=no]) ++pthread_t thread; ++]], [[pthread_detach(thread);]])],[ol_cv_func_pthread_detach=yes],[ol_cv_func_pthread_detach=no]) + ]) + + if test $ol_cv_func_pthread_detach = no ; then diff --git a/package/ntp/0003-fix-md5update.patch b/package/ntp/0003-fix-md5update.patch new file mode 100644 index 000000000..62bfef0fb --- /dev/null +++ b/package/ntp/0003-fix-md5update.patch @@ -0,0 +1,209 @@ +Fix build with -Wincompatible-pointer-types -Werror + +Upstream: https://people.nwtime.org/hart/ntp-stable-3928-29.tar.gz + +Ported fix from updated tarball provided by upstream: +https://bugs.ntp.org/show_bug.cgi?id=3929#c9 + +Signed-off-by: Bernd Kuhls + +diff -uNr ntp-4.2.8p18.orig/include/ntp_md5.h ntp-4.2.8p18/include/ntp_md5.h +--- ntp-4.2.8p18.orig/include/ntp_md5.h 2024-05-07 13:21:16.000000000 +0200 ++++ ntp-4.2.8p18/include/ntp_md5.h 2024-07-24 01:26:46.000000000 +0200 +@@ -1,56 +1,73 @@ + /* + * ntp_md5.h: deal with md5.h headers + * +- * Use the system MD5 if available, otherwise libisc's. ++ * Use the system MD5 if available, otherwise use libisc's. ++ * Yes, MD5 has been deprecated. Nevertheless, ntpd IPv6 refid ++ * calculation uses MD5 to derive a 32-bit refid from a 128-bit ++ * IPv6 address. This use is retained to avoid breaking loop ++ * detection that would be triggered by such change, and because ++ * we are not depending on cryptographic strength for such use. + */ + #ifndef NTP_MD5_H + #define NTP_MD5_H + + /* Use the system MD5 or fall back on libisc's */ +-# if defined HAVE_MD5_H && defined HAVE_MD5INIT +-# include +-# else +-# include "isc/md5.h" +- typedef isc_md5_t MD5_CTX; +-# define MD5_DIGEST_LENGTH ISC_MD5_DIGESTLENGTH +-# define MD5Init(c) isc_md5_init(c) +-# define MD5Update(c, p, s) isc_md5_update(c, (const void *)p, s) +-# define MD5Final(d, c) isc_md5_final((c), (d)) /* swapped */ +-# endif +- +-# define KEY_TYPE_MD5 NID_md5 ++#if defined HAVE_MD5_H && defined HAVE_MD5INIT ++# include ++# define ntp_md5_init(c) MD5Init(c) ++# define ntp_md5_update(c, p, s) MD5Update(c, (const void *)(p), s) ++# define ntp_md5_final(d, c) MD5Final(d, c) ++#else ++# include "isc/md5.h" ++typedef isc_md5_t MD5_CTX; ++# define MD5_DIGEST_LENGTH ISC_MD5_DIGESTLENGTH ++# define ntp_md5_init(c) isc_md5_init(c) ++# define ntp_md5_update(c, p, s) isc_md5_update(c, (const void *)(p), s) ++# define ntp_md5_final(d, c) isc_md5_final((c), (d)) /* swapped */ ++#endif + + #ifdef OPENSSL + # include + # include "libssl_compat.h" + # ifdef HAVE_OPENSSL_CMAC_H + # include +-# define CMAC "AES128CMAC" +-# define AES_128_KEY_SIZE 16 +-# endif /*HAVE_OPENSSL_CMAC_H*/ ++# define CMAC "AES128CMAC" ++# define AES_128_KEY_SIZE 16 ++# endif + #else /* !OPENSSL follows */ + /* +- * Provide OpenSSL-alike MD5 API if we're not using OpenSSL ++ * Provide OpenSSL-alike MD5 API if we're not using OpenSSL. Most of this ++ * is used only by sntp when building it --without-crypto. + */ + +- typedef MD5_CTX EVP_MD_CTX; ++typedef MD5_CTX EVP_MD_CTX; + + # define NID_md5 4 /* from openssl/objects.h */ + # define EVP_MAX_MD_SIZE MD5_DIGEST_LENGTH ++ ++/* ++ * The following is used only by sntp configured --without-crypto as ntpd ++ * now uses explicit MD5 functions for MD5 uses which remain even where MD5 ++ * is unavailable in OpenSSL, such as FIPS OpenSSL. Note that FIPS may be ++ * available in the build environment but not at runtime, as is the case ++ * with packaged NTP binaries. ++ * The remaining uses of MD5 are IPv6 refids and mode 6 nonces. ntpd does ++ * go through OpenSSL when using MD5 for symmetric authentication. ++ */ + # define EVP_MD_CTX_free(c) free(c) + # define EVP_MD_CTX_new() calloc(1, sizeof(MD5_CTX)) + # define EVP_get_digestbynid(t) NULL + # define EVP_md5() NULL + # define EVP_MD_CTX_init(c) + # define EVP_MD_CTX_set_flags(c, f) +-# define EVP_DigestInit(c, dt) (MD5Init(c), 1) +-# define EVP_DigestInit_ex(c, dt, i) (MD5Init(c), 1) +-# define EVP_DigestUpdate(c, p, s) MD5Update(c, (const void *)(p), \ +- s) +-# define EVP_DigestFinal(c, d, pdl) \ +- do { \ +- MD5Final((d), (c)); \ +- *(pdl) = MD5_LENGTH; \ +- } while (0) +-# endif /* !OPENSSL */ ++# define EVP_DigestInit(c, dt) (ntp_md5_init(c), 1) ++# define EVP_DigestUpdate(c, p, s) ntp_md5_update(c, p, s) ++# define EVP_DigestFinal(c, d, pdl) \ ++ do { \ ++ ntp_md5_final((d), (c)); \ ++ *(pdl) = MD5_LENGTH; \ ++ } while (FALSE) ++ ++#endif /* OPENSSL */ ++ + #endif /* NTP_MD5_H */ +diff -uNr ntp-4.2.8p18.orig/libntp/a_md5encrypt.c ntp-4.2.8p18/libntp/a_md5encrypt.c +--- ntp-4.2.8p18.orig/libntp/a_md5encrypt.c 2024-05-07 13:21:31.000000000 +0200 ++++ ntp-4.2.8p18/libntp/a_md5encrypt.c 2024-07-24 01:26:46.000000000 +0200 +@@ -56,7 +56,7 @@ + static MD5_CTX md5_ctx; + + DEBUG_INSIST(NID_md5 == nid); +- MD5Init(&md5_ctx); ++ ntp_md5_init(&md5_ctx); + + return &md5_ctx; + #else +@@ -171,10 +171,10 @@ + if (digest->len < MD5_LENGTH) { + msyslog(LOG_ERR, "%s", "MAC encrypt: MAC md5 buf too small."); + } else { +- MD5Init(ctx); +- MD5Update(ctx, (const void *)key->buf, key->len); +- MD5Update(ctx, (const void *)msg->buf, msg->len); +- MD5Final(digest->buf, ctx); ++ ntp_md5_init(ctx); ++ ntp_md5_update(ctx, key->buf, key->len); ++ ntp_md5_update(ctx, msg->buf, msg->len); ++ ntp_md5_final(digest->buf, ctx); + retlen = MD5_LENGTH; + } + } else { +@@ -279,9 +279,9 @@ + return (NSRCADR(addr)); + } + /* MD5 is not used for authentication here. */ +- MD5Init(&md5_ctx); +- MD5Update(&md5_ctx, (void *)&SOCK_ADDR6(addr), sizeof(SOCK_ADDR6(addr))); +- MD5Final(u.digest, &md5_ctx); ++ ntp_md5_init(&md5_ctx); ++ ntp_md5_update(&md5_ctx, &SOCK_ADDR6(addr), sizeof(SOCK_ADDR6(addr))); ++ ntp_md5_final(u.digest, &md5_ctx); + #ifdef WORDS_BIGENDIAN + u.addr_refid = BYTESWAP32(u.addr_refid); + #endif +diff -uNr ntp-4.2.8p18.orig/libntp/authreadkeys.c ntp-4.2.8p18/libntp/authreadkeys.c +--- ntp-4.2.8p18.orig/libntp/authreadkeys.c 2024-05-07 13:21:20.000000000 +0200 ++++ ntp-4.2.8p18/libntp/authreadkeys.c 2024-07-24 01:26:46.000000000 +0200 +@@ -240,7 +240,7 @@ + keyno); + keytype = 0; + } else { +- keytype = KEY_TYPE_MD5; ++ keytype = NID_md5; + } + #endif /* !OPENSSL */ + +diff -uNr ntp-4.2.8p18.orig/ntpd/ntp_control.c ntp-4.2.8p18/ntpd/ntp_control.c +--- ntp-4.2.8p18.orig/ntpd/ntp_control.c 2024-05-07 13:21:15.000000000 +0200 ++++ ntp-4.2.8p18/ntpd/ntp_control.c 2024-07-24 01:26:46.000000000 +0200 +@@ -3663,18 +3663,18 @@ + last_salt_update = current_time; + } + +- MD5Init(&ctx); +- MD5Update(&ctx, salt, sizeof(salt)); +- MD5Update(&ctx, &ts_i, sizeof(ts_i)); +- MD5Update(&ctx, &ts_f, sizeof(ts_f)); ++ ntp_md5_init(&ctx); ++ ntp_md5_update(&ctx, salt, sizeof(salt)); ++ ntp_md5_update(&ctx, &ts_i, sizeof(ts_i)); ++ ntp_md5_update(&ctx, &ts_f, sizeof(ts_f)); + if (IS_IPV4(addr)) { +- MD5Update(&ctx, &SOCK_ADDR4(addr), sizeof(SOCK_ADDR4(addr))); ++ ntp_md5_update(&ctx, &SOCK_ADDR4(addr), sizeof(SOCK_ADDR4(addr))); + } else { +- MD5Update(&ctx, &SOCK_ADDR6(addr), sizeof(SOCK_ADDR6(addr))); ++ ntp_md5_update(&ctx, &SOCK_ADDR6(addr), sizeof(SOCK_ADDR6(addr))); + } +- MD5Update(&ctx, &NSRCPORT(addr), sizeof(NSRCPORT(addr))); +- MD5Update(&ctx, salt, sizeof(salt)); +- MD5Final(d.digest, &ctx); ++ ntp_md5_update(&ctx, &NSRCPORT(addr), sizeof(NSRCPORT(addr))); ++ ntp_md5_update(&ctx, salt, sizeof(salt)); ++ ntp_md5_final(d.digest, &ctx); + + return d.extract; + } +diff -uNr ntp-4.2.8p18.orig/ntpd/ntp_crypto.c ntp-4.2.8p18/ntpd/ntp_crypto.c +--- ntp-4.2.8p18.orig/ntpd/ntp_crypto.c 2024-05-07 13:21:32.000000000 +0200 ++++ ntp-4.2.8p18/ntpd/ntp_crypto.c 2024-07-24 01:26:46.000000000 +0200 +@@ -150,7 +150,7 @@ + * Global cryptodata in host byte order + */ + u_int32 crypto_flags = 0x0; /* status word */ +-int crypto_nid = KEY_TYPE_MD5; /* digest nid */ ++int crypto_nid = NID_md5; /* digest nid */ + char *sys_hostname = NULL; + char *sys_groupname = NULL; + static char *host_filename = NULL; /* host file name */ diff --git a/package/ntp/0004-Fix-crash-when-binding-IPv6-address.patch b/package/ntp/0004-Fix-crash-when-binding-IPv6-address.patch new file mode 100644 index 000000000..b4e7378a3 --- /dev/null +++ b/package/ntp/0004-Fix-crash-when-binding-IPv6-address.patch @@ -0,0 +1,38 @@ +Fix crash when binding IPv6 address + +Reference: + https://bugs.ntp.org/show_bug.cgi?id=3928 + +Upstream: https://people.nwtime.org/hart/ntp-stable-3928-29.tar.gz + +Ported fix from updated tarball provided by upstream: +https://bugs.ntp.org/show_bug.cgi?id=3928#c14 + +Signed-off-by: TIAN Yuanhao +--- + ntpd/ntp_io.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +Index: ntp-4.2.8p18/ntpd/ntp_io.c +=================================================================== +--- ntp-4.2.8p18.orig/ntpd/ntp_io.c ++++ ntp-4.2.8p18/ntpd/ntp_io.c +@@ -1917,15 +1917,15 @@ update_interfaces( + } + new_interface_found = TRUE; + DPRINT_INTERFACE(3, +- (ep, "updating ", " new - created\n")); ++ (ep2, "updating ", " new - created\n")); + } + else { + DPRINT_INTERFACE(3, +- (ep, "updating ", " new - FAILED")); ++ (ep2, "updating ", " new - FAILED")); + + msyslog(LOG_ERR, + "cannot bind address %s", +- stoa(&ep->sin)); ++ stoa(&ep2->sin)); + } + free(ep2); + } diff --git a/package/ntp/ntp.hash b/package/ntp/ntp.hash index 96e21bf2d..44f3486d7 100644 --- a/package/ntp/ntp.hash +++ b/package/ntp/ntp.hash @@ -1,4 +1,4 @@ -# From https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2.8p17.tar.gz.sha256 -sha256 103dd272e6a66c5b8df07dce5e9a02555fcd6f1397bdfb782237328e89d3a866 ntp-4.2.8p17.tar.gz +# From https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2.8p18.tar.gz.sha256 +sha256 cf84c5f3fb1a295284942624d823fffa634144e096cfc4f9969ac98ef5f468e5 ntp-4.2.8p18.tar.gz # Locally computed -sha256 06246b8c15ccc1a1873c78525c810f0802e68f383e79ee041e06d1ab9cbf80a4 COPYRIGHT +sha256 45b6e5a0a5f0ac4afdd9e23caa2241779e4da463e4dba32a41b4dbd61577b2a3 COPYRIGHT diff --git a/package/ntp/ntp.mk b/package/ntp/ntp.mk index e64f6308e..1a7c7e793 100644 --- a/package/ntp/ntp.mk +++ b/package/ntp/ntp.mk @@ -6,7 +6,7 @@ NTP_VERSION_MAJOR = 4.2 NTP_VERSION_MINOR = 8 -NTP_VERSION_POINT = 17 +NTP_VERSION_POINT = 18 NTP_VERSION = $(NTP_VERSION_MAJOR).$(NTP_VERSION_MINOR)p$(NTP_VERSION_POINT) NTP_SITE = https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-$(NTP_VERSION_MAJOR) NTP_DEPENDENCIES = host-pkgconf libevent diff --git a/package/ntpsec/0003-disable-PIE-support.patch b/package/ntpsec/0003-disable-PIE-support.patch new file mode 100644 index 000000000..64eb559de --- /dev/null +++ b/package/ntpsec/0003-disable-PIE-support.patch @@ -0,0 +1,26 @@ +From 712675fbd2a736df817fecd7bfb39055946ef85b Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Sun, 13 Aug 2023 13:48:03 +0200 +Subject: [PATCH] disable PIE support + +Signed-off-by: Waldemar Brodkorb +Upstream: N/A Not upstreamable +--- + wscript | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/wscript b/wscript +index 292e3a45b..105c7eac2 100644 +--- a/wscript ++++ b/wscript +@@ -299,7 +299,6 @@ def configure(ctx): + + cc_test_flags = [ + ('PIC', '-fPIC'), +- ('PIE', '-pie -fPIE'), + # this quiets most of macOS warnings on -fpie + ('unused', '-Qunused-arguments'), + # This is a useless warning on any architecture with a barrel +-- +2.39.2 + diff --git a/package/ntpsec/ntpsec.mk b/package/ntpsec/ntpsec.mk index 661af7884..3acf7745c 100644 --- a/package/ntpsec/ntpsec.mk +++ b/package/ntpsec/ntpsec.mk @@ -42,6 +42,7 @@ NTPSEC_DEPENDENCIES = \ # --cross-compiler NTPSEC_CONF_OPTS = \ CC="$(HOSTCC)" \ + CFLAGS="$(HOST_CFLAGS)" \ PYTHON_CONFIG="$(STAGING_DIR)/usr/bin/python3-config" \ --libdir=/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/ntp \ --cross-compiler="$(TARGET_CC)" \ diff --git a/package/nvidia-driver/0001-use-LDFLAGS.patch b/package/nvidia-driver/0001-use-LDFLAGS.patch index 7b7df8098..2b7f6dd26 100644 --- a/package/nvidia-driver/0001-use-LDFLAGS.patch +++ b/package/nvidia-driver/0001-use-LDFLAGS.patch @@ -5,7 +5,7 @@ the default emulation is correct for the current architecture. However, that might not be the case when the toolchain default is not the same as the current arch. For example, if the toolchain defaults to -i386 and is capable of x86_64, and we're targetting x86_64 (or the +i386 and is capable of x86_64, and we're targeting x86_64 (or the opposite), the link would fail because the ld emulation is incorrect: .../i686-pc-linux-gnu-ld: Relocatable linking with relocations from diff --git a/package/oatpp/oatpp.mk b/package/oatpp/oatpp.mk index c8b0c9694..d3f6e1a9c 100644 --- a/package/oatpp/oatpp.mk +++ b/package/oatpp/oatpp.mk @@ -8,7 +8,7 @@ OATPP_VERSION = 1.3.0 OATPP_SITE = $(call github,oatpp,oatpp,$(OATPP_VERSION)) OATPP_LICENSE = Apache-2.0 OATPP_LICENSE_FILES = LICENSE -OATPP_CONF_OPTS = -DBUILD_SHARED_LIBS=OFF +OATPP_CONF_OPTS = -DBUILD_SHARED_LIBS=OFF -DOATPP_BUILD_TESTS=OFF OATPP_INSTALL_STAGING = YES # Only builds a static lib and headers OATPP_INSTALL_TARGET = NO diff --git a/package/octave/octave.mk b/package/octave/octave.mk index f240a5057..67d0e9c0a 100644 --- a/package/octave/octave.mk +++ b/package/octave/octave.mk @@ -5,7 +5,7 @@ ################################################################################ OCTAVE_VERSION = 8.4.0 -OCTAVE_SITE = https://ftp.gnu.org/gnu/octave +OCTAVE_SITE = $(BR2_GNU_MIRROR)/octave OCTAVE_SOURCE = octave-$(OCTAVE_VERSION).tar.lz OCTAVE_LICENSE = GPL-3.0+ OCTAVE_LICENSE_FILES = COPYING @@ -19,6 +19,44 @@ OCTAVE_DEPENDENCIES = \ openblas \ pcre2 +ifeq ($(BR2_PACKAGE_BZIP2),y) +OCTAVE_CONF_OPTS += --with-bz2 +OCTAVE_DEPENDENCIES += bzip2 +else +OCTAVE_CONF_OPTS += --without-bz2 +endif + +ifeq ($(BR2_PACKAGE_GRAPHICSMAGICK),y) +OCTAVE_CONF_OPTS += --with-magick=GraphicsMagick++ +OCTAVE_DEPENDENCIES += graphicsmagick +else ifeq ($(BR2_PACKAGE_IMAGEMAGICK),y) +OCTAVE_CONF_OPTS += --with-magick=ImageMagick++ +OCTAVE_DEPENDENCIES += imagemagick +else +OCTAVE_CONF_OPTS += --without-magick +endif + +ifeq ($(BR2_PACKAGE_LIBCURL),y) +OCTAVE_CONF_OPTS += --with-curl +OCTAVE_DEPENDENCIES += libcurl +else +OCTAVE_CONF_OPTS += --without-curl +endif + +ifeq ($(BR2_PACKAGE_LIBSNDFILE),y) +OCTAVE_CONF_OPTS += --with-sndfile +OCTAVE_DEPENDENCIES += libsndfile +else +OCTAVE_CONF_OPTS += --without-sndfile +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +OCTAVE_CONF_OPTS += --with-openssl=yes +OCTAVE_DEPENDENCIES += openssl +else +OCTAVE_CONF_OPTS += --without-openssl +endif + ifeq ($(BR2_PACKAGE_READLINE),y) OCTAVE_CONF_OPTS += \ --enable-readline \ @@ -28,4 +66,11 @@ else OCTAVE_CONF_OPTS += --disable-readline endif +ifeq ($(BR2_PACKAGE_ZLIB),y) +OCTAVE_CONF_OPTS += --with-z +OCTAVE_DEPENDENCIES += zlib +else +OCTAVE_CONF_OPTS += --without-z +endif + $(eval $(autotools-package)) diff --git a/package/onevpl-intel-gpu/onevpl-intel-gpu.hash b/package/onevpl-intel-gpu/onevpl-intel-gpu.hash index a45758a2c..680ada76e 100644 --- a/package/onevpl-intel-gpu/onevpl-intel-gpu.hash +++ b/package/onevpl-intel-gpu/onevpl-intel-gpu.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 15d34e4304d7aeb5ea5e529b6f51171109cef42525113321f675bc14e56c697e onevpl-intel-gpu-24.1.3.tar.gz +sha256 e006d59399dbd0c3b3ecd91610822d655e9303b25a385a9a3ac94a42bf34b284 onevpl-intel-gpu-24.1.5.tar.gz sha256 c31c3cc5fd66d1250dbca1c3d9011a9f874537442ac71c8de80f2f0fed13f297 LICENSE diff --git a/package/onevpl-intel-gpu/onevpl-intel-gpu.mk b/package/onevpl-intel-gpu/onevpl-intel-gpu.mk index 509698ce2..440d73efa 100644 --- a/package/onevpl-intel-gpu/onevpl-intel-gpu.mk +++ b/package/onevpl-intel-gpu/onevpl-intel-gpu.mk @@ -4,7 +4,7 @@ # ################################################################################ -ONEVPL_INTEL_GPU_VERSION = 24.1.3 +ONEVPL_INTEL_GPU_VERSION = 24.1.5 ONEVPL_INTEL_GPU_SITE = $(call github,oneapi-src,oneVPL-intel-gpu,intel-onevpl-$(ONEVPL_INTEL_GPU_VERSION)) ONEVPL_INTEL_GPU_LICENSE = MIT ONEVPL_INTEL_GPU_LICENSE_FILES = LICENSE diff --git a/package/open-iscsi/Config.in b/package/open-iscsi/Config.in index e55bbfd86..01d83615c 100644 --- a/package/open-iscsi/Config.in +++ b/package/open-iscsi/Config.in @@ -5,7 +5,6 @@ config BR2_PACKAGE_OPEN_ISCSI depends on !BR2_STATIC_LIBS # kmod select BR2_PACKAGE_KMOD select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_OPEN_ISNS select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT help diff --git a/package/open-iscsi/open-iscsi.mk b/package/open-iscsi/open-iscsi.mk index d1f40d3e2..1266db3d3 100644 --- a/package/open-iscsi/open-iscsi.mk +++ b/package/open-iscsi/open-iscsi.mk @@ -9,10 +9,17 @@ OPEN_ISCSI_SITE = $(call github,open-iscsi,open-iscsi,$(OPEN_ISCSI_VERSION)) OPEN_ISCSI_LICENSE = GPL-2.0+, GPL-3.0+, LGPL-3.0+ OPEN_ISCSI_LICENSE_FILES = COPYING README libopeniscsiusr/COPYING OPEN_ISCSI_CPE_ID_VALID = YES -OPEN_ISCSI_DEPENDENCIES = kmod open-isns openssl util-linux +OPEN_ISCSI_DEPENDENCIES = kmod openssl util-linux OPEN_ISCSI_CONF_OPTS = -Ddbroot=/var/lib/iscsi +ifeq ($(BR2_PACKAGE_OPEN_ISNS),y) +OPEN_ISCSI_DEPENDENCIES += open-isns +OPEN_ISCSI_CONF_OPTS += -Disns=enabled +else +OPEN_ISCSI_CONF_OPTS += -Disns=disabled +endif + ifeq ($(BR2_PACKAGE_SYSTEMD),y) OPEN_ISCSI_DEPENDENCIES += systemd OPEN_ISCSI_CONF_OPTS += -Dno_systemd=false diff --git a/package/open2300/open2300.hash b/package/open2300/open2300.hash index f8b115069..94be6a47e 100644 --- a/package/open2300/open2300.hash +++ b/package/open2300/open2300.hash @@ -1,4 +1,4 @@ -# Localy computed +# Locally computed sha256 ffa7f8d35b16abfbf5e52285cb21f2a7fc6afb901abb40c0c80eef9d23d08aab open2300-f21982e0b1f8321561e5ad1668307fde97700e1b.tar.gz sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/package/open62541/Config.in b/package/open62541/Config.in index 296be1578..a5c07d504 100644 --- a/package/open62541/Config.in +++ b/package/open62541/Config.in @@ -88,7 +88,7 @@ config BR2_PACKAGE_OPEN62541_PUBSUB_DELTAFRAMES The PubSub messages differentiate between keyframe (all published values contained) and deltaframe (only changed values contained) messages. Deltaframe messages creation - consumes some additional ressources. + consumes some additional resources. config BR2_PACKAGE_OPEN62541_PUBSUB_INFORMATIONMODEL bool "publish/subscribe information model" diff --git a/package/openblas/Config.in b/package/openblas/Config.in index 74c4a3aa5..7d4727003 100644 --- a/package/openblas/Config.in +++ b/package/openblas/Config.in @@ -26,11 +26,7 @@ config BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET default "PPC970" if BR2_powerpc_970 default "PPC440" if BR2_powerpc_440 default "PPC440FP2" if BR2_powerpc_440fp - # P5600 is built with MSA support which is only available in Codescape toolchains - default "P5600" if BR2_mips_p5600 && BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS default "MIPS64_GENERIC" if BR2_MIPS_CPU_MIPS64 - # I6400 is built with MSA support which is only available in Codescape toolchains - default "I6400" if BR2_mips_i6400 && BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS # OpenBLAS assumes SPARC=Sparc v9 default "SPARC" if BR2_sparc_v9 # Cortex-A15 always have a VFPv4 diff --git a/package/openjdk/Config.in b/package/openjdk/Config.in index 25d6960ec..78775370c 100644 --- a/package/openjdk/Config.in +++ b/package/openjdk/Config.in @@ -148,7 +148,7 @@ config BR2_PACKAGE_OPENJDK_JVM_VARIANT_ZERO select BR2_PACKAGE_LIBFFI help A non-assembler variant with wide arch support, however - performance is less then client/server. + performance is less than client/server. http://openjdk.java.net/projects/zero diff --git a/package/openjpeg/openjpeg.hash b/package/openjpeg/openjpeg.hash index cfa0e01b7..1992d5ca6 100644 --- a/package/openjpeg/openjpeg.hash +++ b/package/openjpeg/openjpeg.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 0333806d6adecc6f7a91243b2b839ff4d2053823634d4f6ed7a59bc87409122a openjpeg-2.5.0.tar.gz +sha256 368fe0468228e767433c9ebdea82ad9d801a3ad1e4234421f352c8b06e7aa707 openjpeg-2.5.3.tar.gz sha256 a6af136f3e15038a666b61f376612a07d9a4e48cb7c01adbf3e33b3f14ab49b6 LICENSE diff --git a/package/openjpeg/openjpeg.mk b/package/openjpeg/openjpeg.mk index 5b03a6cf5..275659cd3 100644 --- a/package/openjpeg/openjpeg.mk +++ b/package/openjpeg/openjpeg.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENJPEG_VERSION = 2.5.0 +OPENJPEG_VERSION = 2.5.3 OPENJPEG_SITE = $(call github,uclouvain,openjpeg,v$(OPENJPEG_VERSION)) OPENJPEG_LICENSE = BSD-2-Clause OPENJPEG_LICENSE_FILES = LICENSE diff --git a/package/openldap/openldap.hash b/package/openldap/openldap.hash index 1383c6aef..32bd83f34 100644 --- a/package/openldap/openldap.hash +++ b/package/openldap/openldap.hash @@ -1,5 +1,5 @@ # Verified by locally checking against the SHA3-512 hash available in -# https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.5.16.sha3-512 +# https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.5.18.sha3-512 # Locally computed -sha256 546ba591822e8bb0e467d40c4d4a30f89d937c3a507fe83a578f582f6a211327 openldap-2.5.16.tgz +sha256 2670ae43d8d99dd6b1ba182101d982350d613d09c098eb1607ea6b36e6b51d3e openldap-2.5.18.tgz sha256 310fe25c858a9515fc8c8d7d1f24a67c9496f84a91e0a0e41ea9975b1371e569 LICENSE diff --git a/package/openldap/openldap.mk b/package/openldap/openldap.mk index 9cebff99d..68cfb89c4 100644 --- a/package/openldap/openldap.mk +++ b/package/openldap/openldap.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENLDAP_VERSION = 2.5.16 +OPENLDAP_VERSION = 2.5.18 OPENLDAP_SOURCE = openldap-$(OPENLDAP_VERSION).tgz OPENLDAP_SITE = https://www.openldap.org/software/download/OpenLDAP/openldap-release OPENLDAP_LICENSE = OpenLDAP Public License diff --git a/package/openocd/openocd.mk b/package/openocd/openocd.mk index 78c6e10c5..b24d1eacf 100644 --- a/package/openocd/openocd.mk +++ b/package/openocd/openocd.mk @@ -56,8 +56,14 @@ OPENOCD_DEPENDENCIES = \ $(if $(BR2_PACKAGE_LIBUSB),libusb) \ $(if $(BR2_PACKAGE_LIBUSB_COMPAT),libusb-compat) \ $(if $(BR2_PACKAGE_LIBHID),libhid) \ - $(if $(BR2_PACKAGE_HIDAPI),hidapi) \ - $(if $(BR2_PACKAGE_LIBGPIOD),libgpiod) + $(if $(BR2_PACKAGE_HIDAPI),hidapi) + +ifeq ($(BR2_PACKAGE_LIBGPIOD),y) +OPENOCD_DEPENDENCIES += libgpiod +OPENOCD_CONF_OPTS += --enable-linuxgpiod +else +OPENOCD_CONF_OPTS += --disable-linuxgpiod +endif # Adapters OPENOCD_CONF_OPTS += \ diff --git a/package/opensc/0001-pkcs11-tool-disable-wrap-unwrap-test-until-OpenSC-17.patch b/package/opensc/0001-pkcs11-tool-disable-wrap-unwrap-test-until-OpenSC-17.patch new file mode 100644 index 000000000..9bf601370 --- /dev/null +++ b/package/opensc/0001-pkcs11-tool-disable-wrap-unwrap-test-until-OpenSC-17.patch @@ -0,0 +1,41 @@ +From 768c9bfcd91206f0d85cd4757fde48e00850a014 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Mon, 6 Jan 2025 22:36:10 +0100 +Subject: [PATCH] pkcs11-tool: disable wrap/unwrap test until OpenSC#1796 is + resolved + +Similar to ab74fae4d71d1705b77b9459141987a95dcfc91e ("pkcs11-tool: +disable wrap/unwrap test until OpenSC#1796 is resolved"), but for +0.26, since OpenSC#1796 is still open. + +Signed-off-by: Thomas Petazzoni +Upstream: https://github.com/OpenSC/OpenSC/pull/3303 +--- + src/tools/pkcs11-tool.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/tools/pkcs11-tool.c b/src/tools/pkcs11-tool.c +index d701d76d6..871a39977 100644 +--- a/src/tools/pkcs11-tool.c ++++ b/src/tools/pkcs11-tool.c +@@ -7681,7 +7681,7 @@ static int test_verify(CK_SESSION_HANDLE sess) + return errors; + } + +-#if OPENSC_VERSION_MAJOR == 0 && OPENSC_VERSION_MINOR <= 25 ++#if OPENSC_VERSION_MAJOR == 0 && OPENSC_VERSION_MINOR <= 26 + #else + #ifdef ENABLE_OPENSSL + static int wrap_unwrap(CK_SESSION_HANDLE session, +@@ -7805,7 +7805,7 @@ static int wrap_unwrap(CK_SESSION_HANDLE session, + */ + static int test_unwrap(CK_SESSION_HANDLE sess) + { +-#if OPENSC_VERSION_MAJOR == 0 && OPENSC_VERSION_MINOR <= 25 ++#if OPENSC_VERSION_MAJOR == 0 && OPENSC_VERSION_MINOR <= 26 + /* temporarily disable test, see https://github.com/OpenSC/OpenSC/issues/1796 */ + return 0; + #else +-- +2.47.1 + diff --git a/package/opensc/Config.in b/package/opensc/Config.in index 8c6a95a41..13b085f38 100644 --- a/package/opensc/Config.in +++ b/package/opensc/Config.in @@ -5,7 +5,6 @@ config BR2_PACKAGE_OPENSC depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pcsc-lite select BR2_PACKAGE_PCSC_LITE - select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL select BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160 if BR2_PACKAGE_LIBOPENSSL help diff --git a/package/opensc/opensc.hash b/package/opensc/opensc.hash index 232222062..e12d2d4bf 100644 --- a/package/opensc/opensc.hash +++ b/package/opensc/opensc.hash @@ -1,5 +1,5 @@ # Computed locally from https://https://github.com/OpenSC/OpenSC/releases/ -sha256 24d03c69287291da32a30c4c38a304ad827f56cb85d83619e1f5403ab6480ef8 opensc-0.24.0.tar.gz +sha256 837baead45e1505260d868871056150ede6e73d35460a470f2595a9e5e75f82b opensc-0.26.0.tar.gz # Computed locally sha256 376b54d4c5f4aa99421823fa4da93e3ab73096fce2400e89858632aa7da24a14 COPYING diff --git a/package/opensc/opensc.mk b/package/opensc/opensc.mk index aa82bd18d..11d1507d4 100644 --- a/package/opensc/opensc.mk +++ b/package/opensc/opensc.mk @@ -4,13 +4,27 @@ # ################################################################################ -OPENSC_VERSION = 0.24.0 +OPENSC_VERSION = 0.26.0 OPENSC_SITE = https://github.com/OpenSC/OpenSC/releases/download/$(OPENSC_VERSION) OPENSC_LICENSE = LGPL-2.1+ OPENSC_LICENSE_FILES = COPYING OPENSC_CPE_ID_VALID = YES -OPENSC_DEPENDENCIES = openssl pcsc-lite +OPENSC_DEPENDENCIES = pcsc-lite OPENSC_INSTALL_STAGING = YES OPENSC_CONF_OPTS = --disable-cmocka --disable-strict --disable-tests +ifeq ($(BR2_PACKAGE_OPENSSL),y) +OPENSC_DEPENDENCIES += openssl +OPENSC_CONF_OPTS += --enable-openssl +else +OPENSC_CONF_OPTS += --disable-openssl +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +OPENSC_DEPENDENCIES += zlib +OPENSC_CONF_OPTS += --enable-zlib +else +OPENSC_CONF_OPTS += --disable-zlib +endif + $(eval $(autotools-package)) diff --git a/package/openssh/0001-better-detection-of-broken-fzero-call-used-regs.patch b/package/openssh/0001-better-detection-of-broken-fzero-call-used-regs.patch deleted file mode 100644 index 5c056033a..000000000 --- a/package/openssh/0001-better-detection-of-broken-fzero-call-used-regs.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 1036d77b34a5fa15e56f516b81b9928006848cbd Mon Sep 17 00:00:00 2001 -From: Damien Miller -Date: Fri, 22 Dec 2023 17:56:26 +1100 -Subject: [PATCH] better detection of broken -fzero-call-used-regs -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -gcc 13.2.0 on ppc64le refuses to compile some function, including -cipher.c:compression_alg_list() with an error: - -> sorry, unimplemented: argument ‘used’ is not supportedcw -> for ‘-fzero-call-used-regs’ on this target - -This extends the autoconf will-it-work test with a similarly- -structured function that seems to catch this. - -Spotted/tested by Colin Watson; bz3645 - -Upstream: https://github.com/openssh/openssh-portable/commit/1036d77b34a5fa15e56f516b81b9928006848cbd.patch -Signed-off-by: Brandon Maier ---- - m4/openssh.m4 | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -diff --git a/m4/openssh.m4 b/m4/openssh.m4 -index 5d4c56280fc..033df501c3d 100644 ---- a/m4/openssh.m4 -+++ b/m4/openssh.m4 -@@ -20,18 +20,24 @@ char *f2(char *s, ...) { - va_end(args); - return strdup(ret); - } -+const char *f3(int s) { -+ return s ? "good" : "gooder"; -+} - int main(int argc, char **argv) { -- (void)argv; - char b[256], *cp; -+ const char *s; - /* Some math to catch -ftrapv problems in the toolchain */ - int i = 123 * argc, j = 456 + argc, k = 789 - argc; - float l = i * 2.1; - double m = l / 0.5; - long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; -+ (void)argv; - f(1); -- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o); -+ s = f3(f(2)); -+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s); - if (write(1, b, 0) == -1) exit(0); -- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o); -+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s); -+ if (write(1, cp, 0) == -1) exit(0); - free(cp); - /* - * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does diff --git a/package/openssh/openssh.hash b/package/openssh/openssh.hash index 618b13133..0bbc4874d 100644 --- a/package/openssh/openssh.hash +++ b/package/openssh/openssh.hash @@ -1,4 +1,4 @@ -# From https://www.openssh.com/txt/release-9.4p1 -sha256 910211c07255a8c5ad654391b40ee59800710dd8119dd5362de09385aa7a777c openssh-9.6p1.tar.gz +# From https://www.openssh.com/txt/release-9.9p2 +sha256 91aadb603e08cc285eddf965e1199d02585fa94d994d6cae5b41e1721e215673 openssh-9.9p2.tar.gz # Locally calculated -sha256 05c30446ba738934b3f1efa965b454c122ca26cc4b268e5ae6843f58ccd1b16d LICENCE +sha256 5bb5b160726ef5756e4f32fe95b35249c294962419650f48d05134b486d27ccb LICENCE diff --git a/package/openssh/openssh.mk b/package/openssh/openssh.mk index ef530cc85..4d18d9bec 100644 --- a/package/openssh/openssh.mk +++ b/package/openssh/openssh.mk @@ -4,8 +4,8 @@ # ################################################################################ -OPENSSH_VERSION_MAJOR = 9.6 -OPENSSH_VERSION_MINOR = p1 +OPENSSH_VERSION_MAJOR = 9.9 +OPENSSH_VERSION_MINOR = p2 OPENSSH_VERSION = $(OPENSSH_VERSION_MAJOR)$(OPENSSH_VERSION_MINOR) OPENSSH_CPE_ID_VERSION = $(OPENSSH_VERSION_MAJOR) OPENSSH_CPE_ID_UPDATE = $(OPENSSH_VERSION_MINOR) @@ -13,9 +13,6 @@ OPENSSH_SITE = http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable OPENSSH_LICENSE = BSD-3-Clause, BSD-2-Clause, Public Domain OPENSSH_LICENSE_FILES = LICENCE -# 0001-better-detection-of-broken-fzero-call-used-regs.patch -OPENSSH_AUTORECONF = YES - OPENSSH_CONF_ENV = \ LD="$(TARGET_CC)" \ LDFLAGS="$(TARGET_CFLAGS)" \ @@ -115,6 +112,7 @@ endif ifeq ($(BR2_PACKAGE_OPENSSH_SERVER),y) define OPENSSH_INSTALL_SERVER_PROGRAMS $(INSTALL) -D -m 0755 $(@D)/sshd $(TARGET_DIR)/usr/sbin/sshd + $(INSTALL) -D -m 0755 $(@D)/sshd-session $(TARGET_DIR)/usr/libexec/sshd-session $(INSTALL) -D -m 0755 $(@D)/sftp-server $(TARGET_DIR)/usr/libexec/sftp-server endef OPENSSH_POST_INSTALL_TARGET_HOOKS += OPENSSH_INSTALL_SERVER_PROGRAMS diff --git a/package/openssl/Config.in b/package/openssl/Config.in index c7641ecef..d255a0559 100644 --- a/package/openssl/Config.in +++ b/package/openssl/Config.in @@ -1,3 +1,14 @@ +config BR2_PACKAGE_LIBRESSL_ARCH_SUPPORTS + bool + # see include/CMakeLists.txt + default y if BR2_aarch64 || BR2_aarch64_be + default y if BR2_arm || BR2_armeb + default y if BR2_i386 || BR2_x86_64 + default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le + default y if BR2_RISCV_64 + default y if BR2_sparc64 + config BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL bool @@ -24,7 +35,7 @@ config BR2_PACKAGE_LIBOPENSSL (TLS v1) as well as a full-strength general-purpose cryptography library. - http://www.openssl.org/ + https://openssl-library.org/ Note: Some helper scripts need perl. @@ -32,6 +43,7 @@ source "package/libopenssl/Config.in" config BR2_PACKAGE_LIBRESSL bool "libressl" + depends on BR2_PACKAGE_LIBRESSL_ARCH_SUPPORTS depends on !BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL depends on BR2_TOOLCHAIN_HAS_THREADS # uClibc doesn't provide __register_atfork() without NPTL diff --git a/package/openvpn/Config.in b/package/openvpn/Config.in index 5aa2386d3..77afc9eaf 100644 --- a/package/openvpn/Config.in +++ b/package/openvpn/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_OPENVPN select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL help OpenVPN is a full-featured SSL VPN solution which can - accomodate a wide range of configurations, including road + accommodate a wide range of configurations, including road warrior access, home/office/campus telecommuting, WiFi security, secure branch office linking, and enterprise-scale remote access solutions with load balancing, failover, and diff --git a/package/openvpn/openvpn.hash b/package/openvpn/openvpn.hash index 6dc470360..3c95ff496 100644 --- a/package/openvpn/openvpn.hash +++ b/package/openvpn/openvpn.hash @@ -1,3 +1,3 @@ # Locally calculated after checking signature -sha256 5ede1565c8a6d880100f7f235317a7ee9eea83d5052db5547f13a9e76af7805d openvpn-2.6.8.tar.gz +sha256 1af10b86922bd7c99827cc0f151dfe9684337b8e5ebdb397539172841ac24a6a openvpn-2.6.13.tar.gz sha256 1fcb78d7e478bb8a9408010bdc91b36e213b1facfad093df3f7ce7e28af19043 COPYRIGHT.GPL diff --git a/package/openvpn/openvpn.mk b/package/openvpn/openvpn.mk index 28948a3ab..e484a4e80 100644 --- a/package/openvpn/openvpn.mk +++ b/package/openvpn/openvpn.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENVPN_VERSION = 2.6.8 +OPENVPN_VERSION = 2.6.13 OPENVPN_SITE = https://swupdate.openvpn.net/community/releases OPENVPN_DEPENDENCIES = host-pkgconf libcap-ng OPENVPN_LICENSE = GPL-2.0 diff --git a/package/oprofile/0002-fix-static-build-with-binutils-2.40.patch b/package/oprofile/0002-fix-static-build-with-binutils-2.40.patch new file mode 100644 index 000000000..3134363ab --- /dev/null +++ b/package/oprofile/0002-fix-static-build-with-binutils-2.40.patch @@ -0,0 +1,62 @@ +From 1e4cd78bca2bd6e0d17b6cb9caf1b172d7bac564 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 6 May 2024 08:41:49 +0200 +Subject: [PATCH] fix static build with binutils >= 2.40 + +sframe library was added by binutils 2.40 and +https://github.com/bminor/binutils-gdb/commit/19e559f1c91bfaedbd2f91d85ee161f3f03fda3c +resulting in the following static build failure: + +/home/buildroot/autobuild/run/instance-1/output-1/build/binutils-2.41/bfd/elf-sframe.c:220: undefined reference to `sframe_decode' + +[...] + +configure: error: bfd library not found + +Fixes: + - http://autobuild.buildroot.org/results/a9f3e09e6543b3773440c011e93bd41e357691e4 + +Signed-off-by: Fabrice Fontaine +Upstream: https://sourceforge.net/p/oprofile/bugs/295 +--- + configure.ac | 2 +- + m4/binutils.m4 | 7 +++++-- + 2 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index dc447f89..72ef0a21 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -334,7 +334,7 @@ AX_CHECK_DOCBOOK + dnl finally restore the original libs setting + LIBS="$ORIG_SAVE_LIBS" + LIBERTY_LIBS="-liberty $DL_LIB $INTL_LIB" +-BFD_LIBS="-lbfd -liberty $DL_LIB $INTL_LIB $Z_LIB" ++BFD_LIBS="-lbfd -liberty $DL_LIB $INTL_LIB $SFRAME_LIB $Z_LIB" + POPT_LIBS="-lpopt" + AC_SUBST(LIBERTY_LIBS) + AC_SUBST(BFD_LIBS) +diff --git a/m4/binutils.m4 b/m4/binutils.m4 +index c50e2f3c..e1ccd8e7 100644 +--- a/m4/binutils.m4 ++++ b/m4/binutils.m4 +@@ -10,11 +10,14 @@ AC_CHECK_FUNCS(xmemdup) + AC_CHECK_LIB(dl, dlopen, LIBS="$LIBS -ldl"; DL_LIB="-ldl", DL_LIB="") + AC_CHECK_LIB(intl, main, LIBS="$LIBS -lintl"; INTL_LIB="-lintl", INTL_LIB="") + +-AC_CHECK_LIB(bfd, bfd_openr, LIBS="-lbfd $LIBS"; Z_LIB="", ++AC_CHECK_LIB(bfd, bfd_openr, LIBS="-lbfd $LIBS"; SFRAME_LIB=""; Z_LIB="", + [AC_CHECK_LIB(z, compress, + dnl Use a different bfd function here so as not to use cached result from above + [AC_CHECK_LIB(bfd, bfd_fdopenr, LIBS="-lbfd -lz $LIBS"; Z_LIB="-lz", +- [AC_MSG_ERROR([bfd library not found])], -lz) ++dnl Use a different bfd function here so as not to use cached result from above ++ [AC_CHECK_LIB(bfd, bfd_close, LIBS="-lbfd -lsframe -lz $LIBS"; SFRAME_LIB="-lsframe"; Z_LIB="-lz", ++ [AC_MSG_ERROR([bfd library not found])], -lsframe -lz) ++ ], -lz) + ], + [AC_MSG_ERROR([libz library not found; required by libbfd])]) + ] +-- +2.43.0 + diff --git a/package/oprofile/oprofile.mk b/package/oprofile/oprofile.mk index 265d6ebd1..590e63b4a 100644 --- a/package/oprofile/oprofile.mk +++ b/package/oprofile/oprofile.mk @@ -11,8 +11,14 @@ OPROFILE_LICENSE_FILES = COPYING OPROFILE_CPE_ID_VENDOR = maynard_johnson OPROFILE_CONF_OPTS = \ --disable-account-check \ - --enable-gui=no \ --with-kernel=$(STAGING_DIR)/usr +# 0002-fix-static-build-with-binutils-2.40.patch +OPROFILE_AUTORECONF = YES + +define OPROFILE_CREATE_MISSING_FILES + touch $(@D)/NEWS $(@D)/AUTHORS $(@D)/ChangeLog +endef +OPROFILE_POST_EXTRACT_HOOKS += OPROFILE_CREATE_MISSING_FILES OPROFILE_DEPENDENCIES = popt binutils host-pkgconf diff --git a/package/osm2pgsql/Config.in b/package/osm2pgsql/Config.in index c6a38f318..439309df9 100644 --- a/package/osm2pgsql/Config.in +++ b/package/osm2pgsql/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_OSM2PGSQL bool "osm2pgsql" + depends on BR2_ARCH_IS_64 depends on BR2_INSTALL_LIBSTDCPP # boost, libosmium, protozero depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14 depends on BR2_TOOLCHAIN_HAS_THREADS # boost, libosmium @@ -24,9 +25,11 @@ config BR2_PACKAGE_OSM2PGSQL https://osm2pgsql.org comment "osm2pgsql needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" + depends on BR2_ARCH_IS_64 depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_TOOLCHAIN_HAS_THREADS comment "osm2pgsql needs a toolchain not affected by GCC bug 64735" + depends on BR2_ARCH_IS_64 depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/owfs/owfs.mk b/package/owfs/owfs.mk index 986dca921..6b2228248 100644 --- a/package/owfs/owfs.mk +++ b/package/owfs/owfs.mk @@ -28,7 +28,7 @@ OWFS_CONF_OPTS += \ --with-fuseinclude=$(STAGING_DIR)/usr/include \ --with-fuselib=$(STAGING_DIR)/usr/lib define OWFS_INSTALL_FUSE_INIT_SYSV - $(INSTALL) -D -m 0755 $(OWFS_PKGDIR)S60owfs \ + $(INSTALL) -D -m 0755 $(OWFS_PKGDIR)/S60owfs \ $(TARGET_DIR)/etc/init.d/S60owfs endef define OWFS_CREATE_MOUNTPOINT @@ -78,7 +78,7 @@ endif OWFS_MAKE = $(MAKE) $(OWFS_EXTRA_MAKE_OPTS) define OWFS_INSTALL_INIT_SYSV - $(INSTALL) -D -m 0755 $(OWFS_PKGDIR)S55owserver \ + $(INSTALL) -D -m 0755 $(OWFS_PKGDIR)/S55owserver \ $(TARGET_DIR)/etc/init.d/S55owserver $(OWFS_INSTALL_FUSE_INIT_SYSV) endef diff --git a/package/p910nd/p910nd.hash b/package/p910nd/p910nd.hash index 93b138990..0f69e402d 100644 --- a/package/p910nd/p910nd.hash +++ b/package/p910nd/p910nd.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 4ac980a3ae24babae6f70f0a692625ece03a4a92c357fbb10d2e368386c3c26f p910nd-0.97.tar.bz2 -sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING +sha256 a1bcc2dd75bad4e00a9de5098dbd970e8380f978fc09292bcfa15852af6a6964 p910nd-0.97.tar.gz +sha256 62f171d4d8b6726df61f18a6bbc0a70f79c4bc2134d837d35c81fc6289a2d84d LICENSE.md diff --git a/package/p910nd/p910nd.mk b/package/p910nd/p910nd.mk index 163ab1bcf..fea8aafd5 100644 --- a/package/p910nd/p910nd.mk +++ b/package/p910nd/p910nd.mk @@ -5,10 +5,9 @@ ################################################################################ P910ND_VERSION = 0.97 -P910ND_SITE = http://downloads.sourceforge.net/project/p910nd/p910nd/$(P910ND_VERSION) -P910ND_SOURCE = p910nd-$(P910ND_VERSION).tar.bz2 +P910ND_SITE = $(call github,kenyapcomau,p910nd,$(P910ND_VERSION)) P910ND_LICENSE = GPL-2.0 -P910ND_LICENSE_FILES = COPYING +P910ND_LICENSE_FILES = LICENSE.md define P910ND_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) diff --git a/package/pcm-tools/pcm-tools.mk b/package/pcm-tools/pcm-tools.mk index c53049269..e81edf2cf 100644 --- a/package/pcm-tools/pcm-tools.mk +++ b/package/pcm-tools/pcm-tools.mk @@ -5,7 +5,7 @@ ################################################################################ # Don't use the github helper, as pcm-tools uses git attributes that are -# replaced when gnerating the archive. +# replaced when generating the archive. # 93fc9193a70e2f1f054be554c48f4a4791be5032 is the hash of the 202110 tag. PCM_TOOLS_VERSION = 93fc9193a70e2f1f054be554c48f4a4791be5032 PCM_TOOLS_SITE = https://github.com/opcm/pcm diff --git a/package/perl-dbd-mysql/0001-Use-net_buffer_length-macro-if-available.patch b/package/perl-dbd-mysql/0001-Use-net_buffer_length-macro-if-available.patch new file mode 100644 index 000000000..d7767c1f4 --- /dev/null +++ b/package/perl-dbd-mysql/0001-Use-net_buffer_length-macro-if-available.patch @@ -0,0 +1,41 @@ +From 9189ef77679c22de3bbd2142031858373236520b Mon Sep 17 00:00:00 2001 +From: Michiel Beijen +Date: Fri, 23 Feb 2018 07:52:33 +0000 +Subject: [PATCH] Use net_buffer_length macro if available + +Upstream: https://github.com/perl5-dbi/DBD-mysql/commit/0f0cebe87fab335873fd3701bc304922da826940 + +(cherry picked from commit 0f0cebe87fab335873fd3701bc304922da826940) +Signed-off-by: Romain Naour +--- + mysql.xs | 11 +++++------ + 1 file changed, 5 insertions(+), 6 deletions(-) + +diff --git a/mysql.xs b/mysql.xs +index 8edee55..9b4d60f 100644 +--- a/mysql.xs ++++ b/mysql.xs +@@ -819,15 +819,14 @@ dbd_mysql_get_info(dbh, sql_info_type) + retsv = newSVpvn("`", 1); + break; + case SQL_MAXIMUM_STATEMENT_LENGTH: +-#if !defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 50709 +- /* MariaDB 10 is not MySQL source level compatible so this +- only applies to MySQL*/ +- /* mysql_get_option() was added in mysql 5.7.3 */ +- /* MYSQL_OPT_NET_BUFFER_LENGTH was added in mysql 5.7.9 */ ++ /* net_buffer_length macro is not defined in MySQL 5.7 and some MariaDB ++ versions - if it is not available, use newer mysql_get_option */ ++#if !defined(net_buffer_length) ++ ; ++ unsigned long buffer_len; + mysql_get_option(NULL, MYSQL_OPT_NET_BUFFER_LENGTH, &buffer_len); + retsv = newSViv(buffer_len); + #else +- /* before mysql 5.7.9 use net_buffer_length macro */ + retsv = newSViv(net_buffer_length); + #endif + break; +-- +2.44.0 + diff --git a/package/perl-net-ssleay/perl-net-ssleay.hash b/package/perl-net-ssleay/perl-net-ssleay.hash index 9caff68ed..219edd4e0 100644 --- a/package/perl-net-ssleay/perl-net-ssleay.hash +++ b/package/perl-net-ssleay/perl-net-ssleay.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 c73821e9790b3bdb3471d9b8faf48bbb Net-SSLeay-1.93_01.tar.gz -sha256 876d022fbc719631b11d6bb4b6e78db3c19bbca578093c376c8f9900a4432aa3 Net-SSLeay-1.93_01.tar.gz +md5 1b22c764e5a094c6261e37a4b1f148ce Net-SSLeay-1.94.tar.gz +sha256 9d7be8a56d1bedda05c425306cc504ba134307e0c09bda4a788c98744ebcd95d Net-SSLeay-1.94.tar.gz # computed by scancpan sha256 685e534b60d4e2b4fbb1a259a83b5a86e877a919bbb9efc95994276f706a3a71 LICENSE diff --git a/package/perl-net-ssleay/perl-net-ssleay.mk b/package/perl-net-ssleay/perl-net-ssleay.mk index 8b7b2b973..7f5809308 100644 --- a/package/perl-net-ssleay/perl-net-ssleay.mk +++ b/package/perl-net-ssleay/perl-net-ssleay.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_NET_SSLEAY_VERSION = 1.93_01 +PERL_NET_SSLEAY_VERSION = 1.94 PERL_NET_SSLEAY_SOURCE = Net-SSLeay-$(PERL_NET_SSLEAY_VERSION).tar.gz PERL_NET_SSLEAY_SITE = $(BR2_CPAN_MIRROR)/authors/id/C/CH/CHRISN PERL_NET_SSLEAY_DEPENDENCIES = openssl diff --git a/package/perl/perl.mk b/package/perl/perl.mk index 9de0425e8..1bc8c9927 100644 --- a/package/perl/perl.mk +++ b/package/perl/perl.mk @@ -98,7 +98,9 @@ endef HOST_PERL_CONF_OPTS = \ -des \ -Dprefix="$(HOST_DIR)" \ - -Dcc="$(HOSTCC)" + -Dcc="$(HOSTCC)" \ + -Dccflags="$(HOST_CFLAGS)" \ + -Dldflags="$(HOST_LDFLAGS)" define HOST_PERL_CONFIGURE_CMDS (cd $(@D); $(HOST_MAKE_ENV) HOSTCC='$(HOSTCC_NOCCACHE)' \ diff --git a/package/petitboot/petitboot.hash b/package/petitboot/petitboot.hash index a9a21f2c1..3a90bc529 100644 --- a/package/petitboot/petitboot.hash +++ b/package/petitboot/petitboot.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 fa2367370d3ce5dd9910ab08a0832071e2508c8bf75cfec6d3b9807fbefc507a petitboot-v1.14.tar.gz +sha256 eed29ec841c2bcd5ecc65347f5b95a0087a541bd9c04ca3c17c55d1f7357d189 petitboot-v1.15.tar.gz sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/petitboot/petitboot.mk b/package/petitboot/petitboot.mk index 4c8bc35ad..cd7631fa5 100644 --- a/package/petitboot/petitboot.mk +++ b/package/petitboot/petitboot.mk @@ -4,7 +4,7 @@ # ################################################################################ -PETITBOOT_VERSION = 1.14 +PETITBOOT_VERSION = 1.15 PETITBOOT_SOURCE = petitboot-v$(PETITBOOT_VERSION).tar.gz PETITBOOT_SITE = https://github.com/open-power/petitboot/releases/download/v$(PETITBOOT_VERSION) PETITBOOT_DEPENDENCIES = \ diff --git a/package/php-xdebug/php-xdebug.mk b/package/php-xdebug/php-xdebug.mk index c5a1e10eb..3bc197e55 100644 --- a/package/php-xdebug/php-xdebug.mk +++ b/package/php-xdebug/php-xdebug.mk @@ -14,8 +14,7 @@ PHP_XDEBUG_LICENSE_FILES = LICENSE PHP_XDEBUG_DEPENDENCIES = php host-autoconf PHP_XDEBUG_CONF_OPTS = \ --enable-xdebug \ - --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ - --with-xdebug=$(STAGING_DIR)/usr + --with-php-config=$(STAGING_DIR)/usr/bin/php-config define PHP_XDEBUG_PHPIZE (cd $(@D); \ @@ -26,4 +25,11 @@ endef PHP_XDEBUG_PRE_CONFIGURE_HOOKS += PHP_XDEBUG_PHPIZE +ifeq ($(BR2_PACKAGE_ZLIB),y) +PHP_XDEBUG_CONF_OPTS += --with-xdebug-compression +PHP_XDEBUG_DEPENDENCIES += zlib +else +PHP_XDEBUG_CONF_OPTS += --without-xdebug-compression +endif + $(eval $(autotools-package)) diff --git a/package/php/php.hash b/package/php/php.hash index 4ce3616de..788efe39b 100644 --- a/package/php/php.hash +++ b/package/php/php.hash @@ -1,5 +1,5 @@ # From https://www.php.net/downloads.php -sha256 28cdc995b7d5421711c7044294885fcde4390c9f67504a994b4cf9bc1b5cc593 php-8.2.16.tar.xz +sha256 54747400cb4874288ad41a785e6147e2ff546cceeeb55c23c00c771ac125c6ef php-8.2.26.tar.xz # License file sha256 b42e4df5e50e6ecda1047d503d6d91d71032d09ed1027ba1ef29eed26f890c5a LICENSE diff --git a/package/php/php.mk b/package/php/php.mk index 28893be4c..abbe9a799 100644 --- a/package/php/php.mk +++ b/package/php/php.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_VERSION = 8.2.16 +PHP_VERSION = 8.2.26 PHP_SITE = https://www.php.net/distributions PHP_SOURCE = php-$(PHP_VERSION).tar.xz PHP_INSTALL_STAGING = YES @@ -92,7 +92,7 @@ endif # php has some assembly function that is not present in Thumb mode: # Error: selected processor does not support `umlal r2,r1,r0,r3' in Thumb mode -# so, we desactivate Thumb mode +# so, we deactivate Thumb mode ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) PHP_CFLAGS += -marm endif diff --git a/package/pistache/Config.in b/package/pistache/Config.in index 3acf1f53f..2a845e7eb 100644 --- a/package/pistache/Config.in +++ b/package/pistache/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_PISTACHE bool "pistache" depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17, std::optional depends on BR2_USE_WCHAR - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 select BR2_PACKAGE_RAPIDJSON @@ -13,9 +13,9 @@ config BR2_PACKAGE_PISTACHE https://github.com/oktal/pistache -comment "pistache needs a toolchain w/ C++, gcc >= 7, threads, wchar, not binutils bug 27597" +comment "pistache needs a toolchain w/ C++, gcc >= 7, NPTL, wchar, not binutils bug 27597" depends on !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \ - !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ !BR2_USE_WCHAR || \ BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 diff --git a/package/pixman/0003-pixman-combine-float.c-fix-inlining-failed-error.patch b/package/pixman/0003-pixman-combine-float.c-fix-inlining-failed-error.patch new file mode 100644 index 000000000..1c4b153fc --- /dev/null +++ b/package/pixman/0003-pixman-combine-float.c-fix-inlining-failed-error.patch @@ -0,0 +1,56 @@ +From 643f098a3922592c82f3ea19668a1596d92a3e7b Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Tue, 16 Jul 2024 15:31:16 +0800 +Subject: [PATCH] pixman-combine-float.c: fix inlining failed error +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Refer [1], always-inline is not suggested to be used if you have indirect +calls. so replace force_inline with inline to fix error like: +In function ‘combine_inner’, + inlined from ‘combine_soft_light_ca_float’ at ../pixman/pixman-combine-float.c:655:511: +../pixman/pixman-combine-float.c:655:211: error: inlining failed in call to ‘always_inline’ ‘combine_soft_light_c’: function not considered for inlining + +Test with gcc-9 and gcc-14, both works well + +[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115679 + +Signed-off-by: Changqing Li +Upstream: https://gitlab.freedesktop.org/pixman/pixman/-/commit/643f098a3922592c82f3ea19668a1596d92a3e7b +--- + pixman/pixman-combine-float.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/pixman/pixman-combine-float.c b/pixman/pixman-combine-float.c +index e1f8030..230164f 100644 +--- a/pixman/pixman-combine-float.c ++++ b/pixman/pixman-combine-float.c +@@ -261,7 +261,7 @@ get_factor (combine_factor_t factor, float sa, float da) + } + + #define MAKE_PD_COMBINERS(name, a, b) \ +- static float force_inline \ ++ static float \ + pd_combine_ ## name (float sa, float s, float da, float d) \ + { \ + const float fa = get_factor (a, sa, da); \ +@@ -360,13 +360,13 @@ MAKE_PD_COMBINERS (conjoint_xor, ONE_MINUS_DA_OVER_SA, ONE_MINUS_SA_OVER_DA) + */ + + #define MAKE_SEPARABLE_PDF_COMBINERS(name) \ +- static force_inline float \ ++ static float \ + combine_ ## name ## _a (float sa, float s, float da, float d) \ + { \ + return da + sa - da * sa; \ + } \ + \ +- static force_inline float \ ++ static float \ + combine_ ## name ## _c (float sa, float s, float da, float d) \ + { \ + float f = (1 - sa) * d + (1 - da) * s; \ +-- +2.47.1 + diff --git a/package/pkg-cargo.mk b/package/pkg-cargo.mk index 47ce68bf0..d3711176b 100644 --- a/package/pkg-cargo.mk +++ b/package/pkg-cargo.mk @@ -206,7 +206,7 @@ endif # Due to vendoring, it is pretty likely that not all licenses are # listed in _LICENSE. If the license is unset, it is "unknown" -# so adding unknowns to some unknown is still some other unkown, +# so adding unknowns to some unknown is still some other unknown, # so don't append the blurb in that case. ifneq ($$($(2)_LICENSE),) $(2)_LICENSE += , vendored dependencies licenses probably not listed diff --git a/package/pkg-cmake.mk b/package/pkg-cmake.mk index 8f391eb4c..c7032312f 100644 --- a/package/pkg-cmake.mk +++ b/package/pkg-cmake.mk @@ -147,7 +147,6 @@ define $(2)_CONFIGURE_CMDS -DCMAKE_CXX_FLAGS="$$(HOST_CXXFLAGS)" \ -DCMAKE_EXE_LINKER_FLAGS="$$(HOST_LDFLAGS)" \ -DCMAKE_SHARED_LINKER_FLAGS="$$(HOST_LDFLAGS)" \ - -DCMAKE_ASM_COMPILER="$$(HOSTAS)" \ -DCMAKE_C_COMPILER="$$(CMAKE_HOST_C_COMPILER)" \ -DCMAKE_CXX_COMPILER="$$(CMAKE_HOST_CXX_COMPILER)" \ $(if $$(CMAKE_HOST_C_COMPILER_LAUNCHER),\ diff --git a/package/pkg-download.mk b/package/pkg-download.mk index 30eeb6b1f..7760a21bc 100644 --- a/package/pkg-download.mk +++ b/package/pkg-download.mk @@ -107,7 +107,9 @@ endif define DOWNLOAD $(Q)mkdir -p $($(2)_DL_DIR) - $(Q)$(EXTRA_ENV) $($(2)_DL_ENV) \ + $(Q)$(EXTRA_ENV) \ + $($(2)_DL_ENV) \ + TAR="$(TAR)" \ BR_NO_CHECK_HASH_FOR="$(if $(BR2_DOWNLOAD_FORCE_CHECK_HASHES),,$(BR_NO_CHECK_HASH_FOR))" \ flock $($(2)_DL_DIR)/.lock $(DL_WRAPPER) \ -c '$($(2)_DL_VERSION)' \ @@ -115,7 +117,7 @@ define DOWNLOAD -D '$(DL_DIR)' \ -f '$(notdir $(1))' \ $(foreach f,$($(2)_HASH_FILES),-H '$(f)') \ - -n '$($(2)_BASENAME_RAW)' \ + -n '$($(2)_DL_SUBDIR)-$($(2)_VERSION)' \ -N '$($(2)_RAWNAME)' \ -o '$($(2)_DL_DIR)/$(notdir $(1))' \ $(if $(filter YES,$($(2)_SVN_EXTERNALS)),-r) \ diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk index 577a148c1..cc309989f 100644 --- a/package/pkg-generic.mk +++ b/package/pkg-generic.mk @@ -276,7 +276,7 @@ $(BUILD_DIR)/%/.stamp_configured: $(Q)touch $@ # Build -$(BUILD_DIR)/%/.stamp_built:: +$(BUILD_DIR)/%/.stamp_built: @$(call step_start,build) @$(call MESSAGE,"Building") $(foreach hook,$($(PKG)_PRE_BUILD_HOOKS),$(call $(hook))$(sep)) @@ -525,7 +525,6 @@ endif $(2)_BASENAME = $$(if $$($(2)_VERSION),$(1)-$$($(2)_VERSION),$(1)) $(2)_BASENAME_RAW = $$(if $$($(2)_VERSION),$$($(2)_RAWNAME)-$$($(2)_VERSION),$$($(2)_RAWNAME)) -$(2)_DL_SUBDIR ?= $$($(2)_RAWNAME) $(2)_DL_DIR = $$(DL_DIR)/$$($(2)_DL_SUBDIR) $(2)_DIR = $$(BUILD_DIR)/$$($(2)_BASENAME) @@ -538,6 +537,8 @@ endif ifndef $(2)_DL_SUBDIR ifdef $(3)_DL_SUBDIR $(2)_DL_SUBDIR = $$($(3)_DL_SUBDIR) + else + $(2)_DL_SUBDIR = $$($(2)_RAWNAME) endif endif @@ -872,7 +873,7 @@ $$(error "Package $(1) defines host variant before target variant!") endif endif -# Globaly remove following conflicting and useless files +# Globally remove following conflicting and useless files $(2)_DROP_FILES_OR_DIRS += /share/info/dir ifeq ($$($(2)_TYPE),host) @@ -1172,7 +1173,7 @@ else endif # other packages endif # redistribute - @$$(call legal-manifest,$$(call UPPERCASE,$(4)),$$($(2)_RAWNAME),$$($(2)_VERSION),$$(subst $$(space)$$(comma),$$(comma),$$($(2)_LICENSE)),$$($(2)_MANIFEST_LICENSE_FILES),$$($(2)_ACTUAL_SOURCE_TARBALL),$$($(2)_ACTUAL_SOURCE_SITE),$$(call legal-deps,$(1))) + @$$(call legal-manifest,$$(call UPPERCASE,$(4)),$$($(2)_RAWNAME),$$($(2)_DL_VERSION),$$(subst $$(space)$$(comma),$$(comma),$$($(2)_LICENSE)),$$($(2)_MANIFEST_LICENSE_FILES),$$($(2)_ACTUAL_SOURCE_TARBALL),$$($(2)_ACTUAL_SOURCE_SITE),$$(call legal-deps,$(1))) endif # ifneq ($$(call qstrip,$$($(2)_SOURCE)),) $$(foreach hook,$$($(2)_POST_LEGAL_INFO_HOOKS),$$(call $$(hook))$$(sep)) diff --git a/package/pkg-golang.mk b/package/pkg-golang.mk index 8e27602d4..33cf9bfb1 100644 --- a/package/pkg-golang.mk +++ b/package/pkg-golang.mk @@ -102,7 +102,7 @@ endif # Due to vendoring, it is pretty likely that not all licenses are # listed in _LICENSE. If the license is unset, it is "unknown" -# so adding unknowns to some unknown is still some other unkown, +# so adding unknowns to some unknown is still some other unknown, # so don't append the blurb in that case. ifneq ($$($(2)_LICENSE),) $(2)_LICENSE += , vendored dependencies licenses probably not listed diff --git a/package/pkg-kconfig.mk b/package/pkg-kconfig.mk index f4f35bf96..8000de16c 100644 --- a/package/pkg-kconfig.mk +++ b/package/pkg-kconfig.mk @@ -33,8 +33,7 @@ PKG_KCONFIG_COMMON_OPTS = \ # Macro to save the defconfig file # $(1): the name of the package in upper-case letters define kconfig-package-savedefconfig - $($(1)_MAKE_ENV) $($(1)_MAKE) -C $($(1)_DIR) \ - $(PKG_KCONFIG_COMMON_OPTS) $($(1)_KCONFIG_OPTS) savedefconfig + $($(1)_KCONFIG_MAKE) savedefconfig endef # The correct way to regenerate a .config file is to use 'make olddefconfig'. @@ -270,6 +269,7 @@ $(1)-check-configuration-done: ifeq ($$($(2)_KCONFIG_SUPPORTS_DEFCONFIG),YES) .PHONY: $(1)-savedefconfig +$(1)-savedefconfig: PKG=$(2) $(1)-savedefconfig: $(1)-check-configuration-done $$(call kconfig-package-savedefconfig,$(2)) endif @@ -300,6 +300,7 @@ endif # defconfig + fragments (if any) and the current configuration. # Note: it preserves the timestamp of the current configuration when moving it # around. +$(1)-diff-config: PKG=$(2) $(1)-diff-config: $(1)-check-configuration-done $$(Q)cp -a $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG) $$($(2)_DIR)/.config.dc.bak $$(call kconfig-package-merge-config,$(2),$$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG),\ diff --git a/package/pkg-kernel-module.mk b/package/pkg-kernel-module.mk index 4f64a73f1..032874c3c 100644 --- a/package/pkg-kernel-module.mk +++ b/package/pkg-kernel-module.mk @@ -62,6 +62,9 @@ $(2)_MAKE ?= $$(BR2_MAKE) # the root of the package. $(2)_MODULE_SUBDIRS ?= . +$(2)_LINUX_CONFIG_FIXUPS += \ + $$(sep)$$(call KCONFIG_DISABLE_OPT,CONFIG_TRIM_UNUSED_KSYMS) + # Build the kernel module(s) # Force PWD for those packages that want to use it to find their # includes and other support files (Booo!) diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk index 723bbe4e2..fd7ce012c 100644 --- a/package/pkg-utils.mk +++ b/package/pkg-utils.mk @@ -73,7 +73,7 @@ extractor-pkg-dependency = $(EXTRACTOR_PKG_DEPENDENCY$(suffix $(1))) # extractor-system-dependency(filename): returns the name of the tool # needed to extract 'filename', and is meant to be used with -# DL_TOOLS_DEPENDENCIES, in order to check that the necesary tool is +# DL_TOOLS_DEPENDENCIES, in order to check that the necessary tool is # provided by the system Buildroot runs on. # # $(firstword) is used here because the extractor can have arguments, @@ -97,7 +97,7 @@ define yesno-to-bool endef # json-info -- return package or filesystem metadata formatted as an entry -# of a JSON dictionnary +# of a JSON dictionary # $(1): upper-case package or filesystem name define json-info "$($(1)_NAME)": { diff --git a/package/poco/Config.in b/package/poco/Config.in index 7cb9987ec..9bdef125a 100644 --- a/package/poco/Config.in +++ b/package/poco/Config.in @@ -12,7 +12,7 @@ config BR2_PACKAGE_POCO bool "poco" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17 # pthread_condattr_setclock depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on !BR2_STATIC_LIBS # dlopen() @@ -116,8 +116,8 @@ config BR2_PACKAGE_POCO_ZIP endif # BR2_PACKAGE_POCO -comment "poco needs a toolchain w/ wchar, NPTL, C++, dynamic library, gcc >= 5 w/ C++14" +comment "poco needs a toolchain w/ wchar, NPTL, C++, dynamic library, gcc >= 8" depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP \ || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \ - || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 + || !BR2_TOOLCHAIN_GCC_AT_LEAST_8 depends on BR2_PACKAGE_POCO_ARCH_SUPPORTS diff --git a/package/poco/poco.mk b/package/poco/poco.mk index cc8a22fc2..233252c67 100644 --- a/package/poco/poco.mk +++ b/package/poco/poco.mk @@ -68,7 +68,6 @@ define POCO_CONFIGURE_CMDS (cd $(@D); $(TARGET_MAKE_ENV) ./configure \ --config=Linux \ --prefix=/usr \ - --cflags=-std=c++14 \ --ldflags="$(POCO_LDFLAGS)" \ --omit="$(POCO_OMIT)" \ $(POCO_CONF_OPTS) \ diff --git a/package/postgis/Config.in b/package/postgis/Config.in index 7d4239067..7f85c0300 100644 --- a/package/postgis/Config.in +++ b/package/postgis/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_POSTGIS depends on BR2_PACKAGE_POSTGRESQL_FULL depends on BR2_INSTALL_LIBSTDCPP # libgeos, proj depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libgeos - depends on BR2_TOOLCHAIN_HAS_THREADS # libgeos, proj + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # proj depends on BR2_USE_WCHAR # libgeos, proj depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 # libgeos select BR2_PACKAGE_LIBGEOS @@ -18,7 +18,7 @@ config BR2_PACKAGE_POSTGIS https://postgis.net/ -comment "postgis needs a toolchain w/ C++, threads, wchar, gcc >= 4.9, not binutils bug 27597" +comment "postgis needs a toolchain w/ C++, NPTL, wchar, gcc >= 4.9, not binutils bug 27597" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ - !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR || \ BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 diff --git a/package/postgis/postgis.hash b/package/postgis/postgis.hash index 2d2676d0d..7e62e8e16 100644 --- a/package/postgis/postgis.hash +++ b/package/postgis/postgis.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 fef6a141213d0ff27bf45b33b849cc396c22ddb1ffc6fed435469c9e891fc81d postgis-3.4.1.tar.gz +sha256 c8c874c00ba4a984a87030af6bf9544821502060ad473d5c96f1d4d0835c5892 postgis-3.4.2.tar.gz sha256 2a3bde0a77224496ea6d8efa686da7e29ab0dd6b1a8f90ba12beaf7ae28e878a LICENSE.TXT diff --git a/package/postgis/postgis.mk b/package/postgis/postgis.mk index 5f1c643ce..867aa4cae 100644 --- a/package/postgis/postgis.mk +++ b/package/postgis/postgis.mk @@ -4,7 +4,7 @@ # ################################################################################ -POSTGIS_VERSION = 3.4.1 +POSTGIS_VERSION = 3.4.2 POSTGIS_SITE = https://download.osgeo.org/postgis/source # parallel build issues POSTGIS_MAKE = $(MAKE1) diff --git a/package/postgresql/0001-Fix-compile-without-threads.patch b/package/postgresql/0001-Fix-compile-without-threads.patch new file mode 100644 index 000000000..a280df540 --- /dev/null +++ b/package/postgresql/0001-Fix-compile-without-threads.patch @@ -0,0 +1,87 @@ +From 6c71182dde4d37fd70ee8015f61935254ae6f9a6 Mon Sep 17 00:00:00 2001 +From: Maxim Kochetkov +Date: Thu, 19 Sep 2024 10:04:05 +0300 +Subject: [PATCH] Fix compile without threads + +All mutexes should be wrapped by #ifdef ENABLE_THREAD_SAFETY. + +Fixes: https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=52afe563206e753f4c45c014fee2459ad0855826 +Signed-off-by: Maxim Kochetkov +Signed-off-by: Maxim Kochetkov +Upstream: N/A, as --disable-thread-safety will disappear in PostgreSQL 17. +--- + src/interfaces/ecpg/ecpglib/misc.c | 6 ++++++ + src/interfaces/libpq/fe-misc.c | 6 ++++++ + 2 files changed, 12 insertions(+) + +diff --git a/src/interfaces/ecpg/ecpglib/misc.c b/src/interfaces/ecpg/ecpglib/misc.c +index 4b54322926..5a4d2e847e 100644 +--- a/src/interfaces/ecpg/ecpglib/misc.c ++++ b/src/interfaces/ecpg/ecpglib/misc.c +@@ -538,7 +538,9 @@ ecpg_gettext(const char *msgid) + * might as well do it the same way everywhere. + */ + static volatile bool already_bound = false; ++#ifdef ENABLE_THREAD_SAFETY + static pthread_mutex_t binddomain_mutex = PTHREAD_MUTEX_INITIALIZER; ++#endif + + if (!already_bound) + { +@@ -549,7 +551,9 @@ ecpg_gettext(const char *msgid) + int save_errno = errno; + #endif + ++#ifdef ENABLE_THREAD_SAFETY + (void) pthread_mutex_lock(&binddomain_mutex); ++#endif + + if (!already_bound) + { +@@ -566,7 +570,9 @@ ecpg_gettext(const char *msgid) + already_bound = true; + } + ++#ifdef ENABLE_THREAD_SAFETY + (void) pthread_mutex_unlock(&binddomain_mutex); ++#endif + + #ifdef WIN32 + SetLastError(save_errno); +diff --git a/src/interfaces/libpq/fe-misc.c b/src/interfaces/libpq/fe-misc.c +index 488f7d6e55..2185e0ba7a 100644 +--- a/src/interfaces/libpq/fe-misc.c ++++ b/src/interfaces/libpq/fe-misc.c +@@ -1232,7 +1232,9 @@ libpq_binddomain(void) + * might as well do it the same way everywhere. + */ + static volatile bool already_bound = false; ++#ifdef ENABLE_THREAD_SAFETY + static pthread_mutex_t binddomain_mutex = PTHREAD_MUTEX_INITIALIZER; ++#endif + + if (!already_bound) + { +@@ -1243,7 +1245,9 @@ libpq_binddomain(void) + int save_errno = errno; + #endif + ++#ifdef ENABLE_THREAD_SAFETY + (void) pthread_mutex_lock(&binddomain_mutex); ++#endif + + if (!already_bound) + { +@@ -1260,7 +1264,9 @@ libpq_binddomain(void) + already_bound = true; + } + ++#ifdef ENABLE_THREAD_SAFETY + (void) pthread_mutex_unlock(&binddomain_mutex); ++#endif + + #ifdef WIN32 + SetLastError(save_errno); +-- +2.45.2 + diff --git a/package/postgresql/S50postgresql b/package/postgresql/S50postgresql index 1ece4fca9..f8077600d 100644 --- a/package/postgresql/S50postgresql +++ b/package/postgresql/S50postgresql @@ -6,7 +6,7 @@ umask 077 if [ ! -f /var/lib/pgsql/PG_VERSION ]; then - echo "Initializing postgresql data base..." + echo "Initializing postgresql database..." su - postgres -c '/usr/bin/pg_ctl initdb -D /var/lib/pgsql' echo "done" fi diff --git a/package/postgresql/postgresql.hash b/package/postgresql/postgresql.hash index cf859e350..11c0e77b0 100644 --- a/package/postgresql/postgresql.hash +++ b/package/postgresql/postgresql.hash @@ -1,4 +1,4 @@ -# From https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.bz2.sha256 -sha256 ce3c4d85d19b0121fe0d3f8ef1fa601f71989e86f8a66f7dc3ad546dd5564fec postgresql-16.1.tar.bz2 +# From https://ftp.postgresql.org/pub/source/v16.7/postgresql-16.7.tar.bz2.sha256 +sha256 62e02f77ebfc4a37f1700c20cc3ccd85ff797b5613766ebf949a7899bb2113fe postgresql-16.7.tar.bz2 # License file, Locally calculated -sha256 1a7d13c3ab31961b91ba256f77d6e82e0b54bf992253060fe93bdb5466df416a COPYRIGHT +sha256 9bf20ee493926a7e17a74bc7f05089fbc014269667b1540bc35a6b194a40c9de COPYRIGHT diff --git a/package/postgresql/postgresql.mk b/package/postgresql/postgresql.mk index 644f93d88..f4b384ed8 100644 --- a/package/postgresql/postgresql.mk +++ b/package/postgresql/postgresql.mk @@ -4,7 +4,7 @@ # ################################################################################ -POSTGRESQL_VERSION = 16.1 +POSTGRESQL_VERSION = 16.7 POSTGRESQL_SOURCE = postgresql-$(POSTGRESQL_VERSION).tar.bz2 POSTGRESQL_SITE = https://ftp.postgresql.org/pub/source/v$(POSTGRESQL_VERSION) POSTGRESQL_LICENSE = PostgreSQL diff --git a/package/pppd/0001-Add-configure-check-to-see-if-we-have-struct-sockadd.patch b/package/pppd/0001-Add-configure-check-to-see-if-we-have-struct-sockadd.patch deleted file mode 100644 index 9e4111040..000000000 --- a/package/pppd/0001-Add-configure-check-to-see-if-we-have-struct-sockadd.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 9d6d326b2530cffb1414e4c401675117c42d43ce Mon Sep 17 00:00:00 2001 -From: Eivind Naess -Date: Sun, 23 Apr 2023 11:30:43 -0700 -Subject: [PATCH] Add configure check to see if we have struct sockaddr_ll - -Fixes issue #411. - -Signed-off-by: Eivind Naess - -Upstream: https://github.com/ppp-project/ppp/commit/9d6d326b2530cffb1414e4c401675117c42d43ce - -Signed-off-by: Bernd Kuhls ---- - configure.ac | 3 ++- - pppd/plugins/pppoe/config.h.in | 2 ++ - 2 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 1180f64..38b24af 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -75,7 +75,8 @@ AM_COND_IF([LINUX], [ - linux/if_ether.h \ - linux/if_packet.h \ - netinet/if_ether.h \ -- netpacket/packet.h])]) -+ netpacket/packet.h]) -+ AC_CHECK_TYPES([struct sockaddr_ll], [], [], [#include ])]) - - AC_CHECK_SIZEOF(unsigned int) - AC_CHECK_SIZEOF(unsigned long) -diff --git a/pppd/plugins/pppoe/config.h.in b/pppd/plugins/pppoe/config.h.in -index d447f5e..d7d61c0 100644 ---- a/pppd/plugins/pppoe/config.h.in -+++ b/pppd/plugins/pppoe/config.h.in -@@ -69,3 +69,5 @@ - /* The size of `unsigned short', as computed by sizeof. */ - #undef SIZEOF_UNSIGNED_SHORT - -+/* Define to 1 if the system has the type `struct sockaddr_ll'. */ -+#undef HAVE_STRUCT_SOCKADDR_LL --- -2.39.2 - diff --git a/package/pppd/0001-pppd-workaround-sparc-asm-termbits.h-issue.patch b/package/pppd/0001-pppd-workaround-sparc-asm-termbits.h-issue.patch new file mode 100644 index 000000000..923c04774 --- /dev/null +++ b/package/pppd/0001-pppd-workaround-sparc-asm-termbits.h-issue.patch @@ -0,0 +1,316 @@ +From ef37e5b112734f551132b613438788fd4ef8797a Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Fri, 12 Jul 2024 20:24:22 +0200 +Subject: [PATCH] pppd: workaround sparc issue +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The SPARC version of the kernel header has an issue: +it defines "struct termio", which conflicts with the definition in +, causing a build failure in pppd. + +This issue was fixed in the upstream Linux kernel in commit +c32d18e7942d7589b62e301eb426b32623366565 ("sparc: move struct termio +to asm/termios.h"), which is going to appear in Linux 6.10. + +In order to support building with older toolchains, this patch +includes in the pppd source code a copy of the fixed SPARC + in the pppd code base, and uses it if we're on SPARC +with kernel headers older than 6.10. + +Fixes: + +In file included from termios_linux.h:39: +/home/thomas/projets/buildroot/output/host/sparc64-buildroot-linux-gnu/sysroot/usr/include/asm/termbits.h:17:8: error: redefinition of ‘struct termio’ + 17 | struct termio { + | ^~~~~~ + CC pppd-ipv6cp.o +In file included from /home/thomas/projets/buildroot/output/host/sparc64-buildroot-linux-gnu/sysroot/usr/include/sys/ioctl.h:29, + from sys-linux.c:76: +/home/thomas/projets/buildroot/output/host/sparc64-buildroot-linux-gnu/sysroot/usr/include/bits/ioctl-types.h:36:8: note: originally defined here + 36 | struct termio + | ^~~~~~ + +Upstream: https://github.com/ppp-project/ppp/pull/504 +Signed-off-by: Thomas Petazzoni +--- + pppd/sparc-termbits.h | 247 ++++++++++++++++++++++++++++++++++++++++++ + pppd/termios_linux.h | 6 + + 2 files changed, 253 insertions(+) + create mode 100644 pppd/sparc-termbits.h + +diff --git a/pppd/sparc-termbits.h b/pppd/sparc-termbits.h +new file mode 100644 +index 0000000..f92a27a +--- /dev/null ++++ b/pppd/sparc-termbits.h +@@ -0,0 +1,247 @@ ++/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ ++#ifndef _SPARC_TERMBITS_H ++#define _SPARC_TERMBITS_H ++ ++#include ++ ++typedef unsigned char cc_t; ++typedef unsigned int speed_t; ++ ++#if defined(__sparc__) && defined(__arch64__) ++typedef unsigned int tcflag_t; ++#else ++typedef unsigned long tcflag_t; ++#endif ++ ++#define NCCS 17 ++struct termios { ++ tcflag_t c_iflag; /* input mode flags */ ++ tcflag_t c_oflag; /* output mode flags */ ++ tcflag_t c_cflag; /* control mode flags */ ++ tcflag_t c_lflag; /* local mode flags */ ++ cc_t c_line; /* line discipline */ ++ cc_t c_cc[NCCS]; /* control characters */ ++}; ++ ++struct termios2 { ++ tcflag_t c_iflag; /* input mode flags */ ++ tcflag_t c_oflag; /* output mode flags */ ++ tcflag_t c_cflag; /* control mode flags */ ++ tcflag_t c_lflag; /* local mode flags */ ++ cc_t c_line; /* line discipline */ ++ cc_t c_cc[NCCS+2]; /* control characters */ ++ speed_t c_ispeed; /* input speed */ ++ speed_t c_ospeed; /* output speed */ ++}; ++ ++struct ktermios { ++ tcflag_t c_iflag; /* input mode flags */ ++ tcflag_t c_oflag; /* output mode flags */ ++ tcflag_t c_cflag; /* control mode flags */ ++ tcflag_t c_lflag; /* local mode flags */ ++ cc_t c_line; /* line discipline */ ++ cc_t c_cc[NCCS+2]; /* control characters */ ++ speed_t c_ispeed; /* input speed */ ++ speed_t c_ospeed; /* output speed */ ++}; ++ ++/* c_cc characters */ ++#define VINTR 0 ++#define VQUIT 1 ++#define VERASE 2 ++#define VKILL 3 ++#define VEOF 4 ++#define VEOL 5 ++#define VEOL2 6 ++#define VSWTC 7 ++#define VSTART 8 ++#define VSTOP 9 ++ ++ ++ ++#define VSUSP 10 ++#define VDSUSP 11 /* SunOS POSIX nicety I do believe... */ ++#define VREPRINT 12 ++#define VDISCARD 13 ++#define VWERASE 14 ++#define VLNEXT 15 ++ ++/* Kernel keeps vmin/vtime separated, user apps assume vmin/vtime is ++ * shared with eof/eol ++ */ ++#define VMIN VEOF ++#define VTIME VEOL ++ ++/* c_iflag bits */ ++#define IGNBRK 0x00000001 ++#define BRKINT 0x00000002 ++#define IGNPAR 0x00000004 ++#define PARMRK 0x00000008 ++#define INPCK 0x00000010 ++#define ISTRIP 0x00000020 ++#define INLCR 0x00000040 ++#define IGNCR 0x00000080 ++#define ICRNL 0x00000100 ++#define IUCLC 0x00000200 ++#define IXON 0x00000400 ++#define IXANY 0x00000800 ++#define IXOFF 0x00001000 ++#define IMAXBEL 0x00002000 ++#define IUTF8 0x00004000 ++ ++/* c_oflag bits */ ++#define OPOST 0x00000001 ++#define OLCUC 0x00000002 ++#define ONLCR 0x00000004 ++#define OCRNL 0x00000008 ++#define ONOCR 0x00000010 ++#define ONLRET 0x00000020 ++#define OFILL 0x00000040 ++#define OFDEL 0x00000080 ++#define NLDLY 0x00000100 ++#define NL0 0x00000000 ++#define NL1 0x00000100 ++#define CRDLY 0x00000600 ++#define CR0 0x00000000 ++#define CR1 0x00000200 ++#define CR2 0x00000400 ++#define CR3 0x00000600 ++#define TABDLY 0x00001800 ++#define TAB0 0x00000000 ++#define TAB1 0x00000800 ++#define TAB2 0x00001000 ++#define TAB3 0x00001800 ++#define XTABS 0x00001800 ++#define BSDLY 0x00002000 ++#define BS0 0x00000000 ++#define BS1 0x00002000 ++#define VTDLY 0x00004000 ++#define VT0 0x00000000 ++#define VT1 0x00004000 ++#define FFDLY 0x00008000 ++#define FF0 0x00000000 ++#define FF1 0x00008000 ++#define PAGEOUT 0x00010000 /* SUNOS specific */ ++#define WRAP 0x00020000 /* SUNOS specific */ ++ ++/* c_cflag bit meaning */ ++#define CBAUD 0x0000100f ++#define B0 0x00000000 /* hang up */ ++#define B50 0x00000001 ++#define B75 0x00000002 ++#define B110 0x00000003 ++#define B134 0x00000004 ++#define B150 0x00000005 ++#define B200 0x00000006 ++#define B300 0x00000007 ++#define B600 0x00000008 ++#define B1200 0x00000009 ++#define B1800 0x0000000a ++#define B2400 0x0000000b ++#define B4800 0x0000000c ++#define B9600 0x0000000d ++#define B19200 0x0000000e ++#define B38400 0x0000000f ++#define EXTA B19200 ++#define EXTB B38400 ++#define CSIZE 0x00000030 ++#define CS5 0x00000000 ++#define CS6 0x00000010 ++#define CS7 0x00000020 ++#define CS8 0x00000030 ++#define CSTOPB 0x00000040 ++#define CREAD 0x00000080 ++#define PARENB 0x00000100 ++#define PARODD 0x00000200 ++#define HUPCL 0x00000400 ++#define CLOCAL 0x00000800 ++#define CBAUDEX 0x00001000 ++/* We'll never see these speeds with the Zilogs, but for completeness... */ ++#define BOTHER 0x00001000 ++#define B57600 0x00001001 ++#define B115200 0x00001002 ++#define B230400 0x00001003 ++#define B460800 0x00001004 ++/* This is what we can do with the Zilogs. */ ++#define B76800 0x00001005 ++/* This is what we can do with the SAB82532. */ ++#define B153600 0x00001006 ++#define B307200 0x00001007 ++#define B614400 0x00001008 ++#define B921600 0x00001009 ++/* And these are the rest... */ ++#define B500000 0x0000100a ++#define B576000 0x0000100b ++#define B1000000 0x0000100c ++#define B1152000 0x0000100d ++#define B1500000 0x0000100e ++#define B2000000 0x0000100f ++/* These have totally bogus values and nobody uses them ++ so far. Later on we'd have to use say 0x10000x and ++ adjust CBAUD constant and drivers accordingly. ++#define B2500000 0x00001010 ++#define B3000000 0x00001011 ++#define B3500000 0x00001012 ++#define B4000000 0x00001013 */ ++#define CIBAUD 0x100f0000 /* input baud rate (not used) */ ++#define CMSPAR 0x40000000 /* mark or space (stick) parity */ ++#define CRTSCTS 0x80000000 /* flow control */ ++ ++#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */ ++ ++/* c_lflag bits */ ++#define ISIG 0x00000001 ++#define ICANON 0x00000002 ++#define XCASE 0x00000004 ++#define ECHO 0x00000008 ++#define ECHOE 0x00000010 ++#define ECHOK 0x00000020 ++#define ECHONL 0x00000040 ++#define NOFLSH 0x00000080 ++#define TOSTOP 0x00000100 ++#define ECHOCTL 0x00000200 ++#define ECHOPRT 0x00000400 ++#define ECHOKE 0x00000800 ++#define DEFECHO 0x00001000 /* SUNOS thing, what is it? */ ++#define FLUSHO 0x00002000 ++#define PENDIN 0x00004000 ++#define IEXTEN 0x00008000 ++#define EXTPROC 0x00010000 ++ ++/* modem lines */ ++#define TIOCM_LE 0x001 ++#define TIOCM_DTR 0x002 ++#define TIOCM_RTS 0x004 ++#define TIOCM_ST 0x008 ++#define TIOCM_SR 0x010 ++#define TIOCM_CTS 0x020 ++#define TIOCM_CAR 0x040 ++#define TIOCM_RNG 0x080 ++#define TIOCM_DSR 0x100 ++#define TIOCM_CD TIOCM_CAR ++#define TIOCM_RI TIOCM_RNG ++#define TIOCM_OUT1 0x2000 ++#define TIOCM_OUT2 0x4000 ++#define TIOCM_LOOP 0x8000 ++ ++/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ ++#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */ ++ ++ ++/* tcflow() and TCXONC use these */ ++#define TCOOFF 0 ++#define TCOON 1 ++#define TCIOFF 2 ++#define TCION 3 ++ ++/* tcflush() and TCFLSH use these */ ++#define TCIFLUSH 0 ++#define TCOFLUSH 1 ++#define TCIOFLUSH 2 ++ ++/* tcsetattr uses these */ ++#define TCSANOW 0 ++#define TCSADRAIN 1 ++#define TCSAFLUSH 2 ++ ++#endif /* _SPARC_TERMBITS_H */ +diff --git a/pppd/termios_linux.h b/pppd/termios_linux.h +index a234d30..9812017 100644 +--- a/pppd/termios_linux.h ++++ b/pppd/termios_linux.h +@@ -32,7 +32,13 @@ + #include + #include + #include ++#include ++ ++#if defined(__sparc__) && LINUX_VERSION_CODE < KERNEL_VERSION(6,10,0) ++#include "sparc-termbits.h" ++#else + #include ++#endif + + #if defined(BOTHER) && defined(TCGETS2) + #define termios termios2 +-- +2.45.2 + diff --git a/package/pppd/0002-Closes-411-Fixing-up-parsing-in-radiusclient.conf.patch b/package/pppd/0002-Closes-411-Fixing-up-parsing-in-radiusclient.conf.patch deleted file mode 100644 index 5fa3ded75..000000000 --- a/package/pppd/0002-Closes-411-Fixing-up-parsing-in-radiusclient.conf.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 7f89208b860ea0c41636410bfdb6a609b2772f47 Mon Sep 17 00:00:00 2001 -From: Eivind Naess -Date: Sun, 23 Apr 2023 11:37:01 -0700 -Subject: [PATCH] Closes #411, Fixing up parsing in radiusclient.conf - -Adding curly braces to fix the code. - -Signed-off-by: Eivind Naess - -Upstream: https://github.com/ppp-project/ppp/commit/7f89208b860ea0c41636410bfdb6a609b2772f47 - -Signed-off-by: Bernd Kuhls ---- - pppd/plugins/radius/config.c | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -diff --git a/pppd/plugins/radius/config.c b/pppd/plugins/radius/config.c -index 39744fc..e1a4814 100644 ---- a/pppd/plugins/radius/config.c -+++ b/pppd/plugins/radius/config.c -@@ -235,24 +235,28 @@ int rc_read_config(char *filename) - - switch (option->type) { - case OT_STR: -- if (set_option_str(filename, line, option, p) < 0) -+ if (set_option_str(filename, line, option, p) < 0) { - fclose(configfd); - return (-1); -+ } - break; - case OT_INT: -- if (set_option_int(filename, line, option, p) < 0) -+ if (set_option_int(filename, line, option, p) < 0) { - fclose(configfd); - return (-1); -+ } - break; - case OT_SRV: -- if (set_option_srv(filename, line, option, p) < 0) -+ if (set_option_srv(filename, line, option, p) < 0) { - fclose(configfd); - return (-1); -+ } - break; - case OT_AUO: -- if (set_option_auo(filename, line, option, p) < 0) -+ if (set_option_auo(filename, line, option, p) < 0) { - fclose(configfd); - return (-1); -+ } - break; - default: - fatal("rc_read_config: impossible case branch!"); --- -2.39.2 - diff --git a/package/pppd/0003-Fixes-issue-429-stray-include-of-an-openssl-header-w.patch b/package/pppd/0003-Fixes-issue-429-stray-include-of-an-openssl-header-w.patch deleted file mode 100644 index b5f9f319f..000000000 --- a/package/pppd/0003-Fixes-issue-429-stray-include-of-an-openssl-header-w.patch +++ /dev/null @@ -1,31 +0,0 @@ -From cf7ac82a610bbfee57512cba345f7d49c02563a2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Eivind=20N=C3=A6ss?= -Date: Wed, 14 Jun 2023 23:19:46 +0000 -Subject: [PATCH] Fixes issue #429, stray include of an openssl header was - removed -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Eivind Næss - -Upstream: https://github.com/ppp-project/ppp/pull/431 - -Signed-off-by: Bernd Kuhls ---- - pppd/crypto_ms.c | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/pppd/crypto_ms.c b/pppd/crypto_ms.c -index a9ddd5fda..ccf8129d4 100644 ---- a/pppd/crypto_ms.c -+++ b/pppd/crypto_ms.c -@@ -122,8 +122,6 @@ MakeKey(const unsigned char *key, unsigned char *des_key) - DES_set_odd_parity((DES_cblock *)des_key); - } - --#include -- - int - DesEncrypt(const unsigned char *clear, const unsigned char *key, unsigned char *cipher) - { diff --git a/package/pppd/0004-pppd-ppp-sha1.c-use-uint32_t-instead-of-u_int32_t.patch b/package/pppd/0004-pppd-ppp-sha1.c-use-uint32_t-instead-of-u_int32_t.patch deleted file mode 100644 index bce7687b9..000000000 --- a/package/pppd/0004-pppd-ppp-sha1.c-use-uint32_t-instead-of-u_int32_t.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 7eb0cc63e38a1fcaff24bc3ca146c13414a1420e Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sun, 18 Jun 2023 15:53:43 +0200 -Subject: [PATCH] pppd/ppp-sha1.c: use uint32_t instead of u_int32_t - -Fixes build with musl-libc toolchains. - -Upstream: https://github.com/ppp-project/ppp/pull/432 - -Signed-off-by: Bernd Kuhls ---- - pppd/ppp-sha1.c | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/pppd/ppp-sha1.c b/pppd/ppp-sha1.c -index ab4dcd5..9ff3a24 100644 ---- a/pppd/ppp-sha1.c -+++ b/pppd/ppp-sha1.c -@@ -110,14 +110,14 @@ static void sha1_clean(PPP_MD_CTX *ctx) - #include /* htonl() */ - - typedef struct { -- u_int32_t state[5]; -- u_int32_t count[2]; -+ uint32_t state[5]; -+ uint32_t count[2]; - unsigned char buffer[64]; - } SHA1_CTX; - - - static void --SHA1_Transform(u_int32_t[5], const unsigned char[64]); -+SHA1_Transform(uint32_t[5], const unsigned char[64]); - - #define rol(value, bits) (((value) << (bits)) | ((value) >> (32 - (bits)))) - -@@ -138,12 +138,12 @@ SHA1_Transform(u_int32_t[5], const unsigned char[64]); - /* Hash a single 512-bit block. This is the core of the algorithm. */ - - static void --SHA1_Transform(u_int32_t state[5], const unsigned char buffer[64]) -+SHA1_Transform(uint32_t state[5], const unsigned char buffer[64]) - { -- u_int32_t a, b, c, d, e; -+ uint32_t a, b, c, d, e; - typedef union { - unsigned char c[64]; -- u_int32_t l[16]; -+ uint32_t l[16]; - } CHAR64LONG16; - CHAR64LONG16 *block; - -@@ -236,7 +236,7 @@ SHA1_Update(SHA1_CTX *context, const unsigned char *data, unsigned int len) - static void - SHA1_Final(unsigned char digest[20], SHA1_CTX *context) - { -- u_int32_t i, j; -+ uint32_t i, j; - unsigned char finalcount[8]; - - for (i = 0; i < 8; i++) { --- -2.39.2 - diff --git a/package/pppd/pppd.hash b/package/pppd/pppd.hash index 9a293e7d8..bf2265088 100644 --- a/package/pppd/pppd.hash +++ b/package/pppd/pppd.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 425a5b2df592f4b79e251e5b0d3af48265904162cb0906691a5d35ec355b426d pppd-2.5.0.tar.gz +sha256 535efa0e7c36e9d443b1b52c296d63ab2c1ec9458816ea0e37c701e0a921466d pppd-e1266c76d1ad39f98f11676e34f180f78c5a510c.tar.gz sha256 5d588eb3b157d52112afea935c88a7ff9efddc1e2d95a42c25d3b96ad9055008 LICENSE.BSD sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL-2 diff --git a/package/pppd/pppd.mk b/package/pppd/pppd.mk index 616b843e3..d996a3912 100644 --- a/package/pppd/pppd.mk +++ b/package/pppd/pppd.mk @@ -6,8 +6,8 @@ # The tarball provided at https://download.samba.org/pub/ppp/ does not # include the license files yet so we use the github tarball. -PPPD_VERSION = 2.5.0 -PPPD_SITE = $(call github,ppp-project,ppp,ppp-$(PPPD_VERSION)) +PPPD_VERSION = e1266c76d1ad39f98f11676e34f180f78c5a510c +PPPD_SITE = $(call github,ppp-project,ppp,$(PPPD_VERSION)) PPPD_LICENSE = LGPL-2.0+, LGPL, BSD-4-Clause, BSD-3-Clause, GPL-2.0+ PPPD_LICENSE_FILES = LICENSE.BSD LICENSE.GPL-2 PPPD_CPE_ID_VENDOR = point-to-point_protocol_project @@ -17,6 +17,13 @@ PPPD_AUTORECONF = YES PPPD_INSTALL_STAGING = YES PPPD_CONF_OPTS = --enable-multilink +ifeq ($(BR2_PACKAGE_LINUX_PAM),y) +PPPD_CONF_OPTS += --with-pam=$(STAGING_DIR)/usr +PPPD_DEPENDENCIES += linux-pam +else +PPPD_CONF_OPTS += --without-pam +endif + ifeq ($(BR2_PACKAGE_OPENSSL),y) PPPD_CONF_OPTS += \ --enable-eaptls \ diff --git a/package/privoxy/0001-GNUmakefile-in-Don-t-exit-if-configuration-files-are.patch b/package/privoxy/0001-GNUmakefile-in-Don-t-exit-if-configuration-files-are.patch new file mode 100644 index 000000000..e04d191ce --- /dev/null +++ b/package/privoxy/0001-GNUmakefile-in-Don-t-exit-if-configuration-files-are.patch @@ -0,0 +1,30 @@ +From 4b3b267db159dc23314de3062859481b7c397e32 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 17 Mar 2024 12:36:31 +0100 +Subject: [PATCH] GNUmakefile.in: Don't exit if configuration files are + installed as root + +... as this can be considered acceptable when cross-compiling +Privoxy inside an autobuilder with only a root user. + +Upstream: https://www.privoxy.org/gitweb/?p=privoxy.git;a=commit;h=4b3b267db159dc23314de3062859481b7c397e32 +Signed-off-by: Fabrice Fontaine +--- + GNUmakefile.in | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/GNUmakefile.in b/GNUmakefile.in +index 04cceb15..cf79aae1 100644 +--- a/GNUmakefile.in ++++ b/GNUmakefile.in +@@ -927,7 +927,6 @@ install: CONF_DEST LOG_DEST PID_DEST check_doc GROUP_T + $(ECHO) " and to install the config files as that user and/or group!" ;\ + $(ECHO) " Please read INSTALL, and create a privoxy user and group!" ;\ + $(ECHO) "*******************************************************************" ;\ +- exit 1 ;\ + fi ;\ + else \ + GROUP_T=$(GROUP) ;\ +-- +2.39.2 + diff --git a/package/privoxy/0002-GNUMakefile.in-fix-root-install.patch b/package/privoxy/0002-GNUMakefile.in-fix-root-install.patch new file mode 100644 index 000000000..89347c214 --- /dev/null +++ b/package/privoxy/0002-GNUMakefile.in-fix-root-install.patch @@ -0,0 +1,35 @@ +From 25bd5ae1664f5603c05c72b2c38525602f33da0a Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 31 Mar 2024 19:17:45 +0200 +Subject: [PATCH] GNUMakefile.in: fix root install + +Set GROUP_T when installing configuration files as root to avoid the +following build failure since commit +4b3b267db159dc23314de3062859481b7c397e32: + +/usr/bin/install: missing destination file operand after '/home/buildroot/instance-0/output-1/target/etc' + +Fixes: + - http://autobuild.buildroot.org/results/eb4ccf248c9c5048e9b71058bb0311b1e0763883 + +Signed-off-by: Fabrice Fontaine +Upstream: https://lists.privoxy.org/pipermail/privoxy-devel/2024-March/000760.html +--- + GNUmakefile.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/GNUmakefile.in b/GNUmakefile.in +index cf79aae1..db1bab59 100644 +--- a/GNUmakefile.in ++++ b/GNUmakefile.in +@@ -927,6 +927,7 @@ install: CONF_DEST LOG_DEST PID_DEST check_doc GROUP_T + $(ECHO) " and to install the config files as that user and/or group!" ;\ + $(ECHO) " Please read INSTALL, and create a privoxy user and group!" ;\ + $(ECHO) "*******************************************************************" ;\ ++ GROUP_T=$(GROUP) ;\ + fi ;\ + else \ + GROUP_T=$(GROUP) ;\ +-- +2.43.0 + diff --git a/package/procps-ng/0001-build-sys-Add-systemd-elogind-to-w.patch b/package/procps-ng/0001-build-sys-Add-systemd-elogind-to-w.patch new file mode 100644 index 000000000..4a8b2a6a8 --- /dev/null +++ b/package/procps-ng/0001-build-sys-Add-systemd-elogind-to-w.patch @@ -0,0 +1,48 @@ +From 788248ee631b3b5f82073c36320fc3f4a3c8f9ba Mon Sep 17 00:00:00 2001 +From: Craig Small +Date: Thu, 31 Aug 2023 22:24:23 +1000 +Subject: [PATCH] build-sys: Add systemd/elogind to w + +Depending on the compiler flags, w needs to be explictly linked +to libsystemd or elogind even though libproc2 is linked to it. + +Signed-off-by: Craig Small +Upstream: https://gitlab.com/procps-ng/procps/-/commit/ca004d4657d5e8b468a4552ede429be53193a3a9 +Signed-off-by: Hugo Cornelis +--- + Makefile.am | 7 +++++++ + NEWS | 3 +++ + 2 files changed, 10 insertions(+) + +diff --git a/Makefile.am b/Makefile.am +index f70c8fb1..ddfc0141 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -149,6 +149,13 @@ endif + + dist_man_MANS += man/w.1 + src_w_SOURCES = src/w.c local/fileutils.c ++src_w_LDADD = $(LDADD) ++if WITH_SYSTEMD ++src_w_LDADD += @SYSTEMD_LIBS@ ++endif ++if WITH_ELOGIND ++src_w_LDADD += @ELOGIND_LIBS@ ++endif + else + EXTRA_DIST += man/w.1 + endif +diff --git a/NEWS b/NEWS +index 3f2158d4..4ad9f74e 100644 +--- a/NEWS ++++ b/NEWS +@@ -1,3 +1,6 @@ ++procps-ng-NEXT ++--------------- ++ + procps-ng-4.0.4 + --------------- + * library (API & ABI unchanged) +-- +2.34.1 + diff --git a/package/procps-ng/0001-configure-Add--disable-w.patch b/package/procps-ng/0001-configure-Add--disable-w.patch deleted file mode 100644 index 8a699df5a..000000000 --- a/package/procps-ng/0001-configure-Add--disable-w.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 1524a625e693b956ce0b5091c9f89f24fb7e8614 Mon Sep 17 00:00:00 2001 -From: "Issam E. Maghni" -Date: Fri, 23 Apr 2021 15:58:36 -0400 -Subject: [PATCH] configure: Add --disable-w - -[Retrieved (and backported) from: -https://gitlab.com/procps-ng/procps/-/commit/1524a625e693b956ce0b5091c9f89f24fb7e8614] -Signed-off-by: Fabrice Fontaine ---- - Makefile.am | 21 +++++++++++++++------ - configure.ac | 6 ++++++ - 2 files changed, 21 insertions(+), 6 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index de15e137..d2356872 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -47,8 +47,7 @@ bin_PROGRAMS = \ - pwdx \ - tload \ - uptime \ -- vmstat \ -- w -+ vmstat - if BUILD_PWAIT - bin_PROGRAMS += pwait - endif -@@ -60,8 +59,7 @@ usrbin_exec_PROGRAMS += \ - pkill \ - pmap \ - uptime \ -- vmstat \ -- w -+ vmstat - endif - - lib_LTLIBRARIES = \ -@@ -74,7 +72,6 @@ dist_man_MANS = \ - pmap.1 \ - uptime.1 \ - vmstat.8 \ -- w.1 \ - ps/procps.1 - - if !CYGWIN -@@ -137,6 +134,19 @@ else - EXTRA_DIST += kill.1 - endif - -+if BUILD_W -+if CYGWIN -+usrbin_exec_PROGRAMS += w -+else -+bin_PROGRAMS += w -+endif -+ -+dist_man_MANS += w.1 -+w_SOURCES = w.c lib/fileutils.c -+else -+ EXTRA_DIST += w.1 -+endif -+ - if WITH_NCURSES - if !CYGWIN - bin_PROGRAMS += \ -@@ -213,7 +223,6 @@ endif - tload_SOURCES = tload.c lib/strutils.c lib/fileutils.c - uptime_SOURCES = uptime.c lib/fileutils.c - vmstat_SOURCES = vmstat.c lib/strutils.c lib/fileutils.c --w_SOURCES = w.c lib/fileutils.c - - # proc/libprocps.la - -diff --git a/configure.ac b/configure.ac -index 750c0fbb..3e83fb88 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -234,6 +234,12 @@ AC_ARG_ENABLE([kill], - [], [enable_kill=yes] - ) - AM_CONDITIONAL(BUILD_KILL, test "x$enable_kill" = xyes) -+AC_ARG_ENABLE([w], -+ AS_HELP_STRING([--disable-w], [do not build w]), -+ [], [enable_w=yes] -+) -+AM_CONDITIONAL(BUILD_W, test "x$enable_w" = xyes) -+ - AM_CONDITIONAL(LINUX, test "x$host_os" = xlinux-gnu) - AM_CONDITIONAL(CYGWIN, test "x$host_os" = xcygwin) - --- -GitLab - diff --git a/package/procps-ng/0002-escape-c-Fix-missing-nl_langinfo-on-certain-configs.patch b/package/procps-ng/0002-escape-c-Fix-missing-nl_langinfo-on-certain-configs.patch deleted file mode 100644 index f3e2b126a..000000000 --- a/package/procps-ng/0002-escape-c-Fix-missing-nl_langinfo-on-certain-configs.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 2763b9880a7aab569694d6ee3170dd7341a26b84 Mon Sep 17 00:00:00 2001 -From: "Issam E. Maghni" -Date: Fri, 23 Apr 2021 16:53:39 -0400 -Subject: [PATCH] escape.c: Fix missing nl_langinfo on certain configs - -[Retrieved from: -https://gitlab.com/procps-ng/procps/-/commit/2763b9880a7aab569694d6ee3170dd7341a26b84] -Signed-off-by: Fabrice Fontaine ---- - proc/escape.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/proc/escape.c b/proc/escape.c -index 2e8fb7dd..cf4a80de 100644 ---- a/proc/escape.c -+++ b/proc/escape.c -@@ -24,13 +24,13 @@ - #include "procps.h" - #include "escape.h" - #include "readproc.h" -+#include "nls.h" - - #if (__GNU_LIBRARY__ >= 6) && (!defined(__UCLIBC__) || defined(__UCLIBC_HAS_WCHAR__)) - # include - # include - # include /* MB_CUR_MAX */ - # include --# include - #endif - - #define SECURE_ESCAPE_ARGS(dst, bytes, cells) do { \ --- -GitLab - diff --git a/package/procps-ng/0002-fix-ncurses-h-include.patch b/package/procps-ng/0002-fix-ncurses-h-include.patch new file mode 100644 index 000000000..619126b86 --- /dev/null +++ b/package/procps-ng/0002-fix-ncurses-h-include.patch @@ -0,0 +1,55 @@ +From 263fe04f9ed6f3f40fdb7ce249221e03dc926c9b Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 24 Jul 2024 09:51:00 +0200 +Subject: [PATCH] fix ncurses.h include + +Commit 58559a5b64a3634460536d6397ca382a54b599f0 was not backported from +3.3.17 to 4.0.0 resulting in the following build failure when ncursesw +headers are not installed in ../usr/include/ncursesw/..: + +src/watch.c:56:11: fatal error: ncursesw/ncurses.h: No such file or directory + 56 | # include + | ^~~~~~~~~~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/b7573be2e78f3d224f48cb3f52087e3d227d58e3 + +Signed-off-by: Fabrice Fontaine + +Upstream: https://gitlab.com/procps-ng/procps/-/commit/263fe04f9ed6f3f40fdb7ce249221e03dc926c9b + +Signed-off-by: Bernd Kuhls +[Bernd: backported to version 4.0.4] +--- + configure.ac | 2 +- + src/watch.c | 5 ++++- + 2 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index d433901f..38350aaf 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -64,7 +64,7 @@ PROCPS_PROG_PO4A + + # Checks for header files. + AC_HEADER_MAJOR +-AC_CHECK_HEADERS([arpa/inet.h fcntl.h float.h langinfo.h libintl.h limits.h locale.h stdint.h stdio_ext.h stdlib.h string.h sys/file.h sys/ioctl.h sys/param.h sys/time.h termios.h unistd.h utmp.h utmpx.h values.h wchar.h wctype.h]) ++AC_CHECK_HEADERS([arpa/inet.h fcntl.h float.h langinfo.h libintl.h limits.h locale.h ncursesw/ncurses.h stdint.h stdio_ext.h stdlib.h string.h sys/file.h sys/ioctl.h sys/param.h sys/time.h termios.h unistd.h utmp.h utmpx.h values.h wchar.h wctype.h]) + + # Checks for typedefs, structures, and compiler characteristics. + AC_CHECK_HEADER_STDBOOL +diff --git a/src/watch.c b/src/watch.c +index ef638e00..7ec634b6 100644 +--- a/src/watch.c ++++ b/src/watch.c +@@ -53,6 +53,8 @@ + # define _XOPEN_SOURCE_EXTENDED 1 + # include + # include ++#endif ++#ifdef HAVE_NCURSESW_NCURSES_H + # include + #else + # include +-- +GitLab diff --git a/package/procps-ng/0003-build-sys-Fix-pidfd_open-checking.patch b/package/procps-ng/0003-build-sys-Fix-pidfd_open-checking.patch new file mode 100644 index 000000000..fc7e09234 --- /dev/null +++ b/package/procps-ng/0003-build-sys-Fix-pidfd_open-checking.patch @@ -0,0 +1,99 @@ +From f37d178d5c25c547835d054fbb1eda32c25034b3 Mon Sep 17 00:00:00 2001 +From: Craig Small +Date: Mon, 30 Sep 2024 17:26:01 +1000 +Subject: [PATCH] build-sys: Fix pidfd_open checking + +The previous build setup would check for pidfd_open using +AC_CHECK_FUNC and would be incorrectly reported as true. + +Also, if pidfd_open() and __NR_pidfd_open were not present, +pidwait would silently not be built. + +So, changes: + compile a small programin using pidfd_open to test it properly + conditionally try to find NR_pidfd_open if the function fails + complain if neither are present + have --disable-pidwait configure option so you are explicit in + not wanting and knowing you wont get pidwait + +References: + #352 + commit d9c3e3676d86094abaa239b3218f57bf49d70b4f + commit 17f94796a9b3c4f1ff28829107a82107dcb362b4 + +Signed-off-by: Craig Small + +Upstream: https://gitlab.com/procps-ng/procps/-/commit/2507bc475782ff5e0541d37c780dff1e293c9553 + +Signed-off-by: Scott Fan +[Scott: backported to version 4.0.4] +--- + configure.ac | 45 ++++++++++++++++++++++++++++++--------------- + 1 file changed, 30 insertions(+), 15 deletions(-) + +diff --git a/configure.ac b/configure.ac +index fec27e3f..0719fcd1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -170,21 +170,6 @@ AC_TRY_COMPILE([#include ], + AC_MSG_RESULT(yes), + AC_MSG_RESULT(no)) + +-AC_CHECK_FUNC([pidfd_open], [enable_pidwait=yes], [ +- AC_MSG_CHECKING([for __NR_pidfd_open]) +- AC_COMPILE_IFELSE([AC_LANG_SOURCE([ +-#include +-#ifndef __NR_pidfd_open +-#error __NR_pidfd_open not defined +-#endif +- ])], [enable_pidwait=yes], [enable_pidwait=no]) +- AC_MSG_RESULT([$enable_pidwait]) +-]) +-if test "$enable_pidwait" = yes; then +- AC_DEFINE([ENABLE_PIDWAIT], [1], [Enable pidwait]) +-fi +-AM_CONDITIONAL([BUILD_PIDWAIT], [test x$enable_pidwait = xyes]) +- + dnl watch8bit must be before the AC_ARG_WITH set as it sets up ncurses + AC_SUBST([WITH_WATCH8BIT]) + AC_ARG_ENABLE([watch8bit], +@@ -321,6 +306,36 @@ AC_ARG_ENABLE([pidof], + ) + AM_CONDITIONAL(BUILD_PIDOF, test "x$enable_pidof" = xyes) + ++# If pidwait is enabled, we need either pidfd_open() or __NR_pidfd_open need to be defined ++# Cannot use AC_CHECK_FUNC as it (incorrectly) passes with pidfd_open missing ++AC_ARG_ENABLE([pidwait], ++ AS_HELP_STRING([--disable-pidwait], [do not build pidwait]), ++ [], [ ++ enable_pidwait=yes ++ AC_DEFINE(ENABLE_PIDWAIT, 1, [enable pidwait]) ++ ] ++) ++AM_CONDITIONAL(BUILD_PIDWAIT, test "x$enable_pidwait" = xyes) ++AC_MSG_CHECKING([for pidfd_open()]) ++AC_LINK_IFELSE([AC_LANG_PROGRAM([], [[ [pidfd_open(1,1)]]])], ++ have_pidfd_open=yes; AC_MSG_RESULT([yes]) , ++ have_pidfd_open=no; AC_MSG_RESULT([no]) ++ ) ++ ++AS_IF([[test "x$enable_pidwait" = xyes -a "x$have_pidfd_open" = xno]], ++ AC_MSG_CHECKING([for __NR_pidfd_open]) ++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([ ++#include ++#ifndef __NR_pidfd_open ++#error __NR_pidfd_open not defined ++#endif ++ ])], ++ AC_MSG_RESULT([yes]), ++ AC_MSG_RESULT([no]) ++ AC_MSG_ERROR([Neither pidfd_open or __NR_pidfd_open found. Disable pidwait with configure option --disable-pidwait]) ++ ) ++ ,[]) ++ + AC_ARG_ENABLE([kill], + AS_HELP_STRING([--disable-kill], [do not build kill]), + [], [enable_kill=yes] +-- +2.43.0 + diff --git a/package/procps-ng/0003-fix-pifd_open-check.patch b/package/procps-ng/0003-fix-pifd_open-check.patch deleted file mode 100644 index 7152901e7..000000000 --- a/package/procps-ng/0003-fix-pifd_open-check.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 0cce3e981540c28d2f703b9ab16c04d0df8fa03d Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Thu, 3 Nov 2022 18:24:53 +0100 -Subject: [PATCH] fix pifd_open check - -Replace AC_CHECK_FUNC by AC_CHECK_FUNCS otherwise HAVE_PIDFD_OPEN will -never be defined resulting in the following build failure if pidfd_open -is available but __NR_pidfd_open is not available: - -pgrep.c: In function 'pidfd_open': -pgrep.c:748:17: error: '__NR_pidfd_open' undeclared (first use in this function); did you mean 'pidfd_open'? - 748 | return syscall(__NR_pidfd_open, pid, flags); - | ^~~~~~~~~~~~~~~ - | pidfd_open - -This build failure is raised since the addition of pwait in version -3.3.17 and -https://gitlab.com/procps-ng/procps/-/commit/c8384e682c1cfb3b2dc797e0f8a3cbaaccf7a3da - -Fixes: - - http://autobuild.buildroot.org/results/f23a5156e641b2ebdd673973dec0f9c87760c688 - -Signed-off-by: Fabrice Fontaine -[Upstream status: -https://gitlab.com/procps-ng/procps/-/merge_requests/166] ---- - configure.ac | 2 +- - src/pgrep.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 629881a6..1a3ccdb8 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -160,7 +160,7 @@ AC_TRY_COMPILE([#include ], - AC_MSG_RESULT(yes), - AC_MSG_RESULT(no)) - --AC_CHECK_FUNC([pidfd_open], [enable_pwait=yes], [ -+AC_CHECK_FUNCS([pidfd_open], [enable_pwait=yes], [ - AC_MSG_CHECKING([for __NR_pidfd_open]) - AC_COMPILE_IFELSE([AC_LANG_SOURCE([ - #include -diff --git a/pgrep.c b/pgrep.c -index c4ad5da3..29cfedf7 100644 ---- a/pgrep.c -+++ b/pgrep.c -@@ -38,7 +38,7 @@ - #include - #include - --#if defined(ENABLE_PWAIT) && !defined(HAVE_PIDFD_OPEN) -+#if defined(ENABLE_PWAIT) - #include - #include - #endif --- -2.35.1 - diff --git a/package/procps-ng/0004-build-sys-Fix-define-of-HAVE_PIDFD_OPEN.patch b/package/procps-ng/0004-build-sys-Fix-define-of-HAVE_PIDFD_OPEN.patch new file mode 100644 index 000000000..aa65df770 --- /dev/null +++ b/package/procps-ng/0004-build-sys-Fix-define-of-HAVE_PIDFD_OPEN.patch @@ -0,0 +1,37 @@ +From 1e2d53e1d86cb75e8f39b42b9a5c409e5d3261ed Mon Sep 17 00:00:00 2001 +From: oli-ben <24815225-oli-ben@users.noreply.gitlab.com> +Date: Wed, 27 Nov 2024 20:17:11 +0000 +Subject: [PATCH] build-sys: Fix define of HAVE_PIDFD_OPEN + +Fix cross-compilation issues when using GCC-12.3 +* configure fails to detect that the sysroot does support the pidfd_open + syscall wrapper +* configure fails to define HAVE_PIDFD_OPEN which is used in pgrep.c, + so it fails building, because __NR_pidfd_open is then undefined + +Upstream: https://gitlab.com/procps-ng/procps/-/commit/587efb47df7ddbfda4e6abdd1e7792a2531a238f + +Signed-off-by: Scott Fan +[Scott: backported to version 4.0.4] +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 0719fcd1..6242a8f8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -317,8 +317,8 @@ AC_ARG_ENABLE([pidwait], + ) + AM_CONDITIONAL(BUILD_PIDWAIT, test "x$enable_pidwait" = xyes) + AC_MSG_CHECKING([for pidfd_open()]) +-AC_LINK_IFELSE([AC_LANG_PROGRAM([], [[ [pidfd_open(1,1)]]])], +- have_pidfd_open=yes; AC_MSG_RESULT([yes]) , ++AC_LINK_IFELSE([AC_LANG_PROGRAM([], [[pidfd_open(1,1)]])], ++ have_pidfd_open=yes; AC_DEFINE(HAVE_PIDFD_OPEN, 1, [pidfd_open is defined]) AC_MSG_RESULT([yes]), + have_pidfd_open=no; AC_MSG_RESULT([no]) + ) + +-- +2.43.0 + diff --git a/package/procps-ng/0005-pgrep-Include-sys-syscall.h-if-making-pidwait.patch b/package/procps-ng/0005-pgrep-Include-sys-syscall.h-if-making-pidwait.patch new file mode 100644 index 000000000..74f93c8e4 --- /dev/null +++ b/package/procps-ng/0005-pgrep-Include-sys-syscall.h-if-making-pidwait.patch @@ -0,0 +1,41 @@ +From 81ded587d2484b6f470f2d5c837c5591491377ce Mon Sep 17 00:00:00 2001 +From: Craig Small +Date: Thu, 28 Nov 2024 07:20:42 +1100 +Subject: [PATCH] pgrep: Include sys/syscall.h if making pidwait + +sys/syscall.h would only be included if pidwait was made +and we found pidfd_open() The previous commit fixed the +finding part, but in fact we want sys/syscall.h either +way because syscall() is defined there too. + +Most of the time the header is included by other headers +but adding it explicitly means if that header is removed or +changed it still works. + +Signed-off-by: Craig Small + +Upstream: https://gitlab.com/procps-ng/procps/-/commit/5acbb5dc1587d688de646d739a97251eb893bbb0 + +Signed-off-by: Scott Fan +[Scott: backported to version 4.0.4] +--- + src/pgrep.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/src/pgrep.c b/src/pgrep.c +index d8e57dff..a2607532 100644 +--- a/src/pgrep.c ++++ b/src/pgrep.c +@@ -44,9 +44,7 @@ + + #ifdef ENABLE_PIDWAIT + #include +-#ifndef HAVE_PIDFD_OPEN + #include +-#endif /* !HAVE_PIDFD_OPEN */ + #endif + + /* EXIT_SUCCESS is 0 */ +-- +2.43.0 + diff --git a/package/procps-ng/Config.in b/package/procps-ng/Config.in index 6ff898320..b0d69afdc 100644 --- a/package/procps-ng/Config.in +++ b/package/procps-ng/Config.in @@ -1,7 +1,13 @@ +comment "procps-ng needs a toolchain w/ wchar" + depends on BR2_USE_MMU + depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS + depends on !BR2_USE_WCHAR + config BR2_PACKAGE_PROCPS_NG bool "procps-ng" depends on BR2_USE_MMU # fork() depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS + depends on BR2_USE_WCHAR select BR2_PACKAGE_NCURSES help Standard informational utilities and process-handling tools. diff --git a/package/procps-ng/S02sysctl b/package/procps-ng/S02sysctl index 85d9ed50d..c202833ab 100644 --- a/package/procps-ng/S02sysctl +++ b/package/procps-ng/S02sysctl @@ -43,7 +43,7 @@ run_logger() { break } echo "* Applying $file ..." - /sbin/sysctl -p "$file" $SYSCTL_ARGS || prog_status="FAIL" + /sbin/sysctl $SYSCTL_ARGS -p "$file" || prog_status="FAIL" done 2>&1 >&3 | /usr/bin/logger -t sysctl -p kern.err } 3>&1 | /usr/bin/logger -t sysctl -p kern.info } @@ -60,7 +60,7 @@ run_std() { break } echo "* Applying $file ..." - /sbin/sysctl -p "$file" $SYSCTL_ARGS || prog_status="FAIL" + /sbin/sysctl $SYSCTL_ARGS -p "$file" || prog_status="FAIL" done } } diff --git a/package/procps-ng/procps-ng.hash b/package/procps-ng/procps-ng.hash index 09f2ebd0c..0d9cd9a83 100644 --- a/package/procps-ng/procps-ng.hash +++ b/package/procps-ng/procps-ng.hash @@ -1,8 +1,8 @@ # From http://sourceforge.net/projects/procps-ng/files/Production/ -md5 d60613e88c2f442ebd462b5a75313d56 procps-ng-3.3.17.tar.xz -sha1 a52952e8bc6aaab812176c00d25adc4d4e1552e2 procps-ng-3.3.17.tar.xz +md5 2f747fc7df8ccf402d03e375c565cf96 procps-ng-4.0.4.tar.xz +sha1 2b859acd7060e9898ac457dbd26dbebf563cc44b procps-ng-4.0.4.tar.xz # Locally calculated after checking signature -# http://downloads.sourceforge.net/project/procps-ng/Production/procps-ng-3.3.17.tar.xz.asc -sha256 4518b3e7aafd34ec07d0063d250fd474999b20b200218c3ae56f5d2113f141b4 procps-ng-3.3.17.tar.xz +# http://downloads.sourceforge.net/project/procps-ng/Production/procps-ng-4.0.4.tar.xz.asc +sha256 22870d6feb2478adb617ce4f09a787addaf2d260c5a8aa7b17d889a962c5e42e procps-ng-4.0.4.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 681e386e44a19d7d0674b4320272c90e66b6610b741e7e6305f8219c42e85366 COPYING.LIB diff --git a/package/procps-ng/procps-ng.mk b/package/procps-ng/procps-ng.mk index ba8958d14..de80735af 100644 --- a/package/procps-ng/procps-ng.mk +++ b/package/procps-ng/procps-ng.mk @@ -4,18 +4,22 @@ # ################################################################################ -PROCPS_NG_VERSION = 3.3.17 +PROCPS_NG_VERSION = 4.0.4 PROCPS_NG_SOURCE = procps-ng-$(PROCPS_NG_VERSION).tar.xz PROCPS_NG_SITE = http://downloads.sourceforge.net/project/procps-ng/Production PROCPS_NG_LICENSE = GPL-2.0+, LGPL-2.0+ (libproc and libps) PROCPS_NG_LICENSE_FILES = COPYING COPYING.LIB PROCPS_NG_CPE_ID_VALID = YES PROCPS_NG_INSTALL_STAGING = YES -# We're patching configure.ac -PROCPS_NG_AUTORECONF = YES PROCPS_NG_DEPENDENCIES = ncurses host-pkgconf $(TARGET_NLS_DEPENDENCIES) PROCPS_NG_CONF_OPTS = LIBS=$(TARGET_NLS_LIBS) +# Applying 0001-build-sys-Add-systemd-elogind-to-w.patch touches Makefile.am +# Applying 0002-fix-ncurses-h-include.patch touches configure.ac +# Applying 0003-build-sys-Fix-pidfd_open-checking.patch touches configure.ac +# Applying 0004-build-sys-Fix-define-of-HAVE_PIDFD_OPEN.patch touches configure.ac +PROCPS_NG_AUTORECONF = YES + ifeq ($(BR2_PACKAGE_SYSTEMD),y) PROCPS_NG_DEPENDENCIES += systemd PROCPS_NG_CONF_OPTS += --with-systemd diff --git a/package/proftpd/proftpd.mk b/package/proftpd/proftpd.mk index 0820822e1..0ae7afcdf 100644 --- a/package/proftpd/proftpd.mk +++ b/package/proftpd/proftpd.mk @@ -5,7 +5,7 @@ ################################################################################ PROFTPD_VERSION = 1.3.8b -PROFTPD_SITE = ftp://ftp.proftpd.org/distrib/source +PROFTPD_SITE = https://github.com/proftpd/proftpd/archive/v$(PROFTPD_VERSION) PROFTPD_LICENSE = GPL-2.0+ PROFTPD_LICENSE_FILES = COPYING PROFTPD_CPE_ID_VENDOR = proftpd @@ -126,6 +126,7 @@ endif define PROFTPD_INSTALL_TARGET_CMDS $(INSTALL) -D -m 0755 $(@D)/proftpd $(TARGET_DIR)/usr/sbin/proftpd $(INSTALL) -m 0644 -D $(@D)/sample-configurations/basic.conf $(TARGET_DIR)/etc/proftpd.conf + $(SED) 's/^\(Group\s\+\)nogroup/\1nobody/' $(TARGET_DIR)/etc/proftpd.conf $(PROFTPD_INSTALL_FTPQUOTA) $(PROFTPD_INSTALL_FTPASSWD) endef diff --git a/package/proj/Config.in b/package/proj/Config.in index 1952fc7d9..6d172e2ee 100644 --- a/package/proj/Config.in +++ b/package/proj/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_PROJ bool "proj" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11 - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_USE_WCHAR select BR2_PACKAGE_SQLITE help @@ -14,7 +14,7 @@ config BR2_PACKAGE_PROJ http://proj4.org/ -comment "proj needs a toolchain w/ C++, gcc >= 4.7, threads, wchar" +comment "proj needs a toolchain w/ C++, gcc >= 4.7, NPTL, wchar" depends on !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || \ - !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR diff --git a/package/psplash/psplash-start.service b/package/psplash/psplash-start.service index b97e883e5..74cbc3395 100644 --- a/package/psplash/psplash-start.service +++ b/package/psplash/psplash-start.service @@ -2,8 +2,10 @@ Description=Starts Psplash Boot screen DefaultDependencies=no RequiresMountsFor=/run +Before=sysinit.target [Service] +Type=exec ExecStart=/usr/bin/psplash -n [Install] diff --git a/package/psplash/psplash-systemd.service b/package/psplash/psplash-systemd.service index 249aa5403..f89bc5f4f 100644 --- a/package/psplash/psplash-systemd.service +++ b/package/psplash/psplash-systemd.service @@ -1,8 +1,8 @@ [Unit] Description=Start psplash-systemd progress communication helper DefaultDependencies=no -After=systemd-start.service -Requires=psplash-start.service +After=psplash-start.service +BindsTo=psplash-start.service RequiresMountsFor=/run [Service] diff --git a/package/pulseaudio/0002-build-sys-Fix-atomic-support-detection.patch b/package/pulseaudio/0002-build-sys-Fix-atomic-support-detection.patch deleted file mode 100644 index 631cb7f01..000000000 --- a/package/pulseaudio/0002-build-sys-Fix-atomic-support-detection.patch +++ /dev/null @@ -1,59 +0,0 @@ -From a5392576ceba92d04706cefc1929ddd5ace5537a Mon Sep 17 00:00:00 2001 -From: Nicolas Cavallari -Date: Fri, 1 Jul 2022 14:03:44 +0200 -Subject: [PATCH] build-sys: Fix atomic support detection - -Attempting to use atomics operations on an architecture that does not -support them generally results in a link error: - -ld: /tmp/ccjYcMPP.o: in function `func': -testfile.c:(.text+0x1c): undefined reference to `__sync_bool_compare_and_swap_4' - -The current build system uses cc.compiles() to check if atomic ops are -supported, but cc.compiles() does not attempt to link, so the test fails -to enable libatomics_opts. - -Fix this by using cc.links() instead of cc.compiles(). - -Signed-off-by: Nicolas Cavallari -Upstream-status: Submitted [https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/732] ---- - meson.build | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/meson.build b/meson.build -index c6db7e670..c5135330f 100644 ---- a/meson.build -+++ b/meson.build -@@ -498,22 +498,24 @@ endif - - need_libatomic_ops = false - --atomictest = '''void func() { -+atomictest = '''int main() { - volatile int atomic = 2; - __sync_bool_compare_and_swap (&atomic, 2, 3); -+ return 0; - } - ''' - --if cc.compiles(atomictest) -+if cc.links(atomictest) - cdata.set('HAVE_ATOMIC_BUILTINS', 1) - -- newatomictest = '''void func() { -+ newatomictest = '''int main() { - int c = 0; - __atomic_store_n(&c, 4, __ATOMIC_SEQ_CST); -+ return 0; - } - ''' - -- if(cc.compiles(newatomictest)) -+ if(cc.links(newatomictest)) - cdata.set('HAVE_ATOMIC_BUILTINS_MEMORY_MODEL', 1) - endif - --- -2.36.1 - diff --git a/package/pulseaudio/0003-build-sys-Add-missing-libatomic_ops-dependencies.patch b/package/pulseaudio/0003-build-sys-Add-missing-libatomic_ops-dependencies.patch deleted file mode 100644 index fac441e7d..000000000 --- a/package/pulseaudio/0003-build-sys-Add-missing-libatomic_ops-dependencies.patch +++ /dev/null @@ -1,129 +0,0 @@ -From 96361ff2a8f37dd3ce7ea188ce4e7b038bb6a5aa Mon Sep 17 00:00:00 2001 -From: Nicolas Cavallari -Date: Mon, 4 Jul 2022 13:49:34 +0200 -Subject: [PATCH] build-sys: Add missing libatomic_ops dependencies - -Add libatomic_ops dependencies to libraries/modules that showed a -failure on an arch that does not have native atomic operations support. - -Not all optional dependencies were tested, so it is possible that -some optional modules are still missing libatomic_ops dependencies. - -Signed-off-by: Nicolas Cavallari -Upstream-status: Submitted [https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/732] ---- - src/meson.build | 2 +- - src/modules/meson.build | 6 +++--- - src/pulse/meson.build | 2 +- - src/pulsecore/meson.build | 10 +++++----- - 4 files changed, 10 insertions(+), 10 deletions(-) - -diff --git a/src/meson.build b/src/meson.build -index 96dcec354..9efb561d8 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -205,7 +205,7 @@ else - libm_dep, thread_dep, dl_dep, shm_dep, iconv_dep, sndfile_dep, dbus_dep, - x11_dep, libsystemd_dep, glib_dep.partial_dependency(compile_args: true), - gtk_dep.partial_dependency(compile_args: true), asyncns_dep, libintl_dep, -- platform_dep, platform_socket_dep, execinfo_dep, -+ platform_dep, platform_socket_dep, execinfo_dep, libatomic_ops_dep, - ], - implicit_include_directories : false) - -diff --git a/src/modules/meson.build b/src/modules/meson.build -index 1d8004300..1e12569dc 100644 ---- a/src/modules/meson.build -+++ b/src/modules/meson.build -@@ -14,7 +14,7 @@ all_modules = [ - [ 'module-cli-protocol-tcp', 'module-protocol-stub.c', [], ['-DUSE_PROTOCOL_CLI', '-DUSE_TCP_SOCKETS'], [], libprotocol_cli ], - [ 'module-cli-protocol-unix', 'module-protocol-stub.c', [], ['-DUSE_PROTOCOL_CLI', '-DUSE_UNIX_SOCKETS'], [], libprotocol_cli ], - [ 'module-combine', 'module-combine.c' ], -- [ 'module-combine-sink', 'module-combine-sink.c' ], -+ [ 'module-combine-sink', 'module-combine-sink.c', [], [], [libatomic_ops_dep] ], - # [ 'module-coreaudio-detect', 'macosx/module-coreaudio-detect.c' ], - # [ 'module-coreaudio-device', 'macosx/module-coreaudio-device.c' ], - [ 'module-default-device-restore', 'module-default-device-restore.c', [], [], [], libprotocol_native ], -@@ -73,7 +73,7 @@ endif - - if host_machine.system() != 'windows' - all_modules += [ -- [ 'module-rtp-recv', 'rtp/module-rtp-recv.c', [], [], [], librtp ], -+ [ 'module-rtp-recv', 'rtp/module-rtp-recv.c', [], [], [libatomic_ops_dep], librtp ], - [ 'module-rtp-send', 'rtp/module-rtp-send.c' , [], [], [], librtp ], - ] - endif -@@ -243,7 +243,7 @@ module_echo_cancel_sources = [ - ] - module_echo_cancel_orc_sources = [] - module_echo_cancel_flags = [] --module_echo_cancel_deps = [] -+module_echo_cancel_deps = [libatomic_ops_dep] - module_echo_cancel_libs = [] - - if get_option('adrian-aec') -diff --git a/src/pulse/meson.build b/src/pulse/meson.build -index c2128e087..1b82c807c 100644 ---- a/src/pulse/meson.build -+++ b/src/pulse/meson.build -@@ -85,7 +85,7 @@ libpulse = shared_library('pulse', - link_args : [nodelete_link_args, versioning_link_args], - install : true, - install_rpath : privlibdir, -- dependencies : [libm_dep, thread_dep, libpulsecommon_dep, dbus_dep, dl_dep, iconv_dep, libintl_dep, platform_dep, platform_socket_dep], -+ dependencies : [libm_dep, thread_dep, libpulsecommon_dep, dbus_dep, dl_dep, iconv_dep, libintl_dep, platform_dep, platform_socket_dep, libatomic_ops_dep], - implicit_include_directories : false) - - libpulse_dep = declare_dependency(link_with: libpulse) -diff --git a/src/pulsecore/meson.build b/src/pulsecore/meson.build -index b30264b3a..b37fec499 100644 ---- a/src/pulsecore/meson.build -+++ b/src/pulsecore/meson.build -@@ -251,7 +251,7 @@ libcli = shared_library('cli', - c_args : [pa_c_args, server_c_args, database_c_args], - link_args : [nodelete_link_args], - include_directories : [configinc, topinc], -- dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep], -+ dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libatomic_ops_dep], - install : true, - install_rpath : privlibdir, - install_dir : modlibexecdir, -@@ -268,7 +268,7 @@ libprotocol_cli = shared_library('protocol-cli', - c_args : [pa_c_args, server_c_args, database_c_args], - link_args : [nodelete_link_args], - include_directories : [configinc, topinc], -- dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libcli_dep], -+ dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libcli_dep, libatomic_ops_dep], - install : true, - install_rpath : rpath_dirs, - install_dir : modlibexecdir, -@@ -280,7 +280,7 @@ libprotocol_http = shared_library('protocol-http', - c_args : [pa_c_args, server_c_args, database_c_args], - link_args : [nodelete_link_args], - include_directories : [configinc, topinc], -- dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep], -+ dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libatomic_ops_dep], - install : true, - install_rpath : privlibdir, - install_dir : modlibexecdir, -@@ -292,7 +292,7 @@ libprotocol_native = shared_library('protocol-native', - c_args : [pa_c_args, server_c_args, database_c_args], - link_args : [nodelete_link_args], - include_directories : [configinc, topinc], -- dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, dbus_dep], -+ dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, dbus_dep, libatomic_ops_dep], - install : true, - install_rpath : privlibdir, - install_dir : modlibexecdir, -@@ -304,7 +304,7 @@ libprotocol_simple = shared_library('protocol-simple', - c_args : [pa_c_args, server_c_args, database_c_args], - link_args : [nodelete_link_args], - include_directories : [configinc, topinc], -- dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep], -+ dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libatomic_ops_dep], - install : true, - install_rpath : privlibdir, - install_dir : modlibexecdir, --- -2.36.1 - diff --git a/package/pulseaudio/0004-meson.build-fix-build-without-C.patch b/package/pulseaudio/0004-meson.build-fix-build-without-C.patch deleted file mode 100644 index e770927f5..000000000 --- a/package/pulseaudio/0004-meson.build-fix-build-without-C.patch +++ /dev/null @@ -1,56 +0,0 @@ -From ac88536d7c3fde3c22933368296c9029bb67b9fc Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 25 Jul 2022 21:49:25 +0200 -Subject: [PATCH] meson.build: fix build without C++ - -Fix the following build failure without C++: - -../output-1/build/pulseaudio-16.1/meson.build:1:0: ERROR: Unknown compiler(s): [['/home/autobuild/autobuild/instance-1/output-1/per-package/pulseaudio/host/bin/powerpc64-buildroot-linux-gnu-g++']] -The following exception(s) were encountered: -Running "/home/autobuild/autobuild/instance-1/output-1/per-package/pulseaudio/host/bin/powerpc64-buildroot-linux-gnu-g++ --version" gave "[Errno 2] No such file or directory: '/home/autobuild/autobuild/instance-1/output-1/per-package/pulseaudio/host/bin/powerpc64-buildroot-linux-gnu-g++'" - -Fixes: - - http://autobuild.buildroot.org/results/6526a21bd4da3b8458188f27c1ec04c381e4b673 - -Signed-off-by: Fabrice Fontaine -[Upstream status: -https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/737] ---- - meson.build | 3 ++- - src/modules/echo-cancel/meson.build | 2 ++ - 2 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index c5135330f..8248f263b 100644 ---- a/meson.build -+++ b/meson.build -@@ -1,4 +1,4 @@ --project('pulseaudio', 'c', 'cpp', -+project('pulseaudio', 'c', - version : run_command(find_program('git-version-gen'), join_paths(meson.current_source_dir(), '.tarball-version')).stdout().strip(), - meson_version : '>= 0.50.0', - default_options : [ 'c_std=gnu11', 'cpp_std=c++11' ] -@@ -433,6 +433,7 @@ endif - # Code coverage - - if get_option('gcov') -+ add_languages('cpp') - add_project_arguments('--coverage', language: ['c', 'cpp']) - add_project_link_arguments('--coverage', language: ['c', 'cpp']) - endif -diff --git a/src/modules/echo-cancel/meson.build b/src/modules/echo-cancel/meson.build -index 641cd35e7..3b998364e 100644 ---- a/src/modules/echo-cancel/meson.build -+++ b/src/modules/echo-cancel/meson.build -@@ -6,6 +6,8 @@ - # '-Wl,--unresolved-symbols=ignore-in-object-files' otherwise it fails - # at link time. - -+add_languages('cpp') -+ - libwebrtc_util_sources = [ - 'webrtc.cc' - ] --- -GitLab - diff --git a/package/pulseaudio/pulseaudio.hash b/package/pulseaudio/pulseaudio.hash index acbb56a07..67f6cc6ef 100644 --- a/package/pulseaudio/pulseaudio.hash +++ b/package/pulseaudio/pulseaudio.hash @@ -1,5 +1,5 @@ -# From https://lists.freedesktop.org/archives/pulseaudio-discuss/2022-June/032287.html -sha256 8eef32ce91d47979f95fd9a935e738cd7eb7463430dabc72863251751e504ae4 pulseaudio-16.1.tar.xz +# From https://lists.freedesktop.org/archives/pulseaudio-discuss/2024-January/032426.html +sha256 053794d6671a3e397d849e478a80b82a63cb9d8ca296bd35b73317bb5ceb87b5 pulseaudio-17.0.tar.xz # Locally computed sha256 c38aee9e3c8c4d5d594ff548a1be05453023016d6286931f6512db215ec1fd42 GPL sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LGPL diff --git a/package/pulseaudio/pulseaudio.mk b/package/pulseaudio/pulseaudio.mk index 89191db54..254e05348 100644 --- a/package/pulseaudio/pulseaudio.mk +++ b/package/pulseaudio/pulseaudio.mk @@ -4,7 +4,7 @@ # ################################################################################ -PULSEAUDIO_VERSION = 16.1 +PULSEAUDIO_VERSION = 17.0 PULSEAUDIO_SOURCE = pulseaudio-$(PULSEAUDIO_VERSION).tar.xz PULSEAUDIO_SITE = https://freedesktop.org/software/pulseaudio/releases PULSEAUDIO_INSTALL_STAGING = YES diff --git a/package/pure-ftpd/pure-ftpd.hash b/package/pure-ftpd/pure-ftpd.hash index 4cbbfa15a..2c7a1849f 100644 --- a/package/pure-ftpd/pure-ftpd.hash +++ b/package/pure-ftpd/pure-ftpd.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 622360b86c60b563abe0e994f0a86cfe5ccfde597b29a14b0a79b6e5aa05a304 pure-ftpd-1.0.51.tar.bz2 -sha256 88c813191c1a59213c641e322cf4562618ab0116ddd7c8341c419f8863b8b0a9 COPYING +sha256 b3b879468275e0344555458c8e62465dcf525205ecf9ad78c3f208557d0c1947 pure-ftpd-1.0.52.tar.bz2 +sha256 1ec531b1bc4035019545d6a83e260a5a56d3a6bec52895393e9f25965e608e85 COPYING diff --git a/package/pure-ftpd/pure-ftpd.mk b/package/pure-ftpd/pure-ftpd.mk index ffd27d7b9..9cabc2831 100644 --- a/package/pure-ftpd/pure-ftpd.mk +++ b/package/pure-ftpd/pure-ftpd.mk @@ -4,13 +4,12 @@ # ################################################################################ -PURE_FTPD_VERSION = 1.0.51 +PURE_FTPD_VERSION = 1.0.52 PURE_FTPD_SITE = https://download.pureftpd.org/pub/pure-ftpd/releases PURE_FTPD_SOURCE = pure-ftpd-$(PURE_FTPD_VERSION).tar.bz2 PURE_FTPD_LICENSE = ISC PURE_FTPD_LICENSE_FILES = COPYING PURE_FTPD_CPE_ID_VENDOR = pureftpd -PURE_FTPD_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) PURE_FTPD_CONF_OPTS = \ --with-altlog \ diff --git a/package/putty/0001-unix-utils-arm_arch_queries.h-fix-uclibc-build.patch b/package/putty/0001-unix-utils-arm_arch_queries.h-fix-uclibc-build.patch new file mode 100644 index 000000000..d2abcb64c --- /dev/null +++ b/package/putty/0001-unix-utils-arm_arch_queries.h-fix-uclibc-build.patch @@ -0,0 +1,41 @@ +From 2631c745f986b356fbe5e1d418cff63b46134df6 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 19 Mar 2024 20:37:33 +0100 +Subject: [PATCH] unix/utils/arm_arch_queries.h: fix uclibc build + +Build on uclibc is broken since version 0.75 and commit +65383082bf0c49cec63f4b36001a40bd9b13edf6 because AT_HWCAP2 is used +even if is not available: + +/home/buildroot/autobuild/run/instance-3/output-1/build/putty-0.80/unix/utils/arm_arch_queries.c: In function 'platform_aes_neon_available': +/home/buildroot/autobuild/run/instance-3/output-1/build/putty-0.80/unix/utils/arm_arch_queries.c:18:22: error: 'AT_HWCAP2' undeclared (first use in this function) + 18 | return getauxval(AT_HWCAP2) & HWCAP2_AES; + | ^~~~~~~~~ + +To fix this build failure, include + +Fixes: + - http://autobuild.buildroot.org/results/547d1c0e8a89e1e4b601aa756d26886bfc3d586f + +Upstream: Rejected after sending to Simon Tatham +Signed-off-by: Fabrice Fontaine +--- + unix/utils/arm_arch_queries.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/unix/utils/arm_arch_queries.h b/unix/utils/arm_arch_queries.h +index fa46c622..5cce7f31 100644 +--- a/unix/utils/arm_arch_queries.h ++++ b/unix/utils/arm_arch_queries.h +@@ -18,6 +18,8 @@ + + #if defined __arm__ || defined __aarch64__ + ++#include ++ + #if HAVE_SYS_TYPES_H + #include + #endif +-- +2.43.0 + diff --git a/package/putty/putty.hash b/package/putty/putty.hash index 84569a31e..30b749c47 100644 --- a/package/putty/putty.hash +++ b/package/putty/putty.hash @@ -1,7 +1,7 @@ # Hashes from: http://the.earth.li/~sgtatham/putty/0.80/{sha1,sha256,sha512}sums -sha1 9c4a96f63ee3e927472191c935cc89228693c03a putty-0.80.tar.gz -sha256 2013c83a721b1753529e9090f7c3830e8fe4c80a070ccce764539badb3f67081 putty-0.80.tar.gz -sha512 c8a6b6fa54ecd8bcf4ec274fef51343dd9996e6458b250b5555c4dc88ded25e87f97277da482c29858510e65635112d541f559ab683635bd950572d850129f90 putty-0.80.tar.gz +sha1 8c88d871855d3730a0473bb1cb1006654e73b680 putty-0.81.tar.gz +sha256 cb8b00a94f453494e345a3df281d7a3ed26bb0dd7e36264f145206f8857639fe putty-0.81.tar.gz +sha512 d86f2fd0e126b18275d58cf64334b3b27c450899a1c2be2502de9faa2ef58f7fc8efc5d45f25c8395623f1e21917aa02407343bb2fee44c4c00b9f81267d5ecd putty-0.81.tar.gz # Locally calculated -sha256 7ede37f344ee03436c155a375ecb6cdb42a77105baa6e7804bf43260dc4a0c54 LICENCE +sha256 e0410341c5e45f7479c28d79298edbf615589cdfc115b2d69683d4ccd0425ce0 LICENCE diff --git a/package/putty/putty.mk b/package/putty/putty.mk index bff6e7807..617518e64 100644 --- a/package/putty/putty.mk +++ b/package/putty/putty.mk @@ -4,7 +4,7 @@ # ################################################################################ -PUTTY_VERSION = 0.80 +PUTTY_VERSION = 0.81 PUTTY_SITE = http://the.earth.li/~sgtatham/putty/$(PUTTY_VERSION) PUTTY_LICENSE = MIT PUTTY_LICENSE_FILES = LICENCE diff --git a/package/python-can/Config.in b/package/python-can/Config.in index a00c9263c..61955a2b0 100644 --- a/package/python-can/Config.in +++ b/package/python-can/Config.in @@ -1,11 +1,11 @@ config BR2_PACKAGE_PYTHON_CAN bool "python-can" select BR2_PACKAGE_PYTHON3_SQLITE # runtime + select BR2_PACKAGE_PYTHON3_ZLIB # runtime select BR2_PACKAGE_PYTHON_MSGPACK # runtime select BR2_PACKAGE_PYTHON_PACKAGING # runtime select BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS # runtime select BR2_PACKAGE_PYTHON_WRAPT # runtime - select BR2_PACKAGE_PYTHON3_ZLIB help This module provides controller area network support for Python. diff --git a/package/python-configshell-fb/python-configshell-fb.hash b/package/python-configshell-fb/python-configshell-fb.hash index 8fc38f61a..e09050105 100644 --- a/package/python-configshell-fb/python-configshell-fb.hash +++ b/package/python-configshell-fb/python-configshell-fb.hash @@ -1,3 +1,3 @@ # locally computed -sha256 24b47284b463dcfb9ee0c1558827e13442127e62fa279b6e0253f136cf49058c python-configshell-fb-1.1.29.tar.gz +sha256 44696b92bea2b44c1d0bf2828477dddeb3b4dfb312ad82ce06d7b704c0985e27 python-configshell-fb-1.1.30.tar.gz sha256 5df2a0d87d6c562f0ea11c688ac52532aa28d744cabc7994ff0537f64b3b3320 COPYING diff --git a/package/python-configshell-fb/python-configshell-fb.mk b/package/python-configshell-fb/python-configshell-fb.mk index d0dd421e8..3446a86e8 100644 --- a/package/python-configshell-fb/python-configshell-fb.mk +++ b/package/python-configshell-fb/python-configshell-fb.mk @@ -6,7 +6,7 @@ # When upgrading the version, be sure to also upgrade python-rtslib-fb # and targetcli-fb at the same time. -PYTHON_CONFIGSHELL_FB_VERSION = 1.1.29 +PYTHON_CONFIGSHELL_FB_VERSION = 1.1.30 PYTHON_CONFIGSHELL_FB_SITE = $(call github,open-iscsi,configshell-fb,v$(PYTHON_CONFIGSHELL_FB_VERSION)) PYTHON_CONFIGSHELL_FB_LICENSE = Apache-2.0 PYTHON_CONFIGSHELL_FB_LICENSE_FILES = COPYING diff --git a/package/python-django/python-django.hash b/package/python-django/python-django.hash index d5684a083..4bd5af24f 100644 --- a/package/python-django/python-django.hash +++ b/package/python-django/python-django.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/django/json -md5 1009c48d70060cadb40000cc15a8058a Django-5.0.3.tar.gz -sha256 5fb37580dcf4a262f9258c1f4373819aacca906431f505e4688e37f3a99195df Django-5.0.3.tar.gz +md5 e340a2898555cbfb285b00b5e67d324d Django-5.0.11.tar.gz +sha256 e7d98fa05ce09cb3e8d5ad6472fb602322acd1740bfdadc29c8404182d664f65 Django-5.0.11.tar.gz # Locally computed sha256 checksums sha256 b846415d1b514e9c1dff14a22deb906d794bc546ca6129f950a18cd091e2a669 LICENSE diff --git a/package/python-django/python-django.mk b/package/python-django/python-django.mk index 258ff9e0c..7353ef130 100644 --- a/package/python-django/python-django.mk +++ b/package/python-django/python-django.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_DJANGO_VERSION = 5.0.3 +PYTHON_DJANGO_VERSION = 5.0.11 PYTHON_DJANGO_SOURCE = Django-$(PYTHON_DJANGO_VERSION).tar.gz # The official Django site has an unpractical URL -PYTHON_DJANGO_SITE = https://files.pythonhosted.org/packages/e1/b1/ac6a16aaf0049637b50afbcf06b8ec2fa5c6ce42d4ae6ba66bbaf4c3609a +PYTHON_DJANGO_SITE = https://files.pythonhosted.org/packages/02/9c/614ef004c122cfdf9f2d291eab75e24ab94d24c0693a0ca0db44e9633dc3 PYTHON_DJANGO_LICENSE = BSD-3-Clause PYTHON_DJANGO_LICENSE_FILES = LICENSE PYTHON_DJANGO_CPE_ID_VENDOR = djangoproject diff --git a/package/python-huepy/0001-setup.py-drop-data_files-installs-LICENSE-to-incorre.patch b/package/python-huepy/0001-setup.py-drop-data_files-installs-LICENSE-to-incorre.patch new file mode 100644 index 000000000..3c50a4437 --- /dev/null +++ b/package/python-huepy/0001-setup.py-drop-data_files-installs-LICENSE-to-incorre.patch @@ -0,0 +1,38 @@ +From ee3010004a005bc852e6b9318807f373bd89e901 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 17 Aug 2024 14:10:16 +0200 +Subject: [PATCH] setup.py: drop data_files, installs LICENSE to incorrect + place + +The data_files statement in the setup() calls installs the LICENSE +file in the wrong place: in /usr/LICENSE, or even /LICENSE depending +on the configuration. + +So let's drop this, and let setuptools install the LICENSE file +automatically: since setuptools v56, the license_files attribute is +automatically assigned to a default value, which includes "LICENSE", +so there is in fact nothing to do to the get the LICENSE file +installed at the correct location. See +https://setuptools.pypa.io/en/latest/history.html#v56-0-0. + +Upstream: https://github.com/s0md3v/huepy/pull/42 +Signed-off-by: Thomas Petazzoni +--- + setup.py | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 8b5a726..bd41f1c 100644 +--- a/setup.py ++++ b/setup.py +@@ -30,7 +30,6 @@ setup( + keywords='hue, color, terminal color, colorama', + packages=find_packages(), + py_modules=['huepy'], +- data_files=[('', ['LICENSE'])], + include_package_data=True, + classifiers=[ + 'License :: OSI Approved :: GNU General Public License v3 (GPLv3)', +-- +2.46.0 + diff --git a/package/python-ml-dtypes/Config.in b/package/python-ml-dtypes/Config.in index 58c218b21..7dce2fea4 100644 --- a/package/python-ml-dtypes/Config.in +++ b/package/python-ml-dtypes/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_PYTHON_ML_DTYPES bool "python-ml-dtypes" depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS - depends on BR2_INSTALL_LIBSTDCPP # python-pybind, python-numpy + depends on BR2_INSTALL_LIBSTDCPP # python-numpy depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy depends on BR2_HOST_GCC_AT_LEAST_9 # host-python-numpy diff --git a/package/python-pillow/python-pillow.hash b/package/python-pillow/python-pillow.hash index 001fb6267..352536a03 100644 --- a/package/python-pillow/python-pillow.hash +++ b/package/python-pillow/python-pillow.hash @@ -1,6 +1,6 @@ -# md5, sha256 from https://pypi.org/pypi/pillow/json -md5 13de96f9f98bc1c26439d64576a48ac6 pillow-10.2.0.tar.gz -sha256 e87f0b2c78157e12d7686b27d63c070fd65d994e8ddae6f328e0dcf4a0cd007e pillow-10.2.0.tar.gz +# md5, sha256 https://pypi.org/project/pillow/10.3.0/#copy-hash-modal-125abe0d-59be-40cd-89a3-3e2f78136be0 +md5 6c21a12849ae42f93881f614d8f6f651 pillow-10.3.0.tar.gz +sha256 9d2455fbf44c914840c793e89aa82d0e1763a14253a000743719ae5946814b2d pillow-10.3.0.tar.gz # Locally computed sha256 checksums -sha256 e706384c6f299d1b6fa782ae657740b372b4bd7938a1a318bf94ac249114758a LICENSE +sha256 cf234c27a3f275f5a050f4df3946f8855704226fe4e7ca8b33928cbcecbced37 LICENSE diff --git a/package/python-pillow/python-pillow.mk b/package/python-pillow/python-pillow.mk index 10939d846..b583d93d4 100644 --- a/package/python-pillow/python-pillow.mk +++ b/package/python-pillow/python-pillow.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_PILLOW_VERSION = 10.2.0 -PYTHON_PILLOW_SITE = https://files.pythonhosted.org/packages/f8/3e/32cbd0129a28686621434cbf17bb64bf1458bfb838f1f668262fefce145c +PYTHON_PILLOW_VERSION = 10.3.0 +PYTHON_PILLOW_SITE = https://files.pythonhosted.org/packages/ef/43/c50c17c5f7d438e836c169e343695534c38c77f60e7c90389bd77981bc21 PYTHON_PILLOW_SOURCE = pillow-$(PYTHON_PILLOW_VERSION).tar.gz PYTHON_PILLOW_LICENSE = HPND PYTHON_PILLOW_LICENSE_FILES = LICENSE diff --git a/package/python-psycopg2/Config.in b/package/python-psycopg2/Config.in index 4aa86c769..6b07b0c06 100644 --- a/package/python-psycopg2/Config.in +++ b/package/python-psycopg2/Config.in @@ -1,6 +1,8 @@ config BR2_PACKAGE_PYTHON_PSYCOPG2 bool "python-psycopg2" + depends on BR2_USE_MMU # postgresql depends on BR2_USE_WCHAR # postgresql + depends on !BR2_STATIC_LIBS # postgresql depends on !BR2_OPTIMIZE_FAST # postgresql select BR2_PACKAGE_POSTGRESQL help @@ -21,10 +23,11 @@ config BR2_PACKAGE_PYTHON_PSYCOPG2 customized thanks to a flexible objects adaptation system. Psycopg 2 is both Unicode and Python 3 friendly. - http://initd.org/psycopg/ + https://github.com/psycopg/psycopg2/ -comment "python-psycopg2 needs a toolchain w/ wchar" - depends on !BR2_USE_WCHAR +comment "python-psycopg2 needs a toolchain w/ dynamic library, wchar" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR comment "python-psycopg2 can't be built with Optimize for fast" depends on BR2_OPTIMIZE_FAST diff --git a/package/python-pydal/Config.in b/package/python-pydal/Config.in index f1c97f91a..204b47a09 100644 --- a/package/python-pydal/Config.in +++ b/package/python-pydal/Config.in @@ -1,5 +1,5 @@ config BR2_PACKAGE_PYTHON_PYDAL - bool python-pydal + bool "python-pydal" help pyDAL is a pure Python Database Abstraction Layer. It dynamically generates the SQL in real time using the diff --git a/package/python-pymupdf/Config.in b/package/python-pymupdf/Config.in index ecaa5496b..7e961689b 100644 --- a/package/python-pymupdf/Config.in +++ b/package/python-pymupdf/Config.in @@ -3,20 +3,15 @@ config BR2_PACKAGE_PYTHON_PYMUPDF depends on BR2_INSTALL_LIBSTDCPP # mupdf -> harfbuzz depends on BR2_TOOLCHAIN_HAS_SYNC_4 # mupdf -> harfbuzz depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # mupdf -> harfbuzz - depends on BR2_PACKAGE_XORG7 select BR2_PACKAGE_HOST_SWIG select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_MUPDF - select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_PYTHON3_ZLIB # runtime help Python bindings for the PDF rendering library MuPDF. https://github.com/pymupdf/PyMuPDF -comment "python-pymupdf needs Xorg" - depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_PACKAGE_XORG7 - comment "python-pymupdf needs a toolchain w/ C++, gcc >= 4.9" depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_INSTALL_LIBSTDCPP || \ diff --git a/package/python-pymupdf/python-pymupdf.mk b/package/python-pymupdf/python-pymupdf.mk index 639ce0e00..3e9cd3e6f 100644 --- a/package/python-pymupdf/python-pymupdf.mk +++ b/package/python-pymupdf/python-pymupdf.mk @@ -12,7 +12,7 @@ PYTHON_PYMUPDF_SETUP_TYPE = setuptools PYTHON_PYMUPDF_LICENSE = AGPL-3.0+ PYTHON_PYMUPDF_LICENSE_FILES = COPYING # No license file included in pip, but it's present on github -PYTHON_PYMUPDF_DEPENDENCIES = freetype host-swig mupdf zlib +PYTHON_PYMUPDF_DEPENDENCIES = freetype host-swig mupdf PYTHON_PYMUPDF_ENV = CFLAGS="-I$(STAGING_DIR)/usr/include/mupdf -I$(STAGING_DIR)/usr/include/freetype2" diff --git a/package/python-pypng/Config.in b/package/python-pypng/Config.in index c1ed40561..952b46c2c 100644 --- a/package/python-pypng/Config.in +++ b/package/python-pypng/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_PYTHON_PYPNG bool "python-pypng" + select BR2_PACKAGE_PYTHON3_ZLIB # runtime help Pure Python library for saving and loading PNG images. diff --git a/package/python-pyqt5-sip/Config.in b/package/python-pyqt5-sip/Config.in new file mode 100644 index 000000000..3eda2c8d1 --- /dev/null +++ b/package/python-pyqt5-sip/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_PYQT5_SIP + bool "python-pyqt5-sip" + help + This is the PyQt5.sip module which is needed at runtime for + the PyQt5 module from package python-pyqt5. + + https://pypi.org/project/PyQt5-sip/ diff --git a/package/python-pyqt5-sip/python-pyqt5-sip.hash b/package/python-pyqt5-sip/python-pyqt5-sip.hash new file mode 100644 index 000000000..fb4a8cb04 --- /dev/null +++ b/package/python-pyqt5-sip/python-pyqt5-sip.hash @@ -0,0 +1,7 @@ +# from https://pypi.org/project/PyQt5-sip/12.30.0 +sha256 7f321daf84b9c9dbca61b80e1ef37bdaffc0e93312edae2cd7da25b953971d91 PyQt5_sip-12.13.0.tar.gz + +# Hash for license files: +md5 9cd437778ebd1c056a76b4ded73b3a6d LICENSE +md5 e91355d8a6f8bd8f7c699d62863c7303 LICENSE-GPL2 +md5 7ea41d866d6638e430db5287a3f66090 LICENSE-GPL3 diff --git a/package/python-pyqt5-sip/python-pyqt5-sip.mk b/package/python-pyqt5-sip/python-pyqt5-sip.mk new file mode 100644 index 000000000..e52081ab4 --- /dev/null +++ b/package/python-pyqt5-sip/python-pyqt5-sip.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-SIP-QT5 +# +################################################################################ + +PYTHON_PYQT5_SIP_VERSION = 12.13.0 +PYTHON_PYQT5_SIP_SITE = https://files.pythonhosted.org/packages/ee/81/fce2a475aa56c1f49707d9306b930695b6ff078c2242c9f2fd72a3214e1f +PYTHON_PYQT5_SIP_SOURCE = PyQt5_sip-$(PYTHON_PYQT5_SIP_VERSION).tar.gz +PYTHON_PYQT5_SIP_LICENSE = SIP license or GPL-2.0 or GPL-3.0 +PYTHON_PYQT5_SIP_LICENSE_FILES = LICENSE LICENSE-GPL2 LICENSE-GPL3 +PYTHON_PYQT5_SIP_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/package/python-pyqt5/Config.in b/package/python-pyqt5/Config.in index 9fa7676f9..0b37f1431 100644 --- a/package/python-pyqt5/Config.in +++ b/package/python-pyqt5/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_PYTHON_PYQT5 bool "python-pyqt5" depends on BR2_PACKAGE_QT5 select BR2_PACKAGE_PYTHON_SIP + select BR2_PACKAGE_PYTHON_PYQT5_SIP # runtime select BR2_PACKAGE_QT5BASE_GUI help Python bindings for Qt 5 diff --git a/package/python-pyqt5/python-pyqt5.mk b/package/python-pyqt5/python-pyqt5.mk index 54b7f201b..bee0c529c 100644 --- a/package/python-pyqt5/python-pyqt5.mk +++ b/package/python-pyqt5/python-pyqt5.mk @@ -139,7 +139,7 @@ endef # The file "qt.conf" can be used to override the hard-coded paths that are # compiled into the Qt library. We need it to make "qmake" relocatable and -# tweak the per-package install pathes +# tweak the per-package install paths PYTHON_PYQT5_PRE_CONFIGURE_HOOKS += QT5_QT_CONF_FIXUP PYTHON_PYQT5_CONF_OPTS = \ diff --git a/package/python-rpds-py/python-rpds-py.hash b/package/python-rpds-py/python-rpds-py.hash index 4650d9c38..62b508ae6 100644 --- a/package/python-rpds-py/python-rpds-py.hash +++ b/package/python-rpds-py/python-rpds-py.hash @@ -1,4 +1,4 @@ # Locally calculated after vendoring -sha256 760b05720269195d86071ac7cf627b3a4ab9366680d8d449a6a63b84d96a5bc0 rpds_py-0.17.1.tar.gz +sha256 d9b542bf5321495737005a78d9fbf40541b898d1e2b3309cbe36a2431977be8b rpds_py-0.18.1.tar.gz # Locally computed sha256 checksums sha256 314e4e91be3baa93c0fb4bccc9e4e97cd643eb839b065af921782c2175fe9909 LICENSE diff --git a/package/python-rpds-py/python-rpds-py.mk b/package/python-rpds-py/python-rpds-py.mk index 80670f2e4..57fe0be7e 100644 --- a/package/python-rpds-py/python-rpds-py.mk +++ b/package/python-rpds-py/python-rpds-py.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_RPDS_PY_VERSION = 0.17.1 +PYTHON_RPDS_PY_VERSION = 0.18.1 PYTHON_RPDS_PY_SOURCE = rpds_py-$(PYTHON_RPDS_PY_VERSION).tar.gz -PYTHON_RPDS_PY_SITE = https://files.pythonhosted.org/packages/b7/0a/e3bdcc977e6db3bf32a3f42172f583adfa7c3604091a03d512333e0161fe +PYTHON_RPDS_PY_SITE = https://files.pythonhosted.org/packages/2d/aa/e7c404bdee1db7be09860dff423d022ffdce9269ec8e6532cce09ee7beea PYTHON_RPDS_PY_SETUP_TYPE = maturin PYTHON_RPDS_PY_LICENSE = MIT PYTHON_RPDS_PY_LICENSE_FILES = LICENSE diff --git a/package/python-rtslib-fb/python-rtslib-fb.hash b/package/python-rtslib-fb/python-rtslib-fb.hash index 3c2e39fff..39c390edb 100644 --- a/package/python-rtslib-fb/python-rtslib-fb.hash +++ b/package/python-rtslib-fb/python-rtslib-fb.hash @@ -1,3 +1,3 @@ # locally computed -sha256 9f581c4bcffebc60be236af8a6ebdeccdb66d0435eeb04ab1b743c170b95d046 python-rtslib-fb-2.1.74.tar.gz +sha256 ac15c113d09209c7b0d14d94a12ed88205a7c2feadd1096f573049fd737f7e74 python-rtslib-fb-2.1.76.tar.gz sha256 5df2a0d87d6c562f0ea11c688ac52532aa28d744cabc7994ff0537f64b3b3320 COPYING diff --git a/package/python-rtslib-fb/python-rtslib-fb.mk b/package/python-rtslib-fb/python-rtslib-fb.mk index 09bde874f..6396d26a3 100644 --- a/package/python-rtslib-fb/python-rtslib-fb.mk +++ b/package/python-rtslib-fb/python-rtslib-fb.mk @@ -6,7 +6,7 @@ # When upgrading the version, be sure to also upgrade # python-configshell-fb and targetcli-fb at the same time. -PYTHON_RTSLIB_FB_VERSION = 2.1.74 +PYTHON_RTSLIB_FB_VERSION = 2.1.76 # Do not switch site to PyPI: it does not contain the latest version. PYTHON_RTSLIB_FB_SITE = $(call github,open-iscsi,rtslib-fb,v$(PYTHON_RTSLIB_FB_VERSION)) PYTHON_RTSLIB_FB_LICENSE = Apache-2.0 diff --git a/package/python-ruamel-yaml/python-ruamel-yaml.hash b/package/python-ruamel-yaml/python-ruamel-yaml.hash index 29852a51e..ee5016835 100644 --- a/package/python-ruamel-yaml/python-ruamel-yaml.hash +++ b/package/python-ruamel-yaml/python-ruamel-yaml.hash @@ -1,4 +1,4 @@ -# md5, sha256 from https://pypi.org/pypi/rfc3987/json +# md5, sha256 from https://pypi.org/pypi/ruamel.yaml/json md5 206bda0f33ab2c2f63777636200748b7 ruamel.yaml-0.17.21.tar.gz sha256 8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af ruamel.yaml-0.17.21.tar.gz # Locally computed sha256 checksums diff --git a/package/python-segno/Config.in b/package/python-segno/Config.in index 7107e6744..e6080fd41 100644 --- a/package/python-segno/Config.in +++ b/package/python-segno/Config.in @@ -1,5 +1,7 @@ config BR2_PACKAGE_PYTHON_SEGNO bool "python-segno" + select BR2_PACKAGE_PYTHON3_PYEXPAT # runtime + select BR2_PACKAGE_PYTHON3_ZLIB # runtime help QR Code and Micro QR Code generator for Python. diff --git a/package/python-service-identity/Config.in b/package/python-service-identity/Config.in index dccd8f37c..3bb5c08c6 100644 --- a/package/python-service-identity/Config.in +++ b/package/python-service-identity/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_PYTHON_SERVICE_IDENTITY bool "python-service-identity" - # python-pyopenssl -> python-cryptography - depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-cryptography select BR2_PACKAGE_PYTHON_ATTRS # runtime + select BR2_PACKAGE_PYTHON_CRYPTOGRAPHY # runtime select BR2_PACKAGE_PYTHON_PYASN1 # runtime select BR2_PACKAGE_PYTHON_PYASN1_MODULES # runtime help diff --git a/package/python-sip/python-sip.mk b/package/python-sip/python-sip.mk index 3e015fa16..f942eb6c7 100644 --- a/package/python-sip/python-sip.mk +++ b/package/python-sip/python-sip.mk @@ -21,8 +21,10 @@ define HOST_PYTHON_SIP_BUILD_CMDS $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) endef +# Race condition on fast machine between sipconfig.py install and +# {sipdistutils.py,mk_distinfo.py} scripts. define HOST_PYTHON_SIP_INSTALL_CMDS - $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) install -C $(@D) + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE1) install -C $(@D) endef define PYTHON_SIP_CONFIGURE_CMDS @@ -42,8 +44,10 @@ define PYTHON_SIP_BUILD_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) endef +# Race condition on fast machine between sipconfig.py install and +# {sipdistutils.py,mk_distinfo.py} scripts. define PYTHON_SIP_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) install -C $(@D) + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE1) install -C $(@D) endef $(eval $(generic-package)) diff --git a/package/python-sqlparse/python-sqlparse.hash b/package/python-sqlparse/python-sqlparse.hash index 0b7c14d9a..1fe842972 100644 --- a/package/python-sqlparse/python-sqlparse.hash +++ b/package/python-sqlparse/python-sqlparse.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/sqlparse/json -md5 67798c7a0dae90f263d20e9ecf62c8cd sqlparse-0.4.4.tar.gz -sha256 d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c sqlparse-0.4.4.tar.gz +md5 969a64f03d7da1144fc74aad390f9db4 sqlparse-0.5.1.tar.gz +sha256 bb6b4df465655ef332548e24f08e205afc81b9ab86cb1c45657a7ff173a3a00e sqlparse-0.5.1.tar.gz # Locally computed sha256 checksums sha256 c1938235b80d39e93138eae89edc3af67e18ecbc40d266529fa57b2dce426310 LICENSE diff --git a/package/python-sqlparse/python-sqlparse.mk b/package/python-sqlparse/python-sqlparse.mk index 3f99eb647..57cef1d67 100644 --- a/package/python-sqlparse/python-sqlparse.mk +++ b/package/python-sqlparse/python-sqlparse.mk @@ -4,12 +4,13 @@ # ################################################################################ -PYTHON_SQLPARSE_VERSION = 0.4.4 +PYTHON_SQLPARSE_VERSION = 0.5.1 PYTHON_SQLPARSE_SOURCE = sqlparse-$(PYTHON_SQLPARSE_VERSION).tar.gz -PYTHON_SQLPARSE_SITE = https://files.pythonhosted.org/packages/65/16/10f170ec641ed852611b6c9441b23d10b5702ab5288371feab3d36de2574 -PYTHON_SQLPARSE_SETUP_TYPE = flit +PYTHON_SQLPARSE_SITE = https://files.pythonhosted.org/packages/73/82/dfa23ec2cbed08a801deab02fe7c904bfb00765256b155941d789a338c68 +PYTHON_SQLPARSE_SETUP_TYPE = pep517 PYTHON_SQLPARSE_LICENSE = BSD-3-Clause PYTHON_SQLPARSE_LICENSE_FILES = LICENSE +PYTHON_SQLPARSE_DEPENDENCIES = host-python-hatchling PYTHON_SQLPARSE_CPE_ID_VENDOR = sqlparse_project PYTHON_SQLPARSE_CPE_ID_PRODUCT = sqlparse diff --git a/package/python-unittest-xml-reporting/0001-setup.py-drop-data_files-installs-LICENSE-to-incorre.patch b/package/python-unittest-xml-reporting/0001-setup.py-drop-data_files-installs-LICENSE-to-incorre.patch new file mode 100644 index 000000000..4bc005f44 --- /dev/null +++ b/package/python-unittest-xml-reporting/0001-setup.py-drop-data_files-installs-LICENSE-to-incorre.patch @@ -0,0 +1,40 @@ +From 662cd67695c31126d72035a818b0f5f1da5a31ca Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 17 Aug 2024 12:24:28 +0200 +Subject: [PATCH] setup.py: drop data_files, installs LICENSE to incorrect + place + +As reported in issue +https://github.com/xmlrunner/unittest-xml-reporting/issues/284, the +data_files statement in the setup() calls installs the LICENSE file in +the wrong place: in /usr/LICENSE, or even /LICENSE depending on the +configuration. + +So let's drop this, and let setuptools install the LICENSE file +automatically: since setuptools v56, the license_files attribute is +automatically assigned to a default value, which includes "LICENSE", +so there is in fact nothing to do to the get the LICENSE file +installed at the correct location. See +https://setuptools.pypa.io/en/latest/history.html#v56-0-0. + +Upstream: https://github.com/xmlrunner/unittest-xml-reporting/pull/287 +Signed-off-by: Thomas Petazzoni +--- + setup.py | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/setup.py b/setup.py +index c524ed4..afa5925 100755 +--- a/setup.py ++++ b/setup.py +@@ -27,7 +27,6 @@ setup( + description = 'unittest-based test runner with Ant/JUnit like XML reporting.', + long_description = long_description, + long_description_content_type = 'text/markdown', +- data_files = [('', ['LICENSE'])], + install_requires = ['lxml'], + license = 'BSD', + platforms = ['Any'], +-- +2.46.0 + diff --git a/package/python3/0032-gh-115382-Fix-cross-compiles-when-host-and-target-us.patch b/package/python3/0032-gh-115382-Fix-cross-compiles-when-host-and-target-us.patch new file mode 100644 index 000000000..4d5afeb3c --- /dev/null +++ b/package/python3/0032-gh-115382-Fix-cross-compiles-when-host-and-target-us.patch @@ -0,0 +1,140 @@ +From 8d8cc9087fd44c097775ca0a9ebb6c877605baec Mon Sep 17 00:00:00 2001 +From: Vincent Fazio <5265893+vfazio@users.noreply.github.com> +Date: Wed, 28 Feb 2024 13:55:04 -0600 +Subject: [PATCH] gh-115382: Fix cross compiles when host and target use same + SOABI + +Previously, when a build was configured to use a host interpreter via +--with-build-python, the PYTHON_FOR_BUILD config value included a path +in PYTHONPATH that pointed to the target's built external modules. + +For "normal" foreign architecture cross compiles, when loading compiled +external libraries, the target libraries were processed first due to +their precedence in sys.path. These libraries were then ruled out due to +a mismatch in the SOABI so the import mechanism continued searching +until it found the host's native modules. + +However, if the host interpreter and the target python were on the same +version + SOABI combination, the host interpreter would attempt to load +the target's external modules due to their precedence in sys.path. + +Despite the "match", the target build may have been linked against a +different libc or may include unsupported instructions so loading or +executing the target's external modules can lead to crashes. + +Now, the path to the target's external modules is no longer defined in +PYTHONPATH to prevent accidentally loading these foreign modules. + +One caveat is that during certain build stages, the target's sysconfig +module requires higher precedence than the host's version in order to +accurately query the target build's configuration. + +This worked previously due to the target's sysconfig data module having +precedence over the host's (see above). In order to keep this desired +behavior, a new environment variable, _PYTHON_SYSCONFIGDATA_PATH, has +been defined so sysconfig can search this directory for the target's +sysconfig data. + +Signed-off-by: Vincent Fazio +Upstream-issue: https://github.com/python/cpython/issues/115382 +Upstream: https://github.com/python/cpython/pull/116294 +--- + Lib/sysconfig.py | 15 ++++++++++++++- + Lib/test/libregrtest/main.py | 1 + + Lib/test/pythoninfo.py | 1 + + Tools/scripts/run_tests.py | 1 + + configure | 2 +- + configure.ac | 2 +- + 6 files changed, 19 insertions(+), 3 deletions(-) + +diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py +index 6328ec41af..744f715fe2 100644 +--- a/Lib/sysconfig.py ++++ b/Lib/sysconfig.py +@@ -535,7 +535,20 @@ def _init_posix(vars): + """Initialize the module as appropriate for POSIX systems.""" + # _sysconfigdata is generated at build time, see _generate_posix_vars() + name = _get_sysconfigdata_name() +- _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0) ++ ++ # For cross builds, the path to the target's sysconfigdata must be specified ++ # so it can be imported. It cannot be in PYTHONPATH, as foreign modules in ++ # sys.path can cause crashes when loaded by the host interpreter. ++ # Rely on truthiness as a valueless env variable is still an empty string. ++ # See OS X note in _generate_posix_vars re _sysconfigdata. ++ if (path := os.environ.get('_PYTHON_SYSCONFIGDATA_PATH')): ++ from importlib.machinery import FileFinder, SourceFileLoader, SOURCE_SUFFIXES ++ from importlib.util import module_from_spec ++ spec = FileFinder(path, (SourceFileLoader, SOURCE_SUFFIXES)).find_spec(name) ++ _temp = module_from_spec(spec) ++ spec.loader.exec_module(_temp) ++ else: ++ _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0) + build_time_vars = _temp.build_time_vars + vars.update(build_time_vars) + +diff --git a/Lib/test/libregrtest/main.py b/Lib/test/libregrtest/main.py +index a9725fa967..121e2e7393 100644 +--- a/Lib/test/libregrtest/main.py ++++ b/Lib/test/libregrtest/main.py +@@ -519,6 +519,7 @@ def _add_cross_compile_opts(self, regrtest_opts): + '_PYTHON_PROJECT_BASE', + '_PYTHON_HOST_PLATFORM', + '_PYTHON_SYSCONFIGDATA_NAME', ++ "_PYTHON_SYSCONFIGDATA_PATH", + 'PYTHONPATH' + } + old_environ = os.environ +diff --git a/Lib/test/pythoninfo.py b/Lib/test/pythoninfo.py +index 74ebb5e5b8..fa7fbca34e 100644 +--- a/Lib/test/pythoninfo.py ++++ b/Lib/test/pythoninfo.py +@@ -326,6 +326,7 @@ def format_groups(groups): + "_PYTHON_HOST_PLATFORM", + "_PYTHON_PROJECT_BASE", + "_PYTHON_SYSCONFIGDATA_NAME", ++ "_PYTHON_SYSCONFIGDATA_PATH", + "__PYVENV_LAUNCHER__", + + # Sanitizer options +diff --git a/Tools/scripts/run_tests.py b/Tools/scripts/run_tests.py +index 445a34ae3e..4077a83424 100644 +--- a/Tools/scripts/run_tests.py ++++ b/Tools/scripts/run_tests.py +@@ -42,6 +42,7 @@ def main(regrtest_args): + '_PYTHON_PROJECT_BASE', + '_PYTHON_HOST_PLATFORM', + '_PYTHON_SYSCONFIGDATA_NAME', ++ "_PYTHON_SYSCONFIGDATA_PATH", + 'PYTHONPATH' + } + environ = { +diff --git a/configure b/configure +index a1ad0ae251..0657162d1a 100755 +--- a/configure ++++ b/configure +@@ -3262,7 +3262,7 @@ fi + fi + ac_cv_prog_PYTHON_FOR_REGEN=$with_build_python + PYTHON_FOR_FREEZE="$with_build_python" +- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$with_build_python ++ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) _PYTHON_SYSCONFIGDATA_PATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`) '$with_build_python + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_build_python" >&5 + $as_echo "$with_build_python" >&6; } + +diff --git a/configure.ac b/configure.ac +index e5fb8bd99e..d444f5ec09 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -162,7 +162,7 @@ AC_ARG_WITH( + dnl Build Python interpreter is used for regeneration and freezing. + ac_cv_prog_PYTHON_FOR_REGEN=$with_build_python + PYTHON_FOR_FREEZE="$with_build_python" +- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$with_build_python ++ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) _PYTHON_SYSCONFIGDATA_PATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`) '$with_build_python + AC_MSG_RESULT([$with_build_python]) + ], [ + AS_VAR_IF([cross_compiling], [yes], +-- +2.34.1 + diff --git a/package/python3/python3.hash b/package/python3/python3.hash index 962d32b5d..02d4df80c 100644 --- a/package/python3/python3.hash +++ b/package/python3/python3.hash @@ -1,5 +1,5 @@ -# From https://www.python.org/downloads/release/python-3118/ -md5 b353b8433e560e1af2b130f56dfbd973 Python-3.11.8.tar.xz +# From https://www.python.org/downloads/release/python-31111/ +md5 3e497037b170fe4be5f462c4964596f2 Python-3.11.11.tar.xz # Locally computed -sha256 9e06008c8901924395bc1da303eac567a729ae012baa182ab39269f650383bb3 Python-3.11.8.tar.xz +sha256 2a9920c7a0cd236de33644ed980a13cbbc21058bfdc528febb6081575ed73be3 Python-3.11.11.tar.xz sha256 3b2f81fe21d181c499c59a256c8e1968455d6689d269aa85373bfb6af41da3bf LICENSE diff --git a/package/python3/python3.mk b/package/python3/python3.mk index 5d9d77af5..7a8c2b305 100644 --- a/package/python3/python3.mk +++ b/package/python3/python3.mk @@ -5,7 +5,7 @@ ################################################################################ PYTHON3_VERSION_MAJOR = 3.11 -PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).8 +PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).11 PYTHON3_SOURCE = Python-$(PYTHON3_VERSION).tar.xz PYTHON3_SITE = https://python.org/ftp/python/$(PYTHON3_VERSION) PYTHON3_LICENSE = Python-2.0, others @@ -204,7 +204,7 @@ define PYTHON3_REMOVE_USELESS_FILES rm -f $(TARGET_DIR)/usr/bin/python3-config rm -f $(TARGET_DIR)/usr/bin/smtpd.py.3 rm -f $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/distutils/command/wininst*.exe - for i in `find $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/config-$(PYTHON3_VERSION_MAJOR)m-*/ \ + for i in `find $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/config-$(PYTHON3_VERSION_MAJOR)*/ \ -type f -not -name Makefile` ; do \ rm -f $$i ; \ done diff --git a/package/qemu/0001-tests-fp-disable-fp-bench-build-by-default.patch b/package/qemu/0001-tests-fp-disable-fp-bench-build-by-default.patch deleted file mode 100644 index fb7a9a698..000000000 --- a/package/qemu/0001-tests-fp-disable-fp-bench-build-by-default.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 83d976d6d7f0357659d5daa0f01c52048a609e88 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Wed, 25 Aug 2021 21:55:53 +0200 -Subject: [PATCH] tests/fp: disable fp-bench build by default - -Fixes: -https://lists.nongnu.org/archive/html/qemu-devel/2021-03/msg00947.html - -Signed-off-by: Romain Naour ---- - tests/fp/meson.build | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tests/fp/meson.build b/tests/fp/meson.build -index 8bd0979f67..2fe019d2c6 100644 ---- a/tests/fp/meson.build -+++ b/tests/fp/meson.build -@@ -640,6 +640,7 @@ fpbench = executable( - dependencies: [qemuutil], - include_directories: [sfinc, include_directories(tfdir)], - c_args: fpcflags, -+ build_by_default: false, - ) - - fptestlog2 = executable( --- -2.35.1 - diff --git a/package/qemu/0001-tests-fp-meson-don-t-build-fp-bench-test-if-fenv.h-i.patch b/package/qemu/0001-tests-fp-meson-don-t-build-fp-bench-test-if-fenv.h-i.patch new file mode 100644 index 000000000..b7e41d6f2 --- /dev/null +++ b/package/qemu/0001-tests-fp-meson-don-t-build-fp-bench-test-if-fenv.h-i.patch @@ -0,0 +1,49 @@ +From b4a692f46135af1011bf0adbfeb19abf354ca191 Mon Sep 17 00:00:00 2001 +From: Dario Binacchi +Date: Tue, 30 Apr 2024 09:40:55 +0200 +Subject: [PATCH] tests/fp/meson: don't build fp-bench test if fenv.h is + missing + +The fp-bench test (i. e. tests/fp/fp-bench.c) use fenv.h that is not +always provided by the libc (uClibc). The patch disables its compilation +in case the header is not available. + +The patch is based on a suggestion from Paolo Bonzini, which you can +find at the following link. + +Link: https://lists.nongnu.org/archive/html/qemu-devel/2021-03/msg00492.html +Suggested-by: Paolo Bonzini +Signed-off-by: Dario Binacchi +Upstream: https://patchwork.ozlabs.org/project/qemu-devel/patch/20240430164752.645521-1-dario.binacchi@amarulasolutions.com/ +--- + tests/fp/meson.build | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +diff --git a/tests/fp/meson.build b/tests/fp/meson.build +index cbc17392d678..cd052667e940 100644 +--- a/tests/fp/meson.build ++++ b/tests/fp/meson.build +@@ -126,12 +126,14 @@ test('fp-test-mulAdd', fptest, + ['f16_mulAdd', 'f32_mulAdd', 'f64_mulAdd', 'f128_mulAdd'], + suite: ['softfloat-slow', 'softfloat-ops-slow', 'slow'], timeout: 90) + +-executable( +- 'fp-bench', +- ['fp-bench.c', '../../fpu/softfloat.c'], +- dependencies: [qemuutil, libtestfloat, libsoftfloat], +- c_args: fpcflags, +-) ++if cc.has_header('fenv.h') ++ executable( ++ 'fp-bench', ++ ['fp-bench.c', '../../fpu/softfloat.c'], ++ dependencies: [qemuutil, libtestfloat, libsoftfloat], ++ c_args: fpcflags, ++ ) ++endif + + fptestlog2 = executable( + 'fp-test-log2', +-- +2.43.0 + diff --git a/package/qemu/0004-tracing-install-trace-events-file-only-if-necessary.patch b/package/qemu/0003-tracing-install-trace-events-file-only-if-necessary.patch similarity index 100% rename from package/qemu/0004-tracing-install-trace-events-file-only-if-necessary.patch rename to package/qemu/0003-tracing-install-trace-events-file-only-if-necessary.patch diff --git a/package/qemu/Config.in b/package/qemu/Config.in index 8d53ced30..91e0de884 100644 --- a/package/qemu/Config.in +++ b/package/qemu/Config.in @@ -289,7 +289,7 @@ config BR2_PACKAGE_QEMU_TARGET_RISCV32 bool "riscv32" select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM help - RISC-V 33-bit architecture. + RISC-V 32-bit architecture. config BR2_PACKAGE_QEMU_TARGET_RISCV64 bool "riscv64" diff --git a/package/qlibc/Config.in b/package/qlibc/Config.in index ad6f1fee5..cbdf5e15c 100644 --- a/package/qlibc/Config.in +++ b/package/qlibc/Config.in @@ -8,8 +8,8 @@ config BR2_PACKAGE_QLIBC qLibc is currently one of the most functionally complete public licensed C/C++ libraries. The C/C++ library which includes all kinds of containers and general library - routines. It provides ready-made set of common container - APIs with consistant API look. + routines. It provides a ready-made set of common container + APIs with consistent API look. https://github.com/wolkykim/qlibc diff --git a/package/qt5/qt5.mk b/package/qt5/qt5.mk index a43b36dd5..cbd25fac6 100644 --- a/package/qt5/qt5.mk +++ b/package/qt5/qt5.mk @@ -12,7 +12,7 @@ include $(sort $(wildcard package/qt5/*/*.mk)) # The file "qt.conf" can be used to override the hard-coded paths that are # compiled into the Qt library. We need it to make "qmake" relocatable and -# tweak the per-package install pathes +# tweak the per-package install paths define QT5_INSTALL_QT_CONF rm -f $(HOST_DIR)/bin/qt.conf sed -e "s|@@HOST_DIR@@|$(HOST_DIR)|" -e "s|@@STAGING_DIR@@|$(STAGING_DIR)|" \ diff --git a/package/qt5/qt5base/0005-eglfs-avoid-breaking-compilation-for-obscure-EGLNativeDisplayType-types.patch b/package/qt5/qt5base/0005-eglfs-avoid-breaking-compilation-for-obscure-EGLNativeDisplayType-types.patch index 3621cdb2d..9e89d8a5c 100644 --- a/package/qt5/qt5base/0005-eglfs-avoid-breaking-compilation-for-obscure-EGLNativeDisplayType-types.patch +++ b/package/qt5/qt5base/0005-eglfs-avoid-breaking-compilation-for-obscure-EGLNativeDisplayType-types.patch @@ -27,7 +27,7 @@ It is to be noted, though, that in some ABIs (like x32), the size of a nativeDisplay that is not already a pointer, might be bigger than that of a pointer. There is not much we can do here anyway, since there would be no way to fit that in a void* to begin with, and the build will still -fail for those situations. Those types of ABIs are far frome being +fail for those situations. Those types of ABIs are far from being widespread, the most prominent one, x32, even being retired... To be noted further: a more usual solution (as suggested in QTBUG-72567 diff --git a/package/qt5/qt5base/qt5base.hash b/package/qt5/qt5base/qt5base.hash index ffc474f49..8f28cdb55 100644 --- a/package/qt5/qt5base/qt5base.hash +++ b/package/qt5/qt5base/qt5base.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 935d01f5c34903ad9e979431cec7a8a59332ed3fc539e639f5ba87e8d6989b9d qtbase-da6e958319e95fe564d3b30c931492dd666bfaff.tar.bz2 +sha256 7fdd81fc6c157c3e65e16b306e90c8dd4363d10b752d7379251dfb7214cb0574 qt5base-da6e958319e95fe564d3b30c931492dd666bfaff-br1.tar.gz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk index e173639cc..bbab9b3de 100644 --- a/package/qt5/qt5base/qt5base.mk +++ b/package/qt5/qt5base/qt5base.mk @@ -5,8 +5,8 @@ ################################################################################ QT5BASE_VERSION = da6e958319e95fe564d3b30c931492dd666bfaff -QT5BASE_SITE = $(QT5_SITE)/qtbase/-/archive/$(QT5BASE_VERSION) -QT5BASE_SOURCE = qtbase-$(QT5BASE_VERSION).tar.bz2 +QT5BASE_SITE = $(QT5_SITE)/qtbase +QT5BASE_SITE_METHOD = git QT5BASE_CPE_ID_VENDOR = qt QT5BASE_CPE_ID_PRODUCT = qt diff --git a/package/qt5/qt5connectivity/Config.in b/package/qt5/qt5connectivity/Config.in index 244d01676..1ac77d7b3 100644 --- a/package/qt5/qt5connectivity/Config.in +++ b/package/qt5/qt5connectivity/Config.in @@ -8,7 +8,7 @@ config BR2_PACKAGE_QT5CONNECTIVITY developers using C++. Qt Connectivity module provides support for Bluetooth/NFC - peripherials. + peripherals. https://doc.qt.io/qt-5/qtbluetooth-index.html https://doc.qt.io/qt-5/qtnfc-index.html diff --git a/package/qt5/qt5enginio/qt5enginio.mk b/package/qt5/qt5enginio/qt5enginio.mk index a9572db28..b74775f29 100644 --- a/package/qt5/qt5enginio/qt5enginio.mk +++ b/package/qt5/qt5enginio/qt5enginio.mk @@ -4,7 +4,7 @@ # ################################################################################ -# Qt5Enginio does not follow Qt versionning +# Qt5Enginio does not follow Qt versioning # see https://bugreports.qt.io/browse/QTBUG-50111 QT5ENGINIO_VERSION = 1.6.3 QT5ENGINIO_SITE = https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules diff --git a/package/qt5/qt5virtualkeyboard/Config.in b/package/qt5/qt5virtualkeyboard/Config.in index 4cac6fd27..efe837e5f 100644 --- a/package/qt5/qt5virtualkeyboard/Config.in +++ b/package/qt5/qt5virtualkeyboard/Config.in @@ -31,7 +31,7 @@ config BR2_PACKAGE_QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS - Norwegian (nb_NO) - Persian/Farsi (fa_FA) - Polish (pl_PL) - - Portugese (pt_PT) + - Portuguese (pt_PT) - Romanian (ro_RO) - Russian (ru_RU) - Simplified Chinese (zh_CN) diff --git a/package/qt5/qt5webkit/0004-Remove-invalid-g_object-declarations-to-fix-build-wi.patch b/package/qt5/qt5webkit/0004-Remove-invalid-g_object-declarations-to-fix-build-wi.patch index 48605e4fe..e3a1faec9 100644 --- a/package/qt5/qt5webkit/0004-Remove-invalid-g_object-declarations-to-fix-build-wi.patch +++ b/package/qt5/qt5webkit/0004-Remove-invalid-g_object-declarations-to-fix-build-wi.patch @@ -8,6 +8,8 @@ g_object_ref_sink is defined as a macro meanwhile and so the build fails. Just remove the declarations, glib.h is included anyway. Signed-off-by: James Hilliard [Retrieved from: https://github.com/qtwebkit/qtwebkit/pull/1058] +[Dario: make the patch to be applied with fuzz factor 0] +Signed-off-by: Dario Binacchi --- Source/WTF/wtf/glib/GRefPtr.h | 3 --- 1 file changed, 3 deletions(-) @@ -17,8 +19,8 @@ index 06133d82cb35..d9a1d2f145f5 100644 --- a/Source/WTF/wtf/glib/GRefPtr.h +++ b/Source/WTF/wtf/glib/GRefPtr.h @@ -29,9 +29,6 @@ + #include #include - #include -extern "C" void g_object_unref(gpointer); -extern "C" gpointer g_object_ref_sink(gpointer); diff --git a/package/qt5/qt5webkit/0007-Offlineasm-warnings-with-newer-Ruby-versions-https-b.patch b/package/qt5/qt5webkit/0007-Offlineasm-warnings-with-newer-Ruby-versions-https-b.patch new file mode 100644 index 000000000..c8e339c5f --- /dev/null +++ b/package/qt5/qt5webkit/0007-Offlineasm-warnings-with-newer-Ruby-versions-https-b.patch @@ -0,0 +1,48 @@ +From 47e03d4af292805bf304f09e34333b38a94c1789 Mon Sep 17 00:00:00 2001 +From: "aperez@igalia.com" +Date: Wed, 15 Jan 2020 22:15:38 +0000 +Subject: [PATCH] Offlineasm warnings with newer Ruby versions + https://bugs.webkit.org/show_bug.cgi?id=206233 + +Reviewed by Yusuke Suzuki. + +Avoid a warning about using Object#=~ on Annotation instances, which +has been deprecated in Ruby 2.7. + +* offlineasm/parser.rb: Swap checks to prevent applying the =~ operator +to Annotation instances, which do not define it. + +git-svn-id: http://svn.webkit.org/repository/webkit/trunk@254637 268f45cc-cd09-0410-ab3c-d52691b4dbfc +Upstream: https://github.com/WebKit/WebKit/commit/c7d19a492d97f9282a546831beb918e03315f6ef +Signed-off-by: Alexis Lothoré +--- + Source/JavaScriptCore/offlineasm/parser.rb | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Source/JavaScriptCore/offlineasm/parser.rb b/Source/JavaScriptCore/offlineasm/parser.rb +index b4451124521f..cd1cffaec6ed 100644 +--- a/Source/JavaScriptCore/offlineasm/parser.rb ++++ b/Source/JavaScriptCore/offlineasm/parser.rb +@@ -584,9 +584,7 @@ class Parser + firstCodeOrigin = @tokens[@idx].codeOrigin + list = [] + loop { +- if (@idx == @tokens.length and not final) or (final and @tokens[@idx] =~ final) +- break +- elsif @tokens[@idx].is_a? Annotation ++ if @tokens[@idx].is_a? Annotation + # This is the only place where we can encounter a global + # annotation, and hence need to be able to distinguish between + # them. +@@ -600,6 +598,8 @@ class Parser + list << Instruction.new(codeOrigin, annotationOpcode, [], @tokens[@idx].string) + @annotation = nil + @idx += 2 # Consume the newline as well. ++ elsif (@idx == @tokens.length and not final) or (final and @tokens[@idx] =~ final) ++ break + elsif @tokens[@idx] == "\n" + # ignore + @idx += 1 +-- +2.43.1 + diff --git a/package/qt5/qt5webkit/0008-Build-fails-with-libxml2-version-2.12.0-due-to-API-c.patch b/package/qt5/qt5webkit/0008-Build-fails-with-libxml2-version-2.12.0-due-to-API-c.patch new file mode 100644 index 000000000..d6f379ae8 --- /dev/null +++ b/package/qt5/qt5webkit/0008-Build-fails-with-libxml2-version-2.12.0-due-to-API-c.patch @@ -0,0 +1,61 @@ +From df49bfc4c93001970c9b9266903ee7e8804fb576 Mon Sep 17 00:00:00 2001 +From: Adrian Perez de Castro +Date: Mon, 20 Nov 2023 07:42:30 -0800 +Subject: [PATCH] Build fails with libxml2 version 2.12.0 due to API change + https://bugs.webkit.org/show_bug.cgi?id=265128 + +Reviewed by Philippe Normand. + +Starting with libxml2 2.12.0, the API has changed the const-ness of the +xmlError pointers, which results in a build error due to a mismatched +type in the parsing error callback. This papers over the difference by +using preprocessor conditionals. + +* Source/WebCore/xml/XSLTProcessor.h: Use const when building against + libxml2 2.12.0 or newer. +* Source/WebCore/xml/XSLTProcessorLibxslt.cpp: +(WebCore::XSLTProcessor::parseErrorFunc): Ditto. + +Canonical link: https://commits.webkit.org/270977@main +Upstream: https://github.com/WebKit/WebKit/commit/1bad176b2496579d760852c80cff3ad9fb7c3a4b +Signed-off-by: Alexis Lothoré +--- + Source/WebCore/xml/XSLTProcessor.h | 4 ++++ + Source/WebCore/xml/XSLTProcessorLibxslt.cpp | 4 ++++ + 2 files changed, 8 insertions(+) + +diff --git a/Source/WebCore/xml/XSLTProcessor.h b/Source/WebCore/xml/XSLTProcessor.h +index 21bb45b5cbe1..5cf20557918f 100644 +--- a/Source/WebCore/xml/XSLTProcessor.h ++++ b/Source/WebCore/xml/XSLTProcessor.h +@@ -61,7 +61,11 @@ public: + + void reset(); + ++#if LIBXML_VERSION >= 21200 ++ static void parseErrorFunc(void* userData, const xmlError*); ++#else + static void parseErrorFunc(void* userData, xmlError*); ++#endif + static void genericErrorFunc(void* userData, const char* msg, ...); + + // Only for libXSLT callbacks +diff --git a/Source/WebCore/xml/XSLTProcessorLibxslt.cpp b/Source/WebCore/xml/XSLTProcessorLibxslt.cpp +index a65691087e3c..9f6b363dfc6c 100644 +--- a/Source/WebCore/xml/XSLTProcessorLibxslt.cpp ++++ b/Source/WebCore/xml/XSLTProcessorLibxslt.cpp +@@ -59,7 +59,11 @@ void XSLTProcessor::genericErrorFunc(void*, const char*, ...) + // It would be nice to do something with this error message. + } + ++#if LIBXML_VERSION >= 21200 ++void XSLTProcessor::parseErrorFunc(void* userData, const xmlError* error) ++#else + void XSLTProcessor::parseErrorFunc(void* userData, xmlError* error) ++#endif + { + PageConsoleClient* console = static_cast(userData); + if (!console) +-- +2.43.1 + diff --git a/package/qt6/qt6base/0001-QDnsLookup-Unix-make-sure-we-don-t-overflow-the-buff.patch b/package/qt6/qt6base/0001-QDnsLookup-Unix-make-sure-we-don-t-overflow-the-buff.patch new file mode 100644 index 000000000..f4e81b857 --- /dev/null +++ b/package/qt6/qt6base/0001-QDnsLookup-Unix-make-sure-we-don-t-overflow-the-buff.patch @@ -0,0 +1,106 @@ +From fc233efad86101d49cd312b16c5a25e6a017e977 Mon Sep 17 00:00:00 2001 +From: Thiago Macieira +Date: Thu, 11 May 2023 21:40:15 -0700 +Subject: [PATCH] QDnsLookup/Unix: make sure we don't overflow the buffer +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The DNS Records are variable length and encode their size in 16 bits +before the Record Data (RDATA). Ensure that both the RDATA and the +Record header fields before it fall inside the buffer we have. + +Additionally reject any replies containing more than one query records. + +[ChangeLog][QtNetwork][QDnsLookup] Fixed a bug that could cause a buffer +overflow in Unix systems while parsing corrupt, malicious, or truncated +replies. + +Pick-to: 5.15 6.2 6.5 6.5.1 +Change-Id: I3e3bfef633af4130a03afffd175e4b9547654b95 +Reviewed-by: Mårten Nordheim +Reviewed-by: Jani Heikkinen + +Fixes: https://security-tracker.debian.org/tracker/CVE-2023-33285 +Upstream: https://codereview.qt-project.org/gitweb?p=qt/qtbase.git;a=commitdiff;h=7dba2c87619d558a61a30eb30cc1d9c3fe6df94c +[Thomas: changes needed to backport on 6.4.3: use local_dn_expand() +instead of dn_expand(), since we didn't backport the changes in +68b625901f9eb7c34e3d7aa302e1c0a454d3190b that are too invasive] +Signed-off-by: Thomas Petazzoni +--- + src/network/kernel/qdnslookup_unix.cpp | 31 +++++++++++++++++++++----- + 1 file changed, 25 insertions(+), 6 deletions(-) + +diff --git a/src/network/kernel/qdnslookup_unix.cpp b/src/network/kernel/qdnslookup_unix.cpp +index 75f7c6c440e..de0113494fc 100644 +--- a/src/network/kernel/qdnslookup_unix.cpp ++++ b/src/network/kernel/qdnslookup_unix.cpp +@@ -193,7 +193,6 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN + // responseLength in case of error, we still can extract the + // exact error code from the response. + HEADER *header = (HEADER*)response; +- const int answerCount = ntohs(header->ancount); + switch (header->rcode) { + case NOERROR: + break; +@@ -226,18 +225,31 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN + return; + } + +- // Skip the query host, type (2 bytes) and class (2 bytes). + char host[PACKETSZ], answer[PACKETSZ]; + unsigned char *p = response + sizeof(HEADER); +- int status = local_dn_expand(response, response + responseLength, p, host, sizeof(host)); +- if (status < 0) { ++ int status; ++ ++ if (ntohs(header->qdcount) == 1) { ++ // Skip the query host, type (2 bytes) and class (2 bytes). ++ status = local_dn_expand(response, response + responseLength, p, host, sizeof(host)); ++ if (status < 0) { ++ reply->error = QDnsLookup::InvalidReplyError; ++ reply->errorString = tr("Could not expand domain name"); ++ return; ++ } ++ if ((p - response) + status + 4 >= responseLength) ++ header->qdcount = 0xffff; // invalid reply below ++ else ++ p += status + 4; ++ } ++ if (ntohs(header->qdcount) > 1) { + reply->error = QDnsLookup::InvalidReplyError; +- reply->errorString = tr("Could not expand domain name"); ++ reply->errorString = tr("Invalid reply received"); + return; + } +- p += status + 4; + + // Extract results. ++ const int answerCount = ntohs(header->ancount); + int answerIndex = 0; + while ((p < response + responseLength) && (answerIndex < answerCount)) { + status = local_dn_expand(response, response + responseLength, p, host, sizeof(host)); +@@ -249,6 +261,11 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN + const QString name = QUrl::fromAce(host); + + p += status; ++ ++ if ((p - response) + 10 > responseLength) { ++ // probably just a truncated reply, return what we have ++ return; ++ } + const quint16 type = (p[0] << 8) | p[1]; + p += 2; // RR type + p += 2; // RR class +@@ -256,6 +273,8 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN + p += 4; + const quint16 size = (p[0] << 8) | p[1]; + p += 2; ++ if ((p - response) + size > responseLength) ++ return; // truncated + + if (type == QDnsLookup::A) { + if (size != 4) { +-- +2.46.0 + diff --git a/package/qt6/qt6base/0002-Hsts-match-header-names-case-insensitively.patch b/package/qt6/qt6base/0002-Hsts-match-header-names-case-insensitively.patch new file mode 100644 index 000000000..16332d791 --- /dev/null +++ b/package/qt6/qt6base/0002-Hsts-match-header-names-case-insensitively.patch @@ -0,0 +1,57 @@ +From 5e8697e3aa4e92643c52d34aacfa26890e7d417d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= +Date: Fri, 5 May 2023 11:07:26 +0200 +Subject: [PATCH] Hsts: match header names case insensitively + +Header field names are always considered to be case-insensitive. + +Pick-to: 6.5 6.5.1 6.2 5.15 +Fixes: QTBUG-113392 +Change-Id: Ifb4def4bb7f2ac070416cdc76581a769f1e52b43 +Reviewed-by: Qt CI Bot +Reviewed-by: Edward Welbourne +Reviewed-by: Volker Hilsheimer + +Fixes: https://security-tracker.debian.org/tracker/CVE-2023-32762 +Upstream: https://github.com/qt/qtbase/commit/1b736a815be0222f4b24289cf17575fc15707305 +Signed-off-by: Thomas Petazzoni +--- + src/network/access/qhsts.cpp | 4 ++-- + tests/auto/network/access/hsts/tst_qhsts.cpp | 6 ++++++ + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/src/network/access/qhsts.cpp b/src/network/access/qhsts.cpp +index 39905f35480..82deede1729 100644 +--- a/src/network/access/qhsts.cpp ++++ b/src/network/access/qhsts.cpp +@@ -327,8 +327,8 @@ quoted-pair = "\" CHAR + bool QHstsHeaderParser::parse(const QList> &headers) + { + for (const auto &h : headers) { +- // We use '==' since header name was already 'trimmed' for us: +- if (h.first == "Strict-Transport-Security") { ++ // We compare directly because header name was already 'trimmed' for us: ++ if (h.first.compare("Strict-Transport-Security", Qt::CaseInsensitive) == 0) { + header = h.second; + // RFC6797, 8.1: + // +diff --git a/tests/auto/network/access/hsts/tst_qhsts.cpp b/tests/auto/network/access/hsts/tst_qhsts.cpp +index 252f5e8f579..97a2d2889e5 100644 +--- a/tests/auto/network/access/hsts/tst_qhsts.cpp ++++ b/tests/auto/network/access/hsts/tst_qhsts.cpp +@@ -216,6 +216,12 @@ void tst_QHsts::testSTSHeaderParser() + QVERIFY(parser.expirationDate() > QDateTime::currentDateTimeUtc()); + QVERIFY(parser.includeSubDomains()); + ++ list.pop_back(); ++ list << Header("strict-transport-security", "includeSubDomains;max-age=1000"); ++ QVERIFY(parser.parse(list)); ++ QVERIFY(parser.expirationDate() > QDateTime::currentDateTimeUtc()); ++ QVERIFY(parser.includeSubDomains()); ++ + list.pop_back(); + // Invalid (includeSubDomains twice): + list << Header("Strict-Transport-Security", "max-age = 1000 ; includeSubDomains;includeSubDomains"); +-- +2.46.0 + diff --git a/package/qt6/qt6base/0003-QTextLayout-fix-maximumWidth-for-a-text-containing-s.patch b/package/qt6/qt6base/0003-QTextLayout-fix-maximumWidth-for-a-text-containing-s.patch new file mode 100644 index 000000000..6717c0e90 --- /dev/null +++ b/package/qt6/qt6base/0003-QTextLayout-fix-maximumWidth-for-a-text-containing-s.patch @@ -0,0 +1,88 @@ +From ffa54deca4ee1e47c112b33ff37f296c4df6c559 Mon Sep 17 00:00:00 2001 +From: Vladimir Belyavsky +Date: Mon, 26 Sep 2022 19:32:50 +0300 +Subject: [PATCH] QTextLayout: fix maximumWidth() for a text containing spaces + +When laying out a text and calculating maxWidth, we must _always_ take +into account the accumulated width of spaces (lbh.spaceData.textWidth) +regardless of wrapMode, other text content, spaces position, etc. + +Fixes: QTBUG-106947 +Change-Id: I2ac9af92ed7dd07c1e040bfcf83949a358d1c9c9 +Reviewed-by: Qt CI Bot +Reviewed-by: Eskil Abrahamsen Blomfeldt + +Upstream: https://github.com/qt/qtbase/commit/4945fd93f13d2fc34adf260fd0e0325d0794f3f7 +[Thomas: Needed to backport fix for +https://security-tracker.debian.org/tracker/CVE-2023-32763] +Signed-off-by: Thomas Petazzoni +--- + src/gui/text/qtextlayout.cpp | 6 +----- + .../gui/text/qtextlayout/tst_qtextlayout.cpp | 16 ++++++++++++++-- + 2 files changed, 15 insertions(+), 7 deletions(-) + +diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp +index e3c69db7e57..9ae6bee2de3 100644 +--- a/src/gui/text/qtextlayout.cpp ++++ b/src/gui/text/qtextlayout.cpp +@@ -1919,7 +1919,6 @@ void QTextLine::layout_helper(int maxGlyphs) + } + + if (!lbh.manualWrap && lbh.spaceData.textWidth > line.width) { +- lbh.spaceData.textWidth = line.width; // ignore spaces that fall out of the line. + goto found; + } + } else { +@@ -2105,12 +2104,9 @@ found: + eng->maxWidth = qMax(eng->maxWidth, line.textWidth); + } else { + eng->minWidth = qMax(eng->minWidth, lbh.minw); +- eng->maxWidth += line.textWidth; ++ eng->maxWidth += line.textWidth + lbh.spaceData.textWidth; + } + +- if (line.textWidth > 0 && item < eng->layoutData->items.size()) +- eng->maxWidth += lbh.spaceData.textWidth; +- + line.textWidth += trailingSpace; + if (lbh.spaceData.length) { + line.trailingSpaces = lbh.spaceData.length; +diff --git a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp +index a8b42b88697..680c62e9825 100644 +--- a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp ++++ b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp +@@ -124,6 +124,7 @@ private slots: + void tooManyDirectionalCharctersCrash_qtbug77819(); + void softHyphens_data(); + void softHyphens(); ++ void min_maximumWidth_data(); + void min_maximumWidth(); + + private: +@@ -2662,10 +2663,21 @@ void tst_QTextLayout::softHyphens() + } + } + ++void tst_QTextLayout::min_maximumWidth_data() ++{ ++ QTest::addColumn("text"); ++ ++ QTest::newRow("long string") << QStringLiteral("lmong_long_crazy_87235982735_23857239682376923876923876-fuwhfhfw-names-AAAA-deeaois2019-03-03.and.more"); ++ QTest::newRow("QTBUG-106947") << QStringLiteral("text text"); ++ QTest::newRow("spaces") << QStringLiteral(" text text "); ++} ++ + void tst_QTextLayout::min_maximumWidth() + { +- QString longString("lmong_long_crazy_87235982735_23857239682376923876923876-fuwhfhfw-names-AAAA-deeaois2019-03-03.and.more"); +- QTextLayout layout(longString, testFont); ++ QFETCH(QString, text); ++ ++ QTextLayout layout(text, testFont); ++ layout.setCacheEnabled(true); + + for (int wrapMode = QTextOption::NoWrap; wrapMode <= QTextOption::WrapAtWordBoundaryOrAnywhere; ++wrapMode) { + QTextOption opt; +-- +2.46.0 + diff --git a/package/qt6/qt6base/0004-QTextLayout-fix-maximumWidth-for-a-text-containing-l.patch b/package/qt6/qt6base/0004-QTextLayout-fix-maximumWidth-for-a-text-containing-l.patch new file mode 100644 index 000000000..7163b8ff7 --- /dev/null +++ b/package/qt6/qt6base/0004-QTextLayout-fix-maximumWidth-for-a-text-containing-l.patch @@ -0,0 +1,168 @@ +From b58616bff6715a6c66bdc9019d008b7918d3ccc8 Mon Sep 17 00:00:00 2001 +From: Vladimir Belyavsky +Date: Tue, 27 Sep 2022 16:57:08 +0300 +Subject: [PATCH] QTextLayout: fix maximumWidth() for a text containing line + separator + +This is improved version of previous fix +013c346a8dcbd618febb07884c64c740daf9754d that was reverted because it +broke some tests for Quick Text. The problem was that it did not work +correctly in the case the text was wrapped to a fixed width. +To deal with this we'll accumulate current line full width (as if it +hadn't been wrapped) in layout data (layoutData->currentMaxWidth). +Then when the next line is explicitly wrapped by line or paragraph +separator, this accumulated width will be used to adjust layout's +maximum width. + +Change-Id: Iad7119d9808e1db15fe1fbc5db049c3db928529f +Fixes: QTBUG-89557 +Fixes: QTBUG-104986 +Reviewed-by: Eskil Abrahamsen Blomfeldt + +Upstream: https://github.com/qt/qtbase/commit/991c056438b311566bc4ea543af0f33dfd5dffbb +[Thomas: Needed to backport fix for +https://security-tracker.debian.org/tracker/CVE-2023-32763] +Signed-off-by: Thomas Petazzoni +--- + src/gui/text/qtextengine.cpp | 3 +++ + src/gui/text/qtextengine_p.h | 1 + + src/gui/text/qtextlayout.cpp | 16 +++++++++++----- + .../gui/text/qtextlayout/tst_qtextlayout.cpp | 16 +++++++++++++++- + 4 files changed, 30 insertions(+), 6 deletions(-) + +diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp +index ec528760e3b..ef3cdcbaaa7 100644 +--- a/src/gui/text/qtextengine.cpp ++++ b/src/gui/text/qtextengine.cpp +@@ -2619,6 +2619,7 @@ QTextEngine::LayoutData::LayoutData() + haveCharAttributes = false; + logClustersPtr = nullptr; + available_glyphs = 0; ++ currentMaxWidth = 0; + } + + QTextEngine::LayoutData::LayoutData(const QString &str, void **stack_memory, int _allocated) +@@ -2651,6 +2652,7 @@ QTextEngine::LayoutData::LayoutData(const QString &str, void **stack_memory, int + hasBidi = false; + layoutState = LayoutEmpty; + haveCharAttributes = false; ++ currentMaxWidth = 0; + } + + QTextEngine::LayoutData::~LayoutData() +@@ -2736,6 +2738,7 @@ void QTextEngine::freeMemory() + layoutData->hasBidi = false; + layoutData->layoutState = LayoutEmpty; + layoutData->haveCharAttributes = false; ++ layoutData->currentMaxWidth = 0; + layoutData->items.clear(); + } + if (specialData) +diff --git a/src/gui/text/qtextengine_p.h b/src/gui/text/qtextengine_p.h +index 925dafe04e2..59e332c64ae 100644 +--- a/src/gui/text/qtextengine_p.h ++++ b/src/gui/text/qtextengine_p.h +@@ -385,6 +385,7 @@ public: + uint layoutState : 2; + uint memory_on_stack : 1; + uint haveCharAttributes : 1; ++ QFixed currentMaxWidth; + QString string; + bool reallocate(int totalGlyphs); + }; +diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp +index 9ae6bee2de3..2009dd3d0bb 100644 +--- a/src/gui/text/qtextlayout.cpp ++++ b/src/gui/text/qtextlayout.cpp +@@ -1808,6 +1808,7 @@ void QTextLine::layout_helper(int maxGlyphs) + lbh.logClusters = eng->layoutData->logClustersPtr; + lbh.previousGlyph = 0; + ++ bool manuallyWrapped = false; + bool hasInlineObject = false; + QFixed maxInlineObjectHeight = 0; + +@@ -1883,6 +1884,7 @@ void QTextLine::layout_helper(int maxGlyphs) + lbh.calculateRightBearingForPreviousGlyph(); + } + line += lbh.tmpData; ++ manuallyWrapped = true; + goto found; + } else if (current.analysis.flags == QScriptAnalysis::Object) { + lbh.whiteSpaceOrObject = true; +@@ -1917,11 +1919,10 @@ void QTextLine::layout_helper(int maxGlyphs) + addNextCluster(lbh.currentPosition, end, lbh.spaceData, lbh.glyphCount, + current, lbh.logClusters, lbh.glyphs); + } +- +- if (!lbh.manualWrap && lbh.spaceData.textWidth > line.width) { +- goto found; +- } + } else { ++ if (!lbh.manualWrap && lbh.spaceData.textWidth > line.width) ++ goto found; ++ + lbh.whiteSpaceOrObject = false; + bool sb_or_ws = false; + lbh.saveCurrentGlyph(); +@@ -2104,7 +2105,12 @@ found: + eng->maxWidth = qMax(eng->maxWidth, line.textWidth); + } else { + eng->minWidth = qMax(eng->minWidth, lbh.minw); +- eng->maxWidth += line.textWidth + lbh.spaceData.textWidth; ++ eng->layoutData->currentMaxWidth += line.textWidth; ++ if (!manuallyWrapped) ++ eng->layoutData->currentMaxWidth += lbh.spaceData.textWidth; ++ eng->maxWidth = qMax(eng->maxWidth, eng->layoutData->currentMaxWidth); ++ if (manuallyWrapped) ++ eng->layoutData->currentMaxWidth = 0; + } + + line.textWidth += trailingSpace; +diff --git a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp +index 680c62e9825..5b14c4e1491 100644 +--- a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp ++++ b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp +@@ -2670,17 +2670,28 @@ void tst_QTextLayout::min_maximumWidth_data() + QTest::newRow("long string") << QStringLiteral("lmong_long_crazy_87235982735_23857239682376923876923876-fuwhfhfw-names-AAAA-deeaois2019-03-03.and.more"); + QTest::newRow("QTBUG-106947") << QStringLiteral("text text"); + QTest::newRow("spaces") << QStringLiteral(" text text "); ++ QTest::newRow("QTBUG-104986") << QStringLiteral("text\ntext\ntext"); ++ QTest::newRow("spaces + line breaks") << QStringLiteral(" \n text\n \ntext \n "); + } + + void tst_QTextLayout::min_maximumWidth() + { + QFETCH(QString, text); ++ text.replace('\n', QChar::LineSeparator); + + QTextLayout layout(text, testFont); + layout.setCacheEnabled(true); + ++ QTextOption opt; ++ opt.setWrapMode(QTextOption::NoWrap); ++ layout.setTextOption(opt); ++ layout.beginLayout(); ++ while (layout.createLine().isValid()) { } ++ layout.endLayout(); ++ ++ const qreal nonWrappedMaxWidth = layout.maximumWidth(); ++ + for (int wrapMode = QTextOption::NoWrap; wrapMode <= QTextOption::WrapAtWordBoundaryOrAnywhere; ++wrapMode) { +- QTextOption opt; + opt.setWrapMode((QTextOption::WrapMode)wrapMode); + layout.setTextOption(opt); + layout.beginLayout(); +@@ -2689,6 +2700,9 @@ void tst_QTextLayout::min_maximumWidth() + const qreal minWidth = layout.minimumWidth(); + const qreal maxWidth = layout.maximumWidth(); + ++ QCOMPARE_LE(minWidth, maxWidth); ++ QCOMPARE_LE(maxWidth, nonWrappedMaxWidth); // maxWidth for wrapped text shouldn't exceed maxWidth for the text without wrapping. ++ + // Try the layout from slightly wider than the widest (maxWidth) + // and narrow it down to slighly narrower than minWidth + // layout.maximumWidth() should return the same regardless +-- +2.46.0 + diff --git a/package/qt6/qt6base/0005-Fix-specific-overflow-in-qtextlayout.patch b/package/qt6/qt6base/0005-Fix-specific-overflow-in-qtextlayout.patch new file mode 100644 index 000000000..44d9d382d --- /dev/null +++ b/package/qt6/qt6base/0005-Fix-specific-overflow-in-qtextlayout.patch @@ -0,0 +1,79 @@ +From 693a617236d37e12798013c75d51fd02dd1e1963 Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen +Date: Fri, 5 May 2023 09:51:32 +0200 +Subject: [PATCH] Fix specific overflow in qtextlayout + +Adds qAddOverflow and qMulOverflow definitions to QFixed + +Fixes: QTBUG-113337 +Pick-to: 6.5 6.5.1 6.2 5.15 +Change-Id: I13579306defceaccdc0fbb1ec0e9b77c6f8d1af9 +Reviewed-by: Eirik Aavitsland +Reviewed-by: Thiago Macieira + +Fixes: https://security-tracker.debian.org/tracker/CVE-2023-32763 +Upstream: https://github.com/qt/qtbase/commit/7b7a01c266b507636eab51a36328c7c72d82d93c +Signed-off-by: Thomas Petazzoni +--- + src/gui/painting/qfixed_p.h | 17 +++++++++++++++++ + src/gui/text/qtextlayout.cpp | 9 ++++++--- + 2 files changed, 23 insertions(+), 3 deletions(-) + +diff --git a/src/gui/painting/qfixed_p.h b/src/gui/painting/qfixed_p.h +index f3718a097e5..c0a13d057f5 100644 +--- a/src/gui/painting/qfixed_p.h ++++ b/src/gui/painting/qfixed_p.h +@@ -18,6 +18,7 @@ + #include + #include "QtCore/qdebug.h" + #include "QtCore/qpoint.h" ++#include "QtCore/qnumeric.h" + #include "QtCore/qsize.h" + + QT_BEGIN_NAMESPACE +@@ -136,6 +137,22 @@ constexpr inline QFixed operator+(uint i, QFixed d) { return d+i; } + constexpr inline QFixed operator-(uint i, QFixed d) { return -(d-i); } + // constexpr inline QFixed operator*(qreal d, QFixed d2) { return d2*d; } + ++inline bool qAddOverflow(QFixed v1, QFixed v2, QFixed *r) ++{ ++ int val; ++ bool result = qAddOverflow(v1.value(), v2.value(), &val); ++ r->setValue(val); ++ return result; ++} ++ ++inline bool qMulOverflow(QFixed v1, QFixed v2, QFixed *r) ++{ ++ int val; ++ bool result = qMulOverflow(v1.value(), v2.value(), &val); ++ r->setValue(val); ++ return result; ++} ++ + #ifndef QT_NO_DEBUG_STREAM + inline QDebug &operator<<(QDebug &dbg, QFixed f) + { return dbg << f.toReal(); } +diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp +index 2009dd3d0bb..1844f777b4e 100644 +--- a/src/gui/text/qtextlayout.cpp ++++ b/src/gui/text/qtextlayout.cpp +@@ -2105,9 +2105,12 @@ found: + eng->maxWidth = qMax(eng->maxWidth, line.textWidth); + } else { + eng->minWidth = qMax(eng->minWidth, lbh.minw); +- eng->layoutData->currentMaxWidth += line.textWidth; +- if (!manuallyWrapped) +- eng->layoutData->currentMaxWidth += lbh.spaceData.textWidth; ++ if (qAddOverflow(eng->layoutData->currentMaxWidth, line.textWidth, &eng->layoutData->currentMaxWidth)) ++ eng->layoutData->currentMaxWidth = QFIXED_MAX; ++ if (!manuallyWrapped) { ++ if (qAddOverflow(eng->layoutData->currentMaxWidth, lbh.spaceData.textWidth, &eng->layoutData->currentMaxWidth)) ++ eng->layoutData->currentMaxWidth = QFIXED_MAX; ++ } + eng->maxWidth = qMax(eng->maxWidth, eng->layoutData->currentMaxWidth); + if (manuallyWrapped) + eng->layoutData->currentMaxWidth = 0; +-- +2.46.0 + diff --git a/package/qt6/qt6base/0006-QOffsetStringArray-fix-ambiguous-qOffsetStringArray-.patch b/package/qt6/qt6base/0006-QOffsetStringArray-fix-ambiguous-qOffsetStringArray-.patch new file mode 100644 index 000000000..c2bebfc4f --- /dev/null +++ b/package/qt6/qt6base/0006-QOffsetStringArray-fix-ambiguous-qOffsetStringArray-.patch @@ -0,0 +1,49 @@ +From 0e0e075aeb4d8a1efa2178c0de3084b800ab62ed Mon Sep 17 00:00:00 2001 +From: Marc Mutz +Date: Sun, 4 Sep 2022 12:31:10 +0200 +Subject: [PATCH] QOffsetStringArray: fix ambiguous qOffsetStringArray + overloads + +There are two qOffsetStringArray overloads: one in QT_NAMESPACE, the +other in QT_PREPEND_NAMESPACE(QtPrivate). In TUs which use using +namespace QtPrivate, a call to qOffsetStringArray() may become +ambiguous. + +Fix by renaming the qOffsetStringArray() to makeOffsetStringArray(). + +Pick-to: 6.4 6.3 6.2 +Change-Id: I242a969f363e230d6a8dfb048601a0c024724f6a +Reviewed-by: Thiago Macieira + +Upstream: https://github.com/qt/qtbase/commit/21c5eeba673694f865badfd137ee9fc474177ae0 +[Thomas: needed to backport fix for CVE-2023-38197] +Signed-off-by: Thomas Petazzoni +--- + src/corelib/tools/qoffsetstringarray_p.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/corelib/tools/qoffsetstringarray_p.h b/src/corelib/tools/qoffsetstringarray_p.h +index 461d61a2bae..fe3f7fbd5ff 100644 +--- a/src/corelib/tools/qoffsetstringarray_p.h ++++ b/src/corelib/tools/qoffsetstringarray_p.h +@@ -118,7 +118,7 @@ template struct StaticMapEntry + }; + + template +-constexpr auto qOffsetStringArray(StringExtractor extractString, const T &... entries) ++constexpr auto makeOffsetStringArray(StringExtractor extractString, const T &... entries) + { + constexpr size_t Count = sizeof...(T); + constexpr qsizetype StringLength = (sizeof(extractString(T{})) + ...); +@@ -142,7 +142,7 @@ template + constexpr auto qOffsetStringArray(const char (&...strings)[Nx]) noexcept + { + auto extractString = [](const auto &s) -> decltype(auto) { return s; }; +- return QtPrivate::qOffsetStringArray(extractString, QtPrivate::StaticString(strings)...); ++ return QtPrivate::makeOffsetStringArray(extractString, QtPrivate::StaticString(strings)...); + } + + QT_WARNING_POP +-- +2.46.0 + diff --git a/package/qt6/qt6base/0007-QOffsetStringArray-fix-size_t-qsizetype-mismatch.patch b/package/qt6/qt6base/0007-QOffsetStringArray-fix-size_t-qsizetype-mismatch.patch new file mode 100644 index 000000000..a603d63bb --- /dev/null +++ b/package/qt6/qt6base/0007-QOffsetStringArray-fix-size_t-qsizetype-mismatch.patch @@ -0,0 +1,37 @@ +From 0787be21a79dc3d0278ac77f8f45ed9fc8641dfe Mon Sep 17 00:00:00 2001 +From: Marc Mutz +Date: Mon, 5 Sep 2022 08:59:23 +0200 +Subject: [PATCH] QOffsetStringArray: fix size_t/qsizetype mismatch + +The sizeof operator returns, and both minifyValue and makeStaticString +accept, size_t. Don't funnel it through a qsizetype variable, then, +but maintain it as a size_t all the way. + +Pick-to: 6.4 6.3 6.2 +Task-number: QTBUG-103533 +Change-Id: I05c6a6c5da3d02daabbf1d25a15531c6f44a80ce +Reviewed-by: Sona Kurazyan + +Upstream: https://github.com/qt/qtbase/commit/8932eee9a652d8a325410b147955c9939278f9ed +[Thomas: needed to backport fix for CVE-2023-38197] +Signed-off-by: Thomas Petazzoni +--- + src/corelib/tools/qoffsetstringarray_p.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/corelib/tools/qoffsetstringarray_p.h b/src/corelib/tools/qoffsetstringarray_p.h +index fe3f7fbd5ff..177ab9c9f45 100644 +--- a/src/corelib/tools/qoffsetstringarray_p.h ++++ b/src/corelib/tools/qoffsetstringarray_p.h +@@ -121,7 +121,7 @@ template + constexpr auto makeOffsetStringArray(StringExtractor extractString, const T &... entries) + { + constexpr size_t Count = sizeof...(T); +- constexpr qsizetype StringLength = (sizeof(extractString(T{})) + ...); ++ constexpr size_t StringLength = (sizeof(extractString(T{})) + ...); + using MinifiedOffsetType = decltype(QtPrivate::minifyValue()); + + size_t offset = 0; +-- +2.46.0 + diff --git a/package/qt6/qt6base/0008-QXmlStreamReader-use-qOffsetStringArray-for-storing-.patch b/package/qt6/qt6base/0008-QXmlStreamReader-use-qOffsetStringArray-for-storing-.patch new file mode 100644 index 000000000..6d9fe1111 --- /dev/null +++ b/package/qt6/qt6base/0008-QXmlStreamReader-use-qOffsetStringArray-for-storing-.patch @@ -0,0 +1,114 @@ +From 7e50927d133e25577a0c3481c00b6877b581f411 Mon Sep 17 00:00:00 2001 +From: Sona Kurazyan +Date: Fri, 2 Sep 2022 16:52:04 +0200 +Subject: [PATCH] QXmlStreamReader: use qOffsetStringArray for storing token + types +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Change-Id: I9e58c17d97c44e1b13899d30396f65b452d8600f +Reviewed-by: Mårten Nordheim + +Upstream: https://github.com/qt/qtbase/commit/d674f3f5454fb39de9405484a8c01fb928523f67 +[Thomas: needed to backport fix for CVE-2023-38197] +Signed-off-by: Thomas Petazzoni +--- + src/corelib/serialization/qxmlstream.cpp | 67 ++++++------------------ + 1 file changed, 16 insertions(+), 51 deletions(-) + +diff --git a/src/corelib/serialization/qxmlstream.cpp b/src/corelib/serialization/qxmlstream.cpp +index 70e65df9957..a31bd16f1ce 100644 +--- a/src/corelib/serialization/qxmlstream.cpp ++++ b/src/corelib/serialization/qxmlstream.cpp +@@ -15,6 +15,8 @@ + #include + #include + ++#include ++ + #include + #include "qxmlstream_p.h" + #include "qxmlstreamparser_p.h" +@@ -642,55 +644,19 @@ void QXmlStreamReader::skipCurrentElement() + } + } + +-/* +- * Use the following Perl script to generate the error string index list: +-===== PERL SCRIPT ==== +-print "static const char QXmlStreamReader_tokenTypeString_string[] =\n"; +-$counter = 0; +-$i = 0; +-while () { +- chomp; +- print " \"$_\\0\"\n"; +- $sizes[$i++] = $counter; +- $counter += length 1 + $_; +-} +-print " \"\\0\";\n\nstatic const short QXmlStreamReader_tokenTypeString_indices[] = {\n "; +-for ($j = 0; $j < $i; ++$j) { +- printf "$sizes[$j], "; +-} +-print "0\n};\n"; +-===== PERL SCRIPT ==== +- +- * The input data is as follows (copied from qxmlstream.h): +-NoToken +-Invalid +-StartDocument +-EndDocument +-StartElement +-EndElement +-Characters +-Comment +-DTD +-EntityReference +-ProcessingInstruction +-*/ +-static const char QXmlStreamReader_tokenTypeString_string[] = +- "NoToken\0" +- "Invalid\0" +- "StartDocument\0" +- "EndDocument\0" +- "StartElement\0" +- "EndElement\0" +- "Characters\0" +- "Comment\0" +- "DTD\0" +- "EntityReference\0" +- "ProcessingInstruction\0"; +- +-static const short QXmlStreamReader_tokenTypeString_indices[] = { +- 0, 8, 16, 30, 42, 55, 66, 77, 85, 89, 105, 0 +-}; +- ++static constexpr auto QXmlStreamReader_tokenTypeString = qOffsetStringArray( ++ "NoToken", ++ "Invalid", ++ "StartDocument", ++ "EndDocument", ++ "StartElement", ++ "EndElement", ++ "Characters", ++ "Comment", ++ "DTD", ++ "EntityReference", ++ "ProcessingInstruction" ++); + + /*! + \property QXmlStreamReader::namespaceProcessing +@@ -723,8 +689,7 @@ bool QXmlStreamReader::namespaceProcessing() const + QString QXmlStreamReader::tokenString() const + { + Q_D(const QXmlStreamReader); +- return QLatin1StringView(QXmlStreamReader_tokenTypeString_string + +- QXmlStreamReader_tokenTypeString_indices[d->type]); ++ return QLatin1StringView(QXmlStreamReader_tokenTypeString.at(d->type)); + } + + #endif // QT_NO_XMLSTREAMREADER +-- +2.46.0 + diff --git a/package/qt6/qt6base/0009-QXmlStreamReader-Raise-error-on-unexpected-tokens.patch b/package/qt6/qt6base/0009-QXmlStreamReader-Raise-error-on-unexpected-tokens.patch new file mode 100644 index 000000000..06f2e367e --- /dev/null +++ b/package/qt6/qt6base/0009-QXmlStreamReader-Raise-error-on-unexpected-tokens.patch @@ -0,0 +1,406 @@ +From dc24f76cc621d56d11abb015654c427f7a7c0a31 Mon Sep 17 00:00:00 2001 +From: Axel Spoerl +Date: Fri, 30 Jun 2023 12:43:59 +0200 +Subject: [PATCH] QXmlStreamReader: Raise error on unexpected tokens + +QXmlStreamReader accepted multiple DOCTYPE elements, containing DTD +fragments in the XML prolog, and in the XML body. +Well-formed but invalid XML files - with multiple DTD fragments in +prolog and body, combined with recursive entity expansions - have +caused infinite loops in QXmlStreamReader. + +This patch implements a token check in QXmlStreamReader. +A stream is allowed to start with an XML prolog. StartDocument +and DOCTYPE elements are only allowed in this prolog, which +may also contain ProcessingInstruction and Comment elements. +As soon as anything else is seen, the prolog ends. +After that, the prolog-specific elements are treated as unexpected. +Furthermore, the prolog can contain at most one DOCTYPE element. + +Update the documentation to reflect the new behavior. +Add an autotest that checks the new error cases are correctly detected, +and no error is raised for legitimate input. + +The original OSS-Fuzz files (see bug reports) are not included in this +patch for file size reasons. They have been tested manually. Each of +them has more than one DOCTYPE element, causing infinite loops in +recursive entity expansions. The newly implemented functionality +detects those invalid DTD fragments. By raising an error, it aborts +stream reading before an infinite loop occurs. + +Thanks to OSS-Fuzz for finding this. + +Fixes: QTBUG-92113 +Fixes: QTBUG-95188 +Pick-to: 6.6 6.5 6.2 5.15 +Change-Id: I0a082b9188b2eee50b396c4d5b1c9e1fd237bbdd +Reviewed-by: Volker Hilsheimer + +Fixes: https://security-tracker.debian.org/tracker/CVE-2023-38197 +Upstream: https://github.com/qt/qtbase/commit/c4301be7d5f94852e1b17f2c2989d5ca807855d4 +[Thomas: minor conflicts resolved when backporting] +Signed-off-by: Thomas Petazzoni +--- + src/corelib/serialization/qxmlstream.cpp | 145 +++++++++++++++++- + src/corelib/serialization/qxmlstream_p.h | 11 ++ + .../qxmlstream/tokenError/dtdInBody.xml | 20 +++ + .../qxmlstream/tokenError/multipleDtd.xml | 20 +++ + .../qxmlstream/tokenError/wellFormed.xml | 15 ++ + .../qxmlstream/tst_qxmlstream.cpp | 39 +++++ + 6 files changed, 242 insertions(+), 8 deletions(-) + create mode 100644 tests/auto/corelib/serialization/qxmlstream/tokenError/dtdInBody.xml + create mode 100644 tests/auto/corelib/serialization/qxmlstream/tokenError/multipleDtd.xml + create mode 100644 tests/auto/corelib/serialization/qxmlstream/tokenError/wellFormed.xml + +diff --git a/src/corelib/serialization/qxmlstream.cpp b/src/corelib/serialization/qxmlstream.cpp +index a31bd16f1ce..ac5b291c278 100644 +--- a/src/corelib/serialization/qxmlstream.cpp ++++ b/src/corelib/serialization/qxmlstream.cpp +@@ -128,7 +128,7 @@ void reversed(const Range &&) = delete; + addData() or by waiting for it to arrive on the device(). + + \value UnexpectedElementError The parser encountered an element +- that was different to those it expected. ++ or token that was different to those it expected. + + */ + +@@ -265,13 +265,34 @@ QXmlStreamEntityResolver *QXmlStreamReader::entityResolver() const + + QXmlStreamReader is a well-formed XML 1.0 parser that does \e not + include external parsed entities. As long as no error occurs, the +- application code can thus be assured that the data provided by the +- stream reader satisfies the W3C's criteria for well-formed XML. For +- example, you can be certain that all tags are indeed nested and +- closed properly, that references to internal entities have been +- replaced with the correct replacement text, and that attributes have +- been normalized or added according to the internal subset of the +- DTD. ++ application code can thus be assured, that ++ \list ++ \li the data provided by the stream reader satisfies the W3C's ++ criteria for well-formed XML, ++ \li tokens are provided in a valid order. ++ \endlist ++ ++ Unless QXmlStreamReader raises an error, it guarantees the following: ++ \list ++ \li All tags are nested and closed properly. ++ \li References to internal entities have been replaced with the ++ correct replacement text. ++ \li Attributes have been normalized or added according to the ++ internal subset of the \l DTD. ++ \li Tokens of type \l StartDocument happen before all others, ++ aside from comments and processing instructions. ++ \li At most one DOCTYPE element (a token of type \l DTD) is present. ++ \li If present, the DOCTYPE appears before all other elements, ++ aside from StartDocument, comments and processing instructions. ++ \endlist ++ ++ In particular, once any token of type \l StartElement, \l EndElement, ++ \l Characters, \l EntityReference or \l EndDocument is seen, no ++ tokens of type StartDocument or DTD will be seen. If one is present in ++ the input stream, out of order, an error is raised. ++ ++ \note The token types \l Comment and \l ProcessingInstruction may appear ++ anywhere in the stream. + + If an error occurs while parsing, atEnd() and hasError() return + true, and error() returns the error that occurred. The functions +@@ -574,6 +595,7 @@ QXmlStreamReader::TokenType QXmlStreamReader::readNext() + d->token = -1; + return readNext(); + } ++ d->checkToken(); + return d->type; + } + +@@ -658,6 +680,11 @@ static constexpr auto QXmlStreamReader_tokenTypeString = qOffsetStringArray( + "ProcessingInstruction" + ); + ++static constexpr auto QXmlStreamReader_XmlContextString = qOffsetStringArray( ++ "Prolog", ++ "Body" ++); ++ + /*! + \property QXmlStreamReader::namespaceProcessing + \brief the namespace-processing flag of the stream reader. +@@ -692,6 +719,14 @@ QString QXmlStreamReader::tokenString() const + return QLatin1StringView(QXmlStreamReader_tokenTypeString.at(d->type)); + } + ++/*! ++ \internal ++ \return \param loc (Prolog/Body) as a string. ++ */ ++static constexpr QLatin1StringView contextString(QXmlStreamReaderPrivate::XmlContext ctxt) ++{ ++ return QLatin1StringView(QXmlStreamReader_XmlContextString.at(static_cast(ctxt))); ++} + #endif // QT_NO_XMLSTREAMREADER + + QXmlStreamPrivateTagStack::QXmlStreamPrivateTagStack() +@@ -778,6 +813,8 @@ void QXmlStreamReaderPrivate::init() + + type = QXmlStreamReader::NoToken; + error = QXmlStreamReader::NoError; ++ currentContext = XmlContext::Prolog; ++ foundDTD = false; + } + + /* +@@ -3684,6 +3721,98 @@ void QXmlStreamWriter::writeCurrentToken(const QXmlStreamReader &reader) + } + } + ++static constexpr bool isTokenAllowedInContext(QXmlStreamReader::TokenType type, ++ QXmlStreamReaderPrivate::XmlContext loc) ++{ ++ switch (type) { ++ case QXmlStreamReader::StartDocument: ++ case QXmlStreamReader::DTD: ++ return loc == QXmlStreamReaderPrivate::XmlContext::Prolog; ++ ++ case QXmlStreamReader::StartElement: ++ case QXmlStreamReader::EndElement: ++ case QXmlStreamReader::Characters: ++ case QXmlStreamReader::EntityReference: ++ case QXmlStreamReader::EndDocument: ++ return loc == QXmlStreamReaderPrivate::XmlContext::Body; ++ ++ case QXmlStreamReader::Comment: ++ case QXmlStreamReader::ProcessingInstruction: ++ return true; ++ ++ case QXmlStreamReader::NoToken: ++ case QXmlStreamReader::Invalid: ++ return false; ++ } ++ ++ // GCC 8.x does not treat __builtin_unreachable() as constexpr ++#if !defined(Q_CC_GNU_ONLY) || (Q_CC_GNU >= 900) ++ Q_UNREACHABLE(); ++ return false; ++#else ++ return false; ++#endif ++} ++ ++/*! ++ \internal ++ \brief QXmlStreamReader::isValidToken ++ \return \c true if \param type is a valid token type. ++ \return \c false if \param type is an unexpected token, ++ which indicates a non-well-formed or invalid XML stream. ++ */ ++bool QXmlStreamReaderPrivate::isValidToken(QXmlStreamReader::TokenType type) ++{ ++ // Don't change currentContext, if Invalid or NoToken occur in the prolog ++ if (type == QXmlStreamReader::Invalid || type == QXmlStreamReader::NoToken) ++ return false; ++ ++ // If a token type gets rejected in the body, there is no recovery ++ const bool result = isTokenAllowedInContext(type, currentContext); ++ if (result || currentContext == XmlContext::Body) ++ return result; ++ ++ // First non-Prolog token observed => switch context to body and check again. ++ currentContext = XmlContext::Body; ++ return isTokenAllowedInContext(type, currentContext); ++} ++ ++/*! ++ \internal ++ Checks token type and raises an error, if it is invalid ++ in the current context (prolog/body). ++ */ ++void QXmlStreamReaderPrivate::checkToken() ++{ ++ Q_Q(QXmlStreamReader); ++ ++ // The token type must be consumed, to keep track if the body has been reached. ++ const XmlContext context = currentContext; ++ const bool ok = isValidToken(type); ++ ++ // Do nothing if an error has been raised already (going along with an unexpected token) ++ if (error != QXmlStreamReader::Error::NoError) ++ return; ++ ++ if (!ok) { ++ raiseError(QXmlStreamReader::UnexpectedElementError, ++ QObject::tr("Unexpected token type %1 in %2.") ++ .arg(q->tokenString(), contextString(context))); ++ return; ++ } ++ ++ if (type != QXmlStreamReader::DTD) ++ return; ++ ++ // Raise error on multiple DTD tokens ++ if (foundDTD) { ++ raiseError(QXmlStreamReader::UnexpectedElementError, ++ QObject::tr("Found second DTD token in %1.").arg(contextString(context))); ++ } else { ++ foundDTD = true; ++ } ++} ++ + /*! + \fn bool QXmlStreamAttributes::hasAttribute(const QString &qualifiedName) const + \since 4.5 +diff --git a/src/corelib/serialization/qxmlstream_p.h b/src/corelib/serialization/qxmlstream_p.h +index 1fd69a2c1f8..f5059f8fcf9 100644 +--- a/src/corelib/serialization/qxmlstream_p.h ++++ b/src/corelib/serialization/qxmlstream_p.h +@@ -270,6 +270,17 @@ public: + QStringDecoder decoder; + bool atEnd; + ++ enum class XmlContext ++ { ++ Prolog, ++ Body, ++ }; ++ ++ XmlContext currentContext = XmlContext::Prolog; ++ bool foundDTD = false; ++ bool isValidToken(QXmlStreamReader::TokenType type); ++ void checkToken(); ++ + /*! + \sa setType() + */ +diff --git a/tests/auto/corelib/serialization/qxmlstream/tokenError/dtdInBody.xml b/tests/auto/corelib/serialization/qxmlstream/tokenError/dtdInBody.xml +new file mode 100644 +index 00000000000..1c3ca4e2711 +--- /dev/null ++++ b/tests/auto/corelib/serialization/qxmlstream/tokenError/dtdInBody.xml +@@ -0,0 +1,20 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++]> ++ ++ ++ tst_QXmlStream ++ ++ ++ ++ ++ ]> ++ +diff --git a/tests/auto/corelib/serialization/qxmlstream/tokenError/multipleDtd.xml b/tests/auto/corelib/serialization/qxmlstream/tokenError/multipleDtd.xml +new file mode 100644 +index 00000000000..cd398c0f9fd +--- /dev/null ++++ b/tests/auto/corelib/serialization/qxmlstream/tokenError/multipleDtd.xml +@@ -0,0 +1,20 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++]> ++ ++ ++ ++]> ++ ++ ++ tst_QXmlStream ++ ++ +diff --git a/tests/auto/corelib/serialization/qxmlstream/tokenError/wellFormed.xml b/tests/auto/corelib/serialization/qxmlstream/tokenError/wellFormed.xml +new file mode 100644 +index 00000000000..1b61a3f0622 +--- /dev/null ++++ b/tests/auto/corelib/serialization/qxmlstream/tokenError/wellFormed.xml +@@ -0,0 +1,15 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++]> ++ ++ ++ tst_QXmlStream ++ ++ +diff --git a/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp b/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp +index c64088d4774..8d2738700ea 100644 +--- a/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp ++++ b/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp +@@ -584,6 +584,9 @@ private slots: + + void entityExpansionLimit() const; + ++ void tokenErrorHandling_data() const; ++ void tokenErrorHandling() const; ++ + private: + static QByteArray readFile(const QString &filename); + +@@ -1754,5 +1757,41 @@ void tst_QXmlStream::roundTrip() const + QCOMPARE(out, in); + } + ++void tst_QXmlStream::tokenErrorHandling_data() const ++{ ++ QTest::addColumn("fileName"); ++ QTest::addColumn("expectedError"); ++ QTest::addColumn("errorKeyWord"); ++ ++ constexpr auto invalid = QXmlStreamReader::Error::UnexpectedElementError; ++ constexpr auto valid = QXmlStreamReader::Error::NoError; ++ QTest::newRow("DtdInBody") << "dtdInBody.xml" << invalid << "DTD"; ++ QTest::newRow("multipleDTD") << "multipleDtd.xml" << invalid << "second DTD"; ++ QTest::newRow("wellFormed") << "wellFormed.xml" << valid << ""; ++} ++ ++void tst_QXmlStream::tokenErrorHandling() const ++{ ++ QFETCH(const QString, fileName); ++ QFETCH(const QXmlStreamReader::Error, expectedError); ++ QFETCH(const QString, errorKeyWord); ++ ++ const QDir dir(QFINDTESTDATA("tokenError")); ++ QFile file(dir.absoluteFilePath(fileName)); ++ ++ // Cross-compiling: File will be on host only ++ if (!file.exists()) ++ QSKIP("Testfile not found."); ++ ++ file.open(QIODevice::ReadOnly); ++ QXmlStreamReader reader(&file); ++ while (!reader.atEnd()) ++ reader.readNext(); ++ ++ QCOMPARE(reader.error(), expectedError); ++ if (expectedError != QXmlStreamReader::Error::NoError) ++ QVERIFY(reader.errorString().contains(errorKeyWord)); ++} ++ + #include "tst_qxmlstream.moc" + // vim: et:ts=4:sw=4:sts=4 +-- +2.46.0 + diff --git a/package/qt6/qt6base/0010-HPack-fix-a-Yoda-Condition.patch b/package/qt6/qt6base/0010-HPack-fix-a-Yoda-Condition.patch new file mode 100644 index 000000000..ca9c740df --- /dev/null +++ b/package/qt6/qt6base/0010-HPack-fix-a-Yoda-Condition.patch @@ -0,0 +1,43 @@ +From fc5e607b78dc6dc2a17e3586d2085e9d25412785 Mon Sep 17 00:00:00 2001 +From: Marc Mutz +Date: Tue, 12 Dec 2023 20:51:56 +0100 +Subject: [PATCH] HPack: fix a Yoda Condition + +Putting the variable on the LHS of a relational operation makes the +expression easier to read. In this case, we find that the whole +expression is nonsensical as an overflow protection, because if +name.size() + value.size() overflows, the result will exactly _not_ +be > max() - 32, because UB will have happened. + +To be fixed in a follow-up commit. + +As a drive-by, add parentheses around the RHS. + +Pick-to: 6.7 6.6 6.5 6.2 5.15 +Change-Id: I35ce598884c37c51b74756b3bd2734b9aad63c09 +Reviewed-by: Allan Sandfeld Jensen + +Upstream: https://github.com/qt/qtbase/commit/658607a34ead214fbacbc2cca44915655c318ea9 +[Thomas: needed to backport fix for +https://security-tracker.debian.org/tracker/CVE-2023-51714] +Signed-off-by: Thomas Petazzoni +--- + src/network/access/http2/hpacktable.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/network/access/http2/hpacktable.cpp b/src/network/access/http2/hpacktable.cpp +index 0b69ee86a9b..34da5594e2b 100644 +--- a/src/network/access/http2/hpacktable.cpp ++++ b/src/network/access/http2/hpacktable.cpp +@@ -27,7 +27,7 @@ HeaderSize entry_size(QByteArrayView name, QByteArrayView value) + // 32 octets of overhead." + + const unsigned sum = unsigned(name.size() + value.size()); +- if (std::numeric_limits::max() - 32 < sum) ++ if (sum > (std::numeric_limits::max() - 32)) + return HeaderSize(); + return HeaderSize(true, quint32(sum + 32)); + } +-- +2.46.0 + diff --git a/package/qt6/qt6base/0011-HPack-fix-incorrect-integer-overflow-check.patch b/package/qt6/qt6base/0011-HPack-fix-incorrect-integer-overflow-check.patch new file mode 100644 index 000000000..a7b7c20b6 --- /dev/null +++ b/package/qt6/qt6base/0011-HPack-fix-incorrect-integer-overflow-check.patch @@ -0,0 +1,48 @@ +From 01348087ee851f1781a27e7ce8a1ed0bda5441fe Mon Sep 17 00:00:00 2001 +From: Marc Mutz +Date: Tue, 12 Dec 2023 22:08:07 +0100 +Subject: [PATCH] HPack: fix incorrect integer overflow check + +This code never worked: + +For the comparison with max() - 32 to trigger, on 32-bit platforms (or +Qt 5) signed interger overflow would have had to happen in the +addition of the two sizes. The compiler can therefore remove the +overflow check as dead code. + +On Qt 6 and 64-bit platforms, the signed integer addition would be +very unlikely to overflow, but the following truncation to uint32 +would yield the correct result only in a narrow 32-value window just +below UINT_MAX, if even that. + +Fix by using the proper tool, qAddOverflow. + +Pick-to: 6.7 6.6 6.5 6.2 5.15 +Change-Id: I7599f2e75ff7f488077b0c60b81022591005661c +Reviewed-by: Allan Sandfeld Jensen + +Fixes: https://security-tracker.debian.org/tracker/CVE-2023-51714 +Upstream: https://github.com/qt/qtbase/commit/ee5da1f2eaf8932aeca02ffea6e4c618585e29e3 +Signed-off-by: Thomas Petazzoni +--- + src/network/access/http2/hpacktable.cpp | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/network/access/http2/hpacktable.cpp b/src/network/access/http2/hpacktable.cpp +index 34da5594e2b..f20ec92d4c5 100644 +--- a/src/network/access/http2/hpacktable.cpp ++++ b/src/network/access/http2/hpacktable.cpp +@@ -26,7 +26,9 @@ HeaderSize entry_size(QByteArrayView name, QByteArrayView value) + // for counting the number of references to the name and value would have + // 32 octets of overhead." + +- const unsigned sum = unsigned(name.size() + value.size()); ++ size_t sum; ++ if (qAddOverflow(size_t(name.size()), size_t(value.size()), &sum)) ++ return HeaderSize(); + if (sum > (std::numeric_limits::max() - 32)) + return HeaderSize(); + return HeaderSize(true, quint32(sum + 32)); +-- +2.46.0 + diff --git a/package/qt6/qt6base/0012-QXmlStreamReader-change-fastScanName-to-take-a-Value.patch b/package/qt6/qt6base/0012-QXmlStreamReader-change-fastScanName-to-take-a-Value.patch new file mode 100644 index 000000000..a105abd5b --- /dev/null +++ b/package/qt6/qt6base/0012-QXmlStreamReader-change-fastScanName-to-take-a-Value.patch @@ -0,0 +1,112 @@ +From 4a19ee001b0a80318860af4bc042382c7ffb6bbb Mon Sep 17 00:00:00 2001 +From: Ahmad Samir +Date: Wed, 12 Apr 2023 13:10:26 +0200 +Subject: [PATCH] QXmlStreamReader: change fastScanName() to take a Value* + +For easier debugging, e.g. to print out value.len and value.prefix. + +Pick-to: 6.6 6.5 6.5.2 6.2 5.15 +Change-Id: Ib0eed38772f899502962f578775d34ea2744fdde +Reviewed-by: Marc Mutz + +Upstream: https://github.com/qt/qtbase/commit/1a423ce4372d18a779f3c0d746d5283d9a425839 +[Thomas: needed to fix +https://security-tracker.debian.org/tracker/CVE-2023-37369] +Signed-off-by: Thomas Petazzoni +--- + src/corelib/serialization/qxmlstream.cpp | 16 ++++++++-------- + src/corelib/serialization/qxmlstream.g | 3 ++- + src/corelib/serialization/qxmlstream_p.h | 2 +- + src/corelib/serialization/qxmlstreamparser_p.h | 3 ++- + 4 files changed, 13 insertions(+), 11 deletions(-) + +diff --git a/src/corelib/serialization/qxmlstream.cpp b/src/corelib/serialization/qxmlstream.cpp +index ac5b291c278..466f456ee63 100644 +--- a/src/corelib/serialization/qxmlstream.cpp ++++ b/src/corelib/serialization/qxmlstream.cpp +@@ -1247,7 +1247,7 @@ inline qsizetype QXmlStreamReaderPrivate::fastScanContentCharList() + return n; + } + +-inline qsizetype QXmlStreamReaderPrivate::fastScanName(qint16 *prefix) ++inline qsizetype QXmlStreamReaderPrivate::fastScanName(Value *val) + { + qsizetype n = 0; + uint c; +@@ -1284,16 +1284,16 @@ inline qsizetype QXmlStreamReaderPrivate::fastScanName(qint16 *prefix) + case '+': + case '*': + putChar(c); +- if (prefix && *prefix == n+1) { +- *prefix = 0; ++ if (val && val->prefix == n + 1) { ++ val->prefix = 0; + putChar(':'); + --n; + } + return n; + case ':': +- if (prefix) { +- if (*prefix == 0) { +- *prefix = qint16(n + 2); ++ if (val) { ++ if (val->prefix == 0) { ++ val->prefix = qint16(n + 2); + } else { // only one colon allowed according to the namespace spec. + putChar(c); + return n; +@@ -1309,8 +1309,8 @@ inline qsizetype QXmlStreamReaderPrivate::fastScanName(qint16 *prefix) + } + } + +- if (prefix) +- *prefix = 0; ++ if (val) ++ val->prefix = 0; + qsizetype pos = textBuffer.size() - n; + putString(textBuffer, pos); + textBuffer.resize(pos); +diff --git a/src/corelib/serialization/qxmlstream.g b/src/corelib/serialization/qxmlstream.g +index d06c371eb87..f3152bff378 100644 +--- a/src/corelib/serialization/qxmlstream.g ++++ b/src/corelib/serialization/qxmlstream.g +@@ -1419,7 +1419,8 @@ space_opt ::= space; + qname ::= LETTER; + /. + case $rule_number: { +- sym(1).len += fastScanName(&sym(1).prefix); ++ Value &val = sym(1); ++ val.len += fastScanName(&val); + if (atEnd) { + resume($rule_number); + return false; +diff --git a/src/corelib/serialization/qxmlstream_p.h b/src/corelib/serialization/qxmlstream_p.h +index f5059f8fcf9..efee742963b 100644 +--- a/src/corelib/serialization/qxmlstream_p.h ++++ b/src/corelib/serialization/qxmlstream_p.h +@@ -482,7 +482,7 @@ public: + qsizetype fastScanLiteralContent(); + qsizetype fastScanSpace(); + qsizetype fastScanContentCharList(); +- qsizetype fastScanName(qint16 *prefix = nullptr); ++ qsizetype fastScanName(Value *val = nullptr); + inline qsizetype fastScanNMTOKEN(); + + +diff --git a/src/corelib/serialization/qxmlstreamparser_p.h b/src/corelib/serialization/qxmlstreamparser_p.h +index e3ae6faa442..59370a93106 100644 +--- a/src/corelib/serialization/qxmlstreamparser_p.h ++++ b/src/corelib/serialization/qxmlstreamparser_p.h +@@ -947,7 +947,8 @@ bool QXmlStreamReaderPrivate::parse() + break; + + case 262: { +- sym(1).len += fastScanName(&sym(1).prefix); ++ Value &val = sym(1); ++ val.len += fastScanName(&val); + if (atEnd) { + resume(262); + return false; +-- +2.46.0 + diff --git a/package/qt6/qt6base/0013-QXmlStreamReader-make-fastScanName-indicate-parsing-.patch b/package/qt6/qt6base/0013-QXmlStreamReader-make-fastScanName-indicate-parsing-.patch new file mode 100644 index 000000000..c17a1a2e1 --- /dev/null +++ b/package/qt6/qt6base/0013-QXmlStreamReader-make-fastScanName-indicate-parsing-.patch @@ -0,0 +1,277 @@ +From 87f0d5c9212df3087b053a36165453f10205924d Mon Sep 17 00:00:00 2001 +From: Ahmad Samir +Date: Thu, 22 Jun 2023 15:56:07 +0300 +Subject: [PATCH] QXmlStreamReader: make fastScanName() indicate parsing status + to callers + +This fixes a crash while parsing an XML file with garbage data, the file +starts with '<' then garbage data: +- The loop in the parse() keeps iterating until it hits "case 262:", + which calls fastScanName() +- fastScanName() iterates over the text buffer scanning for the + attribute name (e.g. "xml:lang"), until it finds ':' +- Consider a Value val, fastScanName() is called on it, it would set + val.prefix to a number > val.len, then it would hit the 4096 condition + and return (returned 0, now it returns the equivalent of + std::null_opt), which means that val.len doesn't get modified, making + it smaller than val.prefix +- The code would try constructing an XmlStringRef with negative length, + which would hit an assert in one of QStringView's constructors + +Add an assert to the XmlStringRef constructor. + +Add unittest based on the file from the bug report. + +Later on I will replace FastScanNameResult with std::optional +(std::optional is C++17, which isn't required by Qt 5.15, and we want to +backport this fix). + +Credit to OSS-Fuzz. + +Fixes: QTBUG-109781 +Fixes: QTBUG-114829 +Pick-to: 6.6 6.5 6.2 5.15 +Change-Id: I455a5eeb47870c2ac9ffd0cbcdcd99c1ae2dd374 +Reviewed-by: Allan Sandfeld Jensen + +Fixes: https://security-tracker.debian.org/tracker/CVE-2023-37369 +Upstream: https://github.com/qt/qtbase/commit/6326bec46a618c72feba4a2bb994c4d475050aed +Signed-off-by: Thomas Petazzoni +--- + src/corelib/serialization/qxmlstream.cpp | 23 ++++++++--- + src/corelib/serialization/qxmlstream.g | 12 +++++- + src/corelib/serialization/qxmlstream_p.h | 14 ++++++- + .../serialization/qxmlstreamparser_p.h | 12 +++++- + .../qxmlstream/tst_qxmlstream.cpp | 39 +++++++++++++++++++ + 5 files changed, 88 insertions(+), 12 deletions(-) + +diff --git a/src/corelib/serialization/qxmlstream.cpp b/src/corelib/serialization/qxmlstream.cpp +index 466f456ee63..2c879fb4c20 100644 +--- a/src/corelib/serialization/qxmlstream.cpp ++++ b/src/corelib/serialization/qxmlstream.cpp +@@ -1247,7 +1247,9 @@ inline qsizetype QXmlStreamReaderPrivate::fastScanContentCharList() + return n; + } + +-inline qsizetype QXmlStreamReaderPrivate::fastScanName(Value *val) ++// Fast scan an XML attribute name (e.g. "xml:lang"). ++inline QXmlStreamReaderPrivate::FastScanNameResult ++QXmlStreamReaderPrivate::fastScanName(Value *val) + { + qsizetype n = 0; + uint c; +@@ -1255,7 +1257,8 @@ inline qsizetype QXmlStreamReaderPrivate::fastScanName(Value *val) + if (n >= 4096) { + // This is too long to be a sensible name, and + // can exhaust memory, or the range of decltype(*prefix) +- return 0; ++ raiseNamePrefixTooLongError(); ++ return {}; + } + switch (c) { + case '\n': +@@ -1289,18 +1292,18 @@ inline qsizetype QXmlStreamReaderPrivate::fastScanName(Value *val) + putChar(':'); + --n; + } +- return n; ++ return FastScanNameResult(n); + case ':': + if (val) { + if (val->prefix == 0) { + val->prefix = qint16(n + 2); + } else { // only one colon allowed according to the namespace spec. + putChar(c); +- return n; ++ return FastScanNameResult(n); + } + } else { + putChar(c); +- return n; ++ return FastScanNameResult(n); + } + Q_FALLTHROUGH(); + default: +@@ -1314,7 +1317,7 @@ inline qsizetype QXmlStreamReaderPrivate::fastScanName(Value *val) + qsizetype pos = textBuffer.size() - n; + putString(textBuffer, pos); + textBuffer.resize(pos); +- return 0; ++ return FastScanNameResult(0); + } + + enum NameChar { NameBeginning, NameNotBeginning, NotName }; +@@ -1795,6 +1798,14 @@ void QXmlStreamReaderPrivate::raiseWellFormedError(const QString &message) + raiseError(QXmlStreamReader::NotWellFormedError, message); + } + ++void QXmlStreamReaderPrivate::raiseNamePrefixTooLongError() ++{ ++ // TODO: add a ImplementationLimitsExceededError and use it instead ++ raiseError(QXmlStreamReader::NotWellFormedError, ++ QXmlStream::tr("Length of XML attribute name exceeds implemnetation limits (4KiB " ++ "characters).")); ++} ++ + void QXmlStreamReaderPrivate::parseError() + { + +diff --git a/src/corelib/serialization/qxmlstream.g b/src/corelib/serialization/qxmlstream.g +index f3152bff378..fc122e66811 100644 +--- a/src/corelib/serialization/qxmlstream.g ++++ b/src/corelib/serialization/qxmlstream.g +@@ -1420,7 +1420,11 @@ qname ::= LETTER; + /. + case $rule_number: { + Value &val = sym(1); +- val.len += fastScanName(&val); ++ if (auto res = fastScanName(&val)) ++ val.len += *res; ++ else ++ return false; ++ + if (atEnd) { + resume($rule_number); + return false; +@@ -1431,7 +1435,11 @@ qname ::= LETTER; + name ::= LETTER; + /. + case $rule_number: +- sym(1).len += fastScanName(); ++ if (auto res = fastScanName()) ++ sym(1).len += *res; ++ else ++ return false; ++ + if (atEnd) { + resume($rule_number); + return false; +diff --git a/src/corelib/serialization/qxmlstream_p.h b/src/corelib/serialization/qxmlstream_p.h +index efee742963b..be69921c7c3 100644 +--- a/src/corelib/serialization/qxmlstream_p.h ++++ b/src/corelib/serialization/qxmlstream_p.h +@@ -38,7 +38,7 @@ public: + + constexpr XmlStringRef() = default; + constexpr inline XmlStringRef(const QString *string, qsizetype pos, qsizetype length) +- : m_string(string), m_pos(pos), m_size(length) ++ : m_string(string), m_pos(pos), m_size((Q_ASSERT(length >= 0), length)) + { + } + XmlStringRef(const QString *string) +@@ -482,7 +482,16 @@ public: + qsizetype fastScanLiteralContent(); + qsizetype fastScanSpace(); + qsizetype fastScanContentCharList(); +- qsizetype fastScanName(Value *val = nullptr); ++ ++ struct FastScanNameResult { ++ FastScanNameResult() : ok(false) {} ++ explicit FastScanNameResult(qsizetype len) : addToLen(len), ok(true) { } ++ operator bool() { return ok; } ++ qsizetype operator*() { Q_ASSERT(ok); return addToLen; } ++ qsizetype addToLen; ++ bool ok; ++ }; ++ FastScanNameResult fastScanName(Value *val = nullptr); + inline qsizetype fastScanNMTOKEN(); + + +@@ -491,6 +500,7 @@ public: + + void raiseError(QXmlStreamReader::Error error, const QString& message = QString()); + void raiseWellFormedError(const QString &message); ++ void raiseNamePrefixTooLongError(); + + QXmlStreamEntityResolver *entityResolver; + +diff --git a/src/corelib/serialization/qxmlstreamparser_p.h b/src/corelib/serialization/qxmlstreamparser_p.h +index 59370a93106..afd83381b3f 100644 +--- a/src/corelib/serialization/qxmlstreamparser_p.h ++++ b/src/corelib/serialization/qxmlstreamparser_p.h +@@ -948,7 +948,11 @@ bool QXmlStreamReaderPrivate::parse() + + case 262: { + Value &val = sym(1); +- val.len += fastScanName(&val); ++ if (auto res = fastScanName(&val)) ++ val.len += *res; ++ else ++ return false; ++ + if (atEnd) { + resume(262); + return false; +@@ -956,7 +960,11 @@ bool QXmlStreamReaderPrivate::parse() + } break; + + case 263: +- sym(1).len += fastScanName(); ++ if (auto res = fastScanName()) ++ sym(1).len += *res; ++ else ++ return false; ++ + if (atEnd) { + resume(263); + return false; +diff --git a/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp b/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp +index 8d2738700ea..ac41528e2a8 100644 +--- a/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp ++++ b/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp +@@ -581,6 +581,8 @@ private slots: + void readBack() const; + void roundTrip() const; + void roundTrip_data() const; ++ void test_fastScanName_data() const; ++ void test_fastScanName() const; + + void entityExpansionLimit() const; + +@@ -1757,6 +1759,43 @@ void tst_QXmlStream::roundTrip() const + QCOMPARE(out, in); + } + ++void tst_QXmlStream::test_fastScanName_data() const ++{ ++ QTest::addColumn("data"); ++ QTest::addColumn("errorType"); ++ ++ // 4096 is the limit in QXmlStreamReaderPrivate::fastScanName() ++ ++ QByteArray arr = "("fileName"); +-- +2.46.0 + diff --git a/package/qt6/qt6base/0014-Schannel-Reject-certificate-not-signed-by-a-configur.patch b/package/qt6/qt6base/0014-Schannel-Reject-certificate-not-signed-by-a-configur.patch new file mode 100644 index 000000000..f956e783e --- /dev/null +++ b/package/qt6/qt6base/0014-Schannel-Reject-certificate-not-signed-by-a-configur.patch @@ -0,0 +1,295 @@ +From 4b68a00933a9803a8a374ef5bcfc0406538600c6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= +Date: Wed, 10 May 2023 16:43:41 +0200 +Subject: [PATCH] Schannel: Reject certificate not signed by a configured CA + certificate + +Not entirely clear why, but when building the certificate chain for a +peer the system certificate store is searched for root certificates. +General expectation is that after calling +`sslConfiguration.setCaCertificates()` the system certificates will +not be taken into consideration. + +To work around this behavior, we do a manual check that the root of the +chain is part of the configured CA certificates. + +Pick-to: 6.5 6.2 5.15 +Change-Id: I03666a4d9b0eac39ae97e150b4743120611a11b3 +Reviewed-by: Edward Welbourne +Reviewed-by: Volker Hilsheimer + +Fixes: https://security-tracker.debian.org/tracker/CVE-2023-34410 +Upstream: https://codereview.qt-project.org/gitweb?p=qt%2Fqtbase.git;a=commit;h=ada2c573c1a25f8d96577734968fe317ddfa292a +Signed-off-by: Thomas Petazzoni +--- + src/plugins/tls/schannel/qtls_schannel.cpp | 21 ++++ + .../network/ssl/client-auth/CMakeLists.txt | 24 ++++ + .../network/ssl/client-auth/certs/.gitignore | 4 + + .../client-auth/certs/accepted-client.conf | 14 +++ + .../network/ssl/client-auth/certs/generate.sh | 33 +++++ + .../tst_manual_ssl_client_auth.cpp | 118 ++++++++++++++++++ + 6 files changed, 214 insertions(+) + create mode 100644 tests/manual/network/ssl/client-auth/CMakeLists.txt + create mode 100644 tests/manual/network/ssl/client-auth/certs/.gitignore + create mode 100644 tests/manual/network/ssl/client-auth/certs/accepted-client.conf + create mode 100755 tests/manual/network/ssl/client-auth/certs/generate.sh + create mode 100644 tests/manual/network/ssl/client-auth/tst_manual_ssl_client_auth.cpp + +diff --git a/src/plugins/tls/schannel/qtls_schannel.cpp b/src/plugins/tls/schannel/qtls_schannel.cpp +index 0372d4973b4..f0b2ca69a16 100644 +--- a/src/plugins/tls/schannel/qtls_schannel.cpp ++++ b/src/plugins/tls/schannel/qtls_schannel.cpp +@@ -2104,6 +2104,27 @@ bool TlsCryptographSchannel::verifyCertContext(CERT_CONTEXT *certContext) + verifyDepth = DWORD(q->peerVerifyDepth()); + + const auto &caCertificates = q->sslConfiguration().caCertificates(); ++ ++ if (!rootCertOnDemandLoadingAllowed() ++ && !(chain->TrustStatus.dwErrorStatus & CERT_TRUST_IS_PARTIAL_CHAIN) ++ && (q->peerVerifyMode() == QSslSocket::VerifyPeer ++ || (isClient && q->peerVerifyMode() == QSslSocket::AutoVerifyPeer))) { ++ // When verifying a peer Windows "helpfully" builds a chain that ++ // may include roots from the system store. But we don't want that if ++ // the user has set their own CA certificates. ++ // Since Windows claims this is not a partial chain the root is included ++ // and we have to check that it is one of our configured CAs. ++ CERT_CHAIN_ELEMENT *element = chain->rgpElement[chain->cElement - 1]; ++ QSslCertificate certificate = getCertificateFromChainElement(element); ++ if (!caCertificates.contains(certificate)) { ++ auto error = QSslError(QSslError::CertificateUntrusted, certificate); ++ sslErrors += error; ++ emit q->peerVerifyError(error); ++ if (q->state() != QAbstractSocket::ConnectedState) ++ return false; ++ } ++ } ++ + QList peerCertificateChain; + for (DWORD i = 0; i < verifyDepth; i++) { + CERT_CHAIN_ELEMENT *element = chain->rgpElement[i]; +diff --git a/tests/manual/network/ssl/client-auth/CMakeLists.txt b/tests/manual/network/ssl/client-auth/CMakeLists.txt +new file mode 100644 +index 00000000000..67ecc20bf4d +--- /dev/null ++++ b/tests/manual/network/ssl/client-auth/CMakeLists.txt +@@ -0,0 +1,24 @@ ++# Copyright (C) 2023 The Qt Company Ltd. ++# SPDX-License-Identifier: BSD-3-Clause ++ ++qt_internal_add_manual_test(tst_manual_ssl_client_auth ++ SOURCES ++ tst_manual_ssl_client_auth.cpp ++ LIBRARIES ++ Qt::Network ++) ++ ++qt_internal_add_resource(tst_manual_ssl_client_auth "tst_manual_ssl_client_auth" ++ PREFIX ++ "/" ++ FILES ++ "certs/127.0.0.1.pem" ++ "certs/127.0.0.1-key.pem" ++ "certs/127.0.0.1-client.pem" ++ "certs/127.0.0.1-client-key.pem" ++ "certs/accepted-client.pem" ++ "certs/accepted-client-key.pem" ++ "certs/rootCA.pem" ++ BASE ++ "certs" ++) +diff --git a/tests/manual/network/ssl/client-auth/certs/.gitignore b/tests/manual/network/ssl/client-auth/certs/.gitignore +new file mode 100644 +index 00000000000..5866f7b609c +--- /dev/null ++++ b/tests/manual/network/ssl/client-auth/certs/.gitignore +@@ -0,0 +1,4 @@ ++* ++!/.gitignore ++!/generate.sh ++!/accepted-client.conf +diff --git a/tests/manual/network/ssl/client-auth/certs/accepted-client.conf b/tests/manual/network/ssl/client-auth/certs/accepted-client.conf +new file mode 100644 +index 00000000000..a88b276efec +--- /dev/null ++++ b/tests/manual/network/ssl/client-auth/certs/accepted-client.conf +@@ -0,0 +1,14 @@ ++[req] ++default_md = sha512 ++basicConstraints = CA:FALSE ++extendedKeyUsage = clientAuth ++[req] ++distinguished_name = client_distinguished_name ++prompt = no ++[client_distinguished_name] ++C = NO ++ST = Oslo ++L = Oslo ++O = The Qt Project ++OU = The Qt Project ++CN = Fake Qt Project Client Certificate +diff --git a/tests/manual/network/ssl/client-auth/certs/generate.sh b/tests/manual/network/ssl/client-auth/certs/generate.sh +new file mode 100755 +index 00000000000..5dbe3b3712a +--- /dev/null ++++ b/tests/manual/network/ssl/client-auth/certs/generate.sh +@@ -0,0 +1,33 @@ ++#!/bin/bash ++# Copyright (C) 2023 The Qt Company Ltd. ++# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 ++ ++# Requires mkcert and openssl ++ ++warn () { echo "$@" >&2; } ++die () { warn "$@"; exit 1; } ++ ++ ++command -v mkcert 1>/dev/null 2>&1 || die "Failed to find mkcert" ++command -v openssl 1>/dev/null 2>&1 || die "Failed to find openssl" ++ ++SCRIPT=$(realpath "$0") ++SCRIPTPATH=$(dirname "$SCRIPT") ++ ++pushd "$SCRIPTPATH" || die "Unable to pushd to $SCRIPTPATH" ++mkcert 127.0.0.1 ++mkcert -client 127.0.0.1 ++warn "Remember to run mkcert -install if you haven't already" ++ ++# Generate CA ++openssl genrsa -out ca-key.pem 2048 ++openssl req -new -x509 -noenc -days 365 -key ca-key.pem -out rootCA.pem ++ ++# Generate accepted client certificate ++openssl genrsa -out accepted-client-key.pem 2048 ++openssl req -new -sha512 -nodes -key accepted-client-key.pem -out accepted-client.csr -config accepted-client.conf ++openssl x509 -req -sha512 -days 45 -in accepted-client.csr -CA rootCA.pem -CAkey ca-key.pem -CAcreateserial -out accepted-client.pem ++rm accepted-client.csr ++rm rootCA.srl ++ ++popd || die "Unable to popd" +diff --git a/tests/manual/network/ssl/client-auth/tst_manual_ssl_client_auth.cpp b/tests/manual/network/ssl/client-auth/tst_manual_ssl_client_auth.cpp +new file mode 100644 +index 00000000000..2307cbb1911 +--- /dev/null ++++ b/tests/manual/network/ssl/client-auth/tst_manual_ssl_client_auth.cpp +@@ -0,0 +1,118 @@ ++// Copyright (C) 2023 The Qt Company Ltd. ++// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 ++ ++#include ++ ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++ ++// Client and/or server presents a certificate signed by a system-trusted CA ++// but the other side presents a certificate signed by a different CA. ++constexpr bool TestServerPresentsIncorrectCa = false; ++constexpr bool TestClientPresentsIncorrectCa = true; ++ ++class ServerThread : public QThread ++{ ++ Q_OBJECT ++public: ++ void run() override ++ { ++ QSslServer server; ++ ++ QSslConfiguration config = server.sslConfiguration(); ++ QList certs = QSslCertificate::fromPath(QStringLiteral(":/rootCA.pem")); ++ config.setCaCertificates(certs); ++ config.setLocalCertificate(QSslCertificate::fromPath(QStringLiteral(":/127.0.0.1.pem")) ++ .first()); ++ QFile keyFile(QStringLiteral(":/127.0.0.1-key.pem")); ++ if (!keyFile.open(QIODevice::ReadOnly)) ++ qFatal("Failed to open key file"); ++ config.setPrivateKey(QSslKey(&keyFile, QSsl::Rsa)); ++ config.setPeerVerifyMode(QSslSocket::VerifyPeer); ++ server.setSslConfiguration(config); ++ ++ connect(&server, &QSslServer::pendingConnectionAvailable, [&server]() { ++ QSslSocket *socket = static_cast(server.nextPendingConnection()); ++ qDebug() << "[s] newConnection" << socket->peerAddress() << socket->peerPort(); ++ socket->disconnectFromHost(); ++ qApp->quit(); ++ }); ++ connect(&server, &QSslServer::startedEncryptionHandshake, [](QSslSocket *socket) { ++ qDebug() << "[s] new handshake" << socket->peerAddress() << socket->peerPort(); ++ }); ++ connect(&server, &QSslServer::errorOccurred, ++ [](QSslSocket *socket, QAbstractSocket::SocketError error) { ++ qDebug() << "[s] errorOccurred" << socket->peerAddress() << socket->peerPort() ++ << error << socket->errorString(); ++ }); ++ connect(&server, &QSslServer::peerVerifyError, ++ [](QSslSocket *socket, const QSslError &error) { ++ qDebug() << "[s] peerVerifyError" << socket->peerAddress() << socket->peerPort() ++ << error; ++ }); ++ server.listen(QHostAddress::LocalHost, 24242); ++ ++ exec(); ++ ++ server.close(); ++ } ++}; ++ ++int main(int argc, char **argv) ++{ ++ QCoreApplication app(argc, argv); ++ ++ using namespace Qt::StringLiterals; ++ ++ if (!QFileInfo(u":/rootCA.pem"_s).exists()) ++ qFatal("rootCA.pem not found. Did you run generate.sh in the certs directory?"); ++ ++ ServerThread serverThread; ++ serverThread.start(); ++ ++ QSslSocket socket; ++ QSslConfiguration config = socket.sslConfiguration(); ++ QString certificatePath; ++ QString keyFileName; ++ if constexpr (TestClientPresentsIncorrectCa) { // true: Present cert signed with incorrect CA: should fail ++ certificatePath = u":/127.0.0.1-client.pem"_s; ++ keyFileName = u":/127.0.0.1-client-key.pem"_s; ++ } else { // false: Use correct CA: should succeed ++ certificatePath = u":/accepted-client.pem"_s; ++ keyFileName = u":/accepted-client-key.pem"_s; ++ } ++ config.setLocalCertificate(QSslCertificate::fromPath(certificatePath).first()); ++ if (TestServerPresentsIncorrectCa) // true: Verify server using incorrect CA: should fail ++ config.setCaCertificates(QSslCertificate::fromPath(u":/rootCA.pem"_s)); ++ QFile keyFile(keyFileName); ++ if (!keyFile.open(QIODevice::ReadOnly)) ++ qFatal("Failed to open key file"); ++ config.setPrivateKey(QSslKey(&keyFile, QSsl::Rsa)); ++ socket.setSslConfiguration(config); ++ ++ QObject::connect(&socket, &QSslSocket::encrypted, []() { qDebug() << "[c] encrypted"; }); ++ QObject::connect(&socket, &QSslSocket::errorOccurred, ++ [&socket](QAbstractSocket::SocketError error) { ++ qDebug() << "[c] errorOccurred" << error << socket.errorString(); ++ qApp->quit(); ++ }); ++ QObject::connect(&socket, &QSslSocket::sslErrors, [](const QList &errors) { ++ qDebug() << "[c] sslErrors" << errors; ++ }); ++ QObject::connect(&socket, &QSslSocket::connected, []() { qDebug() << "[c] connected"; }); ++ ++ socket.connectToHostEncrypted(QStringLiteral("127.0.0.1"), 24242); ++ ++ const int res = app.exec(); ++ serverThread.quit(); ++ serverThread.wait(); ++ return res; ++} ++ ++#include "tst_manual_ssl_client_auth.moc" +-- +2.46.0 + diff --git a/package/qt6/qt6base/0015-Ssl-Copy-the-on-demand-cert-loading-bool-from-defaul.patch b/package/qt6/qt6base/0015-Ssl-Copy-the-on-demand-cert-loading-bool-from-defaul.patch new file mode 100644 index 000000000..7863f0c20 --- /dev/null +++ b/package/qt6/qt6base/0015-Ssl-Copy-the-on-demand-cert-loading-bool-from-defaul.patch @@ -0,0 +1,116 @@ +From 99a9f2eccb5de9843dc956dd380dcf7515cbce27 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= +Date: Thu, 25 May 2023 14:40:29 +0200 +Subject: [PATCH] Ssl: Copy the on-demand cert loading bool from default config + +Otherwise individual sockets will still load system certificates when +a chain doesn't match against the configured CA certificates. +That's not intended behavior, since specifically setting the CA +certificates means you don't want the system certificates to be used. + +Follow-up to/amends ada2c573c1a25f8d96577734968fe317ddfa292a + +This is potentially a breaking change because now, if you ever add a +CA to the default config, it will disable loading system certificates +on demand for all sockets. And the only way to re-enable it is to +create a null-QSslConfiguration and set it as the new default. + +Pick-to: 6.5 6.2 5.15 +Change-Id: Ic3b2ab125c0cdd58ad654af1cb36173960ce2d1e +Reviewed-by: Timur Pocheptsov + +Fixes: https://security-tracker.debian.org/tracker/CVE-2023-34410 +Upstream: https://codereview.qt-project.org/gitweb?p=qt%2Fqtbase.git;a=commit;h=57ba6260c0801055b7188fdaa1818b940590f5f1 +Signed-off-by: Thomas Petazzoni +--- + src/network/ssl/qsslsocket.cpp | 5 ++++ + .../tst_manual_ssl_client_auth.cpp | 24 ++++++++++++++++--- + 2 files changed, 26 insertions(+), 3 deletions(-) + +diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp +index 4eefe439293..0563fd06634 100644 +--- a/src/network/ssl/qsslsocket.cpp ++++ b/src/network/ssl/qsslsocket.cpp +@@ -1973,6 +1973,10 @@ QSslSocketPrivate::QSslSocketPrivate() + , flushTriggered(false) + { + QSslConfigurationPrivate::deepCopyDefaultConfiguration(&configuration); ++ // If the global configuration doesn't allow root certificates to be loaded ++ // on demand then we have to disable it for this socket as well. ++ if (!configuration.allowRootCertOnDemandLoading) ++ allowRootCertOnDemandLoading = false; + + const auto *tlsBackend = tlsBackendInUse(); + if (!tlsBackend) { +@@ -2281,6 +2285,7 @@ void QSslConfigurationPrivate::deepCopyDefaultConfiguration(QSslConfigurationPri + ptr->sessionProtocol = global->sessionProtocol; + ptr->ciphers = global->ciphers; + ptr->caCertificates = global->caCertificates; ++ ptr->allowRootCertOnDemandLoading = global->allowRootCertOnDemandLoading; + ptr->protocol = global->protocol; + ptr->peerVerifyMode = global->peerVerifyMode; + ptr->peerVerifyDepth = global->peerVerifyDepth; +diff --git a/tests/manual/network/ssl/client-auth/tst_manual_ssl_client_auth.cpp b/tests/manual/network/ssl/client-auth/tst_manual_ssl_client_auth.cpp +index 2307cbb1911..4d4aaca7e34 100644 +--- a/tests/manual/network/ssl/client-auth/tst_manual_ssl_client_auth.cpp ++++ b/tests/manual/network/ssl/client-auth/tst_manual_ssl_client_auth.cpp +@@ -16,6 +16,9 @@ + // but the other side presents a certificate signed by a different CA. + constexpr bool TestServerPresentsIncorrectCa = false; + constexpr bool TestClientPresentsIncorrectCa = true; ++// Decides whether or not to put the root CA into the global ssl configuration ++// or into the socket's specific ssl configuration. ++constexpr bool UseGlobalConfiguration = true; + + class ServerThread : public QThread + { +@@ -26,8 +29,10 @@ public: + QSslServer server; + + QSslConfiguration config = server.sslConfiguration(); +- QList certs = QSslCertificate::fromPath(QStringLiteral(":/rootCA.pem")); +- config.setCaCertificates(certs); ++ if (!UseGlobalConfiguration) { ++ QList certs = QSslCertificate::fromPath(QStringLiteral(":/rootCA.pem")); ++ config.setCaCertificates(certs); ++ } + config.setLocalCertificate(QSslCertificate::fromPath(QStringLiteral(":/127.0.0.1.pem")) + .first()); + QFile keyFile(QStringLiteral(":/127.0.0.1-key.pem")); +@@ -73,6 +78,12 @@ int main(int argc, char **argv) + if (!QFileInfo(u":/rootCA.pem"_s).exists()) + qFatal("rootCA.pem not found. Did you run generate.sh in the certs directory?"); + ++ if (UseGlobalConfiguration) { ++ QSslConfiguration config = QSslConfiguration::defaultConfiguration(); ++ config.setCaCertificates(QSslCertificate::fromPath(u":/rootCA.pem"_s)); ++ QSslConfiguration::setDefaultConfiguration(config); ++ } ++ + ServerThread serverThread; + serverThread.start(); + +@@ -88,12 +99,19 @@ int main(int argc, char **argv) + keyFileName = u":/accepted-client-key.pem"_s; + } + config.setLocalCertificate(QSslCertificate::fromPath(certificatePath).first()); +- if (TestServerPresentsIncorrectCa) // true: Verify server using incorrect CA: should fail ++ if (!UseGlobalConfiguration && TestServerPresentsIncorrectCa) { ++ // Verify server using incorrect CA: should fail + config.setCaCertificates(QSslCertificate::fromPath(u":/rootCA.pem"_s)); ++ } else if (UseGlobalConfiguration && !TestServerPresentsIncorrectCa) { ++ // Verify server using correct CA, we need to explicitly set the ++ // system CAs when the global config is overridden. ++ config.setCaCertificates(QSslConfiguration::systemCaCertificates()); ++ } + QFile keyFile(keyFileName); + if (!keyFile.open(QIODevice::ReadOnly)) + qFatal("Failed to open key file"); + config.setPrivateKey(QSslKey(&keyFile, QSsl::Rsa)); ++ + socket.setSslConfiguration(config); + + QObject::connect(&socket, &QSslSocket::encrypted, []() { qDebug() << "[c] encrypted"; }); +-- +2.46.0 + diff --git a/package/qt6/qt6base/0016-HTTP2-Delay-any-communication-until-encrypted-can-be.patch b/package/qt6/qt6base/0016-HTTP2-Delay-any-communication-until-encrypted-can-be.patch new file mode 100644 index 000000000..ab8a46a95 --- /dev/null +++ b/package/qt6/qt6base/0016-HTTP2-Delay-any-communication-until-encrypted-can-be.patch @@ -0,0 +1,248 @@ +From 6d2a5ad09074bd77b2de09adf7147107ee0db026 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= +Date: Tue, 25 Jun 2024 17:09:35 +0200 +Subject: [PATCH] HTTP2: Delay any communication until encrypted() can be + responded to + +We have the encrypted() signal that lets users do extra checks on the +established connection. It is emitted as BlockingQueued, so the HTTP +thread stalls until it is done emitting. Users can potentially call +abort() on the QNetworkReply at that point, which is passed as a Queued +call back to the HTTP thread. That means that any currently queued +signal emission will be processed before the abort() call is processed. + +In the case of HTTP2 it is a little special since it is multiplexed and +the code is built to start requests as they are available. This means +that, while the code worked fine for HTTP1, since one connection only +has one request, it is not working for HTTP2, since we try to send more +requests in-between the encrypted() signal and the abort() call. + +This patch changes the code to delay any communication until the +encrypted() signal has been emitted and processed, for HTTP2 only. +It's done by adding a few booleans, both to know that we have to return +early and so we can keep track of what events arose and what we need to +resume once enough time has passed that any abort() call must have been +processed. + +Fixes: QTBUG-126610 +Pick-to: 6.5 6.2 5.15 5.12 +Change-Id: Ic25a600c278203256e35f541026f34a8783235ae +Reviewed-by: Marc Mutz +Reviewed-by: Volker Hilsheimer +(cherry picked from commit b1e75376cc3adfc7da5502a277dfe9711f3e0536) +Reviewed-by: Qt Cherry-pick Bot +(cherry picked from commit 0fb43e4395da34d561814242a0186999e4956e28) + +Fixes: https://security-tracker.debian.org/tracker/CVE-2024-39936 +Upstream: https://github.com/qt/qtbase/commit/2b1e36e183ce75c224305c7a94457b92f7a5cf58 +Signed-off-by: Thomas Petazzoni +--- + src/network/access/qhttp2protocolhandler.cpp | 6 +-- + .../access/qhttpnetworkconnectionchannel.cpp | 48 ++++++++++++++++++- + .../access/qhttpnetworkconnectionchannel_p.h | 6 +++ + tests/auto/network/access/http2/tst_http2.cpp | 44 +++++++++++++++++ + 4 files changed, 99 insertions(+), 5 deletions(-) + +diff --git a/src/network/access/qhttp2protocolhandler.cpp b/src/network/access/qhttp2protocolhandler.cpp +index 562b883242f..8c543efc742 100644 +--- a/src/network/access/qhttp2protocolhandler.cpp ++++ b/src/network/access/qhttp2protocolhandler.cpp +@@ -335,12 +335,12 @@ bool QHttp2ProtocolHandler::sendRequest() + } + } + +- if (!prefaceSent && !sendClientPreface()) +- return false; +- + if (!requests.size()) + return true; + ++ if (!prefaceSent && !sendClientPreface()) ++ return false; ++ + m_channel->state = QHttpNetworkConnectionChannel::WritingState; + // Check what was promised/pushed, maybe we do not have to send a request + // and have a response already? +diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp +index 1e036bdc450..a64d1a25898 100644 +--- a/src/network/access/qhttpnetworkconnectionchannel.cpp ++++ b/src/network/access/qhttpnetworkconnectionchannel.cpp +@@ -209,6 +209,10 @@ void QHttpNetworkConnectionChannel::abort() + bool QHttpNetworkConnectionChannel::sendRequest() + { + Q_ASSERT(protocolHandler); ++ if (waitingForPotentialAbort) { ++ needInvokeSendRequest = true; ++ return false; // this return value is unused ++ } + return protocolHandler->sendRequest(); + } + +@@ -221,21 +225,28 @@ bool QHttpNetworkConnectionChannel::sendRequest() + void QHttpNetworkConnectionChannel::sendRequestDelayed() + { + QMetaObject::invokeMethod(this, [this] { +- Q_ASSERT(protocolHandler); + if (reply) +- protocolHandler->sendRequest(); ++ sendRequest(); + }, Qt::ConnectionType::QueuedConnection); + } + + void QHttpNetworkConnectionChannel::_q_receiveReply() + { + Q_ASSERT(protocolHandler); ++ if (waitingForPotentialAbort) { ++ needInvokeReceiveReply = true; ++ return; ++ } + protocolHandler->_q_receiveReply(); + } + + void QHttpNetworkConnectionChannel::_q_readyRead() + { + Q_ASSERT(protocolHandler); ++ if (waitingForPotentialAbort) { ++ needInvokeReadyRead = true; ++ return; ++ } + protocolHandler->_q_readyRead(); + } + +@@ -1232,7 +1243,18 @@ void QHttpNetworkConnectionChannel::_q_encrypted() + // Similar to HTTP/1.1 counterpart below: + const auto &h2Pairs = h2RequestsToSend.values(); // (request, reply) + const auto &pair = h2Pairs.first(); ++ waitingForPotentialAbort = true; + emit pair.second->encrypted(); ++ ++ // We don't send or handle any received data until any effects from ++ // emitting encrypted() have been processed. This is necessary ++ // because the user may have called abort(). We may also abort the ++ // whole connection if the request has been aborted and there is ++ // no more requests to send. ++ QMetaObject::invokeMethod(this, ++ &QHttpNetworkConnectionChannel::checkAndResumeCommunication, ++ Qt::QueuedConnection); ++ + // In case our peer has sent us its settings (window size, max concurrent streams etc.) + // let's give _q_receiveReply a chance to read them first ('invokeMethod', QueuedConnection). + QMetaObject::invokeMethod(connection, "_q_startNextRequest", Qt::QueuedConnection); +@@ -1250,6 +1272,28 @@ void QHttpNetworkConnectionChannel::_q_encrypted() + } + } + ++ ++void QHttpNetworkConnectionChannel::checkAndResumeCommunication() ++{ ++ Q_ASSERT(connection->connectionType() == QHttpNetworkConnection::ConnectionTypeHTTP2 ++ || connection->connectionType() == QHttpNetworkConnection::ConnectionTypeHTTP2Direct); ++ ++ // Because HTTP/2 requires that we send a SETTINGS frame as the first thing we do, and respond ++ // to a SETTINGS frame with an ACK, we need to delay any handling until we can ensure that any ++ // effects from emitting encrypted() have been processed. ++ // This function is called after encrypted() was emitted, so check for changes. ++ ++ if (!reply && h2RequestsToSend.isEmpty()) ++ abort(); ++ waitingForPotentialAbort = false; ++ if (needInvokeReadyRead) ++ _q_readyRead(); ++ if (needInvokeReceiveReply) ++ _q_receiveReply(); ++ if (needInvokeSendRequest) ++ sendRequest(); ++} ++ + void QHttpNetworkConnectionChannel::requeueHttp2Requests() + { + QList h2Pairs = h2RequestsToSend.values(); +diff --git a/src/network/access/qhttpnetworkconnectionchannel_p.h b/src/network/access/qhttpnetworkconnectionchannel_p.h +index 0772a4452b3..2a5336ca8a4 100644 +--- a/src/network/access/qhttpnetworkconnectionchannel_p.h ++++ b/src/network/access/qhttpnetworkconnectionchannel_p.h +@@ -73,6 +73,10 @@ public: + QAbstractSocket *socket; + bool ssl; + bool isInitialized; ++ bool waitingForPotentialAbort = false; ++ bool needInvokeReceiveReply = false; ++ bool needInvokeReadyRead = false; ++ bool needInvokeSendRequest = false; + ChannelState state; + QHttpNetworkRequest request; // current request, only used for HTTP + QHttpNetworkReply *reply; // current reply for this request, only used for HTTP +@@ -145,6 +149,8 @@ public: + void closeAndResendCurrentRequest(); + void resendCurrentRequest(); + ++ void checkAndResumeCommunication(); ++ + bool isSocketBusy() const; + bool isSocketWriting() const; + bool isSocketWaiting() const; +diff --git a/tests/auto/network/access/http2/tst_http2.cpp b/tests/auto/network/access/http2/tst_http2.cpp +index 9c1a63bae1e..30abbb0d3ed 100644 +--- a/tests/auto/network/access/http2/tst_http2.cpp ++++ b/tests/auto/network/access/http2/tst_http2.cpp +@@ -99,6 +99,8 @@ private slots: + void redirect_data(); + void redirect(); + ++ void abortOnEncrypted(); ++ + protected slots: + // Slots to listen to our in-process server: + void serverStarted(quint16 port); +@@ -1280,6 +1282,48 @@ void tst_Http2::redirect() + QTRY_VERIFY(serverGotSettingsACK); + } + ++void tst_Http2::abortOnEncrypted() ++{ ++#if !QT_CONFIG(ssl) ++ QSKIP("TLS support is needed for this test"); ++#else ++ clearHTTP2State(); ++ serverPort = 0; ++ ++ ServerPtr targetServer(newServer(defaultServerSettings, H2Type::h2Direct)); ++ ++ QMetaObject::invokeMethod(targetServer.data(), "startServer", Qt::QueuedConnection); ++ runEventLoop(); ++ ++ nRequests = 1; ++ nSentRequests = 0; ++ ++ const auto url = requestUrl(H2Type::h2Direct); ++ QNetworkRequest request(url); ++ request.setAttribute(QNetworkRequest::Http2DirectAttribute, true); ++ ++ std::unique_ptr reply{manager->get(request)}; ++ reply->ignoreSslErrors(); ++ connect(reply.get(), &QNetworkReply::encrypted, reply.get(), [reply = reply.get()](){ ++ reply->abort(); ++ }); ++ connect(reply.get(), &QNetworkReply::errorOccurred, this, &tst_Http2::replyFinishedWithError); ++ ++ runEventLoop(); ++ STOP_ON_FAILURE ++ ++ QCOMPARE(nRequests, 0); ++ QCOMPARE(reply->error(), QNetworkReply::OperationCanceledError); ++ ++ const bool res = QTest::qWaitFor( ++ [this, server = targetServer.get()]() { ++ return serverGotSettingsACK || prefaceOK || nSentRequests > 0; ++ }, ++ 500); ++ QVERIFY(!res); ++#endif // QT_CONFIG(ssl) ++} ++ + void tst_Http2::serverStarted(quint16 port) + { + serverPort = port; +-- +2.46.0 + diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk index 6857725ef..3d4507974 100644 --- a/package/qt6/qt6base/qt6base.mk +++ b/package/qt6/qt6base/qt6base.mk @@ -9,6 +9,31 @@ QT6BASE_SITE = $(QT6_SITE) QT6BASE_SOURCE = qtbase-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6BASE_VERSION).tar.xz QT6BASE_CPE_ID_VENDOR = qt QT6BASE_CPE_ID_PRODUCT = qt +# 0001-QDnsLookup-Unix-make-sure-we-don-t-overflow-the-buff.patch +QT6BASE_IGNORE_CVES += CVE-2023-33285 +# 0002-Hsts-match-header-names-case-insensitively.patch +QT6BASE_IGNORE_CVES += CVE-2023-32762 +# 0005-Fix-specific-overflow-in-qtextlayout.patch +QT6BASE_IGNORE_CVES += CVE-2023-32763 +# 0009-QXmlStreamReader-Raise-error-on-unexpected-tokens.patch +QT6BASE_IGNORE_CVES += CVE-2023-38197 +# 0011-HPack-fix-incorrect-integer-overflow-check.patch +QT6BASE_IGNORE_CVES += CVE-2023-51714 +# 0013-QXmlStreamReader-make-fastScanName-indicate-parsing-.patch +QT6BASE_IGNORE_CVES += CVE-2023-37369 +# 0014-Schannel-Reject-certificate-not-signed-by-a-configur.patch +# 0015-Ssl-Copy-the-on-demand-cert-loading-bool-from-defaul.patch +QT6BASE_IGNORE_CVES += CVE-2023-34410 +# 0016-HTTP2-Delay-any-communication-until-encrypted-can-be.patch +QT6BASE_IGNORE_CVES += CVE-2024-39936 + +# All Qt CVEs are reported by NVD against the qt:qt vendor/product +# CPE, so from a Buildroot perspective, they will all show up reported +# on qt6base. The ignore CVE entries below are for other Qt modules, +# but they need to be listed here to be properly accounted for. + +# qt6svg/0001-QSvgFont-Initialize-used-member-remove-unused.patch +QT6BASE_IGNORE_CVES += CVE-2023-32573 QT6BASE_CMAKE_BACKEND = ninja @@ -42,7 +67,6 @@ QT6BASE_INSTALL_STAGING = YES QT6BASE_CONF_OPTS = \ -DQT_HOST_PATH=$(HOST_DIR) \ - -DFEATURE_concurrent=OFF \ -DFEATURE_xml=OFF \ -DFEATURE_sql=OFF \ -DFEATURE_testlib=OFF \ @@ -259,10 +283,15 @@ QT6BASE_CONF_OPTS += -DFEATURE_eglfs=OFF endif ifeq ($(BR2_PACKAGE_QT6BASE_OPENGL_DESKTOP),y) -QT6BASE_CONF_OPTS += -DFEATURE_opengl=ON -DFEATURE_opengl_desktop=ON +QT6BASE_CONF_OPTS += \ + -DFEATURE_opengl=ON \ + -DFEATURE_opengl_desktop=ON QT6BASE_DEPENDENCIES += libgl else ifeq ($(BR2_PACKAGE_QT6BASE_OPENGL_ES2),y) -QT6BASE_CONF_OPTS += -DFEATURE_opengl=ON -DFEATURE_opengles2=ON +QT6BASE_CONF_OPTS += \ + -DFEATURE_opengl=ON \ + -DFEATURE_opengles2=ON \ + -DFEATURE_opengl_desktop=OFF QT6BASE_DEPENDENCIES += libgles else QT6BASE_CONF_OPTS += -DFEATURE_opengl=OFF -DINPUT_opengl=no diff --git a/package/qt6/qt6svg/0001-QSvgFont-Initialize-used-member-remove-unused.patch b/package/qt6/qt6svg/0001-QSvgFont-Initialize-used-member-remove-unused.patch new file mode 100644 index 000000000..590b586f9 --- /dev/null +++ b/package/qt6/qt6svg/0001-QSvgFont-Initialize-used-member-remove-unused.patch @@ -0,0 +1,62 @@ +From 3497a6b81f561f61ab784b2847f718e912b4d80c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Robert=20L=C3=B6hning?= +Date: Mon, 24 Apr 2023 15:27:17 +0200 +Subject: [PATCH] QSvgFont: Initialize used member, remove unused + +Credit to OSS-Fuzz + +[ChangeLog][QtSvg] Fixed undefined behavior from using uninitialized +variable. + +Pick-to: 6.5 6.2 5.15 +Coverity-Id: 22618 +Change-Id: Id52277bb0e2845f4d342e187dbb8093e9276b70c +Reviewed-by: Eskil Abrahamsen Blomfeldt + +Fixes: https://security-tracker.debian.org/tracker/CVE-2023-32573 +Upstream: https://codereview.qt-project.org/gitweb?p=qt%2Fqtsvg.git;a=commit;h=ff22c3ccf8ccf813fdcfda23f7740ba73ba5ce0a +Signed-off-by: Thomas Petazzoni +--- + src/svg/qsvgfont_p.h | 5 ++--- + src/svg/qsvghandler.cpp | 2 +- + 2 files changed, 3 insertions(+), 4 deletions(-) + +diff --git a/src/svg/qsvgfont_p.h b/src/svg/qsvgfont_p.h +index a7cc98b1..9cf3dfe3 100644 +--- a/src/svg/qsvgfont_p.h ++++ b/src/svg/qsvgfont_p.h +@@ -38,6 +38,7 @@ public: + class Q_SVG_PRIVATE_EXPORT QSvgFont : public QSvgRefCounted + { + public: ++ static constexpr qreal DEFAULT_UNITS_PER_EM = 1000; + QSvgFont(qreal horizAdvX); + + void setFamilyName(const QString &name); +@@ -50,9 +51,7 @@ public: + void draw(QPainter *p, const QPointF &point, const QString &str, qreal pixelSize, Qt::Alignment alignment) const; + public: + QString m_familyName; +- qreal m_unitsPerEm; +- qreal m_ascent; +- qreal m_descent; ++ qreal m_unitsPerEm = DEFAULT_UNITS_PER_EM; + qreal m_horizAdvX; + QHash m_glyphs; + }; +diff --git a/src/svg/qsvghandler.cpp b/src/svg/qsvghandler.cpp +index 29ca7332..a8918489 100644 +--- a/src/svg/qsvghandler.cpp ++++ b/src/svg/qsvghandler.cpp +@@ -2622,7 +2622,7 @@ static bool parseFontFaceNode(QSvgStyleProperty *parent, + + qreal unitsPerEm = toDouble(unitsPerEmStr); + if (!unitsPerEm) +- unitsPerEm = 1000; ++ unitsPerEm = QSvgFont::DEFAULT_UNITS_PER_EM; + + if (!name.isEmpty()) + font->setFamilyName(name); +-- +2.46.0 + diff --git a/package/quagga/quagga.mk b/package/quagga/quagga.mk index 97297baff..d83972038 100644 --- a/package/quagga/quagga.mk +++ b/package/quagga/quagga.mk @@ -5,7 +5,8 @@ ################################################################################ QUAGGA_VERSION = 1.2.4 -QUAGGA_SITE = http://download.savannah.gnu.org/releases/quagga +# upstream (http://download.savannah.gnu.org/releases/quagga) dead +QUAGGA_SITE = http://sources.buildroot.net/quagga QUAGGA_INSTALL_STAGING = YES QUAGGA_DEPENDENCIES = host-gawk host-pkgconf QUAGGA_LICENSE = GPL-2.0+ diff --git a/package/rapidxml/0001-ensure-internal-print-operations-are-declared-before.patch b/package/rapidxml/0001-ensure-internal-print-operations-are-declared-before.patch index fcf1b3cce..18c42415e 100644 --- a/package/rapidxml/0001-ensure-internal-print-operations-are-declared-before.patch +++ b/package/rapidxml/0001-ensure-internal-print-operations-are-declared-before.patch @@ -2,7 +2,7 @@ Stock rapidxml-1.13 does not allow implementers of the `rapidxml_print.hpp` header to build under GCC 4.7 (or newer) due to -compliation issues. This is a result of "Name lookup changes" introduced +compilation issues. This is a result of "Name lookup changes" introduced in GCC 4.7 [1]. The following adds forward declarations required to compile with GCC 4.7+. diff --git a/package/rapidxml/Config.in b/package/rapidxml/Config.in index 76b2248ec..9b6ee7484 100644 --- a/package/rapidxml/Config.in +++ b/package/rapidxml/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_RAPIDXML bool "rapidxml" help RapidXml is an attempt to create the fastest XML parser - possible, while retaining useability, portability and + possible, while retaining usability, portability and reasonable W3C compatibility. It is an in-situ parser with parsing speed approaching speed of strlen function executed on the same data. diff --git a/package/raspberrypi-usbboot/0001-Makefile-allow-passing-CFLAGS-LDFLAGS.patch b/package/raspberrypi-usbboot/0001-Makefile-allow-passing-CFLAGS-LDFLAGS.patch index d482b0b9d..29a931165 100644 --- a/package/raspberrypi-usbboot/0001-Makefile-allow-passing-CFLAGS-LDFLAGS.patch +++ b/package/raspberrypi-usbboot/0001-Makefile-allow-passing-CFLAGS-LDFLAGS.patch @@ -1,4 +1,4 @@ -From 38b730c00f45abf324caf687b5b00662ff4252c2 Mon Sep 17 00:00:00 2001 +From acd175aa53af1f1b8422bf1f1fe57eafc710cdca Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Fri, 2 Dec 2016 23:09:44 +0100 Subject: [PATCH] Makefile: allow passing CFLAGS/LDFLAGS @@ -10,21 +10,25 @@ Submitted-upstream: https://github.com/raspberrypi/usbboot/pull/2 Signed-off-by: Thomas Petazzoni [Rebased on 9324fd7] Signed-off-by: Peter Seiderer +[Rebased on 20221215-105525-0-g1afa26c5] +Signed-off-by: Fiona Klute --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index 822e714..875e717 100755 +index dc78cfe..c9d4910 100755 --- a/Makefile +++ b/Makefile -@@ -1,5 +1,5 @@ +@@ -1,7 +1,7 @@ + PKG_VER=$(shell grep rpiboot debian/changelog | head -n1 | sed 's/.*(\(.*\)).*/\1/g') + GIT_VER=$(shell git rev-parse HEAD 2>/dev/null | cut -c1-8 || echo "") rpiboot: main.c msd/bootcode.h msd/start.h msd/bootcode4.h msd/start4.h -- $(CC) -Wall -Wextra -g -o $@ $< -lusb-1.0 -+ $(CC) -Wall -Wextra -g $(CFLAGS) -o $@ $< -lusb-1.0 $(LDFLAGS) +- $(CC) -Wall -Wextra -g -o $@ $< `pkg-config --cflags --libs libusb-1.0` -DGIT_VER="\"$(GIT_VER)\"" -DPKG_VER="\"$(PKG_VER)\"" ++ $(CC) -Wall -Wextra -g $(CFLAGS) -o $@ $< `pkg-config --cflags --libs libusb-1.0` -DGIT_VER="\"$(GIT_VER)\"" -DPKG_VER="\"$(PKG_VER)\"" $(LDFLAGS) %.h: %.bin ./bin2c ./bin2c $< $@ -- -2.31.1 +2.45.2 diff --git a/package/raspberrypi-usbboot/raspberrypi-usbboot.hash b/package/raspberrypi-usbboot/raspberrypi-usbboot.hash index cedc5fb7e..830ead824 100644 --- a/package/raspberrypi-usbboot/raspberrypi-usbboot.hash +++ b/package/raspberrypi-usbboot/raspberrypi-usbboot.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 4565314b38e7c7505b7d32a3b51b49f79c7dd5767d45b86d38e5255ae7489a43 raspberrypi-usbboot-2021.07.01.tar.gz +sha256 2f02dbe9a88e9dfad5f05e513e1f30afd47b1575820f7c3b09665dfefc45bbaa raspberrypi-usbboot-20221215-105525.tar.gz # License files sha256 b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1 LICENSE diff --git a/package/raspberrypi-usbboot/raspberrypi-usbboot.mk b/package/raspberrypi-usbboot/raspberrypi-usbboot.mk index 2e4194da0..24a1f6d90 100644 --- a/package/raspberrypi-usbboot/raspberrypi-usbboot.mk +++ b/package/raspberrypi-usbboot/raspberrypi-usbboot.mk @@ -4,9 +4,9 @@ # ################################################################################ -RASPBERRYPI_USBBOOT_VERSION = 2021.07.01 +RASPBERRYPI_USBBOOT_VERSION = 20221215-105525 RASPBERRYPI_USBBOOT_SITE = \ - $(call github,raspberrypi,usbboot,v$(RASPBERRYPI_USBBOOT_VERSION)) + $(call github,raspberrypi,usbboot,$(RASPBERRYPI_USBBOOT_VERSION)) RASPBERRYPI_USBBOOT_LICENSE = Apache-2.0 RASPBERRYPI_USBBOOT_LICENSE_FILES = LICENSE diff --git a/package/rauc-hawkbit-updater/rauc-hawkbit-updater.mk b/package/rauc-hawkbit-updater/rauc-hawkbit-updater.mk index 3836d3c84..da1c020bb 100644 --- a/package/rauc-hawkbit-updater/rauc-hawkbit-updater.mk +++ b/package/rauc-hawkbit-updater/rauc-hawkbit-updater.mk @@ -12,4 +12,11 @@ RAUC_HAWKBIT_UPDATER_LICENSE_FILES = LICENSE RAUC_HAWKBIT_UPDATER_DEPENDENCIES = json-glib libcurl RAUC_HAWKBIT_UPDATER_CFLAGS = $(TARGET_CFLAGS) -std=c99 +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +RAUC_HAWKBIT_UPDATER_DEPENDENCIES += systemd +RAUC_HAWKBIT_UPDATER_CONF_OPTS += -Dsystemd=enabled +else +RAUC_HAWKBIT_UPDATER_CONF_OPTS += -Dsystemd=disabled +endif + $(eval $(meson-package)) diff --git a/package/rauc/Config.in b/package/rauc/Config.in index 7451b29a5..6036ae187 100644 --- a/package/rauc/Config.in +++ b/package/rauc/Config.in @@ -31,7 +31,7 @@ config BR2_PACKAGE_RAUC_GPT select BR2_PACKAGE_UTIL_LINUX_LIBS select BR2_PACKAGE_UTIL_LINUX_LIBFDISK help - This option enables support for GPT partition tables. + This option enables support for GPT partition tables. config BR2_PACKAGE_RAUC_NETWORK bool "network support" diff --git a/package/rauc/rauc.hash b/package/rauc/rauc.hash index 6899ca94f..391d89a8f 100644 --- a/package/rauc/rauc.hash +++ b/package/rauc/rauc.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 e47070e97f89136ca8d0b2b044c40e68ac0f44432046176d08d66717320df4a7 rauc-1.11.2.tar.xz +sha256 ef82ee452939c03a24fd40649afa96497f3cec965994e6c9c0d94239b640bc10 rauc-1.11.3.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/rauc/rauc.mk b/package/rauc/rauc.mk index 7bb374259..7239d84cc 100644 --- a/package/rauc/rauc.mk +++ b/package/rauc/rauc.mk @@ -4,7 +4,7 @@ # ################################################################################ -RAUC_VERSION = 1.11.2 +RAUC_VERSION = 1.11.3 RAUC_SITE = https://github.com/rauc/rauc/releases/download/v$(RAUC_VERSION) RAUC_SOURCE = rauc-$(RAUC_VERSION).tar.xz RAUC_LICENSE = LGPL-2.1 diff --git a/package/redis-plus-plus/redis-plus-plus.hash b/package/redis-plus-plus/redis-plus-plus.hash index 1d88365bc..4cdc17602 100644 --- a/package/redis-plus-plus/redis-plus-plus.hash +++ b/package/redis-plus-plus/redis-plus-plus.hash @@ -1,3 +1,3 @@ # Locally calculated: -sha256 85d9d9ff84c873c4a14bd28bee569a1f311285fad8d4f2fb0e472f65d4bb842a redis-plus-plus-1.3.10.tar.gz +sha256 26c1e45cdbafe1af4d2cf756957b2268baab6f802b53bcdd435864620e2c03c7 redis-plus-plus-1.3.12.tar.gz sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE diff --git a/package/redis-plus-plus/redis-plus-plus.mk b/package/redis-plus-plus/redis-plus-plus.mk index a286e2de3..167d8bfa0 100644 --- a/package/redis-plus-plus/redis-plus-plus.mk +++ b/package/redis-plus-plus/redis-plus-plus.mk @@ -4,7 +4,7 @@ # ################################################################################ -REDIS_PLUS_PLUS_VERSION = 1.3.10 +REDIS_PLUS_PLUS_VERSION = 1.3.12 REDIS_PLUS_PLUS_SITE = $(call github,sewenew,redis-plus-plus,$(REDIS_PLUS_PLUS_VERSION)) REDIS_PLUS_PLUS_LICENSE = Apache-2.0 REDIS_PLUS_PLUS_LICENSE_FILES = LICENSE diff --git a/package/redis/0003-redis.conf-adjust-defauts-for-buildroot.patch b/package/redis/0003-redis.conf-adjust-defauts-for-buildroot.patch index 6ad81a493..c1fc8acf6 100644 --- a/package/redis/0003-redis.conf-adjust-defauts-for-buildroot.patch +++ b/package/redis/0003-redis.conf-adjust-defauts-for-buildroot.patch @@ -1,7 +1,7 @@ From f79d1d1bf9e6f54b67e5482602084fbff7fd9cc9 Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Fri, 28 Oct 2016 12:50:34 -0300 -Subject: [PATCH] redis.conf: adjust defauts for buildroot +Subject: [PATCH] redis.conf: adjust defaults for buildroot Based on Martin Bark's patch hence archlinux package. We just need to specify a proper db directory. diff --git a/package/redis/redis.hash b/package/redis/redis.hash index 378b93037..e01fc6a60 100644 --- a/package/redis/redis.hash +++ b/package/redis/redis.hash @@ -1,5 +1,5 @@ # From https://github.com/redis/redis-hashes/blob/master/README -sha256 8d104c26a154b29fd67d6568b4f375212212ad41e0c2caa3d66480e78dbd3b59 redis-7.2.4.tar.gz +sha256 72c081e3b8cfae7144273d26d76736f08319000af46c01515cad5d29765cead5 redis-7.2.7.tar.gz # Locally calculated sha256 97f0a15b7bbae580d2609dad2e11f1956ae167be296ab60f4691ab9c30ee9828 COPYING diff --git a/package/redis/redis.mk b/package/redis/redis.mk index 2680b11b7..7eb30abc4 100644 --- a/package/redis/redis.mk +++ b/package/redis/redis.mk @@ -4,7 +4,7 @@ # ################################################################################ -REDIS_VERSION = 7.2.4 +REDIS_VERSION = 7.2.7 REDIS_SITE = http://download.redis.io/releases REDIS_LICENSE = BSD-3-Clause (core); MIT and BSD family licenses (Bundled components) REDIS_LICENSE_FILES = COPYING diff --git a/package/rlwrap/Config.in b/package/rlwrap/Config.in index 4e18dfde5..a8afc3b5f 100644 --- a/package/rlwrap/Config.in +++ b/package/rlwrap/Config.in @@ -18,7 +18,7 @@ config BR2_PACKAGE_RLWRAP_SPY_ON_READLINE If we want to keep the display tidy when re-sizing the terminal window or printing multi-line prompts, we have to know whether or not readline is in horizontal-scroll-mode - (i.e. wheter long lines are scrolled or wrapped). At present, + (i.e. whether long lines are scrolled or wrapped). At present, this involves a look at a private readline variable - if you feel guilty about that, disable this option diff --git a/package/rp-pppoe/rp-pppoe.mk b/package/rp-pppoe/rp-pppoe.mk index f50f1e5a1..75f229044 100644 --- a/package/rp-pppoe/rp-pppoe.mk +++ b/package/rp-pppoe/rp-pppoe.mk @@ -5,7 +5,7 @@ ################################################################################ RP_PPPOE_VERSION = 3.15 -RP_PPPOE_SITE = https://dianne.skoll.ca/projects/rp-pppoe/download +RP_PPPOE_SITE = https://downloads.uls.co.za/rp-pppoe RP_PPPOE_LICENSE = GPL-2.0 RP_PPPOE_LICENSE_FILES = doc/LICENSE RP_PPPOE_CPE_ID_VALID = YES diff --git a/package/rpi-firmware/Config.in b/package/rpi-firmware/Config.in index a9aeaed74..f99c116ca 100644 --- a/package/rpi-firmware/Config.in +++ b/package/rpi-firmware/Config.in @@ -66,14 +66,14 @@ config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_DB config BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE string "Path to a file stored as boot/config.txt" help - Path to a file stored as config.txt in the boot partiton + Path to a file stored as config.txt in the boot partition of the generated SD card image. config BR2_PACKAGE_RPI_FIRMWARE_CMDLINE_FILE string "Path to a file stored as boot/cmdline.txt" default "board/raspberrypi/cmdline.txt" # legacy help - Path to a file stored as cmdline.txt in the boot partiton + Path to a file stored as cmdline.txt in the boot partition of the generated SD card image. config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS diff --git a/package/rsync/0001-Check-for-EVP_MD_CTX_copy-in-crypto-lib-instead-of-MD5_Init.patch b/package/rsync/0001-Check-for-EVP_MD_CTX_copy-in-crypto-lib-instead-of-MD5_Init.patch deleted file mode 100644 index 538115996..000000000 --- a/package/rsync/0001-Check-for-EVP_MD_CTX_copy-in-crypto-lib-instead-of-MD5_Init.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 556a2c5bc2f6244f140a96302d4df92cfc25af8b Mon Sep 17 00:00:00 2001 -From: Wayne Davison -Date: Tue, 25 Oct 2022 21:55:53 -0700 -Subject: [PATCH] Check for EVP_MD_CTX_copy in crypto lib instead of MD5_Init. - -Upstream: https://github.com/WayneD/rsync/commit/556a2c5bc2f6244f140a96302d4df92cfc25af8b -Signed-off-by: Fabrice Fontaine ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index a2c99558..ccad7f13 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -432,10 +432,10 @@ AH_TEMPLATE([USE_OPENSSL], - if test x"$enable_openssl" != x"no"; then - if test x"$ac_cv_header_openssl_md4_h" = x"yes" && test x"$ac_cv_header_openssl_md5_h" = x"yes"; then - AC_MSG_RESULT(yes) -- AC_SEARCH_LIBS(MD5_Init, crypto, -+ AC_SEARCH_LIBS(EVP_MD_CTX_copy, crypto, - [AC_DEFINE(USE_OPENSSL) - enable_openssl=yes], -- [err_msg="$err_msg$nl- Failed to find MD5_Init function in openssl crypto lib."; -+ [err_msg="$err_msg$nl- Failed to find EVP_MD_CTX_copy function in openssl crypto lib."; - no_lib="$no_lib openssl"]) - else - AC_MSG_RESULT(no) diff --git a/package/rsync/0002-configure.ac-use-pkg-config-to-retrieve-openssl-depe.patch b/package/rsync/0001-configure.ac-use-pkg-config-to-retrieve-openssl-depe.patch similarity index 100% rename from package/rsync/0002-configure.ac-use-pkg-config-to-retrieve-openssl-depe.patch rename to package/rsync/0001-configure.ac-use-pkg-config-to-retrieve-openssl-depe.patch diff --git a/package/rsync/rsync.hash b/package/rsync/rsync.hash index 842b5c099..5feacd066 100644 --- a/package/rsync/rsync.hash +++ b/package/rsync/rsync.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://rsync.samba.org/ftp/rsync/src/rsync-3.2.7.tar.gz.asc -sha256 4e7d9d3f6ed10878c58c5fb724a67dacf4b6aac7340b13e488fb2dc41346f2bb rsync-3.2.7.tar.gz +# https://rsync.samba.org/ftp/rsync/src/rsync-3.4.1.tar.gz.asc +sha256 2924bcb3a1ed8b551fc101f740b9f0fe0a202b115027647cf69850d65fd88c52 rsync-3.4.1.tar.gz # Locally calculated sha256 85c19ea50a224c2d0067a69c083584e5717b40b76610ec1218f91385775067dd COPYING diff --git a/package/rsync/rsync.mk b/package/rsync/rsync.mk index b9d392c8c..e4c02a756 100644 --- a/package/rsync/rsync.mk +++ b/package/rsync/rsync.mk @@ -4,7 +4,7 @@ # ################################################################################ -RSYNC_VERSION = 3.2.7 +RSYNC_VERSION = 3.4.1 RSYNC_SITE = https://rsync.samba.org/ftp/rsync/src RSYNC_LICENSE = GPL-3.0+ with exceptions RSYNC_LICENSE_FILES = COPYING diff --git a/package/rt-tests/rt-tests.mk b/package/rt-tests/rt-tests.mk index 8ad4215ee..5c983d6bb 100644 --- a/package/rt-tests/rt-tests.mk +++ b/package/rt-tests/rt-tests.mk @@ -4,7 +4,7 @@ # ################################################################################ -RT_TESTS_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/rt-tests +RT_TESTS_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/rt-tests/older RT_TESTS_SOURCE = rt-tests-$(RT_TESTS_VERSION).tar.xz RT_TESTS_VERSION = 2.5 RT_TESTS_LICENSE = GPL-2.0+ diff --git a/package/rtl8189fs/rtl8189fs.hash b/package/rtl8189fs/rtl8189fs.hash index e3d63ac4b..2746194f4 100644 --- a/package/rtl8189fs/rtl8189fs.hash +++ b/package/rtl8189fs/rtl8189fs.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 c92e1d800258665835922c1e927708f7a0477a1cbb281dc98ba5d33d5e3271ee rtl8189fs-5d523593f41c0b8d723c6aa86b217ee1d0965786.tar.gz +sha256 b28c15f4631f4151ea6fca96d59aec931766af49ccb7a0d5e1080fc41a323713 rtl8189fs-eb51e021b0e1b6f94a4b49da3f4ee5c5fb20b715.tar.gz diff --git a/package/rtl8189fs/rtl8189fs.mk b/package/rtl8189fs/rtl8189fs.mk index 86a2ac734..174bb346c 100644 --- a/package/rtl8189fs/rtl8189fs.mk +++ b/package/rtl8189fs/rtl8189fs.mk @@ -4,7 +4,7 @@ # ################################################################################ -RTL8189FS_VERSION = 5d523593f41c0b8d723c6aa86b217ee1d0965786 +RTL8189FS_VERSION = eb51e021b0e1b6f94a4b49da3f4ee5c5fb20b715 RTL8189FS_SITE = $(call github,jwrdegoede,rtl8189ES_linux,$(RTL8189FS_VERSION)) RTL8189FS_LICENSE = GPL-2.0 diff --git a/package/ruby/ruby.hash b/package/ruby/ruby.hash index c729c5945..d6622909e 100644 --- a/package/ruby/ruby.hash +++ b/package/ruby/ruby.hash @@ -1,5 +1,5 @@ -# https://www.ruby-lang.org/en/news/2023/12/25/ruby-3-3-0-released/ -sha512 7959c5753bfa0bfc4d6d74060869aabbe9815c1c97930659da11b917ee0803ddbbd80e869e00c48b8694b4ba48709c3b6493fd045568e36e902616c35ababf01 ruby-3.3.0.tar.xz +# https://www.ruby-lang.org/en/news/2024/09/03/3-3-5-released/ +sha512 dd5c6a7f74854e143e0ca46b9d7c0d1983fc4886f5f733cd108345dbf4b21f61ad978ad6806e05a57b7af28fd9216dd38d7145808188bbb3695a7f3a4eda3883 ruby-3.3.5.tar.xz # License files, Locally calculated sha256 e849b28d324423e636a3e6bc5d583cdaf4bd046c2b20872c53886b612d01a4a1 LEGAL diff --git a/package/ruby/ruby.mk b/package/ruby/ruby.mk index 4b9ce80e6..2e04cb3e9 100644 --- a/package/ruby/ruby.mk +++ b/package/ruby/ruby.mk @@ -5,7 +5,7 @@ ################################################################################ RUBY_VERSION_MAJOR = 3.3 -RUBY_VERSION = $(RUBY_VERSION_MAJOR).0 +RUBY_VERSION = $(RUBY_VERSION_MAJOR).5 RUBY_VERSION_EXT = 3.3.0 RUBY_SITE = http://cache.ruby-lang.org/pub/ruby/$(RUBY_VERSION_MAJOR) RUBY_SOURCE = ruby-$(RUBY_VERSION).tar.xz @@ -20,7 +20,7 @@ RUBY_LICENSE_FILES = LEGAL COPYING BSDL RUBY_CPE_ID_VENDOR = ruby-lang RUBY_DEPENDENCIES = host-pkgconf host-ruby -HOST_RUBY_DEPENDENCIES = host-pkgconf host-openssl +HOST_RUBY_DEPENDENCIES = host-libyaml host-pkgconf host-openssl RUBY_MAKE_ENV = $(TARGET_MAKE_ENV) RUBY_CONF_OPTS = \ --disable-install-doc \ diff --git a/package/samba4/samba4.hash b/package/samba4/samba4.hash index 4e74e07bd..f8f0713dd 100644 --- a/package/samba4/samba4.hash +++ b/package/samba4/samba4.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -# https://download.samba.org/pub/samba/stable/samba-4.19.5.tar.asc -sha256 0e2405b4cec29d0459621f4340a1a74af771ec7cffedff43250cad7f1f87605e samba-4.19.5.tar.gz +# https://download.samba.org/pub/samba/stable/samba-4.19.9.tar.asc +sha256 71ed406444714c90bb9d36c576d807b67af15449f297e91106d42b3ca2fa5549 samba-4.19.9.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/samba4/samba4.mk b/package/samba4/samba4.mk index 0980d0317..453a5ade3 100644 --- a/package/samba4/samba4.mk +++ b/package/samba4/samba4.mk @@ -4,7 +4,7 @@ # ################################################################################ -SAMBA4_VERSION = 4.19.5 +SAMBA4_VERSION = 4.19.9 SAMBA4_SITE = https://download.samba.org/pub/samba/stable SAMBA4_SOURCE = samba-$(SAMBA4_VERSION).tar.gz SAMBA4_INSTALL_STAGING = YES diff --git a/package/sdbus-cpp/0001-fix-add-missing-algorithm-header-include-380.patch b/package/sdbus-cpp/0001-fix-add-missing-algorithm-header-include-380.patch new file mode 100644 index 000000000..7778408d6 --- /dev/null +++ b/package/sdbus-cpp/0001-fix-add-missing-algorithm-header-include-380.patch @@ -0,0 +1,30 @@ +From f50e4676fe9289eec0744efae2216aa8795fa461 Mon Sep 17 00:00:00 2001 +From: Alfred Wingate +Date: Thu, 16 Nov 2023 21:26:42 +0000 +Subject: [PATCH] fix: add missing algorithm header include (#380) + +* https://gcc.gnu.org/gcc-14/porting_to.html + +Using gcc 14 uncovers a missing include in Message.h + +Signed-off-by: Alfred Wingate +Upstream: https://github.com/Kistler-Group/sdbus-cpp/commit/f50e4676fe9289eec0744efae2216aa8795fa461 +--- + include/sdbus-c++/Message.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/sdbus-c++/Message.h b/include/sdbus-c++/Message.h +index 915a071..9c85c01 100644 +--- a/include/sdbus-c++/Message.h ++++ b/include/sdbus-c++/Message.h +@@ -42,6 +42,7 @@ + #include + #include + #include ++#include + + // Forward declarations + namespace sdbus { +-- +2.48.1 + diff --git a/package/selinux-python/0001-python-sepolgen-fix-ausearch-path.patch b/package/selinux-python/0001-python-sepolgen-fix-ausearch-path.patch index 31c5013d6..7a1cf9b38 100644 --- a/package/selinux-python/0001-python-sepolgen-fix-ausearch-path.patch +++ b/package/selinux-python/0001-python-sepolgen-fix-ausearch-path.patch @@ -19,7 +19,7 @@ tools are only ever going to run on a Linux host (by their virtue of dealing with SELinux), so the search will be reliably done by looking in PATH, so we can let Popen() bubble the resolving of an unqualified command, down to execvpe() (or the similar actual syscall of the exec*() -familly). If ausearch is then not found, Popen() raises an exception +family). If ausearch is then not found, Popen() raises an exception that is wy more informative then: FileNotFoundError: [Errno 2] No such file or directory: 'ausearch' diff --git a/package/sentry-cli/sentry-cli.mk b/package/sentry-cli/sentry-cli.mk index df419f81e..3ddf5e44f 100644 --- a/package/sentry-cli/sentry-cli.mk +++ b/package/sentry-cli/sentry-cli.mk @@ -9,6 +9,6 @@ SENTRY_CLI_SITE = $(call github,getsentry,sentry-cli,$(SENTRY_CLI_VERSION)) SENTRY_CLI_LICENSE = BSD-3-clause SENTRY_CLI_LICENSE_FILES = LICENSE -HOST_SENTRY_CLI_DEPENDENCIES = host-zlib +HOST_SENTRY_CLI_DEPENDENCIES = host-pkgconf host-openssl host-zlib $(eval $(host-cargo-package)) diff --git a/package/sentry-native/Config.in b/package/sentry-native/Config.in index 7a3cbd36a..88db2779f 100644 --- a/package/sentry-native/Config.in +++ b/package/sentry-native/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_SENTRY_NATIVE bool "sentry-native" depends on BR2_INSTALL_LIBSTDCPP # google-breakpad - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # google-breakpad + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # google-breakpad depends on BR2_USE_WCHAR # google-breakpad depends on BR2_TOOLCHAIN_HAS_THREADS # google-breakpad # google-breakpad is restricted to glibc or uClibc, but @@ -19,10 +19,10 @@ config BR2_PACKAGE_SENTRY_NATIVE https://github.com/getsentry/sentry-native -comment "sentry-native needs a glibc toolchain with w/ wchar, thread, C++, gcc >= 4.8" +comment "sentry-native needs a glibc toolchain with w/ wchar, threads, C++, gcc >= 7" depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_TOOLCHAIN_USES_GLIBC || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + !BR2_TOOLCHAIN_GCC_AT_LEAST_7 diff --git a/package/shadow/shadow.mk b/package/shadow/shadow.mk index 1e7ada614..ce17ffc7a 100644 --- a/package/shadow/shadow.mk +++ b/package/shadow/shadow.mk @@ -10,6 +10,8 @@ SHADOW_SOURCE = shadow-$(SHADOW_VERSION).tar.xz SHADOW_LICENSE = BSD-3-Clause SHADOW_LICENSE_FILES = COPYING SHADOW_CPE_ID_VENDOR = debian +SHADOW_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) +SHADOW_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) SHADOW_CONF_OPTS = \ --disable-man \ diff --git a/package/skeleton-init-systemd/fakeroot_tmpfiles.sh b/package/skeleton-init-systemd/fakeroot_tmpfiles.sh index 9498638f0..8c28ccfa1 100755 --- a/package/skeleton-init-systemd/fakeroot_tmpfiles.sh +++ b/package/skeleton-init-systemd/fakeroot_tmpfiles.sh @@ -16,7 +16,7 @@ # such an specifier to prevent leaking host information. # # shell expansion is critical to be POSIX compliant, -# this script wont work with zsh in its default mode for example. +# this script won't work with zsh in its default mode for example. # # The script takes several measures to handle more complex stuff # like passing this correctly: diff --git a/package/skeleton-init-sysv/skeleton/etc/fstab b/package/skeleton-init-sysv/skeleton/etc/fstab index 169054b74..06c20fe9d 100644 --- a/package/skeleton-init-sysv/skeleton/etc/fstab +++ b/package/skeleton-init-sysv/skeleton/etc/fstab @@ -2,7 +2,7 @@ /dev/root / ext2 rw,noauto 0 1 proc /proc proc defaults 0 0 devpts /dev/pts devpts defaults,gid=5,mode=620,ptmxmode=0666 0 0 -tmpfs /dev/shm tmpfs mode=0777 0 0 +tmpfs /dev/shm tmpfs mode=1777 0 0 tmpfs /tmp tmpfs mode=1777 0 0 tmpfs /run tmpfs mode=0755,nosuid,nodev 0 0 sysfs /sys sysfs defaults 0 0 diff --git a/package/skeleton/skeleton.mk b/package/skeleton/skeleton.mk index 4eaaf32ea..595089ed4 100644 --- a/package/skeleton/skeleton.mk +++ b/package/skeleton/skeleton.mk @@ -20,7 +20,7 @@ define HOST_SKELETON_INSTALL_CMDS $(Q)mkdir -p $(HOST_DIR)/lib $(Q)mkdir -p $(HOST_DIR)/include $(Q)case $(HOSTARCH) in \ - (*64) ln -snf lib $(HOST_DIR)/lib64;; \ + (*64|s390x) ln -snf lib $(HOST_DIR)/lib64;; \ (*) ln -snf lib $(HOST_DIR)/lib32;; \ esac endef diff --git a/package/slirp/Config.in b/package/slirp/Config.in index 38fd5277a..57058dcd3 100644 --- a/package/slirp/Config.in +++ b/package/slirp/Config.in @@ -12,8 +12,8 @@ config BR2_PACKAGE_SLIRP NOTE: This package has some history of a unique kind: - - originally developped as 'slirp' by Danny Gasparovski, and - seemingly abandonned (developper /disapeared/) + - originally developed as 'slirp' by Danny Gasparovski, and + seemingly abandoned (developer /disappeared/) - then re-maintained at sourceforge by "Kelly", up to some time around 2009: http://slirp.sourceforge.net/ - during that period, QEMU (Fabrice BELLARD) forked the code diff --git a/package/smcroute/smcroute.hash b/package/smcroute/smcroute.hash index b472dfbc0..d51745c07 100644 --- a/package/smcroute/smcroute.hash +++ b/package/smcroute/smcroute.hash @@ -1,5 +1,4 @@ -# Hash from https://github.com/troglobit/smcroute/releases/download/2.5.6/smcroute-2.5.6.tar.gz.sha256 -sha256 0be38f617e322daafaa941c02423239f5c117b940cf0f45bacadb6733c4b3916 smcroute-2.5.6.tar.gz - +# Hash from https://github.com/troglobit/smcroute/releases/ generated by GitHub +sha256 7d2c83e11908fe37844fa9b49ae50924555c4e1bb440fb059a95c94e442ea8a5 smcroute-2.5.7.tar.gz # Locally generated sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/smcroute/smcroute.mk b/package/smcroute/smcroute.mk index 0c4f88ab1..f8866f667 100644 --- a/package/smcroute/smcroute.mk +++ b/package/smcroute/smcroute.mk @@ -4,7 +4,7 @@ # ################################################################################ -SMCROUTE_VERSION = 2.5.6 +SMCROUTE_VERSION = 2.5.7 SMCROUTE_SITE = https://github.com/troglobit/smcroute/releases/download/$(SMCROUTE_VERSION) SMCROUTE_LICENSE = GPL-2.0+ SMCROUTE_LICENSE_FILES = COPYING @@ -30,7 +30,7 @@ endef SMCROUTE_POST_INSTALL_TARGET_HOOKS += SMCROUTE_PRUNE_COMPAT_SCRIPT -# We will asume that CONFIG_NET and CONFIG_INET are already +# We will assume that CONFIG_NET and CONFIG_INET are already # set in the kernel configuration provided by the user. define SMCROUTE_LINUX_CONFIG_FIXUPS $(call KCONFIG_ENABLE_OPT,CONFIG_IP_MULTICAST) diff --git a/package/snappy/0001-Fix-compilation-error-raised-by-vqtbl1q_u8-instructi.patch b/package/snappy/0001-Fix-compilation-error-raised-by-vqtbl1q_u8-instructi.patch new file mode 100644 index 000000000..b10ea7ecd --- /dev/null +++ b/package/snappy/0001-Fix-compilation-error-raised-by-vqtbl1q_u8-instructi.patch @@ -0,0 +1,52 @@ +From 284d5a6f267d4962b2b88540f218c10740a6c053 Mon Sep 17 00:00:00 2001 +From: Dario Binacchi +Date: Sat, 8 Jun 2024 18:42:16 +0200 +Subject: [PATCH] Fix compilation error raised by vqtbl1q_u8 instruction +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The compilation in Buildroot for the raspberrypi3_qt5we_defconfig +configuration: + +make raspberrypi3_qt5we_defconfig +make + +raises the following error: + +In file included from buildroot/output/build/snappy-1.2.1/snappy.cc:29: +buildroot/output/build/snappy-1.2.1/snappy-internal.h: In function ‘snappy::internal::V128 snappy::internal::V128_Shuffle(V128, V128)’: +buildroot/output/build/snappy-1.2.1/snappy-internal.h:109:10: error: ‘vqtbl1q_u8’ was not declared in this scope; did you mean ‘vtbl1_u8’? + 109 | return vqtbl1q_u8(input, shuffle_mask); + | ^~~~~~~~~~ + | vtbl1_u8 +make[4]: *** [CMakeFiles/snappy.dir/build.make:118: CMakeFiles/snappy.dir/snappy.cc.o] Error 1 + +As reported by [1], the vqtbl1q_u8 instruction is supported by A64 +architectures. For this reason, the patch enables the use of the +instruction only for NEON of such architecture. + +[1] https://developer.arm.com/architectures/instruction-sets/intrinsics/vqtbl1q_u8 + +Signed-off-by: Dario Binacchi +Upstream: https://github.com/google/snappy/pull/185 +--- + snappy-internal.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/snappy-internal.h b/snappy-internal.h +index ae78247dbbc9..256d32344d1a 100644 +--- a/snappy-internal.h ++++ b/snappy-internal.h +@@ -46,7 +46,7 @@ + #include + #endif + +-#if SNAPPY_HAVE_SSSE3 || SNAPPY_HAVE_NEON ++#if SNAPPY_HAVE_SSSE3 || (SNAPPY_HAVE_NEON && defined(__aarch64__)) + #define SNAPPY_HAVE_VECTOR_BYTE_SHUFFLE 1 + #else + #define SNAPPY_HAVE_VECTOR_BYTE_SHUFFLE 0 +-- +2.43.0 + diff --git a/package/socat/socat.hash b/package/socat/socat.hash index 2a14d7530..136dce4a7 100644 --- a/package/socat/socat.hash +++ b/package/socat/socat.hash @@ -1,8 +1,8 @@ # From http://www.dest-unreach.org/socat/download.md5sum -md5 51f9ecdf5d942d0a3c150ea400eb89ef socat-1.8.0.0.tar.bz2 +md5 7272fe53d51c63ca0e08e0339681803a socat-1.8.0.2.tar.bz2 # From http://www.dest-unreach.org/socat/download.sha256sum -sha256 e1de683dd22ee0e3a6c6bbff269abe18ab0c9d7eb650204f125155b9005faca7 socat-1.8.0.0.tar.bz2 +sha256 adc07a9c2723527cf6568d2fb96559794cf9c254a4bc2edd36f7f3789e9f7625 socat-1.8.0.2.tar.bz2 # Locally calculated -sha256 de9d702354b2e748ea87eb20d18c3d90ebede5dc6d2fc3c2e0645d139a5181bc README +sha256 a18cf021c6380e8ef212c7a95460aff2d96fe9e2146bb09058651bc3b86f4d43 README sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 fd9e48ca316a5032069b9521f4f4b4d9b1c60365012bae1e62286bcd5bd2e761 COPYING.OpenSSL diff --git a/package/socat/socat.mk b/package/socat/socat.mk index 1e2880c02..aa9a94aec 100644 --- a/package/socat/socat.mk +++ b/package/socat/socat.mk @@ -4,7 +4,7 @@ # ################################################################################ -SOCAT_VERSION = 1.8.0.0 +SOCAT_VERSION = 1.8.0.2 SOCAT_SOURCE = socat-$(SOCAT_VERSION).tar.bz2 SOCAT_SITE = http://www.dest-unreach.org/socat/download SOCAT_LICENSE = GPL-2.0 with OpenSSL exception @@ -36,7 +36,7 @@ endif # automake, so we can't use the normal autoreconf logic. SOCAT_DEPENDENCIES = host-autoconf -# incompatibile license (GPL-3.0+) +# incompatible license (GPL-3.0+) SOCAT_CONF_OPTS = --disable-readline ifeq ($(BR2_PACKAGE_LIBOPENSSL):$(BR2_STATIC_LIBS),y:) diff --git a/package/sofia-sip/0001-Fix-incompatible-pointer-type-in-sip_basic-c.patch b/package/sofia-sip/0001-Fix-incompatible-pointer-type-in-sip_basic-c.patch new file mode 100644 index 000000000..7f890fd27 --- /dev/null +++ b/package/sofia-sip/0001-Fix-incompatible-pointer-type-in-sip_basic-c.patch @@ -0,0 +1,27 @@ +From 46b02f0655af0a9594e805f09a8ee99278f84777 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tomi=20L=C3=A4hteenm=C3=A4ki?= +Date: Mon, 19 Feb 2024 09:06:20 +0200 +Subject: [PATCH] Fix incompatible pointer type in sip_basic.c + +Closes #248 + +Upstream: https://github.com/freeswitch/sofia-sip/pull/249 + +Signed-off-by: Bernd Kuhls +--- + libsofia-sip-ua/sip/sip_basic.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libsofia-sip-ua/sip/sip_basic.c b/libsofia-sip-ua/sip/sip_basic.c +index 3444fb25..82e824e3 100644 +--- a/libsofia-sip-ua/sip/sip_basic.c ++++ b/libsofia-sip-ua/sip/sip_basic.c +@@ -2901,7 +2901,7 @@ issize_t sip_identity_d(su_home_t *home, sip_header_t *h, char *s, isize_t slen) + ext = strchr(ppt, ';'); + + if (ext) { +- msg_param_t *params = su_alloc(home, sizeof(msg_param_t)); ++ msg_param_t const *params = su_alloc(home, sizeof(msg_param_t)); + if (msg_params_d(home, &ext, ¶ms) >= 0) { + id->id_info_params = params; + } diff --git a/package/sofia-sip/0002-fix-static-build-with-openssl-3.2.0.patch b/package/sofia-sip/0002-fix-static-build-with-openssl-3.2.0.patch new file mode 100644 index 000000000..03b17bcbb --- /dev/null +++ b/package/sofia-sip/0002-fix-static-build-with-openssl-3.2.0.patch @@ -0,0 +1,109 @@ +From 145f80df25d23492ed3aa01b3750d7c002964332 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 5 Jan 2024 23:15:00 +0100 +Subject: [PATCH] fix static build with openssl >= 3.2.0 + +Rename tls_free into sofia_sip_tls_free as openssl also defines tls_free +since version 3.2.0 and +https://github.com/openssl/openssl/commit/1853d20a008a85d327f4faa9e07be40a85549f8e +resulting in the following static build failure: + +/home/autobuild/autobuild/instance-12/output-1/host/lib/gcc/powerpc-buildroot-linux-uclibcspe/8.4.0/../../../../powerpc-buildroot-linux-uclibcspe/bin/ld: /home/autobuild/autobuild/instance-12/output-1/host/bin/../powerpc-buildroot-linux-uclibcspe/sysroot/usr/lib/libssl.a(libssl-lib-tls_common.o): in function `tls_free': +tls_common.c:(.text+0x808): multiple definition of `tls_free'; ../libsofia-sip-ua/.libs/libsofia-sip-ua.a(tport_tls.o):tport_tls.c:(.text+0x1128): first defined here + +Fixes: + - http://autobuild.buildroot.org/results/ee862bdafd44c8c56f77e2702ee0a7462634fa0b + +Upstream: https://github.com/freeswitch/sofia-sip/pull/240 + +Signed-off-by: Fabrice Fontaine +--- + libsofia-sip-ua/tport/tport_tls.c | 10 +++++----- + libsofia-sip-ua/tport/tport_tls.h | 2 +- + libsofia-sip-ua/tport/tport_type_tls.c | 4 ++-- + 3 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/libsofia-sip-ua/tport/tport_tls.c b/libsofia-sip-ua/tport/tport_tls.c +index a17186de..0739c93f 100644 +--- a/libsofia-sip-ua/tport/tport_tls.c ++++ b/libsofia-sip-ua/tport/tport_tls.c +@@ -460,7 +460,7 @@ int tls_init_context(tls_t *tls, tls_issues_t const *ti) + return 0; + } + +-void tls_free(tls_t *tls) ++void sofia_sip_tls_free(tls_t *tls) + { + int ret; + if (!tls) +@@ -473,7 +473,7 @@ void tls_free(tls_t *tls) + /* The return value -1 means that the connection wasn't actually established */ + /* so it should be safe to not call shutdown again. We need to clear the eror */ + /* queue for other connections though. */ +- tls_log_errors(3, "tls_free", 0); ++ tls_log_errors(3, "sofia_sip_tls_free", 0); + ret = 1; + } + } while (ret != 1); +@@ -514,7 +514,7 @@ tls_t *tls_init_master(tls_issues_t *ti) + + if (tls_init_context(tls, ti) < 0) { + int err = errno; +- tls_free(tls); ++ sofia_sip_tls_free(tls); + errno = err; + return NULL; + } +@@ -544,7 +544,7 @@ tls_t *tls_init_master(tls_issues_t *ti) + + if (tls->bio_con == NULL) { + tls_log_errors(1, "tls_init_master", 0); +- tls_free(tls); ++ sofia_sip_tls_free(tls); + errno = EIO; + return NULL; + } +@@ -581,7 +581,7 @@ tls_t *tls_init_secondary(tls_t *master, int sock, int accept) + + if (tls->con == NULL) { + tls_log_errors(1, "tls_init_secondary", 0); +- tls_free(tls); ++ sofia_sip_tls_free(tls); + errno = EIO; + return NULL; + } +diff --git a/libsofia-sip-ua/tport/tport_tls.h b/libsofia-sip-ua/tport/tport_tls.h +index e8d04a14..3a5fde22 100644 +--- a/libsofia-sip-ua/tport/tport_tls.h ++++ b/libsofia-sip-ua/tport/tport_tls.h +@@ -81,7 +81,7 @@ typedef struct tport_tls_primary_s { + + tls_t *tls_init_master(tls_issues_t *tls_issues); + tls_t *tls_init_secondary(tls_t *tls_master, int sock, int accept); +-void tls_free(tls_t *tls); ++void sofia_sip_tls_free(tls_t *tls); + int tls_get_socket(tls_t *tls); + void tls_log_errors(unsigned level, char const *s, unsigned long e); + ssize_t tls_read(tls_t *tls); +diff --git a/libsofia-sip-ua/tport/tport_type_tls.c b/libsofia-sip-ua/tport/tport_type_tls.c +index e030e706..fa72eed8 100644 +--- a/libsofia-sip-ua/tport/tport_type_tls.c ++++ b/libsofia-sip-ua/tport/tport_type_tls.c +@@ -276,7 +276,7 @@ static int tport_tls_init_master(tport_primary_t *pri, + static void tport_tls_deinit_primary(tport_primary_t *pri) + { + tport_tls_primary_t *tlspri = (tport_tls_primary_t *)pri; +- tls_free(tlspri->tlspri_master), tlspri->tlspri_master = NULL; ++ sofia_sip_tls_free(tlspri->tlspri_master), tlspri->tlspri_master = NULL; + } + + static int tport_tls_init_secondary(tport_t *self, int socket, int accepted, +@@ -303,7 +303,7 @@ static void tport_tls_deinit_secondary(tport_t *self) + + /* XXX - PPe: does the tls_shutdown zap everything but socket? */ + if (tlstp->tlstp_context != NULL) +- tls_free(tlstp->tlstp_context); ++ sofia_sip_tls_free(tlstp->tlstp_context); + tlstp->tlstp_context = NULL; + + su_free(self->tp_home, tlstp->tlstp_buffer); diff --git a/package/softether/0003-use-fhs-install-directories.patch b/package/softether/0003-use-fhs-install-directories.patch index ba00d9b67..f3da52c44 100644 --- a/package/softether/0003-use-fhs-install-directories.patch +++ b/package/softether/0003-use-fhs-install-directories.patch @@ -7,8 +7,8 @@ Install to `/usr/sbin`, `/usr/lib`, and `/var/lib` according to the Linux filesystem hierarchy standard if SoftEther is built through autotools. In a managed installation, the FHS stipulates that the application must -accomodate a read-only installation path. This requires a new `GetStateDir` -function that substitues `GetExeDir` in some parts of the code. +accommodate a read-only installation path. This requires a new `GetStateDir` +function that substitutes `GetExeDir` in some parts of the code. Taken from Github at https://github.com/dajhorn/SoftEtherVPN/commit/b9420c3bfc2a8b9d35d0c8e5f6849007c2bc21fa. diff --git a/package/speechd/speechd.mk b/package/speechd/speechd.mk index 7d50f88c1..669bec063 100644 --- a/package/speechd/speechd.mk +++ b/package/speechd/speechd.mk @@ -8,6 +8,7 @@ SPEECHD_VERSION = 0.11.5 SPEECHD_SITE = $(call github,brailcom,speechd,$(SPEECHD_VERSION)) SPEECHD_LICENSE = GPL-2.0+, GPL-3.0+ (buildsystem), LGPL-2.1+ SPEECHD_LICENSE_FILES = COPYING.GPL-2 COPYING.GPL-3 COPYING.LGPL +SPEECHD_CPE_ID_VENDOR = brailcom SPEECHD_INSTALL_STAGING = YES # speechd source code is released without configure script SPEECHD_AUTORECONF = YES diff --git a/package/speex/Config.in b/package/speex/Config.in index c4e3df5dc..134e6e4b3 100644 --- a/package/speex/Config.in +++ b/package/speex/Config.in @@ -18,6 +18,7 @@ config BR2_PACKAGE_SPEEX_ARM4 config BR2_PACKAGE_SPEEX_ARM5E bool default y - depends on BR2_arm && !BR2_PACKAGE_SPEEX_ARM4 + depends on BR2_arm && BR2_ARM_CPU_HAS_ARM && \ + !BR2_PACKAGE_SPEEX_ARM4 endif diff --git a/package/spice/0001-server-add-SSL_OP_NO_RENEGOTIATION-fallback-path.patch b/package/spice/0001-server-add-SSL_OP_NO_RENEGOTIATION-fallback-path.patch new file mode 100644 index 000000000..edb8b2ed1 --- /dev/null +++ b/package/spice/0001-server-add-SSL_OP_NO_RENEGOTIATION-fallback-path.patch @@ -0,0 +1,43 @@ +From 5e580eefac44d0c709afcf93eb5fca2fb353166a Mon Sep 17 00:00:00 2001 +From: orbea +Date: Fri, 26 May 2023 13:38:34 -0700 +Subject: [PATCH] server: add SSL_OP_NO_RENEGOTIATION fallback path + +With LibreSSL SSL_OP_NO_CLIENT_RENEGOTIATION is opaque which is not +compatible with the OpenSSL 1.0.2 and earlier code path in +red-stream.cpp while SSL_OP_NO_RENEGOTIATION is not yet defined for the +newer OpenSSL code path in reds.cpp. + +So with OpenSSL 1.1.0 and later if SSL_OP_NO_RENEGOTIATION is undefined +and SSL_OP_NO_CLIENT_RENEGOTIATION is defined then define the former as +the latter. This will allow the build to succeed with LibreSSL 3.7.2 and +in the future when newer LibreSSL versions add SSL_OP_NO_RENEGOTIATION +that code path will then be used automatically. + +Signed-off-by: orbea +Acked-by: Frediano Ziglio + +Upstream: https://gitlab.freedesktop.org/spice/spice/-/commit/5e580eefac44d0c709afcf93eb5fca2fb353166a +Signed-off-by: Fabrice Fontaine +--- + server/red-stream.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/server/red-stream.h b/server/red-stream.h +index 716e93317..8e57c5e5e 100644 +--- a/server/red-stream.h ++++ b/server/red-stream.h +@@ -25,6 +25,10 @@ + + SPICE_BEGIN_DECLS + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(SSL_OP_NO_RENEGOTIATION) && defined(SSL_OP_NO_CLIENT_RENEGOTIATION) ++#define SSL_OP_NO_RENEGOTIATION SSL_OP_NO_CLIENT_RENEGOTIATION ++#endif ++ + typedef void (*AsyncReadDone)(void *opaque); + typedef void (*AsyncReadError)(void *opaque, int err); + +-- +GitLab + diff --git a/package/sqlite/Config.in b/package/sqlite/Config.in index 0ae9878d7..ce1e369b2 100644 --- a/package/sqlite/Config.in +++ b/package/sqlite/Config.in @@ -20,7 +20,7 @@ config BR2_PACKAGE_SQLITE_ENABLE_COLUMN_METADATA bool "Enable convenient access to meta-data about tables and queries" help When this option is defined there are some additional APIs - enabled to acces meta-data about tables and queries (see + enabled to access meta-data about tables and queries (see https://sqlite.org/compile.html). config BR2_PACKAGE_SQLITE_ENABLE_FTS3 diff --git a/package/squid/squid.hash b/package/squid/squid.hash index 4a8ea5d55..e0dede862 100644 --- a/package/squid/squid.hash +++ b/package/squid/squid.hash @@ -1,6 +1,6 @@ -# From http://www.squid-cache.org/Versions/v6/squid-6.6.tar.xz.asc -md5 5a41134ee1b7e75f62088acdec92d2ca squid-6.6.tar.xz -sha1 f05e06a9dd3bf7501d2844e43d9ae1bd00e9edcc squid-6.6.tar.xz +# From http://www.squid-cache.org/Versions/v6/squid-6.10.tar.xz.asc +md5 86deefa7282c4388be95260aa4d4cf6a squid-6.10.tar.xz +sha1 70e90865df0e4e9ba7765b622da40bda9bb8fc5d squid-6.10.tar.xz # Locally calculated -sha256 55bd7f9f4898153161ea1228998acb551bf840832b9e5b90fc8ecd2942420318 squid-6.6.tar.xz +sha256 0b07b187e723f04770dd25beb89aec12030a158696aa8892d87c8b26853408a7 squid-6.10.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/squid/squid.mk b/package/squid/squid.mk index 3a9edac71..eb4208903 100644 --- a/package/squid/squid.mk +++ b/package/squid/squid.mk @@ -4,7 +4,7 @@ # ################################################################################ -SQUID_VERSION = 6.6 +SQUID_VERSION = 6.10 SQUID_SOURCE = squid-$(SQUID_VERSION).tar.xz SQUID_SITE = http://www.squid-cache.org/Versions/v6 SQUID_LICENSE = GPL-2.0+ @@ -21,7 +21,7 @@ SQUID_CONF_ENV = \ ac_cv_func_strnstr=no \ ac_cv_have_squid=yes \ BUILDCXX="$(HOSTCXX)" \ - BUILDCXXFLAGS="$(HOST_CXXFLAGS)" + BUILDCXXFLAGS="$(HOST_CXXFLAGS) -std=c++17" SQUID_CONF_OPTS = \ --enable-async-io=8 \ --enable-linux-netfilter \ diff --git a/package/sscep/0002-Fix-getopt-linking-error-with-musl-libc.patch b/package/sscep/0002-Fix-getopt-linking-error-with-musl-libc.patch new file mode 100644 index 000000000..ebb9985ef --- /dev/null +++ b/package/sscep/0002-Fix-getopt-linking-error-with-musl-libc.patch @@ -0,0 +1,67 @@ +From db7fab775d03438b4cfce6b49fab2d3176ecb1d3 Mon Sep 17 00:00:00 2001 +From: Dario Binacchi +Date: Sat, 11 May 2024 19:38:01 +0200 +Subject: [PATCH] Fix getopt linking error with musl-libc + +The buildroot project, to which the sscep application was added, has +configurations that raise the following linking error: +buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/i586-buildroot-linux-musl/9.3.0/../../../../i586-buildroot-linux-musl/bin/ld: buildroot/output/host/i586-buildroot-linux-musl/sysroot/lib/libc.a(getopt.o): in function `getopt': +getopt.c:(.text.getopt+0x0): multiple definition of `getopt'; src/getopt.o:getopt.c:(.text+0x0): first defined here +buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/i586-buildroot-linux-musl/9.3.0/../../../../i586-buildroot-linux-musl/bin/ld: buildroot/output/host/i586-buildroot-linux-musl/sysroot/lib/libc.a(getopt.o):(.data.optind+0x0): multiple definition of `optind'; src/getopt.o:(.data+0x0): first defined here +collect2: error: ld returned 1 exit status + +The commit 65561b53344b8 ("Fix getopt linking error") actually fixed the +linking error only for uclibc, but not for musl-libc. The patch fixes +the error for both uclibc and musl-libc. + +Link: http://autobuild.buildroot.net/results/d5b1b4e5e9d9c8eca5e75c345db4d1f3f0cd84ed/build-end.log +Signed-off-by: Dario Binacchi +Upstream: https://github.com/certnanny/sscep/pull/181 +--- + configure.ac | 2 +- + src/getopt.c | 12 ++---------- + 2 files changed, 3 insertions(+), 11 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 9f3ee15686a2..7a968d97dcaa 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -34,7 +34,7 @@ AC_TYPE_SIZE_T + # Checks for library functions. + AC_FUNC_MALLOC + AC_FUNC_REALLOC +-AC_CHECK_FUNCS([alarm gethostbyname memset socket strchr strdup strstr]) ++AC_CHECK_FUNCS([alarm gethostbyname getopt memset socket strchr strdup strstr]) + + AC_CONFIG_FILES([Makefile]) + AC_SUBST([LIBTOOL_DEPS]) +diff --git a/src/getopt.c b/src/getopt.c +index 0109406ba4ac..8793052845ed 100644 +--- a/src/getopt.c ++++ b/src/getopt.c +@@ -31,15 +31,7 @@ + #include + #include + +-#define GETOPT_INTERFACE_VERSION 2 +-#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2 +-# include +-# if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION +-# define ELIDE_CODE +-# endif +-#endif +- +-#ifndef ELIDE_CODE ++#ifndef HAVE_GETOPT + + char* optarg; + int optopt; +@@ -237,4 +229,4 @@ int getopt_long(int argc, char* const argv[], const char* optstring, + return retval; + } + +-#endif /* Not ELIDE_CODE. */ ++#endif /* HAVE_GETOPT */ +-- +2.43.0 + diff --git a/package/sshguard/sshguard.mk b/package/sshguard/sshguard.mk index 8d0363574..97cbbb2bd 100644 --- a/package/sshguard/sshguard.mk +++ b/package/sshguard/sshguard.mk @@ -25,6 +25,8 @@ endef define SSHGUARD_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 0644 $(@D)/examples/sshguard.service \ $(TARGET_DIR)/usr/lib/systemd/system/sshguard.service + $(SED) 's:/usr/local/sbin/sshguard:/usr/sbin/sshguard:g' \ + $(TARGET_DIR)/usr/lib/systemd/system/sshguard.service endef $(eval $(autotools-package)) diff --git a/package/stress-ng/stress-ng.mk b/package/stress-ng/stress-ng.mk index 24ec4cb51..1a3584b0d 100644 --- a/package/stress-ng/stress-ng.mk +++ b/package/stress-ng/stress-ng.mk @@ -28,9 +28,9 @@ define STRESS_NG_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(STRESS_NG_MAKE_FLAGS) endef -# Don't use make install otherwise stress-ng will be rebuild without -# required link libraries if any. Furthermore, using INSTALL allow to -# set the file permission correcly on the target. +# Don't use make install otherwise stress-ng will be rebuilt without +# required link libraries if any. Furthermore, using INSTALL allows to +# set the file permission correctly on the target. define STRESS_NG_INSTALL_TARGET_CMDS $(INSTALL) -m 0755 -D $(@D)/stress-ng $(TARGET_DIR)/usr/bin/stress-ng endef diff --git a/package/strongswan/strongswan.mk b/package/strongswan/strongswan.mk index 41959793a..57cadd3a0 100644 --- a/package/strongswan/strongswan.mk +++ b/package/strongswan/strongswan.mk @@ -83,6 +83,11 @@ STRONGSWAN_DEPENDENCIES += \ $(if $(BR2_PACKAGE_MARIADB),mariadb) endif +# https://github.com/strongswan/strongswan/issues/2410 +ifeq ($(BR2_PACKAGE_STRONGSWAN_WOLFSSL),y) +STRONGSWAN_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) -DWC_NO_RNG" +endif + # disable connmark/forecast until net/if.h vs. linux/if.h conflict resolved # problem exist since linux 4.5 header changes STRONGSWAN_CONF_OPTS += \ diff --git a/package/subversion/subversion.hash b/package/subversion/subversion.hash index 2710e9e3f..5950e9dcc 100644 --- a/package/subversion/subversion.hash +++ b/package/subversion/subversion.hash @@ -1,5 +1,5 @@ -# From https://www.apache.org/dist/subversion/subversion-1.14.3.tar.bz2.sha512 -sha512 40b172492005fd3b0cd9e457b4444af8ea5d8ff8fc161a9a0c6dc3a7314c6ad4ff75a4676f68a1919ae6273ae03e34d04eba8c1c37b8c0b4ec70d6731b527b41 subversion-1.14.3.tar.bz2 +# From https://www.apache.org/dist/subversion/subversion-1.14.5.tar.bz2.sha512 +sha512 e4800564d0cc68be98f19aa58d89181de83f237f0ccff10824d9237f8c65eb0071f7176ac54e9e8f8ecbf685849bd3e94be48f678f4c23ed6a5fd7fb6edd0321 subversion-1.14.5.tar.bz2 # Locally calculated sha256 484aff0cfbb81155a10f903ed756e27e9fc65578c245a295bae295c4bb51eaad LICENSE diff --git a/package/subversion/subversion.mk b/package/subversion/subversion.mk index bc0b9b45a..b3daf013f 100644 --- a/package/subversion/subversion.mk +++ b/package/subversion/subversion.mk @@ -4,7 +4,7 @@ # ################################################################################ -SUBVERSION_VERSION = 1.14.3 +SUBVERSION_VERSION = 1.14.5 SUBVERSION_SOURCE = subversion-$(SUBVERSION_VERSION).tar.bz2 SUBVERSION_SITE = https://downloads.apache.org/subversion SUBVERSION_LICENSE = Apache-2.0 diff --git a/package/sunxi-tools/Config.in b/package/sunxi-tools/Config.in index 14f7da5bf..16550f4e5 100644 --- a/package/sunxi-tools/Config.in +++ b/package/sunxi-tools/Config.in @@ -23,6 +23,7 @@ config BR2_PACKAGE_SUNXI_TOOLS_BOOTINFO config BR2_PACKAGE_SUNXI_TOOLS_FEL bool "sunxi-fel" + depends on !BR2_STATIC_LIBS # dtc depends on BR2_TOOLCHAIN_HAS_THREADS # libusb depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb select BR2_PACKAGE_DTC @@ -33,8 +34,8 @@ config BR2_PACKAGE_SUNXI_TOOLS_FEL fel mode. This allows do download code to memory and execute it. -comment "sunxi-fel needs a toolchain w/ threads, gcc >= 4.9" - depends on !BR2_TOOLCHAIN_HAS_THREADS || \ +comment "sunxi-fel needs a toolchain w/ dynamic library, threads, gcc >= 4.9" + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 config BR2_PACKAGE_SUNXI_TOOLS_NAND_PART diff --git a/package/supertux/supertux.mk b/package/supertux/supertux.mk index 3941632f5..ef930b2fc 100644 --- a/package/supertux/supertux.mk +++ b/package/supertux/supertux.mk @@ -58,7 +58,7 @@ endif # context-sensitive by cpp. SDL_cpuinfo.h is included by SDL.h. # Including altivec.h makes arbitrary code break." # -# Acording to a bug report in GCC [1]: +# According to a bug report in GCC [1]: # "You need to use -std=g++11 or undefine bool after the include of altivec.h # as context sensitive keywords is not part of the C++11 standard". # So use gnu++11 instead of c++11 only for altivec system. diff --git a/package/suricata/0002-configure.ac-fix-static-build.patch b/package/suricata/0002-configure.ac-fix-static-build.patch new file mode 100644 index 000000000..fc5384a11 --- /dev/null +++ b/package/suricata/0002-configure.ac-fix-static-build.patch @@ -0,0 +1,52 @@ +From 6e1d8aceea8c4e49f00d8e630b681641a36c688f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 6 May 2024 09:31:05 +0200 +Subject: [PATCH] configure.ac: fix static build + +static build is broken since +https://github.com/OISF/suricata/commit/31ba4fd1522dd0d7f933767b9205c67a4e726fe5 +because AC_CHECK_LIB is called before PKG_CHECK_MODULES: + +configure:22378: checking for pcap_open_dead in -lpcap +configure:22407: /home/buildroot/autobuild/run/instance-3/output-1/host/bin/x86_64-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g0 -static -std=c11 -march=native -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -static -rdynamic conftest.c -lpcap -ljansson -lpthread -lyaml -lpcre -latomic -lz >&5 +/home/buildroot/autobuild/run/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-musl/12.3.0/../../../../x86_64-buildroot-linux-musl/bin/ld: /home/buildroot/autobuild/run/instance-3/output-1/host/x86_64-buildroot-linux-musl/sysroot/usr/lib/../lib64/libpcap.a(pcap-linux.o): in function `nl80211_init': +pcap-linux.c:(.text+0xc34): undefined reference to `nl_socket_alloc' + +[...] + +checking for pcap_open_dead in -lpcap... no + +Fixes: + - http://autobuild.buildroot.org/results/9e25c2508bd4100d2d1d3180e79060d762361213 + +Signed-off-by: Fabrice Fontaine +Upstream: https://redmine.openinfosecfoundation.org/issues/7008 +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 232ee9bed..6277cb9b6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1219,6 +1219,8 @@ + fi + fi + ++ PKG_CHECK_MODULES([PCAP],libpcap,[CPPFLAGS="${CPPFLAGS} ${PCAP_CFLAGS}" LIBS="${LIBS} ${PCAP_LIBS}"],[:]) ++ + if test "$have_wpcap" != "yes"; then + AC_CHECK_LIB(pcap, pcap_open_dead, [], [ + echo +@@ -1234,8 +1236,6 @@ + PCAP_LIB_NAME="pcap" + fi + +- PKG_CHECK_MODULES([PCAP],libpcap,[CPPFLAGS="${CPPFLAGS} ${PCAP_CFLAGS}" LIBS="${LIBS} ${PCAP_LIBS}"],[:]) +- + AC_PATH_PROG(HAVE_PCAP_CONFIG, pcap-config, "no") + if test "$HAVE_PCAP_CONFIG" = "no" -o "$cross_compiling" = "yes"; then + AC_MSG_RESULT(no pcap-config is use) +-- +2.43.0 + diff --git a/package/suricata/suricata.hash b/package/suricata/suricata.hash index 41befa61b..58ab0d93b 100644 --- a/package/suricata/suricata.hash +++ b/package/suricata/suricata.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 1bd546149ac6671c2476d520a38eab7755e10c3080fd2ec2dc8624b0cf89ee75 suricata-6.0.15.tar.gz +sha256 98c812faef466d337f107f13ae37843f1c719942b93832d70f1a2fd7ee1b5c2c suricata-6.0.19.tar.gz # Hash for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/suricata/suricata.mk b/package/suricata/suricata.mk index 5b5263532..e60ed2fce 100644 --- a/package/suricata/suricata.mk +++ b/package/suricata/suricata.mk @@ -4,12 +4,13 @@ # ################################################################################ -SURICATA_VERSION = 6.0.15 +SURICATA_VERSION = 6.0.19 SURICATA_SITE = https://www.openinfosecfoundation.org/download SURICATA_LICENSE = GPL-2.0 SURICATA_LICENSE_FILES = COPYING LICENSE SURICATA_CPE_ID_VENDOR = oisf # 0001-configure.ac-allow-the-user-to-override-RUST_TARGET.patch +# 0002-configure.ac-fix-static-build.patch SURICATA_AUTORECONF = YES SURICATA_DEPENDENCIES = \ diff --git a/package/swaybg/swaybg.hash b/package/swaybg/swaybg.hash index 62bf048d6..e528349db 100644 --- a/package/swaybg/swaybg.hash +++ b/package/swaybg/swaybg.hash @@ -1,3 +1,4 @@ -# Locally computed, tarball verified with GPG signature -sha256 c0205b34f1fad94553b6cb2c2b983cc33186018026058cad0b841a00bc3087e3 swaybg-1.2.0.tar.gz +# Locally calculated after checking pgp signature: +# https://github.com/swaywm/swaybg/releases/download/v1.2.1/swaybg-1.2.1.tar.gz.sig +sha256 6af1fdf0e57b1cc5345febed786b761fea0e170943a82639f94cfaed7df84f8f swaybg-1.2.1.tar.gz sha256 95224d118a325daf31828afcca98cd958d53f0a7cdd856b50b1be8ac44832faf LICENSE diff --git a/package/swaybg/swaybg.mk b/package/swaybg/swaybg.mk index 90a8cb5d8..87374e035 100644 --- a/package/swaybg/swaybg.mk +++ b/package/swaybg/swaybg.mk @@ -4,7 +4,7 @@ # ################################################################################ -SWAYBG_VERSION = 1.2.0 +SWAYBG_VERSION = 1.2.1 SWAYBG_SITE = https://github.com/swaywm/swaybg/releases/download/v$(SWAYBG_VERSION) SWAYBG_LICENSE = MIT SWAYBG_LICENSE_FILES = LICENSE diff --git a/package/swupdate/swupdate.hash b/package/swupdate/swupdate.hash index c19a82304..19ef3a272 100644 --- a/package/swupdate/swupdate.hash +++ b/package/swupdate/swupdate.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 ce24032300e2b6a6faa3d22e49f981fd90f04ac6f5d7e802166824b0cd5ca669 swupdate-2023.12.tar.gz +sha256 89ec8926d66627255fe689ed96ad8d30f5c539315956dacf9890e308095dee3b swupdate-2023.12.1.tar.gz sha256 4cf04ed34ff0ebbf5c71345b56e6af5093fc17206364cca0ebbae92ef3940683 LICENSES/BSD-1-Clause.txt sha256 e27a3e87706b3aa5ff2e50eaafe2e6ed5397fbf2d7679eaf444a6d000518a3a6 LICENSES/BSD-3-Clause.txt sha256 0558101984550fa84d1d13c2af11d116c20079d2be58711e8d99cadce7009192 LICENSES/CC0-1.0.txt diff --git a/package/swupdate/swupdate.mk b/package/swupdate/swupdate.mk index ca8c14088..3b78c160f 100644 --- a/package/swupdate/swupdate.mk +++ b/package/swupdate/swupdate.mk @@ -4,7 +4,7 @@ # ################################################################################ -SWUPDATE_VERSION = 2023.12 +SWUPDATE_VERSION = 2023.12.1 SWUPDATE_SITE = $(call github,sbabic,swupdate,$(SWUPDATE_VERSION)) SWUPDATE_LICENSE = GPL-2.0, GPL-2.0+, LGPL-2.1+, MIT, ISC, BSD-1-Clause, BSD-3-Clause, CC0-1.0, CC-BY-SA-4.0, OFL-1.1 SWUPDATE_LICENSE_FILES = LICENSES/BSD-1-Clause.txt \ diff --git a/package/sysklogd/Config.in b/package/sysklogd/Config.in index 3315a6ddc..979b90494 100644 --- a/package/sysklogd/Config.in +++ b/package/sysklogd/Config.in @@ -33,9 +33,9 @@ config BR2_PACKAGE_SYSKLOGD_LOGGER help Generate log messages from scripts or from the command line. - This version of logger is receommended for use with sysklogd. + This version of logger is recommended for use with sysklogd. It makes use of the new syslogp() API for RFC5424 style logs, - e.g. MSGID, strucutred data (SD), etc. + e.g. MSGID, structured data (SD), etc. The BusyBox, or util-linux, logger tools can also be used, but are limited to RFC3164 style messages. diff --git a/package/systemd/0002-basic-add-bcachefs-magic.patch b/package/systemd/0002-basic-add-bcachefs-magic.patch new file mode 100644 index 000000000..372066ebe --- /dev/null +++ b/package/systemd/0002-basic-add-bcachefs-magic.patch @@ -0,0 +1,53 @@ +From 48c1cd62de0339722fd3b72ef86aaaf1c38ff3dd Mon Sep 17 00:00:00 2001 +From: Chris Packham +Date: Fri, 31 May 2024 09:51:38 +1200 +Subject: [PATCH] basic: Add BCACHEFS magic + +Import magic.h from Linux 6.9 to get the definition of +BCACHEFS_SUPER_MAGIC. Update filesystems-gperf.gperf to add knowledge of +bcachefs. + +This fixes the following error building against a bleeding edge kernel. +``` +src/basic/meson.build:234:8: ERROR: Problem encountered: Unknown filesystems defined in kernel headers: + +Filesystem found in kernel header but not in filesystems-gperf.gperf: BCACHEFS_SUPER_MAGIC +``` + +Upstream: https://github.com/systemd/systemd/commit/201148b08de65de004d10679a8c3d201cc08fb28 +Signed-off-by: Jarkko Sakkinen +--- + src/basic/filesystems-gperf.gperf | 1 + + src/basic/missing_magic.h | 7 +++++++ + 2 files changed, 8 insertions(+) + +diff --git a/src/basic/filesystems-gperf.gperf b/src/basic/filesystems-gperf.gperf +index 1cd66b5a5f..c82fe98227 100644 +--- a/src/basic/filesystems-gperf.gperf ++++ b/src/basic/filesystems-gperf.gperf +@@ -28,6 +28,7 @@ afs, {AFS_FS_MAGIC, AFS_SUPER_MAGIC} + anon_inodefs, {ANON_INODE_FS_MAGIC} + autofs, {AUTOFS_SUPER_MAGIC} + balloon-kvm, {BALLOON_KVM_MAGIC} ++bcachefs, {BCACHEFS_SUPER_MAGIC} + bdev, {BDEVFS_MAGIC} + binder, {BINDERFS_SUPER_MAGIC} + binfmt_misc, {BINFMTFS_MAGIC} +diff --git a/src/basic/missing_magic.h b/src/basic/missing_magic.h +index 82d71c8ad1..c8ecf44357 100644 +--- a/src/basic/missing_magic.h ++++ b/src/basic/missing_magic.h +@@ -197,3 +197,10 @@ + #ifndef NTFS3_SUPER_MAGIC + #define NTFS3_SUPER_MAGIC 0x7366746e + #endif ++ ++/* Added in Linux commit e2f48c48090dea172c0c571101041de64634dae5. Remove when next sync'd */ ++#ifndef BCACHEFS_SUPER_MAGIC ++# define BCACHEFS_SUPER_MAGIC 0xca451a4e ++#else ++assert_cc(BCACHEFS_SUPER_MAGIC == 0xca451a4e); ++#endif +-- +2.47.0 + diff --git a/package/systemd/Config.in b/package/systemd/Config.in index aa5143d48..46550de74 100644 --- a/package/systemd/Config.in +++ b/package/systemd/Config.in @@ -98,7 +98,7 @@ menuconfig BR2_PACKAGE_SYSTEMD Notice that systemd selects the fsck wrapper from util-linux but no particular fsck. is selected. You must choose - the apropriate ones (e.g. e2fsck, from the e2fsprogs + the appropriate ones (e.g. e2fsck, from the e2fsprogs package) according to the system configuration. https://freedesktop.org/wiki/Software/systemd/ @@ -211,7 +211,7 @@ config BR2_PACKAGE_SYSTEMD_PSTORE help When this features is enabled, additional tools and services are built to support archiving contents of the persistent - storage filesytem. + storage filesystem. https://www.freedesktop.org/software/systemd/man/systemd-pstore.html diff --git a/package/systemd/systemd.hash b/package/systemd/systemd.hash index e5588f06a..f999d0d34 100644 --- a/package/systemd/systemd.hash +++ b/package/systemd/systemd.hash @@ -1,5 +1,5 @@ # sha256 locally computed -sha256 3d23003ea886dbffa5bc84ad72c6edcbde62d32dbdec506e308624e1da509cb0 systemd-254.9.tar.gz +sha256 26ac73c2108132b1d11ff939e8b1bece42f1c1da03fdf4a242af5a7cf3ac34f1 systemd-254.13.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE.GPL2 sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL2.1 sha256 e5a8645ad94aab24e312dd0c6be2aa54236eb9374480b1b14ea5c61598874fd5 LICENSES/BSD-2-Clause.txt diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk index c6b006d1f..448f9cb67 100644 --- a/package/systemd/systemd.mk +++ b/package/systemd/systemd.mk @@ -19,7 +19,7 @@ # - Diff sysusers.d with the previous version # - Diff factory/etc/nsswitch.conf with the previous version # (details are often sprinkled around in README and manpages) -SYSTEMD_VERSION = 254.9 +SYSTEMD_VERSION = 254.13 SYSTEMD_SITE = $(call github,systemd,systemd-stable,v$(SYSTEMD_VERSION)) SYSTEMD_LICENSE = \ LGPL-2.1+, \ @@ -479,6 +479,10 @@ endif ifeq ($(BR2_PACKAGE_SYSTEMD_OOMD),y) SYSTEMD_CONF_OPTS += -Doomd=true SYSTEMD_OOMD_USER = systemd-oom -1 systemd-oom -1 * - - - systemd Userspace OOM Killer +define SYSTEMD_OOMD_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_PSI) + $(call KCONFIG_ENABLE_OPT,CONFIG_MEMCG) +endef else SYSTEMD_CONF_OPTS += -Doomd=false endif @@ -576,6 +580,13 @@ else SYSTEMD_CONF_OPTS += -Dhibernate=false endif +ifeq ($(BR2_PACKAGE_TPM2_TSS),y) +SYSTEMD_DEPENDENCIES += tpm2-tss +SYSTEMD_CONF_OPTS += -Dtpm2=true +else +SYSTEMD_CONF_OPTS += -Dtpm2=false +endif + ifeq ($(BR2_PACKAGE_SYSTEMD_BOOT),y) SYSTEMD_INSTALL_IMAGES = YES SYSTEMD_DEPENDENCIES += gnu-efi host-python-pyelftools @@ -796,6 +807,8 @@ define SYSTEMD_LINUX_CONFIG_FIXUPS $(call KCONFIG_ENABLE_OPT,CONFIG_AUTOFS4_FS) $(call KCONFIG_ENABLE_OPT,CONFIG_TMPFS_POSIX_ACL) $(call KCONFIG_ENABLE_OPT,CONFIG_TMPFS_XATTR) + + $(SYSTEMD_OOMD_LINUX_CONFIG_FIXUPS) endef # We need a very minimal host variant, so we disable as much as possible. diff --git a/package/sysvinit/sysvinit.mk b/package/sysvinit/sysvinit.mk index 49c92ec2a..3a51483c9 100644 --- a/package/sysvinit/sysvinit.mk +++ b/package/sysvinit/sysvinit.mk @@ -11,7 +11,7 @@ SYSVINIT_LICENSE = GPL-2.0+ SYSVINIT_LICENSE_FILES = COPYING SYSVINIT_CPE_ID_VALID = YES -SYSVINIT_MAKE_OPTS = SYSROOT=$(STAGING_DIR) +SYSVINIT_MAKE_OPTS = SYSROOT=$(STAGING_DIR) VERSION=$(SYSVINIT_VERSION) ifeq ($(BR2_PACKAGE_LIBSELINUX),y) SYSVINIT_DEPENDENCIES += libselinux diff --git a/package/szip/szip.mk b/package/szip/szip.mk index 7a8a5a82e..869fc9c35 100644 --- a/package/szip/szip.mk +++ b/package/szip/szip.mk @@ -5,7 +5,7 @@ ################################################################################ SZIP_VERSION = 2.1.1 -SZIP_SITE = http://www.hdfgroup.org/ftp/lib-external/szip/2.1.1/src +SZIP_SITE = https://docs.hdfgroup.org/archive/support/ftp/lib-external/szip/$(SZIP_VERSION)/src SZIP_LICENSE = szip license SZIP_LICENSE_FILES = COPYING SZIP_INSTALL_STAGING = YES diff --git a/package/targetcli-fb/Config.in b/package/targetcli-fb/Config.in index 04c6a1ac0..eb7528fbe 100644 --- a/package/targetcli-fb/Config.in +++ b/package/targetcli-fb/Config.in @@ -1,12 +1,23 @@ -comment "targetcli-fb depends on Python" +comment "targetcli-fb needs Python, a glibc toolchain, gcc >= 4.9, host gcc >= 8" depends on !BR2_PACKAGE_PYTHON3 + depends on BR2_USE_MMU + depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS + depends on !BR2_HOST_GCC_AT_LEAST_8 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_TOOLCHAIN_USES_GLIBC config BR2_PACKAGE_TARGETCLI_FB bool "targetcli-fb" depends on BR2_PACKAGE_PYTHON3 # python-configshell-fb + depends on BR2_USE_MMU # python-gobject -> gobject-introspection + depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS # python-gobject -> gobject-introspection + depends on BR2_HOST_GCC_AT_LEAST_8 # python-gobject -> gobject-introspection + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # python-gobject -> gobject-introspection + depends on BR2_TOOLCHAIN_USES_GLIBC # python-gobject -> gobject-introspection select BR2_PACKAGE_PYTHON_CONFIGSHELL_FB select BR2_PACKAGE_PYTHON_RTSLIB_FB select BR2_PACKAGE_PYTHON_SIX + select BR2_PACKAGE_PYTHON_GOBJECT help targetcli-fb is a command-line interface for configuring the LIO generic SCSI target, present in 3.x Linux kernel diff --git a/package/targetcli-fb/targetcli-fb.hash b/package/targetcli-fb/targetcli-fb.hash index 64f68a667..1732fa99e 100644 --- a/package/targetcli-fb/targetcli-fb.hash +++ b/package/targetcli-fb/targetcli-fb.hash @@ -1,3 +1,3 @@ # locally computed -sha256 7ae4120a54f24b13263b4b85c43952a03546f8b9fc9bd15fe87678f68245a33f targetcli-fb-2.1.54.tar.gz +sha256 605f4e4e4e7189d6a03f11a4f55e7ddb4671002d542c2f684f87dd68391dcdc2 targetcli-fb-2.1.58.tar.gz sha256 5df2a0d87d6c562f0ea11c688ac52532aa28d744cabc7994ff0537f64b3b3320 COPYING diff --git a/package/targetcli-fb/targetcli-fb.mk b/package/targetcli-fb/targetcli-fb.mk index d2cbf79e2..503b9224d 100644 --- a/package/targetcli-fb/targetcli-fb.mk +++ b/package/targetcli-fb/targetcli-fb.mk @@ -6,13 +6,17 @@ # When upgrading the version, be sure to also upgrade python-rtslib-fb # and python-configshell-fb at the same time. -TARGETCLI_FB_VERSION = 2.1.54 +TARGETCLI_FB_VERSION = 2.1.58 TARGETCLI_FB_SITE = $(call github,open-iscsi,targetcli-fb,v$(TARGETCLI_FB_VERSION)) TARGETCLI_FB_LICENSE = Apache-2.0 TARGETCLI_FB_LICENSE_FILES = COPYING TARGETCLI_FB_CPE_ID_VALID = YES TARGETCLI_FB_SETUP_TYPE = setuptools -TARGETCLI_FB_DEPENDENCIES = python-configshell-fb python-rtslib-fb python-six +TARGETCLI_FB_DEPENDENCIES = \ + python-configshell-fb \ + python-gobject \ + python-rtslib-fb \ + python-six define TARGETCLI_FB_INSTALL_INIT_SYSV $(INSTALL) -m 0755 -D package/targetcli-fb/S50target \ diff --git a/package/tcf-agent/0001-agent-tcf-services-tcf_elf.c-fix-x86-build.patch b/package/tcf-agent/0001-agent-tcf-services-tcf_elf.c-fix-x86-build.patch new file mode 100644 index 000000000..5f08fa485 --- /dev/null +++ b/package/tcf-agent/0001-agent-tcf-services-tcf_elf.c-fix-x86-build.patch @@ -0,0 +1,60 @@ +From 0a847ca035113540ee44d17f364bf4701fe78355 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 1 Mar 2024 22:31:05 +0100 +Subject: [PATCH] agent/tcf/services/tcf_elf.c: fix x86 build + +Fix the following x86 build failure raised since version 1.8.0 and +https://gitlab.eclipse.org/eclipse/tcf/tcf.agent/-/commit/8df5540c53b862d516ac25f908c2fff4a547b4a6: + +/home/buildroot/autobuild/run/instance-1/output-1/build/tcf-agent-1.8.0/agent/tcf/services/tcf_elf.c: In function 'unpack_elf_symbol_info': +/home/buildroot/autobuild/run/instance-1/output-1/build/tcf-agent-1.8.0/agent/tcf/services/tcf_elf.c:2079:27: error: 'STT_ARM_16BIT' undeclared (first use in this function) + 2079 | if (info->type == STT_ARM_16BIT) { + | ^~~~~~~~~~~~~ +/home/buildroot/autobuild/run/instance-1/output-1/build/tcf-agent-1.8.0/agent/tcf/services/tcf_elf.c:2079:27: note: each undeclared identifier is reported only once for each function it appears in +/home/buildroot/autobuild/run/instance-1/output-1/build/tcf-agent-1.8.0/agent/tcf/services/tcf_elf.c: In function 'create_symbol_addr_search_index': +/home/buildroot/autobuild/run/instance-1/output-1/build/tcf-agent-1.8.0/agent/tcf/services/tcf_elf.c:2228:78: error: 'STT_ARM_16BIT' undeclared (first use in this function) + 2228 | if (type == STT_FUNC || type == STT_ARM_TFUNC || type == STT_ARM_16BIT) { + | ^~~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/8388acf59689ed7e621bdf158483e3df1cf9bef7 + +Signed-off-by: Fabrice Fontaine +Upstream: https://gitlab.eclipse.org/eclipse/tcf/tcf.agent/-/merge_requests/1 +--- + agent/tcf/services/tcf_elf.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/agent/tcf/services/tcf_elf.c b/agent/tcf/services/tcf_elf.c +index 1b3900ec..b0b948e4 100644 +--- a/agent/tcf/services/tcf_elf.c ++++ b/agent/tcf/services/tcf_elf.c +@@ -2076,10 +2076,12 @@ void unpack_elf_symbol_info(ELF_Section * sym_sec, U4_T index, ELF_SymbolInfo * + } + + if (file->machine == EM_ARM) { ++#ifdef STT_ARM_16BIT + if (info->type == STT_ARM_16BIT) { + info->type = STT_OBJECT; + info->type16bit = 1; + } ++#endif + if (info->type == STT_ARM_TFUNC) { + info->type = STT_FUNC; + info->type16bit = 1; +@@ -2225,7 +2227,11 @@ static void create_symbol_addr_search_index(ELF_Section * sec) { + } + add = add && type != STT_GNU_IFUNC; + if (add && file->machine == EM_ARM) { +- if (type == STT_FUNC || type == STT_ARM_TFUNC || type == STT_ARM_16BIT) { ++ if (type == STT_FUNC || type == STT_ARM_TFUNC ++#ifdef STT_ARM_16BIT ++ || type == STT_ARM_16BIT ++#endif ++ ) { + addr = addr & ~(U8_T)1; + } + } +-- +2.43.0 + diff --git a/package/tcf-agent/0001-fix-uClibc-ng-compile.patch b/package/tcf-agent/0001-fix-uClibc-ng-compile.patch new file mode 100644 index 000000000..b8f46f3c4 --- /dev/null +++ b/package/tcf-agent/0001-fix-uClibc-ng-compile.patch @@ -0,0 +1,27 @@ +From a78007cd139e1dea3d893f5fe1d1c3a47503e6a2 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Sat, 12 Aug 2023 18:27:02 +0200 +Subject: [PATCH] fix uClibc-ng compile + +Signed-off-by: Waldemar Brodkorb +Upstream: N/A only mail available +--- + agent/machine/arm/tcf/cpudefs-mdep.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/agent/machine/arm/tcf/cpudefs-mdep.c b/agent/machine/arm/tcf/cpudefs-mdep.c +index 051631a0..7c4fbf3e 100644 +--- a/agent/machine/arm/tcf/cpudefs-mdep.c ++++ b/agent/machine/arm/tcf/cpudefs-mdep.c +@@ -21,7 +21,7 @@ + + #ifndef USE_getauxval + # include +-# define USE_getauxval (defined(__GLIBC__) && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16))) ++# define USE_getauxval (defined(__GLIBC__) && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) || (defined(__UCLIBC__) && defined(__HAVE_SHARED__))) + #endif + + #include +-- +2.39.2 + diff --git a/package/tcf-agent/tcf-agent.mk b/package/tcf-agent/tcf-agent.mk index 9d955d4b6..e90334c78 100644 --- a/package/tcf-agent/tcf-agent.mk +++ b/package/tcf-agent/tcf-agent.mk @@ -15,11 +15,18 @@ TCF_AGENT_DEPENDENCIES = util-linux TCF_AGENT_SUBDIR = agent # there is not much purpose for the shared lib, -# if wont be used (unmodifed) outside the tcf-agent application +# it will not be used (unmodified) outside the tcf-agent application TCF_AGENT_CONF_OPTS = \ -DBUILD_SHARED_LIBS=OFF \ -DTCF_MACHINE=$(call qstrip,$(BR2_PACKAGE_TCF_AGENT_ARCH)) +# tcf-agent uses some arm instructions in case getauxval is not available. +# unfortunately the uClibc-ng implementation of getauxval uses some features +# of ld.so to work +ifeq ($(BR2_STATIC_LIBS)$(BR2_TOOLCHAIN_USES_UCLIBC)$(BR2_ARM_INSTRUCTIONS_THUMB),yyy) +TCF_AGENT_CONF_OPTS += -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -marm" +endif + define TCF_AGENT_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/tcf-agent/tcf-agent.service \ $(TARGET_DIR)/usr/lib/systemd/system/tcf-agent.service diff --git a/package/ti-sgx-demos/Config.in b/package/ti-sgx-demos/Config.in index ec7b8e603..f45ccd8d0 100644 --- a/package/ti-sgx-demos/Config.in +++ b/package/ti-sgx-demos/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_TI_SGX_DEMOS depends on BR2_PACKAGE_TI_SGX_UM help These SGX powervr demo applications from Imagination - Technologies are availabe as binaries only. The binaries + Technologies are available as binaries only. The binaries are compiled for the TI SGX implementation. https://git.ti.com/cgit/graphics/img-pvr-sdk diff --git a/package/ti-sgx-km/Config.in b/package/ti-sgx-km/Config.in index 964889ff4..3e8a41b75 100644 --- a/package/ti-sgx-km/Config.in +++ b/package/ti-sgx-km/Config.in @@ -1,10 +1,10 @@ comment "ti-sgx-km needs a Linux kernel to be built" - depends on BR2_arm + depends on BR2_ARM_EABIHF depends on !BR2_LINUX_KERNEL config BR2_PACKAGE_TI_SGX_KM bool "ti-sgx-km" - depends on BR2_LINUX_KERNEL && BR2_arm + depends on BR2_LINUX_KERNEL && BR2_ARM_EABIHF select BR2_LINUX_NEEDS_MODULES help Kernel modules for TI CPUs with SGX GPU. diff --git a/package/tiff/Config.in b/package/tiff/Config.in index d1004d666..d357d0840 100644 --- a/package/tiff/Config.in +++ b/package/tiff/Config.in @@ -63,10 +63,6 @@ config BR2_PACKAGE_TIFF_OLD_JPEG bool "Old JPEG decompression" default y -config BR2_PACKAGE_TIFF_JBIG - bool "JBIG compression" - default y - config BR2_PACKAGE_TIFF_UTILITIES bool "tiff utilities" help diff --git a/package/tiff/tiff.hash b/package/tiff/tiff.hash index 3aae7dc4d..5e2dcca73 100644 --- a/package/tiff/tiff.hash +++ b/package/tiff/tiff.hash @@ -1,3 +1,5 @@ -# Locally computed -sha256 88b3979e6d5c7e32b50d7ec72fb15af724f6ab2cbf7e10880c360a77e4b5d99a tiff-4.6.0.tar.gz +# Locally computed after checking pgp signature +# https://download.osgeo.org/libtiff/tiff-4.7.0.tar.xz.sig +# with key: B1FA7D81EEB8E66399178B9733EBBFC47B3DD87D +sha256 273a0a73b1f0bed640afee4a5df0337357ced5b53d3d5d1c405b936501f71017 tiff-4.7.0.tar.xz sha256 0780558a8bfba0af1160ec1ff11ade4f41c0d7deafd6ecfc796b492a788e380d LICENSE.md diff --git a/package/tiff/tiff.mk b/package/tiff/tiff.mk index e384e8b81..5d7219d7d 100644 --- a/package/tiff/tiff.mk +++ b/package/tiff/tiff.mk @@ -4,8 +4,9 @@ # ################################################################################ -TIFF_VERSION = 4.6.0 -TIFF_SITE = http://download.osgeo.org/libtiff +TIFF_VERSION = 4.7.0 +TIFF_SOURCE = tiff-$(TIFF_VERSION).tar.xz +TIFF_SITE = https://download.osgeo.org/libtiff TIFF_LICENSE = tiff license TIFF_LICENSE_FILES = LICENSE.md TIFF_CPE_ID_VENDOR = libtiff @@ -16,6 +17,8 @@ TIFF_INSTALL_STAGING = YES # support in tiff, or that would create a circular dependency. TIFF_CONF_OPTS = \ --disable-contrib \ + --disable-lerc \ + --disable-jbig \ --disable-tests \ --disable-webp @@ -24,8 +27,10 @@ TIFF_DEPENDENCIES = host-pkgconf HOST_TIFF_CONF_OPTS = \ --disable-cxx \ --disable-zlib \ + --disable-lerc \ --disable-libdeflate \ --disable-lzma \ + --disable-jbig \ --disable-jpeg \ --disable-tests \ --disable-webp \ @@ -99,10 +104,6 @@ ifneq ($(BR2_PACKAGE_TIFF_OLD_JPEG),y) TIFF_CONF_OPTS += --disable-old-jpeg endif -ifneq ($(BR2_PACKAGE_TIFF_JBIG),y) -TIFF_CONF_OPTS += --disable-jbig -endif - ifeq ($(BR2_PACKAGE_TIFF_UTILITIES),y) TIFF_CONF_OPTS += --enable-tools else diff --git a/package/tinycbor/tinycbor.mk b/package/tinycbor/tinycbor.mk index cad50e633..d2fb583e6 100644 --- a/package/tinycbor/tinycbor.mk +++ b/package/tinycbor/tinycbor.mk @@ -16,7 +16,7 @@ ifeq ($(BR2_PACKAGE_CJSON),y) TINYCBOR_DEPENDENCIES += cjson endif -TINYCBOR_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) DISABLE_WERROR=1 V=1 +TINYCBOR_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) DISABLE_WERROR=1 V=1 prefix=/usr ifeq ($(BR2_STATIC_LIBS),y) TINYCBOR_MAKE_OPTS += BUILD_STATIC=1 BUILD_SHARED=0 @@ -34,12 +34,12 @@ endef define TINYCBOR_INSTALL_STAGING_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(TINYCBOR_MAKE_OPTS) -C $(@D) \ - DESTDIR=$(STAGING_DIR) prefix=/usr install + DESTDIR=$(STAGING_DIR) install endef define TINYCBOR_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(TINYCBOR_MAKE_OPTS) -C $(@D) \ - DESTDIR=$(TARGET_DIR) prefix=/usr install + DESTDIR=$(TARGET_DIR) install endef $(eval $(generic-package)) diff --git a/package/tinyproxy/0001-prevent-junk-from-showing-up-in-error-page-in-invalid-requests.patch b/package/tinyproxy/0001-prevent-junk-from-showing-up-in-error-page-in-invalid-requests.patch deleted file mode 100644 index da9c21a41..000000000 --- a/package/tinyproxy/0001-prevent-junk-from-showing-up-in-error-page-in-invalid-requests.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 3764b8551463b900b5b4e3ec0cd9bb9182191cb7 Mon Sep 17 00:00:00 2001 -From: rofl0r -Date: Thu, 8 Sep 2022 15:18:04 +0000 -Subject: [PATCH] prevent junk from showing up in error page in invalid - requests - -fixes #457 - -[Retrieved from: -https://github.com/tinyproxy/tinyproxy/commit/3764b8551463b900b5b4e3ec0cd9bb9182191cb7] -Signed-off-by: Fabrice Fontaine ---- - src/reqs.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/reqs.c b/src/reqs.c -index bce69819..45db118d 100644 ---- a/src/reqs.c -+++ b/src/reqs.c -@@ -343,8 +343,12 @@ static struct request_s *process_request (struct conn_s *connptr, - goto fail; - } - -+ /* zero-terminate the strings so they don't contain junk in error page */ -+ request->method[0] = url[0] = request->protocol[0] = 0; -+ - ret = sscanf (connptr->request_line, "%[^ ] %[^ ] %[^ ]", - request->method, url, request->protocol); -+ - if (ret == 2 && !strcasecmp (request->method, "GET")) { - request->protocol[0] = 0; - diff --git a/package/tinyproxy/tinyproxy.hash b/package/tinyproxy/tinyproxy.hash index 84e98a84c..8d4bb6953 100644 --- a/package/tinyproxy/tinyproxy.hash +++ b/package/tinyproxy/tinyproxy.hash @@ -1,4 +1,4 @@ -# From https://github.com/tinyproxy/tinyproxy/releases/tag/1.11.1 -sha512 2e3435bbfece3797c11ccce222eef494ed92e00dd82bea2c40a54e454b7e03c8abc8e09b244f2da7192209c39047369439d08974b79eebc996fb3095230d0374 tinyproxy-1.11.1.tar.xz +# From https://github.com/tinyproxy/tinyproxy/releases/tag/1.11.2 +sha512 008e43b770f946965d5a3fbad1881859e30b66a3a4a97cf9982e63d81139da7a8f23937601b72f32276166cd170008cafec9231b616fc840f05cae3c1329be35 tinyproxy-1.11.2.tar.xz # locally computed sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/tinyproxy/tinyproxy.mk b/package/tinyproxy/tinyproxy.mk index e989f70a2..6656a752a 100644 --- a/package/tinyproxy/tinyproxy.mk +++ b/package/tinyproxy/tinyproxy.mk @@ -4,14 +4,11 @@ # ################################################################################ -TINYPROXY_VERSION = 1.11.1 +TINYPROXY_VERSION = 1.11.2 TINYPROXY_SITE = https://github.com/tinyproxy/tinyproxy/releases/download/$(TINYPROXY_VERSION) TINYPROXY_SOURCE = tinyproxy-$(TINYPROXY_VERSION).tar.xz TINYPROXY_LICENSE = GPL-2.0+ TINYPROXY_LICENSE_FILES = COPYING TINYPROXY_CPE_ID_VALID = YES -# 0001-prevent-junk-from-showing-up-in-error-page-in-invalid-requests.patch -TINYPROXY_IGNORE_CVES += CVE-2022-40468 - $(eval $(autotools-package)) diff --git a/package/tinyssh/tinyssh.mk b/package/tinyssh/tinyssh.mk index 80b6ccb85..e92ac628f 100644 --- a/package/tinyssh/tinyssh.mk +++ b/package/tinyssh/tinyssh.mk @@ -10,7 +10,7 @@ TINYSSH_LICENSE = CC0-1.0 TINYSSH_LICENSE_FILES = LICENCE define TINYSSH_BUILD_CMDS - $(TARGET_MAKE_ENV) CC="$(TARGET_CC)" $(MAKE) -C $(@D) cross-compile + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) cross-compile endef define TINYSSH_INSTALL_TARGET_CMDS diff --git a/package/tllist/tllist.hash b/package/tllist/tllist.hash index 2806d6235..73d382767 100644 --- a/package/tllist/tllist.hash +++ b/package/tllist/tllist.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 3f3fe2f7433719cec816c63937a7aa36e566bd317763ef46d11562073ab6361d 1.1.0.tar.gz +sha256 a1f0ce0dc4fcb4ce59c37202a1d914c853a8bd2d7c5d57d623b15a8dd9778767 tllist-1.1.0.tar.gz sha256 d534a23a31500a0ac958d9634b84f532bd73ff1aca1bb8f7debbcbebc16ff39a LICENSE diff --git a/package/tllist/tllist.mk b/package/tllist/tllist.mk index 69a34a65a..26e21ccbe 100644 --- a/package/tllist/tllist.mk +++ b/package/tllist/tllist.mk @@ -5,8 +5,7 @@ ################################################################################ TLLIST_VERSION = 1.1.0 -TLLIST_SOURCE = $(TLLIST_VERSION).tar.gz -TLLIST_SITE = https://codeberg.org/dnkl/tllist/archive +TLLIST_SITE = https://codeberg.org/dnkl/tllist/releases/download/$(TLLIST_VERSION) TLLIST_LICENSE = MIT TLLIST_LICENSE_FILES = LICENSE # header only diff --git a/package/tor/tor.hash b/package/tor/tor.hash index 8cc8eb435..def488d51 100644 --- a/package/tor/tor.hash +++ b/package/tor/tor.hash @@ -1,4 +1,4 @@ -# From https://dist.torproject.org/tor-0.4.8.10.tar.gz.sha256sum -sha256 e628b4fab70edb4727715b23cf2931375a9f7685ac08f2c59ea498a178463a86 tor-0.4.8.10.tar.gz +# From https://dist.torproject.org/tor-0.4.8.14.tar.gz.sha256sum +sha256 5047e1ded12d9aac4eb858f7634a627714dd58ce99053d517691a4b304a66d10 tor-0.4.8.14.tar.gz # Locally computed sha256 47b54ed17e8fdcab3c44729a1789a09b208f9a63a845a7e50def9df729eebad0 LICENSE diff --git a/package/tor/tor.mk b/package/tor/tor.mk index 12dcf3f07..f4e1efb05 100644 --- a/package/tor/tor.mk +++ b/package/tor/tor.mk @@ -4,7 +4,7 @@ # ################################################################################ -TOR_VERSION = 0.4.8.10 +TOR_VERSION = 0.4.8.14 TOR_SITE = https://dist.torproject.org TOR_LICENSE = BSD-3-Clause TOR_LICENSE_FILES = LICENSE diff --git a/package/tpm2-abrmd/tpm2-abrmd.mk b/package/tpm2-abrmd/tpm2-abrmd.mk index 8de233008..0e62cb176 100644 --- a/package/tpm2-abrmd/tpm2-abrmd.mk +++ b/package/tpm2-abrmd/tpm2-abrmd.mk @@ -29,8 +29,4 @@ define TPM2_ABRMD_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S80tpm2-abrmd endef -define TPM2_ABRMD_USERS - tss -1 tss -1 * - - - TPM2 Access Broker & Resource Management daemon -endef - $(eval $(autotools-package)) diff --git a/package/tpm2-totp/Config.in b/package/tpm2-totp/Config.in index dcadf5a5f..a26604abb 100644 --- a/package/tpm2-totp/Config.in +++ b/package/tpm2-totp/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_TPM2_TOTP bool "tpm2-totp" depends on !BR2_STATIC_LIBS # tpm2-tss - depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM # glibc < 2.20 select BR2_PACKAGE_LIBQRENCODE select BR2_PACKAGE_TPM2_TSS help @@ -20,4 +19,3 @@ config BR2_PACKAGE_TPM2_TOTP comment "tpm2-totp needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS - depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM diff --git a/package/tpm2-tss/tpm2-tss.mk b/package/tpm2-tss/tpm2-tss.mk index 10d605fc6..e1f65c384 100644 --- a/package/tpm2-tss/tpm2-tss.mk +++ b/package/tpm2-tss/tpm2-tss.mk @@ -17,7 +17,7 @@ TPM2_TSS_DEPENDENCIES = openssl host-pkgconf TPM2_TSS_AUTORECONF = YES # systemd-sysusers and systemd-tmpfiles are only used at install time -# to trigger the creation of users adn tmpfiles, which we do not care +# to trigger the creation of users and tmpfiles, which we do not care # about at build time. groupadd, useradd, and setfacl are used in the # fallback path when systemd-sysusers or systemd-tmpfiles are missing # and their failure is ignored anyway. @@ -42,4 +42,8 @@ else TPM2_TSS_CONF_OPTS += --disable-fapi endif +define TPM2_TSS_USERS + tss -1 tss -1 * - - - tss user for tpm2 +endef + $(eval $(autotools-package)) diff --git a/package/transmission/S92transmission b/package/transmission/S92transmission index 85ff40ec1..1c24c16d9 100644 --- a/package/transmission/S92transmission +++ b/package/transmission/S92transmission @@ -16,11 +16,11 @@ # http://trac.transmissionbt.com/wiki/ConfigFiles # For a guide on how set the preferences, visit: # http://trac.transmissionbt.com/wiki/EditConfigFiles -# For the available environement variables, visit: +# For the available environment variables, visit: # http://trac.transmissionbt.com/wiki/EnvironmentVariables # # The name of the user that should run Transmission. -# It's RECOMENDED to run Transmission in it's own user, +# It's RECOMMENDED to run Transmission in it's own user, # by default, this is set to 'transmission'. # For the sake of security you shouldn't set a password # on this user diff --git a/package/ttyd/ttyd.mk b/package/ttyd/ttyd.mk index d17e21d60..b629e5a29 100644 --- a/package/ttyd/ttyd.mk +++ b/package/ttyd/ttyd.mk @@ -9,5 +9,6 @@ TTYD_SITE = $(call github,tsl0922,ttyd,$(TTYD_VERSION)) TTYD_LICENSE = MIT TTYD_LICENSE_FILES = LICENSE TTYD_DEPENDENCIES = json-c libuv libwebsockets openssl zlib +TTYD_CPE_ID_VALID = YES $(eval $(cmake-package)) diff --git a/package/tzdata/tzdata.hash b/package/tzdata/tzdata.hash index 5488625dd..d347bc456 100644 --- a/package/tzdata/tzdata.hash +++ b/package/tzdata/tzdata.hash @@ -1,4 +1,4 @@ -# From https://mm.icann.org/pipermail/tz-announce/2023-March/000079.html -sha512 608bd286ebcbd0004cfdc1da183273f08aff61f90c8867661154453d77a05d421e4c46ad6d066a1fe2e87d5c82ec0f1c0224667a3b35f3180a3eb7f6ff84cbf5 tzdata2023c.tar.gz +# https://lists.iana.org/hyperkitty/list/tz-announce@iana.org/thread/MWII7R3HMCEDNUCIYQKSSTYYR7UWK4OQ/ +sha512 93b8f939d39bdfe451e262666f9099c529c96c49d14c08e3611560ca660e12e16d08a22b145d615e00570fb194881618d6f9a0a617c119ab447be03279d747c3 tzdata2025a.tar.gz # Locally computed: sha256 0613408568889f5739e5ae252b722a2659c02002839ad970a63dc5e9174b27cf LICENSE diff --git a/package/tzdata/tzdata.mk b/package/tzdata/tzdata.mk index 33e296d7d..46c65707a 100644 --- a/package/tzdata/tzdata.mk +++ b/package/tzdata/tzdata.mk @@ -4,7 +4,7 @@ # ################################################################################ -TZDATA_VERSION = 2023c +TZDATA_VERSION = 2025a TZDATA_SOURCE = tzdata$(TZDATA_VERSION).tar.gz TZDATA_SITE = https://www.iana.org/time-zones/repository/releases TZDATA_SELINUX_MODULES = tzdata diff --git a/package/uboot-tools/uboot-tools.mk b/package/uboot-tools/uboot-tools.mk index 12e10dea9..e9c7edb21 100644 --- a/package/uboot-tools/uboot-tools.mk +++ b/package/uboot-tools/uboot-tools.mk @@ -6,7 +6,7 @@ UBOOT_TOOLS_VERSION = 2021.07 UBOOT_TOOLS_SOURCE = u-boot-$(UBOOT_TOOLS_VERSION).tar.bz2 -UBOOT_TOOLS_SITE = ftp://ftp.denx.de/pub/u-boot +UBOOT_TOOLS_SITE = https://ftp.denx.de/pub/u-boot UBOOT_TOOLS_LICENSE = GPL-2.0+ UBOOT_TOOLS_LICENSE_FILES = Licenses/gpl-2.0.txt UBOOT_TOOLS_CPE_ID_VENDOR = denx diff --git a/package/ubus/ubus.mk b/package/ubus/ubus.mk index 1f9891411..cc2ed8178 100644 --- a/package/ubus/ubus.mk +++ b/package/ubus/ubus.mk @@ -25,13 +25,6 @@ else UBUS_CONF_OPTS += -DBUILD_LUA=OFF endif -ifeq ($(BR2_PACKAGE_SYSTEMD),y) -UBUS_DEPENDENCIES += systemd -UBUS_CONF_OPTS += -DENABLE_SYSTEMD=ON -else -UBUS_CONF_OPTS += -DENABLE_SYSTEMD=OFF -endif - ifeq ($(BR2_PACKAGE_UBUS_EXAMPLES),y) UBUS_CONF_OPTS += -DBUILD_EXAMPLES=ON else diff --git a/package/uclibc-ng-test/0001-Fix-error-absent-sys-asm-h.patch b/package/uclibc-ng-test/0001-Fix-error-absent-sys-asm-h.patch new file mode 100644 index 000000000..5c8cd3f46 --- /dev/null +++ b/package/uclibc-ng-test/0001-Fix-error-absent-sys-asm-h.patch @@ -0,0 +1,59 @@ +From a99d5bdb51bdab92a303c508b2b938ee0789d614 Mon Sep 17 00:00:00 2001 +From: Dmitry Chestnykh +Date: Thu, 25 Jul 2024 09:15:11 +0300 +Subject: [PATCH] Fix errors due to absent sys/asm.h in mips64 musl build + +Upstream: https://patchwork.ozlabs.org/project/uclibc-ng/patch/20240725081519.611076-1-dm.chestnykh@gmail.com/ +Signed-off-by: Dmitry Chestnykh +--- + test/tls/tls-macros-mips.h | 33 +++++++++++++++++++++++++++++++++ + 1 file changed, 33 insertions(+) + +diff --git a/test/tls/tls-macros-mips.h b/test/tls/tls-macros-mips.h +index eed0938..bd4c5c4 100644 +--- a/test/tls/tls-macros-mips.h ++++ b/test/tls/tls-macros-mips.h +@@ -1,7 +1,40 @@ + /* Macros to support TLS testing in times of missing compiler support. */ + + #include ++#if defined(__has_include) && __has_include() + #include ++#else ++ ++#define __STRING(x) #x ++ ++#if ((_MIPS_SIM == _MIPS_SIM_ABI32 || _MIPS_SIM == _ABI32) && _MIPS_SZPTR == 32) ++#define PTR_ADDIU addiu ++#define PTR_L lw ++#endif ++ ++#if _MIPS_SIM == _MIPS_SIM_NABI32 || _MIPS_SIM == _NABI32 ++ ++#if !defined __mips_isa_rev || __mips_isa_rev < 6 ++#define PTR_ADDU add ++#define PTR_ADDIU addi ++#else ++#define PTR_ADDU addu ++#define PTR_ADDIU addiu ++#endif ++ ++#define PTR_L lw ++#endif ++ ++#if ((_MIPS_SIM == _MIPS_SIM_ABI32 || _MIPS_SIM == _ABI32) && _MIPS_SZPTR == 64) \ ++ || _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _ABIN32 ++ ++#define PTR_ADDU daddu ++#define PTR_ADDIU daddiu ++#define PTR_L ld ++ ++#endif ++ ++#endif + + #define __STRING2(X) __STRING(X) + #define ADDU __STRING2(PTR_ADDU) +-- +2.45.2 + diff --git a/package/uclibc/0001-allow-to-use-sys-ucontext.h.patch b/package/uclibc/0001-allow-to-use-sys-ucontext.h.patch new file mode 100644 index 000000000..b6bd5602d --- /dev/null +++ b/package/uclibc/0001-allow-to-use-sys-ucontext.h.patch @@ -0,0 +1,35 @@ +From 903da45dde43836e35a295226c5b1efccd413c08 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Wed, 17 Jul 2024 15:41:40 +0200 +Subject: [PATCH] allow to use + +For architectures without ucontext implementation it is possible +to use libucontext with this small adaptation. + +Signed-off-by: Waldemar Brodkorb +Upstream: https://mailman.openadk.org/mailman3/hyperkitty/list/devel@uclibc-ng.org/thread/MZCPGG56TL7SVOZY2L3AGHLREJ76BYZE/ +--- + include/ucontext.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/include/ucontext.h b/include/ucontext.h +index 4ce114ef1..76b4f375e 100644 +--- a/include/ucontext.h ++++ b/include/ucontext.h +@@ -23,11 +23,11 @@ + + #include + +-#ifdef __UCLIBC_HAS_CONTEXT_FUNCS__ +- + /* Get machine dependent definition of data structures. */ + #include + ++#ifdef __UCLIBC_HAS_CONTEXT_FUNCS__ ++ + __BEGIN_DECLS + + /* Get user context and store it in variable pointed to by UCP. */ +-- +2.30.2 + diff --git a/package/uemacs/02-Replace-cuserid.patch b/package/uemacs/02-Replace-cuserid.patch new file mode 100644 index 000000000..0e7eaf371 --- /dev/null +++ b/package/uemacs/02-Replace-cuserid.patch @@ -0,0 +1,34 @@ +From 289ccf8f0e77ae4f240eca988eb3a6ac19afbae9 Mon Sep 17 00:00:00 2001 +From: Thomas Bonnefille +Date: Fri, 17 Jan 2025 22:10:41 +0100 +Subject: [PATCH] Replace cuserid + +cuserid has been removed from some toolchains and is no longer in the +POSIX standard since 1990. getlogin has been in the standard since 2001. + +This commit uncomments the call to getlogin and thus replaces cuserid +with getlogin. + +Upstream: https://github.com/torvalds/uemacs/pull/46 +Signed-off-by: Thomas Bonnefille +--- + pklock.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/pklock.c b/pklock.c +index dc30b76..5f4865b 100644 +--- a/pklock.c ++++ b/pklock.c +@@ -80,8 +80,7 @@ char *dolock(char *fname) + } + if ((n = read(fd, locker, MAXNAME)) < 1) { + lseek(fd, 0, SEEK_SET); +-/* strcpy(locker, getlogin()); */ +- cuserid(locker); ++ strcpy(locker, getlogin()); + strcat(locker + strlen(locker), "@"); + gethostname(locker + strlen(locker), 64); + write(fd, locker, strlen(locker)); +-- +2.48.1 + diff --git a/package/ulogd/Config.in b/package/ulogd/Config.in index e0e199961..6631076ae 100644 --- a/package/ulogd/Config.in +++ b/package/ulogd/Config.in @@ -11,7 +11,7 @@ config BR2_PACKAGE_ULOGD ulogd is a userspace logging daemon for netfilter/iptables related logging. - http://www.netfilter.org/projects/ulogd/ + https://www.netfilter.org/projects/ulogd/ comment "ulogd needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS diff --git a/package/ulogd/ulogd.hash b/package/ulogd/ulogd.hash index 35b518b9c..8d729aeb8 100644 --- a/package/ulogd/ulogd.hash +++ b/package/ulogd/ulogd.hash @@ -1,4 +1,4 @@ -# From ftp://ftp.netfilter.org/pub/ulogd/ulogd-2.0.8.tar.bz2.sha256sum +# From https://www.netfilter.org/projects/ulogd/files/ulogd-2.0.8.tar.bz2.sha256sum sha256 4ead6c3970c3f57fa1e89fe2d7cc483ba6fe2bd1b08701521e0b3afd667df291 ulogd-2.0.8.tar.bz2 # Locally calculated diff --git a/package/ulogd/ulogd.mk b/package/ulogd/ulogd.mk index 2ebf076d9..8ef8ec570 100644 --- a/package/ulogd/ulogd.mk +++ b/package/ulogd/ulogd.mk @@ -6,7 +6,7 @@ ULOGD_VERSION = 2.0.8 ULOGD_SOURCE = ulogd-$(ULOGD_VERSION).tar.bz2 -ULOGD_SITE = http://www.netfilter.org/projects/ulogd/files +ULOGD_SITE = https://www.netfilter.org/projects/ulogd/files ULOGD_DEPENDENCIES = host-pkgconf \ libmnl libnetfilter_acct libnetfilter_conntrack libnetfilter_log \ libnfnetlink diff --git a/package/unbound/Config.in b/package/unbound/Config.in index ae2ebfd97..c8d697113 100644 --- a/package/unbound/Config.in +++ b/package/unbound/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_UNBOUND depends on !BR2_STATIC_LIBS select BR2_PACKAGE_EXPAT select BR2_PACKAGE_LIBEVENT + select BR2_PACKAGE_LIBOPENSSL_ENGINES if BR2_PACKAGE_LIBOPENSSL select BR2_PACKAGE_OPENSSL help Unbound is a validating, recursive, and caching DNS resolver. diff --git a/package/unbound/unbound.hash b/package/unbound/unbound.hash index 843026abc..d9397f698 100644 --- a/package/unbound/unbound.hash +++ b/package/unbound/unbound.hash @@ -1,5 +1,8 @@ -# From https://nlnetlabs.nl/downloads/unbound/unbound-1.19.1.tar.gz.sha256 -sha256 bc1d576f3dd846a0739adc41ffaa702404c6767d2b6082deb9f2f97cbb24a3a9 unbound-1.19.1.tar.gz +# From https://nlnetlabs.nl/downloads/unbound/unbound-1.21.1.tar.gz.sha256 +# After checking pgp signature from: +# https://nlnetlabs.nl/downloads/unbound/unbound-1.21.1.tar.gz.asc +# with key: 948EB42322C5D00B79340F5DCFF3344D9087A490 +sha256 3036d23c23622b36d3c87e943117bdec1ac8f819636eb978d806416b0fa9ea46 unbound-1.21.1.tar.gz # Locally calculated sha256 8eb9a16cbfb8703090bbfa3a2028fd46bb351509a2f90dc1001e51fbe6fd45db LICENSE diff --git a/package/unbound/unbound.mk b/package/unbound/unbound.mk index 5128d0e42..fb1570594 100644 --- a/package/unbound/unbound.mk +++ b/package/unbound/unbound.mk @@ -4,8 +4,8 @@ # ################################################################################ -UNBOUND_VERSION = 1.19.1 -UNBOUND_SITE = https://www.unbound.net/downloads +UNBOUND_VERSION = 1.21.1 +UNBOUND_SITE = https://nlnetlabs.nl/downloads/unbound UNBOUND_INSTALL_STAGING = YES UNBOUND_DEPENDENCIES = host-pkgconf expat libevent openssl UNBOUND_LICENSE = BSD-3-Clause @@ -54,4 +54,8 @@ define UNBOUND_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S70unbound endef +define UNBOUND_USERS + unbound -1 unbound -1 * /etc/unbound - - unbound daemon +endef + $(eval $(autotools-package)) diff --git a/package/usbredir/Config.in b/package/usbredir/Config.in index 6de6227e5..46ccac122 100644 --- a/package/usbredir/Config.in +++ b/package/usbredir/Config.in @@ -17,7 +17,7 @@ config BR2_PACKAGE_USBREDIR Note: only the library is installed, not the utilities. Say 'y' below if you want the tools too. - http://www.spice-space.org/page/UsbRedir + https://www.spice-space.org/usbredir.html if BR2_PACKAGE_USBREDIR diff --git a/package/usbutils/Config.in b/package/usbutils/Config.in index a38eb2f2e..7e7029bbf 100644 --- a/package/usbutils/Config.in +++ b/package/usbutils/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_USBUTILS depends on BR2_TOOLCHAIN_HAS_THREADS # libusb depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb depends on BR2_PACKAGE_HAS_UDEV # needs hwdb + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_LIBUSB help USB enumeration utilities diff --git a/package/usbutils/usbutils.mk b/package/usbutils/usbutils.mk index c2073df3b..368bd9fc8 100644 --- a/package/usbutils/usbutils.mk +++ b/package/usbutils/usbutils.mk @@ -11,6 +11,11 @@ USBUTILS_DEPENDENCIES = host-pkgconf libusb udev USBUTILS_LICENSE = GPL-2.0+ (utils) GPL-2.0 or GPL-3.0 (lsusb.py) USBUTILS_LICENSE_FILES = LICENSES/GPL-2.0-only.txt LICENSES/GPL-3.0-only.txt +ifeq ($(BR2_PACKAGE_LIBICONV),y) +USBUTILS_DEPENDENCIES += libiconv +USBUTILS_LDFLAGS += -liconv +endif + # Nice lsusb.py script only if there's python 3.x ifeq ($(BR2_PACKAGE_PYTHON3),) define USBUTILS_REMOVE_PYTHON diff --git a/package/util-linux/0001-sys-utils-setarch.c-fix-build-with-uclibc-ng-1.0.39.patch b/package/util-linux/0001-sys-utils-setarch.c-fix-build-with-uclibc-ng-1.0.39.patch new file mode 100644 index 000000000..12dd119ef --- /dev/null +++ b/package/util-linux/0001-sys-utils-setarch.c-fix-build-with-uclibc-ng-1.0.39.patch @@ -0,0 +1,39 @@ +From beef18da4de87ca5aaadf2beb14187f35cc4f50f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 15 May 2024 18:22:11 +0200 +Subject: [PATCH] sys-utils/setarch.c: fix build with uclibc-ng < 1.0.39 + +Fix the following build failure with uclibc-ng < 1.0.39 (i.e., without +https://github.com/wbx-github/uclibc-ng/commit/85ac4f04d94e98389a8315e720630d0f95bfdfd6) +raised since version 2.39 and +https://github.com/util-linux/util-linux/commit/03a254f010b08da1175f50a8ae7882e59228f1b4: + +sys-utils/setarch.c:106:7: error: 'PER_LINUX32_3GB' undeclared here (not in a function); did you mean 'PER_LINUX32'? + 106 | X(PER_LINUX32_3GB) \ + | ^~~~~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/fb1feb47f2660882fa53f66bacc63e191fd52175 + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/util-linux/util-linux/commit/4647fc6afbf7e99c49531600425df60f1243fcd2 +--- + sys-utils/setarch.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/sys-utils/setarch.c b/sys-utils/setarch.c +index 227bc6b5de..4bcb5e69e6 100644 +--- a/sys-utils/setarch.c ++++ b/sys-utils/setarch.c +@@ -89,6 +89,11 @@ + # define PER_LINUX_FDPIC (PER_LINUX | FDPIC_FUNCPTRS) + #endif + ++/* fallback for old uclibc-headers < 1.0.39 */ ++#ifndef PER_LINUX32_3GB ++# define PER_LINUX32_3GB (PER_LINUX32 | ADDR_LIMIT_3GB) ++#endif ++ + #define ALL_PERSONALITIES \ + X(PER_LINUX) \ + X(PER_LINUX_32BIT) \ diff --git a/package/uuu/Config.in.host b/package/uuu/Config.in.host index 0ed064feb..99f20ee07 100644 --- a/package/uuu/Config.in.host +++ b/package/uuu/Config.in.host @@ -12,7 +12,7 @@ config BR2_PACKAGE_HOST_UUU sudo sh -c "uuu -udev >> /etc/udev/rules.d/70-uuu.rules" sudo udevadm control --reload - https://github.com/NXPmicro/mfgtools + https://github.com/nxp-imx/mfgtools comment "host uuu needs a toolchain w/ host gcc >= 4.9" depends on !BR2_HOST_GCC_AT_LEAST_4_9 diff --git a/package/uuu/uuu.hash b/package/uuu/uuu.hash index e45cbb868..0f746a763 100644 --- a/package/uuu/uuu.hash +++ b/package/uuu/uuu.hash @@ -1,3 +1,3 @@ # locally computed -sha256 6e65fc028afacc94b805ae376e3da3864dcb2570d425037820e716207ab70373 uuu_source-uuu_1.5.165.tar.gz +sha256 fac38e93714181fbfb0ff52b9cd29395c7eb342def5c3857da87e5429beb3927 uuu_source-uuu_1.5.177.tar.gz sha256 cc8d47f7b9260f6669ecd41c24554c552f17581d81ee8fc602c6d23edb8bf495 LICENSE diff --git a/package/uuu/uuu.mk b/package/uuu/uuu.mk index 5800277b1..d9e4e148a 100644 --- a/package/uuu/uuu.mk +++ b/package/uuu/uuu.mk @@ -4,9 +4,9 @@ # ################################################################################ -UUU_VERSION = 1.5.165 +UUU_VERSION = 1.5.177 UUU_SOURCE = uuu_source-uuu_$(UUU_VERSION).tar.gz -UUU_SITE = https://github.com/NXPmicro/mfgtools/releases/download/uuu_$(UUU_VERSION) +UUU_SITE = https://github.com/nxp-imx/mfgtools/releases/download/uuu_$(UUU_VERSION) UUU_LICENSE = BSD 3-Clause "New" or "Revised" License UUU_LICENSE_FILES = LICENSE HOST_UUU_DEPENDENCIES = \ diff --git a/package/uvw/uvw.hash b/package/uvw/uvw.hash index 2dc6e879e..d346ac161 100644 --- a/package/uvw/uvw.hash +++ b/package/uvw/uvw.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 bd5aed741765950074b1ea2507291dce81e528abdf56c406991ad4a27d8d1714 uvw-3.2.0_libuv_v1.46.tar.gz -sha256 e2a4062818ab05e2a0908737ad49b7c01202247364e900167ac81105de8713f3 LICENSE +sha256 c16600573871a5feeb524234b378ab832c8971b2a68d030c6bd0e3077d416ade uvw-3.4.0_libuv_v1.48.tar.gz +sha256 5e439d0ad6e1b16f2f14023872c49cb2cf1b62a172c30b864cb45a5aa6533454 LICENSE diff --git a/package/uvw/uvw.mk b/package/uvw/uvw.mk index 12149d43c..a1eff0e4d 100644 --- a/package/uvw/uvw.mk +++ b/package/uvw/uvw.mk @@ -4,7 +4,7 @@ # ################################################################################ -UVW_VERSION = 3.2.0_libuv_v1.46 +UVW_VERSION = 3.4.0_libuv_v1.48 UVW_SITE = $(call github,skypjack,uvw,v$(UVW_VERSION)) UVW_INSTALL_STAGING = YES UVW_INSTALL_TARGET = NO diff --git a/package/v4l2loopback/v4l2loopback.mk b/package/v4l2loopback/v4l2loopback.mk index 50a168fca..e2dfcb02f 100644 --- a/package/v4l2loopback/v4l2loopback.mk +++ b/package/v4l2loopback/v4l2loopback.mk @@ -24,6 +24,7 @@ define V4L2LOOPBACK_LINUX_CONFIG_FIXUPS $(call KCONFIG_ENABLE_OPT,CONFIG_MEDIA_SUPPORT) $(call KCONFIG_ENABLE_OPT,CONFIG_I2C) $(call KCONFIG_ENABLE_OPT,CONFIG_VIDEO_DEV) + $(call KCONFIG_ENABLE_OPT,CONFIG_MEDIA_CAMERA_SUPPORT) endef $(eval $(kernel-module)) diff --git a/package/vala/vala.hash b/package/vala/vala.hash index b3716f085..a16875ac6 100644 --- a/package/vala/vala.hash +++ b/package/vala/vala.hash @@ -1,4 +1,4 @@ -# From https://download.gnome.org/sources/vala/0.56/vala-0.56.14.sha256sum -sha256 9382c268ca9bdc02aaedc8152a9818bf3935273041f629c56de410e360a3f557 vala-0.56.14.tar.xz +# From https://download.gnome.org/sources/vala/0.56/vala-0.56.17.sha256sum +sha256 26100c4e4ef0049c619275f140d97cf565883d00c7543c82bcce5a426934ed6a vala-0.56.17.tar.xz # Locally computed sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING diff --git a/package/vala/vala.mk b/package/vala/vala.mk index 415d996fa..85f928202 100644 --- a/package/vala/vala.mk +++ b/package/vala/vala.mk @@ -5,7 +5,7 @@ ################################################################################ VALA_VERSION_MAJOR = 0.56 -VALA_VERSION = $(VALA_VERSION_MAJOR).14 +VALA_VERSION = $(VALA_VERSION_MAJOR).17 VALA_SITE = http://download.gnome.org/sources/vala/$(VALA_VERSION_MAJOR) VALA_SOURCE = vala-$(VALA_VERSION).tar.xz VALA_LICENSE = LGPL-2.1+ @@ -15,7 +15,9 @@ VALA_CPE_ID_VENDOR = gnome HOST_VALA_DEPENDENCIES = host-bison host-flex host-libglib2 # Yes, the autoconf script understands ':' as "xsltproc is not # available". -HOST_VALA_CONF_ENV = ac_cv_path_XSLTPROC=: +HOST_VALA_CONF_ENV = \ + ac_cv_path_XSLTPROC=: \ + GI_GIRDIR="$(STAGING_DIR)/usr/share/gir-1.0" HOST_VALA_CONF_OPTS += --disable-valadoc # We wrap vala, valac and vapigen to point to the proper gir and vapi data dirs diff --git a/package/vdr-plugin-vnsiserver/Config.in b/package/vdr-plugin-vnsiserver/Config.in index 0a0ab8d37..7100b2432 100644 --- a/package/vdr-plugin-vnsiserver/Config.in +++ b/package/vdr-plugin-vnsiserver/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_VDR_PLUGIN_VNSISERVER depends on BR2_PACKAGE_VDR help VDR plugin to handle KODI clients. - The vdr-plugin-vnsiserver is able to handle serveral KODI + The vdr-plugin-vnsiserver is able to handle several KODI clients connecting via the VNSI addon. https://github.com/FernetMenta/vdr-plugin-vnsiserver diff --git a/package/vdr/vdr.hash b/package/vdr/vdr.hash index 1b7ced0b7..47179a990 100644 --- a/package/vdr/vdr.hash +++ b/package/vdr/vdr.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 70352c7558d627202c02e80d88c83d25d9df4c5e49a010f7d1d9ae631bd54ad0 vdr-2.6.3.tar.gz +sha256 293e355b2cc22e6152dae9c315d5b8903f3e647a2e60b6217d306ff4bceb83e1 vdr-2.6.5.tar.gz sha256 ddb9db7630752f8fdc6898f7c99a99eaeeac5213627ecb093df9c82f56175dc7 COPYING diff --git a/package/vdr/vdr.mk b/package/vdr/vdr.mk index a44e1ff51..c717d40e0 100644 --- a/package/vdr/vdr.mk +++ b/package/vdr/vdr.mk @@ -4,7 +4,7 @@ # ################################################################################ -VDR_VERSION = 2.6.3 +VDR_VERSION = 2.6.5 VDR_SITE = $(call github,vdr-projects,vdr,$(VDR_VERSION)) VDR_LICENSE = GPL-2.0+ VDR_LICENSE_FILES = COPYING diff --git a/package/vim/Config.in b/package/vim/Config.in index 1469be8db..16cf35e1b 100644 --- a/package/vim/Config.in +++ b/package/vim/Config.in @@ -15,7 +15,7 @@ config BR2_PACKAGE_VIM_RUNTIME bool "install runtime" default y help - Install VIM runtime (syntax highlighing + macros). + Install VIM runtime (syntax highlighting + macros). This option adds about 11MB of data to /usr/share/ endif diff --git a/package/vlc/vlc.hash b/package/vlc/vlc.hash index 40529bd66..b3d9a083b 100644 --- a/package/vlc/vlc.hash +++ b/package/vlc/vlc.hash @@ -1,7 +1,7 @@ -# From https://get.videolan.org/vlc/3.0.20/vlc-3.0.20.tar.xz.sha256 -sha256 adc7285b4d2721cddf40eb5270cada2aaa10a334cb546fd55a06353447ba29b5 vlc-3.0.20.tar.xz -# From https://get.videolan.org/vlc/3.0.20/vlc-3.0.20.tar.xz.sha1 -sha1 b834516ab701bf6311980ed5d67b77c834fdebe7 vlc-3.0.20.tar.xz +# From https://get.videolan.org/vlc/3.0.21/vlc-3.0.21.tar.xz.sha256 +sha256 24dbbe1d7dfaeea0994d5def0bbde200177347136dbfe573f5b6a4cee25afbb0 vlc-3.0.21.tar.xz +# From https://get.videolan.org/vlc/3.0.21/vlc-3.0.21.tar.xz.sha1 +sha1 be8557fc2f4be58caebe4a8b1d70f03dc6b95792 vlc-3.0.21.tar.xz # Locally computed sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/vlc/vlc.mk b/package/vlc/vlc.mk index d0fc1744c..a59761647 100644 --- a/package/vlc/vlc.mk +++ b/package/vlc/vlc.mk @@ -4,7 +4,7 @@ # ################################################################################ -VLC_VERSION = 3.0.20 +VLC_VERSION = 3.0.21 VLC_SITE = https://get.videolan.org/vlc/$(VLC_VERSION) VLC_SOURCE = vlc-$(VLC_VERSION).tar.xz VLC_LICENSE = GPL-2.0+, LGPL-2.1+ diff --git a/package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch b/package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch deleted file mode 100644 index c9667fedb..000000000 --- a/package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 3d5373575695b293b8559155431d0079a6153aff Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Mon, 5 Feb 2024 11:00:49 -0600 -Subject: [PATCH] =?UTF-8?q?[GTK]=20[2.42.5]=20LowLevelInterpreter.cpp:339:?= - =?UTF-8?q?21:=20error:=20=E2=80=98t6=E2=80=99=20was=20not=20declared=20in?= - =?UTF-8?q?=20this=20scope=20https://bugs.webkit.org/show=5Fbug.cgi=3Fid?= - =?UTF-8?q?=3D268739?= -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Unreviewed build fix. Seems a backport went badly, and we didn't notice -because the code is architecture-specific. - -* Source/JavaScriptCore/llint/LowLevelInterpreter.cpp: -(JSC::CLoop::execute): - -Upstream: https://github.com/WebKit/WebKit/commit/3d5373575695b293b8559155431d0079a6153aff -Signed-off-by: Peter Korsgaard ---- - Source/JavaScriptCore/llint/LowLevelInterpreter.cpp | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp -index 5064ead6cd2e..9a2e2653b121 100644 ---- a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp -+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp -@@ -336,8 +336,6 @@ JSValue CLoop::execute(OpcodeID entryOpcodeID, void* executableAddress, VM* vm, - UNUSED_VARIABLE(t2); - UNUSED_VARIABLE(t3); - UNUSED_VARIABLE(t5); -- UNUSED_VARIABLE(t6); -- UNUSED_VARIABLE(t7); - - struct StackPointerScope { - StackPointerScope(CLoopStack& stack) --- -2.39.2 - diff --git a/package/webkitgtk/Config.in b/package/webkitgtk/Config.in index ace1b8739..7d3ddaf79 100644 --- a/package/webkitgtk/Config.in +++ b/package/webkitgtk/Config.in @@ -16,11 +16,11 @@ config BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt -comment "webkitgtk needs libgtk3 and a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 10, host gcc >= 4.9" +comment "webkitgtk needs libgtk3 and a toolchain w/ C++, wchar, NPTL, dynamic library, gcc >= 10, host gcc >= 4.9" depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS depends on !BR2_BINFMT_FLAT depends on !BR2_PACKAGE_LIBGTK3 || !BR2_INSTALL_LIBSTDCPP || \ - !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ + !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_10 || \ !BR2_HOST_GCC_AT_LEAST_4_9 depends on BR2_USE_MMU @@ -29,9 +29,10 @@ config BR2_PACKAGE_WEBKITGTK bool "webkitgtk" depends on !BR2_STATIC_LIBS # wayland depends on !BR2_BINFMT_FLAT # icu + depends on BR2_PACKAGE_HAS_LIBEGL depends on BR2_HOST_GCC_AT_LEAST_4_9 # icu, host-ruby depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, icu, libsoup3 + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 depends on BR2_USE_WCHAR # icu, libsoup3 depends on BR2_PACKAGE_LIBGTK3 @@ -42,18 +43,17 @@ config BR2_PACKAGE_WEBKITGTK select BR2_PACKAGE_HARFBUZZ select BR2_PACKAGE_ICU select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBEPOXY select BR2_PACKAGE_LIBGCRYPT select BR2_PACKAGE_LIBSECRET select BR2_PACKAGE_LIBSOUP3 select BR2_PACKAGE_LIBTASN1 select BR2_PACKAGE_LIBXML2 select BR2_PACKAGE_LIBXSLT - select BR2_PACKAGE_OPENJPEG select BR2_PACKAGE_SQLITE select BR2_PACKAGE_WEBP select BR2_PACKAGE_WEBP_DEMUX select BR2_PACKAGE_WOFF2 - select BR2_PACKAGE_WPEBACKEND_FDO if BR2_PACKAGE_LIBGTK3_WAYLAND select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_LIBGTK3_X11 select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_LIBGTK3_X11 select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_LIBGTK3_X11 diff --git a/package/webkitgtk/webkitgtk.hash b/package/webkitgtk/webkitgtk.hash index ac4799d4c..49f758d6a 100644 --- a/package/webkitgtk/webkitgtk.hash +++ b/package/webkitgtk/webkitgtk.hash @@ -1,6 +1,6 @@ -# From https://www.webkitgtk.org/releases/webkitgtk-2.42.5.tar.xz.sums -sha1 c3ffb2beaac56f1089029f2254482f48d9e3db37 webkitgtk-2.42.5.tar.xz -sha256 b64278c1f20b8cfdbfb5ff573c37d871aba74a1db26d9b39f74e8953fe61e749 webkitgtk-2.42.5.tar.xz +# From https://www.webkitgtk.org/releases/webkitgtk-2.44.4.tar.xz.sums +sha1 3699ff9c9b84e755a0736e72dfd6e5a13151f7d6 webkitgtk-2.44.4.tar.xz +sha256 2ce4ec1b78413035037aba8326b31ed72696626b7bea7bace5e46ac0d8cbe796 webkitgtk-2.44.4.tar.xz # Hashes for license files: sha256 0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4 Source/WebCore/LICENSE-APPLE diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk index 075a36654..e482a4b18 100644 --- a/package/webkitgtk/webkitgtk.mk +++ b/package/webkitgtk/webkitgtk.mk @@ -4,7 +4,7 @@ # ################################################################################ -WEBKITGTK_VERSION = 2.42.5 +WEBKITGTK_VERSION = 2.44.4 WEBKITGTK_SITE = https://www.webkitgtk.org/releases WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz WEBKITGTK_INSTALL_STAGING = YES @@ -14,8 +14,8 @@ WEBKITGTK_LICENSE_FILES = \ Source/WebCore/LICENSE-LGPL-2.1 WEBKITGTK_CPE_ID_VENDOR = webkitgtk WEBKITGTK_DEPENDENCIES = host-ruby host-python3 host-gperf host-unifdef \ - enchant harfbuzz icu jpeg libgcrypt libgtk3 libsecret libsoup3 \ - libtasn1 libxml2 libxslt openjpeg sqlite webp woff2 + enchant harfbuzz icu jpeg libegl libepoxy libgcrypt libgtk3 libsecret \ + libsoup3 libtasn1 libxml2 libxslt sqlite webp woff2 WEBKITGTK_CMAKE_BACKEND = ninja @@ -28,8 +28,8 @@ WEBKITGTK_CONF_OPTS = \ -DENABLE_WEB_RTC=OFF \ -DPORT=GTK \ -DUSE_AVIF=OFF \ + -DUSE_GTK4=OFF \ -DUSE_LIBHYPHEN=OFF \ - -DUSE_OPENJPEG=ON \ -DUSE_WOFF2=ON ifeq ($(BR2_PACKAGE_WEBKITGTK_SANDBOX),y) @@ -45,12 +45,14 @@ endif ifeq ($(BR2_PACKAGE_WEBKITGTK_MULTIMEDIA),y) WEBKITGTK_CONF_OPTS += \ -DENABLE_VIDEO=ON \ - -DENABLE_WEB_AUDIO=ON -WEBKITGTK_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base + -DENABLE_WEB_AUDIO=ON \ + -DENABLE_WEB_CODECS=ON +WEBKITGTK_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-bad gst1-plugins-base else WEBKITGTK_CONF_OPTS += \ -DENABLE_VIDEO=OFF \ - -DENABLE_WEB_AUDIO=OFF + -DENABLE_WEB_AUDIO=OFF \ + -DENABLE_WEB_CODECS=OFF endif ifeq ($(BR2_PACKAGE_WEBKITGTK_WEBDRIVER),y) @@ -73,6 +75,20 @@ else WEBKITGTK_CONF_OPTS += -DENABLE_INTROSPECTION=OFF endif +ifeq ($(BR2_PACKAGE_LIBBACKTRACE),y) +WEBKITGTK_CONF_OPTS += -DUSE_LIBBACKTRACE=ON +WEBKITGTK_DEPENDENCIES += libbacktrace +else +WEBKITGTK_CONF_OPTS += -DUSE_LIBBACKTRACE=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBDRM),y) +WEBKITGTK_CONF_OPTS += -DUSE_LIBDRM=ON +WEBKITGTK_DEPENDENCIES += libdrm +else +WEBKITGTK_CONF_OPTS += -DUSE_LIBDRM=OFF +endif + ifeq ($(BR2_PACKAGE_LIBJXL),y) WEBKITGTK_CONF_OPTS += -DUSE_JPEGXL=ON WEBKITGTK_DEPENDENCIES += libjxl @@ -87,13 +103,6 @@ else WEBKITGTK_CONF_OPTS += -DENABLE_GAMEPAD=OFF endif -ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y) -WEBKITGTK_CONF_OPTS += -DUSE_OPENGL_OR_ES=ON -WEBKITGTK_DEPENDENCIES += libgles -else -WEBKITGTK_CONF_OPTS += -DUSE_OPENGL_OR_ES=OFF -endif - ifeq ($(BR2_PACKAGE_HAS_LIBGBM),y) WEBKITGTK_CONF_OPTS += -DUSE_GBM=ON WEBKITGTK_DEPENDENCIES += libgbm @@ -111,23 +120,10 @@ endif ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y) WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON -WEBKITGTK_DEPENDENCIES += libegl else WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=OFF endif -# If only the GTK Broadway backend is enabled, EGL is still needed. -ifeq ($(BR2_PACKAGE_LIBGTK3_X11):$(BR2_PACKAGE_LIBGTK3_WAYLAND):$(BR2_PACKAGE_LIBGTK3_BROADWAY),::y) -WEBKITGTK_DEPENDENCIES += libegl -endif - -ifeq ($(BR2_PACKAGE_WPEBACKEND_FDO),y) -WEBKITGTK_CONF_OPTS += -DUSE_WPE_RENDERER=ON -WEBKITGTK_DEPENDENCIES += wpebackend-fdo -else -WEBKITGTK_CONF_OPTS += -DUSE_WPE_RENDERER=OFF -endif - ifeq ($(BR2_PACKAGE_WEBKITGTK_USE_GSTREAMER_GL),y) WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=ON else @@ -145,14 +141,17 @@ endif # have a check for these processors. The same goes for ARMv5 and ARMv6. # Disable JIT forcibly here and use the CLoop interpreter instead. # -# Also, we have to disable the sampling profiler, which does NOT work -# with ENABLE_C_LOOP. +# Also, we have to disable the sampling profiler and webassembly, +# which does NOT work with ENABLE_C_LOOP. # # Upstream bugs: https://bugs.webkit.org/show_bug.cgi?id=191258 # https://bugs.webkit.org/show_bug.cgi?id=172765 +# https://bugs.webkit.org/show_bug.cgi?id=265218 # ifeq ($(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV6)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y) -WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON -DENABLE_SAMPLING_PROFILER=OFF +WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON \ + -DENABLE_SAMPLING_PROFILER=OFF \ + -DENABLE_WEBASSEMBLY=OFF endif $(eval $(cmake-package)) diff --git a/package/weston/Config.in b/package/weston/Config.in index db6a78ee8..a7929178c 100644 --- a/package/weston/Config.in +++ b/package/weston/Config.in @@ -129,10 +129,10 @@ config BR2_PACKAGE_WESTON_XWAYLAND depends on BR2_USE_MMU # xwayland depends on !BR2_STATIC_LIBS # xwayland depends on BR2_TOOLCHAIN_HAS_THREADS # xwayland - depends on !BR2_RISCV_32 # xwayland -> xlib_libxshmfence depends on BR2_TOOLCHAIN_HAS_SYNC_4 # xwayland -> xlib_libxshmfence select BR2_PACKAGE_CAIRO select BR2_PACKAGE_LIBXCB + select BR2_PACKAGE_XCB_UTIL_CURSOR select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXCURSOR select BR2_PACKAGE_XWAYLAND @@ -142,7 +142,6 @@ comment "XWayland support needs libepoxy and X.org enabled" comment "XWayland support needs a toolchain w/ threads, dynamic library" depends on BR2_USE_MMU - depends on !BR2_RISCV_32 depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/weston/weston.mk b/package/weston/weston.mk index b07e79876..b2d54b71b 100644 --- a/package/weston/weston.mk +++ b/package/weston/weston.mk @@ -108,7 +108,7 @@ WESTON_CONF_OPTS += -Dbackend-default=$(call qstrip,$(BR2_PACKAGE_WESTON_DEFAULT ifeq ($(BR2_PACKAGE_WESTON_XWAYLAND),y) WESTON_CONF_OPTS += -Dxwayland=true -WESTON_DEPENDENCIES += cairo libepoxy libxcb xlib_libX11 xlib_libXcursor xwayland +WESTON_DEPENDENCIES += cairo libepoxy libxcb xcb-util-cursor xlib_libX11 xlib_libXcursor xwayland else WESTON_CONF_OPTS += -Dxwayland=false endif diff --git a/package/wget/wget.hash b/package/wget/wget.hash index 75c3a913d..da71b49d0 100644 --- a/package/wget/wget.hash +++ b/package/wget/wget.hash @@ -1,8 +1,8 @@ -# From https://lists.gnu.org/archive/html/bug-wget/2023-05/msg00004.html -sha1 42384273c1937458c9db3766a5509afa636a2f00 wget-1.21.4.tar.lz +# From https://lists.gnu.org/archive/html/bug-wget/2024-11/msg00002.html +sha1 ca79e61fbf1d32133f60ef7c7d476b250b6da423 wget-1.25.0.tar.lz # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/wget/wget-1.21.4.tar.lz.sig +# https://ftp.gnu.org/gnu/wget/wget-1.25.0.tar.lz.sig # with key 6B98F637D879C5236E277C5C64FF90AAE8C70AF9 -sha256 3683619a5f50edcbccb1720a79006fa37bf9b9a255a8c5b48048bc3c7a874bd9 wget-1.21.4.tar.lz +sha256 19225cc756b0a088fc81148dc6a40a0c8f329af7fd8483f1c7b2fe50f4e08a1f wget-1.25.0.tar.lz # Locally calculated sha256 f7dc7522e7e1be9227f3dc8de8b39a4d1d2471968c893af15f00c1a2076a0eec COPYING diff --git a/package/wget/wget.mk b/package/wget/wget.mk index d2d308796..e3143647d 100644 --- a/package/wget/wget.mk +++ b/package/wget/wget.mk @@ -4,7 +4,7 @@ # ################################################################################ -WGET_VERSION = 1.21.4 +WGET_VERSION = 1.25.0 WGET_SOURCE = wget-$(WGET_VERSION).tar.lz WGET_SITE = $(BR2_GNU_MIRROR)/wget WGET_DEPENDENCIES = host-pkgconf diff --git a/package/wilc-firmware/Config.in b/package/wilc-firmware/Config.in index 72a9c7320..813a75ecf 100644 --- a/package/wilc-firmware/Config.in +++ b/package/wilc-firmware/Config.in @@ -11,7 +11,7 @@ config BR2_PACKAGE_WILC1000_FIRMWARE These binary blobs are provided directly from Microchip. Ideally, the firmware version should match driver version. - Generally, the latest firmware would be acceptible regardless + Generally, the latest firmware would be acceptable regardless of driver version. These will be installed to /lib/firmware/mchp/ @@ -26,7 +26,7 @@ config BR2_PACKAGE_WILC3000_FIRMWARE These binary blobs are provided directly from Microchip. Ideally, the firmware version should match driver version. - Generally, the latest firmware would be acceptible regardless + Generally, the latest firmware would be acceptable regardless of driver version. These will be installed to /lib/firmware/mchp/ diff --git a/package/wireshark/wireshark.hash b/package/wireshark/wireshark.hash index 6610eb778..bda95ab7e 100644 --- a/package/wireshark/wireshark.hash +++ b/package/wireshark/wireshark.hash @@ -1,6 +1,6 @@ -# From https://www.wireshark.org/download/src/all-versions/SIGNATURES-4.0.12.txt -sha1 e00d90769995bf786b05c05bdd9a2c6c8e372e70 wireshark-4.0.12.tar.xz -sha256 e4e3d618ba11e159fb163f0dc4716a8b72a065aafd1111db9405332552a5a115 wireshark-4.0.12.tar.xz +# From https://www.wireshark.org/download/src/all-versions/SIGNATURES-4.0.17.txt +sha1 0853c04000d0c1fb4928b731966e25898afe1a46 wireshark-4.0.17.tar.xz +sha256 5968c25979e84a9d1fafc4f37fffb77296830311a712d6df28f2bdeec0740627 wireshark-4.0.17.tar.xz # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/wireshark/wireshark.mk b/package/wireshark/wireshark.mk index 3759f9bf9..3cd1b3e53 100644 --- a/package/wireshark/wireshark.mk +++ b/package/wireshark/wireshark.mk @@ -4,7 +4,7 @@ # ################################################################################ -WIRESHARK_VERSION = 4.0.12 +WIRESHARK_VERSION = 4.0.17 WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.xz WIRESHARK_SITE = https://www.wireshark.org/download/src/all-versions WIRESHARK_LICENSE = wireshark license diff --git a/package/wlroots/Config.in b/package/wlroots/Config.in index 7622a3033..f0f53a82c 100644 --- a/package/wlroots/Config.in +++ b/package/wlroots/Config.in @@ -49,7 +49,6 @@ config BR2_PACKAGE_WLROOTS_XWAYLAND depends on BR2_USE_MMU # xwayland depends on !BR2_STATIC_LIBS # xwayland depends on BR2_TOOLCHAIN_HAS_THREADS # xwayland - depends on !BR2_RISCV_32 # xwayland -> xlib_libxshmfence depends on BR2_TOOLCHAIN_HAS_SYNC_4 # xwayland -> xlib_libxshmfence select BR2_PACKAGE_LIBXCB select BR2_PACKAGE_XCB_UTIL_WM @@ -62,7 +61,6 @@ comment "XWayland support needs X.org enabled" comment "XWayland support needs a toolchain w/ threads, dynamic library" depends on BR2_USE_MMU - depends on !BR2_RISCV_32 depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/wolfssl/wolfssl.hash b/package/wolfssl/wolfssl.hash index 59e42e98b..9a1e8bfd4 100644 --- a/package/wolfssl/wolfssl.hash +++ b/package/wolfssl/wolfssl.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 75aaafe3b8c776d1ac417288116c8d444115f9fac5acb382a39a7d163dfd618d wolfssl-5.6.6.tar.gz +sha256 0f2ed82e345b833242705bbc4b08a2a2037a33f7bf9c610efae6464f6b10e305 wolfssl-5.7.2.tar.gz # Hash for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/wolfssl/wolfssl.mk b/package/wolfssl/wolfssl.mk index 68c69afd5..91ab7ca08 100644 --- a/package/wolfssl/wolfssl.mk +++ b/package/wolfssl/wolfssl.mk @@ -4,17 +4,22 @@ # ################################################################################ -WOLFSSL_VERSION = 5.6.6 -WOLFSSL_SITE = https://github.com/wolfSSL/wolfssl/releases/download/v$(WOLFSSL_VERSION)-stable +WOLFSSL_VERSION = 5.7.2 +WOLFSSL_SITE = $(call github,wolfSSL,wolfssl,v$(WOLFSSL_VERSION)-stable) WOLFSSL_INSTALL_STAGING = YES WOLFSSL_LICENSE = GPL-2.0+ WOLFSSL_LICENSE_FILES = COPYING LICENSING WOLFSSL_CPE_ID_VENDOR = wolfssl WOLFSSL_CONFIG_SCRIPTS = wolfssl-config +# From git +WOLFSSL_AUTORECONF = YES WOLFSSL_DEPENDENCIES = host-pkgconf -WOLFSSL_CONF_OPTS = --disable-examples --disable-crypttests +WOLFSSL_CONF_OPTS = \ + --disable-examples \ + --disable-crypttests \ + --disable-option-checking ifeq ($(BR2_PACKAGE_WOLFSSL_ALL),y) WOLFSSL_CONF_OPTS += --enable-all diff --git a/package/wpebackend-fdo/wpebackend-fdo.hash b/package/wpebackend-fdo/wpebackend-fdo.hash index 26ba12172..5055998ab 100644 --- a/package/wpebackend-fdo/wpebackend-fdo.hash +++ b/package/wpebackend-fdo/wpebackend-fdo.hash @@ -1,6 +1,7 @@ -# From https://wpewebkit.org/releases/wpebackend-fdo-1.14.2.tar.xz.sums -sha1 f453f8d77e93f4ac6ac81c1874d4d6bdcb45c253 wpebackend-fdo-1.14.2.tar.xz -sha256 93c9766ae9864eeaeaee2b0a74f22cbca08df42c1a1bdb55b086f2528e380d38 wpebackend-fdo-1.14.2.tar.xz +# From https://wpewebkit.org/releases/wpebackend-fdo-1.14.3.tar.xz.sums +md5 ab73398b1e35495977e50bee103969d2 wpebackend-fdo-1.14.3.tar.xz +sha1 2d2945df15cc1efa957657fa727f3bc4c6f580bb wpebackend-fdo-1.14.3.tar.xz +sha256 10121842595a850291db3e82f3db0b9984df079022d386ce42c2b8508159dc6c wpebackend-fdo-1.14.3.tar.xz # Hashes for license files: sha256 c9f6803371047fad3e72200ec6cd226329a5ee08ac61104c8211c2761fb46825 COPYING diff --git a/package/wpebackend-fdo/wpebackend-fdo.mk b/package/wpebackend-fdo/wpebackend-fdo.mk index 7ef347b62..dbabacf49 100644 --- a/package/wpebackend-fdo/wpebackend-fdo.mk +++ b/package/wpebackend-fdo/wpebackend-fdo.mk @@ -4,7 +4,7 @@ # ################################################################################ -WPEBACKEND_FDO_VERSION = 1.14.2 +WPEBACKEND_FDO_VERSION = 1.14.3 WPEBACKEND_FDO_SITE = https://wpewebkit.org/releases WPEBACKEND_FDO_SOURCE = wpebackend-fdo-$(WPEBACKEND_FDO_VERSION).tar.xz WPEBACKEND_FDO_INSTALL_STAGING = YES diff --git a/package/wpewebkit/0001-FELightningNEON.cpp-fails-to-build-NEON-fast-path-se.patch b/package/wpewebkit/0001-FELightningNEON.cpp-fails-to-build-NEON-fast-path-se.patch deleted file mode 100644 index 17d495765..000000000 --- a/package/wpewebkit/0001-FELightningNEON.cpp-fails-to-build-NEON-fast-path-se.patch +++ /dev/null @@ -1,337 +0,0 @@ -From 5ba2d275457c4fdf1efdcca8351792400bda5679 Mon Sep 17 00:00:00 2001 -From: Adrian Perez de Castro -Date: Thu, 2 Jun 2022 11:19:06 +0300 -Subject: [PATCH] FELightningNEON.cpp fails to build, NEON fast path seems - unused https://bugs.webkit.org/show_bug.cgi?id=241182 - -Reviewed by NOBODY (OOPS!). - -Move the NEON fast path for the SVG lighting filter effects into -FELightingSoftwareApplier, and arrange to actually use them by -forwarding calls to applyPlatformGeneric() into applyPlatformNeon(). - -Some changes were needed to adapt platformApplyNeon() to the current -state of filters after r286140. This was not detected because the code -bitrotted due to it being guarded with CPU(ARM_TRADITIONAL), which does -not get used much these days: CPU(ARM_THUMB2) is more common. It should -be possible to use the NEON fast paths also in Thumb mode, but that is -left for a follow-up fix. - -* Source/WebCore/Sources.txt: -* Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp: -(WebCore::FELightingSoftwareApplier::platformApplyNeonWorker): -(WebCore::FELightingSoftwareApplier::getPowerCoefficients): -(WebCore::FELighting::platformApplyNeonWorker): Deleted. -(WebCore::FELighting::getPowerCoefficients): Deleted. -* Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h: -(WebCore::FELightingSoftwareApplier::applyPlatformNeon): -(WebCore::FELighting::platformApplyNeon): Deleted. -* Source/WebCore/platform/graphics/filters/DistantLightSource.h: -* Source/WebCore/platform/graphics/filters/FELighting.h: -* Source/WebCore/platform/graphics/filters/PointLightSource.h: -* Source/WebCore/platform/graphics/filters/SpotLightSource.h: -* Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h: - -Signed-off-by: Adrian Perez de Castro -Upstream: https://bugs.webkit.org/show_bug.cgi?id=241182 ---- - Source/WebCore/Sources.txt | 1 + - .../cpu/arm/filters/FELightingNEON.cpp | 6 +-- - .../graphics/cpu/arm/filters/FELightingNEON.h | 54 +++++++++---------- - .../graphics/filters/DistantLightSource.h | 4 ++ - .../platform/graphics/filters/FELighting.h | 7 --- - .../graphics/filters/PointLightSource.h | 4 ++ - .../graphics/filters/SpotLightSource.h | 4 ++ - .../software/FELightingSoftwareApplier.h | 16 ++++++ - 8 files changed, 59 insertions(+), 37 deletions(-) - -diff --git a/Source/WebCore/Sources.txt b/Source/WebCore/Sources.txt -index 9ca28a7b2bc0..ed2c7f9f41ee 100644 ---- a/Source/WebCore/Sources.txt -+++ b/Source/WebCore/Sources.txt -@@ -2303,6 +2303,7 @@ platform/graphics/controls/MeterPart.cpp - platform/graphics/controls/ProgressBarPart.cpp - platform/graphics/controls/SliderTrackPart.cpp - platform/graphics/cpu/arm/filters/FEBlendNeonApplier.cpp -+platform/graphics/cpu/arm/filters/FELightingNEON.cpp - platform/graphics/displaylists/DisplayList.cpp - platform/graphics/displaylists/DisplayListDrawingContext.cpp - platform/graphics/displaylists/DisplayListItems.cpp -diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp -index f6ff8c20a5a8..dced3d55eb4e 100644 ---- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp -+++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp -@@ -35,7 +35,7 @@ namespace WebCore { - // ALPHAX_Q ALPHAY_Q REMAPX_D REMAPY_D - - --static alignas(16) short s_FELightingConstantsForNeon[] = { -+alignas(16) static short s_FELightingConstantsForNeon[] = { - // Alpha coefficients. - -2, 1, 0, -1, 2, 1, 0, -1, - 0, -1, -2, -1, 0, 1, 2, 1, -@@ -49,7 +49,7 @@ short* feLightingConstantsForNeon() - return s_FELightingConstantsForNeon; - } - --void FELighting::platformApplyNeonWorker(FELightingPaintingDataForNeon* parameters) -+void FELightingSoftwareApplier::platformApplyNeonWorker(FELightingPaintingDataForNeon* parameters) - { - neonDrawLighting(parameters); - } -@@ -464,7 +464,7 @@ TOSTRING(neonDrawLighting) ":" NL - "b .lightStrengthCalculated" NL - ); // NOLINT - --int FELighting::getPowerCoefficients(float exponent) -+int FELightingSoftwareApplier::getPowerCoefficients(float exponent) - { - // Calling a powf function from the assembly code would require to save - // and reload a lot of NEON registers. Since the base is in range [0..1] -diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h -index b17c603d40d3..fd23e31cce29 100644 ---- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h -+++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h -@@ -24,14 +24,15 @@ - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - --#ifndef FELightingNEON_h --#define FELightingNEON_h -+#pragma once - - #if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE) - --#include "FELighting.h" -+#include "FELightingSoftwareApplier.h" -+#include "ImageBuffer.h" - #include "PointLightSource.h" - #include "SpotLightSource.h" -+#include - #include - - namespace WebCore { -@@ -93,14 +94,14 @@ extern "C" { - void neonDrawLighting(FELightingPaintingDataForNeon*); - } - --inline void FELighting::platformApplyNeon(const LightingData& data, const LightSource::PaintingData& paintingData) -+inline void FELightingSoftwareApplier::applyPlatformNeon(const FELightingSoftwareApplier::LightingData& data, const LightSource::PaintingData& paintingData) - { -- alignas(16) FELightingFloatArgumentsForNeon floatArguments; -- FELightingPaintingDataForNeon neonData = { -- data.pixels->data(), -+ alignas(16) WebCore::FELightingFloatArgumentsForNeon floatArguments; -+ WebCore::FELightingPaintingDataForNeon neonData = { -+ data.pixels->bytes(), - 1, -- data.widthDecreasedByOne - 1, -- data.heightDecreasedByOne - 1, -+ data.width - 2, -+ data.height - 2, - 0, - 0, - 0, -@@ -111,23 +112,23 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS - // Set light source arguments. - floatArguments.constOne = 1; - -- auto color = m_lightingColor.toColorTypeLossy>().resolved(); -+ auto color = data.lightingColor.toColorTypeLossy>().resolved(); - - floatArguments.colorRed = color.red; - floatArguments.colorGreen = color.green; - floatArguments.colorBlue = color.blue; - floatArguments.padding4 = 0; - -- if (m_lightSource->type() == LS_POINT) { -+ if (data.lightSource->type() == LS_POINT) { - neonData.flags |= FLAG_POINT_LIGHT; -- PointLightSource& pointLightSource = static_cast(m_lightSource.get()); -+ const auto& pointLightSource = *static_cast(data.lightSource); - floatArguments.lightX = pointLightSource.position().x(); - floatArguments.lightY = pointLightSource.position().y(); - floatArguments.lightZ = pointLightSource.position().z(); - floatArguments.padding2 = 0; -- } else if (m_lightSource->type() == LS_SPOT) { -+ } else if (data.lightSource->type() == LS_SPOT) { - neonData.flags |= FLAG_SPOT_LIGHT; -- SpotLightSource& spotLightSource = static_cast(m_lightSource.get()); -+ const auto& spotLightSource = *static_cast(data.lightSource); - floatArguments.lightX = spotLightSource.position().x(); - floatArguments.lightY = spotLightSource.position().y(); - floatArguments.lightZ = spotLightSource.position().z(); -@@ -145,7 +146,7 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS - if (spotLightSource.specularExponent() == 1) - neonData.flags |= FLAG_CONE_EXPONENT_IS_1; - } else { -- ASSERT(m_lightSource->type() == LS_DISTANT); -+ ASSERT(data.lightSource->type() == LS_DISTANT); - floatArguments.lightX = paintingData.initialLightingData.lightVector.x(); - floatArguments.lightY = paintingData.initialLightingData.lightVector.y(); - floatArguments.lightZ = paintingData.initialLightingData.lightVector.z(); -@@ -155,38 +156,39 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS - // Set lighting arguments. - floatArguments.surfaceScale = data.surfaceScale; - floatArguments.minusSurfaceScaleDividedByFour = -data.surfaceScale / 4; -- if (m_lightingType == FELighting::DiffuseLighting) -- floatArguments.diffuseConstant = m_diffuseConstant; -+ if (data.filterType == FilterEffect::Type::FEDiffuseLighting) -+ floatArguments.diffuseConstant = data.diffuseConstant; - else { - neonData.flags |= FLAG_SPECULAR_LIGHT; -- floatArguments.diffuseConstant = m_specularConstant; -- neonData.specularExponent = getPowerCoefficients(m_specularExponent); -- if (m_specularExponent == 1) -+ floatArguments.diffuseConstant = data.specularConstant; -+ neonData.specularExponent = getPowerCoefficients(data.specularExponent); -+ if (data.specularExponent == 1) - neonData.flags |= FLAG_SPECULAR_EXPONENT_IS_1; - } - if (floatArguments.diffuseConstant == 1) - neonData.flags |= FLAG_DIFFUSE_CONST_IS_1; - -- int optimalThreadNumber = ((data.widthDecreasedByOne - 1) * (data.heightDecreasedByOne - 1)) / s_minimalRectDimension; -+ static constexpr int minimalRectDimension = 100 * 100; // Empirical data limit for parallel jobs -+ int optimalThreadNumber = ((data.width - 2) * (data.height - 2)) / minimalRectDimension; - if (optimalThreadNumber > 1) { - // Initialize parallel jobs -- ParallelJobs parallelJobs(&WebCore::FELighting::platformApplyNeonWorker, optimalThreadNumber); -+ ParallelJobs parallelJobs(&FELightingSoftwareApplier::platformApplyNeonWorker, optimalThreadNumber); - - // Fill the parameter array - int job = parallelJobs.numberOfJobs(); - if (job > 1) { - int yStart = 1; -- int yStep = (data.heightDecreasedByOne - 1) / job; -+ int yStep = (data.height - 2) / job; - for (--job; job >= 0; --job) { - FELightingPaintingDataForNeon& params = parallelJobs.parameter(job); - params = neonData; - params.yStart = yStart; -- params.pixels += (yStart - 1) * (data.widthDecreasedByOne + 1) * 4; -+ params.pixels += (yStart - 1) * data.width * 4; - if (job > 0) { - params.absoluteHeight = yStep; - yStart += yStep; - } else -- params.absoluteHeight = data.heightDecreasedByOne - yStart; -+ params.absoluteHeight = (data.height - 1) - yStart; - } - parallelJobs.execute(); - return; -@@ -199,5 +201,3 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS - } // namespace WebCore - - #endif // CPU(ARM_NEON) && COMPILER(GCC_COMPATIBLE) -- --#endif // FELightingNEON_h -diff --git a/Source/WebCore/platform/graphics/filters/DistantLightSource.h b/Source/WebCore/platform/graphics/filters/DistantLightSource.h -index 70f583b36e2c..7d5d27e5ccf8 100644 ---- a/Source/WebCore/platform/graphics/filters/DistantLightSource.h -+++ b/Source/WebCore/platform/graphics/filters/DistantLightSource.h -@@ -26,6 +26,10 @@ - #include - #include - -+namespace WTF { -+class TextStream; -+} // namespace WTF -+ - namespace WebCore { - - class DistantLightSource : public LightSource { -diff --git a/Source/WebCore/platform/graphics/filters/FELighting.h b/Source/WebCore/platform/graphics/filters/FELighting.h -index 179edf6dba24..694d712d56fd 100644 ---- a/Source/WebCore/platform/graphics/filters/FELighting.h -+++ b/Source/WebCore/platform/graphics/filters/FELighting.h -@@ -35,8 +35,6 @@ - - namespace WebCore { - --struct FELightingPaintingDataForNeon; -- - class FELighting : public FilterEffect { - public: - bool operator==(const FELighting&) const; -@@ -68,11 +66,6 @@ protected: - - std::unique_ptr createSoftwareApplier() const override; - --#if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE) -- static int getPowerCoefficients(float exponent); -- inline void platformApplyNeon(const LightingData&, const LightSource::PaintingData&); --#endif -- - Color m_lightingColor; - float m_surfaceScale; - float m_diffuseConstant; -diff --git a/Source/WebCore/platform/graphics/filters/PointLightSource.h b/Source/WebCore/platform/graphics/filters/PointLightSource.h -index a8cfdab895a9..34f867bba237 100644 ---- a/Source/WebCore/platform/graphics/filters/PointLightSource.h -+++ b/Source/WebCore/platform/graphics/filters/PointLightSource.h -@@ -26,6 +26,10 @@ - #include "LightSource.h" - #include - -+namespace WTF { -+class TextStream; -+} // namespace WTF -+ - namespace WebCore { - - class PointLightSource : public LightSource { -diff --git a/Source/WebCore/platform/graphics/filters/SpotLightSource.h b/Source/WebCore/platform/graphics/filters/SpotLightSource.h -index 6404467a5b6f..5cac38f22362 100644 ---- a/Source/WebCore/platform/graphics/filters/SpotLightSource.h -+++ b/Source/WebCore/platform/graphics/filters/SpotLightSource.h -@@ -26,6 +26,10 @@ - #include "LightSource.h" - #include - -+namespace WTF { -+class TextStream; -+} // namespace WTF -+ - namespace WebCore { - - class SpotLightSource : public LightSource { -diff --git a/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h b/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h -index c974d92115ff..e2896660cfbd 100644 ---- a/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h -+++ b/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h -@@ -36,6 +36,7 @@ - namespace WebCore { - - class FELighting; -+struct FELightingPaintingDataForNeon; - - class FELightingSoftwareApplier final : public FilterEffectConcreteApplier { - WTF_MAKE_FAST_ALLOCATED; -@@ -132,8 +133,23 @@ private: - - static void applyPlatformGenericPaint(const LightingData&, const LightSource::PaintingData&, int startY, int endY); - static void applyPlatformGenericWorker(ApplyParameters*); -+ -+#if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE) -+ static int getPowerCoefficients(float exponent); -+ static void platformApplyNeonWorker(FELightingPaintingDataForNeon*); -+ inline static void applyPlatformNeon(const LightingData&, const LightSource::PaintingData&); -+ -+ inline static void applyPlatformGeneric(const LightingData& data, const LightSource::PaintingData& paintingData) -+ { -+ applyPlatformNeon(data, paintingData); -+ } -+#else - static void applyPlatformGeneric(const LightingData&, const LightSource::PaintingData&); -+#endif -+ - static void applyPlatform(const LightingData&); - }; - - } // namespace WebCore -+ -+#include "FELightingNEON.h" --- -2.43.1 - diff --git a/package/wpewebkit/0002-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch b/package/wpewebkit/0002-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch deleted file mode 100644 index a15d9e647..000000000 --- a/package/wpewebkit/0002-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 3d5373575695b293b8559155431d0079a6153aff Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Mon, 5 Feb 2024 11:00:49 -0600 -Subject: [PATCH] =?UTF-8?q?[GTK]=20[2.42.5]=20LowLevelInterpreter.cpp:339:?= - =?UTF-8?q?21:=20error:=20=E2=80=98t6=E2=80=99=20was=20not=20declared=20in?= - =?UTF-8?q?=20this=20scope=20https://bugs.webkit.org/show=5Fbug.cgi=3Fid?= - =?UTF-8?q?=3D268739?= -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Unreviewed build fix. Seems a backport went badly, and we didn't notice -because the code is architecture-specific. - -* Source/JavaScriptCore/llint/LowLevelInterpreter.cpp: -(JSC::CLoop::execute): - -Upstream: https://github.com/WebKit/WebKit/commit/3d5373575695b293b8559155431d0079a6153aff -Signed-off-by: Adrian Perez de Castro ---- - Source/JavaScriptCore/llint/LowLevelInterpreter.cpp | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp -index 5064ead6cd2e..9a2e2653b121 100644 ---- a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp -+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp -@@ -336,8 +336,6 @@ JSValue CLoop::execute(OpcodeID entryOpcodeID, void* executableAddress, VM* vm, - UNUSED_VARIABLE(t2); - UNUSED_VARIABLE(t3); - UNUSED_VARIABLE(t5); -- UNUSED_VARIABLE(t6); -- UNUSED_VARIABLE(t7); - - struct StackPointerScope { - StackPointerScope(CLoopStack& stack) --- -2.43.1 - diff --git a/package/wpewebkit/Config.in b/package/wpewebkit/Config.in index 432aa4c3a..6b83bf6ec 100644 --- a/package/wpewebkit/Config.in +++ b/package/wpewebkit/Config.in @@ -16,11 +16,11 @@ config BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt -comment "wpewebkit needs a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 10, host gcc >= 4.9" +comment "wpewebkit needs a toolchain w/ C++, wchar, NPTL, dynamic library, gcc >= 10, host gcc >= 4.9" depends on BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS depends on !BR2_BINFMT_FLAT depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR \ - || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \ + || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \ || !BR2_TOOLCHAIN_GCC_AT_LEAST_10 \ || !BR2_HOST_GCC_AT_LEAST_4_9 @@ -36,7 +36,7 @@ config BR2_PACKAGE_WPEWEBKIT depends on !BR2_BINFMT_FLAT # icu depends on BR2_HOST_GCC_AT_LEAST_4_9 # icu, host-ruby depends on BR2_INSTALL_LIBSTDCPP # harfbuzz, icu - depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, icu, libsoup3 + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 depends on BR2_USE_WCHAR # icu, libsoup3 depends on BR2_PACKAGE_HAS_LIBGLES # libepoxy @@ -54,7 +54,6 @@ config BR2_PACKAGE_WPEWEBKIT select BR2_PACKAGE_LIBSOUP3 select BR2_PACKAGE_LIBTASN1 select BR2_PACKAGE_LIBXSLT - select BR2_PACKAGE_OPENJPEG select BR2_PACKAGE_WAYLAND select BR2_PACKAGE_WAYLAND_PROTOCOLS select BR2_PACKAGE_WEBP diff --git a/package/wpewebkit/wpewebkit.hash b/package/wpewebkit/wpewebkit.hash index 71e41bb1d..7a7cef15a 100644 --- a/package/wpewebkit/wpewebkit.hash +++ b/package/wpewebkit/wpewebkit.hash @@ -1,6 +1,7 @@ -# From https://wpewebkit.org/releases/wpewebkit-2.42.5.tar.xz.sums -sha1 50a18f43452520e9f34f84c04bc0166af655ffff wpewebkit-2.42.5.tar.xz -sha256 4dbab6c5e6dc0c65a3d7dffc1c2390be5f9abd423faf983fe3a55fe081df0532 wpewebkit-2.42.5.tar.xz +# From https://wpewebkit.org/releases/wpewebkit-2.44.4.tar.xz.sums +md5 4d91f3ff629c9356dcff866b68a4646f wpewebkit-2.44.4.tar.xz +sha1 ef1ea0484e9ec17a362afe9a709fe0754f05cc14 wpewebkit-2.44.4.tar.xz +sha256 cd6042c63a6f883cc1586e5cea94e846aaaee6a864c14988e8af4ef4f362ba3b wpewebkit-2.44.4.tar.xz # Hashes for license files: sha256 0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4 Source/WebCore/LICENSE-APPLE diff --git a/package/wpewebkit/wpewebkit.mk b/package/wpewebkit/wpewebkit.mk index 442709848..a2b4bc402 100644 --- a/package/wpewebkit/wpewebkit.mk +++ b/package/wpewebkit/wpewebkit.mk @@ -5,7 +5,7 @@ ################################################################################ # The middle number is even for stable releases, odd for development ones. -WPEWEBKIT_VERSION = 2.42.5 +WPEWEBKIT_VERSION = 2.44.4 WPEWEBKIT_SITE = https://wpewebkit.org/releases WPEWEBKIT_SOURCE = wpewebkit-$(WPEWEBKIT_VERSION).tar.xz WPEWEBKIT_INSTALL_STAGING = YES @@ -17,18 +17,18 @@ WPEWEBKIT_CPE_ID_VENDOR = wpewebkit WPEWEBKIT_CPE_ID_PRODUCT = wpe_webkit WPEWEBKIT_DEPENDENCIES = host-gperf host-python3 host-ruby host-unifdef \ harfbuzz cairo icu jpeg libepoxy libgcrypt libgles libsoup3 libtasn1 \ - libpng libxslt openjpeg wayland-protocols webp wpebackend-fdo + libpng libxslt wayland-protocols webp wpebackend-fdo WPEWEBKIT_CMAKE_BACKEND = ninja WPEWEBKIT_CONF_OPTS = \ -DPORT=WPE \ - -DENABLE_ACCESSIBILITY=OFF \ -DENABLE_API_TESTS=OFF \ -DENABLE_DOCUMENTATION=OFF \ -DENABLE_INTROSPECTION=OFF \ -DENABLE_MINIBROWSER=OFF \ -DENABLE_WEB_RTC=OFF \ + -DUSE_ATK=OFF \ -DUSE_AVIF=OFF ifeq ($(BR2_PACKAGE_WPEWEBKIT_SANDBOX),y) @@ -44,12 +44,14 @@ endif ifeq ($(BR2_PACKAGE_WPEWEBKIT_MULTIMEDIA),y) WPEWEBKIT_CONF_OPTS += \ -DENABLE_VIDEO=ON \ - -DENABLE_WEB_AUDIO=ON + -DENABLE_WEB_AUDIO=ON \ + -DENABLE_WEB_CODECS=ON WPEWEBKIT_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base else WPEWEBKIT_CONF_OPTS += \ -DENABLE_VIDEO=OFF \ - -DENABLE_WEB_AUDIO=OFF + -DENABLE_WEB_AUDIO=OFF \ + -DENABLE_WEB_CODECS=OFF endif ifeq ($(BR2_PACKAGE_WPEWEBKIT_MEDIA_STREAM),y) @@ -78,6 +80,20 @@ else WPEWEBKIT_CONF_OPTS += -DUSE_LCMS=OFF endif +ifeq ($(BR2_PACKAGE_LIBBACKTRACE),y) +WPEWEBKIT_CONF_OPTS += -DUSE_LIBBACKTRACE=ON +WPEWEBKIT_DEPENDENCIES += libbacktrace +else +WPEWEBKIT_CONF_OPTS += -DUSE_LIBBACKTRACE=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBDRM),y) +WPEWEBKIT_CONF_OPTS += -DUSE_LIBDRM=ON +WPEWEBKIT_DEPENDENCIES += libdrm +else +WPEWEBKIT_CONF_OPTS += -DUSE_LIBDRM=OFF +endif + ifeq ($(BR2_PACKAGE_WOFF2),y) WPEWEBKIT_CONF_OPTS += -DUSE_WOFF2=ON WPEWEBKIT_DEPENDENCIES += woff2 @@ -110,14 +126,19 @@ endif # have a check for these processors. The same goes for ARMv5 and ARMv6. # Disable JIT forcibly here and use the CLoop interpreter instead. # -# Also, we have to disable the sampling profiler, which does NOT work -# with ENABLE_C_LOOP. +# Also, we have to disable the sampling profiler and WebAssembly, which +# do NOT work with ENABLE_C_LOOP. # # Upstream bugs: https://bugs.webkit.org/show_bug.cgi?id=191258 # https://bugs.webkit.org/show_bug.cgi?id=172765 +# https://bugs.webkit.org/show_bug.cgi?id=265218 # ifeq ($(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV6)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y) -WPEWEBKIT_CONF_OPTS += -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON -DENABLE_SAMPLING_PROFILER=OFF +WPEWEBKIT_CONF_OPTS += \ + -DENABLE_JIT=OFF \ + -DENABLE_C_LOOP=ON \ + -DENABLE_SAMPLING_PROFILER=OFF \ + -DENABLE_WEBASSEMBLY=OFF endif $(eval $(cmake-package)) diff --git a/package/x11r7/Config.in b/package/x11r7/Config.in index b91f97bb3..0002dfe59 100644 --- a/package/x11r7/Config.in +++ b/package/x11r7/Config.in @@ -11,232 +11,232 @@ menuconfig BR2_PACKAGE_XORG7 if BR2_PACKAGE_XORG7 menu "X11R7 Servers" - source package/x11r7/xserver_xorg-server/Config.in - source package/x11r7/xwayland/Config.in + source "package/x11r7/xserver_xorg-server/Config.in" + source "package/x11r7/xwayland/Config.in" endmenu menu "X11R7 Libraries" - source package/x11r7/libxcb/Config.in - source package/x11r7/xcb-util/Config.in - source package/x11r7/xcb-util-cursor/Config.in - source package/x11r7/xcb-util-image/Config.in - source package/x11r7/xcb-util-keysyms/Config.in - source package/x11r7/xcb-util-renderutil/Config.in - source package/x11r7/xcb-util-wm/Config.in - source package/x11r7/xlib_libFS/Config.in - source package/x11r7/xlib_libICE/Config.in - source package/x11r7/xlib_libSM/Config.in - source package/x11r7/xlib_libX11/Config.in - source package/x11r7/xlib_libXScrnSaver/Config.in - source package/x11r7/xlib_libXau/Config.in - source package/x11r7/xlib_libXaw/Config.in - source package/x11r7/xlib_libXcomposite/Config.in - source package/x11r7/xlib_libXcursor/Config.in - source package/x11r7/xlib_libXdamage/Config.in - source package/x11r7/xlib_libXdmcp/Config.in - source package/x11r7/xlib_libXext/Config.in - source package/x11r7/xlib_libXfixes/Config.in - source package/x11r7/xlib_libXfont/Config.in - source package/x11r7/xlib_libXfont2/Config.in - source package/x11r7/xlib_libXft/Config.in - source package/x11r7/xlib_libXi/Config.in - source package/x11r7/xlib_libXinerama/Config.in - source package/x11r7/xlib_libXmu/Config.in - source package/x11r7/xlib_libXpm/Config.in - source package/x11r7/xlib_libXpresent/Config.in - source package/x11r7/xlib_libXrandr/Config.in - source package/x11r7/xlib_libXrender/Config.in - source package/x11r7/xlib_libXres/Config.in - source package/x11r7/xlib_libXt/Config.in - source package/x11r7/xlib_libXtst/Config.in - source package/x11r7/xlib_libXv/Config.in - source package/x11r7/xlib_libXvMC/Config.in - source package/x11r7/xlib_libXxf86dga/Config.in - source package/x11r7/xlib_libXxf86vm/Config.in - source package/x11r7/xlib_libdmx/Config.in - source package/x11r7/xlib_libfontenc/Config.in - source package/x11r7/xlib_libxcvt/Config.in - source package/x11r7/xlib_libxkbfile/Config.in - source package/x11r7/xlib_libxshmfence/Config.in - source package/x11r7/xlib_xtrans/Config.in + source "package/x11r7/libxcb/Config.in" + source "package/x11r7/xcb-util/Config.in" + source "package/x11r7/xcb-util-cursor/Config.in" + source "package/x11r7/xcb-util-image/Config.in" + source "package/x11r7/xcb-util-keysyms/Config.in" + source "package/x11r7/xcb-util-renderutil/Config.in" + source "package/x11r7/xcb-util-wm/Config.in" + source "package/x11r7/xlib_libFS/Config.in" + source "package/x11r7/xlib_libICE/Config.in" + source "package/x11r7/xlib_libSM/Config.in" + source "package/x11r7/xlib_libX11/Config.in" + source "package/x11r7/xlib_libXScrnSaver/Config.in" + source "package/x11r7/xlib_libXau/Config.in" + source "package/x11r7/xlib_libXaw/Config.in" + source "package/x11r7/xlib_libXcomposite/Config.in" + source "package/x11r7/xlib_libXcursor/Config.in" + source "package/x11r7/xlib_libXdamage/Config.in" + source "package/x11r7/xlib_libXdmcp/Config.in" + source "package/x11r7/xlib_libXext/Config.in" + source "package/x11r7/xlib_libXfixes/Config.in" + source "package/x11r7/xlib_libXfont/Config.in" + source "package/x11r7/xlib_libXfont2/Config.in" + source "package/x11r7/xlib_libXft/Config.in" + source "package/x11r7/xlib_libXi/Config.in" + source "package/x11r7/xlib_libXinerama/Config.in" + source "package/x11r7/xlib_libXmu/Config.in" + source "package/x11r7/xlib_libXpm/Config.in" + source "package/x11r7/xlib_libXpresent/Config.in" + source "package/x11r7/xlib_libXrandr/Config.in" + source "package/x11r7/xlib_libXrender/Config.in" + source "package/x11r7/xlib_libXres/Config.in" + source "package/x11r7/xlib_libXt/Config.in" + source "package/x11r7/xlib_libXtst/Config.in" + source "package/x11r7/xlib_libXv/Config.in" + source "package/x11r7/xlib_libXvMC/Config.in" + source "package/x11r7/xlib_libXxf86dga/Config.in" + source "package/x11r7/xlib_libXxf86vm/Config.in" + source "package/x11r7/xlib_libdmx/Config.in" + source "package/x11r7/xlib_libfontenc/Config.in" + source "package/x11r7/xlib_libxcvt/Config.in" + source "package/x11r7/xlib_libxkbfile/Config.in" + source "package/x11r7/xlib_libxshmfence/Config.in" + source "package/x11r7/xlib_xtrans/Config.in" endmenu menu "X11R7 Applications" - source package/x11r7/xapp_appres/Config.in - source package/x11r7/xapp_bdftopcf/Config.in - source package/x11r7/xapp_beforelight/Config.in - source package/x11r7/xapp_bitmap/Config.in - source package/x11r7/xapp_editres/Config.in - source package/x11r7/xapp_fonttosfnt/Config.in - source package/x11r7/xapp_fslsfonts/Config.in - source package/x11r7/xapp_fstobdf/Config.in - source package/x11r7/xapp_iceauth/Config.in - source package/x11r7/xapp_ico/Config.in - source package/x11r7/xapp_listres/Config.in - source package/x11r7/xapp_luit/Config.in - source package/x11r7/xapp_mkfontscale/Config.in - source package/x11r7/xapp_oclock/Config.in - source package/x11r7/xapp_rgb/Config.in - source package/x11r7/xapp_rstart/Config.in - source package/x11r7/xapp_scripts/Config.in - source package/x11r7/xapp_sessreg/Config.in - source package/x11r7/xapp_setxkbmap/Config.in - source package/x11r7/xapp_showfont/Config.in - source package/x11r7/xapp_smproxy/Config.in - source package/x11r7/xapp_twm/Config.in - source package/x11r7/xapp_viewres/Config.in - source package/x11r7/xapp_x11perf/Config.in - source package/x11r7/xapp_xauth/Config.in - source package/x11r7/xapp_xbacklight/Config.in - source package/x11r7/xapp_xbiff/Config.in - source package/x11r7/xapp_xcalc/Config.in - source package/x11r7/xapp_xclipboard/Config.in - source package/x11r7/xapp_xclock/Config.in - source package/x11r7/xapp_xcmsdb/Config.in - source package/x11r7/xapp_xcompmgr/Config.in - source package/x11r7/xapp_xconsole/Config.in - source package/x11r7/xapp_xcursorgen/Config.in - source package/x11r7/xapp_xdbedizzy/Config.in - source package/x11r7/xapp_xditview/Config.in - source package/x11r7/xapp_xdm/Config.in - source package/x11r7/xapp_xdpyinfo/Config.in - source package/x11r7/xapp_xdriinfo/Config.in - source package/x11r7/xapp_xedit/Config.in - source package/x11r7/xapp_xev/Config.in - source package/x11r7/xapp_xeyes/Config.in - source package/x11r7/xapp_xf86dga/Config.in - source package/x11r7/xapp_xfd/Config.in - source package/x11r7/xapp_xfindproxy/Config.in - source package/x11r7/xapp_xfontsel/Config.in - source package/x11r7/xapp_xfs/Config.in - source package/x11r7/xapp_xfsinfo/Config.in - source package/x11r7/xapp_xgamma/Config.in - source package/x11r7/xapp_xgc/Config.in - source package/x11r7/xapp_xhost/Config.in - source package/x11r7/xapp_xinit/Config.in - source package/x11r7/xapp_xinput/Config.in - source package/x11r7/xapp_xinput-calibrator/Config.in - source package/x11r7/xapp_xkbcomp/Config.in - source package/x11r7/xapp_xkbevd/Config.in - source package/x11r7/xapp_xkbprint/Config.in - source package/x11r7/xapp_xkbutils/Config.in - source package/x11r7/xapp_xkill/Config.in - source package/x11r7/xapp_xload/Config.in - source package/x11r7/xapp_xlogo/Config.in - source package/x11r7/xapp_xlsatoms/Config.in - source package/x11r7/xapp_xlsclients/Config.in - source package/x11r7/xapp_xlsfonts/Config.in - source package/x11r7/xapp_xmag/Config.in - source package/x11r7/xapp_xman/Config.in - source package/x11r7/xapp_xmessage/Config.in - source package/x11r7/xapp_xmh/Config.in - source package/x11r7/xapp_xmodmap/Config.in - source package/x11r7/xapp_xmore/Config.in - source package/x11r7/xapp_xpr/Config.in - source package/x11r7/xapp_xprop/Config.in - source package/x11r7/xapp_xrandr/Config.in - source package/x11r7/xapp_xrdb/Config.in - source package/x11r7/xapp_xrefresh/Config.in - source package/x11r7/xapp_xset/Config.in - source package/x11r7/xapp_xsetmode/Config.in - source package/x11r7/xapp_xsetpointer/Config.in - source package/x11r7/xapp_xsetroot/Config.in - source package/x11r7/xapp_xsm/Config.in - source package/x11r7/xapp_xstdcmap/Config.in - source package/x11r7/xapp_xvidtune/Config.in - source package/x11r7/xapp_xvinfo/Config.in - source package/x11r7/xapp_xwd/Config.in - source package/x11r7/xapp_xwininfo/Config.in - source package/x11r7/xapp_xwud/Config.in + source "package/x11r7/xapp_appres/Config.in" + source "package/x11r7/xapp_bdftopcf/Config.in" + source "package/x11r7/xapp_beforelight/Config.in" + source "package/x11r7/xapp_bitmap/Config.in" + source "package/x11r7/xapp_editres/Config.in" + source "package/x11r7/xapp_fonttosfnt/Config.in" + source "package/x11r7/xapp_fslsfonts/Config.in" + source "package/x11r7/xapp_fstobdf/Config.in" + source "package/x11r7/xapp_iceauth/Config.in" + source "package/x11r7/xapp_ico/Config.in" + source "package/x11r7/xapp_listres/Config.in" + source "package/x11r7/xapp_luit/Config.in" + source "package/x11r7/xapp_mkfontscale/Config.in" + source "package/x11r7/xapp_oclock/Config.in" + source "package/x11r7/xapp_rgb/Config.in" + source "package/x11r7/xapp_rstart/Config.in" + source "package/x11r7/xapp_scripts/Config.in" + source "package/x11r7/xapp_sessreg/Config.in" + source "package/x11r7/xapp_setxkbmap/Config.in" + source "package/x11r7/xapp_showfont/Config.in" + source "package/x11r7/xapp_smproxy/Config.in" + source "package/x11r7/xapp_twm/Config.in" + source "package/x11r7/xapp_viewres/Config.in" + source "package/x11r7/xapp_x11perf/Config.in" + source "package/x11r7/xapp_xauth/Config.in" + source "package/x11r7/xapp_xbacklight/Config.in" + source "package/x11r7/xapp_xbiff/Config.in" + source "package/x11r7/xapp_xcalc/Config.in" + source "package/x11r7/xapp_xclipboard/Config.in" + source "package/x11r7/xapp_xclock/Config.in" + source "package/x11r7/xapp_xcmsdb/Config.in" + source "package/x11r7/xapp_xcompmgr/Config.in" + source "package/x11r7/xapp_xconsole/Config.in" + source "package/x11r7/xapp_xcursorgen/Config.in" + source "package/x11r7/xapp_xdbedizzy/Config.in" + source "package/x11r7/xapp_xditview/Config.in" + source "package/x11r7/xapp_xdm/Config.in" + source "package/x11r7/xapp_xdpyinfo/Config.in" + source "package/x11r7/xapp_xdriinfo/Config.in" + source "package/x11r7/xapp_xedit/Config.in" + source "package/x11r7/xapp_xev/Config.in" + source "package/x11r7/xapp_xeyes/Config.in" + source "package/x11r7/xapp_xf86dga/Config.in" + source "package/x11r7/xapp_xfd/Config.in" + source "package/x11r7/xapp_xfindproxy/Config.in" + source "package/x11r7/xapp_xfontsel/Config.in" + source "package/x11r7/xapp_xfs/Config.in" + source "package/x11r7/xapp_xfsinfo/Config.in" + source "package/x11r7/xapp_xgamma/Config.in" + source "package/x11r7/xapp_xgc/Config.in" + source "package/x11r7/xapp_xhost/Config.in" + source "package/x11r7/xapp_xinit/Config.in" + source "package/x11r7/xapp_xinput/Config.in" + source "package/x11r7/xapp_xinput-calibrator/Config.in" + source "package/x11r7/xapp_xkbcomp/Config.in" + source "package/x11r7/xapp_xkbevd/Config.in" + source "package/x11r7/xapp_xkbprint/Config.in" + source "package/x11r7/xapp_xkbutils/Config.in" + source "package/x11r7/xapp_xkill/Config.in" + source "package/x11r7/xapp_xload/Config.in" + source "package/x11r7/xapp_xlogo/Config.in" + source "package/x11r7/xapp_xlsatoms/Config.in" + source "package/x11r7/xapp_xlsclients/Config.in" + source "package/x11r7/xapp_xlsfonts/Config.in" + source "package/x11r7/xapp_xmag/Config.in" + source "package/x11r7/xapp_xman/Config.in" + source "package/x11r7/xapp_xmessage/Config.in" + source "package/x11r7/xapp_xmh/Config.in" + source "package/x11r7/xapp_xmodmap/Config.in" + source "package/x11r7/xapp_xmore/Config.in" + source "package/x11r7/xapp_xpr/Config.in" + source "package/x11r7/xapp_xprop/Config.in" + source "package/x11r7/xapp_xrandr/Config.in" + source "package/x11r7/xapp_xrdb/Config.in" + source "package/x11r7/xapp_xrefresh/Config.in" + source "package/x11r7/xapp_xset/Config.in" + source "package/x11r7/xapp_xsetmode/Config.in" + source "package/x11r7/xapp_xsetpointer/Config.in" + source "package/x11r7/xapp_xsetroot/Config.in" + source "package/x11r7/xapp_xsm/Config.in" + source "package/x11r7/xapp_xstdcmap/Config.in" + source "package/x11r7/xapp_xvidtune/Config.in" + source "package/x11r7/xapp_xvinfo/Config.in" + source "package/x11r7/xapp_xwd/Config.in" + source "package/x11r7/xapp_xwininfo/Config.in" + source "package/x11r7/xapp_xwud/Config.in" endmenu if BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR menu "X11R7 Drivers" - source package/x11r7/xdriver_xf86-input-evdev/Config.in - source package/x11r7/xdriver_xf86-input-joystick/Config.in - source package/x11r7/xdriver_xf86-input-libinput/Config.in - source package/x11r7/xdriver_xf86-input-mouse/Config.in - source package/x11r7/xdriver_xf86-input-synaptics/Config.in - source package/x11r7/xdriver_xf86-input-tslib/Config.in - source package/x11r7/xdriver_xf86-input-vmmouse/Config.in - source package/x11r7/xdriver_xf86-video-amdgpu/Config.in - source package/x11r7/xdriver_xf86-video-ark/Config.in - source package/x11r7/xdriver_xf86-video-ast/Config.in - source package/x11r7/xdriver_xf86-video-ati/Config.in - source package/x11r7/xdriver_xf86-video-cirrus/Config.in - source package/x11r7/xdriver_xf86-video-dummy/Config.in - source package/x11r7/xdriver_xf86-video-fbdev/Config.in - source package/x11r7/xdriver_xf86-video-fbturbo/Config.in - source package/x11r7/xdriver_xf86-video-geode/Config.in - source package/x11r7/xdriver_xf86-video-i128/Config.in - source package/x11r7/xdriver_xf86-video-imx/Config.in - source package/x11r7/xdriver_xf86-video-intel/Config.in - source package/x11r7/xdriver_xf86-video-mach64/Config.in - source package/x11r7/xdriver_xf86-video-mga/Config.in - source package/x11r7/xdriver_xf86-video-neomagic/Config.in - source package/x11r7/xdriver_xf86-video-nouveau/Config.in - source package/x11r7/xdriver_xf86-video-nv/Config.in - source package/x11r7/xdriver_xf86-video-openchrome/Config.in - source package/x11r7/xdriver_xf86-video-qxl/Config.in - source package/x11r7/xdriver_xf86-video-r128/Config.in - source package/x11r7/xdriver_xf86-video-savage/Config.in - source package/x11r7/xdriver_xf86-video-siliconmotion/Config.in - source package/x11r7/xdriver_xf86-video-sis/Config.in - source package/x11r7/xdriver_xf86-video-tdfx/Config.in - source package/x11r7/xdriver_xf86-video-trident/Config.in - source package/x11r7/xdriver_xf86-video-vesa/Config.in - source package/x11r7/xdriver_xf86-video-vmware/Config.in - source package/x11r7/xdriver_xf86-video-voodoo/Config.in + source "package/x11r7/xdriver_xf86-input-evdev/Config.in" + source "package/x11r7/xdriver_xf86-input-joystick/Config.in" + source "package/x11r7/xdriver_xf86-input-libinput/Config.in" + source "package/x11r7/xdriver_xf86-input-mouse/Config.in" + source "package/x11r7/xdriver_xf86-input-synaptics/Config.in" + source "package/x11r7/xdriver_xf86-input-tslib/Config.in" + source "package/x11r7/xdriver_xf86-input-vmmouse/Config.in" + source "package/x11r7/xdriver_xf86-video-amdgpu/Config.in" + source "package/x11r7/xdriver_xf86-video-ark/Config.in" + source "package/x11r7/xdriver_xf86-video-ast/Config.in" + source "package/x11r7/xdriver_xf86-video-ati/Config.in" + source "package/x11r7/xdriver_xf86-video-cirrus/Config.in" + source "package/x11r7/xdriver_xf86-video-dummy/Config.in" + source "package/x11r7/xdriver_xf86-video-fbdev/Config.in" + source "package/x11r7/xdriver_xf86-video-fbturbo/Config.in" + source "package/x11r7/xdriver_xf86-video-geode/Config.in" + source "package/x11r7/xdriver_xf86-video-i128/Config.in" + source "package/x11r7/xdriver_xf86-video-imx/Config.in" + source "package/x11r7/xdriver_xf86-video-intel/Config.in" + source "package/x11r7/xdriver_xf86-video-mach64/Config.in" + source "package/x11r7/xdriver_xf86-video-mga/Config.in" + source "package/x11r7/xdriver_xf86-video-neomagic/Config.in" + source "package/x11r7/xdriver_xf86-video-nouveau/Config.in" + source "package/x11r7/xdriver_xf86-video-nv/Config.in" + source "package/x11r7/xdriver_xf86-video-openchrome/Config.in" + source "package/x11r7/xdriver_xf86-video-qxl/Config.in" + source "package/x11r7/xdriver_xf86-video-r128/Config.in" + source "package/x11r7/xdriver_xf86-video-savage/Config.in" + source "package/x11r7/xdriver_xf86-video-siliconmotion/Config.in" + source "package/x11r7/xdriver_xf86-video-sis/Config.in" + source "package/x11r7/xdriver_xf86-video-tdfx/Config.in" + source "package/x11r7/xdriver_xf86-video-trident/Config.in" + source "package/x11r7/xdriver_xf86-video-vesa/Config.in" + source "package/x11r7/xdriver_xf86-video-vmware/Config.in" + source "package/x11r7/xdriver_xf86-video-voodoo/Config.in" endmenu endif menu "X11R7 Fonts" - source package/x11r7/xfont_font-util/Config.in - source package/x11r7/xfont_encodings/Config.in - source package/x11r7/xfont_font-adobe-100dpi/Config.in - source package/x11r7/xfont_font-adobe-75dpi/Config.in - source package/x11r7/xfont_font-adobe-utopia-100dpi/Config.in - source package/x11r7/xfont_font-adobe-utopia-75dpi/Config.in - source package/x11r7/xfont_font-adobe-utopia-type1/Config.in - source package/x11r7/xfont_font-alias/Config.in - source package/x11r7/xfont_font-arabic-misc/Config.in - source package/x11r7/xfont_font-bh-100dpi/Config.in - source package/x11r7/xfont_font-bh-75dpi/Config.in - source package/x11r7/xfont_font-bh-lucidatypewriter-100dpi/Config.in - source package/x11r7/xfont_font-bh-lucidatypewriter-75dpi/Config.in - source package/x11r7/xfont_font-bh-ttf/Config.in - source package/x11r7/xfont_font-bh-type1/Config.in - source package/x11r7/xfont_font-bitstream-100dpi/Config.in - source package/x11r7/xfont_font-bitstream-75dpi/Config.in - source package/x11r7/xfont_font-bitstream-type1/Config.in - source package/x11r7/xfont_font-cronyx-cyrillic/Config.in - source package/x11r7/xfont_font-cursor-misc/Config.in - source package/x11r7/xfont_font-daewoo-misc/Config.in - source package/x11r7/xfont_font-dec-misc/Config.in - source package/x11r7/xfont_font-ibm-type1/Config.in - source package/x11r7/xfont_font-isas-misc/Config.in - source package/x11r7/xfont_font-jis-misc/Config.in - source package/x11r7/xfont_font-micro-misc/Config.in - source package/x11r7/xfont_font-misc-cyrillic/Config.in - source package/x11r7/xfont_font-misc-ethiopic/Config.in - source package/x11r7/xfont_font-misc-meltho/Config.in - source package/x11r7/xfont_font-misc-misc/Config.in - source package/x11r7/xfont_font-mutt-misc/Config.in - source package/x11r7/xfont_font-schumacher-misc/Config.in - source package/x11r7/xfont_font-screen-cyrillic/Config.in - source package/x11r7/xfont_font-sony-misc/Config.in - source package/x11r7/xfont_font-sun-misc/Config.in - source package/x11r7/xfont_font-winitzki-cyrillic/Config.in - source package/x11r7/xfont_font-xfree86-type1/Config.in + source "package/x11r7/xfont_font-util/Config.in" + source "package/x11r7/xfont_encodings/Config.in" + source "package/x11r7/xfont_font-adobe-100dpi/Config.in" + source "package/x11r7/xfont_font-adobe-75dpi/Config.in" + source "package/x11r7/xfont_font-adobe-utopia-100dpi/Config.in" + source "package/x11r7/xfont_font-adobe-utopia-75dpi/Config.in" + source "package/x11r7/xfont_font-adobe-utopia-type1/Config.in" + source "package/x11r7/xfont_font-alias/Config.in" + source "package/x11r7/xfont_font-arabic-misc/Config.in" + source "package/x11r7/xfont_font-bh-100dpi/Config.in" + source "package/x11r7/xfont_font-bh-75dpi/Config.in" + source "package/x11r7/xfont_font-bh-lucidatypewriter-100dpi/Config.in" + source "package/x11r7/xfont_font-bh-lucidatypewriter-75dpi/Config.in" + source "package/x11r7/xfont_font-bh-ttf/Config.in" + source "package/x11r7/xfont_font-bh-type1/Config.in" + source "package/x11r7/xfont_font-bitstream-100dpi/Config.in" + source "package/x11r7/xfont_font-bitstream-75dpi/Config.in" + source "package/x11r7/xfont_font-bitstream-type1/Config.in" + source "package/x11r7/xfont_font-cronyx-cyrillic/Config.in" + source "package/x11r7/xfont_font-cursor-misc/Config.in" + source "package/x11r7/xfont_font-daewoo-misc/Config.in" + source "package/x11r7/xfont_font-dec-misc/Config.in" + source "package/x11r7/xfont_font-ibm-type1/Config.in" + source "package/x11r7/xfont_font-isas-misc/Config.in" + source "package/x11r7/xfont_font-jis-misc/Config.in" + source "package/x11r7/xfont_font-micro-misc/Config.in" + source "package/x11r7/xfont_font-misc-cyrillic/Config.in" + source "package/x11r7/xfont_font-misc-ethiopic/Config.in" + source "package/x11r7/xfont_font-misc-meltho/Config.in" + source "package/x11r7/xfont_font-misc-misc/Config.in" + source "package/x11r7/xfont_font-mutt-misc/Config.in" + source "package/x11r7/xfont_font-schumacher-misc/Config.in" + source "package/x11r7/xfont_font-screen-cyrillic/Config.in" + source "package/x11r7/xfont_font-sony-misc/Config.in" + source "package/x11r7/xfont_font-sun-misc/Config.in" + source "package/x11r7/xfont_font-winitzki-cyrillic/Config.in" + source "package/x11r7/xfont_font-xfree86-type1/Config.in" endmenu menu "X11R7 X protocols" - source package/x11r7/xcb-proto/Config.in - source package/x11r7/xorgproto/Config.in + source "package/x11r7/xcb-proto/Config.in" + source "package/x11r7/xorgproto/Config.in" endmenu menu "X11R7 Utilities" - source package/x11r7/xutil_makedepend/Config.in - source package/x11r7/mcookie/Config.in + source "package/x11r7/xutil_makedepend/Config.in" + source "package/x11r7/mcookie/Config.in" endmenu menu "X11R7 Other data" - source package/x11r7/xdata_xbitmaps/Config.in - source package/x11r7/xdata_xcursor-themes/Config.in - source package/x11r7/xcursor-transparent-theme/Config.in + source "package/x11r7/xdata_xbitmaps/Config.in" + source "package/x11r7/xdata_xcursor-themes/Config.in" + source "package/x11r7/xcursor-transparent-theme/Config.in" endmenu endif diff --git a/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.mk b/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.mk index db0bbbaf6..616566f9a 100644 --- a/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.mk +++ b/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.mk @@ -19,7 +19,7 @@ XDRIVER_XF86_VIDEO_QXL_DEPENDENCIES = \ xorgproto \ xserver_xorg-server -# configure doesn't look for drm headers in the appropiate place, so help it +# configure doesn't look for drm headers in the appropriate place, so help it # libdrm is only useful with udev for KMS ifeq ($(BR2_PACKAGE_HAS_UDEV),y) XDRIVER_XF86_VIDEO_QXL_CONF_ENV += REQUIRED_MODULES=libdrm diff --git a/package/x11r7/xlib_libxshmfence/0001-src-xshmfence_futex.h-fix-build-on-32-bit-architectu.patch b/package/x11r7/xlib_libxshmfence/0001-src-xshmfence_futex.h-fix-build-on-32-bit-architectu.patch new file mode 100644 index 000000000..40a796c4f --- /dev/null +++ b/package/x11r7/xlib_libxshmfence/0001-src-xshmfence_futex.h-fix-build-on-32-bit-architectu.patch @@ -0,0 +1,46 @@ +From 4fca45a71f08a5bebd12d39c85f49e0b0e4426bf Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt +Date: Fri, 5 Apr 2024 10:45:15 +0200 +Subject: [PATCH] src/xshmfence_futex.h: fix build on 32-bit architectures + using 64-bit time_t + +Fix the following build failure on 32-bit architectures using 64-bit +time_t (e.g. riscv32): + +xshmfence_futex.h: In function 'sys_futex': +xshmfence_futex.h:58:24: error: 'SYS_futex' undeclared (first use in this function); did you mean 'sys_futex'? + 58 | return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3); + | ^~~~~~~~~ + | sys_futex + +Similar to: +https://gitlab.freedesktop.org/mesa/mesa/-/commit/7d87478124061915582412ba410759afe863d679 + +Fixes: +https://gitlab.com/buildroot.org/buildroot/-/commit/e39ad96136a8c340b3aea6b036024e28f14584f3 + +Signed-off-by: Thomas Devoogdt +Part-of: +Upstream: https://gitlab.freedesktop.org/xorg/lib/libxshmfence/-/commit/4fca45a71f08a5bebd12d39c85f49e0b0e4426bf +--- + src/xshmfence_futex.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/xshmfence_futex.h b/src/xshmfence_futex.h +index 673ac0e..4476038 100644 +--- a/src/xshmfence_futex.h ++++ b/src/xshmfence_futex.h +@@ -53,6 +53,10 @@ static inline int futex_wait(int32_t *addr, int32_t value) { + #include + #include + ++#if defined(SYS_futex_time64) && !defined(SYS_futex) ++#define SYS_futex SYS_futex_time64 ++#endif ++ + static inline long sys_futex(void *addr1, int op, int val1, struct timespec *timeout, void *addr2, int val3) + { + return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3); +-- +2.34.1 + diff --git a/package/x11r7/xlib_libxshmfence/Config.in b/package/x11r7/xlib_libxshmfence/Config.in index 7823bda7c..710476b35 100644 --- a/package/x11r7/xlib_libxshmfence/Config.in +++ b/package/x11r7/xlib_libxshmfence/Config.in @@ -1,8 +1,5 @@ config BR2_PACKAGE_XLIB_LIBXSHMFENCE bool "libxshmfence" - # Due to use of SYS_futex - can be enabled again when upstream - # adds SYS_futex64 as an alternative - depends on !BR2_RISCV_32 depends on BR2_TOOLCHAIN_HAS_SYNC_4 select BR2_PACKAGE_XORGPROTO help diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in index b933bd028..89410f22b 100644 --- a/package/x11r7/xserver_xorg-server/Config.in +++ b/package/x11r7/xserver_xorg-server/Config.in @@ -49,8 +49,7 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_LIBPCIACCESS - select BR2_PACKAGE_XLIB_LIBXSHMFENCE if \ - (BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32) + select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_TOOLCHAIN_HAS_SYNC_4 help This variant of the X.org server is the full-blown variant, as used by desktop GNU/Linux distributions. The drivers (for diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash b/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash index be636936e..3520de242 100644 --- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash +++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash @@ -1,5 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2024-January/003442.html -sha256 1aa0ee1adad0b2db7f291f3823a4ab240c7f4aea710e89f5ef4aa232b6833403 xorg-server-21.1.11.tar.gz -sha512 e41bf71955691e66084a67fc20643632087f0326d5eddc31e6edd118d05005b8ab536738c181f4c352f331ec8fc8f23ae1b45f237592fa5d7eddbffe43638b08 xorg-server-21.1.11.tar.gz +# From https://lists.x.org/archives/xorg-announce/2024-April/003504.html +sha256 2864b6a5359ab41c5a6132c69b5d0c9af6eb85ad26d433edb012c914029de752 xorg-server-21.1.13.tar.gz +sha512 9bf5617d577dd3526a9578daedc1f2e3527da6913841f8fc78a2bda311ebf1560e84e31942cb8133a2a2ac99487c13b9153db6fb2d00859fc24d053f6b91fe34 xorg-server-21.1.13.tar.gz # Locally calculated sha256 4cc0447a22635c7b2f1a93fec4aa94f1970fadeb72a063de006b51cf4963a06f COPYING diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk index 1d0807ffe..05ba938c3 100644 --- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk @@ -4,7 +4,7 @@ # ################################################################################ -XSERVER_XORG_SERVER_VERSION = 21.1.11 +XSERVER_XORG_SERVER_VERSION = 21.1.13 XSERVER_XORG_SERVER_SOURCE = xorg-server-$(XSERVER_XORG_SERVER_VERSION).tar.gz XSERVER_XORG_SERVER_SITE = https://xorg.freedesktop.org/archive/individual/xserver XSERVER_XORG_SERVER_LICENSE = MIT diff --git a/package/x11r7/xwayland/Config.in b/package/x11r7/xwayland/Config.in index 9ac1928f5..311dae25e 100644 --- a/package/x11r7/xwayland/Config.in +++ b/package/x11r7/xwayland/Config.in @@ -6,7 +6,6 @@ config BR2_PACKAGE_XWAYLAND # We need a SHA1 implementation. If either openssl or # libgcrypt are already part of the build, we'll use one of # them, otherwise, use the small libsha1 library. - depends on !BR2_RISCV_32 # xlib_libxshmfence depends on BR2_TOOLCHAIN_HAS_SYNC_4 # xlib_libxshmfence select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_LIBSHA1 if (!BR2_PACKAGE_OPENSSL && !BR2_PACKAGE_LIBGCRYPT) @@ -27,6 +26,5 @@ config BR2_PACKAGE_XWAYLAND comment "xwayland needs a toolchain w/ threads, dynamic library" depends on BR2_USE_MMU - depends on !BR2_RISCV_32 depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/x11vnc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/package/x11vnc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch index 87dc3c994..a9af88e55 100644 --- a/package/x11vnc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch +++ b/package/x11vnc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch @@ -1,4 +1,4 @@ -From daecf59cc8b294265666482a4766aaa3148c308b Mon Sep 17 00:00:00 2001 +From 8ca0465fda181bd20e5d30c36fb2aea56ed27b6b Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 30 Nov 2019 11:43:32 -0800 Subject: [PATCH] Fix build on 32bit arches with 64bit time_t @@ -8,8 +8,7 @@ input.h [1] [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f -[Retrieved from: -https://github.com/LibVNC/x11vnc/commit/daecf59cc8b294265666482a4766aaa3148c308b] +Upstream: https://github.com/LibVNC/x11vnc/commit/daecf59cc8b294265666482a4766aaa3148c308b Signed-off-by: Fabrice Fontaine --- src/uinput.c | 25 +++++++++++++++++++++---- @@ -107,3 +106,6 @@ index 28fbad3..d71bcde 100644 ev.type = EV_KEY; ev.code = (unsigned char) scancode; ev.value = down; +-- +2.43.0 + diff --git a/package/x11vnc/0002-scan-limit-access-to-shared-memory-segments-to-current-user.patch b/package/x11vnc/0002-scan-limit-access-to-shared-memory-segments-to-curre.patch similarity index 81% rename from package/x11vnc/0002-scan-limit-access-to-shared-memory-segments-to-current-user.patch rename to package/x11vnc/0002-scan-limit-access-to-shared-memory-segments-to-curre.patch index e4dbdf189..05977375d 100644 --- a/package/x11vnc/0002-scan-limit-access-to-shared-memory-segments-to-current-user.patch +++ b/package/x11vnc/0002-scan-limit-access-to-shared-memory-segments-to-curre.patch @@ -1,10 +1,9 @@ -From 69eeb9f7baa14ca03b16c9de821f9876def7a36a Mon Sep 17 00:00:00 2001 +From 3870280eca9c10a3607440209e9caf6d7749e379 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=A9nal=20DAVALAN?= Date: Wed, 18 Nov 2020 08:40:45 +0100 Subject: [PATCH] scan: limit access to shared memory segments to current user -[Retrieved from: -https://github.com/LibVNC/x11vnc/commit/69eeb9f7baa14ca03b16c9de821f9876def7a36a] +Upstream: https://github.com/LibVNC/x11vnc/commit/69eeb9f7baa14ca03b16c9de821f9876def7a36a Signed-off-by: Fabrice Fontaine --- src/scan.c | 2 +- @@ -23,3 +22,6 @@ index 43e00d2..12994d5 100644 if (shm->shmid == -1) { rfbErr("shmget(%s) failed.\n", name); +-- +2.43.0 + diff --git a/package/x11vnc/0003-Fix-build-with-fno-common.patch b/package/x11vnc/0003-Fix-build-with-fno-common.patch new file mode 100644 index 000000000..eccfd3872 --- /dev/null +++ b/package/x11vnc/0003-Fix-build-with-fno-common.patch @@ -0,0 +1,48 @@ +From 08d57adf499264fcd32461a4092cd799c474d669 Mon Sep 17 00:00:00 2001 +From: Alexander Tsoy +Date: Tue, 28 Jan 2020 22:21:01 +0300 +Subject: [PATCH] Fix build with -fno-common + +GCC 10 defaults to -fno-common + +Upstream: https://github.com/LibVNC/x11vnc/commit/a48b0b1cd887d7f3ae67f525d7d334bd2feffe60 +Signed-off-by: Thomas Devoogdt +--- + src/util.c | 3 +++ + src/util.h | 6 +++--- + 2 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/src/util.c b/src/util.c +index a82a1a4..6a52ebf 100644 +--- a/src/util.c ++++ b/src/util.c +@@ -47,6 +47,9 @@ int hxl = 0; + #ifdef LIBVNCSERVER_HAVE_LIBPTHREAD + MUTEX(x11Mutex); + MUTEX(scrollMutex); ++MUTEX(clientMutex); ++MUTEX(inputMutex); ++MUTEX(pointerMutex); + #endif + + int nfix(int i, int n); +diff --git a/src/util.h b/src/util.h +index 35c1afd..99b5dd1 100644 +--- a/src/util.h ++++ b/src/util.h +@@ -102,9 +102,9 @@ extern struct timeval _mysleep; + #ifdef LIBVNCSERVER_HAVE_LIBPTHREAD + extern MUTEX(x11Mutex); + extern MUTEX(scrollMutex); +-MUTEX(clientMutex); +-MUTEX(inputMutex); +-MUTEX(pointerMutex); ++extern MUTEX(clientMutex); ++extern MUTEX(inputMutex); ++extern MUTEX(pointerMutex); + #endif + + #define X_INIT INIT_MUTEX(x11Mutex) +-- +2.43.0 + diff --git a/package/x11vnc/x11vnc.mk b/package/x11vnc/x11vnc.mk index aa0f14c45..645ef4064 100644 --- a/package/x11vnc/x11vnc.mk +++ b/package/x11vnc/x11vnc.mk @@ -6,9 +6,6 @@ X11VNC_VERSION = 0.9.16 X11VNC_SITE = $(call github,LibVNC,x11vnc,$(X11VNC_VERSION)) -# sdl support is not used in x11vnc, but host include / library search paths -# leak in if host has sdl-config -X11VNC_CONF_OPTS = --without-sdl X11VNC_DEPENDENCIES = xlib_libXt xlib_libXext xlib_libXtst libvncserver X11VNC_LICENSE = GPL-2.0+ X11VNC_LICENSE_FILES = COPYING @@ -25,12 +22,6 @@ else X11VNC_CONF_OPTS += --without-avahi endif -ifeq ($(BR2_PACKAGE_JPEG),y) -X11VNC_DEPENDENCIES += jpeg -else -X11VNC_CONF_OPTS += --without-jpeg -endif - ifeq ($(BR2_PACKAGE_OPENSSL),y) X11VNC_DEPENDENCIES += openssl else @@ -61,10 +52,4 @@ else X11VNC_CONF_OPTS += --without-xdamage endif -ifeq ($(BR2_PACKAGE_ZLIB),y) -X11VNC_DEPENDENCIES += zlib -else -X11VNC_CONF_OPTS += --without-zlib -endif - $(eval $(autotools-package)) diff --git a/package/x264/x264.mk b/package/x264/x264.mk index 97caf1946..e96d99301 100644 --- a/package/x264/x264.mk +++ b/package/x264/x264.mk @@ -14,9 +14,15 @@ X264_INSTALL_STAGING = YES X264_CONF_OPTS = --disable-avs --disable-lavf --disable-swscale ifeq ($(BR2_i386)$(BR2_x86_64),y) +ifeq ($(BR2_TOOLCHAIN_USES_MUSL)$(BR2_PIC_PIE),yy) +# libx264 uses large amounts of non-pic assembly code, resulting in text +# section relocations, which are not supported on musl-libc's ld.so. +X264_CONF_OPTS += --disable-asm +else # nasm needed for assembly files X264_DEPENDENCIES += host-nasm X264_CONF_ENV += AS="$(HOST_DIR)/bin/nasm" +endif else ifeq ($(BR2_ARM_CPU_ARMV7A)$(BR2_aarch64),y) # We need to pass gcc as AS, because the ARM assembly files have to be # preprocessed diff --git a/package/x265/0001-fix-gcc-options.patch b/package/x265/0001-CMakeLists.txt-do-not-force-compiler-flags.patch similarity index 48% rename from package/x265/0001-fix-gcc-options.patch rename to package/x265/0001-CMakeLists.txt-do-not-force-compiler-flags.patch index 0283da25e..af0e57f20 100644 --- a/package/x265/0001-fix-gcc-options.patch +++ b/package/x265/0001-CMakeLists.txt-do-not-force-compiler-flags.patch @@ -1,37 +1,35 @@ -# HG changeset patch -# User Bertrand Jacquin -# Date 1444431941 -3600 -# Node ID 5c6d2a6f2f9a0534933cc999b3845be4344e1af0 -# Parent b6156a08b1def3584647f26096866c1a0c11e54a -build: Disable -march selection from CMakeLists.txt +From b56e9125db34614b2157516df3ee724180f2084f Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 13 Jul 2024 09:59:26 +0200 +Subject: [PATCH] CMakeLists.txt: do not force compiler flags -x32 arch as defined on https://sites.google.com/site/x32abi is neither -X86 nor X64, then forcing -march=i686 leads to build failure as wrong --march is used. +The compiler flags enforced by CMakeLists.txt can be problematic: -Forcing -march, -mfloat-abi and -mfpu for ARM is also wrong +- When CROSS_COMPILE_ARM is set, one is not necessarily building for + armv6 with soft float-abi: one may be using ARMv7 with hard float -As a global sanity sake, disable all forced -march in CMakeLists +- When CROSS_COMPILE_ARM is not set, forcing -mfloat-abi=hard is + similarly wrong -Backported from upstream pull request: -https://bitbucket.org/multicoreware/x265/pull-requests/21 +Those compiler flags should be passed by the user depending on the +exact target platform. -Signed-off-by: Bernd Kuhls -[Bernd: rebased for 3.5 based on - https://gitweb.gentoo.org/repo/gentoo.git/tree/media-libs/x265/files/arm-r1.patch] +Inspired from +https://gitweb.gentoo.org/repo/gentoo.git/tree/media-libs/x265/files/arm-r1.patch, +and earlier work from Bertrand Jacquin and +Bernd Kuhls . -diff -r 58dddcf01b7d source/CMakeLists.txt ---- a/source/CMakeLists.txt Mon Jan 23 09:50:33 2017 +0530 -+++ b/source/CMakeLists.txt Mon Jan 23 21:03:10 2017 +0100 -@@ -40,7 +40,7 @@ SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_ - # System architecture detection - string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" SYSPROC) - set(X86_ALIASES x86 i386 i686 x86_64 amd64) --set(ARM_ALIASES armv6l armv7l aarch64) -+set(ARM_ALIASES armv6l armv6l armv7l armv7a aarch64) - list(FIND X86_ALIASES "${SYSPROC}" X86MATCH) - list(FIND ARM_ALIASES "${SYSPROC}" ARMMATCH) - set(POWER_ALIASES ppc64 ppc64le) +Upstream: https://bitbucket.org/multicoreware/x265_git/pull-requests/26 +Signed-off-by: Thomas Petazzoni +--- + source/CMakeLists.txt | 10 +++------- + source/dynamicHDR10/CMakeLists.txt | 6 +++--- + 2 files changed, 6 insertions(+), 10 deletions(-) + +diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt +index a407271b4..a34bf4d4f 100755 +--- a/source/CMakeLists.txt ++++ b/source/CMakeLists.txt @@ -239,11 +239,7 @@ if(GCC) endif() endif() @@ -58,6 +56,8 @@ diff -r 58dddcf01b7d source/CMakeLists.txt endif() endif() endif() +diff --git a/source/dynamicHDR10/CMakeLists.txt b/source/dynamicHDR10/CMakeLists.txt +index 22fb79d44..2cea7c48a 100644 --- a/source/dynamicHDR10/CMakeLists.txt +++ b/source/dynamicHDR10/CMakeLists.txt @@ -43,14 +43,14 @@ if(GCC) @@ -78,11 +78,6 @@ diff -r 58dddcf01b7d source/CMakeLists.txt endif() endif() add_definitions(${ARM_ARGS}) -@@ -150,4 +150,4 @@ set(BIN_INSTALL_DIR bin CACHE STRING "Install location of executables") - option(ENABLE_SHARED "Build shared library" OFF) - - install(FILES hdr10plus.h DESTINATION include) --endif() -\ No newline at end of file -+endif() +-- +2.45.2 diff --git a/package/x265/0002-source-CMakeLists.txt-allow-setting-CPU_HAS_NEON-whe.patch b/package/x265/0002-source-CMakeLists.txt-allow-setting-CPU_HAS_NEON-whe.patch new file mode 100644 index 000000000..51be8f2d0 --- /dev/null +++ b/package/x265/0002-source-CMakeLists.txt-allow-setting-CPU_HAS_NEON-whe.patch @@ -0,0 +1,40 @@ +From 0088d29e7c75ea7f100a100aea4e2a797469427f Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 13 Jul 2024 10:10:54 +0200 +Subject: [PATCH] source/CMakeLists.txt: allow setting CPU_HAS_NEON when + CROSS_COMPILE_ARM + +The logic in source/cmake/FindNeon.cmake is not appropriate for +cross-compilation scenarios, so in order to allow cross-compiling for +ARM, CROSS_COMPILE_ARM needs to be defined. However that currently +doesn't allow the enabling of NEON support, so let's allow the user to +manually set CPU_HAS_NEON in this case. + +Upstream: https://bitbucket.org/multicoreware/x265_git/pull-requests/26 +Signed-off-by: Thomas Petazzoni +--- + source/CMakeLists.txt | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt +index a34bf4d4f..072bf62ab 100755 +--- a/source/CMakeLists.txt ++++ b/source/CMakeLists.txt +@@ -239,8 +239,13 @@ if(GCC) + endif() + endif() + if(ARM AND CROSS_COMPILE_ARM) +- set(ARM_ARGS -fPIC) + message(STATUS "cross compile arm") ++ if(CPU_HAS_NEON) ++ set(ARM_ARGS -mfpu=neon -fPIC) ++ add_definitions(-DHAVE_NEON) ++ else() ++ set(ARM_ARGS -fPIC) ++ endif() + elseif(ARM) + if(ARM64) + set(ARM_ARGS -fPIC) +-- +2.45.2 + diff --git a/package/x265/x265.mk b/package/x265/x265.mk index 51c39df4c..bd5180b24 100644 --- a/package/x265/x265.mk +++ b/package/x265/x265.mk @@ -13,6 +13,20 @@ X265_CPE_ID_VENDOR = multicorewareinc X265_SUBDIR = source X265_INSTALL_STAGING = YES +# For CPUs before ARMv6, x265 does not consider them "ARM" but generic +# CPUs for which no optimized assembly is provided, hence we don't +# pass -DCROSS_COMPILE_ARM=1. +ifeq ($(BR2_ARM_CPU_ARMV6),y) +X265_CONF_OPTS += -DCROSS_COMPILE_ARM=1 +endif + +ifeq ($(BR2_ARM_CPU_ARMV7A),y) +X265_CONF_OPTS += -DCROSS_COMPILE_ARM=1 +ifeq ($(BR2_ARM_CPU_HAS_NEON),y) +X265_CONF_OPTS += -DCPU_HAS_NEON=1 +endif +endif + ifeq ($(BR2_i386)$(BR2_x86_64),y) X265_DEPENDENCIES += host-nasm endif diff --git a/package/xen/Config.in b/package/xen/Config.in index af6acd353..70a06f3cb 100644 --- a/package/xen/Config.in +++ b/package/xen/Config.in @@ -13,7 +13,7 @@ if BR2_PACKAGE_XEN config BR2_PACKAGE_XEN_HYPERVISOR bool "Xen hypervisor" help - The Xen binaries are avaliable in /usr/lib/xen/ See + The Xen binaries are available in /usr/lib/xen/ See http://wiki.xenproject.org/wiki/Getting_Started for using the Xen hypervisor. @@ -33,6 +33,8 @@ config BR2_PACKAGE_XEN_TOOLS select BR2_PACKAGE_UTIL_LINUX_LIBUUID select BR2_PACKAGE_YAJL select BR2_PACKAGE_ARGP_STANDALONE if !BR2_TOOLCHAIN_USES_GLIBC + select BR2_PACKAGE_BASH # runtime (scripts) + select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS if BR2_PACKAGE_BUSYBOX # bash help The Xen tools can be accessed by the xl command. diff --git a/package/xenomai/3.0.10/0005-testsuite-latency-Use-corresponding-pclose-for-popen.patch b/package/xenomai/3.0.10/0005-testsuite-latency-Use-corresponding-pclose-for-popen.patch new file mode 100644 index 000000000..a144c4ece --- /dev/null +++ b/package/xenomai/3.0.10/0005-testsuite-latency-Use-corresponding-pclose-for-popen.patch @@ -0,0 +1,30 @@ +From 6fe6b75bef4b4bb9723b12f0e9ebfd9877e00a44 Mon Sep 17 00:00:00 2001 +From: Jan Kiszka +Date: Sat, 16 Oct 2021 19:52:28 +0200 +Subject: [PATCH] testsuite/latency: Use corresponding pclose for popen + +Was found by latest gcc-11 and -Werror=mismatched-dealloc. + +Signed-off-by: Jan Kiszka +Signed-off-by: Dario Binacchi +Upstream: https://source.denx.de/Xenomai/xenomai/-/commit/6fe6b75bef4b4bb9723b12f0e9ebfd9877e00a44 +--- + testsuite/latency/latency.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/testsuite/latency/latency.c b/testsuite/latency/latency.c +index a0e6f4826084..6cd3a28b44f6 100644 +--- a/testsuite/latency/latency.c ++++ b/testsuite/latency/latency.c +@@ -412,7 +412,7 @@ static void dump_histo_gnuplot(int32_t *histogram, time_t duration) + fputs(buf, ofp); + } + +- fclose(ifp); ++ pclose(ifp); + + dump_data: + for (n = 0; n < histogram_size && histogram[n] == 0; n++) +-- +2.43.0 + diff --git a/package/xenomai/xenomai.mk b/package/xenomai/xenomai.mk index 935691925..378e51ad3 100644 --- a/package/xenomai/xenomai.mk +++ b/package/xenomai/xenomai.mk @@ -14,7 +14,7 @@ XENOMAI_SITE = $(call qstrip,$(BR2_PACKAGE_XENOMAI_REPOSITORY)) XENOMAI_SITE_METHOD = git else XENOMAI_SOURCE = xenomai-$(XENOMAI_VERSION).tar.bz2 -XENOMAI_SITE = http://xenomai.org/downloads/xenomai/stable +XENOMAI_SITE = https://ftp.denx.de/pub/xenomai/xenomai/stable endif # We're patching configure.ac XENOMAI_AUTORECONF = YES diff --git a/package/xfsprogs/Config.in b/package/xfsprogs/Config.in index d14c3d469..1a29579d8 100644 --- a/package/xfsprogs/Config.in +++ b/package/xfsprogs/Config.in @@ -18,4 +18,4 @@ config BR2_PACKAGE_XFSPROGS help The XFS file system utilities and libraries - http://xfs.org + https://xfs.wiki.kernel.org diff --git a/package/xmrig/xmrig.hash b/package/xmrig/xmrig.hash index 3a54d66ce..d7fdbe0d0 100644 --- a/package/xmrig/xmrig.hash +++ b/package/xmrig/xmrig.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 4b197c71fa06030216b641b4ea57f7a3d977a17df1b55bd13759d4705dbf5941 xmrig-6.21.0.tar.gz +sha256 5d76fb19190956c564b405119315bc93db4ed8062b251d5e96bed70c5fa8033c xmrig-6.21.3.tar.gz sha256 589ed823e9a84c56feb95ac58e7cf384626b9cbf4fda2a907bc36e103de1bad2 LICENSE diff --git a/package/xmrig/xmrig.mk b/package/xmrig/xmrig.mk index 35cd1d8d8..d01b00181 100644 --- a/package/xmrig/xmrig.mk +++ b/package/xmrig/xmrig.mk @@ -4,7 +4,7 @@ # ################################################################################ -XMRIG_VERSION = 6.21.0 +XMRIG_VERSION = 6.21.3 XMRIG_SITE = $(call github,xmrig,xmrig,v$(XMRIG_VERSION)) XMRIG_LICENSE = GPL-3.0+ XMRIG_LICENSE_FILES = LICENSE diff --git a/package/xvisor/0001-TOOLS-d2c-py-explicitly-use-the-python3-interpreter.patch b/package/xvisor/0001-TOOLS-d2c-py-explicitly-use-the-python3-interpreter.patch new file mode 100644 index 000000000..349d4415e --- /dev/null +++ b/package/xvisor/0001-TOOLS-d2c-py-explicitly-use-the-python3-interpreter.patch @@ -0,0 +1,35 @@ +From 888c94e7a121d96aa88f84c58fe7e2bd771fc5ac Mon Sep 17 00:00:00 2001 +From: Julien Olivain +Date: Fri, 25 Aug 2023 21:56:37 +0200 +Subject: [PATCH] TOOLS: d2c.py: explicitly use the python3 interpreter + +When compiling Xvisor on a system not providing the "python" +interpreter binary, compilation fails with output: + + (d2c) core/vio/keymaps/modifiers.c + /bin/sh: 1: /build/xvisor-0.3.2/tools/scripts/d2c.py: not found + +This commit fixes the issue following the PEP 394 recommendation: +https://peps.python.org/pep-0394/ + +It sets the "shebang" to `#! /usr/bin/env python3` to allow using other +interpreters in the PATH, or virtual environment. + +Signed-off-by: Julien Olivain + +Upstream: https://github.com/xvisor/xvisor/commit/888c94e7a121d96aa88f84c58fe7e2bd771fc5ac +Signed-off-by: Fabrice Fontaine +--- + tools/scripts/d2c.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/scripts/d2c.py b/tools/scripts/d2c.py +index b46a7bc468..daac4a5450 100755 +--- a/tools/scripts/d2c.py ++++ b/tools/scripts/d2c.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#! /usr/bin/env python3 + #/** + # Copyright (c) 2013 Anup Patel. + # All rights reserved. diff --git a/package/xvisor/0002-RISC-V-Force-no-pie-code-generation-and-static-link.patch b/package/xvisor/0002-RISC-V-Force-no-pie-code-generation-and-static-link.patch new file mode 100644 index 000000000..706fbbfbd --- /dev/null +++ b/package/xvisor/0002-RISC-V-Force-no-pie-code-generation-and-static-link.patch @@ -0,0 +1,46 @@ +From 8491908238c4b3397571e9cff55765d59da03a45 Mon Sep 17 00:00:00 2001 +From: Julien Olivain +Date: Wed, 2 Aug 2023 23:57:17 +0200 +Subject: [PATCH] RISC-V: Force no-pie code generation and static link + +Some toolchains are now enabling PIE for security reasons by default. +When XVisor is built with such a RISC-V toolchain, it is crashing +just after OpenSBI, in early Xvisor startup (before any message is +printed on the console). + +Hangs looks like those described in: + +https://github.com/xvisor/xvisor/issues/144 +https://github.com/xvisor/xvisor/issues/159 + +Forcing -fno-pie code generation and -static link will explicitly disable +PIE with those toolchains, hence fixing those issues. + +This issue was observed while using a riscv64 gcc toolchain from: +https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--glibc--bleeding-edge-2022.08-1.tar.bz2 + +Signed-off-by: Julien Olivain +Upstream: https://github.com/xvisor/xvisor/pull/170 +--- + arch/riscv/cpu/generic/objects.mk | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/arch/riscv/cpu/generic/objects.mk b/arch/riscv/cpu/generic/objects.mk +index 230da2a1..576603f6 100644 +--- a/arch/riscv/cpu/generic/objects.mk ++++ b/arch/riscv/cpu/generic/objects.mk +@@ -67,6 +67,11 @@ cpu-cflags += -fno-strict-aliasing -O2 + cpu-asflags += $(arch-cflags-y) -march=$(march-nonld-isa-y) + cpu-ldflags += $(arch-ldflags-y) -march=$(march-ld-isa-y) + ++cpu-cflags += -fno-pie ++cpu-asflags += -fno-pie ++cpu-ldflags += -static ++cpu-mergeflags += -static ++ + cpu-objs-y+= cpu_entry.o + cpu-objs-y+= cpu_proc.o + cpu-objs-y+= cpu_tlb.o +-- +2.41.0 + diff --git a/package/xvisor/xvisor.mk b/package/xvisor/xvisor.mk index eba37be9b..c1b61270f 100644 --- a/package/xvisor/xvisor.mk +++ b/package/xvisor/xvisor.mk @@ -11,7 +11,7 @@ XVISOR_LICENSE = GPL-2.0+ XVISOR_LICENSE_FILES = COPYING XVISOR_INSTALL_IMAGES = YES XVISOR_INSTALL_TARGET = NO -XVISOR_DEPENDENCIES = host-bison host-dtc host-flex +XVISOR_DEPENDENCIES = host-bison host-dtc host-flex $(BR2_PYTHON3_HOST_DEPENDENCY) XVISOR_MAKE_TARGETS = all diff --git a/package/zabbix/zabbix.mk b/package/zabbix/zabbix.mk index 76568f5a1..18fb01dec 100644 --- a/package/zabbix/zabbix.mk +++ b/package/zabbix/zabbix.mk @@ -6,7 +6,7 @@ ZABBIX_VERSION_MAJOR = 6.2 ZABBIX_VERSION = $(ZABBIX_VERSION_MAJOR).7 -ZABBIX_SITE = https://cdn.zabbix.com/zabbix/sources/stable/$(ZABBIX_VERSION_MAJOR) +ZABBIX_SITE = https://cdn.zabbix.com/zabbix/sources/oldstable/$(ZABBIX_VERSION_MAJOR) ZABBIX_SELINUX_MODULES = zabbix ZABBIX_LICENSE = GPL-2.0+ ZABBIX_LICENSE_FILES = README COPYING diff --git a/package/zbar/zbar.mk b/package/zbar/zbar.mk index 0e79004bb..86f33796a 100644 --- a/package/zbar/zbar.mk +++ b/package/zbar/zbar.mk @@ -18,7 +18,6 @@ ZBAR_CONF_ENV = \ LIBS=$(TARGET_NLS_LIBS) ZBAR_CONF_OPTS = \ --disable-doc \ - --without-imagemagick \ --without-qt \ --without-qt5 \ --without-gtk \ @@ -32,6 +31,13 @@ else ZBAR_CONF_OPTS += --without-dbus endif +ifeq ($(BR2_PACKAGE_IMAGEMAGICK),y) +ZBAR_DEPENDENCIES += imagemagick +ZBAR_CONF_OPTS += --with-imagemagick +else +ZBAR_CONF_OPTS += --without-imagemagick +endif + ifeq ($(BR2_PACKAGE_PYTHON3),y) ZBAR_DEPENDENCIES += host-python3 python3 ZBAR_CONF_OPTS += --with-python=python3 diff --git a/package/zeromq/zeromq.mk b/package/zeromq/zeromq.mk index 137fad1a6..f1a1f02f9 100644 --- a/package/zeromq/zeromq.mk +++ b/package/zeromq/zeromq.mk @@ -7,7 +7,7 @@ ZEROMQ_VERSION = 4.3.5 ZEROMQ_SITE = https://github.com/zeromq/libzmq/releases/download/v$(ZEROMQ_VERSION) ZEROMQ_INSTALL_STAGING = YES -ZEROMQ_CONF_OPTS = --disable-Werror --without-documentation +ZEROMQ_CONF_OPTS = --disable-perf --disable-Werror --without-documentation ZEROMQ_LICENSE = MPL-2.0 ZEROMQ_LICENSE_FILES = LICENSE ZEROMQ_CPE_ID_VENDOR = zeromq diff --git a/package/zfs/0001-ZTS-small-fix-for-SEEK_DATA-SEEK_HOLE-tests.patch b/package/zfs/0001-ZTS-small-fix-for-SEEK_DATA-SEEK_HOLE-tests.patch new file mode 100644 index 000000000..64972c4f5 --- /dev/null +++ b/package/zfs/0001-ZTS-small-fix-for-SEEK_DATA-SEEK_HOLE-tests.patch @@ -0,0 +1,70 @@ +From 2ccefd4aff98cf355c7d13b3f92bb4d390dfa522 Mon Sep 17 00:00:00 2001 +From: Tino Reichardt +Date: Sun, 4 Aug 2024 11:58:13 +0200 +Subject: [PATCH] ZTS: small fix for SEEK_DATA/SEEK_HOLE tests + +Some libc's like uClibc lag the proper definition of SEEK_DATA +and SEEK_HOLE. Since we have only two files in ZTS which use +these definitons, let's define them by hand: + +``` +#ifndef SEEK_DATA +#define SEEK_DATA 3 +#endif +#ifndef SEEK_HOLE +#define SEEK_HOLE 4 +#endif +``` + +There should be no failures, because: +- FreeBSD has support for SEEK_DATA/SEEK_HOLE since FreeBSD 8 +- Linux has it since Linux 3.1 +- the libc will submit the parameters unchanged to the kernel + +Signed-off-by: Tino Reichardt +Signed-off-by: José Luis Salvador Rufo +Upstream: https://github.com/openzfs/zfs/commit/bd949b10bed3d99e3b40249d9c8d74a0b4304774 +--- + tests/zfs-tests/cmd/mmap_seek.c | 10 ++++++++++ + tests/zfs-tests/tests/functional/cp_files/seekflood.c | 7 +++++++ + 2 files changed, 17 insertions(+) + +diff --git a/tests/zfs-tests/cmd/mmap_seek.c b/tests/zfs-tests/cmd/mmap_seek.c +index 7be92d109565..2d250554a13f 100644 +--- a/tests/zfs-tests/cmd/mmap_seek.c ++++ b/tests/zfs-tests/cmd/mmap_seek.c +@@ -35,6 +35,16 @@ + #include + #endif + ++/* some older uClibc's lack the defines, so we'll manually define them */ ++#ifdef __UCLIBC__ ++#ifndef SEEK_DATA ++#define SEEK_DATA 3 ++#endif ++#ifndef SEEK_HOLE ++#define SEEK_HOLE 4 ++#endif ++#endif ++ + static void + seek_data(int fd, off_t offset, off_t expected) + { +diff --git a/tests/zfs-tests/tests/functional/cp_files/seekflood.c b/tests/zfs-tests/tests/functional/cp_files/seekflood.c +index 02c2c8e6eca5..f832db85970d 100644 +--- a/tests/zfs-tests/tests/functional/cp_files/seekflood.c ++++ b/tests/zfs-tests/tests/functional/cp_files/seekflood.c +@@ -36,6 +36,13 @@ + #include + #include + ++/* some older uClibc's lack the defines, so we'll manually define them */ ++#ifdef __UCLIBC__ ++#ifndef SEEK_DATA ++#define SEEK_DATA 3 ++#endif ++#endif ++ + #define DATASIZE (4096) + char data[DATASIZE]; + diff --git a/package/zfs/zfs.hash b/package/zfs/zfs.hash index 01c86f2bd..9c8d4cec8 100644 --- a/package/zfs/zfs.hash +++ b/package/zfs/zfs.hash @@ -1,5 +1,5 @@ -# From https://github.com/openzfs/zfs/releases/download/zfs-2.2.2/zfs-2.2.2.sha256.asc -sha256 76bc0547d9ba31d4b0142e417aaaf9f969072c3cb3c1a5b10c8738f39ed12fc9 zfs-2.2.2.tar.gz +# From https://github.com/openzfs/zfs/releases/download/zfs-2.2.4/zfs-2.2.4.sha256.asc +sha256 9790905f7683d41759418e1ef3432828c31116654ff040e91356ff1c21c31ec0 zfs-2.2.4.tar.gz # Hash for license files: sha256 1ffb70c33c4f79f04e947facc5c7851f289609256aacb47fc115f700427d9520 LICENSE diff --git a/package/zfs/zfs.mk b/package/zfs/zfs.mk index 59cdd3194..e51ade55a 100644 --- a/package/zfs/zfs.mk +++ b/package/zfs/zfs.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZFS_VERSION = 2.2.2 +ZFS_VERSION = 2.2.4 ZFS_SITE = https://github.com/openzfs/zfs/releases/download/zfs-$(ZFS_VERSION) ZFS_SELINUX_MODULES = zfs ZFS_LICENSE = CDDL @@ -12,9 +12,6 @@ ZFS_LICENSE_FILES = LICENSE COPYRIGHT ZFS_CPE_ID_VENDOR = openzfs ZFS_CPE_ID_PRODUCT = openzfs -# 0001-config-user-check-for-aio.h.patch -ZFS_AUTORECONF = YES - ZFS_DEPENDENCIES = libaio openssl udev util-linux zlib libcurl linux # sysvinit installs only a commented-out modules-load.d/ config file diff --git a/package/zic/0001-remove-dependency-check-on-version-file.patch b/package/zic/0001-remove-dependency-check-on-version-file.patch index cba7ed679..81190ba49 100644 --- a/package/zic/0001-remove-dependency-check-on-version-file.patch +++ b/package/zic/0001-remove-dependency-check-on-version-file.patch @@ -15,18 +15,18 @@ Signed-off-by: Martin Bark 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index 1b714a8..00d2c09 100644 +index 0087b459..4773a977 100644 --- a/Makefile +++ b/Makefile -@@ -615,7 +615,7 @@ INSTALL: ALL install date.1 +@@ -675,7 +675,7 @@ INSTALL: ALL install date.1 # Otherwise, use $(VERSION) unless it is "unknown" and there is already # a 'version' file, in which case reuse the existing 'version' contents # and append "-dirty" if the contents do not already end in "-dirty". -version: $(VERSION_DEPS) +version: { (type git) >/dev/null 2>&1 && \ - V=`git describe --match '[0-9][0-9][0-9][0-9][a-z]*' \ - --abbrev=7 --dirty` || \ + V=$$(git describe --match '[0-9][0-9][0-9][0-9][a-z]*' \ + --abbrev=7 --dirty) || \ -- 2.7.4 diff --git a/package/zic/zic.hash b/package/zic/zic.hash index a2720a27b..9e89aad23 100644 --- a/package/zic/zic.hash +++ b/package/zic/zic.hash @@ -1,4 +1,4 @@ -# From https://mm.icann.org/pipermail/tz-announce/2023-March/000079.html -sha512 fa18bae9c0e7c061bc9d5f5f2eb9967f0e4ddb2baafdee9887fa30cd0c60f4aa6f21eacffb17df0d59d26ff54d08c5dcefa98159309eba497e86443624913a82 tzcode2023c.tar.gz +# https://lists.iana.org/hyperkitty/list/tz-announce@iana.org/thread/MWII7R3HMCEDNUCIYQKSSTYYR7UWK4OQ/ +sha512 308f6a3d6ebfa18446f8296e5c799e18dccecd79ace3ba004d3f233892c7428faae152b217b22d229c59dd4e0faafee797d8b3583b58fa982b81f7cc7347f502 tzcode2025a.tar.gz # Locally computed: sha256 0613408568889f5739e5ae252b722a2659c02002839ad970a63dc5e9174b27cf LICENSE diff --git a/package/zic/zic.mk b/package/zic/zic.mk index a915f6d25..71454d4fe 100644 --- a/package/zic/zic.mk +++ b/package/zic/zic.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZIC_VERSION = 2023c +ZIC_VERSION = 2025a ZIC_SOURCE = tzcode$(ZIC_VERSION).tar.gz ZIC_SITE = https://www.iana.org/time-zones/repository/releases ZIC_STRIP_COMPONENTS = 0 @@ -12,7 +12,7 @@ ZIC_LICENSE = Public domain ZIC_LICENSE_FILES = LICENSE define HOST_ZIC_BUILD_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) zic + $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D) zic endef define HOST_ZIC_INSTALL_CMDS diff --git a/package/zip/zip.hash b/package/zip/zip.hash index eb4bbf3b0..cbb96beb3 100644 --- a/package/zip/zip.hash +++ b/package/zip/zip.hash @@ -1,3 +1,3 @@ # Locally calculated from download (no sig, hash) -sha256 f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369 zip30.tgz +sha256 f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369 zip30.tar.gz sha256 8ecd6c1bab449127eb665cef1561e73a8bce52e217375f6f466939e137b1e110 LICENSE diff --git a/package/zip/zip.mk b/package/zip/zip.mk index 67958a4a6..0457ba941 100644 --- a/package/zip/zip.mk +++ b/package/zip/zip.mk @@ -5,9 +5,9 @@ ################################################################################ ZIP_VERSION = 3.0 -# The version is really 3.0, but the tarball is named zip30.tgz -ZIP_SOURCE = zip$(subst .,,$(ZIP_VERSION)).tgz -ZIP_SITE = ftp://ftp.info-zip.org/pub/infozip/src +# The version is really 3.0, but the tarball is named zip30.tar.gz +ZIP_SOURCE = zip$(subst .,,$(ZIP_VERSION)).tar.gz +ZIP_SITE = https://sourceforge.net/projects/infozip/files/Zip%203.x%20%28latest%29/$(ZIP_VERSION) ZIP_LICENSE = Info-ZIP ZIP_LICENSE_FILES = LICENSE ZIP_CPE_ID_VENDOR = info-zip_project @@ -31,7 +31,7 @@ ZIP_TARGET_CFLAGS = \ define ZIP_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \ CFLAGS="$(ZIP_TARGET_CFLAGS) $(ZIP_CFLAGS)" \ - AS="$(TARGET_CC) -c" \ + CC="$(TARGET_CC) -std=gnu89" AS="$(TARGET_CC) -c" \ -f unix/Makefile generic endef @@ -43,7 +43,7 @@ endef define HOST_ZIP_BUILD_CMDS $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D) \ CFLAGS="$(HOST_CFLAGS) $(ZIP_CFLAGS)" \ - AS="$(HOSTCC) -c" \ + CC="$(HOSTCC) -std=gnu89" AS="$(HOSTCC) -c" \ -f unix/Makefile generic endef diff --git a/package/zlog/zlog.hash b/package/zlog/zlog.hash index 19881183e..f000b08f3 100644 --- a/package/zlog/zlog.hash +++ b/package/zlog/zlog.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 7fe412130abbb75a0779df89ae407db5d8f594435cc4ff6b068d924e13fd5c68 zlog-1.2.17.tar.gz +sha256 3977dc8ea0069139816ec4025b320d9a7fc2035398775ea91429e83cb0d1ce4e zlog-1.2.18.tar.gz sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE diff --git a/package/zlog/zlog.mk b/package/zlog/zlog.mk index e5bbf6ff3..0d5647155 100644 --- a/package/zlog/zlog.mk +++ b/package/zlog/zlog.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZLOG_VERSION = 1.2.17 +ZLOG_VERSION = 1.2.18 ZLOG_SITE = $(call github,HardySimpson,zlog,$(ZLOG_VERSION)) ZLOG_LICENSE = Apache-2.0 ZLOG_LICENSE_FILES = LICENSE diff --git a/package/zmqpp/Config.in b/package/zmqpp/Config.in index 2c80e2883..8c08b9d86 100644 --- a/package/zmqpp/Config.in +++ b/package/zmqpp/Config.in @@ -14,13 +14,6 @@ config BR2_PACKAGE_ZMQPP http://github.com/benjamg/zmqpp -comment "zmqpp needs a toolchain w/ C++, threads, gcc >= 4.7" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 - -comment "zmqpp needs exception_ptr" - depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 - if BR2_PACKAGE_ZMQPP config BR2_PACKAGE_ZMQPP_CLIENT @@ -39,3 +32,10 @@ comment "zmqpp client needs a toolchain w/ dynamic library, threads, wchar" || !BR2_USE_WCHAR endif + +comment "zmqpp needs a toolchain w/ C++, threads, gcc >= 4.7" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 + +comment "zmqpp needs exception_ptr" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/znc/0001-LibreSSL-3.5-opaqued-structures.patch b/package/znc/0001-LibreSSL-3.5-opaqued-structures.patch deleted file mode 100644 index d0019e21a..000000000 --- a/package/znc/0001-LibreSSL-3.5-opaqued-structures.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 87f3dac8ba8dea5628b05416bdef454b4ef2d236 Mon Sep 17 00:00:00 2001 -From: Charlie Li -Date: Mon, 14 Mar 2022 17:36:36 -0400 -Subject: [PATCH] LibreSSL 3.5 opaqued structures - -Downloaded from upstream commit -https://github.com/znc/Csocket/commit/87f3dac8ba8dea5628b05416bdef454b4ef2d236 - -Signed-off-by: Bernd Kuhls -(rebased for znc) ---- - Csocket.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Csocket.cc b/Csocket.cc -index 46a3bfd..a30da14 100644 ---- a/third_party/Csocket/Csocket.cc -+++ b/third_party/Csocket/Csocket.cc -@@ -61,7 +61,7 @@ - # define OPENSSL_NO_TLS1_1 /* 1.0.1-pre~: openssl/openssl@637f374ad49d5f6d4f81d87d7cdd226428aa470c */ - # define OPENSSL_NO_TLS1_2 /* 1.0.1-pre~: openssl/openssl@7409d7ad517650db332ae528915a570e4e0ab88b */ - # endif --# ifndef LIBRESSL_VERSION_NUMBER /* forked from OpenSSL 1.0.1g, sets high version "with the idea of discouraging software from relying on magic numbers for detecting features"(!) */ -+# if !defined(LIBRESSL_VERSION_NUMBER) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x03050000fL) - # if OPENSSL_VERSION_NUMBER >= 0x10100000 - # undef HAVE_ERR_REMOVE_THREAD_STATE /* 1.1.0-pre4: openssl/openssl@8509dcc9f319190c565ab6baad7c88d37a951d1c */ - # undef OPENSSL_NO_SSL2 /* 1.1.0-pre4: openssl/openssl@e80381e1a3309f5d4a783bcaa508a90187a48882 */ diff --git a/package/znc/0002-Fix-build-with-libressl.patch b/package/znc/0002-Fix-build-with-libressl.patch deleted file mode 100644 index b8d22445f..000000000 --- a/package/znc/0002-Fix-build-with-libressl.patch +++ /dev/null @@ -1,68 +0,0 @@ -From dcb5f3df82fcfec48aab356252067dc897fb98cf Mon Sep 17 00:00:00 2001 -From: Alexey Sokolov -Date: Sun, 14 Nov 2021 00:45:01 +0000 -Subject: [PATCH] Fix build with libressl - -It got another feature of openssl implemented, which broke this - -Downloaded from upstream commit -https://github.com/znc/znc/commit/dcb5f3df82fcfec48aab356252067dc897fb98cf - -Signed-off-by: Bernd Kuhls ---- - CMakeLists.txt | 14 ++++++++++++++ - include/znc/zncconfig.h.cmake.in | 1 + - modules/schat.cpp | 3 +-- - 3 files changed, 16 insertions(+), 2 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0913ff2691..1f77f5632b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -82,6 +82,20 @@ endmacro() - tristate_option(OPENSSL "Support SSL") - if(WANT_OPENSSL) - find_package(OpenSSL ${TRISTATE_OPENSSL_REQUIRED}) -+ -+ if(OPENSSL_FOUND) -+ # SSL_SESSION was made opaque in OpenSSL 1.1.0; -+ # LibreSSL gained that function later too. -+ # TODO: maybe remove this check at some point, and stop supporting old -+ # libssl versions -+ function(check_SSL_SESSION_get0_cipher) -+ set(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_LIBRARIES}) -+ set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR}) -+ check_cxx_symbol_exists(SSL_SESSION_get0_cipher openssl/ssl.h -+ HAVE_SSL_SESSION_get0_cipher) -+ endfunction() -+ check_SSL_SESSION_get0_cipher() -+ endif() - endif() - set(HAVE_LIBSSL "${OPENSSL_FOUND}") - -diff --git a/include/znc/zncconfig.h.cmake.in b/include/znc/zncconfig.h.cmake.in -index 5426b828af..7b07b99aec 100644 ---- a/include/znc/zncconfig.h.cmake.in -+++ b/include/znc/zncconfig.h.cmake.in -@@ -31,6 +31,7 @@ - #define HAVE_PTHREAD 1 - #cmakedefine HAVE_THREADED_DNS 1 - #cmakedefine HAVE_LIBSSL 1 -+#cmakedefine HAVE_SSL_SESSION_get0_cipher 1 - #cmakedefine HAVE_IPV6 1 - #cmakedefine HAVE_ZLIB 1 - #cmakedefine HAVE_I18N 1 -diff --git a/modules/schat.cpp b/modules/schat.cpp -index aa7a338dcd..66e67e695c 100644 ---- a/modules/schat.cpp -+++ b/modules/schat.cpp -@@ -25,8 +25,7 @@ - #include - #include - --#if !defined(OPENSSL_VERSION_NUMBER) || defined(LIBRESSL_VERSION_NUMBER) || \ -- OPENSSL_VERSION_NUMBER < 0x10100007 -+#ifndef HAVE_SSL_SESSION_get0_cipher - /* SSL_SESSION was made opaque in OpenSSL 1.1.0, cipher accessor was added 2 - weeks before the public release. - See openssl/openssl@e92813234318635639dba0168c7ef5568757449b. */ diff --git a/package/znc/0003-DH_set0_pqg-and-DH_get0_key-have-existed-since-Libre.patch b/package/znc/0003-DH_set0_pqg-and-DH_get0_key-have-existed-since-Libre.patch deleted file mode 100644 index a2946643f..000000000 --- a/package/znc/0003-DH_set0_pqg-and-DH_get0_key-have-existed-since-Libre.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 7c8ac8981a8516edaba469641aff4d8ec452ae9e Mon Sep 17 00:00:00 2001 -From: Charlie Li -Date: Mon, 14 Mar 2022 18:32:46 -0400 -Subject: [PATCH] DH_set0_pqg and DH_get0_key have existed since LibreSSL 2.7 - -https://github.com/libressl-portable/openbsd/commit/848e2a019c796b685fc8c5848283b86e48fbe0bf -https://github.com/libressl-portable/openbsd/commit/3789e379353c1d53313a249461b3d735de4ac742 - -Downloaded from upstream commit -https://github.com/znc/znc/commit/7c8ac8981a8516edaba469641aff4d8ec452ae9e - -Signed-off-by: Bernd Kuhls ---- - modules/crypt.cpp | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/modules/crypt.cpp b/modules/crypt.cpp -index 7655371b6e..68f7aafcea 100644 ---- a/modules/crypt.cpp -+++ b/modules/crypt.cpp -@@ -68,7 +68,8 @@ class CCryptMod : public CModule { - CString m_sPrivKey; - CString m_sPubKey; - --#if OPENSSL_VERSION_NUMBER < 0X10100000L || defined(LIBRESSL_VERSION_NUMBER) -+#if OPENSSL_VERSION_NUMBER < 0X10100000L || \ -+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x02070000fL) - static int DH_set0_pqg(DH* dh, BIGNUM* p, BIGNUM* q, BIGNUM* g) { - /* If the fields p and g in dh are nullptr, the corresponding input - * parameters MUST be non-nullptr. q may remain nullptr. diff --git a/package/znc/0004-Add-support-SWIG-4.1.0-drop-support-for-4.0.1.patch b/package/znc/0004-Add-support-SWIG-4.1.0-drop-support-for-4.0.1.patch deleted file mode 100644 index cb0988e63..000000000 --- a/package/znc/0004-Add-support-SWIG-4.1.0-drop-support-for-4.0.1.patch +++ /dev/null @@ -1,53 +0,0 @@ -From fecdd9895894b3afe903021b0843a422eb4d3308 Mon Sep 17 00:00:00 2001 -From: Alexey Sokolov -Date: Sat, 5 Nov 2022 12:54:40 +0000 -Subject: [PATCH] Add support SWIG 4.1.0, drop support for < 4.0.1 - -https://bugs.gentoo.org/878587 - -Upstream: https://github.com/znc/znc/commit/fecdd9895894b3afe903021b0843a422eb4d3308 - -Signed-off-by: Bernd Kuhls ---- - CMakeLists.txt | 2 +- - modules/modperl/CMakeLists.txt | 1 - - modules/modpython/CMakeLists.txt | 1 - - 3 files changed, 1 insertion(+), 3 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9d43578e0e..efab0ee1ee 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -173,7 +173,7 @@ if(WANT_PYTHON AND NOT EXISTS - endif() - endif() - if(search_swig) -- find_package(SWIG 3.0.0) -+ find_package(SWIG 4.0.1) - if(NOT SWIG_FOUND) - message(FATAL_ERROR - "Can't find SWIG, therefore Perl and Python aren't supported. " -diff --git a/modules/modperl/CMakeLists.txt b/modules/modperl/CMakeLists.txt -index e18fe47644..a87f74e478 100644 ---- a/modules/modperl/CMakeLists.txt -+++ b/modules/modperl/CMakeLists.txt -@@ -53,7 +53,6 @@ if(SWIG_FOUND) - "-I${PROJECT_SOURCE_DIR}/include" - "-I${CMAKE_CURRENT_SOURCE_DIR}/.." - "-I${CMAKE_CURRENT_SOURCE_DIR}/include" -- -DZNC_EXPORT_LIB_EXPORT - -outdir "${CMAKE_CURRENT_BINARY_DIR}" - -o "${CMAKE_CURRENT_BINARY_DIR}/modperl_biglib.cpp" - "${CMAKE_CURRENT_SOURCE_DIR}/modperl.i" -diff --git a/modules/modpython/CMakeLists.txt b/modules/modpython/CMakeLists.txt -index edbeb41ed5..36a2e649f0 100644 ---- a/modules/modpython/CMakeLists.txt -+++ b/modules/modpython/CMakeLists.txt -@@ -50,7 +50,6 @@ if(SWIG_FOUND) - "-I${PROJECT_BINARY_DIR}/include" - "-I${PROJECT_SOURCE_DIR}/include" - "-I${CMAKE_CURRENT_SOURCE_DIR}/.." -- -DZNC_EXPORT_LIB_EXPORT - -outdir "${CMAKE_CURRENT_BINARY_DIR}" - -o "${CMAKE_CURRENT_BINARY_DIR}/modpython_biglib.cpp" - "${CMAKE_CURRENT_SOURCE_DIR}/modpython.i" diff --git a/package/znc/Config.in b/package/znc/Config.in index 915b5f632..3b8f0f719 100644 --- a/package/znc/Config.in +++ b/package/znc/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_ZNC depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_LIBOPENSSL_ENABLE_BLOWFISH if BR2_PACKAGE_LIBOPENSSL help @@ -11,7 +11,7 @@ config BR2_PACKAGE_ZNC http://www.znc.in -comment "znc needs a toolchain w/ C++, dynamic library, gcc >= 4.8, threads" +comment "znc needs a toolchain w/ C++, dynamic library, gcc >= 8, threads" depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_HAS_THREADS + !BR2_TOOLCHAIN_GCC_AT_LEAST_8 || !BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU diff --git a/package/znc/znc.hash b/package/znc/znc.hash index e86171ba1..7bac128af 100644 --- a/package/znc/znc.hash +++ b/package/znc/znc.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ff238aae3f2ae0e44e683c4aee17dc8e4fdd261ca9379d83b48a7d422488de0d znc-1.8.2.tar.gz +sha256 e8a7cf80e19aad510b4e282eaf61b56bc30df88ea2e0f64fadcdd303c4894f3c znc-1.9.1.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/znc/znc.mk b/package/znc/znc.mk index 07fced840..ec6287e6d 100644 --- a/package/znc/znc.mk +++ b/package/znc/znc.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZNC_VERSION = 1.8.2 +ZNC_VERSION = 1.9.1 ZNC_SITE = http://znc.in/releases/archive ZNC_LICENSE = Apache-2.0 ZNC_LICENSE_FILES = LICENSE diff --git a/package/zstd/zstd.mk b/package/zstd/zstd.mk index e25202fd6..39c02d64f 100644 --- a/package/zstd/zstd.mk +++ b/package/zstd/zstd.mk @@ -69,7 +69,7 @@ else ZSTD_OPTS += HAVE_THREAD=0 ZSTD_BUILD_LIBS_THREAD_SUFFIX = -nomt endif -# check-package disable OverriddenVariable - override intended + ZSTD_BUILD_LIBS = \ $(addsuffix -release, \ $(addsuffix $(ZSTD_BUILD_LIBS_THREAD_SUFFIX), \ diff --git a/package/zxing-cpp/Config.in b/package/zxing-cpp/Config.in index 0d8b79538..b72a00ec3 100644 --- a/package/zxing-cpp/Config.in +++ b/package/zxing-cpp/Config.in @@ -1,12 +1,13 @@ -comment "zxing-cpp needs a toolchain w/ C++, wchar, dynamic library" +comment "zxing-cpp needs a toolchain w/ C++, wchar, dynamic library, threads" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ - BR2_STATIC_LIBS + BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS config BR2_PACKAGE_ZXING_CPP bool "zxing-cpp" depends on !BR2_STATIC_LIBS depends on BR2_USE_WCHAR depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_STB select BR2_PACKAGE_PYTHON_PYBIND if BR2_PACKAGE_PYTHON3 help diff --git a/package/zxing-cpp/zxing-cpp.mk b/package/zxing-cpp/zxing-cpp.mk index b0cadf1b1..86a1ef968 100644 --- a/package/zxing-cpp/zxing-cpp.mk +++ b/package/zxing-cpp/zxing-cpp.mk @@ -14,23 +14,10 @@ ZXING_CPP_DEPENDENCIES = host-pkgconf stb ZXING_CPP_CONF_OPTS = \ -DBUILD_READERS=ON \ -DBUILD_WRITERS=ON \ - -DBUILD_EXAMPLES=OFF \ -DBUILD_BLACKBOX_TESTS=OFF \ -DBUILD_UNIT_TESTS=OFF \ -DBUILD_DEPENDENCIES=LOCAL -ifeq ($(BR2_PACKAGE_OPENCV3_LIB_HIGHGUI)$(BR2_PACKAGE_OPENCV4_LIB_HIGHGUI),y) -ifeq ($(BR2_PACKAGE_OPENCV3),y) -ZXING_CPP_DEPENDENCIES += opencv3 -endif -ifeq ($(BR2_PACKAGE_OPENCV4),y) -ZXING_CPP_DEPENDENCIES += opencv4 -endif -ZXING_CPP_CONF_OPTS += -DCMAKE_REQUIRE_FIND_PACKAGE_OpenCV=TRUE -else -ZXING_CPP_CONF_OPTS += -DCMAKE_DISABLE_FIND_PACKAGE_OpenCV=TRUE -endif - ifeq ($(BR2_PACKAGE_PYTHON3)$(BR2_PACKAGE_PYTHON_PYBIND),yy) ZXING_CPP_DEPENDENCIES += python3 python-pybind ZXING_CPP_CONF_OPTS += \ @@ -41,17 +28,4 @@ else ZXING_CPP_CONF_OPTS += -DBUILD_PYTHON_MODULE=OFF endif -ifeq ($(BR2_PACKAGE_QT5BASE),y) -ZXING_CPP_DEPENDENCIES += qt5base -ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK)$(BR2_PACKAGE_QT5MULTIMEDIA),yy) -ZXING_CPP_DEPENDENCIES += qt5declarative qt5multimedia -endif -# Only set qt5 as required when all optional qt5 dependencies are present -ifeq ($(BR2_PACKAGE_QT5BASE_GUI)$(BR2_PACKAGE_QT5DECLARATIVE_QUICK)$(BR2_PACKAGE_QT5MULTIMEDIA),yyy) -ZXING_CPP_CONF_OPTS += -DCMAKE_REQUIRE_FIND_PACKAGE_Qt5=TRUE -endif -else -ZXING_CPP_CONF_OPTS += -DCMAKE_DISABLE_FIND_PACKAGE_Qt5=TRUE -endif - $(eval $(cmake-package)) diff --git a/support/config-fragments/autobuild/bootlin-x86-i686-musl.config b/support/config-fragments/autobuild/bootlin-x86-i686-musl.config new file mode 100644 index 000000000..697e9c625 --- /dev/null +++ b/support/config-fragments/autobuild/bootlin-x86-i686-musl.config @@ -0,0 +1,5 @@ +BR2_i386=y +BR2_x86_i686=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_MUSL_STABLE=y diff --git a/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config b/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config deleted file mode 100644 index 1b3c45fe9..000000000 --- a/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config +++ /dev/null @@ -1,10 +0,0 @@ -BR2_x86_pentium_mmx=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y -BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-i386-pentium-mmx-musl-2020.11.2.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_9=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y -# BR2_TOOLCHAIN_EXTERNAL_HAS_SSP is not set -BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/sourcery-arm-armv4t.config b/support/config-fragments/autobuild/sourcery-arm-armv4t.config deleted file mode 100644 index 4c0e01fec..000000000 --- a/support/config-fragments/autobuild/sourcery-arm-armv4t.config +++ /dev/null @@ -1,4 +0,0 @@ -BR2_arm=y -BR2_arm920t=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y diff --git a/support/config-fragments/autobuild/sourcery-arm-thumb2.config b/support/config-fragments/autobuild/sourcery-arm-thumb2.config deleted file mode 100644 index e726757a1..000000000 --- a/support/config-fragments/autobuild/sourcery-arm-thumb2.config +++ /dev/null @@ -1,7 +0,0 @@ -BR2_arm=y -BR2_cortex_a8=y -BR2_ARM_EABI=y -BR2_ARM_INSTRUCTIONS_THUMB2=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y -BR2_TARGET_OPTIMIZATION="" diff --git a/support/config-fragments/autobuild/sourcery-arm.config b/support/config-fragments/autobuild/sourcery-arm.config deleted file mode 100644 index 8ade4647f..000000000 --- a/support/config-fragments/autobuild/sourcery-arm.config +++ /dev/null @@ -1,3 +0,0 @@ -BR2_arm=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y diff --git a/support/config-fragments/autobuild/toolchain-configs.csv b/support/config-fragments/autobuild/toolchain-configs.csv index a65e9bacc..c5ae4d1ec 100644 --- a/support/config-fragments/autobuild/toolchain-configs.csv +++ b/support/config-fragments/autobuild/toolchain-configs.csv @@ -18,9 +18,6 @@ support/config-fragments/autobuild/bootlin-x86-64-musl.config,x86_64 # Test a MMU toolchain without dynamic library support support/config-fragments/autobuild/br-arm-full-static.config,x86_64 -# Test a toolchain with an old gcc version (gcc 4.8) -support/config-fragments/autobuild/sourcery-arm.config,x86 - # Toolchains used by test-pkg only when the '-a' option is passed: support/config-fragments/autobuild/arm-aarch64.config,x86_64 support/config-fragments/autobuild/bootlin-aarch64-glibc.config,x86_64 @@ -42,6 +39,7 @@ support/config-fragments/autobuild/bootlin-s390x-z13-glibc.config,x86_64 support/config-fragments/autobuild/bootlin-sh4-uclibc.config,x86_64 support/config-fragments/autobuild/bootlin-sparc-uclibc.config,x86_64 support/config-fragments/autobuild/bootlin-sparc64-glibc.config,x86_64 +support/config-fragments/autobuild/bootlin-x86-i686-musl.config,x86_64 support/config-fragments/autobuild/bootlin-x86-64-glibc.config,x86_64 support/config-fragments/autobuild/bootlin-x86-64-uclibc.config,x86_64 support/config-fragments/autobuild/bootlin-xtensa-uclibc.config,x86_64 @@ -53,7 +51,6 @@ support/config-fragments/autobuild/br-arm-internal-full.config,any support/config-fragments/autobuild/br-arm-internal-glibc.config,any support/config-fragments/autobuild/br-arm-internal-musl.config,any support/config-fragments/autobuild/br-i386-pentium4-full.config,x86_64 -support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config,x86_64 support/config-fragments/autobuild/br-microblazeel-full-internal.config,any support/config-fragments/autobuild/br-mips64-n64-full.config,x86_64 support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config,x86_64 @@ -66,8 +63,6 @@ support/config-fragments/autobuild/br-xtensa-full-internal.config,any support/config-fragments/autobuild/linaro-aarch64.config,x86 support/config-fragments/autobuild/linaro-aarch64-be.config,x86 support/config-fragments/autobuild/linaro-arm.config,x86 -support/config-fragments/autobuild/sourcery-arm-armv4t.config,x86 -support/config-fragments/autobuild/sourcery-arm-thumb2.config,x86 support/config-fragments/autobuild/sourcery-mips64.config,x86 support/config-fragments/autobuild/sourcery-mips.config,x86 support/config-fragments/autobuild/sourcery-nios2.config,x86 diff --git a/support/dependencies/check-host-python3.sh b/support/dependencies/check-host-python3.sh index 17cafd288..380b19ccf 100755 --- a/support/dependencies/check-host-python3.sh +++ b/support/dependencies/check-host-python3.sh @@ -7,8 +7,6 @@ version_min="$(echo ${1} | awk '{ split($1, v, "."); print v[1] v[2] }')" shift -# The host python interpreter is already checked by dependencies.sh but -# it only check if the version is at least 2.7. # We want to check the version number of the python3 interpreter even # if Buildroot is able to use any version but some packages may require # a more recent version. diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh index 6d5fc3603..fb0defd0c 100755 --- a/support/dependencies/dependencies.sh +++ b/support/dependencies/dependencies.sh @@ -143,7 +143,7 @@ fi # Check bash # We only check bash is available, setting SHELL appropriately is done -# in the top-level Makefile, and we mimick the same sequence here +# in the top-level Makefile, and we mimic the same sequence here if [ -n "${BASH}" ]; then : elif [ -x /bin/bash ]; then : elif [ -z "$( sh -c 'echo $BASH' )" ]; then diff --git a/support/download/check-hash b/support/download/check-hash index 03a655718..d18ec8b13 100755 --- a/support/download/check-hash +++ b/support/download/check-hash @@ -57,7 +57,7 @@ check_one_hash() { esac # Do the hashes match? - _hash=$( ${_h}sum "${_file}" |cut -d ' ' -f 1 ) + _hash="$( "${_h}sum" "${_file}" |cut -d ' ' -f 1 )" if [ "${_hash}" = "${_known}" ]; then printf "%s: OK (%s: %s)\n" "${base}" "${_h}" "${_hash}" return 0 @@ -78,7 +78,10 @@ nb_checks=0 for h_file in "${h_files[@]}"; do [ -f "${h_file}" ] || continue : $((nb_h_files++)) - while read t h f; do + # mapfile reads all lines, even the last one if it is missing a \n + mapfile -t hash_lines <"${h_file}" + for hash_line in "${hash_lines[@]}"; do + read -r t h f <<<"${hash_line}" case "${t}" in ''|'#'*) # Skip comments and empty lines @@ -91,14 +94,16 @@ for h_file in "${h_files[@]}"; do fi ;; esac - done <"${h_file}" + done done +# shellcheck disable=SC2086 # nb_h_files is a non-empty int if [ ${nb_h_files} -eq 0 ]; then printf "WARNING: no hash file for %s\n" "${base}" >&2 exit 0 fi +# shellcheck disable=SC2086 # nb_checks is a non-empty int if [ ${nb_checks} -eq 0 ]; then case " ${BR_NO_CHECK_HASH_FOR} " in *" ${base} "*) diff --git a/support/download/cvs b/support/download/cvs index 0c079e240..a6840fea7 100755 --- a/support/download/cvs +++ b/support/download/cvs @@ -40,12 +40,13 @@ shift $((OPTIND-1)) # Get rid of our options # 10 minutes should do the trick. _cvs() { if [ -z "${quiet}" ]; then - printf '%s ' timeout 10m ${CVS} "${@}"; printf '\n' + printf '%s ' timeout 10m "${CVS}" "${@}"; printf '\n' fi _plain_cvs "$@" } # Note: please keep command below aligned with what is printed above _plain_cvs() { + # shellcheck disable=SC2086 # We really want word splitting in CVS eval timeout 10m ${CVS} "${@}" } @@ -67,4 +68,4 @@ export TZ=UTC _cvs ${quiet} -z3 -d"'${uri}'" \ co "${@}" -d "'${basename}'" ${select} "'${rev}'" -P "'${rawname}'" -tar czf "${output}" "${basename}" +${TAR} czf "${output}" "${basename}" diff --git a/support/download/helpers b/support/download/helpers index 90a7d6c1e..5a9702ca3 100755 --- a/support/download/helpers +++ b/support/download/helpers @@ -59,7 +59,7 @@ mk_tar_gz() { LC_ALL=C sort <"${tmp}.list" >"${tmp}.sorted" # Create POSIX tarballs, since that's the format the most reproducible - tar cf - --transform="s#^\./#${base_dir}/#S" \ + ${TAR} cf - --transform="s#^\./#${base_dir}/#S" \ --numeric-owner --owner=0 --group=0 --mtime="${date}" \ --format=posix --pax-option="${pax_options}" \ -T "${tmp}.sorted" >"${tmp}.tar" @@ -78,7 +78,7 @@ post_process_unpack() { local one_file mkdir "${dest}" - tar -C "${dest}" --strip-components=1 -xzf "${tarball}" + ${TAR} -C "${dest}" --strip-components=1 -xzf "${tarball}" one_file="$(find "${dest}" -type f -print0 |LC_ALL=C sort -z |sed 's/\x0.*//')" touch -r "${one_file}" "${dest}.timestamp" } diff --git a/support/kconfig/lxdialog/check-lxdialog.sh b/support/kconfig/lxdialog/check-lxdialog.sh index 16cd9a318..27d6c30a5 100755 --- a/support/kconfig/lxdialog/check-lxdialog.sh +++ b/support/kconfig/lxdialog/check-lxdialog.sh @@ -48,7 +48,7 @@ trap "rm -f $tmp" 0 1 2 3 15 check() { $cc -x c - -o $tmp 2>/dev/null <<'EOF' #include CURSES_LOC -main() {} +int main() {} EOF if [ $? != 0 ]; then echo " *** Unable to find the ncurses libraries or the" 1>&2 diff --git a/support/kconfig/patches/18-merge-config.sh-create-temporary-files-in-tmp.patch b/support/kconfig/patches/18-merge-config.sh-create-temporary-files-in-tmp.patch index f2a261f30..053366e2f 100644 --- a/support/kconfig/patches/18-merge-config.sh-create-temporary-files-in-tmp.patch +++ b/support/kconfig/patches/18-merge-config.sh-create-temporary-files-in-tmp.patch @@ -5,7 +5,7 @@ Date: Mon, 7 Dec 2015 12:08:45 -0200 merge_config.sh: create temporary files in /tmp Creating temporary files in /tmp (or the path pointed by $TMPDIR) allows the - buildroot top directory to be read-only and shareable between multible builds. + buildroot top directory to be read-only and shareable between multiple builds. This follows what other scripts do, e.g. check-kernel-headers.sh. Signed-off-by: Henrique Marks diff --git a/support/kconfig/patches/22-kconfig-lxdialog-fix-check-with-GCC14.patch b/support/kconfig/patches/22-kconfig-lxdialog-fix-check-with-GCC14.patch new file mode 100644 index 000000000..41081bb45 --- /dev/null +++ b/support/kconfig/patches/22-kconfig-lxdialog-fix-check-with-GCC14.patch @@ -0,0 +1,43 @@ +From 3ae91337b53fa3ccf0bad7f181fcaf483fab22ee Mon Sep 17 00:00:00 2001 +From: Robert Marko +Date: Wed, 3 Apr 2024 14:18:07 +0200 +Subject: [PATCH] kconfig/lxdialog: fix check() with GCC14 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +GCC14 now treats implicit int types as error so when check() from +check-lxdialog.sh is called to check whether we can link against ncurses +it will fail silently and the help text indicating to install ncurses is +printed. + +However, this is not due to missing ncurses but once the stderr redirect +to /dev/null is removed we can see the root cause: +:2:1: error: return type defaults to ‘int’ [-Wimplicit-int] + +So, in order for menuconfig to work with GCC14 lets just specify the +return type of main() as int. + +Signed-off-by: Robert Marko +Reviewed-by: Petr Vorel +Tested-by: Petr Vorel +--- + kconfig/lxdialog/check-lxdialog.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kconfig/lxdialog/check-lxdialog.sh b/kconfig/lxdialog/check-lxdialog.sh +index 16cd9a3186..27d6c30a57 100755 +--- a/kconfig/lxdialog/check-lxdialog.sh ++++ b/kconfig/lxdialog/check-lxdialog.sh +@@ -48,7 +48,7 @@ trap "rm -f $tmp" 0 1 2 3 15 + check() { + $cc -x c - -o $tmp 2>/dev/null <<'EOF' + #include CURSES_LOC +-main() {} ++int main() {} + EOF + if [ $? != 0 ]; then + echo " *** Unable to find the ncurses libraries or the" 1>&2 +-- +2.44.0 + diff --git a/support/kconfig/patches/series b/support/kconfig/patches/series index e5a6f69d8..f120e323b 100644 --- a/support/kconfig/patches/series +++ b/support/kconfig/patches/series @@ -10,3 +10,4 @@ 19-merge_config.sh-add-br2-external-support.patch 20-merge_config.sh-Allow-to-define-config-prefix.patch 21-Avoid-false-positive-matches-from-comment-lines.patch +22-kconfig-lxdialog-fix-check-with-GCC14.patch diff --git a/support/misc/Buildroot.cmake b/support/misc/Buildroot.cmake index 761b6d7ae..3f8cd22f7 100644 --- a/support/misc/Buildroot.cmake +++ b/support/misc/Buildroot.cmake @@ -1,4 +1,4 @@ -# Impersonate a Linux system. Afterall, that's what we are... +# Impersonate a Linux system. After all, that's what we are... set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM ${CMAKE_SYSTEM_NAME}) include(Platform/Linux) diff --git a/support/misc/Vagrantfile b/support/misc/Vagrantfile index 73bdcc8b5..6d456ae64 100644 --- a/support/misc/Vagrantfile +++ b/support/misc/Vagrantfile @@ -5,14 +5,14 @@ ################################################################################ # Buildroot version to use -RELEASE='2024.02' +RELEASE='2024.02.11' ### Change here for more memory/cores ### VM_MEMORY=2048 VM_CORES=1 Vagrant.configure('2') do |config| - config.vm.box = 'ubuntu/bionic64' + config.vm.box = 'debian/bullseye64' config.vm.provider :vmware_fusion do |v, override| v.vmx['memsize'] = VM_MEMORY @@ -29,6 +29,11 @@ Vagrant.configure('2') do |config| end end + config.vm.provider :libvirt do |v, override| + v.memory = VM_MEMORY + v.cpus = VM_CORES + end + config.vm.provision 'shell' do |s| s.inline = 'echo Setting up machine name' @@ -42,12 +47,10 @@ Vagrant.configure('2') do |config| end config.vm.provision 'shell', privileged: true, inline: - "sed -i 's|deb http://us.archive.ubuntu.com/ubuntu/|deb mirror://mirrors.ubuntu.com/mirrors.txt|g' /etc/apt/sources.list - dpkg --add-architecture i386 + "dpkg --add-architecture i386 apt-get -q update - apt-get purge -q -y snapd lxcfs lxd ubuntu-core-launcher snap-confine apt-get -q -y install build-essential libncurses5-dev \ - git bzr cvs mercurial subversion libc6:i386 unzip bc + git bzr cvs mercurial rsync subversion libc6:i386 unzip bc apt-get -q -y autoremove apt-get -q -y clean update-locale LC_ALL=C" diff --git a/support/misc/utils.mk b/support/misc/utils.mk index 4d0efcced..5275006d6 100644 --- a/support/misc/utils.mk +++ b/support/misc/utils.mk @@ -40,7 +40,7 @@ SHARP_SIGN := \# # In other words, every letter is substituted one by one. # # The caseconvert-helper allows us to create this definition out of the -# [FROM] and [TO] lists, so we don't need to write down every substition +# [FROM] and [TO] lists, so we don't need to write down every substitution # manually. The uses of $ and $$ quoting are chosen in order to do as # much expansion as possible up-front. # @@ -131,7 +131,7 @@ QUOTE = ' # Once everything has been escaped, it is passed between single quotes # (that's why the single-quotes are escaped they way they are, above, # and why the dollar sign is not escaped) to printf(1). A trailing -# newline is apended, too. +# newline is appended, too. # # Note: leading or trailing spaces are *not* stripped. # diff --git a/support/scripts/apply-patches.sh b/support/scripts/apply-patches.sh index 6da83f682..73aa6c8e5 100755 --- a/support/scripts/apply-patches.sh +++ b/support/scripts/apply-patches.sh @@ -46,6 +46,8 @@ patchdir=${2-../kernel-patches} shift 2 patchpattern=${@-*} +export TAR=${TAR:-tar} + # use a well defined sorting order export LC_COLLATE=C @@ -146,7 +148,7 @@ function scan_patchdir { unpackedarchivedir="$builddir/.patches-$(basename $i)-unpacked" rm -rf "$unpackedarchivedir" 2> /dev/null mkdir "$unpackedarchivedir" - tar -C "$unpackedarchivedir" -xaf "${path}/$i" + ${TAR} -C "$unpackedarchivedir" -xaf "${path}/$i" scan_patchdir "$unpackedarchivedir" else apply_patch "$path" "$i" diff --git a/support/scripts/cve.py b/support/scripts/cve.py index 7167ecbc6..5af6e0c43 100755 --- a/support/scripts/cve.py +++ b/support/scripts/cve.py @@ -19,29 +19,16 @@ import datetime import os -import requests # URL checking import distutils.version -import lzma -import time +import json +import subprocess import sys import operator -try: - import ijson - # backend is a module in < 2.5, a string in >= 2.5 - if 'python' in getattr(ijson.backend, '__name__', ijson.backend): - try: - import ijson.backends.yajl2_cffi as ijson - except ImportError: - sys.stderr.write('Warning: Using slow ijson python backend\n') -except ImportError: - sys.stderr.write("You need ijson to parse NVD for CVE check\n") - exit(1) - sys.path.append('utils/') NVD_START_YEAR = 1999 -NVD_BASE_URL = "https://github.com/fkie-cad/nvd-json-data-feeds/releases/latest/download" +NVD_BASE_URL = "https://github.com/fkie-cad/nvd-json-data-feeds/" ops = { '>=': operator.ge, @@ -81,41 +68,24 @@ class CVE: self.nvd_cve = nvd_cve @staticmethod - def download_nvd_year(nvd_path, year): - metaf = "CVE-%s.meta" % year - path_metaf = os.path.join(nvd_path, metaf) - jsonf_xz = "CVE-%s.json.xz" % year - path_jsonf_xz = os.path.join(nvd_path, jsonf_xz) - - # If the database file is less than a day old, we assume the NVD data - # locally available is recent enough. - if os.path.exists(path_jsonf_xz) and os.stat(path_jsonf_xz).st_mtime >= time.time() - 86400: - return path_jsonf_xz - - # If not, we download the meta file - url = "%s/%s" % (NVD_BASE_URL, metaf) - print("Getting %s" % url) - page_meta = requests.get(url) - page_meta.raise_for_status() - - # If the meta file already existed, we compare the existing - # one with the data newly downloaded. If they are different, - # we need to re-download the database. - # If the database does not exist locally, we need to redownload it in - # any case. - if os.path.exists(path_metaf) and os.path.exists(path_jsonf_xz): - meta_known = open(path_metaf, "r").read() - if page_meta.text == meta_known: - return path_jsonf_xz - - # Grab the compressed JSON NVD, and write files to disk - url = "%s/%s" % (NVD_BASE_URL, jsonf_xz) - print("Getting %s" % url) - page_json = requests.get(url) - page_json.raise_for_status() - open(path_jsonf_xz, "wb").write(page_json.content) - open(path_metaf, "w").write(page_meta.text) - return path_jsonf_xz + def download_nvd(nvd_git_dir): + print(f"Updating from {NVD_BASE_URL}") + if os.path.exists(nvd_git_dir): + subprocess.check_call( + ["git", "pull"], + cwd=nvd_git_dir, + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + ) + else: + # Create the directory and its parents; git + # happily clones into an empty directory. + os.makedirs(nvd_git_dir) + subprocess.check_call( + ["git", "clone", NVD_BASE_URL, nvd_git_dir], + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + ) @staticmethod def sort_id(cve_ids): @@ -131,15 +101,15 @@ class CVE: feeds since NVD_START_YEAR. If the files are missing or outdated in nvd_dir, a fresh copy will be downloaded, and kept in .json.gz """ + nvd_git_dir = os.path.join(nvd_dir, "git") + CVE.download_nvd(nvd_git_dir) for year in range(NVD_START_YEAR, datetime.datetime.now().year + 1): - filename = CVE.download_nvd_year(nvd_dir, year) - try: - content = ijson.items(lzma.LZMAFile(filename), 'cve_items.item') - except: # noqa: E722 - print("ERROR: cannot read %s. Please remove the file then rerun this script" % filename) - raise - for cve in content: - yield cls(cve) + for dirpath, _, filenames in os.walk(os.path.join(nvd_git_dir, f"CVE-{year}")): + for filename in filenames: + if filename[-5:] != ".json": + continue + with open(os.path.join(dirpath, filename), "rb") as f: + yield cls(json.load(f)) def each_product(self): """Iterate over each product section of this cve""" @@ -150,7 +120,7 @@ class CVE: def parse_node(self, node): """ Parse the node inside the configurations section to extract the - cpe information usefull to know if a product is affected by + cpe information useful to know if a product is affected by the CVE. Actually only the product name and the version descriptor are needed, but we also provide the vendor name. """ diff --git a/support/scripts/fix-rpath b/support/scripts/fix-rpath index 1e58646ce..d3421504a 100755 --- a/support/scripts/fix-rpath +++ b/support/scripts/fix-rpath @@ -84,9 +84,9 @@ patch_file() { # work with the --make-rpath-relative ${rootdir} invocation as # the per-package host directory is not within ${rootdir}. So, # we rewrite all RPATHs pointing to per-package directories so - # that they point to the global host directry. + # that they point to the global host directory. # shellcheck disable=SC2001 # ${var//search/replace} hard when search or replace have / in them - changed_rpath="$(echo "${rpath}" | sed "s@${PER_PACKAGE_DIR}/[^/]\+/host@${HOST_DIR}@")" + changed_rpath="$(echo "${rpath}" | sed "s@${PER_PACKAGE_DIR}/[^/]\+/host@${HOST_DIR}@g")" if test "${rpath}" != "${changed_rpath}" ; then "${PATCHELF}" --set-rpath "${changed_rpath}" "${file}" fi diff --git a/support/scripts/graph-build-time b/support/scripts/graph-build-time index 1edc3b3c0..abbbb2615 100755 --- a/support/scripts/graph-build-time +++ b/support/scripts/graph-build-time @@ -311,7 +311,7 @@ def read_data(input_file): reader = csv.reader(input_file, delimiter=':') pkgs = [] - # Auxilliary function to find a package by name in the list. + # Auxiliary function to find a package by name in the list. def getpkg(name): for p in pkgs: if p.name == name: diff --git a/support/scripts/mkusers b/support/scripts/mkusers index 4fc06f8fd..08f334451 100755 --- a/support/scripts/mkusers +++ b/support/scripts/mkusers @@ -26,6 +26,7 @@ error() { shift printf "%s: " "${myname}" >&2 + # shellcheck disable=SC2059 # fmt is the format passed to error() printf "${fmt}" "${@}" >&2 } fail() { @@ -145,6 +146,8 @@ check_user_validity() { fail "invalid username '%s\n'" "${username}" fi + # shellcheck disable=SC2086 # gid is a non-empty int + # shellcheck disable=SC2166 # [ .. -o .. ] works well in this case if [ ${gid} -lt -2 -o ${gid} -eq 0 ]; then fail "invalid gid '%d' for '%s'\n" ${gid} "${username}" elif [ ${gid} -ge 0 ]; then @@ -171,6 +174,8 @@ check_user_validity() { fi fi + # shellcheck disable=SC2086 # uid is a non-empty int + # shellcheck disable=SC2166 # [ .. -o .. ] works well in this case if [ ${uid} -lt -2 -o ${uid} -eq 0 ]; then fail "invalid uid '%d' for '%s'\n" ${uid} "${username}" elif [ ${uid} -ge 0 ]; then @@ -190,6 +195,7 @@ check_user_validity() { fi # check the user does not already exist in another group + # shellcheck disable=SC2166 # [ .. -a .. ] works well in this case if [ -n "${_ugroup}" -a "${_ugroup}" != "${group}" ]; then fail "user '%s' already exists with group '%s' (wants '%s')\n" \ "${username}" "${_ugroup}" "${group}" @@ -218,6 +224,7 @@ generate_gid() { break fi done + # shellcheck disable=SC2086 # gid and maxgid are non-empty ints if [ ${gid} -gt ${maxgid} ]; then fail "can not allocate a GID for group '%s'\n" "${group}" fi @@ -233,6 +240,7 @@ add_one_group() { local members # Generate a new GID if needed + # shellcheck disable=SC2086 # gid is a non-empty int if [ ${gid} -eq ${AUTO_USER_ID} ]; then gid="$( generate_gid "${group}" $FIRST_USER_GID $LAST_USER_GID )" elif [ ${gid} -eq ${AUTO_SYSTEM_ID} ]; then @@ -272,6 +280,7 @@ generate_uid() { break fi done + # shellcheck disable=SC2086 # uid is a non-empty int if [ ${uid} -gt ${maxuid} ]; then fail "can not allocate a UID for user '%s'\n" "${username}" fi @@ -323,10 +332,11 @@ add_one_user() { check_user_validity "${username}" "${uid}" "${group}" "${gid}" # Generate a new UID if needed + # shellcheck disable=SC2086 # uid is a non-empty int if [ ${uid} -eq ${AUTO_USER_ID} ]; then - uid="$( generate_uid "${username}" $FIRST_USER_GID $LAST_USER_GID )" + uid="$( generate_uid "${username}" $FIRST_USER_UID $LAST_USER_UID )" elif [ ${uid} -eq ${AUTO_SYSTEM_ID} ]; then - uid="$( generate_uid "${username}" $FIRST_SYSTEM_GID $LAST_SYSTEM_GID )" + uid="$( generate_uid "${username}" $FIRST_SYSTEM_UID $LAST_SYSTEM_UID )" fi # Remove any previous instance of this user @@ -399,9 +409,8 @@ main() { fi # Read in all the file in memory, exclude empty lines and comments - while read line; do - ENTRIES+=( "${line}" ) - done < <( sed -r -e 's/#.*//; /^[[:space:]]*$/d;' "${USERS_TABLE}" ) + # mapfile reads all lines, even the last one if it is missing a \n + mapfile -t ENTRIES < <( sed -r -e 's/#.*//; /^[[:space:]]*$/d;' "${USERS_TABLE}" ) # We first create groups whose gid is positive, and then we create groups # whose gid is automatic, so that, if a group is defined both with @@ -410,14 +419,16 @@ main() { # First, create all the main groups which gid is *not* automatic for line in "${ENTRIES[@]}"; do - read username uid group gid passwd home shell groups comment <<<"${line}" + read -r username uid group gid passwd home shell groups comment <<<"${line}" + # shellcheck disable=SC2086 # gid is a non-empty int [ ${gid} -ge 0 ] || continue # Automatic gid add_one_group "${group}" "${gid}" done # Then, create all the main groups which gid *is* automatic for line in "${ENTRIES[@]}"; do - read username uid group gid passwd home shell groups comment <<<"${line}" + read -r username uid group gid passwd home shell groups comment <<<"${line}" + # shellcheck disable=SC2086 # gid is a non-empty int [ ${gid} -lt 0 ] || continue # Non-automatic gid add_one_group "${group}" "${gid}" done @@ -428,8 +439,9 @@ main() { # system gid if the uid is a system user (<= LAST_SYSTEM_UID), # otherwise a user gid. for line in "${ENTRIES[@]}"; do - read username uid group gid passwd home shell groups comment <<<"${line}" + read -r username uid group gid passwd home shell groups comment <<<"${line}" if [ "${groups}" != "-" ]; then + # shellcheck disable=SC2086 # uid is a non-empty int if [ ${uid} -le 0 ]; then auto_id=${uid} elif [ ${uid} -le ${LAST_SYSTEM_UID} ]; then @@ -450,8 +462,9 @@ main() { # Now, add users whose uid is *not* automatic for line in "${ENTRIES[@]}"; do - read username uid group gid passwd home shell groups comment <<<"${line}" + read -r username uid group gid passwd home shell groups comment <<<"${line}" [ "${username}" != "-" ] || continue # Magic string to skip user creation + # shellcheck disable=SC2086 # uid is a non-empty int [ ${uid} -ge 0 ] || continue # Automatic uid add_one_user "${username}" "${uid}" "${group}" "${gid}" "${passwd}" \ "${home}" "${shell}" "${groups}" "${comment}" @@ -459,8 +472,9 @@ main() { # Finally, add users whose uid *is* automatic for line in "${ENTRIES[@]}"; do - read username uid group gid passwd home shell groups comment <<<"${line}" + read -r username uid group gid passwd home shell groups comment <<<"${line}" [ "${username}" != "-" ] || continue # Magic string to skip user creation + # shellcheck disable=SC2086 # uid is a non-empty int [ ${uid} -lt 0 ] || continue # Non-automatic uid add_one_user "${username}" "${uid}" "${group}" "${gid}" "${passwd}" \ "${home}" "${shell}" "${groups}" "${comment}" diff --git a/support/scripts/pkg-stats b/support/scripts/pkg-stats index 53898a36f..33c21e77b 100755 --- a/support/scripts/pkg-stats +++ b/support/scripts/pkg-stats @@ -741,6 +741,7 @@ addedCSSRules.forEach(rule => styleSheet.insertRule(rule)); function sortGrid(sortLabel){ let i = 0; let pkgSortArray = [], sortedPkgArray = [], pkgStringSortArray = [], pkgNumSortArray = []; + const git_hash_regex = /[a-f,0-9]/gi; const columnValues = Array.from(document.getElementsByClassName(sortLabel)); const columnName = document.getElementById(sortLabel); let lastStyle = document.getElementById("sort-css"); @@ -765,7 +766,9 @@ function sortGrid(sortLabel){ pkgSortArray.push(sortArr); }); pkgSortArray.forEach((listing) => { - if ( isNaN(parseInt(listing[1], 10)) ){ + if ( listing[1].length >= 39 && listing[1].match(git_hash_regex).length >= 39){ + pkgStringSortArray.push(listing); + } else if ( isNaN(parseInt(listing[1], 10)) ){ pkgStringSortArray.push(listing); } else { listing[1] = parseFloat(listing[1]); @@ -977,6 +980,7 @@ def dump_html_pkg(f, pkg): # Latest version data_field_id = f'latest_version__{pkg_css_class}' + div_class = ["centered"] div_class.append(f'_{pkg_css_class}') div_class.append("latest_version data") if pkg.latest_version['status'] == RM_API_STATUS_ERROR: @@ -1039,7 +1043,8 @@ def dump_html_pkg(f, pkg): data_field_id = f'cves__{pkg_css_class}' div_class = ["centered cves data"] div_class.append(f'_{pkg_css_class}') - if len(pkg.cves) > 10: + cve_total = len(pkg.cves) + len(pkg.unsure_cves) + if cve_total > 10: div_class.append("collapse") if pkg.is_status_ok("cve"): div_class.append("cve-ok") @@ -1050,8 +1055,7 @@ def dump_html_pkg(f, pkg): else: div_class.append("cve-unknown") f.write(f'
\n') - if len(pkg.cves) > 10: - cve_total = len(pkg.cves) + 1 + if cve_total > 10: f.write(f'
see all ({cve_total}) ▾
\n') if pkg.is_status_error("cve"): @@ -1205,7 +1209,7 @@ def dump_html(packages, stats, date, commit, output): def dump_json(packages, defconfigs, stats, date, commit, output): - # Format packages as a dictionnary instead of a list + # Format packages as a dictionary instead of a list # Exclude local field that does not contains real date excluded_fields = ['url_worker', 'name', 'tree_path'] pkgs = { diff --git a/support/testing/infra/builder.py b/support/testing/infra/builder.py index a2abb9ed8..295bc7b83 100644 --- a/support/testing/infra/builder.py +++ b/support/testing/infra/builder.py @@ -52,7 +52,10 @@ class Builder(object): "> end defconfig\n") self.logfile.flush() - env = {"PATH": os.environ["PATH"]} + env = { + "PATH": os.environ["PATH"], + "HOME": os.environ["HOME"] + } env.update(make_extra_env) cmd = ["make", @@ -79,7 +82,11 @@ class Builder(object): in the environment that calls make. e.g. make_extra_env={"BR2_DL_DIR": "/path"} """ - env = {"PATH": os.environ["PATH"]} + env = { + "PATH": os.environ["PATH"], + "HOME": os.environ["HOME"] + } + if "http_proxy" in os.environ: self.logfile.write("Using system proxy: " + os.environ["http_proxy"] + "\n") diff --git a/support/testing/infra/emulator.py b/support/testing/infra/emulator.py index 624740fcb..d0f190b92 100644 --- a/support/testing/infra/emulator.py +++ b/support/testing/infra/emulator.py @@ -1,12 +1,46 @@ +import os + import pexpect +import pexpect.replwrap import infra +BR_PROMPT = '[BRTEST# ' +BR_CONTINUATION_PROMPT = '[BRTEST+ ' + + +def _repl_sh_child(child, orig_prompt, extra_init_cmd): + """Wrap the shell prompt to handle command output + Based on pexpect.replwrap._repl_sh() (ISC licensed) + https://github.com/pexpect/pexpect/blob/aa989594e1e413f45c18b26ded1783f7d5990fe5/pexpect/replwrap.py#L115 + """ + + # If the user runs 'env', the value of PS1 will be in the output. To avoid + # replwrap seeing that as the next prompt, we'll embed the marker characters + # for invisible characters in the prompt; these show up when inspecting the + # environment variable, but not when bash displays the prompt. + non_printable_insert = '\\[\\]' + ps1 = BR_PROMPT[:5] + non_printable_insert + BR_PROMPT[5:] + ps2 = (BR_CONTINUATION_PROMPT[:5] + non_printable_insert + + BR_CONTINUATION_PROMPT[5:]) + prompt_change = "PS1='{0}' PS2='{1}' PROMPT_COMMAND=''".format(ps1, ps2) + # Note: this will run various commands, each with the default timeout defined + # when qemu was spawned. + return pexpect.replwrap.REPLWrapper( + child, + orig_prompt, + prompt_change, + new_prompt=BR_PROMPT, + continuation_prompt=BR_CONTINUATION_PROMPT, + extra_init_cmd=extra_init_cmd + ) + class Emulator(object): def __init__(self, builddir, downloaddir, logtofile, timeout_multiplier): self.qemu = None + self.repl = None self.downloaddir = downloaddir self.logfile = infra.open_log_file(builddir, "run", logtofile) # We use elastic runners on the cloud to runs our tests. Those runners @@ -73,6 +107,11 @@ class Emulator(object): if kernel_cmdline: qemu_cmd += ["-append", " ".join(kernel_cmdline)] + self.logfile.write(f"> host cpu count: {os.cpu_count()}\n") + ldavg = os.getloadavg() + ldavg_str = f"{ldavg[0]:.2f}, {ldavg[1]:.2f}, {ldavg[2]:.2f}" + self.logfile.write(f"> host loadavg: {ldavg_str}\n") + self.logfile.write(f"> timeout multiplier: {self.timeout_multiplier}\n") self.logfile.write("> starting qemu with '%s'\n" % " ".join(qemu_cmd)) self.qemu = pexpect.spawn(qemu_cmd[0], qemu_cmd[1:], timeout=5 * self.timeout_multiplier, @@ -97,26 +136,33 @@ class Emulator(object): if password: self.qemu.expect("Password:") self.qemu.sendline(password) - index = self.qemu.expect(["# ", pexpect.TIMEOUT]) - if index != 0: - raise SystemError("Cannot login") - self.run("dmesg -n 1") - # Prevent the shell from wrapping the commands at 80 columns. - self.run("stty columns 29999") + + self.connect_shell() + + def connect_shell(self): + extra_init_cmd = " && ".join([ + 'export PAGER=cat', + 'dmesg -n 1', + # Prevent the shell from wrapping the commands at 80 columns. + 'stty columns 29999', + # Fix the prompt of any subshells that get run + 'printf "%s\n" "PS1=\'$PS1\'" "PS2=\'$PS2\'" "PROMPT_COMMAND=\'\'" >>/etc/profile' + ]) + self.repl = _repl_sh_child(self.qemu, '# ', extra_init_cmd) + if not self.repl: + raise SystemError("Cannot initialize REPL prompt") # Run the given 'cmd' with a 'timeout' on the target # return a tuple (output, exit_code) def run(self, cmd, timeout=-1): - self.qemu.sendline(cmd) if timeout != -1: timeout *= self.timeout_multiplier - self.qemu.expect("# ", timeout=timeout) + output = self.repl.run_command(cmd, timeout=timeout) # Remove double carriage return from qemu stdout so str.splitlines() # works as expected. - output = self.qemu.before.replace("\r\r", "\r").splitlines()[1:] + output = output.replace("\r\r", "\r").splitlines()[1:] - self.qemu.sendline("echo $?") - self.qemu.expect("# ") + exit_code = self.repl.run_command("echo $?") exit_code = self.qemu.before.splitlines()[2] exit_code = int(exit_code) diff --git a/support/testing/tests/boot/test_atf.py b/support/testing/tests/boot/test_atf.py index 4fcb9b241..b0e7696e8 100644 --- a/support/testing/tests/boot/test_atf.py +++ b/support/testing/tests/boot/test_atf.py @@ -1,31 +1,6 @@ import infra.basetest -class TestATFVexpress(infra.basetest.BRTest): - config = \ - """ - BR2_aarch64=y - BR2_TOOLCHAIN_EXTERNAL=y - BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64=y - BR2_TARGET_ARM_TRUSTED_FIRMWARE=y - BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y - BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/ARM-software/arm-trusted-firmware.git" - BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v2.5" - BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="juno" - BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y - BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y - BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC=y - BR2_TARGET_UBOOT=y - BR2_TARGET_UBOOT_BOARDNAME="vexpress_aemv8a_juno" - BR2_TARGET_UBOOT_CUSTOM_VERSION=y - BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.07" - BR2_TARGET_VEXPRESS_FIRMWARE=y - """ - - def test_run(self): - pass - - class TestATFAllwinner(infra.basetest.BRTest): config = \ """ @@ -34,16 +9,17 @@ class TestATFAllwinner(infra.basetest.BRTest): BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64=y BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y - BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.5" + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.9" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_a64" # BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP is not set BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y - BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.04" - BR2_TARGET_UBOOT_BOARD_DEFCONFIG="bananapi_m64" + BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.10" + BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero_plus2" BR2_TARGET_UBOOT_NEEDS_DTC=y + BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y diff --git a/support/testing/tests/core/test_file_capabilities.py b/support/testing/tests/core/test_file_capabilities.py index fe21d76c9..e2600ae79 100644 --- a/support/testing/tests/core/test_file_capabilities.py +++ b/support/testing/tests/core/test_file_capabilities.py @@ -13,7 +13,7 @@ class TestFileCapabilities(infra.basetest.BRTest): BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y - BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.204" + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.310" BR2_LINUX_KERNEL_DEFCONFIG="vexpress" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}" BR2_LINUX_KERNEL_DTS_SUPPORT=y diff --git a/support/testing/tests/fs/test_btrfs.py b/support/testing/tests/fs/test_btrfs.py new file mode 100644 index 000000000..90b868a95 --- /dev/null +++ b/support/testing/tests/fs/test_btrfs.py @@ -0,0 +1,56 @@ +import os + +import infra.basetest + + +class TestBtrfs(infra.basetest.BRTest): + kern_frag = \ + infra.filepath("tests/fs/test_btrfs/linux-btrfs.fragment") + btrfs_label = "BR_TEST" + config = \ + f""" + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.39" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{kern_frag}" + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_PACKAGE_BTRFS_PROGS=y + BR2_TARGET_ROOTFS_BTRFS=y + BR2_TARGET_ROOTFS_BTRFS_LABEL="{btrfs_label}" + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + disk = os.path.join(self.builddir, "images", "rootfs.btrfs") + kern = os.path.join(self.builddir, "images", "Image") + bootargs = ["root=/dev/vda", "console=ttyAMA0"] + qemu_opts = ["-M", "virt", "-cpu", "cortex-a57", "-m", "256M", + "-drive", f"file={disk},if=virtio,format=raw"] + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=bootargs, + options=qemu_opts) + self.emulator.login() + + # We check our root filesystem is in btrfs format. + cmd = "mount | grep '/dev/root on / type btrfs'" + self.assertRunOk(cmd) + + # We show the root filesystem info with btrfs-progs, using the + # target btrfs-progs. + self.assertRunOk("btrfs filesystem show /") + + # We query the label and check it is the one from the + # Buildroot config. + out, ret = self.emulator.run("btrfs filesystem label /") + self.assertEqual(ret, 0) + self.assertEqual(out[0], self.btrfs_label) + + # We try to write data on the root filesystem. + self.assertRunOk("echo 'Hello Buildroot' > /root/file.txt") + self.assertRunOk("sync") diff --git a/support/testing/tests/fs/test_btrfs/linux-btrfs.fragment b/support/testing/tests/fs/test_btrfs/linux-btrfs.fragment new file mode 100644 index 000000000..605c1837e --- /dev/null +++ b/support/testing/tests/fs/test_btrfs/linux-btrfs.fragment @@ -0,0 +1 @@ +CONFIG_BTRFS_FS=y diff --git a/support/testing/tests/fs/test_erofs.py b/support/testing/tests/fs/test_erofs.py new file mode 100644 index 000000000..47c75262e --- /dev/null +++ b/support/testing/tests/fs/test_erofs.py @@ -0,0 +1,51 @@ +import os + +import infra.basetest + + +class TestErofs(infra.basetest.BRTest): + kern_frag = \ + infra.filepath("tests/fs/test_erofs/linux-erofs.fragment") + config = \ + f""" + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.46" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{kern_frag}" + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_PACKAGE_EROFS_UTILS=y + BR2_TARGET_ROOTFS_EROFS=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + root_dev = "/dev/vda" + disk = os.path.join(self.builddir, "images", "rootfs.erofs") + kern = os.path.join(self.builddir, "images", "Image") + bootargs = [f"root={root_dev}", "console=ttyAMA0"] + qemu_opts = ["-M", "virt", "-cpu", "cortex-a57", "-m", "256M", + "-drive", f"file={disk},if=virtio,format=raw"] + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=bootargs, + options=qemu_opts) + self.emulator.login() + + # We check our root filesystem is in erofs format. + cmd = "mount | grep '/dev/root on / type erofs'" + self.assertRunOk(cmd) + + # Since we are on a read-only mounted filesystem, we can run a + # check... + self.assertRunOk(f"fsck.erofs {root_dev}") + + # We check we can dump the superblock. + self.assertRunOk(f"dump.erofs -s {root_dev}") + + # We check we can dump statistics on the image. + self.assertRunOk(f"dump.erofs -S {root_dev}") diff --git a/support/testing/tests/fs/test_erofs/linux-erofs.fragment b/support/testing/tests/fs/test_erofs/linux-erofs.fragment new file mode 100644 index 000000000..e14017aae --- /dev/null +++ b/support/testing/tests/fs/test_erofs/linux-erofs.fragment @@ -0,0 +1 @@ +CONFIG_EROFS_FS=y diff --git a/support/testing/tests/fs/test_f2fs.py b/support/testing/tests/fs/test_f2fs.py index 425fbe31c..826077ac9 100644 --- a/support/testing/tests/fs/test_f2fs.py +++ b/support/testing/tests/fs/test_f2fs.py @@ -20,7 +20,7 @@ class TestF2FS(infra.basetest.BRTest): # BR2_TARGET_ROOTFS_TAR is not set BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y - BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.204" + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.310" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="vexpress" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}" diff --git a/support/testing/tests/init/test_none.py b/support/testing/tests/init/test_none.py index fc4a46efd..5bfcc3d5c 100644 --- a/support/testing/tests/init/test_none.py +++ b/support/testing/tests/init/test_none.py @@ -18,10 +18,8 @@ class TestInitSystemNone(InitSystemBase): if index != 0: self.emulator.logfile.write("==> System does not boot") raise SystemError("System does not boot") - index = self.emulator.qemu.expect(["#", pexpect.TIMEOUT], timeout=60) - if index != 0: - self.emulator.logfile.write("==> System does not boot") - raise SystemError("System does not boot") + + self.emulator.connect_shell() out, exit_code = self.emulator.run("sh -c 'echo $PPID'") self.assertEqual(exit_code, 0) diff --git a/support/testing/tests/init/test_systemd.py b/support/testing/tests/init/test_systemd.py index 7bbc112a5..05a65223b 100644 --- a/support/testing/tests/init/test_systemd.py +++ b/support/testing/tests/init/test_systemd.py @@ -198,7 +198,7 @@ class TestInitSystemSystemdRwFull(InitSystemSystemdBase): # The following tests are all about read-only rootfs, and exercise either -# using an un-populated factory for /var, or an overlaysfs ontop of a +# using an un-populated factory for /var, or an overlaysfs on top of a # pre-populated /var. They all specialise the TestInitSystemSystemdRo* # test cases above. diff --git a/support/testing/tests/package/sample_python_asn1crypto.py b/support/testing/tests/package/sample_python_asn1crypto.py new file mode 100644 index 000000000..0b1048757 --- /dev/null +++ b/support/testing/tests/package/sample_python_asn1crypto.py @@ -0,0 +1,11 @@ +from asn1crypto import pem, x509 + + +with open('/etc/ssl/certs/ISRG_Root_X2.pem', 'rb') as f: + der_bytes = f.read() + if pem.detect(der_bytes): + type_name, headers, der_bytes = pem.unarmor(der_bytes) + +cert = x509.Certificate.load(der_bytes) + +assert cert.subject.native["common_name"] == "ISRG Root X2" diff --git a/support/testing/tests/package/sample_python_msgpack.py b/support/testing/tests/package/sample_python_msgpack.py new file mode 100644 index 000000000..1940f7082 --- /dev/null +++ b/support/testing/tests/package/sample_python_msgpack.py @@ -0,0 +1,5 @@ +import msgpack + +packaed = msgpack.packb([1, 2, 3], use_bin_type=True) + +assert msgpack.unpackb(packaed, raw=False) == [1, 2, 3] diff --git a/support/testing/tests/package/sample_python_pybind.py b/support/testing/tests/package/sample_python_pybind.py index 605c0bab1..9c605caf6 100644 --- a/support/testing/tests/package/sample_python_pybind.py +++ b/support/testing/tests/package/sample_python_pybind.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import example print(example.add(1, 2)) print(example.says) diff --git a/support/testing/tests/package/sample_python_pymupdf.py b/support/testing/tests/package/sample_python_pymupdf.py new file mode 100644 index 000000000..574bd2796 --- /dev/null +++ b/support/testing/tests/package/sample_python_pymupdf.py @@ -0,0 +1,17 @@ +import fitz + +# Write a test PDF file +outfile = "python-pymupdf.pdf" +sample_text = "This is a test page for python-pymupdf." +doc = fitz.open() +page = doc.new_page() +p = fitz.Point(50, 72) +page.insert_text(p, sample_text) +doc.save(outfile) + +# Read back the file +with fitz.open(outfile) as d: # open document + read_text = chr(12).join([page.get_text() for page in d]) + +print(read_text) +assert(read_text == sample_text + "\n") diff --git a/support/testing/tests/package/sample_python_ruamel_yaml.py b/support/testing/tests/package/sample_python_ruamel_yaml.py new file mode 100644 index 000000000..5b3a07947 --- /dev/null +++ b/support/testing/tests/package/sample_python_ruamel_yaml.py @@ -0,0 +1,27 @@ +from ruamel.yaml import YAML + +yaml_text = """ +Rootkey: + - ListEntry +AnotherRootKey: some-string + +ListRoot: + - float-value: '1.0' + int-value: 10234 + NestedList: + - 1 + - 2 + + - another-float: '1.1' + another-int: 1111 + +OneMoreRootKey: 9.99 +""" + +# Tests the pure python based implementation +yaml = YAML(typ='safe', pure=True) + +parsed = yaml.load(yaml_text) + +assert parsed['OneMoreRootKey'] == 9.99 +assert parsed['ListRoot'][1]['another-int'] == 1111 diff --git a/support/testing/tests/package/test_4th.py b/support/testing/tests/package/test_4th.py new file mode 100644 index 000000000..c020c825b --- /dev/null +++ b/support/testing/tests/package/test_4th.py @@ -0,0 +1,55 @@ +import os +from math import sqrt + +import infra.basetest + + +class Test4th(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_4TH=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # We set the DIR4TH variable where 4th demos and libraries are + # installed. + self.assertRunOk("export DIR4TH=/usr/share/4th/") + + # We run a simple "hello world" demo. + out, ret = self.emulator.run("4th cxq demo/hello.4th") + self.assertEqual(ret, 0) + self.assertEqual(out[0], "Hello world!") + + # We run a demo doing some square root maths. + out, ret = self.emulator.run("4th cxq demo/squares.4th") + self.assertEqual(ret, 0) + self.assertTrue(len(out) > 1) + for line in out[1:]: + columns = line.split() + value = float(columns[0]) + value_sqrt = float(columns[1]) + result_check = sqrt(value) + self.assertAlmostEqual(value_sqrt, result_check, delta=0.1) + + # We run a word count demo and the 4th source file. We save + # the word count for a later check. + out, ret = self.emulator.run("4th cxq wc.4th /usr/share/4th/wc.4th") + self.assertEqual(ret, 0) + wc_out = out[0].split() + + # We run the same command using system "wc" command. We expect + # the same numbers. + out, ret = self.emulator.run("wc /usr/share/4th/wc.4th") + self.assertEqual(ret, 0) + self.assertEqual(out[0].split(), wc_out) + + # We run a slightly more complex computation example. + self.assertRunOk("4th cxq fractals.4th") diff --git a/support/testing/tests/package/test_acpica.py b/support/testing/tests/package/test_acpica.py index f7dd64d7f..adfb93d50 100644 --- a/support/testing/tests/package/test_acpica.py +++ b/support/testing/tests/package/test_acpica.py @@ -43,12 +43,12 @@ class TestAcpica(infra.basetest.BRTest): cmd += " | grep -F '\"Hello Buildroot!\"'" self.assertRunOk(cmd) - # INT1 is exepcted to be 12345678 + # INT1 is expected to be 12345678 cmd = "acpiexec -b 'evaluate INT1' dsdt.aml" cmd += " | grep -F 12345678" self.assertRunOk(cmd) - # Evalute the TEST method which prints its argument + # Evaluate the TEST method which prints its argument cmd = "acpiexec -b 'evaluate TST2 \"Hello World\"' dsdt.aml" cmd += " | grep -F 'Arg0=Hello World'" self.assertRunOk(cmd) diff --git a/support/testing/tests/package/test_attr.py b/support/testing/tests/package/test_attr.py new file mode 100644 index 000000000..1b43f7daf --- /dev/null +++ b/support/testing/tests/package/test_attr.py @@ -0,0 +1,75 @@ +import os + + +import infra.basetest + + +class TestAttr(infra.basetest.BRTest): + # Note: this test uses extended attributes (xattr). We use a ext4 + # rootfs (which fully supports xattrs). Note that tmpfs has + # partial support of xattrs, and cpio initrd has not. + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_ATTR=y + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_4=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + disk_file = os.path.join(self.builddir, "images", "rootfs.ext4") + self.emulator.boot(arch="armv5", + kernel="builtin", + kernel_cmdline=["rootwait", "root=/dev/sda"], + options=["-drive", f"file={disk_file},if=scsi,format=raw"]) + self.emulator.login() + + # Check the programs can execute. + self.assertRunOk("getfattr --version") + self.assertRunOk("setfattr --version") + + test_file = "/root/file.txt" + attr_name = "buildroot" + attr_value = "is-great" + + # Create a test file. + self.assertRunOk(f"echo 'Hello Buildroot!' > {test_file}") + + # Set an extended attribute. + cmd = f"setfattr -n user.{attr_name} -v {attr_value} {test_file}" + self.assertRunOk(cmd) + + # Read back the attribute value. We add an extra "echo" to add + # a new line. getfattr --only-values prints raw attribute + # values and lack of a new line. + cmd = "getfattr" + cmd += f" -n user.{attr_name} --absolute-names --only-values" + cmd += f" {test_file} && echo" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0], attr_value) + + # We read back the attribute value again, but with the "attr" + # command this time. + cmd = f"attr -q -g {attr_name} {test_file} && echo" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0], attr_value) + + # List extended attributes with "attr", and check we see our + # test attribute. + cmd = f"attr -l {test_file}" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertIn(attr_name, "\n".join(out)) + + # Remove the test attribute with setfattr. + cmd = f"setfattr -x user.{attr_name} {test_file}" + self.assertRunOk(cmd) + + # We check the test attribute is no longer listed by the attr + # command. + cmd = f"attr -l {test_file}" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertNotIn(attr_name, "\n".join(out)) diff --git a/support/testing/tests/package/test_audit.py b/support/testing/tests/package/test_audit.py new file mode 100644 index 000000000..f68a4b683 --- /dev/null +++ b/support/testing/tests/package/test_audit.py @@ -0,0 +1,91 @@ +import os + +import infra.basetest + + +class TestAudit(infra.basetest.BRTest): + # This test needs a Kernel with the audit support (the builtin + # test Kernel does not have this support). Since the audit support + # enabled by default, a kernel fragment is not required. + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.58" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_PACKAGE_AUDIT=y + BR2_TARGET_ROOTFS_CPIO=y + BR2_TARGET_ROOTFS_CPIO_GZIP=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio.gz") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["console=ttyAMA0"], + options=["-M", "virt", + "-cpu", "cortex-a57", + "-m", "256M", + "-initrd", img]) + self.emulator.login() + + # We check the program can run by showing its version. This + # invocation also checks the Kernel has the audit support + # enabled. + self.assertRunOk("auditctl -v") + + # We define a normal user name for this test. + user = "audit-test" + + # Audit rule inspired from auditctl manual page examples. + + # We add an audit rule logging write access on the + # system password file. + cmd = "auditctl -a always,exit -F path=/etc/shadow -F perm=wa" + self.assertRunOk(cmd) + + # We do a read-only access on this file, as the root user. + self.assertRunOk("cat /etc/shadow") + + # We check our previous read-only access did NOT generated an + # event record. + ausearch_cmd = "ausearch --format text" + out, ret = self.emulator.run(ausearch_cmd) + self.assertEqual(ret, 0) + open_shadow_str = "acting as root, successfully opened-file /etc/shadow" + self.assertNotIn(open_shadow_str, "\n".join(out)) + + # We create a normal user. This will modify the shadow password file. + cmd = f"adduser -D -h /tmp -H -s /bin/sh {user}" + self.assertRunOk(cmd) + + # We are now expecting an event record of this modification. + out, ret = self.emulator.run(ausearch_cmd) + self.assertEqual(ret, 0) + self.assertIn(open_shadow_str, "\n".join(out)) + + # We add a new audit rule, recording failed open of the system + # password file. + cmd = "auditctl -a always,exit -S openat -F success=0 -F path=/etc/shadow" + self.assertRunOk(cmd) + + # We attempt to read the system password file as our new + # normal user. This command is expected to fail (as only root + # can root is supposed to read this file). + cmd = f"su - {user} -c 'cat /etc/shadow'" + _, ret = self.emulator.run(cmd) + self.assertNotEqual(ret, 0) + + # Our last failed read attempt is supposed to have generated + # an event. We check we can see it in the log. + out, ret = self.emulator.run(ausearch_cmd) + self.assertEqual(ret, 0) + evt_str = f"acting as {user}, unsuccessfully opened-file /etc/shadow" + self.assertIn(evt_str, "\n".join(out)) diff --git a/support/testing/tests/package/test_bash.py b/support/testing/tests/package/test_bash.py index f0ee8cadc..7ec6e85ef 100644 --- a/support/testing/tests/package/test_bash.py +++ b/support/testing/tests/package/test_bash.py @@ -28,7 +28,7 @@ class TestBash(infra.basetest.BRTest): self.assertEqual(out[0], "", "Already running bash instead of busybox' sh") self.assertRunOk("bash -il") - # Twist! The above command is still runing, it's just that + # Twist! The above command is still running, it's just that # bash did display the prompt we expect. Check we are indeed # actually bash out, _ = self.emulator.run('echo "${BASH}"') diff --git a/support/testing/tests/package/test_bitcoin.py b/support/testing/tests/package/test_bitcoin.py new file mode 100644 index 000000000..1f00345a1 --- /dev/null +++ b/support/testing/tests/package/test_bitcoin.py @@ -0,0 +1,184 @@ +import os +import time + +import infra.basetest + + +class TestBitcoin(infra.basetest.BRTest): + # infra.basetest.BASIC_TOOLCHAIN_CONFIG cannot be used as it does + # not include BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS + # needed by bitcoin. This config also uses an ext4 rootfs as + # bitcoind needs some free disk space to start (so we avoid having + # a larger initrd in RAM). + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.81" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_PACKAGE_BITCOIN=y + BR2_PACKAGE_BITCOIN_WALLET=y + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_4=y + BR2_TARGET_ROOTFS_EXT2_SIZE="256M" + # BR2_TARGET_ROOTFS_TAR is not set + """ + # Command prefix for the bitcoin command line interface. + cli_cmd = "bitcoin-cli -regtest" + + def create_btc_wallet(self, wallet_name): + """Create an empty wallet.""" + cmd = f"{self.cli_cmd} -named createwallet wallet_name={wallet_name}" + self.assertRunOk(cmd) + + def gen_btc_address(self, wallet_name): + """Generate an address in a wallet.""" + cmd = f"{self.cli_cmd} -rpcwallet={wallet_name} getnewaddress" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + return out[0] + + def init_wallet(self, wallet_name): + """Create a wallet and generate an address in it.""" + self.create_btc_wallet(wallet_name) + return self.gen_btc_address(wallet_name) + + def get_wallet_balance(self, wallet): + """Return the (confirmed) balance of a wallet.""" + cmd = f"{self.cli_cmd} -rpcwallet={wallet} getbalance" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + return float(out[0]) + + def get_wallet_unconfirmed_balance(self, wallet): + """Return the unconfirmed balance of a wallet.""" + cmd = f"{self.cli_cmd} -rpcwallet={wallet} getunconfirmedbalance" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + return float(out[0]) + + def get_block_count(self): + """Returns the height of the most-work fully-validated chain.""" + cmd = f"{self.cli_cmd} getblockcount" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + return int(out[0]) + + def test_run(self): + drive = os.path.join(self.builddir, "images", "rootfs.ext4") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["root=/dev/vda console=ttyAMA0"], + options=["-M", "virt", + "-cpu", "cortex-a53", + "-m", "256M", + "-drive", f"file={drive},if=virtio,format=raw"]) + self.emulator.login() + + # Values for the test. + wallet1 = "AliceWallet" + wallet2 = "BobWallet" + btc_test_amount = 10 + btc_fee = 0.00001 + req_blk_count = 101 + + # Check the binary can execute. + self.assertRunOk("bitcoind --version") + + # This cleanup is useful when run-test -k is used. It makes + # this test idempotent. Since the drive storage is preserved + # between reboots, this cleanup will make sure the test always + # starts from a clean state. + cmd = "rm -rf ~/.bitcoin" + self.assertRunOk(cmd) + + # The bitcoin daemon is not started. A client ping is expected + # to fail. + ping_cmd = f"{self.cli_cmd} ping" + _, ret = self.emulator.run(ping_cmd) + self.assertNotEqual(ret, 0) + + # Start the daemon. + cmd = f"bitcoind -regtest -daemonwait -fallbackfee={btc_fee:f}" + self.assertRunOk(cmd) + + time.sleep(2 * self.timeout_multiplier) + + # Now the daemon is started, the ping is expected to succeed. + self.assertRunOk(ping_cmd) + + # We create two wallets and addresses. + btc_addr1 = self.init_wallet(wallet1) + btc_addr2 = self.init_wallet(wallet2) + + # Since the regression test block chain is at its genesis + # block, we expect a height of zero. + cur_blk_cnt = self.get_block_count() + self.assertEqual(cur_blk_cnt, 0) + + # We also expect our wallets to be empty. + for wallet in [wallet1, wallet2]: + balance = self.get_wallet_balance(wallet) + self.assertAlmostEqual(balance, 0.0) + + # We request the generation of several blocks for address + # #1. We should receive the 50 BTC reward at this address. + cmd = self.cli_cmd + cmd += f" generatetoaddress {req_blk_count} {btc_addr1}" + self.assertRunOk(cmd, timeout=30) + + # We should now see the previously created blocks. + cur_blk_cnt = self.get_block_count() + self.assertEqual(cur_blk_cnt, req_blk_count) + + # We should also see the 50 BTC reward in the wallet #1. + balance = self.get_wallet_balance(wallet1) + self.assertAlmostEqual(balance, 50.0) + + # The wallet #2 should still be empty. + balance = self.get_wallet_balance(wallet2) + self.assertAlmostEqual(balance, 0.0) + + # We send an amount from wallet #1 to #2. + cmd = f"{self.cli_cmd} -rpcwallet={wallet1}" + cmd += f" sendtoaddress {btc_addr2} {btc_test_amount}" + self.assertRunOk(cmd) + + # The wallet #1 balance is expected to be subtracted by the + # spent amount and the transaction fees. + expected_balance = 50 - btc_test_amount - btc_fee + balance = self.get_wallet_balance(wallet1) + self.assertAlmostEqual(balance, expected_balance, places=4) + + # The transaction is sent, but not confirmed yet. So we should + # still see a (confirmed) balance of zero. + balance = self.get_wallet_balance(wallet2) + self.assertAlmostEqual(balance, 0.0) + + # We should see the transferred amount in the unconfirmed + # balance. + balance = self.get_wallet_unconfirmed_balance(wallet2) + self.assertAlmostEqual(balance, btc_test_amount) + + # We generate 1 block to address #2. This action will confirm + # the previous transaction (but this will not give the 50 BTC + # reward). + cmd = f"{self.cli_cmd} generatetoaddress 1 {btc_addr2}" + self.assertRunOk(cmd, timeout=30) + + # We should see one more block. + cur_blk_cnt = self.get_block_count() + self.assertEqual(cur_blk_cnt, req_blk_count + 1) + + # We should now see the amount in the confirmed balance. + balance = self.get_wallet_balance(wallet2) + self.assertAlmostEqual(balance, btc_test_amount) + + # The unconfirmed balance should now be zero. + balance = self.get_wallet_unconfirmed_balance(wallet2) + self.assertAlmostEqual(balance, 0.0) diff --git a/support/testing/tests/package/test_btrfs_progs.py b/support/testing/tests/package/test_btrfs_progs.py new file mode 100644 index 000000000..a53efa943 --- /dev/null +++ b/support/testing/tests/package/test_btrfs_progs.py @@ -0,0 +1,127 @@ +import os +import subprocess + +import infra.basetest + + +class TestBtrfsProgs(infra.basetest.BRTest): + # This test needs a Kernel with btrfs support. + kern_frag = \ + infra.filepath("tests/package/test_btrfs_progs/linux-btrfs.fragment") + config = \ + f""" + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.39" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{kern_frag}" + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_PACKAGE_BTRFS_PROGS=y + BR2_TARGET_ROOTFS_CPIO=y + BR2_TARGET_ROOTFS_CPIO_GZIP=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + # Prepare the disk image. + disk_file = os.path.join(self.builddir, "images", "disk.img") + self.emulator.logfile.write(f"Creating disk image: {disk_file}") + self.emulator.logfile.flush() + subprocess.check_call( + ["dd", "if=/dev/zero", f"of={disk_file}", "bs=1M", "count=256"], + stdout=self.emulator.logfile, + stderr=self.emulator.logfile) + + # Run the emulator with a blank drive. + img = os.path.join(self.builddir, "images", "rootfs.cpio.gz") + kern = os.path.join(self.builddir, "images", "Image") + bootargs = ["console=ttyAMA0"] + qemu_opts = ["-M", "virt", "-cpu", "cortex-a57", "-m", "256M", + "-initrd", img, + "-drive", f"file={disk_file},if=virtio,format=raw"] + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=bootargs, + options=qemu_opts) + self.emulator.login() + + # Check a program can run and show its version. + self.assertRunOk("btrfs --version") + + # Variables for this test. + dev = "/dev/vda" + label = "BR_TEST" + mnt_pt = "/tmp/btrfs" + data_file = f"{mnt_pt}/data.bin" + txt = "Hello Buildroot!" + subvol = f"{mnt_pt}/my-subvolume" + snapshot = f"{mnt_pt}/my-snapshot" + + # We create the btrfs filesystem on our device. + self.assertRunOk(f"mkfs.btrfs {dev}", timeout=10) + + # We set a label on this filesystem. + self.assertRunOk(f"btrfs filesystem label {dev} '{label}'") + + # We create a mount point and mount this filesystem. + self.assertRunOk(f"mkdir -p {mnt_pt}") + self.assertRunOk(f"mount {dev} {mnt_pt}") + + # We create a file with random data, to use this new + # filesystem a bit. + self.assertRunOk(f"dd if=/dev/urandom of={data_file} bs=1M count=10") + + # We compute the sha256 hash and save it for later. + hash_cmd = f"sha256sum {data_file}" + out, ret = self.emulator.run(hash_cmd) + self.assertEqual(ret, 0) + data_sha256 = out[0] + + # We unmount the filesystem. + self.assertRunOk(f"umount {mnt_pt}") + + # We run a filesystem check (this tool is the equivalent of + # "fsck"). Since we cleanly unmounted the filesystem, + # we are not expecting any repair. This is just to test the + # program works correctly. + self.assertRunOk(f"btrfs check {dev}") + + # We query the label and check it is the one we set at the + # beginning. + out, ret = self.emulator.run(f"btrfs filesystem label {dev}") + self.assertEqual(ret, 0) + self.assertEqual(out[0], label) + + # We remount our filesystem. + self.assertRunOk(f"mount {dev} {mnt_pt}") + + # We perform a scrub in foreground. + self.assertRunOk(f"btrfs scrub start -B {mnt_pt}") + + # We show device usage and statistics. + self.assertRunOk(f"btrfs device usage {mnt_pt}") + self.assertRunOk(f"btrfs device stats {mnt_pt}") + + # We create a btrfs subvolume and create a file in it. + self.assertRunOk(f"btrfs subvolume create {subvol}") + self.assertRunOk(f"echo '{txt}' > {subvol}/file.txt") + + # We create a read-only snapshot of this subvolume and we + # delete our file previously created. + self.assertRunOk(f"btrfs subvolume snapshot -r {subvol} {snapshot}") + self.assertRunOk(f"rm -f {subvol}/file.txt") + + # We should still see our file in our snapshot. + out, ret = self.emulator.run(f"cat {snapshot}/file.txt") + self.assertEqual(ret, 0) + self.assertEqual(out[0], txt) + + # We should recompute the same sha256 hash as before, on the + # first data file we created at the beginning. + out, ret = self.emulator.run(hash_cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0], data_sha256) diff --git a/support/testing/tests/package/test_btrfs_progs/linux-btrfs.fragment b/support/testing/tests/package/test_btrfs_progs/linux-btrfs.fragment new file mode 100644 index 000000000..605c1837e --- /dev/null +++ b/support/testing/tests/package/test_btrfs_progs/linux-btrfs.fragment @@ -0,0 +1 @@ +CONFIG_BTRFS_FS=y diff --git a/support/testing/tests/package/test_compressor_base.py b/support/testing/tests/package/test_compressor_base.py index 6555584c1..e822c2113 100644 --- a/support/testing/tests/package/test_compressor_base.py +++ b/support/testing/tests/package/test_compressor_base.py @@ -24,7 +24,7 @@ class TestCompressorBase(infra.basetest.BRTest): in unset, the default value is "compress_cmd" appended with " -t". compressed_file_ext - - the file extention of compressed files created by the + - the file extension of compressed files created by the compress command. (ex: ".gz") if unset, the default value is a dot "." appended with the value of "compress_cmd". diff --git a/support/testing/tests/package/test_cryptsetup.py b/support/testing/tests/package/test_cryptsetup.py index 759dfd7c5..e409ea93e 100644 --- a/support/testing/tests/package/test_cryptsetup.py +++ b/support/testing/tests/package/test_cryptsetup.py @@ -109,7 +109,7 @@ class TestCryptSetup(infra.basetest.BRTest): self.assertRunOk(f"cryptsetup close {dm_name}") # We are NOT supposed to find our plain text message on the - # crypted storage device. + # encrypted storage device. _, ret = self.emulator.run(f"grep -Fq '{msg}' {dev}", timeout=10) self.assertNotEqual(ret, 0) diff --git a/support/testing/tests/package/test_ddrescue.py b/support/testing/tests/package/test_ddrescue.py index 220697142..989abc8f0 100644 --- a/support/testing/tests/package/test_ddrescue.py +++ b/support/testing/tests/package/test_ddrescue.py @@ -76,7 +76,7 @@ class TestDdrescue(infra.basetest.BRTest): # Where a normal 'dd' fails, 'ddrescue' is expected to succeed self.assertRunOk(f"ddrescue {dm_dev} {ddrescue_img}") - # ddrescue does not normaly write any output data when there + # ddrescue does not normally write any output data when there # is I/O error on the input. The intent is to preserve any # data that could have been read in a previous pass. There is # one exception, when the output is a non-existing regular diff --git a/support/testing/tests/package/test_dtc.py b/support/testing/tests/package/test_dtc.py new file mode 100644 index 000000000..47a1d7591 --- /dev/null +++ b/support/testing/tests/package/test_dtc.py @@ -0,0 +1,39 @@ +import os + +import infra.basetest + + +class TestDtc(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_DTC=y + BR2_PACKAGE_DTC_PROGRAMS=y + BR2_ROOTFS_OVERLAY="{}" + # BR2_TARGET_ROOTFS_TAR is not set + BR2_TARGET_ROOTFS_CPIO=y + """.format( + # overlay to add a bats test suite + infra.filepath("tests/package/test_dtc/rootfs-overlay")) + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv7", + kernel="builtin", + options=["-initrd", cpio_file]) + + self.emulator.login() + + # Test 'dtc' + self.assertRunOk("dtc -I dts -O dtb -o /tmp/test_tree1.dtb /test_tree1.dts") + + # Test 'fdtdump' + self.assertRunOk("fdtdump /tmp/test_tree1.dtb") + + # Test 'fdtget' + out, exit_code = self.emulator.run("fdtget -t s /tmp/test_tree1.dtb / compatible") + self.assertEqual(out[0].strip(), "test_tree1") + + # Test 'fdtput' + self.assertRunOk("fdtput -t s /tmp/test_tree1.dtb / compatible 'test set compatible'") + out, exit_code = self.emulator.run("fdtget -t s /tmp/test_tree1.dtb / compatible") + self.assertEqual(out[0].strip(), "test set compatible") diff --git a/support/testing/tests/package/test_dtc/rootfs-overlay/test_tree1.dts b/support/testing/tests/package/test_dtc/rootfs-overlay/test_tree1.dts new file mode 100644 index 000000000..6649e7cc0 --- /dev/null +++ b/support/testing/tests/package/test_dtc/rootfs-overlay/test_tree1.dts @@ -0,0 +1,48 @@ +/* From https://git.kernel.org/pub/scm/utils/dtc/dtc.git/tree/tests/test_tree1.dts?id=99031e3a4a6e479466ae795790b44727434ca27d */ + +/dts-v1/; + +/memreserve/ 0xdeadbeef00000000 0x100000; +/memreserve/ 123456789 010000; + +/ { + compatible = "test_tree1"; + prop-int = <0xdeadbeef>; + prop-int64 = /bits/ 64 <0xdeadbeef01abcdef>; + prop-str = "hello world"; + #address-cells = <1>; + #size-cells = <0>; + + subnode@1 { + compatible = "subnode1"; + reg = <1>; + prop-int = [deadbeef]; + + subsubnode { + compatible = "subsubnode1", "subsubnode"; + placeholder = "this is a placeholder string", "string2"; + prop-int = <0xdeadbeef>; + }; + + ss1 { + }; + }; + + subnode@2 { + reg = <2>; + linux,phandle = <0x2000>; + prop-int = <123456789>; + #address-cells = <1>; + #size-cells = <0>; + + ssn0: subsubnode@0 { + reg = <0>; + phandle = <0x2001>; + compatible = "subsubnode2", "subsubnode"; + prop-int = <0726746425>; + }; + + ss2 { + }; + }; +}; diff --git a/support/testing/tests/package/test_ed.py b/support/testing/tests/package/test_ed.py new file mode 100644 index 000000000..eee5f8c4f --- /dev/null +++ b/support/testing/tests/package/test_ed.py @@ -0,0 +1,98 @@ +import os + +import infra.basetest + + +class TestEd(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_ED=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def run_ed_cmds(self, ed_cmds): + cmd = "ed < /var/www/data/{fname}") + + # We try to download that file, using our local httpd server. + self.assertRunOk(f"curl -o {fname} {url}") + + # We check the downloaded file contains our initial message. + out, ret = self.emulator.run(f"cat {fname}") + self.assertEqual(ret, 0) + self.assertEqual(out[0], msg) + + # We download again the file without saving it, but printing + # it on stdout this time. + out, ret = self.emulator.run(f"curl -q {url}") + self.assertEqual(ret, 0) + self.assertEqual(out[0], msg) + + # We download one last time, showing the server response. We + # check we can see the OK status and our thttpd server + # identification. + cmd = f"curl --no-progress-meter --dump-header - -o /dev/null {url}" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + out_str = "\n".join(out) + self.assertIn("HTTP/1.1 200 OK", out_str) + self.assertIn("Server: thttpd/", out_str) diff --git a/support/testing/tests/package/test_links.py b/support/testing/tests/package/test_links.py new file mode 100644 index 000000000..ed52bb2d5 --- /dev/null +++ b/support/testing/tests/package/test_links.py @@ -0,0 +1,33 @@ +import os + +import infra.basetest + + +class TestLinks(infra.basetest.BRTest): + rootfs_overlay = \ + infra.filepath("tests/package/test_links/rootfs-overlay") + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + f""" + BR2_PACKAGE_LINKS=y + BR2_ROOTFS_OVERLAY="{rootfs_overlay}" + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + self.assertRunOk("links -version") + + expected_str = "Hello Buildroot !" + html_file = "/root/file.html" + url = f"file://{html_file}" + + cmd = f"links -dump {url}" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0].strip(), expected_str) diff --git a/support/testing/tests/package/test_links/rootfs-overlay/root/file.html b/support/testing/tests/package/test_links/rootfs-overlay/root/file.html new file mode 100644 index 000000000..65b33cb5a --- /dev/null +++ b/support/testing/tests/package/test_links/rootfs-overlay/root/file.html @@ -0,0 +1,9 @@ + + + + Buildroot Test Page + + +

Hello Buildroot !

+ + diff --git a/support/testing/tests/package/test_lrzsz.py b/support/testing/tests/package/test_lrzsz.py new file mode 100644 index 000000000..23b4cdc53 --- /dev/null +++ b/support/testing/tests/package/test_lrzsz.py @@ -0,0 +1,42 @@ +import os + +import infra.basetest + + +class TestLrzsz(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_LRZSZ=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + fifo = "/tmp/return-fifo" + data_fname = "data" + data_path = f"/tmp/{data_fname}" + + # We check a program can execute. + self.assertRunOk("sz --version") + + # We create a data file, to be transferred. + cmd = f"dd if=/dev/urandom of={data_path} bs=1M count=1" + self.assertRunOk(cmd) + + # We create a fifo, used as a return fifo. + self.assertRunOk(f"mkfifo {fifo}") + + # We transfer the test data using ZMODEM over the pipe and our + # return fifo. + self.assertRunOk(f"sz {data_path} < {fifo} | rz > {fifo}") + + # The rz command is supposed to have created the received file + # in the current directory. We expect the received data to be + # the same as the original input file. + self.assertRunOk(f"cmp {data_path} {data_fname}") diff --git a/support/testing/tests/package/test_lvm2.py b/support/testing/tests/package/test_lvm2.py new file mode 100644 index 000000000..75ea3fa44 --- /dev/null +++ b/support/testing/tests/package/test_lvm2.py @@ -0,0 +1,160 @@ +import os +import subprocess + +import infra.basetest + + +class TestLvm2(infra.basetest.BRTest): + # The lvm2 package has _LINUX_CONFIG_FIXUPS, so we cannot use + # the runtime test pre-built Kernel. We need to compile a Kernel + # to make sure it will include the required configuration. + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.77" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_PACKAGE_E2FSPROGS=y + BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y + BR2_PACKAGE_LVM2=y + BR2_TARGET_ROOTFS_CPIO=y + BR2_TARGET_ROOTFS_CPIO_GZIP=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def get_free_disk_space(self, path): + out, ret = self.emulator.run(f"df -k {path}") + self.assertEqual(ret, 0) + return int(out[1].split()[3]) + + def test_run(self): + # Test configuration: + storage_devs = ["/dev/vda", "/dev/vdb", "/dev/vdc"] + storage_size = 16 # Mega Bytes + lvm_vg = "br_vg" # Volume Group name + lvm_lv = "br_lv" # Logical Volume name + lv_dev = f"/dev/{lvm_vg}/{lvm_lv}" # Logical Volume dev name + mnt_pt = "/mnt/lvm2-storage" + data_file = f"{mnt_pt}/data.bin" + + qemu_storage_opts = [] + for i in range(len(storage_devs)): + disk_file = os.path.join(self.builddir, "images", f"disk{i}.img") + self.emulator.logfile.write(f"Creating disk image: {disk_file}\n") + self.emulator.logfile.flush() + subprocess.check_call( + ["dd", "if=/dev/zero", f"of={disk_file}", + "bs=1M", f"count={storage_size}"], + stdout=self.emulator.logfile, + stderr=self.emulator.logfile) + opts = ["-drive", f"file={disk_file},if=virtio,format=raw"] + qemu_storage_opts += opts + + img = os.path.join(self.builddir, "images", "rootfs.cpio.gz") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["console=ttyAMA0"], + options=["-M", "virt", "-cpu", "cortex-a57", "-m", "256M", + "-initrd", img] + qemu_storage_opts) + self.emulator.login() + + # Test the program can execute. + self.assertRunOk("lvm version") + + # We did not created any Physical Volume yet. We should NOT + # see any of our storage devices in a pvscan. + out, ret = self.emulator.run("pvscan") + self.assertEqual(ret, 0) + for dev in storage_devs: + self.assertNotIn(dev, "\n".join(out)) + + # We initialize our Physical Volumes (PVs). + pv_devs = " ".join(storage_devs) + self.assertRunOk(f"pvcreate {pv_devs}") + + # We run few diagnostic commands related to PVs. + self.assertRunOk(f"pvck {pv_devs}") + self.assertRunOk(f"pvdisplay {pv_devs}") + self.assertRunOk("pvs") + + # Now we initialized the PVs, we should see them in a pvscan. + out, ret = self.emulator.run("pvscan") + self.assertEqual(ret, 0) + for dev in storage_devs: + self.assertIn(dev, "\n".join(out)) + + # We create a Volume Group (VG) including two of our three + # PVs. + cmd = f"vgcreate {lvm_vg} {storage_devs[0]} {storage_devs[1]}" + self.assertRunOk(cmd) + + # We run few diagnostic commands related to VGs. + self.assertRunOk(f"vgck {lvm_vg}") + self.assertRunOk(f"vgdisplay {lvm_vg}") + self.assertRunOk("vgscan") + self.assertRunOk("vgs") + + # We create a Logical Volume (LV) in our VG. + self.assertRunOk(f"lvcreate -l 100%FREE -n {lvm_lv} {lvm_vg}") + + # We check LVM created the LV device. + self.assertRunOk(f"ls -al {lv_dev}") + + # We run few diagnostic commands related to LVs. + self.assertRunOk("lvscan") + self.assertRunOk("lvs") + + # We create a ext4 filesystem on our LV. + self.assertRunOk(f"mkfs.ext4 {lv_dev}") + + # We create a mount point directory and mount the device. + self.assertRunOk(f"mkdir -p {mnt_pt}") + self.assertRunOk(f"mount {lv_dev} {mnt_pt}") + + # We create a data file in our new filesystem. Note: this file + # is slightly larger than a single PV. This data file should + # span over the two PVs in the VG. + data_size = storage_size + 4 + cmd = f"dd if=/dev/urandom of={data_file} bs=1M count={data_size}" + self.assertRunOk(cmd) + + # We compute the hash of our data, and save it for later. + hash_cmd = f"sha256sum {data_file}" + out, ret = self.emulator.run(hash_cmd) + self.assertEqual(ret, 0) + data_sha256 = out[0] + + # We compute the free space of the mount point. + fs_free_space = self.get_free_disk_space(mnt_pt) + + # We extend of VG with our third PV. + self.assertRunOk(f"vgextend {lvm_vg} {storage_devs[2]}") + + # We grow the LV to use all the space of the VG. + self.assertRunOk(f"lvresize -l +100%FREE {lvm_vg}/{lvm_lv}") + + # We resize the filesystem to use all the LV space. + self.assertRunOk(f"resize2fs {lv_dev}") + + # Now we grew the LV and resized the filesystem, we recompute + # the free space and check we have more. + fs2_free_space = self.get_free_disk_space(mnt_pt) + self.assertGreater(fs2_free_space, fs_free_space) + + # With all those on-the-fly operations on the mounted + # filesystem, the data file should be intact. We should + # recompute the same data checksum as before. + out, ret = self.emulator.run(hash_cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0], data_sha256) + + # Finally, we unmount the filesystem. It should not contain + # any error. + self.assertRunOk(f"umount {mnt_pt}") + self.assertRunOk(f"e2fsck -f -n {lv_dev}") diff --git a/support/testing/tests/package/test_make.py b/support/testing/tests/package/test_make.py new file mode 100644 index 000000000..2ec62826b --- /dev/null +++ b/support/testing/tests/package/test_make.py @@ -0,0 +1,82 @@ +import os + +import infra.basetest + + +class TestMake(infra.basetest.BRTest): + rootfs_overlay = \ + infra.filepath("tests/package/test_make/rootfs-overlay") + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + f""" + BR2_PACKAGE_MAKE=y + BR2_ROOTFS_OVERLAY="{rootfs_overlay}" + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def gen_expected_str(self, count): + """Return the expected string generated by the test Makefile""" + return "".join(map(lambda x: str(x), range(1, count+1))) + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Check the program can execute. + self.assertRunOk("make --version") + + # We touch the Makefile to set its modification time to the + # current system time. This is to avoid warnings from Make + # about having files with timestamps in the future. This is + # because the minimal system running in the emulator might not + # set the clock to the real time, and the Makefile has a + # correct timestamp from the build host (which is likely at + # the correct time). + self.assertRunOk("touch Makefile") + + # We test the "message" target and check we get the expected + # string. + out, ret = self.emulator.run("make message") + self.assertEqual(ret, 0) + self.assertEqual(out[0], "Hello Buildroot!") + + # We redo the same test, this time by passing a new message + # with a variable. + msg = "This is Another Message..." + out, ret = self.emulator.run(f"make message MESSAGE='{msg}'") + self.assertEqual(ret, 0) + self.assertEqual(out[0], msg) + + # We run a simple "make" invocation, using the defaults. + self.assertRunOk("make") + + # We check the generated output contains the expected string. + expected_str = self.gen_expected_str(10) + out, ret = self.emulator.run("cat output.txt") + self.assertEqual(ret, 0) + self.assertEqual(out[0], expected_str) + + # Clean the previous invocation. + self.assertRunOk("make clean") + + # We check a output generated file is no longer present. + self.assertRunOk("test ! -e output.txt") + + # We run an invocation with a larger COUNT value. GNU Make + # version 4.4 introduced the --shuffle option, which shuffle + # rules. We use it with a constant seed, in order to have a + # stable reshuffling in all test runs. We also include in this + # execution a request for parallel jobs. + count = 50 + seed = 123456 + self.assertRunOk(f"make -j10 --shuffle={seed} COUNT={count}") + + # Despite the pseudo-randomization in the previous invocation, + # the expected output should be correctly ordered. + expected_str = self.gen_expected_str(count) + out, ret = self.emulator.run("cat output.txt") + self.assertEqual(ret, 0) + self.assertEqual(out[0], expected_str) diff --git a/support/testing/tests/package/test_make/rootfs-overlay/root/Makefile b/support/testing/tests/package/test_make/rootfs-overlay/root/Makefile new file mode 100644 index 000000000..7ac86945a --- /dev/null +++ b/support/testing/tests/package/test_make/rootfs-overlay/root/Makefile @@ -0,0 +1,23 @@ +MESSAGE ?= "Hello Buildroot!" +COUNT ?= 10 + +LIST = $(shell seq $(COUNT)) +INPUTS = $(addsuffix .in.txt,$(LIST)) +OUTPUT = output.txt + +.PHONY: all +all: $(OUTPUT) + +.PHONY: clean +clean: + $(RM) $(OUTPUT) *.in.txt + +.PHONY: message +message: + @echo $(MESSAGE) + +%.in.txt: + echo $(subst .in.txt,,$@) > $@ + +$(OUTPUT): $(INPUTS) + (cat $? | tr -d '\n' ; echo) > $@ diff --git a/support/testing/tests/package/test_mariadb.py b/support/testing/tests/package/test_mariadb.py new file mode 100644 index 000000000..d40ffdba9 --- /dev/null +++ b/support/testing/tests/package/test_mariadb.py @@ -0,0 +1,194 @@ +import os + +import infra.basetest + + +class TestMariaDB(infra.basetest.BRTest): + # We use a specific configuration for: + # - using Aarch64, to have more than 256MB memory, + # - to have an ext4 rootfs image exposed as a virtio storage + # (rather than cpio initrd). This will save some memory, as the + # rootfs image is big. + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.78" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_PACKAGE_MARIADB=y + BR2_PACKAGE_MARIADB_SERVER=y + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_4=y + BR2_TARGET_ROOTFS_EXT2_SIZE="512M" + # BR2_TARGET_ROOTFS_TAR is not set + """ + + # Configuration for the test + db_adminuser = "root" + db_admin = "mysql" + db_user = "br_user" + db_name = "br_database" + backup_file = "dump.sql" + + def run_user_db_query(self, user, database, query, opts=None): + cmd = f"mariadb --user={user} --database={database}" + cmd += f' --execute="{query}"' + if opts is not None: + cmd += " " + opts + self.assertRunOk(cmd) + + def run_admin_sql_query(self, query, opts=None): + self.run_user_db_query(self.db_adminuser, self.db_admin, query, opts) + + def run_sql_query(self, query, opts=None): + self.run_user_db_query(self.db_user, self.db_name, query, opts) + + def cleanup_database(self): + # This cleanup is useful when run-test -k is used. It makes + # this test idempotent. Since the drive storage is preserved + # between reboots, this cleanup will prevent errors during the + # user/db creation. + + # Drop the test database, if it exists. + sql_query = f"DROP USER IF EXISTS {self.db_user}@localhost;" + self.run_admin_sql_query(sql_query) + + # Drop the test user, if it exists. + sql_query = f"DROP DATABASE IF EXISTS {self.db_name};" + self.run_admin_sql_query(sql_query) + + def create_tables(self): + sql_query = "CREATE TABLE fruits (" + sql_query += "id integer PRIMARY KEY, name varchar(16) NOT NULL);" + self.run_sql_query(sql_query) + + sql_query = "CREATE TABLE colors (" + sql_query += "id integer PRIMARY KEY, name varchar(16) NOT NULL);" + self.run_sql_query(sql_query) + + sql_query = "CREATE TABLE fruit_colors (" + sql_query += "fruit_id integer REFERENCES fruits(id), " + sql_query += "color_id integer REFERENCES colors(id), " + sql_query += "UNIQUE (fruit_id, color_id));" + self.run_sql_query(sql_query) + + def insert_data(self): + fruits = ["Banana", "Blueberry", "Orange", "Raspberry"] + fruit_id = 1 + for fruit in fruits: + sql_query = "INSERT INTO fruits (id, name) " + sql_query += f"VALUES ({fruit_id}, '{fruit}');" + self.run_sql_query(sql_query) + fruit_id += 1 + + colors = ["Blue", "Orange", "Red", "Yellow"] + color_id = 1 + for color in colors: + sql_query = "INSERT INTO colors (id, name) " + sql_query += f"VALUES ({color_id}, '{color}');" + self.run_sql_query(sql_query) + color_id += 1 + + fruit_colors = [(1, 4), (2, 1), (3, 2), (4, 3)] + for fruit_color in fruit_colors: + fruit_id, color_id = fruit_color + sql_query = "INSERT INTO fruit_colors (fruit_id, color_id) " + sql_query += f"VALUES ({fruit_id}, {color_id});" + self.run_sql_query(sql_query) + + def query_database(self): + sql_query = "SELECT " + sql_query += "fruits.name AS fruit, colors.name AS color " + sql_query += "FROM fruits, colors, fruit_colors " + sql_query += "WHERE fruits.id = fruit_colors.fruit_id " + sql_query += "AND colors.id = fruit_colors.color_id " + sql_query += "ORDER BY fruit;" + self.run_sql_query(sql_query) + + def test_run(self): + drive = os.path.join(self.builddir, "images", "rootfs.ext4") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["root=/dev/vda console=ttyAMA0"], + options=["-M", "virt", + "-cpu", "cortex-a57", + "-m", "2G", + "-smp", "2", + "-drive", f"file={drive},if=virtio,format=raw"]) + self.emulator.login() + + # Check the server binary can execute. + self.assertRunOk("mariadbd --version") + + # Check the client binary can execute. + self.assertRunOk("mariadb --version") + + # Check the server is ready. + self.assertRunOk("mariadb-admin ping") + + # Query the server version from the client. + sql_query = "SELECT version();" + self.run_admin_sql_query(sql_query, opts="-N -s") + + self.cleanup_database() + + # Create a new user. + sql_query = f"CREATE USER {self.db_user}@localhost;" + self.run_admin_sql_query(sql_query) + + # Create a new database. + sql_query = f"CREATE DATABASE {self.db_name}" + sql_query += " COMMENT = 'Test Database for Buildroot Test';" + self.run_admin_sql_query(sql_query) + + # Grant all permission on this new database to our test user. + sql_query = "GRANT ALL PRIVILEGES" + sql_query += f" ON {self.db_name}.*" + sql_query += f" TO {self.db_user}@localhost;" + self.run_admin_sql_query(sql_query) + + self.create_tables() + + self.insert_data() + + self.query_database() + + # Update a table. + sql_query = "UPDATE fruits SET name = 'Lemon' WHERE id = 1;" + self.run_sql_query(sql_query) + + # Backup the test database. + cmd = f"mariadb-dump --user={self.db_user}" + cmd += f" {self.db_name} > {self.backup_file}" + self.assertRunOk(cmd) + + # Drop all the tables. + sql_query = "DROP TABLE fruit_colors, fruits, colors;" + self.run_sql_query(sql_query) + + # Query the server status. + self.assertRunOk("mariadb-admin status") + + # Stop the server. + self.assertRunOk("/etc/init.d/S97mysqld stop") + + # Check the server is stopped. + _, exit_code = self.emulator.run("mariadb-admin ping") + self.assertNotEqual(exit_code, 0) + + # Restart the server. + self.assertRunOk("/etc/init.d/S97mysqld start") + + # Restore the backup. + cmd = f"mariadb --user={self.db_user} --database={self.db_name}" + cmd += f" < {self.backup_file}" + self.assertRunOk(cmd) + + # Query one last time our data, to check the backup + # restoration succeeded. + self.query_database() diff --git a/support/testing/tests/package/test_mawk.py b/support/testing/tests/package/test_mawk.py new file mode 100644 index 000000000..5caf77c11 --- /dev/null +++ b/support/testing/tests/package/test_mawk.py @@ -0,0 +1,114 @@ +import os + +import infra.basetest + + +class TestMawk(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_MAWK=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def basic_mawk_tests(self): + # Check the program can execute + self.assertRunOk("mawk --version") + + # Check "mawk" can return a specific exit code + code = 123 + cmd = "mawk 'BEGIN { exit(" + str(code) + "); }'" + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, code) + + # Run a basic print program + test_string = "Hello Buildroot" + cmd = "mawk 'BEGIN {print \"" + test_string + "\"; }'" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertEqual(output[0], test_string) + + def create_test_data(self): + # Create some test data + entries = ["one", "two", "three", "four"] + for entry in entries: + self.assertRunOk(f"echo {entry} >> data1.txt") + + def add_line_numbers(self): + # Add line numbers with mawk + cmd = "mawk '{ print NR \"\\t\" $1; }' data1.txt > data2.txt" + self.assertRunOk(cmd) + + def sum_column(self): + # Check the sum of the first column is 1+2+3+4 == 10 + awk_prg = "BEGIN { SUM = 0; } { SUM = SUM + $1; } END { print SUM; }" + cmd = f"mawk '{awk_prg}' data2.txt" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertEqual(int(output[0]), 10) + + def uppercase_column(self): + # Extract only column 2 and convert it to upper case + cmd = "mawk '{ print toupper($2); }' data2.txt > data3.txt" + self.assertRunOk(cmd) + + # Prepare the same output using "data1.txt" and the "tr" command, + # for verification + cmd = "tr a-z A-Z < data1.txt > data3-tr.txt" + self.assertRunOk(cmd) + + # "mawk" and "tr" output are expected to be the same + self.assertRunOk("cmp data3.txt data3-tr.txt") + + def mawk_head(self): + # Show the first 2 lines of a file + cmd = "mawk 'NR <= 2 { print $0; }' data2.txt > data4.txt" + self.assertRunOk(cmd) + + # Prepare the same output using the "head" command + cmd = "head -2 data2.txt > data4-head.txt" + self.assertRunOk(cmd) + + # "mawk" and "tr" output are expected to be the same + self.assertRunOk("cmp data4.txt data4-head.txt") + + def mawk_specific(self): + # Use the "-W dump" mawk specific option. + # See: https://invisible-island.net/mawk/manpage/mawk.html + # We create an arbitrary awk program with an integer and + # string constant. We then check those constants are in the + # mawk "assembler" output. + awk_int = 12345 + awk_str = "Buildroot" + awk_expr = f"print ($1 + {awk_int}) \"{awk_str}\";" + awk_prg = "BEGIN { " + awk_expr + " }" + cmd = f"mawk -W dump '{awk_prg}'" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + out_str = "\n".join(output) + self.assertIn(str(awk_int), out_str) + self.assertIn(awk_str, out_str) + + def mawk_numeric(self): + value = 1234 + squared_value = value * value + cmd = "mawk 'BEGIN { print sqrt(" + str(squared_value) + "); }'" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertEqual(int(output[0]), value) + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + self.basic_mawk_tests() + self.create_test_data() + self.add_line_numbers() + self.sum_column() + self.uppercase_column() + self.mawk_head() + self.mawk_specific() + self.mawk_numeric() diff --git a/support/testing/tests/package/test_micropython.py b/support/testing/tests/package/test_micropython.py index 371deb297..cc0e5854c 100644 --- a/support/testing/tests/package/test_micropython.py +++ b/support/testing/tests/package/test_micropython.py @@ -16,7 +16,7 @@ class TestMicroPython(infra.basetest.BRTest): def run_upy_code(self, python_code, opts=""): cmd = f'micropython {opts} -c "{python_code}"' output, ret = self.emulator.run(cmd) - self.assertEqual(ret, 0, f"could not run '{cmd}', returnd {ret}: '{output}'") + self.assertEqual(ret, 0, f"could not run '{cmd}', returned {ret}: '{output}'") return output def test_run(self): diff --git a/support/testing/tests/package/test_mosquitto.py b/support/testing/tests/package/test_mosquitto.py new file mode 100644 index 000000000..6b256e5e2 --- /dev/null +++ b/support/testing/tests/package/test_mosquitto.py @@ -0,0 +1,44 @@ +import os +import time + +import infra.basetest + + +class TestMosquitto(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_MOSQUITTO=y + BR2_PACKAGE_MOSQUITTO_BROKER=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + topic = "br-test-topic" + log = "mqtt.log" + msg = "Hello Buildroot!" + + # We subscribe to a topic and write one message to a log file. + cmd = f"( mosquitto_sub -t {topic} -C 1 > {log} 2> /dev/null & )" + self.assertRunOk(cmd) + + # We give some time to the subscriber process to settle. + time.sleep(5) + + # We publish a message. + self.assertRunOk(f"mosquitto_pub -t {topic} -m '{msg}'") + + # We give some more time to the subscriber process to write + # the log and quit. + time.sleep(5) + + # We check the log file contains our message. + out, ret = self.emulator.run(f"cat {log}") + self.assertEqual(ret, 0) + self.assertEqual(out[0], msg) diff --git a/support/testing/tests/package/test_mtd.py b/support/testing/tests/package/test_mtd.py new file mode 100644 index 000000000..bdb09c39e --- /dev/null +++ b/support/testing/tests/package/test_mtd.py @@ -0,0 +1,47 @@ +import os + +import infra.basetest + + +class TestMtd(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_MTD=y + # BR2_TARGET_ROOTFS_TAR is not set + BR2_TARGET_ROOTFS_CPIO=y + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv7", + kernel="builtin", + options=["-initrd", cpio_file]) + + self.emulator.login() + + mtd = "/dev/mtd0" + erasesize = 256 * 1024 + test_sectors = 4 + test_size = erasesize * test_sectors + + output, exit_code = self.emulator.run(f"mtd_debug info {mtd}") + output = [x.strip() for x in output if x.strip()] + self.assertEqual(output, [ + "mtd.type = MTD_NORFLASH", + "mtd.flags = MTD_CAP_NORFLASH", + "mtd.size = 134217728 (128M)", + "mtd.erasesize = 262144 (256K)", + "mtd.writesize = 1", + "mtd.oobsize = 0", + "regions = 0", + ]) + + # Test flashcp + self.assertRunOk(f"dd if=/dev/urandom of=random.bin bs={test_size} count=1") + self.assertRunOk(f"flashcp random.bin {mtd}") + self.assertRunOk(f"cmp -s -n {test_size} random.bin {mtd}") + + # Test flash_erase + self.assertRunOk(f"dd if=/dev/zero bs={test_size} count=1 | tr '\\000' '\\377' >nor-erase.bin") + self.assertRunOk(f"flash_erase {mtd} 0 {test_sectors}") + self.assertRunOk(f"cmp -s -n {test_size} nor-erase.bin {mtd}") diff --git a/support/testing/tests/package/test_mtools.py b/support/testing/tests/package/test_mtools.py index 4a232bc92..23ec08b6d 100644 --- a/support/testing/tests/package/test_mtools.py +++ b/support/testing/tests/package/test_mtools.py @@ -26,7 +26,7 @@ class TestMtools(infra.basetest.BRTest): # Create an empty image file to hold the FAT partition self.assertRunOk(f"dd if=/dev/zero of={dos_img} bs=1M count=1") - # Any Mtools command is expected to fail on an unformated + # Any Mtools command is expected to fail on an unformatted # partition. cmd = f"minfo {mtools_opts} ::" _, exit_code = self.emulator.run(cmd) diff --git a/support/testing/tests/package/test_netsnmp.py b/support/testing/tests/package/test_netsnmp.py new file mode 100644 index 000000000..9561e4982 --- /dev/null +++ b/support/testing/tests/package/test_netsnmp.py @@ -0,0 +1,44 @@ +import os + +import infra.basetest + + +class TestNetSNMP(infra.basetest.BRTest): + rootfs_overlay = \ + infra.filepath("tests/package/test_netsnmp/rootfs-overlay") + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + f""" + BR2_PACKAGE_NETSNMP=y + BR2_ROOTFS_OVERLAY="{rootfs_overlay}" + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # We check the daemon and a client program can execute. + self.assertRunOk("snmpd --version") + self.assertRunOk("snmpget --version") + + # The daemon is supposed to be started by the initscript, + # since we included a /etc/snmp/snmpd.conf file. We should be + # able to walk through the SNMPv2 system MIB. + self.assertRunOk("snmpwalk -v 2c -c public 127.0.0.1 system") + + # We check few OIDs has the expected values. sysContact and + # sysLocation are set in the snmpd.conf file. + tests = [ + ("system.sysName.0", "STRING: buildroot"), + ("system.sysContact.0", "STRING: Buildroot Test User"), + ("system.sysLocation.0", "STRING: Buildroot Test Infra") + ] + for oid, expected_out in tests: + cmd = f"snmpget -v 2c -c public -Ov 127.0.0.1 {oid}" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0], expected_out) diff --git a/support/testing/tests/package/test_netsnmp/rootfs-overlay/etc/snmp/snmpd.conf b/support/testing/tests/package/test_netsnmp/rootfs-overlay/etc/snmp/snmpd.conf new file mode 100644 index 000000000..63a33694f --- /dev/null +++ b/support/testing/tests/package/test_netsnmp/rootfs-overlay/etc/snmp/snmpd.conf @@ -0,0 +1,4 @@ +# This is a simple configuration for testing. +syslocation Buildroot Test Infra +syscontact Buildroot Test User +rocommunity public default system diff --git a/support/testing/tests/package/test_nmap.py b/support/testing/tests/package/test_nmap.py new file mode 100644 index 000000000..92b085ece --- /dev/null +++ b/support/testing/tests/package/test_nmap.py @@ -0,0 +1,42 @@ +import os +import time + +import infra.basetest + + +class TestNmap(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y + BR2_PACKAGE_NMAP=y + BR2_PACKAGE_NMAP_NCAT=y + BR2_PACKAGE_NMAP_NMAP=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Check the program can execute. + self.assertRunOk("nmap --version") + + # We open few ports, using the nmap netcat "nc" commands. + ports = [21, 23, 25, 80] + for port in ports: + cmd = f"nc -l -p {port} /dev/null &" + self.assertRunOk(cmd) + + time.sleep(1 * self.timeout_multiplier) + + # We run a local port scan. We should see in the output the + # ports we previously opened. + out, ret = self.emulator.run("nmap -n -sS 127.0.0.1", timeout=20) + self.assertEqual(ret, 0) + nmap_out = "\n".join(out) + for port in ports: + self.assertRegex(nmap_out, f"{port}/tcp *open") diff --git a/support/testing/tests/package/test_ntp.py b/support/testing/tests/package/test_ntp.py new file mode 100644 index 000000000..13fff6419 --- /dev/null +++ b/support/testing/tests/package/test_ntp.py @@ -0,0 +1,86 @@ +import os +import re +import time + +import infra.basetest + + +class TestNtp(infra.basetest.BRTest): + rootfs_overlay = \ + infra.filepath("tests/package/test_ntp/rootfs-overlay") + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + f""" + BR2_PACKAGE_NTP=y + BR2_PACKAGE_NTP_NTPD=y + BR2_PACKAGE_NTP_NTPQ=y + BR2_ROOTFS_OVERLAY="{rootfs_overlay}" + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def dict_from_ntpq_output(self, output): + d = {} + for line in output: + if ':' not in line: + continue + fields = re.split(r":", line, maxsplit=2) + name = fields[0].strip() + value = fields[1].strip() + d[name] = value + return d + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Check our binaries can execute. + self.assertRunOk("ntpd --version") + self.assertRunOk("ntpq --version") + + # The ntp daemon is expected to be started from init startup + # scripts, for the Buildroot package recipe. We wait a bit + # here to let the daemon settle. The next test step checks for + # the local peer to be the system peer (by checking the + # '*'). If querying the peers too soon after startup the peer + # will not be marked as such. + time.sleep(3 * self.timeout_multiplier) + + # We query the ntp daemon peers. From our test configuration + # file, we should have exactly one. + out, ret = self.emulator.run("ntpq --peers") + self.assertEqual(ret, 0) + # ntpq --peers produces two lines of headers. So we check we + # have at least 3 lines of output. + self.assertGreaterEqual(len(out), 3) + # We check we see our undisciplined local clock and it's the + # system peer. + self.assertTrue(out[2].startswith("*LOCAL(0)")) + + # We query the refid variable. We expect to see our + # undisciplined local clock. + out, ret = self.emulator.run("ntpq -c 'readvar 0 refid'") + self.assertEqual(ret, 0) + self.assertEqual(out[0], "refid=LOCAL(0)") + + # We query the ntp system info. We check the reference ID is + # the same as in the test configuration file. + out, ret = self.emulator.run("ntpq -c sysinfo") + self.assertEqual(ret, 0) + sysinfo = self.dict_from_ntpq_output(out) + refid = "reference ID" + self.assertIn(refid, sysinfo) + self.assertEqual(sysinfo[refid], "127.127.1.0") + + # Finally, we query the ntp system statistics. We check we can + # see some uptime. We waited a bit at the beginning of this + # test, plus the few queries we previously did should have + # accumulated some uptime. + out, ret = self.emulator.run("ntpq -c sysstats") + self.assertEqual(ret, 0) + sysstats = self.dict_from_ntpq_output(out) + up = "uptime" + self.assertIn(up, sysstats) + self.assertGreater(int(sysstats[up]), 0) diff --git a/support/testing/tests/package/test_ntp/rootfs-overlay/etc/ntp.conf b/support/testing/tests/package/test_ntp/rootfs-overlay/etc/ntp.conf new file mode 100644 index 000000000..2ead3deb6 --- /dev/null +++ b/support/testing/tests/package/test_ntp/rootfs-overlay/etc/ntp.conf @@ -0,0 +1,10 @@ +# Set an undisciplined local clock for testing without the need of +# network connectivity. +server 127.127.1.0 iburst prefer +fudge 127.127.1.0 stratum 10 + +# Keep standard access control setup. The test is doing local queries +# from 127.0.0.1. +restrict default nomodify nopeer noquery limited kod +restrict 127.0.0.1 +restrict [::1] diff --git a/support/testing/tests/package/test_patch.py b/support/testing/tests/package/test_patch.py new file mode 100644 index 000000000..67ecb0497 --- /dev/null +++ b/support/testing/tests/package/test_patch.py @@ -0,0 +1,44 @@ +import os + +import infra.basetest + + +class TestPatch(infra.basetest.BRTest): + rootfs_overlay = \ + infra.filepath("tests/package/test_patch/rootfs-overlay") + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + f""" + BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y + BR2_PACKAGE_PATCH=y + BR2_ROOTFS_OVERLAY="{rootfs_overlay}" + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Check the program can execute. This also checks that we are + # not using the patch applet from BusyBox (as it does not + # recognize the --version option). + self.assertRunOk("patch --version") + + # We check the test file contains our expected string before + # the patch. + sed_cmd = "sed -n '2p' file.txt" + out, ret = self.emulator.run(sed_cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0], "Hello World!") + + # We apply our test patch... + self.assertRunOk("patch -p1 < file.diff") + + # We check the test file contains our expected string after + # applying the patch. + out, ret = self.emulator.run(sed_cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0], "Hello Buildroot!") diff --git a/support/testing/tests/package/test_patch/rootfs-overlay/root/file.diff b/support/testing/tests/package/test_patch/rootfs-overlay/root/file.diff new file mode 100644 index 000000000..d53324d84 --- /dev/null +++ b/support/testing/tests/package/test_patch/rootfs-overlay/root/file.diff @@ -0,0 +1,8 @@ +diff -Naur a/file.txt b/file.txt +--- a/file.txt 2024-12-18 23:11:50.863359248 +0100 ++++ b/file.txt 2024-12-18 23:12:26.464561146 +0100 +@@ -1,3 +1,3 @@ + This is some context... +-Hello World! ++Hello Buildroot! + ...and this is some more context. diff --git a/support/testing/tests/package/test_patch/rootfs-overlay/root/file.txt b/support/testing/tests/package/test_patch/rootfs-overlay/root/file.txt new file mode 100644 index 000000000..b506c73d9 --- /dev/null +++ b/support/testing/tests/package/test_patch/rootfs-overlay/root/file.txt @@ -0,0 +1,3 @@ +This is some context... +Hello World! +...and this is some more context. diff --git a/support/testing/tests/package/test_perl_dbd_mysql.py b/support/testing/tests/package/test_perl_dbd_mysql.py index f8fe832b4..93551b420 100644 --- a/support/testing/tests/package/test_perl_dbd_mysql.py +++ b/support/testing/tests/package/test_perl_dbd_mysql.py @@ -1,4 +1,5 @@ from tests.package.test_perl import TestPerlBase +import os class TestPerlDBDmysql(TestPerlBase): @@ -13,8 +14,18 @@ class TestPerlDBDmysql(TestPerlBase): """ BR2_PACKAGE_PERL=y BR2_PACKAGE_PERL_DBD_MYSQL=y + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_SIZE="120M" """ + def login(self): + ext2_file = os.path.join(self.builddir, "images", "rootfs.ext2") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-drive", "file=%s,if=scsi,format=raw" % ext2_file], + kernel_cmdline=["rootwait", "root=/dev/sda"]) + self.emulator.login() + def test_run(self): self.login() self.module_test("DBI") diff --git a/support/testing/tests/package/test_pv.py b/support/testing/tests/package/test_pv.py new file mode 100644 index 000000000..cfa3c2939 --- /dev/null +++ b/support/testing/tests/package/test_pv.py @@ -0,0 +1,57 @@ +import os + +import infra.basetest + + +class TestPv(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_PV=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # We check the program can run. + self.assertRunOk("pv --version") + + # We check that "pv" works like the "cat" command. We print a + # message on its standard input and redirect its output to a + # file. We also force the pv terminal width to 80, since + # "infra.emulator" is setting a large width to prevent + # line wrapping. + msg = "Hello Buildroot!" + out_file = "/tmp/out.txt" + cmd = f"echo '{msg}' | pv -w80 > {out_file}" + self.assertRunOk(cmd) + + # We check the pv output file contains exactly our message. + cmd = f"cat {out_file}" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0], msg) + + # Finally, we check that "pv" correctly shows a progress + # bar. We print few lines, one per second into "pv" setup in + # line mode. We check the last pv status line contains the + # correct count and a "100%" string that shows completion. + lines = 5 + print_ln_cmd = f"( for X in $(seq {lines}) ; do echo $X ; sleep 1 ; done )" + cmd = f"{print_ln_cmd} | pv -s{lines} -l -w80 > /dev/null" + out, ret = self.emulator.run(cmd, timeout=10) + self.assertEqual(ret, 0) + # pv updates status may contain extra spaces, and is updated + # with carriage return characters. We strip lines and filter + # out empty remaining lines, to make sure we get the last + # meaningful status line. + pv_out = [ln.strip() for ln in out] + pv_out = [ln for ln in pv_out if ln] + last_line = pv_out[-1] + self.assertTrue(last_line.startswith(str(lines))) + self.assertTrue(last_line.endswith("100%")) diff --git a/support/testing/tests/package/test_python_asn1crypto.py b/support/testing/tests/package/test_python_asn1crypto.py new file mode 100644 index 000000000..97df3d3ac --- /dev/null +++ b/support/testing/tests/package/test_python_asn1crypto.py @@ -0,0 +1,13 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3Asn1Crypto(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_CA_CERTIFICATES=y + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_ASN1CRYPTO=y + """ + sample_scripts = ["tests/package/sample_python_asn1crypto.py"] + timeout = 40 diff --git a/support/testing/tests/package/test_python_gnupg.py b/support/testing/tests/package/test_python_gnupg.py index 886111513..8b438aed1 100644 --- a/support/testing/tests/package/test_python_gnupg.py +++ b/support/testing/tests/package/test_python_gnupg.py @@ -9,3 +9,4 @@ class TestPythonPy3GnuPG(TestPythonPackageBase): BR2_PACKAGE_PYTHON_GNUPG=y """ sample_scripts = ["tests/package/sample_python_gnupg.py"] + timeout = 10 # /dev/urandom can take a while to become initialized diff --git a/support/testing/tests/package/test_python_magic_wormhole.py b/support/testing/tests/package/test_python_magic_wormhole.py index 5a0f0277b..180cff2e4 100644 --- a/support/testing/tests/package/test_python_magic_wormhole.py +++ b/support/testing/tests/package/test_python_magic_wormhole.py @@ -1,4 +1,5 @@ import os +import time from tests.package.test_python import TestPythonPackageBase @@ -46,9 +47,12 @@ class TestPythonPy3MagicWormhole(TestPythonPackageBase): wormhole_cmd = "wormhole --relay-url={} --transit-helper={}".format( relay_url, transit_helper) - cmd = wormhole_cmd + " send --code={} --text=\"{}\" & ".format(code, text) - cmd += "sleep 25" - self.assertRunOk(cmd, timeout=30) + cmd = wormhole_cmd + cmd += f" send --code={code} --text=\"{text}\"" + cmd += " &> /dev/null &" + self.assertRunOk(cmd) + + time.sleep(30 * self.timeout_multiplier) wormhole_env = "_MAGIC_WORMHOLE_TEST_KEY_TIMER=100 " wormhole_env += "_MAGIC_WORMHOLE_TEST_VERIFY_TIMER=100 " diff --git a/support/testing/tests/package/test_python_msgpack.py b/support/testing/tests/package/test_python_msgpack.py new file mode 100644 index 000000000..e5876e400 --- /dev/null +++ b/support/testing/tests/package/test_python_msgpack.py @@ -0,0 +1,12 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3MsgPack(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_MSGPACK=y + """ + sample_scripts = ["tests/package/sample_python_msgpack.py"] + timeout = 40 diff --git a/support/testing/tests/package/test_python_pymupdf.py b/support/testing/tests/package/test_python_pymupdf.py new file mode 100644 index 000000000..1af3efc8a --- /dev/null +++ b/support/testing/tests/package/test_python_pymupdf.py @@ -0,0 +1,23 @@ +import os +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3PyMuPDF(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_PYMUPDF=y + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_SIZE="120M" + """ + sample_scripts = ["tests/package/sample_python_pymupdf.py"] + timeout = 30 + + def login(self): + ext2_file = os.path.join(self.builddir, "images", "rootfs.ext2") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-drive", "file=%s,if=scsi,format=raw" % ext2_file], + kernel_cmdline=["rootwait", "root=/dev/sda"]) + self.emulator.login() diff --git a/support/testing/tests/package/test_python_pyqt5.py b/support/testing/tests/package/test_python_pyqt5.py new file mode 100644 index 000000000..5f1952b55 --- /dev/null +++ b/support/testing/tests/package/test_python_pyqt5.py @@ -0,0 +1,79 @@ +import os + +import infra.basetest + + +class TestPythonPyQt5(infra.basetest.BRTest): + # We use a specific configuration for: + # - using Aarch64, to have more than 256MB memory, + # - using a kernel config fragment, to enable VKMS, + # - to have an ext4 rootfs image exposed as a virtio storage + # (rather than cpio initrd). This will save some memory, as the + # rootfs image is big. + kernel_fragment = \ + infra.filepath("tests/package/test_python_pyqt5/linux-vkms.fragment") + rootfs_overlay = \ + infra.filepath("tests/package/test_python_pyqt5/rootfs-overlay") + config = \ + f""" + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.81" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{kernel_fragment}" + BR2_PACKAGE_DEJAVU=y + BR2_PACKAGE_LIBDRM=y + BR2_PACKAGE_MESA3D=y + BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y + BR2_PACKAGE_MESA3D_LLVM=y + BR2_PACKAGE_MESA3D_OPENGL_EGL=y + BR2_PACKAGE_MESA3D_OPENGL_ES=y + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_PYQT5=y + BR2_PACKAGE_QT5=y + BR2_PACKAGE_QT5BASE_EGLFS=y + BR2_PACKAGE_QT5BASE_FONTCONFIG=y + BR2_PACKAGE_QT5BASE_WIDGETS=y + BR2_ROOTFS_OVERLAY="{rootfs_overlay}" + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_4=y + BR2_TARGET_ROOTFS_EXT2_SIZE="256M" + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + drive = os.path.join(self.builddir, "images", "rootfs.ext4") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["root=/dev/vda console=ttyAMA0"], + options=["-M", "virt", "-cpu", "cortex-a57", "-m", "512M", + "-drive", f"file={drive},if=virtio,format=raw"]) + self.emulator.login() + + # We run the test application with a customized message. + # NOTE: to manually debug this test, a Qemu emulator with + # virtio-gpu can be used by starting it the command line from + # the run log generated by this test, and by adding the + # arguments "-device virtio-gpu -display gtk". With this, the + # test application will be observable on the Qemu window. Once + # logged, we can use the "card1" DRM/KMS device (virtio-gpu, + # instead of card0, which is vkms on "card0") by using the + # command: + # echo '{"device":"/dev/dri/card1"}' > cfg.json + # export QT_QPA_EGLFS_KMS_CONFIG="$PWD/cfg.json" + # The Qt debug can also be enabled with the command: + # export QT_LOGGING_RULES=*=true + # Then, run the /root/pyqt5test.py application. + msg = "Hello Buildroot." + cmd = f'/root/pyqt5test.py "{msg}"' + self.assertRunOk(cmd, timeout=30) + + # We check the test message is present in the file created by + # the previous application execution. + cmd = f'grep -F "{msg}" /root/message.txt' + self.assertRunOk(cmd) diff --git a/support/testing/tests/package/test_python_pyqt5/linux-vkms.fragment b/support/testing/tests/package/test_python_pyqt5/linux-vkms.fragment new file mode 100644 index 000000000..ec2ed4460 --- /dev/null +++ b/support/testing/tests/package/test_python_pyqt5/linux-vkms.fragment @@ -0,0 +1 @@ +CONFIG_DRM_VKMS=y diff --git a/support/testing/tests/package/test_python_pyqt5/rootfs-overlay/root/pyqt5test.py b/support/testing/tests/package/test_python_pyqt5/rootfs-overlay/root/pyqt5test.py new file mode 100755 index 000000000..3efeed768 --- /dev/null +++ b/support/testing/tests/package/test_python_pyqt5/rootfs-overlay/root/pyqt5test.py @@ -0,0 +1,60 @@ +#! /usr/bin/env python3 +# +# This is a test application for PyQt5. It is showing a text label and +# a "quit" button. The text of the label can be set with the first +# (non-Qt) command line argument. A timer will send a click signal to +# the quit button after 3 seconds. When quitting, the text of the +# label is saved in a "message.txt" file in the current working +# directory. + +import sys + +from PyQt5.QtCore import PYQT_VERSION_STR, QFile, QIODevice, QT_VERSION_STR, QTextStream, QTimer, Qt +from PyQt5.QtWidgets import QApplication, QLabel, QPushButton, QVBoxLayout, QWidget + + +class TestApp(QWidget): + + def __init__(self, message, parent=None): + super(TestApp, self).__init__(parent) + + self.label = QLabel(message) + self.label.setAlignment(Qt.AlignCenter) + + self.button = QPushButton("Quit") + self.button.clicked.connect(self.on_button_clicked) + + self.layout = QVBoxLayout() + self.layout.addWidget(self.label) + self.layout.addWidget(self.button) + + self.setLayout(self.layout) + + self.timer = QTimer() + self.timer.timeout.connect(self.button.click) + + def on_button_clicked(self): + self.save_message() + app.quit() + + def save_message(self): + f = QFile("message.txt") + if f.open(QIODevice.WriteOnly): + QTextStream(f) << (self.label.text() + '\n') + f.close() + + +if __name__ == "__main__": + print("PyQt5 test for Buildroot") + print(f"Qt version {QT_VERSION_STR}") + print(f"PyQt version {PYQT_VERSION_STR}") + + msg = "Hello World" + app = QApplication(sys.argv) + args = app.arguments() + if len(args) > 1: + msg = args[1] + testApp = TestApp(message=msg) + testApp.show() + testApp.timer.start(3000) + sys.exit(app.exec()) diff --git a/support/testing/tests/package/test_python_ruamel_yaml.py b/support/testing/tests/package/test_python_ruamel_yaml.py new file mode 100644 index 000000000..15062b445 --- /dev/null +++ b/support/testing/tests/package/test_python_ruamel_yaml.py @@ -0,0 +1,12 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3RuamelYaml(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_RUAMEL_YAML=y + """ + sample_scripts = ["tests/package/sample_python_ruamel_yaml.py"] + timeout = 40 diff --git a/support/testing/tests/package/test_python_spake2.py b/support/testing/tests/package/test_python_spake2.py index fb47a0802..0629772bc 100644 --- a/support/testing/tests/package/test_python_spake2.py +++ b/support/testing/tests/package/test_python_spake2.py @@ -9,3 +9,4 @@ class TestPythonPy3Spake2(TestPythonPackageBase): BR2_PACKAGE_PYTHON_SPAKE2=y """ sample_scripts = ["tests/package/sample_python_spake2.py"] + timeout = 10 # /dev/urandom can take a while to become initialized diff --git a/support/testing/tests/package/test_python_txaio.py b/support/testing/tests/package/test_python_txaio.py index f1bb2c79a..9acbb60d2 100644 --- a/support/testing/tests/package/test_python_txaio.py +++ b/support/testing/tests/package/test_python_txaio.py @@ -7,5 +7,6 @@ class TestPythonPy3Txaio(TestPythonPackageBase): """ BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON_TXAIO=y + BR2_PACKAGE_PYTHON_TWISTED=y """ - sample_scripts = ["tests/package/sample_python_txaio_asyncio.py"] + sample_scripts = ["tests/package/sample_python_txaio_asyncio.py", "tests/package/sample_python_txaio_twisted.py"] diff --git a/support/testing/tests/package/test_rrdtool.py b/support/testing/tests/package/test_rrdtool.py new file mode 100644 index 000000000..431a867bf --- /dev/null +++ b/support/testing/tests/package/test_rrdtool.py @@ -0,0 +1,100 @@ +import os + +import infra.basetest + + +class TestRRDTool(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_RRDTOOL=y + BR2_PACKAGE_RRDTOOL_RRDGRAPH=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # We check the program can run. + self.assertRunOk("rrdtool --version") + + # This test sequence is inspired from parts of the RRDTool + # tutorial: + # https://oss.oetiker.ch/rrdtool/tut/rrdtutorial.en.html + + rrd_file = "test.rrd" + data_source = "speed" + + cmd = f"rrdtool create {rrd_file}" + cmd += " --start 920804400" + cmd += f" DS:{data_source}:COUNTER:600:U:U" + cmd += " RRA:AVERAGE:0.5:1:24" + cmd += " RRA:AVERAGE:0.5:6:10" + self.assertRunOk(cmd) + + # Some data to fill in our database, from the tutorial page. + data = [12345, 12357, 12363, 12363, 12363, + 12373, 12383, 12393, 12399, 12405, + 12411, 12415, 12420, 12422, 12423] + timestamp = 920804700 # timestamp of: Sun Mar 7 12:05:00 PM CET 1999 + + # We check we can put our data in the database. We start at + # our timestamp, then increase by 5 minutes. + for d in data: + cmd = f"rrdtool update {rrd_file} {timestamp}:{d}" + timestamp += 300 + self.assertRunOk(cmd) + + # We check we can read back our data. + cmd = f"rrdtool fetch {rrd_file}" + cmd += " AVERAGE --start 920804400 --end 920809200" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0].strip(), data_source) + # We check that at time=920805600 we have speed=0. + data_line = next(ln for ln in out if ln.strip().startswith('920805600:')) + speed = float(data_line.split(':')[1]) + self.assertAlmostEqual(speed, 0.) + + # We generate a first simple image graph. + cmd = "rrdtool graph speed.png" + cmd += " --start 920804400 --end 920808000" + cmd += f" DEF:myspeed={rrd_file}:{data_source}:AVERAGE" + cmd += " LINE2:myspeed#FF0000" + self.assertRunOk(cmd, timeout=20) + + # We check the output file exists and has a size + # greater than zero. + self.assertRunOk("test -s speed.png") + + # We generate a slightly more complex graph. + cmd = "rrdtool graph speed2.png" + cmd += " --start 920804400 --end 920808000" + cmd += " --vertical-label m/s" + cmd += f" DEF:myspeed={rrd_file}:{data_source}:AVERAGE" + cmd += " CDEF:realspeed=myspeed,1000,\\*" + cmd += " LINE2:realspeed#FF0000" + self.assertRunOk(cmd, timeout=20) + + # Again, we check the output file exists. + self.assertRunOk("test -s speed2.png") + + # Finally, we generate the last graph, with some rules. + cmd = "rrdtool graph speed3.png" + cmd += " --start 920804400 --end 920808000" + cmd += " --vertical-label km/h" + cmd += f" DEF:myspeed={rrd_file}:{data_source}:AVERAGE" + cmd += " \"CDEF:kmh=myspeed,3600,*\"" + cmd += " CDEF:fast=kmh,100,GT,kmh,0,IF" + cmd += " CDEF:good=kmh,100,GT,0,kmh,IF" + cmd += " HRULE:100#0000FF:\"Maximum allowed\"" + cmd += " AREA:good#00FF00:\"Good speed\"" + cmd += " AREA:fast#FF0000:\"Too fast\"" + self.assertRunOk(cmd, timeout=20) + + # And again, we check the output file exists. + self.assertRunOk("test -s speed3.png") diff --git a/support/testing/tests/package/test_socat.py b/support/testing/tests/package/test_socat.py new file mode 100644 index 000000000..67b324484 --- /dev/null +++ b/support/testing/tests/package/test_socat.py @@ -0,0 +1,56 @@ +import os +import time + +import infra.basetest + + +class TestSoCat(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y + BR2_PACKAGE_NETCAT=y + BR2_PACKAGE_SOCAT=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Some values, for the test. + msg = "Hello Buildroot!" + out_file = "output.txt" + port1 = 11111 + port2 = 22222 + + # Check the program can execute. + self.assertRunOk("socat -V") + + # We start the receiver netcat on tcp/port2. + cmd = f"nc -n -l -p {port2} > {out_file} 2> /dev/null &" + self.assertRunOk(cmd) + + time.sleep(2 * self.timeout_multiplier) + + # We start socat in background to listen on tcp/port1 and + # forward to tcp/port2. + cmd = f"socat TCP4-LISTEN:{port1} TCP4:127.0.0.1:{port2} &" + self.assertRunOk(cmd) + + time.sleep(2 * self.timeout_multiplier) + + # We write a message on tcp/port1. Socat is expected to + # forward the message to the receiver on tcp/port2, and write + # our message in a file. + cmd = f"echo '{msg}' | nc -n -c 127.0.0.1 {port1}" + self.assertRunOk(cmd) + + # We check the output file contains our message. + cmd = f"cat {out_file}" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0], msg) diff --git a/support/testing/tests/package/test_trace_cmd.py b/support/testing/tests/package/test_trace_cmd.py index e7d5e13bc..5d37aef37 100644 --- a/support/testing/tests/package/test_trace_cmd.py +++ b/support/testing/tests/package/test_trace_cmd.py @@ -50,5 +50,5 @@ class TestTraceCmd(infra.basetest.BRTest): # Check we have occurrences of "kmalloc:" in the trace report. cmd = "grep -Fc kmalloc: trace.txt" output, exit_code = self.emulator.run(cmd) - self.assertEquals(exit_code, 0) + self.assertEqual(exit_code, 0) self.assertTrue(int(output[0]) > 0) diff --git a/support/testing/tests/package/test_unbound.py b/support/testing/tests/package/test_unbound.py new file mode 100644 index 000000000..c92719bad --- /dev/null +++ b/support/testing/tests/package/test_unbound.py @@ -0,0 +1,79 @@ +import os + +import infra.basetest + + +class TestUnbound(infra.basetest.BRTest): + rootfs_overlay = \ + infra.filepath("tests/package/test_unbound/rootfs-overlay") + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + f""" + BR2_PACKAGE_UNBOUND=y + BR2_ROOTFS_OVERLAY="{rootfs_overlay}" + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Check the program can execute. + self.assertRunOk("unbound -V") + + # Verify that the configuration checker validates our file. + self.assertRunOk("unbound-checkconf") + + # Our test configuration enabled the unbound remote + # control. The unbound server is supposed to be started by the + # sysv initscript. We should see the already running server. + out, ret = self.emulator.run("unbound-control status") + self.assertEqual(ret, 0) + self.assertRegex("\n".join(out), r"unbound \(pid \d+\) is running") + + # We check the "unbound-host" program is working with a simple + # query. Note: this local query succeed even if the unbound + # server is not running. We are only testing this program + # here. The server side will be tested with the BusyBox + # "nslookup" applet. + out, ret = self.emulator.run("unbound-host -t A localhost.") + self.assertEqual(ret, 0) + self.assertEqual(out[0], "localhost. has address 127.0.0.1") + + # We test few other "unbound-control" commands. + self.assertRunOk("unbound-control stats") + self.assertRunOk("unbound-control list_local_zones") + + # We check we see our test IPv4 address record. + cmd = "nslookup -type=A somehost.buildroot.test." + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertIn("Address: 10.20.30.40", out) + + # We also check we see our reverse record. + cmd = "nslookup 10.20.30.40" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + expected = "40.30.20.10.in-addr.arpa\tname = somehost.buildroot.test" + self.assertIn(expected, out) + + # We check we see our test text record. + cmd = "nslookup -type=TXT sometext.buildroot.test." + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + expected = "sometext.buildroot.test\ttext = \"Hello Buildroot TXT\"" + self.assertIn(expected, out) + + # We add a new record with unbound-control. + record_data = "someotherhost.buildroot.test. IN A 10.99.99.99" + cmd = f"unbound-control local_data \"{record_data}\"" + self.assertRunOk(cmd) + + # We check we see our new IPv4 address record. + cmd = "nslookup -type=A someotherhost.buildroot.test." + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertIn("Address: 10.99.99.99", out) diff --git a/support/testing/tests/package/test_unbound/rootfs-overlay/etc/unbound/unbound.conf b/support/testing/tests/package/test_unbound/rootfs-overlay/etc/unbound/unbound.conf new file mode 100644 index 000000000..4f8202d12 --- /dev/null +++ b/support/testing/tests/package/test_unbound/rootfs-overlay/etc/unbound/unbound.conf @@ -0,0 +1,17 @@ +# +# Unbound configuration file for Buildroot runtime test. +# + +server: + do-ip6: no + local-zone: "test." nodefault + local-zone: "10.in-addr.arpa." nodefault + private-domain: "buildroot.test" + local-zone: "buildroot.test" static + local-data: "somehost.buildroot.test. IN A 10.20.30.40" + local-data: 'sometext.buildroot.test. TXT "Hello Buildroot TXT"' + local-data-ptr: "10.20.30.40 somehost.buildroot.test" + +remote-control: + control-enable: yes + control-use-cert: no diff --git a/support/testing/tests/package/test_weston/overlay/etc/weston.ini b/support/testing/tests/package/test_weston/overlay/etc/weston.ini index 534b5c1f4..1d710ca72 100644 --- a/support/testing/tests/package/test_weston/overlay/etc/weston.ini +++ b/support/testing/tests/package/test_weston/overlay/etc/weston.ini @@ -1,5 +1,5 @@ # The shell "clock-format" is set to "none", in order to have stable -# display output, independant from the time. The display output can +# display output, independent from the time. The display output can # then be reliably checked with VKMS CRC. # "startup-animation" and "close-animation" are set to "none" for # faster transitions (fade animations with a software GLES diff --git a/support/testing/tests/package/test_wget.py b/support/testing/tests/package/test_wget.py new file mode 100644 index 000000000..c121cbd21 --- /dev/null +++ b/support/testing/tests/package/test_wget.py @@ -0,0 +1,57 @@ +import os + +import infra.basetest + + +class TestWget(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y + BR2_PACKAGE_WGET=y + BR2_PACKAGE_THTTPD=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + msg = "Hello Buildroot!" + fname = "file.txt" + url = f"http://localhost/{fname}" + + # We check the program can execute. This also checks we have + # the GNU wget version, rather than the BusyBox version which + # does not know the --version option. + self.assertRunOk("wget --version") + + # We create a simple file to serve. + self.assertRunOk(f"echo '{msg}' > /var/www/data/{fname}") + + # We try to download that file, using our local httpd server. + self.assertRunOk(f"wget --progress=dot {url}") + + # We check the downloaded file contains our initial message. + out, ret = self.emulator.run(f"cat {fname}") + self.assertEqual(ret, 0) + self.assertEqual(out[0], msg) + + # We download again the file without saving it, but printing + # it on stdout this time. + out, ret = self.emulator.run(f"wget -q -O - {url}") + self.assertEqual(ret, 0) + self.assertEqual(out[0], msg) + + # We download one last time, showing the server response. We + # check we can see the OK status and our thttpd server + # identification. + cmd = f"wget --no-verbose --server-response -O /dev/null {url}" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + out_str = "\n".join(out) + self.assertIn("HTTP/1.1 200 OK", out_str) + self.assertIn("Server: thttpd/", out_str) diff --git a/support/testing/tests/package/test_xen.py b/support/testing/tests/package/test_xen.py new file mode 100644 index 000000000..875ba19e7 --- /dev/null +++ b/support/testing/tests/package/test_xen.py @@ -0,0 +1,65 @@ +import os +import infra.basetest + + +class TestXen(infra.basetest.BRTest): + # We have a custom kernel config to reduce build time. + # Our genimage.cfg is inspired from qemu_aarch64_ebbr_defconfig as we boot + # Xen with UEFI. + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_ROOTFS_POST_IMAGE_SCRIPT="support/testing/tests/package/test_xen/post-image.sh support/scripts/genimage.sh" + BR2_ROOTFS_POST_SCRIPT_ARGS="-c support/testing/tests/package/test_xen/genimage.cfg" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.9" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="support/testing/tests/package/test_xen/linux.config" + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_PACKAGE_XEN=y + BR2_PACKAGE_XEN_HYPERVISOR=y + BR2_PACKAGE_XEN_TOOLS=y + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_4=y + BR2_TARGET_ROOTFS_EXT2_SIZE="128M" + # BR2_TARGET_ROOTFS_TAR is not set + BR2_TARGET_UBOOT=y + BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y + BR2_TARGET_UBOOT_CUSTOM_VERSION=y + BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.01" + BR2_TARGET_UBOOT_BOARD_DEFCONFIG="qemu_arm64" + BR2_TARGET_UBOOT_NEEDS_OPENSSL=y + BR2_TARGET_UBOOT_NEEDS_GNUTLS=y + BR2_PACKAGE_HOST_DOSFSTOOLS=y + BR2_PACKAGE_HOST_GENIMAGE=y + BR2_PACKAGE_HOST_MTOOLS=y + """ + + def test_run(self): + uboot_bin = os.path.join(self.builddir, "images", "u-boot.bin") + disk_img = os.path.join(self.builddir, "images", "disk.img") + + qemu_opts = [ + "-bios", uboot_bin, + "-cpu", "cortex-a53", + "-device", "virtio-blk-device,drive=hd0", + "-drive", f"file={disk_img},if=none,format=raw,id=hd0", + "-m", "2G", + "-machine", "virt,gic-version=3,virtualization=on,acpi=off", + "-smp", "2" + ] + + # Boot the emulator: + # Qemu Devicetree -> U-Boot -> Xen UEFI -> Linux + self.emulator.boot(arch="aarch64", + options=qemu_opts) + self.emulator.login() + + # Avoid double-cooking the terminal, otherwise the test infrastructure + # would not be able to retrieve e.g. return codes properly. + self.assertRunOk("stty raw") + + # Verify that we are indeed running under Xen. + self.assertRunOk("xl info") diff --git a/support/testing/tests/package/test_xen/genimage.cfg b/support/testing/tests/package/test_xen/genimage.cfg new file mode 100644 index 000000000..6d8ec8ad8 --- /dev/null +++ b/support/testing/tests/package/test_xen/genimage.cfg @@ -0,0 +1,35 @@ +image efi-part.vfat { + vfat { + file EFI/BOOT/bootaa64.efi { + image = "xen" + } + + file EFI/BOOT/bootaa64.cfg { + image = "xen.cfg" + } + + files = { + "Image", + } + } + + size = 16M +} + +image disk.img { + hdimage { + partition-table-type = "gpt" + } + + partition boot { + image = "efi-part.vfat" + partition-type-uuid = U + offset = 32K + bootable = true + } + + partition root { + partition-type-uuid = root-arm64 + image = "rootfs.ext2" + } +} diff --git a/support/testing/tests/package/test_xen/linux.config b/support/testing/tests/package/test_xen/linux.config new file mode 100644 index 000000000..e0323d032 --- /dev/null +++ b/support/testing/tests/package/test_xen/linux.config @@ -0,0 +1,204 @@ +CONFIG_SYSVIPC=y +CONFIG_NO_HZ_IDLE=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_PREEMPT=y +CONFIG_IRQ_TIME_ACCOUNTING=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +# CONFIG_CPU_ISOLATION is not set +# CONFIG_INITRAMFS_PRESERVE_MTIME is not set +CONFIG_KALLSYMS_ALL=y +CONFIG_ARCH_VEXPRESS=y +# CONFIG_AMPERE_ERRATUM_AC03_CPU_38 is not set +# CONFIG_ARM64_ERRATUM_832075 is not set +# CONFIG_ARM64_ERRATUM_1024718 is not set +# CONFIG_ARM64_ERRATUM_1165522 is not set +# CONFIG_ARM64_ERRATUM_1319367 is not set +# CONFIG_ARM64_ERRATUM_1530923 is not set +# CONFIG_ARM64_ERRATUM_1463225 is not set +# CONFIG_ARM64_ERRATUM_1508412 is not set +# CONFIG_ARM64_ERRATUM_2051678 is not set +# CONFIG_ARM64_ERRATUM_2077057 is not set +# CONFIG_ARM64_ERRATUM_2658417 is not set +# CONFIG_ARM64_ERRATUM_2054223 is not set +# CONFIG_ARM64_ERRATUM_2067961 is not set +# CONFIG_ARM64_ERRATUM_2645198 is not set +# CONFIG_ARM64_ERRATUM_2966298 is not set +# CONFIG_ARM64_ERRATUM_3117295 is not set +# CONFIG_ARM64_ERRATUM_3194386 is not set +# CONFIG_CAVIUM_ERRATUM_22375 is not set +# CONFIG_CAVIUM_ERRATUM_23154 is not set +# CONFIG_CAVIUM_ERRATUM_27456 is not set +# CONFIG_CAVIUM_ERRATUM_30115 is not set +# CONFIG_CAVIUM_TX2_ERRATUM_219 is not set +# CONFIG_FUJITSU_ERRATUM_010001 is not set +# CONFIG_HISILICON_ERRATUM_161600802 is not set +# CONFIG_HISILICON_ERRATUM_162100801 is not set +# CONFIG_QCOM_FALKOR_ERRATUM_1003 is not set +# CONFIG_QCOM_FALKOR_ERRATUM_1009 is not set +# CONFIG_QCOM_QDF2400_ERRATUM_0065 is not set +# CONFIG_QCOM_FALKOR_ERRATUM_E1041 is not set +# CONFIG_NVIDIA_CARMEL_CNP_ERRATUM is not set +# CONFIG_ROCKCHIP_ERRATUM_3588001 is not set +# CONFIG_SOCIONEXT_SYNQUACER_PREITS is not set +CONFIG_SCHED_MC=y +CONFIG_XEN=y +# CONFIG_ARM64_HW_AFDBM is not set +# CONFIG_ARM64_PAN is not set +# CONFIG_ARM64_USE_LSE_ATOMICS is not set +# CONFIG_ARM64_RAS_EXTN is not set +# CONFIG_ARM64_CNP is not set +# CONFIG_ARM64_PTR_AUTH is not set +# CONFIG_ARM64_AMU_EXTN is not set +# CONFIG_ARM64_TLB_RANGE is not set +# CONFIG_ARM64_BTI is not set +# CONFIG_ARM64_E0PD is not set +# CONFIG_ARM64_POE is not set +# CONFIG_ARM64_SVE is not set +CONFIG_RANDOMIZE_BASE=y +# CONFIG_SUSPEND is not set +CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y +CONFIG_CPU_IDLE=y +CONFIG_ARM_PSCI_CPUIDLE=y +CONFIG_JUMP_LABEL=y +CONFIG_COMPAT_32BIT_TIME=y +# CONFIG_GCC_PLUGINS is not set +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_BLK_DEV_INTEGRITY=y +CONFIG_IOSCHED_BFQ=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +# CONFIG_SWAP is not set +# CONFIG_COMPAT_BRK is not set +CONFIG_KSM=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_FW_LOADER_USER_HELPER=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_VIRTIO_BLK=y +CONFIG_RAID_ATTRS=m +CONFIG_SCSI=y +# CONFIG_SCSI_PROC_FS is not set +CONFIG_BLK_DEV_SD=y +CONFIG_SCSI_SAS_LIBSAS=y +CONFIG_INPUT_FF_MEMLESS=y +CONFIG_INPUT_MATRIXKMAP=y +CONFIG_INPUT_EVDEV=y +CONFIG_KEYBOARD_GPIO=y +CONFIG_KEYBOARD_GPIO_POLLED=m +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_INPUT_MISC=y +# CONFIG_SERIO_SERPORT is not set +CONFIG_SERIO_AMBAKMI=y +CONFIG_LEGACY_PTY_COUNT=16 +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_NR_UARTS=8 +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_8250_DW=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_DEV_BUS=y +CONFIG_VIRTIO_CONSOLE=y +# CONFIG_HW_RANDOM is not set +CONFIG_GPIO_DWAPB=y +CONFIG_GPIO_MB86S7X=y +CONFIG_GPIO_PL061=y +CONFIG_GPIO_SYSCON=y +CONFIG_GPIO_AGGREGATOR=m +# CONFIG_HWMON is not set +CONFIG_WATCHDOG=y +CONFIG_ARM_SP805_WATCHDOG=y +CONFIG_ARM_SBSA_WATCHDOG=y +CONFIG_ARM_SMC_WATCHDOG=y +# CONFIG_HID_SUPPORT is not set +# CONFIG_USB_SUPPORT is not set +CONFIG_VIRTIO_BALLOON=y +CONFIG_VIRTIO_MMIO=y +# CONFIG_VHOST_MENU is not set +CONFIG_XEN_GNTDEV=y +CONFIG_XEN_GRANT_DEV_ALLOC=y +# CONFIG_SURFACE_PLATFORMS is not set +# CONFIG_FSL_ERRATUM_A008585 is not set +# CONFIG_HISILICON_ERRATUM_161010101 is not set +# CONFIG_ARM64_ERRATUM_858921 is not set +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_RESET_CONTROLLER=y +CONFIG_RESET_GPIO=m +CONFIG_GENERIC_PHY=y +# CONFIG_ARM_PMU is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_DNOTIFY is not set +# CONFIG_INOTIFY_USER is not set +CONFIG_QUOTA=y +CONFIG_VFAT_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_CONFIGFS_FS=y +CONFIG_EFIVAR_FS=y +# CONFIG_MISC_FILESYSTEMS is not set +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ISO8859_1=y +CONFIG_SECURITY=y +CONFIG_SECURITYFS=y +# CONFIG_INTEGRITY is not set +CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_RSA=y +CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_ECDH=m +CONFIG_CRYPTO_CURVE25519=m +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +CONFIG_CRYPTO_ECHAINIV=y +CONFIG_CRYPTO_BLAKE2B=m +CONFIG_CRYPTO_CMAC=m +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_XXHASH=m +CONFIG_CRYPTO_DEFLATE=m +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_ZSTD=m +CONFIG_CRYPTO_ANSI_CPRNG=y +CONFIG_CRYPTO_CHACHA20_NEON=m +CONFIG_CRYPTO_GHASH_ARM64_CE=y +CONFIG_CRYPTO_SHA1_ARM64_CE=y +CONFIG_CRYPTO_SHA2_ARM64_CE=y +CONFIG_CRYPTO_SHA512_ARM64_CE=m +CONFIG_CRYPTO_SHA3_ARM64=m +CONFIG_CRYPTO_SM3_ARM64_CE=m +CONFIG_CRYPTO_AES_ARM64_BS=m +CONFIG_CRYPTO_AES_ARM64_CE_CCM=y +CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m +CONFIG_CRYPTO_DEV_CCREE=m +CONFIG_CRYPTO_DEV_AMLOGIC_GXL=m +CONFIG_PACKING=y +CONFIG_INDIRECT_PIO=y +CONFIG_CRC_CCITT=m +CONFIG_CRC_ITU_T=y +CONFIG_CRC7=y +CONFIG_LIBCRC32C=m +CONFIG_CRC8=m +CONFIG_DMA_RESTRICTED_POOL=y +CONFIG_IRQ_POLL=y +CONFIG_PRINTK_TIME=y +CONFIG_DEBUG_KERNEL=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y +CONFIG_DEBUG_INFO_REDUCED=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_DEBUG_FS=y +# CONFIG_SCHED_DEBUG is not set +# CONFIG_FTRACE is not set +CONFIG_CORESIGHT=m +CONFIG_CORESIGHT_LINK_AND_SINK_TMC=m +CONFIG_CORESIGHT_CATU=m +CONFIG_CORESIGHT_SINK_TPIU=m +CONFIG_CORESIGHT_SINK_ETBV10=m +CONFIG_CORESIGHT_STM=m +CONFIG_CORESIGHT_CPU_DEBUG=m +CONFIG_CORESIGHT_CTI=m +CONFIG_MEMTEST=y diff --git a/support/testing/tests/package/test_xen/post-image.sh b/support/testing/tests/package/test_xen/post-image.sh new file mode 100755 index 000000000..d74447ae9 --- /dev/null +++ b/support/testing/tests/package/test_xen/post-image.sh @@ -0,0 +1,7 @@ +#!/bin/sh +set -eu + +BOARD_DIR=$(dirname "$0") + +# Copy xen configuration. +cp -f "${BOARD_DIR}/xen.cfg" "${BINARIES_DIR}/xen.cfg" diff --git a/support/testing/tests/package/test_xen/xen.cfg b/support/testing/tests/package/test_xen/xen.cfg new file mode 100644 index 000000000..41b3ed3ee --- /dev/null +++ b/support/testing/tests/package/test_xen/xen.cfg @@ -0,0 +1,2 @@ +options=dom0_mem=128M loglvl=all guest_loglvl=all +kernel=\Image root=PARTLABEL=root rootwait console=hvc0 diff --git a/support/testing/tests/package/test_xfsprogs.py b/support/testing/tests/package/test_xfsprogs.py new file mode 100644 index 000000000..a3a4bd27d --- /dev/null +++ b/support/testing/tests/package/test_xfsprogs.py @@ -0,0 +1,112 @@ +import os +import subprocess + +import infra.basetest + + +class TestXfsProgs(infra.basetest.BRTest): + # This test needs a Kernel with XFS support. + kern_frag = \ + infra.filepath("tests/package/test_xfsprogs/linux-xfs.fragment") + config = \ + f""" + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.37" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{kern_frag}" + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_PACKAGE_XFSPROGS=y + BR2_PACKAGE_OPENSSL=y + BR2_TARGET_ROOTFS_CPIO=y + BR2_TARGET_ROOTFS_CPIO_GZIP=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + # Prepare the disk image. XFS requires at least 300MB of + # storage to work. + disk_file = os.path.join(self.builddir, "images", "disk.img") + self.emulator.logfile.write(f"Creating disk image: {disk_file}") + self.emulator.logfile.flush() + subprocess.check_call( + ["dd", "if=/dev/zero", f"of={disk_file}", "bs=1M", "count=512"], + stdout=self.emulator.logfile, + stderr=self.emulator.logfile) + + # Run the emulator with a blank drive. + img = os.path.join(self.builddir, "images", "rootfs.cpio.gz") + kern = os.path.join(self.builddir, "images", "Image") + bootargs = ["console=ttyAMA0"] + qemu_opts = ["-M", "virt", "-cpu", "cortex-a57", "-m", "256M", + "-initrd", img, + "-drive", f"file={disk_file},if=virtio,format=raw"] + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=bootargs, + options=qemu_opts) + self.emulator.login() + + # Check a program can run and show its version. + self.assertRunOk("mkfs.xfs -V") + + # Variables for this test. + dev = "/dev/vda" + label = "BR_TEST" + mnt_pt = "/tmp/xfs" + data_file = f"{mnt_pt}/data.bin" + + # We create the XFS filesystem on our device. + self.assertRunOk(f"mkfs.xfs {dev}") + + # We set a label on this filesystem. + self.assertRunOk(f"xfs_admin -L '{label}' {dev}") + + # We create a mount point. + self.assertRunOk(f"mkdir -p {mnt_pt}") + + # We mount the XFS filesystem. + self.assertRunOk(f"mount {dev} {mnt_pt}") + + # We create a file with random data, to use this new + # filesystem a bit. + self.assertRunOk(f"dd if=/dev/urandom of={data_file} bs=1M count=10") + + # We compute the sha256 hash and save it for later. + hash_cmd = f"sha256sum {data_file}" + out, ret = self.emulator.run(hash_cmd) + self.assertEqual(ret, 0) + data_sha256 = out[0] + + # We unmount the filesystem. + self.assertRunOk(f"umount {mnt_pt}") + + # We query the fragmentation level. Since it's a new + # filesystem, we don't expect any filesystem + # fragmentation. This invocation is just to test the "xfs_db" + # program can run and read the filesystem. + self.assertRunOk(f"xfs_db -c frag -r {dev}") + + # We run a repair (this tool is the equivalent of + # "fsck"). Again, since we cleanly unmounted the filesystem, + # we are not expecting any repair. This is just to test the + # program works correctly. + self.assertRunOk(f"xfs_repair {dev}") + + # We query the label and check it is the one we set at the + # beginning. + out, ret = self.emulator.run(f"xfs_admin -l {dev}") + self.assertEqual(ret, 0) + self.assertEqual(out[0], f"label = \"{label}\"") + + # We remount our filesystem. + self.assertRunOk(f"mount {dev} {mnt_pt}") + + # We should recompute the same sha256 hash as before. + out, ret = self.emulator.run(hash_cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0], data_sha256) diff --git a/support/testing/tests/package/test_xfsprogs/linux-xfs.fragment b/support/testing/tests/package/test_xfsprogs/linux-xfs.fragment new file mode 100644 index 000000000..32f7f6d87 --- /dev/null +++ b/support/testing/tests/package/test_xfsprogs/linux-xfs.fragment @@ -0,0 +1 @@ +CONFIG_XFS_FS=y diff --git a/support/testing/tests/package/test_xvisor.py b/support/testing/tests/package/test_xvisor.py new file mode 100644 index 000000000..b1b7d1a5e --- /dev/null +++ b/support/testing/tests/package/test_xvisor.py @@ -0,0 +1,131 @@ +import os +import re + +import infra.basetest + + +class TestXvisor(infra.basetest.BRTest): + # RISC-V 64bit is the "simplest" configuration to run + # Xvisor into QEmu. + config = \ + """ + BR2_riscv=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_PACKAGE_XVISOR=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + BR2_TARGET_OPENSBI=y + BR2_TARGET_OPENSBI_CUSTOM_VERSION=y + BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.5" + BR2_TARGET_OPENSBI_PLAT="generic" + BR2_PACKAGE_HOST_QEMU=y + BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y + """ + xvisor_prompt = "XVisor# " + + def expect_xvisor_prompt(self, timeout=-1): + self.emulator.qemu.expect(self.xvisor_prompt, timeout=timeout) + + def run_xvisor_cmd(self, cmd, timeout=-1): + exit_code = 0 + if timeout != -1: + timeout *= self.emulator.timeout_multiplier + self.emulator.qemu.sendline(cmd) + self.expect_xvisor_prompt(timeout) + output = self.emulator.qemu.before.replace("\r\r", "\r").splitlines()[1:] + # Some Xvisor commands (like "sleep") might not + # produce any output + if len(output) > 0: + last_line = output[-1] + else: + last_line = "" + if last_line.startswith("Error:"): + match = re.search(last_line, r"code (-?\d)") + if match is None: + exit_code = -1 + else: + exit_code = int(match.group(1)) + + return output, exit_code + + def assertXvRunOk(self, cmd, timeout=-1): + out, exit_code = self.run_xvisor_cmd(cmd, timeout) + self.assertEqual( + exit_code, + 0, + "\nFailed to run xvisor command: {}\noutput was:\n{}".format( + cmd, ' '+'\n '.join(out)) + ) + + def test_run(self): + opensbi = os.path.join(self.builddir, "images", "fw_jump.bin") + xvisor = os.path.join(self.builddir, "images", "vmm.bin") + initrd = os.path.join(self.builddir, "images", "rootfs.cpio") + + self.emulator.boot(arch="riscv64", + kernel=xvisor, + options=["-M", "virt", "-cpu", "rv64", "-m", "256M", + "-bios", opensbi, "-initrd", initrd]) + + # There is no emulator.login(), since we start directly in + # Xvisor prompt. + self.expect_xvisor_prompt() + + # Check Xvisor version. + output, exit_code = self.run_xvisor_cmd("version") + self.assertEqual(exit_code, 0) + self.assertTrue(output[0].startswith("Xvisor")) + + # Check a basic echo. + test_str = "Hello Buildroot!" + output, exit_code = self.run_xvisor_cmd("echo " + test_str) + self.assertEqual(exit_code, 0) + self.assertEqual(output[0].strip(), test_str) + + # Check a nonexisting command fails. + _, exit_code = self.run_xvisor_cmd("bad_command") + self.assertNotEqual(exit_code, 0) + + # Check an error of a valid command. + _, exit_code = self.run_xvisor_cmd("vfs ls /nodir") + self.assertNotEqual(exit_code, 0) + + # We mount the initrd... + self.assertXvRunOk("vfs mount initrd /") + + # Check we see an existing file/symlink "os-release" in + # "/etc", from our mounted initrd. + output, exit_code = self.run_xvisor_cmd("vfs ls /etc") + self.assertEqual(exit_code, 0) + self.assertIn("os-release", "\n".join(output)) + + # Check the word "Buildroot" is in the /etc/issue file. + output, exit_code = self.run_xvisor_cmd("vfs cat /etc/issue") + self.assertEqual(exit_code, 0) + self.assertIn("Buildroot", "\n".join(output)) + + # Check qemu is seen in host info. + output, exit_code = self.run_xvisor_cmd("host info") + self.assertEqual(exit_code, 0) + self.assertIn("qemu", "\n".join(output)) + + # Run a batch of status commands... + cmds = [ + "blockdev list", + "rbd list", + "module info 0", + "wallclock get_time", + "heap info", + "thread list", + "vcpu list", + "vcpu dumpreg 0", + "devtree node show /", + "host cpu info", + "host ram info", + "host resources", + "host bus_list", + "host bus_device_list platform" + ] + + for cmd in cmds: + self.assertXvRunOk(cmd) diff --git a/support/testing/tests/package/test_xxhash.py b/support/testing/tests/package/test_xxhash.py new file mode 100644 index 000000000..00e0f245f --- /dev/null +++ b/support/testing/tests/package/test_xxhash.py @@ -0,0 +1,35 @@ +import os + +import infra.basetest + + +class TestXxHash(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_XXHASH=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + testfile = "data.bin" + + # Check we can run the program. + self.assertRunOk("xxhsum --version") + + # We create a test data file with random data. + cmd = f"dd if=/dev/urandom of={testfile} bs=1M count=1" + self.assertRunOk(cmd) + + # For the three hash sizes, we compute the xxhash and check + # the integrity of the file. + for hsize in [32, 64, 128]: + hashfile = f"{testfile}.xxh{hsize}" + self.assertRunOk(f"xxh{hsize}sum {testfile} | tee {hashfile}") + self.assertRunOk(f"xxh{hsize}sum -c {hashfile}") diff --git a/support/testing/tests/package/test_zbar.py b/support/testing/tests/package/test_zbar.py new file mode 100644 index 000000000..b840df089 --- /dev/null +++ b/support/testing/tests/package/test_zbar.py @@ -0,0 +1,37 @@ +import os + +import infra.basetest + + +class TestZbar(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_IMAGEMAGICK=y + BR2_PACKAGE_LIBQRENCODE=y + BR2_PACKAGE_LIBQRENCODE_TOOLS=y + BR2_PACKAGE_ZBAR=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + txt_msg = "Hello Buildroot!" + qr_img = "qr.png" + + # We check the program can execute. + self.assertRunOk("zbarimg --version") + + # We generate a QR code image containing a message. + self.assertRunOk(f"qrencode -o '{qr_img}' '{txt_msg}'") + + # We decode the QR code image and check the extracted message + # is the expected one. + out, ret = self.emulator.run(f"zbarimg -q --raw {qr_img}") + self.assertEqual(ret, 0) + self.assertEqual(out[0], txt_msg) diff --git a/support/testing/tests/package/test_zip.py b/support/testing/tests/package/test_zip.py new file mode 100644 index 000000000..eb2e01698 --- /dev/null +++ b/support/testing/tests/package/test_zip.py @@ -0,0 +1,15 @@ +from tests.package.test_compressor_base import TestCompressorBase + + +class TestZip(TestCompressorBase): + __test__ = True + config = TestCompressorBase.config + \ + """ + BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y + BR2_PACKAGE_ZIP=y + BR2_PACKAGE_UNZIP=y + """ + compress_cmd = "/bin/sh -c 'zip $1.zip $1' /bin/sh" + decompress_cmd = "unzip" + check_integrity_cmd = "unzip -t" + compressed_file_ext = ".zip" diff --git a/support/testing/tests/toolchain/test_external.py b/support/testing/tests/toolchain/test_external.py index d22f38ced..27dfd6850 100644 --- a/support/testing/tests/toolchain/test_external.py +++ b/support/testing/tests/toolchain/test_external.py @@ -37,103 +37,6 @@ class TestExternalToolchain(infra.basetest.BRTest): self.assertTrue(os.path.exists(interp_path)) -class TestExternalToolchainSourceryArmv4(TestExternalToolchain): - config = BASIC_CONFIG + \ - """ - BR2_arm=y - BR2_arm920t=y - BR2_TOOLCHAIN_EXTERNAL=y - BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y - """ - toolchain_prefix = "arm-none-linux-gnueabi" - - def test_run(self): - TestExternalToolchain.common_check(self) - - # Check the architecture variant - arch = infra.get_file_arch(self.builddir, - self.toolchain_prefix, - "lib/libc.so.6") - self.assertEqual(arch, "v4T") - - # Check the sysroot symlink - symlink = os.path.join(self.builddir, "staging", "armv4t") - self.assertTrue(os.path.exists(symlink)) - self.assertEqual(os.readlink(symlink), "./") - - # Boot the system - img = os.path.join(self.builddir, "images", "rootfs.cpio") - self.emulator.boot(arch="armv5", - kernel="builtin", - options=["-initrd", img]) - self.emulator.login() - - -class TestExternalToolchainSourceryArmv5(TestExternalToolchain): - config = BASIC_CONFIG + \ - """ - BR2_arm=y - BR2_TOOLCHAIN_EXTERNAL=y - BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y - """ - toolchain_prefix = "arm-none-linux-gnueabi" - - def test_run(self): - TestExternalToolchain.common_check(self) - - # Check the architecture variant - arch = infra.get_file_arch(self.builddir, - self.toolchain_prefix, - "lib/libc.so.6") - self.assertEqual(arch, "v5TE") - - # Boot the system - img = os.path.join(self.builddir, "images", "rootfs.cpio") - self.emulator.boot(arch="armv5", - kernel="builtin", - options=["-initrd", img]) - self.emulator.login() - - -class TestExternalToolchainSourceryArmv7(TestExternalToolchain): - config = BASIC_CONFIG + \ - """ - BR2_arm=y - BR2_cortex_a8=y - BR2_ARM_EABI=y - BR2_ARM_INSTRUCTIONS_THUMB2=y - BR2_TOOLCHAIN_EXTERNAL=y - BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y - """ - toolchain_prefix = "arm-none-linux-gnueabi" - - def test_run(self): - TestExternalToolchain.common_check(self) - - # Check the architecture variant - arch = infra.get_file_arch(self.builddir, - self.toolchain_prefix, - "lib/libc.so.6") - self.assertEqual(arch, "v7") - isa = infra.get_elf_arch_tag(self.builddir, - self.toolchain_prefix, - "lib/libc.so.6", - "Tag_THUMB_ISA_use") - self.assertEqual(isa, "Thumb-2") - - # Check we have the sysroot symlink - symlink = os.path.join(self.builddir, "staging", "thumb2") - self.assertTrue(os.path.exists(symlink)) - self.assertEqual(os.readlink(symlink), "./") - - # Boot the system - img = os.path.join(self.builddir, "images", "rootfs.cpio") - self.emulator.boot(arch="armv7", - kernel="builtin", - options=["-initrd", img]) - self.emulator.login() - - class TestExternalToolchainLinaroArm(TestExternalToolchain): config = BASIC_CONFIG + \ """ diff --git a/support/testing/tests/utils/test_get_developers.py b/support/testing/tests/utils/test_get_developers.py index ffc01f6ce..195e42133 100644 --- a/support/testing/tests/utils/test_get_developers.py +++ b/support/testing/tests/utils/test_get_developers.py @@ -13,20 +13,32 @@ import unittest import infra -def call_script(args, env, cwd): +def call_script(args, env, cwd, stdin_data=None): """Call a script and return stdout and stderr as lists and the exit code.""" - proc = subprocess.Popen(args, cwd=cwd, stdout=subprocess.PIPE, + if stdin_data is None: + # We need stdin to be a tty, not just a pipe or whatever + m_tty, s_tty = os.openpty() + com_opts = dict() + else: + s_tty = subprocess.PIPE + com_opts = dict([("input", stdin_data)]) + proc = subprocess.Popen(args, cwd=cwd, + stdin=s_tty, + stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env, universal_newlines=True) - out, err = proc.communicate() + out, err = proc.communicate(**com_opts) + if stdin_data is None: + os.close(s_tty) + os.close(m_tty) return out.splitlines(), err.splitlines(), proc.returncode -def call_get_developers(cmd, args, env, cwd, developers_content): +def call_get_developers(cmd, args, env, cwd, developers_content, stdin_data=None): """Call get-developers overrinding the default DEVELOPERS file.""" with tempfile.NamedTemporaryFile(buffering=0) as developers_file: developers_file.write(developers_content) - return call_script([cmd, "-d", developers_file.name] + args, env, cwd) + return call_script([cmd, "-d", developers_file.name] + args, env, cwd, stdin_data) class TestGetDevelopers(unittest.TestCase): @@ -41,9 +53,9 @@ class TestGetDevelopers(unittest.TestCase): # no args, with syntax error in the file developers = b'text3\n' out, err, rc = call_get_developers("./utils/get-developers", [], self.WITH_EMPTY_PATH, topdir, developers) - self.assertIn("No action specified", out) - self.assertEqual(rc, 0) - self.assertEqual(len(err), 0) + self.assertIn("No action specified", "\n".join(err)) + self.assertEqual(rc, 2) + self.assertEqual(len(out), 0) # -v generating error, called from the main dir developers = b'text1\n' @@ -150,9 +162,9 @@ class TestGetDevelopers(unittest.TestCase): # no args, with syntax error in the file developers = b'text3\n' out, err, rc = call_get_developers("./utils/get-developers", [], self.WITH_EMPTY_PATH, topdir, developers) - self.assertIn("No action specified", out) - self.assertEqual(rc, 0) - self.assertEqual(len(err), 0) + self.assertIn("No action specified", "\n".join(err)) + self.assertEqual(rc, 2) + self.assertEqual(len(out), 0) # patchfile from topdir and from elsewhere abs_path = infra.filepath("tests/utils/test_get_developers/") @@ -168,3 +180,9 @@ class TestGetDevelopers(unittest.TestCase): self.assertIn('git send-email --to buildroot@buildroot.org --cc "dev1"', out) self.assertEqual(rc, 0) self.assertEqual(len(err), 0) + with open(abs_file, "r") as fd: + patch_data = fd.read() + out, err, rc = call_get_developers("./utils/get-developers", [], self.WITH_EMPTY_PATH, topdir, developers, patch_data) + self.assertIn('git send-email --to buildroot@buildroot.org --cc "dev1"', out) + self.assertEqual(rc, 0) + self.assertEqual(len(err), 0) diff --git a/system/Config.in b/system/Config.in index f84e871d9..d819781ae 100644 --- a/system/Config.in +++ b/system/Config.in @@ -815,12 +815,13 @@ config BR2_ROOTFS_POST_IMAGE_SCRIPT config BR2_ROOTFS_POST_SCRIPT_ARGS string "Extra arguments passed to custom scripts" - depends on BR2_ROOTFS_POST_BUILD_SCRIPT != "" \ + depends on BR2_ROOTFS_PRE_BUILD_SCRIPT != "" \ + || BR2_ROOTFS_POST_BUILD_SCRIPT != "" \ || BR2_ROOTFS_POST_FAKEROOT_SCRIPT != "" \ || BR2_ROOTFS_POST_IMAGE_SCRIPT != "" help - Pass these additional arguments to each post-build or - post-image scripts. + Pass these additional arguments to each pre-build, post-build, + post-fakeroot and post-image scripts. Note that all the post-build and post-image scripts will be passed the same set of arguments, you can not pass different diff --git a/toolchain/Config.in b/toolchain/Config.in index ef75efeca..1c665db8f 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -100,6 +100,7 @@ config BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !BR2_ARM_CPU_ARMV5 depends on !BR2_sparc_v8 depends on !BR2_m68k_cf5208 + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # GCC uses thunk functions to adjust the 'this' pointer when calling # C++ member functions in classes derived with multiple inheritance. @@ -879,16 +880,19 @@ config BR2_TOOLCHAIN_HAS_SYNC_8 default y if BR2_TOOLCHAIN_ARM_HAS_SYNC_8 default y if BR2_TOOLCHAIN_X86_HAS_SYNC_8 -# libatomic is available since gcc 4.8, when thread support is -# enabled. Also, libatomic doesn't recognize "uclinux" as a valid OS -# part of the tuple, and is therefore not build on uclinux targets, -# which is why BR2_BINFMT_FLAT configurations are excluded. +# libatomic is available since gcc 4.8, when thread support is enabled. +# However, the gcc logic in libatomic/configure.tgt does not recognize +# "uclinux" as a valid OS part of the target tuple, and therefore it +# does not build libatomic. The "uclinux" part of the tuple is used by +# Buildroot when BR2_BINFMT_FLAT=y. This broken logic has only been +# fixed for arm since gcc 10.1.0. config BR2_TOOLCHAIN_HAS_LIBATOMIC bool - default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 && \ - !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 && \ - BR2_TOOLCHAIN_HAS_THREADS && \ - !BR2_BINFMT_FLAT + default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_BINFMT_ELF || \ + (BR2_BINFMT_FLAT && BR2_arm && \ + BR2_TOOLCHAIN_GCC_AT_LEAST_10) # __atomic intrinsics are available: # - with gcc 4.8, either through built-ins or libatomic, on all diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk index e5c838c0a..f3fdaaec0 100644 --- a/toolchain/helpers.mk +++ b/toolchain/helpers.mk @@ -324,7 +324,7 @@ check_arm_abi = \ __CROSS_CC=$(strip $1) ; \ EXT_TOOLCHAIN_TARGET=`LANG=C $${__CROSS_CC} -v 2>&1 | grep ^Target | cut -f2 -d ' '` ; \ if ! echo $${EXT_TOOLCHAIN_TARGET} | grep -qE 'eabi(hf)?$$' ; then \ - echo "External toolchain uses the unsuported OABI" ; \ + echo "External toolchain uses the unsupported OABI" ; \ exit 1 ; \ fi ; \ if ! echo 'int main(void) {}' | $${__CROSS_CC} -x c -o $(BUILD_DIR)/.br-toolchain-test.tmp - ; then \ @@ -483,7 +483,7 @@ check_unusable_toolchain = \ # check_toolchain_ssp = \ __CROSS_CC=$(strip $1) ; \ - __HAS_SSP=`echo 'void main(){}' | $${__CROSS_CC} -Werror -fstack-protector -x c - -o $(BUILD_DIR)/.br-toolchain-test.tmp >/dev/null 2>&1 && echo y` ; \ + __HAS_SSP=`echo 'int main(){}' | $${__CROSS_CC} -Werror -fstack-protector -x c - -o $(BUILD_DIR)/.br-toolchain-test.tmp >/dev/null 2>&1 && echo y` ; \ if [ "$(BR2_TOOLCHAIN_HAS_SSP)" != "y" -a "$${__HAS_SSP}" = "y" ] ; then \ echo "SSP support available in this toolchain, please enable BR2_TOOLCHAIN_EXTERNAL_HAS_SSP" ; \ exit 1 ; \ @@ -494,7 +494,7 @@ check_toolchain_ssp = \ fi ; \ __SSP_OPTION=$(2); \ if [ -n "$${__SSP_OPTION}" ] ; then \ - if ! echo 'void main(){}' | $${__CROSS_CC} -Werror $${__SSP_OPTION} -x c - -o $(BUILD_DIR)/.br-toolchain-test.tmp >/dev/null 2>&1 ; then \ + if ! echo 'int main(){}' | $${__CROSS_CC} -Werror $${__SSP_OPTION} -x c - -o $(BUILD_DIR)/.br-toolchain-test.tmp >/dev/null 2>&1 ; then \ echo "SSP option $${__SSP_OPTION} not available in this toolchain, please select another SSP level" ; \ exit 1 ; \ fi; \ diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index c1c159cb8..af9082cf6 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -11,7 +11,6 @@ choice # Aarch64 (use ARM toolchain by default) source "toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in" source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in" -source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in" # Aarch64 big-endian source "toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in" @@ -23,15 +22,12 @@ source "toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in" # ARM (use ARM toolchain by default) source "toolchain/toolchain-external/toolchain-external-arm-arm/Config.in" source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in" -source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in" # ARM big-endian source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in" -# MIPS (use codesourcery toolchain by default) +# MIPS source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in" -source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in" -source "toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in" # NIOSII source "toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in" @@ -115,7 +111,6 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX # Aarch64 source "toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in.options" source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in.options" -source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options" # Aarch64 big-endian source "toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in.options" @@ -127,15 +122,12 @@ source "toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.o # ARM source "toolchain/toolchain-external/toolchain-external-arm-arm/Config.in.options" source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options" -source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options" # ARM big-endian source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in.options" # MIPS source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options" -source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options" -source "toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in.options" # NIOSII source "toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in.options" diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in index 1cee601a8..7aeec1aef 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in @@ -2,7 +2,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE bool "Arm AArch64 BE 13.2.rel1" depends on BR2_aarch64_be depends on BR2_HOSTARCH = "x86_64" - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_TOOLCHAIN_HAS_SSP select BR2_INSTALL_LIBSTDCPP diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in index 2565707de..03cee3965 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in @@ -2,7 +2,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64 bool "Arm AArch64 13.2.rel1" depends on BR2_aarch64 depends on BR2_HOSTARCH = "x86_64" - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_TOOLCHAIN_HAS_SSP select BR2_INSTALL_LIBSTDCPP diff --git a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in index bee8d6116..49aee3228 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in @@ -9,7 +9,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM depends on BR2_ARM_CPU_HAS_NEON depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "aarch64" depends on BR2_ARM_EABIHF - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_TOOLCHAIN_HAS_SSP select BR2_INSTALL_LIBSTDCPP diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in deleted file mode 100644 index d49c61023..000000000 --- a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in +++ /dev/null @@ -1,66 +0,0 @@ -config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS - bool "Codescape IMG GNU Linux Toolchain 2018.09" - depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7 - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on BR2_MIPS_CPU_MIPS32R6 || (BR2_MIPS_CPU_MIPS64R6 && !BR2_MIPS_SOFT_FLOAT) - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_INSTALL_LIBSTDCPP - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7 - select BR2_TOOLCHAIN_GCC_AT_LEAST_6 - select BR2_TOOLCHAIN_HAS_FORTRAN - select BR2_TOOLCHAIN_HAS_OPENMP - help - Codescape IMG GNU Linux Toolchain 2018.09 for the MIPS - architecture, from MIPS Tech LLC. It uses gcc 6.3.0, - binutils 2.28.51, glibc 2.20, gdb 7.9.1 and kernel headers - 4.7. It has support for the following variants: - - MIPS32r6 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI - Select 'MIPS (big endian)' Target Architecture - Select 'mips 32r6' Target Architecture Variant - Disable 'Use soft-float' - - MIPS32r6 - Big-Endian, Soft-Float, 2008 NaN, o32 ABI - Select 'MIPS (big endian)' Target Architecture - Select 'mips 32r6' Target Architecture Variant - Enable 'Use soft-float' - - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r6' Target Architecture Variant - Disable 'Use soft-float' - - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r6' Target Architecture Variant - Enable 'Use soft-float' - - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, - microMIPS - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r6' Target Architecture Variant - Disable 'Use soft-float' - Set BR2_TARGET_OPTIMIZATION to '-mmicromips' - - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI, - microMIPS - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r6' Target Architecture Variant - Enable 'Use soft-float' - Set BR2_TARGET_OPTIMIZATION to '-mmicromips' - - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n32 ABI - Select 'MIPS64 (big endian)' Target Architecture - Select 'mips 64r6' Target Architecture Variant - Select 'n32' Target ABI - Disable 'Use soft-float' - - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n32 ABI - Select 'MIPS64 (little endian)' Target Architecture - Select 'mips 64r6' Target Architecture Variant - Select 'n32' Target ABI - Disable 'Use soft-float' - - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n64 ABI - Select 'MIPS64 (big endian)' Target Architecture - Select 'mips 64r6' Target Architecture Variant - Select 'n64' Target ABI - Disable 'Use soft-float' - - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n64 ABI - Select 'MIPS64 (little endian)' Target Architecture - Select 'mips 64r6' Target Architecture Variant - Select 'n64' Target ABI - Disable 'Use soft-float' diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options deleted file mode 100644 index 3eaa2a952..000000000 --- a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options +++ /dev/null @@ -1,9 +0,0 @@ -if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS - -config BR2_TOOLCHAIN_EXTERNAL_PREFIX - default "mips-img-linux-gnu" - -config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL - default "toolchain-external-codescape-img-mips" - -endif diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash deleted file mode 100644 index 65e1861f1..000000000 --- a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash +++ /dev/null @@ -1,4 +0,0 @@ -# Codescape toolchains from MIPS Tech LLC -# From: https://codescape.mips.com/components/toolchain/nanomips/2018.09-02/downloads.html -sha256 ac035f3b6a8767522977963d8e1490520d58bccca7956f4503a1eefff6492b71 Codescape.GNU.Tools.Package.2018.09-02.for.MIPS.IMG.Linux.CentOS-6.x86.tar.gz -sha256 09280f4fcbb993607905bf9a43bf5f3db2beed85726f0675b8453e19a9ddc429 Codescape.GNU.Tools.Package.2018.09-02.for.MIPS.IMG.Linux.CentOS-6.x86_64.tar.gz diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk deleted file mode 100644 index 55424918c..000000000 --- a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk +++ /dev/null @@ -1,51 +0,0 @@ -################################################################################ -# -# toolchain-external-codescape-img-mips -# -################################################################################ - -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION = 2018.09-02 -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SITE = https://codescape.mips.com/components/toolchain/$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION) -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_STRIP_COMPONENTS = 2 - -ifeq ($(HOSTARCH),x86) -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION).for.MIPS.IMG.Linux.CentOS-6.x86.tar.gz -else -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION).for.MIPS.IMG.Linux.CentOS-6.x86_64.tar.gz -endif - -# Special fixup for Codescape MIPS toolchains, that have bin- and -# sbin- directories. We create symlinks bin -> bin- and sbin -# -> sbin- so that the rest of Buildroot can find the toolchain -# tools in the appropriate location. -ifeq ($(BR2_MIPS_OABI32),y) -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_BIN_DIR_SUFFIX = o32 -else ifeq ($(BR2_MIPS_NABI32),y) -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_BIN_DIR_SUFFIX = n32 -else ifeq ($(BR2_MIPS_NABI64),y) -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_BIN_DIR_SUFFIX = n64 -endif - -define TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_STAGING_FIXUPS - rmdir $(STAGING_DIR)/usr/bin $(STAGING_DIR)/usr/sbin - ln -sf bin-$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_BIN_DIR_SUFFIX) $(STAGING_DIR)/usr/bin - ln -sf sbin-$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_BIN_DIR_SUFFIX) $(STAGING_DIR)/usr/sbin -endef - -# The Codescape toolchain uses a sysroot layout that places them -# side-by-side instead of nested like multilibs. A symlink is needed -# much like for the nested sysroots which are handled in -# copy_toolchain_sysroot but there is not enough information in there -# to determine whether the sysroot layout was nested or side-by-side. -# Add the symlink here for now. -define TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SYMLINK - $(Q)ARCH_SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))"; \ - ARCH_SUBDIR=`basename $${ARCH_SYSROOT_DIR}`; \ - ln -snf . $(STAGING_DIR)/$${ARCH_SUBDIR} -endef - -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_POST_INSTALL_STAGING_HOOKS += \ - TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_STAGING_FIXUPS \ - TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SYMLINK - -$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in deleted file mode 100644 index 720d705d1..000000000 --- a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in +++ /dev/null @@ -1,76 +0,0 @@ -config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS - bool "Codescape MTI GNU Linux Toolchain 2018.09" - depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7 - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on BR2_MIPS_CPU_MIPS32R2 || (BR2_MIPS_CPU_MIPS64R2 && !BR2_MIPS_SOFT_FLOAT) - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_INSTALL_LIBSTDCPP - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7 - select BR2_TOOLCHAIN_GCC_AT_LEAST_6 - select BR2_TOOLCHAIN_HAS_FORTRAN - select BR2_TOOLCHAIN_HAS_OPENMP - help - Codescape MTI GNU Linux Toolchain 2018.09 for the MIPS - architecture, from MIPS Tech LLC. It uses gcc 6.3.0, - binutils 2.28.51, glibc 2.20, gdb 7.9.1 and kernel headers - 4.7. It has support for the following variants: - - MIPS32r2 - Big-Endian, Hard-Float, Legacy NaN, o32 ABI - Select 'MIPS (big endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Disable 'Use soft-float' - - MIPS32r2 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI - Select 'MIPS (big endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Disable 'Use soft-float' - Set BR2_TARGET_OPTIMIZATION to '-mnan=2008' - - MIPS32r2 - Big-Endian, Soft-Float, Legacy NaN, o32 ABI - Select 'MIPS (big endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Enable 'Use soft-float' - - MIPS32r2 - Little-Endian, Hard-Float, Legacy NaN, o32 ABI - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Disable 'Use soft-float' - - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Disable 'Use soft-float' - Set BR2_TARGET_OPTIMIZATION to '-mnan=2008' - - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Enable 'Use soft-float' - - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, - microMIPS - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Enable 'Use soft-float' - Set BR2_TARGET_OPTIMIZATION to '-mmicromips' - - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI, - microMIPS - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Disable 'Use soft-float' - Set BR2_TARGET_OPTIMIZATION to '-mmicromips' - - MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n32 ABI - Select 'MIPS64 (big endian)' Target Architecture - Select 'mips 64r2' Target Architecture Variant - Select 'n32' Target ABI - Disable 'Use soft-float' - - MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n32 ABI - Select 'MIPS64 (little endian)' Target Architecture - Select 'mips 64r2' Target Architecture Variant - Select 'n32' Target ABI - Disable 'Use soft-float' - - MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n64 ABI - Select 'MIPS64 (big endian)' Target Architecture - Select 'mips 64r2' Target Architecture Variant - Select 'n64' Target ABI - Disable 'Use soft-float' - - MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n64 ABI - Select 'MIPS64 (little endian)' Target Architecture - Select 'mips 64r2' Target Architecture Variant - Select 'n64' Target ABI - Disable 'Use soft-float' diff --git a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in.options b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in.options deleted file mode 100644 index 464c9b844..000000000 --- a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in.options +++ /dev/null @@ -1,9 +0,0 @@ -if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS - -config BR2_TOOLCHAIN_EXTERNAL_PREFIX - default "mips-mti-linux-gnu" - -config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL - default "toolchain-external-codescape-mti-mips" - -endif diff --git a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.hash b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.hash deleted file mode 100644 index b07281de4..000000000 --- a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.hash +++ /dev/null @@ -1,4 +0,0 @@ -# Codescape toolchains from MIPS Tech LLC -# From: https://codescape.mips.com/components/toolchain/nanomips/2018.09-02/downloads.html -sha256 c883a404fd7ea5718e2249a530802e223381f2be52265f88e9b1ce7035c232f3 Codescape.GNU.Tools.Package.2018.09-02.for.MIPS.MTI.Linux.CentOS-6.x86.tar.gz -sha256 d6310a970b0a8a19ad8e0a2b3ead8c38ee90d0e284a9b2511200ce447f460d2c Codescape.GNU.Tools.Package.2018.09-02.for.MIPS.MTI.Linux.CentOS-6.x86_64.tar.gz diff --git a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.mk b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.mk deleted file mode 100644 index 9bee1ab87..000000000 --- a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.mk +++ /dev/null @@ -1,51 +0,0 @@ -################################################################################ -# -# toolchain-external-codescape-mti-mips -# -################################################################################ - -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION = 2018.09-02 -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SITE = https://codescape.mips.com/components/toolchain/$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION) -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_STRIP_COMPONENTS = 2 - -ifeq ($(HOSTARCH),x86) -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION).for.MIPS.MTI.Linux.CentOS-6.x86.tar.gz -else -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION).for.MIPS.MTI.Linux.CentOS-6.x86_64.tar.gz -endif - -# Special fixup for Codescape MIPS toolchains, that have bin- and -# sbin- directories. We create symlinks bin -> bin- and sbin -# -> sbin- so that the rest of Buildroot can find the toolchain -# tools in the appropriate location. -ifeq ($(BR2_MIPS_OABI32),y) -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_BIN_DIR_SUFFIX = o32 -else ifeq ($(BR2_MIPS_NABI32),y) -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_BIN_DIR_SUFFIX = n32 -else ifeq ($(BR2_MIPS_NABI64),y) -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_BIN_DIR_SUFFIX = n64 -endif - -define TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_STAGING_FIXUPS - rmdir $(STAGING_DIR)/usr/bin $(STAGING_DIR)/usr/sbin - ln -sf bin-$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_BIN_DIR_SUFFIX) $(STAGING_DIR)/usr/bin - ln -sf sbin-$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_BIN_DIR_SUFFIX) $(STAGING_DIR)/usr/sbin -endef - -# The Codescape toolchain uses a sysroot layout that places them -# side-by-side instead of nested like multilibs. A symlink is needed -# much like for the nested sysroots which are handled in -# copy_toolchain_sysroot but there is not enough information in there -# to determine whether the sysroot layout was nested or side-by-side. -# Add the symlink here for now. -define TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SYMLINK - $(Q)ARCH_SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))"; \ - ARCH_SUBDIR=`basename $${ARCH_SYSROOT_DIR}`; \ - ln -snf . $(STAGING_DIR)/$${ARCH_SUBDIR} -endef - -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_POST_INSTALL_STAGING_HOOKS += \ - TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_STAGING_FIXUPS \ - TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SYMLINK - -$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in deleted file mode 100644 index 8c0f985c5..000000000 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in +++ /dev/null @@ -1,19 +0,0 @@ -config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 - bool "CodeSourcery AArch64 2014.11" - depends on BR2_aarch64 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5 - # a57/a53 and a72/a53 appeared in gcc-6 or were broken before - depends on !BR2_cortex_a57_a53 && !BR2_cortex_a72_a53 - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_SSP - select BR2_INSTALL_LIBSTDCPP - select BR2_HOSTARCH_NEEDS_IA32_LIBS - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - help - Sourcery CodeBench toolchain for the AArch64 architecture, - from Mentor Graphics. It uses gcc 4.9.1, binutils - 2.24.51.20140217, glibc 2.20, gdb 7.7.50 and kernel headers - 3.16.2. diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options deleted file mode 100644 index 1eab83921..000000000 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options +++ /dev/null @@ -1,9 +0,0 @@ -if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 - -config BR2_TOOLCHAIN_EXTERNAL_PREFIX - default "aarch64-amd-linux-gnu" - -config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL - default "toolchain-external-codesourcery-aarch64" - -endif diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.hash b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.hash deleted file mode 100644 index 8f8fca0d0..000000000 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally calculated -sha256 405aada821146755c5f2df566375c2a682456d6b8451ee47b88cf1a52b093676 aarch64-amd-2014.11-95-aarch64-amd-linux-gnu-i686-pc-linux-gnu.tar.bz2 -sha256 3f50dd6ee433eb5b6992a1071b988e50379a738f54f58722bc60081613764716 aarch64-amd-2014.11-95-aarch64-amd-linux-gnu.src.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.mk b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.mk deleted file mode 100644 index 192763a0e..000000000 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.mk +++ /dev/null @@ -1,12 +0,0 @@ -################################################################################ -# -# toolchain-external-codesourcery-aarch64 -# -################################################################################ - -TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_SITE = https://sourcery.mentor.com/public/gnu_toolchain/$(TOOLCHAIN_EXTERNAL_PREFIX) -TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_VERSION = 2014.11-95 -TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_SOURCE = aarch64-amd-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX)-i686-pc-linux-gnu.tar.bz2 -TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_ACTUAL_SOURCE_TARBALL = aarch64-amd-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX).src.tar.bz2 - -$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in deleted file mode 100644 index aea2ba34f..000000000 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in +++ /dev/null @@ -1,35 +0,0 @@ -config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM - bool "Sourcery CodeBench ARM 2014.05" - depends on BR2_arm - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on BR2_ARM_EABI - # Unsupported ARM cores - depends on !BR2_cortex_a12 && !BR2_cortex_a17 && !BR2_ARM_CPU_ARMV8A - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_SSP - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_INSTALL_LIBSTDCPP - select BR2_HOSTARCH_NEEDS_IA32_LIBS - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 - help - Sourcery CodeBench toolchain for the ARM architecture, from - Mentor Graphics. It uses gcc 4.8.3, binutils 2.24.51, glibc - 2.18 and gdb 7.7.50, kernel headers 3.13. It has support - for the following variants: - - ARMv5TE, little endian, soft-float, glibc - Select ARM926T, ARM10T, XScale or another ARMv5 core - Select BR2_SOFT_FLOAT - - ARMv4T, little endian, soft-float, glibc - Select ARM720T, ARM920T, ARM922T or another ARMv4 core - Select BR2_SOFT_FLOAT - - ARMv7-A, Thumb 2, little endian, soft-float, glibc - Select Cortex-A8, Cortex-A9 or another ARMv7-A core - Select BR2_SOFT_FLOAT - Set BR2_TARGET_OPTIMIZATION to -mthumb - -comment "Sourcery CodeBench toolchains available for the EABI ABI" - depends on BR2_arm - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 - depends on !BR2_ARM_EABI diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options deleted file mode 100644 index 7f3654dc7..000000000 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options +++ /dev/null @@ -1,9 +0,0 @@ -if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM - -config BR2_TOOLCHAIN_EXTERNAL_PREFIX - default "arm-none-linux-gnueabi" - -config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL - default "toolchain-external-codesourcery-arm" - -endif diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.hash b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.hash deleted file mode 100644 index c01a7b17c..000000000 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally calculated -sha256 39ee0e789034334ecc89af94e838e3a4815400ac5ff980f808f466b04778532e arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -sha256 e16a5b1e41d7ff1e74161f9405182001bc8d1360d89564e73911032e6966cc0d arm-2014.05-29-arm-none-linux-gnueabi.src.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.mk b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.mk deleted file mode 100644 index f15a50c43..000000000 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.mk +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################ -# -# toolchain-external-codesourcery-arm -# -################################################################################ - -TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_VERSION = 2014.05-29 - -TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_SITE = https://sourcery.mentor.com/public/gnu_toolchain/$(TOOLCHAIN_EXTERNAL_PREFIX) -TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_SOURCE = arm-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX)-i686-pc-linux-gnu.tar.bz2 -TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_ACTUAL_SOURCE_TARBALL = arm-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX).src.tar.bz2 - -$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-wrapper.c b/toolchain/toolchain-wrapper.c index f66e588bf..db11cdb6a 100644 --- a/toolchain/toolchain-wrapper.c +++ b/toolchain/toolchain-wrapper.c @@ -134,7 +134,7 @@ static const struct str_len_s unsafe_paths[] = { { NULL, 0 }, }; -/* Unsafe options are options that specify a potentialy unsafe path, +/* Unsafe options are options that specify a potentially unsafe path, * that will be checked by check_unsafe_path(), below. */ static const struct str_len_s unsafe_opts[] = { @@ -310,6 +310,17 @@ int main(int argc, char **argv) perror(__FILE__ ": overflow"); return 3; } + + /* skip all processing --help is specified */ + for (i = 1; i < argc; i++) { + if (!strcmp(argv[i], "--help")) { + argv[0] = path; + if (execv(path, argv)) + perror(path); + return 1; + } + } + #ifdef BR_CCACHE ret = snprintf(ccache_path, sizeof(ccache_path), "%s/bin/ccache", absbasedir); if (ret >= sizeof(ccache_path)) { diff --git a/utils/add-custom-hashes b/utils/add-custom-hashes index 20e48d8ef..017b25b27 100755 --- a/utils/add-custom-hashes +++ b/utils/add-custom-hashes @@ -97,6 +97,14 @@ for file in $BR_NO_CHECK_HASH_FOR; do done done +# Symlink linux-headers to linux if identical +linux_hash="$BR2_GLOBAL_PATCH_DIR/linux/linux.hash" +linux_headers_hash="$BR2_GLOBAL_PATCH_DIR/linux-headers/linux-headers.hash" +if [ -e "$linux_hash" ] && [ -e "$linux_headers_hash" ] \ + && cmp -s "$linux_hash" "$linux_headers_hash"; then + ln -sf ../linux/linux.hash "$linux_headers_hash" +fi + message Verifying hashes make clean diff --git a/utils/check-package b/utils/check-package index de41891b5..8b46a3dc1 100755 --- a/utils/check-package +++ b/utils/check-package @@ -1,5 +1,12 @@ #!/usr/bin/env python3 # See utils/checkpackagelib/readme.txt before editing this file. +# /// script +# requires-python = ">=3.9" +# dependencies = [ +# "flake8", +# "python-magic", +# ] +# /// import argparse import inspect @@ -124,6 +131,7 @@ DO_CHECK_INTREE = re.compile(r"|".join([ DO_NOT_CHECK_INTREE = re.compile(r"|".join([ r"boot/barebox/barebox\.mk$", r"fs/common\.mk$", + r"package/alchemy/atom.mk.in$", r"package/doc-asciidoc\.mk$", r"package/pkg-\S*\.mk$", r"support/dependencies/[^/]+\.mk$", @@ -154,7 +162,7 @@ def get_lib_from_filename(fname): return checkpackagelib.lib_config if fname.endswith(".hash"): return checkpackagelib.lib_hash - if fname.endswith(".mk"): + if fname.endswith(".mk") or fname.endswith(".mk.in"): return checkpackagelib.lib_mk if fname.endswith(".patch"): return checkpackagelib.lib_patch diff --git a/utils/checkpackagelib/lib_config.py b/utils/checkpackagelib/lib_config.py index f26ca0d89..bf975d7a3 100644 --- a/utils/checkpackagelib/lib_config.py +++ b/utils/checkpackagelib/lib_config.py @@ -154,6 +154,7 @@ class CommentsMenusPackagesOrder(_CheckFunction): class HelpText(_CheckFunction): HELP_TEXT_FORMAT = re.compile(r"^\t .{,62}$") + HELP_TEXT_FORMAT_1 = re.compile(r"^\t \S.{,61}$") URL_ONLY = re.compile(r"^(http|https|git)://\S*$") def before(self): @@ -170,12 +171,18 @@ class HelpText(_CheckFunction): return if text.strip() == "help": self.help_text = True + self.help_first_line = True return if not self.help_text: return - if self.HELP_TEXT_FORMAT.match(text.rstrip()): + if self.help_first_line: + help_text_match = self.HELP_TEXT_FORMAT_1 + self.help_first_line = False + else: + help_text_match = self.HELP_TEXT_FORMAT + if help_text_match.match(text.rstrip()): return if self.URL_ONLY.match(text.strip()): return diff --git a/utils/checkpackagelib/lib_mk.py b/utils/checkpackagelib/lib_mk.py index ce2ab5157..5d48e8929 100644 --- a/utils/checkpackagelib/lib_mk.py +++ b/utils/checkpackagelib/lib_mk.py @@ -49,6 +49,18 @@ class Ifdef(_CheckFunction): text] +def get_package_prefix_from_filename(filename): + """Return a tuple (pkgname, PKGNAME) with the package name derived from the file name""" + # Double splitext to support .mk.in + package = os.path.splitext(os.path.splitext(os.path.basename(filename))[0])[0] + # linux tools do not use LINUX_TOOL_ prefix for variables + package = package.replace("linux-tool-", "") + # linux extensions do not use LINUX_EXT_ prefix for variables + package = package.replace("linux-ext-", "") + package_upper = package.replace("-", "_").upper() + return package, package_upper + + class Indent(_CheckFunction): COMMENT = re.compile(r"^\s*#") CONDITIONAL = re.compile(r"^\s*({})\s".format("|".join(start_conditional + end_conditional + continue_conditional))) @@ -207,12 +219,10 @@ class RemoveDefaultPackageSourceVariable(_CheckFunction): packages_that_may_contain_default_source = ["binutils", "gcc", "gdb"] def before(self): - package, _ = os.path.splitext(os.path.basename(self.filename)) - package_upper = package.replace("-", "_").upper() - self.package = package + self.package, package_upper = get_package_prefix_from_filename(self.filename) self.FIND_SOURCE = re.compile( r"^{}_SOURCE\s*=\s*{}-\$\({}_VERSION\)\.tar\.gz" - .format(package_upper, package, package_upper)) + .format(package_upper, self.package, package_upper)) def check_line(self, lineno, text): if self.FIND_SOURCE.search(text): @@ -282,16 +292,10 @@ class TypoInPackageVariable(_CheckFunction): VARIABLE = re.compile(r"^(define\s+)?([A-Z0-9_]+_[A-Z0-9_]+)") def before(self): - package, _ = os.path.splitext(os.path.basename(self.filename)) - package = package.replace("-", "_").upper() - # linux tools do not use LINUX_TOOL_ prefix for variables - package = package.replace("LINUX_TOOL_", "") - # linux extensions do not use LINUX_EXT_ prefix for variables - package = package.replace("LINUX_EXT_", "") - self.package = package - self.REGEX = re.compile(r"(HOST_|ROOTFS_)?({}_[A-Z0-9_]+)".format(package)) + _, self.package = get_package_prefix_from_filename(self.filename) + self.REGEX = re.compile(r"(HOST_|ROOTFS_)?({}_[A-Z0-9_]+)".format(self.package)) self.FIND_VIRTUAL = re.compile( - r"^{}_PROVIDES\s*(\+|)=\s*(.*)".format(package)) + r"^{}_PROVIDES\s*(\+|)=\s*(.*)".format(self.package)) self.virtual = [] def check_line(self, lineno, text): @@ -312,9 +316,9 @@ class TypoInPackageVariable(_CheckFunction): if self.ALLOWED.match(variable): return - if self.REGEX.search(text) is None: - return ["{}:{}: possible typo: {} -> *{}*" - .format(self.filename, lineno, variable, self.package), + if self.REGEX.search(variable) is None: + return ["{}:{}: possible typo, variable not properly prefixed: {} -> *{}_XXXX* ({}#_tips_and_tricks)" + .format(self.filename, lineno, variable, self.package, self.url_to_manual), text] @@ -324,7 +328,7 @@ class UselessFlag(_CheckFunction): r"_LIBTOOL_PATCH\s*=\s*YES"]))) DEFAULT_GENERIC_FLAG = re.compile(r"^.*{}".format("|".join([ r"_INSTALL_IMAGES\s*=\s*NO", - r"_INSTALL_REDISTRIBUTE\s*=\s*YES", + r"_REDISTRIBUTE\s*=\s*YES", r"_INSTALL_STAGING\s*=\s*NO", r"_INSTALL_TARGET\s*=\s*YES"]))) END_CONDITIONAL = re.compile(r"^\s*({})".format("|".join(end_conditional))) diff --git a/utils/checkpackagelib/lib_patch.py b/utils/checkpackagelib/lib_patch.py index 1909d3acd..b01d28a7e 100644 --- a/utils/checkpackagelib/lib_patch.py +++ b/utils/checkpackagelib/lib_patch.py @@ -62,6 +62,7 @@ class Sob(_CheckFunction): "({}#_format_and_licensing_of_the_package_patches)" .format(self.filename, self.url_to_manual)] + class Upstream(_CheckFunction): UPSTREAM_ENTRY = re.compile(r"^Upstream: .*$") diff --git a/utils/checkpackagelib/test_lib_mk.py b/utils/checkpackagelib/test_lib_mk.py index 2086237eb..c86c55b9c 100644 --- a/utils/checkpackagelib/test_lib_mk.py +++ b/utils/checkpackagelib/test_lib_mk.py @@ -74,6 +74,40 @@ def test_Ifdef(testname, filename, string, expected): assert warnings == expected +get_package_prefix_from_filename = [ + ('linux extension', + 'linux/linux-ext-aufs.mk', + ['aufs', 'AUFS']), + ('linux tool', + 'package/linux-tools/linux-tool-gpio.mk.in', + ['gpio', 'GPIO']), + ('boot', + 'boot/binaries-marvell/binaries-marvell.mk', + ['binaries-marvell', 'BINARIES_MARVELL']), + ('toolchain', + 'toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.mk', + ['toolchain-external-bootlin', 'TOOLCHAIN_EXTERNAL_BOOTLIN']), + ('package, underscore, subfolder', + 'package/x11r7/xapp_bitmap/xapp_bitmap.mk', + ['xapp_bitmap', 'XAPP_BITMAP']), + ('package, starting with number', + 'package/4th/4th.mk', + ['4th', '4TH']), + ('package, long name', + 'package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk', + ['perl-mojolicious-plugin-authentication', 'PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION']), + ('package, case sensitive', + 'package/libeXosip2/libeXosip2.mk', + ['libeXosip2', 'LIBEXOSIP2']), + ] + + +@pytest.mark.parametrize('testname,filename,expected', get_package_prefix_from_filename) +def test_get_package_prefix_from_filename(testname, filename, expected): + prefix_lower, prefix_upper = m.get_package_prefix_from_filename(filename) + assert [prefix_lower, prefix_upper] == expected + + Indent = [ ('ignore comment at beginning of line', 'any', @@ -512,27 +546,27 @@ TypoInPackageVariable = [ ('bad =', 'any.mk', 'OTHER_VAR = \n', - [['any.mk:1: possible typo: OTHER_VAR -> *ANY*', + [['any.mk:1: possible typo, variable not properly prefixed: OTHER_VAR -> *ANY_XXXX* (url#_tips_and_tricks)', 'OTHER_VAR = \n']]), ('bad +=', 'any.mk', 'OTHER_VAR += \n', - [['any.mk:1: possible typo: OTHER_VAR -> *ANY*', + [['any.mk:1: possible typo, variable not properly prefixed: OTHER_VAR -> *ANY_XXXX* (url#_tips_and_tricks)', 'OTHER_VAR += \n']]), ('ignore missing space', 'any.mk', 'OTHER_VAR= \n', - [['any.mk:1: possible typo: OTHER_VAR -> *ANY*', + [['any.mk:1: possible typo, variable not properly prefixed: OTHER_VAR -> *ANY_XXXX* (url#_tips_and_tricks)', 'OTHER_VAR= \n']]), ('use path in the warning', './any.mk', 'OTHER_VAR = \n', - [['./any.mk:1: possible typo: OTHER_VAR -> *ANY*', + [['./any.mk:1: possible typo, variable not properly prefixed: OTHER_VAR -> *ANY_XXXX* (url#_tips_and_tricks)', 'OTHER_VAR = \n']]), ('another name', 'other.mk', 'ANY_VAR = \n', - [['other.mk:1: possible typo: ANY_VAR -> *OTHER*', + [['other.mk:1: possible typo, variable not properly prefixed: ANY_VAR -> *OTHER_XXXX* (url#_tips_and_tricks)', 'ANY_VAR = \n']]), ('libc exception', './any.mk', @@ -549,7 +583,7 @@ TypoInPackageVariable = [ ('host (bad)', 'any.mk', 'HOST_OTHER_VAR = \n', - [['any.mk:1: possible typo: HOST_OTHER_VAR -> *ANY*', + [['any.mk:1: possible typo, variable not properly prefixed: HOST_OTHER_VAR -> *ANY_XXXX* (url#_tips_and_tricks)', 'HOST_OTHER_VAR = \n']]), ('provides', 'any.mk', @@ -565,8 +599,15 @@ TypoInPackageVariable = [ 'any.mk', 'ANY_PROVIDES = other\n' 'OTHERS_VAR = \n', - [['any.mk:2: possible typo: OTHERS_VAR -> *ANY*', + [['any.mk:2: possible typo, variable not properly prefixed: OTHERS_VAR -> *ANY_XXXX* (url#_tips_and_tricks)', 'OTHERS_VAR = \n']]), + ('linux tool', + 'package/linux-tools/linux-tool-cpupower.mk.in', + 'CPUPOWER_DEPENDENCIES =\n' + 'POWER_DEPENDENCIES +=\n', + [['package/linux-tools/linux-tool-cpupower.mk.in:2: possible typo, variable not properly prefixed: ' + 'POWER_DEPENDENCIES -> *CPUPOWER_XXXX* (url#_tips_and_tricks)', + 'POWER_DEPENDENCIES +=\n']]), ] @@ -602,13 +643,13 @@ UselessFlag = [ ('generic', 'any.mk', 'ANY_INSTALL_IMAGES = NO\n' - 'ANY_INSTALL_REDISTRIBUTE = YES\n' + 'ANY_REDISTRIBUTE = YES\n' 'ANY_INSTALL_STAGING = NO\n' 'ANY_INSTALL_TARGET = YES\n', [['any.mk:1: useless default value (url#_infrastructure_for_packages_with_specific_build_systems)', 'ANY_INSTALL_IMAGES = NO\n'], ['any.mk:2: useless default value (url#_infrastructure_for_packages_with_specific_build_systems)', - 'ANY_INSTALL_REDISTRIBUTE = YES\n'], + 'ANY_REDISTRIBUTE = YES\n'], ['any.mk:3: useless default value (url#_infrastructure_for_packages_with_specific_build_systems)', 'ANY_INSTALL_STAGING = NO\n'], ['any.mk:4: useless default value (url#_infrastructure_for_packages_with_specific_build_systems)', @@ -618,9 +659,9 @@ UselessFlag = [ 'ifneq (condition)\n' 'ANY_INSTALL_IMAGES = NO\n' 'endif\n' - 'ANY_INSTALL_REDISTRIBUTE = YES\n', + 'ANY_REDISTRIBUTE = YES\n', [['any.mk:4: useless default value (url#_infrastructure_for_packages_with_specific_build_systems)', - 'ANY_INSTALL_REDISTRIBUTE = YES\n']]), + 'ANY_REDISTRIBUTE = YES\n']]), ] diff --git a/utils/config b/utils/config index 5f5e4362e..dfaaf46cd 100755 --- a/utils/config +++ b/utils/config @@ -30,7 +30,7 @@ commands: options: --file config-file .config file to change (default .config) - --keep-case|-k Keep next symbols' case (dont' upper-case it) + --keep-case|-k Keep next symbols' case (don't upper-case it) --package|-p Operate on package (set prefix to BR2_PACKAGE_) $myname doesn't check the validity of the .config file. This is done at next diff --git a/utils/docker-run b/utils/docker-run index 79694474c..92a77376e 100755 --- a/utils/docker-run +++ b/utils/docker-run @@ -63,7 +63,7 @@ if [ "${GIT_DIR}" ]; then # 'repo' stores .git/objects separately. if [ -L "${GIT_DIR}/objects" ]; then - # GITDIR is already an absolute path, but for symetry + # GITDIR is already an absolute path, but for symmetry # with the above, keep the same cd+readlink construct. OBJECTS_DIR="$(cd "${MAIN_DIR}"; readlink -e "${GIT_DIR}/objects")" mountpoints+=( "${OBJECTS_DIR}" ) diff --git a/utils/genrandconfig b/utils/genrandconfig index 5ebec415b..514434bc0 100755 --- a/utils/genrandconfig +++ b/utils/genrandconfig @@ -20,18 +20,10 @@ from binascii import hexlify import asyncio -import csv import os from random import randint import sys import traceback -from distutils.version import StrictVersion -import platform - -if sys.version_info < (3, 8): - from asyncio import coroutine -else: - from types import coroutine class SystemInfo: @@ -60,8 +52,7 @@ class SystemInfo: # -- return None - @coroutine - def has(self, prog): + async def has(self, prog): """Checks whether a program is available. Lazily evaluates missing entries. @@ -76,11 +67,11 @@ class SystemInfo: have_it = self.find_prog(prog) # java[c] needs special care if have_it and prog in ('java', 'javac'): - proc = yield from asyncio.create_subprocess_shell( + proc = await asyncio.create_subprocess_shell( "%s -version | grep gcj" % prog, stdout=asyncio.subprocess.DEVNULL, stderr=asyncio.subprocess.DEVNULL) - ret = yield from proc.wait() + ret = await proc.wait() if ret != 1: have_it = False # -- @@ -108,93 +99,7 @@ class SystemInfo: return not missing_requirements -def get_toolchain_configs(toolchains_csv, buildrootdir): - """Fetch and return the possible toolchain configurations - - This function returns an array of toolchain configurations. Each - toolchain configuration is itself an array of lines of the defconfig. - """ - - with open(toolchains_csv) as r: - # filter empty lines and comments - lines = [t for t in r.readlines() if len(t.strip()) > 0 and t[0] != '#'] - toolchains = lines - configs = [] - - (_, _, _, _, hostarch) = os.uname() - # ~2015 distros report x86 when on a 32bit install - if hostarch == 'i686' or hostarch == 'i386' or hostarch == 'x86': - hostarch = 'x86' - - for row in csv.reader(toolchains): - config = {} - configfile = row[0] - config_hostarch = row[1] - keep = False - - # Keep all toolchain configs that work regardless of the host - # architecture - if config_hostarch == "any": - keep = True - - # Keep all toolchain configs that can work on the current host - # architecture - if hostarch == config_hostarch: - keep = True - - # Assume that x86 32 bits toolchains work on x86_64 build - # machines - if hostarch == 'x86_64' and config_hostarch == "x86": - keep = True - - if not keep: - continue - - if not os.path.isabs(configfile): - configfile = os.path.join(buildrootdir, configfile) - - with open(configfile) as r: - config = r.readlines() - configs.append(config) - return configs - - -@coroutine -def is_toolchain_usable(configfile, config): - """Check if the toolchain is actually usable.""" - - with open(configfile) as configf: - configlines = configf.readlines() - - # Check that the toolchain configuration is still present - for toolchainline in config: - if toolchainline not in configlines: - print("WARN: toolchain can't be used", file=sys.stderr) - print(" Missing: %s" % toolchainline.strip(), file=sys.stderr) - return False - - # The latest Linaro toolchains on x86-64 hosts requires glibc - # 2.14+ on the host. - if platform.machine() == 'x86_64': - if 'BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM=y\n' in configlines or \ - 'BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64=y\n' in configlines or \ - 'BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE=y\n' in configlines or \ - 'BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB=y\n' in configlines: - proc = yield from asyncio.create_subprocess_exec( - 'ldd', '--version', stdout=asyncio.subprocess.PIPE) - ldd_version_output, _ = yield from proc.communicate() - if proc.returncode: - return False - glibc_version = ldd_version_output.decode().splitlines()[0].split()[-1] - if StrictVersion('2.14') > StrictVersion(glibc_version): - print("WARN: ignoring the Linaro ARM toolchains because too old host glibc", file=sys.stderr) - return False - - return True - - -@coroutine -def fixup_config(sysinfo, configfile): +async def fixup_config(sysinfo, configfile): """Finalize the configuration and reject any problematic combinations This function returns 'True' when the configuration has been @@ -208,43 +113,7 @@ def fixup_config(sysinfo, configfile): ROOTFS_SIZE = '5G' - BR2_TOOLCHAIN_EXTERNAL_URL = 'BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/' - - has_java = yield from sysinfo.has("java") - if "BR2_NEEDS_HOST_JAVA=y\n" in configlines and not has_java: - return False - # The ctng toolchain is affected by PR58854 - if 'BR2_PACKAGE_LTTNG_TOOLS=y\n' in configlines and \ - BR2_TOOLCHAIN_EXTERNAL_URL + 'armv5-ctng-linux-gnueabi.tar.xz"\n' in configlines: - return False - # The ctng toolchain tigger an assembler error with guile package when compiled with -Os (same issue as for CS ARM 2014.05-29) - if 'BR2_PACKAGE_GUILE=y\n' in configlines and \ - 'BR2_OPTIMIZE_S=y\n' in configlines and \ - BR2_TOOLCHAIN_EXTERNAL_URL + 'armv5-ctng-linux-gnueabi.tar.xz"\n' in configlines: - return False - # The ctng toolchain is affected by PR58854 - if 'BR2_PACKAGE_LTTNG_TOOLS=y\n' in configlines and \ - BR2_TOOLCHAIN_EXTERNAL_URL + 'armv6-ctng-linux-uclibcgnueabi.tar.xz"\n' in configlines: - return False - # The ctng toolchain is affected by PR58854 - if 'BR2_PACKAGE_LTTNG_TOOLS=y\n' in configlines and \ - BR2_TOOLCHAIN_EXTERNAL_URL + 'armv7-ctng-linux-gnueabihf.tar.xz"\n' in configlines: - return False - # The ctng toolchain is affected by PR60155 - if 'BR2_PACKAGE_SDL=y\n' in configlines and \ - BR2_TOOLCHAIN_EXTERNAL_URL + 'powerpc-ctng-linux-uclibc.tar.xz"\n' in configlines: - return False - # The ctng toolchain is affected by PR60155 - if 'BR2_PACKAGE_LIBMPEG2=y\n' in configlines and \ - BR2_TOOLCHAIN_EXTERNAL_URL + 'powerpc-ctng-linux-uclibc.tar.xz"\n' in configlines: - return False - # This MIPS toolchain uses eglibc-2.18 which lacks SYS_getdents64 - if 'BR2_PACKAGE_STRONGSWAN=y\n' in configlines and \ - BR2_TOOLCHAIN_EXTERNAL_URL + 'mips64el-ctng_n64-linux-gnu.tar.xz"\n' in configlines: - return False - # This MIPS toolchain uses eglibc-2.18 which lacks SYS_getdents64 - if 'BR2_PACKAGE_PYTHON3=y\n' in configlines and \ - BR2_TOOLCHAIN_EXTERNAL_URL + 'mips64el-ctng_n64-linux-gnu.tar.xz"\n' in configlines: + if "BR2_NEEDS_HOST_JAVA=y\n" in configlines and not await sysinfo.has("java"): return False # libffi not available on ARMv7-M, but propagating libffi arch # dependencies in Buildroot is really too much work, so we handle @@ -260,59 +129,13 @@ def fixup_config(sysinfo, configfile): if 'BR2_PACKAGE_SUNXI_BOARDS=y\n' in configlines: configlines.remove('BR2_PACKAGE_SUNXI_BOARDS_FEX_FILE=""\n') configlines.append('BR2_PACKAGE_SUNXI_BOARDS_FEX_FILE="a10/hackberry.fex"\n') - # This MIPS uClibc toolchain fails to build the gdb package - if 'BR2_PACKAGE_GDB=y\n' in configlines and \ - BR2_TOOLCHAIN_EXTERNAL_URL + 'mipsel-ctng-linux-uclibc.tar.xz"\n' in configlines: - return False - # This MIPS uClibc toolchain fails to build the rt-tests package - if 'BR2_PACKAGE_RT_TESTS=y\n' in configlines and \ - BR2_TOOLCHAIN_EXTERNAL_URL + 'mipsel-ctng-linux-uclibc.tar.xz"\n' in configlines: - return False - # This MIPS uClibc toolchain fails to build the civetweb package - if 'BR2_PACKAGE_CIVETWEB=y\n' in configlines and \ - BR2_TOOLCHAIN_EXTERNAL_URL + 'mipsel-ctng-linux-uclibc.tar.xz"\n' in configlines: - return False - # This MIPS ctng toolchain fails to build the python3 package - if 'BR2_PACKAGE_PYTHON3=y\n' in configlines and \ - BR2_TOOLCHAIN_EXTERNAL_URL + 'mips64el-ctng_n64-linux-gnu.tar.xz"\n' in configlines: - return False - # This MIPS uClibc toolchain fails to build the strace package - if 'BR2_PACKAGE_STRACE=y\n' in configlines and \ - BR2_TOOLCHAIN_EXTERNAL_URL + 'mipsel-ctng-linux-uclibc.tar.xz"\n' in configlines: - return False - # This MIPS uClibc toolchain fails to build the cdrkit package - if 'BR2_PACKAGE_CDRKIT=y\n' in configlines and \ - 'BR2_STATIC_LIBS=y\n' in configlines and \ - BR2_TOOLCHAIN_EXTERNAL_URL + 'mipsel-ctng-linux-uclibc.tar.xz"\n' in configlines: - return False - # uClibc vfork static linking issue - if 'BR2_PACKAGE_ALSA_LIB=y\n' in configlines and \ - 'BR2_STATIC_LIBS=y\n' in configlines and \ - BR2_TOOLCHAIN_EXTERNAL_URL + 'i486-ctng-linux-uclibc.tar.xz"\n' in configlines: - return False - # This MIPS uClibc toolchain fails to build the weston package - if 'BR2_PACKAGE_WESTON=y\n' in configlines and \ - BR2_TOOLCHAIN_EXTERNAL_URL + 'mipsel-ctng-linux-uclibc.tar.xz"\n' in configlines: - return False - # The cs nios2 2017.02 toolchain is affected by binutils PR19405 - if 'BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII=y\n' in configlines and \ - 'BR2_PACKAGE_BOOST=y\n' in configlines: - return False - # The cs nios2 2017.02 toolchain is affected by binutils PR19405 - if 'BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII=y\n' in configlines and \ - 'BR2_PACKAGE_QT5BASE_GUI=y\n' in configlines: - return False - # The cs nios2 2017.02 toolchain is affected by binutils PR19405 - if 'BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII=y\n' in configlines and \ - 'BR2_PACKAGE_FLANN=y\n' in configlines: - return False # No C library for internal toolchain - if 'BR2_TOOLCHAIN_BUILDROOT_NONE=y' in configlines: + if 'BR2_TOOLCHAIN_BUILDROOT_NONE=y\n' in configlines: return False # Xtensa custom cores require an overlay file with internal # toolchains - if 'BR2_XTENSA_CUSTOM=y' in configlines and \ - 'BR2_TOOLCHAIN_BUILDROOT=y' in configlines: + if 'BR2_XTENSA_CUSTOM=y\n' in configlines and \ + 'BR2_TOOLCHAIN_BUILDROOT=y\n' in configlines: return False if 'BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y\n' in configlines: @@ -418,6 +241,10 @@ def fixup_config(sysinfo, configfile): configlines.remove('BR2_LINUX_KERNEL_SIMPLEIMAGE=y\n') configlines.append('BR2_LINUX_KERNEL_VMLINUX=y\n') + if 'BR2_LINUX_KERNEL=y\n' in configlines and \ + 'BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y\n' in configlines: + configlines.remove('BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y') + if 'BR2_LINUX_KERNEL_EXT_AUFS=y\n' in configlines and \ 'BR2_LINUX_KERNEL_EXT_AUFS_VERSION=""\n' in configlines: configlines.remove('BR2_LINUX_KERNEL_EXT_AUFS=y\n') @@ -681,136 +508,113 @@ def fixup_config(sysinfo, configfile): return True -@coroutine -def gen_config(args): +async def gen_config(args): """Generate a new random configuration - - This function generates the configuration, by choosing a random - toolchain configuration and then generating a random selection of - packages. """ sysinfo = SystemInfo() - if args.toolchains_csv: - # Select a random toolchain configuration - configs = get_toolchain_configs(args.toolchains_csv, args.buildrootdir) - - i = randint(0, len(configs) - 1) - toolchainconfig = configs[i] - else: - toolchainconfig = [] - - configlines = list(toolchainconfig) - - # Combine with the minimal configuration - minimalconfigfile = os.path.join(args.buildrootdir, - 'support/config-fragments/minimal.config') - with open(minimalconfigfile) as minimalf: - configlines += minimalf.readlines() - - # Allow hosts with old certificates to download over https - configlines.append("BR2_WGET=\"wget --passive-ftp -nd -t 3 --no-check-certificate\"\n") - - # Per-package folder - if randint(0, 15) == 0: - configlines.append("BR2_PER_PACKAGE_DIRECTORIES=y\n") - - # Amend the configuration with a few things. - if randint(0, 20) == 0: - configlines.append("BR2_ENABLE_DEBUG=y\n") - if randint(0, 20) == 0: - configlines.append("BR2_ENABLE_RUNTIME_DEBUG=y\n") - if randint(0, 1) == 0: - configlines.append("BR2_INIT_BUSYBOX=y\n") - elif randint(0, 15) == 0: - configlines.append("BR2_INIT_SYSTEMD=y\n") - elif randint(0, 10) == 0: - configlines.append("BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y\n") - if randint(0, 20) == 0: - configlines.append("BR2_STATIC_LIBS=y\n") - if randint(0, 20) == 0: - configlines.append("BR2_PACKAGE_PYTHON3_PY_ONLY=y\n") - if randint(0, 5) == 0: - configlines.append("BR2_OPTIMIZE_2=y\n") - if randint(0, 4) == 0: - configlines.append("BR2_SYSTEM_ENABLE_NLS=y\n") - if randint(0, 4) == 0: - configlines.append("BR2_FORTIFY_SOURCE_2=y\n") - - # Randomly enable BR2_REPRODUCIBLE 10% of times - # also enable tar filesystem images for testing - has_diffoscope = yield from sysinfo.has("diffoscope") - if has_diffoscope and randint(0, 10) == 0: - configlines.append("BR2_REPRODUCIBLE=y\n") - configlines.append("BR2_TARGET_ROOTFS_TAR=y\n") - - # Write out the configuration file + # Create output directory if not os.path.exists(args.outputdir): os.makedirs(args.outputdir) + + # Calculate path to config file if args.outputdir == os.path.abspath(os.path.join(args.buildrootdir, "output")): configfile = os.path.join(args.buildrootdir, ".config") else: configfile = os.path.join(args.outputdir, ".config") - with open(configfile, "w+") as configf: - configf.writelines(configlines) - - proc = yield from asyncio.create_subprocess_exec( - "make", "O=%s" % args.outputdir, "-C", args.buildrootdir, "olddefconfig") - ret = yield from proc.wait() - if ret: - return ret - - toolchain_usable = yield from is_toolchain_usable(configfile, toolchainconfig) - if not toolchain_usable: - return 2 # Now, generate the random selection of packages, and fixup # things if needed. # Safe-guard, in case we can not quickly come to a valid # configuration: allow at most 100 (arbitrary) iterations. - bounded_loop = 100 + loop = 0 while True: - if bounded_loop == 0: + if loop == 100: print("ERROR: cannot generate random configuration after 100 iterations", file=sys.stderr) return 1 - bounded_loop -= 1 - make_rand = [ + print("Generating configuration, loop %d" % loop) + loop += 1 + proc = await asyncio.create_subprocess_exec( "make", "O=%s" % args.outputdir, "-C", args.buildrootdir, "KCONFIG_SEED=0x%s" % hexlify(os.urandom(4)).decode("ascii").upper(), - "KCONFIG_PROBABILITY=%d" % randint(1, 20), - "randpackageconfig" if args.toolchains_csv else "randconfig" - ] - proc = yield from asyncio.create_subprocess_exec(*make_rand) - ret = yield from proc.wait() + "KCONFIG_PROBABILITY=%d" % args.probability, + "randconfig", + stdout=asyncio.subprocess.DEVNULL, + stderr=asyncio.subprocess.DEVNULL) + ret = await proc.wait() if ret: return ret - ret = yield from fixup_config(sysinfo, configfile) - if ret: + if await fixup_config(sysinfo, configfile): + print(" configuration valid") break - proc = yield from asyncio.create_subprocess_exec( - "make", "O=%s" % args.outputdir, "-C", args.buildrootdir, "olddefconfig") - ret = yield from proc.wait() + configlines = list() + + # Allow hosts with old certificates to download over https + configlines.append("BR2_WGET=\"wget -nd -t 3 --no-check-certificate\"\n") + configlines.append("BR2_CURL=\"curl --ftp-pasv --retry 3 --insecure\"\n") + + # Randomly enable BR2_REPRODUCIBLE 10% of times + # also enable tar filesystem images for testing + if await sysinfo.has("diffoscope") and randint(0, 10) == 0: + configlines.append("BR2_REPRODUCIBLE=y\n") + configlines.append("BR2_TARGET_ROOTFS_TAR=y\n") + + # From time to time, ignore sources.buildroot.net to really fetch + # from upstream + if randint(0, 1) == 0: + configlines.append("""BR2_BACKUP_SITE=""\n""") + + with open(configfile, "a") as configf: + configf.writelines(configlines) + + print(" olddefconfig") + proc = await asyncio.create_subprocess_exec( + "make", "O=%s" % args.outputdir, "-C", args.buildrootdir, "olddefconfig", + stdout=asyncio.subprocess.DEVNULL, + stderr=asyncio.subprocess.DEVNULL) + ret = await proc.wait() if ret: return ret - proc = yield from asyncio.create_subprocess_exec( - "make", "O=%s" % args.outputdir, "-C", args.buildrootdir, "savedefconfig") - ret = yield from proc.wait() + print(" savedefconfig") + proc = await asyncio.create_subprocess_exec( + "make", "O=%s" % args.outputdir, "-C", args.buildrootdir, "savedefconfig", + stdout=asyncio.subprocess.DEVNULL, + stderr=asyncio.subprocess.DEVNULL) + + ret = await proc.wait() if ret: return ret - proc = yield from asyncio.create_subprocess_exec( - "make", "O=%s" % args.outputdir, "-C", args.buildrootdir, "dependencies") - ret = yield from proc.wait() - return ret + print(" dependencies") + proc = await asyncio.create_subprocess_exec( + "make", "O=%s" % args.outputdir, "-C", args.buildrootdir, "dependencies", + stdout=asyncio.subprocess.DEVNULL, + stderr=asyncio.subprocess.DEVNULL) + return await proc.wait() if __name__ == '__main__': import argparse + + class Range(argparse.Action): + def __init__(self, minimum=None, maximum=None, *args, **kwargs): + self.min = minimum + self.max = maximum + kwargs["metavar"] = "[%d-%d]" % (self.min, self.max) + super(Range, self).__init__(*args, **kwargs) + + def __call__(self, parser, namespace, value, option_string=None): + if not (self.min <= value <= self.max): + msg = 'invalid choice: %r (choose from [%d-%d])' % \ + (value, self.min, self.max) + raise argparse.ArgumentError(self, msg) + setattr(namespace, self.dest, value) + parser = argparse.ArgumentParser(description="Generate a random configuration") parser.add_argument("--outputdir", "-o", help="Output directory (relative to current directory)", @@ -818,17 +622,12 @@ if __name__ == '__main__': parser.add_argument("--buildrootdir", "-b", help="Buildroot directory (relative to current directory)", type=str, default='.') - - toolchains_csv = parser.add_mutually_exclusive_group(required=False) - toolchains_csv.add_argument("--toolchains-csv", - dest="toolchains_csv", - help="Path of the toolchain configuration file", - type=str) - toolchains_csv.add_argument("--no-toolchains-csv", - dest="toolchains_csv", - help="Generate random toolchain configuration", - action='store_false') - parser.set_defaults(toolchains_csv="support/config-fragments/autobuild/toolchain-configs.csv") + parser.add_argument("--probability", "-p", + help="Override the KCONFIG_PROBABILITY value", + type=int, action=Range, minimum=0, maximum=100, + default=randint(1, 20)) + parser.add_argument("--toolchains-csv", help="Legacy, unused", type=str) + parser.add_argument("--no-toolchains-csv", help="Legacy, unused", type=bool) args = parser.parse_args() diff --git a/utils/get-developers b/utils/get-developers index 9ab5c4503..83c573bf2 100755 --- a/utils/get-developers +++ b/utils/get-developers @@ -5,7 +5,7 @@ import getdeveloperlib import sys -def parse_args(): +def __main__(): parser = argparse.ArgumentParser() parser.add_argument('patches', metavar='P', type=argparse.FileType('r'), nargs='*', help='list of patches (use - to read patches from stdin)') @@ -17,17 +17,15 @@ def parse_args(): help='find developers in charge of these files') parser.add_argument('-c', dest='check', action='store_const', const=True, help='list files not handled by any developer') + parser.add_argument('--cc', action="store_true", + help='list affected developers as CC: lines ready to be pasted in a commit log') parser.add_argument('-e', dest='email', action='store_const', const=True, help='only list affected developer email addresses') parser.add_argument('-v', dest='validate', action='store_const', const=True, help='validate syntax of DEVELOPERS file') parser.add_argument('-d', dest='filename', action='store', default=None, help='override the default DEVELOPERS file (for debug)') - return parser.parse_args() - - -def __main__(): - args = parse_args() + args = parser.parse_args() # Check that only one action is given action = 0 @@ -44,11 +42,11 @@ def __main__(): if len(args.patches) != 0: action += 1 if action > 1: - print("Cannot do more than one action") - return + parser.error("Cannot do more than one action") if action == 0: - print("No action specified") - return + if sys.stdin.isatty(): + parser.error("No action specified") + args.patches.append(sys.stdin) devs = getdeveloperlib.parse_developers(args.filename) if devs is None: @@ -102,9 +100,10 @@ def __main__(): if i in dev.infras: matching_devs.add(dev.name) - if args.email: + matching_devs = sorted(matching_devs) + if args.email or args.cc: for dev in matching_devs: - print(dev) + print(f"{'Cc: ' if args.cc else ''}{dev}") else: result = "--to buildroot@buildroot.org" for dev in matching_devs: diff --git a/utils/getdeveloperlib.py b/utils/getdeveloperlib.py index 469360b80..b5e7b89e7 100644 --- a/utils/getdeveloperlib.py +++ b/utils/getdeveloperlib.py @@ -85,7 +85,7 @@ def get_all_test_cases(suite): def list_unittests(): - """Use the unittest module to retreive all test cases from a given + """Use the unittest module to retrieve all test cases from a given directory""" loader = unittest.TestLoader() suite = loader.discover(os.path.join(brpath, "support", "testing")) diff --git a/utils/readme.txt b/utils/readme.txt index 6488d13c7..b5862f1fb 100644 --- a/utils/readme.txt +++ b/utils/readme.txt @@ -14,7 +14,7 @@ brmake check-package a script that checks the coding style across the buildroot tree. It checks package's Config.in and .mk files, runs shellcheck for all shell - scripts, flake8 for python files, checks for typoes, etc. + scripts, flake8 for python files, checks for typos, etc. It checks the .checkpackageignore file if errors should be ignored and errors if there's a file listed that doesn't produce an error. diff --git a/utils/scanpypi b/utils/scanpypi index 5a5855014..8765a9832 100755 --- a/utils/scanpypi +++ b/utils/scanpypi @@ -292,7 +292,7 @@ class BuildrootPackage(): def extract_package(self, tmp_path): """ - Extract the package contents into a directrory + Extract the package content into a directory Keyword arguments: tmp_path -- directory where you want the package to be extracted @@ -440,7 +440,7 @@ class BuildrootPackage(): def __create_mk_download_info(self): """ - Create the lines refering to the download information of the + Create the lines referring to the download information of the .mk file """ lines = [] @@ -471,7 +471,7 @@ class BuildrootPackage(): def __create_mk_setup(self): """ - Create the line refering to the setup method of the package of the + Create the line referring to the setup method of the package of the .mk file There are two things you can use to make an installer @@ -556,7 +556,7 @@ class BuildrootPackage(): def __create_mk_license(self): """ - Create the lines referring to the package's license informations of the + Create the lines referring to the package's license information of the .mk file The license's files are found by searching the package (case insensitive) @@ -755,7 +755,7 @@ def main(): continue if package.metadata_name.lower() == 'setuptools': # setuptools imports itself, that does not work very well - # with the monkey path at the begining + # with the monkey path at the beginning print('Error: setuptools cannot be built using scanPyPI') continue @@ -827,7 +827,7 @@ def main(): print("NOTE: Remember to also make an update to the DEVELOPERS file") print(" and include an entry for the pkg in packages/Config.in") print() - # printing an empty line for visual confort + # printing an empty line for visual comfort finally: shutil.rmtree(tmp_path) -- Gitee From e3b6004752579c9270c9377dfddca1f5ff2bf654 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Fri, 28 Feb 2025 15:08:26 +0800 Subject: [PATCH 09/31] README: add libncurses5-dev to the host system environment Signed-off-by: weishanshan1084 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a7ced453e..d716a89a3 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Buildroot涉及了rootfs、make、Kconfig、Linux command、Shell scripts、U-Bo ``` $ sudo apt update $ sudo apt install debianutils sed make binutils build-essential gcc \ -g++ bash patch gzip bzip2 perl tar cpio unzip rsync file bc wget git \ +g++ bash patch gzip bzip2 perl tar cpio unzip rsync file bc wget git libncurses5-dev \ debootstrap qemu-user-static binfmt-support debian-archive-keyring ``` 对于Debian12主机系统,还需要: -- Gitee From d981e520f78bb99b63155292b30401da3ed1f9cd Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Wed, 30 Oct 2024 19:44:48 +0800 Subject: [PATCH 10/31] enlarge the file system size to 12GB Signed-off-by: weishanshan1084 --- board/phytium/genimage-6.6.cfg | 2 +- configs/phytium_debian_defconfig | 2 +- configs/phytium_ubuntu_defconfig | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/board/phytium/genimage-6.6.cfg b/board/phytium/genimage-6.6.cfg index 6ceec5585..b506612fb 100644 --- a/board/phytium/genimage-6.6.cfg +++ b/board/phytium/genimage-6.6.cfg @@ -44,6 +44,6 @@ image disk.img { partition-type-uuid = 0FC63DAF-8483-4772-8E79-3D69D8477DE4 partition-uuid = "0a52c129-7e0f-43ad-989f-d96b07ccdbb2" image = "rootfs.ext2" - size = 11G + size = 13G } } diff --git a/configs/phytium_debian_defconfig b/configs/phytium_debian_defconfig index e9c0034a6..4686369e1 100644 --- a/configs/phytium_debian_defconfig +++ b/configs/phytium_debian_defconfig @@ -6,7 +6,7 @@ BR2_cortex_a53=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_TAR_XZ=y -BR2_TARGET_ROOTFS_EXT2_SIZE="10G" +BR2_TARGET_ROOTFS_EXT2_SIZE="12G" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/phytium/post-image.sh support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/phytium/genimage-6.6.cfg" diff --git a/configs/phytium_ubuntu_defconfig b/configs/phytium_ubuntu_defconfig index 13858498c..7b566f697 100644 --- a/configs/phytium_ubuntu_defconfig +++ b/configs/phytium_ubuntu_defconfig @@ -6,7 +6,7 @@ BR2_cortex_a53=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_TAR_XZ=y -BR2_TARGET_ROOTFS_EXT2_SIZE="10G" +BR2_TARGET_ROOTFS_EXT2_SIZE="12G" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/phytium/post-image.sh support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/phytium/genimage-6.6.cfg" -- Gitee From 8783c439355f140a98b218b31352d69ef5ab3547 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Thu, 13 Mar 2025 17:51:39 +0800 Subject: [PATCH 11/31] support xenomai Signed-off-by: weishanshan1084 --- configs/xenomai_cobalt_6.6.config | 14 +++++++++++ configs/xenomai_mercury_6.6.config | 12 +++++++++ package/xenomai/Config.in | 1 + package/xenomai/xenomai.mk | 40 +++++++++++++++++++----------- 4 files changed, 53 insertions(+), 14 deletions(-) create mode 100644 configs/xenomai_cobalt_6.6.config create mode 100644 configs/xenomai_mercury_6.6.config diff --git a/configs/xenomai_cobalt_6.6.config b/configs/xenomai_cobalt_6.6.config new file mode 100644 index 000000000..cdbae15fc --- /dev/null +++ b/configs/xenomai_cobalt_6.6.config @@ -0,0 +1,14 @@ +# cobalt kernel 6.6.y-dovetail +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://gitee.com/phytium_embedded/linux-kernel-xenomai.git" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="a7407b31de245df31687bd6f1d0be51e2a023295" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/cobalt.config" +# xenomai libraries and tools +BR2_PACKAGE_XENOMAI=y +BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL=y +BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL_URL="https://source.denx.de/Xenomai/xenomai/-/archive/v3.3/xenomai-v3.3.tar.gz" +BR2_PACKAGE_XENOMAI_COBALT=y +BR2_PACKAGE_XENOMAI_ENABLE_SMP=y +BR2_PACKAGE_XENOMAI_ADDITIONAL_CONF_OPTS="--enable-pshared --enable-dlopen-libs" +BR2_PACKAGE_XENOMAI_TESTSUITE=y +BR2_PACKAGE_XENOMAI_RTCAN=y +BR2_PACKAGE_XENOMAI_ANALOGY=y diff --git a/configs/xenomai_mercury_6.6.config b/configs/xenomai_mercury_6.6.config new file mode 100644 index 000000000..7458595d5 --- /dev/null +++ b/configs/xenomai_mercury_6.6.config @@ -0,0 +1,12 @@ +# kernel 6.6-rt +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="20635251686c50c94eeea2e8a71a99fb59ee80df" +# xenomai libraries and tools +BR2_PACKAGE_XENOMAI=y +BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL=y +BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL_URL="https://source.denx.de/Xenomai/xenomai/-/archive/v3.3/xenomai-v3.3.tar.gz" +BR2_PACKAGE_XENOMAI_MERCURY=y +BR2_PACKAGE_XENOMAI_ENABLE_SMP=y +BR2_PACKAGE_XENOMAI_ADDITIONAL_CONF_OPTS="--enable-pshared --enable-dlopen-libs" +BR2_PACKAGE_XENOMAI_TESTSUITE=y +BR2_PACKAGE_XENOMAI_RTCAN=y +BR2_PACKAGE_XENOMAI_ANALOGY=y diff --git a/package/xenomai/Config.in b/package/xenomai/Config.in index d4983b084..ae476e337 100644 --- a/package/xenomai/Config.in +++ b/package/xenomai/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS default y if BR2_x86_64 default y if BR2_powerpc default y if BR2_arm && !BR2_ARM_CPU_ARMV7M && !BR2_ARM_CPU_ARMV8A + default y if BR2_aarch64 comment "xenomai needs a glibc or uClibc toolchain w/ threads" depends on BR2_USE_MMU diff --git a/package/xenomai/xenomai.mk b/package/xenomai/xenomai.mk index 378e51ad3..75b4eef2f 100644 --- a/package/xenomai/xenomai.mk +++ b/package/xenomai/xenomai.mk @@ -39,10 +39,6 @@ XENOMAI_INSTALL_STAGING = YES XENOMAI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-user XENOMAI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) install-user -XENOMAI_CONF_OPTS += \ - --disable-demo \ - --includedir=/usr/include/xenomai/ - ifeq ($(BR2_PACKAGE_XENOMAI_MERCURY),y) XENOMAI_CONF_OPTS += --with-core=mercury else @@ -69,22 +65,38 @@ endif XENOMAI_CONF_OPTS += $(call qstrip,$(BR2_PACKAGE_XENOMAI_ADDITIONAL_CONF_OPTS)) +XENOMAI_PREFIX = /usr/xenomai +define XENOMAI_CONFIGURE_CMDS + (cd $(@D) && rm -rf config.cache && \ + $(TARGET_CONFIGURE_OPTS) \ + $(TARGET_CONFIGURE_ARGS) \ + ./configure \ + --target=$(GNU_TARGET_NAME) \ + --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --prefix=$(XENOMAI_PREFIX) \ + --exec-prefix=$(XENOMAI_PREFIX) \ + --program-prefix="" \ + $(XENOMAI_CONF_OPTS) \ + ) +endef + # Some of these files may be desired by some users -- at that point specific # config options need to be added to keep a particular set. define XENOMAI_REMOVE_UNNEEDED_FILES for i in xeno xeno-config xeno-info wrap-link.sh ; do \ - rm -f $(TARGET_DIR)/usr/bin/$$i ; \ + rm -f $(TARGET_DIR)/$(XENOMAI_PREFIX)/bin/$$i ; \ done for i in cobalt modechk ; do \ - rm -f $(TARGET_DIR)/usr/lib/$$i.wrappers ; \ + rm -f $(TARGET_DIR)/$(XENOMAI_PREFIX)/lib/$$i.wrappers ; \ done for i in autotune corectl hdb rtnet nomaccfg rtcfg rtifconfig \ rtiwconfig rtping rtroute tdmacfg rtps slackspot version; do \ - rm -f $(TARGET_DIR)/usr/sbin/$$i ; \ + rm -f $(TARGET_DIR)/$(XENOMAI_PREFIX)/sbin/$$i ; \ done endef -XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_UNNEEDED_FILES +# XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_UNNEEDED_FILES ifeq ($(BR2_PACKAGE_XENOMAI_TESTSUITE),y) XENOMAI_CONF_OPTS += --enable-testsuite @@ -95,9 +107,9 @@ endif ifeq ($(BR2_PACKAGE_XENOMAI_RTCAN),) define XENOMAI_REMOVE_RTCAN_PROGS for i in rtcanrecv rtcansend ; do \ - rm -f $(TARGET_DIR)/usr/bin/$$i ; \ + rm -f $(TARGET_DIR)/$(XENOMAI_PREFIX)/bin/$$i ; \ done - rm -f $(TARGET_DIR)/usr/sbin/rtcanconfig + rm -f $(TARGET_DIR)/$(XENOMAI_PREFIX)/sbin/rtcanconfig endef XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_RTCAN_PROGS @@ -107,12 +119,12 @@ ifeq ($(BR2_PACKAGE_XENOMAI_ANALOGY),) define XENOMAI_REMOVE_ANALOGY for i in cmd_read cmd_write cmd_bits insn_read insn_write insn_bits \ wf_generate ; do \ - rm -f $(TARGET_DIR)/usr/bin/$$i ; \ + rm -f $(TARGET_DIR)/$(XENOMAI_PREFIX)/bin/$$i ; \ done for i in analogy_config analogy_calibrate ; do \ - rm -f $(TARGET_DIR)/usr/sbin/$$i ; \ + rm -f $(TARGET_DIR)/$(XENOMAI_PREFIX)/sbin/$$i ; \ done - rm -f $(TARGET_DIR)/usr/lib/libanalogy.* + rm -f $(TARGET_DIR)/$(XENOMAI_PREFIX)/lib/libanalogy.* endef XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_ANALOGY @@ -129,7 +141,7 @@ XENOMAI_REMOVE_LIBS_LIST += $(if $(BR2_PACKAGE_XENOMAI_VRTX_SKIN),,vrtx) define XENOMAI_REMOVE_LIBS for i in $(XENOMAI_REMOVE_LIBS_LIST) ; do \ - rm -f $(TARGET_DIR)/usr/lib/lib$$i.* ; \ + rm -f $(TARGET_DIR)/$(XENOMAI_PREFIX)/lib/lib$$i.* ; \ done endef -- Gitee From 0027875fe2734383404c8fd49af81c549e7aa396 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Fri, 14 Mar 2025 15:31:14 +0800 Subject: [PATCH 12/31] xenomai mercury: fix xenomai mercury 3.3 build failure Signed-off-by: weishanshan1084 --- package/xenomai/0001-mercury.patch | 107 +++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 package/xenomai/0001-mercury.patch diff --git a/package/xenomai/0001-mercury.patch b/package/xenomai/0001-mercury.patch new file mode 100644 index 000000000..4cb1cc94c --- /dev/null +++ b/package/xenomai/0001-mercury.patch @@ -0,0 +1,107 @@ +diff -Nur xenomai-v3.3/lib/boilerplate/setup.c xenomai-v3.3-mercury/lib/boilerplate/setup.c +--- xenomai-v3.3/lib/boilerplate/setup.c 2024-10-22 00:27:33.000000000 +0800 ++++ xenomai-v3.3-mercury/lib/boilerplate/setup.c 2025-03-14 11:15:23.058291260 +0800 +@@ -32,6 +32,7 @@ + #include + #include + #include ++#include + #include + + struct base_setup_data __base_setup_data = { +diff -Nur xenomai-v3.3/lib/copperplate/internal.c xenomai-v3.3-mercury/lib/copperplate/internal.c +--- xenomai-v3.3/lib/copperplate/internal.c 2024-10-22 00:27:33.000000000 +0800 ++++ xenomai-v3.3-mercury/lib/copperplate/internal.c 2025-03-14 11:16:15.375803540 +0800 +@@ -25,7 +25,7 @@ + #include + #include + #include +- ++#include + #include + #include + #include +diff -Nur xenomai-v3.3/testsuite/gpiobench/gpiobench.c xenomai-v3.3-mercury/testsuite/gpiobench/gpiobench.c +--- xenomai-v3.3/testsuite/gpiobench/gpiobench.c 2024-10-22 00:27:33.000000000 +0800 ++++ xenomai-v3.3-mercury/testsuite/gpiobench/gpiobench.c 2025-03-14 11:10:41.586603280 +0800 +@@ -34,6 +34,7 @@ + #include + #include + #include ++#include + #include + + #define NS_PER_MS (1000000) +diff -Nur xenomai-v3.3/testsuite/smokey/alchemytests/Makefile.am xenomai-v3.3-mercury/testsuite/smokey/alchemytests/Makefile.am +--- xenomai-v3.3/testsuite/smokey/alchemytests/Makefile.am 2024-10-22 00:27:33.000000000 +0800 ++++ xenomai-v3.3-mercury/testsuite/smokey/alchemytests/Makefile.am 2025-03-14 11:11:16.205539420 +0800 +@@ -21,7 +21,6 @@ + alchemytests_mq3 \ + alchemytests_mutex1 \ + alchemytests_mutex2 \ +- alchemytests_pipe1 \ + alchemytests_sem1 \ + alchemytests_sem2 \ + alchemytests_task1 \ +@@ -35,6 +34,10 @@ + alchemytests_task9 \ + alchemytests_task10 \ + alchemytests_task11 ++if XENO_COBALT ++test_PROGRAMS += \ ++ alchemytests_pipe1 ++endif + + alchemycppflags = \ + $(XENO_USER_CFLAGS) \ +@@ -75,10 +78,6 @@ + alchemytests_mutex2_CPPFLAGS = $(alchemycppflags) + alchemytests_mutex2_LDADD = $(alchemyldadd) + alchemytests_mutex2_LDFLAGS = @XENO_AUTOINIT_LDFLAGS@ +-alchemytests_pipe1_SOURCES = pipe-1.c +-alchemytests_pipe1_CPPFLAGS = $(alchemycppflags) +-alchemytests_pipe1_LDADD = $(alchemyldadd) +-alchemytests_pipe1_LDFLAGS = @XENO_AUTOINIT_LDFLAGS@ + alchemytests_mq1_SOURCES = mq-1.c + alchemytests_mq1_CPPFLAGS = $(alchemycppflags) + alchemytests_mq1_LDADD = $(alchemyldadd) +@@ -143,3 +142,9 @@ + alchemytests_task11_CPPFLAGS = $(alchemycppflags) + alchemytests_task11_LDADD = $(alchemyldadd) + alchemytests_task11_LDFLAGS = @XENO_AUTOINIT_LDFLAGS@ ++if XENO_COBALT ++alchemytests_pipe1_SOURCES = pipe-1.c ++alchemytests_pipe1_CPPFLAGS = $(alchemycppflags) ++alchemytests_pipe1_LDADD = $(alchemyldadd) ++alchemytests_pipe1_LDFLAGS = @XENO_AUTOINIT_LDFLAGS@ ++endif +diff -Nur xenomai-v3.3/testsuite/smokey/alchemytests/alchemytests.c xenomai-v3.3-mercury/testsuite/smokey/alchemytests/alchemytests.c +--- xenomai-v3.3/testsuite/smokey/alchemytests/alchemytests.c 2024-10-22 00:27:33.000000000 +0800 ++++ xenomai-v3.3-mercury/testsuite/smokey/alchemytests/alchemytests.c 2025-03-14 11:11:22.755236760 +0800 +@@ -1,4 +1,5 @@ + // SPDX-License-Identifier: GPL-2.0 ++#include + #include + #include + #include +diff -Nur xenomai-v3.3/testsuite/smokey/alchemytests/task-11.c xenomai-v3.3-mercury/testsuite/smokey/alchemytests/task-11.c +--- xenomai-v3.3/testsuite/smokey/alchemytests/task-11.c 2024-10-22 00:27:33.000000000 +0800 ++++ xenomai-v3.3-mercury/testsuite/smokey/alchemytests/task-11.c 2025-03-14 11:11:30.892819240 +0800 +@@ -1,5 +1,6 @@ + // SPDX-License-Identifier: GPL-2.0 + #include ++#include + #include + #include + #include +diff -Nur xenomai-v3.3/testsuite/smokey/alchemytests/task-2.c xenomai-v3.3-mercury/testsuite/smokey/alchemytests/task-2.c +--- xenomai-v3.3/testsuite/smokey/alchemytests/task-2.c 2024-10-22 00:27:33.000000000 +0800 ++++ xenomai-v3.3-mercury/testsuite/smokey/alchemytests/task-2.c 2025-03-14 11:11:38.029262840 +0800 +@@ -2,6 +2,7 @@ + #include + #include + #include ++#include + #include + #include + -- Gitee From 35f13a91dddd37e4b02734601856c034384e292a Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Mon, 24 Mar 2025 15:36:08 +0800 Subject: [PATCH 13/31] support jailhouse Signed-off-by: weishanshan1084 --- configs/jailhouse.config | 9 +++++ ...f-e2000-linux-kernel-to-reserve-memo.patch | 34 +++++++++++++++++++ package/jailhouse/jailhouse.hash | 3 -- package/jailhouse/jailhouse.mk | 33 ++++++++++++------ package/libffi/libffi.mk | 3 ++ package/python-mako/python-mako.mk | 4 +++ package/python3/python3.mk | 3 ++ 7 files changed, 76 insertions(+), 13 deletions(-) create mode 100644 configs/jailhouse.config create mode 100644 linux/kernel-patches/jailhouse/0001-modify-the-dts-of-e2000-linux-kernel-to-reserve-memo.patch delete mode 100644 package/jailhouse/jailhouse.hash diff --git a/configs/jailhouse.config b/configs/jailhouse.config new file mode 100644 index 000000000..f6d332c8a --- /dev/null +++ b/configs/jailhouse.config @@ -0,0 +1,9 @@ +# jailhouse +BR2_PACKAGE_JAILHOUSE=y + +# jailhouse helper scripts +BR2_PACKAGE_PYTHON3=y +BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS=y + +# kernel patch for e2000\d2000\ft2004,kernel version of 6.6 +BR2_LINUX_KERNEL_PATCH="$(LINUX_PKGDIR)/kernel-patches/jailhouse/0001-modify-the-dts-of-e2000-linux-kernel-to-reserve-memo.patch $(LINUX_PKGDIR)/kernel-patches/0001-disable-smmu-in-dts.patch" diff --git a/linux/kernel-patches/jailhouse/0001-modify-the-dts-of-e2000-linux-kernel-to-reserve-memo.patch b/linux/kernel-patches/jailhouse/0001-modify-the-dts-of-e2000-linux-kernel-to-reserve-memo.patch new file mode 100644 index 000000000..5064a247e --- /dev/null +++ b/linux/kernel-patches/jailhouse/0001-modify-the-dts-of-e2000-linux-kernel-to-reserve-memo.patch @@ -0,0 +1,34 @@ +From 01bcd5347ace6a71bad5e71cf8ab8d165e34eec0 Mon Sep 17 00:00:00 2001 +From: lindongping +Date: Fri, 1 Dec 2023 16:37:18 +0800 +Subject: [PATCH] modify the dts of e2000 linux kernel to reserve memory for + jailhouse. + +--- + arch/arm64/boot/dts/phytium/pe2204.dtsi | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/arch/arm64/boot/dts/phytium/pe2204.dtsi b/arch/arm64/boot/dts/phytium/pe2204.dtsi +index 201a01e75..54cd6f0a4 100644 +--- a/arch/arm64/boot/dts/phytium/pe2204.dtsi ++++ b/arch/arm64/boot/dts/phytium/pe2204.dtsi +@@ -10,6 +10,16 @@ + / { + compatible = "phytium,pe2204"; + ++ reserved-memory { ++ #address-cells = <0x00000002>; ++ #size-cells = <0x00000002>; ++ ranges; ++ reserved@b0000000 { ++ reg = <0x00000000 0xb0000000 0x00000000 0x10000000>; ++ no-map; ++ }; ++ }; ++ + aliases { + ethernet0 = &macb0; + ethernet1 = &macb1; +-- +2.34.1 + diff --git a/package/jailhouse/jailhouse.hash b/package/jailhouse/jailhouse.hash deleted file mode 100644 index 96d581984..000000000 --- a/package/jailhouse/jailhouse.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally computed: -sha256 38ea5d2d9672ce7f76fd0c163edaa8968711aca58f245aec3c8934f140e828b6 jailhouse-e57d1eff6d55aeed5f977fe4e2acfb6ccbdd7560.tar.gz -sha256 3aafb31a2436178323663e00511f16d58fc36ea654b1457532e79d017205efd8 COPYING diff --git a/package/jailhouse/jailhouse.mk b/package/jailhouse/jailhouse.mk index a1c86f0e9..d3d0852e0 100644 --- a/package/jailhouse/jailhouse.mk +++ b/package/jailhouse/jailhouse.mk @@ -4,8 +4,9 @@ # ################################################################################ -JAILHOUSE_VERSION = e57d1eff6d55aeed5f977fe4e2acfb6ccbdd7560 -JAILHOUSE_SITE = $(call github,siemens,jailhouse,$(JAILHOUSE_VERSION)) +JAILHOUSE_VERSION = jailhouse_v2.2 +JAILHOUSE_SITE = https://gitee.com/phytium_embedded/phytium-jailhouse.git +JAILHOUSE_SITE_METHOD = git JAILHOUSE_LICENSE = GPL-2.0 JAILHOUSE_LICENSE_FILES = COPYING JAILHOUSE_DEPENDENCIES = \ @@ -16,7 +17,8 @@ JAILHOUSE_MAKE_OPTS = \ ARCH="$(KERNEL_ARCH)" \ KDIR="$(LINUX_DIR)" \ DESTDIR="$(TARGET_DIR)" \ - prefix=/usr + prefix=/usr \ + INSTALL_MOD_DIR="jailhouse" ifeq ($(BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS),y) JAILHOUSE_DEPENDENCIES += \ @@ -34,36 +36,47 @@ endif ifeq ($(BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS),y) define JAILHOUSE_BUILD_HELPER_SCRIPTS - cd $(@D) && \ + cd $(@D)/src/jailhouse && \ $(PKG_PYTHON_SETUPTOOLS_ENV) \ $(HOST_DIR)/bin/python setup.py \ build endef define JAILHOUSE_INSTALL_HELPER_SCRIPTS - cd $(@D) && \ + cd $(@D)/src/jailhouse && \ $(PKG_PYTHON_SETUPTOOLS_ENV) \ $(HOST_DIR)/bin/python setup.py \ install --no-compile \ $(PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS) \ --root=$(TARGET_DIR) + $(if $(BR2_ROOTFS_SKELETON_UBUNTU_NOBLE), \ + mkdir -p $(TARGET_DIR)/usr/local/lib/python3.12/dist-packages && \ + mv $(TARGET_DIR)/usr/lib/python3.11/site-packages/pyjailhouse $(TARGET_DIR)/usr/local/lib/python3.12/dist-packages && \ + mv $(TARGET_DIR)/usr/lib/python3.11/site-packages/pyjailhouse-0.12-py3.11.egg-info $(TARGET_DIR)/usr/local/lib/python3.12/dist-packages/pyjailhouse-0.12-py3.12.egg-info) + $(if $(BR2_ROOTFS_SKELETON_DEBIAN_BOOKWORM), \ + mkdir -p $(TARGET_DIR)/usr/local/lib/python3.11/dist-packages && \ + mv $(TARGET_DIR)/usr/lib/python3.11/site-packages/pyjailhouse $(TARGET_DIR)/usr/local/lib/python3.11/dist-packages && \ + mv $(TARGET_DIR)/usr/lib/python3.11/site-packages/pyjailhouse-0.12-py3.11.egg-info $(TARGET_DIR)/usr/local/lib/python3.11/dist-packages/pyjailhouse-0.12-py3.11.egg-info) endef endif define JAILHOUSE_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) $(JAILHOUSE_MAKE_OPTS) -C $(@D) + $(TARGET_MAKE_ENV) $(MAKE) $(JAILHOUSE_MAKE_OPTS) -C $(@D)/src/jailhouse $(JAILHOUSE_BUILD_HELPER_SCRIPTS) endef define JAILHOUSE_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) $(JAILHOUSE_MAKE_OPTS) -C $(@D) modules_install firmware_install tool_inmates_install - $(TARGET_MAKE_ENV) $(MAKE) $(JAILHOUSE_MAKE_OPTS) -C $(@D)/tools src=$(@D)/tools install + $(TARGET_MAKE_ENV) $(MAKE) $(JAILHOUSE_MAKE_OPTS) -C $(@D)/src/jailhouse modules_install firmware_install tool_inmates_install + $(TARGET_MAKE_ENV) $(MAKE) $(JAILHOUSE_MAKE_OPTS) -C $(@D)/src/jailhouse/tools src=$(@D)/src/jailhouse/tools install $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/jailhouse - $(INSTALL) -D -m 0644 $(@D)/configs/*/*.cell $(TARGET_DIR)/etc/jailhouse + $(INSTALL) -D -m 0644 $(@D)/src/jailhouse/configs/*/*.cell $(TARGET_DIR)/etc/jailhouse $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/libexec/jailhouse/demos - $(INSTALL) -D -m 0755 $(@D)/inmates/demos/*/*.bin $(TARGET_DIR)/usr/libexec/jailhouse/demos + $(INSTALL) -D -m 0755 $(@D)/src/jailhouse/inmates/demos/*/*.bin $(TARGET_DIR)/usr/libexec/jailhouse/demos + + $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/libexec/jailhouse/dtb + $(INSTALL) -D -m 0644 $(@D)/src/jailhouse/configs/arm64/dts/*.dtb $(TARGET_DIR)/usr/libexec/jailhouse/dtb $(JAILHOUSE_INSTALL_HELPER_SCRIPTS) endef diff --git a/package/libffi/libffi.mk b/package/libffi/libffi.mk index 6249023ea..1f9bec275 100644 --- a/package/libffi/libffi.mk +++ b/package/libffi/libffi.mk @@ -11,6 +11,9 @@ LIBFFI_LICENSE = MIT LIBFFI_LICENSE_FILES = LICENSE LIBFFI_CPE_ID_VALID = YES LIBFFI_INSTALL_STAGING = YES +ifeq ($(BR2_ROOTFS_SKELETON_CUSTOM),y) +LIBFFI_INSTALL_TARGET = NO +endif # We're patching Makefile.am LIBFFI_AUTORECONF = YES diff --git a/package/python-mako/python-mako.mk b/package/python-mako/python-mako.mk index 2eba772b2..ee2a692ed 100644 --- a/package/python-mako/python-mako.mk +++ b/package/python-mako/python-mako.mk @@ -16,5 +16,9 @@ PYTHON_MAKO_CPE_ID_PRODUCT = mako # In host build, setup.py tries to download markupsafe if it is not installed HOST_PYTHON_MAKO_DEPENDENCIES = host-python-markupsafe +ifeq ($(BR2_ROOTFS_SKELETON_CUSTOM),y) +PYTHON_MAKO_INSTALL_TARGET = NO +endif + $(eval $(python-package)) $(eval $(host-python-package)) diff --git a/package/python3/python3.mk b/package/python3/python3.mk index 7a8c2b305..e315948a1 100644 --- a/package/python3/python3.mk +++ b/package/python3/python3.mk @@ -67,6 +67,9 @@ HOST_PYTHON3_CONF_OPTS += --disable-openssl endif PYTHON3_INSTALL_STAGING = YES +ifeq ($(BR2_ROOTFS_SKELETON_CUSTOM),y) +PYTHON3_INSTALL_TARGET = NO +endif ifeq ($(BR2_PACKAGE_PYTHON3_2TO3),y) PYTHON3_CONF_OPTS += --enable-lib2to3 -- Gitee From 545dc3ef94e027595ab910a2930f9a33c6e31f40 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Mon, 17 Mar 2025 17:41:01 +0800 Subject: [PATCH 14/31] jailhouse: use pth file to search pyjailhouse module Signed-off-by: weishanshan1084 --- package/jailhouse/jailhouse.mk | 11 +++-------- package/python-mako/python-mako.mk | 4 ---- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/package/jailhouse/jailhouse.mk b/package/jailhouse/jailhouse.mk index d3d0852e0..4a5234682 100644 --- a/package/jailhouse/jailhouse.mk +++ b/package/jailhouse/jailhouse.mk @@ -48,14 +48,9 @@ define JAILHOUSE_INSTALL_HELPER_SCRIPTS install --no-compile \ $(PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS) \ --root=$(TARGET_DIR) - $(if $(BR2_ROOTFS_SKELETON_UBUNTU_NOBLE), \ - mkdir -p $(TARGET_DIR)/usr/local/lib/python3.12/dist-packages && \ - mv $(TARGET_DIR)/usr/lib/python3.11/site-packages/pyjailhouse $(TARGET_DIR)/usr/local/lib/python3.12/dist-packages && \ - mv $(TARGET_DIR)/usr/lib/python3.11/site-packages/pyjailhouse-0.12-py3.11.egg-info $(TARGET_DIR)/usr/local/lib/python3.12/dist-packages/pyjailhouse-0.12-py3.12.egg-info) - $(if $(BR2_ROOTFS_SKELETON_DEBIAN_BOOKWORM), \ - mkdir -p $(TARGET_DIR)/usr/local/lib/python3.11/dist-packages && \ - mv $(TARGET_DIR)/usr/lib/python3.11/site-packages/pyjailhouse $(TARGET_DIR)/usr/local/lib/python3.11/dist-packages && \ - mv $(TARGET_DIR)/usr/lib/python3.11/site-packages/pyjailhouse-0.12-py3.11.egg-info $(TARGET_DIR)/usr/local/lib/python3.11/dist-packages/pyjailhouse-0.12-py3.11.egg-info) + $(if $(BR2_ROOTFS_SKELETON_CUSTOM), \ + mkdir -p $(TARGET_DIR)/usr/lib/python3/dist-packages && \ + echo "/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages" > $(TARGET_DIR)/usr/lib/python3/dist-packages/pyjailhouse.pth) endef endif diff --git a/package/python-mako/python-mako.mk b/package/python-mako/python-mako.mk index ee2a692ed..2eba772b2 100644 --- a/package/python-mako/python-mako.mk +++ b/package/python-mako/python-mako.mk @@ -16,9 +16,5 @@ PYTHON_MAKO_CPE_ID_PRODUCT = mako # In host build, setup.py tries to download markupsafe if it is not installed HOST_PYTHON_MAKO_DEPENDENCIES = host-python-markupsafe -ifeq ($(BR2_ROOTFS_SKELETON_CUSTOM),y) -PYTHON_MAKO_INSTALL_TARGET = NO -endif - $(eval $(python-package)) $(eval $(host-python-package)) -- Gitee From 61dbfaaf87e2ea0f1d9c04923a77a36598d32ab4 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Tue, 18 Mar 2025 19:07:38 +0800 Subject: [PATCH 15/31] jailhouse: the format of python module is .py sources Signed-off-by: weishanshan1084 --- configs/jailhouse.config | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/jailhouse.config b/configs/jailhouse.config index f6d332c8a..0bb5a6286 100644 --- a/configs/jailhouse.config +++ b/configs/jailhouse.config @@ -3,6 +3,7 @@ BR2_PACKAGE_JAILHOUSE=y # jailhouse helper scripts BR2_PACKAGE_PYTHON3=y +BR2_PACKAGE_PYTHON3_PY_ONLY=y BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS=y # kernel patch for e2000\d2000\ft2004,kernel version of 6.6 -- Gitee From a3e58ed61f45d55f4830d00ca5255d24bae8ed09 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Mon, 17 Mar 2025 15:41:48 +0800 Subject: [PATCH 16/31] toolchain-external-arm-aarch64: support versions 13.2.rel1 and 12.2.rel1 ubuntu24.04 uses 13.2.rel1, debian12 use 12.2.rel1. Signed-off-by: weishanshan1084 --- .../toolchain-external-arm-aarch64/Config.in | 43 +++++++++++++++++-- .../toolchain-external-arm-aarch64.hash | 3 ++ .../toolchain-external-arm-aarch64.mk | 2 +- 3 files changed, 43 insertions(+), 5 deletions(-) diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in index 03cee3965..79d8741d2 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in @@ -1,4 +1,21 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64 + bool "Arm AArch64 Toolchain" + help + Arm toolchain for the AArch64 architecture. + + This toolchain (x86 cross-compile for AArch64) is from ARM official web site + https://developer.arm.com/open-source/gnu-toolchain + +if BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64 + +choice + prompt "Arm AArch64 Version" + default BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64_13.2 if BR2_ROOTFS_SKELETON_UBUNTU_NOBLE || BR2_ROOTFS_SKELETON_DEFAULT + default BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64_12.2 if BR2_ROOTFS_SKELETON_DEBIAN_BOOKWORM + help + Select the version of arm aarch64 toolchain you wish to use. + +config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64_13.2 bool "Arm AArch64 13.2.rel1" depends on BR2_aarch64 depends on BR2_HOSTARCH = "x86_64" @@ -11,9 +28,27 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64 select BR2_TOOLCHAIN_HAS_FORTRAN select BR2_TOOLCHAIN_HAS_OPENMP help - Arm toolchain for the AArch64 architecture. + Official toolchain (x86 cross-compile for AArch64) from ARM web site, version 13.2.rel1. - This is the same toolchain that was previously distributed by - Linaro. +config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64_12.2 + bool "Arm AArch64 12.2.rel1" + depends on BR2_aarch64 + depends on BR2_HOSTARCH = "x86_64" + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_SSP + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP + help + Official toolchain (x86 cross-compile for AArch64) from ARM web site, version 12.2.rel1. - https://developer.arm.com/open-source/gnu-toolchain +endchoice + +config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION + string + default "13.2.rel1" if BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64_13.2 + default "12.2.rel1" if BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64_12.2 + +endif diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash index 9de90d4b0..af57a9f5b 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash @@ -1,2 +1,5 @@ # From https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x86_64-aarch64-none-linux-gnu.tar.xz.sha256asc sha256 12fcdf13a7430655229b20438a49e8566e26551ba08759922cdaf4695b0d4e23 arm-gnu-toolchain-13.2.rel1-x86_64-aarch64-none-linux-gnu.tar.xz + +# From https://developer.arm.com/-/media/Files/downloads/gnu/12.2.rel1/binrel/arm-gnu-toolchain-12.2.rel1-x86_64-aarch64-none-linux-gnu.tar.xz.sha256asc +sha256 6e8112dce0d4334d93bd3193815f16abe6a2dd5e7872697987a0b12308f876a4 arm-gnu-toolchain-12.2.rel1-x86_64-aarch64-none-linux-gnu.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk index f9adda892..dd883849b 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk @@ -4,7 +4,7 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION = 13.2.rel1 +TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION = $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION)) TOOLCHAIN_EXTERNAL_ARM_AARCH64_SITE = https://developer.arm.com/-/media/Files/downloads/gnu/$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION)/binrel TOOLCHAIN_EXTERNAL_ARM_AARCH64_SOURCE = arm-gnu-toolchain-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION)-x86_64-aarch64-none-linux-gnu.tar.xz -- Gitee From 88aa20f51ddde9594e406f4b670346f24d2ba07a Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Tue, 18 Mar 2025 16:32:58 +0800 Subject: [PATCH 17/31] support ethercat Signed-off-by: weishanshan1084 --- configs/ethercat.config | 5 ++++ package/igh-ethercat/igh-ethercat.hash | 4 --- package/igh-ethercat/igh-ethercat.mk | 37 ++++++++++++++++++++++++-- 3 files changed, 40 insertions(+), 6 deletions(-) create mode 100644 configs/ethercat.config delete mode 100644 package/igh-ethercat/igh-ethercat.hash diff --git a/configs/ethercat.config b/configs/ethercat.config new file mode 100644 index 000000000..4a46095a2 --- /dev/null +++ b/configs/ethercat.config @@ -0,0 +1,5 @@ +# ethercat +BR2_PACKAGE_IGH_ETHERCAT=y + +# open62541 +BR2_PACKAGE_OPEN62541=y diff --git a/package/igh-ethercat/igh-ethercat.hash b/package/igh-ethercat/igh-ethercat.hash deleted file mode 100644 index 67a152c6a..000000000 --- a/package/igh-ethercat/igh-ethercat.hash +++ /dev/null @@ -1,4 +0,0 @@ -# Locally computed -sha256 7e4d8f3497c0bc0b64a151c0d074349fe7614767563642d6fedb19567eafa1e1 igh-ethercat-f5dc109176400f540a8682a2c9ee20d411d14d61.tar.gz -sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LESSER diff --git a/package/igh-ethercat/igh-ethercat.mk b/package/igh-ethercat/igh-ethercat.mk index 5b618ab54..07052b26c 100644 --- a/package/igh-ethercat/igh-ethercat.mk +++ b/package/igh-ethercat/igh-ethercat.mk @@ -4,8 +4,9 @@ # ################################################################################ -IGH_ETHERCAT_VERSION = f5dc109176400f540a8682a2c9ee20d411d14d61 -IGH_ETHERCAT_SITE = $(call gitlab,etherlab.org,ethercat,$(IGH_ETHERCAT_VERSION)) +IGH_ETHERCAT_VERSION = dbbd80fa4bf93d2cc3a9ffc6623f678b1092a1fa +IGH_ETHERCAT_SITE = https://gitee.com/phytium_embedded/ether-cat.git +IGH_ETHERCAT_SITE_METHOD = git IGH_ETHERCAT_LICENSE = GPL-2.0 (IgH EtherCAT master), LGPL-2.1 (libraries) IGH_ETHERCAT_LICENSE_FILES = COPYING COPYING.LESSER # Fetching from Git @@ -22,5 +23,37 @@ IGH_ETHERCAT_CONF_OPTS = \ $(if $(BR2_PACKAGE_IGH_ETHERCAT_E1000E),--enable-e1000e,--disable-e1000e) \ $(if $(BR2_PACKAGE_IGH_ETHERCAT_R8169),--enable-r8169,--disable-r8169) +ifeq ($(BR2_PACKAGE_XENOMAI_COBALT),y) +IGH_ETHERCAT_DEPENDENCIES += xenomai +IGH_ETHERCAT_CONF_OPTS += \ + --enable-generic \ + --enable-cadence \ + --enable-rtdm \ + --disable-rt-syslog \ + --with-xenomai-dir=$(STAGING_DIR)/usr/xenomai +else +IGH_ETHERCAT_CONF_OPTS += \ + --enable-generic \ + --enable-cadence \ + --disable-rt-syslog +endif + +define IGH_ETHERCAT_CREATE_CHANGELOG + touch $(@D)/ChangeLog + mkdir -p $(@D)/m4 + $(if $(BR2_PACKAGE_XENOMAI_COBALT),sed -i '3 i DESTDIR=$(STAGING_DIR)' $(STAGING_DIR)/usr/xenomai/bin/xeno-config) +endef +IGH_ETHERCAT_POST_PATCH_HOOKS += IGH_ETHERCAT_CREATE_CHANGELOG + +IGH_ETHERCAT_MODULE_MAKE_OPTS = INSTALL_MOD_DIR="ethercat" + $(eval $(kernel-module)) + +define IGH_ETHERCAT_DO_NOT_LOAD_ON_BOOT + mkdir -p $(TARGET_DIR)/etc/modprobe.d + echo "# Do not load the 'ec_macb' module on boot." >> $(TARGET_DIR)/etc/modprobe.d/blacklist.conf + echo "blacklist ec_macb" >> $(TARGET_DIR)/etc/modprobe.d/blacklist.conf +endef +IGH_ETHERCAT_POST_INSTALL_TARGET_HOOKS += IGH_ETHERCAT_DO_NOT_LOAD_ON_BOOT + $(eval $(autotools-package)) -- Gitee From 3e253156a1843728bd2d8217de6217905ec79080 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Wed, 19 Mar 2025 11:44:24 +0800 Subject: [PATCH 18/31] ethercat: fix build issue error adding symbols: DSO missing from command line Signed-off-by: weishanshan1084 --- package/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/Makefile.in b/package/Makefile.in index 1037cb849..9c484e164 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -154,7 +154,7 @@ endif TARGET_LDFLAGS = $(call qstrip,$(BR2_TARGET_LDFLAGS)) ifeq ($(BR2_ROOTFS_SKELETON_UBUNTU)$(BR2_ROOTFS_SKELETON_DEBIAN),y) -TARGET_LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib/aarch64-linux-gnu +TARGET_LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib/aarch64-linux-gnu,--copy-dt-needed-entries endif # By design, _FORTIFY_SOURCE requires gcc optimization to be enabled. -- Gitee From eb6da01061fed70cce9855d4295dd1d3105663a5 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Wed, 19 Mar 2025 17:44:20 +0800 Subject: [PATCH 19/31] optee: update to v4.5.2 Signed-off-by: weishanshan1084 --- configs/e2000_optee.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/e2000_optee.config b/configs/e2000_optee.config index 789e52665..d3c304077 100644 --- a/configs/e2000_optee.config +++ b/configs/e2000_optee.config @@ -4,5 +4,5 @@ BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/phytium_ BR2_PACKAGE_PHYTIUM_OPTEE=y BR2_PACKAGE_PHYTIUM_OPTEE_CUSTOM_REPO_URL="https://gitee.com/phytium_embedded/phytium-optee.git" -BR2_PACKAGE_PHYTIUM_OPTEE_CUSTOM_REPO_VERSION="v3.1" +BR2_PACKAGE_PHYTIUM_OPTEE_CUSTOM_REPO_VERSION="v4.5.2" BR2_PACKAGE_PHYTIUM_OPTEE_BOARD="e2000qdemo" -- Gitee From a3f8e41c2e9eb5a057fb8c0dfae2986391a8def1 Mon Sep 17 00:00:00 2001 From: lindongping2027 Date: Fri, 21 Mar 2025 14:21:51 +0800 Subject: [PATCH 20/31] add amdgpu.config Signed-off-by: lindongping2027 --- README.md | 16 +++++++++-- board/phytium/common/post-build.sh | 7 ++++- configs/amdgpu.config | 2 ++ package/Config.in | 1 + package/amdgpu-firmware/Config.in | 4 +++ package/amdgpu-firmware/amdgpu-firmware.mk | 33 ++++++++++++++++++++++ 6 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 configs/amdgpu.config create mode 100644 package/amdgpu-firmware/Config.in create mode 100644 package/amdgpu-firmware/amdgpu-firmware.mk diff --git a/README.md b/README.md index d716a89a3..9c9782b79 100644 --- a/README.md +++ b/README.md @@ -58,12 +58,13 @@ config文件是功能扩展配置文件,具体的文件及功能如下: | kernel_debug.config | 内核debug配置文件 | | host_arm64.config | 支持编译主机为arm64主机 | | toolchain_buildroot.config | 支持buildroot使用内部工具链 | +| amdgpu.config | 支持AMD显卡 | ## 配置文件的组合 defconfig可以和config文件进行组合,用以扩展特定的功能,defconfig与config的组合关系如下: | deconfig | config | |------------------------|--------| -| phytium_ubuntu_defconfig | linux_xxx.config、desktop.config、e2000_optee.config、x100.config、initramfs.config、kernel_debug.config、host_arm64.config、toolchain_buildroot.config | -| phytium_debian_defconfig | linux_xxx.config、desktop.config、e2000_optee.config、x100.config、initramfs.config、host_arm64.config、toolchain_buildroot.config | +| phytium_ubuntu_defconfig | linux_xxx.config、desktop.config、e2000_optee.config、x100.config、initramfs.config、kernel_debug.config、host_arm64.config、toolchain_buildroot.config、amdgpu.config | +| phytium_debian_defconfig | linux_xxx.config、desktop.config、e2000_optee.config、x100.config、initramfs.config、host_arm64.config、toolchain_buildroot.config、amdgpu.config | | phytium_defconfig | linux_xxx.config、e2000_optee.config、host_arm64.config、toolchain_buildroot.config | # 编译文件系统 @@ -131,7 +132,16 @@ defconfig默认不编译Phytium-optee,如果需要编译Phytium-optee请执行 $ ./support/kconfig/merge_config.sh configs/phytium_xxx_defconfig configs/desktop.config configs/x100.config $ make ``` -系统启动后,可以使用dpkg命令安装X100的deb包。 +系统启动后,可以使用dpkg命令安装X100的deb包。 + +### 支持AMD显卡 +编译Ubuntu和Debian系统时,支持合并amdgpu.config配置项,以达到支持AMD显卡的目的。为避免显示冲突,启用该配置项时,会禁止DC显示和VPU功能。 +如果需要支持AMD显卡请执行: +``` +$ ./support/kconfig/merge_config.sh configs/phytium_xxx_defconfig configs/desktop.config configs/amdgpu.config +$ make +``` +AMD显卡对应的固件放在了/lib/firmware/amdgpu和/lib/firmware/radeon目录下。 ### 支持kernel_debug 支持将kernel_debug的一些工具编译安装到Ubuntu系统。kernel_debug工具包含Dynamic debug、FTRACE、KPROBE和BTF等,具体信息请参考:[一些kernel debug config和相关用法](https://gitee.com/phytium_embedded/phytium-linux-kernel/wikis/%E8%B0%83%E8%AF%95%E4%B8%8E%E8%B0%83%E4%BC%98/%E4%B8%80%E4%BA%9Bkernel%20debug%20config%E5%92%8C%E7%9B%B8%E5%85%B3%E7%94%A8%E6%B3%95) diff --git a/board/phytium/common/post-build.sh b/board/phytium/common/post-build.sh index 0f0d0bdbf..439bc795d 100755 --- a/board/phytium/common/post-build.sh +++ b/board/phytium/common/post-build.sh @@ -21,7 +21,12 @@ main() ln -sf ../../Phytium/phytium_pe220x-/phytium_pe220x-.conf $1/usr/share/alsa/ucm2/conf.d/phytium_pe220x-/phytium_pe220x-.conf ln -sf ../../Phytium/PMDK-I2S/PMDK-I2S.conf $1/usr/share/alsa/ucm2/conf.d/PMDK-I2S/PMDK-I2S.conf fi - + + if grep -Eq "^BR2_PACKAGE_AMDGPU_FIRMWARE=y$" ${BR2_CONFIG}; then + echo "blacklist phytium_dc_drm" >> $1/etc/modprobe.d/blacklist.conf + echo "blacklist vxd" >> $1/etc/modprobe.d/blacklist.conf + echo "blacklist img_mem" >> $1/etc/modprobe.d/blacklist.conf + fi exit $? } diff --git a/configs/amdgpu.config b/configs/amdgpu.config new file mode 100644 index 000000000..1bf2a7eb1 --- /dev/null +++ b/configs/amdgpu.config @@ -0,0 +1,2 @@ +# amdgpu and radeon firmware +BR2_PACKAGE_AMDGPU_FIRMWARE=y diff --git a/package/Config.in b/package/Config.in index f0ee65b4e..624905d59 100644 --- a/package/Config.in +++ b/package/Config.in @@ -466,6 +466,7 @@ menu "Firmware" source "package/wilc-firmware/Config.in" source "package/wilink-bt-firmware/Config.in" source "package/zd1211-firmware/Config.in" + source "package/amdgpu-firmware/Config.in" endmenu source "package/18xx-ti-utils/Config.in" source "package/a10disp/Config.in" diff --git a/package/amdgpu-firmware/Config.in b/package/amdgpu-firmware/Config.in new file mode 100644 index 000000000..5b0922da6 --- /dev/null +++ b/package/amdgpu-firmware/Config.in @@ -0,0 +1,4 @@ +config BR2_PACKAGE_AMDGPU_FIRMWARE + bool "amdgpu-firmware" + help + amd gpu firmware diff --git a/package/amdgpu-firmware/amdgpu-firmware.mk b/package/amdgpu-firmware/amdgpu-firmware.mk new file mode 100644 index 000000000..e8584ae3b --- /dev/null +++ b/package/amdgpu-firmware/amdgpu-firmware.mk @@ -0,0 +1,33 @@ +################################################################################ +# +# amd gpu firmware +# +################################################################################ + +AMDGPU_FIRMWARE_VERSION = 2163f76a404845c283dc4413eb0d7937eafd6764 +AMDGPU_FIRMWARE_SITE = https://gitee.com/phytium_embedded/phytium-rogue-umlibs.git +AMDGPU_FIRMWARE_SITE_METHOD = git +AMDGPU_FIRMWARE_INSTALL_TARGET = YES + +AMDGPU_FIRMWARE_DIRS = amdgpu radeon + +ifneq ($(AMDGPU_FIRMWARE_DIRS),) +define AMDGPU_FIRMWARE_DECOMPRESSION + $(foreach d,$(AMDGPU_FIRMWARE_DIRS), \ + $(TAR) xf $(@D)/firmware-amdgpu/$(d).tar -C $(@D)/firmware-amdgpu;) +endef + +define AMDGPU_FIRMWARE_INSTALL_DIRS + $(foreach d,$(AMDGPU_FIRMWARE_DIRS), \ + rm -rf $(TARGET_DIR)/lib/firmware/$(d); \ + cp -a $(@D)/firmware-amdgpu/$(d) $(TARGET_DIR)/lib/firmware/$(d)$(sep)) +endef + +endif + +define AMDGPU_FIRMWARE_INSTALL_TARGET_CMDS + $(AMDGPU_FIRMWARE_DECOMPRESSION) + $(AMDGPU_FIRMWARE_INSTALL_DIRS) +endef + +$(eval $(generic-package)) -- Gitee From 1762158f4030b3ab2cca9f166968573754414b40 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Fri, 21 Mar 2025 11:45:06 +0800 Subject: [PATCH 21/31] openamp: add kernel patch for openamp Signed-off-by: weishanshan1084 --- ...f-e2000q-and-phytiumpi-to-enable-hom.patch | 156 ++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 linux/kernel-patches/openamp/0001-modify-the-dts-of-e2000q-and-phytiumpi-to-enable-hom.patch diff --git a/linux/kernel-patches/openamp/0001-modify-the-dts-of-e2000q-and-phytiumpi-to-enable-hom.patch b/linux/kernel-patches/openamp/0001-modify-the-dts-of-e2000q-and-phytiumpi-to-enable-hom.patch new file mode 100644 index 000000000..fd633fb2e --- /dev/null +++ b/linux/kernel-patches/openamp/0001-modify-the-dts-of-e2000q-and-phytiumpi-to-enable-hom.patch @@ -0,0 +1,156 @@ +From fe8617114dbc507141e956ca75b606d07bdb3376 Mon Sep 17 00:00:00 2001 +From: weishanshan1084 +Date: Thu, 20 Mar 2025 15:06:08 +0800 +Subject: [PATCH] modify the dts of e2000q and phytiumpi to enable homo_rproc + +Signed-off-by: weishanshan1084 +--- + .../boot/dts/phytium/pe2204-come-board.dts | 4 ++++ + .../dts/phytium/pe2204-demo-ddr4-local.dts | 4 ++++ + .../boot/dts/phytium/pe2204-demo-ddr4.dts | 4 ++++ + .../boot/dts/phytium/pe2204-edu-board.dts | 4 ++++ + .../boot/dts/phytium/pe2204-hanwei-board.dts | 4 ++++ + .../boot/dts/phytium/pe2204-miniitx-board.dts | 4 ++++ + .../boot/dts/phytium/pe2204-vpx-board.dts | 4 ++++ + arch/arm64/boot/dts/phytium/pe220x.dtsi | 22 +++++++++++++++++++ + .../boot/dts/phytium/phytiumpi_firefly.dts | 4 ++++ + 9 files changed, 54 insertions(+) + +diff --git a/arch/arm64/boot/dts/phytium/pe2204-come-board.dts b/arch/arm64/boot/dts/phytium/pe2204-come-board.dts +index e87b26078224..b74613824b39 100644 +--- a/arch/arm64/boot/dts/phytium/pe2204-come-board.dts ++++ b/arch/arm64/boot/dts/phytium/pe2204-come-board.dts +@@ -266,3 +266,7 @@ &pwm1 { + &vpu0 { + status = "okay"; + }; ++ ++&homo_rproc { ++ status = "okay"; ++}; +diff --git a/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4-local.dts b/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4-local.dts +index 402d07735b86..57cbeea3163d 100644 +--- a/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4-local.dts ++++ b/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4-local.dts +@@ -164,3 +164,7 @@ &dc0 { + &vpu0 { + status = "okay"; + }; ++ ++&homo_rproc { ++ status = "okay"; ++}; +diff --git a/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4.dts b/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4.dts +index c12eb5810524..cd3c6474d184 100644 +--- a/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4.dts ++++ b/arch/arm64/boot/dts/phytium/pe2204-demo-ddr4.dts +@@ -234,3 +234,7 @@ &pmdk_dp { + &vpu0 { + status = "okay"; + }; ++ ++&homo_rproc { ++ status = "okay"; ++}; +diff --git a/arch/arm64/boot/dts/phytium/pe2204-edu-board.dts b/arch/arm64/boot/dts/phytium/pe2204-edu-board.dts +index 7a47cbc375a2..f92ea3337abd 100644 +--- a/arch/arm64/boot/dts/phytium/pe2204-edu-board.dts ++++ b/arch/arm64/boot/dts/phytium/pe2204-edu-board.dts +@@ -345,3 +345,7 @@ &keypad { + 0x03030044 /*KEY_44*/>; + status = "okay"; + }; ++ ++&homo_rproc { ++ status = "okay"; ++}; +diff --git a/arch/arm64/boot/dts/phytium/pe2204-hanwei-board.dts b/arch/arm64/boot/dts/phytium/pe2204-hanwei-board.dts +index d9e1eae59d98..ebe40f6d7b6f 100644 +--- a/arch/arm64/boot/dts/phytium/pe2204-hanwei-board.dts ++++ b/arch/arm64/boot/dts/phytium/pe2204-hanwei-board.dts +@@ -216,3 +216,7 @@ &gpio5 { + &vpu0 { + status = "okay"; + }; ++ ++&homo_rproc { ++ status = "okay"; ++}; +diff --git a/arch/arm64/boot/dts/phytium/pe2204-miniitx-board.dts b/arch/arm64/boot/dts/phytium/pe2204-miniitx-board.dts +index 2513b7b5e21a..12a73cc24984 100644 +--- a/arch/arm64/boot/dts/phytium/pe2204-miniitx-board.dts ++++ b/arch/arm64/boot/dts/phytium/pe2204-miniitx-board.dts +@@ -341,3 +341,7 @@ &rng0 { + &vpu0 { + status = "okay"; + }; ++ ++&homo_rproc { ++ status = "okay"; ++}; +diff --git a/arch/arm64/boot/dts/phytium/pe2204-vpx-board.dts b/arch/arm64/boot/dts/phytium/pe2204-vpx-board.dts +index 22c3c4395b9b..4396a6d3d9f1 100644 +--- a/arch/arm64/boot/dts/phytium/pe2204-vpx-board.dts ++++ b/arch/arm64/boot/dts/phytium/pe2204-vpx-board.dts +@@ -323,3 +323,7 @@ &rng0 { + &vpu0 { + status = "okay"; + }; ++ ++&homo_rproc { ++ status = "okay"; ++}; +diff --git a/arch/arm64/boot/dts/phytium/pe220x.dtsi b/arch/arm64/boot/dts/phytium/pe220x.dtsi +index 40d952a1a49b..83cfc31d3c6c 100644 +--- a/arch/arm64/boot/dts/phytium/pe220x.dtsi ++++ b/arch/arm64/boot/dts/phytium/pe220x.dtsi +@@ -20,6 +20,16 @@ aliases { + serial3 = &uart3; + }; + ++ reserved-memory { ++ #address-cells = <0x2>; ++ #size-cells = <0x2>; ++ ranges; ++ rproc0: rproc0@b0100000 { ++ no-map; ++ reg = <0x0 0xb0100000 0x0 0x19900000>; ++ }; ++ }; ++ + psci { + compatible = "arm,psci-1.0"; + method = "smc"; +@@ -1015,5 +1025,17 @@ pcie: pcie@40000000 { + iommu-map = <0x0 &smmu 0x0 0x10000>; + status = "disabled"; + }; ++ ++ homo_rproc: homo_rproc@0 { ++ compatible = "homo,rproc"; ++ status = "disabled"; ++ homo_core0: homo_core0@b0100000 { ++ compatible = "homo,rproc-core"; ++ remote-processor = <3>; ++ inter-processor-interrupt = <9>; ++ memory-region = <&rproc0>; ++ firmware-name = "openamp_core0.elf"; ++ }; ++ }; + }; + }; +diff --git a/arch/arm64/boot/dts/phytium/phytiumpi_firefly.dts b/arch/arm64/boot/dts/phytium/phytiumpi_firefly.dts +index e16a4759c40b..cec1a69816c7 100644 +--- a/arch/arm64/boot/dts/phytium/phytiumpi_firefly.dts ++++ b/arch/arm64/boot/dts/phytium/phytiumpi_firefly.dts +@@ -321,3 +321,7 @@ &rng0 { + &vpu0 { + status = "okay"; + }; ++ ++&homo_rproc { ++ status = "okay"; ++}; +-- +2.25.1 + -- Gitee From 0cc53fe65237d3b065dbc3b85db7506aa02b7cea Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Fri, 21 Mar 2025 14:54:16 +0800 Subject: [PATCH 22/31] openamp: add rpmsg-demo package Signed-off-by: weishanshan1084 --- package/Config.in | 1 + package/rpmsg-demo/Config.in | 6 ++++++ package/rpmsg-demo/rpmsg-demo.hash | 2 ++ package/rpmsg-demo/rpmsg-demo.mk | 22 ++++++++++++++++++++++ 4 files changed, 31 insertions(+) create mode 100644 package/rpmsg-demo/Config.in create mode 100644 package/rpmsg-demo/rpmsg-demo.hash create mode 100644 package/rpmsg-demo/rpmsg-demo.mk diff --git a/package/Config.in b/package/Config.in index 624905d59..708a610b0 100644 --- a/package/Config.in +++ b/package/Config.in @@ -467,6 +467,7 @@ menu "Firmware" source "package/wilink-bt-firmware/Config.in" source "package/zd1211-firmware/Config.in" source "package/amdgpu-firmware/Config.in" + source "package/rpmsg-demo/Config.in" endmenu source "package/18xx-ti-utils/Config.in" source "package/a10disp/Config.in" diff --git a/package/rpmsg-demo/Config.in b/package/rpmsg-demo/Config.in new file mode 100644 index 000000000..34050ae0b --- /dev/null +++ b/package/rpmsg-demo/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_RPMSG_DEMO + bool "rpmsg-demo" + help + Phytium openamp rpmsg-demo. + + https://gitee.com/phytium_embedded/phytium-embedded-docs/blob/master/open-amp/rpmsg-demo-single.c diff --git a/package/rpmsg-demo/rpmsg-demo.hash b/package/rpmsg-demo/rpmsg-demo.hash new file mode 100644 index 000000000..88a0daa7a --- /dev/null +++ b/package/rpmsg-demo/rpmsg-demo.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 0a5047784bf29880b8ed8fa3dbeef5e21a16854788cf96b12efae163212b02fd rpmsg-demo-single.c diff --git a/package/rpmsg-demo/rpmsg-demo.mk b/package/rpmsg-demo/rpmsg-demo.mk new file mode 100644 index 000000000..5cdedc7ef --- /dev/null +++ b/package/rpmsg-demo/rpmsg-demo.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# rpmsg-demo +# +################################################################################ + +RPMSG_DEMO_SITE = https://gitee.com/phytium_embedded/phytium-embedded-docs/raw/master/open-amp +RPMSG_DEMO_SOURCE = rpmsg-demo-single.c + +define RPMSG_DEMO_EXTRACT_CMDS + cp $(RPMSG_DEMO_DL_DIR)/$(RPMSG_DEMO_SOURCE) $(@D) +endef + +define RPMSG_DEMO_BUILD_CMDS + $(TARGET_CC) -o $(@D)/rpmsg-demo-single $(@D)/$(RPMSG_DEMO_SOURCE) +endef + +define RPMSG_DEMO_INSTALL_TARGET_CMDS + $(INSTALL) -m 0755 -D $(@D)/rpmsg-demo-single $(TARGET_DIR)/usr/bin/ +endef + +$(eval $(generic-package)) -- Gitee From 6754d56f34347cbd8152d7c53c8757e453e14e7d Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Fri, 21 Mar 2025 14:57:13 +0800 Subject: [PATCH 23/31] openamp: add packages for setting up phytium IoT development environment Signed-off-by: weishanshan1084 --- .../aarch64-none-elf-toolchain.hash | 2 ++ .../aarch64-none-elf-toolchain.mk | 26 +++++++++++++++++++ .../phytium-iot-environment.mk | 19 ++++++++++++++ .../phytium-iot-environment/phytium_dev.sh | 7 +++++ 4 files changed, 54 insertions(+) create mode 100644 package/aarch64-none-elf-toolchain/aarch64-none-elf-toolchain.hash create mode 100644 package/aarch64-none-elf-toolchain/aarch64-none-elf-toolchain.mk create mode 100644 package/phytium-iot-environment/phytium-iot-environment.mk create mode 100755 package/phytium-iot-environment/phytium_dev.sh diff --git a/package/aarch64-none-elf-toolchain/aarch64-none-elf-toolchain.hash b/package/aarch64-none-elf-toolchain/aarch64-none-elf-toolchain.hash new file mode 100644 index 000000000..3ae7bb3ea --- /dev/null +++ b/package/aarch64-none-elf-toolchain/aarch64-none-elf-toolchain.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 6f74b1ee370caeb716688d2e467e5b44727fdc0ed56023fe5c72c0620019ecef gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf.tar.xz diff --git a/package/aarch64-none-elf-toolchain/aarch64-none-elf-toolchain.mk b/package/aarch64-none-elf-toolchain/aarch64-none-elf-toolchain.mk new file mode 100644 index 000000000..229e53ba6 --- /dev/null +++ b/package/aarch64-none-elf-toolchain/aarch64-none-elf-toolchain.mk @@ -0,0 +1,26 @@ +################################################################################ +# +# aarch64-none-elf-toolchain +# +################################################################################ + +AARCH64_NONE_ELF_TOOLCHAIN_VERSION = 10.3-2021.07 +AARCH64_NONE_ELF_TOOLCHAIN_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-a/$(AARCH64_NONE_ELF_TOOLCHAIN_VERSION)/binrel +AARCH64_NONE_ELF_TOOLCHAIN_SOURCE = gcc-arm-$(AARCH64_NONE_ELF_TOOLCHAIN_VERSION)-x86_64-aarch64-none-elf.tar.xz +AARCH64_NONE_ELF_TOOLCHAIN_LICENSE = GPL-3.0+ + +HOST_AARCH64_NONE_ELF_TOOLCHAIN_INSTALL_DIR = $(HOST_DIR)/opt/aarch64-none-elf + +define HOST_AARCH64_NONE_ELF_TOOLCHAIN_INSTALL_CMDS + rm -rf $(HOST_AARCH64_NONE_ELF_TOOLCHAIN_INSTALL_DIR) + mkdir -p $(HOST_AARCH64_NONE_ELF_TOOLCHAIN_INSTALL_DIR) + cp -rf $(@D)/* $(HOST_AARCH64_NONE_ELF_TOOLCHAIN_INSTALL_DIR)/ + + mkdir -p $(HOST_DIR)/bin + cd $(HOST_DIR)/bin && \ + for i in ../opt/aarch64-none-elf/bin/*; do \ + ln -sf $$i; \ + done +endef + +$(eval $(host-generic-package)) diff --git a/package/phytium-iot-environment/phytium-iot-environment.mk b/package/phytium-iot-environment/phytium-iot-environment.mk new file mode 100644 index 000000000..640257436 --- /dev/null +++ b/package/phytium-iot-environment/phytium-iot-environment.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# phytium-iot-environment +# +################################################################################ + +# source included in the package +HOST_PHYTIUM_IOT_ENVIRONMENT_DEPENDENCIES = host-arm-gnu-toolchain host-aarch64-none-elf-toolchain + +define HOST_PHYTIUM_IOT_ENVIRONMENT_EXTRACT_CMDS + cp $(HOST_PHYTIUM_IOT_ENVIRONMENT_PKGDIR)/phytium_dev.sh $(@D) +endef + +define HOST_PHYTIUM_IOT_ENVIRONMENT_INSTALL_CMDS + mkdir -p $(HOST_DIR)/etc/profile.d + $(INSTALL) -D -m 0755 $(@D)/phytium_dev.sh $(HOST_DIR)/etc/profile.d +endef + +$(eval $(host-generic-package)) diff --git a/package/phytium-iot-environment/phytium_dev.sh b/package/phytium-iot-environment/phytium_dev.sh new file mode 100755 index 000000000..f51e936db --- /dev/null +++ b/package/phytium-iot-environment/phytium_dev.sh @@ -0,0 +1,7 @@ +### PHYTIUM DEV SETTING START +export AARCH32_CROSS_PATH=${HOST_DIR}/opt/gcc-arm-none-eabi +export PATH=$PATH:${AARCH32_CROSS_PATH}/bin +export AARCH64_CROSS_PATH=${HOST_DIR}/opt/aarch64-none-elf +export PATH=$PATH:${AARCH64_CROSS_PATH}/bin +export PHYTIUM_DEV_PATH=${HOST_DIR} +### PHYTIUM DEV SETTING END -- Gitee From b0c8aa980b626450d61bd0963439180110770ff7 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Fri, 21 Mar 2025 15:06:18 +0800 Subject: [PATCH 24/31] openamp: support phytium-standalone Signed-off-by: weishanshan1084 --- configs/openamp_standalone.config | 11 +++++++++ package/Config.in | 1 + package/phytium-standalone/Config.in | 16 +++++++++++++ .../phytium-standalone/phytium-standalone.mk | 24 +++++++++++++++++++ 4 files changed, 52 insertions(+) create mode 100644 configs/openamp_standalone.config create mode 100644 package/phytium-standalone/Config.in create mode 100644 package/phytium-standalone/phytium-standalone.mk diff --git a/configs/openamp_standalone.config b/configs/openamp_standalone.config new file mode 100644 index 000000000..b70571815 --- /dev/null +++ b/configs/openamp_standalone.config @@ -0,0 +1,11 @@ +# kernel patch for e2000q\phytiumpi, kernel version of 6.6 +BR2_LINUX_KERNEL_PATCH="$(LINUX_PKGDIR)/kernel-patches/openamp/0001-modify-the-dts-of-e2000q-and-phytiumpi-to-enable-hom.patch" + +# rpmsg-demo +BR2_PACKAGE_RPMSG_DEMO=y + +# standalone openamp +BR2_PACKAGE_PHYTIUM_STANDALONE=y +BR2_PACKAGE_PHYTIUM_STANDALONE_CPU_NAME="e2000q" +BR2_PACKAGE_HOST_PYTHON3=y +BR2_PACKAGE_HOST_PYTHON3_CURSES=y diff --git a/package/Config.in b/package/Config.in index 708a610b0..543966d50 100644 --- a/package/Config.in +++ b/package/Config.in @@ -468,6 +468,7 @@ menu "Firmware" source "package/zd1211-firmware/Config.in" source "package/amdgpu-firmware/Config.in" source "package/rpmsg-demo/Config.in" + source "package/phytium-standalone/Config.in" endmenu source "package/18xx-ti-utils/Config.in" source "package/a10disp/Config.in" diff --git a/package/phytium-standalone/Config.in b/package/phytium-standalone/Config.in new file mode 100644 index 000000000..0d392d4ef --- /dev/null +++ b/package/phytium-standalone/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_PHYTIUM_STANDALONE + bool "phytium-standalone" + help + Phytium-Standalone-SDK for OpenAMP + + https://gitee.com/phytium_embedded/phytium-standalone-sdk + +if BR2_PACKAGE_PHYTIUM_STANDALONE + +config BR2_PACKAGE_PHYTIUM_STANDALONE_CPU_NAME + string "CPU name" + help + Supported CPU: + "e2000q", "phytiumpi", "d2000", "ft2004". + +endif diff --git a/package/phytium-standalone/phytium-standalone.mk b/package/phytium-standalone/phytium-standalone.mk new file mode 100644 index 000000000..bbcb26802 --- /dev/null +++ b/package/phytium-standalone/phytium-standalone.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# phytium-standalone +# +################################################################################ + +PHYTIUM_STANDALONE_VERSION = openamp-v1.0 +PHYTIUM_STANDALONE_SITE = https://gitee.com/phytium_embedded/phytium-standalone-sdk.git +PHYTIUM_STANDALONE_SITE_METHOD = git +PHYTIUM_STANDALONE_DEPENDENCIES = host-phytium-iot-environment host-python3 linux +PHYTIUM_STANDALONE_CPU = $(call qstrip,$(BR2_PACKAGE_PHYTIUM_STANDALONE_CPU_NAME)) + +define PHYTIUM_STANDALONE_BUILD_CMDS + if [[ $(LINUX_VERSION_PROBED) = 6.6* ]]; then \ + PHYTIUM_STANDALONE_ARCH=aarch64; \ + fi && \ + . $(HOST_DIR)/etc/profile.d/phytium_dev.sh && \ + cd $(@D)/example/system/amp/openamp_for_linux && \ + script -q -c "$(TARGET_MAKE_ENV) $(MAKE1) config_$(PHYTIUM_STANDALONE_CPU)_$${PHYTIUM_STANDALONE_ARCH}" /dev/null && \ + mkdir -p $(TARGET_DIR)/lib/firmware && \ + $(TARGET_MAKE_ENV) $(MAKE1) image USR_BOOT_DIR=$(TARGET_DIR)/lib/firmware +endef + +$(eval $(generic-package)) -- Gitee From 8c6d784e4efcb543df06df0aae2f0ec9a20e6a9c Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Fri, 21 Mar 2025 15:14:44 +0800 Subject: [PATCH 25/31] openamp: support phytium-free-rtos Signed-off-by: weishanshan1084 --- configs/openamp_free_rtos.config | 11 +++++++ package/Config.in | 1 + package/phytium-free-rtos/Config.in | 16 ++++++++++ .../phytium-free-rtos/phytium-free-rtos.mk | 29 +++++++++++++++++++ 4 files changed, 57 insertions(+) create mode 100644 configs/openamp_free_rtos.config create mode 100644 package/phytium-free-rtos/Config.in create mode 100644 package/phytium-free-rtos/phytium-free-rtos.mk diff --git a/configs/openamp_free_rtos.config b/configs/openamp_free_rtos.config new file mode 100644 index 000000000..b82c91ba5 --- /dev/null +++ b/configs/openamp_free_rtos.config @@ -0,0 +1,11 @@ +# kernel patch for e2000q\phytiumpi, kernel version of 6.6 +BR2_LINUX_KERNEL_PATCH="$(LINUX_PKGDIR)/kernel-patches/openamp/0001-modify-the-dts-of-e2000q-and-phytiumpi-to-enable-hom.patch" + +# rpmsg-demo +BR2_PACKAGE_RPMSG_DEMO=y + +# free-rtos openamp +BR2_PACKAGE_PHYTIUM_FREE_RTOS=y +BR2_PACKAGE_PHYTIUM_FREE_RTOS_CPU_NAME="e2000q" +BR2_PACKAGE_HOST_PYTHON3=y +BR2_PACKAGE_HOST_PYTHON3_CURSES=y diff --git a/package/Config.in b/package/Config.in index 543966d50..81544ec00 100644 --- a/package/Config.in +++ b/package/Config.in @@ -469,6 +469,7 @@ menu "Firmware" source "package/amdgpu-firmware/Config.in" source "package/rpmsg-demo/Config.in" source "package/phytium-standalone/Config.in" + source "package/phytium-free-rtos/Config.in" endmenu source "package/18xx-ti-utils/Config.in" source "package/a10disp/Config.in" diff --git a/package/phytium-free-rtos/Config.in b/package/phytium-free-rtos/Config.in new file mode 100644 index 000000000..69c9146fb --- /dev/null +++ b/package/phytium-free-rtos/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_PHYTIUM_FREE_RTOS + bool "phytium-free-rtos" + help + Phytium-FreeRTOS-SDK for OpenAMP + + https://gitee.com/phytium_embedded/phytium-free-rtos-sdk + +if BR2_PACKAGE_PHYTIUM_FREE_RTOS + +config BR2_PACKAGE_PHYTIUM_FREE_RTOS_CPU_NAME + string "CPU name" + help + Supported CPU: + "e2000q", "phytiumpi", "d2000", "ft2004". + +endif diff --git a/package/phytium-free-rtos/phytium-free-rtos.mk b/package/phytium-free-rtos/phytium-free-rtos.mk new file mode 100644 index 000000000..9929dbe25 --- /dev/null +++ b/package/phytium-free-rtos/phytium-free-rtos.mk @@ -0,0 +1,29 @@ +################################################################################ +# +# phytium-free-rtos +# +################################################################################ + +PHYTIUM_FREE_RTOS_VERSION = openamp-v1.0 +PHYTIUM_FREE_RTOS_SITE = https://gitee.com/phytium_embedded/phytium-free-rtos-sdk.git +PHYTIUM_FREE_RTOS_SITE_METHOD = git +PHYTIUM_FREE_RTOS_DEPENDENCIES = host-phytium-iot-environment host-python3 linux +PHYTIUM_FREE_RTOS_CPU = $(call qstrip,$(BR2_PACKAGE_PHYTIUM_FREE_RTOS_CPU_NAME)) + +define PHYTIUM_FREE_RTOS_CONFIGURE_CMDS + cd $(@D) && \ + $(TARGET_MAKE_ENV) ./install.py +endef + +define PHYTIUM_FREE_RTOS_BUILD_CMDS + if [[ $(LINUX_VERSION_PROBED) = 6.6* ]]; then \ + PHYTIUM_FREE_RTOS_ARCH=aarch64; \ + fi && \ + . $(HOST_DIR)/etc/profile.d/phytium_dev.sh && \ + cd $(@D)/example/system/amp/openamp_for_linux && \ + script -q -c "$(TARGET_MAKE_ENV) $(MAKE1) config_$(PHYTIUM_FREE_RTOS_CPU)_$${PHYTIUM_FREE_RTOS_ARCH}" /dev/null && \ + mkdir -p $(TARGET_DIR)/lib/firmware && \ + $(TARGET_MAKE_ENV) $(MAKE1) image USR_BOOT_DIR=$(TARGET_DIR)/lib/firmware +endef + +$(eval $(generic-package)) -- Gitee From 685f3b48e838a76a115e0da30cb380b11a71504d Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Fri, 21 Mar 2025 18:16:17 +0800 Subject: [PATCH 26/31] README: support xenomai, ethercat, jailhouse and openamp Signed-off-by: weishanshan1084 --- README.md | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 89 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9c9782b79..715bab92c 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,11 @@ config文件是功能扩展配置文件,具体的文件及功能如下: | linux_xxx.config | 内核配置文件,含有linux 6.6 rt内核版本 | | desktop.config | XFCE桌面 | | e2000_optee.config | Phytium-optee | +| xenomai_xxx.config | cobalt_6.6、mercury_6.6 | +| ethercat.config | ethercat | +| jailhouse.config | jailhouse | | x100.config | X100 | +| openamp_xxx.config | OpenAMP | | initramfs.config | initramfs | | kernel_debug.config | 内核debug配置文件 | | host_arm64.config | 支持编译主机为arm64主机 | @@ -63,9 +67,9 @@ config文件是功能扩展配置文件,具体的文件及功能如下: defconfig可以和config文件进行组合,用以扩展特定的功能,defconfig与config的组合关系如下: | deconfig | config | |------------------------|--------| -| phytium_ubuntu_defconfig | linux_xxx.config、desktop.config、e2000_optee.config、x100.config、initramfs.config、kernel_debug.config、host_arm64.config、toolchain_buildroot.config、amdgpu.config | -| phytium_debian_defconfig | linux_xxx.config、desktop.config、e2000_optee.config、x100.config、initramfs.config、host_arm64.config、toolchain_buildroot.config、amdgpu.config | -| phytium_defconfig | linux_xxx.config、e2000_optee.config、host_arm64.config、toolchain_buildroot.config | +| phytium_ubuntu_defconfig | linux_xxx.config、desktop.config、e2000_optee.config、xenomai_xxx.config、ethercat.config、jailhouse.config、x100.config、openamp_xxx.config、initramfs.config、kernel_debug.config、host_arm64.config、toolchain_buildroot.config、amdgpu.config | +| phytium_debian_defconfig | linux_xxx.config、desktop.config、e2000_optee.config、xenomai_xxx.config、ethercat.config、jailhouse.config、x100.config、openamp_xxx.config、initramfs.config、host_arm64.config、toolchain_buildroot.config、amdgpu.config | +| phytium_defconfig | linux_xxx.config、e2000_optee.config、xenomai_xxx.config、ethercat.config、jailhouse.config、openamp_xxx.config、host_arm64.config、toolchain_buildroot.config | # 编译文件系统 ## 编译默认配置的文件系统 @@ -125,6 +129,70 @@ defconfig默认不编译Phytium-optee,如果需要编译Phytium-optee请执行 生成的根文件系统、内核、TEE OS位于output/images目录。 后续部署及使用方法,请参考`https://gitee.com/phytium_embedded/phytium-embedded-docs/tree/master/optee` +### 支持xenomai +xenomai支持E2000、D2000和D3000开发板,关于xenomai的信息请参考:`https://gitee.com/phytium_embedded/linux-kernel-xenomai` +支持将xenomai内核及用户态的库、工具编译安装到系统上。如果需要编译xenomai请执行: +(1)使用phytium_debian_defconfig、phytium_ubuntu_defconfig或phytium_defconfig作为基础配置项,合并支持xenomai的配置: +`$ ./support/kconfig/merge_config.sh configs/phytium_xxx_defconfig configs/xenomai_xxx.config` +其中,`xenomai_xxx.config`为以下配置片段文件之一: +``` +xenomai_cobalt_6.6.config (xenomai cobalt 6.6内核+xenomai-v3.3.tar.gz) +xenomai_mercury_6.6.config (linux 6.6 rt内核+xenomai-v3.3.tar.gz) +``` +(2)编译 +`$ make` +(3)镜像的输出位置 +生成的根文件系统、内核、img 镜像位于output/images目录。 +(4)文件的安装路径 +xenomai用户态的库、工具被安装到根文件系统的/usr/xenomai目录。 +关于xenomai的启动及测试工具等更多信息,请参考`https://gitee.com/phytium_embedded/phytium-embedded-docs/tree/master/linux/xenomai` + +### 支持ethercat +ethercat支持E2000开发板,关于ethercat的信息请参考:`https://gitee.com/phytium_embedded/ether-cat` +支持将ethercat驱动及用户态的库、工具编译安装到系统上,ethercat支持linux 6.6 rt和xenomai cobalt 6.6内核。如果需要编译ethercat请执行: +(1)使用phytium_debian_defconfig、phytium_ubuntu_defconfig或phytium_defconfig作为基础配置项,合并支持rt内核,及ethercat的配置: +`./support/kconfig/merge_config.sh configs/phytium_xxx_defconfig configs/linux_6.6_rt.config configs/ethercat.config` +或者合并支持xenomai内核: +`./support/kconfig/merge_config.sh configs/phytium_xxx_defconfig configs/xenomai_cobalt_6.6.config configs/ethercat.config` +(2)编译 +`$ make` +(3)镜像的输出位置 +生成的根文件系统、内核、img 镜像位于output/images目录。 +(4)文件的安装路径 +将ethercat的驱动模块安装到根文件系统的/lib/modules/version/ethercat/目录,并且通过将ec_macb加入/etc/modprobe.d/blacklist.conf +黑名单的方式,使得开机时不自动加载ec_macb模块,而是让用户手动加载。 +ethercat用户态的库、工具被安装到根文件系统: +配置文件安装到/etc,其它内容分别被安装到/usr目录下的bin,include,lib,sbin,share。 +关于ethercat的使用方法等更多信息,请参考`https://gitee.com/phytium_embedded/phytium-embedded-docs/tree/master/linux/ethercat` + +### 支持jailhouse +jailhouse支持E2000、D2000和FT-2000/4开发板,关于jailhouse的信息请参考:`https://gitee.com/phytium_embedded/phytium-jailhouse` +支持将jailhouse编译安装到系统上,如果需要编译jailhouse请执行: +(1)使用phytium_debian_defconfig、phytium_ubuntu_defconfig或phytium_defconfig作为基础配置项,合并支持jailhouse的配置: +`./support/kconfig/merge_config.sh configs/phytium_xxx_defconfig configs/jailhouse.config` +(2)编译 +`$ make` +(3)镜像的输出位置 +生成的根文件系统、内核、img 镜像位于output/images目录。 +(4)文件的安装路径 +jailhouse相关的文件被安装到根文件系统: +``` +按照Makefile中的规则, +将jailhouse的驱动jailhouse.ko安装到/lib/modules/version/jailhouse/driver; +jailhouse.bin安装到/lib/firmware; +linux-loader.bin安装到/usr/libexec/jailhouse; +jailhouse和ivshmem-demo安装到/usr/sbin; +python helper脚本安装到/usr/libexec/jailhouse; +jailhouse-config-collect.tmpl和root-cell-config.c.tmpl安装到/usr/share/jailhouse; +jailhouse-completion.bash安装到/usr/share/bash-completion/completions/并改名为jailhouse; +另外,还将configs/*/*.cell安装到/etc/jailhouse; +inmates/demos/*/*.bin安装到/usr/libexec/jailhouse/demos; +configs/arm64/dts/*.dtb安装到/usr/libexec/jailhouse/dtb; +pyjailhouse安装到/usr/lib/python3.11/site-packages, +通过/usr/lib/python3/dist-packages/pyjailhouse.pth文件,将pyjailhouse模块添加到python模块的搜索路径。 +``` +关于jailhouse的使用方法等更多信息,请参考`https://gitee.com/phytium_embedded/phytium-jailhouse/blob/master/Readme.md` + ### 支持X100 在Ubuntu和Debian系统中安装了linux-headers和dkms,从而支持使用dkms来构建内核模块。 在配置及编译文件系统时,需要合并x100.config: @@ -143,6 +211,24 @@ $ make ``` AMD显卡对应的固件放在了/lib/firmware/amdgpu和/lib/firmware/radeon目录下。 +### 支持OpenAMP +本项目还支持编译OpenAMP,手动编译OpenAMP裸跑二进制镜像请参考:`https://gitee.com/phytium_embedded/phytium-standalone-sdk` , +手动编译OpenAMP FreeRTOS二进制镜像请参考:`https://gitee.com/phytium_embedded/phytium-free-rtos-sdk` +Buildroot中集成了OpenAMP裸跑二进制镜像和OpenAMP FreeRTOS二进制镜像,支持将OpenAMP二进制镜像、用户空间测试程序编译并安装到系统上, +OpenAMP支持linux 6.6内核。如果需要编译OpenAMP请执行: +(1)根据自己开发板的CPU型号,修改configs/openamp_standalone.config中的变量BR2_PACKAGE_PHYTIUM_STANDALONE_CPU_NAME, +以及configs/openamp_free_rtos.config中的变量BR2_PACKAGE_PHYTIUM_FREE_RTOS_CPU_NAME,支持的值有”e2000q”, “phytiumpi”, “d2000”, “ft2004”。 +(2)使用phytium_debian_defconfig、phytium_ubuntu_defconfig或phytium_defconfig作为基础配置项,合并支持openamp的配置: +`./support/kconfig/merge_config.sh configs/phytium_xxx_defconfig configs/openamp_xxx.config` +其中,`openamp_xxx.config`为`openamp_standalone.config`或`openamp_free_rtos.config`。 +(3)编译 +`$ make` +(4)镜像的输出位置 +生成的根文件系统、内核、img 镜像位于output/images目录。 +(5)文件的安装路径 +将OpenAMP二进制镜像openamp_core0.elf安装到/lib/firmware;用户空间测试程序安装到/usr/bin。 +关于OpenAMP的使用方法等更多信息,请参考`https://gitee.com/phytium_embedded/phytium-embedded-docs/tree/master/open-amp` + ### 支持kernel_debug 支持将kernel_debug的一些工具编译安装到Ubuntu系统。kernel_debug工具包含Dynamic debug、FTRACE、KPROBE和BTF等,具体信息请参考:[一些kernel debug config和相关用法](https://gitee.com/phytium_embedded/phytium-linux-kernel/wikis/%E8%B0%83%E8%AF%95%E4%B8%8E%E8%B0%83%E4%BC%98/%E4%B8%80%E4%BA%9Bkernel%20debug%20config%E5%92%8C%E7%9B%B8%E5%85%B3%E7%94%A8%E6%B3%95) 如果需要编译kernel_debug请执行: -- Gitee From 40f9e66e85f9d2d9b6b1443d314063655ebb7f46 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Mon, 24 Mar 2025 16:53:59 +0800 Subject: [PATCH 27/31] linux: update kernel version Signed-off-by: weishanshan1084 --- configs/kernel_debug.config | 2 +- configs/linux_6.6_rt.config | 2 +- configs/phytium_debian_defconfig | 2 +- configs/phytium_defconfig | 2 +- configs/phytium_ubuntu_defconfig | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/configs/kernel_debug.config b/configs/kernel_debug.config index 43ea089c4..5187152e5 100644 --- a/configs/kernel_debug.config +++ b/configs/kernel_debug.config @@ -1,5 +1,5 @@ # kernel 6.6 -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="2c9b75b3b0a8d0223050ea4d33c85d9ce7e9ee7f" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="4850d0096546d55b0bf9014e572598fd62523f5b" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/phytium_debug.config" BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE=y BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/configs/linux_6.6_rt.config b/configs/linux_6.6_rt.config index 81b8c4d9a..13ad9a03a 100644 --- a/configs/linux_6.6_rt.config +++ b/configs/linux_6.6_rt.config @@ -1,2 +1,2 @@ # kernel 6.6-rt -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-6.6-rt_v3.0" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="20635251686c50c94eeea2e8a71a99fb59ee80df" diff --git a/configs/phytium_debian_defconfig b/configs/phytium_debian_defconfig index 4686369e1..8d438f859 100644 --- a/configs/phytium_debian_defconfig +++ b/configs/phytium_debian_defconfig @@ -34,7 +34,7 @@ BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://gitee.com/phytium_embedded/phytium-linux-kernel.git" # kernel 6.6 -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-6.6_v3.0" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="4850d0096546d55b0bf9014e572598fd62523f5b" BR2_LINUX_KERNEL_INTREE_DTS_NAME="phytium/pe2201-demo-ddr4 phytium/pe2202-chillipi-edu-board phytium/pe2202-demo-ddr4-local phytium/pe2202-demo-ddr4 phytium/pe2202-miniitx-board phytium/pe2202-power-board phytium/pe2204-come-board phytium/pe2204-demo-ddr4-local phytium/pe2204-demo-ddr4 phytium/pe2204-edu-board phytium/pe2204-hanwei-board phytium/pe2204-miniitx-board phytium/pe2204-vpx-board phytium/phytiumpi_firefly" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_DEFCONFIG="phytium" diff --git a/configs/phytium_defconfig b/configs/phytium_defconfig index f0c534c3b..4b448e860 100644 --- a/configs/phytium_defconfig +++ b/configs/phytium_defconfig @@ -38,7 +38,7 @@ BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://gitee.com/phytium_embedded/phytium-linux-kernel.git" # kernel 6.6 -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-6.6_v3.0" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="4850d0096546d55b0bf9014e572598fd62523f5b" BR2_LINUX_KERNEL_DEFCONFIG="phytium" BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image" diff --git a/configs/phytium_ubuntu_defconfig b/configs/phytium_ubuntu_defconfig index 7b566f697..138091c10 100644 --- a/configs/phytium_ubuntu_defconfig +++ b/configs/phytium_ubuntu_defconfig @@ -34,7 +34,7 @@ BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://gitee.com/phytium_embedded/phytium-linux-kernel.git" # kernel 6.6 -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-6.6_v3.0" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="4850d0096546d55b0bf9014e572598fd62523f5b" BR2_LINUX_KERNEL_INTREE_DTS_NAME="phytium/pe2201-demo-ddr4 phytium/pe2202-chillipi-edu-board phytium/pe2202-demo-ddr4-local phytium/pe2202-demo-ddr4 phytium/pe2202-miniitx-board phytium/pe2202-power-board phytium/pe2204-come-board phytium/pe2204-demo-ddr4-local phytium/pe2204-demo-ddr4 phytium/pe2204-edu-board phytium/pe2204-hanwei-board phytium/pe2204-miniitx-board phytium/pe2204-vpx-board phytium/phytiumpi_firefly" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_DEFCONFIG="phytium" -- Gitee From d01dab7ab80c886cbeaa4cb02f16240b2bee03fd Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Mon, 24 Mar 2025 14:52:45 +0800 Subject: [PATCH 28/31] x11perf: add x11perf for ubuntu24.04_desktop Signed-off-by: weishanshan1084 --- board/phytium/common/ubuntu-additional_packages_list | 2 +- configs/phytium_ubuntu_defconfig | 4 ++++ package/x11r7/xapp_x11perf/Config.in | 5 ++--- package/x11r7/xapp_x11perf/xapp_x11perf.hash | 6 +++--- package/x11r7/xapp_x11perf/xapp_x11perf.mk | 11 ++++++++++- 5 files changed, 20 insertions(+), 8 deletions(-) diff --git a/board/phytium/common/ubuntu-additional_packages_list b/board/phytium/common/ubuntu-additional_packages_list index 6e57466dd..d49614b53 100644 --- a/board/phytium/common/ubuntu-additional_packages_list +++ b/board/phytium/common/ubuntu-additional_packages_list @@ -1,7 +1,7 @@ # additional packages list for SDK main userland gathered from main repo additional_full_packages_list=" " -additional_desktop_packages_list="network-manager-gnome xfce4-screenshooter adwaita-icon-theme-full" +additional_desktop_packages_list="network-manager-gnome xfce4-screenshooter adwaita-icon-theme-full libxmuu-dev libxrender-dev libxft-dev" # for Lite userland gathered from main repo additional_base_packages_list="net-tools iputils-ping gcc g++ vim make autoconf automake libtool pkg-config bison bc flex libssl-dev openssh-server python-is-python3 \ diff --git a/configs/phytium_ubuntu_defconfig b/configs/phytium_ubuntu_defconfig index 138091c10..1f29caf9e 100644 --- a/configs/phytium_ubuntu_defconfig +++ b/configs/phytium_ubuntu_defconfig @@ -53,3 +53,7 @@ BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_BUSYBOX=n + +# x11perf +BR2_PACKAGE_XORG7=y +BR2_PACKAGE_XAPP_X11PERF=y diff --git a/package/x11r7/xapp_x11perf/Config.in b/package/x11r7/xapp_x11perf/Config.in index 0f1eca893..03c125ea0 100644 --- a/package/x11r7/xapp_x11perf/Config.in +++ b/package/x11r7/xapp_x11perf/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_XAPP_X11PERF bool "x11perf" - select BR2_PACKAGE_XLIB_LIBX11 - select BR2_PACKAGE_XLIB_LIBXMU - select BR2_PACKAGE_XLIB_LIBXFT + depends on BR2_PACKAGE_ROOTFS_DESKTOP + depends on BR2_ROOTFS_SKELETON_UBUNTU_NOBLE help summarize x11perf results diff --git a/package/x11r7/xapp_x11perf/xapp_x11perf.hash b/package/x11r7/xapp_x11perf/xapp_x11perf.hash index 3370d7df5..325565cf4 100644 --- a/package/x11r7/xapp_x11perf/xapp_x11perf.hash +++ b/package/x11r7/xapp_x11perf/xapp_x11perf.hash @@ -1,5 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2022-October/003242.html -sha256 5a0e7cea47716ad07ceca38bbd07ae06459ee4d837b9c9dfc21ccb94e3e24fcc x11perf-1.6.2.tar.xz -sha512 5be9e601071a42d103adbab5f30c1900a3779a5b2c06c709df99a85487c9790d36b835d43f5c6d74cc7d950cc3ad06927210d7b1f58939cfd0b4a6f3e5e32112 x11perf-1.6.2.tar.xz +# From https://lists.x.org/archives/xorg-announce/2024-August/003526.html +sha256 24f80d84b0e96171a998932ff007698fd1776da9975ed42e51d57b9cfca91828 x11perf-1.7.0.tar.xz +sha512 de8185bfbac15fb5eb15c18ba8450d8e383e1356675e0368c9a443d4c2d14245fab87ac0aa4ddcc5ebf731af0ad1173f53c6937104c1be824bfda5b58112fd5e x11perf-1.7.0.tar.xz # Locally computed sha256 f467ff659142e2eb4cb7275c48c789d249af398b09a405d3e181dcc339b3b922 COPYING diff --git a/package/x11r7/xapp_x11perf/xapp_x11perf.mk b/package/x11r7/xapp_x11perf/xapp_x11perf.mk index 3a1d57993..2d42f79d2 100644 --- a/package/x11r7/xapp_x11perf/xapp_x11perf.mk +++ b/package/x11r7/xapp_x11perf/xapp_x11perf.mk @@ -4,11 +4,20 @@ # ################################################################################ -XAPP_X11PERF_VERSION = 1.6.2 +XAPP_X11PERF_VERSION = 1.7.0 XAPP_X11PERF_SOURCE = x11perf-$(XAPP_X11PERF_VERSION).tar.xz XAPP_X11PERF_SITE = https://xorg.freedesktop.org/archive/individual/test XAPP_X11PERF_LICENSE = MIT XAPP_X11PERF_LICENSE_FILES = COPYING +ifeq ($(BR2_ROOTFS_SKELETON_DEFAULT),y) XAPP_X11PERF_DEPENDENCIES = xlib_libX11 xlib_libXmu xlib_libXft +endif +XAPP_X11PERF_CONF_OPTS = --datarootdir=/usr/lib --mandir=/usr/share/man + +define XAPP_X11PERF_GZIP_MAN_FILES + cd $(TARGET_DIR)/usr/share/man/man1/ && \ + gzip -f x11perf.1 x11perfcomp.1 Xmark.1 +endef +XAPP_X11PERF_POST_INSTALL_TARGET_HOOKS += XAPP_X11PERF_GZIP_MAN_FILES $(eval $(autotools-package)) -- Gitee From e2c2c23e4371bd8b48f4a117b0adafb2b3ad9d23 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Thu, 27 Mar 2025 15:17:34 +0800 Subject: [PATCH 29/31] gstreamer: install libgstximagesink.so from gstreamer support versions 1.22.12 and 1.24.8 for gstreamer1 and gst1-plugins-base Signed-off-by: weishanshan1084 --- board/phytium/common/ubuntu-additional_packages_list | 2 +- configs/phytium_debian_defconfig | 5 +++++ configs/phytium_ubuntu_defconfig | 4 ++++ package/gstreamer1/gst1-plugins-base/Config.in | 3 --- .../gst1-plugins-base/gst1-plugins-base.hash | 2 ++ .../gst1-plugins-base/gst1-plugins-base.mk | 11 ++++++++++- package/gstreamer1/gstreamer1/Config.in | 6 +++++- package/gstreamer1/gstreamer1/gstreamer1.hash | 2 ++ package/gstreamer1/gstreamer1/gstreamer1.mk | 12 ++++++++++-- support/misc/cross-compilation.conf.in | 2 +- 10 files changed, 40 insertions(+), 9 deletions(-) diff --git a/board/phytium/common/ubuntu-additional_packages_list b/board/phytium/common/ubuntu-additional_packages_list index d49614b53..86b9906ee 100644 --- a/board/phytium/common/ubuntu-additional_packages_list +++ b/board/phytium/common/ubuntu-additional_packages_list @@ -7,5 +7,5 @@ additional_desktop_packages_list="network-manager-gnome xfce4-screenshooter adwa additional_base_packages_list="net-tools iputils-ping gcc g++ vim make autoconf automake libtool pkg-config bison bc flex libssl-dev openssh-server python-is-python3 \ libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools \ gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-pulseaudio \ -dkms initramfs-tools debhelper libgles-dev libexpat1-dev libglvnd-dev ffmpeg \ +dkms initramfs-tools debhelper libgles-dev libexpat1-dev libglvnd-dev ffmpeg libglib2.0-dev libxext-dev libxv-dev \ network-manager wpasupplicant wireless-tools parted locales trace-cmd bpftrace" diff --git a/configs/phytium_debian_defconfig b/configs/phytium_debian_defconfig index 8d438f859..b25386da0 100644 --- a/configs/phytium_debian_defconfig +++ b/configs/phytium_debian_defconfig @@ -57,3 +57,8 @@ BR2_PACKAGE_BUSYBOX=n # util-linux BR2_PACKAGE_UTIL_LINUX=y BR2_PACKAGE_UTIL_LINUX_BINARIES=y + +# install libgstximagesink.so from gstreamer +BR2_PACKAGE_GSTREAMER1=y +BR2_PACKAGE_GST1_PLUGINS_BASE=y +BR2_PACKAGE_XORG7=y diff --git a/configs/phytium_ubuntu_defconfig b/configs/phytium_ubuntu_defconfig index 1f29caf9e..dc647533d 100644 --- a/configs/phytium_ubuntu_defconfig +++ b/configs/phytium_ubuntu_defconfig @@ -57,3 +57,7 @@ BR2_PACKAGE_BUSYBOX=n # x11perf BR2_PACKAGE_XORG7=y BR2_PACKAGE_XAPP_X11PERF=y + +# install libgstximagesink.so from gstreamer +BR2_PACKAGE_GSTREAMER1=y +BR2_PACKAGE_GST1_PLUGINS_BASE=y diff --git a/package/gstreamer1/gst1-plugins-base/Config.in b/package/gstreamer1/gst1-plugins-base/Config.in index df10774ac..ba84a7fa7 100644 --- a/package/gstreamer1/gst1-plugins-base/Config.in +++ b/package/gstreamer1/gst1-plugins-base/Config.in @@ -1,8 +1,5 @@ menuconfig BR2_PACKAGE_GST1_PLUGINS_BASE bool "gst1-plugins-base" - select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 - select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 - select BR2_PACKAGE_XLIB_LIBXV if BR2_PACKAGE_XORG7 help A basic set of well-supported plug-ins for GStreamer. diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash index 28ee14122..58ea5ce99 100644 --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash @@ -1,3 +1,5 @@ # From https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.22.12.tar.xz.sha256sum sha256 73cfadc3a6ffe77ed974cfd6fb391c605e4531f48db21dd6b9f42b8cb69bd8c1 gst-plugins-base-1.22.12.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.24.8.tar.xz.sha256sum +sha256 10fb31743750ccd498d3933e8aaecda563ebc65596a6ab875b47ee936e4b9599 gst-plugins-base-1.24.8.tar.xz sha256 ad2eec519ebd4b5df86ea84dff24ae3bfa2edea846a703b58902dd221ae375db COPYING diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk index 31a40406f..f019ceed9 100644 --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_BASE_VERSION = 1.22.12 +GST1_PLUGINS_BASE_VERSION = $(call qstrip,$(BR2_PACKAGE_GSTREAMER1_VERSION)) GST1_PLUGINS_BASE_SOURCE = gst-plugins-base-$(GST1_PLUGINS_BASE_VERSION).tar.xz GST1_PLUGINS_BASE_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-base GST1_PLUGINS_BASE_INSTALL_STAGING = YES @@ -231,7 +231,9 @@ GST1_PLUGINS_BASE_DEPENDENCIES += zlib endif ifeq ($(BR2_PACKAGE_XORG7),y) +ifeq ($(BR2_ROOTFS_SKELETON_DEFAULT),y) GST1_PLUGINS_BASE_DEPENDENCIES += xlib_libX11 xlib_libXext xlib_libXv +endif GST1_PLUGINS_BASE_CONF_OPTS += \ -Dx11=enabled \ -Dxshm=enabled \ @@ -292,4 +294,11 @@ else GST1_PLUGINS_BASE_CONF_OPTS += -Dvorbis=disabled endif +# Only reinstall libgstximagesink.so for custom skeleton +ifeq ($(BR2_ROOTFS_SKELETON_CUSTOM),y) +define GST1_PLUGINS_BASE_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/build/sys/ximage/libgstximagesink.so $(TARGET_DIR)/usr/lib/aarch64-linux-gnu/gstreamer-1.0/ +endef +endif + $(eval $(meson-package)) diff --git a/package/gstreamer1/gstreamer1/Config.in b/package/gstreamer1/gstreamer1/Config.in index 5609d8699..437c95fdf 100644 --- a/package/gstreamer1/gstreamer1/Config.in +++ b/package/gstreamer1/gstreamer1/Config.in @@ -7,7 +7,6 @@ config BR2_PACKAGE_GSTREAMER1 depends on BR2_USE_WCHAR # glib2 depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 depends on BR2_USE_MMU # glib2 - select BR2_PACKAGE_LIBGLIB2 help GStreamer is an open source multimedia framework. This 1.x version of Gstreamer is incompatible with Gstreamer 0.10.x. @@ -16,6 +15,11 @@ config BR2_PACKAGE_GSTREAMER1 if BR2_PACKAGE_GSTREAMER1 +config BR2_PACKAGE_GSTREAMER1_VERSION + string + default "1.22.12" if BR2_ROOTFS_SKELETON_DEBIAN_BOOKWORM || BR2_ROOTFS_SKELETON_DEFAULT + default "1.24.8" if BR2_ROOTFS_SKELETON_UBUNTU_NOBLE + config BR2_PACKAGE_GSTREAMER1_CHECK bool "enable unit test libraries" help diff --git a/package/gstreamer1/gstreamer1/gstreamer1.hash b/package/gstreamer1/gstreamer1/gstreamer1.hash index 445f1c15f..4237828ae 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.hash +++ b/package/gstreamer1/gstreamer1/gstreamer1.hash @@ -1,3 +1,5 @@ # From https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.22.12.tar.xz.sha256sum sha256 ac352f3d02caa67f3b169daa9aa78b04dea0fc08a727de73cb28d89bd54c6f61 gstreamer-1.22.12.tar.xz +# From https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.24.8.tar.xz.sha256sum +sha256 b807dbf36c5d2b3ce1c604133ed0c737350f9523ce4d8d644a1177c5f9d6ded3 gstreamer-1.24.8.tar.xz sha256 ad2eec519ebd4b5df86ea84dff24ae3bfa2edea846a703b58902dd221ae375db COPYING diff --git a/package/gstreamer1/gstreamer1/gstreamer1.mk b/package/gstreamer1/gstreamer1/gstreamer1.mk index 157799424..ca3eb756b 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.mk +++ b/package/gstreamer1/gstreamer1/gstreamer1.mk @@ -4,7 +4,7 @@ # ################################################################################ -GSTREAMER1_VERSION = 1.22.12 +GSTREAMER1_VERSION = $(call qstrip,$(BR2_PACKAGE_GSTREAMER1_VERSION)) GSTREAMER1_SOURCE = gstreamer-$(GSTREAMER1_VERSION).tar.xz GSTREAMER1_SITE = https://gstreamer.freedesktop.org/src/gstreamer GSTREAMER1_INSTALL_STAGING = YES @@ -12,6 +12,9 @@ GSTREAMER1_LICENSE_FILES = COPYING GSTREAMER1_LICENSE = LGPL-2.1+ GSTREAMER1_CPE_ID_VENDOR = gstreamer_project GSTREAMER1_CPE_ID_PRODUCT = gstreamer +ifeq ($(BR2_ROOTFS_SKELETON_CUSTOM),y) +GSTREAMER1_INSTALL_TARGET = NO +endif GSTREAMER1_CONF_OPTS = \ -Dexamples=disabled \ @@ -34,11 +37,16 @@ GSTREAMER1_DEPENDENCIES = \ host-bison \ host-flex \ host-pkgconf \ - libglib2 \ $(if $(BR2_PACKAGE_LIBUNWIND),libunwind) \ $(if $(BR2_PACKAGE_VALGRIND),valgrind) \ $(TARGET_NLS_DEPENDENCIES) +ifeq ($(BR2_ROOTFS_SKELETON_DEFAULT),y) +GSTREAMER1_DEPENDENCIES += libglib2 +else +GSTREAMER1_DEPENDENCIES += host-libglib2 +endif + ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) GSTREAMER1_CONF_OPTS += -Dintrospection=enabled GSTREAMER1_DEPENDENCIES += gobject-introspection diff --git a/support/misc/cross-compilation.conf.in b/support/misc/cross-compilation.conf.in index a58ab553d..20519ce73 100644 --- a/support/misc/cross-compilation.conf.in +++ b/support/misc/cross-compilation.conf.in @@ -27,7 +27,7 @@ cmake_prefix_path = '@STAGING_DIR@/usr/lib/cmake' [properties] needs_exe_wrapper = true sys_root = '@STAGING_DIR@' -pkg_config_libdir = '@STAGING_DIR@/usr/lib/pkgconfig:@STAGING_DIR@/usr/share/pkgconfig' +pkg_config_libdir = '@STAGING_DIR@/usr/lib/pkgconfig:@STAGING_DIR@/usr/share/pkgconfig:@STAGING_DIR@/usr/lib/aarch64-linux-gnu/pkgconfig' pkg_config_static = '@STATIC@' # enable meson build to pass a toolchain file to cmake cmake_toolchain_file = '@HOST_DIR@/share/buildroot/toolchainfile.cmake' -- Gitee From 01534f3935f49b9a54feb63b4d80c16cfc7c8c38 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Fri, 28 Mar 2025 17:33:33 +0800 Subject: [PATCH 30/31] README: update README Signed-off-by: weishanshan1084 --- README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 715bab92c..37c5e9cbd 100644 --- a/README.md +++ b/README.md @@ -27,8 +27,11 @@ $ sudo apt update $ sudo apt install -t bookworm-backports debootstrap ``` -## 下载phytium-linux-buildroot -`$ git clone https://gitee.com/phytium_embedded/phytium-linux-buildroot.git` +## 下载phytium-linux-buildroot并切换到2024.02分支 +``` +$ git clone https://gitee.com/phytium_embedded/phytium-linux-buildroot.git +$ git checkout -b 2024.02 origin/2024.02 +``` # 默认配置文件和扩展配置文件 为飞腾CPU平台构建的文件系统的配置文件位于configs目录。 @@ -258,7 +261,7 @@ BR2_ROOTFS_INITRAMFS_SSH_KEY="/home/xxx/id_rsa.pub" ### 支持host_arm64 buildroot默认采用x86机器作为编译主机,如果需要支持arm64机器作为编译主机。请执行: -(1)使用phytium_debian_defconfig或phytium_ubuntu_defconfig作为基础配置项,合并支持host_arm64的配置: +(1)使用phytium_debian_defconfig、phytium_ubuntu_defconfig或phytium_defconfig作为基础配置项,合并支持host_arm64的配置: `$ ./support/kconfig/merge_config.sh configs/phytium_xxx_defconfig configs/host_arm64.config` (2)编译 `$ make` @@ -454,7 +457,7 @@ $ make ``` board/phytium/common/post-custom-skeleton-ubuntu.sh board/phytium/common/ubuntu-package-installer -board/phytium/common/post-custom-skeleton-debian-11.sh +board/phytium/common/post-custom-skeleton-debian.sh board/phytium/common/debian-package-installer ``` 中的`mirrors.tuna.tsinghua.edu.cn`改为`mirrors.ustc.edu.cn` -- Gitee From 7dcf35520d2afa3c05cf1f9c9d2d90743306b58a Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Mon, 31 Mar 2025 14:40:59 +0800 Subject: [PATCH 31/31] update linux kernel, xenomai, ethercat to v3.1 Signed-off-by: weishanshan1084 --- configs/kernel_debug.config | 2 +- configs/linux_6.6_rt.config | 2 +- configs/phytium_debian_defconfig | 2 +- configs/phytium_defconfig | 2 +- configs/phytium_ubuntu_defconfig | 2 +- configs/xenomai_cobalt_6.6.config | 2 +- configs/xenomai_mercury_6.6.config | 2 +- package/igh-ethercat/igh-ethercat.mk | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/configs/kernel_debug.config b/configs/kernel_debug.config index 5187152e5..86af44058 100644 --- a/configs/kernel_debug.config +++ b/configs/kernel_debug.config @@ -1,5 +1,5 @@ # kernel 6.6 -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="4850d0096546d55b0bf9014e572598fd62523f5b" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-6.6_v3.1" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/phytium_debug.config" BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE=y BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/configs/linux_6.6_rt.config b/configs/linux_6.6_rt.config index 13ad9a03a..3e20455fa 100644 --- a/configs/linux_6.6_rt.config +++ b/configs/linux_6.6_rt.config @@ -1,2 +1,2 @@ # kernel 6.6-rt -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="20635251686c50c94eeea2e8a71a99fb59ee80df" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-6.6-rt_v3.1" diff --git a/configs/phytium_debian_defconfig b/configs/phytium_debian_defconfig index b25386da0..d894474f1 100644 --- a/configs/phytium_debian_defconfig +++ b/configs/phytium_debian_defconfig @@ -34,7 +34,7 @@ BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://gitee.com/phytium_embedded/phytium-linux-kernel.git" # kernel 6.6 -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="4850d0096546d55b0bf9014e572598fd62523f5b" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-6.6_v3.1" BR2_LINUX_KERNEL_INTREE_DTS_NAME="phytium/pe2201-demo-ddr4 phytium/pe2202-chillipi-edu-board phytium/pe2202-demo-ddr4-local phytium/pe2202-demo-ddr4 phytium/pe2202-miniitx-board phytium/pe2202-power-board phytium/pe2204-come-board phytium/pe2204-demo-ddr4-local phytium/pe2204-demo-ddr4 phytium/pe2204-edu-board phytium/pe2204-hanwei-board phytium/pe2204-miniitx-board phytium/pe2204-vpx-board phytium/phytiumpi_firefly" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_DEFCONFIG="phytium" diff --git a/configs/phytium_defconfig b/configs/phytium_defconfig index 4b448e860..75ecfa098 100644 --- a/configs/phytium_defconfig +++ b/configs/phytium_defconfig @@ -38,7 +38,7 @@ BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://gitee.com/phytium_embedded/phytium-linux-kernel.git" # kernel 6.6 -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="4850d0096546d55b0bf9014e572598fd62523f5b" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-6.6_v3.1" BR2_LINUX_KERNEL_DEFCONFIG="phytium" BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image" diff --git a/configs/phytium_ubuntu_defconfig b/configs/phytium_ubuntu_defconfig index dc647533d..22ba63c1b 100644 --- a/configs/phytium_ubuntu_defconfig +++ b/configs/phytium_ubuntu_defconfig @@ -34,7 +34,7 @@ BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://gitee.com/phytium_embedded/phytium-linux-kernel.git" # kernel 6.6 -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="4850d0096546d55b0bf9014e572598fd62523f5b" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-6.6_v3.1" BR2_LINUX_KERNEL_INTREE_DTS_NAME="phytium/pe2201-demo-ddr4 phytium/pe2202-chillipi-edu-board phytium/pe2202-demo-ddr4-local phytium/pe2202-demo-ddr4 phytium/pe2202-miniitx-board phytium/pe2202-power-board phytium/pe2204-come-board phytium/pe2204-demo-ddr4-local phytium/pe2204-demo-ddr4 phytium/pe2204-edu-board phytium/pe2204-hanwei-board phytium/pe2204-miniitx-board phytium/pe2204-vpx-board phytium/phytiumpi_firefly" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_DEFCONFIG="phytium" diff --git a/configs/xenomai_cobalt_6.6.config b/configs/xenomai_cobalt_6.6.config index cdbae15fc..a1ac2af39 100644 --- a/configs/xenomai_cobalt_6.6.config +++ b/configs/xenomai_cobalt_6.6.config @@ -1,6 +1,6 @@ # cobalt kernel 6.6.y-dovetail BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://gitee.com/phytium_embedded/linux-kernel-xenomai.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="a7407b31de245df31687bd6f1d0be51e2a023295" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-6.6.63-dovetail2_v3.1" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/cobalt.config" # xenomai libraries and tools BR2_PACKAGE_XENOMAI=y diff --git a/configs/xenomai_mercury_6.6.config b/configs/xenomai_mercury_6.6.config index 7458595d5..d9f3e957a 100644 --- a/configs/xenomai_mercury_6.6.config +++ b/configs/xenomai_mercury_6.6.config @@ -1,5 +1,5 @@ # kernel 6.6-rt -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="20635251686c50c94eeea2e8a71a99fb59ee80df" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="kernel-6.6-rt_v3.1" # xenomai libraries and tools BR2_PACKAGE_XENOMAI=y BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL=y diff --git a/package/igh-ethercat/igh-ethercat.mk b/package/igh-ethercat/igh-ethercat.mk index 07052b26c..6a163431a 100644 --- a/package/igh-ethercat/igh-ethercat.mk +++ b/package/igh-ethercat/igh-ethercat.mk @@ -4,7 +4,7 @@ # ################################################################################ -IGH_ETHERCAT_VERSION = dbbd80fa4bf93d2cc3a9ffc6623f678b1092a1fa +IGH_ETHERCAT_VERSION = stable-1.6_v3.1 IGH_ETHERCAT_SITE = https://gitee.com/phytium_embedded/ether-cat.git IGH_ETHERCAT_SITE_METHOD = git IGH_ETHERCAT_LICENSE = GPL-2.0 (IgH EtherCAT master), LGPL-2.1 (libraries) -- Gitee