From 12e5af82d068c6b0a4f5c35931db0b4e3df6cf86 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Mon, 21 Apr 2025 15:29:15 +0800 Subject: [PATCH 01/11] jailhouse: update patch Signed-off-by: weishanshan1084 --- configs/jailhouse.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/jailhouse.config b/configs/jailhouse.config index a34c37ba9..28ded1a84 100644 --- a/configs/jailhouse.config +++ b/configs/jailhouse.config @@ -6,4 +6,4 @@ BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS=y # kernel patch for e2000, kernel version of 4.19 and 5.10 -BR2_LINUX_KERNEL_PATCH="$(LINUX_PKGDIR)/kernel-patches/jailhouse/0001-modify-the-dts-of-e2000-linux-kernel-to-reserve-memo.patch" +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" -- Gitee From 247d778689f10c17c96271401e03010ea9a66a49 Mon Sep 17 00:00:00 2001 From: lindongping Date: Tue, 11 Feb 2025 19:25:37 +0800 Subject: [PATCH 02/11] add udev for monitor hotplug Signed-off-by: lindongping --- board/phytium/common/debian-package-installer | 8 +----- 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, 36 insertions(+), 10 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 33394c93f..e011e6f6a 100755 --- a/board/phytium/common/debian-package-installer +++ b/board/phytium/common/debian-package-installer @@ -61,17 +61,11 @@ do_distrorfs_second_stage() { echo installed additional packages. if [ $6 = desktop ]; then - for pkg in task-xfce-desktop ukui-greeter; do + for pkg in task-xfce-desktop; do DEBIAN_FRONTEND=noninteractive apt -y install $pkg || 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=ukui-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 2dbd42016..2876108ab 100755 --- a/board/phytium/common/ubuntu-package-installer +++ b/board/phytium/common/ubuntu-package-installer @@ -64,7 +64,7 @@ do_distrorfs_second_stage() { echo installed additional packages. if [ $6 = desktop ]; then - for pkg in xfce4 ukui-greeter; do + for pkg in xfce4 lightdm; do DEBIAN_FRONTEND=noninteractive apt -y install $pkg || true done if [ $2 = jammy ]; then @@ -85,8 +85,7 @@ do_distrorfs_second_stage() { 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=ukui-greeter' >> /etc/lightdm/lightdm.conf + echo '[SeatDefaults]' >> /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 4cc245b78..7e9e2336d 100644 --- a/package/phytium-desktop-tools/phytium-desktop-tools.mk +++ b/package/phytium-desktop-tools/phytium-desktop-tools.mk @@ -15,6 +15,10 @@ define PHYTIUM_DESKTOP_TOOLS_INSTALL_TARGET_CMDS $(if $(BR2_ROOTFS_SKELETON_UBUNTU_JAMMY),cp -rf $(@D)/Phytium/ $(TARGET_DIR)/usr/share/alsa/ucm2/) $(if $(BR2_ROOTFS_SKELETON_UBUNTU_FOCAL),cp -rf $(@D)/PMDK-I2S/ $(TARGET_DIR)/usr/share/alsa/ucm2/) $(if $(BR2_ROOTFS_SKELETON_UBUNTU_FOCAL),cp -rf $(@D)/phytium_pe220x-/ $(TARGET_DIR)/usr/share/alsa/ucm2/) + mkdir -p $(TARGET_DIR)/usr/local/bin/ + mkdir -p $(TARGET_DIR)/etc/udev/rules.d/ + $(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 e589578e375f7030742c484a45a27ee3a435bcf1 Mon Sep 17 00:00:00 2001 From: lindongping Date: Mon, 17 Feb 2025 14:18:32 +0800 Subject: [PATCH 03/11] set swap file size to default 4G Signed-off-by: lindongping --- 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..1c23ba471 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 0cd89511d4ba5829c58a3e9e27c4a69f7be60bf3 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Thu, 20 Feb 2025 15:06:49 +0800 Subject: [PATCH 04/11] 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 2876108ab..c953d9d98 100755 --- a/board/phytium/common/ubuntu-package-installer +++ b/board/phytium/common/ubuntu-package-installer @@ -78,6 +78,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 e62258cb5267601509c32de86ff13fc5d844a57f Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Tue, 18 Feb 2025 19:27:31 +0800 Subject: [PATCH 05/11] skeleton scripts: deleting skeleton-custom directory requires sudo permission Signed-off-by: weishanshan1084 --- board/phytium/common/post-custom-skeleton-debian-11.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-11.sh b/board/phytium/common/post-custom-skeleton-debian-11.sh index 8ad94e28d..63749f026 100755 --- a/board/phytium/common/post-custom-skeleton-debian-11.sh +++ b/board/phytium/common/post-custom-skeleton-debian-11.sh @@ -206,7 +206,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 bullseye 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 f49975013..8097a8ce0 100755 --- a/board/phytium/common/post-custom-skeleton-ubuntu.sh +++ b/board/phytium/common/post-custom-skeleton-ubuntu.sh @@ -235,7 +235,7 @@ ros2() 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) $(ros2) -- Gitee From f3054dbd0408c56a99e60a3d9858afb7bfd48095 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Mon, 24 Feb 2025 14:33:28 +0800 Subject: [PATCH 06/11] unity-greeter: disable suspend Signed-off-by: weishanshan1084 --- board/phytium/common/ubuntu-package-installer | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/board/phytium/common/ubuntu-package-installer b/board/phytium/common/ubuntu-package-installer index c953d9d98..7ca1ff4ca 100755 --- a/board/phytium/common/ubuntu-package-installer +++ b/board/phytium/common/ubuntu-package-installer @@ -65,7 +65,9 @@ do_distrorfs_second_stage() { echo installed additional packages. if [ $6 = desktop ]; then for pkg in xfce4 lightdm; do - DEBIAN_FRONTEND=noninteractive apt -y install $pkg || true + DEBIAN_FRONTEND=noninteractive apt -y install $pkg || true + DEBIAN_FRONTEND=noninteractive apt -y install dbus-x11 || true + sudo -u lightdm dbus-launch gsettings set com.canonical.unity.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing' || true done if [ $2 = jammy ]; then sed -i 's/debian-x-terminal-emulator/gnome-terminal/g' /etc/xdg/xfce4/helpers.rc || true -- Gitee From e7a6bcb2f4469840aeb2198edf74e86d8a7f61c5 Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Fri, 28 Feb 2025 10:12:04 +0800 Subject: [PATCH 07/11] upgrade buildroot from 2022.02 to 2022.02.12 squashed commits from 08967921c4 to 8dd8f39494 on branch 2022.02.x of the official buildroot repository Signed-off-by: weishanshan1084 --- .shellcheckrc | 0 CHANGES | 411 +++- Config.in | 5 +- Config.in.legacy | 148 +- DEVELOPERS | 249 +-- Makefile | 68 +- arch/Config.in | 4 +- arch/Config.in.arm | 3 + arch/Config.in.powerpc | 10 + arch/Config.in.riscv | 1 + arch/Config.in.sh | 5 +- arch/Config.in.x86 | 8 +- arch/arch.mk.xtensa | 7 +- board/asus/tinker/extlinux.conf | 2 +- board/asus/tinker/genimage.cfg | 11 +- board/asus/tinker/post-build.sh | 4 +- .../common/imx/imx8-bootloader-prepare.sh | 12 +- board/freescale/imx28evk/readme.txt | 2 +- board/freescale/imx6sabre/readme.txt | 12 +- board/freescale/imx6ulevk/readme.txt | 4 +- board/freescale/imx6ullevk/readme.txt | 2 +- board/qemu/ppc-bamboo/readme.txt | 2 +- board/solidrun/macchiatobin/readme.txt | 6 +- board/technologic/ts4900/readme.txt | 4 +- board/technologic/ts5500/readme.txt | 4 +- board/technologic/ts7680/readme.txt | 4 +- ...qmp-zcu102-revA-Fix-DP-PLL-configura.patch | 40 + ...fno-builtin-to-fix-build-with-gcc-10.patch | 6 +- .../0002-Makefile-drop-nostartfiles.patch | 40 + ...003-Makefile-disable-stack-protector.patch | 36 + boot/arm-trusted-firmware/Config.in | 5 - .../arm-trusted-firmware.mk | 17 +- boot/at91dataflashboot/Config.in | 2 +- boot/at91dataflashboot/at91dataflashboot.mk | 3 +- boot/barebox/barebox.mk | 9 +- boot/binaries-marvell/binaries-marvell.hash | 4 +- .../boot-wrapper-aarch64.mk | 3 +- ...ePkg-UsbBusDxe-fix-NOOPT-build-error.patch | 48 + boot/edk2/edk2.mk | 10 +- ...ub_fstest.pp-depend-on-config-util.h.patch | 45 + boot/grub2/grub2.hash | 4 +- boot/grub2/grub2.mk | 2 + ...01-Makefile-disable-stack-protection.patch | 34 + boot/mv-ddr-marvell/mv-ddr-marvell.hash | 4 +- boot/mv-ddr-marvell/mv-ddr-marvell.mk | 4 +- boot/mxs-bootlets/Config.in | 2 + boot/opensbi/opensbi.mk | 2 + boot/optee-os/Config.in | 7 + boot/optee-os/optee-os.hash | 4 +- boot/optee-os/optee-os.mk | 4 + boot/s500-bootloader/s500-bootloader.hash | 2 +- boot/shim/Config.in | 12 +- boot/shim/shim.hash | 4 +- boot/sun20i-d1-spl/sun20i-d1-spl.hash | 2 +- boot/sun20i-d1-spl/sun20i-d1-spl.mk | 2 +- boot/syslinux/syslinux.mk | 2 + boot/uboot/Config.in | 1 - boot/uboot/uboot.mk | 6 +- docs/manual/adding-packages-hooks.txt | 2 + docs/manual/common-usage.txt | 4 +- docs/manual/contribute.txt | 18 +- docs/manual/customize-configuration.txt | 4 +- docs/manual/customize-directory-structure.txt | 4 +- docs/manual/faq-troubleshooting.txt | 2 +- docs/manual/makeusers-syntax.txt | 13 + docs/manual/patch-policy.txt | 5 + docs/manual/prerequisite.txt | 2 + docs/manual/resources.txt | 2 +- fs/common.mk | 3 +- fs/erofs/erofs.mk | 6 + fs/oci/Config.in | 23 +- fs/oci/oci.mk | 28 +- linux/Config.ext.in | 3 + linux/Config.in | 17 +- linux/linux.hash | 19 +- linux/linux.mk | 36 +- package/Config.in | 4 +- package/abootimg/abootimg.hash | 4 +- ...Asynch_BIO.cpp-fix-build-with-libres.patch | 52 + package/ace/ace.hash | 5 +- package/ace/ace.mk | 29 +- package/acpitool/acpitool.hash | 4 +- package/adwaita-icon-theme/Config.in | 5 + package/aer-inject/aer-inject.mk | 3 +- package/aespipe/aespipe.hash | 6 +- ...01-Fix-build-when-SNMPv3-is-disabled.patch | 102 - package/agentpp/Config.in | 2 +- package/agentpp/agentpp.hash | 2 +- package/agentpp/agentpp.mk | 2 +- package/aircrack-ng/aircrack-ng.hash | 6 +- package/aircrack-ng/aircrack-ng.mk | 2 +- package/alchemy/alchemy.mk | 3 +- package/alsa-lib/alsa-lib.hash | 2 +- package/alsa-lib/alsa-lib.mk | 2 +- package/alsamixergui/alsamixergui.hash | 2 +- package/alure/alure.hash | 4 +- package/android-tools/android-tools.hash | 4 +- .../angular-websocket/angular-websocket.hash | 4 +- package/aoetools/aoetools.hash | 4 +- package/apache/Config.in | 2 +- package/apache/apache.hash | 6 +- package/apache/apache.mk | 15 +- package/apg/apg.mk | 3 +- package/apr-util/Config.in | 2 +- package/apr-util/apr-util.hash | 6 +- package/apr-util/apr-util.mk | 4 +- package/apr/0001-cross-compile.patch | 58 - ...s-param-h.patch => 0001-sys-param-h.patch} | 0 ...r1872164.-Fix-the-name-of-libtool-wh.patch | 30 + .../apr/0003-Merge-r1887279-from-trunk.patch | 69 - ...Add-the-ability-to-cross-compile-APR.patch | 112 + package/apr/Config.in | 2 +- package/apr/apr.hash | 6 +- package/apr/apr.mk | 8 +- package/argparse/argparse.hash | 4 +- package/argus/argus.hash | 6 +- .../arm-gnu-a-toolchain.hash | 2 +- package/arp-scan/arp-scan.hash | 4 +- ...tc-libarptc_incl.c-fix-build-with-O0.patch | 49 + package/arptables/arptables.hash | 4 +- package/ascii-invaders/ascii-invaders.hash | 4 +- package/assimp/Config.in | 7 +- package/assimp/assimp.mk | 1 + ...n-iostream.c-fix-build-with-libressl.patch | 38 + package/asterisk/asterisk.hash | 8 +- package/asterisk/asterisk.mk | 10 +- package/at-spi2-core/at-spi2-core.hash | 2 +- package/at-spi2-core/at-spi2-core.mk | 2 +- package/atest/atest.hash | 4 +- package/atf/atf.hash | 4 +- package/aubio/aubio.hash | 4 +- package/aubio/aubio.mk | 1 + package/audit/audit.mk | 7 + package/autossh/autossh.hash | 8 +- package/avahi/S05avahi-setup.sh | 2 +- package/avahi/avahi.hash | 4 +- package/avrdude/Config.in | 6 +- ...apters-fix-build-with-libressl-2.8.0.patch | 85 + package/b43-firmware/b43-firmware.hash | 4 +- package/b43-fwcutter/b43-fwcutter.hash | 4 +- package/babeltrace2/babeltrace2.mk | 2 +- package/bandwidthd/Config.in | 4 + package/bash/bash.mk | 4 +- package/batman-adv/batman-adv.mk | 1 + ...-src-convert.c-remove-have_cplusplus.patch | 56 + package/bc/bc.hash | 6 +- package/bcache-tools/bcache-tools.hash | 4 +- package/bcg729/bcg729.hash | 4 +- package/bdwgc/bdwgc.hash | 4 +- package/bdwgc/bdwgc.mk | 3 + .../0001-Fix-missing-objdir-dependency.patch | 1252 +++++++++++ package/belle-sip/belle-sip.mk | 2 +- package/belr/belr.mk | 5 +- package/berkeleydb/berkeleydb.hash | 4 +- package/bind/Config.in | 12 +- package/bind/bind.hash | 6 +- package/bind/bind.mk | 60 +- package/binutils/Config.in.host | 9 - package/biosdevname/biosdevname.hash | 4 +- ...gure.ac-fix-build-with-autoconf-2.70.patch | 33 + package/bird/bird.mk | 2 + package/bitstream/bitstream.hash | 6 +- ...rc-shared-util.h-include-sys-types.h.patch | 39 + package/bluez5_utils/Config.in | 16 + package/boinc/boinc.mk | 11 +- package/bonnie/bonnie.hash | 2 +- package/boost/boost.mk | 4 +- ...01-Add-superh-alias-needed-by-Debian.patch | 22 + ...d-a-miscompilation-issue-in-clang-12.patch | 144 -- ...-data-arch-superh.txt-add-sh4-eb-aeb.patch | 30 + package/botan/Config.in | 2 - package/botan/botan.hash | 4 +- package/botan/botan.mk | 9 +- ...strapping-during-a-cross-compilation.patch | 96 + package/bpftool/Config.in | 13 + package/bpftool/bpftool.hash | 2 +- package/bpftool/bpftool.mk | 2 +- package/bridge-utils/Config.in | 2 +- package/brltty/Config.in | 2 +- package/brotli/brotli.mk | 6 + package/bsdiff/bsdiff.hash | 2 +- ...wk-fix-use-after-free-CVE-2022-30065.patch | 52 + ...tr-ensure-only-printable-characters-.patch | 42 + ...e-all-printed-strings-with-printable.patch | 69 + package/busybox/busybox-minimal.config | 2 +- package/busybox/busybox.mk | 11 +- package/bzip2/bzip2.hash | 4 +- package/c-ares/c-ares.hash | 2 +- package/c-ares/c-ares.mk | 2 +- package/c-capnproto/Config.in | 2 +- ...2pem.py-make-cryptography-module-opt.patch | 27 +- package/ca-certificates/ca-certificates.hash | 4 +- package/ca-certificates/ca-certificates.mk | 4 +- .../cache-calibrator/cache-calibrator.hash | 4 +- package/cage/cage.hash | 4 +- ...or_tolerance_normalized-fix-infinite.patch | 39 + ...4-Fix-mask-usage-in-image-compositor.patch | 56 + package/cairo/cairo.hash | 10 +- package/cairo/cairo.mk | 13 +- package/capnproto/capnproto.hash | 2 +- package/capnproto/capnproto.mk | 2 +- package/caps/caps.hash | 4 +- package/cbootimage/cbootimage.hash | 4 +- package/cctz/cctz.hash | 4 +- package/cgic/cgic.hash | 4 +- package/cgilua/cgilua.hash | 4 +- package/chartjs/chartjs.hash | 4 +- package/check/check.mk | 1 + package/checkpolicy/checkpolicy.mk | 5 - package/chipmunk/chipmunk.hash | 4 +- package/cifs-utils/cifs-utils.hash | 2 +- package/cifs-utils/cifs-utils.mk | 2 +- package/clamav/Config.in | 1 + package/clamav/clamav.hash | 2 +- package/clamav/clamav.mk | 5 +- package/clang/clang.hash | 4 +- package/cloop/cloop.mk | 2 +- package/cmocka/cmocka.hash | 4 +- package/cog/Config.in | 13 +- package/cog/cog.hash | 8 +- package/cog/cog.mk | 4 +- package/collectd/Config.in | 4 + package/collectd/collectd.hash | 8 +- package/collectd/collectd.mk | 8 + package/comix-cursors/comix-cursors.hash | 2 +- package/connman-gtk/connman-gtk.hash | 4 +- ...-gweb-Fix-OOB-write-in-received_data.patch | 36 + ...-reference-counter-to-portal-context.patch | 142 ++ ...spr-Update-portal-context-references.patch | 175 ++ package/connman/Config.in | 8 + package/connman/connman.mk | 13 + package/conntrack-tools/conntrack-tools.hash | 4 +- package/containerd/containerd.hash | 2 +- package/containerd/containerd.mk | 2 +- package/copas/copas.hash | 4 +- package/coremark/coremark.mk | 1 + package/coreutils/coreutils.hash | 4 +- package/coxpcall/coxpcall.hash | 4 +- package/cpio/cpio.hash | 8 +- package/cppcms/Config.in | 3 - package/cppcms/cppcms.hash | 12 +- package/cppcms/cppcms.mk | 23 +- package/cppdb/cppdb.hash | 4 +- package/cppunit/cppunit.hash | 6 +- package/cpuburn-arm/cpuburn-arm.hash | 4 +- package/cpuload/cpuload.hash | 4 +- package/cracklib/cracklib.hash | 6 +- package/cryptodev-linux/cryptodev-linux.mk | 5 + package/ctorrent/ctorrent.hash | 2 +- package/cunit/cunit.hash | 4 +- package/cups-filters/cups-filters.hash | 4 +- package/cups-pk-helper/Config.in | 4 + package/cups/Config.in | 2 +- package/cups/cups.hash | 4 +- package/cups/cups.mk | 12 +- package/curlpp/curlpp.hash | 4 +- package/cwiid/Config.in | 8 +- package/cwiid/cwiid.hash | 4 +- package/cxxtest/cxxtest.hash | 4 +- package/czmq/czmq.hash | 8 +- package/dacapo/dacapo.hash | 4 +- package/dado/dado.hash | 4 +- package/dahdi-linux/Config.in | 2 +- package/dahdi-linux/dahdi-linux.mk | 3 +- ...vars-outside-of-for-loop-for-std-c90.patch | 39 - package/darkhttpd/darkhttpd.hash | 4 +- package/darkhttpd/darkhttpd.mk | 3 +- package/dash/dash.mk | 4 + .../datatables-buttons.hash | 4 +- .../datatables-fixedcolumns.hash | 4 +- .../datatables-responsive.hash | 4 +- package/datatables/datatables.hash | 4 +- package/dav1d/dav1d.hash | 3 +- package/dav1d/dav1d.mk | 4 +- package/dbus/dbus.hash | 4 +- package/dbus/dbus.mk | 2 +- package/dc3dd/dc3dd.hash | 2 +- package/dcron/0002-system-crontab.patch | 28 + package/debianutils/debianutils.hash | 4 +- ...e-ISC-DHCP-does-not-build-with-gcc10.patch | 121 - package/dhcp/Config.in | 1 - package/dhcp/dhcp.hash | 6 +- package/dhcp/dhcp.mk | 41 +- package/dhcpdump/dhcpdump.hash | 4 +- package/dhrystone/dhrystone.hash | 2 +- .../0005-Remove-defunct-rgb_operm.patch | 732 ++++++ package/dieharder/dieharder.hash | 4 +- ...-Fix-compilation-error-on-arceb-CPUs.patch | 41 + ...ort-for-Linux-PowerPC-32-bit-with-mu.patch | 58 + package/diffutils/diffutils.mk | 1 - package/ding-libs/ding-libs.hash | 6 +- package/directfb/directfb.mk | 1 - ...=> 0001-configure-fix-build-on-mips.patch} | 55 +- .../0002-return-Fix-PowerPC-assembly.patch | 54 + ...onfigure-allow-overriding-some-tests.patch | 80 + ...-configure-detected-or-user-supplied.patch | 50 + ...ure-use-LD-instead-of-hard-coding-ld.patch | 67 + package/dmalloc/dmalloc.mk | 23 +- package/dmraid/dmraid.hash | 2 +- ...-src-option.c-fix-build-with-gcc-4.8.patch | 52 - ...9080ff8743133fbd52427b4b2213171-typo.patch | 36 - ...-not-DNSSEC-compile-options-selected.patch | 34 - ...src-pattern.c-fix-build-with-gcc-4.8.patch | 57 - package/dnsmasq/dnsmasq.hash | 6 +- package/dnsmasq/dnsmasq.mk | 5 +- package/docker-cli/docker-cli.hash | 2 +- package/docker-cli/docker-cli.mk | 2 +- package/docker-compose/docker-compose.hash | 4 +- package/docker-engine/docker-engine.hash | 2 +- package/docker-engine/docker-engine.mk | 2 +- package/docker-proxy/docker-proxy.hash | 4 +- package/doom-wad/doom-wad.hash | 2 +- package/dos2unix/dos2unix.hash | 4 +- .../dovecot-pigeonhole.hash | 2 +- .../dovecot-pigeonhole/dovecot-pigeonhole.mk | 2 +- ...g-passdbs-with-identical-driver-args.patch | 136 ++ package/dovecot/dovecot.hash | 2 +- package/dovecot/dovecot.mk | 5 +- package/dt/dt.hash | 6 +- package/duktape/Config.in | 4 + package/dump1090/dump1090.hash | 4 +- package/dvblast/dvblast.hash | 8 +- package/dvdauthor/dvdauthor.hash | 4 +- ...-sanity-check-to-extent-manipulation.patch | 59 + package/e2fsprogs/e2fsprogs.mk | 3 + package/e2tools/e2tools.hash | 4 +- package/ecryptfs-utils/ecryptfs-utils.hash | 6 +- package/ecryptfs-utils/ecryptfs-utils.mk | 25 +- package/edk2-platforms/edk2-platforms.mk | 4 +- package/efivar/efivar.hash | 4 +- package/efl/Config.in | 35 +- package/efl/efl.mk | 11 +- ...> 0001-elf2flt-handle-binutils-2.34.patch} | 78 +- ...e-properly-when-called-with-a-name-d.patch | 79 - ...2-elf2flt-add-riscv-64-bits-support.patch} | 38 +- ...-add-new-relocation-types-for-xtensa.patch | 188 -- ...2flt-create-a-common-helper-function.patch | 76 + ...l-error-regression-on-m68k-xtensa-ri.patch | 74 + ...-elf2flt-xtensa-fix-text-relocations.patch | 51 + package/elf2flt/elf2flt.hash | 2 +- package/elf2flt/elf2flt.mk | 4 +- package/elftosb/elftosb.hash | 2 +- package/elixir/elixir.hash | 4 +- package/ell/ell.hash | 2 +- package/ell/ell.mk | 2 +- package/emlog/emlog.hash | 4 +- package/enscript/enscript.hash | 4 +- .../erlang-base64url/erlang-base64url.hash | 4 +- package/erlang-goldrush/erlang-goldrush.hash | 4 +- package/erlang-idna/erlang-idna.hash | 4 +- package/erlang-jose/erlang-jose.hash | 4 +- package/erlang-lager/erlang-lager.hash | 4 +- package/erlang-rebar/erlang-rebar.hash | 4 +- package/espeak/espeak.mk | 3 +- ...mpile-time-issue-on-very-old-kernels.patch | 44 + package/evtest/evtest.hash | 4 +- package/exempi/exempi.hash | 2 +- package/exempi/exempi.mk | 6 +- package/exfat-utils/exfat-utils.hash | 4 +- package/exfat-utils/exfat-utils.mk | 4 +- package/exfat/Config.in | 2 +- package/exfat/exfat.hash | 4 +- package/exfat/exfat.mk | 7 +- package/exfatprogs/exfatprogs.mk | 2 - package/exim/0004-Fix-uClibc-build.patch | 35 - ...lock-fix-lstat-related-build-errors.patch} | 0 ...atch => 0005-sieve-fix-build-errors.patch} | 0 ...Fix-regex-n-use-after-free.-Bug-2915.patch | 173 ++ ...0007-Fix-non-WITH_CONTENT_SCAN-build.patch | 61 + ...08-Fix-non-WITH_CONTENT_SCAN-build-2.patch | 139 ++ ...09-Fix-non-WITH_CONTENT_SCAN-build-3.patch | 49 + package/exim/Config.in | 2 +- package/exim/exim.hash | 4 +- package/exim/exim.mk | 16 +- package/expat/expat.hash | 10 +- package/expat/expat.mk | 9 +- ...1-configure-ac-fix-cross-compilation.patch | 88 + ...s-tools-fix-build-error-on-lz4-1-9-4.patch | 34 + package/f2fs-tools/f2fs-tools.hash | 4 +- package/f2fs-tools/f2fs-tools.mk | 21 +- package/faad2/faad2.hash | 2 +- package/faad2/faad2.mk | 4 +- .../0001-fix-prototype-generation.patch | 61 + package/fan-ctrl/fan-ctrl.hash | 2 +- package/fbdump/fbdump.hash | 4 +- package/fbterm/fbterm.hash | 2 +- .../{0002-cross.patch => 0001-cross.patch} | 0 ...002-fix-24bpp-support-on-big-endian.patch} | 0 ...fix-bgr555.patch => 0003-fix-bgr555.patch} | 0 .../{0005-giflib.patch => 0004-giflib.patch} | 0 ...{0006-include.patch => 0005-include.patch} | 0 ...007-libpng15.patch => 0006-libpng15.patch} | 0 .../0007-gif.c-fic-build-with-gcc-10.patch | 36 + package/feh/feh.hash | 4 +- package/ffmpeg/ffmpeg.mk | 6 +- package/fftw/fftw.hash | 6 +- .../0002-Makefile.linux-pass-LDFLAGS.patch | 35 + package/firmware-utils/firmware-utils.mk | 3 +- package/flac/flac.mk | 3 +- package/flannel/flannel.hash | 4 +- package/flashbench/flashbench.mk | 3 +- package/flatcc/flatcc.hash | 4 +- package/flex/flex.hash | 4 +- package/flickcurl/flickcurl.hash | 10 +- package/flot/flot.hash | 4 +- package/fluid-soundfont/fluid-soundfont.hash | 4 +- package/fluidsynth/Config.in | 5 +- package/fluidsynth/fluidsynth.hash | 2 +- package/fluidsynth/fluidsynth.mk | 2 +- package/fmc/Config.in | 4 +- package/fmc/fmc.hash | 2 +- package/fmc/fmc.mk | 5 +- package/fmlib/Config.in | 4 +- package/fmlib/fmlib.hash | 2 +- package/fmlib/fmlib.mk | 5 +- package/font-awesome/font-awesome.hash | 2 +- package/fontconfig/fontconfig.hash | 4 +- package/freerdp/freerdp.hash | 4 +- package/freerdp/freerdp.mk | 2 +- package/freescale-imx/freescale-imx.mk | 2 +- .../freescale-imx/imx-alsa-plugins/Config.in | 2 + .../imx-alsa-plugins/imx-alsa-plugins.hash | 2 +- .../imx-alsa-plugins/imx-alsa-plugins.mk | 3 +- .../freescale-imx/imx-gpu-viv/imx-gpu-viv.mk | 2 +- package/freescale-imx/imx-kobs/Config.in | 3 +- package/freescale-imx/imx-kobs/imx-kobs.mk | 2 +- package/freescale-imx/imx-lib/Config.in | 3 +- package/freescale-imx/imx-lib/imx-lib.mk | 2 +- .../freescale-imx/imx-m4fwloader/Config.in | 2 +- .../imx-m4fwloader/imx-m4fwloader.hash | 4 +- .../imx-m4fwloader/imx-m4fwloader.mk | 2 +- package/freescale-imx/imx-uuc/imx-uuc.hash | 4 +- ...build-SWITCH_BYTE_ORDER-__BIG_ENDIAN.patch | 26 - ...-hash-hmac_ossl.c-fix-build-with-lib.patch | 59 + .../0002-core-fix--disable-libyuv.patch | 129 -- package/freeswitch/freeswitch.hash | 6 +- package/freeswitch/freeswitch.mk | 18 +- .../0001-sfnt-Avoid-invalid-face-index.patch | 46 + ...c-ft_open_face_internal-Properly-gua.patch | 39 + ...js.c-FT_Request_Size-Guard-face-size.patch | 30 + package/freetype/freetype.mk | 7 + package/fscryptctl/fscryptctl.hash | 4 +- package/fstrcmp/fstrcmp.hash | 8 +- package/ftop/ftop.hash | 8 +- package/fwts/fwts.mk | 2 +- package/fxload/0001-fix-static-build.patch | 25 + ...04-Remove-cyclades-from-libsanitizer.patch | 125 -- ...get-92095-internal-error-with-O1-mcp.patch | 26 +- ...-mcmodel-option-to-handle-large-GOTs.patch | 10 +- ...-cmodel-large-when-building-crtstuff.patch | 8 +- ...RANT-for-OpenRISC-when-pthread-is-p.patch} | 6 +- ...le-split-stack-for-non-thread-builds.patch | 26 + ...-mcmodel-option-to-handle-large-GOTs.patch | 10 +- ...-cmodel-large-when-building-crtstuff.patch | 8 +- ...TRANT-for-OpenRISC-when-pthread-is-p.patch | 6 +- ...le-split-stack-for-non-thread-builds.patch | 26 + .../11.3.0/0005-rs6000-Improve-.machine.patch | 120 + ...e-rs6000_cpu-for-.machine-ppc-and-pp.patch | 68 + ...le-split-stack-for-non-thread-builds.patch | 26 + package/gcc/Config.in.host | 11 +- package/gcc/gcc-initial/gcc-initial.mk | 9 +- package/gcc/gcc.hash | 12 +- package/gcc/gcc.mk | 2 +- package/gcnano-binaries/Config.in | 2 +- package/gcnano-binaries/gcnano-binaries.hash | 4 +- package/gconf/gconf.hash | 4 +- .../0009-gdb-Fix-native-build-on-xtensa.patch | 57 + .../0009-gdb-Fix-native-build-on-xtensa.patch | 57 + .../0009-gdb-Fix-native-build-on-xtensa.patch | 57 + package/gdb/Config.in | 1 + package/gdb/gdb.mk | 12 +- package/gdk-pixbuf/gdk-pixbuf.hash | 4 +- package/gdk-pixbuf/gdk-pixbuf.mk | 28 +- package/gengetopt/gengetopt.hash | 6 +- package/genpart/genpart.hash | 2 +- package/gensio/Config.in | 1 + package/geoip/geoip.hash | 4 +- package/gflags/gflags.hash | 4 +- .../ghostscript-fonts/ghostscript-fonts.hash | 6 +- ...05-Fix-typo-in-non-forked-lcms2-code.patch | 28 - package/ghostscript/ghostscript.hash | 4 +- package/ghostscript/ghostscript.mk | 2 +- package/giflib/giflib.hash | 6 +- package/git-crypt/git-crypt.hash | 6 +- package/git/git.hash | 2 +- package/git/git.mk | 5 +- package/gli/gli.hash | 4 +- package/glib-networking/Config.in | 1 + package/glib-networking/glib-networking.mk | 4 +- ...ot-posix-conformant-on-microblaze-wi.patch | 37 + package/glibc/Config.in | 2 +- package/glm/glm.hash | 4 +- .../0001-Add-support-for-Apple-silicon.patch | 51 + ...s256.c-fix-aarch64-build-with-uclibc.patch | 43 + package/glorytun/glorytun.hash | 4 +- package/glslsandbox-player/Config.in | 19 +- .../glslsandbox-player/glslsandbox-player.mk | 19 +- package/gnu-efi/gnu-efi.hash | 8 +- package/gnupg2/0001-ks_ldap_free_state.patch | 21 + package/gnupg2/gnupg2.hash | 10 +- package/gnupg2/gnupg2.mk | 4 +- package/gnuradio/gnuradio.hash | 4 +- package/gnutls/Config.in | 4 +- package/gnutls/gnutls.hash | 4 +- package/gnutls/gnutls.mk | 61 +- ...explicit-option-for-crosscompilation.patch | 8 +- ...use-gohostarch-for-ssa-rewrite-check.patch | 95 + ...03-runtime-support-riscv64-SV57-mode.patch | 65 + package/go/Config.in.host | 8 +- package/go/go.hash | 4 +- package/go/go.mk | 10 +- package/gob2/gob2.hash | 6 +- .../gobject-introspection.mk | 3 +- .../googlefontdirectory.hash | 1982 ++++++++--------- package/gperf/gperf.hash | 4 +- package/gperf/gperf.mk | 2 - package/gpsd/br-chrony.conf | 2 + package/gpsd/gpsd.mk | 10 +- package/granite/Config.in | 6 +- package/graphicsmagick/graphicsmagick.hash | 4 +- package/graphicsmagick/graphicsmagick.mk | 2 +- ...01-configure.ac-fix-build-on-powerpc.patch | 53 + package/gsl/gsl.mk | 2 + 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-imx/Config.in | 10 +- package/gstreamer1/gst1-imx/gst1-imx.hash | 4 +- package/gstreamer1/gst1-libav/gst1-libav.hash | 4 +- package/gstreamer1/gst1-libav/gst1-libav.mk | 2 +- package/gstreamer1/gst1-plugins-bad/Config.in | 15 +- .../gst1-plugins-bad/gst1-plugins-bad.hash | 4 +- .../gst1-plugins-bad/gst1-plugins-bad.mk | 2 +- .../gstreamer1/gst1-plugins-base/Config.in | 10 +- .../gst1-plugins-base/gst1-plugins-base.hash | 4 +- .../gst1-plugins-base/gst1-plugins-base.mk | 2 +- .../gst1-plugins-good/gst1-plugins-good.hash | 4 +- .../gst1-plugins-good/gst1-plugins-good.mk | 7 +- .../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/Config.in | 5 +- 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/Config.in | 12 +- package/gtest/gtest.hash | 2 +- package/gtest/gtest.mk | 20 +- package/gtkmm3/gtkmm3.hash | 2 +- package/gtksourceview/gtksourceview.hash | 4 +- package/gzip/gzip.hash | 4 +- package/gzip/gzip.mk | 2 +- package/hans/hans.hash | 4 +- package/haproxy/haproxy.hash | 4 +- package/haproxy/haproxy.mk | 2 +- package/hdparm/hdparm.hash | 2 +- package/heimdal/heimdal.hash | 6 +- package/heimdal/heimdal.mk | 2 +- ...-support-since-it-is-no-longer-suppo.patch | 42 - ....patch => 0001-fix-libressl-support.patch} | 0 package/heirloom-mailx/heirloom-mailx.hash | 5 +- package/heirloom-mailx/heirloom-mailx.mk | 5 +- ...ic-name-for-IEEE802.11-CRC-32-routin.patch | 102 + ...igure.ac-fix-static-build-with-hwloc.patch | 54 + package/htop/htop.hash | 4 +- package/htop/htop.mk | 7 +- package/httping/httping.hash | 4 +- package/i2pd/i2pd.mk | 2 + package/ibrcommon/ibrcommon.hash | 6 +- package/icu/icu.mk | 7 + package/ifenslave/ifenslave.hash | 2 +- package/ifmetric/ifmetric.hash | 6 +- package/igh-ethercat/igh-ethercat.mk | 1 + package/ijs/ijs.hash | 4 +- package/ima-evm-utils/ima-evm-utils.hash | 4 +- package/ima-evm-utils/ima-evm-utils.mk | 1 + package/imagemagick/Config.in.host | 5 + package/imagemagick/imagemagick.hash | 4 +- package/imagemagick/imagemagick.mk | 8 +- package/intel-gmmlib/Config.in | 7 +- package/intel-mediadriver/Config.in | 4 +- package/intel-microcode/intel-microcode.hash | 2 +- package/intel-microcode/intel-microcode.mk | 2 +- package/intltool/intltool.hash | 6 +- package/iodine/iodine.hash | 2 +- package/ipmiutil/ipmiutil.mk | 4 +- package/iptables/iptables.mk | 3 +- package/iputils/iputils.hash | 8 +- package/irrlicht/irrlicht.hash | 4 +- package/iucode-tool/iucode-tool.hash | 4 +- package/iucode-tool/iucode-tool.mk | 6 +- ...-declaration-of-function-explicit_bz.patch | 41 - package/iwd/iwd.hash | 2 +- package/iwd/iwd.mk | 16 +- package/jack1/Config.in | 2 - package/jack1/jack1.hash | 8 +- package/jack1/jack1.mk | 10 +- package/jack2/Config.in | 6 +- package/jack2/jack2.hash | 2 +- package/jack2/jack2.mk | 38 +- package/janet/janet.hash | 2 +- package/janet/janet.mk | 2 +- package/janus-gateway/janus-gateway.mk | 12 + package/janus-gateway/janus-gateway.service | 13 + package/jemalloc/jemalloc.hash | 4 +- package/joe/joe.hash | 8 +- ...dd-option-to-skip-building-man-pages.patch | 64 + package/jose/jose.mk | 1 + package/jpeg/Config.in | 3 +- package/jquery-ui-themes/Config.in | 2 +- .../jquery-validation/jquery-validation.hash | 4 +- .../jquery-validation/jquery-validation.mk | 4 +- package/jquery/jquery.hash | 2 +- package/jsmin/jsmin.hash | 4 +- package/jsmn/jsmn.hash | 4 +- package/json-glib/json-glib.hash | 4 +- ...null-prototype-object-for-this-files.patch | 56 - package/jszip/jszip.hash | 4 +- package/jszip/jszip.mk | 5 +- .../0003-fix-build-with-libressl.patch | 50 + package/kexec/kexec.mk | 2 + package/keyutils/keyutils.mk | 1 + package/kodi/Config.in | 11 +- package/kodi/kodi.mk | 10 +- ...e-use-autoconf-CXX-for-proper-builds.patch | 27 - .../0002-append-to-cflags-and-cxxflags.patch | 49 - package/kompexsqlite/kompexsqlite.hash | 5 +- package/kompexsqlite/kompexsqlite.mk | 45 +- package/ktap/ktap.hash | 4 +- package/kvazaar/kvazaar.hash | 4 +- package/kvm-unit-tests/Config.in | 2 +- package/kvm-unit-tests/kvm-unit-tests.mk | 2 +- package/kyua/kyua.hash | 4 +- package/lbreakout2/lbreakout2.hash | 4 +- package/lcdproc/Config.in | 2 +- package/lcms2/lcms2.hash | 4 +- package/lcms2/lcms2.mk | 5 +- package/leafnode2/leafnode2.mk | 2 +- package/lensfun/lensfun.hash | 4 +- ...-on-invalid-embedded-escape-sequence.patch | 27 + package/less/less.mk | 3 + ..._ssl.c-fix-build-with-libressl-2.7.0.patch | 36 + .../0002-fix-build-with-uclibc-ng.patch | 62 + ...direct_mmap-h-fix-musl-build-on-mips.patch | 55 + package/libabseil-cpp/Config.in | 4 + package/libabseil-cpp/libabseil-cpp.mk | 6 +- package/libaio/libaio.hash | 2 +- package/libao/libao.hash | 4 +- ...chive-Handle-a-calloc-returning-NULL.patch | 38 + package/libarchive/libarchive.hash | 2 +- package/libarchive/libarchive.mk | 5 +- package/libart/libart.hash | 4 +- package/libasplib/libasplib.hash | 4 +- package/libatasmart/libatasmart.hash | 4 +- package/libavl/libavl.hash | 4 +- package/libbacktrace/libbacktrace.hash | 4 +- package/libbdplus/libbdplus.hash | 4 +- package/libblockdev/Config.in | 6 +- package/libbluray/libbluray.hash | 4 +- package/libbluray/libbluray.mk | 2 +- ...cross-compilation-for-32-bit-targets.patch | 38 + ...01-src-local-elf.h-fix-big-endian-sh.patch | 39 + package/libbson/libbson.hash | 6 +- ...preview-compile-conversion-from-Wind.patch | 39 + package/libcamera-apps/Config.in | 1 + package/libcamera/Config.in | 7 +- package/libcamera/libcamera.mk | 27 + package/libcddb/libcddb.hash | 4 +- .../libcdio-paranoia/libcdio-paranoia.hash | 4 +- package/libcdio/libcdio.hash | 4 +- .../0001-cecloader-h-fix-null-return.patch | 37 + package/libcec/libcec.mk | 1 - ...-CMakeLists.txt-honour-BUILD_TESTING.patch | 44 + package/libcgi/libcgi.hash | 2 +- package/libcgicc/libcgicc.hash | 2 +- package/libcoap/libcoap.mk | 2 +- ...rminated-username-used-with-getpwnam.patch | 43 + package/libconfuse/libconfuse.mk | 3 + package/libcorrect/libcorrect.hash | 4 +- package/libcsv/libcsv.hash | 4 +- package/libcue/libcue.hash | 4 +- package/libcuefile/libcuefile.hash | 6 +- package/libcurl/Config.in | 16 +- package/libcurl/libcurl.hash | 6 +- package/libcurl/libcurl.mk | 35 +- package/libcutl/libcutl.hash | 6 +- package/libdaemon/libdaemon.hash | 4 +- package/libdcadec/libdcadec.hash | 4 +- package/libdri2/libdri2.hash | 4 +- package/libdvbcsa/libdvbcsa.hash | 6 +- package/libdvbpsi/libdvbpsi.hash | 6 +- ...dtls.c-fix-build-with-libressl-3.4.1.patch | 43 + package/libeastl/Config.in | 6 +- package/libeastl/libeastl.hash | 4 +- package/libee/libee.hash | 4 +- package/libenca/libenca.hash | 4 +- package/libest/Config.in | 2 + package/libest/libest.mk | 14 +- package/libestr/libestr.hash | 4 +- package/libev/libev.mk | 7 + package/libevdev/libevdev.hash | 6 +- package/libevdev/libevdev.mk | 2 +- package/libfcgi/libfcgi.hash | 4 +- package/libfreefare/libfreefare.hash | 4 +- package/libfreeglut/libfreeglut.hash | 8 +- .../0004-fixed-C-11-warnings.patch | 94 + package/libfreeimage/libfreeimage.hash | 12 +- package/libfribidi/libfribidi.hash | 2 +- package/libfribidi/libfribidi.mk | 2 +- ...ix-static-build-with-libusb-and-lato.patch | 47 + package/libftdi1/libftdi1.mk | 2 +- package/libfuse/libfuse.hash | 6 +- package/libgcrypt/libgcrypt.mk | 4 +- package/libgdiplus/libgdiplus.hash | 4 +- package/libgee/Config.in | 6 +- package/libgit2/Config.in | 10 + package/libgit2/libgit2.hash | 4 +- package/libgit2/libgit2.mk | 24 +- package/libglade/libglade.hash | 4 +- .../0002-remove-cpp-requirement.patch | 6 +- ...mat-nonliteral-to-compiler-arguments.patch | 2 +- ...girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch | 4 +- package/libglib2/libglib2.hash | 4 +- package/libglib2/libglib2.mk | 2 +- package/libglvnd/Config.in | 2 +- package/libgpg-error/Config.in | 4 +- package/libgpgme/libgpgme.mk | 2 +- package/libgtk3/libgtk3.hash | 4 +- package/libgtk3/libgtk3.mk | 2 +- package/libhtp/libhtp.hash | 2 +- package/libhtp/libhtp.mk | 2 +- package/libical/libical.hash | 4 +- package/libiconv/libiconv.hash | 6 +- package/libidn2/libidn2.mk | 2 + package/libiec61850/libiec61850.hash | 2 +- package/libiec61850/libiec61850.mk | 4 +- package/libiio/Config.in | 2 +- package/libiio/libiio.hash | 4 +- package/libimxvpuapi/libimxvpuapi.hash | 4 +- package/libinput/libinput.hash | 5 +- package/libinput/libinput.mk | 24 +- package/libiscsi/libiscsi.hash | 8 +- package/libkcapi/libkcapi.hash | 8 +- package/libkcapi/libkcapi.mk | 1 + ...-deref-on-TGS-inner-body-null-server.patch | 47 - package/libkrb5/libkrb5.hash | 4 +- package/libkrb5/libkrb5.mk | 16 +- ...-CMakeLists.txt-honour-BUILD_TESTING.patch | 41 + package/libks/Config.in | 6 +- package/libks/libks.hash | 2 +- package/libks/libks.mk | 2 +- package/libksba/libksba.hash | 2 +- package/libksba/libksba.mk | 4 +- package/libllcp/libllcp.hash | 4 +- .../liblog4c-localtime.hash | 4 +- package/liblogging/liblogging.hash | 4 +- package/libloki/libloki.hash | 6 +- package/libmad/libmad.mk | 7 + package/libmbim/libmbim.mk | 2 +- package/libmbus/libmbus.hash | 4 +- package/libmdbx/Config.in | 2 +- package/libmdbx/libmdbx.hash | 4 +- package/libmdbx/libmdbx.mk | 7 +- package/libmediaart/libmediaart.mk | 3 + package/libmemcached/libmemcached.hash | 4 +- package/libmicrohttpd/libmicrohttpd.hash | 2 +- package/libmicrohttpd/libmicrohttpd.mk | 2 +- package/libminiupnpc/libminiupnpc.mk | 1 + package/libmng/libmng.hash | 6 +- package/libmng/libmng.mk | 2 +- package/libmnl/libmnl.hash | 11 +- package/libmnl/libmnl.mk | 2 +- ...build-pcre.m4-fix-build-without-pcre.patch | 29 + package/libmodsecurity/Config.in | 11 +- package/libmodsecurity/libmodsecurity.hash | 4 +- package/libmodsecurity/libmodsecurity.mk | 9 +- package/libmpd/libmpd.hash | 4 +- package/libmspack/libmspack.hash | 4 +- package/libnatpmp/libnatpmp.hash | 4 +- package/libnet/libnet.hash | 2 +- package/libnetconf2/libnetconf2.mk | 2 +- .../libnetfilter_acct/libnetfilter_acct.hash | 6 +- .../libnetfilter_cthelper.hash | 6 +- .../libnetfilter_cttimeout.hash | 6 +- package/libnfnetlink/libnfnetlink.hash | 6 +- package/libnfs/libnfs.hash | 10 +- package/libnftnl/Config.in | 10 - package/libnftnl/libnftnl.mk | 7 - package/libnids/libnids.hash | 4 +- package/libnl/libnl.hash | 6 +- package/libnpth/libnpth.hash | 4 +- package/libnpupnp/libnpupnp.hash | 4 +- package/libnpupnp/libnpupnp.mk | 2 +- ...-1765100-fix-build-on-mips-musl-libc.patch | 33 + package/libodb-boost/libodb-boost.mk | 3 + package/libodb-mysql/libodb-mysql.hash | 6 +- package/libodb-pgsql/libodb-pgsql.hash | 6 +- package/libodb/libodb.hash | 6 +- package/libodb/libodb.mk | 2 + package/libolm/libolm.mk | 2 + package/libopenaptx/libopenaptx.hash | 4 +- package/libopenssl/Config.in | 5 +- package/libopenssl/libopenssl.hash | 4 +- package/libopenssl/libopenssl.mk | 20 +- ...port.patch => 0001-fix-utf8-support.patch} | 0 ...to-make-GCC-s-truncation-check-happy.patch | 31 - ...when-adding-hosts-not-when-doing-th.patch} | 0 ...-GCC-7-buffer-overflow-with-snprintf.patch | 28 + .../0004-Fix-compile-error-on-GCC-7.patch | 32 + package/liboping/liboping.hash | 4 +- package/libosip2/libosip2.hash | 2 +- package/libosip2/libosip2.mk | 2 +- package/libosmium/Config.in | 2 +- package/libp11/0001-Update-wp11_rsa.c.patch | 26 + package/libp11/libp11.mk | 8 +- .../libpam-radius-auth.hash | 4 +- package/libpciaccess/libpciaccess.hash | 10 +- ...ull-request-from-GHSA-9pfh-r8x4-w26w.patch | 99 + ...ull-request-from-GHSA-cxwq-5g9x-x7fr.patch | 54 + package/libpjsip/Config.in | 1 - package/libpjsip/libpjsip.hash | 2 +- package/libpjsip/libpjsip.mk | 32 +- package/libpng/libpng.hash | 10 +- package/libpng/libpng.mk | 2 +- package/libpqxx/libpqxx.hash | 4 +- package/libpri/libpri.hash | 2 +- package/libpri/libpri.mk | 4 +- ...dd-libiconv-dep-to-meson-build-again.patch | 60 + package/libpsl/Config.in | 1 + package/libpsl/libpsl.mk | 4 + .../libpthread-stubs/libpthread-stubs.hash | 4 +- package/libraw1394/libraw1394.hash | 4 +- package/libreplaygain/libreplaygain.hash | 2 +- package/libressl/libressl.hash | 2 +- package/libressl/libressl.mk | 2 +- package/libroxml/libroxml.hash | 4 +- ...pect-DESTDIR-with-install-udev-rules.patch | 31 + ...sable_shared_library_target_in_build.patch | 130 -- ...rsion.cmake-don-t-use-Git-version-if.patch | 47 - package/librtlsdr/librtlsdr.mk | 26 +- package/libsamplerate/libsamplerate.hash | 2 +- package/libsamplerate/libsamplerate.mk | 14 +- package/libscrypt/libscrypt.hash | 4 +- package/libselinux/libselinux.mk | 9 +- package/libsepol/Config.in | 1 - package/libserial/libserial.hash | 4 +- package/libsha1/libsha1.hash | 4 +- package/libsidplay2/libsidplay2.hash | 2 +- package/libsigrok/libsigrok.hash | 4 +- package/libsigrokdecode/libsigrokdecode.hash | 4 +- package/libsigsegv/libsigsegv.hash | 4 +- package/libsigsegv/libsigsegv.mk | 2 +- ...ute-EXTERNAL_MPEG_LIBS-in-sndfile-pc.patch | 24 + ...-ms_adpcm-Fix-and-extend-size-checks.patch | 40 - package/libsndfile/libsndfile.hash | 2 +- package/libsndfile/libsndfile.mk | 13 +- package/libsodium/libsodium.hash | 4 +- package/libsquish/libsquish.hash | 6 +- package/libsrtp/libsrtp.mk | 3 +- package/libss7/libss7.hash | 2 +- package/libsvg-cairo/libsvg-cairo.hash | 2 +- package/libsvg/libsvg.hash | 2 +- ...mba-add-disable-stack-protector-opti.patch | 116 + package/libtalloc/libtalloc.mk | 3 +- ...fuzz-Makefile.am-do-not-force-static.patch | 35 - package/libtasn1/libtasn1.hash | 4 +- package/libtasn1/libtasn1.mk | 5 +- package/libtelnet/libtelnet.hash | 4 +- package/libtheora/libtheora.hash | 6 +- package/libtirpc/libtirpc.hash | 4 +- package/libtirpc/libtirpc.mk | 2 +- package/libtommath/libtommath.hash | 4 +- package/libtool/libtool.hash | 6 +- package/libtorrent-rasterbar/Config.in | 1 - .../libtorrent-rasterbar.mk | 9 +- package/libtorrent/libtorrent.hash | 4 +- package/libucl/libucl.hash | 4 +- package/libuecc/libuecc.hash | 2 +- ...01-add-compatibility-for-wolfssl-5-0.patch | 30 + package/libuhttpd/Config.in | 3 +- package/libuhttpd/libuhttpd.mk | 2 +- package/libupnp/libupnp.hash | 2 +- package/libupnp/libupnp.mk | 2 +- package/liburing/Config.in | 2 + package/libuwsc/libuwsc.mk | 2 +- package/libv4l/libv4l.mk | 3 - package/libvirt/Config.in | 7 +- ...ee-vncRec-memory-in-rfbClientCleanup.patch | 28 + package/libvncserver/Config.in | 2 +- package/libvncserver/libvncserver.mk | 3 + package/libwebsock/libwebsock.hash | 4 +- package/libwebsockets/libwebsockets.mk | 13 +- package/libwpe/libwpe.hash | 8 +- package/libwpe/libwpe.mk | 2 +- package/libxkbcommon/libxkbcommon.mk | 1 + .../libxml-parser-perl.hash | 4 +- package/libxml2/libxml2.hash | 6 +- package/libxml2/libxml2.mk | 8 +- package/libyang/libyang.mk | 9 +- ...hat-discarded-provided-CC-definition.patch | 28 + package/libzlib/0002-fix-CVE-2022-37434.patch | 35 + .../0003-fix-CVE-2022-37434-regression.patch | 32 + package/libzlib/libzlib.hash | 4 +- package/libzlib/libzlib.mk | 7 +- package/lightning/lightning.hash | 4 +- package/lighttpd/Config.in | 4 + package/linux-headers/Config.in.host | 22 +- package/linux-headers/linux-headers.mk | 11 + package/linux-tools/Config.in | 15 + package/linux-tools/S10hyperv | 4 +- package/linux-tools/linux-tool-gpio.mk.in | 2 +- package/linux-tools/linux-tool-iio.mk.in | 2 +- package/linux-tools/linux-tool-pci.mk.in | 2 +- package/linux-tools/linux-tool-perf.mk.in | 3 +- .../linux-tools/linux-tool-selftests.mk.in | 5 +- package/linux-tools/linux-tool-tmon.mk.in | 1 + package/linux-zigbee/linux-zigbee.hash | 4 +- package/liquid-dsp/liquid-dsp.hash | 4 +- package/lirc-tools/lirc-tools.hash | 4 +- package/live555/live555.mk | 2 +- package/ljlinenoise/ljlinenoise.hash | 4 +- package/ljsyscall/ljsyscall.hash | 4 +- package/lksctp-tools/lksctp-tools.hash | 4 +- package/lld/lld.hash | 4 +- package/lldpd/Config.in | 2 +- package/lldpd/lldpd.hash | 4 +- package/lldpd/lldpd.mk | 2 +- package/llvm/llvm.hash | 4 +- package/log4cpp/log4cpp.hash | 8 +- package/logrotate/logrotate.hash | 2 +- package/logrotate/logrotate.mk | 4 +- package/logsurfer/logsurfer.hash | 4 +- package/lpeg/lpeg.hash | 4 +- package/lpeg/lpeg.mk | 1 + package/lpty/lpty.hash | 4 +- package/lrandom/lrandom.hash | 2 +- package/lrzip/lrzip.hash | 2 +- package/lrzip/lrzip.mk | 8 +- package/lrzsz/lrzsz.mk | 4 - package/lshw/Config.in | 1 + package/lsqlite3/lsqlite3.hash | 2 +- ...nel-fs-declare-int-openlog-as-static.patch | 77 + ...2-configure.ac-fix-popt-static-build.patch | 48 + .../lttng-babeltrace/lttng-babeltrace.hash | 8 +- package/lttng-modules/lttng-modules.mk | 4 + package/lttng-tools/lttng-tools.hash | 4 +- package/lttng-tools/lttng-tools.mk | 2 +- package/lua-basexx/lua-basexx.hash | 4 +- package/lua-binaryheap/lua-binaryheap.hash | 2 +- package/lua-bit32/lua-bit32.hash | 4 +- package/lua-cjson/lua-cjson.hash | 4 +- package/lua-coat/lua-coat.hash | 4 +- .../lua-coatpersistent.hash | 6 +- package/lua-codegen/lua-codegen.hash | 4 +- package/lua-compat53/lua-compat53.hash | 4 +- package/lua-cqueues/Config.in | 1 + package/lua-csnappy/lua-csnappy.hash | 4 +- package/lua-datafile/lua-datafile.hash | 4 +- package/lua-fifo/lua-fifo.hash | 4 +- package/lua-flu/lua-flu.hash | 4 +- package/lua-http/lua-http.hash | 4 +- package/lua-iconv/lua-iconv.hash | 4 +- package/lua-inotify/lua-inotify.hash | 4 +- package/lua-livr-extra/lua-livr-extra.hash | 4 +- package/lua-livr/lua-livr.hash | 4 +- .../lua-lpeg-patterns/lua-lpeg-patterns.hash | 4 +- package/lua-lunitx/lua-lunitx.hash | 4 +- package/lua-lunix/lua-lunix.hash | 4 +- package/lua-markdown/lua-markdown.hash | 4 +- package/lua-messagepack/lua-messagepack.hash | 6 +- package/lua-periphery/lua-periphery.hash | 4 +- package/lua-resty-http/lua-resty-http.hash | 4 +- package/lua-rotas/lua-rotas.hash | 4 +- package/lua-sailor/lua-sailor.hash | 4 +- package/lua-silva/lua-silva.hash | 4 +- package/lua-std-debug/lua-std-debug.hash | 4 +- .../lua-std-normalize/lua-std-normalize.hash | 4 +- package/lua-stdlib/lua-stdlib.hash | 4 +- package/lua-testmore/lua-testmore.hash | 4 +- package/lua-utf8/lua-utf8.hash | 4 +- package/lua-valua/lua-valua.hash | 4 +- package/lua-zlib/lua-zlib.hash | 2 +- package/lua/Config.in | 1 + package/luadbi-sqlite3/luadbi-sqlite3.hash | 4 +- package/luadbi/luadbi.hash | 4 +- package/luaexpat/luaexpat.hash | 4 +- package/luaexpatutils/luaexpatutils.hash | 2 +- package/luafilesystem/luafilesystem.hash | 4 +- package/luajit/Config.in | 4 +- package/luajson/luajson.hash | 4 +- package/lualdap/lualdap.hash | 4 +- package/lualogging/lualogging.hash | 4 +- package/luaossl/luaossl.hash | 4 +- package/luasec/luasec.hash | 4 +- package/luasec/luasec.mk | 2 +- package/luasocket/luasocket.hash | 4 +- package/luasql-sqlite3/luasql-sqlite3.hash | 4 +- ...uild-ax_lua.m4-fix-cross-compilation.patch | 45 + package/luksmeta/luksmeta.hash | 4 +- package/lvm2/lvm2.hash | 2 +- package/lvm2/lvm2.mk | 2 +- ...ching-an-incoming-CVE-CVE-2022-47952.patch | 73 + package/lxc/lxc.hash | 2 +- package/lxc/lxc.mk | 12 +- ...mory-corruption-with-negative-memmov.patch | 26 - .../0001-build-Support-BUILD_SHARED-no.patch | 42 + package/lz4/lz4.hash | 4 +- package/lz4/lz4.mk | 13 +- package/lzma/lzma.hash | 8 +- package/lzo/lzo.hash | 6 +- package/lzop/lzop.hash | 4 +- package/m4/m4.mk | 1 - package/make/make.hash | 2 +- package/makedevs/makedevs.c | 11 +- package/makedumpfile/makedumpfile.mk | 1 + package/mali-driver/Config.in | 1 + package/mali-driver/mali-driver.hash | 4 +- package/mali-driver/mali-driver.mk | 2 +- .../0001-add-extra-check-for-librt.patch | 6 +- package/mariadb/mariadb.hash | 4 +- package/mariadb/mariadb.mk | 14 +- package/matchbox-common/matchbox-common.hash | 2 +- .../matchbox-desktop/matchbox-desktop.hash | 2 +- .../matchbox-keyboard/matchbox-keyboard.hash | 2 +- package/matchbox-panel/matchbox-panel.hash | 2 +- .../matchbox-startup-monitor.hash | 2 +- .../matchbox-startup-monitor.mk | 5 + package/matio/matio.hash | 6 +- package/matio/matio.mk | 10 +- ...-PIC-inline-ASM-compilation-with-GCC.patch | 74 - package/mbedtls/mbedtls.hash | 4 +- package/mbedtls/mbedtls.mk | 2 +- package/mc/mc.hash | 4 +- package/mc/mc.mk | 6 +- .../memcached/0002-check-for-sys-auxv.h.patch | 50 + ...c-use-pkg-config-to-retrieve-openssl.patch | 181 ++ package/memcached/memcached.mk | 13 + package/memstat/memstat.hash | 2 +- package/mender-grubenv/mender-grubenv.hash | 4 +- package/mender/Config.in | 5 +- package/menu-cache/menu-cache.hash | 6 +- package/mesa3d-demos/mesa3d-demos.hash | 6 +- package/mesa3d-headers/mesa3d-headers.mk | 2 +- package/mesa3d/mesa3d.mk | 5 + package/meson/meson.hash | 4 +- package/meson/meson.mk | 2 +- package/mfgtools/Config.in.host | 2 +- package/mfgtools/mfgtools.mk | 2 +- package/mg/mg.hash | 4 +- package/mini-snmpd/mini-snmpd.hash | 4 +- package/minidlna/minidlna.hash | 6 +- package/minidlna/minidlna.mk | 2 +- package/minimodem/minimodem.hash | 4 +- ...1-CMakeLists.txt-fix-build-without-C.patch | 41 + package/minizip/minizip.hash | 2 +- package/minizip/minizip.mk | 2 +- package/mjpg-streamer/mjpg-streamer.hash | 4 +- package/mmc-utils/mmc-utils.mk | 3 +- .../mobile-broadband-provider-info.hash | 4 +- package/modsecurity2/Config.in | 2 +- package/modsecurity2/modsecurity2.hash | 4 +- package/modsecurity2/modsecurity2.mk | 8 +- package/mono/Config.in | 6 +- package/mono/mono.hash | 8 +- package/monolite/monolite.hash | 2 +- package/mosh/mosh.hash | 6 +- package/mosquitto/Config.in | 2 +- package/mosquitto/mosquitto.hash | 4 +- package/mosquitto/mosquitto.mk | 4 +- package/most/most.hash | 8 +- ...2-lib-alsa-Error-add-missing-include.patch | 25 - package/mpd/mpd.hash | 2 +- package/mpd/mpd.mk | 2 +- package/mpv/Config.in | 6 +- package/msmtp/msmtp.hash | 4 +- package/msmtp/msmtp.mk | 2 +- ...pport-different-versions-of-pidof-13.patch | 48 + package/mstpd/mstpd.mk | 4 + package/mtools/mtools.hash | 2 +- package/mtools/mtools.mk | 2 +- package/multicat/multicat.hash | 6 +- ...le-systemd-if-ENABLE_SYSTEMD-is-def.patch} | 0 ...ath-use-pkg-config-to-get-path-to-he.patch | 69 - package/multipath-tools/multipath-tools.hash | 4 +- package/multipath-tools/multipath-tools.mk | 4 +- ...ero-for-zero-width-pages-in-muraster.patch | 29 + package/mupdf/mupdf.hash | 2 +- package/mupdf/mupdf.mk | 3 + package/murata-cyw-fw/murata-cyw-fw.hash | 8 +- package/musepack/musepack.hash | 2 +- .../musl-compat-headers.hash | 2 +- package/musl-fts/musl-fts.hash | 4 +- package/musl/musl.mk | 2 + package/mutt/mutt.hash | 2 +- package/mutt/mutt.mk | 16 +- package/mxml/mxml.hash | 4 +- package/mxml/mxml.mk | 2 +- package/mxsldr/mxsldr.mk | 3 +- package/nanomsg/nanomsg.hash | 4 +- package/nbd/nbd.hash | 8 +- package/nbd/nbd.mk | 4 +- package/ncurses/ncurses.mk | 10 - package/ne10/0002-fix-build-without-C.patch | 55 + package/ne10/ne10.mk | 6 + package/neardal/neardal.hash | 4 +- ..._compat.h-fix-build-with-libressl-2..patch | 43 + ...iple-def-of-invalid_dircache_entries.patch | 25 - package/netatalk/netatalk.hash | 7 +- package/netatalk/netatalk.mk | 2 +- package/netcalc/netcalc.hash | 6 +- package/netdata/netdata.hash | 4 +- package/netdata/netdata.mk | 7 + package/netifrc/netifrc.hash | 4 +- package/netopeer2/S52netopeer2 | 2 +- package/netsniff-ng/Config.in | 9 +- package/netsniff-ng/netsniff-ng.mk | 15 +- ...figure-static-linking-Fix-SSL-checks.patch | 146 -- .../0002-configure-Fix-lcrypto-lz-test.patch | 44 - ..._CHECK_FUNCS-EVP_sha224-EVP_sha384-..patch | 39 - ..._CHECK_FUNCS-TLS_method-TLSv1_method.patch | 39 - package/netsnmp/netsnmp.hash | 4 +- package/netsnmp/netsnmp.mk | 3 +- .../0002-do-not-cross-compile-nsgenbind.patch | 4 +- package/netsurf/netsurf.mk | 12 + package/network-manager/Config.in | 6 +- package/network-manager/network-manager.mk | 2 +- .../networkd-dispatcher.hash | 2 +- .../networkd-dispatcher.mk | 2 +- package/newt/newt.hash | 6 +- package/nfacct/nfacct.hash | 4 +- package/nftables/nftables.mk | 4 - package/nginx-dav-ext/nginx-dav-ext.hash | 4 +- package/nginx-modsecurity/Config.in | 6 +- .../0011-Mp4-disabled-duplicate-atoms.patch | 315 +++ package/nginx/Config.in | 10 + package/nginx/nginx.mk | 8 +- package/ngircd/Config.in | 2 +- package/nilfs-utils/nilfs-utils.hash | 4 +- package/nload/nload.hash | 4 +- ...eck-if-uclibc-has-backtrace-support.patch} | 0 package/nodejs/nodejs.hash | 6 +- package/nodejs/nodejs.mk | 24 +- package/noip/noip.mk | 5 +- package/nss-mdns/nss-mdns.hash | 4 +- package/nss-myhostname/nss-myhostname.hash | 4 +- package/nss-pam-ldapd/nss-pam-ldapd.hash | 6 +- package/ntfs-3g/ntfs-3g.hash | 2 +- package/ntfs-3g/ntfs-3g.mk | 2 +- package/numactl/Config.in | 1 + package/numactl/numactl.hash | 3 +- package/numactl/numactl.mk | 2 +- package/nut/nut.mk | 2 +- package/nvidia-driver/nvidia-driver.hash | 6 +- package/nvidia-driver/nvidia-driver.mk | 1 + package/nvidia-modprobe/nvidia-modprobe.hash | 4 +- .../obsidian-cursors/obsidian-cursors.hash | 2 +- package/ocrad/ocrad.hash | 4 +- package/ocrad/ocrad.mk | 2 +- .../0012-Adjust-to-changes-in-GCC-11.patch | 50 + ...kup-ambiguity-causing-error-with-GCC.patch | 68 + package/odb/odb.hash | 6 +- package/odb/odb.mk | 8 +- package/ogre/Config.in | 3 + package/olsr/olsr.hash | 6 +- package/omniorb/omniorb.mk | 2 +- package/omxplayer/omxplayer.hash | 2 +- package/open62541/open62541.mk | 2 +- package/openblas/openblas.mk | 1 + package/opencore-amr/opencore-amr.hash | 8 +- package/opencv4/Config.in | 21 + package/opencv4/opencv4.mk | 1 + package/openjdk-bin/openjdk-bin.hash | 4 +- package/openjdk-bin/openjdk-bin.mk | 4 +- package/openjdk/Config.in | 2 + package/openjdk/openjdk.hash | 4 +- package/openjdk/openjdk.mk | 4 +- ...append-flags-found-by-pkg-config-if-.patch | 72 - ...-append-flags-found-by-pkg-config-if.patch | 49 - ...Lists.txt-Don-t-require-a-C-compiler.patch | 34 - ...IR-for-OPENJPEG_INCLUDE_DIRS-fixes-u.patch | 37 - package/openjpeg/openjpeg.hash | 2 +- package/openjpeg/openjpeg.mk | 2 +- package/openmpi/openmpi.hash | 8 +- package/openobex/openobex.hash | 8 +- package/openobex/openobex.mk | 1 + ...GV-with-libusb-v1.0.24-33-g32a2206-1.patch | 89 + package/openocd/openocd.mk | 2 - .../openpgm/0003-fix-build-on-macOS-ARM.patch | 34 + package/openpowerlink/Config.in | 2 + package/openpowerlink/openpowerlink.hash | 4 +- ...llow-ppoll_time64-in-seccomp-sandbox.patch | 32 + ...n-of-fzero-call-used-regs-all-suppor.patch | 38 + package/openssh/Config.in | 8 + package/openssh/openssh.mk | 5 + package/openssl/Config.in | 4 +- package/opentracing-cpp/opentracing-cpp.hash | 4 +- package/opentyrian-data/opentyrian-data.hash | 2 +- ..._poll-h-to-fix-build-failure-on-musl.patch | 81 +- ...-test-for-feature-instead-of-platfor.patch | 1 + .../0009-Set-permissions-on-rules-file.patch | 23 - .../0010-Change-DEVPATH-to-devpath.patch | 25 - ...uthorization-on-incoming-guestOps-re.patch | 40 + package/openvmtools/Config.in | 12 +- package/openvmtools/openvmtools.hash | 2 +- package/openvmtools/openvmtools.mk | 9 +- ...h-pam-c-add-missing-include-limits-h.patch | 41 + package/openvpn/S60openvpn | 2 +- package/openvpn/openvpn.hash | 2 +- package/openvpn/openvpn.mk | 5 +- package/opkg-utils/opkg-utils.mk | 1 - package/optee-benchmark/optee-benchmark.hash | 4 +- .../{S30optee => S30tee-supplicant} | 9 +- package/optee-client/optee-client.hash | 4 +- package/optee-client/optee-client.mk | 4 +- package/optee-examples/optee-examples.hash | 4 +- package/optee-test/optee-test.hash | 4 +- package/opus-tools/opus-tools.hash | 4 +- package/opus/opus.hash | 4 +- package/opus/opus.mk | 12 + ...ocation-failure-from-ogg_sync_buffer.patch | 44 + package/opusfile/opusfile.mk | 3 + package/oracle-mysql/oracle-mysql.hash | 2 +- package/oracle-mysql/oracle-mysql.mk | 2 + package/orbit/orbit.hash | 6 +- package/osm2pgsql/Config.in | 2 +- package/paho-mqtt-c/paho-mqtt-c.hash | 2 +- package/paho-mqtt-c/paho-mqtt-c.mk | 3 +- package/pahole/pahole.mk | 2 +- package/pamtester/pamtester.hash | 4 +- package/pamtester/pamtester.mk | 5 + package/pango/pango.hash | 4 +- package/pango/pango.mk | 2 +- package/parted/parted.hash | 4 +- package/patch/patch.hash | 4 +- package/patchelf/patchelf.hash | 4 +- package/paxtest/Config.in | 2 + package/pcm-tools/Config.in | 6 +- package/pcre2/pcre2.hash | 6 +- package/pcre2/pcre2.mk | 2 +- package/pcsc-lite/pcsc-lite.mk | 6 +- package/pdbg/pdbg.hash | 4 +- .../perl-apache-logformat-compiler.hash | 6 +- package/perl-appconfig/perl-appconfig.hash | 6 +- .../perl-astro-suntime.hash | 6 +- .../perl-class-inspector.hash | 6 +- package/perl-class-load/perl-class-load.hash | 6 +- .../perl-class-method-modifiers.hash | 6 +- .../perl-class-std-fast.hash | 6 +- package/perl-class-std/perl-class-std.hash | 6 +- .../perl-cookie-baker/perl-cookie-baker.hash | 6 +- .../perl-crypt-blowfish.hash | 6 +- package/perl-crypt-cbc/perl-crypt-cbc.hash | 6 +- .../perl-crypt-openssl-aes.hash | 6 +- .../perl-crypt-openssl-random.hash | 6 +- .../perl-crypt-openssl-rsa.hash | 6 +- .../perl-datetime-tiny.hash | 6 +- package/perl-dbd-mysql/perl-dbd-mysql.hash | 6 +- package/perl-dbi/perl-dbi.hash | 6 +- .../perl-devel-globaldestruction.hash | 6 +- .../perl-devel-stacktrace-ashtml.hash | 6 +- .../perl-devel-stacktrace.hash | 6 +- .../perl-device-serialport.hash | 6 +- .../perl-digest-sha1/perl-digest-sha1.hash | 6 +- .../perl-dist-checkconflicts.hash | 6 +- .../perl-encode-detect.hash | 6 +- .../perl-encode-locale.hash | 6 +- .../perl-extutils-config.hash | 6 +- .../perl-extutils-helpers.hash | 6 +- .../perl-extutils-installpaths.hash | 6 +- .../perl-file-sharedir-install.hash | 6 +- .../perl-filesys-notify-simple.hash | 6 +- package/perl-gdgraph/perl-gdgraph.hash | 8 +- package/perl-gdtextutil/perl-gdtextutil.hash | 8 +- .../perl-hash-multivalue.hash | 6 +- .../perl-html-tagset/perl-html-tagset.hash | 6 +- package/perl-http-date/perl-http-date.hash | 6 +- .../perl-http-headers-fast.hash | 6 +- .../perl-http-multipartparser.hash | 6 +- .../perl-http-negotiate.hash | 6 +- package/perl-i18n/perl-i18n.hash | 6 +- .../perl-io-interface/perl-io-interface.hash | 6 +- .../perl-io-socket-multicast.hash | 6 +- package/perl-json-tiny/perl-json-tiny.hash | 6 +- .../perl-locale-maketext-lexicon.hash | 6 +- .../perl-lwp-mediatypes.hash | 6 +- package/perl-mailtools/perl-mailtools.hash | 6 +- .../perl-math-prime-util.hash | 6 +- .../perl-mime-base64-urlsafe.hash | 6 +- package/perl-mime-tools/perl-mime-tools.hash | 6 +- .../perl-module-build-tiny.hash | 6 +- .../perl-module-build/perl-module-build.hash | 6 +- .../perl-module-implementation.hash | 6 +- .../perl-module-runtime.hash | 6 +- .../perl-mojolicious-plugin-cspheader.hash | 6 +- .../perl-mojolicious-plugin-i18n.hash | 6 +- ...erl-mojolicious-plugin-securityheader.hash | 6 +- package/perl-net-snmp/perl-net-snmp.hash | 6 +- .../0001-fix-build-system.patch | 30 +- package/perl-net-ssleay/perl-net-ssleay.hash | 6 +- package/perl-net-ssleay/perl-net-ssleay.mk | 13 +- package/perl-netaddr-ip/perl-netaddr-ip.hash | 8 +- .../perl-number-bytes-human.hash | 6 +- package/perl-path-class/perl-path-class.hash | 6 +- .../perl-stream-buffered.hash | 6 +- .../perl-sub-exporter-progressive.hash | 6 +- .../perl-sub-install/perl-sub-install.hash | 6 +- package/perl-sub-quote/perl-sub-quote.hash | 6 +- .../perl-sys-meminfo/perl-sys-meminfo.hash | 6 +- package/perl-sys-mmap/perl-sys-mmap.hash | 8 +- .../perl-time-parsedate.hash | 8 +- .../perl-www-form-urlencoded.hash | 6 +- .../perl-www-robotrules.hash | 6 +- package/perl-x10/perl-x10.hash | 6 +- package/perl-xml-libxml/perl-xml-libxml.hash | 6 +- .../perl-xml-namespacesupport.hash | 6 +- .../perl-xml-sax-base/perl-xml-sax-base.hash | 6 +- package/perl-xml-sax/perl-xml-sax.hash | 6 +- package/perl/perl.hash | 14 +- package/perl/perl.mk | 4 +- package/php-apcu/Config.in | 4 + package/php-pecl-dbus/php-pecl-dbus.hash | 4 +- package/php/Config.ext | 15 +- package/php/php.hash | 2 +- package/php/php.mk | 14 +- package/physfs/physfs.hash | 4 +- package/picocom/picocom.hash | 4 +- package/pimd/pimd.hash | 6 +- package/pimd/pimd.mk | 2 +- package/pinentry/Config.in | 2 + package/pipewire/Config.in | 7 +- package/pixiewps/pixiewps.hash | 4 +- package/pixman/pixman.hash | 6 +- package/pixman/pixman.mk | 6 +- ...h-core.c-fix-build-without-slotevent.patch | 37 + package/pkg-cmake.mk | 2 + package/pkg-download.mk | 3 +- package/pkg-generic.mk | 50 +- package/pkg-golang.mk | 3 +- package/pkg-meson.mk | 12 +- package/pkg-utils.mk | 9 +- package/pkg-waf.mk | 6 +- package/policycoreutils/policycoreutils.hash | 4 +- package/policycoreutils/policycoreutils.mk | 4 - package/polkit/0003-fix-build-without-C.patch | 50 + package/polkit/Config.in | 4 + package/polkit/polkit.mk | 7 +- package/popperjs/popperjs.hash | 4 +- ...h-when-WITH_JPEG-yes-and-WITH_PNG-no.patch | 27 - package/poppler/poppler.hash | 2 +- package/poppler/poppler.mk | 8 +- package/postgis/postgis.hash | 2 +- package/postgis/postgis.mk | 12 +- package/postgresql/Config.in | 4 + package/postgresql/postgresql.hash | 7 +- package/postgresql/postgresql.mk | 10 +- package/pound/pound.hash | 4 +- ...cludes-defines-for-musl-libc-support.patch | 101 + ...pd-eap-tls.c-fix-build-with-libressl.patch | 36 + package/pppd/pppd.mk | 4 +- package/pptp-linux/pptp-linux.hash | 8 +- package/pptp-linux/pptp-linux.mk | 1 - .../procps-ng/0003-fix-pifd_open-check.patch | 59 + package/procrank_linux/procrank_linux.mk | 3 +- package/protobuf-c/protobuf-c.hash | 4 +- package/protobuf-c/protobuf-c.mk | 7 +- ...xt-protobuf-is-only-needed-for-tests.patch | 35 + package/protozero/Config.in | 2 +- package/proxychains-ng/proxychains-ng.mk | 3 +- .../pru-software-support.hash | 2 +- package/psplash/psplash.mk | 3 +- package/ptm2human/ptm2human.hash | 4 +- package/pugixml/pugixml.mk | 6 +- package/pulseaudio/pulseaudio.mk | 1 - package/pure-ftpd/pure-ftpd.hash | 4 +- package/pure-ftpd/pure-ftpd.mk | 4 +- package/pwgen/pwgen.hash | 6 +- package/python-aenum/python-aenum.hash | 4 +- package/python-aenum/python-aenum.mk | 12 +- .../python-aioconsole/python-aioconsole.hash | 4 +- .../python-aioconsole/python-aioconsole.mk | 4 +- .../python-aiohttp-cors.hash | 6 +- .../python-aiohttp-debugtoolbar.hash | 6 +- .../python-aiohttp-mako.hash | 6 +- .../python-aiohttp-security.hash | 6 +- .../python-aiologstash.hash | 6 +- .../python-aiomonitor/python-aiomonitor.hash | 6 +- .../python-alsaaudio/python-alsaaudio.hash | 6 +- package/python-argh/python-argh.hash | 4 +- package/python-asgiref/python-asgiref.hash | 6 +- .../python-async-lru/python-async-lru.hash | 6 +- ...ll-time-linting-and-imports-sorting.patch} | 0 package/python-bottle/python-bottle.hash | 6 +- package/python-bottle/python-bottle.mk | 4 +- package/python-brotli/Config.in | 3 + package/python-bunch/python-bunch.hash | 6 +- package/python-can/python-can.hash | 4 +- package/python-canopen/python-canopen.hash | 4 +- package/python-cbor/python-cbor.hash | 4 +- .../python-channels-redis.hash | 6 +- package/python-channels/python-channels.hash | 6 +- .../python-characteristic.hash | 4 +- package/python-cheetah/python-cheetah.hash | 2 +- package/python-cheroot/python-cheroot.hash | 4 +- package/python-cherrypy/python-cherrypy.hash | 4 +- .../python-constantly/python-constantly.hash | 4 +- package/python-couchdb/python-couchdb.hash | 6 +- package/python-crcmod/python-crcmod.hash | 4 +- .../python-cssselect/python-cssselect.hash | 6 +- .../python-daemonize/python-daemonize.hash | 6 +- package/python-daphne/python-daphne.hash | 4 +- package/python-dialog3/python-dialog3.hash | 2 +- .../python-dicttoxml/python-dicttoxml.hash | 4 +- .../python-django-enumfields.hash | 2 +- package/python-django/python-django.hash | 4 +- package/python-django/python-django.mk | 4 +- .../python-docker-pycreds.hash | 6 +- package/python-docker/python-docker.hash | 6 +- .../python-dockerpty/python-dockerpty.hash | 6 +- .../python-entrypoints.hash | 6 +- package/python-esptool/python-esptool.hash | 6 +- .../python-fastentrypoints.hash | 6 +- .../python-flask-babel.hash | 4 +- .../python-flask-jsonrpc.hash | 4 +- .../python-flask-sqlalchemy.hash | 6 +- package/python-flask/python-flask.hash | 6 +- package/python-flup/python-flup.hash | 6 +- package/python-future/python-future.hash | 8 +- package/python-future/python-future.mk | 4 +- package/python-gitdb2/python-gitdb2.hash | 6 +- package/python-greenlet/python-greenlet.mk | 1 + package/python-huepy/python-huepy.hash | 4 +- package/python-ibmiotf/python-ibmiotf.hash | 6 +- package/python-iniparse/python-iniparse.hash | 2 +- package/python-iowait/python-iowait.hash | 4 +- .../python-ipython-genutils.hash | 2 +- .../python-jaraco-classes.hash | 2 +- .../python-jaraco-functools.hash | 2 +- .../python-json-schema-validator.hash | 4 +- .../python-jsonmodels/python-jsonmodels.hash | 6 +- .../python-jsonschema/python-jsonschema.hash | 4 +- package/python-keyring/python-keyring.hash | 4 +- .../python-kiwisolver/python-kiwisolver.hash | 4 +- package/python-libusb1/python-libusb1.hash | 2 +- package/python-lockfile/python-lockfile.hash | 6 +- package/python-logbook/python-logbook.hash | 6 +- package/python-logstash/python-logstash.hash | 6 +- package/python-lxml/python-lxml.hash | 2 +- package/python-lxml/python-lxml.mk | 4 +- ...he-RSA-decryption-API-CVE-2020-25657.patch | 174 ++ package/python-m2crypto/python-m2crypto.mk | 3 + package/python-m2r/python-m2r.hash | 6 +- .../python-matplotlib/python-matplotlib.hash | 4 +- .../python-mimeparse/python-mimeparse.hash | 6 +- package/python-mistune/python-mistune.hash | 4 +- .../python-nested-dict.hash | 6 +- package/python-netaddr/python-netaddr.hash | 4 +- .../python-networkmanager.hash | 4 +- package/python-numpy/python-numpy.hash | 4 +- .../0001-fix-publish-for-python-3-10.patch | 37 + .../python-paho-mqtt/python-paho-mqtt.hash | 10 +- package/python-paramiko/python-paramiko.hash | 4 +- package/python-paramiko/python-paramiko.mk | 4 +- package/python-pathpy/python-pathpy.hash | 6 +- .../python-pathtools/python-pathtools.hash | 4 +- package/python-pexpect/python-pexpect.hash | 6 +- .../python-pickleshare.hash | 6 +- package/python-piexif/python-piexif.hash | 4 +- ...Search-pkg-config-system-libs-cflags.patch | 33 + package/python-pillow/python-pillow.hash | 4 +- package/python-pillow/python-pillow.mk | 27 +- package/python-ply/python-ply.hash | 6 +- package/python-portend/python-portend.hash | 6 +- package/python-psycopg2/Config.in | 4 + package/python-pyaes/python-pyaes.hash | 6 +- package/python-pygame/Config.in | 6 - package/python-pyicu/python-pyicu.hash | 2 +- .../python-pylibftdi/python-pylibftdi.hash | 4 +- package/python-pylru/python-pylru.hash | 6 +- package/python-pyqrcode/python-pyqrcode.hash | 4 +- package/python-pyqt5/python-pyqt5.hash | 6 +- package/python-pyratemp/python-pyratemp.hash | 2 +- package/python-pyroute2/python-pyroute2.hash | 10 +- package/python-pysmi/python-pysmi.hash | 6 +- .../python-pysnmp-mibs.hash | 4 +- package/python-pysnmp/python-pysnmp.hash | 6 +- package/python-pysocks/python-pysocks.hash | 6 +- .../python-pytablereader.hash | 6 +- .../python-pytablewriter.hash | 6 +- package/python-pytest/python-pytest.hash | 6 +- package/python-pyxb/python-pyxb.hash | 4 +- package/python-raven/python-raven.hash | 6 +- .../python-requests-toolbelt.hash | 6 +- package/python-rpi-gpio/Config.in | 2 +- package/python-rpi-gpio/python-rpi-gpio.hash | 4 +- package/python-rsa/python-rsa.hash | 2 +- package/python-scandir/python-scandir.hash | 6 +- package/python-sdnotify/python-sdnotify.hash | 6 +- package/python-see/python-see.hash | 4 +- package/python-service-identity/Config.in | 1 - .../python-service-identity.hash | 6 +- .../python-setuptools-scm-git-archive.hash | 6 +- .../python-shutilwhich.hash | 4 +- .../python-simplegeneric.hash | 4 +- .../python-simplejson/python-simplejson.hash | 4 +- .../python-simplejson/python-simplejson.mk | 4 +- .../python-simplesqlite.hash | 6 +- package/python-sip/python-sip.hash | 10 +- .../python-smbus-cffi/python-smbus-cffi.hash | 2 +- package/python-smmap2/python-smmap2.hash | 6 +- package/python-snappy/python-snappy.hash | 6 +- package/python-spidev/python-spidev.hash | 4 +- .../python-sqlalchemy/python-sqlalchemy.hash | 6 +- package/python-sqlparse/python-sqlparse.hash | 6 +- package/python-systemd/python-systemd.hash | 2 +- package/python-tempora/python-tempora.hash | 6 +- .../python-termcolor/python-termcolor.hash | 6 +- package/python-tomako/python-tomako.hash | 4 +- package/python-tqdm/python-tqdm.hash | 6 +- package/python-treq/Config.in | 2 +- package/python-treq/python-treq.hash | 4 +- package/python-treq/python-treq.mk | 7 +- package/python-twisted/python-twisted.hash | 4 +- package/python-twisted/python-twisted.mk | 7 +- package/python-txdbus/Config.in | 1 - package/python-txtorcon/python-txtorcon.hash | 2 +- package/python-ujson/Config.in | 4 + package/python-urllib3/python-urllib3.hash | 4 +- package/python-urllib3/python-urllib3.mk | 4 +- .../python-vcversioner.hash | 4 +- package/python-visitor/python-visitor.hash | 6 +- package/python-weasyprint/Config.in | 4 + package/python-web2py/python-web2py.hash | 4 +- package/python-web2py/python-web2py.mk | 2 +- .../python-webencodings.hash | 6 +- package/python-webpy/python-webpy.hash | 6 +- package/python-werkzeug/python-werkzeug.hash | 4 +- package/python-werkzeug/python-werkzeug.mk | 4 +- package/python-whoosh/python-whoosh.hash | 2 +- package/python-ws4py/python-ws4py.hash | 6 +- package/python-xlib/python-xlib.hash | 6 +- package/python-xlutils/python-xlutils.hash | 4 +- package/python-xlwt/python-xlwt.hash | 4 +- .../python-xmltodict/python-xmltodict.hash | 6 +- .../python-zc-lockfile.hash | 6 +- package/python-zopfli/Config.in | 4 + ...dd-importlib-fix-for-PEP-3147-issue.patch} | 0 ...locale-and-set-to-default-when-addin.patch | 39 - ...0012-Add-an-option-to-disable-pydoc.patch} | 0 ...13-Add-an-option-to-disable-lib2to3.patch} | 0 ...ption-to-disable-the-sqlite3-module.patch} | 0 ...-an-option-to-disable-the-tk-module.patch} | 0 ...option-to-disable-the-curses-module.patch} | 0 ...0017-Add-an-option-to-disable-expat.patch} | 0 ...Add-an-option-to-disable-CJK-codecs.patch} | 0 ...> 0019-Add-an-option-to-disable-NIS.patch} | 0 ...dd-an-option-to-disable-unicodedata.patch} | 0 ... 0021-Add-an-option-to-disable-IDLE.patch} | 0 ...22-Add-an-option-to-disable-decimal.patch} | 0 ...n-to-disable-the-ossaudiodev-module.patch} | 0 ...n-option-to-disable-openssl-support.patch} | 0 ...tion-to-disable-the-readline-module.patch} | 0 ...o-disable-zlib-bzip2-and-xz-modules.patch} | 0 ...hon-config.sh-don-t-reassign-prefix.patch} | 0 ...Fix-cross-compiling-the-uuid-module.patch} | 0 ...dd-an-option-to-disable-uuid-module.patch} | 0 ...fix-building-on-older-distributions.patch} | 0 ...p-CC-print-multiarch-output-for-mus.patch} | 0 ...on-to-disable-the-berkeleydb-module.patch} | 0 ...x-quadratic-time-idna-decoding.-GH-9.patch | 86 + ...ng-doesn-t-set-errno-when-encryptio.patch} | 6 +- ...Fix-buffer-overflows-in-_sha3-module.patch | 101 + package/python3/Config.in | 3 +- package/python3/python3.hash | 6 +- package/python3/python3.mk | 9 +- .../qcom-db410c-firmware.mk | 2 +- package/qdecoder/qdecoder.hash | 4 +- package/qdecoder/qdecoder.mk | 3 +- ...able-fcf-protection-on-march-486-m16.patch | 50 + package/qemu/Config.in.host | 10 +- package/qemu/qemu.mk | 5 +- package/qlibc/qlibc.hash | 2 +- package/qlibc/qlibc.mk | 2 +- .../qoriq-cadence-dp-firmware.hash | 6 +- .../qoriq-cadence-dp-firmware.mk | 4 +- package/qoriq-rcw/qoriq-rcw.mk | 1 - package/qpdf/qpdf.mk | 4 + package/qpid-proton/Config.in | 7 +- package/qpid-proton/qpid-proton.mk | 15 +- package/qt5/Config.in | 2 + package/qt5/qt5.mk | 1 - ....patch => 0006-Fix-build-on-riscv32.patch} | 0 ...-avoiding-huge-number-of-tiny-dashes.patch | 37 - ...figure.json-fix-atomicfptr-detection.patch | 48 + ...onvenience-add-missing-QList-include.patch | 37 + package/qt5/qt5base/Config.in | 4 + package/qt5/qt5base/qt5base.hash | 2 +- package/qt5/qt5base/qt5base.mk | 24 +- package/qt5/qt5enginio/Config.in | 2 + package/qt5/qt5enginio/qt5enginio.hash | 2 +- .../qt5virtualkeyboard/qt5virtualkeyboard.mk | 2 +- .../0001-Add-missing-define-guards.patch | 35 + .../qt5webengine-chromium-catapult/Config.in | 4 + .../qt5webengine-chromium-catapult.hash | 3 + .../qt5webengine-chromium-catapult.mk | 14 + .../0001-Add-python3-build-support.patch | 1858 +++++++++++++++ .../0002-Don-t-rebase-sysroot-path.patch | 32 + package/qt5/qt5webengine-chromium/Config.in | 5 + .../qt5webengine-chromium/chromium-latest.inc | 1257 +++++++++++ .../qt5webengine-chromium.hash | 1256 +++++++++++ .../qt5webengine-chromium.mk | 23 + .../0002-Add-python3-build-support.patch | 168 ++ ...m-breakpad-fix-build-with-glibc-2.34.patch | 76 - package/qt5/qt5webengine/Config.in | 14 + .../qt5/qt5webengine/host-python-wrapper.in | 3 + package/qt5/qt5webengine/qt5webengine.hash | 1001 +-------- package/qt5/qt5webengine/qt5webengine.mk | 160 +- ...AppSinkCallbacks-struct-growth-https.patch | 39 + package/qt5/qt5webkit/Config.in | 2 + package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk | 4 + package/quagga/quagga.hash | 4 +- package/quazip/Config.in | 1 + package/quazip/quazip.mk | 1 + package/quickjs/quickjs.mk | 1 + package/quotatool/quotatool.hash | 4 +- package/rabbitmq-server/rabbitmq-server.mk | 2 +- package/ranger/ranger.mk | 2 +- package/rapidjson/rapidjson.hash | 4 +- package/rapidxml/rapidxml.hash | 4 +- ...are-namespace-declarations-correctly.patch | 33 + package/raptor/raptor.mk | 3 + package/raspi-gpio/raspi-gpio.hash | 4 +- ...src-verify_hash.c-include-inttypes.h.patch | 38 + package/rcw-smarc-sal28/rcw-smarc-sal28.hash | 4 +- package/reaver/reaver.hash | 4 +- package/redis/redis.hash | 2 +- package/redis/redis.mk | 2 +- package/rhash/rhash.mk | 1 - .../riemann-c-client/riemann-c-client.hash | 4 +- package/rings/rings.hash | 4 +- package/ripgrep/ripgrep.hash | 4 +- ...gure.ac-fix-build-without-sys-auxv.h.patch | 52 + package/rockchip-mali/Config.in | 8 +- package/rockchip-mali/rockchip-mali.hash | 4 +- package/rockchip-mali/rockchip-mali.mk | 4 +- package/rp-pppoe/Config.in | 2 +- package/rpcbind/rpcbind.hash | 4 +- package/rpi-firmware/rpi-firmware.mk | 1 + ...threads-CMakeLists.txt-fix-build-wit.patch | 45 + ...dd-GLint64-GLuint64-and-GLsync-typed.patch | 99 + package/rpi-userland/rpi-userland.mk | 10 + package/rrdtool/rrdtool.hash | 6 +- package/rs485conf/rs485conf.hash | 4 +- ...n-the-certificate-when-using-openssl.patch | 29 - package/rsync/rsync.hash | 6 +- package/rsync/rsync.mk | 14 +- package/rsyslog/Config.in | 1 + package/rsyslog/rsyslog.hash | 2 +- package/rsyslog/rsyslog.mk | 41 +- package/rt-tests/Config.in | 4 + package/rt-tests/rt-tests.hash | 4 +- package/rtai/rtai.hash | 2 +- package/rtc-tools/rtc-tools.mk | 3 +- package/rtl8188eu/Config.in | 2 + package/rtl8188eu/rtl8188eu.mk | 8 + ...TRA_CFLAGS-USER_EXTRA_CFLAGS-at-the-.patch | 40 + package/rtl8189es/Config.in | 2 + package/rtl8189es/rtl8189es.hash | 2 +- package/rtl8189es/rtl8189es.mk | 17 +- ...1-Makefile-remove-default-endianness.patch | 30 + .../0001-include-disable-debug-messages.patch | 28 - package/rtl8189fs/Config.in | 2 + package/rtl8189fs/rtl8189fs.hash | 2 +- package/rtl8189fs/rtl8189fs.mk | 12 +- ...uild-failure-on-PowerPc-architecture.patch | 47 + package/rtl8723bu/Config.in | 2 + package/rtl8723bu/rtl8723bu.hash | 2 +- package/rtl8723bu/rtl8723bu.mk | 10 +- package/rtl8812au-aircrack-ng/Config.in | 2 + package/rtl8821au/Config.in | 2 + ...se-pkg-config-to-detect-openssl-when.patch | 42 + ...low-in-Clipsal-CMR113-and-Somfy-IOHC.patch | 58 + ...0004-Fix-overflow-in-Acurite-00275rm.patch | 35 + package/rtl_433/Config.in | 5 +- package/rtl_433/rtl_433.mk | 7 + package/rtmpdump/rtmpdump.mk | 3 +- package/rtorrent/rtorrent.hash | 4 +- package/rtptools/rtptools.hash | 4 +- package/rubix/rubix.hash | 4 +- package/ruby/ruby.hash | 5 +- package/ruby/ruby.mk | 2 +- package/runc/Config.in | 2 +- package/runc/runc.hash | 2 +- package/runc/runc.mk | 2 +- package/rust/rust.mk | 21 +- package/rustc/Config.in.host | 20 +- ...-meson.build-fix-g_ir_compiler-calls.patch | 84 + package/s390-tools/s390-tools.mk | 2 +- package/sam-ba/Config.in.host | 2 +- ...mba-4.16.2-fix-build-without-innetgr.patch | 34 + package/samba4/Config.in | 1 + package/samba4/samba4-cache.txt | 1 + package/samba4/samba4.hash | 4 +- package/samba4/samba4.mk | 7 +- package/sconeserver/Config.in | 50 +- package/sconeserver/sconeserver.hash | 4 +- package/sconeserver/sconeserver.mk | 43 +- package/screen/screen.hash | 4 +- ...x11yuv.c-fix-possible-use-after-free.patch | 28 + package/sdl/sdl.hash | 4 +- package/sdl/sdl.mk | 3 + ...t-have-a-mode-configured-use-the-pre.patch | 76 + ...al-memory-leak-in-GLES_CreateTexture.patch | 37 + package/sdl2/sdl2.mk | 13 +- package/sdl2_image/sdl2_image.hash | 4 +- package/sdl2_ttf/sdl2_ttf.mk | 2 +- package/sdl_gfx/sdl_gfx.hash | 4 +- package/sedutil/sedutil.hash | 4 +- package/ser2net/Config.in | 1 + package/setools/setools.hash | 8 +- package/sg3_utils/sg3_utils.mk | 8 + .../0002-fix-maybe-uninitialized-errors.patch | 93 + ...kefile.am-remove-static-from-LDFLAGS.patch | 61 + package/shairport-sync/shairport-sync.mk | 9 + ...Remove-double-free-in-contrib-shpsrt.patch | 26 + package/shapelib/shapelib.hash | 6 +- package/shapelib/shapelib.mk | 4 + .../shared-mime-info/shared-mime-info.hash | 4 +- package/shellinabox/shellinabox.hash | 6 +- package/slang/slang.hash | 6 +- package/smcroute/smcroute.hash | 4 +- package/smstools3/smstools3.hash | 2 +- package/snmpclitools/snmpclitools.hash | 6 +- .../0001-fix-build-with-libressl-3-5-0.patch | 39 + .../snmppp/0001-fix-build-without-v3.patch | 43 + package/snmppp/Config.in | 2 +- package/snmppp/snmppp.hash | 4 +- package/snmppp/snmppp.mk | 2 +- package/snort/0008-Fix-NO-OPTIMIZE.patch | 24 + package/snort3/Config.in | 2 + package/socat/socat.mk | 10 +- package/sofia-sip/sofia-sip.hash | 2 +- package/sofia-sip/sofia-sip.mk | 7 +- package/softether/softether.hash | 4 +- .../sound-theme-borealis.hash | 2 +- .../sound-theme-freedesktop.hash | 2 +- package/sox/sox.mk | 10 +- package/speex/speex.hash | 6 +- package/spice/Config.in | 6 +- package/spidev_test/Config.in | 2 +- package/spidev_test/spidev_test.hash | 4 +- package/sqlite/sqlite.hash | 2 +- package/sqlite/sqlite.mk | 4 +- ...e-of-INSTALL_DIR-for-symlink-targets.patch | 37 - package/squashfs/squashfs.hash | 2 +- package/squashfs/squashfs.mk | 8 +- package/squeezelite/squeezelite.hash | 4 +- package/squid/squid.hash | 8 +- package/squid/squid.mk | 2 +- package/ssdp-responder/ssdp-responder.mk | 5 - package/strace/strace.mk | 2 +- ...1-Makefile-fix-build-with-kernel-5.6.patch | 60 + package/strongswan/strongswan.hash | 6 +- package/strongswan/strongswan.mk | 2 +- package/stunnel/Config.in | 3 +- .../0001-workaround-ac-run-ifelse.patch | 23 - package/subversion/subversion.hash | 4 +- package/subversion/subversion.mk | 3 +- ...onfigure.ac-fix-openssl-static-build.patch | 47 + package/sudo/Config.in | 2 +- package/sudo/sudo.hash | 6 +- package/sudo/sudo.mk | 12 +- package/sunxi-mali-utgard-driver/Config.in | 2 +- .../sunxi-mali-utgard-driver.hash | 2 +- .../sunxi-mali-utgard-driver.mk | 4 +- package/sunxi-mali-utgard/Config.in | 2 + package/supertuxkart/Config.in | 2 +- package/supertuxkart/supertuxkart.hash | 4 +- package/suricata/suricata.hash | 2 +- package/suricata/suricata.mk | 2 +- package/swig/swig.hash | 8 +- package/swupdate/swupdate.mk | 7 +- package/sylpheed/sylpheed.hash | 6 +- package/synergy/synergy.hash | 4 +- package/syslog-ng/syslog-ng.mk | 7 + package/sysstat/sysstat.hash | 4 +- package/sysstat/sysstat.mk | 5 +- ...define-MOVE_MOUNT_T_EMPTY_PATH-if-mi.patch | 33 - package/systemd/Config.in | 48 +- package/systemd/systemd.hash | 2 +- package/systemd/systemd.mk | 8 +- package/sysvinit/sysvinit.hash | 4 +- package/szip/szip.hash | 4 +- package/taskd/taskd.hash | 2 +- package/tcf-agent/Config.in | 2 +- package/tclap/Config.in | 2 +- package/tcpdump/Config.in | 2 +- package/tcpdump/tcpdump.hash | 4 +- package/tcpdump/tcpdump.mk | 2 +- package/tcping/tcping.hash | 4 +- package/tcpreplay/Config.in | 1 + package/tcpreplay/tcpreplay.hash | 4 +- package/tcpreplay/tcpreplay.mk | 14 +- package/tekui/tekui.mk | 4 +- ...configure.ac-fix-build-on-aarch64_be.patch | 32 + package/tesseract-ocr/tesseract-ocr.mk | 4 +- package/tftpd/S80tftpd-hpa | 2 + package/tftpd/tftpd.mk | 3 +- package/thttpd/thttpd.hash | 4 +- package/ti-cgt-pru/ti-cgt-pru.hash | 6 +- package/ti-gfx/Config.in | 2 +- ...rect-simple-copy-paste-error-Fix-488.patch | 28 + ...lobal-buffer-overflow-for-ASCII-tags.patch | 43 - package/tiff/Config.in | 4 + package/tiff/tiff.hash | 4 +- package/tiff/tiff.mk | 31 +- package/time/time.hash | 6 +- package/timescaledb/timescaledb.hash | 2 +- package/timescaledb/timescaledb.mk | 3 +- package/tinc/tinc.hash | 6 +- package/tinymembench/tinymembench.hash | 4 +- ...up-in-error-page-in-invalid-requests.patch | 32 + package/tinyproxy/tinyproxy.hash | 4 +- package/tinyproxy/tinyproxy.mk | 5 +- package/tinyxml/tinyxml.hash | 4 +- package/tinyxml/tinyxml.mk | 2 +- package/tio/tio.hash | 4 +- package/tmux/tmux.mk | 7 + ...0001-Fix-static-linking-with-OpenSSL.patch | 94 - ...rc_lib_crypt_ops_crypto_dh_openssl_c.patch | 67 + ...c_lib_crypt_ops_crypto_rsa_openssl_c.patch | 58 + ...003-patch-src_lib_tls_x509_openssl_c.patch | 22 + package/tor/tor.hash | 3 +- package/tor/tor.mk | 9 +- package/tovid/Config.in | 8 +- package/tovid/tovid.hash | 4 +- package/tpm-tools/tpm-tools.hash | 8 +- package/tpm2-totp/tpm2-totp.hash | 4 +- package/trace-cmd/Config.in | 7 +- package/traceroute/traceroute.hash | 6 +- package/tree/tree.hash | 4 +- .../0003-Use-fcntl-h-for-dev_t-mode_t.patch | 46 + package/trinity/trinity.hash | 4 +- .../0003-Fix-build-with-LibreSSL-2-7.patch | 24 + package/ts4900-fpga/Config.in | 2 +- package/ts4900-fpga/ts4900-fpga.hash | 6 +- package/ts4900-fpga/ts4900-fpga.mk | 6 +- package/tstools/tstools.hash | 2 +- package/turbolua/turbolua.hash | 4 +- .../0002-configure-add-execinfo-option.patch | 55 - .../0002-fix-build-with-libressl.patch | 47 + .../tvheadend/0003-Fix-FTBFS-in-utils-c.patch | 28 + package/tvheadend/tvheadend.hash | 2 +- package/tvheadend/tvheadend.mk | 2 +- package/uacme/Config.in | 7 +- package/uacme/uacme.hash | 2 +- package/uacme/uacme.mk | 8 +- package/uboot-tools/Config.in.host | 6 +- package/uboot-tools/uboot-tools.mk | 2 + package/uclibc-ng-test/uclibc-ng-test.hash | 2 +- package/uclibc-ng-test/uclibc-ng-test.mk | 2 +- package/uclibc/Config.in | 34 +- package/uclibc/uclibc.hash | 4 +- package/uclibc/uclibc.mk | 3 +- .../udev-gentoo-scripts.hash | 4 +- package/udev/udev.mk | 3 +- package/udisks/Config.in | 10 +- package/udisks/udisks.mk | 1 + package/udpcast/Config.in | 2 + package/udpcast/udpcast.mk | 24 +- package/uftp/uftp.hash | 2 +- package/uftp/uftp.mk | 2 +- package/uftrace/Config.in | 6 +- package/uftrace/uftrace.hash | 4 +- package/uhd/uhd.mk | 1 - package/ulogd/ulogd.hash | 8 +- .../0001-Fix-output_dir-make-dependency.patch | 46 + package/unbound/unbound.mk | 1 + .../unclutter-xfixes/unclutter-xfixes.hash | 4 +- package/unrar/unrar.hash | 2 +- package/unrar/unrar.mk | 2 +- package/unzip/unzip.hash | 2 +- package/unzip/unzip.mk | 10 +- package/upower/upower.hash | 4 +- package/upower/upower.mk | 7 + ...ck-DT_REL-DT_RELA-DT_RELSZ-DT_RELASZ.patch | 80 - package/upx/upx.hash | 2 +- package/upx/upx.mk | 22 +- ...2.x-false-error-reporting-storing-th.patch | 57 + package/urandom-scripts/S20urandom | 40 +- package/urg/urg.hash | 6 +- .../0001-fix-systemd-detection.patch | 18 + .../usb_modeswitch_data.hash | 6 +- package/usbguard/Config.in | 6 +- package/usbguard/usbguard.mk | 1 + package/ussp-push/ussp-push.hash | 4 +- package/utp_com/utp_com.hash | 4 +- package/v4l2loopback/v4l2loopback.hash | 2 +- package/v4l2loopback/v4l2loopback.mk | 14 +- ...coregrind-fix-compilation-for-uclibc.patch | 65 + package/valgrind/Config.in | 5 +- package/valgrind/valgrind.mk | 2 + package/valijson/Config.in | 8 +- package/valijson/valijson.mk | 1 - ...de_l3-Add-static-to-inline-functions.patch | 37 + .../vdr-plugin-vnsiserver.hash | 4 +- package/vim/vim.hash | 4 +- package/vim/vim.mk | 2 +- ...ive555.cpp-fix-build-with-live555-20.patch | 36 - .../0010-opengl-missing-library-check.patch | 57 + package/vlc/vlc.hash | 8 +- package/vlc/vlc.mk | 2 +- package/vmtouch/vmtouch.hash | 4 +- package/vtun/vtun.hash | 8 +- package/watchdogd/watchdogd.hash | 4 +- package/watchdogd/watchdogd.mk | 1 + ...001-iw_if.h-don-t-include-linux-if.h.patch | 41 + ...e-DSD-file-types-for-invalid-lengths.patch | 42 + package/wavpack/wavpack.mk | 3 + ...util-set-errno-in-wl_map_reserve_new.patch | 92 + .../0004-util-Limit-size-of-wl_map.patch | 106 + package/wayland/wayland.mk | 4 + package/webkitgtk/Config.in | 7 +- package/webkitgtk/webkitgtk.hash | 8 +- package/webkitgtk/webkitgtk.mk | 47 +- .../webrtc-audio-processing.hash | 4 +- package/weston/Config.in | 5 +- package/weston/weston.hash | 8 +- package/weston/weston.mk | 4 +- package/wf111/wf111.hash | 6 +- package/wget/wget.hash | 4 +- package/wget/wget.mk | 26 +- package/whetstone/whetstone.hash | 2 +- .../wilc1000-firmware/wilc1000-firmware.hash | 2 +- .../wilink-bt-firmware/wilink-bt-firmware.mk | 2 +- package/wine/Config.in | 6 +- .../wireguard-linux-compat.hash | 4 +- .../wireguard-linux-compat.mk | 2 +- package/wireless_tools/wireless_tools.hash | 4 +- package/wireplumber/wireplumber.mk | 8 +- package/wireshark/Config.in | 5 +- package/wireshark/wireshark.hash | 6 +- package/wireshark/wireshark.mk | 18 +- package/woff2/woff2.hash | 2 +- package/woff2/woff2.mk | 3 +- package/wolfssl/Config.in | 16 + package/wolfssl/wolfssl.hash | 2 +- package/wolfssl/wolfssl.mk | 18 +- ...se-a-less-generic-name-for-IEEE802.1.patch | 79 + package/wpa_supplicant/Config.in | 5 + package/wpa_supplicant/wpa_supplicant.conf | 2 +- package/wpa_supplicant/wpa_supplicant.mk | 22 +- package/wpan-tools/wpan-tools.hash | 4 +- package/wpebackend-fdo/wpebackend-fdo.hash | 8 +- package/wpebackend-fdo/wpebackend-fdo.mk | 2 +- ...cpp-fails-to-build-NEON-fast-path-se.patch | 328 +++ package/wpewebkit/Config.in | 3 + package/wpewebkit/wpewebkit.hash | 8 +- package/wpewebkit/wpewebkit.mk | 31 +- package/wsapi-fcgi/wsapi-fcgi.hash | 6 +- package/wsapi-xavante/wsapi-xavante.hash | 6 +- package/wsapi/wsapi.hash | 6 +- package/x11r7/libxcb/libxcb.hash | 6 +- package/x11r7/xapp_appres/xapp_appres.hash | 10 +- .../x11r7/xapp_bdftopcf/xapp_bdftopcf.hash | 10 +- package/x11r7/xapp_bitmap/xapp_bitmap.hash | 10 +- package/x11r7/xapp_editres/xapp_editres.hash | 10 +- package/x11r7/xapp_iceauth/xapp_iceauth.hash | 10 +- package/x11r7/xapp_ico/xapp_ico.hash | 10 +- package/x11r7/xapp_listres/xapp_listres.hash | 10 +- .../xapp_mkfontscale/xapp_mkfontscale.hash | 10 +- package/x11r7/xapp_oclock/xapp_oclock.hash | 10 +- package/x11r7/xapp_sessreg/xapp_sessreg.hash | 10 +- .../x11r7/xapp_setxkbmap/xapp_setxkbmap.hash | 10 +- package/x11r7/xapp_viewres/xapp_viewres.hash | 10 +- package/x11r7/xapp_x11perf/xapp_x11perf.hash | 2 +- package/x11r7/xapp_xauth/xapp_xauth.hash | 2 +- .../xapp_xbacklight/xapp_xbacklight.hash | 10 +- package/x11r7/xapp_xbiff/xapp_xbiff.hash | 10 +- package/x11r7/xapp_xcalc/xapp_xcalc.hash | 10 +- package/x11r7/xapp_xclock/xapp_xclock.hash | 10 +- .../x11r7/xapp_xcompmgr/xapp_xcompmgr.hash | 10 +- .../xapp_xcursorgen/xapp_xcursorgen.hash | 10 +- .../x11r7/xapp_xdbedizzy/xapp_xdbedizzy.hash | 2 +- .../x11r7/xapp_xditview/xapp_xditview.hash | 10 +- package/x11r7/xapp_xdm/xapp_xdm.hash | 10 +- .../x11r7/xapp_xdriinfo/xapp_xdriinfo.hash | 10 +- package/x11r7/xapp_xedit/xapp_xedit.hash | 4 +- package/x11r7/xapp_xf86dga/xapp_xf86dga.hash | 2 +- package/x11r7/xapp_xfd/xapp_xfd.hash | 10 +- .../x11r7/xapp_xfontsel/xapp_xfontsel.hash | 10 +- package/x11r7/xapp_xfs/xapp_xfs.hash | 8 +- package/x11r7/xapp_xfsinfo/xapp_xfsinfo.hash | 10 +- package/x11r7/xapp_xhost/xapp_xhost.hash | 10 +- package/x11r7/xapp_xinit/xapp_xinit.hash | 10 +- package/x11r7/xapp_xinput/xapp_xinput.hash | 10 +- .../x11r7/xapp_xkbprint/xapp_xkbprint.hash | 10 +- package/x11r7/xapp_xkill/xapp_xkill.hash | 10 +- package/x11r7/xapp_xload/xapp_xload.hash | 10 +- package/x11r7/xapp_xlogo/xapp_xlogo.hash | 10 +- .../x11r7/xapp_xlsatoms/xapp_xlsatoms.hash | 10 +- .../xapp_xlsclients/xapp_xlsclients.hash | 10 +- .../x11r7/xapp_xlsfonts/xapp_xlsfonts.hash | 10 +- package/x11r7/xapp_xman/xapp_xman.hash | 10 +- .../x11r7/xapp_xmessage/xapp_xmessage.hash | 10 +- package/x11r7/xapp_xmodmap/xapp_xmodmap.hash | 10 +- package/x11r7/xapp_xmore/xapp_xmore.hash | 10 +- package/x11r7/xapp_xpr/xapp_xpr.hash | 10 +- package/x11r7/xapp_xprop/xapp_xprop.hash | 2 +- package/x11r7/xapp_xrandr/xapp_xrandr.hash | 10 +- .../x11r7/xapp_xrefresh/xapp_xrefresh.hash | 10 +- package/x11r7/xapp_xset/xapp_xset.hash | 10 +- .../xapp_xsetpointer/xapp_xsetpointer.hash | 8 +- .../x11r7/xapp_xsetroot/xapp_xsetroot.hash | 10 +- package/x11r7/xapp_xsm/xapp_xsm.hash | 10 +- .../x11r7/xapp_xstdcmap/xapp_xstdcmap.hash | 8 +- package/x11r7/xapp_xvinfo/xapp_xvinfo.hash | 10 +- .../x11r7/xapp_xwininfo/xapp_xwininfo.hash | 10 +- package/x11r7/xapp_xwud/xapp_xwud.hash | 10 +- .../xcb-util-cursor/xcb-util-cursor.hash | 2 +- .../x11r7/xcb-util-image/xcb-util-image.hash | 4 +- .../xcb-util-keysyms/xcb-util-keysyms.hash | 2 +- package/x11r7/xcb-util-wm/xcb-util-wm.hash | 4 +- .../x11r7/xdata_xbitmaps/xdata_xbitmaps.hash | 10 +- .../xdata_xcursor-themes.hash | 10 +- .../xdriver_xf86-input-evdev.hash | 10 +- .../xdriver_xf86-input-mouse.hash | 10 +- .../xdriver_xf86-input-synaptics.hash | 10 +- .../xdriver_xf86-input-tslib.hash | 2 +- .../xdriver_xf86-video-amdgpu.hash | 10 +- .../xdriver_xf86-video-amdgpu.mk | 6 + ...dri-h-with-older-versions-of-xserver.patch | 32 + .../xdriver_xf86-video-ati.hash | 10 +- .../xdriver_xf86-video-dummy.hash | 4 +- .../xdriver_xf86-video-fbdev.hash | 2 +- .../xdriver_xf86-video-i128.hash | 8 +- .../xdriver_xf86-video-imx-viv.hash | 2 +- .../xdriver_xf86-video-imx-viv.mk | 3 +- .../xdriver_xf86-video-mach64.hash | 10 +- .../xdriver_xf86-video-mga.hash | 10 +- .../xdriver_xf86-video-neomagic.hash | 10 +- .../xdriver_xf86-video-openchrome.hash | 8 +- .../x11r7/xdriver_xf86-video-qxl/Config.in | 2 +- .../xdriver_xf86-video-r128.hash | 10 +- .../xdriver_xf86-video-siliconmotion.hash | 4 +- .../xdriver_xf86-video-sis.hash | 8 +- .../xdriver_xf86-video-tdfx.hash | 10 +- .../xdriver_xf86-video-trident.hash | 4 +- .../xdriver_xf86-video-vmware.hash | 10 +- .../xfont_encodings/xfont_encodings.hash | 10 +- .../xfont_font-bh-ttf/xfont_font-bh-ttf.hash | 2 +- .../xfont_font-util/xfont_font-util.hash | 10 +- package/x11r7/xlib_libFS/xlib_libFS.hash | 10 +- package/x11r7/xlib_libICE/xlib_libICE.hash | 10 +- package/x11r7/xlib_libSM/xlib_libSM.hash | 8 +- .../xlib_libXScrnSaver.hash | 10 +- package/x11r7/xlib_libXau/xlib_libXau.hash | 10 +- .../xlib_libXcomposite.hash | 10 +- .../xlib_libXcursor/xlib_libXcursor.hash | 10 +- .../xlib_libXdamage/xlib_libXdamage.hash | 10 +- .../x11r7/xlib_libXdmcp/xlib_libXdmcp.hash | 10 +- package/x11r7/xlib_libXext/xlib_libXext.hash | 10 +- .../x11r7/xlib_libXfixes/xlib_libXfixes.hash | 2 +- .../x11r7/xlib_libXfont/xlib_libXfont.hash | 8 +- .../x11r7/xlib_libXfont2/xlib_libXfont2.mk | 2 - .../xlib_libXinerama/xlib_libXinerama.hash | 10 +- package/x11r7/xlib_libXmu/xlib_libXmu.hash | 10 +- package/x11r7/xlib_libXpm/xlib_libXpm.hash | 12 +- package/x11r7/xlib_libXpm/xlib_libXpm.mk | 7 +- .../x11r7/xlib_libXrandr/xlib_libXrandr.hash | 10 +- .../xlib_libXrender/xlib_libXrender.hash | 4 +- package/x11r7/xlib_libXt/xlib_libXt.hash | 2 +- package/x11r7/xlib_libXv/xlib_libXv.hash | 4 +- package/x11r7/xlib_libXvMC/xlib_libXvMC.hash | 10 +- .../xlib_libXxf86dga/xlib_libXxf86dga.hash | 10 +- .../xlib_libXxf86vm/xlib_libXxf86vm.hash | 6 +- package/x11r7/xlib_libdmx/xlib_libdmx.hash | 10 +- .../xlib_libfontenc/xlib_libfontenc.hash | 10 +- .../xlib_libxkbfile/xlib_libxkbfile.hash | 10 +- .../xlib_libxshmfence/xlib_libxshmfence.hash | 10 +- package/x11r7/xlib_xtrans/xlib_xtrans.hash | 10 +- ...error-when-built-without-logind-plat.patch | 90 - package/x11r7/xserver_xorg-server/Config.in | 10 +- .../xserver_xorg-server.hash | 7 +- .../xserver_xorg-server.mk | 15 +- .../xutil_makedepend/xutil_makedepend.hash | 10 +- package/xavante/xavante.hash | 4 +- package/xdg-dbus-proxy/xdg-dbus-proxy.hash | 4 +- package/xdg-dbus-proxy/xdg-dbus-proxy.mk | 2 +- package/xdotool/xdotool.hash | 4 +- package/xen/xen.hash | 2 +- package/xen/xen.mk | 2 +- ...riding-MAP_SYNC-in-publicly-exported.patch | 187 ++ package/xmlstarlet/xmlstarlet.hash | 4 +- package/xmrig/Config.in | 6 +- package/xtables-addons/xtables-addons.hash | 2 +- package/xtables-addons/xtables-addons.mk | 2 +- package/xterm/xterm.hash | 2 +- package/xterm/xterm.mk | 2 +- .../xutil_util-macros/xutil_util-macros.hash | 2 +- ...dd-install_libxxhash.includes-target.patch | 39 + package/xxhash/xxhash.mk | 29 +- ...0001-Detect-symver-attribute-support.patch | 70 + package/xz/xz.hash | 3 +- package/xz/xz.mk | 2 +- package/yad/yad.hash | 6 +- package/yajl/yajl.mk | 2 +- ...-netsnmp.m4-fix-shared-netsnmp-build.patch | 44 + package/zabbix/Config.in | 1 + package/zabbix/zabbix.mk | 11 +- package/zeromq/Config.in | 2 - package/zeromq/zeromq.mk | 4 +- package/zfs/zfs.mk | 2 +- package/zip/zip.hash | 4 +- package/zip/zip.mk | 6 - ...ix-version-in-zlib.pc-when-building-.patch | 53 + ...-sys-auxv.h-exists-at-configure-time.patch | 90 + package/zlib-ng/zlib-ng.mk | 16 +- package/zlib/Config.in | 4 + ...verflow-at-zlog_conf_build_with_file.patch | 25 + package/zlog/zlog.mk | 4 + package/zmqpp/zmqpp.hash | 4 +- ...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 + package/zsh/zsh.hash | 2 +- package/zsh/zsh.mk | 2 +- package/zstd/zstd.mk | 18 +- package/zxing-cpp/zxing-cpp.hash | 4 +- package/zynaddsubfx/Config.in | 3 +- package/zynaddsubfx/zynaddsubfx.mk | 26 +- ...-implant-ZZIP_LIBLATEST-for-zzip_lib.patch | 75 + ...reate-symlinks-only-if-target-is-mis.patch | 72 + .../autobuild/bootlin-armv7m-uclibc.config | 1 + support/dependencies/dependencies.sh | 43 +- support/download/dl-wrapper | 12 +- support/legal-info/buildroot.hash | 2 +- support/misc/Vagrantfile | 2 +- support/misc/cross-compilation.conf.in | 5 + support/scripts/boot-qemu-image.py | 8 +- support/scripts/check-host-rpath | 16 +- support/scripts/expunge-gconv-modules | 22 +- support/scripts/gen-bootlin-toolchains | 44 +- support/scripts/generate-gitlab-ci-yml | 2 +- support/scripts/graph-build-time | 63 +- support/scripts/pkg-stats | 107 +- support/scripts/size-stats | 3 + support/testing/infra/basetest.py | 11 +- support/testing/run-tests | 4 +- .../gitlab-release/gitlab-release.hash | 4 +- support/testing/tests/fs/test_f2fs.py | 2 +- support/testing/tests/fs/test_oci.py | 2 +- .../tests/package/sample_python_avro.py | 4 +- support/testing/tests/package/test_lxc.py | 2 +- .../tests/package/test_python_boto3.py | 11 + .../tests/package/test_python_botocore.py | 11 + .../tests/package/test_python_crossbar.py | 13 +- .../tests/package/test_python_flask.py | 2 +- .../package/test_python_flask_expects_json.py | 2 +- support/testing/tests/package/test_rust.py | 50 +- .../tests/toolchain/test_external_bootlin.py | 6 + system/Config.in | 3 +- toolchain/Config.in | 34 +- toolchain/helpers.mk | 2 +- toolchain/toolchain-buildroot/Config.in | 10 +- .../toolchain-buildroot.mk | 3 + toolchain/toolchain-external/Config.in | 4 + .../toolchain-external-andes-nds32.hash | 2 +- .../Config.in.options | 72 +- .../Config.in | 1 + ...toolchain-external-codescape-img-mips.hash | 4 +- .../Config.in | 4 +- ...toolchain-external-codescape-mti-mips.hash | 4 +- ...olchain-external-codesourcery-aarch64.hash | 4 +- .../toolchain-external-codesourcery-arm.hash | 4 +- .../toolchain-external-codesourcery-mips.hash | 4 +- ...oolchain-external-codesourcery-niosII.hash | 8 +- .../toolchain-external-custom.mk | 5 + .../toolchain-external-linaro-aarch64-be.hash | 4 +- .../toolchain-external-linaro-aarch64.hash | 4 +- .../toolchain-external-linaro-arm.hash | 4 +- .../toolchain-external-linaro-armeb.hash | 4 +- .../toolchain-external-synopsys-arc.hash | 8 +- toolchain/toolchain.mk | 9 +- toolchain/toolchain/toolchain.mk | 3 + utils/brmake | 4 +- utils/checkpackagelib/lib_config.py | 38 + utils/checkpackagelib/lib_mk.py | 18 + utils/checkpackagelib/test_lib_config.py | 78 + utils/checkpackagelib/test_lib_mk.py | 48 + utils/genrandconfig | 21 +- utils/readme.txt | 2 +- utils/scancpan | 14 +- utils/scanpypi | 36 +- utils/test-pkg | 3 +- 2201 files changed, 26474 insertions(+), 10131 deletions(-) create mode 100644 .shellcheckrc create mode 100644 board/zynqmp/zcu106/patches/uboot/0001-arm64-zynqmp-zynqmp-zcu102-revA-Fix-DP-PLL-configura.patch create mode 100644 boot/afboot-stm32/0002-Makefile-drop-nostartfiles.patch create mode 100644 boot/afboot-stm32/0003-Makefile-disable-stack-protector.patch create mode 100644 boot/edk2/0001-MdeModulePkg-UsbBusDxe-fix-NOOPT-build-error.patch create mode 100644 boot/grub2/0151-Makefile-Make-grub_fstest.pp-depend-on-config-util.h.patch create mode 100644 boot/mv-ddr-marvell/0001-Makefile-disable-stack-protection.patch create mode 100644 package/ace/0001-ACE-ace-SSL-SSL_Asynch_BIO.cpp-fix-build-with-libres.patch delete mode 100644 package/agentpp/0001-Fix-build-when-SNMPv3-is-disabled.patch delete mode 100644 package/apr/0001-cross-compile.patch rename package/apr/{0002-sys-param-h.patch => 0001-sys-param-h.patch} (100%) create mode 100644 package/apr/0002-Revert-Backport-r1872164.-Fix-the-name-of-libtool-wh.patch delete mode 100644 package/apr/0003-Merge-r1887279-from-trunk.patch create mode 100644 package/apr/0003-Revert-Add-the-ability-to-cross-compile-APR.patch create mode 100644 package/arptables/0002-libarptc-libarptc_incl.c-fix-build-with-O0.patch create mode 100644 package/asterisk/0006-main-iostream.c-fix-build-with-libressl.patch create mode 100644 package/azure-iot-sdk-c/0001-adapters-fix-build-with-libressl-2.8.0.patch create mode 100644 package/bayer2rgb-neon/0001-src-convert.c-remove-have_cplusplus.patch create mode 100644 package/bearssl/0001-Fix-missing-objdir-dependency.patch create mode 100644 package/bird/0001-configure.ac-fix-build-with-autoconf-2.70.patch create mode 100644 package/bluez5_utils/0006-src-shared-util.h-include-sys-types.h.patch create mode 100644 package/botan/0001-Add-superh-alias-needed-by-Debian.patch delete mode 100644 package/botan/0001-Revert-workaround-a-miscompilation-issue-in-clang-12.patch create mode 100644 package/botan/0002-src-build-data-arch-superh.txt-add-sh4-eb-aeb.patch create mode 100644 package/bpftool/0001-bpftool-Fix-bootstrapping-during-a-cross-compilation.patch create mode 100644 package/busybox/0003-awk-fix-use-after-free-CVE-2022-30065.patch create mode 100644 package/busybox/0004-libbb-sockaddr2str-ensure-only-printable-characters-.patch create mode 100644 package/busybox/0005-nslookup-sanitize-all-printed-strings-with-printable.patch create mode 100644 package/cairo/0003-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch create mode 100644 package/cairo/0004-Fix-mask-usage-in-image-compositor.patch create mode 100644 package/connman/0001-gweb-Fix-OOB-write-in-received_data.patch create mode 100644 package/connman/0002-wispr-Add-reference-counter-to-portal-context.patch create mode 100644 package/connman/0003-wispr-Update-portal-context-references.patch delete mode 100644 package/darkhttpd/0001-Declare-vars-outside-of-for-loop-for-std-c90.patch create mode 100644 package/dcron/0002-system-crontab.patch delete mode 100644 package/dhcp/0001-WIP-Resolve-ISC-DHCP-does-not-build-with-gcc10.patch create mode 100644 package/dieharder/0005-Remove-defunct-rgb_operm.patch create mode 100644 package/diffutils/0004-sigsegv-Fix-compilation-error-on-arceb-CPUs.patch create mode 100644 package/diffutils/0005-sigsegv-Add-support-for-Linux-PowerPC-32-bit-with-mu.patch rename package/dmalloc/{0001-mips.patch => 0001-configure-fix-build-on-mips.patch} (37%) create mode 100644 package/dmalloc/0002-return-Fix-PowerPC-assembly.patch create mode 100644 package/dmalloc/0003-configure-allow-overriding-some-tests.patch create mode 100644 package/dmalloc/0004-Makefile-use-the-configure-detected-or-user-supplied.patch create mode 100644 package/dmalloc/0005-configure-use-LD-instead-of-hard-coding-ld.patch delete mode 100644 package/dnsmasq/0001-src-option.c-fix-build-with-gcc-4.8.patch delete mode 100644 package/dnsmasq/0002-Fix-46312909d9080ff8743133fbd52427b4b2213171-typo.patch delete mode 100644 package/dnsmasq/0003-Fix-FTBFS-when-CONNTRACK-and-UBUS-but-not-DNSSEC-compile-options-selected.patch delete mode 100644 package/dnsmasq/0004-src-pattern.c-fix-build-with-gcc-4.8.patch create mode 100644 package/dovecot/0001-auth-Fix-handling-passdbs-with-identical-driver-args.patch create mode 100644 package/e2fsprogs/0001-libext2fs-add-sanity-check-to-extent-manipulation.patch rename package/elf2flt/{0003-elf2flt-handle-binutils-2.34.patch => 0001-elf2flt-handle-binutils-2.34.patch} (89%) delete mode 100644 package/elf2flt/0001-ld-elf2flt-behave-properly-when-called-with-a-name-d.patch rename package/elf2flt/{0004-elf2flt-add-riscv-64-bits-support.patch => 0002-elf2flt-add-riscv-64-bits-support.patch} (83%) delete mode 100644 package/elf2flt/0002-elf2flt.c-add-new-relocation-types-for-xtensa.patch create mode 100644 package/elf2flt/0004-elf2flt-create-a-common-helper-function.patch create mode 100644 package/elf2flt/0005-elf2flt-fix-fatal-error-regression-on-m68k-xtensa-ri.patch create mode 100644 package/elf2flt/0006-elf2flt-xtensa-fix-text-relocations.patch create mode 100644 package/eudev/0002-Fix-compile-time-issue-on-very-old-kernels.patch delete mode 100644 package/exim/0004-Fix-uClibc-build.patch rename package/exim/{0005-exim_lock-fix-lstat-related-build-errors.patch => 0004-exim_lock-fix-lstat-related-build-errors.patch} (100%) rename package/exim/{0006-sieve-fix-build-errors.patch => 0005-sieve-fix-build-errors.patch} (100%) create mode 100644 package/exim/0006-Fix-regex-n-use-after-free.-Bug-2915.patch create mode 100644 package/exim/0007-Fix-non-WITH_CONTENT_SCAN-build.patch create mode 100644 package/exim/0008-Fix-non-WITH_CONTENT_SCAN-build-2.patch create mode 100644 package/exim/0009-Fix-non-WITH_CONTENT_SCAN-build-3.patch create mode 100644 package/f2fs-tools/0001-configure-ac-fix-cross-compilation.patch create mode 100644 package/f2fs-tools/0002-f2fs-tools-fix-build-error-on-lz4-1-9-4.patch create mode 100644 package/fakeroot/0001-fix-prototype-generation.patch rename package/fbv/{0002-cross.patch => 0001-cross.patch} (100%) rename package/fbv/{0003-fix-24bpp-support-on-big-endian.patch => 0002-fix-24bpp-support-on-big-endian.patch} (100%) rename package/fbv/{0004-fix-bgr555.patch => 0003-fix-bgr555.patch} (100%) rename package/fbv/{0005-giflib.patch => 0004-giflib.patch} (100%) rename package/fbv/{0006-include.patch => 0005-include.patch} (100%) rename package/fbv/{0007-libpng15.patch => 0006-libpng15.patch} (100%) create mode 100644 package/fbv/0007-gif.c-fic-build-with-gcc-10.patch create mode 100644 package/ficl/0002-Makefile.linux-pass-LDFLAGS.patch delete mode 100644 package/freeswitch/0001-fix-build-SWITCH_BYTE_ORDER-__BIG_ENDIAN.patch create mode 100644 package/freeswitch/0001-libs-srtp-crypto-hash-hmac_ossl.c-fix-build-with-lib.patch delete mode 100644 package/freeswitch/0002-core-fix--disable-libyuv.patch create mode 100644 package/freetype/0001-sfnt-Avoid-invalid-face-index.patch create mode 100644 package/freetype/0002-src-base-ftobjs.c-ft_open_face_internal-Properly-gua.patch create mode 100644 package/freetype/0003-src-base-ftobjs.c-FT_Request_Size-Guard-face-size.patch create mode 100644 package/fxload/0001-fix-static-build.patch delete mode 100644 package/gcc/10.3.0/0004-Remove-cyclades-from-libsanitizer.patch rename package/gcc/{10.3.0 => 10.4.0}/0001-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch (94%) rename package/gcc/{10.3.0 => 10.4.0}/0002-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch (96%) rename package/gcc/{10.3.0 => 10.4.0}/0003-or1k-Use-cmodel-large-when-building-crtstuff.patch (93%) rename package/gcc/{10.3.0/0005-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch => 10.4.0/0004-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch} (88%) create mode 100644 package/gcc/10.4.0/0005-disable-split-stack-for-non-thread-builds.patch rename package/gcc/{11.2.0 => 11.3.0}/0001-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch (96%) rename package/gcc/{11.2.0 => 11.3.0}/0002-or1k-Use-cmodel-large-when-building-crtstuff.patch (93%) rename package/gcc/{11.2.0 => 11.3.0}/0003-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch (88%) create mode 100644 package/gcc/11.3.0/0004-disable-split-stack-for-non-thread-builds.patch create mode 100644 package/gcc/11.3.0/0005-rs6000-Improve-.machine.patch create mode 100644 package/gcc/11.3.0/0006-rs6000-Do-not-use-rs6000_cpu-for-.machine-ppc-and-pp.patch create mode 100644 package/gcc/8.4.0/0004-disable-split-stack-for-non-thread-builds.patch create mode 100644 package/gdb/10.2/0009-gdb-Fix-native-build-on-xtensa.patch create mode 100644 package/gdb/11.2/0009-gdb-Fix-native-build-on-xtensa.patch create mode 100644 package/gdb/9.2/0009-gdb-Fix-native-build-on-xtensa.patch delete mode 100644 package/ghostscript/0001-Bug-704405-Fix-typo-in-non-forked-lcms2-code.patch create mode 100644 package/glibc/2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c/0002-struct-stat-is-not-posix-conformant-on-microblaze-wi.patch create mode 100644 package/glorytun/0001-Add-support-for-Apple-silicon.patch create mode 100644 package/glorytun/0002-aegis256.c-fix-aarch64-build-with-uclibc.patch create mode 100644 package/gnupg2/0001-ks_ldap_free_state.patch create mode 100644 package/go/0002-cmd-dist-use-gohostarch-for-ssa-rewrite-check.patch create mode 100644 package/go/0003-runtime-support-riscv64-SV57-mode.patch create mode 100644 package/gpsd/br-chrony.conf create mode 100644 package/gsl/0001-configure.ac-fix-build-on-powerpc.patch delete mode 100644 package/heirloom-mailx/0001-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch rename package/heirloom-mailx/{0002-fix-libressl-support.patch => 0001-fix-libressl-support.patch} (100%) create mode 100644 package/hostapd/0001-use-a-less-generic-name-for-IEEE802.11-CRC-32-routin.patch create mode 100644 package/htop/0001-configure.ac-fix-static-build-with-hwloc.patch delete mode 100644 package/iwd/0001-dpp-fix-implicit-declaration-of-function-explicit_bz.patch create mode 100644 package/janus-gateway/janus-gateway.service create mode 100644 package/jose/0002-man-add-option-to-skip-building-man-pages.patch delete mode 100644 package/jszip/0001-fix-Use-a-null-prototype-object-for-this-files.patch create mode 100644 package/keepalived/0003-fix-build-with-libressl.patch delete mode 100644 package/kompexsqlite/0001-Makefile-use-autoconf-CXX-for-proper-builds.patch delete mode 100644 package/kompexsqlite/0002-append-to-cflags-and-cxxflags.patch create mode 100644 package/less/0001-End-OSC8-hyperlink-on-invalid-embedded-escape-sequence.patch create mode 100644 package/lftp/0002-src-lftp_ssl.c-fix-build-with-libressl-2.7.0.patch create mode 100644 package/libabseil-cpp/0002-fix-build-with-uclibc-ng.patch create mode 100644 package/libabseil-cpp/0003-PR-1197-absl-base-internal-direct_mmap-h-fix-musl-build-on-mips.patch create mode 100644 package/libarchive/0001-libarchive-Handle-a-calloc-returning-NULL.patch create mode 100644 package/libbpf/0001-Makefile-Fix-cross-compilation-for-32-bit-targets.patch create mode 100644 package/libbsd/0001-src-local-elf.h-fix-big-endian-sh.patch create mode 100644 package/libcamera-apps/0002-preview-fix-egl_preview-compile-conversion-from-Wind.patch create mode 100644 package/libcec/0001-cecloader-h-fix-null-return.patch create mode 100644 package/libcgi/0001-CMakeLists.txt-honour-BUILD_TESTING.patch create mode 100644 package/libconfuse/0001-Fix-163-unterminated-username-used-with-getpwnam.patch create mode 100644 package/libeXosip2/0001-src-eXtl_dtls.c-fix-build-with-libressl-3.4.1.patch create mode 100644 package/libfreeimage/0004-fixed-C-11-warnings.patch create mode 100644 package/libftdi1/0003-CMakeLists.txt-fix-static-build-with-libusb-and-lato.patch delete mode 100644 package/libkrb5/0001-Fix-KDC-null-deref-on-TGS-inner-body-null-server.patch create mode 100644 package/libks/0001-CMakeLists.txt-honour-BUILD_TESTING.patch create mode 100644 package/libmodsecurity/0004-build-pcre.m4-fix-build-without-pcre.patch create mode 100644 package/libnspr/0001-Bug-1765100-fix-build-on-mips-musl-libc.patch rename package/liboping/{0002-fix-utf8-support.patch => 0001-fix-utf8-support.patch} (100%) delete mode 100644 package/liboping/0001-ping_host_add-Decrease-buffer-size-to-make-GCC-s-truncation-check-happy.patch rename package/liboping/{0003-Open-raw-sockets-when-adding-hosts-not-when-doing-th.patch => 0002-Open-raw-sockets-when-adding-hosts-not-when-doing-th.patch} (100%) create mode 100644 package/liboping/0003-Fix-compile-break-with-GCC-7-buffer-overflow-with-snprintf.patch create mode 100644 package/liboping/0004-Fix-compile-error-on-GCC-7.patch create mode 100644 package/libp11/0001-Update-wp11_rsa.c.patch create mode 100644 package/libpjsip/0001-Merge-pull-request-from-GHSA-9pfh-r8x4-w26w.patch create mode 100644 package/libpjsip/0002-Merge-pull-request-from-GHSA-cxwq-5g9x-x7fr.patch create mode 100644 package/libpsl/0001-Add-libiconv-dep-to-meson-build-again.patch create mode 100644 package/librtlsdr/0001-Makefile.am-respect-DESTDIR-with-install-udev-rules.patch delete mode 100644 package/librtlsdr/0001-disable_shared_library_target_in_build.patch delete mode 100644 package/librtlsdr/0002-cmake-Modules-Version.cmake-don-t-use-Git-version-if.patch create mode 100644 package/libsndfile/0001-configure-ac-substitute-EXTERNAL_MPEG_LIBS-in-sndfile-pc.patch delete mode 100644 package/libsndfile/0001-ms_adpcm-Fix-and-extend-size-checks.patch create mode 100644 package/libtalloc/0001-buildtools-wafsamba-add-disable-stack-protector-opti.patch delete mode 100644 package/libtasn1/0001-fuzz-Makefile.am-do-not-force-static.patch create mode 100644 package/libuhttpd/0001-add-compatibility-for-wolfssl-5-0.patch create mode 100644 package/libvncserver/0002-libvncclient-free-vncRec-memory-in-rfbClientCleanup.patch create mode 100644 package/libzlib/0001-Fix-configure-issue-that-discarded-provided-CC-definition.patch create mode 100644 package/libzlib/0002-fix-CVE-2022-37434.patch create mode 100644 package/libzlib/0003-fix-CVE-2022-37434-regression.patch create mode 100644 package/ltp-testsuite/0002-testcases-kernel-fs-declare-int-openlog-as-static.patch create mode 100644 package/lttng-babeltrace/0002-configure.ac-fix-popt-static-build.patch create mode 100644 package/luasyslog/0002-build-ax_lua.m4-fix-cross-compilation.patch create mode 100644 package/lxc/0005-Patching-an-incoming-CVE-CVE-2022-47952.patch delete mode 100644 package/lz4/0001-Fix-potential-memory-corruption-with-negative-memmov.patch create mode 100644 package/lz4/0001-build-Support-BUILD_SHARED-no.patch delete mode 100644 package/mbedtls/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch create mode 100644 package/memcached/0002-check-for-sys-auxv.h.patch create mode 100644 package/memcached/0004-configure-ac-use-pkg-config-to-retrieve-openssl.patch create mode 100644 package/minizip/0001-CMakeLists.txt-fix-build-without-C.patch delete mode 100644 package/mpd/0002-lib-alsa-Error-add-missing-include.patch create mode 100644 package/mstpd/0001-bridge-stp.in-support-different-versions-of-pidof-13.patch rename package/multipath-tools/{0002-Makefile.inc-Enable-systemd-if-ENABLE_SYSTEMD-is-def.patch => 0001-Makefile.inc-Enable-systemd-if-ENABLE_SYSTEMD-is-def.patch} (100%) delete mode 100644 package/multipath-tools/0001-kpartx-libmultipath-use-pkg-config-to-get-path-to-he.patch create mode 100644 package/mupdf/0005-Bug-704834-Fix-division-by-zero-for-zero-width-pages-in-muraster.patch create mode 100644 package/ne10/0002-fix-build-without-C.patch create mode 100644 package/netatalk/0002-etc-uams-openssl_compat.h-fix-build-with-libressl-2..patch delete mode 100644 package/netatalk/0002-fix-ftbs-multiple-def-of-invalid_dircache_entries.patch delete mode 100644 package/netsnmp/0001-configure-static-linking-Fix-SSL-checks.patch delete mode 100644 package/netsnmp/0002-configure-Fix-lcrypto-lz-test.patch delete mode 100644 package/netsnmp/0003-configure-fix-AC_CHECK_FUNCS-EVP_sha224-EVP_sha384-..patch delete mode 100644 package/netsnmp/0004-configure-fix-AC_CHECK_FUNCS-TLS_method-TLSv1_method.patch create mode 100644 package/nginx/0011-Mp4-disabled-duplicate-atoms.patch rename package/nodejs/{0001-check-if-uclibc-has-backtrace-support.patch => 0002-check-if-uclibc-has-backtrace-support.patch} (100%) create mode 100644 package/odb/0012-Adjust-to-changes-in-GCC-11.patch create mode 100644 package/odb/0013-Resolve-name-lookup-ambiguity-causing-error-with-GCC.patch delete mode 100644 package/openjpeg/0001-thirdparty-tiff-append-flags-found-by-pkg-config-if-.patch delete mode 100644 package/openjpeg/0002-thirdparty-lcms2-append-flags-found-by-pkg-config-if.patch delete mode 100644 package/openjpeg/0003-CMakeLists.txt-Don-t-require-a-C-compiler.patch delete mode 100644 package/openjpeg/0004-Revert-Use-INC_DIR-for-OPENJPEG_INCLUDE_DIRS-fixes-u.patch create mode 100644 package/openocd/0003-stlink-fix-SIGSEGV-with-libusb-v1.0.24-33-g32a2206-1.patch create mode 100644 package/openpgm/0003-fix-build-on-macOS-ARM.patch create mode 100644 package/openssh/0001-Allow-ppoll_time64-in-seccomp-sandbox.patch create mode 100644 package/openssh/0002-Improve-detection-of-fzero-call-used-regs-all-suppor.patch delete mode 100644 package/openvmtools/0009-Set-permissions-on-rules-file.patch delete mode 100644 package/openvmtools/0010-Change-DEVPATH-to-devpath.patch create mode 100644 package/openvmtools/0013-Properly-check-authorization-on-incoming-guestOps-re.patch create mode 100644 package/openvpn/0001-auth-pam-c-add-missing-include-limits-h.patch rename package/optee-client/{S30optee => S30tee-supplicant} (83%) create mode 100644 package/opusfile/0001-Propagate-allocation-failure-from-ogg_sync_buffer.patch create mode 100644 package/pkcs11-helper/0001-lib-pkcs11h-core.c-fix-build-without-slotevent.patch create mode 100644 package/polkit/0003-fix-build-without-C.patch delete mode 100644 package/poppler/0001-Include-setjmp-h-when-WITH_JPEG-yes-and-WITH_PNG-no.patch create mode 100644 package/powerpc-utils/0001-add-includes-defines-for-musl-libc-support.patch create mode 100644 package/pppd/0002-pppd-eap-tls.c-fix-build-with-libressl.patch create mode 100644 package/procps-ng/0003-fix-pifd_open-check.patch create mode 100644 package/protozero/0001-CMakeLists.txt-protobuf-is-only-needed-for-tests.patch rename package/python-avro/{0002-drop-install-time-linting-and-imports-sorting.patch => 0001-drop-install-time-linting-and-imports-sorting.patch} (100%) create mode 100644 package/python-m2crypto/0001-Mitigate-the-Bleichenbacher-timing-attacks-in-the-RSA-decryption-API-CVE-2020-25657.patch create mode 100644 package/python-paho-mqtt/0001-fix-publish-for-python-3-10.patch create mode 100644 package/python-pillow/0001-Search-pkg-config-system-libs-cflags.patch rename package/python3/{0012-Add-importlib-fix-for-PEP-3147-issue.patch => 0011-Add-importlib-fix-for-PEP-3147-issue.patch} (100%) delete mode 100644 package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch rename package/python3/{0013-Add-an-option-to-disable-pydoc.patch => 0012-Add-an-option-to-disable-pydoc.patch} (100%) rename package/python3/{0014-Add-an-option-to-disable-lib2to3.patch => 0013-Add-an-option-to-disable-lib2to3.patch} (100%) rename package/python3/{0015-Add-option-to-disable-the-sqlite3-module.patch => 0014-Add-option-to-disable-the-sqlite3-module.patch} (100%) rename package/python3/{0016-Add-an-option-to-disable-the-tk-module.patch => 0015-Add-an-option-to-disable-the-tk-module.patch} (100%) rename package/python3/{0017-Add-an-option-to-disable-the-curses-module.patch => 0016-Add-an-option-to-disable-the-curses-module.patch} (100%) rename package/python3/{0018-Add-an-option-to-disable-expat.patch => 0017-Add-an-option-to-disable-expat.patch} (100%) rename package/python3/{0019-Add-an-option-to-disable-CJK-codecs.patch => 0018-Add-an-option-to-disable-CJK-codecs.patch} (100%) rename package/python3/{0020-Add-an-option-to-disable-NIS.patch => 0019-Add-an-option-to-disable-NIS.patch} (100%) rename package/python3/{0021-Add-an-option-to-disable-unicodedata.patch => 0020-Add-an-option-to-disable-unicodedata.patch} (100%) rename package/python3/{0022-Add-an-option-to-disable-IDLE.patch => 0021-Add-an-option-to-disable-IDLE.patch} (100%) rename package/python3/{0023-Add-an-option-to-disable-decimal.patch => 0022-Add-an-option-to-disable-decimal.patch} (100%) rename package/python3/{0024-Add-an-option-to-disable-the-ossaudiodev-module.patch => 0023-Add-an-option-to-disable-the-ossaudiodev-module.patch} (100%) rename package/python3/{0025-Add-an-option-to-disable-openssl-support.patch => 0024-Add-an-option-to-disable-openssl-support.patch} (100%) rename package/python3/{0026-Add-an-option-to-disable-the-readline-module.patch => 0025-Add-an-option-to-disable-the-readline-module.patch} (100%) rename package/python3/{0027-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch => 0026-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch} (100%) rename package/python3/{0028-python-config.sh-don-t-reassign-prefix.patch => 0027-python-config.sh-don-t-reassign-prefix.patch} (100%) rename package/python3/{0029-Fix-cross-compiling-the-uuid-module.patch => 0028-Fix-cross-compiling-the-uuid-module.patch} (100%) rename package/python3/{0030-Add-an-option-to-disable-uuid-module.patch => 0029-Add-an-option-to-disable-uuid-module.patch} (100%) rename package/python3/{0031-fix-building-on-older-distributions.patch => 0030-fix-building-on-older-distributions.patch} (100%) rename package/python3/{0032-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch => 0031-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch} (100%) rename package/python3/{0033-Add-an-option-to-disable-the-berkeleydb-module.patch => 0032-Add-an-option-to-disable-the-berkeleydb-module.patch} (100%) create mode 100644 package/python3/0033-3.11-gh-98433-Fix-quadratic-time-idna-decoding.-GH-9.patch rename package/python3/{0034-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch => 0033-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch} (86%) create mode 100644 package/python3/0034-3-10-gh-98517-Fix-buffer-overflows-in-_sha3-module.patch create mode 100644 package/qemu/0002-build-disable-fcf-protection-on-march-486-m16.patch rename package/qt5/qt5base/{0007-Fix-build-on-riscv32.patch => 0006-Fix-build-on-riscv32.patch} (100%) delete mode 100644 package/qt5/qt5base/0006-Improve-fix-for-avoiding-huge-number-of-tiny-dashes.patch create mode 100644 package/qt5/qt5base/0007-src-corelib-configure.json-fix-atomicfptr-detection.patch create mode 100644 package/qt5/qt5base/0008-eglconvenience-add-missing-QList-include.patch create mode 100644 package/qt5/qt5wayland/0001-Add-missing-define-guards.patch create mode 100644 package/qt5/qt5webengine-chromium-catapult/Config.in create mode 100644 package/qt5/qt5webengine-chromium-catapult/qt5webengine-chromium-catapult.hash create mode 100644 package/qt5/qt5webengine-chromium-catapult/qt5webengine-chromium-catapult.mk create mode 100644 package/qt5/qt5webengine-chromium/0001-Add-python3-build-support.patch create mode 100644 package/qt5/qt5webengine-chromium/0002-Don-t-rebase-sysroot-path.patch create mode 100644 package/qt5/qt5webengine-chromium/Config.in create mode 100644 package/qt5/qt5webengine-chromium/chromium-latest.inc create mode 100644 package/qt5/qt5webengine-chromium/qt5webengine-chromium.hash create mode 100644 package/qt5/qt5webengine-chromium/qt5webengine-chromium.mk create mode 100644 package/qt5/qt5webengine/0002-Add-python3-build-support.patch delete mode 100644 package/qt5/qt5webengine/0002-chromium-breakpad-fix-build-with-glibc-2.34.patch create mode 100644 package/qt5/qt5webengine/host-python-wrapper.in create mode 100644 package/qt5/qt5webkit/0006-Warnings-due-to-AppSinkCallbacks-struct-growth-https.patch create mode 100644 package/raptor/0003-XML-Writer-compare-namespace-declarations-correctly.patch create mode 100644 package/rauc/0001-src-verify_hash.c-include-inttypes.h.patch create mode 100644 package/rng-tools/0001-configure.ac-fix-build-without-sys-auxv.h.patch create mode 100644 package/rpi-userland/0006-interface-vcos-pthreads-CMakeLists.txt-fix-build-wit.patch create mode 100644 package/rpi-userland/0007-GLES2-gl2ext.h-add-GLint64-GLuint64-and-GLsync-typed.patch delete mode 100644 package/rsync/0001-rsync-ssl-Verify-the-hostname-in-the-certificate-when-using-openssl.patch create mode 100644 package/rtl8189es/0001-Makefile-move-EXTRA_CFLAGS-USER_EXTRA_CFLAGS-at-the-.patch create mode 100644 package/rtl8189fs/0001-Makefile-remove-default-endianness.patch delete mode 100644 package/rtl8189fs/0001-include-disable-debug-messages.patch create mode 100644 package/rtl8723bu/0001-Fix-build-failure-on-PowerPc-architecture.patch create mode 100644 package/rtl_433/0001-CMakeLists.txt-use-pkg-config-to-detect-openssl-when.patch create mode 100644 package/rtl_433/0003-minor-Fix-overflow-in-Clipsal-CMR113-and-Somfy-IOHC.patch create mode 100644 package/rtl_433/0004-Fix-overflow-in-Acurite-00275rm.patch create mode 100644 package/rygel/0002-meson.build-fix-g_ir_compiler-calls.patch create mode 100644 package/samba4/0005-samba-4.16.2-fix-build-without-innetgr.patch create mode 100644 package/sdl/0003-SDL_x11yuv.c-fix-possible-use-after-free.patch create mode 100644 package/sdl2/0001-If-a-CRTC-doesn-t-have-a-mode-configured-use-the-pre.patch create mode 100644 package/sdl2/0002-Fix-potential-memory-leak-in-GLES_CreateTexture.patch create mode 100644 package/shadowsocks-libev/0002-fix-maybe-uninitialized-errors.patch create mode 100644 package/shadowsocks-libev/0003-lib-Makefile.am-remove-static-from-LDFLAGS.patch create mode 100644 package/shapelib/0001-Remove-double-free-in-contrib-shpsrt.patch create mode 100644 package/snmppp/0001-fix-build-with-libressl-3-5-0.patch create mode 100644 package/snmppp/0001-fix-build-without-v3.patch create mode 100644 package/snort/0008-Fix-NO-OPTIMIZE.patch delete mode 100644 package/squashfs/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch create mode 100644 package/stress-ng/0001-Makefile-fix-build-with-kernel-5.6.patch delete mode 100644 package/subversion/0001-workaround-ac-run-ifelse.patch create mode 100644 package/sudo/0001-configure.ac-fix-openssl-static-build.patch delete mode 100644 package/systemd/0001-missing-syscall-define-MOVE_MOUNT_T_EMPTY_PATH-if-mi.patch create mode 100644 package/tesseract-ocr/0002-configure.ac-fix-build-on-aarch64_be.patch create mode 100644 package/tiff/0001-tiffcrop-Correct-simple-copy-paste-error-Fix-488.patch delete mode 100644 package/tiff/0001-tiffset-fix-global-buffer-overflow-for-ASCII-tags.patch create mode 100644 package/tinyproxy/0001-prevent-junk-from-showing-up-in-error-page-in-invalid-requests.patch delete mode 100644 package/tor/0001-Fix-static-linking-with-OpenSSL.patch create mode 100644 package/tor/0001-patch-src_lib_crypt_ops_crypto_dh_openssl_c.patch create mode 100644 package/tor/0002-patch-src_lib_crypt_ops_crypto_rsa_openssl_c.patch create mode 100644 package/tor/0003-patch-src_lib_tls_x509_openssl_c.patch create mode 100644 package/trinity/0003-Use-fcntl-h-for-dev_t-mode_t.patch create mode 100644 package/trousers/0003-Fix-build-with-LibreSSL-2-7.patch delete mode 100644 package/tvheadend/0002-configure-add-execinfo-option.patch create mode 100644 package/tvheadend/0002-fix-build-with-libressl.patch create mode 100644 package/tvheadend/0003-Fix-FTBFS-in-utils-c.patch create mode 100644 package/umtprd/0001-Fix-output_dir-make-dependency.patch delete mode 100644 package/upx/0001-Check-DT_REL-DT_RELA-DT_RELSZ-DT_RELASZ.patch create mode 100644 package/uqmi/0001-uqmi-avoid-gcc-12.x-false-error-reporting-storing-th.patch create mode 100644 package/usb_modeswitch/0001-fix-systemd-detection.patch create mode 100644 package/valgrind/0003-coregrind-fix-compilation-for-uclibc.patch create mode 100644 package/vde2/0003-vde_l3-Add-static-to-inline-functions.patch delete mode 100644 package/vlc/0010-modules-access-live555.cpp-fix-build-with-live555-20.patch create mode 100644 package/vlc/0010-opengl-missing-library-check.patch create mode 100644 package/wavemon/0001-iw_if.h-don-t-include-linux-if.h.patch create mode 100644 package/wavpack/0001-issue-110-sanitize-DSD-file-types-for-invalid-lengths.patch create mode 100644 package/wayland/0003-util-set-errno-in-wl_map_reserve_new.patch create mode 100644 package/wayland/0004-util-Limit-size-of-wl_map.patch create mode 100644 package/wpa_supplicant/0002-wpa_supplicant-use-a-less-generic-name-for-IEEE802.1.patch create mode 100644 package/wpewebkit/0001-FELightningNEON.cpp-fails-to-build-NEON-fast-path-se.patch create mode 100644 package/x11r7/xdriver_xf86-video-ati/0004-Only-include-dri-h-with-older-versions-of-xserver.patch delete mode 100644 package/x11r7/xserver_xorg-server/0002-Fix-compilation-error-when-built-without-logind-plat.patch create mode 100644 package/xfsprogs/0003-libxfs-stop-overriding-MAP_SYNC-in-publicly-exported.patch create mode 100644 package/xxhash/0004-Makefile-add-install_libxxhash.includes-target.patch create mode 100644 package/xz/0001-Detect-symver-attribute-support.patch create mode 100644 package/zabbix/0001-m4-netsnmp.m4-fix-shared-netsnmp-build.patch create mode 100644 package/zlib-ng/0002-CMakeLists.txt-fix-version-in-zlib.pc-when-building-.patch create mode 100644 package/zlib-ng/0003-zlib-ng-check-that-sys-auxv.h-exists-at-configure-time.patch create mode 100644 package/zlog/0001-Fix-stack-buffer-overflow-at-zlog_conf_build_with_file.patch create mode 100644 package/znc/0001-LibreSSL-3.5-opaqued-structures.patch create mode 100644 package/znc/0002-Fix-build-with-libressl.patch create mode 100644 package/znc/0003-DH_set0_pqg-and-DH_get0_key-have-existed-since-Libre.patch create mode 100644 package/zziplib/0001-implant-ZZIP_LIBLATEST-for-zzip_lib.patch create mode 100644 package/zziplib/0002-ZZIP_LIBLATEST-create-symlinks-only-if-target-is-mis.patch diff --git a/.shellcheckrc b/.shellcheckrc new file mode 100644 index 000000000..e69de29bb diff --git a/CHANGES b/CHANGES index 59ae8f15c..9f26fe240 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,410 @@ +2022.02.12, released May 5th, 2023 + + Important / security related fixes. + + Updated/fixed packages: agentpp, apache, ca-certificates, + containerd, coremark, dcron, eudev, ffmpeg, git, + intel-microcode, kexec, lcdproc, libmicrohttpd, libosmium, + libxml2, linux-tools, matio, osm2pgsql, poppler, postgresql, + protozero, python-web2py, runc, s390-tools, samba4, snmppp, + sudo, tcpdump, uclibc, vim, webkitgtk, wpewebkit, + xserver_xorg-server + +2022.02.11, released March 19th, 2023 + + Important / security related fixes. + + Updated/fixed packages: apache, apr, apr-util, asterisk, + at91dataflashboot, audit, bash, bind, bridge-utils, clamav, + dmalloc, exfat, exfat-utils, f2fs-tools, gcc, git, + glslsandbox-player, go, haproxy, intel-gmmlib, ipmiutil, less, + libblockdev, libcurl, libev, libgcrypt, libmad, libmdbx, + libmodsecurity, libolm, libpjsip, lttng-babeltrace, mender, + mpv, mutt, mxs-bootlets, opensbi, opus, paho-mqtt-c, + pcm-tools, php, proxychains-ng, python-django, + python-m2crypto, python-werkzeug, quazip, quickjs, + rockchip-mali, rsync, sudo, tiff, uacme, uqmi, webkitgtk, + wpebackend-fdo, wpewebkit, xdriver_xf86-video-qxl, znc + + Issues resolved (http://bugs.uclibc.org): + + #15306: glibc build fails in Docker container + #15361: Buildroot linking error on Apple Silicon + +2022.02.10, released March 1st, 2023 + + Important / security related fixes. + + Fix make O=..._defconfig builds (regression in 2022.11.1). + + A number of additional/stricter checks have been added to + ./utils/check-package. + + Build host dependencies check extended to check for a number + of specific perl modules to better handle distributions (like + Fedora) with very fine grained perl packages. Also ensure + build host has git >= 2.0.0 when using packages written in + go/rust because the vendoring may need it. + + Defconfigs: ASUS tinker rk3288: Fix boot issue related to TPL + + Updated/fixed packages: afboot-stm32, apache, barebox, c-ares, + elf2flt, freeswitch, fwts, gcc, git, kodi, libgit2, libks, + libopenssl, live555, lua, lxc, mesa3d-headers, modsecurity2, + netopeer2, openjdk, openpowerlink, openvpn, opusfile, + postgresql, pugixml, python-future, qt5, sdl2, sofia-sip, + ssdp-responder, sudo, sunxi-mali-utgard, ti-sgx-km, tmux, + uboot, upx, vim, webkitgtk, wolfssl, wpewebkit, xlib_libXpm, + xserver_xorg-server, xxhash, xz, yajl, zabbix + + Issues resolved (http://bugs.uclibc.org): + + #15271: no start-qemu.sh + #15291: BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS without location + #15301: Selecting NAND Flash boot media (NAND_BOOT) breaks the uboot.. + +2022.02.9, released January 18th, 2023 + + Important / security related fixes. + + Br2-external: Fix make performance issue when many (> 6) + external trees are used together. + + Erofs: Use fixed timestamp and UUID when BR2_REPRODUCIBLE is + used. + + Go: Ensure our go build and module cache is used, even for the + download step. + + Legal-info: Stop warning about not saving sources for local / + override packages if _REDISTRIBUTE is set to NO. + + Linux: Fix build of < 5.6 kernels with host-gcc >= 10. + + A large number of NXP related packages and defconfigs have + been updated as upstream moved the git repositories to Github. + + Updated/fixed packages: asterisk, bearssl, botan, cairo, + capnproto, check, checkpolicy, connman, containerd, + docker-cli, docker-engine, exempi, exfat, exfat-utils, fmc, + fmlib, glib-networking, go, gobject-introspection, gperf, + i2pd, ima-evm-utils, imx-alsa-plugins, imx-kobs, imx-lib, + imx-m4fwloader, imx-mkimage, intel-microcode, janus-gateway, + libcurl, libftdi1, libksba, libmbim, libmng, libpjsip, + libtalloc, libuwsc, libxkbcommon, linux, lpeg, lrzsz, + lttng-tools, lua-cqueues, mbedtls, mfgtools, mutt, php, + policycoreutils, polkit, postgresql, pptp-linux, + qcom-db410c-firmware, qemu, qoriq-rcw, qt5virtualkeyboard, + rhash, rtl_433, ruby, sqlite, swupdate, tekui, tiff, tinyxml, + tor, wayland, wireshark, wpa_supplicant, + xdriver_xf86-video-imx-viv, xserver_xorg-server, xxhash, zip + + Issues resolved (http://bugs.uclibc.org): + + #14971: Kernel 3.10.108 fail to build in Buildroot 2022.08-rc1 + #14996: Too many directories in BR2_EXTERNAL causes hang during make + #15161: kernel can't support SUBDIR + #15196: Setting BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE does not work + #15226: lsblk: not found + +2022.02.8, released December 10th, 2022 + + Important / security related fixes. + + Updated/fixed packages: asterisk, dash, dovecot, + dovecot-pigeonhole, edk2, edk2-platforms, elf2flt, exim, + freerdp, gcc, gdb, git, gnupg2, heimdal, iwd, kodi, + libarchive, libmdbx, libkrb5, libksba, libopenssl, memcached, + netsnmp, nginx, openpgm, optee-client, python3, rsync, + rtl8723bu, samba4, sdl, sdl2, swupdate, sysstat, systemd, + uboot, vim, vlc, xen, xterm + + Issues resolved (http://bugs.uclibc.org): + + #15131: Target GDB uses internal zlib + +2022.02.7, released November 17th, 2022 + + Important / security related fixes. + + Defconfig: Pine64: Change to mainline ATF to fix build + issue, Zynqmp zcu102 / zcu106: Fix pmufw reset issue + + Updated/fixed packages: arm-trusted-firmware, bind, botan, + collectd, darkhttpd, dbus, dhcp, dnsmasq, docker-cli, + docker-engine, exfatprogs, expat, f2fs-tools, faad2, ffmpeg, + freerdp, gnutls, go, gpsd, grub2, gsl, 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, hdparm, hostapd, imagemagick, + iwd, jack2, libbpf, libcurl, libfribi, libidn2, libinput, + libmdbx, libopenssl, libosip2, libpng, libtasn1, + libtorrent-rasterbar, libuhttpd, libvncserver, libxml2, linux, + linux-tools, lldpd, lrzip, lz4, matchbox-startup-monitor, + msmtp, multipath-tools, mupdf, musl, mv-ddr-marvell, mxml, + nodejs, ntfs-3g, numactl, openvmtools, oracle-mysql, + paho-mqtt-c, perl-net-ssleay, php, pixman, poppler, procps-ng, + python-django, python3, qdecoder, rpi-userland, rsync, + rtl8189es, rtl8189fs, rtl8723bu, rtl8812au-aircrack-ng, + rtl8821au, rtl_433, samba4, shapelib, socat, squid, sqlite, + squashfs, strongswan, sudo, swupdate, timescaledb, u-boot, + uclibc-ng-test, udisks, uftp, uhd, umtprd, vim, wavemon, + wireguard-linux-compat, wolfssl, wpa_supplicant, wpewebkit, + zlib-ng, zsh + + Issues resolved (http://bugs.uclibc.org): + + #15026: package/udisks: install to staging + #15061: Node.js Package fails to build against musl i386 + +2022.02.6, released October 2nd, 2022 + + Important / security related fixes. + + Fixed compatibility issue with make 4.3 and the 'printvars' / + 'show-vars' commands. + + Dependencies: Ensure 'find' and 'xargs' are available on the + build host. + + A large number of typo fixes. + + Defconfigs: Galileo: Fix defconfig syntax, Licheepi zero: Fix + U-Boot dependencies, Bananapi m1, Olimx a20 olinuxino lime + 1+2, a33 olinuxino: Use standard FPU configuration, Pine 64 + sopine, Rockpro 64: Change to mainline ATF to fix build issue. + + Updated/fixed packages: ace, arm-trusted-firmware, + babeltrace2, boost, botan, busybox, clamav, cog, connman, + containerd, cups, dhcpcd, directfb, docker-cli, docker-engine, + edk2, edk2-platforms, elf2flt, expat, ffmpeg, ficl, + freeswitch, freetype, gcc, gdb, git, gnutls, go, + graphicsmagic, grub2, gst1-plugins-bad, gst1-plugins-good, + heirloom-mailx, icu, igh-ethercat, imagemagick, imx-gpu-viv, + jose, jpeg, jquery-ui-themes, kodi, libconfuse, libfreeimage, + libglvnd, libgpg-error, libinput, libmdbx, libsepol, libtirpc, + libupnp, libvirt, libvncserver, libwpe, libxml2, libzlib, + linux, linux-tools, lshw, m4, makedevs, makedumpfile, + mali-driver, mariadb, memcached, mesa3d, minidlna, mosquitto, + mutt, mv-ddr-marvell, ncurses, ne10, netsniff-ng, + networkd-dispatcher, ocrad, opencv4, openocd, openssh, pango, + pcsc-lite, polkit, postgis, postgresql, python-paho-mqtt, + python-pygame, python3, qemu, qlibc, + qoriq-cadence-dp-firmware, qt5xmlpatterns, ranger, rng-tools, + rsync, rsyslog, rtl8189es, rtl8723be, runc, rustc, + sconeserver, sdl2, snort, sox, sqlite, squid, stress-ng, + strongswan, sunxi-mali-utgard-driver, syslinux, syslog-ng, + tcf-agent, tcpreplay, tesseract-ocr, tinyproxy, uacme, + uboot-tools, uclibc, unzip, usbguard, v4l2loopback, vim, + webkitgtk, wolfssl, wpewebkit, xfsprogs, xserver_xorg-server, + xtables-addons, zziplib + + Issues resolved: + + #13216: [Documentation] 2020.02.6 requires GNU find utils + #14796: 64 bit time and seccomp conflict (OpenSSH server crash) + #14951: boost compile error when running make silently + +2022.02.5, released August 31st, 2022 + + Important / security related fixes. + + dependencies: Ensure 'cmp' is available on the build host. + + pkg-utils: The KCONFIG_ENABLE_OPT macro used to enforce a specific + Kconfig option to be enabled (E.G. for kernel options needed by + packages) no longer changes a =m (modular) with =y (built in). + + check-host-rpath: Silence readelf warnings when clang is used + + GCC 10.x updated to 10.4.0 + + Updated/fixed packages: apg, arm-trusted-firmware, assimp, + bayer2rgb-neon, bind, bird, cog, cwiid, diffutils, fluidsynth, + freerdp, gcc, glibc, glslsandbox-player, gdk-pixbuf, gnupg2, + gtest, i2pd, jack2, jquery-validation, jszip, libbsd, libcamera, + libcurl, libest, libiio, libkrb5, libopenssl, libpsl, + luasyslog, lxc, mbedtls, mstpd, mutt, netdata, netsniff-ng, + nodejs, nvidia-driver, openssl, opkg-utils, paho-mqtt-c, + pango, pcsc-lite, perl, pimd, poppler, postgis, powerpc-utils, + pppd, protobuf-c, pulseaudio, python-bottle, python-django, + python-lxml, python3, qt5webkit, rpi-userland, rsyslog, runc, + rustc, sconeserver, sg3_utils, shadowsocks-libev, suricata, + tcpreplay, uacme, uclibc, v4l2loopback,, webkitgtk, wine, + wpewebkit, xdg-dbus-proxy, xserver_xorg-server, zeromq, zfs, + zlib-ng + + Issues resolved (http://bugs.uclibc.org): + + #13796: Problems compiling package gst-plugins-good + #14926: package/nodejs: build for host fails with GTEST errors + +2022.02.4, released July 28th, 2022 + + Important / security related fixes. + + Disable big endian no-mmu on ARM as it is not supported by + elf2flt. + + Tighten dependencies for external Bootlin toolchains to ensure + they can only be selected in compatible configurations. + + Support external toolchains without gdbserver. + + Updated/fixed packages: apache, avahi, bdwgc, bind, bpftool, + cups, darkhttpd, dmalloc, ecryptfs-utils, fxload, ghostscript, + gnutls, gst-omx, gst1-devtools, gst1-libav, gst1-plugins-base, + gst1-plugins-bad, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rtsp-server, gst1-vaapi, gstreamer1, + gstreamer1-editing-services, gtest, iptables, keyutils, lcms2, + libabseil-cpp, libcamera, libcurl, libeastl, libgpgme, + libgtk3, libmdbx, libmediaart, libmodsecurity, libnetconf2, + libopenssl, libpjsip, libsamplerate, libsndfile, libtalloc, + logrotate, luajit, nginx, noip, paxtest, php, postgresql, + procrank_linux, pure-ftpd, python-pillow, qdecoder, + rabbitmq-server, rpi-userland, rustc, sofia-sip, systemd, + tcpreplay, tinyproxy, tor, uacme, uboot-tools, vim, watchdogd, + webkitgtk, wireguard-linux-compat, wpa_supplicant, wpewebkit, + zstd + + Issues resolved (http://bugs.uclibc.org): + + #14881: Watchdogd Package missing INSTALL_STAGING + +2022.02.3, released June 19th, 2022 + + Important / security related fixes. + + Infrastructure: Fix building under paths containing regex + characters (E.G. '+') + + Toolchain: Only allow ppc64le variants for which a + glibc/musl/uclibc toolchain is supported. + Mark codescape mti/img mips toolchains as shared library only + (glibc). + + Updated/fixed packages: arm-trusted-firmware, + at91dataflashboot, boinc, dhcp, diffutils, edk2, fbv, gensio, + glibc, go, gtest, iucode-tool, janet, libcec, libcurl, + libfreeimage, libnftnl, libodb-boost, linux, linux-tools, + lttng-modules, mariadb, memcached, mono, mutt, + network-manager, nginx, ntfs-3g, ogre, openjpeg, openvpn, + qemu, qpid-proton, qt5webengine, rauc, rockchip-mali, rsyslog, + ruby, runc, rustc, samba4, strace, tiff, uclibc, unrar, vim, + webkitgtk, wpewebkit, xdriver_xf86-video-amdgpu, + xdriver_xf86-video-ati, zlib-ng + + New packages: qt5webengine-chromium, + qt5webengine-chromium-catapult + + Issues resolved (http://bugs.uclibc.org): + + #14766: package dhcp on buildroot 2022.02.1 failed + #14821: Samba server is failing to compile + #14826: make qemu_x86_64_defconfig stopped working + +2022.02.2, released May 29th, 2022 + + Important / security related fixes. + + Archictures: Drop sh2a, correct x86 Bonnell variant + + Toolchain: Bump GCC 11.x to 11.3, correct pre-installed + external toolchain logic when toolchain is available in path. + + Rework OCI filesystem entrypoint/command logic to handle + command arguments + + Defconfigs: Update Zynqmp zcu102/106 to final 2022.1 release, + fix zcu106 PLL config + + Updated/fixed packages: adwaita-icon-theme, afboot-stm32, + aircrack-ng, alchemy, alsa-lib, arptables, assimp, asterisk, + aubio, avrdude, azure-iot-sdk-c, batman-adv, binutils, + bpftool, brotli, cairo, cifs-utils, clamav, cryptodev-linux, + dhcp, diffutils, dmalloc, duktape, e2fsprogs, elf2flt, espeak, + expat, ffmpeg, fluidsynth, freerdp, gcc, git, glorytun, + glslsandbox-player, gnutls, go, gst1-imx, gst1-plugins-good, + gzip, imagemagick, janus-gateway, keepalived, kompexsqlite, + kvm-unit-tests, libarchive, libcgi, libcurl, libevdev, + libeXosip2, libhtp, libinput, libkcapi, libkrb5, libks, + libmdbx, libmnl, libnpupnp, libnspr, libopenssl, liboping, + libpjsip, libpri, libselinux, libsigsegv, libv4l, + libwebsockets, libxml2, linux, linux-tools, ltp-testsuite, + luajit, lvm2, mali-driver, mariadb, mc, minizip, mpd, mutt, + netatalk, netsurf, network-manager, nodejs, numactl, nut, + omniorb, openbox, opencv4, openjdk, openjdk-bin, openocd, + pamtester, pango, pcre2, php, php-apcu, pinentry, pixman, + polkit, postgis, postgresql, pure-ftpd, python-aenum, + python-avro, python-django, python-pillow, python-simplejson, + python-urllib3, python-zopfli, python3, qemu, qpdf, quazip, + redis, rockchip-mali, rsync, rt-tests, rust, rtl8818eu, + rtl8189es, rtl8189fs, rtl_433, sam-ba, samba4, sdl2_ttf, + shadowsocks-libev, shim, subversion, sun20i-d1-spl, suricata, + systemd, tftpd, trinity, tvheadend, udev, uftrace, + urandom-scripts, usb_modeswitch, valgrind, vde2, vim, + wireplumber, wolfssl, wpa_supplicant, xlib_libXfont2, xz, + zlib, zlog + + Issues resolved (http://bugs.uclibc.org): + + #14751: LVM2 Outdated Link + +2022.02.1, released April 11th, 2022 + + Important / security related fixes. + + Graphs: Also generate a build time timeline graph (for top + level parallel builds). + + scripts/pkg-stats: Optimize memory consumption for CPE parsing + + Fix compatibility issue with the fakeroot script logic and + modern versions of dash. + + Change git:// URLs pointing to Github to https://, now that + Github has turned off support for git:// + + Updated/fixed packages: ace, apache, apr, apr-util, belr, + bind, bluez5_utils, boinc, bpftool, busybox, cloop, cog, + containerd, cppcms, dav1d, dhcp, dieharder, dnsmasq, + docker-cli, docker-engine, efl, ell, fakeroot, flac, + fluidsynth, gdk-pixbuf, glib-networking, gnutls, 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, haproxym htop, intel-gmmlib, + ipmiutil, iwd, jack1, jack2, lftp, libabseil-cpp, libbluray, + libcamera-apps, libcoap, libcurl, libest, libgee, libglib2, + libgtk3, libiec61850, libkrb5, libminiupnpc, libodb, + libodb-boost, libopenssl, libp11, libpsl, libressl, librstp, + librtlsdr, liburing, libyang, libzlib, luasec, lxc, matio, + meson, minidlna, minizip, mpd, mtools, netatalk, nbd, odb, + openblas, openssh, openvpn, optee-os, opus, paho-mqtt-c, + pango, php, pipewire, pkcs11-helper, postgresql, ppp, + protozero, python-aioconsole, python-avro, python-brotli, + python-greenlet, python-paramiko, python-pillow, + python-rpi-gpio, python-treq, python-twisted, python-ujson, + python-weasyprint, qt5base, qt5wayland, raptor, rpi-firmware, + rpi-userland, rtl_433, runc, rust, rygel, samba4, + shairport-sync, spice, spidev_test, stunnel, systemd, + timescaledb, trace-cmd, trousers, ts4900-fpga, tvheadend, + udpcast, unbound, upower, urandom-scripts, usbguard, valgrind, + valijson, vim, wavpack, wget, wireplumber, wireshark, woff2, + xmrig, zabbix, zlib-ng, zynaddsubfx, zziplib + + Issues resolved (http://bugs.uclibc.org): + + #13971: ip6tables-nft build does not include MASQUERADE target.. + #14651: OpenSSH 8.9p1 compiler error under ARM + #14656: Adding dependencies from an external tree does not work + #14661: Fakeroot script relies on bash-isms, does not work .. + #14686: genimage.cfg have a hard-coded .ext4 extension which.. + #14701: Multiple unresolved symbols while building kernel .. + #14711: nodjs build problem missing bzip + #14731: BR2_PACKAGE_IOSTAT + 2022.02, released March 8th, 2022 Various fixes. @@ -6755,7 +7162,7 @@ Architecture: Default to bf532 CPU variant for blackfin, Fix flat one memory region support for m68k and disable flat - seperate data support because of compatibility issues. + separate data support because of compatibility issues. Defconfigs: Minnowboard and Raspberrypi: Fix errors with post-build scripts when systemd is used. @@ -7291,7 +7698,7 @@ Minor fixes. - Merged/seperate /usr handling is now also performed for + Merged/separate /usr handling is now also performed for staging so cross-gdb / gdbserver can find the libraries. Updated/fixed packages: autossh, conntrack-tools, dcron, diff --git a/Config.in b/Config.in index f0cd6f48e..307fa8a63 100644 --- a/Config.in +++ b/Config.in @@ -285,14 +285,15 @@ config BR2_LUAROCKS_MIRROR config BR2_CPAN_MIRROR string "CPAN mirror (Perl packages)" - default "http://cpan.metacpan.org" + default "https://cpan.metacpan.org" help CPAN (Comprehensive Perl Archive Network) is a repository of Perl packages. It has multiple software mirrors scattered around the world. This option allows you to select a mirror. The list of mirrors is available at: - http://search.cpan.org/mirror + http://mirrors.cpan.org/ (tabular) + http://mirrors.cpan.org/map.html (clickable world map) endif diff --git a/Config.in.legacy b/Config.in.legacy index 3b066bbf7..6cc4f4760 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -146,6 +146,52 @@ endif comment "Legacy options removed in 2022.02" +config BR2_PACKAGE_LIBOPENSSL_ENABLE_RC5 + bool "libopenssl rc5 was never enabled" + select BR2_LEGACY + help + The libopenssl option for rc5 never actually enabled rc5, + which had always been disabled in Buildroot. + +config BR2_PACKAGE_PHP_EXT_WDDX + bool "php wddx removed" + select BR2_LEGACY + help + The WDDX extension was removed from php. + +config BR2_sh2a + bool "sh2a architecture support removed" + select BR2_LEGACY + help + The SuperH 2A (SH2A) architecture was not maintained, and + broken, so its support was dropped. + +config BR2_TARGET_ROOTFS_OCI_ENTRYPOINT_ARGS + string "entrypoint arguments has been changed as command" + help + The OCI image BR2_TARGET_ROOTFS_OCI_ENTRYPOINT_ARGS option + has been renamed to BR2_TARGET_ROOTFS_OCI_CMD to better + reflect its relation to the actual 'command' of the OCI + image. + + The new semantic for BR2_TARGET_ROOTFS_OCI_CMD is slightly + different in relation to how it is interpreted, so be sure to + review the help entry for it. + + Due to this breaking change, the old value here could not be + set to the new variable. + +config BR2_TARGET_ROOTFS_OCI_ENTRYPOINT_ARGS_WRAP + bool + default y if BR2_TARGET_ROOTFS_OCI_ENTRYPOINT_ARGS != "" + select BR2_LEGACY + +config BR2_PACKAGE_LIBCURL_LIBNSS + bool "libcurl NSS removed" + select BR2_LEGACY + help + NSS was deprecated in libcurl 7.82.0. + config BR2_PACKAGE_WESTON_DEFAULT_FBDEV bool "weston fbdev removed" select BR2_LEGACY @@ -424,20 +470,22 @@ config BR2_PACKAGE_SUNXI_MALI_MAINLINE config BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2 bool "sunxi-mali-mainline-r6p2 was renamed" select BR2_LEGACY - select BR2_PACKAGE_SUNXI_MALI_UTGARD_R6P2 help The sunxi-mali-mainline package has been renamed sunxi-mali-utgard, the suboptions of this package have also been renamed accordingly. +# Note: BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2 is still referenced from +# package/sunxi-mali-utgard/Config.in config BR2_PACKAGE_SUNXI_MALI_MAINLINE_R8P1 bool "sunxi-mali-mainline-r8p1 was renamed" select BR2_LEGACY - select BR2_PACKAGE_SUNXI_MALI_UTGARD_R8P1 help The sunxi-mali-mainline package has been renamed sunxi-mali-utgard, the suboptions of this package have also been renamed accordingly. +# Note: BR2_PACKAGE_SUNXI_MALI_MAINLINE_R8P1 is still referenced from +# package/sunxi-mali-utgard/Config.in config BR2_PACKAGE_QT5WEBKIT_EXAMPLES bool "qt5webkit-examples removed" @@ -495,18 +543,20 @@ comment "Legacy options removed in 2021.11" config BR2_OPENJDK_VERSION_LTS bool "OpenJDK LTS version was renamed to OpenJDK 11" select BR2_LEGACY - select BR2_PACKAGE_OPENJDK_VERSION_11 help The LTS version option was renamed to OpenJDK 11 to make it clear what LTS version is. +# Note: BR2_OPENJDK_VERSION_LTS is still referenced from +# package/openjdk/Config.in config BR2_OPENJDK_VERSION_LATEST bool "OpenJDK latest version (16.x) was removed" select BR2_LEGACY - select BR2_PACKAGE_OPENJDK_VERSION_17 help OpenJDK 16.x is no longer mainted, so the option has been removed. Use OpenJDK 17.x instead. +# Note: BR2_OPENJDK_VERSION_LATEST is still referenced from +# package/openjdk/Config.in config BR2_PACKAGE_MPD_TIDAL bool "mpd tidal option removed" @@ -1422,6 +1472,35 @@ config BR2_PACKAGE_RPI_USERLAND_START_VCFILED help The vcfiled support was removed upstream. +config BR2_PACKAGE_TI_SGX_KM_AM335X + bool "ti-sgx-km AM335X option removed" + select BR2_LEGACY + select BR2_PACKAGE_TI_SGX_KM + help + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. + +config BR2_PACKAGE_TI_SGX_KM_AM437X + bool "ti-sgx-km AM437X option removed" + select BR2_LEGACY + help + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. + +config BR2_PACKAGE_TI_SGX_KM_AM4430 + bool "ti-sgx-km AM4430 option removed" + select BR2_LEGACY + help + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. + +config BR2_PACKAGE_TI_SGX_KM_AM5430 + bool "ti-sgx-km AM5430 option removed" + select BR2_LEGACY + help + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. + comment "Legacy options removed in 2019.11" config BR2_PACKAGE_OPENVMTOOLS_PROCPS @@ -1887,9 +1966,9 @@ config BR2_PACKAGE_FFTW_PRECISION_QUAD config BR2_PACKAGE_LUA_5_2 bool "Lua 5.2.x version removed" select BR2_LEGACY - select BR2_PACKAGE_LUA_5_3 help The Lua 5.2.x version was removed. +# Note: BR2_PACKAGE_LUA_5_2 is still referenced from package/lua/Config.in config BR2_TARGET_GENERIC_PASSWD_MD5 bool "target passwd md5 format support has been removed" @@ -2387,7 +2466,7 @@ config BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF has been renamed to BR2_PACKAGE_LIBMEDIAART_BACKEND_GDK_PIXBUF -config BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF +config BR2_PACKAGE_MEDIAART_BACKEND_QT bool "libmediaart qt backend option renamed" select BR2_LEGACY help @@ -2395,45 +2474,34 @@ config BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF BR2_PACKAGE_MEDIAART_BACKEND_QT has been renamed to BR2_PACKAGE_LIBMEDIAART_BACKEND_QT -# Note: BR2_PACKAGE_TI_SGX_AM335X is still referenced from -# package/ti-sgx-km/Config.in config BR2_PACKAGE_TI_SGX_AM335X - bool "ti-sgx-km AM335X option renamed" + bool "ti-sgx-km AM335X option removed" select BR2_LEGACY + select BR2_PACKAGE_TI_SGX_KM help - For consistency reasons, the option - BR2_PACKAGE_TI_SGX_AM335X has been renamed to - BR2_PACKAGE_TI_SGX_KM_AM335X. + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. -# Note: BR2_PACKAGE_TI_SGX_AM437X is still referenced from -# package/ti-sgx-km/Config.in config BR2_PACKAGE_TI_SGX_AM437X - bool "ti-sgx-km AM437X option renamed" + bool "ti-sgx-km AM437X option removed" select BR2_LEGACY help - For consistency reasons, the option - BR2_PACKAGE_TI_SGX_AM437X has been renamed to - BR2_PACKAGE_TI_SGX_KM_AM437X. + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. -# Note: BR2_PACKAGE_TI_SGX_AM4430 is still referenced from -# package/ti-sgx-km/Config.in config BR2_PACKAGE_TI_SGX_AM4430 - bool "ti-sgx-km AM4430 option renamed" + bool "ti-sgx-km AM4430 option removed" select BR2_LEGACY help - For consistency reasons, the option - BR2_PACKAGE_TI_SGX_AM4430 has been renamed to - BR2_PACKAGE_TI_SGX_KM_AM4430. + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. -# Note: BR2_PACKAGE_TI_SGX_AM5430 is still referenced from -# package/ti-sgx-km/Config.in config BR2_PACKAGE_TI_SGX_AM5430 - bool "ti-sgx-km AM5430 option renamed" + bool "ti-sgx-km AM5430 option removed" select BR2_LEGACY help - For consistency reasons, the option - BR2_PACKAGE_TI_SGX_AM5430 has been renamed to - BR2_PACKAGE_TI_SGX_KM_AM5430. + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. config BR2_PACKAGE_JANUS_AUDIO_BRIDGE bool "janus-gateway audio-bridge option renamed" @@ -3033,7 +3101,7 @@ config BR2_PACKAGE_POLICYCOREUTILS_RESTORECOND select BR2_PACKAGE_RESTORECOND help The policycoreutils package no longer offers restorecond - as a option. This package has been moved into a seperate + as a option. This package has been moved into a separate package maintained by the SELinux maintainers. config BR2_PACKAGE_SEPOLGEN @@ -3627,7 +3695,7 @@ config BR2_GDB_VERSION_7_9 comment "Legacy options removed in 2016.11" config BR2_PACKAGE_PHP_SAPI_CLI_CGI - bool "PHP CGI and CLI options are now seperate" + bool "PHP CGI and CLI options are now separate" select BR2_PACKAGE_PHP_SAPI_CLI select BR2_PACKAGE_PHP_SAPI_CGI select BR2_LEGACY @@ -3763,10 +3831,11 @@ config BR2_LINUX_KERNEL_TOOL_SELFTESTS config BR2_GCC_VERSION_4_8_ARC bool "gcc arc option renamed" select BR2_LEGACY - select BR2_GCC_VERSION_ARC help The option that selects the gcc version for the ARC architecture has been renamed to BR2_GCC_VERSION_ARC. +# Note: BR2_GCC_VERSION_4_8_ARC is still referenced from +# package/gcc/Config.in.host config BR2_KERNEL_HEADERS_4_0 bool "kernel headers version 4.0.x are no longer supported" @@ -3800,6 +3869,7 @@ config BR2_PACKAGE_ELEMENTARY config BR2_LINUX_KERNEL_CUSTOM_LOCAL bool "Linux kernel local directory option removed" + select BR2_LEGACY help The option to select a local directory as the source of the Linux kernel has been removed. It hurts reproducibility of @@ -4105,19 +4175,21 @@ config BR2_PACKAGE_OPENPOWERLINK_DEBUG_LEVEL config BR2_PACKAGE_OPENPOWERLINK_KERNEL_MODULE bool "openpowerlink package has been updated" select BR2_LEGACY - select BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_STACK_LIB help openpowerlink kernel modules are built if the kernel stack library is selected. +# Note: BR2_PACKAGE_OPENPOWERLINK_KERNEL_MODULE is still referenced from +# package/openpowerlink/Config.in config BR2_PACKAGE_OPENPOWERLINK_LIBPCAP bool "openpowerlink package has been updated" select BR2_LEGACY - select BR2_PACKAGE_OPENPOWERLINK_STACK_USERSPACE_DAEMON_LIB help The user space support has been split in two part: - - a monolitic user space library - - a user spae deamon driver + - a monolithic user space library + - a user space daemon driver +# Note: BR2_PACKAGE_OPENPOWERLINK_LIBPCAP is still referenced from +# package/openpowerlink/Config.in config BR2_LINUX_KERNEL_SAME_AS_HEADERS bool "using the linux headers version for the kernel has been removed" @@ -4656,7 +4728,7 @@ config BR2_PACKAGE_KODI_PVR_ADDONS select BR2_PACKAGE_KODI_PVR_VUPLUS select BR2_PACKAGE_KODI_PVR_WMC help - Kodi PVR addon was split into seperate modules + Kodi PVR addon was split into separate modules config BR2_BINUTILS_VERSION_2_23_2 bool "binutils 2.23 option renamed" diff --git a/DEVELOPERS b/DEVELOPERS index b5183711b..d7a0d260c 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -132,7 +132,6 @@ F: package/ktap/ N: André Zwing F: package/libkrb5/ -F: package/openal/ F: package/p7zip/ F: package/wine/ @@ -263,6 +262,9 @@ F: package/orbit/ N: Attila Wagner F: package/python-canopen/ +N: Bagas Sanjaya +F: package/git/ + N: Bartosz Bilas F: board/stmicroelectronics/stm32mp157a-dk1/ F: configs/stm32mp157a_dk1_defconfig @@ -274,17 +276,6 @@ F: package/ttyd/ F: package/qt5/qt5scxml/ F: package/qt5/qt5webview/ -N: Bartosz Golaszewski -F: package/autoconf-archive/ -F: package/doxygen/ -F: package/libgpiod/ -F: package/libserialport/ -F: package/libsigrok/ -F: package/libsigrokdecode/ -F: package/libzip/ -F: package/pulseview/ -F: package/sigrok-cli/ - N: Baruch Siach F: board/solidrun/clearfog_gt_8k/ F: configs/solidrun_clearfog_gt_8k_defconfig @@ -346,6 +337,7 @@ F: package/inih/ F: package/intel-gmmlib/ F: package/intel-mediadriver/ F: package/intel-mediasdk/ +F: package/intel-microcode/ F: package/jsoncpp/ F: package/kodi* F: package/lame/ @@ -402,6 +394,7 @@ F: package/libyuv/ F: package/mesa3d/ F: package/minidlna/ F: package/mjpg-streamer/ +F: package/nut/ F: package/perl-crypt-openssl-guess/ F: package/perl-crypt-openssl-random/ F: package/perl-crypt-openssl-rsa/ @@ -430,7 +423,6 @@ F: package/php/ F: package/pixman/ F: package/pngquant/ F: package/pound/ -F: package/pulseaudio/ F: package/pure-ftpd/ F: package/python-couchdb/ F: package/python-cssutils/ @@ -443,6 +435,7 @@ F: package/python-pyicu/ F: package/python-pylru/ F: package/python-requests-oauthlib/ F: package/python-slob/ +F: package/rsync/ F: package/rtmpdump/ F: package/samba4/ F: package/softether/ @@ -523,7 +516,8 @@ F: package/syslog-ng/ N: Christian Kellermann F: package/python-pylibftdi/ -N: Christian Stewart +N: Christian Stewart +F: package/balena-engine/ F: package/batman-adv/ F: package/containerd/ F: package/delve/ @@ -623,6 +617,7 @@ F: package/dacapo/ N: Daniel Lang F: package/dbus-cxx/ +F: package/libsigc/ F: package/paho-mqtt-cpp/ N: Damien Lanson @@ -654,6 +649,7 @@ F: package/xinetd/ N: Dario Binacchi F: package/davinci-bootcount/ +F: package/libmnl/ N: David Bachelart F: package/ccrypt/ @@ -1034,16 +1030,11 @@ F: package/ucl/ F: package/upx/ F: package/zxing-cpp/ -N: Frank Vanbever +N: Frank Vanbever F: package/elixir/ F: package/libmodsecurity/ F: package/nginx-modsecurity/ -N: Gaël Portay -F: package/qt5/qt5virtualkeyboard/ -F: package/qt5/qt5webengine/ -F: package/qt5/qt5webkit/ - N: Gao Xiang F: package/erofs-utils/ @@ -1063,10 +1054,6 @@ F: package/flannel/ N: Geoffrey Ragot F: package/python-pyyaml/ -N: Gerome Burlats -F: board/qemu/ -F: configs/qemu_* - N: Gilles Talis F: board/freescale/imx8mmevk/ F: board/friendlyarm/nanopi-r2s/ @@ -1104,14 +1091,21 @@ F: package/libnspr/ F: package/libnss/ F: package/mali-driver/ F: package/minicom/ +F: package/mmc-utils/ F: package/nfs-utils/ F: package/python-uvloop/ +F: package/qt5/ F: package/rockchip-mali/ +F: package/rtl8188eu/ +F: package/rtl8189es/ +F: package/rtl8723bu/ +F: package/rtl8812au-aircrack-ng/ F: package/sunxi-mali-utgard/ F: package/sunxi-mali-utgard-driver/ F: package/sunxi-tools/ F: package/trace-cmd/ F: package/udisks/ +F: package/wilc-driver/ F: toolchain/ N: Gregory Dymarek @@ -1183,8 +1177,10 @@ F: package/uhd/ N: Heiko Thiery F: board/kontron/bl-imx8mm/ +F: board/kontron/smarc-sal28/ F: board/kontron/pitx-imx8m/ F: configs/kontron_bl_imx8mm_defconfig +F: configs/kontron_smarc_sal28_defconfig F: configs/kontron_pitx_imx8m_defconfig F: package/altera-stapl/ F: package/ipmitool/ @@ -1192,6 +1188,7 @@ F: package/libnetconf2/ F: package/libyang/ F: package/linuxptp/ F: package/netopeer2/ +F: package/rauc/ F: package/sysrepo/ N: Hervé Codina @@ -1420,15 +1417,21 @@ N: Joachim Wiberg F: configs/globalscale_espressobin_defconfig F: board/globalscale/espressobin/ F: package/inadyn/ +F: package/libconfuse/ F: package/libite/ +F: package/libnet/ F: package/libteam/ F: package/libuev/ F: package/mg/ +F: package/mini-snmpd/ F: package/mrouted/ F: package/netcalc/ +F: package/pimd/ +F: package/redir/ F: package/smcroute/ F: package/ssdp-responder/ F: package/sysklogd/ +F: package/uredir/ F: package/watchdogd/ N: Jochen Baltes @@ -1498,23 +1501,6 @@ N: Joris Offouga F: package/python-colorlog/ F: package/python-simplelogging/ -N: Jörg Krause -F: board/lemaker/bananapro/ -F: configs/bananapro_defconfig -F: package/augeas/ -F: package/bluez-alsa/ -F: package/caps/ -F: package/freescale-imx/imx-alsa-plugins/ -F: package/libopusenc/ -F: package/libupnpp/ -F: package/luv/ -F: package/luvi/ -F: package/mpd/ -F: package/shairport-sync/ -F: package/swupdate/ -F: package/upmpdcli/ -F: package/wavemon/ - N: Joris Lijssens F: package/emlog/ F: package/libcoap/ @@ -1609,6 +1595,7 @@ F: configs/spike_riscv64_defconfig F: configs/zynq_qmtech_defconfig F: package/fluid-soundfont/ F: package/fluidsynth/ +F: package/gnupg2/ F: package/glslsandbox-player/ F: package/ptm2human/ F: package/python-distro/ @@ -1712,7 +1699,7 @@ F: package/intel-gmmlib/ F: package/intel-mediadriver/ F: package/intel-mediasdk/ -N: Luca Ceresoli +N: Luca Ceresoli F: board/olimex/a20_olinuxino/ F: board/zynq/ F: board/zynqmp/ @@ -1863,108 +1850,6 @@ F: board/technologic/ts4900/ F: configs/ts4900_defconfig F: package/ts4900-fpga/ -N: Matt Weber -F: board/freescale/p* -F: board/freescale/t* -F: board/qemu/ppc64-e5500/ -F: configs/freescale_p* -F: configs/freescale_t* -F: configs/qemu_ppc64_e5500_defconfig -F: package/ace/ -F: package/argp-standalone/ -F: package/aufs/ -F: package/aufs-util/ -F: package/bc/ -F: package/bridge-utils/ -F: package/checkpolicy/ -F: package/checksec/ -F: package/cgroupfs-mount/ -F: package/crda/ -F: package/cunit/ -F: package/dacapo/ -F: package/davici/ -F: package/dnsmasq/ -F: package/dosfstools/ -F: package/eigen/ -F: package/ethtool/ -F: package/flashbench/ -F: package/fmc/ -F: package/fmlib/ -F: package/git/ -F: package/gnutls/ -F: package/hostapd/ -F: package/i2c-tools/ -F: package/ifplugd/ -F: package/igmpproxy/ -F: package/iperf/ -F: package/iperf3/ -F: package/iputils/ -F: package/iw/ -F: package/jitterentropy-library/ -F: package/kvm-unit-tests/ -F: package/kvmtool/ -F: package/libcsv/ -F: package/libcurl/ -F: package/libeastl/ -F: package/libfcgi/ -F: package/libopenssl/ -F: package/libselinux/ -F: package/libsemanage/ -F: package/libsepol/ -F: package/libssh2/ -F: package/libtalloc/ -F: package/libqmi/ -F: package/lighttpd/ -F: package/logrotate/ -F: package/makedevs/ -F: package/memtester/ -F: package/mii-diag/ -F: package/mrouted/ -F: package/mtd/ -F: package/mtools/ -F: package/nginx-upload/ -F: package/omniorb/ -F: package/openresolv/ -F: package/paxtest/ -F: package/picocom/ -F: package/policycoreutils/ -F: package/proftpd/ -F: package/protobuf-c/ -F: package/protobuf/ -F: package/python-bunch/ -F: package/python-colorama/ -F: package/python-filelock/ -F: package/python-flask-cors/ -F: package/python-iptables/ -F: package/python-ipy/ -F: package/python-iwlib/ -F: package/python-posix-ipc/ -F: package/python-pycairo/ -F: package/python-pysftp/ -F: package/python-tinyrpc/ -F: package/python-txdbus/ -F: package/qoriq-rcw/ -F: package/raptor/ -F: package/rng-tools/ -F: package/rsyslog/ -F: package/setools/ -F: package/sloci-image/ -F: package/smcroute/ -F: package/tclap/ -F: package/tini/ -F: package/uboot-tools/ -F: package/unionfs/ -F: package/valijson/ -F: package/wpa_supplicant/ -F: package/wireless_tools/ -F: package/xen/ -F: package/xml-security-c/ -F: support/testing/tests/fs/test_oci.py -F: support/testing/tests/package/br2-external/openjdk/ -F: support/testing/tests/package/test_openjdk.py -F: support/testing/tests/package/test_opkg/ -F: support/testing/tests/package/test_opkg.py - N: Mauro Condarelli F: package/mc/ F: package/python-autobahn/ @@ -2007,12 +1892,16 @@ F: package/gnuplot/ F: package/sdl2/ N: Michael Nosthoff +F: package/boost/ +F: package/fmt/ F: package/grpc/ F: package/gtest/ +F: package/json-for-modern-cpp/ F: package/libabseil-cpp/ F: package/networkd-dispatcher/ F: package/protobuf/ F: package/re2/ +F: package/spdlog/ N: Michael Rommel F: package/knock/ @@ -2055,13 +1944,6 @@ F: configs/bananapi_m2_plus_defconfig N: Mikhail Boiko F: package/libfribidi/ -N: Min Xu -F: package/shadowsocks-libev/ - -N: Miquèl Raynal -F: package/mali-driver/ -F: package/rockchip-mali/ - N: Mircea Gliga F: package/mbuffer/ @@ -2069,9 +1951,6 @@ N: Murat Demirten F: package/jpeg-turbo/ F: package/libgeotiff/ -N: Mylène Josserand -F: package/rtl8723bu/ - N: Nathaniel Roach F: package/bandwidthd/ F: package/libgudev/ @@ -2082,7 +1961,7 @@ F: package/libevdev/ F: package/pkg-qmake.mk F: package/qt5/qt5opcua/ -N: Neal Frager +N: Neal Frager F: board/zynqmp/ F: configs/zynqmp_zcu102_defconfig @@ -2266,38 +2145,6 @@ F: package/wireguard-linux-compat/ F: package/wireguard-tools/ F: support/testing/tests/package/test_docker_compose.py -N: Peter Seiderer -F: board/raspberrypi/ -F: configs/raspberrypi*_defconfig -F: package/assimp/ -F: package/bcm2835/ -F: package/ddrescue/ -F: package/dejavu/ -F: package/dillo/ -F: package/edid-decode/ -F: package/ell/ -F: package/ghostscript-fonts/ -F: package/gstreamer1/gst1-devtools/ -F: package/gstreamer1/gst1-interpipe/ -F: package/gstreamer1/gstreamer1-editing-services/ -F: package/iwd/ -F: package/libcamera-apps/ -F: package/libevdev/ -F: package/libuev/ -F: package/log4cplus/ -F: package/postgresql/ -F: package/python-colorzero/ -F: package/python-flask-wtf/ -F: package/python-gpiozero/ -F: package/qt5/ -F: package/quotatool/ -F: package/racehound/ -F: package/redir/ -F: package/rtl8812au-aircrack-ng/ -F: package/uredir/ -F: package/uqmi/ -F: package/wayland-utils/ - N: Peter Thompson F: package/sdl2_gfx/ F: package/sdl2_image/ @@ -2420,21 +2267,17 @@ N: Renaud Aubin F: package/libhttpparser/ N: Ricardo Martincoski +F: .flake8 +F: .shellcheckrc F: package/atop/ F: package/thermald/ - -N: Ricardo Martincoski F: support/testing/infra/ F: support/testing/run-tests -F: support/testing/tests/core/test_file_capabilities.py -F: support/testing/tests/download/ -F: support/testing/tests/package/*_python*.py F: support/testing/tests/package/test_atop.py -F: support/testing/tests/package/test_syslog_ng.py -F: support/testing/tests/package/test_tmux.py F: support/testing/tests/utils/test_check_package.py F: utils/check-package F: utils/checkpackagelib/ +F: utils/docker-run N: Richard Braun F: package/curlftpfs/ @@ -2536,6 +2379,10 @@ F: package/libbson/ F: package/lua-resty-http/ F: package/mpir/ +N: Sen Hastings +F: package/systemd +F: support/scripts/pkg-stats + N: Sergey Bobrenok F: package/sdbus-cpp/ @@ -2574,9 +2421,6 @@ F: package/tunctl/ F: package/ubus/ F: package/wolfssl/ -N: Shyam Saini -F: package/cukinia/ - N: Simon Dawson F: boot/at91bootstrap3/ F: package/cppzmq/ @@ -2673,8 +2517,8 @@ F: board/pine64/rockpro64 F: board/radxa/rockpi-4 F: board/radxa/rockpi-n8 F: board/radxa/rockpi-n10 -F: configs/friendlyarm_nanopc_t4_defconfig -F: configs/friendlyarm_nanopi_m4_defconfig +F: configs/friendlyarm_nanopc_t4_defconfig +F: configs/friendlyarm_nanopi_m4_defconfig F: configs/orangepi_rk3399_defconfig F: configs/roc_pc_rk3399_defconfig F: configs/rock_pi_4_defconfig @@ -2705,6 +2549,7 @@ F: package/x265/ N: Thomas Claveirole F: package/fcgiwrap/ F: package/openlayers/ +F: package/vuejs/ F: package/vuejs-router/ N: Thomas De Schampheleire @@ -2749,8 +2594,11 @@ F: utils/size-stats-compare F: toolchain/ 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/ N: Thomas Petazzoni @@ -2978,6 +2826,9 @@ F: package/weston/ F: package/zisofs-tools/ F: support/download/ +N: Yann E. MORIN +F: package/gpsd/ + N: Yegor Yefremov F: configs/beaglebone_defconfig F: configs/beaglebone_qt5_defconfig diff --git a/Makefile b/Makefile index 388ec6e34..6c4b5b0ed 100644 --- a/Makefile +++ b/Makefile @@ -92,9 +92,9 @@ all: .PHONY: all # Set and export the version string -export BR2_VERSION := 2022.02 +export BR2_VERSION := 2022.02.12 # Actual time the release is cut (for reproducible builds) -BR2_VERSION_EPOCH = 1646777000 +BR2_VERSION_EPOCH = 1683230000 # Save running make version since it's clobbered by the make package RUNNING_MAKE_VERSION := $(MAKE_VERSION) @@ -664,7 +664,7 @@ ifneq ($(GLIBC_GENERATE_LOCALES),) PACKAGES += host-localedef define GENERATE_GLIBC_LOCALES - $(MAKE) -f support/misc/gen-glibc-locales.mk \ + +$(MAKE) -f support/misc/gen-glibc-locales.mk \ ENDIAN=$(call LOWERCASE,$(BR2_ENDIAN)) \ LOCALES="$(GLIBC_GENERATE_LOCALES)" \ Q=$(Q) @@ -882,6 +882,9 @@ graph-build: $(O)/build/build-time.log --type=pie-$(t) --input=$(<) \ --output=$(GRAPHS_DIR)/build.pie-$(t).$(BR_GRAPH_OUT) \ $(if $(BR2_GRAPH_ALT),--alternate-colors)$(sep)) + ./support/scripts/graph-build-time --type=timeline --input=$(<) \ + --output=$(GRAPHS_DIR)/build.timeline.$(BR_GRAPH_OUT) \ + $(if $(BR2_GRAPH_ALT),--alternate-colors) .PHONY: graph-depends-requirements graph-depends-requirements: @@ -1019,13 +1022,18 @@ oldconfig syncconfig olddefconfig: $(BUILD_DIR)/buildroot-config/conf outputmake defconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile @$(COMMON_CONFIG_ENV) $< --defconfig$(if $(DEFCONFIG),=$(DEFCONFIG)) $(CONFIG_CONFIG_IN) -define percent_defconfig -# Override the BR2_DEFCONFIG from COMMON_CONFIG_ENV with the new defconfig -%_defconfig: $(BUILD_DIR)/buildroot-config/conf $(1)/configs/%_defconfig outputmakefile - @$$(COMMON_CONFIG_ENV) BR2_DEFCONFIG=$(1)/configs/$$@ \ - $$< --defconfig=$(1)/configs/$$@ $$(CONFIG_CONFIG_IN) -endef -$(eval $(foreach d,$(call reverse,$(TOPDIR) $(BR2_EXTERNAL_DIRS)),$(call percent_defconfig,$(d))$(sep))) +%_defconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile + @defconfig=$(or \ + $(firstword \ + $(foreach d, \ + $(call reverse,$(TOPDIR) $(BR2_EXTERNAL_DIRS)), \ + $(wildcard $(d)/configs/$@) \ + ) \ + ), \ + $(error "Can't find $@") \ + ); \ + $(COMMON_CONFIG_ENV) BR2_DEFCONFIG=$${defconfig} \ + $< --defconfig=$${defconfig} $(CONFIG_CONFIG_IN) update-defconfig: savedefconfig @@ -1045,7 +1053,7 @@ savedefconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile # staging and target directories do NOT list these as # dependencies anywhere else -$(BUILD_DIR) $(BASE_TARGET_DIR) $(HOST_DIR) $(BINARIES_DIR) $(LEGAL_INFO_DIR) $(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST) $(PER_PACKAGE_DIR): +$(BASE_DIR) $(BUILD_DIR) $(BASE_TARGET_DIR) $(HOST_DIR) $(BINARIES_DIR) $(LEGAL_INFO_DIR) $(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST) $(PER_PACKAGE_DIR): @mkdir -p $@ # outputmakefile generates a Makefile in the output directory, if using a @@ -1057,23 +1065,22 @@ ifeq ($(NEED_WRAPPER),y) $(Q)$(TOPDIR)/support/scripts/mkmakefile $(TOPDIR) $(O) endif -.PHONY: check-make-version -check-make-version: -ifneq ($(filter $(RUNNING_MAKE_VERSION),4.3),) - @echo "Make 4.3 doesn't support 'printvars' and 'show-vars' recipes" - @exit 1 -endif - # printvars prints all the variables currently defined in our # Makefiles. Alternatively, if a non-empty VARS variable is passed, # only the variables matching the make pattern passed in VARS are # displayed. # show-vars does the same, but as a JSON dictionnary. +# +# Note: we iterate of .VARIABLES and filter each variable individually, +# to workaround a bug in make 4.3; see https://savannah.gnu.org/bugs/?59093 .PHONY: printvars -printvars: check-make-version +printvars: +ifndef VARS + $(error Please pass a non-empty VARS to 'make printvars') +endif @: $(foreach V, \ - $(sort $(filter $(VARS),$(.VARIABLES))), \ + $(sort $(foreach X, $(.VARIABLES), $(filter $(VARS),$(X)))), \ $(if $(filter-out environment% default automatic, \ $(origin $V)), \ $(if $(QUOTED_VARS),\ @@ -1081,21 +1088,29 @@ printvars: check-make-version $(info $V=$(if $(RAW_VARS),$(value $V),$($V)))))) # ')))) # Syntax colouring... +# See details above, same as for printvars .PHONY: show-vars show-vars: VARS?=% -show-vars: check-make-version +show-vars: @: - $(info $(call clean-json, { \ + $(foreach i, \ + $(call clean-json, { \ $(foreach V, \ - $(sort $(filter $(VARS),$(.VARIABLES))), \ - $(if $(filter-out environment% default automatic, $(origin $V)), \ + $(.VARIABLES), \ + $(and $(filter $(VARS),$(V)) \ + , \ + $(filter-out environment% default automatic, $(origin $V)) \ + , \ "$V": { \ "expanded": $(call mk-json-str,$($V))$(comma) \ "raw": $(call mk-json-str,$(value $V)) \ }$(comma) \ ) \ ) \ - } )) + } ) \ + , \ + $(info $(i)) \ + ) .PHONY: clean clean: @@ -1254,7 +1269,8 @@ check-flake8: check-package: find $(TOPDIR) -type f \( -name '*.mk' -o -name '*.hash' -o -name 'Config.*' -o -name '*.patch' \) \ - -exec ./utils/check-package --exclude=Sob --exclude=HashSpaces {} + + -a -not -name '*.orig' -a -not -name '*.rej' \ + -exec ./utils/check-package --exclude=Sob {} + include docs/manual/manual.mk -include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(sort $(wildcard $(dir)/docs/*/*.mk))) diff --git a/arch/Config.in b/arch/Config.in index c6e0f9843..0c43cfbd8 100644 --- a/arch/Config.in +++ b/arch/Config.in @@ -49,7 +49,7 @@ config BR2_arm config BR2_armeb bool "ARM (big endian)" - # MMU support is set by the subarchitecture file, arch/Config.in.arm + select BR2_ARCH_HAS_MMU_MANDATORY help ARM is a 32-bit reduced instruction set computer (RISC) instruction set architecture (ISA) developed by ARM Holdings. @@ -228,7 +228,7 @@ config BR2_s390x config BR2_sh bool "SuperH" - select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARCH_HAS_MMU_MANDATORY help SuperH (or SH) is a 32-bit reduced instruction set computer (RISC) instruction set architecture (ISA) developed by diff --git a/arch/Config.in.arm b/arch/Config.in.arm index 85040ac89..657923f14 100644 --- a/arch/Config.in.arm +++ b/arch/Config.in.arm @@ -259,6 +259,8 @@ config BR2_pj4 select BR2_ARM_CPU_ARMV7A select BR2_ARCH_HAS_MMU_OPTIONAL +# Cortex-M cores are only supported for little endian configurations +if BR2_arm comment "armv7m cores" config BR2_cortex_m3 bool "cortex-M3" @@ -275,6 +277,7 @@ config BR2_cortex_m7 select BR2_ARM_CPU_MAYBE_HAS_FPV5 select BR2_ARM_CPU_ARMV7M select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 +endif # BR2_arm endif # !BR2_ARCH_IS_64 comment "armv8 cores" diff --git a/arch/Config.in.powerpc b/arch/Config.in.powerpc index 4a39cfee7..db7427040 100644 --- a/arch/Config.in.powerpc +++ b/arch/Config.in.powerpc @@ -11,6 +11,8 @@ choice Specific CPU variant to use config BR2_generic_powerpc bool "generic" + # No C library supports this variant on ppc64le + depends on !BR2_powerpc64le config BR2_powerpc_401 bool "401" depends on !BR2_ARCH_IS_64 @@ -61,8 +63,12 @@ config BR2_powerpc_604e depends on !BR2_ARCH_IS_64 config BR2_powerpc_620 bool "620" + # No C library supports this variant on ppc64le + depends on !BR2_powerpc64le config BR2_powerpc_630 bool "630" + # No C library supports this variant on ppc64le + depends on !BR2_powerpc64le config BR2_powerpc_740 bool "740" depends on !BR2_ARCH_IS_64 @@ -115,8 +121,12 @@ config BR2_powerpc_e6500 select BR2_POWERPC_CPU_HAS_ALTIVEC config BR2_powerpc_power4 bool "power4" + # No C library supports this variant on ppc64le + depends on !BR2_powerpc64le config BR2_powerpc_power5 bool "power5" + # No C library supports this variant on ppc64le + depends on !BR2_powerpc64le config BR2_powerpc_power6 bool "power6" select BR2_POWERPC_CPU_HAS_ALTIVEC diff --git a/arch/Config.in.riscv b/arch/Config.in.riscv index 288ed833e..30bdcaa80 100644 --- a/arch/Config.in.riscv +++ b/arch/Config.in.riscv @@ -108,6 +108,7 @@ config BR2_RISCV_ABI_LP64 config BR2_RISCV_ABI_LP64F bool "lp64f" depends on BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVF + depends on BR2_USE_MMU config BR2_RISCV_ABI_LP64D bool "lp64d" diff --git a/arch/Config.in.sh b/arch/Config.in.sh index c1ba449dd..d3acc8ccf 100644 --- a/arch/Config.in.sh +++ b/arch/Config.in.sh @@ -5,8 +5,6 @@ choice help Specific CPU variant to use -config BR2_sh2a - bool "sh2a (SH2A big endian)" config BR2_sh4 bool "sh4 (SH4 little endian)" config BR2_sh4eb @@ -18,7 +16,6 @@ config BR2_sh4aeb endchoice config BR2_ARCH - default "sh2a" if BR2_sh2a default "sh4" if BR2_sh4 default "sh4eb" if BR2_sh4eb default "sh4a" if BR2_sh4a @@ -29,7 +26,7 @@ config BR2_NORMALIZED_ARCH config BR2_ENDIAN default "LITTLE" if BR2_sh4 || BR2_sh4a - default "BIG" if BR2_sh2a || BR2_sh4eb || BR2_sh4aeb + default "BIG" if BR2_sh4eb || BR2_sh4aeb config BR2_READELF_ARCH_NAME default "Renesas / SuperH SH" diff --git a/arch/Config.in.x86 b/arch/Config.in.x86 index 2560da922..c770ae3ff 100644 --- a/arch/Config.in.x86 +++ b/arch/Config.in.x86 @@ -286,9 +286,9 @@ config BR2_x86_atom select BR2_X86_CPU_HAS_SSSE3 help This option is deprecated. Since gcc 4.9, the gcc option - "bonnel" is preferred. Use BR2_x86_bonnel instead. -config BR2_x86_bonnel - bool "bonnel" + "bonnell" is preferred. Use BR2_x86_bonnell instead. +config BR2_x86_bonnell + bool "bonnell" select BR2_X86_CPU_HAS_MMX select BR2_X86_CPU_HAS_SSE select BR2_X86_CPU_HAS_SSE2 @@ -598,7 +598,7 @@ config BR2_GCC_TARGET_ARCH default "broadwell" if BR2_x86_broadwell default "skylake" if BR2_x86_skylake default "atom" if BR2_x86_atom - default "bonnel" if BR2_x86_bonnel + default "bonnell" if BR2_x86_bonnell default "westmere" if BR2_x86_westmere default "silvermont" if BR2_x86_silvermont default "goldmont" if BR2_x86_goldmont diff --git a/arch/arch.mk.xtensa b/arch/arch.mk.xtensa index fd410f6bf..75145e725 100644 --- a/arch/arch.mk.xtensa +++ b/arch/arch.mk.xtensa @@ -1,3 +1,9 @@ +BR_ARCH_XTENSA_OVERLAY_FILE = $(call qstrip,$(BR2_XTENSA_OVERLAY_FILE)) + +ifeq ($(BR_BUILDING)$(BR2_XTENSA_CUSTOM)$(BR2_TOOLCHAIN_BUILDROOT):$(BR_ARCH_XTENSA_OVERLAY_FILE),yyy:) +$(error No xtensa overlay file provided. Check your BR2_XTENSA_OVERLAY_FILE setting) +endif + ################################################################################ # This variable can be used by packages that need to extract the overlay. # @@ -9,7 +15,6 @@ # tar xf $(ARCH_XTENSA_OVERLAY_FILE) -C $(@D) --strip-components=1 gcc # endif ################################################################################ -BR_ARCH_XTENSA_OVERLAY_FILE = $(call qstrip,$(BR2_XTENSA_OVERLAY_FILE)) ifneq ($(filter http://% https://% ftp://% scp://%,$(BR_ARCH_XTENSA_OVERLAY_FILE)),) ARCH_XTENSA_OVERLAY_URL = $(BR_ARCH_XTENSA_OVERLAY_FILE) ARCH_XTENSA_OVERLAY_FILE = $($(PKG)_DL_DIR)/$(notdir $(BR_ARCH_XTENSA_OVERLAY_FILE)) diff --git a/board/asus/tinker/extlinux.conf b/board/asus/tinker/extlinux.conf index 136af0deb..bb96ddb89 100644 --- a/board/asus/tinker/extlinux.conf +++ b/board/asus/tinker/extlinux.conf @@ -1,4 +1,4 @@ -label Tinker linux-next +label Tinker linux kernel /boot/uImage devicetree /boot/rk3288-tinker.dtb append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait diff --git a/board/asus/tinker/genimage.cfg b/board/asus/tinker/genimage.cfg index a4b1e8d60..fa7fd734f 100644 --- a/board/asus/tinker/genimage.cfg +++ b/board/asus/tinker/genimage.cfg @@ -2,12 +2,19 @@ image sdcard.img { hdimage { } - partition u-boot-spl-dtb { + partition u-boot-tpl-spl-dtb { in-partition-table = "no" - image = "u-boot-spl-dtb.img" + image = "u-boot-tpl-spl-dtb.img" offset = 32K } + partition u-boot-dtb { + in-partition-table = "no" + image = "u-boot-dtb.img" + offset = 8M + size = 30M + } + partition rootfs { partition-type = 0x83 image = "rootfs.ext4" diff --git a/board/asus/tinker/post-build.sh b/board/asus/tinker/post-build.sh index 8108ed83f..ffbbcdeb5 100755 --- a/board/asus/tinker/post-build.sh +++ b/board/asus/tinker/post-build.sh @@ -3,7 +3,7 @@ MKIMAGE=$HOST_DIR/bin/mkimage BOARD_DIR="$(dirname $0)" -$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-spl-dtb.bin $BINARIES_DIR/u-boot-spl-dtb.img -cat $BINARIES_DIR/u-boot-dtb.bin >> $BINARIES_DIR/u-boot-spl-dtb.img +$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-tpl.bin $BINARIES_DIR/u-boot-tpl.img +cat $BINARIES_DIR/u-boot-tpl.img $BINARIES_DIR/u-boot-spl-dtb.bin > $BINARIES_DIR/u-boot-tpl-spl-dtb.img install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf diff --git a/board/freescale/common/imx/imx8-bootloader-prepare.sh b/board/freescale/common/imx/imx8-bootloader-prepare.sh index 56f65e312..20e44c127 100755 --- a/board/freescale/common/imx/imx8-bootloader-prepare.sh +++ b/board/freescale/common/imx/imx8-bootloader-prepare.sh @@ -9,28 +9,32 @@ main () fi if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then - cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin + 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 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 ${HOST_DIR}/bin/mkimage -E -p 0x3000 -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 elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y$" ${BR2_CONFIG}; then - cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin + 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 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 ${HOST_DIR}/bin/mkimage -E -p 0x3000 -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 elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y$" ${BR2_CONFIG}; then - cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin + 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 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 ${HOST_DIR}/bin/mkimage -E -p 0x3000 -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 elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP=y$" ${BR2_CONFIG}; then - cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin + 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 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 ${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb rm -f ${BINARIES_DIR}/u-boot.its diff --git a/board/freescale/imx28evk/readme.txt b/board/freescale/imx28evk/readme.txt index 2920cb04c..3b77634fe 100644 --- a/board/freescale/imx28evk/readme.txt +++ b/board/freescale/imx28evk/readme.txt @@ -54,4 +54,4 @@ Enjoy! References ========== -[1] http://cache.freescale.com/files/32bit/doc/user_guide/EVK_imx28_QuickStart.pdf +[1] https://www.nxp.com/docs/en/user-guide/EVK_imx28_QuickStart.pdf diff --git a/board/freescale/imx6sabre/readme.txt b/board/freescale/imx6sabre/readme.txt index 4b8db5233..320ee463e 100644 --- a/board/freescale/imx6sabre/readme.txt +++ b/board/freescale/imx6sabre/readme.txt @@ -8,15 +8,15 @@ as well as the Freescale SABRE Board for Automotive Infotainment. Read the i.MX 6 SABRESD Quick Start Guide for an introduction to the board: -http://cache.freescale.com/files/32bit/doc/quick_start_guide/SABRESDB_IMX6_QSG.pdf +https://www.nxp.com/files-static/32bit/doc/quick_start_guide/SABRESDB_IMX6_QSG.pdf Read the i.MX 6 SoloX SABRESD Quick Start Guide for an introduction to the board: -http://cache.freescale.com/files/32bit/doc/user_guide/IMX6SOLOXQSG.pdf +https://www.nxp.com/files-static/32bit/doc/quick_start_guide/IMX6SOLOXQSG.pdf Read the SABRE for Automotive Infotainment Quick Start Guide for an introduction to the board: -http://cache.freescale.com/files/32bit/doc/user_guide/IMX6SABREINFOQSG.pdf +https://www.nxp.com/webapp/Download?colCode=IMX6SABREINFOQSG Building with NXP kernel and NXP U-Boot ======================================= @@ -166,6 +166,6 @@ Enjoy! References ========== -https://community.freescale.com/docs/DOC-95015 -https://community.freescale.com/docs/DOC-95017 -https://community.freescale.com/docs/DOC-99218 +https://community.nxp.com/docs/DOC-95015 +https://community.nxp.com/docs/DOC-95017 +https://community.nxp.com/docs/DOC-99218 diff --git a/board/freescale/imx6ulevk/readme.txt b/board/freescale/imx6ulevk/readme.txt index 90355f354..5a5b4ae5a 100644 --- a/board/freescale/imx6ulevk/readme.txt +++ b/board/freescale/imx6ulevk/readme.txt @@ -12,7 +12,7 @@ Build First, configure Buildroot for your i.MX6UL EVK board: -In order to to do so there are two supported options: +In order to do so there are two supported options: make freescale_imx6ulevk_defconfig @@ -71,4 +71,4 @@ Enjoy! References ========== -[1] http://cache.freescale.com/files/32bit/doc/quick_start_guide/IMX6ULTRALITEQSG.pdf +[1] https://www.nxp.com/webapp/Download?colCode=IMX6ULTRALITEQSG diff --git a/board/freescale/imx6ullevk/readme.txt b/board/freescale/imx6ullevk/readme.txt index 77acec261..dc7c5f367 100644 --- a/board/freescale/imx6ullevk/readme.txt +++ b/board/freescale/imx6ullevk/readme.txt @@ -9,7 +9,7 @@ Build First, configure Buildroot for your i.MX6ULL EVK board: -In order to to do so there are two supported options: +In order to do so there are two supported options: make freescale_imx6ullevk_defconfig diff --git a/board/qemu/ppc-bamboo/readme.txt b/board/qemu/ppc-bamboo/readme.txt index 0b70d2fa5..53d197069 100644 --- a/board/qemu/ppc-bamboo/readme.txt +++ b/board/qemu/ppc-bamboo/readme.txt @@ -1,5 +1,5 @@ Run the emulation with: -qemu-system-ppc -nographic -M bamboo -kernel vmlinux -net nic,model=virtio-net-pci -net user # qemu_ppc_bamboo_defconfig +qemu-system-ppc -nographic -M bamboo -kernel output/images/vmlinux -net nic,model=virtio-net-pci -net user # qemu_ppc_bamboo_defconfig The login prompt will appear in the terminal that started Qemu. diff --git a/board/solidrun/macchiatobin/readme.txt b/board/solidrun/macchiatobin/readme.txt index 7412951aa..ef5a6cba6 100644 --- a/board/solidrun/macchiatobin/readme.txt +++ b/board/solidrun/macchiatobin/readme.txt @@ -13,9 +13,9 @@ How to build ============ Default configuration provides the following BSP versions: - - Linux v5.6.3 (mainline) - - U-Boot v2020.01 (mainline) - - ATF v1.5-18.12.2 (Marvell) + - Linux v5.10.5 + - U-Boot v2020.10 + - ATF v2.4 To build images run the following commands: diff --git a/board/technologic/ts4900/readme.txt b/board/technologic/ts4900/readme.txt index 679454fde..121e63974 100644 --- a/board/technologic/ts4900/readme.txt +++ b/board/technologic/ts4900/readme.txt @@ -9,7 +9,7 @@ Freescale i.MX6 Single or Quad Core ARM Cortex-A9 CPU clocked at 1GHz. The TS-4900 features Gigabit Ethernet, SATA II Port, PCI Express Bus, high speed USB host and device (OTG), and microSD card. More details on the board here: - http://wiki.embeddedarm.com/wiki/TS-4900 + https://docs.embeddedTS.com/TS-4900 The TS-4900 is not currently supported by mainline Linux, so a Technologic Systems Linux is used based on Linux 4.1. @@ -48,5 +48,5 @@ connector etc. The bootloader comes pre-flashed on the board on an SPI flash. Since updating the bootloader is risky and not trivial, it is not included in the Buildroot defconfig. Refer to -http://wiki.embeddedarm.com/wiki/TS-4900#U-Boot for details on which +https://docs.embeddedTS.com/TS-4900#U-Boot for details on which U-Boot config to use and how to flash it. diff --git a/board/technologic/ts5500/readme.txt b/board/technologic/ts5500/readme.txt index 1e73ab3ea..1fe384faa 100644 --- a/board/technologic/ts5500/readme.txt +++ b/board/technologic/ts5500/readme.txt @@ -5,7 +5,7 @@ This document explains how to set up a basic Buildroot system for the Technologic Systems TS-5x00 serie of x86-based Single Board Computers. TS-5x00 Single Board Computers are based on the AMD Elan520 processor. For more -information please have a look at http://wiki.embeddedarm.com/wiki/#AMD +information please have a look at https://docs.embeddedTS.com/Documentation_Home#AMD The kernel configuration works for any AMD Elan520-based SBCs, but the support is enhanced for the TS-5500 and TS-5400 models (on-board devices registration @@ -45,7 +45,7 @@ config, the BIOS must use Logical Block Addressing (LBA). You can do it by choosing "Ide 0: AUTOCONFIG, LBA" under "IDE DRIVE GEOMETRY" in the "Basic CMOS Configuration" screen. Also, don't forget to set the 'active' (or 'bootable') flag on partition 1. For details about the CMOS setup, please see: -http://wiki.embeddedarm.com/wiki/TS-5500#System_BIOS_Setup_Screens +https://docs.embeddedts.com/TS-5500#System_BIOS_Setup_Screens Connect a terminal program to the rs232 connector marked "COM2" with baudrate set to 115200, insert the Compact Flash card into the socket, diff --git a/board/technologic/ts7680/readme.txt b/board/technologic/ts7680/readme.txt index 43d5d135e..3f703330b 100644 --- a/board/technologic/ts7680/readme.txt +++ b/board/technologic/ts7680/readme.txt @@ -8,7 +8,7 @@ The TS-7680 SBC is based on the Freescale i.MX286 ARM ARM926EJ-S running at 454MHz. The TS-7680 features are 10/100 Ethernet ports, Wi-Fi, microSD card, eMMC, NOR Flash, USB host port, CAN ports, relays and ADC/DAC. More details on the board here: -https://wiki.embeddedarm.com/wiki/TS-7680 +https://docs.embeddedTS.com/TS-7680 The TS-7680 uses a 4.9 Linux kernel provided by Technologic Systems. @@ -46,5 +46,5 @@ the SD jumper is present and the U-Boot jumper is not. The bootloader comes pre-flashed on the board on an SPI flash. Since updating the bootloader is risky and not trivial, it is not included in the Buildroot defconfig. Refer to -https://wiki.embeddedarm.com/wiki/TS-7680#U-Boot for details on +https://docs.embeddedts.com/TS-7680#U-Boot for details on which U-Boot config to use and how to flash it. diff --git a/board/zynqmp/zcu106/patches/uboot/0001-arm64-zynqmp-zynqmp-zcu102-revA-Fix-DP-PLL-configura.patch b/board/zynqmp/zcu106/patches/uboot/0001-arm64-zynqmp-zynqmp-zcu102-revA-Fix-DP-PLL-configura.patch new file mode 100644 index 000000000..4281880da --- /dev/null +++ b/board/zynqmp/zcu106/patches/uboot/0001-arm64-zynqmp-zynqmp-zcu102-revA-Fix-DP-PLL-configura.patch @@ -0,0 +1,40 @@ +From aaaa10b613165b7790fe1c084de007240b5bd77a Mon Sep 17 00:00:00 2001 +From: Neal Frager +Date: Thu, 5 May 2022 13:34:43 +0100 +Subject: [PATCH 1/1] arm64: zynqmp: zynqmp-zcu102-revA: Fix DP PLL + configuration + +This patch fixes the DP audio and video PLL configurations +for the zynqmp-zcu106-revA evaluation board + +The Linux DP driver expects the DP to be using the following PLL config: + - DP video PLL should use the VPLL (0x0) + - DP audio PLL should use the RPLL (0x3) + +Register 0xFD1A0070 configures the DP video PLL. +Register 0xFD1A0074 configures the DP audio PLL. + +Signed-off-by: Neal Frager +Signed-off-by: Michal Simek +--- + board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c b/board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c +index 15f0be1a43..cbc436289f 100644 +--- a/board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c ++++ b/board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c +@@ -81,8 +81,8 @@ static unsigned long psu_clock_init_data(void) + psu_mask_write(0xFF5E0104, 0x00000007U, 0x00000000U); + psu_mask_write(0xFF5E0128, 0x01003F07U, 0x01000F00U); + psu_mask_write(0xFD1A00A0, 0x01003F07U, 0x01000200U); +- psu_mask_write(0xFD1A0070, 0x013F3F07U, 0x01010203U); +- psu_mask_write(0xFD1A0074, 0x013F3F07U, 0x01013C00U); ++ psu_mask_write(0xFD1A0070, 0x013F3F07U, 0x01010500U); ++ psu_mask_write(0xFD1A0074, 0x013F3F07U, 0x01013C03U); + psu_mask_write(0xFD1A007C, 0x013F3F07U, 0x01011303U); + psu_mask_write(0xFD1A0060, 0x03003F07U, 0x03000100U); + psu_mask_write(0xFD1A0068, 0x01003F07U, 0x01000200U); +-- +2.17.1 + diff --git a/boot/afboot-stm32/0001-Pass-fno-builtin-to-fix-build-with-gcc-10.patch b/boot/afboot-stm32/0001-Pass-fno-builtin-to-fix-build-with-gcc-10.patch index 5ef47b59f..aef283270 100644 --- a/boot/afboot-stm32/0001-Pass-fno-builtin-to-fix-build-with-gcc-10.patch +++ b/boot/afboot-stm32/0001-Pass-fno-builtin-to-fix-build-with-gcc-10.patch @@ -1,4 +1,4 @@ -From 5448f328ff63a6ca4a64519c2f1dfc63a33df4b7 Mon Sep 17 00:00:00 2001 +From 9901603e18524c4c52fd1dd47bda4ab4016628fc Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Thu, 10 Sep 2020 11:37:33 +0200 Subject: [PATCH] Pass -fno-builtin to fix build with gcc 10 @@ -23,7 +23,7 @@ stm32f429i-disco.c:(.text.reset+0x1a): undefined reference to `memcpy' /home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: stm32f429i-disco.c:(.text.reset+0x34): undefined reference to `memset' make[1]: *** [Makefile:26: stm32f429i-disco] Error 1 -Upstream: https://github.com/mcoquelin-stm32/afboot-stm32/pull/9 +Upstream: https://github.com/mcoquelin-stm32/afboot-stm32/pull/11 Signed-off-by: Thomas Petazzoni --- Makefile | 1 + @@ -42,5 +42,5 @@ index f699176..1e8557d 100644 obj-y += gpio.o mpu.o qspi.o start_kernel.o -- -2.26.2 +2.35.1 diff --git a/boot/afboot-stm32/0002-Makefile-drop-nostartfiles.patch b/boot/afboot-stm32/0002-Makefile-drop-nostartfiles.patch new file mode 100644 index 000000000..7e5a6430b --- /dev/null +++ b/boot/afboot-stm32/0002-Makefile-drop-nostartfiles.patch @@ -0,0 +1,40 @@ +From be760c062c5d05bd2223f3916afafd37120d3318 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 28 Apr 2022 22:47:09 +0200 +Subject: [PATCH] Makefile: drop -nostartfiles + +In commit 0f3e61c9dd48fd8b4248ce4672c044c2562e4de1 ("Use ld instead of +gcc for linking "), we started using ld instead of gcc for the link +step. This worked fine for a while, but recent versions of ld no +longer accept the -nostartfiles option, causing the build to break: + +Error: unable to disambiguate: -nostartfiles (did you mean --nostartfiles ?) + +In fact, -nostartfiles was passed to gcc prior to +0f3e61c9dd48fd8b4248ce4672c044c2562e4de1, but it is not a ld +option. It is only by luck that it was accepted and ignored by older +ld versions. Since this option is useless when calling ld directly, we +can simply drop it. + +Upstream: https://github.com/mcoquelin-stm32/afboot-stm32/pull/11 +Signed-off-by: Thomas Petazzoni +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1e8557d..8f42be1 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ CFLAGS := -mthumb -mcpu=cortex-m4 + CFLAGS += -ffunction-sections -fdata-sections + CFLAGS += -Os -std=gnu99 -Wall + CFLAGS += -fno-builtin +-LINKERFLAGS := -nostartfiles --gc-sections ++LINKERFLAGS := --gc-sections + + obj-y += gpio.o mpu.o qspi.o start_kernel.o + obj-f4 += $(obj-y) usart-f4.o +-- +2.35.1 + diff --git a/boot/afboot-stm32/0003-Makefile-disable-stack-protector.patch b/boot/afboot-stm32/0003-Makefile-disable-stack-protector.patch new file mode 100644 index 000000000..27a81b45d --- /dev/null +++ b/boot/afboot-stm32/0003-Makefile-disable-stack-protector.patch @@ -0,0 +1,36 @@ +From d65b07d6fe438e760fdbc33a8e42650a27d5b417 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 31 Dec 2022 11:09:38 +0100 +Subject: [PATCH] Makefile: disable stack-protector + +Disable stack-protector to avoid the following build failure: + +/home/autobuild/autobuild/instance-14/output-1/host/bin/arm-buildroot-linux-gnueabi-ld -T stm32f429.lds --gc-sections -o stm32f469i-disco.elf stm32f469i-disco.o gpio.o mpu.o qspi.o start_kernel.o usart-f4.o +/home/autobuild/autobuild/instance-14/output-1/host/bin/arm-buildroot-linux-gnueabi-ld: stm32f469i-disco.o: in function `main': +stm32f469i-disco.c:(.text.startup.main+0x3b0): undefined reference to `__stack_chk_guard' +/home/autobuild/autobuild/instance-14/output-1/host/bin/arm-buildroot-linux-gnueabi-ld: stm32f469i-disco.c:(.text.startup.main+0x4c0): undefined reference to `__stack_chk_fail' +/home/autobuild/autobuild/instance-14/output-1/host/bin/arm-buildroot-linux-gnueabi-ld: stm32f469i-disco.c:(.text.startup.main+0x4ec): undefined reference to `__stack_chk_guard' + +Fixes: + - http://autobuild.buildroot.org/results/fa6ffab24c3998f21034ab24e8d2852cacde08c1 + +Signed-off-by: Fabrice Fontaine +--- + Makefile | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile b/Makefile +index 8f42be1..8da7a25 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,6 +14,7 @@ CFLAGS := -mthumb -mcpu=cortex-m4 + CFLAGS += -ffunction-sections -fdata-sections + CFLAGS += -Os -std=gnu99 -Wall + CFLAGS += -fno-builtin ++CFLAGS += -fno-stack-protector + LINKERFLAGS := --gc-sections + + obj-y += gpio.o mpu.o qspi.o start_kernel.o +-- +2.35.1 + diff --git a/boot/arm-trusted-firmware/Config.in b/boot/arm-trusted-firmware/Config.in index b1fc03e10..ee009ceb5 100644 --- a/boot/arm-trusted-firmware/Config.in +++ b/boot/arm-trusted-firmware/Config.in @@ -199,7 +199,6 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN config BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP bool "Build with SSP" - default y depends on BR2_TOOLCHAIN_HAS_SSP depends on !BR2_SSP_NONE help @@ -213,10 +212,6 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP config BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP_LEVEL string - # While newer versions of TF-A support "none" as - # ENABLE_STACK_PROTECTOR value, older versions (e.g 2.0) only - # supported "0" to disable SSP. - default "0" if !BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP default "default" if BR2_SSP_REGULAR default "strong" if BR2_SSP_STRONG default "all" if BR2_SSP_ALL diff --git a/boot/arm-trusted-firmware/arm-trusted-firmware.mk b/boot/arm-trusted-firmware/arm-trusted-firmware.mk index 03fa83b7b..10fdc0ed8 100644 --- a/boot/arm-trusted-firmware/arm-trusted-firmware.mk +++ b/boot/arm-trusted-firmware/arm-trusted-firmware.mk @@ -53,9 +53,20 @@ ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \ $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES)) \ PLAT=$(ARM_TRUSTED_FIRMWARE_PLATFORM) +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \ + ENABLE_STACK_PROTECTOR=$(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP_LEVEL)) +else +ARM_TRUSTED_FIRMWARE_CFLAGS += -fno-stack-protector +endif + +ifeq ($(BR2_PIC_PIE),y) +ARM_TRUSTED_FIRMWARE_CFLAGS += -fno-PIE +endif + ARM_TRUSTED_FIRMWARE_MAKE_ENV += \ $(TARGET_MAKE_ENV) \ - ENABLE_STACK_PROTECTOR=$(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP_LEVEL)) + CFLAGS="$(ARM_TRUSTED_FIRMWARE_CFLAGS)" ifeq ($(BR2_ARM_CPU_ARMV7A),y) ARM_TRUSTED_FIRMWARE_MAKE_OPTS += ARM_ARCH_MAJOR=7 @@ -190,8 +201,8 @@ endef ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE)$(BR_BUILDING),yy) ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom) -ifeq ($(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION))),) -$(error No tarball location specified. Please check BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION)) +ifeq ($(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION)),) +$(error No tarball location specified. Please check BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION) endif endif diff --git a/boot/at91dataflashboot/Config.in b/boot/at91dataflashboot/Config.in index 4055f9641..8b37d8440 100644 --- a/boot/at91dataflashboot/Config.in +++ b/boot/at91dataflashboot/Config.in @@ -1,3 +1,3 @@ config BR2_TARGET_AT91DATAFLASHBOOT bool "AT91 DataFlashBoot" - depends on BR2_arm926t + depends on BR2_arm && BR2_arm926t diff --git a/boot/at91dataflashboot/at91dataflashboot.mk b/boot/at91dataflashboot/at91dataflashboot.mk index 0ad8b6fc4..c66f27e34 100644 --- a/boot/at91dataflashboot/at91dataflashboot.mk +++ b/boot/at91dataflashboot/at91dataflashboot.mk @@ -12,7 +12,8 @@ AT91DATAFLASHBOOT_INSTALL_TARGET = NO AT91DATAFLASHBOOT_INSTALL_IMAGES = YES define AT91DATAFLASHBOOT_BUILD_CMDS - make -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) + make -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) \ + CFLAGS="$(TARGET_CFLAGS) -fno-stack-protector" endef define AT91DATAFLASHBOOT_INSTALL_IMAGES_CMDS diff --git a/boot/barebox/barebox.mk b/boot/barebox/barebox.mk index 6506294d6..281013ed0 100644 --- a/boot/barebox/barebox.mk +++ b/boot/barebox/barebox.mk @@ -74,6 +74,13 @@ endif $(1)_MAKE_FLAGS = ARCH=$$($(1)_ARCH) CROSS_COMPILE="$$(TARGET_CROSS)" $(1)_MAKE_ENV = $$(TARGET_MAKE_ENV) +ifeq ($$(BR2_REPRODUCIBLE),y) +$(1)_MAKE_ENV += \ + KBUILD_BUILD_USER=buildroot \ + KBUILD_BUILD_HOST=buildroot \ + KBUILD_BUILD_TIMESTAMP="$$(shell LC_ALL=C TZ='UTC' date -d @$(SOURCE_DATE_EPOCH))" +endif + ifeq ($$(BR2_TARGET_$(1)_USE_DEFCONFIG),y) $(1)_KCONFIG_DEFCONFIG = $$(call qstrip,$$(BR2_TARGET_$(1)_BOARD_DEFCONFIG))_defconfig else ifeq ($$(BR2_TARGET_$(1)_USE_CUSTOM_CONFIG),y) @@ -121,7 +128,7 @@ endef define $(1)_BUILD_CMDS $$($(1)_BUILD_BAREBOXENV_CMDS) - $$(TARGET_MAKE_ENV) $$(MAKE) $$($(1)_MAKE_FLAGS) -C $$(@D) + $$($(1)_MAKE_ENV) $$(MAKE) $$($(1)_MAKE_FLAGS) -C $$(@D) $$($(1)_BUILD_CUSTOM_ENV) endef diff --git a/boot/binaries-marvell/binaries-marvell.hash b/boot/binaries-marvell/binaries-marvell.hash index a7d5928a5..654fb94ec 100644 --- a/boot/binaries-marvell/binaries-marvell.hash +++ b/boot/binaries-marvell/binaries-marvell.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 d818c95bcd4d5c026238d6e554151184ed7fea15bce1f861f9068b97b4cd320a binaries-marvell-c5d3ef2b63ba66d8717ecbe679fd2e639cde88ee.tar.gz -sha256 e6d08ef60068ee72c68835001a24eb832dcba27cac0dde0f179dfb428be050ca README.md +sha256 d818c95bcd4d5c026238d6e554151184ed7fea15bce1f861f9068b97b4cd320a binaries-marvell-c5d3ef2b63ba66d8717ecbe679fd2e639cde88ee.tar.gz +sha256 e6d08ef60068ee72c68835001a24eb832dcba27cac0dde0f179dfb428be050ca README.md diff --git a/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk b/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk index 3a1af9b02..30b352f8e 100644 --- a/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk +++ b/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk @@ -5,7 +5,8 @@ ################################################################################ BOOT_WRAPPER_AARCH64_VERSION = 8d5a765251d9113c3c0f9fa14de42a9e7486fe8a -BOOT_WRAPPER_AARCH64_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git +BOOT_WRAPPER_AARCH64_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git +BOOT_WRAPPER_AARCH64_SITE_METHOD = git BOOT_WRAPPER_AARCH64_LICENSE = BSD-3-Clause BOOT_WRAPPER_AARCH64_LICENSE_FILES = LICENSE.txt BOOT_WRAPPER_AARCH64_DEPENDENCIES = linux diff --git a/boot/edk2/0001-MdeModulePkg-UsbBusDxe-fix-NOOPT-build-error.patch b/boot/edk2/0001-MdeModulePkg-UsbBusDxe-fix-NOOPT-build-error.patch new file mode 100644 index 000000000..f4f1b1565 --- /dev/null +++ b/boot/edk2/0001-MdeModulePkg-UsbBusDxe-fix-NOOPT-build-error.patch @@ -0,0 +1,48 @@ +From 59aa67f7a4d8efc564b46fe467aaf6eccec17183 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Mon, 20 Dec 2021 22:32:38 +0800 +Subject: [PATCH] MdeModulePkg/UsbBusDxe: fix NOOPT build error + +gcc-11 (fedora 35): + +/home/kraxel/projects/edk2/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBus.c: In function ?UsbIoBulkTransfer?: +/home/kraxel/projects/edk2/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBus.c:277:12: error: ?UsbHcBulkTransfer? accessing 80 bytes in a region of size 8 [-Werror=stringop-overflow=] + +Signed-off-by: Gerd Hoffmann +Reviewed-by: Hao A Wu +(cherry picked from commit ae8272ef787d80950803c521a13a308651bdc62e) +Signed-off-by: Romain Naour +--- + MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.c | 2 +- + MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.c b/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.c +index 7529e03e85..b2ce97ca37 100644 +--- a/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.c ++++ b/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.c +@@ -285,7 +285,7 @@ UsbHcBulkTransfer ( + IN UINT8 DevSpeed, + IN UINTN MaxPacket, + IN UINT8 BufferNum, +- IN OUT VOID *Data[EFI_USB_MAX_BULK_BUFFER_NUM], ++ IN OUT VOID *Data[], + IN OUT UINTN *DataLength, + IN OUT UINT8 *DataToggle, + IN UINTN TimeOut, +diff --git a/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.h b/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.h +index 1d2b8a6174..1316a5981f 100644 +--- a/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.h ++++ b/MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.h +@@ -149,7 +149,7 @@ UsbHcBulkTransfer ( + IN UINT8 DevSpeed, + IN UINTN MaxPacket, + IN UINT8 BufferNum, +- IN OUT VOID *Data[EFI_USB_MAX_BULK_BUFFER_NUM], ++ IN OUT VOID *Data[], + IN OUT UINTN *DataLength, + IN OUT UINT8 *DataToggle, + IN UINTN TimeOut, +-- +2.35.3 + diff --git a/boot/edk2/edk2.mk b/boot/edk2/edk2.mk index 2b12de53c..953bea6fd 100644 --- a/boot/edk2/edk2.mk +++ b/boot/edk2/edk2.mk @@ -7,8 +7,8 @@ EDK2_VERSION = edk2-stable202102 EDK2_SITE = https://github.com/tianocore/edk2 EDK2_SITE_METHOD = git -EDK2_LICENSE = BSD-2-Clause -EDK2_LICENSE_FILE = License.txt +EDK2_LICENSE = BSD-2-Clause-Patent +EDK2_LICENSE_FILES = License.txt EDK2_CPE_ID_VENDOR = tianocore EDK2_DEPENDENCIES = edk2-platforms host-python3 host-acpica host-util-linux EDK2_INSTALL_TARGET = NO @@ -75,6 +75,12 @@ EDK2_PACKAGE_NAME = ArmVirtPkg EDK2_PLATFORM_NAME = ArmVirtQemuKernel EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME)-$(EDK2_ARCH) +else ifeq ($(BR2_TARGET_EDK2_PLATFORM_ARM_SGI575),y) +EDK2_ARCH = AARCH64 +EDK2_PACKAGE_NAME = Platform/ARM/SgiPkg/Sgi575 +EDK2_PLATFORM_NAME = Sgi575 +EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME) + else ifeq ($(BR2_TARGET_EDK2_PLATFORM_ARM_VEXPRESS_FVP_AARCH64),y) EDK2_ARCH = AARCH64 EDK2_PACKAGE_NAME = Platform/ARM/VExpressPkg diff --git a/boot/grub2/0151-Makefile-Make-grub_fstest.pp-depend-on-config-util.h.patch b/boot/grub2/0151-Makefile-Make-grub_fstest.pp-depend-on-config-util.h.patch new file mode 100644 index 000000000..ea8787de7 --- /dev/null +++ b/boot/grub2/0151-Makefile-Make-grub_fstest.pp-depend-on-config-util.h.patch @@ -0,0 +1,45 @@ +From bb08b723fa7bc56439c7bc166cff361628e73453 Mon Sep 17 00:00:00 2001 +Message-Id: +From: Stefan Agner +Date: Fri, 5 Aug 2022 08:59:52 +0200 +Subject: [PATCH] Makefile: Make grub_fstest.pp depend on config-util.h + +Warning: This commit does not apply to the GRUB git repository. This +patch applies against the release tarballs. + +Upstream status: https://lists.gnu.org/archive/html/grub-devel/2022-08/msg00045.html +Signed-off-by: Stefan Agner +--- + Makefile.am | 2 +- + Makefile.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index bf9c1ba..f08cfc0 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -51,7 +51,7 @@ libgrub_a_init.c: libgrub_a_init.lst $(top_srcdir)/geninit.sh + CLEANFILES += libgrub_a_init.c + + # For grub-fstest +-grub_fstest.pp: $(grub_fstest_SOURCES) ++grub_fstest.pp: config-util.h $(grub_fstest_SOURCES) + $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(grub_fstest_CPPFLAGS) $(CPPFLAGS) \ + -D'GRUB_MOD_INIT(x)=@MARKER@x@' $^ > $@ || (rm -f $@; exit 1) + CLEANFILES += grub_fstest.pp +diff --git a/Makefile.in b/Makefile.in +index 13f2eef..2c1d20b 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -13312,7 +13312,7 @@ libgrub_a_init.c: libgrub_a_init.lst $(top_srcdir)/geninit.sh + sh $(top_srcdir)/geninit.sh `cat $<` > $@ || (rm -f $@; exit 1) + + # For grub-fstest +-grub_fstest.pp: $(grub_fstest_SOURCES) ++grub_fstest.pp: config-util.h $(grub_fstest_SOURCES) + $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(grub_fstest_CPPFLAGS) $(CPPFLAGS) \ + -D'GRUB_MOD_INIT(x)=@MARKER@x@' $^ > $@ || (rm -f $@; exit 1) + +-- +2.37.1 + diff --git a/boot/grub2/grub2.hash b/boot/grub2/grub2.hash index 338fe5972..704733914 100644 --- a/boot/grub2/grub2.hash +++ b/boot/grub2/grub2.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 e5292496995ad42dabe843a0192cf2a2c502e7ffcc7479398232b10a472df77d grub-2.04.tar.xz -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 e5292496995ad42dabe843a0192cf2a2c502e7ffcc7479398232b10a472df77d grub-2.04.tar.xz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/boot/grub2/grub2.mk b/boot/grub2/grub2.mk index d93e38342..59cc1c235 100644 --- a/boot/grub2/grub2.mk +++ b/boot/grub2/grub2.mk @@ -49,6 +49,8 @@ GRUB2_IGNORE_CVES += CVE-2019-14865 # grub_linuxefi_secure_validate() is not implemented in the grub2 # version available in Buildroot. GRUB2_IGNORE_CVES += CVE-2020-15705 +# vulnerability is specific to the SUSE distribution +GRUB2_IGNORE_CVES += CVE-2021-46705 ifeq ($(BR2_TARGET_GRUB2_INSTALL_TOOLS),y) GRUB2_INSTALL_TARGET = YES diff --git a/boot/mv-ddr-marvell/0001-Makefile-disable-stack-protection.patch b/boot/mv-ddr-marvell/0001-Makefile-disable-stack-protection.patch new file mode 100644 index 000000000..62b100072 --- /dev/null +++ b/boot/mv-ddr-marvell/0001-Makefile-disable-stack-protection.patch @@ -0,0 +1,34 @@ +From 53e34e3bff26fcbb7cc14178fa9fc80e7a73d556 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 11 Oct 2022 16:34:44 +0300 +Subject: [PATCH] Makefile: disable stack protection + +The Buildroot toolchain might enable stack protection by default. That +breaks linking because ATF does not provide the required __stack_chk +routines. + +The mv-ddr-marvell Makefile provides no way to add custom CFLAGS. Patch +Makefile to disable stack protection. + +Signed-off-by: Baruch Siach +--- +Upstream status: not applicable; Buildroot specific +--- + Makefile | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile b/Makefile +index 3f0dd89a7381..feae75cc16e4 100644 +--- a/Makefile ++++ b/Makefile +@@ -331,6 +331,7 @@ OBJ_DIR ?= $(MV_DDR_ROOT) + CFLAGS = -DMV_DDR_ATF -DCONFIG_DDR4 + CFLAGS += -Wall -Werror -Os -ffreestanding -mlittle-endian -g -gdwarf-2 -nostdinc + CFLAGS += -march=armv8-a -fpie ++CFLAGS += -fno-stack-protector + + # PLATFORM is set in ble/ble.mk + ifneq ($(findstring a80x0,$(PLATFORM)),) +-- +2.35.1 + diff --git a/boot/mv-ddr-marvell/mv-ddr-marvell.hash b/boot/mv-ddr-marvell/mv-ddr-marvell.hash index 5bfae8af4..75e87d833 100644 --- a/boot/mv-ddr-marvell/mv-ddr-marvell.hash +++ b/boot/mv-ddr-marvell/mv-ddr-marvell.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 bfab74a625d65238c569b9df282b55c0fc9a1e2d3decedcf194d44774df2ede4 mv-ddr-marvell-305d923e6bc4236cd3b902f6679b0aef9e5fa52d.tar.gz -sha256 48bb930b6fbc3f5db72e29c849b096df3868e4a6d2bdc0e2dd3365c768241cd5 ddr3_init.c +sha256 16f02232e21a15979b3d9971e28f7e59562484a5c1f99c2b28c248a3b76a63fa mv-ddr-marvell-d5acc10c287e40cc2feeb28710b92e45c93c702c.tar.gz +sha256 907a03943ca940790e97620aca8d46b5b04c653dcf2ab6c66a25238b60cf5635 ddr3_init.c diff --git a/boot/mv-ddr-marvell/mv-ddr-marvell.mk b/boot/mv-ddr-marvell/mv-ddr-marvell.mk index 442b6aed5..e05192fe9 100644 --- a/boot/mv-ddr-marvell/mv-ddr-marvell.mk +++ b/boot/mv-ddr-marvell/mv-ddr-marvell.mk @@ -4,8 +4,8 @@ # ################################################################################ -# This is the latest commit on mv-ddr-devel as of 20201207 -MV_DDR_MARVELL_VERSION = 305d923e6bc4236cd3b902f6679b0aef9e5fa52d +# This is the latest commit on mv-ddr-devel as of 20220529 +MV_DDR_MARVELL_VERSION = d5acc10c287e40cc2feeb28710b92e45c93c702c MV_DDR_MARVELL_SITE = $(call github,MarvellEmbeddedProcessors,mv-ddr-marvell,$(MV_DDR_MARVELL_VERSION)) MV_DDR_MARVELL_LICENSE = GPL-2.0+ or LGPL-2.1 with freertos-exception-2.0, BSD-3-Clause, Marvell Commercial MV_DDR_MARVELL_LICENSE_FILES = ddr3_init.c diff --git a/boot/mxs-bootlets/Config.in b/boot/mxs-bootlets/Config.in index b3e392afa..8f9334b61 100644 --- a/boot/mxs-bootlets/Config.in +++ b/boot/mxs-bootlets/Config.in @@ -1,6 +1,8 @@ config BR2_TARGET_MXS_BOOTLETS bool "mxs-bootlets" depends on BR2_arm + depends on BR2_TARGET_BAREBOX || BR2_LINUX_KERNEL || \ + BR2_TARGET_UBOOT help Stage1 bootloaders for Freescale iMX23/iMX28 SoCs diff --git a/boot/opensbi/opensbi.mk b/boot/opensbi/opensbi.mk index 8e055633a..c99dc8f67 100644 --- a/boot/opensbi/opensbi.mk +++ b/boot/opensbi/opensbi.mk @@ -70,6 +70,7 @@ OPENSBI_INSTALL_IMAGES = YES OPENSBI_FW_IMAGES += payload endif +ifneq ($(OPENSBI_PLAT),) define OPENSBI_INSTALL_IMAGES_CMDS $(foreach f,$(OPENSBI_FW_IMAGES),\ $(INSTALL) -m 0644 -D $(@D)/build/platform/$(OPENSBI_PLAT)/firmware/fw_$(f).bin \ @@ -78,6 +79,7 @@ define OPENSBI_INSTALL_IMAGES_CMDS $(BINARIES_DIR)/fw_$(f).elf ) endef +endif # libsbi.a is not a library meant to be linked in user-space code, but # with bare metal code, which is why we don't install it in diff --git a/boot/optee-os/Config.in b/boot/optee-os/Config.in index 097457848..ea16550b7 100644 --- a/boot/optee-os/Config.in +++ b/boot/optee-os/Config.in @@ -54,6 +54,13 @@ config BR2_TARGET_OPTEE_OS_VERSION default BR2_TARGET_OPTEE_OS_CUSTOM_REPO_VERSION \ if BR2_TARGET_OPTEE_OS_CUSTOM_GIT +config BR2_TARGET_OPTEE_OS_NEEDS_DTC + bool "OP-TEE OS needs dtc" + select BR2_PACKAGE_HOST_DTC + help + Select this option if your OP-TEE OS platform configuration + requires the Device Tree compiler to be available. + config BR2_TARGET_OPTEE_OS_CORE bool "Build core" default y diff --git a/boot/optee-os/optee-os.hash b/boot/optee-os/optee-os.hash index 3c32e25b3..0690ab29e 100644 --- a/boot/optee-os/optee-os.hash +++ b/boot/optee-os/optee-os.hash @@ -1,4 +1,4 @@ # From https://github.com/OP-TEE/optee_os/archive/3.15.0/optee-os-3.15.0.tar.gz -sha256 e5bb3d9eedaf7785af091602addac5b52118f4cdc108af9cd6f6c96b21503ab8 optee-os-3.15.0.tar.gz +sha256 e5bb3d9eedaf7785af091602addac5b52118f4cdc108af9cd6f6c96b21503ab8 optee-os-3.15.0.tar.gz # Locally computed -sha256 1247ee90858f4037b6cac63cbffddfed435d0d73c631b37d78c1e6e6ab3e5d1a LICENSE +sha256 1247ee90858f4037b6cac63cbffddfed435d0d73c631b37d78c1e6e6ab3e5d1a LICENSE diff --git a/boot/optee-os/optee-os.mk b/boot/optee-os/optee-os.mk index 166b5e693..9f76d8450 100644 --- a/boot/optee-os/optee-os.mk +++ b/boot/optee-os/optee-os.mk @@ -23,6 +23,10 @@ endif OPTEE_OS_DEPENDENCIES = host-openssl host-python3 host-python-pycryptodomex host-python-pyelftools +ifeq ($(BR2_TARGET_OPTEE_OS_NEEDS_DTC),y) +OPTEE_OS_DEPENDENCIES += host-dtc +endif + # On 64bit targets, OP-TEE OS can be built in 32bit mode, or # can be built in 64bit mode and support 32bit and 64bit # trusted applications. Since buildroot currently references diff --git a/boot/s500-bootloader/s500-bootloader.hash b/boot/s500-bootloader/s500-bootloader.hash index d538f23b2..2ebd933e5 100644 --- a/boot/s500-bootloader/s500-bootloader.hash +++ b/boot/s500-bootloader/s500-bootloader.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 b183024ac69f51ea7befd28d03b2ec35a7280e270405600fb4f37aa91d9c9571 s500-bootloader-a8d7fa1d9a7f353ec4613febf30f4ca99a10a106.tar.gz +sha256 b183024ac69f51ea7befd28d03b2ec35a7280e270405600fb4f37aa91d9c9571 s500-bootloader-a8d7fa1d9a7f353ec4613febf30f4ca99a10a106.tar.gz diff --git a/boot/shim/Config.in b/boot/shim/Config.in index 2f74d6f33..462ef12d6 100644 --- a/boot/shim/Config.in +++ b/boot/shim/Config.in @@ -1,7 +1,15 @@ -config BR2_TARGET_SHIM - bool "shim" +config BR2_PACKAGE_SHIM_ARCH_SUPPORTS + bool + default y if BR2_aarch64 + default y if BR2_arm + default y if BR2_i386 + default y if BR2_x86_64 # it includes gnu-efi depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS + +config BR2_TARGET_SHIM + bool "shim" + depends on BR2_PACKAGE_SHIM_ARCH_SUPPORTS help Boot loader to chain-load signed boot loaders under Secure Boot. diff --git a/boot/shim/shim.hash b/boot/shim/shim.hash index 15c763abc..a0a9f06f3 100644 --- a/boot/shim/shim.hash +++ b/boot/shim/shim.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 8344473dd10569588b8238a4656b8fab226714eea9f5363f8c410aa8a5090297 shim-15.4.tar.bz2 -sha256 15edf527919ddcb2f514ab9d16ad07ef219e4bb490e0b79560be510f0c159cc2 COPYRIGHT +sha256 8344473dd10569588b8238a4656b8fab226714eea9f5363f8c410aa8a5090297 shim-15.4.tar.bz2 +sha256 15edf527919ddcb2f514ab9d16ad07ef219e4bb490e0b79560be510f0c159cc2 COPYRIGHT diff --git a/boot/sun20i-d1-spl/sun20i-d1-spl.hash b/boot/sun20i-d1-spl/sun20i-d1-spl.hash index 6ca60e527..11d17a9a1 100644 --- a/boot/sun20i-d1-spl/sun20i-d1-spl.hash +++ b/boot/sun20i-d1-spl/sun20i-d1-spl.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 69063601239a7254fb72e486b138d88a6f2b5c645b24cdfe9792123f975d4a8f sun20i-d1-spl-771192d0b3737798d7feca87263c8fa74a449787.tar.gz +sha256 08e2d0574e58c99734cd1d9ea89b86464242bf2db4f6769b23803bf9dcdac3c4 sun20i-d1-spl-882671fcf53137aaafc3a94fa32e682cb7b921f1.tar.gz diff --git a/boot/sun20i-d1-spl/sun20i-d1-spl.mk b/boot/sun20i-d1-spl/sun20i-d1-spl.mk index 2462ce232..6bcea0fa9 100644 --- a/boot/sun20i-d1-spl/sun20i-d1-spl.mk +++ b/boot/sun20i-d1-spl/sun20i-d1-spl.mk @@ -5,7 +5,7 @@ ################################################################################ # Commit on the 'mainline' branch -SUN20I_D1_SPL_VERSION = 771192d0b3737798d7feca87263c8fa74a449787 +SUN20I_D1_SPL_VERSION = 882671fcf53137aaafc3a94fa32e682cb7b921f1 SUN20I_D1_SPL_SITE = $(call github,smaeul,sun20i_d1_spl,$(SUN20I_D1_SPL_VERSION)) SUN20I_D1_SPL_INSTALL_TARGET = NO SUN20I_D1_SPL_INSTALL_IMAGES = YES diff --git a/boot/syslinux/syslinux.mk b/boot/syslinux/syslinux.mk index 2df415fcf..cc52c49ae 100644 --- a/boot/syslinux/syslinux.mk +++ b/boot/syslinux/syslinux.mk @@ -58,6 +58,8 @@ SYSLINUX_POST_PATCH_HOOKS += SYSLINUX_CLEANUP # be used. define SYSLINUX_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE1) \ + ASCIIDOC_OK=-1 \ + A2X_XML_OK=-1 \ CC="$(TARGET_CC)" \ LD="$(TARGET_LD)" \ OBJCOPY="$(TARGET_OBJCOPY)" \ diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in index 953c36135..3fe2a94ff 100644 --- a/boot/uboot/Config.in +++ b/boot/uboot/Config.in @@ -414,7 +414,6 @@ endif config BR2_TARGET_UBOOT_SPL bool "Install U-Boot SPL binary image" - depends on !BR2_TARGET_XLOADER help Install the U-Boot SPL binary image to the images directory. diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk index cb26fc8d3..d5a3e607a 100644 --- a/boot/uboot/uboot.mk +++ b/boot/uboot/uboot.mk @@ -383,9 +383,13 @@ UBOOT_ZYNQMP_PMUFW_PATH = $(UBOOT_DL_DIR)/$(notdir $(UBOOT_ZYNQMP_PMUFW)) else ifneq ($(UBOOT_ZYNQMP_PMUFW),) UBOOT_ZYNQMP_PMUFW_PATH = $(shell readlink -f $(UBOOT_ZYNQMP_PMUFW)) endif +UBOOT_ZYNQMP_PMUFW_BASENAME = $(basename $(UBOOT_ZYNQMP_PMUFW_PATH)) define UBOOT_ZYNQMP_KCONFIG_PMUFW - $(call KCONFIG_SET_OPT,CONFIG_PMUFW_INIT_FILE,"$(UBOOT_ZYNQMP_PMUFW_PATH)") + $(if $(filter %.elf,$(UBOOT_ZYNQMP_PMUFW_PATH)), + objcopy -O binary -I elf32-little $(UBOOT_ZYNQMP_PMUFW_BASENAME).elf $(UBOOT_ZYNQMP_PMUFW_BASENAME).bin + $(call KCONFIG_SET_OPT,CONFIG_PMUFW_INIT_FILE,"$(UBOOT_ZYNQMP_PMUFW_BASENAME).bin"), + $(call KCONFIG_SET_OPT,CONFIG_PMUFW_INIT_FILE,"$(UBOOT_ZYNQMP_PMUFW_PATH)")) endef UBOOT_ZYNQMP_PM_CFG = $(call qstrip,$(BR2_TARGET_UBOOT_ZYNQMP_PM_CFG)) diff --git a/docs/manual/adding-packages-hooks.txt b/docs/manual/adding-packages-hooks.txt index 0ce79f890..741b71ca2 100644 --- a/docs/manual/adding-packages-hooks.txt +++ b/docs/manual/adding-packages-hooks.txt @@ -46,6 +46,8 @@ The following hook points are available: * +LIBFOO_PRE_LEGAL_INFO_HOOKS+ * +LIBFOO_POST_LEGAL_INFO_HOOKS+ +* +LIBFOO_TARGET_FINALIZE_HOOKS+ + 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: diff --git a/docs/manual/common-usage.txt b/docs/manual/common-usage.txt index 9ba87a833..b60b6d7f5 100644 --- a/docs/manual/common-usage.txt +++ b/docs/manual/common-usage.txt @@ -30,13 +30,13 @@ the Linux kernel. To use it, add +O=+ to the make command line: -------------------- - $ make O=/tmp/build + $ make O=/tmp/build menuconfig -------------------- Or: -------------------- - $ cd /tmp/build; make O=$PWD -C path/to/buildroot + $ cd /tmp/build; make O=$PWD -C path/to/buildroot menuconfig -------------------- All the output files will be located under +/tmp/build+. If the +O+ diff --git a/docs/manual/contribute.txt b/docs/manual/contribute.txt index bf2aed6b5..e588c69be 100644 --- a/docs/manual/contribute.txt +++ b/docs/manual/contribute.txt @@ -418,7 +418,8 @@ editing the commit message. Below the +Signed-off-by+ section, add +---+ and your changelog. Although the changelog will be visible for the reviewers in the mail -thread, as well as in http://patchwork.buildroot.org[patchwork], +git+ +thread, as well as in +https://patchwork.ozlabs.org/project/buildroot/list/[patchwork], +git+ will automatically ignores lines below +---+ when the patch will be merged. This is the intended behavior: the changelog is not meant to be preserved forever in the +git+ history of the project. @@ -470,19 +471,22 @@ $ 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 http://patchwork.buildroot.org[patchwork]. You need to -create an account on http://patchwork.buildroot.org[patchwork] to be +superseded in +https://patchwork.ozlabs.org/project/buildroot/list/[patchwork]. You +need to create an account on +https://patchwork.ozlabs.org/project/buildroot/list/[patchwork] to be able to modify the status of your patches. Note that you can only change the status of patches you submitted yourself, which means the email -address you register in http://patchwork.buildroot.org[patchwork] should +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 submitting a patch to the mailing list. The id of the mail to reply to can be found under the "Message Id" tag on -http://patchwork.buildroot.org[patchwork]. The advantage of -*in-reply-to* is that patchwork will automatically mark the previous -version of the patch as superseded. +https://patchwork.ozlabs.org/project/buildroot/list/[patchwork]. The +advantage of *in-reply-to* is that patchwork will automatically mark +the previous version of the patch as superseded. [[reporting-bugs]] === Reporting issues/bugs or getting help diff --git a/docs/manual/customize-configuration.txt b/docs/manual/customize-configuration.txt index ae6cebe6c..fa8f45467 100644 --- a/docs/manual/customize-configuration.txt +++ b/docs/manual/customize-configuration.txt @@ -15,8 +15,8 @@ make with +make savedefconfig BR2_DEFCONFIG=+. The recommended place to store this defconfig is +configs/_defconfig+. If you follow this recommendation, the -configuration will be listed in +make help+ and can be set again by -running +make _defconfig+. +configuration will be listed in +make list-defconfigs+ and can be set +again by running +make _defconfig+. Alternatively, you can copy the file to any other place and rebuild with +make defconfig BR2_DEFCONFIG=+. diff --git a/docs/manual/customize-directory-structure.txt b/docs/manual/customize-directory-structure.txt index a3a7ad4cb..1249421da 100644 --- a/docs/manual/customize-directory-structure.txt +++ b/docs/manual/customize-directory-structure.txt @@ -27,10 +27,10 @@ to you. | +-- post_image.sh | +-- rootfs_overlay/ | | +-- etc/ -| | +-- +| | +-- | +-- patches/ | +-- foo/ -| | +-- +| | +-- | +-- libbar/ | +-- | diff --git a/docs/manual/faq-troubleshooting.txt b/docs/manual/faq-troubleshooting.txt index 5adf3fa6c..b08bf9bc4 100644 --- a/docs/manual/faq-troubleshooting.txt +++ b/docs/manual/faq-troubleshooting.txt @@ -45,7 +45,7 @@ distribution_ and you should opt for something like: * http://www.openembedded.org[openembedded] * https://www.yoctoproject.org[yocto] -* http://www.emdebian.org[emdebian] +* https://www.debian.org/ports/[Debian] * https://fedoraproject.org/wiki/Architectures[Fedora] * http://en.opensuse.org/Portal:ARM[openSUSE ARM] * http://archlinuxarm.org[Arch Linux ARM] diff --git a/docs/manual/makeusers-syntax.txt b/docs/manual/makeusers-syntax.txt index 3d1013f44..0a955970b 100644 --- a/docs/manual/makeusers-syntax.txt +++ b/docs/manual/makeusers-syntax.txt @@ -90,3 +90,16 @@ This will create this user: - +shell+ is: +/bin/sh+ - +test+ is not a member of any additional +groups+ - +comment+ is: +Test user+ + + +=== Caveat with automatic UIDs and GIDs + +When updating buildroot or when packages are added or removed to/from +the configuration, it is possible that the automatic UIDs and GIDs are +changed. This can be a problem if persistent files were created with +that user or group: after upgrade, they will suddenly have a different +owner. + +Therefore, it is advisable to perpetuate the automatic IDs. This can be +done by adding a users table with the generated IDs. It is only needed +to do this for UIDs that actually create persistent files, e.g. database. diff --git a/docs/manual/patch-policy.txt b/docs/manual/patch-policy.txt index e704a0d3f..063ef984d 100644 --- a/docs/manual/patch-policy.txt +++ b/docs/manual/patch-policy.txt @@ -44,6 +44,11 @@ These patch files should be named +-.patch+. - The field ++ in the patch file name refers to the 'apply order', and shall start at 1; It is preferred to pad the number with zeros up to 4 digits, like 'git-format-patch' does. E.g.: +0001-foobar-the-buz.patch+ +- The patch email subject prefix shall not be numbered. Patches shall + be generated with the +git format-patch -N+ command, since this + numbering is automatically added for series. For example, the patch + subject line should look like +Subject: [PATCH] foobar the buz+ rather + than +Subject: [PATCH n/m] foobar the buz+. - Previously, it was mandatory for patches to be prefixed with the name of the package, like +--.patch+, but that is no longer the case. Existing packages will be fixed as time passes. 'Do diff --git a/docs/manual/prerequisite.txt b/docs/manual/prerequisite.txt index 40071491f..48be489f9 100644 --- a/docs/manual/prerequisite.txt +++ b/docs/manual/prerequisite.txt @@ -23,6 +23,7 @@ between distributions). ** +make+ (version 3.81 or any later) ** +binutils+ ** +build-essential+ (only for Debian based systems) +** +diffutils+ ** +gcc+ (version 4.8 or any later) ** `g++` (version 4.8 or any later) ** +bash+ @@ -36,6 +37,7 @@ between distributions). ** +rsync+ ** +file+ (must be in +/usr/bin/file+) ** +bc+ +** +findutils+ * Source fetching tools: ** +wget+ diff --git a/docs/manual/resources.txt b/docs/manual/resources.txt index e90a49b2a..68b7eb906 100644 --- a/docs/manual/resources.txt +++ b/docs/manual/resources.txt @@ -68,4 +68,4 @@ review comments in a clean and concise web interface, it can be useful for all Buildroot developers. + The Buildroot patch management interface is available at -http://patchwork.buildroot.org[]. +https://patchwork.ozlabs.org/project/buildroot/list/[]. diff --git a/fs/common.mk b/fs/common.mk index ddbb4a748..24555c0a1 100644 --- a/fs/common.mk +++ b/fs/common.mk @@ -186,7 +186,8 @@ $$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME): $$(ROOTFS_$(2)_DEPENDENCIES) $$(foreach hook,$$(ROOTFS_$(2)_PRE_GEN_HOOKS),\ $$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep)) - echo "rm -rf $$(TARGET_DIR)/run/* $$(TARGET_DIR)/run/.[^.]* $$(TARGET_DIR)/tmp/* $$(TARGET_DIR)/tmp/.[^.]*" >> $$(FAKEROOT_SCRIPT) + echo "find $$(TARGET_DIR)/run/ -mindepth 1 -prune -print0 | xargs -0r rm -rf --" >> $$(FAKEROOT_SCRIPT) + echo "find $$(TARGET_DIR)/tmp/ -mindepth 1 -prune -print0 | xargs -0r rm -rf --" >> $$(FAKEROOT_SCRIPT) $$(call PRINTF,$$(ROOTFS_REPRODUCIBLE)) >> $$(FAKEROOT_SCRIPT) $$(call PRINTF,$$(ROOTFS_SELINUX)) >> $$(FAKEROOT_SCRIPT) $$(call PRINTF,$$(ROOTFS_$(2)_CMD)) >> $$(FAKEROOT_SCRIPT) diff --git a/fs/erofs/erofs.mk b/fs/erofs/erofs.mk index 0e9d4401a..e43d74927 100644 --- a/fs/erofs/erofs.mk +++ b/fs/erofs/erofs.mk @@ -10,6 +10,12 @@ ifeq ($(BR2_TARGET_ROOTFS_EROFS_LZ4HC),y) ROOTFS_EROFS_ARGS += -zlz4hc endif +ifeq ($(BR2_REPRODUCIBLE),y) +ROOTFS_EROFS_ARGS += \ + -T $(SOURCE_DATE_EPOCH) \ + -U 00000000-0000-0000-0000-000000000000 +endif + ifneq ($(BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE),0) ROOTFS_EROFS_ARGS += -C$(strip $(BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE)) endif diff --git a/fs/oci/Config.in b/fs/oci/Config.in index 176785810..5e7aff282 100644 --- a/fs/oci/Config.in +++ b/fs/oci/Config.in @@ -1,5 +1,6 @@ config BR2_TARGET_ROOTFS_OCI bool "oci image" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS help Build an OCI (Open Container Initiative) image. @@ -41,10 +42,26 @@ config BR2_TARGET_ROOTFS_OCI_ENTRYPOINT help Command to execute when the container starts. -config BR2_TARGET_ROOTFS_OCI_ENTRYPOINT_ARGS - string "entrypoint arguments" + Spaces must be quoted or escaped, like for a shell string: + /usr/bin/env sh -c + /bin/my-init --some-option "1 2 3 4" some\ arg -- + + See the Docker documentation on how entrypoint and command + interact together: + https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact + +config BR2_TARGET_ROOTFS_OCI_CMD + string "command (or entrypoint arguments)" help - Default arguments to the entrypoint of the container. + Default command, or entrypoint arguments, of the container. + + Spaces must be quoted or escaped, like for a shell string: + "your shell scriptlet" + /usr/bin/env sh + + See the Docker documentation on how entrypoint and command + interact together: + https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact config BR2_TARGET_ROOTFS_OCI_WORKDIR string "working directory" diff --git a/fs/oci/oci.mk b/fs/oci/oci.mk index aa81920d3..4458cf8ef 100644 --- a/fs/oci/oci.mk +++ b/fs/oci/oci.mk @@ -12,17 +12,23 @@ OCI_SLOCI_IMAGE_OPTS = --arch $(GO_GOARCH) # architecture variant (typically used only for arm) OCI_SLOCI_IMAGE_OPTS += $(and $(GO_GOARM),--arch-variant v$(GO_GOARM)) -# entrypoint -OCI_ENTRYPOINT = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_ENTRYPOINT)) -ifneq ($(OCI_ENTRYPOINT),) -OCI_SLOCI_IMAGE_OPTS += --entrypoint "$(OCI_ENTRYPOINT)" -endif - -# entrypoint arguments -OCI_ENTRYPOINT_ARGS = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_ENTRYPOINT_ARGS)) -ifneq ($(OCI_ENTRYPOINT_ARGS),) -OCI_SLOCI_IMAGE_OPTS += --cmd "$(OCI_ENTRYPOINT_ARGS)" -endif +# entrypoint and command +# Special treatment: both the entrypoint and arguments (aka command) are +# a double-quoted, space-separated, escaped-double-quoted string, like: +# "foo \"1 2 3 4\" ' a b c d ' bar\ buz" +# which should be interpreted as a 4-item list (using single quotes to +# delimit them and see leading/trailing spaces): +# 'foo' +# '1 2 3 4' +# ' a b c d ' +# 'bar buz' +# +# We use some trickery to have the shell properly expand this into a list +# where each item is single-quoted and prefixed with the appropriate +# option string: +OCI_SLOCI_IMAGE_OPTS += \ + $(shell eval printf -- "--entrypoint\ \'%s\'\ " $(BR2_TARGET_ROOTFS_OCI_ENTRYPOINT)) \ + $(shell eval printf -- "--cmd\ \'%s\'\ " $(BR2_TARGET_ROOTFS_OCI_CMD)) # author OCI_AUTHOR = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_AUTHOR)) diff --git a/linux/Config.ext.in b/linux/Config.ext.in index 734a52a53..5b968b0bc 100644 --- a/linux/Config.ext.in +++ b/linux/Config.ext.in @@ -48,6 +48,9 @@ comment "xenomai needs a uClibc or glibc toolchain w/ threads" # RTAI config BR2_LINUX_KERNEL_EXT_RTAI bool "RTAI Real-time patch" + depends on !BR2_LINUX_KERNEL_LATEST_VERSION + depends on !BR2_LINUX_KERNEL_LATEST_CIP_VERSION + depends on !BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION select BR2_PACKAGE_RTAI help RTAI Kernel part. diff --git a/linux/Config.in b/linux/Config.in index f4a596550..fb8579172 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -29,9 +29,11 @@ choice config BR2_LINUX_KERNEL_LATEST_VERSION bool "Latest version (5.15)" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_15 if BR2_KERNEL_HEADERS_AS_KERNEL config BR2_LINUX_KERNEL_LATEST_CIP_VERSION - bool "Latest CIP SLTS version (5.10.100-cip2)" + bool "Latest CIP SLTS version (5.10.115-cip7)" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 if BR2_KERNEL_HEADERS_AS_KERNEL help CIP launched in the spring of 2016 to address the needs of organizations in industries such as power generation and @@ -50,7 +52,8 @@ config BR2_LINUX_KERNEL_LATEST_CIP_VERSION https://www.cip-project.org config BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION - bool "Latest CIP RT SLTS version (5.10.100-cip2-rt2)" + bool "Latest CIP RT SLTS version (5.10.109-cip5-rt4)" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 if BR2_KERNEL_HEADERS_AS_KERNEL help Same as the CIP version, but this is the PREEMPT_RT realtime variant. @@ -125,9 +128,9 @@ endif config BR2_LINUX_KERNEL_VERSION string - default "5.15.26" if BR2_LINUX_KERNEL_LATEST_VERSION - default "5.10.100-cip2" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION - default "5.10.100-cip2-rt2" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION + default "5.15.109" if BR2_LINUX_KERNEL_LATEST_VERSION + default "5.10.115-cip7" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION + default "5.10.109-cip5-rt4" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \ if BR2_LINUX_KERNEL_CUSTOM_VERSION default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL @@ -261,11 +264,11 @@ config BR2_LINUX_KERNEL_SIMPLEIMAGE config BR2_LINUX_KERNEL_IMAGE bool "Image" - depends on BR2_aarch64 || BR2_riscv + depends on BR2_aarch64 || BR2_aarch64_be || BR2_riscv config BR2_LINUX_KERNEL_IMAGEGZ bool "Image.gz" - depends on BR2_aarch64 || BR2_riscv + depends on BR2_aarch64 || BR2_aarch64_be || BR2_riscv config BR2_LINUX_KERNEL_LINUX_BIN bool "linux.bin" diff --git a/linux/linux.hash b/linux/linux.hash index bcb52aed8..451e0fbb5 100644 --- a/linux/linux.hash +++ b/linux/linux.hash @@ -1,17 +1,16 @@ # From https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc -sha256 bb5a1df15a10a715807a44872ff4fe775337aae445285181f1d1ba0c78b1d7f2 linux-5.16.12.tar.xz -sha256 58122134f2613fcbb200bb2399ef2117852166a8e11eed4b632a86b20b6bbe3a linux-5.15.26.tar.xz -sha256 4fb8ad55e6430342e4fbc94d54e594e9be8eb6a8bea1d71eccf835948d08580a linux-5.10.103.tar.xz -sha256 b2f1201f64f010e9e3c85d6f303a559a7944a80a0244a86b8f5035bd23f1f40d linux-5.4.182.tar.xz +sha256 d8060dc88f862baaae66b42a2dbc12298ed667c698eb5c55617a7786ee47bf25 linux-5.16.20.tar.xz +sha256 066c4bbcbe3c480068a2e302f52b1708f340ecaaf633ec43d7f791bbeac5771a linux-5.15.109.tar.xz +sha256 1bbd445c154b053eea46acc883be548a98179988a9ed3a0b81bddfbf30a37e29 linux-5.10.179.tar.xz +sha256 142f9aed1c9f2e409dd72c5c490ad824dddf31f955ed2097d5989c4b5074fc28 linux-5.4.242.tar.xz # From https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc sha256 35017bb40b604e0b577fc2b87e727632b46608a2ba3a4f5858b9177f58f376b3 linux-4.4.302.tar.xz -sha256 295e4bb3ba3244a9f4c48139ad13f78145f3e6402e11aa25b20aadb9ae9f2b25 linux-4.9.304.tar.xz -sha256 03a65f405c3acae4dd8cd952444b7cd931f972c01a42e20a471319a2f6c018d2 linux-4.14.269.tar.xz -sha256 4fcfe814780d63dc56e907bf41596ff162e9601978bdc1a60eab64cc3903a22c linux-4.19.232.tar.xz +sha256 5385aaec55c766e3f462511453f5c63d7898b2d0e9ea74f22a23ebbedab0b3c6 linux-4.9.337.tar.xz +sha256 876c01f0d12ad0147b5c9ee2de919bedc7ffb7c2714dbfb7ccf44426f6f49153 linux-4.14.314.tar.xz +sha256 43a514997d3a9052b765a9e1c8fbf7f5a810771937f8754a529ed09e0e02e20b linux-4.19.282.tar.xz # Locally computed -sha256 e90e8100bf44cdd6714bca3b9b1f78694c99bfa9bdff761de06b192dfb230831 linux-cip-5.10.100-cip2.tar.gz -sha256 945b63f280c5bd9aad66016ef6fbed57612864192bc0f54f6800562f56cfd518 linux-cip-5.10.100-cip2-rt2.tar.gz -sha256 22a2345f656b0624790dcbb4b5884827c915aef00986052fd8d9677b9ee6b50e linux-4.19.tar.gz +sha256 f3559be277be9200897022282be18cfc0278d1d8baec8058305b04b9cd72002a linux-cip-5.10.115-cip7.tar.gz +sha256 71fba4ed5cb48fa7869e9fe271b68b77fed26775ce5cf2f50891aa8f71c388b3 linux-cip-5.10.109-cip5-rt4.tar.gz # Licenses hashes sha256 fb5a425bd3b3cd6071a3a9aff9909a859e7c1158d54d32e07658398cd67eb6a0 COPYING diff --git a/linux/linux.mk b/linux/linux.mk index bfc3468dd..53d14219e 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -70,9 +70,14 @@ LINUX_MAKE_ENV = \ BR_BINARIES_DIR=$(BINARIES_DIR) LINUX_INSTALL_IMAGES = YES -LINUX_DEPENDENCIES = host-kmod \ +LINUX_DEPENDENCIES = host-kmod + +# The kernel CONFIG_EXTRA_FIRMWARE feature requires firmware files at build +# time. Make sure they are available before the kernel builds. +LINUX_DEPENDENCIES += \ $(if $(BR2_PACKAGE_INTEL_MICROCODE),intel-microcode) \ $(if $(BR2_PACKAGE_LINUX_FIRMWARE),linux-firmware) \ + $(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 @@ -142,11 +147,15 @@ endif # We don't want to run depmod after installing the kernel. It's done in a # target-finalize hook, to encompass modules installed by packages. +# Disable building host tools with -Werror: newer gcc versions can be +# extra picky about some code (https://bugs.busybox.net/show_bug.cgi?id=14826) LINUX_MAKE_FLAGS = \ HOSTCC="$(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS)" \ ARCH=$(KERNEL_ARCH) \ INSTALL_MOD_PATH=$(TARGET_DIR) \ CROSS_COMPILE="$(TARGET_CROSS)" \ + WERROR=0 \ + REGENERATE_PARSERS=1 \ DEPMOD=$(HOST_DIR)/sbin/depmod ifeq ($(BR2_REPRODUCIBLE),y) @@ -154,7 +163,7 @@ LINUX_MAKE_ENV += \ KBUILD_BUILD_VERSION=1 \ KBUILD_BUILD_USER=buildroot \ KBUILD_BUILD_HOST=buildroot \ - KBUILD_BUILD_TIMESTAMP="$(shell LC_ALL=C date -d @$(SOURCE_DATE_EPOCH))" + KBUILD_BUILD_TIMESTAMP="$(shell LC_ALL=C TZ='UTC' date -d @$(SOURCE_DATE_EPOCH))" endif # gcc-8 started warning about function aliases that have a @@ -278,6 +287,19 @@ define LINUX_DROP_YYLLOC endef LINUX_POST_PATCH_HOOKS += LINUX_DROP_YYLLOC +# Kernel version < 5.6 breaks if host-gcc version is >= 10 and +# 'yylloc' symbol is removed in previous hook, due to missing +# '%locations' bison directive in dtc-parser.y. See: +# https://bugs.busybox.net/show_bug.cgi?id=14971 +define LINUX_ADD_DTC_LOCATIONS + $(Q)DTC_PARSER=$(@D)/scripts/dtc/dtc-parser.y; \ + if test -e "$${DTC_PARSER}" \ + && ! grep -Eq '^%locations$$' "$${DTC_PARSER}" ; then \ + $(SED) '/^%{$$/i %locations' "$${DTC_PARSER}"; \ + fi +endef +LINUX_POST_PATCH_HOOKS += LINUX_ADD_DTC_LOCATIONS + # Older linux kernels use deprecated perl constructs in timeconst.pl # that were removed for perl 5.22+ so it breaks on newer distributions # Try a dry-run patch to see if this applies, if it does go ahead @@ -302,7 +324,11 @@ endif ifeq ($(BR2_LINUX_KERNEL_USE_DEFCONFIG),y) 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 LINUX_KCONFIG_DEFCONFIG = defconfig +endif else ifeq ($(BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG),y) LINUX_KCONFIG_FILE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE)) endif @@ -589,6 +615,12 @@ endif ifeq ($(BR_BUILDING),y) +ifeq ($(BR2_LINUX_KERNEL_CUSTOM_VERSION),y) +ifeq ($(LINUX_VERSION),) +$(error No custom kernel version set. Check your BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE setting) +endif +endif + ifeq ($(BR2_LINUX_KERNEL_USE_DEFCONFIG),y) # We must use the user-supplied kconfig value, because # LINUX_KCONFIG_DEFCONFIG will at least contain the diff --git a/package/Config.in b/package/Config.in index dbfd9ba8a..624c68fc3 100644 --- a/package/Config.in +++ b/package/Config.in @@ -47,6 +47,8 @@ menu "Audio and video applications" source "package/omxplayer/Config.in" source "package/on2-8170-libs/Config.in" source "package/opus-tools/Config.in" + source "package/pipewire/Config.in" + source "package/pipewire-media-session/Config.in" source "package/pulseaudio/Config.in" source "package/sox/Config.in" source "package/squeezelite/Config.in" @@ -1564,8 +1566,6 @@ menu "Graphics" source "package/openjpeg/Config.in" source "package/pango/Config.in" source "package/pangomm/Config.in" - source "package/pipewire/Config.in" - source "package/pipewire-media-session/Config.in" source "package/pixman/Config.in" source "package/poppler/Config.in" source "package/powervr/Config.in" diff --git a/package/abootimg/abootimg.hash b/package/abootimg/abootimg.hash index 141db2686..33e74b893 100644 --- a/package/abootimg/abootimg.hash +++ b/package/abootimg/abootimg.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 f377da42a57d982cfc22fa75c5a69febdc3e4c1ef43cd0ceaec42e14067e2f37 abootimg-1ebeb393252ab5aeed62e34bc439b6728444f06e-br1.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE +sha256 f377da42a57d982cfc22fa75c5a69febdc3e4c1ef43cd0ceaec42e14067e2f37 abootimg-1ebeb393252ab5aeed62e34bc439b6728444f06e-br1.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/ace/0001-ACE-ace-SSL-SSL_Asynch_BIO.cpp-fix-build-with-libres.patch b/package/ace/0001-ACE-ace-SSL-SSL_Asynch_BIO.cpp-fix-build-with-libres.patch new file mode 100644 index 000000000..ad82c1017 --- /dev/null +++ b/package/ace/0001-ACE-ace-SSL-SSL_Asynch_BIO.cpp-fix-build-with-libres.patch @@ -0,0 +1,52 @@ +From e06cadc3b95a577e6a8bbc94f93dd063710c73a1 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 3 Apr 2022 15:25:49 +0200 +Subject: [PATCH] ACE/ace/SSL/SSL_Asynch_BIO.cpp: fix build with libressl + +Fix the following build failure with libressl: + +/home/autobuild/autobuild/instance-10/output-1/build/ace-7.0.6/ace/SSL/SSL_Asynch_BIO.cpp:174:7: error: 'BIO_get_init' was not declared in this scope; did you mean 'BIO_set_init'? + 174 | if (BIO_get_init(pBIO) == 0 || p_stream == 0 || buf == 0 || len <= 0) + | ^~~~~~~~~~~~ + | BIO_set_init + +Fixes: + - http://autobuild.buildroot.org/results/386afa88ac9e5e3bb65dddeabf610bb1e9bc4285 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/DOCGroup/ACE_TAO/commit/e06cadc3b95a577e6a8bbc94f93dd063710c73a1] +--- + ACE/ace/SSL/SSL_Asynch_BIO.cpp | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/ace/SSL/SSL_Asynch_BIO.cpp b/ace/SSL/SSL_Asynch_BIO.cpp +index a657d8a14e6f7..64aa14c6ab9a7 100644 +--- a/ace/SSL/SSL_Asynch_BIO.cpp ++++ b/ace/SSL/SSL_Asynch_BIO.cpp +@@ -41,7 +41,7 @@ extern "C" + + #define BIO_TYPE_ACE ( 21 | BIO_TYPE_SOURCE_SINK ) + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + static BIO_METHOD methods_ACE = + { + BIO_TYPE_ACE, // BIO_TYPE_PROXY_SERVER, +@@ -68,14 +68,14 @@ static BIO_METHOD methods_ACE = + #else + static BIO_METHOD* methods_ACE; + # define BIO_set_num(b, val) +-#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ ++#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) */ + + ACE_BEGIN_VERSIONED_NAMESPACE_DECL + + BIO * + ACE_SSL_make_BIO (void * ssl_asynch_stream) + { +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + BIO * const pBIO = BIO_new (&methods_ACE); + #else + if (!methods_ACE) diff --git a/package/ace/ace.hash b/package/ace/ace.hash index 92fd42e13..238792787 100644 --- a/package/ace/ace.hash +++ b/package/ace/ace.hash @@ -1,3 +1,6 @@ +# From https://download.dre.vanderbilt.edu/previous_versions/ACE-7.0.6.tar.bz2.md5: +md5 d1656851619aff15365270ccf2d56c6e ACE-7.0.6.tar.bz2 + # Locally Computed: -sha256 a28339750620c70cd29a8a7088a4bc6ebaf1ff7ba667498a0279ac97f0e32e01 ACE-7.0.1.tar.gz +sha256 4a0cd7da4851f769fddfcf33f663eba4afad824efeff9f59f134c4640ee80216 ACE-7.0.6.tar.bz2 sha256 687bf9d16119e0caf6fb5c18214928fd6ea0da10df91e906255b7613af8061d8 COPYING diff --git a/package/ace/ace.mk b/package/ace/ace.mk index 8df89d8c6..29555eea7 100644 --- a/package/ace/ace.mk +++ b/package/ace/ace.mk @@ -4,8 +4,8 @@ # ################################################################################ -ACE_VERSION = 7.0.1 -ACE_SOURCE = ACE-$(ACE_VERSION).tar.gz +ACE_VERSION = 7.0.6 +ACE_SOURCE = ACE-$(ACE_VERSION).tar.bz2 ACE_SITE = http://download.dre.vanderbilt.edu/previous_versions ACE_LICENSE = DOC ACE_LICENSE_FILES = COPYING @@ -15,14 +15,23 @@ ACE_CPE_ID_PRODUCT = adaptive_communication_environment # Note: We are excluding examples, apps and tests # Only compiling ACE libraries (no TAO) -ACE_LIBARIES = ace ACEXML Kokyu netsvcs protocols/ace +ACE_LIBRARIES = ace ACEXML Kokyu netsvcs protocols/ace +ACE_CPPFLAGS = $(TARGET_CPPFLAGS) -std=c++11 + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_101915),y) +ACE_CPPFLAGS += -O0 +endif + +# ACE uses DEFFLAGS as C++ pre-processor flags, and CCFLAGS as the C++ flags. +# Ace passes the pre-processor flags after the C++ flags, so we pass our +# C++ flags as pre-processor flags, via DEFFLAGS. ACE_MAKE_OPTS = \ ACE_ROOT="$(@D)" \ - DEFFLAGS="$(TARGET_CPPFLAGS) -std=c++11" + DEFFLAGS="$(ACE_CPPFLAGS)" ifeq ($(BR2_PACKAGE_OPENSSL),y) -ACE_LIBARIES += ace/SSL +ACE_LIBRARIES += ace/SSL ACE_DEPENDENCIES += openssl define ACE_CONFIGURE_SSL echo "ssl = 1" >> $(@D)/include/makeinclude/platform_macros.GNU @@ -42,25 +51,25 @@ define ACE_CONFIGURE_CMDS endef define ACE_BUILD_CMDS - $(foreach lib,$(ACE_LIBARIES), \ + $(foreach lib,$(ACE_LIBRARIES), \ $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/$(lib) \ $(ACE_MAKE_OPTS) all ) endef -define ACE_LIBARIES_INSTALL +define ACE_LIBRARIES_INSTALL mkdir -p $(1)/usr/share/ace - $(foreach lib,$(ACE_LIBARIES), \ + $(foreach lib,$(ACE_LIBRARIES), \ $(MAKE) -C $(@D)/$(lib) $(ACE_MAKE_OPTS) DESTDIR=$(1) install ) endef define ACE_INSTALL_TARGET_CMDS - $(call ACE_LIBARIES_INSTALL,$(TARGET_DIR)) + $(call ACE_LIBRARIES_INSTALL,$(TARGET_DIR)) endef define ACE_INSTALL_STAGING_CMDS - $(call ACE_LIBARIES_INSTALL,$(STAGING_DIR)) + $(call ACE_LIBRARIES_INSTALL,$(STAGING_DIR)) endef $(eval $(generic-package)) diff --git a/package/acpitool/acpitool.hash b/package/acpitool/acpitool.hash index b43bc374c..764c1bc68 100644 --- a/package/acpitool/acpitool.hash +++ b/package/acpitool/acpitool.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 004fb6cd43102918b6302cf537a2db7ceadda04aef2e0906ddf230f820dad34f acpitool-0.5.1.tar.bz2 -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 004fb6cd43102918b6302cf537a2db7ceadda04aef2e0906ddf230f820dad34f acpitool-0.5.1.tar.bz2 +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/adwaita-icon-theme/Config.in b/package/adwaita-icon-theme/Config.in index d200570e7..71b839d99 100644 --- a/package/adwaita-icon-theme/Config.in +++ b/package/adwaita-icon-theme/Config.in @@ -1,5 +1,10 @@ config BR2_PACKAGE_ADWAITA_ICON_THEME bool "adwaita icon theme" depends on BR2_PACKAGE_LIBGTK2 || BR2_PACKAGE_LIBGTK3 + # host-libgtk3 -> host-librsvg -> host-pango -> host-harfbuzz + depends on BR2_HOST_GCC_AT_LEAST_4_9 help Adwaita icon theme + +comment "adwaita icon theme needs host gcc >= 4.9" + depends on !BR2_HOST_GCC_AT_LEAST_4_9 diff --git a/package/aer-inject/aer-inject.mk b/package/aer-inject/aer-inject.mk index 72495bbea..6bc9cb44d 100644 --- a/package/aer-inject/aer-inject.mk +++ b/package/aer-inject/aer-inject.mk @@ -5,7 +5,8 @@ ################################################################################ AER_INJECT_VERSION = 9bd5e2c7886fca72f139cd8402488a2235957d41 -AER_INJECT_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/gong.chen/aer-inject.git +AER_INJECT_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/gong.chen/aer-inject.git +AER_INJECT_SITE_METHOD = git AER_INJECT_LICENSE = GPL-2.0 AER_INJECT_LICENSE_FILES = README AER_INJECT_DEPENDENCIES = host-flex host-bison diff --git a/package/aespipe/aespipe.hash b/package/aespipe/aespipe.hash index 134a16df4..f7491278e 100644 --- a/package/aespipe/aespipe.hash +++ b/package/aespipe/aespipe.hash @@ -1,5 +1,5 @@ # From https://sourceforge.net/projects/loop-aes/files/aespipe/v2.4f/ -sha1 2c23e1a6be298cf4f173f06b1123e4ecd5e9a202 aespipe-v2.4f.tar.bz2 -md5 ed05c62c1954110f009bedda4bc1562f aespipe-v2.4f.tar.bz2 +sha1 2c23e1a6be298cf4f173f06b1123e4ecd5e9a202 aespipe-v2.4f.tar.bz2 +md5 ed05c62c1954110f009bedda4bc1562f aespipe-v2.4f.tar.bz2 # Locally computed: -sha256 b135e1659f58dc9be5e3c88923cd03d2a936096ab8cd7f2b3af4cb7a844cef96 aespipe-v2.4f.tar.bz2 +sha256 b135e1659f58dc9be5e3c88923cd03d2a936096ab8cd7f2b3af4cb7a844cef96 aespipe-v2.4f.tar.bz2 diff --git a/package/agentpp/0001-Fix-build-when-SNMPv3-is-disabled.patch b/package/agentpp/0001-Fix-build-when-SNMPv3-is-disabled.patch deleted file mode 100644 index f16c2b4b7..000000000 --- a/package/agentpp/0001-Fix-build-when-SNMPv3-is-disabled.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 2a0fe384eec254643ca2176ccfcbbd036a5aad06 Mon Sep 17 00:00:00 2001 -From: Luca Ceresoli -Date: Tue, 14 Jul 2020 10:30:10 +0200 -Subject: [PATCH] Fix build when SNMPv3 is disabled - -agentpp has ifdefs to disable v3 code when SNMPv3 is disabled. However it -is missing one and it has a few ones in excess. Fix them. - -Upstream is aware, says "will fix in later version", but thinks to make v3 -mandatory. See discussion at -https://forum.snmp.app/t/agent-compile-fails-if-snmp-has-disable-snmpv3/326 - -Upstream status: none, upstream is not welcoming contributions. - -Signed-off-by: Luca Ceresoli ---- - include/agent_pp/notification_log_mib.h | 4 ++-- - include/agent_pp/notification_originator.h | 2 ++ - include/agent_pp/snmp_community_mib.h | 4 ++-- - src/notification_originator.cpp | 2 ++ - 4 files changed, 8 insertions(+), 4 deletions(-) - -diff --git a/include/agent_pp/notification_log_mib.h b/include/agent_pp/notification_log_mib.h -index ddac05e515d9..8fd8cfec32ca 100644 ---- a/include/agent_pp/notification_log_mib.h -+++ b/include/agent_pp/notification_log_mib.h -@@ -22,7 +22,7 @@ - - //--AgentGen BEGIN=_BEGIN - #include --#ifdef _SNMPv3 -+// #ifdef _SNMPv3 // This file deos not look SNMPv3-specific - #include - //--AgentGen END - -@@ -688,6 +688,6 @@ protected: - */ - - --#endif -+// #endif // _SNMPv3 - - -diff --git a/include/agent_pp/notification_originator.h b/include/agent_pp/notification_originator.h -index 95e8b4e1836d..6f50cd52625b 100644 ---- a/include/agent_pp/notification_originator.h -+++ b/include/agent_pp/notification_originator.h -@@ -307,7 +307,9 @@ class AGENTPP_DECL NotificationOriginator: public NotificationSender { - */ - virtual nlmLogEntry* get_nlm_log_entry(); - -+#ifdef _SNMPv3 - virtual v3MP* get_v3mp(); -+#endif - - protected: - -diff --git a/include/agent_pp/snmp_community_mib.h b/include/agent_pp/snmp_community_mib.h -index 7d5c4558f36d..d9eb2b4a87ec 100644 ---- a/include/agent_pp/snmp_community_mib.h -+++ b/include/agent_pp/snmp_community_mib.h -@@ -49,7 +49,7 @@ namespace Agentpp { - #define oidSnmpTrapAddress "1.3.6.1.6.3.18.1.3.0" - #define oidSnmpTrapCommunity "1.3.6.1.6.3.18.1.4.0" - --#ifdef _SNMPv3 -+// #ifdef _SNMPv3 // This file deos not look SNMPv3-specific - - /** - * snmpCommunityName -@@ -346,7 +346,7 @@ class AGENTPP_DECL snmp_community_mib: public MibGroup - static void add_public(); - static void add_public(Mib* mib); - }; --#endif -+// #endif // _SNMPv3 - - #ifdef AGENTPP_NAMESPACE - } -diff --git a/src/notification_originator.cpp b/src/notification_originator.cpp -index d7d566869998..39ddbe08cdeb 100644 ---- a/src/notification_originator.cpp -+++ b/src/notification_originator.cpp -@@ -237,6 +237,7 @@ nlmLogEntry* NotificationOriginator::get_nlm_log_entry() { - return nlmLogEntry::instance; - } - -+#ifdef _SNMPv3 - v3MP* NotificationOriginator::get_v3mp() { - if (mib) { - return mib->get_request_list()->get_v3mp(); -@@ -244,6 +245,7 @@ v3MP* NotificationOriginator::get_v3mp() { - return v3MP::I; - } - } -+#endif - - - bool NotificationOriginator::check_access(ListCursor& cur, --- -2.27.0 - diff --git a/package/agentpp/Config.in b/package/agentpp/Config.in index 8c6b11d64..cc7537519 100644 --- a/package/agentpp/Config.in +++ b/package/agentpp/Config.in @@ -16,7 +16,7 @@ config BR2_PACKAGE_AGENTPP SNMPv3 support is enabled if SNMP++ enables it. - http://www.agentpp.com/agentpp3_5/agentpp3_5.html + https://www.agentpp.com/api/cpp/agent_pp.html comment "agent++ needs a toolchain w/ threads, C++, dynamic library" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ diff --git a/package/agentpp/agentpp.hash b/package/agentpp/agentpp.hash index 11b23c8ee..527414eed 100644 --- a/package/agentpp/agentpp.hash +++ b/package/agentpp/agentpp.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 9b45123df45e803198a1181540b37a4ccd0e63c68df6e826702e2ba49167edac agent++-4.3.1.tar.gz +sha256 e09dc2d40277d468c18f1539ad18f43e0c3a95b10fad8a02184e9ace8bac0d67 agent++-4.6.0.tar.gz sha256 1eb85fc97224598dad1852b5d6483bbcf0aa8608790dcc657a5a2a761ae9c8c6 LICENSE-2_0.txt diff --git a/package/agentpp/agentpp.mk b/package/agentpp/agentpp.mk index 8982d9e56..0ef549426 100644 --- a/package/agentpp/agentpp.mk +++ b/package/agentpp/agentpp.mk @@ -4,7 +4,7 @@ # ################################################################################ -AGENTPP_VERSION = 4.3.1 +AGENTPP_VERSION = 4.6.0 AGENTPP_SOURCE = agent++-$(AGENTPP_VERSION).tar.gz AGENTPP_SITE = http://www.agentpp.com/download AGENTPP_LICENSE = Apache-2.0 diff --git a/package/aircrack-ng/aircrack-ng.hash b/package/aircrack-ng/aircrack-ng.hash index 990c3ef56..49d0c795e 100644 --- a/package/aircrack-ng/aircrack-ng.hash +++ b/package/aircrack-ng/aircrack-ng.hash @@ -1,6 +1,6 @@ # From http://www.aircrack-ng.org/downloads.html -sha1 ffeb4816476e7b329dc0c154f1aa4a30ad171beb aircrack-ng-1.6.tar.gz -md5 22ddc85549b51ed0da0931d01ef215e5 aircrack-ng-1.6.tar.gz +sha1 ffeb4816476e7b329dc0c154f1aa4a30ad171beb aircrack-ng-1.6.tar.gz +md5 22ddc85549b51ed0da0931d01ef215e5 aircrack-ng-1.6.tar.gz # Hash for license file: -sha256 fc51fd3a97223f2fd47b057202d4a6b0daaedf23b5a1f5ff8723c192fc1e021d LICENSE +sha256 fc51fd3a97223f2fd47b057202d4a6b0daaedf23b5a1f5ff8723c192fc1e021d LICENSE diff --git a/package/aircrack-ng/aircrack-ng.mk b/package/aircrack-ng/aircrack-ng.mk index ff87766d6..95cda7c5a 100644 --- a/package/aircrack-ng/aircrack-ng.mk +++ b/package/aircrack-ng/aircrack-ng.mk @@ -69,7 +69,7 @@ endif ifeq ($(BR2_PACKAGE_SQLITE),y) AIRCRACK_NG_DEPENDENCIES += sqlite -AIRCRACK_NG_CONF_OPTS += --with-sqlite3 +AIRCRACK_NG_CONF_OPTS += --with-sqlite3=$(STAGING_DIR)/usr else AIRCRACK_NG_CONF_OPTS += --without-sqlite3 endif diff --git a/package/alchemy/alchemy.mk b/package/alchemy/alchemy.mk index 18cdd0a64..10d1068ac 100644 --- a/package/alchemy/alchemy.mk +++ b/package/alchemy/alchemy.mk @@ -8,7 +8,7 @@ ALCHEMY_VERSION = d95b3c38cd37814a1b98d0bbf813de7adaaecfbc ALCHEMY_SITE = $(call github,Parrot-Developers,alchemy,$(ALCHEMY_VERSION)) ALCHEMY_LICENSE = BSD-3-Clause (Alchemy), GPL-2.0 (kconfig) ALCHEMY_LICENSE_FILES = COPYING README -HOST_ALCHEMY_DEPENDENCIES = host-python3 +HOST_ALCHEMY_DEPENDENCIES = host-pkgconf host-python3 ALCHEMY_HOME = $(HOST_DIR)/opt/alchemy ALCHEMY_SDK_BASEDIR = $(STAGING_DIR)/usr/lib/alchemy/sdk @@ -35,6 +35,7 @@ ALCHEMY_TARGET_ENV = \ ALCHEMY_HOME=$(ALCHEMY_HOME) \ ALCHEMY_WORKSPACE_DIR="$(@D)" \ ALCHEMY_TARGET_OUT=alchemy-out \ + PKGCONFIG_BIN=$(PKG_CONFIG_HOST_BINARY) \ TARGET_OS=linux \ TARGET_OS_FLAVOUR=buildroot \ TARGET_CROSS="$(TARGET_CROSS)" \ diff --git a/package/alsa-lib/alsa-lib.hash b/package/alsa-lib/alsa-lib.hash index 97bcd8714..42040d631 100644 --- a/package/alsa-lib/alsa-lib.hash +++ b/package/alsa-lib/alsa-lib.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 7fe3057894ec319118abfd042ef84632a1dcd911806ec9fff6daaa68d15a8c52 alsa-lib-1.2.6.tar.bz2 +sha256 ad582993d52cdb5fb159a0beab60a6ac57eab0cc1bdf85dc4db6d6197f02333f alsa-lib-1.2.6.1.tar.bz2 sha256 32434afcc8666ba060e111d715bfdb6c2d5dd8a35fa4d3ab8ad67d8f850d2f2b COPYING sha256 bfe16cf823bcff261fc6a062c07ee96660e3c39678f42f39a788a68dbc234ced aserver/COPYING diff --git a/package/alsa-lib/alsa-lib.mk b/package/alsa-lib/alsa-lib.mk index 5d12f5e6d..1aa1b4c27 100644 --- a/package/alsa-lib/alsa-lib.mk +++ b/package/alsa-lib/alsa-lib.mk @@ -4,7 +4,7 @@ # ################################################################################ -ALSA_LIB_VERSION = 1.2.6 +ALSA_LIB_VERSION = 1.2.6.1 ALSA_LIB_SOURCE = alsa-lib-$(ALSA_LIB_VERSION).tar.bz2 ALSA_LIB_SITE = https://www.alsa-project.org/files/pub/lib ALSA_LIB_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (aserver) diff --git a/package/alsamixergui/alsamixergui.hash b/package/alsamixergui/alsamixergui.hash index 85c9ffe75..32dfea284 100644 --- a/package/alsamixergui/alsamixergui.hash +++ b/package/alsamixergui/alsamixergui.hash @@ -1,4 +1,4 @@ # From http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/a/alsamixergui/alsamixergui_0.9.0rc2-1-9.dsc -md5 af942a41b81ba27e2e4d0a1e1ab0decb alsamixergui_0.9.0rc2-1.orig.tar.gz +md5 af942a41b81ba27e2e4d0a1e1ab0decb alsamixergui_0.9.0rc2-1.orig.tar.gz # locally computed sha256 ea617b76dcd0df74576686ca34c281f43bb9d844015cea91e3debc91538d2b1d debian/copyright diff --git a/package/alure/alure.hash b/package/alure/alure.hash index d84af0a35..0d4c36c4a 100644 --- a/package/alure/alure.hash +++ b/package/alure/alure.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 9b808e5b5a54d156348221dc86704c7831115047d5238691e6088f8c4814b2ca alure-14beed2a86d5a36030e907b21c46614d505f07cd.tar.gz -sha256 7331ddc67daaf1a283c81e8dc17bac8dc40f54ed3fab3d3964616f4bd502a0a3 LICENSE +sha256 9b808e5b5a54d156348221dc86704c7831115047d5238691e6088f8c4814b2ca alure-14beed2a86d5a36030e907b21c46614d505f07cd.tar.gz +sha256 7331ddc67daaf1a283c81e8dc17bac8dc40f54ed3fab3d3964616f4bd502a0a3 LICENSE diff --git a/package/android-tools/android-tools.hash b/package/android-tools/android-tools.hash index 27602fb2f..d9a186b62 100644 --- a/package/android-tools/android-tools.hash +++ b/package/android-tools/android-tools.hash @@ -1,4 +1,4 @@ # locally computed -sha256 9bfba987e1351b12aa983787b9ae4424ab752e9e646d8e93771538dc1e5d932f android-tools_4.2.2+git20130218.orig.tar.xz -sha256 73c3078de3e44d8a3cadf7a360863c63155d9d558c2f0933cf38ad901a3f5998 android-tools_4.2.2+git20130218-3ubuntu41.debian.tar.gz +sha256 9bfba987e1351b12aa983787b9ae4424ab752e9e646d8e93771538dc1e5d932f android-tools_4.2.2+git20130218.orig.tar.xz +sha256 73c3078de3e44d8a3cadf7a360863c63155d9d558c2f0933cf38ad901a3f5998 android-tools_4.2.2+git20130218-3ubuntu41.debian.tar.gz sha256 170c5939bf8c8eed1db8f66f2d6155e8c1a3e799e390b55e7aad253195b1ebf5 debian/copyright diff --git a/package/angular-websocket/angular-websocket.hash b/package/angular-websocket/angular-websocket.hash index f589abe5e..3aa5b5e7e 100644 --- a/package/angular-websocket/angular-websocket.hash +++ b/package/angular-websocket/angular-websocket.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 69d752896bc17c08750a2fda24b5eb3c6d653afc6f406dd90a6b7c920b22a14a angular-websocket-2.0.0.tar.gz -sha256 3013a57f2c8df37775804b8be5b107665a2ca209607bb92c618bcc084feb00a7 LICENSE +sha256 69d752896bc17c08750a2fda24b5eb3c6d653afc6f406dd90a6b7c920b22a14a angular-websocket-2.0.0.tar.gz +sha256 3013a57f2c8df37775804b8be5b107665a2ca209607bb92c618bcc084feb00a7 LICENSE diff --git a/package/aoetools/aoetools.hash b/package/aoetools/aoetools.hash index 76c305624..4629019ba 100644 --- a/package/aoetools/aoetools.hash +++ b/package/aoetools/aoetools.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 477e796f5c18e8c0e61b5d88e1759c68249e8e0210c2f3de2b98680e2cc63e32 aoetools-37.tar.gz +sha256 477e796f5c18e8c0e61b5d88e1759c68249e8e0210c2f3de2b98680e2cc63e32 aoetools-37.tar.gz # Hash for license files: -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/apache/Config.in b/package/apache/Config.in index 8b6a5bf7e..270296bce 100644 --- a/package/apache/Config.in +++ b/package/apache/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_APACHE depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # apr select BR2_PACKAGE_APR_UTIL - select BR2_PACKAGE_PCRE + select BR2_PACKAGE_PCRE2 help The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern operating diff --git a/package/apache/apache.hash b/package/apache/apache.hash index 014d92077..1f0020f65 100644 --- a/package/apache/apache.hash +++ b/package/apache/apache.hash @@ -1,5 +1,5 @@ -# From https://downloads.apache.org/httpd/httpd-2.4.52.tar.bz2.{sha256,sha512} -sha256 0127f7dc497e9983e9c51474bed75e45607f2f870a7675a86dc90af6d572f5c9 httpd-2.4.52.tar.bz2 -sha512 97c021c576022a9d32f4a390f62e07b5f550973aef2f299fd52defce1a9fa5d27bd4a676e7bf214373ba46063d34aecce42de62fdd93678a4e925cfcbb2afdf6 httpd-2.4.52.tar.bz2 +# From https://archive.apache.org/dist/httpd/httpd-2.4.57.tar.bz2.{sha256,sha512} +sha256 dbccb84aee95e095edfbb81e5eb926ccd24e6ada55dcd83caecb262e5cf94d2a httpd-2.4.57.tar.bz2 +sha512 4d1e0a274ee90bdfb5f38d4a7d73a7367ed1c6388e26280e640014e49abc0df03683705b88dcfe2ec2da313dda4c7b4a3b86daffa1911f58e224eba89d82d155 httpd-2.4.57.tar.bz2 # Locally computed sha256 47b8c2b6c3309282a99d4a3001575c790fead690cc14734628c4667d2bbffc43 LICENSE diff --git a/package/apache/apache.mk b/package/apache/apache.mk index b280d4dc3..320a6ad20 100644 --- a/package/apache/apache.mk +++ b/package/apache/apache.mk @@ -4,7 +4,7 @@ # ################################################################################ -APACHE_VERSION = 2.4.52 +APACHE_VERSION = 2.4.57 APACHE_SOURCE = httpd-$(APACHE_VERSION).tar.bz2 APACHE_SITE = https://downloads.apache.org/httpd APACHE_LICENSE = Apache-2.0 @@ -17,11 +17,11 @@ APACHE_INSTALL_STAGING = YES # We have a patch touching configure.in and Makefile.in, # so we need to autoreconf: APACHE_AUTORECONF = YES -APACHE_DEPENDENCIES = apr apr-util pcre +APACHE_DEPENDENCIES = apr apr-util pcre2 APACHE_CONF_ENV= \ ap_cv_void_ptr_lt_long=no \ - PCRE_CONFIG=$(STAGING_DIR)/usr/bin/pcre-config + PCRE_CONFIG=$(STAGING_DIR)/usr/bin/pcre2-config ifeq ($(BR2_PACKAGE_APACHE_MPM_EVENT),y) APACHE_MPM = event @@ -35,7 +35,7 @@ APACHE_CONF_OPTS = \ --sysconfdir=/etc/apache2 \ --with-apr=$(STAGING_DIR)/usr \ --with-apr-util=$(STAGING_DIR)/usr \ - --with-pcre=$(STAGING_DIR)/usr/bin/pcre-config \ + --with-pcre=$(STAGING_DIR)/usr/bin/pcre2-config \ --enable-http \ --enable-dbd \ --enable-proxy \ @@ -45,6 +45,13 @@ APACHE_CONF_OPTS = \ --with-mpm=$(APACHE_MPM) \ --disable-luajit +ifeq ($(BR2_PACKAGE_BROTLI),y) +APACHE_CONF_OPTS += --enable-brotli +APACHE_DEPENDENCIES += brotli +else +APACHE_CONF_OPTS += --disable-brotli +endif + ifeq ($(BR2_PACKAGE_LIBXML2),y) APACHE_DEPENDENCIES += libxml2 # Apache wants the path to the header file, where it can find diff --git a/package/apg/apg.mk b/package/apg/apg.mk index ac4dce77f..16661f4b8 100644 --- a/package/apg/apg.mk +++ b/package/apg/apg.mk @@ -10,8 +10,7 @@ APG_LICENSE = BSD-3-Clause APG_LICENSE_FILES = COPYING define APG_BUILD_CMDS - $(MAKE) $(TARGET_CONFIGURE_OPTS) CFLAGS="$(APG_CFLAGS)" \ - -C $(@D) + $(MAKE) $(TARGET_CONFIGURE_OPTS) FLAGS="$(TARGET_CFLAGS)" -C $(@D) endef define APG_INSTALL_TARGET_CMDS diff --git a/package/apr-util/Config.in b/package/apr-util/Config.in index 6c5e3bbdf..c1a967bde 100644 --- a/package/apr-util/Config.in +++ b/package/apr-util/Config.in @@ -8,7 +8,7 @@ config BR2_PACKAGE_APR_UTIL help The utility library for the apache runtime project - http://apr.apache.org/ + https://apr.apache.org comment "apr-util needs a toolchain w/ dynamic library" depends on BR2_USE_MMU diff --git a/package/apr-util/apr-util.hash b/package/apr-util/apr-util.hash index 82ad47561..7e2793cd7 100644 --- a/package/apr-util/apr-util.hash +++ b/package/apr-util/apr-util.hash @@ -1,4 +1,4 @@ -# From http://www.apache.org/dist/apr/apr-util-1.6.1.tar.bz2.sha256 -sha256 d3e12f7b6ad12687572a3a39475545a072608f4ba03a6ce8a3778f607dd0035b apr-util-1.6.1.tar.bz2 +# From http://www.apache.org/dist/apr/apr-util-1.6.3.tar.bz2.sha256 +sha256 a41076e3710746326c3945042994ad9a4fcac0ce0277dd8fea076fec3c9772b5 apr-util-1.6.3.tar.bz2 # Locally calculated -sha256 ef5609d18601645ad6fe22c6c122094be40e976725c1d0490778abacc836e7a2 LICENSE +sha256 ef5609d18601645ad6fe22c6c122094be40e976725c1d0490778abacc836e7a2 LICENSE diff --git a/package/apr-util/apr-util.mk b/package/apr-util/apr-util.mk index cf8407ced..02b6d5e27 100644 --- a/package/apr-util/apr-util.mk +++ b/package/apr-util/apr-util.mk @@ -4,9 +4,9 @@ # ################################################################################ -APR_UTIL_VERSION = 1.6.1 +APR_UTIL_VERSION = 1.6.3 APR_UTIL_SOURCE = apr-util-$(APR_UTIL_VERSION).tar.bz2 -APR_UTIL_SITE = http://archive.apache.org/dist/apr +APR_UTIL_SITE = https://archive.apache.org/dist/apr APR_UTIL_LICENSE = Apache-2.0 APR_UTIL_LICENSE_FILES = LICENSE APR_UTIL_CPE_ID_VENDOR = apache diff --git a/package/apr/0001-cross-compile.patch b/package/apr/0001-cross-compile.patch deleted file mode 100644 index 559ebb74b..000000000 --- a/package/apr/0001-cross-compile.patch +++ /dev/null @@ -1,58 +0,0 @@ -Fix cross-compilation - -Patch was backported from Apache httpd: -http://svn.apache.org/viewvc?view=revision&revision=1327907 -http://svn.apache.org/viewvc?view=revision&revision=1328390 -http://svn.apache.org/viewvc?view=revision&revision=1328714 - -Patch submitted upstream: -https://issues.apache.org/bugzilla/show_bug.cgi?id=57058 - -Signed-off-by: Bernd Kuhls - -diff -uNr apr-1.5.1.org/configure.in apr-1.5.1/configure.in ---- apr-1.5.1.org/configure.in 2014-01-25 16:17:29.000000000 +0100 -+++ apr-1.5.1/configure.in 2014-10-05 11:20:40.080746760 +0200 -@@ -118,6 +118,16 @@ - echo "Configuring APR library" - echo "Platform: $host" - -+dnl In case of cross compilation we set CC_FOR_BUILD to cc unless -+dnl we got already CC_FOR_BUILD from environment. -+if test "x${build_alias}" != "x${host_alias}"; then -+ if test "x${CC_FOR_BUILD}" = "x"; then -+ CC_FOR_BUILD=cc -+ fi -+fi -+AC_SUBST(CC_FOR_BUILD) -+AC_SUBST(CFLAGS_FOR_BUILD) -+ - dnl Some initial steps for configuration. We setup the default directory - dnl and which files are to be configured. - -diff -uNr apr-1.5.1.org/Makefile.in apr-1.5.1/Makefile.in ---- apr-1.5.1.org/Makefile.in 2014-03-17 16:10:26.000000000 +0100 -+++ apr-1.5.1/Makefile.in 2014-10-05 11:22:53.031070519 +0200 -@@ -8,6 +8,8 @@ - # APR (Apache Portable Runtime) library Makefile. - # - CPP = @CPP@ -+CC_FOR_BUILD = @CC_FOR_BUILD@ -+CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ - - # get substituted into some targets - APR_MAJOR_VERSION=@APR_MAJOR_VERSION@ -@@ -134,8 +134,13 @@ - $(APR_MKDIR) tools - $(LT_COMPILE) - -+ifdef CC_FOR_BUILD -+tools/gen_test_char@EXEEXT@: tools/gen_test_char.c $(LOCAL_LIBS) -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -DCROSS_COMPILE -o $@ $< -+else - tools/gen_test_char@EXEEXT@: $(OBJECTS_gen_test_char) - $(LINK_PROG) $(OBJECTS_gen_test_char) $(ALL_LIBS) -+endif - - include/private/apr_escape_test_char.h: tools/gen_test_char@EXEEXT@ - $(APR_MKDIR) include/private diff --git a/package/apr/0002-sys-param-h.patch b/package/apr/0001-sys-param-h.patch similarity index 100% rename from package/apr/0002-sys-param-h.patch rename to package/apr/0001-sys-param-h.patch diff --git a/package/apr/0002-Revert-Backport-r1872164.-Fix-the-name-of-libtool-wh.patch b/package/apr/0002-Revert-Backport-r1872164.-Fix-the-name-of-libtool-wh.patch new file mode 100644 index 000000000..f80db1cb6 --- /dev/null +++ b/package/apr/0002-Revert-Backport-r1872164.-Fix-the-name-of-libtool-wh.patch @@ -0,0 +1,30 @@ +From 0aa7e33372b479a26e5f04dfc4801e24573a8737 Mon Sep 17 00:00:00 2001 +From: Graham Leggett +Date: Wed, 1 Jan 2020 10:43:39 +0000 +Subject: [PATCH] Revert: Backport r1872164. Fix the name of libtool when + cross compiling. + +git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1872165 13f79535-47bb-0310-9956-ffa450edef68 + +[Revert upstream commit https://github.com/apache/apr/commit/f82374627b3a6500a7a6cb11e48bcac59bcbb6a1] +Signed-off-by: Peter Seiderer +--- + apr-config.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/apr-config.in b/apr-config.in +index bed47ca..4873fc0 100644 +--- a/apr-config.in ++++ b/apr-config.in +@@ -246,7 +246,7 @@ while test $# -gt 0; do + if test "$location" = "installed"; then + echo "${installbuilddir}/libtool" + elif test "$location" = "crosscompile"; then +- echo "$APR_TARGET_DIR/${installbuilddir}/libtool" ++ echo "$APR_TARGET_DIR/${installbuilddir}/build" + else + echo "$APR_BUILD_DIR/libtool" + fi +-- +2.39.2 + diff --git a/package/apr/0003-Merge-r1887279-from-trunk.patch b/package/apr/0003-Merge-r1887279-from-trunk.patch deleted file mode 100644 index 444b9d2b0..000000000 --- a/package/apr/0003-Merge-r1887279-from-trunk.patch +++ /dev/null @@ -1,69 +0,0 @@ -From a15958a37a06f71c42c690278f9c958b93b7ee20 Mon Sep 17 00:00:00 2001 -From: Yann Ylavic -Date: Thu, 11 Mar 2021 14:10:21 +0000 -Subject: [PATCH] Merge r1887279 from trunk: - -build/apr_common.m4: avoid explicit inclusion of "confdefs.h" - -The failure is observed on `autoconf-2.69d` (soon to be released -as `autoconf-2.70`). There `int64_t` detection fails as: - -$ autoreconf && ./configure -checking whether int64_t and int use fmt %d... no -checking whether int64_t and long use fmt %ld... no -checking whether int64_t and long long use fmt %lld... no -configure: error: could not determine the string function for int64_t -``` - -This happens because `./configure` always stumbles on warning: - -configure:3350: gcc -c -g -O2 -Werror conftest.c >&5 -In file included from conftest.c:31: -confdefs.h:22: error: "__STDC_WANT_IEC_60559_ATTRIBS_EXT__" redefined [-Werror] - 22 | #define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 - | - -It's triggered by double inclusion of `"confdefs.h"` contents: -explicitly in `APR_TRY_COMPILE_NO_WARNING` macro and implicitly -via `AC_LANG_SOURCE` use. - -To fix it and avoid having to define `main()` declaration the change -uses `AC_LANG_PROGRAM` instead. - -Tested on both `autoconf-2.69` and `autoconf-2.69d`. - - -Github: closes #25 -Submitted by: Sergei Trofimovich -Reviewed by: ylavic - - -git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1887485 13f79535-47bb-0310-9956-ffa450edef68 - -[Retrieved from: -https://github.com/apache/apr/commit/0a763c5e500f4304b7c534fae0fad430d64982e8] -Signed-off-by: Fabrice Fontaine ---- - build/apr_common.m4 | 8 ++------ - 1 file changed, 2 insertions(+), 6 deletions(-) - -diff --git a/build/apr_common.m4 b/build/apr_common.m4 -index 297dd32cf75..b67a8608abe 100644 ---- a/build/apr_common.m4 -+++ b/build/apr_common.m4 -@@ -467,13 +467,9 @@ AC_DEFUN([APR_TRY_COMPILE_NO_WARNING], - CFLAGS="$CFLAGS -Werror" - fi - AC_COMPILE_IFELSE( -- [AC_LANG_SOURCE( -- [#include "confdefs.h" -- ] -- [[$1]] -- [int main(int argc, const char *const *argv) {] -+ [AC_LANG_PROGRAM( -+ [[$1]], - [[$2]] -- [ return 0; }] - )], [CFLAGS=$apr_save_CFLAGS - $3], [CFLAGS=$apr_save_CFLAGS - $4]) diff --git a/package/apr/0003-Revert-Add-the-ability-to-cross-compile-APR.patch b/package/apr/0003-Revert-Add-the-ability-to-cross-compile-APR.patch new file mode 100644 index 000000000..ad250d442 --- /dev/null +++ b/package/apr/0003-Revert-Add-the-ability-to-cross-compile-APR.patch @@ -0,0 +1,112 @@ +From ed1daed074fba0dabff825e63525d751b6bb7b8d Mon Sep 17 00:00:00 2001 +From: Graham Leggett +Date: Tue, 31 Dec 2019 21:26:02 +0000 +Subject: [PATCH] Revert: Add the ability to cross compile APR. + +git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1872147 13f79535-47bb-0310-9956-ffa450edef68 + +[Revert upstream commit https://github.com/apache/apr/commit/b6dbbc77da35a7b46754c99f465827f2a583e23c] +Signed-off-by: Peter Seiderer +--- + CHANGES | 2 -- + apr-config.in | 22 ---------------------- + 2 files changed, 24 deletions(-) + +diff --git a/CHANGES b/CHANGES +index 71b2f0e..e751c90 100644 +--- a/CHANGES ++++ b/CHANGES +@@ -56,8 +56,6 @@ Changes for APR 1.7.1 + *) Don't try to use PROC_PTHREAD by default when cross compiling. + [Yann Ylavic] + +- *) Add the ability to cross compile APR. [Graham Leggett] +- + *) While cross-compiling, the tools/gen_test_char could not + be executed at build time, use AX_PROG_CC_FOR_BUILD to + build native tools/gen_test_char +diff --git a/apr-config.in b/apr-config.in +index 4873fc0..84b4073 100644 +--- a/apr-config.in ++++ b/apr-config.in +@@ -48,14 +48,6 @@ APR_LIBNAME="@APR_LIBNAME@" + # NOTE: the following line is modified during 'make install': alter with care! + location=@APR_CONFIG_LOCATION@ + +-# absolute path, but not installed path - we're cross compiling +-case "$0" in +- "${bindir}/"*) ;; +- "/"*) location=crosscompile; +- APR_TARGET_DIR=${0%${bindir}/apr-${APR_MAJOR_VERSION}-config} ;; +- *) ;; +-esac +- + show_usage() + { + cat << EOF +@@ -101,8 +93,6 @@ fi + + if test "$location" = "installed"; then + LA_FILE="$libdir/lib${APR_LIBNAME}.la" +-elif test "$location" = "crosscompile"; then +- LA_FILE="$APR_TARGET_DIR/$libdir/lib${APR_LIBNAME}.la" + else + LA_FILE="$APR_BUILD_DIR/lib${APR_LIBNAME}.la" + fi +@@ -132,8 +122,6 @@ while test $# -gt 0; do + --includedir) + if test "$location" = "installed"; then + flags="$includedir" +- elif test "$location" = "crosscompile"; then +- flags="$APR_TARGET_DIR/$includedir" + elif test "$location" = "source"; then + flags="$APR_SOURCE_DIR/include" + else +@@ -166,8 +154,6 @@ while test $# -gt 0; do + --includes) + if test "$location" = "installed"; then + flags="$flags -I$includedir $EXTRA_INCLUDES" +- elif test "$location" = "crosscompile"; then +- flags="$flags -I$APR_TARGET_DIR/$includedir $EXTRA_INCLUDES" + elif test "$location" = "source"; then + flags="$flags -I$APR_SOURCE_DIR/include $EXTRA_INCLUDES" + else +@@ -182,8 +168,6 @@ while test $# -gt 0; do + --installbuilddir) + if test "$location" = "installed"; then + echo "${installbuilddir}" +- elif test "$location" = "crosscompile"; then +- echo "$APR_TARGET_DIR/${installbuilddir}" + elif test "$location" = "source"; then + echo "$APR_SOURCE_DIR/build" + else +@@ -200,8 +184,6 @@ while test $# -gt 0; do + if test "$location" = "installed"; then + ### avoid using -L if libdir is a "standard" location like /usr/lib + flags="$flags -L$libdir -l${APR_LIBNAME}" +- elif test "$location" = "crosscompile"; then +- flags="$flags -L$APR_TARGET_DIR/$libdir -l${APR_LIBNAME}" + else + ### this surely can't work since the library is in .libs? + flags="$flags -L$APR_BUILD_DIR -l${APR_LIBNAME}" +@@ -219,8 +201,6 @@ while test $# -gt 0; do + # Since the user is specifying they are linking with libtool, we + # *know* that -R will be recognized by libtool. + flags="$flags -L$libdir -R$libdir -l${APR_LIBNAME}" +- elif test "$location" = "crosscompile"; then +- flags="$flags -L${APR_TARGET_DIR}/$libdir -l${APR_LIBNAME}" + else + flags="$flags $LA_FILE" + fi +@@ -245,8 +225,6 @@ while test $# -gt 0; do + --apr-libtool) + if test "$location" = "installed"; then + echo "${installbuilddir}/libtool" +- elif test "$location" = "crosscompile"; then +- echo "$APR_TARGET_DIR/${installbuilddir}/build" + else + echo "$APR_BUILD_DIR/libtool" + fi +-- +2.39.2 + diff --git a/package/apr/Config.in b/package/apr/Config.in index 67de92547..4606fc537 100644 --- a/package/apr/Config.in +++ b/package/apr/Config.in @@ -9,7 +9,7 @@ config BR2_PACKAGE_APR predictable and consistent interface to underlying platform-specific implementations - http://apr.apache.org/ + https://apr.apache.org comment "apr needs a toolchain w/ dynamic library" depends on BR2_USE_MMU diff --git a/package/apr/apr.hash b/package/apr/apr.hash index 0a3f5c852..96f43d371 100644 --- a/package/apr/apr.hash +++ b/package/apr/apr.hash @@ -1,4 +1,4 @@ -# From http://archive.apache.org/dist/apr/apr-1.7.0.tar.bz2.sha256 -sha256 e2e148f0b2e99b8e5c6caa09f6d4fb4dd3e83f744aa72a952f94f5a14436f7ea apr-1.7.0.tar.bz2 +# From https://archive.apache.org/dist/apr/apr-1.7.2.tar.bz2.sha256 +sha256 75e77cc86776c030c0a5c408dfbd0bf2a0b75eed5351e52d5439fa1e5509a43e apr-1.7.2.tar.bz2 # Locally calculated -sha256 f854aeef66ecd55a126226e82b3f26793fc3b1c584647f6a0edc5639974c38ad LICENSE +sha256 f854aeef66ecd55a126226e82b3f26793fc3b1c584647f6a0edc5639974c38ad LICENSE diff --git a/package/apr/apr.mk b/package/apr/apr.mk index c45829aac..bdc5e915c 100644 --- a/package/apr/apr.mk +++ b/package/apr/apr.mk @@ -4,9 +4,9 @@ # ################################################################################ -APR_VERSION = 1.7.0 +APR_VERSION = 1.7.2 APR_SOURCE = apr-$(APR_VERSION).tar.bz2 -APR_SITE = http://archive.apache.org/dist/apr +APR_SITE = https://archive.apache.org/dist/apr APR_LICENSE = Apache-2.0 APR_LICENSE_FILES = LICENSE APR_CPE_ID_VENDOR = apache @@ -16,6 +16,8 @@ APR_INSTALL_STAGING = YES # so we need to autoreconf: APR_AUTORECONF = YES +APR_CONF_OPTS = --disable-sctp + # avoid apr_hints.m4 by setting apr_preload_done=yes and set # the needed CFLAGS on our own (avoids '-D_REENTRANT' in case # not supported by toolchain and subsequent configure failure) @@ -29,6 +31,7 @@ APR_CONF_ENV = \ CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \ CFLAGS="$(APR_CFLAGS)" \ ac_cv_file__dev_zero=yes \ + ac_cv_mmap__dev_zero=yes \ ac_cv_func_setpgrp_void=yes \ apr_cv_process_shared_works=yes \ apr_cv_mutex_robust_shared=no \ @@ -36,6 +39,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_o_nonblock_inherited=no \ apr_cv_mutex_recursive=yes \ apr_cv_epoll=yes \ diff --git a/package/argparse/argparse.hash b/package/argparse/argparse.hash index fd7c48eab..c573ba579 100644 --- a/package/argparse/argparse.hash +++ b/package/argparse/argparse.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 ea30d0643586a20aeb6349ca8cb7db63aefc21d9aa007c7b7168a7c564817879 argparse-0.7.1-1.src.rock -sha256 9a918f21485b2a4529c901491d9101392f03586d65ad5b024a4445ebc1dc37b4 argparse-0.7.1/LICENSE +sha256 ea30d0643586a20aeb6349ca8cb7db63aefc21d9aa007c7b7168a7c564817879 argparse-0.7.1-1.src.rock +sha256 9a918f21485b2a4529c901491d9101392f03586d65ad5b024a4445ebc1dc37b4 argparse-0.7.1/LICENSE diff --git a/package/argus/argus.hash b/package/argus/argus.hash index b3196cce7..26355c597 100644 --- a/package/argus/argus.hash +++ b/package/argus/argus.hash @@ -1,6 +1,6 @@ # From http://qosient.com/argus/src/argus-3.0.8.2.tar.gz.md5 -md5 eaf5f5ec66569e556392802a70ef9ca5 argus-3.0.8.2.tar.gz +md5 eaf5f5ec66569e556392802a70ef9ca5 argus-3.0.8.2.tar.gz # Locally computed -sha256 ca4e3bd5b9d4a8ff7c01cc96d1bffd46dbd6321237ec94c52f8badd51032eeff argus-3.0.8.2.tar.gz -sha256 c68221f7207486bfce863fada4ba9b2aaf4adc9e1c672f965ae98e88143e5f16 README +sha256 ca4e3bd5b9d4a8ff7c01cc96d1bffd46dbd6321237ec94c52f8badd51032eeff argus-3.0.8.2.tar.gz +sha256 c68221f7207486bfce863fada4ba9b2aaf4adc9e1c672f965ae98e88143e5f16 README diff --git a/package/arm-gnu-a-toolchain/arm-gnu-a-toolchain.hash b/package/arm-gnu-a-toolchain/arm-gnu-a-toolchain.hash index 73c2708fe..f3a89cd0a 100644 --- a/package/arm-gnu-a-toolchain/arm-gnu-a-toolchain.hash +++ b/package/arm-gnu-a-toolchain/arm-gnu-a-toolchain.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 45225813f74e0c3f76af2715d30d1fbebb873c1abe7098f9c694e5567cc2279c gcc-arm-10.3-2021.07-x86_64-arm-none-eabi.tar.xz +sha256 45225813f74e0c3f76af2715d30d1fbebb873c1abe7098f9c694e5567cc2279c gcc-arm-10.3-2021.07-x86_64-arm-none-eabi.tar.xz diff --git a/package/arp-scan/arp-scan.hash b/package/arp-scan/arp-scan.hash index 562deb8ff..dd9733301 100644 --- a/package/arp-scan/arp-scan.hash +++ b/package/arp-scan/arp-scan.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 e03c36e4933c655bd0e4a841272554a347cd0136faf42c4a6564059e0761c039 arp-scan-1.9.7.tar.gz -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 e03c36e4933c655bd0e4a841272554a347cd0136faf42c4a6564059e0761c039 arp-scan-1.9.7.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/arptables/0002-libarptc-libarptc_incl.c-fix-build-with-O0.patch b/package/arptables/0002-libarptc-libarptc_incl.c-fix-build-with-O0.patch new file mode 100644 index 000000000..29f2d714e --- /dev/null +++ b/package/arptables/0002-libarptc-libarptc_incl.c-fix-build-with-O0.patch @@ -0,0 +1,49 @@ +From 7d8285ae92253017a15282dd25f76d76eed49518 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 21 Apr 2022 13:43:23 +0200 +Subject: [PATCH] libarptc/libarptc_incl.c: fix build with -O0 + +Fix the following build failure with -O0: + +libarptc/libarptc.c:48:21: error: redefinition of 'arpt_get_target' + 48 | #define GET_TARGET arpt_get_target + | ^~~~~~~~~~~~~~~ +libarptc/libarptc_incl.c:16:1: note: in expansion of macro 'GET_TARGET' + 16 | GET_TARGET(STRUCT_ENTRY *e) + | ^~~~~~~~~~ +In file included from .//include/libarptc/libarptc.h:7, + from libarptc/libarptc.c:26: +.//include/linux/netfilter_arp/arp_tables.h:196:43: note: previous definition of 'arpt_get_target' was here + 196 | static __inline__ struct xt_entry_target *arpt_get_target(struct arpt_entry *e) + | ^~~~~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/730dce4101e7afcee233067e2870603cd64b8a48 + +Signed-off-by: Fabrice Fontaine +--- + libarptc/libarptc_incl.c | 8 -------- + 1 file changed, 8 deletions(-) + +diff --git a/libarptc/libarptc_incl.c b/libarptc/libarptc_incl.c +index c4d5de3..441f2de 100644 +--- a/libarptc/libarptc_incl.c ++++ b/libarptc/libarptc_incl.c +@@ -11,14 +11,6 @@ + /* (C)1999 Paul ``Rusty'' Russell - Placed under the GNU GPL (See + COPYING for details). */ + +-#ifndef __OPTIMIZE__ +-STRUCT_ENTRY_TARGET * +-GET_TARGET(STRUCT_ENTRY *e) +-{ +- return (void *)e + e->target_offset; +-} +-#endif +- + static int sockfd = -1; + static void *arptc_fn = NULL; + +-- +2.35.1 + diff --git a/package/arptables/arptables.hash b/package/arptables/arptables.hash index 8366cea41..8bc0f7fc2 100644 --- a/package/arptables/arptables.hash +++ b/package/arptables/arptables.hash @@ -1,5 +1,5 @@ # From http://ftp.netfilter.org/pub/arptables/arptables-0.0.5.tar.gz.sha256sum -sha256 4f9a0656ce5c90868f551cd4deeb2d04f33899667e1fb2818b64e432fe8f629c arptables-0.0.5.tar.gz +sha256 4f9a0656ce5c90868f551cd4deeb2d04f33899667e1fb2818b64e432fe8f629c arptables-0.0.5.tar.gz # Hash for license file -sha256 ebdb8ae564c952792017ec680e2edd30443642216eb9f8a3d8fa166c0cb628c1 COPYING +sha256 ebdb8ae564c952792017ec680e2edd30443642216eb9f8a3d8fa166c0cb628c1 COPYING diff --git a/package/ascii-invaders/ascii-invaders.hash b/package/ascii-invaders/ascii-invaders.hash index f08fc2a7d..a95544a79 100644 --- a/package/ascii-invaders/ascii-invaders.hash +++ b/package/ascii-invaders/ascii-invaders.hash @@ -1,5 +1,5 @@ # Locally calculated -sha512 326708ffc2c277e04575920c58f6a267e0bf46f8d2a3dbca9b5c317fb01006d4f673ab35f92f292549cc52dbee4400a84c85478eb81b9bd7703689a705547bc7 ascii-invaders-1.0.1.tar.gz +sha512 326708ffc2c277e04575920c58f6a267e0bf46f8d2a3dbca9b5c317fb01006d4f673ab35f92f292549cc52dbee4400a84c85478eb81b9bd7703689a705547bc7 ascii-invaders-1.0.1.tar.gz # Hash for license file -sha512 1e455684996d7733b2f1ccd4606d034694d16ceff6ede6125d7f1537d20dabe05976cca4cef5cbf6c31352cbd62a515fd8e34a2ffb54dae1181c1116b24c6cf7 LICENSE +sha512 1e455684996d7733b2f1ccd4606d034694d16ceff6ede6125d7f1537d20dabe05976cca4cef5cbf6c31352cbd62a515fd8e34a2ffb54dae1181c1116b24c6cf7 LICENSE diff --git a/package/assimp/Config.in b/package/assimp/Config.in index 833e559a6..5ffb50cd7 100644 --- a/package/assimp/Config.in +++ b/package/assimp/Config.in @@ -2,8 +2,9 @@ config BR2_PACKAGE_ASSIMP bool "assimp" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR - depends on BR2_PACKAGE_LIBZLIB depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr + select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_ZLIB_FORCE_LIBZLIB help Open Asset Import Library (assimp) is a portable Open Source library to import various well-known 3D model formats in a @@ -14,11 +15,7 @@ config BR2_PACKAGE_ASSIMP http://www.assimp.org comment "assimp needs a toolchain w/ C++, wchar" - depends on BR2_PACKAGE_LIBZLIB depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR -comment "assimp needs libzlib" - depends on !BR2_PACKAGE_LIBZLIB - comment "assimp needs exception_ptr" depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/assimp/assimp.mk b/package/assimp/assimp.mk index 766b2c9b5..3a187a910 100644 --- a/package/assimp/assimp.mk +++ b/package/assimp/assimp.mk @@ -8,6 +8,7 @@ ASSIMP_VERSION = 5.1.6 ASSIMP_SITE = $(call github,assimp,assimp,v$(ASSIMP_VERSION)) ASSIMP_LICENSE = BSD-3-Clause ASSIMP_LICENSE_FILES = LICENSE +ASSIMP_CPE_ID_VENDOR = assimp ASSIMP_DEPENDENCIES = zlib ASSIMP_INSTALL_STAGING = YES diff --git a/package/asterisk/0006-main-iostream.c-fix-build-with-libressl.patch b/package/asterisk/0006-main-iostream.c-fix-build-with-libressl.patch new file mode 100644 index 000000000..cdd3aa8cf --- /dev/null +++ b/package/asterisk/0006-main-iostream.c-fix-build-with-libressl.patch @@ -0,0 +1,38 @@ +From 9569fa20fec49f530170a3042afb99556cf66a2e Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 17 Apr 2022 10:52:42 +0200 +Subject: [PATCH] main/iostream.c: fix build with libressl + +Fix the following build failure with libressl by using SSL_is_server +which is available since version 2.7.0 and +https://github.com/libressl-portable/openbsd/commit/d7ec516916c5eaac29b02d7a8ac6570f63b458f7: + +iostream.c: In function 'ast_iostream_close': +iostream.c:559:41: error: invalid use of incomplete typedef 'SSL' {aka 'struct ssl_st'} + 559 | if (!stream->ssl->server) { + | ^~ + +Fixes: + - http://autobuild.buildroot.org/results/ce4d62d00bb77ba5b303cacf6be7e350581a62f9 + +Signed-off-by: Fabrice Fontaine +--- + main/iostream.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/main/iostream.c b/main/iostream.c +index d060b6d6d4..b8ab80ec91 100644 +--- a/main/iostream.c ++++ b/main/iostream.c +@@ -553,7 +553,7 @@ int ast_iostream_close(struct ast_iostream *stream) + ERR_error_string(sslerr, err), ssl_error_to_string(sslerr, res)); + } + +-#if !defined(LIBRESSL_VERSION_NUMBER) && (OPENSSL_VERSION_NUMBER >= 0x10100000L) ++#if !(defined(LIBRESSL_VERSION_NUMBER) && (LIBRESSL_VERSION_NUMBER < 0x2070000L)) && (OPENSSL_VERSION_NUMBER >= 0x10100000L) + if (!SSL_is_server(stream->ssl)) { + #else + if (!stream->ssl->server) { +-- +2.35.1 + diff --git a/package/asterisk/asterisk.hash b/package/asterisk/asterisk.hash index eabe11e05..98ee3bdc7 100644 --- a/package/asterisk/asterisk.hash +++ b/package/asterisk/asterisk.hash @@ -1,15 +1,15 @@ # Locally computed -sha256 1ba86666072b903e24b5cfef3d6d607d0d090c0fd232429ed410496e8f93ac40 asterisk-16.21.1.tar.gz +sha256 9b93006a87be9c29492299118200e4f66c8369851c66a50fdef5b15dfc4eb2c2 asterisk-16.29.1.tar.gz # sha1 from: http://downloads.asterisk.org/pub/telephony/sounds/releases # sha256 locally computed -sha1 721c512feaea102700d5bdce952fdc0bb29dc640 asterisk-core-sounds-en-gsm-1.6.1.tar.gz +sha1 721c512feaea102700d5bdce952fdc0bb29dc640 asterisk-core-sounds-en-gsm-1.6.1.tar.gz sha256 d79c3d2044d41da8f363c447dfccc140be86b4fcc41b1ca5a60a80da52f24f2d asterisk-core-sounds-en-gsm-1.6.1.tar.gz -sha1 f40fd6ea03dfe8d72ada2540b2288bfdc006381d asterisk-moh-opsound-wav-2.03.tar.gz +sha1 f40fd6ea03dfe8d72ada2540b2288bfdc006381d asterisk-moh-opsound-wav-2.03.tar.gz sha256 449fb810d16502c3052fedf02f7e77b36206ac5a145f3dacf4177843a2fcb538 asterisk-moh-opsound-wav-2.03.tar.gz # License files, locally computed sha256 82af40ed7f49c08685360811993d9396320842f021df828801d733e8fdc0312f COPYING -sha256 ac5571f00e558e3b7c9b3f13f421b874cc12cf4250c4f70094c71544cf486312 main/sha1.c +sha256 3ce4755b8da872a0de93ecdbbe2f940763cc95c9027bbf3c4a2e914fcd8bf4c6 main/sha1.c sha256 6215e3ed73c3982a5c6701127d681ec0b9f1121ac78a28805bd93f93c3eb84c0 codecs/speex/speex_resampler.h sha256 ea69cc96ab8a779c180a362377caeada71926897d1b55b980f04d74ba5aaa388 utils/db1-ast/include/db.h diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk index 0a26fb38e..22ac0334f 100644 --- a/package/asterisk/asterisk.mk +++ b/package/asterisk/asterisk.mk @@ -4,7 +4,7 @@ # ################################################################################ -ASTERISK_VERSION = 16.21.1 +ASTERISK_VERSION = 16.29.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)) @@ -31,6 +31,7 @@ ASTERISK_AUTORECONF_OPTS = -Iautoconf -Ithird-party -Ithird-party/pjproject -Ith ASTERISK_DEPENDENCIES = \ host-asterisk \ + host-pkgconf \ jansson \ libcurl \ libedit \ @@ -115,8 +116,7 @@ ASTERISK_CONF_OPTS += --without-avcodec ASTERISK_CONF_OPTS += --without-spandsp ASTERISK_CONF_ENV = \ - ac_cv_file_bridges_bridge_softmix_include_hrirs_h=true \ - ac_cv_path_CONFIG_LIBXML2=$(STAGING_DIR)/usr/bin/xml2-config + ac_cv_file_bridges_bridge_softmix_include_hrirs_h=true # Uses __atomic_fetch_add_4 ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) @@ -247,7 +247,7 @@ ASTERISK_CONF_OPTS += --without-speex --without-speexdsp endif # asterisk needs an openssl-enabled libsrtp -ifeq ($(BR2_PACKAGE_LIBSRTP)$(BR2_PACKAGE_OPENSSL)x$(BR2_STATIC_LIBS),yyx) +ifeq ($(BR2_PACKAGE_LIBSRTP)$(BR2_PACKAGE_OPENSSL),yy) ASTERISK_DEPENDENCIES += libsrtp ASTERISK_CONF_OPTS += --with-srtp else @@ -314,8 +314,6 @@ HOST_ASTERISK_LICENSE_FILES = COPYING # so do not inherit the target setup. HOST_ASTERISK_AUTORECONF = NO -HOST_ASTERISK_CONF_ENV = CONFIG_LIBXML2=$(HOST_DIR)/bin/xml2-config - HOST_ASTERISK_CONF_OPTS = \ --without-newt \ --without-curses \ diff --git a/package/at-spi2-core/at-spi2-core.hash b/package/at-spi2-core/at-spi2-core.hash index e2cc403e7..764e4c366 100644 --- a/package/at-spi2-core/at-spi2-core.hash +++ b/package/at-spi2-core/at-spi2-core.hash @@ -1,4 +1,4 @@ -# From http://ftp.acc.umu.se/pub/gnome/sources/at-spi2-core/2.36/at-spi2-core-2.36.0.sha256sum +# From https://download.gnome.org/sources/at-spi2-core/2.36/at-spi2-core-2.36.0.sha256sum sha256 88da57de0a7e3c60bc341a974a80fdba091612db3547c410d6deab039ca5c05a at-spi2-core-2.36.0.tar.xz # locally calculated diff --git a/package/at-spi2-core/at-spi2-core.mk b/package/at-spi2-core/at-spi2-core.mk index cf7fdd297..f0b019c0e 100644 --- a/package/at-spi2-core/at-spi2-core.mk +++ b/package/at-spi2-core/at-spi2-core.mk @@ -7,7 +7,7 @@ AT_SPI2_CORE_VERSION_MAJOR = 2.36 AT_SPI2_CORE_VERSION = $(AT_SPI2_CORE_VERSION_MAJOR).0 AT_SPI2_CORE_SOURCE = at-spi2-core-$(AT_SPI2_CORE_VERSION).tar.xz -AT_SPI2_CORE_SITE = http://ftp.gnome.org/pub/gnome/sources/at-spi2-core/$(AT_SPI2_CORE_VERSION_MAJOR) +AT_SPI2_CORE_SITE = https://download.gnome.org/sources/at-spi2-core/$(AT_SPI2_CORE_VERSION_MAJOR) AT_SPI2_CORE_LICENSE = LGPL-2.1+ AT_SPI2_CORE_LICENSE_FILES = COPYING AT_SPI2_CORE_INSTALL_STAGING = YES diff --git a/package/atest/atest.hash b/package/atest/atest.hash index 8384f3179..e411a934e 100644 --- a/package/atest/atest.hash +++ b/package/atest/atest.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 91da5a6d4d0b0a8d4bae156a40e91a6dccf62863bfa7acae948efbbd2b4154ca atest-895b0183a89c15f5e2305a6795bb1667753cd3f0.tar.gz -sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING +sha256 91da5a6d4d0b0a8d4bae156a40e91a6dccf62863bfa7acae948efbbd2b4154ca atest-895b0183a89c15f5e2305a6795bb1667753cd3f0.tar.gz +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/atf/atf.hash b/package/atf/atf.hash index 49c235a63..5b4bbeb8e 100644 --- a/package/atf/atf.hash +++ b/package/atf/atf.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 92bc64180135eea8fe84c91c9f894e678767764f6dbc8482021d4dde09857505 atf-0.21.tar.gz -sha256 2a15172ddf6386297734c9800c899e6e8dc16c5a03931dcf95a9ab321a24cfe4 COPYING +sha256 92bc64180135eea8fe84c91c9f894e678767764f6dbc8482021d4dde09857505 atf-0.21.tar.gz +sha256 2a15172ddf6386297734c9800c899e6e8dc16c5a03931dcf95a9ab321a24cfe4 COPYING diff --git a/package/aubio/aubio.hash b/package/aubio/aubio.hash index f484776c1..619578832 100644 --- a/package/aubio/aubio.hash +++ b/package/aubio/aubio.hash @@ -1,5 +1,5 @@ # From https://aubio.org/pub/aubio-0.4.9.tar.bz2.sha256 -sha256 d48282ae4dab83b3dc94c16cf011bcb63835c1c02b515490e1883049c3d1f3da aubio-0.4.9.tar.bz2 +sha256 d48282ae4dab83b3dc94c16cf011bcb63835c1c02b515490e1883049c3d1f3da aubio-0.4.9.tar.bz2 # Hash for license file: -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/aubio/aubio.mk b/package/aubio/aubio.mk index b79beccd9..b2eb2b5e6 100644 --- a/package/aubio/aubio.mk +++ b/package/aubio/aubio.mk @@ -11,6 +11,7 @@ AUBIO_LICENSE = GPL-3.0+ AUBIO_LICENSE_FILES = COPYING AUBIO_INSTALL_STAGING = YES +AUBIO_DEPENDENCIES = host-pkgconf AUBIO_CONF_OPTS = \ --disable-docs \ --disable-atlas diff --git a/package/audit/audit.mk b/package/audit/audit.mk index aa8ef515e..77e7c2400 100644 --- a/package/audit/audit.mk +++ b/package/audit/audit.mk @@ -15,6 +15,13 @@ AUDIT_INSTALL_STAGING = YES 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 +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +AUDIT_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm" +endif + ifeq ($(BR2_PACKAGE_LIBCAP_NG),y) AUDIT_DEPENDENCIES += libcap-ng AUDIT_CONF_OPTS += --with-libcap-ng=yes diff --git a/package/autossh/autossh.hash b/package/autossh/autossh.hash index 226003f89..aaed9681d 100644 --- a/package/autossh/autossh.hash +++ b/package/autossh/autossh.hash @@ -1,6 +1,6 @@ # From http://www.harding.motd.ca/autossh/autossh-1.4g.cksums -sha256 5fc3cee3361ca1615af862364c480593171d0c54ec156de79fc421e31ae21277 autossh-1.4g.tgz -sha1 bd88da0e296b8d85722ee9e7c314e9319e5b2db8 autossh-1.4g.tgz -md5 2b804bc1bf6d2f2afaa526d02df7c0a2 autossh-1.4g.tgz +sha256 5fc3cee3361ca1615af862364c480593171d0c54ec156de79fc421e31ae21277 autossh-1.4g.tgz +sha1 bd88da0e296b8d85722ee9e7c314e9319e5b2db8 autossh-1.4g.tgz +md5 2b804bc1bf6d2f2afaa526d02df7c0a2 autossh-1.4g.tgz # Locally computed -sha256 014ec5a85a8899d4ea0e0a886bb3fc4c72b4bbec6414093ba1fdac5b178c25b4 autossh.c +sha256 014ec5a85a8899d4ea0e0a886bb3fc4c72b4bbec6414093ba1fdac5b178c25b4 autossh.c diff --git a/package/avahi/S05avahi-setup.sh b/package/avahi/S05avahi-setup.sh index 90ccbceac..2f53a192e 100644 --- a/package/avahi/S05avahi-setup.sh +++ b/package/avahi/S05avahi-setup.sh @@ -5,7 +5,7 @@ case "$1" in if [ ! -d /tmp/avahi-autoipd ]; then rm -rf /tmp/avahi-autoipd mkdir /tmp/avahi-autoipd - chown avahi.avahi /tmp/avahi-autoipd + chown avahi:avahi /tmp/avahi-autoipd fi ;; stop) ;; diff --git a/package/avahi/avahi.hash b/package/avahi/avahi.hash index cfc7ba020..3bf22f831 100644 --- a/package/avahi/avahi.hash +++ b/package/avahi/avahi.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de798fedda avahi-0.8.tar.gz -sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LICENSE +sha256 060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de798fedda avahi-0.8.tar.gz +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LICENSE diff --git a/package/avrdude/Config.in b/package/avrdude/Config.in index 89558a5ff..cbbd07666 100644 --- a/package/avrdude/Config.in +++ b/package/avrdude/Config.in @@ -20,10 +20,10 @@ if BR2_PACKAGE_AVRDUDE config BR2_PACKAGE_AVRDUDE_SPI bool "SPI support" default y # Backward compatibility - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6 + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8 -comment "SPI support needs a toolchain w/ linux headers >= 4.6" - depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6 +comment "SPI support needs a toolchain w/ linux headers >= 4.8" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8 endif diff --git a/package/azure-iot-sdk-c/0001-adapters-fix-build-with-libressl-2.8.0.patch b/package/azure-iot-sdk-c/0001-adapters-fix-build-with-libressl-2.8.0.patch new file mode 100644 index 000000000..e2a241bff --- /dev/null +++ b/package/azure-iot-sdk-c/0001-adapters-fix-build-with-libressl-2.8.0.patch @@ -0,0 +1,85 @@ +From 43b313988d66de144a528e4cf57827df1e8c692d Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 12 Apr 2022 20:00:36 +0200 +Subject: [PATCH] adapters: fix build with libressl >= 2.8.0 (#589) + +Fix the following build failure with libressl >= 2.8.0 raised since +https://github.com/libressl-portable/openbsd/commit/703abab3212b397d500bd8c2f5f7ee6b03feb159: + +/nvmedata/autobuild/instance-20/output-1/build/azure-iot-sdk-c-LTS_01_2022_Ref01/c-utility/adapters/tlsio_openssl.c: In function 'add_certificate_to_store': +/nvmedata/autobuild/instance-20/output-1/build/azure-iot-sdk-c-LTS_01_2022_Ref01/c-utility/adapters/tlsio_openssl.c:961:24: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers] + 961 | bio_method = BIO_s_mem(); + | ^ +cc1: all warnings being treated as errors + +Fix #585 + +Fixes: + - http://autobuild.buildroot.org/results/873f86fb2311ed29a791140f2341943475985fcc + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/Azure/azure-c-shared-utility/commit/43b313988d66de144a528e4cf57827df1e8c692d] +--- + adapters/tlsio_openssl.c | 2 +- + adapters/x509_openssl.c | 4 ++-- + tests/x509_openssl_ut/x509_openssl_ut.c | 4 ++-- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/c-utility/adapters/tlsio_openssl.c b/c-utility/adapters/tlsio_openssl.c +index 4a3df8496..aa48ce52d 100644 +--- a/c-utility/adapters/tlsio_openssl.c ++++ b/c-utility/adapters/tlsio_openssl.c +@@ -953,7 +953,7 @@ static int add_certificate_to_store(TLS_IO_INSTANCE* tls_io_instance, const char + } + else + { +-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) ++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) || defined(LIBRESSL_VERSION_NUMBER) + const BIO_METHOD* bio_method; + #else + BIO_METHOD* bio_method; +diff --git a/c-utility/adapters/x509_openssl.c b/c-utility/adapters/x509_openssl.c +index 5a9e5ac29..46195b403 100644 +--- a/c-utility/adapters/x509_openssl.c ++++ b/c-utility/adapters/x509_openssl.c +@@ -75,7 +75,7 @@ static int load_certificate_chain(SSL_CTX* ssl_ctx, const char* certificate) + // certificates. + + /* Codes_SRS_X509_OPENSSL_07_006: [ If successful x509_openssl_add_ecc_credentials shall to import each certificate in the cert chain. ] */ +-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) ++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) || defined(LIBRESSL_VERSION_NUMBER) + SSL_CTX_clear_extra_chain_certs(ssl_ctx); + #else + if (ssl_ctx->extra_certs != NULL) +@@ -345,7 +345,7 @@ int x509_openssl_add_certificates(SSL_CTX* ssl_ctx, const char* certificates) + else + { + /*Codes_SRS_X509_OPENSSL_02_012: [ x509_openssl_add_certificates shall get the memory BIO method function by calling BIO_s_mem. ]*/ +-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) ++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) || defined(LIBRESSL_VERSION_NUMBER) + const BIO_METHOD* bio_method; + #else + BIO_METHOD* bio_method; +diff --git a/c-utility/tests/x509_openssl_ut/x509_openssl_ut.c b/c-utility/tests/x509_openssl_ut/x509_openssl_ut.c +index b3349f6b0..f73191e3f 100644 +--- a/c-utility/tests/x509_openssl_ut/x509_openssl_ut.c ++++ b/c-utility/tests/x509_openssl_ut/x509_openssl_ut.c +@@ -348,7 +348,7 @@ BEGIN_TEST_SUITE(x509_openssl_unittests) + STRICT_EXPECTED_CALL(BIO_new_mem_buf((void*)TEST_PUBLIC_CERTIFICATE, -1)); + STRICT_EXPECTED_CALL(PEM_read_bio_X509_AUX(IGNORED_PTR_ARG, NULL, NULL, NULL)); + STRICT_EXPECTED_CALL(SSL_CTX_use_certificate(IGNORED_PTR_ARG, IGNORED_PTR_ARG)); +-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) ++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) || defined(LIBRESSL_VERSION_NUMBER) + // Actual macro name: SSL_CTX_clear_extra_chain_certs: + STRICT_EXPECTED_CALL(SSL_CTX_ctrl(TEST_SSL_CTX_STRUCTURE, SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS, 0, NULL)); + #endif +@@ -537,7 +537,7 @@ BEGIN_TEST_SUITE(x509_openssl_unittests) + + umock_c_negative_tests_snapshot(); + +-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) ++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) || defined(LIBRESSL_VERSION_NUMBER) + #ifdef __APPLE__ + size_t calls_cannot_fail_rsa[] = { 4, 5, 6, 10, 12, 13, 14 }; + size_t calls_cannot_fail_ecc[] = { 3, 4, 8, 10, 11, 12} ; diff --git a/package/b43-firmware/b43-firmware.hash b/package/b43-firmware/b43-firmware.hash index efc1a6cf0..0e61b6b5a 100644 --- a/package/b43-firmware/b43-firmware.hash +++ b/package/b43-firmware/b43-firmware.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 f1e7067aac5b62b67b8b6e4c517990277804339ac16065eb13c731ff909ae46f broadcom-wl-5.100.138.tar.bz2 -sha256 26a8c370f48fc129d0731cfd751c36cae1419b0bc8ca35781126744e60eae009 broadcom-wl-5.10.56.27.3_mipsel.tar.bz2 +sha256 f1e7067aac5b62b67b8b6e4c517990277804339ac16065eb13c731ff909ae46f broadcom-wl-5.100.138.tar.bz2 +sha256 26a8c370f48fc129d0731cfd751c36cae1419b0bc8ca35781126744e60eae009 broadcom-wl-5.10.56.27.3_mipsel.tar.bz2 diff --git a/package/b43-fwcutter/b43-fwcutter.hash b/package/b43-fwcutter/b43-fwcutter.hash index e83a49711..9d125daa6 100644 --- a/package/b43-fwcutter/b43-fwcutter.hash +++ b/package/b43-fwcutter/b43-fwcutter.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 d6ea85310df6ae08e7f7e46d8b975e17fc867145ee249307413cfbe15d7121ce b43-fwcutter-019.tar.bz2 +sha256 d6ea85310df6ae08e7f7e46d8b975e17fc867145ee249307413cfbe15d7121ce b43-fwcutter-019.tar.bz2 # Hash for license file -sha256 6af9fc424d57f29b7e59b35e52d4a91aca80304506275f2c0c076317fc6eb583 COPYING +sha256 6af9fc424d57f29b7e59b35e52d4a91aca80304506275f2c0c076317fc6eb583 COPYING diff --git a/package/babeltrace2/babeltrace2.mk b/package/babeltrace2/babeltrace2.mk index eedfc72b8..2b2ab7db4 100644 --- a/package/babeltrace2/babeltrace2.mk +++ b/package/babeltrace2/babeltrace2.mk @@ -17,7 +17,7 @@ BABELTRACE2_DEPENDENCIES = libglib2 host-pkgconf # options for host packages, just build support for it # unconditionally. HOST_BABELTRACE2_DEPENDENCIES = host-libglib2 host-pkgconf host-elfutils -HOST_BABELTRACE2_CONF_OPTS += --enable-debug-info +HOST_BABELTRACE2_CONF_OPTS += --disable-man-pages --enable-debug-info ifeq ($(BR2_PACKAGE_ELFUTILS),y) BABELTRACE2_DEPENDENCIES += elfutils diff --git a/package/bandwidthd/Config.in b/package/bandwidthd/Config.in index 5a3529e0c..e2a6f1acb 100644 --- a/package/bandwidthd/Config.in +++ b/package/bandwidthd/Config.in @@ -36,6 +36,7 @@ config BR2_PACKAGE_BANDWIDTHD_POSTGRESQL bool "enable postgresql log target support" depends on !BR2_STATIC_LIBS depends on BR2_USE_WCHAR # postgresql + depends on !BR2_OPTIMIZE_FAST # postgresql select BR2_PACKAGE_POSTGRESQL help Enable support for logging the bandwidthd data to a remote @@ -46,6 +47,9 @@ config BR2_PACKAGE_BANDWIDTHD_POSTGRESQL comment "postgresql support needs a toolchain w/ dynamic library, wchar" depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR +comment "postgresql support can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST + config BR2_PACKAGE_BANDWIDTHD_SQLITE3 bool "enable sqlite3 log storage" select BR2_PACKAGE_SQLITE diff --git a/package/bash/bash.mk b/package/bash/bash.mk index 3aca22898..9a7b76824 100644 --- a/package/bash/bash.mk +++ b/package/bash/bash.mk @@ -62,10 +62,10 @@ endif # Add /bin/bash to /etc/shells otherwise some login tools like dropbear # can reject the user connection. See man shells. -define BASH_ADD_MKSH_TO_SHELLS +define BASH_ADD_BASH_TO_SHELLS grep -qsE '^/bin/bash$$' $(TARGET_DIR)/etc/shells \ || echo "/bin/bash" >> $(TARGET_DIR)/etc/shells endef -BASH_TARGET_FINALIZE_HOOKS += BASH_ADD_MKSH_TO_SHELLS +BASH_TARGET_FINALIZE_HOOKS += BASH_ADD_BASH_TO_SHELLS $(eval $(autotools-package)) diff --git a/package/batman-adv/batman-adv.mk b/package/batman-adv/batman-adv.mk index 838f9b185..6a1aaa699 100644 --- a/package/batman-adv/batman-adv.mk +++ b/package/batman-adv/batman-adv.mk @@ -35,6 +35,7 @@ define BATMAN_ADV_CONFIGURE_CMDS endef define BATMAN_ADV_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_CRC16) $(call KCONFIG_ENABLE_OPT,CONFIG_LIBCRC32C) endef diff --git a/package/bayer2rgb-neon/0001-src-convert.c-remove-have_cplusplus.patch b/package/bayer2rgb-neon/0001-src-convert.c-remove-have_cplusplus.patch new file mode 100644 index 000000000..71a6291a3 --- /dev/null +++ b/package/bayer2rgb-neon/0001-src-convert.c-remove-have_cplusplus.patch @@ -0,0 +1,56 @@ +From ca68dadf585aadb8adf582cd94f8fcdd4592e09f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 26 Jun 2022 10:31:49 +0200 +Subject: [PATCH] src/convert.c: remove have_cplusplus + +Remove have_cplusplus function for simplicity and to avoid the following +build failure: + +/home/autobuild/autobuild/instance-12/output-1/host/lib/gcc/aarch64-buildroot-linux-uclibc/10.3.0/../../../../aarch64-buildroot-linux-uclibc/bin/ld: ./.libs/libbayer2rgb3.so: undefined reference to `__bayer2rgb_missing_convert_dumb_implementation' + +Fixes: + - http://autobuild.buildroot.org/results/69a637b7f1422ce2bf04dda573abb09388b9a02d + +Signed-off-by: Fabrice Fontaine +--- + src/convert.c | 19 +++++-------------- + 1 file changed, 5 insertions(+), 14 deletions(-) + +diff --git a/src/convert.c b/src/convert.c +index c852a14..83d631d 100644 +--- a/src/convert.c ++++ b/src/convert.c +@@ -27,25 +27,16 @@ static bool have_neon() + #endif + } + +-static bool have_cplusplus() +-{ +-#ifdef HAVE_CPLUSPLUS +- return true; +-#else +- return false; +-#endif +-} +- + void bayer2rgb_convert_dumb(struct image_in const *input, + struct image_out const *output, + struct image_conversion_info *info) + { ++#ifdef HAVE_CPLUSPLUS ++ return bayer2rgb_convert_cc(input, output, info); ++#else + extern void __bayer2rgb_missing_convert_dumb_implementation(); +- +- if (have_cplusplus()) +- return bayer2rgb_convert_cc(input, output, info); +- else +- __bayer2rgb_missing_convert_dumb_implementation(); ++ __bayer2rgb_missing_convert_dumb_implementation(); ++#endif + } + + void bayer2rgb_convert(struct image_in const *input, +-- +2.35.1 + diff --git a/package/bc/bc.hash b/package/bc/bc.hash index 6feca831d..a2565a2b5 100644 --- a/package/bc/bc.hash +++ b/package/bc/bc.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a bc-1.07.1.tar.gz -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING -sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LIB +sha256 62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a bc-1.07.1.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LIB diff --git a/package/bcache-tools/bcache-tools.hash b/package/bcache-tools/bcache-tools.hash index d80ec44a7..7548c4aab 100644 --- a/package/bcache-tools/bcache-tools.hash +++ b/package/bcache-tools/bcache-tools.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 d56923936f37287efc57a46315679102ef2c86cd0be5874590320acd48c1201c bcache-tools-1.0.8.tar.gz -sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING +sha256 d56923936f37287efc57a46315679102ef2c86cd0be5874590320acd48c1201c bcache-tools-1.0.8.tar.gz +sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING diff --git a/package/bcg729/bcg729.hash b/package/bcg729/bcg729.hash index 4dbfbbbbb..94ccdf6d0 100644 --- a/package/bcg729/bcg729.hash +++ b/package/bcg729/bcg729.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 94b3542a06cbd96306efc19f959f9febae62806a22599063f82a8c33e989d48b bcg729-1.0.4.tar.gz -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 94b3542a06cbd96306efc19f959f9febae62806a22599063f82a8c33e989d48b bcg729-1.0.4.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/bdwgc/bdwgc.hash b/package/bdwgc/bdwgc.hash index d0459969b..427693908 100644 --- a/package/bdwgc/bdwgc.hash +++ b/package/bdwgc/bdwgc.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 3b4914abc9fa76593596773e4da671d7ed4d5390e3d46fbf2e5f155e121bea11 gc-8.0.6.tar.gz -sha256 0aab7a56a92ed878c4a5464cf282d65f38bcdee64fe9cf213e26254bddb3f340 README.QUICK +sha256 3b4914abc9fa76593596773e4da671d7ed4d5390e3d46fbf2e5f155e121bea11 gc-8.0.6.tar.gz +sha256 0aab7a56a92ed878c4a5464cf282d65f38bcdee64fe9cf213e26254bddb3f340 README.QUICK diff --git a/package/bdwgc/bdwgc.mk b/package/bdwgc/bdwgc.mk index d1c9d4dfd..cefa97599 100644 --- a/package/bdwgc/bdwgc.mk +++ b/package/bdwgc/bdwgc.mk @@ -21,6 +21,9 @@ endif ifeq ($(BR2_STATIC_LIBS),y) BDWGC_CFLAGS_EXTRA += -DGC_NO_DLOPEN endif +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS_NPTL),) +BDWGC_CFLAGS_EXTRA += -DNO_PTHREAD_GETATTR_NP +endif # Ensure we use the system libatomic_ops, and not the internal one. BDWGC_CONF_OPTS += --with-libatomic-ops=yes diff --git a/package/bearssl/0001-Fix-missing-objdir-dependency.patch b/package/bearssl/0001-Fix-missing-objdir-dependency.patch new file mode 100644 index 000000000..4d4d9ee70 --- /dev/null +++ b/package/bearssl/0001-Fix-missing-objdir-dependency.patch @@ -0,0 +1,1252 @@ +From 6fddb4056e0b8f72c2602ef82dcd973704354962 Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Mon, 12 Dec 2022 10:12:58 -0700 +Subject: [PATCH] Fix missing objdir dependency. + +Make targets within $(OBJDIR) must depend on the $(OBJDIR) +target. + +Fixes: +Assembler messages: +Fatal error: can't create build/obj/x509_minimal_full.o: No such file or directory +make[2]: *** [mk/Rules.mk:1190: build/obj/x509_minimal_full.o] Error 1 shuffle=reverse + +Signed-off-by: James Hilliard +Cc: Thomas Pornin +Cc: Thomas Pornin +[Upstream status: emailed patch to maintainer] +--- + mk/Rules.mk | 594 +++++++++++++++++++++++++------------------------- + mk/mkrules.sh | 8 +- + 2 files changed, 301 insertions(+), 301 deletions(-) + +diff --git a/mk/Rules.mk b/mk/Rules.mk +index b480bd6..a868977 100644 +--- a/mk/Rules.mk ++++ b/mk/Rules.mk +@@ -358,893 +358,893 @@ $(TESTSPEED): $(BEARSSLLIB) $(OBJTESTSPEED) + $(TESTX509): $(BEARSSLLIB) $(OBJTESTX509) + $(LD) $(LDFLAGS) $(LDOUT)$(TESTX509) $(OBJTESTX509) $(BEARSSLLIB) + +-$(OBJDIR)$Psettings$O: src$Psettings.c $(HEADERSPRIV) ++$(OBJDIR)$Psettings$O: $(OBJDIR) src$Psettings.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Psettings$O src$Psettings.c + +-$(OBJDIR)$Pccm$O: src$Paead$Pccm.c $(HEADERSPRIV) ++$(OBJDIR)$Pccm$O: $(OBJDIR) src$Paead$Pccm.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pccm$O src$Paead$Pccm.c + +-$(OBJDIR)$Peax$O: src$Paead$Peax.c $(HEADERSPRIV) ++$(OBJDIR)$Peax$O: $(OBJDIR) src$Paead$Peax.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Peax$O src$Paead$Peax.c + +-$(OBJDIR)$Pgcm$O: src$Paead$Pgcm.c $(HEADERSPRIV) ++$(OBJDIR)$Pgcm$O: $(OBJDIR) src$Paead$Pgcm.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pgcm$O src$Paead$Pgcm.c + +-$(OBJDIR)$Pccopy$O: src$Pcodec$Pccopy.c $(HEADERSPRIV) ++$(OBJDIR)$Pccopy$O: $(OBJDIR) src$Pcodec$Pccopy.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pccopy$O src$Pcodec$Pccopy.c + +-$(OBJDIR)$Pdec16be$O: src$Pcodec$Pdec16be.c $(HEADERSPRIV) ++$(OBJDIR)$Pdec16be$O: $(OBJDIR) src$Pcodec$Pdec16be.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdec16be$O src$Pcodec$Pdec16be.c + +-$(OBJDIR)$Pdec16le$O: src$Pcodec$Pdec16le.c $(HEADERSPRIV) ++$(OBJDIR)$Pdec16le$O: $(OBJDIR) src$Pcodec$Pdec16le.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdec16le$O src$Pcodec$Pdec16le.c + +-$(OBJDIR)$Pdec32be$O: src$Pcodec$Pdec32be.c $(HEADERSPRIV) ++$(OBJDIR)$Pdec32be$O: $(OBJDIR) src$Pcodec$Pdec32be.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdec32be$O src$Pcodec$Pdec32be.c + +-$(OBJDIR)$Pdec32le$O: src$Pcodec$Pdec32le.c $(HEADERSPRIV) ++$(OBJDIR)$Pdec32le$O: $(OBJDIR) src$Pcodec$Pdec32le.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdec32le$O src$Pcodec$Pdec32le.c + +-$(OBJDIR)$Pdec64be$O: src$Pcodec$Pdec64be.c $(HEADERSPRIV) ++$(OBJDIR)$Pdec64be$O: $(OBJDIR) src$Pcodec$Pdec64be.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdec64be$O src$Pcodec$Pdec64be.c + +-$(OBJDIR)$Pdec64le$O: src$Pcodec$Pdec64le.c $(HEADERSPRIV) ++$(OBJDIR)$Pdec64le$O: $(OBJDIR) src$Pcodec$Pdec64le.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdec64le$O src$Pcodec$Pdec64le.c + +-$(OBJDIR)$Penc16be$O: src$Pcodec$Penc16be.c $(HEADERSPRIV) ++$(OBJDIR)$Penc16be$O: $(OBJDIR) src$Pcodec$Penc16be.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Penc16be$O src$Pcodec$Penc16be.c + +-$(OBJDIR)$Penc16le$O: src$Pcodec$Penc16le.c $(HEADERSPRIV) ++$(OBJDIR)$Penc16le$O: $(OBJDIR) src$Pcodec$Penc16le.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Penc16le$O src$Pcodec$Penc16le.c + +-$(OBJDIR)$Penc32be$O: src$Pcodec$Penc32be.c $(HEADERSPRIV) ++$(OBJDIR)$Penc32be$O: $(OBJDIR) src$Pcodec$Penc32be.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Penc32be$O src$Pcodec$Penc32be.c + +-$(OBJDIR)$Penc32le$O: src$Pcodec$Penc32le.c $(HEADERSPRIV) ++$(OBJDIR)$Penc32le$O: $(OBJDIR) src$Pcodec$Penc32le.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Penc32le$O src$Pcodec$Penc32le.c + +-$(OBJDIR)$Penc64be$O: src$Pcodec$Penc64be.c $(HEADERSPRIV) ++$(OBJDIR)$Penc64be$O: $(OBJDIR) src$Pcodec$Penc64be.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Penc64be$O src$Pcodec$Penc64be.c + +-$(OBJDIR)$Penc64le$O: src$Pcodec$Penc64le.c $(HEADERSPRIV) ++$(OBJDIR)$Penc64le$O: $(OBJDIR) src$Pcodec$Penc64le.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Penc64le$O src$Pcodec$Penc64le.c + +-$(OBJDIR)$Ppemdec$O: src$Pcodec$Ppemdec.c $(HEADERSPRIV) ++$(OBJDIR)$Ppemdec$O: $(OBJDIR) src$Pcodec$Ppemdec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Ppemdec$O src$Pcodec$Ppemdec.c + +-$(OBJDIR)$Ppemenc$O: src$Pcodec$Ppemenc.c $(HEADERSPRIV) ++$(OBJDIR)$Ppemenc$O: $(OBJDIR) src$Pcodec$Ppemenc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Ppemenc$O src$Pcodec$Ppemenc.c + +-$(OBJDIR)$Pec_all_m15$O: src$Pec$Pec_all_m15.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_all_m15$O: $(OBJDIR) src$Pec$Pec_all_m15.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_all_m15$O src$Pec$Pec_all_m15.c + +-$(OBJDIR)$Pec_all_m31$O: src$Pec$Pec_all_m31.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_all_m31$O: $(OBJDIR) src$Pec$Pec_all_m31.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_all_m31$O src$Pec$Pec_all_m31.c + +-$(OBJDIR)$Pec_c25519_i15$O: src$Pec$Pec_c25519_i15.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_c25519_i15$O: $(OBJDIR) src$Pec$Pec_c25519_i15.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_c25519_i15$O src$Pec$Pec_c25519_i15.c + +-$(OBJDIR)$Pec_c25519_i31$O: src$Pec$Pec_c25519_i31.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_c25519_i31$O: $(OBJDIR) src$Pec$Pec_c25519_i31.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_c25519_i31$O src$Pec$Pec_c25519_i31.c + +-$(OBJDIR)$Pec_c25519_m15$O: src$Pec$Pec_c25519_m15.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_c25519_m15$O: $(OBJDIR) src$Pec$Pec_c25519_m15.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_c25519_m15$O src$Pec$Pec_c25519_m15.c + +-$(OBJDIR)$Pec_c25519_m31$O: src$Pec$Pec_c25519_m31.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_c25519_m31$O: $(OBJDIR) src$Pec$Pec_c25519_m31.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_c25519_m31$O src$Pec$Pec_c25519_m31.c + +-$(OBJDIR)$Pec_curve25519$O: src$Pec$Pec_curve25519.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_curve25519$O: $(OBJDIR) src$Pec$Pec_curve25519.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_curve25519$O src$Pec$Pec_curve25519.c + +-$(OBJDIR)$Pec_default$O: src$Pec$Pec_default.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_default$O: $(OBJDIR) src$Pec$Pec_default.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_default$O src$Pec$Pec_default.c + +-$(OBJDIR)$Pec_keygen$O: src$Pec$Pec_keygen.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_keygen$O: $(OBJDIR) src$Pec$Pec_keygen.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_keygen$O src$Pec$Pec_keygen.c + +-$(OBJDIR)$Pec_p256_m15$O: src$Pec$Pec_p256_m15.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_p256_m15$O: $(OBJDIR) src$Pec$Pec_p256_m15.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_p256_m15$O src$Pec$Pec_p256_m15.c + +-$(OBJDIR)$Pec_p256_m31$O: src$Pec$Pec_p256_m31.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_p256_m31$O: $(OBJDIR) src$Pec$Pec_p256_m31.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_p256_m31$O src$Pec$Pec_p256_m31.c + +-$(OBJDIR)$Pec_prime_i15$O: src$Pec$Pec_prime_i15.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_prime_i15$O: $(OBJDIR) src$Pec$Pec_prime_i15.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_prime_i15$O src$Pec$Pec_prime_i15.c + +-$(OBJDIR)$Pec_prime_i31$O: src$Pec$Pec_prime_i31.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_prime_i31$O: $(OBJDIR) src$Pec$Pec_prime_i31.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_prime_i31$O src$Pec$Pec_prime_i31.c + +-$(OBJDIR)$Pec_pubkey$O: src$Pec$Pec_pubkey.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_pubkey$O: $(OBJDIR) src$Pec$Pec_pubkey.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_pubkey$O src$Pec$Pec_pubkey.c + +-$(OBJDIR)$Pec_secp256r1$O: src$Pec$Pec_secp256r1.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_secp256r1$O: $(OBJDIR) src$Pec$Pec_secp256r1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_secp256r1$O src$Pec$Pec_secp256r1.c + +-$(OBJDIR)$Pec_secp384r1$O: src$Pec$Pec_secp384r1.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_secp384r1$O: $(OBJDIR) src$Pec$Pec_secp384r1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_secp384r1$O src$Pec$Pec_secp384r1.c + +-$(OBJDIR)$Pec_secp521r1$O: src$Pec$Pec_secp521r1.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_secp521r1$O: $(OBJDIR) src$Pec$Pec_secp521r1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_secp521r1$O src$Pec$Pec_secp521r1.c + +-$(OBJDIR)$Pecdsa_atr$O: src$Pec$Pecdsa_atr.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_atr$O: $(OBJDIR) src$Pec$Pecdsa_atr.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_atr$O src$Pec$Pecdsa_atr.c + +-$(OBJDIR)$Pecdsa_default_sign_asn1$O: src$Pec$Pecdsa_default_sign_asn1.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_default_sign_asn1$O: $(OBJDIR) src$Pec$Pecdsa_default_sign_asn1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_default_sign_asn1$O src$Pec$Pecdsa_default_sign_asn1.c + +-$(OBJDIR)$Pecdsa_default_sign_raw$O: src$Pec$Pecdsa_default_sign_raw.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_default_sign_raw$O: $(OBJDIR) src$Pec$Pecdsa_default_sign_raw.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_default_sign_raw$O src$Pec$Pecdsa_default_sign_raw.c + +-$(OBJDIR)$Pecdsa_default_vrfy_asn1$O: src$Pec$Pecdsa_default_vrfy_asn1.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_default_vrfy_asn1$O: $(OBJDIR) src$Pec$Pecdsa_default_vrfy_asn1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_default_vrfy_asn1$O src$Pec$Pecdsa_default_vrfy_asn1.c + +-$(OBJDIR)$Pecdsa_default_vrfy_raw$O: src$Pec$Pecdsa_default_vrfy_raw.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_default_vrfy_raw$O: $(OBJDIR) src$Pec$Pecdsa_default_vrfy_raw.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_default_vrfy_raw$O src$Pec$Pecdsa_default_vrfy_raw.c + +-$(OBJDIR)$Pecdsa_i15_bits$O: src$Pec$Pecdsa_i15_bits.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_i15_bits$O: $(OBJDIR) src$Pec$Pecdsa_i15_bits.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_i15_bits$O src$Pec$Pecdsa_i15_bits.c + +-$(OBJDIR)$Pecdsa_i15_sign_asn1$O: src$Pec$Pecdsa_i15_sign_asn1.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_i15_sign_asn1$O: $(OBJDIR) src$Pec$Pecdsa_i15_sign_asn1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_i15_sign_asn1$O src$Pec$Pecdsa_i15_sign_asn1.c + +-$(OBJDIR)$Pecdsa_i15_sign_raw$O: src$Pec$Pecdsa_i15_sign_raw.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_i15_sign_raw$O: $(OBJDIR) src$Pec$Pecdsa_i15_sign_raw.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_i15_sign_raw$O src$Pec$Pecdsa_i15_sign_raw.c + +-$(OBJDIR)$Pecdsa_i15_vrfy_asn1$O: src$Pec$Pecdsa_i15_vrfy_asn1.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_i15_vrfy_asn1$O: $(OBJDIR) src$Pec$Pecdsa_i15_vrfy_asn1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_i15_vrfy_asn1$O src$Pec$Pecdsa_i15_vrfy_asn1.c + +-$(OBJDIR)$Pecdsa_i15_vrfy_raw$O: src$Pec$Pecdsa_i15_vrfy_raw.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_i15_vrfy_raw$O: $(OBJDIR) src$Pec$Pecdsa_i15_vrfy_raw.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_i15_vrfy_raw$O src$Pec$Pecdsa_i15_vrfy_raw.c + +-$(OBJDIR)$Pecdsa_i31_bits$O: src$Pec$Pecdsa_i31_bits.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_i31_bits$O: $(OBJDIR) src$Pec$Pecdsa_i31_bits.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_i31_bits$O src$Pec$Pecdsa_i31_bits.c + +-$(OBJDIR)$Pecdsa_i31_sign_asn1$O: src$Pec$Pecdsa_i31_sign_asn1.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_i31_sign_asn1$O: $(OBJDIR) src$Pec$Pecdsa_i31_sign_asn1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_i31_sign_asn1$O src$Pec$Pecdsa_i31_sign_asn1.c + +-$(OBJDIR)$Pecdsa_i31_sign_raw$O: src$Pec$Pecdsa_i31_sign_raw.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_i31_sign_raw$O: $(OBJDIR) src$Pec$Pecdsa_i31_sign_raw.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_i31_sign_raw$O src$Pec$Pecdsa_i31_sign_raw.c + +-$(OBJDIR)$Pecdsa_i31_vrfy_asn1$O: src$Pec$Pecdsa_i31_vrfy_asn1.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_i31_vrfy_asn1$O: $(OBJDIR) src$Pec$Pecdsa_i31_vrfy_asn1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_i31_vrfy_asn1$O src$Pec$Pecdsa_i31_vrfy_asn1.c + +-$(OBJDIR)$Pecdsa_i31_vrfy_raw$O: src$Pec$Pecdsa_i31_vrfy_raw.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_i31_vrfy_raw$O: $(OBJDIR) src$Pec$Pecdsa_i31_vrfy_raw.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_i31_vrfy_raw$O src$Pec$Pecdsa_i31_vrfy_raw.c + +-$(OBJDIR)$Pecdsa_rta$O: src$Pec$Pecdsa_rta.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_rta$O: $(OBJDIR) src$Pec$Pecdsa_rta.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_rta$O src$Pec$Pecdsa_rta.c + +-$(OBJDIR)$Pdig_oid$O: src$Phash$Pdig_oid.c $(HEADERSPRIV) ++$(OBJDIR)$Pdig_oid$O: $(OBJDIR) src$Phash$Pdig_oid.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdig_oid$O src$Phash$Pdig_oid.c + +-$(OBJDIR)$Pdig_size$O: src$Phash$Pdig_size.c $(HEADERSPRIV) ++$(OBJDIR)$Pdig_size$O: $(OBJDIR) src$Phash$Pdig_size.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdig_size$O src$Phash$Pdig_size.c + +-$(OBJDIR)$Pghash_ctmul$O: src$Phash$Pghash_ctmul.c $(HEADERSPRIV) ++$(OBJDIR)$Pghash_ctmul$O: $(OBJDIR) src$Phash$Pghash_ctmul.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pghash_ctmul$O src$Phash$Pghash_ctmul.c + +-$(OBJDIR)$Pghash_ctmul32$O: src$Phash$Pghash_ctmul32.c $(HEADERSPRIV) ++$(OBJDIR)$Pghash_ctmul32$O: $(OBJDIR) src$Phash$Pghash_ctmul32.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pghash_ctmul32$O src$Phash$Pghash_ctmul32.c + +-$(OBJDIR)$Pghash_ctmul64$O: src$Phash$Pghash_ctmul64.c $(HEADERSPRIV) ++$(OBJDIR)$Pghash_ctmul64$O: $(OBJDIR) src$Phash$Pghash_ctmul64.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pghash_ctmul64$O src$Phash$Pghash_ctmul64.c + +-$(OBJDIR)$Pghash_pclmul$O: src$Phash$Pghash_pclmul.c $(HEADERSPRIV) ++$(OBJDIR)$Pghash_pclmul$O: $(OBJDIR) src$Phash$Pghash_pclmul.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pghash_pclmul$O src$Phash$Pghash_pclmul.c + +-$(OBJDIR)$Pghash_pwr8$O: src$Phash$Pghash_pwr8.c $(HEADERSPRIV) ++$(OBJDIR)$Pghash_pwr8$O: $(OBJDIR) src$Phash$Pghash_pwr8.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pghash_pwr8$O src$Phash$Pghash_pwr8.c + +-$(OBJDIR)$Pmd5$O: src$Phash$Pmd5.c $(HEADERSPRIV) ++$(OBJDIR)$Pmd5$O: $(OBJDIR) src$Phash$Pmd5.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pmd5$O src$Phash$Pmd5.c + +-$(OBJDIR)$Pmd5sha1$O: src$Phash$Pmd5sha1.c $(HEADERSPRIV) ++$(OBJDIR)$Pmd5sha1$O: $(OBJDIR) src$Phash$Pmd5sha1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pmd5sha1$O src$Phash$Pmd5sha1.c + +-$(OBJDIR)$Pmgf1$O: src$Phash$Pmgf1.c $(HEADERSPRIV) ++$(OBJDIR)$Pmgf1$O: $(OBJDIR) src$Phash$Pmgf1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pmgf1$O src$Phash$Pmgf1.c + +-$(OBJDIR)$Pmultihash$O: src$Phash$Pmultihash.c $(HEADERSPRIV) ++$(OBJDIR)$Pmultihash$O: $(OBJDIR) src$Phash$Pmultihash.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pmultihash$O src$Phash$Pmultihash.c + +-$(OBJDIR)$Psha1$O: src$Phash$Psha1.c $(HEADERSPRIV) ++$(OBJDIR)$Psha1$O: $(OBJDIR) src$Phash$Psha1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Psha1$O src$Phash$Psha1.c + +-$(OBJDIR)$Psha2big$O: src$Phash$Psha2big.c $(HEADERSPRIV) ++$(OBJDIR)$Psha2big$O: $(OBJDIR) src$Phash$Psha2big.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Psha2big$O src$Phash$Psha2big.c + +-$(OBJDIR)$Psha2small$O: src$Phash$Psha2small.c $(HEADERSPRIV) ++$(OBJDIR)$Psha2small$O: $(OBJDIR) src$Phash$Psha2small.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Psha2small$O src$Phash$Psha2small.c + +-$(OBJDIR)$Pi15_add$O: src$Pint$Pi15_add.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_add$O: $(OBJDIR) src$Pint$Pi15_add.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_add$O src$Pint$Pi15_add.c + +-$(OBJDIR)$Pi15_bitlen$O: src$Pint$Pi15_bitlen.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_bitlen$O: $(OBJDIR) src$Pint$Pi15_bitlen.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_bitlen$O src$Pint$Pi15_bitlen.c + +-$(OBJDIR)$Pi15_decmod$O: src$Pint$Pi15_decmod.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_decmod$O: $(OBJDIR) src$Pint$Pi15_decmod.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_decmod$O src$Pint$Pi15_decmod.c + +-$(OBJDIR)$Pi15_decode$O: src$Pint$Pi15_decode.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_decode$O: $(OBJDIR) src$Pint$Pi15_decode.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_decode$O src$Pint$Pi15_decode.c + +-$(OBJDIR)$Pi15_decred$O: src$Pint$Pi15_decred.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_decred$O: $(OBJDIR) src$Pint$Pi15_decred.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_decred$O src$Pint$Pi15_decred.c + +-$(OBJDIR)$Pi15_encode$O: src$Pint$Pi15_encode.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_encode$O: $(OBJDIR) src$Pint$Pi15_encode.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_encode$O src$Pint$Pi15_encode.c + +-$(OBJDIR)$Pi15_fmont$O: src$Pint$Pi15_fmont.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_fmont$O: $(OBJDIR) src$Pint$Pi15_fmont.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_fmont$O src$Pint$Pi15_fmont.c + +-$(OBJDIR)$Pi15_iszero$O: src$Pint$Pi15_iszero.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_iszero$O: $(OBJDIR) src$Pint$Pi15_iszero.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_iszero$O src$Pint$Pi15_iszero.c + +-$(OBJDIR)$Pi15_moddiv$O: src$Pint$Pi15_moddiv.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_moddiv$O: $(OBJDIR) src$Pint$Pi15_moddiv.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_moddiv$O src$Pint$Pi15_moddiv.c + +-$(OBJDIR)$Pi15_modpow$O: src$Pint$Pi15_modpow.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_modpow$O: $(OBJDIR) src$Pint$Pi15_modpow.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_modpow$O src$Pint$Pi15_modpow.c + +-$(OBJDIR)$Pi15_modpow2$O: src$Pint$Pi15_modpow2.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_modpow2$O: $(OBJDIR) src$Pint$Pi15_modpow2.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_modpow2$O src$Pint$Pi15_modpow2.c + +-$(OBJDIR)$Pi15_montmul$O: src$Pint$Pi15_montmul.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_montmul$O: $(OBJDIR) src$Pint$Pi15_montmul.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_montmul$O src$Pint$Pi15_montmul.c + +-$(OBJDIR)$Pi15_mulacc$O: src$Pint$Pi15_mulacc.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_mulacc$O: $(OBJDIR) src$Pint$Pi15_mulacc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_mulacc$O src$Pint$Pi15_mulacc.c + +-$(OBJDIR)$Pi15_muladd$O: src$Pint$Pi15_muladd.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_muladd$O: $(OBJDIR) src$Pint$Pi15_muladd.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_muladd$O src$Pint$Pi15_muladd.c + +-$(OBJDIR)$Pi15_ninv15$O: src$Pint$Pi15_ninv15.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_ninv15$O: $(OBJDIR) src$Pint$Pi15_ninv15.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_ninv15$O src$Pint$Pi15_ninv15.c + +-$(OBJDIR)$Pi15_reduce$O: src$Pint$Pi15_reduce.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_reduce$O: $(OBJDIR) src$Pint$Pi15_reduce.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_reduce$O src$Pint$Pi15_reduce.c + +-$(OBJDIR)$Pi15_rshift$O: src$Pint$Pi15_rshift.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_rshift$O: $(OBJDIR) src$Pint$Pi15_rshift.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_rshift$O src$Pint$Pi15_rshift.c + +-$(OBJDIR)$Pi15_sub$O: src$Pint$Pi15_sub.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_sub$O: $(OBJDIR) src$Pint$Pi15_sub.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_sub$O src$Pint$Pi15_sub.c + +-$(OBJDIR)$Pi15_tmont$O: src$Pint$Pi15_tmont.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_tmont$O: $(OBJDIR) src$Pint$Pi15_tmont.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_tmont$O src$Pint$Pi15_tmont.c + +-$(OBJDIR)$Pi31_add$O: src$Pint$Pi31_add.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_add$O: $(OBJDIR) src$Pint$Pi31_add.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_add$O src$Pint$Pi31_add.c + +-$(OBJDIR)$Pi31_bitlen$O: src$Pint$Pi31_bitlen.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_bitlen$O: $(OBJDIR) src$Pint$Pi31_bitlen.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_bitlen$O src$Pint$Pi31_bitlen.c + +-$(OBJDIR)$Pi31_decmod$O: src$Pint$Pi31_decmod.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_decmod$O: $(OBJDIR) src$Pint$Pi31_decmod.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_decmod$O src$Pint$Pi31_decmod.c + +-$(OBJDIR)$Pi31_decode$O: src$Pint$Pi31_decode.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_decode$O: $(OBJDIR) src$Pint$Pi31_decode.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_decode$O src$Pint$Pi31_decode.c + +-$(OBJDIR)$Pi31_decred$O: src$Pint$Pi31_decred.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_decred$O: $(OBJDIR) src$Pint$Pi31_decred.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_decred$O src$Pint$Pi31_decred.c + +-$(OBJDIR)$Pi31_encode$O: src$Pint$Pi31_encode.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_encode$O: $(OBJDIR) src$Pint$Pi31_encode.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_encode$O src$Pint$Pi31_encode.c + +-$(OBJDIR)$Pi31_fmont$O: src$Pint$Pi31_fmont.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_fmont$O: $(OBJDIR) src$Pint$Pi31_fmont.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_fmont$O src$Pint$Pi31_fmont.c + +-$(OBJDIR)$Pi31_iszero$O: src$Pint$Pi31_iszero.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_iszero$O: $(OBJDIR) src$Pint$Pi31_iszero.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_iszero$O src$Pint$Pi31_iszero.c + +-$(OBJDIR)$Pi31_moddiv$O: src$Pint$Pi31_moddiv.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_moddiv$O: $(OBJDIR) src$Pint$Pi31_moddiv.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_moddiv$O src$Pint$Pi31_moddiv.c + +-$(OBJDIR)$Pi31_modpow$O: src$Pint$Pi31_modpow.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_modpow$O: $(OBJDIR) src$Pint$Pi31_modpow.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_modpow$O src$Pint$Pi31_modpow.c + +-$(OBJDIR)$Pi31_modpow2$O: src$Pint$Pi31_modpow2.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_modpow2$O: $(OBJDIR) src$Pint$Pi31_modpow2.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_modpow2$O src$Pint$Pi31_modpow2.c + +-$(OBJDIR)$Pi31_montmul$O: src$Pint$Pi31_montmul.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_montmul$O: $(OBJDIR) src$Pint$Pi31_montmul.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_montmul$O src$Pint$Pi31_montmul.c + +-$(OBJDIR)$Pi31_mulacc$O: src$Pint$Pi31_mulacc.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_mulacc$O: $(OBJDIR) src$Pint$Pi31_mulacc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_mulacc$O src$Pint$Pi31_mulacc.c + +-$(OBJDIR)$Pi31_muladd$O: src$Pint$Pi31_muladd.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_muladd$O: $(OBJDIR) src$Pint$Pi31_muladd.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_muladd$O src$Pint$Pi31_muladd.c + +-$(OBJDIR)$Pi31_ninv31$O: src$Pint$Pi31_ninv31.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_ninv31$O: $(OBJDIR) src$Pint$Pi31_ninv31.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_ninv31$O src$Pint$Pi31_ninv31.c + +-$(OBJDIR)$Pi31_reduce$O: src$Pint$Pi31_reduce.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_reduce$O: $(OBJDIR) src$Pint$Pi31_reduce.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_reduce$O src$Pint$Pi31_reduce.c + +-$(OBJDIR)$Pi31_rshift$O: src$Pint$Pi31_rshift.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_rshift$O: $(OBJDIR) src$Pint$Pi31_rshift.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_rshift$O src$Pint$Pi31_rshift.c + +-$(OBJDIR)$Pi31_sub$O: src$Pint$Pi31_sub.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_sub$O: $(OBJDIR) src$Pint$Pi31_sub.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_sub$O src$Pint$Pi31_sub.c + +-$(OBJDIR)$Pi31_tmont$O: src$Pint$Pi31_tmont.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_tmont$O: $(OBJDIR) src$Pint$Pi31_tmont.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_tmont$O src$Pint$Pi31_tmont.c + +-$(OBJDIR)$Pi32_add$O: src$Pint$Pi32_add.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_add$O: $(OBJDIR) src$Pint$Pi32_add.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_add$O src$Pint$Pi32_add.c + +-$(OBJDIR)$Pi32_bitlen$O: src$Pint$Pi32_bitlen.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_bitlen$O: $(OBJDIR) src$Pint$Pi32_bitlen.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_bitlen$O src$Pint$Pi32_bitlen.c + +-$(OBJDIR)$Pi32_decmod$O: src$Pint$Pi32_decmod.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_decmod$O: $(OBJDIR) src$Pint$Pi32_decmod.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_decmod$O src$Pint$Pi32_decmod.c + +-$(OBJDIR)$Pi32_decode$O: src$Pint$Pi32_decode.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_decode$O: $(OBJDIR) src$Pint$Pi32_decode.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_decode$O src$Pint$Pi32_decode.c + +-$(OBJDIR)$Pi32_decred$O: src$Pint$Pi32_decred.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_decred$O: $(OBJDIR) src$Pint$Pi32_decred.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_decred$O src$Pint$Pi32_decred.c + +-$(OBJDIR)$Pi32_div32$O: src$Pint$Pi32_div32.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_div32$O: $(OBJDIR) src$Pint$Pi32_div32.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_div32$O src$Pint$Pi32_div32.c + +-$(OBJDIR)$Pi32_encode$O: src$Pint$Pi32_encode.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_encode$O: $(OBJDIR) src$Pint$Pi32_encode.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_encode$O src$Pint$Pi32_encode.c + +-$(OBJDIR)$Pi32_fmont$O: src$Pint$Pi32_fmont.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_fmont$O: $(OBJDIR) src$Pint$Pi32_fmont.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_fmont$O src$Pint$Pi32_fmont.c + +-$(OBJDIR)$Pi32_iszero$O: src$Pint$Pi32_iszero.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_iszero$O: $(OBJDIR) src$Pint$Pi32_iszero.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_iszero$O src$Pint$Pi32_iszero.c + +-$(OBJDIR)$Pi32_modpow$O: src$Pint$Pi32_modpow.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_modpow$O: $(OBJDIR) src$Pint$Pi32_modpow.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_modpow$O src$Pint$Pi32_modpow.c + +-$(OBJDIR)$Pi32_montmul$O: src$Pint$Pi32_montmul.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_montmul$O: $(OBJDIR) src$Pint$Pi32_montmul.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_montmul$O src$Pint$Pi32_montmul.c + +-$(OBJDIR)$Pi32_mulacc$O: src$Pint$Pi32_mulacc.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_mulacc$O: $(OBJDIR) src$Pint$Pi32_mulacc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_mulacc$O src$Pint$Pi32_mulacc.c + +-$(OBJDIR)$Pi32_muladd$O: src$Pint$Pi32_muladd.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_muladd$O: $(OBJDIR) src$Pint$Pi32_muladd.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_muladd$O src$Pint$Pi32_muladd.c + +-$(OBJDIR)$Pi32_ninv32$O: src$Pint$Pi32_ninv32.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_ninv32$O: $(OBJDIR) src$Pint$Pi32_ninv32.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_ninv32$O src$Pint$Pi32_ninv32.c + +-$(OBJDIR)$Pi32_reduce$O: src$Pint$Pi32_reduce.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_reduce$O: $(OBJDIR) src$Pint$Pi32_reduce.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_reduce$O src$Pint$Pi32_reduce.c + +-$(OBJDIR)$Pi32_sub$O: src$Pint$Pi32_sub.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_sub$O: $(OBJDIR) src$Pint$Pi32_sub.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_sub$O src$Pint$Pi32_sub.c + +-$(OBJDIR)$Pi32_tmont$O: src$Pint$Pi32_tmont.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_tmont$O: $(OBJDIR) src$Pint$Pi32_tmont.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_tmont$O src$Pint$Pi32_tmont.c + +-$(OBJDIR)$Pi62_modpow2$O: src$Pint$Pi62_modpow2.c $(HEADERSPRIV) ++$(OBJDIR)$Pi62_modpow2$O: $(OBJDIR) src$Pint$Pi62_modpow2.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi62_modpow2$O src$Pint$Pi62_modpow2.c + +-$(OBJDIR)$Phkdf$O: src$Pkdf$Phkdf.c $(HEADERSPRIV) ++$(OBJDIR)$Phkdf$O: $(OBJDIR) src$Pkdf$Phkdf.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Phkdf$O src$Pkdf$Phkdf.c + +-$(OBJDIR)$Phmac$O: src$Pmac$Phmac.c $(HEADERSPRIV) ++$(OBJDIR)$Phmac$O: $(OBJDIR) src$Pmac$Phmac.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Phmac$O src$Pmac$Phmac.c + +-$(OBJDIR)$Phmac_ct$O: src$Pmac$Phmac_ct.c $(HEADERSPRIV) ++$(OBJDIR)$Phmac_ct$O: $(OBJDIR) src$Pmac$Phmac_ct.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Phmac_ct$O src$Pmac$Phmac_ct.c + +-$(OBJDIR)$Paesctr_drbg$O: src$Prand$Paesctr_drbg.c $(HEADERSPRIV) ++$(OBJDIR)$Paesctr_drbg$O: $(OBJDIR) src$Prand$Paesctr_drbg.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paesctr_drbg$O src$Prand$Paesctr_drbg.c + +-$(OBJDIR)$Phmac_drbg$O: src$Prand$Phmac_drbg.c $(HEADERSPRIV) ++$(OBJDIR)$Phmac_drbg$O: $(OBJDIR) src$Prand$Phmac_drbg.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Phmac_drbg$O src$Prand$Phmac_drbg.c + +-$(OBJDIR)$Psysrng$O: src$Prand$Psysrng.c $(HEADERSPRIV) ++$(OBJDIR)$Psysrng$O: $(OBJDIR) src$Prand$Psysrng.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Psysrng$O src$Prand$Psysrng.c + +-$(OBJDIR)$Prsa_default_keygen$O: src$Prsa$Prsa_default_keygen.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_default_keygen$O: $(OBJDIR) src$Prsa$Prsa_default_keygen.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_default_keygen$O src$Prsa$Prsa_default_keygen.c + +-$(OBJDIR)$Prsa_default_modulus$O: src$Prsa$Prsa_default_modulus.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_default_modulus$O: $(OBJDIR) src$Prsa$Prsa_default_modulus.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_default_modulus$O src$Prsa$Prsa_default_modulus.c + +-$(OBJDIR)$Prsa_default_oaep_decrypt$O: src$Prsa$Prsa_default_oaep_decrypt.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_default_oaep_decrypt$O: $(OBJDIR) src$Prsa$Prsa_default_oaep_decrypt.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_default_oaep_decrypt$O src$Prsa$Prsa_default_oaep_decrypt.c + +-$(OBJDIR)$Prsa_default_oaep_encrypt$O: src$Prsa$Prsa_default_oaep_encrypt.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_default_oaep_encrypt$O: $(OBJDIR) src$Prsa$Prsa_default_oaep_encrypt.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_default_oaep_encrypt$O src$Prsa$Prsa_default_oaep_encrypt.c + +-$(OBJDIR)$Prsa_default_pkcs1_sign$O: src$Prsa$Prsa_default_pkcs1_sign.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_default_pkcs1_sign$O: $(OBJDIR) src$Prsa$Prsa_default_pkcs1_sign.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_default_pkcs1_sign$O src$Prsa$Prsa_default_pkcs1_sign.c + +-$(OBJDIR)$Prsa_default_pkcs1_vrfy$O: src$Prsa$Prsa_default_pkcs1_vrfy.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_default_pkcs1_vrfy$O: $(OBJDIR) src$Prsa$Prsa_default_pkcs1_vrfy.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_default_pkcs1_vrfy$O src$Prsa$Prsa_default_pkcs1_vrfy.c + +-$(OBJDIR)$Prsa_default_priv$O: src$Prsa$Prsa_default_priv.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_default_priv$O: $(OBJDIR) src$Prsa$Prsa_default_priv.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_default_priv$O src$Prsa$Prsa_default_priv.c + +-$(OBJDIR)$Prsa_default_privexp$O: src$Prsa$Prsa_default_privexp.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_default_privexp$O: $(OBJDIR) src$Prsa$Prsa_default_privexp.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_default_privexp$O src$Prsa$Prsa_default_privexp.c + +-$(OBJDIR)$Prsa_default_pub$O: src$Prsa$Prsa_default_pub.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_default_pub$O: $(OBJDIR) src$Prsa$Prsa_default_pub.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_default_pub$O src$Prsa$Prsa_default_pub.c + +-$(OBJDIR)$Prsa_default_pubexp$O: src$Prsa$Prsa_default_pubexp.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_default_pubexp$O: $(OBJDIR) src$Prsa$Prsa_default_pubexp.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_default_pubexp$O src$Prsa$Prsa_default_pubexp.c + +-$(OBJDIR)$Prsa_i15_keygen$O: src$Prsa$Prsa_i15_keygen.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i15_keygen$O: $(OBJDIR) src$Prsa$Prsa_i15_keygen.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i15_keygen$O src$Prsa$Prsa_i15_keygen.c + +-$(OBJDIR)$Prsa_i15_modulus$O: src$Prsa$Prsa_i15_modulus.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i15_modulus$O: $(OBJDIR) src$Prsa$Prsa_i15_modulus.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i15_modulus$O src$Prsa$Prsa_i15_modulus.c + +-$(OBJDIR)$Prsa_i15_oaep_decrypt$O: src$Prsa$Prsa_i15_oaep_decrypt.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i15_oaep_decrypt$O: $(OBJDIR) src$Prsa$Prsa_i15_oaep_decrypt.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i15_oaep_decrypt$O src$Prsa$Prsa_i15_oaep_decrypt.c + +-$(OBJDIR)$Prsa_i15_oaep_encrypt$O: src$Prsa$Prsa_i15_oaep_encrypt.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i15_oaep_encrypt$O: $(OBJDIR) src$Prsa$Prsa_i15_oaep_encrypt.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i15_oaep_encrypt$O src$Prsa$Prsa_i15_oaep_encrypt.c + +-$(OBJDIR)$Prsa_i15_pkcs1_sign$O: src$Prsa$Prsa_i15_pkcs1_sign.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i15_pkcs1_sign$O: $(OBJDIR) src$Prsa$Prsa_i15_pkcs1_sign.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i15_pkcs1_sign$O src$Prsa$Prsa_i15_pkcs1_sign.c + +-$(OBJDIR)$Prsa_i15_pkcs1_vrfy$O: src$Prsa$Prsa_i15_pkcs1_vrfy.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i15_pkcs1_vrfy$O: $(OBJDIR) src$Prsa$Prsa_i15_pkcs1_vrfy.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i15_pkcs1_vrfy$O src$Prsa$Prsa_i15_pkcs1_vrfy.c + +-$(OBJDIR)$Prsa_i15_priv$O: src$Prsa$Prsa_i15_priv.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i15_priv$O: $(OBJDIR) src$Prsa$Prsa_i15_priv.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i15_priv$O src$Prsa$Prsa_i15_priv.c + +-$(OBJDIR)$Prsa_i15_privexp$O: src$Prsa$Prsa_i15_privexp.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i15_privexp$O: $(OBJDIR) src$Prsa$Prsa_i15_privexp.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i15_privexp$O src$Prsa$Prsa_i15_privexp.c + +-$(OBJDIR)$Prsa_i15_pub$O: src$Prsa$Prsa_i15_pub.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i15_pub$O: $(OBJDIR) src$Prsa$Prsa_i15_pub.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i15_pub$O src$Prsa$Prsa_i15_pub.c + +-$(OBJDIR)$Prsa_i15_pubexp$O: src$Prsa$Prsa_i15_pubexp.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i15_pubexp$O: $(OBJDIR) src$Prsa$Prsa_i15_pubexp.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i15_pubexp$O src$Prsa$Prsa_i15_pubexp.c + +-$(OBJDIR)$Prsa_i31_keygen$O: src$Prsa$Prsa_i31_keygen.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i31_keygen$O: $(OBJDIR) src$Prsa$Prsa_i31_keygen.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i31_keygen$O src$Prsa$Prsa_i31_keygen.c + +-$(OBJDIR)$Prsa_i31_keygen_inner$O: src$Prsa$Prsa_i31_keygen_inner.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i31_keygen_inner$O: $(OBJDIR) src$Prsa$Prsa_i31_keygen_inner.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i31_keygen_inner$O src$Prsa$Prsa_i31_keygen_inner.c + +-$(OBJDIR)$Prsa_i31_modulus$O: src$Prsa$Prsa_i31_modulus.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i31_modulus$O: $(OBJDIR) src$Prsa$Prsa_i31_modulus.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i31_modulus$O src$Prsa$Prsa_i31_modulus.c + +-$(OBJDIR)$Prsa_i31_oaep_decrypt$O: src$Prsa$Prsa_i31_oaep_decrypt.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i31_oaep_decrypt$O: $(OBJDIR) src$Prsa$Prsa_i31_oaep_decrypt.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i31_oaep_decrypt$O src$Prsa$Prsa_i31_oaep_decrypt.c + +-$(OBJDIR)$Prsa_i31_oaep_encrypt$O: src$Prsa$Prsa_i31_oaep_encrypt.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i31_oaep_encrypt$O: $(OBJDIR) src$Prsa$Prsa_i31_oaep_encrypt.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i31_oaep_encrypt$O src$Prsa$Prsa_i31_oaep_encrypt.c + +-$(OBJDIR)$Prsa_i31_pkcs1_sign$O: src$Prsa$Prsa_i31_pkcs1_sign.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i31_pkcs1_sign$O: $(OBJDIR) src$Prsa$Prsa_i31_pkcs1_sign.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i31_pkcs1_sign$O src$Prsa$Prsa_i31_pkcs1_sign.c + +-$(OBJDIR)$Prsa_i31_pkcs1_vrfy$O: src$Prsa$Prsa_i31_pkcs1_vrfy.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i31_pkcs1_vrfy$O: $(OBJDIR) src$Prsa$Prsa_i31_pkcs1_vrfy.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i31_pkcs1_vrfy$O src$Prsa$Prsa_i31_pkcs1_vrfy.c + +-$(OBJDIR)$Prsa_i31_priv$O: src$Prsa$Prsa_i31_priv.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i31_priv$O: $(OBJDIR) src$Prsa$Prsa_i31_priv.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i31_priv$O src$Prsa$Prsa_i31_priv.c + +-$(OBJDIR)$Prsa_i31_privexp$O: src$Prsa$Prsa_i31_privexp.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i31_privexp$O: $(OBJDIR) src$Prsa$Prsa_i31_privexp.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i31_privexp$O src$Prsa$Prsa_i31_privexp.c + +-$(OBJDIR)$Prsa_i31_pub$O: src$Prsa$Prsa_i31_pub.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i31_pub$O: $(OBJDIR) src$Prsa$Prsa_i31_pub.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i31_pub$O src$Prsa$Prsa_i31_pub.c + +-$(OBJDIR)$Prsa_i31_pubexp$O: src$Prsa$Prsa_i31_pubexp.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i31_pubexp$O: $(OBJDIR) src$Prsa$Prsa_i31_pubexp.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i31_pubexp$O src$Prsa$Prsa_i31_pubexp.c + +-$(OBJDIR)$Prsa_i32_oaep_decrypt$O: src$Prsa$Prsa_i32_oaep_decrypt.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i32_oaep_decrypt$O: $(OBJDIR) src$Prsa$Prsa_i32_oaep_decrypt.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i32_oaep_decrypt$O src$Prsa$Prsa_i32_oaep_decrypt.c + +-$(OBJDIR)$Prsa_i32_oaep_encrypt$O: src$Prsa$Prsa_i32_oaep_encrypt.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i32_oaep_encrypt$O: $(OBJDIR) src$Prsa$Prsa_i32_oaep_encrypt.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i32_oaep_encrypt$O src$Prsa$Prsa_i32_oaep_encrypt.c + +-$(OBJDIR)$Prsa_i32_pkcs1_sign$O: src$Prsa$Prsa_i32_pkcs1_sign.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i32_pkcs1_sign$O: $(OBJDIR) src$Prsa$Prsa_i32_pkcs1_sign.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i32_pkcs1_sign$O src$Prsa$Prsa_i32_pkcs1_sign.c + +-$(OBJDIR)$Prsa_i32_pkcs1_vrfy$O: src$Prsa$Prsa_i32_pkcs1_vrfy.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i32_pkcs1_vrfy$O: $(OBJDIR) src$Prsa$Prsa_i32_pkcs1_vrfy.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i32_pkcs1_vrfy$O src$Prsa$Prsa_i32_pkcs1_vrfy.c + +-$(OBJDIR)$Prsa_i32_priv$O: src$Prsa$Prsa_i32_priv.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i32_priv$O: $(OBJDIR) src$Prsa$Prsa_i32_priv.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i32_priv$O src$Prsa$Prsa_i32_priv.c + +-$(OBJDIR)$Prsa_i32_pub$O: src$Prsa$Prsa_i32_pub.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i32_pub$O: $(OBJDIR) src$Prsa$Prsa_i32_pub.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i32_pub$O src$Prsa$Prsa_i32_pub.c + +-$(OBJDIR)$Prsa_i62_keygen$O: src$Prsa$Prsa_i62_keygen.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i62_keygen$O: $(OBJDIR) src$Prsa$Prsa_i62_keygen.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i62_keygen$O src$Prsa$Prsa_i62_keygen.c + +-$(OBJDIR)$Prsa_i62_oaep_decrypt$O: src$Prsa$Prsa_i62_oaep_decrypt.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i62_oaep_decrypt$O: $(OBJDIR) src$Prsa$Prsa_i62_oaep_decrypt.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i62_oaep_decrypt$O src$Prsa$Prsa_i62_oaep_decrypt.c + +-$(OBJDIR)$Prsa_i62_oaep_encrypt$O: src$Prsa$Prsa_i62_oaep_encrypt.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i62_oaep_encrypt$O: $(OBJDIR) src$Prsa$Prsa_i62_oaep_encrypt.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i62_oaep_encrypt$O src$Prsa$Prsa_i62_oaep_encrypt.c + +-$(OBJDIR)$Prsa_i62_pkcs1_sign$O: src$Prsa$Prsa_i62_pkcs1_sign.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i62_pkcs1_sign$O: $(OBJDIR) src$Prsa$Prsa_i62_pkcs1_sign.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i62_pkcs1_sign$O src$Prsa$Prsa_i62_pkcs1_sign.c + +-$(OBJDIR)$Prsa_i62_pkcs1_vrfy$O: src$Prsa$Prsa_i62_pkcs1_vrfy.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i62_pkcs1_vrfy$O: $(OBJDIR) src$Prsa$Prsa_i62_pkcs1_vrfy.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i62_pkcs1_vrfy$O src$Prsa$Prsa_i62_pkcs1_vrfy.c + +-$(OBJDIR)$Prsa_i62_priv$O: src$Prsa$Prsa_i62_priv.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i62_priv$O: $(OBJDIR) src$Prsa$Prsa_i62_priv.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i62_priv$O src$Prsa$Prsa_i62_priv.c + +-$(OBJDIR)$Prsa_i62_pub$O: src$Prsa$Prsa_i62_pub.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i62_pub$O: $(OBJDIR) src$Prsa$Prsa_i62_pub.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i62_pub$O src$Prsa$Prsa_i62_pub.c + +-$(OBJDIR)$Prsa_oaep_pad$O: src$Prsa$Prsa_oaep_pad.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_oaep_pad$O: $(OBJDIR) src$Prsa$Prsa_oaep_pad.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_oaep_pad$O src$Prsa$Prsa_oaep_pad.c + +-$(OBJDIR)$Prsa_oaep_unpad$O: src$Prsa$Prsa_oaep_unpad.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_oaep_unpad$O: $(OBJDIR) src$Prsa$Prsa_oaep_unpad.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_oaep_unpad$O src$Prsa$Prsa_oaep_unpad.c + +-$(OBJDIR)$Prsa_pkcs1_sig_pad$O: src$Prsa$Prsa_pkcs1_sig_pad.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_pkcs1_sig_pad$O: $(OBJDIR) src$Prsa$Prsa_pkcs1_sig_pad.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_pkcs1_sig_pad$O src$Prsa$Prsa_pkcs1_sig_pad.c + +-$(OBJDIR)$Prsa_pkcs1_sig_unpad$O: src$Prsa$Prsa_pkcs1_sig_unpad.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_pkcs1_sig_unpad$O: $(OBJDIR) src$Prsa$Prsa_pkcs1_sig_unpad.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_pkcs1_sig_unpad$O src$Prsa$Prsa_pkcs1_sig_unpad.c + +-$(OBJDIR)$Prsa_ssl_decrypt$O: src$Prsa$Prsa_ssl_decrypt.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_ssl_decrypt$O: $(OBJDIR) src$Prsa$Prsa_ssl_decrypt.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_ssl_decrypt$O src$Prsa$Prsa_ssl_decrypt.c + +-$(OBJDIR)$Pprf$O: src$Pssl$Pprf.c $(HEADERSPRIV) ++$(OBJDIR)$Pprf$O: $(OBJDIR) src$Pssl$Pprf.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pprf$O src$Pssl$Pprf.c + +-$(OBJDIR)$Pprf_md5sha1$O: src$Pssl$Pprf_md5sha1.c $(HEADERSPRIV) ++$(OBJDIR)$Pprf_md5sha1$O: $(OBJDIR) src$Pssl$Pprf_md5sha1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pprf_md5sha1$O src$Pssl$Pprf_md5sha1.c + +-$(OBJDIR)$Pprf_sha256$O: src$Pssl$Pprf_sha256.c $(HEADERSPRIV) ++$(OBJDIR)$Pprf_sha256$O: $(OBJDIR) src$Pssl$Pprf_sha256.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pprf_sha256$O src$Pssl$Pprf_sha256.c + +-$(OBJDIR)$Pprf_sha384$O: src$Pssl$Pprf_sha384.c $(HEADERSPRIV) ++$(OBJDIR)$Pprf_sha384$O: $(OBJDIR) src$Pssl$Pprf_sha384.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pprf_sha384$O src$Pssl$Pprf_sha384.c + +-$(OBJDIR)$Pssl_ccert_single_ec$O: src$Pssl$Pssl_ccert_single_ec.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_ccert_single_ec$O: $(OBJDIR) src$Pssl$Pssl_ccert_single_ec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_ccert_single_ec$O src$Pssl$Pssl_ccert_single_ec.c + +-$(OBJDIR)$Pssl_ccert_single_rsa$O: src$Pssl$Pssl_ccert_single_rsa.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_ccert_single_rsa$O: $(OBJDIR) src$Pssl$Pssl_ccert_single_rsa.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_ccert_single_rsa$O src$Pssl$Pssl_ccert_single_rsa.c + +-$(OBJDIR)$Pssl_client$O: src$Pssl$Pssl_client.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_client$O: $(OBJDIR) src$Pssl$Pssl_client.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_client$O src$Pssl$Pssl_client.c + +-$(OBJDIR)$Pssl_client_default_rsapub$O: src$Pssl$Pssl_client_default_rsapub.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_client_default_rsapub$O: $(OBJDIR) src$Pssl$Pssl_client_default_rsapub.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_client_default_rsapub$O src$Pssl$Pssl_client_default_rsapub.c + +-$(OBJDIR)$Pssl_client_full$O: src$Pssl$Pssl_client_full.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_client_full$O: $(OBJDIR) src$Pssl$Pssl_client_full.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_client_full$O src$Pssl$Pssl_client_full.c + +-$(OBJDIR)$Pssl_engine$O: src$Pssl$Pssl_engine.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_engine$O: $(OBJDIR) src$Pssl$Pssl_engine.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_engine$O src$Pssl$Pssl_engine.c + +-$(OBJDIR)$Pssl_engine_default_aescbc$O: src$Pssl$Pssl_engine_default_aescbc.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_engine_default_aescbc$O: $(OBJDIR) src$Pssl$Pssl_engine_default_aescbc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_engine_default_aescbc$O src$Pssl$Pssl_engine_default_aescbc.c + +-$(OBJDIR)$Pssl_engine_default_aesccm$O: src$Pssl$Pssl_engine_default_aesccm.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_engine_default_aesccm$O: $(OBJDIR) src$Pssl$Pssl_engine_default_aesccm.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_engine_default_aesccm$O src$Pssl$Pssl_engine_default_aesccm.c + +-$(OBJDIR)$Pssl_engine_default_aesgcm$O: src$Pssl$Pssl_engine_default_aesgcm.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_engine_default_aesgcm$O: $(OBJDIR) src$Pssl$Pssl_engine_default_aesgcm.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_engine_default_aesgcm$O src$Pssl$Pssl_engine_default_aesgcm.c + +-$(OBJDIR)$Pssl_engine_default_chapol$O: src$Pssl$Pssl_engine_default_chapol.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_engine_default_chapol$O: $(OBJDIR) src$Pssl$Pssl_engine_default_chapol.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_engine_default_chapol$O src$Pssl$Pssl_engine_default_chapol.c + +-$(OBJDIR)$Pssl_engine_default_descbc$O: src$Pssl$Pssl_engine_default_descbc.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_engine_default_descbc$O: $(OBJDIR) src$Pssl$Pssl_engine_default_descbc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_engine_default_descbc$O src$Pssl$Pssl_engine_default_descbc.c + +-$(OBJDIR)$Pssl_engine_default_ec$O: src$Pssl$Pssl_engine_default_ec.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_engine_default_ec$O: $(OBJDIR) src$Pssl$Pssl_engine_default_ec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_engine_default_ec$O src$Pssl$Pssl_engine_default_ec.c + +-$(OBJDIR)$Pssl_engine_default_ecdsa$O: src$Pssl$Pssl_engine_default_ecdsa.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_engine_default_ecdsa$O: $(OBJDIR) src$Pssl$Pssl_engine_default_ecdsa.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_engine_default_ecdsa$O src$Pssl$Pssl_engine_default_ecdsa.c + +-$(OBJDIR)$Pssl_engine_default_rsavrfy$O: src$Pssl$Pssl_engine_default_rsavrfy.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_engine_default_rsavrfy$O: $(OBJDIR) src$Pssl$Pssl_engine_default_rsavrfy.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_engine_default_rsavrfy$O src$Pssl$Pssl_engine_default_rsavrfy.c + +-$(OBJDIR)$Pssl_hashes$O: src$Pssl$Pssl_hashes.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_hashes$O: $(OBJDIR) src$Pssl$Pssl_hashes.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_hashes$O src$Pssl$Pssl_hashes.c + +-$(OBJDIR)$Pssl_hs_client$O: src$Pssl$Pssl_hs_client.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_hs_client$O: $(OBJDIR) src$Pssl$Pssl_hs_client.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_hs_client$O src$Pssl$Pssl_hs_client.c + +-$(OBJDIR)$Pssl_hs_server$O: src$Pssl$Pssl_hs_server.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_hs_server$O: $(OBJDIR) src$Pssl$Pssl_hs_server.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_hs_server$O src$Pssl$Pssl_hs_server.c + +-$(OBJDIR)$Pssl_io$O: src$Pssl$Pssl_io.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_io$O: $(OBJDIR) src$Pssl$Pssl_io.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_io$O src$Pssl$Pssl_io.c + +-$(OBJDIR)$Pssl_keyexport$O: src$Pssl$Pssl_keyexport.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_keyexport$O: $(OBJDIR) src$Pssl$Pssl_keyexport.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_keyexport$O src$Pssl$Pssl_keyexport.c + +-$(OBJDIR)$Pssl_lru$O: src$Pssl$Pssl_lru.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_lru$O: $(OBJDIR) src$Pssl$Pssl_lru.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_lru$O src$Pssl$Pssl_lru.c + +-$(OBJDIR)$Pssl_rec_cbc$O: src$Pssl$Pssl_rec_cbc.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_rec_cbc$O: $(OBJDIR) src$Pssl$Pssl_rec_cbc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_rec_cbc$O src$Pssl$Pssl_rec_cbc.c + +-$(OBJDIR)$Pssl_rec_ccm$O: src$Pssl$Pssl_rec_ccm.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_rec_ccm$O: $(OBJDIR) src$Pssl$Pssl_rec_ccm.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_rec_ccm$O src$Pssl$Pssl_rec_ccm.c + +-$(OBJDIR)$Pssl_rec_chapol$O: src$Pssl$Pssl_rec_chapol.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_rec_chapol$O: $(OBJDIR) src$Pssl$Pssl_rec_chapol.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_rec_chapol$O src$Pssl$Pssl_rec_chapol.c + +-$(OBJDIR)$Pssl_rec_gcm$O: src$Pssl$Pssl_rec_gcm.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_rec_gcm$O: $(OBJDIR) src$Pssl$Pssl_rec_gcm.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_rec_gcm$O src$Pssl$Pssl_rec_gcm.c + +-$(OBJDIR)$Pssl_scert_single_ec$O: src$Pssl$Pssl_scert_single_ec.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_scert_single_ec$O: $(OBJDIR) src$Pssl$Pssl_scert_single_ec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_scert_single_ec$O src$Pssl$Pssl_scert_single_ec.c + +-$(OBJDIR)$Pssl_scert_single_rsa$O: src$Pssl$Pssl_scert_single_rsa.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_scert_single_rsa$O: $(OBJDIR) src$Pssl$Pssl_scert_single_rsa.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_scert_single_rsa$O src$Pssl$Pssl_scert_single_rsa.c + +-$(OBJDIR)$Pssl_server$O: src$Pssl$Pssl_server.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_server$O: $(OBJDIR) src$Pssl$Pssl_server.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_server$O src$Pssl$Pssl_server.c + +-$(OBJDIR)$Pssl_server_full_ec$O: src$Pssl$Pssl_server_full_ec.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_server_full_ec$O: $(OBJDIR) src$Pssl$Pssl_server_full_ec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_server_full_ec$O src$Pssl$Pssl_server_full_ec.c + +-$(OBJDIR)$Pssl_server_full_rsa$O: src$Pssl$Pssl_server_full_rsa.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_server_full_rsa$O: $(OBJDIR) src$Pssl$Pssl_server_full_rsa.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_server_full_rsa$O src$Pssl$Pssl_server_full_rsa.c + +-$(OBJDIR)$Pssl_server_mine2c$O: src$Pssl$Pssl_server_mine2c.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_server_mine2c$O: $(OBJDIR) src$Pssl$Pssl_server_mine2c.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_server_mine2c$O src$Pssl$Pssl_server_mine2c.c + +-$(OBJDIR)$Pssl_server_mine2g$O: src$Pssl$Pssl_server_mine2g.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_server_mine2g$O: $(OBJDIR) src$Pssl$Pssl_server_mine2g.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_server_mine2g$O src$Pssl$Pssl_server_mine2g.c + +-$(OBJDIR)$Pssl_server_minf2c$O: src$Pssl$Pssl_server_minf2c.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_server_minf2c$O: $(OBJDIR) src$Pssl$Pssl_server_minf2c.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_server_minf2c$O src$Pssl$Pssl_server_minf2c.c + +-$(OBJDIR)$Pssl_server_minf2g$O: src$Pssl$Pssl_server_minf2g.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_server_minf2g$O: $(OBJDIR) src$Pssl$Pssl_server_minf2g.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_server_minf2g$O src$Pssl$Pssl_server_minf2g.c + +-$(OBJDIR)$Pssl_server_minr2g$O: src$Pssl$Pssl_server_minr2g.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_server_minr2g$O: $(OBJDIR) src$Pssl$Pssl_server_minr2g.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_server_minr2g$O src$Pssl$Pssl_server_minr2g.c + +-$(OBJDIR)$Pssl_server_minu2g$O: src$Pssl$Pssl_server_minu2g.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_server_minu2g$O: $(OBJDIR) src$Pssl$Pssl_server_minu2g.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_server_minu2g$O src$Pssl$Pssl_server_minu2g.c + +-$(OBJDIR)$Pssl_server_minv2g$O: src$Pssl$Pssl_server_minv2g.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_server_minv2g$O: $(OBJDIR) src$Pssl$Pssl_server_minv2g.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_server_minv2g$O src$Pssl$Pssl_server_minv2g.c + +-$(OBJDIR)$Paes_big_cbcdec$O: src$Psymcipher$Paes_big_cbcdec.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_big_cbcdec$O: $(OBJDIR) src$Psymcipher$Paes_big_cbcdec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_big_cbcdec$O src$Psymcipher$Paes_big_cbcdec.c + +-$(OBJDIR)$Paes_big_cbcenc$O: src$Psymcipher$Paes_big_cbcenc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_big_cbcenc$O: $(OBJDIR) src$Psymcipher$Paes_big_cbcenc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_big_cbcenc$O src$Psymcipher$Paes_big_cbcenc.c + +-$(OBJDIR)$Paes_big_ctr$O: src$Psymcipher$Paes_big_ctr.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_big_ctr$O: $(OBJDIR) src$Psymcipher$Paes_big_ctr.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_big_ctr$O src$Psymcipher$Paes_big_ctr.c + +-$(OBJDIR)$Paes_big_ctrcbc$O: src$Psymcipher$Paes_big_ctrcbc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_big_ctrcbc$O: $(OBJDIR) src$Psymcipher$Paes_big_ctrcbc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_big_ctrcbc$O src$Psymcipher$Paes_big_ctrcbc.c + +-$(OBJDIR)$Paes_big_dec$O: src$Psymcipher$Paes_big_dec.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_big_dec$O: $(OBJDIR) src$Psymcipher$Paes_big_dec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_big_dec$O src$Psymcipher$Paes_big_dec.c + +-$(OBJDIR)$Paes_big_enc$O: src$Psymcipher$Paes_big_enc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_big_enc$O: $(OBJDIR) src$Psymcipher$Paes_big_enc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_big_enc$O src$Psymcipher$Paes_big_enc.c + +-$(OBJDIR)$Paes_common$O: src$Psymcipher$Paes_common.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_common$O: $(OBJDIR) src$Psymcipher$Paes_common.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_common$O src$Psymcipher$Paes_common.c + +-$(OBJDIR)$Paes_ct$O: src$Psymcipher$Paes_ct.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct$O: $(OBJDIR) src$Psymcipher$Paes_ct.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct$O src$Psymcipher$Paes_ct.c + +-$(OBJDIR)$Paes_ct64$O: src$Psymcipher$Paes_ct64.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct64$O: $(OBJDIR) src$Psymcipher$Paes_ct64.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct64$O src$Psymcipher$Paes_ct64.c + +-$(OBJDIR)$Paes_ct64_cbcdec$O: src$Psymcipher$Paes_ct64_cbcdec.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct64_cbcdec$O: $(OBJDIR) src$Psymcipher$Paes_ct64_cbcdec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct64_cbcdec$O src$Psymcipher$Paes_ct64_cbcdec.c + +-$(OBJDIR)$Paes_ct64_cbcenc$O: src$Psymcipher$Paes_ct64_cbcenc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct64_cbcenc$O: $(OBJDIR) src$Psymcipher$Paes_ct64_cbcenc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct64_cbcenc$O src$Psymcipher$Paes_ct64_cbcenc.c + +-$(OBJDIR)$Paes_ct64_ctr$O: src$Psymcipher$Paes_ct64_ctr.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct64_ctr$O: $(OBJDIR) src$Psymcipher$Paes_ct64_ctr.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct64_ctr$O src$Psymcipher$Paes_ct64_ctr.c + +-$(OBJDIR)$Paes_ct64_ctrcbc$O: src$Psymcipher$Paes_ct64_ctrcbc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct64_ctrcbc$O: $(OBJDIR) src$Psymcipher$Paes_ct64_ctrcbc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct64_ctrcbc$O src$Psymcipher$Paes_ct64_ctrcbc.c + +-$(OBJDIR)$Paes_ct64_dec$O: src$Psymcipher$Paes_ct64_dec.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct64_dec$O: $(OBJDIR) src$Psymcipher$Paes_ct64_dec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct64_dec$O src$Psymcipher$Paes_ct64_dec.c + +-$(OBJDIR)$Paes_ct64_enc$O: src$Psymcipher$Paes_ct64_enc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct64_enc$O: $(OBJDIR) src$Psymcipher$Paes_ct64_enc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct64_enc$O src$Psymcipher$Paes_ct64_enc.c + +-$(OBJDIR)$Paes_ct_cbcdec$O: src$Psymcipher$Paes_ct_cbcdec.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct_cbcdec$O: $(OBJDIR) src$Psymcipher$Paes_ct_cbcdec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct_cbcdec$O src$Psymcipher$Paes_ct_cbcdec.c + +-$(OBJDIR)$Paes_ct_cbcenc$O: src$Psymcipher$Paes_ct_cbcenc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct_cbcenc$O: $(OBJDIR) src$Psymcipher$Paes_ct_cbcenc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct_cbcenc$O src$Psymcipher$Paes_ct_cbcenc.c + +-$(OBJDIR)$Paes_ct_ctr$O: src$Psymcipher$Paes_ct_ctr.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct_ctr$O: $(OBJDIR) src$Psymcipher$Paes_ct_ctr.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct_ctr$O src$Psymcipher$Paes_ct_ctr.c + +-$(OBJDIR)$Paes_ct_ctrcbc$O: src$Psymcipher$Paes_ct_ctrcbc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct_ctrcbc$O: $(OBJDIR) src$Psymcipher$Paes_ct_ctrcbc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct_ctrcbc$O src$Psymcipher$Paes_ct_ctrcbc.c + +-$(OBJDIR)$Paes_ct_dec$O: src$Psymcipher$Paes_ct_dec.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct_dec$O: $(OBJDIR) src$Psymcipher$Paes_ct_dec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct_dec$O src$Psymcipher$Paes_ct_dec.c + +-$(OBJDIR)$Paes_ct_enc$O: src$Psymcipher$Paes_ct_enc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct_enc$O: $(OBJDIR) src$Psymcipher$Paes_ct_enc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct_enc$O src$Psymcipher$Paes_ct_enc.c + +-$(OBJDIR)$Paes_pwr8$O: src$Psymcipher$Paes_pwr8.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_pwr8$O: $(OBJDIR) src$Psymcipher$Paes_pwr8.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_pwr8$O src$Psymcipher$Paes_pwr8.c + +-$(OBJDIR)$Paes_pwr8_cbcdec$O: src$Psymcipher$Paes_pwr8_cbcdec.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_pwr8_cbcdec$O: $(OBJDIR) src$Psymcipher$Paes_pwr8_cbcdec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_pwr8_cbcdec$O src$Psymcipher$Paes_pwr8_cbcdec.c + +-$(OBJDIR)$Paes_pwr8_cbcenc$O: src$Psymcipher$Paes_pwr8_cbcenc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_pwr8_cbcenc$O: $(OBJDIR) src$Psymcipher$Paes_pwr8_cbcenc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_pwr8_cbcenc$O src$Psymcipher$Paes_pwr8_cbcenc.c + +-$(OBJDIR)$Paes_pwr8_ctr$O: src$Psymcipher$Paes_pwr8_ctr.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_pwr8_ctr$O: $(OBJDIR) src$Psymcipher$Paes_pwr8_ctr.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_pwr8_ctr$O src$Psymcipher$Paes_pwr8_ctr.c + +-$(OBJDIR)$Paes_pwr8_ctrcbc$O: src$Psymcipher$Paes_pwr8_ctrcbc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_pwr8_ctrcbc$O: $(OBJDIR) src$Psymcipher$Paes_pwr8_ctrcbc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_pwr8_ctrcbc$O src$Psymcipher$Paes_pwr8_ctrcbc.c + +-$(OBJDIR)$Paes_small_cbcdec$O: src$Psymcipher$Paes_small_cbcdec.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_small_cbcdec$O: $(OBJDIR) src$Psymcipher$Paes_small_cbcdec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_small_cbcdec$O src$Psymcipher$Paes_small_cbcdec.c + +-$(OBJDIR)$Paes_small_cbcenc$O: src$Psymcipher$Paes_small_cbcenc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_small_cbcenc$O: $(OBJDIR) src$Psymcipher$Paes_small_cbcenc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_small_cbcenc$O src$Psymcipher$Paes_small_cbcenc.c + +-$(OBJDIR)$Paes_small_ctr$O: src$Psymcipher$Paes_small_ctr.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_small_ctr$O: $(OBJDIR) src$Psymcipher$Paes_small_ctr.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_small_ctr$O src$Psymcipher$Paes_small_ctr.c + +-$(OBJDIR)$Paes_small_ctrcbc$O: src$Psymcipher$Paes_small_ctrcbc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_small_ctrcbc$O: $(OBJDIR) src$Psymcipher$Paes_small_ctrcbc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_small_ctrcbc$O src$Psymcipher$Paes_small_ctrcbc.c + +-$(OBJDIR)$Paes_small_dec$O: src$Psymcipher$Paes_small_dec.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_small_dec$O: $(OBJDIR) src$Psymcipher$Paes_small_dec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_small_dec$O src$Psymcipher$Paes_small_dec.c + +-$(OBJDIR)$Paes_small_enc$O: src$Psymcipher$Paes_small_enc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_small_enc$O: $(OBJDIR) src$Psymcipher$Paes_small_enc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_small_enc$O src$Psymcipher$Paes_small_enc.c + +-$(OBJDIR)$Paes_x86ni$O: src$Psymcipher$Paes_x86ni.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_x86ni$O: $(OBJDIR) src$Psymcipher$Paes_x86ni.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_x86ni$O src$Psymcipher$Paes_x86ni.c + +-$(OBJDIR)$Paes_x86ni_cbcdec$O: src$Psymcipher$Paes_x86ni_cbcdec.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_x86ni_cbcdec$O: $(OBJDIR) src$Psymcipher$Paes_x86ni_cbcdec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_x86ni_cbcdec$O src$Psymcipher$Paes_x86ni_cbcdec.c + +-$(OBJDIR)$Paes_x86ni_cbcenc$O: src$Psymcipher$Paes_x86ni_cbcenc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_x86ni_cbcenc$O: $(OBJDIR) src$Psymcipher$Paes_x86ni_cbcenc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_x86ni_cbcenc$O src$Psymcipher$Paes_x86ni_cbcenc.c + +-$(OBJDIR)$Paes_x86ni_ctr$O: src$Psymcipher$Paes_x86ni_ctr.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_x86ni_ctr$O: $(OBJDIR) src$Psymcipher$Paes_x86ni_ctr.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_x86ni_ctr$O src$Psymcipher$Paes_x86ni_ctr.c + +-$(OBJDIR)$Paes_x86ni_ctrcbc$O: src$Psymcipher$Paes_x86ni_ctrcbc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_x86ni_ctrcbc$O: $(OBJDIR) src$Psymcipher$Paes_x86ni_ctrcbc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_x86ni_ctrcbc$O src$Psymcipher$Paes_x86ni_ctrcbc.c + +-$(OBJDIR)$Pchacha20_ct$O: src$Psymcipher$Pchacha20_ct.c $(HEADERSPRIV) ++$(OBJDIR)$Pchacha20_ct$O: $(OBJDIR) src$Psymcipher$Pchacha20_ct.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pchacha20_ct$O src$Psymcipher$Pchacha20_ct.c + +-$(OBJDIR)$Pchacha20_sse2$O: src$Psymcipher$Pchacha20_sse2.c $(HEADERSPRIV) ++$(OBJDIR)$Pchacha20_sse2$O: $(OBJDIR) src$Psymcipher$Pchacha20_sse2.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pchacha20_sse2$O src$Psymcipher$Pchacha20_sse2.c + +-$(OBJDIR)$Pdes_ct$O: src$Psymcipher$Pdes_ct.c $(HEADERSPRIV) ++$(OBJDIR)$Pdes_ct$O: $(OBJDIR) src$Psymcipher$Pdes_ct.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdes_ct$O src$Psymcipher$Pdes_ct.c + +-$(OBJDIR)$Pdes_ct_cbcdec$O: src$Psymcipher$Pdes_ct_cbcdec.c $(HEADERSPRIV) ++$(OBJDIR)$Pdes_ct_cbcdec$O: $(OBJDIR) src$Psymcipher$Pdes_ct_cbcdec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdes_ct_cbcdec$O src$Psymcipher$Pdes_ct_cbcdec.c + +-$(OBJDIR)$Pdes_ct_cbcenc$O: src$Psymcipher$Pdes_ct_cbcenc.c $(HEADERSPRIV) ++$(OBJDIR)$Pdes_ct_cbcenc$O: $(OBJDIR) src$Psymcipher$Pdes_ct_cbcenc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdes_ct_cbcenc$O src$Psymcipher$Pdes_ct_cbcenc.c + +-$(OBJDIR)$Pdes_support$O: src$Psymcipher$Pdes_support.c $(HEADERSPRIV) ++$(OBJDIR)$Pdes_support$O: $(OBJDIR) src$Psymcipher$Pdes_support.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdes_support$O src$Psymcipher$Pdes_support.c + +-$(OBJDIR)$Pdes_tab$O: src$Psymcipher$Pdes_tab.c $(HEADERSPRIV) ++$(OBJDIR)$Pdes_tab$O: $(OBJDIR) src$Psymcipher$Pdes_tab.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdes_tab$O src$Psymcipher$Pdes_tab.c + +-$(OBJDIR)$Pdes_tab_cbcdec$O: src$Psymcipher$Pdes_tab_cbcdec.c $(HEADERSPRIV) ++$(OBJDIR)$Pdes_tab_cbcdec$O: $(OBJDIR) src$Psymcipher$Pdes_tab_cbcdec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdes_tab_cbcdec$O src$Psymcipher$Pdes_tab_cbcdec.c + +-$(OBJDIR)$Pdes_tab_cbcenc$O: src$Psymcipher$Pdes_tab_cbcenc.c $(HEADERSPRIV) ++$(OBJDIR)$Pdes_tab_cbcenc$O: $(OBJDIR) src$Psymcipher$Pdes_tab_cbcenc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdes_tab_cbcenc$O src$Psymcipher$Pdes_tab_cbcenc.c + +-$(OBJDIR)$Ppoly1305_ctmul$O: src$Psymcipher$Ppoly1305_ctmul.c $(HEADERSPRIV) ++$(OBJDIR)$Ppoly1305_ctmul$O: $(OBJDIR) src$Psymcipher$Ppoly1305_ctmul.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Ppoly1305_ctmul$O src$Psymcipher$Ppoly1305_ctmul.c + +-$(OBJDIR)$Ppoly1305_ctmul32$O: src$Psymcipher$Ppoly1305_ctmul32.c $(HEADERSPRIV) ++$(OBJDIR)$Ppoly1305_ctmul32$O: $(OBJDIR) src$Psymcipher$Ppoly1305_ctmul32.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Ppoly1305_ctmul32$O src$Psymcipher$Ppoly1305_ctmul32.c + +-$(OBJDIR)$Ppoly1305_ctmulq$O: src$Psymcipher$Ppoly1305_ctmulq.c $(HEADERSPRIV) ++$(OBJDIR)$Ppoly1305_ctmulq$O: $(OBJDIR) src$Psymcipher$Ppoly1305_ctmulq.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Ppoly1305_ctmulq$O src$Psymcipher$Ppoly1305_ctmulq.c + +-$(OBJDIR)$Ppoly1305_i15$O: src$Psymcipher$Ppoly1305_i15.c $(HEADERSPRIV) ++$(OBJDIR)$Ppoly1305_i15$O: $(OBJDIR) src$Psymcipher$Ppoly1305_i15.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Ppoly1305_i15$O src$Psymcipher$Ppoly1305_i15.c + +-$(OBJDIR)$Pasn1enc$O: src$Px509$Pasn1enc.c $(HEADERSPRIV) ++$(OBJDIR)$Pasn1enc$O: $(OBJDIR) src$Px509$Pasn1enc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pasn1enc$O src$Px509$Pasn1enc.c + +-$(OBJDIR)$Pencode_ec_pk8der$O: src$Px509$Pencode_ec_pk8der.c $(HEADERSPRIV) ++$(OBJDIR)$Pencode_ec_pk8der$O: $(OBJDIR) src$Px509$Pencode_ec_pk8der.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pencode_ec_pk8der$O src$Px509$Pencode_ec_pk8der.c + +-$(OBJDIR)$Pencode_ec_rawder$O: src$Px509$Pencode_ec_rawder.c $(HEADERSPRIV) ++$(OBJDIR)$Pencode_ec_rawder$O: $(OBJDIR) src$Px509$Pencode_ec_rawder.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pencode_ec_rawder$O src$Px509$Pencode_ec_rawder.c + +-$(OBJDIR)$Pencode_rsa_pk8der$O: src$Px509$Pencode_rsa_pk8der.c $(HEADERSPRIV) ++$(OBJDIR)$Pencode_rsa_pk8der$O: $(OBJDIR) src$Px509$Pencode_rsa_pk8der.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pencode_rsa_pk8der$O src$Px509$Pencode_rsa_pk8der.c + +-$(OBJDIR)$Pencode_rsa_rawder$O: src$Px509$Pencode_rsa_rawder.c $(HEADERSPRIV) ++$(OBJDIR)$Pencode_rsa_rawder$O: $(OBJDIR) src$Px509$Pencode_rsa_rawder.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pencode_rsa_rawder$O src$Px509$Pencode_rsa_rawder.c + +-$(OBJDIR)$Pskey_decoder$O: src$Px509$Pskey_decoder.c $(HEADERSPRIV) ++$(OBJDIR)$Pskey_decoder$O: $(OBJDIR) src$Px509$Pskey_decoder.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pskey_decoder$O src$Px509$Pskey_decoder.c + +-$(OBJDIR)$Px509_decoder$O: src$Px509$Px509_decoder.c $(HEADERSPRIV) ++$(OBJDIR)$Px509_decoder$O: $(OBJDIR) src$Px509$Px509_decoder.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Px509_decoder$O src$Px509$Px509_decoder.c + +-$(OBJDIR)$Px509_knownkey$O: src$Px509$Px509_knownkey.c $(HEADERSPRIV) ++$(OBJDIR)$Px509_knownkey$O: $(OBJDIR) src$Px509$Px509_knownkey.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Px509_knownkey$O src$Px509$Px509_knownkey.c + +-$(OBJDIR)$Px509_minimal$O: src$Px509$Px509_minimal.c $(HEADERSPRIV) ++$(OBJDIR)$Px509_minimal$O: $(OBJDIR) src$Px509$Px509_minimal.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Px509_minimal$O src$Px509$Px509_minimal.c + +-$(OBJDIR)$Px509_minimal_full$O: src$Px509$Px509_minimal_full.c $(HEADERSPRIV) ++$(OBJDIR)$Px509_minimal_full$O: $(OBJDIR) src$Px509$Px509_minimal_full.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Px509_minimal_full$O src$Px509$Px509_minimal_full.c + +-$(OBJDIR)$Pbrssl$O: tools$Pbrssl.c $(HEADERSTOOLS) ++$(OBJDIR)$Pbrssl$O: $(OBJDIR) tools$Pbrssl.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pbrssl$O tools$Pbrssl.c + +-$(OBJDIR)$Pcerts$O: tools$Pcerts.c $(HEADERSTOOLS) ++$(OBJDIR)$Pcerts$O: $(OBJDIR) tools$Pcerts.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pcerts$O tools$Pcerts.c + +-$(OBJDIR)$Pchain$O: tools$Pchain.c $(HEADERSTOOLS) ++$(OBJDIR)$Pchain$O: $(OBJDIR) tools$Pchain.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pchain$O tools$Pchain.c + +-$(OBJDIR)$Pclient$O: tools$Pclient.c $(HEADERSTOOLS) ++$(OBJDIR)$Pclient$O: $(OBJDIR) tools$Pclient.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pclient$O tools$Pclient.c + +-$(OBJDIR)$Perrors$O: tools$Perrors.c $(HEADERSTOOLS) ++$(OBJDIR)$Perrors$O: $(OBJDIR) tools$Perrors.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Perrors$O tools$Perrors.c + +-$(OBJDIR)$Pfiles$O: tools$Pfiles.c $(HEADERSTOOLS) ++$(OBJDIR)$Pfiles$O: $(OBJDIR) tools$Pfiles.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pfiles$O tools$Pfiles.c + +-$(OBJDIR)$Pimpl$O: tools$Pimpl.c $(HEADERSTOOLS) ++$(OBJDIR)$Pimpl$O: $(OBJDIR) tools$Pimpl.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pimpl$O tools$Pimpl.c + +-$(OBJDIR)$Pkeys$O: tools$Pkeys.c $(HEADERSTOOLS) ++$(OBJDIR)$Pkeys$O: $(OBJDIR) tools$Pkeys.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pkeys$O tools$Pkeys.c + +-$(OBJDIR)$Pnames$O: tools$Pnames.c $(HEADERSTOOLS) ++$(OBJDIR)$Pnames$O: $(OBJDIR) tools$Pnames.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pnames$O tools$Pnames.c + +-$(OBJDIR)$Pserver$O: tools$Pserver.c $(HEADERSTOOLS) ++$(OBJDIR)$Pserver$O: $(OBJDIR) tools$Pserver.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pserver$O tools$Pserver.c + +-$(OBJDIR)$Pskey$O: tools$Pskey.c $(HEADERSTOOLS) ++$(OBJDIR)$Pskey$O: $(OBJDIR) tools$Pskey.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pskey$O tools$Pskey.c + +-$(OBJDIR)$Psslio$O: tools$Psslio.c $(HEADERSTOOLS) ++$(OBJDIR)$Psslio$O: $(OBJDIR) tools$Psslio.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Psslio$O tools$Psslio.c + +-$(OBJDIR)$Pta$O: tools$Pta.c $(HEADERSTOOLS) ++$(OBJDIR)$Pta$O: $(OBJDIR) tools$Pta.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pta$O tools$Pta.c + +-$(OBJDIR)$Ptwrch$O: tools$Ptwrch.c $(HEADERSTOOLS) ++$(OBJDIR)$Ptwrch$O: $(OBJDIR) tools$Ptwrch.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Ptwrch$O tools$Ptwrch.c + +-$(OBJDIR)$Pvector$O: tools$Pvector.c $(HEADERSTOOLS) ++$(OBJDIR)$Pvector$O: $(OBJDIR) tools$Pvector.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pvector$O tools$Pvector.c + +-$(OBJDIR)$Pverify$O: tools$Pverify.c $(HEADERSTOOLS) ++$(OBJDIR)$Pverify$O: $(OBJDIR) tools$Pverify.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pverify$O tools$Pverify.c + +-$(OBJDIR)$Pxmem$O: tools$Pxmem.c $(HEADERSTOOLS) ++$(OBJDIR)$Pxmem$O: $(OBJDIR) tools$Pxmem.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pxmem$O tools$Pxmem.c + +-$(OBJDIR)$Ptest_crypto$O: test$Ptest_crypto.c $(HEADERSPRIV) ++$(OBJDIR)$Ptest_crypto$O: $(OBJDIR) test$Ptest_crypto.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Ptest_crypto$O test$Ptest_crypto.c + +-$(OBJDIR)$Ptest_speed$O: test$Ptest_speed.c $(HEADERSPRIV) ++$(OBJDIR)$Ptest_speed$O: $(OBJDIR) test$Ptest_speed.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Ptest_speed$O test$Ptest_speed.c + +-$(OBJDIR)$Ptest_x509$O: test$Ptest_x509.c $(HEADERSPRIV) ++$(OBJDIR)$Ptest_x509$O: $(OBJDIR) test$Ptest_x509.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) -DSRCDIRNAME=".." $(CCOUT)$(OBJDIR)$Ptest_x509$O test$Ptest_x509.c +diff --git a/mk/mkrules.sh b/mk/mkrules.sh +index eea159b..cce7564 100755 +--- a/mk/mkrules.sh ++++ b/mk/mkrules.sh +@@ -531,23 +531,23 @@ EOF + (for f in $coresrc ; do + b="$(basename "$f" .c)\$O" + g="$(escsep "$f")" +- printf '\n$(OBJDIR)$P%s: %s $(HEADERSPRIV)\n\t$(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$P%s %s\n' "$b" "$g" "$b" "$g" ++ printf '\n$(OBJDIR)$P%s: $(OBJDIR) %s $(HEADERSPRIV)\n\t$(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$P%s %s\n' "$b" "$g" "$b" "$g" + done + + for f in $toolssrc ; do + b="$(basename "$f" .c)\$O" + g="$(escsep "$f")" +- printf '\n$(OBJDIR)$P%s: %s $(HEADERSTOOLS)\n\t$(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$P%s %s\n' "$b" "$g" "$b" "$g" ++ printf '\n$(OBJDIR)$P%s: $(OBJDIR) %s $(HEADERSTOOLS)\n\t$(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$P%s %s\n' "$b" "$g" "$b" "$g" + done + + for f in $testcryptosrc $testspeedsrc ; do + b="$(basename "$f" .c)\$O" + g="$(escsep "$f")" +- printf '\n$(OBJDIR)$P%s: %s $(HEADERSPRIV)\n\t$(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$P%s %s\n' "$b" "$g" "$b" "$g" ++ printf '\n$(OBJDIR)$P%s: $(OBJDIR) %s $(HEADERSPRIV)\n\t$(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$P%s %s\n' "$b" "$g" "$b" "$g" + done + + for f in $testx509src ; do + b="$(basename "$f" .c)\$O" + g="$(escsep "$f")" +- printf '\n$(OBJDIR)$P%s: %s $(HEADERSPRIV)\n\t$(CC) $(CFLAGS) $(INCFLAGS) -DSRCDIRNAME=".." $(CCOUT)$(OBJDIR)$P%s %s\n' "$b" "$g" "$b" "$g" ++ printf '\n$(OBJDIR)$P%s: $(OBJDIR) %s $(HEADERSPRIV)\n\t$(CC) $(CFLAGS) $(INCFLAGS) -DSRCDIRNAME=".." $(CCOUT)$(OBJDIR)$P%s %s\n' "$b" "$g" "$b" "$g" + done) >> Rules.mk +-- +2.34.1 + diff --git a/package/belle-sip/belle-sip.mk b/package/belle-sip/belle-sip.mk index 11b96f3fd..c9bcc3f55 100644 --- a/package/belle-sip/belle-sip.mk +++ b/package/belle-sip/belle-sip.mk @@ -35,7 +35,7 @@ endif BELLE_SIP_CFLAGS = $(TARGET_CFLAGS) -ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_99140),y) +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_99410),y) BELLE_SIP_CFLAGS += -O0 endif diff --git a/package/belr/belr.mk b/package/belr/belr.mk index f243830a8..26b949734 100644 --- a/package/belr/belr.mk +++ b/package/belr/belr.mk @@ -17,9 +17,8 @@ BELR_CONF_OPTS = \ ifeq ($(BR2_STATIC_LIBS),y) BELR_CONF_OPTS += -DENABLE_SHARED=OFF -DENABLE_STATIC=ON -else ifeq ($(BR2_SHARED_STATIC_LIBS),y) -BELR_CONF_OPTS += -DENABLE_SHARED=ON -DENABLE_STATIC=ON -else ifeq ($(BR2_SHARED_LIBS),y) +else +# cannot build static and shared together BELR_CONF_OPTS += -DENABLE_SHARED=ON -DENABLE_STATIC=OFF endif diff --git a/package/berkeleydb/berkeleydb.hash b/package/berkeleydb/berkeleydb.hash index 752932974..7fbf9492f 100644 --- a/package/berkeleydb/berkeleydb.hash +++ b/package/berkeleydb/berkeleydb.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 76a25560d9e52a198d37a31440fd07632b5f1f8f9f2b6d5438f4bc3e7c9013ef db-5.3.28.NC.tar.gz -sha256 b78815181a53241f9347c6b47d1031fd669946f863e1edc807a291354cec024b LICENSE +sha256 76a25560d9e52a198d37a31440fd07632b5f1f8f9f2b6d5438f4bc3e7c9013ef db-5.3.28.NC.tar.gz +sha256 b78815181a53241f9347c6b47d1031fd669946f863e1edc807a291354cec024b LICENSE diff --git a/package/bind/Config.in b/package/bind/Config.in index db10ceb30..63ccd57db 100644 --- a/package/bind/Config.in +++ b/package/bind/Config.in @@ -1,6 +1,11 @@ config BR2_PACKAGE_BIND bool "bind" - depends on BR2_USE_MMU # fork() + depends on BR2_USE_MMU # fork(), libuv + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv + depends on !BR2_STATIC_LIBS # libuv + select BR2_PACKAGE_LIBUV + select BR2_PACKAGE_OPENSSL help BIND (Berkeley Internet Name Domain) is an implementation of the Domain Name System (DNS) protocols @@ -37,3 +42,8 @@ config BR2_PACKAGE_BIND_TOOLS Install tools (dig, host, nslookup, nsupdate) endif + +comment "bind needs a toolchain w/ NPTL, dynamic library" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS diff --git a/package/bind/bind.hash b/package/bind/bind.hash index 70299f167..32804b5ce 100644 --- a/package/bind/bind.hash +++ b/package/bind/bind.hash @@ -1,4 +1,4 @@ -# Verified from https://ftp.isc.org/isc/bind9/9.11.36/bind-9.11.36.tar.gz.asc +# Verified from https://ftp.isc.org/isc/bind9/9.16.38/bind-9.16.38.tar.xz.asc # with key AADBBA5074F1402F7B69D56BC5B4EE931A9F9DFD -sha256 c953fcb6703b395aaa53e65ff8b2869b69a5303dd60507cba2201305e1811681 bind-9.11.36.tar.gz -sha256 cad49daa42654bc241762cd998630168a2542c8fd6fad3881e2eac1510bb6fcd COPYRIGHT +sha256 8df44c9d9a84a28ab8b49d55f3c33b624b90ef8f6a8b9ee6a4c33cc17c14c50f bind-9.16.38.tar.xz +sha256 13491a682dc0f5ee2273cebd3949e2be62f9470fe659419a03a308d4f444773b COPYRIGHT diff --git a/package/bind/bind.mk b/package/bind/bind.mk index e329c803a..2af6096fa 100644 --- a/package/bind/bind.mk +++ b/package/bind/bind.mk @@ -4,12 +4,12 @@ # ################################################################################ -BIND_VERSION = 9.11.36 +BIND_VERSION = 9.16.38 +BIND_SOURCE= bind-$(BIND_VERSION).tar.xz BIND_SITE = https://ftp.isc.org/isc/bind9/$(BIND_VERSION) # bind does not support parallel builds. BIND_MAKE = $(MAKE1) BIND_INSTALL_STAGING = YES -BIND_CONFIG_SCRIPTS = bind9-config isc-config.sh BIND_LICENSE = MPL-2.0 BIND_LICENSE_FILES = COPYRIGHT BIND_CPE_ID_VENDOR = isc @@ -28,23 +28,31 @@ 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)" \ - BUILD_CFLAGS="$(TARGET_CFLAGS)" + BUILD_CFLAGS="$(TARGET_CFLAGS)" \ + LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` BIND_CONF_OPTS = \ - $(if $(BR2_TOOLCHAIN_HAS_THREADS),--enable-threads,--disable-threads) \ + --without-cmocka \ --without-lmdb \ - --with-libjson=no \ - --with-randomdev=/dev/urandom \ --enable-epoll \ - --enable-filter-aaaa \ - --disable-backtrace + --disable-backtrace \ + --with-openssl=$(STAGING_DIR)/usr + +BIND_DEPENDENCIES = host-pkgconf libuv openssl ifeq ($(BR2_PACKAGE_ZLIB),y) -BIND_CONF_OPTS += --with-zlib=$(STAGING_DIR)/usr +BIND_CONF_OPTS += --with-zlib BIND_DEPENDENCIES += zlib else BIND_CONF_OPTS += --without-zlib endif +ifeq ($(BR2_PACKAGE_JSON_C),y) +BIND_CONF_OPTS += --with-json-c +BIND_DEPENDENCIES += json-c +else +BIND_CONF_OPTS += --without-json-c +endif + ifeq ($(BR2_PACKAGE_LIBCAP),y) BIND_CONF_OPTS += --enable-linux-caps BIND_DEPENDENCIES += libcap @@ -52,6 +60,13 @@ else BIND_CONF_OPTS += --disable-linux-caps endif +ifeq ($(BR2_PACKAGE_LIBIDN2),y) +BIND_CONF_OPTS += --with-libidn2 +BIND_DEPENDENCIES += libidn2 +else +BIND_CONF_OPTS += --without-libidn2 +endif + ifeq ($(BR2_PACKAGE_LIBKRB5),y) BIND_CONF_OPTS += --with-gssapi=$(STAGING_DIR)/usr/bin/krb5-config BIND_DEPENDENCIES += libkrb5 @@ -59,29 +74,18 @@ else BIND_CONF_OPTS += --with-gssapi=no endif -ifeq ($(BR2_PACKAGE_LIBXML2),y) -BIND_CONF_OPTS += --with-libxml2=$(STAGING_DIR)/usr -BIND_DEPENDENCIES += libxml2 +ifeq ($(BR2_PACKAGE_LIBMAXMINDDB),y) +BIND_CONF_OPTS += --enable-geoip --with-maxminddb +BIND_DEPENDENCIES += libmaxminddb else -BIND_CONF_OPTS += --with-libxml2=no +BIND_CONF_OPTS += --disable-geoip endif -ifeq ($(BR2_PACKAGE_OPENSSL),y) -BIND_DEPENDENCIES += host-pkgconf openssl -BIND_CONF_OPTS += \ - --with-openssl=$(STAGING_DIR)/usr \ - --with-ecdsa=yes \ - --with-eddsa=no \ - --with-aes=yes -BIND_CONF_ENV += LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` -# GOST cipher support requires openssl extra engines -ifeq ($(BR2_PACKAGE_OPENSSL_ENGINES),y) -BIND_CONF_OPTS += --with-gost=yes -else -BIND_CONF_OPTS += --with-gost=no -endif +ifeq ($(BR2_PACKAGE_LIBXML2),y) +BIND_CONF_OPTS += --with-libxml2 +BIND_DEPENDENCIES += libxml2 else -BIND_CONF_OPTS += --with-openssl=no +BIND_CONF_OPTS += --with-libxml2=no endif # Used by dnssec-keymgr diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host index ea1f02098..c3ac7a0cf 100644 --- a/package/binutils/Config.in.host +++ b/package/binutils/Config.in.host @@ -19,22 +19,13 @@ config BR2_BINUTILS_VERSION_2_32_X config BR2_BINUTILS_VERSION_2_35_X bool "binutils 2.35.2" depends on !BR2_csky - # https://github.com/uclinux-dev/elf2flt/pull/16 - # https://github.com/uclinux-dev/elf2flt/issues/12 - depends on !BR2_BINFMT_FLAT config BR2_BINUTILS_VERSION_2_36_X bool "binutils 2.36.1" depends on !BR2_csky - # https://github.com/uclinux-dev/elf2flt/pull/16 - # https://github.com/uclinux-dev/elf2flt/issues/12 - depends on !BR2_BINFMT_FLAT config BR2_BINUTILS_VERSION_2_37_X bool "binutils 2.37" - # https://github.com/uclinux-dev/elf2flt/pull/16 - # https://github.com/uclinux-dev/elf2flt/issues/12 - depends on !BR2_BINFMT_FLAT config BR2_BINUTILS_VERSION_ARC bool "binutils arc (2.34.50)" diff --git a/package/biosdevname/biosdevname.hash b/package/biosdevname/biosdevname.hash index f4470c32d..8dc16b1e9 100644 --- a/package/biosdevname/biosdevname.hash +++ b/package/biosdevname/biosdevname.hash @@ -1,3 +1,3 @@ # Locally computed hashes, not provided by upstream -sha256 3a67fee0c315996bbba586c1c077e57625382d38dc48fb3c9e84d56a7a5effad biosdevname-0.7.3.tar.gz -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 3a67fee0c315996bbba586c1c077e57625382d38dc48fb3c9e84d56a7a5effad biosdevname-0.7.3.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/bird/0001-configure.ac-fix-build-with-autoconf-2.70.patch b/package/bird/0001-configure.ac-fix-build-with-autoconf-2.70.patch new file mode 100644 index 000000000..c1adf4842 --- /dev/null +++ b/package/bird/0001-configure.ac-fix-build-with-autoconf-2.70.patch @@ -0,0 +1,33 @@ +From aa5bc6d2e59c5257d777a45ee4a0e0a784c44244 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 5 Nov 2021 20:58:41 +0100 +Subject: [PATCH] configure.ac: properly evaluate ac_test_CFLAGS + +Since autoconf 2.69 and +https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=76754e04fce5f6a7701bec57b057020585df2ae3 +ac_test_CFLAGS is set to ${CFLAGS+y} instead of ${CFLAGS+set}. + +Just test that ac_test_CFLAGS is not empty, to support both cases. + +Signed-off-by: Fabrice Fontaine +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 64181d29..b4b3fcfb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -114,7 +114,7 @@ AC_SEARCH_LIBS([clock_gettime], [rt posix4], + AC_CANONICAL_HOST + + # Store this value because ac_test_CFLAGS is overwritten by AC_PROG_CC +-if test "$ac_test_CFLAGS" != set ; then ++if ! test "$ac_test_CFLAGS" ; then + bird_cflags_default=yes + fi + +-- +2.33.0 + diff --git a/package/bird/bird.mk b/package/bird/bird.mk index 7d7002d5f..b77e1aba1 100644 --- a/package/bird/bird.mk +++ b/package/bird/bird.mk @@ -11,6 +11,8 @@ BIRD_LICENSE_FILES = README BIRD_CPE_ID_VENDOR = nic BIRD_SELINUX_MODULES = bird BIRD_DEPENDENCIES = host-flex host-bison + +# 0001-configure.ac-fix-build-with-autoconf-2.70.patch BIRD_AUTORECONF = YES ifeq ($(BR2_PACKAGE_BIRD_CLIENT),y) diff --git a/package/bitstream/bitstream.hash b/package/bitstream/bitstream.hash index 0d2e5a1f1..bdaf90c01 100644 --- a/package/bitstream/bitstream.hash +++ b/package/bitstream/bitstream.hash @@ -1,6 +1,6 @@ # From https://get.videolan.org/bitstream/1.5/bitstream-1.5.tar.bz2.md5 -md5 34630d13332fd1575bcc8531b0a596be bitstream-1.5.tar.bz2 +md5 34630d13332fd1575bcc8531b0a596be bitstream-1.5.tar.bz2 # From https://get.videolan.org/bitstream/1.5/bitstream-1.5.tar.bz2.sha256 -sha256 45fc5a5a6e4537a69fa8440821e87b76252135180a3070c631b0b36ce0a3b90a bitstream-1.5.tar.bz2 +sha256 45fc5a5a6e4537a69fa8440821e87b76252135180a3070c631b0b36ce0a3b90a bitstream-1.5.tar.bz2 # Locally computed -sha256 9644a812f9a8377a59acb7092a36ce8882a39743425d9171a8fb84637e2f6e04 COPYING +sha256 9644a812f9a8377a59acb7092a36ce8882a39743425d9171a8fb84637e2f6e04 COPYING diff --git a/package/bluez5_utils/0006-src-shared-util.h-include-sys-types.h.patch b/package/bluez5_utils/0006-src-shared-util.h-include-sys-types.h.patch new file mode 100644 index 000000000..8a5bd64d4 --- /dev/null +++ b/package/bluez5_utils/0006-src-shared-util.h-include-sys-types.h.patch @@ -0,0 +1,39 @@ +From 1d21878d84f16e28e16c61b36799a62e22732d97 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 24 Feb 2022 18:19:33 +0100 +Subject: [PATCH] src/shared/util.h: include sys/types.h + +Include sys/types.h to avoid the following build failure on musl raised +since commit fb57ad9b9d107856e5f1c8135da04ffa2f7a11ac: + +In file included from src/shared/queue.c:15: +./src/shared/util.h:106:1: error: unknown type name 'ssize_t'; did you mean 'size_t'? + 106 | ssize_t util_getrandom(void *buf, size_t buflen, unsigned int flags); + | ^~~~~~~ + | size_t + +Fixes: + - http://autobuild.buildroot.org/results/83eaeb3863040645409f5787fdbdde79385c5257 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://patchwork.kernel.org/project/bluetooth/patch/20220224173104.479809-1-fontaine.fabrice@gmail.com] +--- + src/shared/util.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/shared/util.h b/src/shared/util.h +index c01eccf8a..554481e1e 100644 +--- a/src/shared/util.h ++++ b/src/shared/util.h +@@ -14,6 +14,7 @@ + #include + #include + #include ++#include + + #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) + #define BIT(n) (1 << (n)) +-- +2.34.1 + diff --git a/package/bluez5_utils/Config.in b/package/bluez5_utils/Config.in index 2eea8c7ce..49bb71910 100644 --- a/package/bluez5_utils/Config.in +++ b/package/bluez5_utils/Config.in @@ -79,15 +79,23 @@ config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID bool "build hid plugin" + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG help Build plugin for HID (input) profiles. +comment "hid plugin needs a toolchain w/ headers >= 3.18" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 + config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG bool "build hog plugin" + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 help Build plugin for HoG (input) profiles. +comment "hog plugin needs a toolchain w/ headers >= 3.18" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 + config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH bool "build mesh plugin" depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 # ell @@ -126,11 +134,15 @@ config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS bool "build sixaxis plugin" depends on BR2_PACKAGE_HAS_UDEV + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # hid plugin select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID # runtime help Build sixaxis plugin (support Sony Dualshock controller) +comment "sixaxis plugin needs a toolchain w/ headers >= 3.18" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 + comment "sixaxis plugin needs udev /dev management" depends on !BR2_PACKAGE_HAS_UDEV @@ -142,11 +154,15 @@ config BR2_PACKAGE_BLUEZ5_UTILS_TEST config BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI bool "build hid2hci tool" depends on BR2_PACKAGE_HAS_UDEV + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # hid plugin select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID # runtime select BR2_PACKAGE_BLUEZ5_UTILS_TOOLS help Build hid2hci tool +comment "hid2hci tool needs a toolchain w/ headers >= 3.18" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 + comment "hid2hci tool needs udev /dev management" depends on !BR2_PACKAGE_HAS_UDEV diff --git a/package/boinc/boinc.mk b/package/boinc/boinc.mk index 7f78c427e..695495f77 100644 --- a/package/boinc/boinc.mk +++ b/package/boinc/boinc.mk @@ -26,6 +26,7 @@ BOINC_CONF_ENV = \ BOINC_CONF_OPTS = \ --disable-apps \ --disable-boinczip \ + --disable-fcgi \ --disable-manager \ --disable-server \ --enable-client \ @@ -38,14 +39,12 @@ ifeq ($(BR2_PACKAGE_FREETYPE),y) BOINC_DEPENDENCIES += freetype endif -ifeq ($(BR2_PACKAGE_LIBFCGI),y) -BOINC_DEPENDENCIES += libfcgi -BOINC_CONF_OPTS += --enable-fcgi -else -BOINC_CONF_OPTS += --disable-fcgi +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +BOINC_DEPENDENCIES += libexecinfo +BOINC_MAKE_OPTS += LIBS="-lexecinfo" endif -BOINC_MAKE_OPTS = CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" +BOINC_MAKE_OPTS += CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" # Remove boinc-client because it is incompatible with buildroot define BOINC_REMOVE_UNNEEDED_FILE diff --git a/package/bonnie/bonnie.hash b/package/bonnie/bonnie.hash index c8118e9d6..969167a5f 100644 --- a/package/bonnie/bonnie.hash +++ b/package/bonnie/bonnie.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 cb3866116634bf65760b6806be4afa7e24a1cad6f145c876df8721f01ba2e2cb bonnie++-1.03e.tgz +sha256 cb3866116634bf65760b6806be4afa7e24a1cad6f145c876df8721f01ba2e2cb bonnie++-1.03e.tgz sha256 bdfeef85436885bc317fdbae3732b17a39e7910eb855553a83b4d2cf9032e773 copyright.txt diff --git a/package/boost/boost.mk b/package/boost/boost.mk index 032ba5c82..69ea0d473 100644 --- a/package/boost/boost.mk +++ b/package/boost/boost.mk @@ -122,8 +122,8 @@ BOOST_FLAGS += $(if $(BOOST_WITHOUT_FLAGS_COMMASEPARATED), --without-libraries=$ BOOST_LAYOUT = $(call qstrip, $(BR2_PACKAGE_BOOST_LAYOUT)) # how verbose should the build be? -BOOST_OPTS += $(if $(QUIET),-d,-d+1) -HOST_BOOST_OPTS += $(if $(QUIET),-d,-d+1) +BOOST_OPTS += $(if $(QUIET),-d0,-d+1) +HOST_BOOST_OPTS += $(if $(QUIET),-d0,-d+1) define BOOST_CONFIGURE_CMDS (cd $(@D) && ./bootstrap.sh $(BOOST_FLAGS)) diff --git a/package/botan/0001-Add-superh-alias-needed-by-Debian.patch b/package/botan/0001-Add-superh-alias-needed-by-Debian.patch new file mode 100644 index 000000000..c6236849e --- /dev/null +++ b/package/botan/0001-Add-superh-alias-needed-by-Debian.patch @@ -0,0 +1,22 @@ +From 454c7c04385a47d511cf8999ccff2746afbab06b Mon Sep 17 00:00:00 2001 +From: Jack Lloyd +Date: Sat, 21 Nov 2020 12:37:06 -0500 +Subject: [PATCH] Add superh alias needed by Debian + +[Retrieved from: +https://github.com/randombit/botan/commit/454c7c04385a47d511cf8999ccff2746afbab06b] +Signed-off-by: Fabrice Fontaine +--- + src/build-data/arch/superh.txt | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/build-data/arch/superh.txt b/src/build-data/arch/superh.txt +index 6af6dbe682..8e2833a914 100644 +--- a/src/build-data/arch/superh.txt ++++ b/src/build-data/arch/superh.txt +@@ -1,4 +1,5 @@ + + + sh4 ++sh4a + diff --git a/package/botan/0001-Revert-workaround-a-miscompilation-issue-in-clang-12.patch b/package/botan/0001-Revert-workaround-a-miscompilation-issue-in-clang-12.patch deleted file mode 100644 index b43aeafe1..000000000 --- a/package/botan/0001-Revert-workaround-a-miscompilation-issue-in-clang-12.patch +++ /dev/null @@ -1,144 +0,0 @@ -From 372bdf0348fb86d671e73baab19daa34bd0cf73d Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 9 Nov 2021 19:01:20 +0100 -Subject: [PATCH] Revert "workaround a miscompilation issue in clang 12 - (XCode 13)" - -This reverts commit 219329f8e777af54d785ae7259f8be32a714b751. - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/randombit/botan/issues/2845] ---- - src/lib/hash/sha3/sha3.cpp | 46 ++++++----------------- - src/lib/hash/sha3/sha3_bmi2/sha3_bmi2.cpp | 46 ++++++----------------- - 2 files changed, 22 insertions(+), 70 deletions(-) - -diff --git a/src/lib/hash/sha3/sha3.cpp b/src/lib/hash/sha3/sha3.cpp -index 289e451ff..690c2b264 100644 ---- a/src/lib/hash/sha3/sha3.cpp -+++ b/src/lib/hash/sha3/sha3.cpp -@@ -11,47 +11,23 @@ - #include - #include - --#include -- - namespace Botan { - - namespace { - --// This is a workaround for a suspected bug in clang 12 (and XCode 13) --// that caused a miscompile of the SHA3 implementation for optimization --// level -O2 and higher. --// --// For details, see: https://github.com/randombit/botan/issues/2802 --#if defined(__clang__) && \ -- (( defined(__apple_build_version__) && __clang_major__ == 13) || \ -- (!defined(__apple_build_version__) && __clang_major__ == 12)) --#define BOTAN_WORKAROUND_MAYBE_INLINE __attribute__((noinline)) --#else --#define BOTAN_WORKAROUND_MAYBE_INLINE inline --#endif -- --BOTAN_WORKAROUND_MAYBE_INLINE std::tuple -- xor_CNs(const uint64_t A[25]) -- { -- return { -- A[0] ^ A[5] ^ A[10] ^ A[15] ^ A[20], -- A[1] ^ A[6] ^ A[11] ^ A[16] ^ A[21], -- A[2] ^ A[7] ^ A[12] ^ A[17] ^ A[22], -- A[3] ^ A[8] ^ A[13] ^ A[18] ^ A[23], -- A[4] ^ A[9] ^ A[14] ^ A[19] ^ A[24]}; -- } -- --#undef BOTAN_WORKAROUND_MAYBE_INLINE -- - inline void SHA3_round(uint64_t T[25], const uint64_t A[25], uint64_t RC) - { -- const auto Cs = xor_CNs(A); -- -- const uint64_t D0 = rotl<1>(std::get<0>(Cs)) ^ std::get<3>(Cs); -- const uint64_t D1 = rotl<1>(std::get<1>(Cs)) ^ std::get<4>(Cs); -- const uint64_t D2 = rotl<1>(std::get<2>(Cs)) ^ std::get<0>(Cs); -- const uint64_t D3 = rotl<1>(std::get<3>(Cs)) ^ std::get<1>(Cs); -- const uint64_t D4 = rotl<1>(std::get<4>(Cs)) ^ std::get<2>(Cs); -+ const uint64_t C0 = A[0] ^ A[5] ^ A[10] ^ A[15] ^ A[20]; -+ const uint64_t C1 = A[1] ^ A[6] ^ A[11] ^ A[16] ^ A[21]; -+ const uint64_t C2 = A[2] ^ A[7] ^ A[12] ^ A[17] ^ A[22]; -+ const uint64_t C3 = A[3] ^ A[8] ^ A[13] ^ A[18] ^ A[23]; -+ const uint64_t C4 = A[4] ^ A[9] ^ A[14] ^ A[19] ^ A[24]; -+ -+ const uint64_t D0 = rotl<1>(C0) ^ C3; -+ const uint64_t D1 = rotl<1>(C1) ^ C4; -+ const uint64_t D2 = rotl<1>(C2) ^ C0; -+ const uint64_t D3 = rotl<1>(C3) ^ C1; -+ const uint64_t D4 = rotl<1>(C4) ^ C2; - - const uint64_t B00 = A[ 0] ^ D1; - const uint64_t B01 = rotl<44>(A[ 6] ^ D2); -diff --git a/src/lib/hash/sha3/sha3_bmi2/sha3_bmi2.cpp b/src/lib/hash/sha3/sha3_bmi2/sha3_bmi2.cpp -index c7f1914a3..a9650ad9d 100644 ---- a/src/lib/hash/sha3/sha3_bmi2/sha3_bmi2.cpp -+++ b/src/lib/hash/sha3/sha3_bmi2/sha3_bmi2.cpp -@@ -8,47 +8,23 @@ - #include - #include - --#include -- - namespace Botan { - - namespace { - --// This is a workaround for a suspected bug in clang 12 (and XCode 13) --// that caused a miscompile of the SHA3 implementation for optimization --// level -O2 and higher. --// --// For details, see: https://github.com/randombit/botan/issues/2802 --#if defined(__clang__) && \ -- (( defined(__apple_build_version__) && __clang_major__ == 13) || \ -- (!defined(__apple_build_version__) && __clang_major__ == 12)) --#define BOTAN_WORKAROUND_MAYBE_INLINE __attribute__((noinline)) --#else --#define BOTAN_WORKAROUND_MAYBE_INLINE inline --#endif -- --BOTAN_WORKAROUND_MAYBE_INLINE std::tuple -- xor_CNs(const uint64_t A[25]) -- { -- return { -- A[0] ^ A[5] ^ A[10] ^ A[15] ^ A[20], -- A[1] ^ A[6] ^ A[11] ^ A[16] ^ A[21], -- A[2] ^ A[7] ^ A[12] ^ A[17] ^ A[22], -- A[3] ^ A[8] ^ A[13] ^ A[18] ^ A[23], -- A[4] ^ A[9] ^ A[14] ^ A[19] ^ A[24]}; -- } -- --#undef BOTAN_WORKAROUND_MAYBE_INLINE -- - inline void SHA3_BMI2_round(uint64_t T[25], const uint64_t A[25], uint64_t RC) - { -- const auto Cs = xor_CNs(A); -- -- const uint64_t D0 = rotl<1>(std::get<0>(Cs)) ^ std::get<3>(Cs); -- const uint64_t D1 = rotl<1>(std::get<1>(Cs)) ^ std::get<4>(Cs); -- const uint64_t D2 = rotl<1>(std::get<2>(Cs)) ^ std::get<0>(Cs); -- const uint64_t D3 = rotl<1>(std::get<3>(Cs)) ^ std::get<1>(Cs); -- const uint64_t D4 = rotl<1>(std::get<4>(Cs)) ^ std::get<2>(Cs); -+ const uint64_t C0 = A[0] ^ A[5] ^ A[10] ^ A[15] ^ A[20]; -+ const uint64_t C1 = A[1] ^ A[6] ^ A[11] ^ A[16] ^ A[21]; -+ const uint64_t C2 = A[2] ^ A[7] ^ A[12] ^ A[17] ^ A[22]; -+ const uint64_t C3 = A[3] ^ A[8] ^ A[13] ^ A[18] ^ A[23]; -+ const uint64_t C4 = A[4] ^ A[9] ^ A[14] ^ A[19] ^ A[24]; -+ -+ const uint64_t D0 = rotl<1>(C0) ^ C3; -+ const uint64_t D1 = rotl<1>(C1) ^ C4; -+ const uint64_t D2 = rotl<1>(C2) ^ C0; -+ const uint64_t D3 = rotl<1>(C3) ^ C1; -+ const uint64_t D4 = rotl<1>(C4) ^ C2; - - const uint64_t B00 = A[ 0] ^ D1; - const uint64_t B01 = rotl<44>(A[ 6] ^ D2); --- -2.33.0 - diff --git a/package/botan/0002-src-build-data-arch-superh.txt-add-sh4-eb-aeb.patch b/package/botan/0002-src-build-data-arch-superh.txt-add-sh4-eb-aeb.patch new file mode 100644 index 000000000..aa9f3ad5b --- /dev/null +++ b/package/botan/0002-src-build-data-arch-superh.txt-add-sh4-eb-aeb.patch @@ -0,0 +1,30 @@ +From c88897ebaf173b97068811b520a4741039f09dcd Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 20 Aug 2022 15:16:22 +0200 +Subject: [PATCH] src/build-data/arch/superh.txt: add sh4{eb,aeb} + +Fix the following build failure with sh4{eb,aeb}: + + ERROR: Unknown or unidentifiable processor "sh4aeb" + +Fixes: + - http://autobuild.buildroot.org/results/d7750b734736a66e10bc5a8ee06708041b36443a + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/randombit/botan/commit/c88897ebaf173b97068811b520a4741039f09dcd] +--- + src/build-data/arch/superh.txt | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/build-data/arch/superh.txt b/src/build-data/arch/superh.txt +index 8e2833a914..e17edb097a 100644 +--- a/src/build-data/arch/superh.txt ++++ b/src/build-data/arch/superh.txt +@@ -2,4 +2,6 @@ + + sh4 + sh4a ++sh4eb ++sh4aeb + diff --git a/package/botan/Config.in b/package/botan/Config.in index 635fe1836..8f7f3f5c7 100644 --- a/package/botan/Config.in +++ b/package/botan/Config.in @@ -20,8 +20,6 @@ config BR2_PACKAGE_BOTAN depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future 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 - select BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4 if BR2_PACKAGE_LIBOPENSSL - select BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160 if BR2_PACKAGE_LIBOPENSSL help Botan is a crypto library for C++ diff --git a/package/botan/botan.hash b/package/botan/botan.hash index 91e1bf741..64da04415 100644 --- a/package/botan/botan.hash +++ b/package/botan/botan.hash @@ -1,4 +1,4 @@ # From https://botan.randombit.net/releases/sha256sums.txt -sha256 541a3b13f1b9d30f977c6c1ae4c7bfdfda763cda6e44de807369dce79f42307e Botan-2.18.2.tar.xz +sha256 dae047f399c5a47f087db5d3d9d9e8f11ae4985d14c928d71da1aff801802d55 Botan-2.19.3.tar.xz # Locally computed -sha256 fb7f0322d36fba55ca17d77bc203a9f09a40daa8a249b75cf8887aba36cec9d0 license.txt +sha256 472faf6d2231130382779f96de506be19296473750356449fc426ddc9cb03b50 license.txt diff --git a/package/botan/botan.mk b/package/botan/botan.mk index ebff1343b..59fbc950b 100644 --- a/package/botan/botan.mk +++ b/package/botan/botan.mk @@ -4,7 +4,7 @@ # ################################################################################ -BOTAN_VERSION = 2.18.2 +BOTAN_VERSION = 2.19.3 BOTAN_SOURCE = Botan-$(BOTAN_VERSION).tar.xz BOTAN_SITE = http://botan.randombit.net/releases BOTAN_LICENSE = BSD-2-Clause @@ -13,8 +13,10 @@ BOTAN_CPE_ID_VENDOR = botan_project BOTAN_INSTALL_STAGING = YES +BOTAN_DEPENDENCIES = host-python3 BOTAN_CONF_OPTS = \ --cpu=$(BR2_ARCH) \ + --disable-cc-tests \ --os=linux \ --cc=gcc \ --cc-bin="$(TARGET_CXX)" \ @@ -60,11 +62,6 @@ BOTAN_DEPENDENCIES += bzip2 BOTAN_CONF_OPTS += --with-bzip2 endif -ifeq ($(BR2_PACKAGE_OPENSSL),y) -BOTAN_DEPENDENCIES += openssl -BOTAN_CONF_OPTS += --with-openssl -endif - ifeq ($(BR2_PACKAGE_SQLITE),y) BOTAN_DEPENDENCIES += sqlite BOTAN_CONF_OPTS += --with-sqlite diff --git a/package/bpftool/0001-bpftool-Fix-bootstrapping-during-a-cross-compilation.patch b/package/bpftool/0001-bpftool-Fix-bootstrapping-during-a-cross-compilation.patch new file mode 100644 index 000000000..fc192681e --- /dev/null +++ b/package/bpftool/0001-bpftool-Fix-bootstrapping-during-a-cross-compilation.patch @@ -0,0 +1,96 @@ +From 189f777ea4829bede0bf92f572c22fe1f2c37522 Mon Sep 17 00:00:00 2001 +From: Shahab Vahedi +Date: Wed, 8 Jun 2022 14:29:28 +0000 +Subject: [PATCH] bpftool: Fix bootstrapping during a cross compilation + +This change adjusts the Makefile to use "HOSTAR" as the archive tool +to keep the sanity of the build process for the bootstrap part in +check. For the rationale, please continue reading. + +When cross compiling bpftool with buildroot, it leads to an invocation +like: + +$ AR="/path/to/buildroot/host/bin/arc-linux-gcc-ar" \ + CC="/path/to/buildroot/host/bin/arc-linux-gcc" \ + ... + make + +Which in return fails while building the bootstrap section: + +----------------------------------8<---------------------------------- + + make: Entering directory '/src/bpftool-v6.7.0/src' + ... libbfd: [ on ] + ... disassembler-four-args: [ on ] + ... zlib: [ on ] + ... libcap: [ OFF ] + ... clang-bpf-co-re: [ on ] <-- triggers bootstrap + + . + . + . + + LINK /src/bpftool-v6.7.0/src/bootstrap/bpftool + /usr/bin/ld: /src/bpftool-v6.7.0/src/bootstrap/libbpf/libbpf.a: + error adding symbols: archive has no index; run ranlib + to add one + collect2: error: ld returned 1 exit status + make: *** [Makefile:211: /src/bpftool-v6.7.0/src/bootstrap/bpftool] + Error 1 + make: *** Waiting for unfinished jobs.... + AR /src/bpftool-v6.7.0/src/libbpf/libbpf.a + make[1]: Leaving directory '/src/bpftool-v6.7.0/libbpf/src' + make: Leaving directory '/src/bpftool-v6.7.0/src' + +---------------------------------->8---------------------------------- + +This occurs because setting "AR" confuses the build process for the +bootstrap section and it calls "arc-linux-gcc-ar" to create and index +"libbpf.a" instead of the host "ar". + +Signed-off-by: Shahab Vahedi +Signed-off-by: Daniel Borkmann +Reviewed-by: Quentin Monnet +Cc: Jean-Philippe Brucker +Link: https://lore.kernel.org/bpf/8d297f0c-cfd0-ef6f-3970-6dddb3d9a87a@synopsys.com +Upstream: https://github.com/libbpf/bpftool/commit/189f777ea4829bede0bf92f572c22fe1f2c37522 + +This is an adapted version, else it won't be possible to cross compile +bpftool if "clang-bpf-co-re" feature is enabled. +--- + src/Makefile | 2 +- + src/Makefile.include | 2 ++ + 2 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/Makefile b/src/Makefile +index b657502..b8b0808 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -51,7 +51,7 @@ $(LIBBPF_INTERNAL_HDRS): $(LIBBPF_HDRS_DIR)/%.h: $(BPF_DIR)/%.h | $(LIBBPF_HDRS_ + $(LIBBPF_BOOTSTRAP): $(wildcard $(BPF_DIR)/*.[ch] $(BPF_DIR)/Makefile) | $(LIBBPF_BOOTSTRAP_OUTPUT) + $(Q)$(MAKE) -C $(BPF_DIR) OBJDIR=$(patsubst %/,%,$(LIBBPF_BOOTSTRAP_OUTPUT)) \ + PREFIX=$(LIBBPF_BOOTSTRAP_DESTDIR:/=) \ +- ARCH= CROSS_COMPILE= CC=$(HOSTCC) LD=$(HOSTLD) $@ install_headers ++ ARCH= CROSS_COMPILE= CC=$(HOSTCC) LD=$(HOSTLD) AR=$(HOSTAR) $@ install_headers + + $(LIBBPF_BOOTSTRAP_INTERNAL_HDRS): $(LIBBPF_BOOTSTRAP_HDRS_DIR)/%.h: $(BPF_DIR)/%.h | $(LIBBPF_BOOTSTRAP_HDRS_DIR) + $(call QUIET_INSTALL, $@) +--- a/src/Makefile.include ++++ b/src/Makefile.include +@@ -12,11 +12,13 @@ + ifneq ($(LLVM),) + $(if $(findstring default,$(origin CC)),$(eval CC := clang$(LLVM_VERSION))) + $(if $(findstring default,$(origin LD)),$(eval LD := ld.lld$(LLVM_VERSION))) ++ HOSTAR ?= llvm-ar + HOSTCC ?= clang + HOSTLD ?= ld.lld + else + $(if $(findstring default,$(origin CC)),$(eval CC = $(CROSS_COMPILE)$(CC))) + $(if $(findstring default,$(origin LD)),$(eval LD = $(CROSS_COMPILE)$(LD))) ++ HOSTAR ?= ar + HOSTCC ?= gcc + HOSTLD ?= ld + endif +-- +2.35.3 + diff --git a/package/bpftool/Config.in b/package/bpftool/Config.in index e81d87434..461be9e5b 100644 --- a/package/bpftool/Config.in +++ b/package/bpftool/Config.in @@ -1,5 +1,16 @@ +config BR2_PACKAGE_BPFTOOL_ARCH_SUPPORTS + bool + # see libbpf/src/bpf.c + default y if BR2_arc + default y if BR2_aarch64 || BR2_aarch64_be + default y if BR2_i386 || BR2_x86_64 + default y if BR2_sparc || BR2_sparc64 + default y if BR2_s390x + config BR2_PACKAGE_BPFTOOL bool "bpftool" + depends on BR2_PACKAGE_BPFTOOL_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_nios2 # binutils depends on BR2_USE_WCHAR # binutils, elfutils depends on !BR2_STATIC_LIBS # elfutils @@ -13,6 +24,8 @@ config BR2_PACKAGE_BPFTOOL of eBPF programs and maps. comment "bpftool needs a uClibc or glibc toolchain w/ wchar, dynamic library, threads, headers >= 4.12" + depends on BR2_PACKAGE_BPFTOOL_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_nios2 depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS \ || !BR2_TOOLCHAIN_HAS_THREADS \ diff --git a/package/bpftool/bpftool.hash b/package/bpftool/bpftool.hash index 2e414b8eb..5fbc25adb 100644 --- a/package/bpftool/bpftool.hash +++ b/package/bpftool/bpftool.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 e4ce219d3b87dd70d8dbfb8f02bd356f70c010f739f17baca1c8912199a8a72b bpftool-v6.7.0-br1.tar.gz +sha256 f8f8cabc001823d270898ea3a635d1eb88e067bc24eed06f74e58d2650b32312 bpftool-v6.8.0-br1.tar.gz sha256 7c588754d5e81e92e2a12e47cf78949d485c9c22b4850f12d21b3835c85947d1 LICENSE sha256 6313108c23efffa36948f8b2cff1560a5935373b527b0e1a837cc77e6ed1bacd LICENSE.BSD-2-Clause sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL-2.0 diff --git a/package/bpftool/bpftool.mk b/package/bpftool/bpftool.mk index 874291725..bb1e4ccdf 100644 --- a/package/bpftool/bpftool.mk +++ b/package/bpftool/bpftool.mk @@ -4,7 +4,7 @@ # ################################################################################ -BPFTOOL_VERSION = v6.7.0 +BPFTOOL_VERSION = v6.8.0 BPFTOOL_SITE = https://github.com/libbpf/bpftool BPFTOOL_SITE_METHOD = git BPFTOOL_GIT_SUBMODULES = YES diff --git a/package/bridge-utils/Config.in b/package/bridge-utils/Config.in index de5883f06..2d886e2cb 100644 --- a/package/bridge-utils/Config.in +++ b/package/bridge-utils/Config.in @@ -8,4 +8,4 @@ config BR2_PACKAGE_BRIDGE_UTILS added. Instead use the bridge command from the iproute2 package which supports more features. - https://git.kernel.org/cgit/linux/kernel/git/shemminger/bridge-utils.git/ + https://wiki.linuxfoundation.org/networking/bridge diff --git a/package/brltty/Config.in b/package/brltty/Config.in index c728cb7e2..3527df616 100644 --- a/package/brltty/Config.in +++ b/package/brltty/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_BRLTTY depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS depends on BR2_USE_MMU # fork() - select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID if BR2_PACKAGE_BLUEZ5_UTILS # runtime + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID if BR2_PACKAGE_BLUEZ5_UTILS && BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # runtime help A daemon providing access to the Linux console for a blind person using a refreshable braille display. diff --git a/package/brotli/brotli.mk b/package/brotli/brotli.mk index 43c8524c0..ac49fe664 100644 --- a/package/brotli/brotli.mk +++ b/package/brotli/brotli.mk @@ -21,6 +21,12 @@ ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y) BROTLI_CFLAGS += -O0 endif +# Workaround "Error: value -1234 out of range" assembler issues +# when building with optimizations. +ifeq ($(BR2_m68k),y) +BROTLI_CFLAGS += -Os +endif + BROTLI_CONF_OPTS += -DCMAKE_C_FLAGS="$(BROTLI_CFLAGS)" $(eval $(cmake-package)) diff --git a/package/bsdiff/bsdiff.hash b/package/bsdiff/bsdiff.hash index 2c6d02f4e..102086b9f 100644 --- a/package/bsdiff/bsdiff.hash +++ b/package/bsdiff/bsdiff.hash @@ -1,4 +1,4 @@ # From http://www.daemonology.net/bsdiff/: -md5 e6d812394f0e0ecc8d5df255aa1db22a bsdiff-4.3.tar.gz +md5 e6d812394f0e0ecc8d5df255aa1db22a bsdiff-4.3.tar.gz # locally computed sha256 fc0a6e634ef77dcf14bf36c7b6d1e57ba1ac5c4809073dfaacb3b5f7ab277eb7 bsdiff.c diff --git a/package/busybox/0003-awk-fix-use-after-free-CVE-2022-30065.patch b/package/busybox/0003-awk-fix-use-after-free-CVE-2022-30065.patch new file mode 100644 index 000000000..f9bfee328 --- /dev/null +++ b/package/busybox/0003-awk-fix-use-after-free-CVE-2022-30065.patch @@ -0,0 +1,52 @@ +From e06b1f0839972cc3f5b432849d574d14a8f17613 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Fri, 17 Jun 2022 17:45:34 +0200 +Subject: [PATCH] awk: fix use after free (CVE-2022-30065) + +fixes https://bugs.busybox.net/show_bug.cgi?id=14781 + +function old new delta +evaluate 3343 3357 +14 + +Signed-off-by: Natanael Copa +Signed-off-by: Denys Vlasenko +Backport: https://git.busybox.net/busybox/commit/?id=e63d7cdfdac78c6fd27e9e63150335767592b85e +[straightforward conflict resolution in testsuite/awk.tests] +Signed-off-by: Quentin Schulz +--- + editors/awk.c | 3 +++ + testsuite/awk.tests | 6 ++++++ + 2 files changed, 9 insertions(+) + +diff --git a/editors/awk.c b/editors/awk.c +index f6314ac72..654cbac33 100644 +--- a/editors/awk.c ++++ b/editors/awk.c +@@ -3114,6 +3114,9 @@ static var *evaluate(node *op, var *res) + + case XC( OC_MOVE ): + debug_printf_eval("MOVE\n"); ++ /* make sure that we never return a temp var */ ++ if (L.v == TMPVAR0) ++ L.v = res; + /* if source is a temporary string, jusk relink it to dest */ + if (R.v == TMPVAR1 + && !(R.v->type & VF_NUMBER) +diff --git a/testsuite/awk.tests b/testsuite/awk.tests +index bcaafe8fd..156aa65eb 100755 +--- a/testsuite/awk.tests ++++ b/testsuite/awk.tests +@@ -469,4 +469,10 @@ testing 'awk printf %% prints one %' \ + "%\n" \ + '' '' + ++testing 'awk assign while test' \ ++ "awk '\$1==\$1=\"foo\" {print \$1}'" \ ++ "foo\n" \ ++ "" \ ++ "foo" ++ + exit $FAILCOUNT +-- +2.37.3 + diff --git a/package/busybox/0004-libbb-sockaddr2str-ensure-only-printable-characters-.patch b/package/busybox/0004-libbb-sockaddr2str-ensure-only-printable-characters-.patch new file mode 100644 index 000000000..623b2597a --- /dev/null +++ b/package/busybox/0004-libbb-sockaddr2str-ensure-only-printable-characters-.patch @@ -0,0 +1,42 @@ +From 9d825e854ef53ebbe0aea2f1a69f52b763104daf Mon Sep 17 00:00:00 2001 +From: Ariadne Conill +Date: Mon, 19 Sep 2022 14:15:12 +0200 +Subject: [PATCH] libbb: sockaddr2str: ensure only printable characters are + returned for the hostname part + +CVE: CVE-2022-28391 +Signed-off-by: Ariadne Conill +Tested-by: Radoslav Kolev +Backport from ML: http://lists.busybox.net/pipermail/busybox/2022-July/089796.html +Signed-off-by: Quentin Schulz +--- + libbb/xconnect.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/libbb/xconnect.c b/libbb/xconnect.c +index 0e0b247b8..02c061e67 100644 +--- a/libbb/xconnect.c ++++ b/libbb/xconnect.c +@@ -497,8 +497,9 @@ static char* FAST_FUNC sockaddr2str(const struct sockaddr *sa, int flags) + ); + if (rc) + return NULL; ++ /* ensure host contains only printable characters */ + if (flags & IGNORE_PORT) +- return xstrdup(host); ++ return xstrdup(printable_string(host)); + #if ENABLE_FEATURE_IPV6 + if (sa->sa_family == AF_INET6) { + if (strchr(host, ':')) /* heh, it's not a resolved hostname */ +@@ -509,7 +510,7 @@ static char* FAST_FUNC sockaddr2str(const struct sockaddr *sa, int flags) + #endif + /* For now we don't support anything else, so it has to be INET */ + /*if (sa->sa_family == AF_INET)*/ +- return xasprintf("%s:%s", host, serv); ++ return xasprintf("%s:%s", printable_string(host), serv); + /*return xstrdup(host);*/ + } + +-- +2.37.3 + diff --git a/package/busybox/0005-nslookup-sanitize-all-printed-strings-with-printable.patch b/package/busybox/0005-nslookup-sanitize-all-printed-strings-with-printable.patch new file mode 100644 index 000000000..bfa58465e --- /dev/null +++ b/package/busybox/0005-nslookup-sanitize-all-printed-strings-with-printable.patch @@ -0,0 +1,69 @@ +From bd463a5564a2c0618317448c3f965d389534c3df Mon Sep 17 00:00:00 2001 +From: Ariadne Conill +Date: Mon, 19 Sep 2022 14:15:12 +0200 +Subject: [PATCH] nslookup: sanitize all printed strings with printable_string + +Otherwise, terminal sequences can be injected, which enables various terminal injection +attacks from DNS results. + +CVE: CVE-2022-28391 +Signed-off-by: Ariadne Conill +Tested-by: Radoslav Kolev +Backport from ML: http://lists.busybox.net/pipermail/busybox/2022-July/089795.html +Signed-off-by: Quentin Schulz +--- + networking/nslookup.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/networking/nslookup.c b/networking/nslookup.c +index 6da97baf4..4bdcde1b8 100644 +--- a/networking/nslookup.c ++++ b/networking/nslookup.c +@@ -407,7 +407,7 @@ static NOINLINE int parse_reply(const unsigned char *msg, size_t len) + //printf("Unable to uncompress domain: %s\n", strerror(errno)); + return -1; + } +- printf(format, ns_rr_name(rr), dname); ++ printf(format, ns_rr_name(rr), printable_string(dname)); + break; + + case ns_t_mx: +@@ -422,7 +422,7 @@ static NOINLINE int parse_reply(const unsigned char *msg, size_t len) + //printf("Cannot uncompress MX domain: %s\n", strerror(errno)); + return -1; + } +- printf("%s\tmail exchanger = %d %s\n", ns_rr_name(rr), n, dname); ++ printf("%s\tmail exchanger = %d %s\n", ns_rr_name(rr), n, printable_string(dname)); + break; + + case ns_t_txt: +@@ -434,7 +434,7 @@ static NOINLINE int parse_reply(const unsigned char *msg, size_t len) + if (n > 0) { + memset(dname, 0, sizeof(dname)); + memcpy(dname, ns_rr_rdata(rr) + 1, n); +- printf("%s\ttext = \"%s\"\n", ns_rr_name(rr), dname); ++ printf("%s\ttext = \"%s\"\n", ns_rr_name(rr), printable_string(dname)); + } + break; + +@@ -454,7 +454,7 @@ static NOINLINE int parse_reply(const unsigned char *msg, size_t len) + } + + printf("%s\tservice = %u %u %u %s\n", ns_rr_name(rr), +- ns_get16(cp), ns_get16(cp + 2), ns_get16(cp + 4), dname); ++ ns_get16(cp), ns_get16(cp + 2), ns_get16(cp + 4), printable_string(dname)); + break; + + case ns_t_soa: +@@ -483,7 +483,7 @@ static NOINLINE int parse_reply(const unsigned char *msg, size_t len) + return -1; + } + +- printf("\tmail addr = %s\n", dname); ++ printf("\tmail addr = %s\n", printable_string(dname)); + cp += n; + + printf("\tserial = %lu\n", ns_get32(cp)); +-- +2.37.3 + diff --git a/package/busybox/busybox-minimal.config b/package/busybox/busybox-minimal.config index 9eae0f51f..1fb4e39e2 100644 --- a/package/busybox/busybox-minimal.config +++ b/package/busybox/busybox-minimal.config @@ -1018,7 +1018,7 @@ CONFIG_UDHCP_DEBUG=9 CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 # CONFIG_FEATURE_UDHCP_RFC3397 is not set # CONFIG_FEATURE_UDHCP_8021Q is not set -CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-b -R" +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R" # # Print Utilities diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk index 3e49de0a8..f8f9cb561 100644 --- a/package/busybox/busybox.mk +++ b/package/busybox/busybox.mk @@ -11,6 +11,12 @@ BUSYBOX_LICENSE = GPL-2.0, bzip2-1.0.4 BUSYBOX_LICENSE_FILES = LICENSE archival/libarchive/bz/LICENSE BUSYBOX_CPE_ID_VENDOR = busybox +# 0003-awk-fix-use-after-free-CVE-2022-30065.patch +BUSYBOX_IGNORE_CVES += CVE-2022-30065 +# 0004-libbb-sockaddr2str-ensure-only-printable-characters-.patch +# 0005-nslookup-sanitize-all-printed-strings-with-printable.patch +BUSYBOX_IGNORE_CVES += CVE-2022-28391 + BUSYBOX_CFLAGS = \ $(TARGET_CFLAGS) @@ -48,7 +54,7 @@ BUSYBOX_DEPENDENCIES = \ $(if $(BR2_PACKAGE_MTD),mtd) \ $(if $(BR2_PACKAGE_NET_TOOLS),net-tools) \ $(if $(BR2_PACKAGE_NETCAT),netcat) \ - $(if $(BR2_PACKAGE_NETCAT_OPENSBSD),netcat-openbsd) \ + $(if $(BR2_PACKAGE_NETCAT_OPENBSD),netcat-openbsd) \ $(if $(BR2_PACKAGE_NMAP),nmap) \ $(if $(BR2_PACKAGE_NTP),ntp) \ $(if $(BR2_PACKAGE_PCIUTILS),pciutils) \ @@ -102,6 +108,9 @@ BUSYBOX_MAKE_OPTS = \ CONFIG_PREFIX="$(TARGET_DIR)" \ SKIP_STRIP=y +# specifying BUSYBOX_CONFIG_FILE on the command-line overrides the .config +# setting. +# check-package disable Ifdef ifndef BUSYBOX_CONFIG_FILE BUSYBOX_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_BUSYBOX_CONFIG)) endif diff --git a/package/bzip2/bzip2.hash b/package/bzip2/bzip2.hash index cf66c402f..a451166d2 100644 --- a/package/bzip2/bzip2.hash +++ b/package/bzip2/bzip2.hash @@ -1,4 +1,4 @@ # From https://sourceware.org/pub/bzip2/sha512.sum -sha512 083f5e675d73f3233c7930ebe20425a533feedeaaa9d8cc86831312a6581cefbe6ed0d08d2fa89be81082f2a5abdabca8b3c080bf97218a1bd59dc118a30b9f3 bzip2-1.0.8.tar.gz +sha512 083f5e675d73f3233c7930ebe20425a533feedeaaa9d8cc86831312a6581cefbe6ed0d08d2fa89be81082f2a5abdabca8b3c080bf97218a1bd59dc118a30b9f3 bzip2-1.0.8.tar.gz # Locally calculated -sha256 c6dbbf828498be844a89eaa3b84adbab3199e342eb5cb2ed2f0d4ba7ec0f38a3 LICENSE +sha256 c6dbbf828498be844a89eaa3b84adbab3199e342eb5cb2ed2f0d4ba7ec0f38a3 LICENSE diff --git a/package/c-ares/c-ares.hash b/package/c-ares/c-ares.hash index af1f076aa..edf891674 100644 --- a/package/c-ares/c-ares.hash +++ b/package/c-ares/c-ares.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 1a7d52a8a84a9fbffb1be9133c0f6e17217d91ea5a6fa61f6b4729cda78ebbcf c-ares-1.18.1.tar.gz +sha256 bfceba37e23fd531293829002cac0401ef49a6dc55923f7f92236585b7ad1dd3 c-ares-1.19.0.tar.gz # Hash for license file sha256 db4eb63fe09daebdf57d3f79b091bb5ee5070c0d761040e83264e648d307af4c LICENSE.md diff --git a/package/c-ares/c-ares.mk b/package/c-ares/c-ares.mk index 0152759eb..4332fc691 100644 --- a/package/c-ares/c-ares.mk +++ b/package/c-ares/c-ares.mk @@ -4,7 +4,7 @@ # ################################################################################ -C_ARES_VERSION = 1.18.1 +C_ARES_VERSION = 1.19.0 C_ARES_SITE = http://c-ares.haxx.se/download C_ARES_INSTALL_STAGING = YES C_ARES_CONF_OPTS = --with-random=/dev/urandom diff --git a/package/c-capnproto/Config.in b/package/c-capnproto/Config.in index 41a59d7a2..c472128c3 100644 --- a/package/c-capnproto/Config.in +++ b/package/c-capnproto/Config.in @@ -18,7 +18,7 @@ config BR2_PACKAGE_C_CAPNPROTO comment "c-capnproto needs host and target gcc >= 5 w/ C++14, threads, atomic, ucontext and not gcc bug 64735" depends on BR2_USE_MMU - depends on!BR2_HOST_GCC_AT_LEAST_5 || \ + depends on !BR2_HOST_GCC_AT_LEAST_5 || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \ !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_HAS_THREADS || \ diff --git a/package/ca-certificates/0001-mozilla-certdata2pem.py-make-cryptography-module-opt.patch b/package/ca-certificates/0001-mozilla-certdata2pem.py-make-cryptography-module-opt.patch index b76c1bfd7..ed90c217e 100644 --- a/package/ca-certificates/0001-mozilla-certdata2pem.py-make-cryptography-module-opt.patch +++ b/package/ca-certificates/0001-mozilla-certdata2pem.py-make-cryptography-module-opt.patch @@ -1,4 +1,4 @@ -From bf18b564122e8f976681a2398862fde1eafd84ba Mon Sep 17 00:00:00 2001 +From a4e468a2a0afa80df174831c2f422184820bb0fa Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Thu, 6 Jan 2022 23:15:00 +0100 Subject: [PATCH] mozilla/certdata2pem.py: make cryptography module optional @@ -14,38 +14,39 @@ cryptography Python module is there, we perform the check, otherwise the check is skipped. Signed-off-by: Thomas Petazzoni +[Steve: refreshed to apply on ca-certificates version 20230311] +Signed-off-by: Steve Hay --- - mozilla/certdata2pem.py | 18 ++++++++++-------- - 1 file changed, 10 insertions(+), 8 deletions(-) + mozilla/certdata2pem.py | 17 ++++++++++------- + 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/mozilla/certdata2pem.py b/mozilla/certdata2pem.py -index ede23d4..a6261f8 100644 +index 4df86a2..3a6d7dc 100644 --- a/mozilla/certdata2pem.py +++ b/mozilla/certdata2pem.py -@@ -28,9 +28,6 @@ import sys +@@ -28,8 +28,6 @@ import sys import textwrap import io -from cryptography import x509 - -- + objects = [] - # Dirty file parser. -@@ -122,11 +119,16 @@ for obj in objects: +@@ -122,11 +120,16 @@ for obj in objects: if not obj['CKA_LABEL'] in trust or not trust[obj['CKA_LABEL']]: continue -- cert = x509.load_der_x509_certificate(obj['CKA_VALUE']) -- if cert.not_valid_after < datetime.datetime.now(): +- cert = x509.load_der_x509_certificate(bytes(obj['CKA_VALUE'])) +- if cert.not_valid_after < datetime.datetime.utcnow(): - print('!'*74) - print('Trusted but expired certificate found: %s' % obj['CKA_LABEL']) - print('!'*74) + try: + from cryptography import x509 + -+ cert = x509.load_der_x509_certificate(obj['CKA_VALUE']) -+ if cert.not_valid_after < datetime.datetime.now(): ++ cert = x509.load_der_x509_certificate(bytes(obj['CKA_VALUE'])) ++ if cert.not_valid_after < datetime.datetime.utcnow(): + print('!'*74) + print('Trusted but expired certificate found: %s' % obj['CKA_LABEL']) + print('!'*74) @@ -55,5 +56,5 @@ index ede23d4..a6261f8 100644 bname = obj['CKA_LABEL'][1:-1].replace('/', '_')\ .replace(' ', '_')\ -- -2.33.1 +2.30.2 diff --git a/package/ca-certificates/ca-certificates.hash b/package/ca-certificates/ca-certificates.hash index a1675b999..8a5b48dd7 100644 --- a/package/ca-certificates/ca-certificates.hash +++ b/package/ca-certificates/ca-certificates.hash @@ -1,6 +1,4 @@ # hashes from: $(CA_CERTIFICATES_SITE)/ca-certificates_$(CA_CERTIFICATES_VERSION).dsc : -sha1 bce5a8fac45456dbebf256f3a812c6cd0a853e3e ca-certificates_20211016.tar.xz -sha256 2ae9b6dc5f40c25d6d7fe55e07b54f12a8967d1955d3b7b2f42ee46266eeef88 ca-certificates_20211016.tar.xz - +sha256 83de934afa186e279d1ed08ea0d73f5cf43a6fbfb5f00874b6db3711c64576f3 ca-certificates_20230311.tar.xz # Locally computed sha256 e85e1bcad3a915dc7e6f41412bc5bdeba275cadd817896ea0451f2140a93967c debian/copyright diff --git a/package/ca-certificates/ca-certificates.mk b/package/ca-certificates/ca-certificates.mk index 0b6962ab7..202d0b92a 100644 --- a/package/ca-certificates/ca-certificates.mk +++ b/package/ca-certificates/ca-certificates.mk @@ -4,9 +4,9 @@ # ################################################################################ -CA_CERTIFICATES_VERSION = 20211016 +CA_CERTIFICATES_VERSION = 20230311 CA_CERTIFICATES_SOURCE = ca-certificates_$(CA_CERTIFICATES_VERSION).tar.xz -CA_CERTIFICATES_SITE = https://snapshot.debian.org/archive/debian/20211022T144903Z/pool/main/c/ca-certificates +CA_CERTIFICATES_SITE = https://snapshot.debian.org/archive/debian/20230317T205011Z/pool/main/c/ca-certificates CA_CERTIFICATES_DEPENDENCIES = host-openssl host-python3 CA_CERTIFICATES_LICENSE = GPL-2.0+ (script), MPL-2.0 (data) CA_CERTIFICATES_LICENSE_FILES = debian/copyright diff --git a/package/cache-calibrator/cache-calibrator.hash b/package/cache-calibrator/cache-calibrator.hash index a4b4b70cf..cd6c63d01 100644 --- a/package/cache-calibrator/cache-calibrator.hash +++ b/package/cache-calibrator/cache-calibrator.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 2018ed8fa733155d44ceb1c0066c5cf8df7771cdf7cfca0a07b8dd9bebd9c221 calibrator.c -sha256 a853663f5b4fb3ad77bf2790ab53146f456b8d9b9ddf83b99fe28c0bdec42514 calibrator.c.license +sha256 2018ed8fa733155d44ceb1c0066c5cf8df7771cdf7cfca0a07b8dd9bebd9c221 calibrator.c +sha256 a853663f5b4fb3ad77bf2790ab53146f456b8d9b9ddf83b99fe28c0bdec42514 calibrator.c.license diff --git a/package/cage/cage.hash b/package/cage/cage.hash index 31ae25bac..57a1c1263 100644 --- a/package/cage/cage.hash +++ b/package/cage/cage.hash @@ -1,5 +1,5 @@ # Generated locally after checking GPG signature -sha256 dfe27fb0c7d43db72d6c82f01e2736580a0791a23ba69d7b56285d08af98ad90 cage-0.1.4.tar.gz +sha256 dfe27fb0c7d43db72d6c82f01e2736580a0791a23ba69d7b56285d08af98ad90 cage-0.1.4.tar.gz # Hashes for license files: -sha256 e117104073335dbaf78596fb1bedf89dda63c71f60f0b665947b2d369c77ecee LICENSE +sha256 e117104073335dbaf78596fb1bedf89dda63c71f60f0b665947b2d369c77ecee LICENSE diff --git a/package/cairo/0003-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch b/package/cairo/0003-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch new file mode 100644 index 000000000..078e90fa4 --- /dev/null +++ b/package/cairo/0003-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch @@ -0,0 +1,39 @@ +From ab2c5ee21e5f3d3ee4b3f67cfcd5811a4f99c3a0 Mon Sep 17 00:00:00 2001 +From: Heiko Lewin +Date: Sun, 1 Aug 2021 11:16:03 +0000 +Subject: [PATCH] _arc_max_angle_for_tolerance_normalized: fix infinite loop + +[Retrieved from: +https://gitlab.freedesktop.org/cairo/cairo/-/commit/ab2c5ee21e5f3d3ee4b3f67cfcd5811a4f99c3a0] +Signed-off-by: Quentin Schulz +--- + src/cairo-arc.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/cairo-arc.c b/src/cairo-arc.c +index 390397bae..1c891d1a0 100644 +--- a/src/cairo-arc.c ++++ b/src/cairo-arc.c +@@ -90,16 +90,18 @@ _arc_max_angle_for_tolerance_normalized (double tolerance) + { M_PI / 11.0, 9.81410988043554039085e-09 }, + }; + int table_size = ARRAY_LENGTH (table); ++ const int max_segments = 1000; /* this value is chosen arbitrarily. this gives an error of about 1.74909e-20 */ + + for (i = 0; i < table_size; i++) + if (table[i].error < tolerance) + return table[i].angle; + + ++i; ++ + do { + angle = M_PI / i++; + error = _arc_error_normalized (angle); +- } while (error > tolerance); ++ } while (error > tolerance && i < max_segments); + + return angle; + } +-- +2.38.1 + diff --git a/package/cairo/0004-Fix-mask-usage-in-image-compositor.patch b/package/cairo/0004-Fix-mask-usage-in-image-compositor.patch new file mode 100644 index 000000000..54a95593c --- /dev/null +++ b/package/cairo/0004-Fix-mask-usage-in-image-compositor.patch @@ -0,0 +1,56 @@ +From 03a820b173ed1fdef6ff14b4468f5dbc02ff59be Mon Sep 17 00:00:00 2001 +From: Heiko Lewin +Date: Tue, 15 Dec 2020 16:48:19 +0100 +Subject: [PATCH] Fix mask usage in image-compositor + +[Retrieved from +https://gitlab.freedesktop.org/cairo/cairo/-/commit/03a820b173ed1fdef6ff14b4468f5dbc02ff59be] +[Removed changes in test/ directory to remove binary diff so that the +patch can be applied by `patch` tool] +Signed-off-by: Quentin Schulz +--- + src/cairo-image-compositor.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/cairo-image-compositor.c b/src/cairo-image-compositor.c +index bbf4cf228..2352c478e 100644 +--- a/src/cairo-image-compositor.c ++++ b/src/cairo-image-compositor.c +@@ -2601,14 +2601,14 @@ _inplace_src_spans (void *abstract_renderer, int y, int h, + unsigned num_spans) + { + cairo_image_span_renderer_t *r = abstract_renderer; +- uint8_t *m; ++ uint8_t *m, *base = (uint8_t*)pixman_image_get_data(r->mask); + int x0; + + if (num_spans == 0) + return CAIRO_STATUS_SUCCESS; + + x0 = spans[0].x; +- m = r->_buf; ++ m = base; + do { + int len = spans[1].x - spans[0].x; + if (len >= r->u.composite.run_length && spans[0].coverage == 0xff) { +@@ -2646,7 +2646,7 @@ _inplace_src_spans (void *abstract_renderer, int y, int h, + spans[0].x, y, + spans[1].x - spans[0].x, h); + +- m = r->_buf; ++ m = base; + x0 = spans[1].x; + } else if (spans[0].coverage == 0x0) { + if (spans[0].x != x0) { +@@ -2675,7 +2675,7 @@ _inplace_src_spans (void *abstract_renderer, int y, int h, + #endif + } + +- m = r->_buf; ++ m = base; + x0 = spans[1].x; + } else { + *m++ = spans[0].coverage; +-- +2.38.1 + diff --git a/package/cairo/cairo.hash b/package/cairo/cairo.hash index 949ed3ffe..3b93e24a2 100644 --- a/package/cairo/cairo.hash +++ b/package/cairo/cairo.hash @@ -1,9 +1,9 @@ # From https://www.cairographics.org/releases/cairo-1.16.0.tar.xz.sha1 -sha1 00e81842ae5e81bb0343108884eb5205be0eac14 cairo-1.16.0.tar.xz +sha1 00e81842ae5e81bb0343108884eb5205be0eac14 cairo-1.16.0.tar.xz # Calculated based on the hash above -sha256 5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331 cairo-1.16.0.tar.xz +sha256 5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331 cairo-1.16.0.tar.xz # Hash for license files: -sha256 67228a9f7c5f9b67c58f556f1be178f62da4d9e2e6285318d8c74d567255abdf COPYING -sha256 9e9e8608c4cdda51a78cc3a385f4ec9a2e4c96d5ecad74ac8bca5fca3e563b7d COPYING-LGPL-2.1 -sha256 53692a2ed6c6a2c6ec9b32dd0b820dfae91e0a1fcdf625ca9ed0bdf8705fcc4f COPYING-MPL-1.1 +sha256 67228a9f7c5f9b67c58f556f1be178f62da4d9e2e6285318d8c74d567255abdf COPYING +sha256 9e9e8608c4cdda51a78cc3a385f4ec9a2e4c96d5ecad74ac8bca5fca3e563b7d COPYING-LGPL-2.1 +sha256 53692a2ed6c6a2c6ec9b32dd0b820dfae91e0a1fcdf625ca9ed0bdf8705fcc4f COPYING-MPL-1.1 diff --git a/package/cairo/cairo.mk b/package/cairo/cairo.mk index 98f270442..e8a704c7d 100644 --- a/package/cairo/cairo.mk +++ b/package/cairo/cairo.mk @@ -14,6 +14,12 @@ CAIRO_INSTALL_STAGING = YES # 0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch CAIRO_IGNORE_CVES += CVE-2018-19876 +# 0003-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch +CAIRO_IGNORE_CVES += CVE-2019-6462 +# 0004-Fix-mask-usage-in-image-compositor.patch +CAIRO_IGNORE_CVES += CVE-2020-35492 + +CAIRO_CONF_ENV = LIBS="$(CAIRO_LIBS)" # relocation truncated to fit: R_68K_GOT16O ifeq ($(BR2_m68k_cf),y) @@ -27,7 +33,7 @@ endif # cairo can use C++11 atomics when available, so we need to link with # libatomic for the architectures who need libatomic. ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -CAIRO_CONF_ENV += LIBS="-latomic" +CAIRO_LIBS += -latomic endif CAIRO_CONF_OPTS = \ @@ -81,6 +87,11 @@ else CAIRO_CONF_OPTS += --disable-ft endif +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +CAIRO_DEPENDENCIES += libexecinfo +CAIRO_LIBS += -lexecinfo +endif + ifeq ($(BR2_PACKAGE_LIBGLIB2),y) CAIRO_CONF_OPTS += --enable-gobject CAIRO_DEPENDENCIES += libglib2 diff --git a/package/capnproto/capnproto.hash b/package/capnproto/capnproto.hash index 7fd0e6158..c3233e7c8 100644 --- a/package/capnproto/capnproto.hash +++ b/package/capnproto/capnproto.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 daf49f794560f715e2f4651c842aaece2d065d4216834c5c3d3254962e35b535 capnproto-0.9.1.tar.gz +sha256 4fe1ca8ab90859f33f08d2c4fcd7099e2983b0b946beecebd2fe051e3a64c67e capnproto-0.9.2.tar.gz sha256 9564998c8d7f270a61a8b89869a8d17a9d5e3783b64027788b5e339ec8479e10 LICENSE diff --git a/package/capnproto/capnproto.mk b/package/capnproto/capnproto.mk index 7fc07043f..23f128455 100644 --- a/package/capnproto/capnproto.mk +++ b/package/capnproto/capnproto.mk @@ -4,7 +4,7 @@ # ################################################################################ -CAPNPROTO_VERSION = 0.9.1 +CAPNPROTO_VERSION = 0.9.2 CAPNPROTO_SITE = $(call github,capnproto,capnproto,v$(CAPNPROTO_VERSION)) CAPNPROTO_LICENSE = MIT CAPNPROTO_LICENSE_FILES = LICENSE diff --git a/package/caps/caps.hash b/package/caps/caps.hash index 958f4b68b..ed18095e8 100644 --- a/package/caps/caps.hash +++ b/package/caps/caps.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 e7496c5bce05abebe3dcb635926153bbb58a9337a6e423f048d3b61d8a4f98c9 caps_0.9.26.tar.bz2 -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 e7496c5bce05abebe3dcb635926153bbb58a9337a6e423f048d3b61d8a4f98c9 caps_0.9.26.tar.bz2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/cbootimage/cbootimage.hash b/package/cbootimage/cbootimage.hash index 7113f84f1..03d2f0a33 100644 --- a/package/cbootimage/cbootimage.hash +++ b/package/cbootimage/cbootimage.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 46cce01f07df977668de9e1d49884d8ed539169994215606a9719d17b9db8804 cbootimage-1.8.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 46cce01f07df977668de9e1d49884d8ed539169994215606a9719d17b9db8804 cbootimage-1.8.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/cctz/cctz.hash b/package/cctz/cctz.hash index fe8897c50..b3a832079 100644 --- a/package/cctz/cctz.hash +++ b/package/cctz/cctz.hash @@ -1,3 +1,3 @@ # locally computed -sha256 8615b20d4e33e02a271c3b93a3b208e3d7d5d66880f5f6208b03426e448f32db cctz-2.3.tar.gz -sha256 c79a7fea0e3cac04cd43f20e7b648e5a0ff8fa5344e644b0ee09ca1162b62747 LICENSE.txt +sha256 8615b20d4e33e02a271c3b93a3b208e3d7d5d66880f5f6208b03426e448f32db cctz-2.3.tar.gz +sha256 c79a7fea0e3cac04cd43f20e7b648e5a0ff8fa5344e644b0ee09ca1162b62747 LICENSE.txt diff --git a/package/cgic/cgic.hash b/package/cgic/cgic.hash index d3f082e88..2c6806712 100644 --- a/package/cgic/cgic.hash +++ b/package/cgic/cgic.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 1e8834642a4b89528bb7bde2f287e133c6b07e210e68681a34137c436d59d320 cgic207.tar.gz -sha256 6a7de92593d64dbf7630d8f66f97e04a899769bef1e055f2434bc06b87b9de62 license.txt +sha256 1e8834642a4b89528bb7bde2f287e133c6b07e210e68681a34137c436d59d320 cgic207.tar.gz +sha256 6a7de92593d64dbf7630d8f66f97e04a899769bef1e055f2434bc06b87b9de62 license.txt diff --git a/package/cgilua/cgilua.hash b/package/cgilua/cgilua.hash index 385382b9d..9675a098b 100644 --- a/package/cgilua/cgilua.hash +++ b/package/cgilua/cgilua.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 7bfb88c483136bca9b814316d7f9ff581a805d68d144c1eebdfda3e8dfb5eb3a cgilua-6.0.2-0.src.rock -sha256 b82f9b13f9b1a1387f53203a625612914630b520377731b0aab7ce93ad2b18c4 cgilua/doc/us/license.html +sha256 7bfb88c483136bca9b814316d7f9ff581a805d68d144c1eebdfda3e8dfb5eb3a cgilua-6.0.2-0.src.rock +sha256 b82f9b13f9b1a1387f53203a625612914630b520377731b0aab7ce93ad2b18c4 cgilua/doc/us/license.html diff --git a/package/chartjs/chartjs.hash b/package/chartjs/chartjs.hash index de4d6d4eb..f8614ec38 100644 --- a/package/chartjs/chartjs.hash +++ b/package/chartjs/chartjs.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 9ef3697e279a585c79730f35dba16ad4e24ddeed49a150adb341c31f191fb78e chartjs-2.9.4.tar.gz -sha256 7b43caae91f31b18dc81fae6e0f7aa1acbecaa6d84e3249905cbe15308307d67 LICENSE.md +sha256 9ef3697e279a585c79730f35dba16ad4e24ddeed49a150adb341c31f191fb78e chartjs-2.9.4.tar.gz +sha256 7b43caae91f31b18dc81fae6e0f7aa1acbecaa6d84e3249905cbe15308307d67 LICENSE.md diff --git a/package/check/check.mk b/package/check/check.mk index be8253946..ccffd08ee 100644 --- a/package/check/check.mk +++ b/package/check/check.mk @@ -10,6 +10,7 @@ CHECK_INSTALL_STAGING = YES CHECK_DEPENDENCIES = host-pkgconf CHECK_LICENSE = LGPL-2.1+ CHECK_LICENSE_FILES = COPYING.LESSER +CHECK_CONF_OPTS = --disable-build-docs # Having checkmk in the target makes no sense define CHECK_REMOVE_CHECKMK diff --git a/package/checkpolicy/checkpolicy.mk b/package/checkpolicy/checkpolicy.mk index af9a58cee..baf16fb80 100644 --- a/package/checkpolicy/checkpolicy.mk +++ b/package/checkpolicy/checkpolicy.mk @@ -20,11 +20,6 @@ define CHECKPOLICY_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(CHECKPOLICY_MAKE_OPTS) DESTDIR=$(STAGING_DIR) endef -define CHECKPOLICY_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(CHECKPOLICY_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install - -endef - define CHECKPOLICY_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(CHECKPOLICY_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install endef diff --git a/package/chipmunk/chipmunk.hash b/package/chipmunk/chipmunk.hash index fc34639aa..0fb8e15b6 100644 --- a/package/chipmunk/chipmunk.hash +++ b/package/chipmunk/chipmunk.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 1e6f093812d6130e45bdf4cb80280cb3c93d1e1833d8cf989d554d7963b7899a Chipmunk-7.0.3.tar.gz +sha256 1e6f093812d6130e45bdf4cb80280cb3c93d1e1833d8cf989d554d7963b7899a Chipmunk-7.0.3.tar.gz # Hash for license file: -sha256 109cedb0301cba4e05fa99241f162bdad015c9541ae84b420b0148ac1ea588e2 LICENSE.txt +sha256 109cedb0301cba4e05fa99241f162bdad015c9541ae84b420b0148ac1ea588e2 LICENSE.txt diff --git a/package/cifs-utils/cifs-utils.hash b/package/cifs-utils/cifs-utils.hash index 566a5c4bf..ec6ea5596 100644 --- a/package/cifs-utils/cifs-utils.hash +++ b/package/cifs-utils/cifs-utils.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 43d8786c8613caccfa84913081c1d62bc2409575854cf895b05b48af0863d056 cifs-utils-6.13.tar.bz2 +sha256 a7b6940e93250c1676a6fa66b6ead91b78cd43a5fee99cc462459c8b9cf1e6f4 cifs-utils-6.15.tar.bz2 # Hash for license file: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/cifs-utils/cifs-utils.mk b/package/cifs-utils/cifs-utils.mk index b29557cbe..edf08d4b4 100644 --- a/package/cifs-utils/cifs-utils.mk +++ b/package/cifs-utils/cifs-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -CIFS_UTILS_VERSION = 6.13 +CIFS_UTILS_VERSION = 6.15 CIFS_UTILS_SOURCE = cifs-utils-$(CIFS_UTILS_VERSION).tar.bz2 CIFS_UTILS_SITE = http://ftp.samba.org/pub/linux-cifs/cifs-utils CIFS_UTILS_LICENSE = GPL-3.0+ diff --git a/package/clamav/Config.in b/package/clamav/Config.in index 990a818b5..2857f9cbf 100644 --- a/package/clamav/Config.in +++ b/package/clamav/Config.in @@ -10,6 +10,7 @@ config BR2_PACKAGE_CLAMAV select BR2_PACKAGE_MUSL_FTS if !BR2_TOOLCHAIN_USES_GLIBC select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_ZLIB_FORCE_LIBZLIB help ClamAV is an open source antivirus engine for detecting trojans, viruses, malware & other malicious threats. diff --git a/package/clamav/clamav.hash b/package/clamav/clamav.hash index 73f4ff88f..27f9b16a3 100644 --- a/package/clamav/clamav.hash +++ b/package/clamav/clamav.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 1e74b1e1d2a8a9056449c313f48a6983b9d5ba0d6fb5ef0b2be6ad3c841a5426 clamav-0.103.5.tar.gz +sha256 6f49da6ee927936de13d359e559d3944248e3a257d40b80b6c99ebe6fe8c8c3f clamav-0.103.8.tar.gz sha256 0c4fd2fa9733fc9122503797648710851e4ee6d9e4969dd33fcbd8c63cd2f584 COPYING sha256 d72a145c90918184a05ef65a04c9e6f7466faa59bc1b82c8f6a8ddc7ddcb9bed COPYING.bzip2 sha256 dfb818a0d41411c6fb1c193c68b73018ceadd1994bda41ad541cbff292894bc6 COPYING.file diff --git a/package/clamav/clamav.mk b/package/clamav/clamav.mk index cd2d06e6b..0f0491bf0 100644 --- a/package/clamav/clamav.mk +++ b/package/clamav/clamav.mk @@ -4,7 +4,7 @@ # ################################################################################ -CLAMAV_VERSION = 0.103.5 +CLAMAV_VERSION = 0.103.8 CLAMAV_SITE = https://www.clamav.net/downloads/production CLAMAV_LICENSE = GPL-2.0 CLAMAV_LICENSE_FILES = COPYING COPYING.bzip2 COPYING.file COPYING.getopt \ @@ -12,6 +12,8 @@ CLAMAV_LICENSE_FILES = COPYING COPYING.bzip2 COPYING.file COPYING.getopt \ COPYING.unrar COPYING.zlib CLAMAV_CPE_ID_VENDOR = clamav CLAMAV_SELINUX_MODULES = clamav +# affects only Cisco devices +CLAMAV_IGNORE_CVES += CVE-2016-1405 CLAMAV_DEPENDENCIES = \ host-pkgconf \ libcurl \ @@ -69,6 +71,7 @@ CLAMAV_CONF_OPTS += --without-libjson endif ifeq ($(BR2_PACKAGE_LIBXML2),y) +CLAMAV_CONF_ENV += ac_cv_path_xmlconfig=$(STAGING_DIR)/usr/bin/xml2-config CLAMAV_CONF_OPTS += --with-xml=$(STAGING_DIR)/usr CLAMAV_DEPENDENCIES += libxml2 else diff --git a/package/clang/clang.hash b/package/clang/clang.hash index 067a2c047..906d4d528 100644 --- a/package/clang/clang.hash +++ b/package/clang/clang.hash @@ -1,3 +1,3 @@ # locally calculated -sha256 5778512b2e065c204010f88777d44b95250671103e434f9dc7363ab2e3804253 clang-9.0.1.src.tar.xz -sha256 ebcd9bbf783a73d05c53ba4d586b8d5813dcdf3bbec50265860ccc885e606f47 LICENSE.TXT +sha256 5778512b2e065c204010f88777d44b95250671103e434f9dc7363ab2e3804253 clang-9.0.1.src.tar.xz +sha256 ebcd9bbf783a73d05c53ba4d586b8d5813dcdf3bbec50265860ccc885e606f47 LICENSE.TXT diff --git a/package/cloop/cloop.mk b/package/cloop/cloop.mk index f3c4954ea..6f6d5fe6a 100644 --- a/package/cloop/cloop.mk +++ b/package/cloop/cloop.mk @@ -14,7 +14,7 @@ HOST_CLOOP_DEPENDENCIES = host-zlib define HOST_CLOOP_BUILD_CMDS $(HOST_CONFIGURE_OPTS) $(MAKE1) -C $(@D) APPSONLY=yes \ - CFLAGS="$(HOST_CFLAGS) -D_GNU_SOURCE" + CFLAGS="$(HOST_CFLAGS) -D_GNU_SOURCE" CPPFLAGS="-std=c++14" endef define HOST_CLOOP_INSTALL_CMDS diff --git a/package/cmocka/cmocka.hash b/package/cmocka/cmocka.hash index 007dd7a7f..74d67d6ec 100644 --- a/package/cmocka/cmocka.hash +++ b/package/cmocka/cmocka.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 f0ccd8242d55e2fd74b16ba518359151f6f8383ff8aef4976e48393f77bba8b6 cmocka-1.1.5.tar.xz -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING +sha256 f0ccd8242d55e2fd74b16ba518359151f6f8383ff8aef4976e48393f77bba8b6 cmocka-1.1.5.tar.xz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING diff --git a/package/cog/Config.in b/package/cog/Config.in index d4238750f..d2a910f9b 100644 --- a/package/cog/Config.in +++ b/package/cog/Config.in @@ -39,7 +39,10 @@ config BR2_PACKAGE_COG_PLATFORM_FDO config BR2_PACKAGE_COG_PLATFORM_DRM bool "DRM backend" depends on BR2_PACKAGE_HAS_UDEV # libinput - depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # gbm + depends on BR2_PACKAGE_HAS_LIBEGL + depends on BR2_PACKAGE_HAS_LIBGBM + depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF + depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_LIBINPUT help @@ -52,7 +55,11 @@ config BR2_PACKAGE_COG_USE_SYSTEM_DBUS help Expose remote control interface on system bus -comment "DRM platform needs mesa3d w/ EGL driver and GBM" - depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL +comment "DRM platform needs EGL and GBM" + depends on \ + !BR2_PACKAGE_HAS_LIBEGL || \ + !BR2_PACKAGE_HAS_LIBGBM || \ + !BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF || \ + !BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT endif diff --git a/package/cog/cog.hash b/package/cog/cog.hash index 839b12e61..00d3a4e19 100644 --- a/package/cog/cog.hash +++ b/package/cog/cog.hash @@ -1,7 +1,7 @@ -# From https://wpewebkit.org/releases/cog-0.12.1.tar.xz.sums -md5 25a80a5a8a52b8873933a128151b8928 cog-0.12.1.tar.xz -sha1 3b9f67bc23cd9e3db2221366d6cde4ca0b06b811 cog-0.12.1.tar.xz -sha256 23caaafa2ef5c2f6a97d467fcce908ea71087ad03b72deb9280225c0dd561c91 cog-0.12.1.tar.xz +# From https://wpewebkit.org/releases/cog-0.12.4.tar.xz.sums +md5 cdb8acdc3acc9b5082e7db9c279155c3 cog-0.12.4.tar.xz +sha1 600b30efadf55bf94ea5062a0a1b2ea0b74053e5 cog-0.12.4.tar.xz +sha256 9983c621c8e14fca3792ff566cb6b86d6a1f17446eb4c083af4a5a749112982f cog-0.12.4.tar.xz # Hashes for license files: sha256 e6c42d93c68b292bcccf6d2ec3e13da85df90b718ba27c2c2a01053a9d009252 COPYING diff --git a/package/cog/cog.mk b/package/cog/cog.mk index 2f6ef402f..95b622062 100644 --- a/package/cog/cog.mk +++ b/package/cog/cog.mk @@ -4,7 +4,7 @@ # ################################################################################ -COG_VERSION = 0.12.1 +COG_VERSION = 0.12.4 COG_SITE = https://wpewebkit.org/releases COG_SOURCE = cog-$(COG_VERSION).tar.xz COG_INSTALL_STAGING = YES @@ -28,7 +28,7 @@ endif ifeq ($(BR2_PACKAGE_COG_PLATFORM_DRM),y) COG_CONF_OPTS += -DCOG_PLATFORM_DRM=ON -COG_DEPENDENCIES += libdrm libinput +COG_DEPENDENCIES += libdrm libinput libgbm libegl udev else COG_CONF_OPTS += -DCOG_PLATFORM_DRM=OFF endif diff --git a/package/collectd/Config.in b/package/collectd/Config.in index 67413ffde..c28079008 100644 --- a/package/collectd/Config.in +++ b/package/collectd/Config.in @@ -475,6 +475,7 @@ config BR2_PACKAGE_COLLECTD_PING config BR2_PACKAGE_COLLECTD_POSTGRESQL bool "postgresql" depends on BR2_USE_WCHAR # postgresql + depends on !BR2_OPTIMIZE_FAST # postgresql select BR2_PACKAGE_POSTGRESQL help Connects to and executes SQL statements on a PostgreSQL @@ -485,6 +486,9 @@ config BR2_PACKAGE_COLLECTD_POSTGRESQL comment "postgresql support needs a toolchain w/ wchar" depends on !BR2_USE_WCHAR +comment "postgresql support can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST + config BR2_PACKAGE_COLLECTD_PROCESSES bool "processes" help diff --git a/package/collectd/collectd.hash b/package/collectd/collectd.hash index 394904a19..674f09f5a 100644 --- a/package/collectd/collectd.hash +++ b/package/collectd/collectd.hash @@ -1,5 +1,5 @@ # Locally computed checksums -sha512 7a15e4c0ae587db4987d673a790a4f3bea1cab29ce24a506fb21fa7bd2f60bfec70867eaa1c1395cb5b0e0ae81a024fb6109b064da0ef50e7c146d2198871c70 collectd-5.12.0.tar.bz2 -sha256 5bae043042c19c31f77eb8464e56a01a5454e0b39fa07cf7ad0f1bfc9c3a09d6 collectd-5.12.0.tar.bz2 -sha1 af36fe83e2995270b5632fc21e5a001e6702cdce collectd-5.12.0.tar.bz2 -sha256 ed0409b2b1c30566dab5fcdaf46ee70e140c99788e22f0267645a9357b476ae4 COPYING +sha512 7a15e4c0ae587db4987d673a790a4f3bea1cab29ce24a506fb21fa7bd2f60bfec70867eaa1c1395cb5b0e0ae81a024fb6109b064da0ef50e7c146d2198871c70 collectd-5.12.0.tar.bz2 +sha256 5bae043042c19c31f77eb8464e56a01a5454e0b39fa07cf7ad0f1bfc9c3a09d6 collectd-5.12.0.tar.bz2 +sha1 af36fe83e2995270b5632fc21e5a001e6702cdce collectd-5.12.0.tar.bz2 +sha256 ed0409b2b1c30566dab5fcdaf46ee70e140c99788e22f0267645a9357b476ae4 COPYING diff --git a/package/collectd/collectd.mk b/package/collectd/collectd.mk index 575175704..5510c265e 100644 --- a/package/collectd/collectd.mk +++ b/package/collectd/collectd.mk @@ -27,6 +27,14 @@ COLLECTD_PLUGINS_DISABLE = \ COLLECTD_CONF_ENV += LIBS="-lm" +COLLECTD_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y) +COLLECTD_CFLAGS += -O0 +endif + +COLLECTD_CONF_ENV += CFLAGS="$(COLLECTD_CFLAGS)" + # # NOTE: There's also a third availible setting "intswap", which might # be needed on some old ARM hardware (see [2]), but is not being diff --git a/package/comix-cursors/comix-cursors.hash b/package/comix-cursors/comix-cursors.hash index e03808c3f..b66a61423 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 9e68ea8ff230dcc793528aa5da9a38b9bf61c478cd6868b4e4f5da659746a019 ComixCursors-0.9.1.tar.bz2 diff --git a/package/connman-gtk/connman-gtk.hash b/package/connman-gtk/connman-gtk.hash index fbc4acb14..72e2fcaaa 100644 --- a/package/connman-gtk/connman-gtk.hash +++ b/package/connman-gtk/connman-gtk.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 49bdc4769a7c508b0130e4705eef21aec9df1ea4f5c29fee48a0cae8db828fca connman-gtk-1.1.1.tar.bz2 -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 49bdc4769a7c508b0130e4705eef21aec9df1ea4f5c29fee48a0cae8db828fca connman-gtk-1.1.1.tar.bz2 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/connman/0001-gweb-Fix-OOB-write-in-received_data.patch b/package/connman/0001-gweb-Fix-OOB-write-in-received_data.patch new file mode 100644 index 000000000..d1a9d8f8f --- /dev/null +++ b/package/connman/0001-gweb-Fix-OOB-write-in-received_data.patch @@ -0,0 +1,36 @@ +From d1a5ede5d255bde8ef707f8441b997563b9312bd Mon Sep 17 00:00:00 2001 +From: Nathan Crandall +Date: Tue, 12 Jul 2022 08:56:34 +0200 +Subject: gweb: Fix OOB write in received_data() + +There is a mismatch of handling binary vs. C-string data with memchr +and strlen, resulting in pos, count, and bytes_read to become out of +sync and result in a heap overflow. Instead, do not treat the buffer +as an ASCII C-string. We calculate the count based on the return value +of memchr, instead of strlen. + +Fixes: CVE-2022-32292 + +[Retrieved from: +https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=d1a5ede5d255bde8ef707f8441b997563b9312bd] +Signed-off-by: Fabrice Fontaine +--- + gweb/gweb.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gweb/gweb.c b/gweb/gweb.c +index 12fcb1d8..13c6c5f2 100644 +--- a/gweb/gweb.c ++++ b/gweb/gweb.c +@@ -918,7 +918,7 @@ static gboolean received_data(GIOChannel *channel, GIOCondition cond, + } + + *pos = '\0'; +- count = strlen((char *) ptr); ++ count = pos - ptr; + if (count > 0 && ptr[count - 1] == '\r') { + ptr[--count] = '\0'; + bytes_read--; +-- +cgit + diff --git a/package/connman/0002-wispr-Add-reference-counter-to-portal-context.patch b/package/connman/0002-wispr-Add-reference-counter-to-portal-context.patch new file mode 100644 index 000000000..c2cebdfdc --- /dev/null +++ b/package/connman/0002-wispr-Add-reference-counter-to-portal-context.patch @@ -0,0 +1,142 @@ +From 72343929836de80727a27d6744c869dff045757c Mon Sep 17 00:00:00 2001 +From: Daniel Wagner +Date: Tue, 5 Jul 2022 08:32:12 +0200 +Subject: wispr: Add reference counter to portal context + +Track the connman_wispr_portal_context live time via a +refcounter. This only adds the infrastructure to do proper reference +counting. + +Fixes: CVE-2022-32293 + +[Retrieved from: +https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=72343929836de80727a27d6744c869dff045757c] +Signed-off-by: Fabrice Fontaine +--- + src/wispr.c | 52 ++++++++++++++++++++++++++++++++++++++++++---------- + 1 file changed, 42 insertions(+), 10 deletions(-) + +diff --git a/src/wispr.c b/src/wispr.c +index a07896ca..bde7e63b 100644 +--- a/src/wispr.c ++++ b/src/wispr.c +@@ -56,6 +56,7 @@ struct wispr_route { + }; + + struct connman_wispr_portal_context { ++ int refcount; + struct connman_service *service; + enum connman_ipconfig_type type; + struct connman_wispr_portal *wispr_portal; +@@ -97,6 +98,11 @@ static char *online_check_ipv4_url = NULL; + static char *online_check_ipv6_url = NULL; + static bool enable_online_to_ready_transition = false; + ++#define wispr_portal_context_ref(wp_context) \ ++ wispr_portal_context_ref_debug(wp_context, __FILE__, __LINE__, __func__) ++#define wispr_portal_context_unref(wp_context) \ ++ wispr_portal_context_unref_debug(wp_context, __FILE__, __LINE__, __func__) ++ + static void connman_wispr_message_init(struct connman_wispr_message *msg) + { + DBG(""); +@@ -162,9 +168,6 @@ static void free_connman_wispr_portal_context( + { + DBG("context %p", wp_context); + +- if (!wp_context) +- return; +- + if (wp_context->wispr_portal) { + if (wp_context->wispr_portal->ipv4_context == wp_context) + wp_context->wispr_portal->ipv4_context = NULL; +@@ -201,9 +204,38 @@ static void free_connman_wispr_portal_context( + g_free(wp_context); + } + ++static struct connman_wispr_portal_context * ++wispr_portal_context_ref_debug(struct connman_wispr_portal_context *wp_context, ++ const char *file, int line, const char *caller) ++{ ++ DBG("%p ref %d by %s:%d:%s()", wp_context, ++ wp_context->refcount + 1, file, line, caller); ++ ++ __sync_fetch_and_add(&wp_context->refcount, 1); ++ ++ return wp_context; ++} ++ ++static void wispr_portal_context_unref_debug( ++ struct connman_wispr_portal_context *wp_context, ++ const char *file, int line, const char *caller) ++{ ++ if (!wp_context) ++ return; ++ ++ DBG("%p ref %d by %s:%d:%s()", wp_context, ++ wp_context->refcount - 1, file, line, caller); ++ ++ if (__sync_fetch_and_sub(&wp_context->refcount, 1) != 1) ++ return; ++ ++ free_connman_wispr_portal_context(wp_context); ++} ++ + static struct connman_wispr_portal_context *create_wispr_portal_context(void) + { +- return g_try_new0(struct connman_wispr_portal_context, 1); ++ return wispr_portal_context_ref( ++ g_new0(struct connman_wispr_portal_context, 1)); + } + + static void free_connman_wispr_portal(gpointer data) +@@ -215,8 +247,8 @@ static void free_connman_wispr_portal(gpointer data) + if (!wispr_portal) + return; + +- free_connman_wispr_portal_context(wispr_portal->ipv4_context); +- free_connman_wispr_portal_context(wispr_portal->ipv6_context); ++ wispr_portal_context_unref(wispr_portal->ipv4_context); ++ wispr_portal_context_unref(wispr_portal->ipv6_context); + + g_free(wispr_portal); + } +@@ -452,7 +484,7 @@ static void portal_manage_status(GWebResult *result, + connman_info("Client-Timezone: %s", str); + + if (!enable_online_to_ready_transition) +- free_connman_wispr_portal_context(wp_context); ++ wispr_portal_context_unref(wp_context); + + __connman_service_ipconfig_indicate_state(service, + CONNMAN_SERVICE_STATE_ONLINE, type); +@@ -616,7 +648,7 @@ static void wispr_portal_request_wispr_login(struct connman_service *service, + return; + } + +- free_connman_wispr_portal_context(wp_context); ++ wispr_portal_context_unref(wp_context); + return; + } + +@@ -952,7 +984,7 @@ static int wispr_portal_detect(struct connman_wispr_portal_context *wp_context) + + if (wp_context->token == 0) { + err = -EINVAL; +- free_connman_wispr_portal_context(wp_context); ++ wispr_portal_context_unref(wp_context); + } + } else if (wp_context->timeout == 0) { + wp_context->timeout = g_idle_add(no_proxy_callback, wp_context); +@@ -1001,7 +1033,7 @@ int __connman_wispr_start(struct connman_service *service, + + /* If there is already an existing context, we wipe it */ + if (wp_context) +- free_connman_wispr_portal_context(wp_context); ++ wispr_portal_context_unref(wp_context); + + wp_context = create_wispr_portal_context(); + if (!wp_context) +-- +cgit + diff --git a/package/connman/0003-wispr-Update-portal-context-references.patch b/package/connman/0003-wispr-Update-portal-context-references.patch new file mode 100644 index 000000000..61c4e21f9 --- /dev/null +++ b/package/connman/0003-wispr-Update-portal-context-references.patch @@ -0,0 +1,175 @@ +From 416bfaff988882c553c672e5bfc2d4f648d29e8a Mon Sep 17 00:00:00 2001 +From: Daniel Wagner +Date: Tue, 5 Jul 2022 09:11:09 +0200 +Subject: wispr: Update portal context references + +Maintain proper portal context references to avoid UAF. + +Fixes: CVE-2022-32293 + +[Retrieved from: +https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=416bfaff988882c553c672e5bfc2d4f648d29e8a] +Signed-off-by: Fabrice Fontaine +--- + src/wispr.c | 34 ++++++++++++++++++++++------------ + 1 file changed, 22 insertions(+), 12 deletions(-) + +diff --git a/src/wispr.c b/src/wispr.c +index bde7e63b..84bed33f 100644 +--- a/src/wispr.c ++++ b/src/wispr.c +@@ -105,8 +105,6 @@ static bool enable_online_to_ready_transition = false; + + static void connman_wispr_message_init(struct connman_wispr_message *msg) + { +- DBG(""); +- + msg->has_error = false; + msg->current_element = NULL; + +@@ -166,8 +164,6 @@ static void free_wispr_routes(struct connman_wispr_portal_context *wp_context) + static void free_connman_wispr_portal_context( + struct connman_wispr_portal_context *wp_context) + { +- DBG("context %p", wp_context); +- + if (wp_context->wispr_portal) { + if (wp_context->wispr_portal->ipv4_context == wp_context) + wp_context->wispr_portal->ipv4_context = NULL; +@@ -483,9 +479,6 @@ static void portal_manage_status(GWebResult *result, + &str)) + connman_info("Client-Timezone: %s", str); + +- if (!enable_online_to_ready_transition) +- wispr_portal_context_unref(wp_context); +- + __connman_service_ipconfig_indicate_state(service, + CONNMAN_SERVICE_STATE_ONLINE, type); + +@@ -546,14 +539,17 @@ static void wispr_portal_request_portal( + { + DBG(""); + ++ wispr_portal_context_ref(wp_context); + wp_context->request_id = g_web_request_get(wp_context->web, + wp_context->status_url, + wispr_portal_web_result, + wispr_route_request, + wp_context); + +- if (wp_context->request_id == 0) ++ if (wp_context->request_id == 0) { + wispr_portal_error(wp_context); ++ wispr_portal_context_unref(wp_context); ++ } + } + + static bool wispr_input(const guint8 **data, gsize *length, +@@ -618,13 +614,15 @@ static void wispr_portal_browser_reply_cb(struct connman_service *service, + return; + + if (!authentication_done) { +- wispr_portal_error(wp_context); + free_wispr_routes(wp_context); ++ wispr_portal_error(wp_context); ++ wispr_portal_context_unref(wp_context); + return; + } + + /* Restarting the test */ + __connman_service_wispr_start(service, wp_context->type); ++ wispr_portal_context_unref(wp_context); + } + + static void wispr_portal_request_wispr_login(struct connman_service *service, +@@ -700,11 +698,13 @@ static bool wispr_manage_message(GWebResult *result, + + wp_context->wispr_result = CONNMAN_WISPR_RESULT_LOGIN; + ++ wispr_portal_context_ref(wp_context); + if (__connman_agent_request_login_input(wp_context->service, + wispr_portal_request_wispr_login, +- wp_context) != -EINPROGRESS) ++ wp_context) != -EINPROGRESS) { + wispr_portal_error(wp_context); +- else ++ wispr_portal_context_unref(wp_context); ++ } else + return true; + + break; +@@ -753,6 +753,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data) + if (length > 0) { + g_web_parser_feed_data(wp_context->wispr_parser, + chunk, length); ++ wispr_portal_context_unref(wp_context); + return true; + } + +@@ -770,6 +771,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data) + + switch (status) { + case 000: ++ wispr_portal_context_ref(wp_context); + __connman_agent_request_browser(wp_context->service, + wispr_portal_browser_reply_cb, + wp_context->status_url, wp_context); +@@ -781,11 +783,14 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data) + if (g_web_result_get_header(result, "X-ConnMan-Status", + &str)) { + portal_manage_status(result, wp_context); ++ wispr_portal_context_unref(wp_context); + return false; +- } else ++ } else { ++ wispr_portal_context_ref(wp_context); + __connman_agent_request_browser(wp_context->service, + wispr_portal_browser_reply_cb, + wp_context->redirect_url, wp_context); ++ } + + break; + case 300: +@@ -798,6 +803,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data) + !g_web_result_get_header(result, "Location", + &redirect)) { + ++ wispr_portal_context_ref(wp_context); + __connman_agent_request_browser(wp_context->service, + wispr_portal_browser_reply_cb, + wp_context->status_url, wp_context); +@@ -808,6 +814,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data) + + wp_context->redirect_url = g_strdup(redirect); + ++ wispr_portal_context_ref(wp_context); + wp_context->request_id = g_web_request_get(wp_context->web, + redirect, wispr_portal_web_result, + wispr_route_request, wp_context); +@@ -820,6 +827,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data) + + break; + case 505: ++ wispr_portal_context_ref(wp_context); + __connman_agent_request_browser(wp_context->service, + wispr_portal_browser_reply_cb, + wp_context->status_url, wp_context); +@@ -832,6 +840,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data) + wp_context->request_id = 0; + done: + wp_context->wispr_msg.message_type = -1; ++ wispr_portal_context_unref(wp_context); + return false; + } + +@@ -890,6 +899,7 @@ static void proxy_callback(const char *proxy, void *user_data) + xml_wispr_parser_callback, wp_context); + + wispr_portal_request_portal(wp_context); ++ wispr_portal_context_unref(wp_context); + } + + static gboolean no_proxy_callback(gpointer user_data) +-- +cgit + diff --git a/package/connman/Config.in b/package/connman/Config.in index 72b76bf19..af3e1f69f 100644 --- a/package/connman/Config.in +++ b/package/connman/Config.in @@ -94,6 +94,14 @@ comment "ofono support needs a toolchain w/ headers >= 4.12" config BR2_PACKAGE_CONNMAN_DEBUG bool "enable compiling with debugging information" +config BR2_PACKAGE_CONNMAN_STATS + bool "enable statistics round robin file generation" + help + Enable generation of statistics in a round robin file. + + This is enabled by default upstream but is marked as + experimental. + config BR2_PACKAGE_CONNMAN_CLIENT bool "enable command line client" select BR2_PACKAGE_READLINE diff --git a/package/connman/connman.mk b/package/connman/connman.mk index 1b6fd611f..fbd7318e4 100644 --- a/package/connman/connman.mk +++ b/package/connman/connman.mk @@ -13,6 +13,13 @@ CONNMAN_LICENSE = GPL-2.0 CONNMAN_LICENSE_FILES = COPYING CONNMAN_CPE_ID_VENDOR = intel +# 0001-gweb-Fix-OOB-write-in-received_data.patch +CONNMAN_IGNORE_CVES += CVE-2022-32292 + +# 0002-wispr-Add-reference-counter-to-portal-context.patch +# 0003-wispr-Update-portal-context-references.patch +CONNMAN_IGNORE_CVES += CVE-2022-32293 + CONNMAN_CONF_OPTS = --with-dbusconfdir=/etc ifeq ($(BR2_INIT_SYSTEMD),y) @@ -65,6 +72,12 @@ else CONNMAN_CONF_OPTS += --disable-ofono endif +ifeq ($(BR2_PACKAGE_CONNMAN_STATS),y) +CONNMAN_CONF_OPTS += --enable-stats +else +CONNMAN_CONF_OPTS += --disable-stats +endif + ifeq ($(BR2_PACKAGE_CONNMAN_WIFI),y) CONNMAN_CONF_OPTS += --enable-wifi else diff --git a/package/conntrack-tools/conntrack-tools.hash b/package/conntrack-tools/conntrack-tools.hash index ae9af25e8..dd4fc168b 100644 --- a/package/conntrack-tools/conntrack-tools.hash +++ b/package/conntrack-tools/conntrack-tools.hash @@ -1,4 +1,4 @@ # From https://netfilter.org/projects/conntrack-tools/downloads.html -sha256 590859cc848245dbfd9c6487761dd303b3a1771e007f4f42213063ca56205d5f conntrack-tools-1.4.6.tar.bz2 +sha256 590859cc848245dbfd9c6487761dd303b3a1771e007f4f42213063ca56205d5f conntrack-tools-1.4.6.tar.bz2 # Locally calculated -sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/package/containerd/containerd.hash b/package/containerd/containerd.hash index d5aafe2e7..007a42e7b 100644 --- a/package/containerd/containerd.hash +++ b/package/containerd/containerd.hash @@ -1,3 +1,3 @@ # Computed locally -sha256 40c9767af3e87f2c36adf2f563f0a8374e80b30bd2b7aa80058c85912406cef4 containerd-1.5.9.tar.gz +sha256 489ee6b179bf2f0d7f7ac23da4973081cfc95db45231d3fd1e34f7adebe4573b containerd-1.5.18.tar.gz sha256 4bbe3b885e8cd1907ab4cf9a41e862e74e24b5422297a4f2fe524e6a30ada2b4 LICENSE diff --git a/package/containerd/containerd.mk b/package/containerd/containerd.mk index 8976e12f1..3b5eab9e6 100644 --- a/package/containerd/containerd.mk +++ b/package/containerd/containerd.mk @@ -4,7 +4,7 @@ # ################################################################################ -CONTAINERD_VERSION = 1.5.9 +CONTAINERD_VERSION = 1.5.18 CONTAINERD_SITE = $(call github,containerd,containerd,v$(CONTAINERD_VERSION)) CONTAINERD_LICENSE = Apache-2.0 CONTAINERD_LICENSE_FILES = LICENSE diff --git a/package/copas/copas.hash b/package/copas/copas.hash index 4e9e78784..d53990d0b 100644 --- a/package/copas/copas.hash +++ b/package/copas/copas.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 efeded4f4633bc71551175b239199304640ef918ae8ea9dc9c5047359ae07107 copas-2.0.2-1.src.rock -sha256 3f59cccf38e9397f6fb34dcff983a24d336df982edb5b0cde549d0c32c28c9c0 copas-2_0_2/LICENSE +sha256 efeded4f4633bc71551175b239199304640ef918ae8ea9dc9c5047359ae07107 copas-2.0.2-1.src.rock +sha256 3f59cccf38e9397f6fb34dcff983a24d336df982edb5b0cde549d0c32c28c9c0 copas-2_0_2/LICENSE diff --git a/package/coremark/coremark.mk b/package/coremark/coremark.mk index 418fd5c8d..9ea8693e7 100644 --- a/package/coremark/coremark.mk +++ b/package/coremark/coremark.mk @@ -11,6 +11,7 @@ COREMARK_LICENSE_FILES = LICENSE.md define COREMARK_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" -C $(@D) \ + PORT_CFLAGS="$(TARGET_CFLAGS)" \ PORT_DIR=linux$(if $(BR2_ARCH_IS_64),64) EXE= link endef diff --git a/package/coreutils/coreutils.hash b/package/coreutils/coreutils.hash index 758a6341a..581d493c0 100644 --- a/package/coreutils/coreutils.hash +++ b/package/coreutils/coreutils.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 ce30acdf4a41bc5bb30dd955e9eaa75fa216b4e3deb08889ed32433c7b3b97ce coreutils-9.0.tar.xz +sha256 ce30acdf4a41bc5bb30dd955e9eaa75fa216b4e3deb08889ed32433c7b3b97ce coreutils-9.0.tar.xz # Locally computed -sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING diff --git a/package/coxpcall/coxpcall.hash b/package/coxpcall/coxpcall.hash index 953005e92..807596a43 100644 --- a/package/coxpcall/coxpcall.hash +++ b/package/coxpcall/coxpcall.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 11feb07f08927c39b0b93e8c0bbaf15433f86155cba4820a31a09f4754ab3258 coxpcall-1.17.0-1.src.rock -sha256 11f0f03dda1a28eca658d5e3361c15fd4d048371364aacc5f6870d77a66866c8 coxpcall/doc/license.html +sha256 11feb07f08927c39b0b93e8c0bbaf15433f86155cba4820a31a09f4754ab3258 coxpcall-1.17.0-1.src.rock +sha256 11f0f03dda1a28eca658d5e3361c15fd4d048371364aacc5f6870d77a66866c8 coxpcall/doc/license.html diff --git a/package/cpio/cpio.hash b/package/cpio/cpio.hash index a3a0d4b3f..b03114635 100644 --- a/package/cpio/cpio.hash +++ b/package/cpio/cpio.hash @@ -1,7 +1,7 @@ # From https://lists.gnu.org/archive/html/info-gnu/2019-11/msg00002.html -md5 f3438e672e3fa273a7dc26339dd1eed6 cpio-2.13.tar.bz2 -sha1 4dcefc0e1bc36b11506a354768d82b15e3fe6bb8 cpio-2.13.tar.bz2 +md5 f3438e672e3fa273a7dc26339dd1eed6 cpio-2.13.tar.bz2 +sha1 4dcefc0e1bc36b11506a354768d82b15e3fe6bb8 cpio-2.13.tar.bz2 # Locally calculated after checking pgp signature -sha256 eab5bdc5ae1df285c59f2a4f140a98fc33678a0bf61bdba67d9436ae26b46f6d cpio-2.13.tar.bz2 +sha256 eab5bdc5ae1df285c59f2a4f140a98fc33678a0bf61bdba67d9436ae26b46f6d cpio-2.13.tar.bz2 # Locally calculated -sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING +sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/package/cppcms/Config.in b/package/cppcms/Config.in index 1d7635a83..6c0bff934 100644 --- a/package/cppcms/Config.in +++ b/package/cppcms/Config.in @@ -1,13 +1,10 @@ config BR2_PACKAGE_CPPCMS bool "cppcms" depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on !BR2_STATIC_LIBS # dlopen() depends on BR2_USE_WCHAR - select BR2_PACKAGE_ZLIB select BR2_PACKAGE_PCRE - select BR2_PACKAGE_LIBGCRYPT help CppCMS is a Free High Performance Web Development Framework (not a CMS) aimed for Rapid Web Application Development. It diff --git a/package/cppcms/cppcms.hash b/package/cppcms/cppcms.hash index 86f86d94a..30ce52fd5 100644 --- a/package/cppcms/cppcms.hash +++ b/package/cppcms/cppcms.hash @@ -1,8 +1,8 @@ # From http://sourceforge.net/projects/cppcms/files/cppcms/1.2.1/ -sha1 9cb25cc5d507d2f4235326ba3815eba252b4ac77 cppcms-1.2.1.tar.bz2 -md5 2bb259fefb86532e404207c71c094a0c cppcms-1.2.1.tar.bz2 +sha1 9cb25cc5d507d2f4235326ba3815eba252b4ac77 cppcms-1.2.1.tar.bz2 +md5 2bb259fefb86532e404207c71c094a0c cppcms-1.2.1.tar.bz2 # Locally computed: -sha256 10fec7710409c949a229b9019ea065e25ff5687103037551b6f05716bf6cac52 cppcms-1.2.1.tar.bz2 -sha256 fb7c15ddf590037d4cd18ebd61148a2304b9243369d238a64f599182377e32db COPYING.TXT -sha256 3e4012cc5950e05bedfdd2f00ceffe1ef71c46ac8c79f07e237ecb23c773f65f MIT.TXT -sha256 d6ce062e5cf4f7e3c536d7d2fee84c882c45245f1848ed3162401f2b29fa2b4b THIRD_PARTY_SOFTWARE.TXT +sha256 10fec7710409c949a229b9019ea065e25ff5687103037551b6f05716bf6cac52 cppcms-1.2.1.tar.bz2 +sha256 fb7c15ddf590037d4cd18ebd61148a2304b9243369d238a64f599182377e32db COPYING.TXT +sha256 3e4012cc5950e05bedfdd2f00ceffe1ef71c46ac8c79f07e237ecb23c773f65f MIT.TXT +sha256 d6ce062e5cf4f7e3c536d7d2fee84c882c45245f1848ed3162401f2b29fa2b4b THIRD_PARTY_SOFTWARE.TXT diff --git a/package/cppcms/cppcms.mk b/package/cppcms/cppcms.mk index b289617bb..c560b5d0f 100644 --- a/package/cppcms/cppcms.mk +++ b/package/cppcms/cppcms.mk @@ -18,7 +18,7 @@ CPPCMS_CONF_OPTS = \ -DCMAKE_SKIP_RPATH=ON \ -DCMAKE_CXX_FLAGS="$(CPPCMS_CXXFLAGS)" -CPPCMS_DEPENDENCIES = zlib pcre libgcrypt +CPPCMS_DEPENDENCIES = pcre ifeq ($(BR2_PACKAGE_CPPCMS_ICU),y) CPPCMS_CONF_OPTS += -DDISABLE_ICU_LOCALE=OFF @@ -28,6 +28,27 @@ else CPPCMS_CONF_OPTS += -DDISABLE_ICU_LOCALE=ON endif +ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) +CPPCMS_CONF_OPTS += -DDISABLE_GCRYPT=OFF +CPPCMS_DEPENDENCIES += libgcrypt +else +CPPCMS_CONF_OPTS += -DDISABLE_GCRYPT=ON +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +CPPCMS_CONF_OPTS += -DDISABLE_OPENSSL=OFF +CPPCMS_DEPENDENCIES += openssl +else +CPPCMS_CONF_OPTS += -DDISABLE_OPENSSL=ON +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +CPPCMS_CONF_OPTS += -DDISABLE_GZIP=OFF +CPPCMS_DEPENDENCIES += zlib +else +CPPCMS_CONF_OPTS += -DDISABLE_GZIP=ON +endif + ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) # posix backend needs monetary.h which isn't available on uClibc CPPCMS_CONF_OPTS += -DDISABLE_POSIX_LOCALE=on diff --git a/package/cppdb/cppdb.hash b/package/cppdb/cppdb.hash index 6423ef289..bca9f5595 100644 --- a/package/cppdb/cppdb.hash +++ b/package/cppdb/cppdb.hash @@ -1,6 +1,6 @@ # From http://sourceforge.net/projects/cppcms/files/cppdb/0.3.1/ -md5 129f1d75f46114b79160b93807d5223f cppdb-0.3.1.tar.bz2 -sha1 c0410dcc482d71696ac9206044b3a3ac03d31f96 cppdb-0.3.1.tar.bz2 +md5 129f1d75f46114b79160b93807d5223f cppdb-0.3.1.tar.bz2 +sha1 c0410dcc482d71696ac9206044b3a3ac03d31f96 cppdb-0.3.1.tar.bz2 # locally computed sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE_1_0.txt sha256 503ed52ef942d44bb26bd47dd5c6765927b198624e4f375e32cc660dfc2a0981 MIT.txt diff --git a/package/cppunit/cppunit.hash b/package/cppunit/cppunit.hash index 47577f2a0..50e33135e 100644 --- a/package/cppunit/cppunit.hash +++ b/package/cppunit/cppunit.hash @@ -1,6 +1,6 @@ # hash from: http://www.freedesktop.org/wiki/Software/cppunit/: -md5 9dc669e6145cadd9674873e24943e6dd cppunit-1.15.1.tar.gz -sha256 89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7 cppunit-1.15.1.tar.gz +md5 9dc669e6145cadd9674873e24943e6dd cppunit-1.15.1.tar.gz +sha256 89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7 cppunit-1.15.1.tar.gz # Locally calculated: -sha256 badf14d0aa3eaf1a7ae5f19a47a8ef2fc71a96802c4bc3d354535693c389f4e5 COPYING +sha256 badf14d0aa3eaf1a7ae5f19a47a8ef2fc71a96802c4bc3d354535693c389f4e5 COPYING diff --git a/package/cpuburn-arm/cpuburn-arm.hash b/package/cpuburn-arm/cpuburn-arm.hash index 55f34f87f..78f9ab93f 100644 --- a/package/cpuburn-arm/cpuburn-arm.hash +++ b/package/cpuburn-arm/cpuburn-arm.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 354381ec8c352e6c84875ac034004df44b0ed0ac097c400b8d2e47652815c3a2 cpuburn-arm-ad7e646700d14b81413297bda02fb7fe96613c3f.tar.gz -sha256 47f10095a04d16c8d8d52598371fa01b6a6e87134083b9ec3c43d83ff8576f55 cpuburn-a7.S +sha256 354381ec8c352e6c84875ac034004df44b0ed0ac097c400b8d2e47652815c3a2 cpuburn-arm-ad7e646700d14b81413297bda02fb7fe96613c3f.tar.gz +sha256 47f10095a04d16c8d8d52598371fa01b6a6e87134083b9ec3c43d83ff8576f55 cpuburn-a7.S diff --git a/package/cpuload/cpuload.hash b/package/cpuload/cpuload.hash index b80879ca7..c3150d759 100644 --- a/package/cpuload/cpuload.hash +++ b/package/cpuload/cpuload.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 1d61f4776dc3e2746343d68b2ea2faf138e54666b630a6060df4f3945badbcae cpuload-0.3.tar.gz -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 1d61f4776dc3e2746343d68b2ea2faf138e54666b630a6060df4f3945badbcae cpuload-0.3.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/cracklib/cracklib.hash b/package/cracklib/cracklib.hash index 9bc8e3d28..735bcfedd 100644 --- a/package/cracklib/cracklib.hash +++ b/package/cracklib/cracklib.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 8b6fd202f3f1d8fa395d3b7a5d821227cfd8bb4a9a584a7ae30cf62cea6287dd cracklib-2.9.7.tar.gz -sha256 7f0c45faf84a2494f15d1e2720394aca4a379163a70c4acad948186c0047d389 cracklib-words-2.9.7.gz -sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa COPYING.LIB +sha256 8b6fd202f3f1d8fa395d3b7a5d821227cfd8bb4a9a584a7ae30cf62cea6287dd cracklib-2.9.7.tar.gz +sha256 7f0c45faf84a2494f15d1e2720394aca4a379163a70c4acad948186c0047d389 cracklib-words-2.9.7.gz +sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa COPYING.LIB diff --git a/package/cryptodev-linux/cryptodev-linux.mk b/package/cryptodev-linux/cryptodev-linux.mk index f9026053c..d0c3bc521 100644 --- a/package/cryptodev-linux/cryptodev-linux.mk +++ b/package/cryptodev-linux/cryptodev-linux.mk @@ -23,5 +23,10 @@ define CRYPTODEV_LINUX_INSTALL_STAGING_CMDS $(STAGING_DIR)/usr/include/crypto/cryptodev.h endef +define CRYPTODEV_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO) + $(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO_USER_API_AEAD) +endef + $(eval $(kernel-module)) $(eval $(generic-package)) diff --git a/package/ctorrent/ctorrent.hash b/package/ctorrent/ctorrent.hash index 3e8290262..1b1d2fceb 100644 --- a/package/ctorrent/ctorrent.hash +++ b/package/ctorrent/ctorrent.hash @@ -1,5 +1,5 @@ # From http://sourceforge.net/projects/dtorrent/files/dtorrent/3.3.2/ -sha1 d4e221f0292268f80e2430ce9d451dd64cf1ffaa ctorrent-dnh3.3.2.tar.gz +sha1 d4e221f0292268f80e2430ce9d451dd64cf1ffaa ctorrent-dnh3.3.2.tar.gz # locally calculated sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/cunit/cunit.hash b/package/cunit/cunit.hash index bbd43a78c..93a8c4208 100644 --- a/package/cunit/cunit.hash +++ b/package/cunit/cunit.hash @@ -1,3 +1,3 @@ # Locally calculated: -sha256 f5b29137f845bb08b77ec60584fdb728b4e58f1023e6f249a464efa49a40f214 CUnit-2.1-3.tar.bz2 -sha256 5d9d73d41a57dd2f34487ef3978a2c13cdb97294baeeb81fcd274796399eb15f COPYING +sha256 f5b29137f845bb08b77ec60584fdb728b4e58f1023e6f249a464efa49a40f214 CUnit-2.1-3.tar.bz2 +sha256 5d9d73d41a57dd2f34487ef3978a2c13cdb97294baeeb81fcd274796399eb15f COPYING diff --git a/package/cups-filters/cups-filters.hash b/package/cups-filters/cups-filters.hash index aefb67f65..aae4766dc 100644 --- a/package/cups-filters/cups-filters.hash +++ b/package/cups-filters/cups-filters.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 8cb40355287d65ea03e90dfa7e2d34f0d46752957c8a6d4e96ab6fe6c581e5d2 cups-filters-1.28.10.tar.gz -sha256 38192ffdaca98b718f78b2d4abc38bb087f0bbcc9a16d212c98b903b985f900f COPYING +sha256 8cb40355287d65ea03e90dfa7e2d34f0d46752957c8a6d4e96ab6fe6c581e5d2 cups-filters-1.28.10.tar.gz +sha256 38192ffdaca98b718f78b2d4abc38bb087f0bbcc9a16d212c98b903b985f900f COPYING diff --git a/package/cups-pk-helper/Config.in b/package/cups-pk-helper/Config.in index 113f43379..756ac49cf 100644 --- a/package/cups-pk-helper/Config.in +++ b/package/cups-pk-helper/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_CUPS_PK_HELPER depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2, polkit depends on BR2_USE_WCHAR # libglib2 depends on !BR2_STATIC_LIBS # polkit -> duktape + depends on !BR2_OPTIMIZE_FAST # polkit -> duktape depends on BR2_PACKAGE_CUPS select BR2_PACKAGE_POLKIT help @@ -17,3 +18,6 @@ comment "cups-pk-helper support needs a toolchain with threads, wchar, dynamic l depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \ !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + +comment "cups-pk-helper can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST diff --git a/package/cups/Config.in b/package/cups/Config.in index e23f069a8..51cf10b07 100644 --- a/package/cups/Config.in +++ b/package/cups/Config.in @@ -9,7 +9,7 @@ config BR2_PACKAGE_CUPS help The Common Unix Printing System - http://www.cups.org + https://openprinting.github.io/cups comment "cups needs a toolchain w/ C++, threads" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/cups/cups.hash b/package/cups/cups.hash index b0e3654b3..ba220e903 100644 --- a/package/cups/cups.hash +++ b/package/cups/cups.hash @@ -1,4 +1,4 @@ # Locally calculated: -sha256 9abecec128ca6847c5bb2d3e3d30c87b782c0697b9acf284d16fa38f80a3a6de cups-2.4.0-source.tar.gz +sha256 f03ccb40b087d1e30940a40e0141dcbba263f39974c20eb9f2521066c9c6c908 cups-2.4.2-source.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE -sha256 a2a46d024e4d78dd2475d89f2f3d905578edfeca7dcb041e1d0ba079d9a87b48 NOTICE +sha256 7a7bd639e3a8457ae40b0dcfb74ea3cc6a8132b06c726142e993625d33eb6de5 NOTICE diff --git a/package/cups/cups.mk b/package/cups/cups.mk index e406d3bc6..fed2aa809 100644 --- a/package/cups/cups.mk +++ b/package/cups/cups.mk @@ -4,12 +4,12 @@ # ################################################################################ -CUPS_VERSION = 2.4.0 +CUPS_VERSION = 2.4.2 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 CUPS_LICENSE_FILES = LICENSE NOTICE -CUPS_CPE_ID_VENDOR = cups +CUPS_CPE_ID_VENDOR = openprinting CUPS_SELINUX_MODULES = cups CUPS_INSTALL_STAGING = YES @@ -27,6 +27,7 @@ CUPS_CONF_OPTS = \ --with-cups-user=lp \ --with-cups-group=lp \ --with-system-groups="lpadmin sys root" \ + --disable-libpaper \ --without-rcdir CUPS_CONFIG_SCRIPTS = cups-config CUPS_DEPENDENCIES = \ @@ -63,13 +64,6 @@ else CUPS_CONF_OPTS += --disable-libusb endif -ifeq ($(BR2_PACKAGE_LIBPAPER),y) -CUPS_CONF_OPTS += --enable-libpaper -CUPS_DEPENDENCIES += libpaper -else -CUPS_CONF_OPTS += --disable-libpaper -endif - ifeq ($(BR2_PACKAGE_AVAHI),y) CUPS_DEPENDENCIES += avahi CUPS_CONF_OPTS += --enable-avahi diff --git a/package/curlpp/curlpp.hash b/package/curlpp/curlpp.hash index 2b14a235e..e41399566 100644 --- a/package/curlpp/curlpp.hash +++ b/package/curlpp/curlpp.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 97e3819bdcffc3e4047b6ac57ca14e04af85380bd93afe314bee9dd5c7f46a0a v0.8.1.tar.gz +sha256 97e3819bdcffc3e4047b6ac57ca14e04af85380bd93afe314bee9dd5c7f46a0a v0.8.1.tar.gz # Hash for license files: -sha256 8b9e3afd4d06ad3c169e788e5187a3e9f4f35671e9a7322f7e74bea9643b5b5a doc/LICENSE +sha256 8b9e3afd4d06ad3c169e788e5187a3e9f4f35671e9a7322f7e74bea9643b5b5a doc/LICENSE diff --git a/package/cwiid/Config.in b/package/cwiid/Config.in index 6ae2ac940..44148eb18 100644 --- a/package/cwiid/Config.in +++ b/package/cwiid/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_CWIID depends on BR2_USE_WCHAR # bluez5_utils -> libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # bluez5_utils -> dbus, alsa-lib, libglib2 depends on BR2_USE_MMU # bluez5_utils -> dbus, libglib2 - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 # bluez5_utils + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # bluez5_utils hid plugin depends on BR2_TOOLCHAIN_HAS_SYNC_4 # bluez5_utils select BR2_PACKAGE_BLUEZ5_UTILS select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID # runtime @@ -28,9 +28,9 @@ config BR2_PACKAGE_CWIID_WMGUI select BR2_PACKAGE_LIBGTK2 endif -comment "cwiid needs a toolchain w/ dynamic lib, threads, wchar, headers >= 3.4" +comment "cwiid needs a toolchain w/ dynamic lib, threads, wchar, headers >= 3.18" depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 - depends on !BR2_USE_MMU + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 + depends on BR2_USE_MMU diff --git a/package/cwiid/cwiid.hash b/package/cwiid/cwiid.hash index 6446b8022..92b4b215d 100644 --- a/package/cwiid/cwiid.hash +++ b/package/cwiid/cwiid.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 3adf3bf018721dee3c47e12ba4dd71810a239918dce925aa4079cb2a98bca5fe cwiid-fadf11e89b579bcc0336a0692ac15c93785f3f82.tar.gz +sha256 3adf3bf018721dee3c47e12ba4dd71810a239918dce925aa4079cb2a98bca5fe cwiid-fadf11e89b579bcc0336a0692ac15c93785f3f82.tar.gz # License files, locally calculated -sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/cxxtest/cxxtest.hash b/package/cxxtest/cxxtest.hash index be2cbd322..c24e258fa 100644 --- a/package/cxxtest/cxxtest.hash +++ b/package/cxxtest/cxxtest.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 1c154fef91c65dbf1cd4519af7ade70a61d85a923b6e0c0b007dc7f4895cf7d8 cxxtest-4.4.tar.gz +sha256 1c154fef91c65dbf1cd4519af7ade70a61d85a923b6e0c0b007dc7f4895cf7d8 cxxtest-4.4.tar.gz # Hash for license file: -sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING diff --git a/package/czmq/czmq.hash b/package/czmq/czmq.hash index 19e2053a0..c2577c671 100644 --- a/package/czmq/czmq.hash +++ b/package/czmq/czmq.hash @@ -1,6 +1,6 @@ # From https://github.com/zeromq/czmq/releases -md5 471e9ec120fc66a2fe2aae14359e3cfa czmq-4.2.1.tar.gz -sha1 75ced09c143f93fae65238375e3a799c40eaed4c czmq-4.2.1.tar.gz +md5 471e9ec120fc66a2fe2aae14359e3cfa czmq-4.2.1.tar.gz +sha1 75ced09c143f93fae65238375e3a799c40eaed4c czmq-4.2.1.tar.gz # Locally calculated -sha256 5d720a204c2a58645d6f7643af15d563a712dad98c9d32c1ed913377daa6ac39 czmq-4.2.1.tar.gz -sha256 1f256ecad192880510e84ad60474eab7589218784b9a50bc7ceee34c2b91f1d5 LICENSE +sha256 5d720a204c2a58645d6f7643af15d563a712dad98c9d32c1ed913377daa6ac39 czmq-4.2.1.tar.gz +sha256 1f256ecad192880510e84ad60474eab7589218784b9a50bc7ceee34c2b91f1d5 LICENSE diff --git a/package/dacapo/dacapo.hash b/package/dacapo/dacapo.hash index ca7ad4638..ba099b72c 100644 --- a/package/dacapo/dacapo.hash +++ b/package/dacapo/dacapo.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 be3db084adcb2867760e1197b3ccf541c3213d918daa19386d8e236648d24be8 dacapo-9.12-MR1-bach.jar -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE +sha256 be3db084adcb2867760e1197b3ccf541c3213d918daa19386d8e236648d24be8 dacapo-9.12-MR1-bach.jar +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/dado/dado.hash b/package/dado/dado.hash index a57f52b88..6bd62c598 100644 --- a/package/dado/dado.hash +++ b/package/dado/dado.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 5a10ed7ff7be34ac004d10d6ea62ee8efc2b594c50ffc93e840e7fb7a2e6b4d0 dado-1.8.3-1.src.rock -sha256 141953aa7714e3145a6adfd71d6acbbe377e07ab920bc8ec4039394774da8a6e dado-1.8.3/doc/license.html +sha256 5a10ed7ff7be34ac004d10d6ea62ee8efc2b594c50ffc93e840e7fb7a2e6b4d0 dado-1.8.3-1.src.rock +sha256 141953aa7714e3145a6adfd71d6acbbe377e07ab920bc8ec4039394774da8a6e dado-1.8.3/doc/license.html diff --git a/package/dahdi-linux/Config.in b/package/dahdi-linux/Config.in index 7b6ce7942..b6086fdc6 100644 --- a/package/dahdi-linux/Config.in +++ b/package/dahdi-linux/Config.in @@ -9,7 +9,7 @@ config BR2_PACKAGE_DAHDI_LINUX DAHDI Linux is the open source device driver framework used to interface Asterisk with telephony hardware. - http://www.asterisk.org/downloads/dahdi + https://github.com/asterisk/dahdi-linux comment "dahdi-linux needs a Linux kernel to be built" depends on !BR2_LINUX_KERNEL diff --git a/package/dahdi-linux/dahdi-linux.mk b/package/dahdi-linux/dahdi-linux.mk index b9d591195..93124f0e0 100644 --- a/package/dahdi-linux/dahdi-linux.mk +++ b/package/dahdi-linux/dahdi-linux.mk @@ -5,7 +5,8 @@ ################################################################################ DAHDI_LINUX_VERSION = 5c840cf43838e0690873e73409491c392333b3b8 -DAHDI_LINUX_SITE = git://git.asterisk.org/dahdi/linux.git +DAHDI_LINUX_SITE = https://gerrit.asterisk.org/dahdi-linux +DAHDI_LINUX_SITE_METHOD = git # We need to download all those firmware blobs ourselves, otherwise # dahdi-linux will try to download them at install time. diff --git a/package/darkhttpd/0001-Declare-vars-outside-of-for-loop-for-std-c90.patch b/package/darkhttpd/0001-Declare-vars-outside-of-for-loop-for-std-c90.patch deleted file mode 100644 index 7584bff98..000000000 --- a/package/darkhttpd/0001-Declare-vars-outside-of-for-loop-for-std-c90.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 81b491e60affd67f4ec2feccbee1cdf98dc57b81 Mon Sep 17 00:00:00 2001 -From: Emil Mikulic -Date: Sun, 21 Mar 2021 15:03:14 +1100 -Subject: [PATCH] Declare vars outside of for() loop for -std=c90. - -Fixes #2. - -[Retrieved from: -https://github.com/emikulic/darkhttpd/commit/81b491e60affd67f4ec2feccbee1cdf98dc57b81] -Signed-off-by: Fabrice Fontaine ---- - darkhttpd.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/darkhttpd.c b/darkhttpd.c -index 219a8a3..268628a 100644 ---- a/darkhttpd.c -+++ b/darkhttpd.c -@@ -966,8 +966,9 @@ static char *base64_encode(char *str) { - char *encoded_data = malloc(output_length+1); - if (encoded_data == NULL) return NULL; - -- for (int i = 0, j = 0; i < input_length;) { -- -+ int i; -+ int j; -+ for (i = 0, j = 0; i < input_length;) { - uint32_t octet_a = i < input_length ? (unsigned char)str[i++] : 0; - uint32_t octet_b = i < input_length ? (unsigned char)str[i++] : 0; - uint32_t octet_c = i < input_length ? (unsigned char)str[i++] : 0; -@@ -981,7 +982,7 @@ static char *base64_encode(char *str) { - } - - const int mod_table[] = {0, 2, 1}; -- for (int i = 0; i < mod_table[input_length % 3]; i++) -+ for (i = 0; i < mod_table[input_length % 3]; i++) - encoded_data[output_length - 1 - i] = '='; - encoded_data[output_length] = '\0'; - diff --git a/package/darkhttpd/darkhttpd.hash b/package/darkhttpd/darkhttpd.hash index af5a2bf8c..188afff76 100644 --- a/package/darkhttpd/darkhttpd.hash +++ b/package/darkhttpd/darkhttpd.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 1d88c395ac79ca9365aa5af71afe4ad136a4ed45099ca398168d4a2014dc0fc2 darkhttpd-1.13.tar.gz -sha256 44e784df460954c7760e2eeae69aecb12a3d23ca1c0a4f6047c3c6452b2e2f49 darkhttpd.c +sha256 e063de9efa5635260c8def00a4d41ec6145226a492d53fa1dac436967670d195 darkhttpd-1.14.tar.gz +sha256 f002944c9a8516e3346002d39c3e13681306833358c0f3c7781dff1fdb639710 darkhttpd.c diff --git a/package/darkhttpd/darkhttpd.mk b/package/darkhttpd/darkhttpd.mk index 56e5a6ecd..bda08899b 100644 --- a/package/darkhttpd/darkhttpd.mk +++ b/package/darkhttpd/darkhttpd.mk @@ -4,10 +4,11 @@ # ################################################################################ -DARKHTTPD_VERSION = 1.13 +DARKHTTPD_VERSION = 1.14 DARKHTTPD_SITE = $(call github,emikulic,darkhttpd,v$(DARKHTTPD_VERSION)) DARKHTTPD_LICENSE = MIT DARKHTTPD_LICENSE_FILES = darkhttpd.c +DARKHTTPD_CPE_ID_VENDOR = darkhttpd_project define DARKHTTPD_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) diff --git a/package/dash/dash.mk b/package/dash/dash.mk index fed3a9955..6efc71e56 100644 --- a/package/dash/dash.mk +++ b/package/dash/dash.mk @@ -27,6 +27,10 @@ else DASH_CONF_OPTS += --without-libedit endif +ifeq ($(BR2_STATIC_LIBS),) +DASH_CONF_OPTS += --disable-static +endif + define DASH_INSTALL_TARGET_CMDS $(INSTALL) -m 0755 -D $(@D)/src/dash $(TARGET_DIR)/bin/dash endef diff --git a/package/datatables-buttons/datatables-buttons.hash b/package/datatables-buttons/datatables-buttons.hash index eda8df34b..fdbbe5faf 100644 --- a/package/datatables-buttons/datatables-buttons.hash +++ b/package/datatables-buttons/datatables-buttons.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 427632c0245f488328edab83b53294545744c8de621a5eaa9dd3d257d7ed7775 Buttons-1.6.1.zip -sha256 21fa7cbc3c00bcad1e0f3417d465e702bd470d7dc446a6deff80c8fc5eda9148 License.txt +sha256 427632c0245f488328edab83b53294545744c8de621a5eaa9dd3d257d7ed7775 Buttons-1.6.1.zip +sha256 21fa7cbc3c00bcad1e0f3417d465e702bd470d7dc446a6deff80c8fc5eda9148 License.txt diff --git a/package/datatables-fixedcolumns/datatables-fixedcolumns.hash b/package/datatables-fixedcolumns/datatables-fixedcolumns.hash index dc9462020..7bd5697db 100644 --- a/package/datatables-fixedcolumns/datatables-fixedcolumns.hash +++ b/package/datatables-fixedcolumns/datatables-fixedcolumns.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 53a7b20ea9dbb6498137cb7260bde8605989ec578e4b71787f5ebc4ef9910bd9 FixedColumns-3.3.0.zip -sha256 e8e92f97216f9ea00cb2735b933a91ec8e3869bed37b6d63a90f76f41508f2de License.txt +sha256 53a7b20ea9dbb6498137cb7260bde8605989ec578e4b71787f5ebc4ef9910bd9 FixedColumns-3.3.0.zip +sha256 e8e92f97216f9ea00cb2735b933a91ec8e3869bed37b6d63a90f76f41508f2de License.txt diff --git a/package/datatables-responsive/datatables-responsive.hash b/package/datatables-responsive/datatables-responsive.hash index d10313f36..df133f040 100644 --- a/package/datatables-responsive/datatables-responsive.hash +++ b/package/datatables-responsive/datatables-responsive.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 47caf3b753dd2c537b8834816eaf38c4df214cb4e6a97144e0de4cf82ad24d02 Responsive-2.2.3.zip -sha256 da4e1020ae97c095a14d7830c1a8a793e080c062e22d749ecd3fc3c075673dbf License.txt +sha256 47caf3b753dd2c537b8834816eaf38c4df214cb4e6a97144e0de4cf82ad24d02 Responsive-2.2.3.zip +sha256 da4e1020ae97c095a14d7830c1a8a793e080c062e22d749ecd3fc3c075673dbf License.txt diff --git a/package/datatables/datatables.hash b/package/datatables/datatables.hash index d6eeadfb3..bb31fcac3 100644 --- a/package/datatables/datatables.hash +++ b/package/datatables/datatables.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 e2c79dd9d02caa04130ce888061bc922e18561e72e842ba0cb657d1812d9f1bf DataTables-1.10.20.zip -sha256 c6a873f21550ed804f76013c36e14225704c1aa551fdb870e0c626eb91c19247 license.txt +sha256 e2c79dd9d02caa04130ce888061bc922e18561e72e842ba0cb657d1812d9f1bf DataTables-1.10.20.zip +sha256 c6a873f21550ed804f76013c36e14225704c1aa551fdb870e0c626eb91c19247 license.txt diff --git a/package/dav1d/dav1d.hash b/package/dav1d/dav1d.hash index b0f163bae..5e838b095 100644 --- a/package/dav1d/dav1d.hash +++ b/package/dav1d/dav1d.hash @@ -1,3 +1,4 @@ +# From http://download.videolan.org/pub/videolan/dav1d/0.9.2/dav1d-0.9.2.tar.xz.sha256 +sha256 e3235ab6c43c0135b0db1d131e1923fad4c84db9d85683e30b91b33a52d61c71 dav1d-0.9.2.tar.xz # Locally computed -sha256 0d198c4fe63fe7f0395b1b17de75b21c8c4508cd3204996229355759efa30ef8 dav1d-0.9.2.tar.bz2 sha256 b327887de263238deaa80c34cdd2ff3e0ba1d35db585ce14a37ce3e74ee389e9 COPYING diff --git a/package/dav1d/dav1d.mk b/package/dav1d/dav1d.mk index d7224625c..ecc4cc55c 100644 --- a/package/dav1d/dav1d.mk +++ b/package/dav1d/dav1d.mk @@ -5,8 +5,8 @@ ################################################################################ DAV1D_VERSION = 0.9.2 -DAV1D_SOURCE = dav1d-$(DAV1D_VERSION).tar.bz2 -DAV1D_SITE = https://code.videolan.org/videolan/dav1d/-/archive/$(DAV1D_VERSION) +DAV1D_SOURCE = dav1d-$(DAV1D_VERSION).tar.xz +DAV1D_SITE = http://download.videolan.org/pub/videolan/dav1d/$(DAV1D_VERSION) DAV1D_LICENSE = BSD-2-Clause DAV1D_LICENSE_FILES = COPYING DAV1D_INSTALL_STAGING = YES diff --git a/package/dbus/dbus.hash b/package/dbus/dbus.hash index 176396fe2..17c70004b 100644 --- a/package/dbus/dbus.hash +++ b/package/dbus/dbus.hash @@ -1,7 +1,7 @@ # Locally calculated after checking pgp signature -# https://dbus.freedesktop.org/releases/dbus/dbus-1.12.22.tar.gz.asc +# https://dbus.freedesktop.org/releases/dbus/dbus-1.12.24.tar.gz.asc # using key 36EC5A6448A4F5EF79BEFE98E05AE1478F814C4F -sha256 8d25785c798ec4f892e6f9d177fb0ceeb8b29867b119798f9d5228561d3ad474 dbus-1.12.22.tar.gz +sha256 bc42d196c1756ac520d61bf3ccd6f42013617def45dd1e591a6091abf51dca38 dbus-1.12.24.tar.gz # Locally calculated sha256 0e46f54efb12d04ab5c33713bacd0e140c9a35b57ae29e03c853203266e8f3a1 COPYING diff --git a/package/dbus/dbus.mk b/package/dbus/dbus.mk index de447d868..9b008394b 100644 --- a/package/dbus/dbus.mk +++ b/package/dbus/dbus.mk @@ -4,7 +4,7 @@ # ################################################################################ -DBUS_VERSION = 1.12.22 +DBUS_VERSION = 1.12.24 DBUS_SITE = https://dbus.freedesktop.org/releases/dbus DBUS_LICENSE = AFL-2.1 or GPL-2.0+ (library, tools), GPL-2.0+ (tools) DBUS_LICENSE_FILES = COPYING diff --git a/package/dc3dd/dc3dd.hash b/package/dc3dd/dc3dd.hash index 670bffa7a..5f01e6f91 100644 --- a/package/dc3dd/dc3dd.hash +++ b/package/dc3dd/dc3dd.hash @@ -1,5 +1,5 @@ # From https://sourceforge.net/projects/dc3dd/files/dc3dd/7.2/ -sha1 1bfe81a921a8473a6ecb46f328ecaab761afb55d dc3dd-7.2.641.tar.xz +sha1 1bfe81a921a8473a6ecb46f328ecaab761afb55d dc3dd-7.2.641.tar.xz # Locally computed sha256 7f50aadc38649845ab11014d11013928411c9d2128c941e9630939d4c28cae6d dc3dd-7.2.641.tar.xz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/dcron/0002-system-crontab.patch b/package/dcron/0002-system-crontab.patch new file mode 100644 index 000000000..ac2936872 --- /dev/null +++ b/package/dcron/0002-system-crontab.patch @@ -0,0 +1,28 @@ +From 1fd99b71b063b1573beaf9f6b801ec5be2fbe24f Mon Sep 17 00:00:00 2001 +From: Mario Haustein +Date: Fri, 2 Sep 2022 23:20:14 +0200 +Subject: [PATCH] Make @hourly, @daily, ... work again + +closes #15 + +Signed-off-by: Mario Haustein +Upstream: https://github.com/dubiousjim/dcron/pull/35 +--- + database.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/database.c b/database.c +index 37cf17a..6ec720e 100644 +--- a/database.c ++++ b/database.c +@@ -455,6 +455,8 @@ SynchronizeFile(const char *dpath, const char *fileName, const char *userName) + line.cl_Days[j] = 1; + for (j=0; j<12; ++j) + line.cl_Mons[j] = 1; ++ for (j=0; j<7; ++j) ++ line.cl_Dow[j] = ALL_DOW; + } + + while (*ptr == ' ' || *ptr == '\t') +-- +2.35.1 diff --git a/package/debianutils/debianutils.hash b/package/debianutils/debianutils.hash index 16a45d4ea..449e93eef 100644 --- a/package/debianutils/debianutils.hash +++ b/package/debianutils/debianutils.hash @@ -1,4 +1,4 @@ # From http://snapshot.debian.org/archive/debian/20200525T145753Z/pool/main/d/debianutils/debianutils_4.11.dsc -sha256 bb5ce6290696b0d623377521ed217f484aa98f7346c5f7c48f9ae3e1acfb7151 debianutils_4.11.tar.xz +sha256 bb5ce6290696b0d623377521ed217f484aa98f7346c5f7c48f9ae3e1acfb7151 debianutils_4.11.tar.xz # Locally calculated -sha256 3c8b5112cb8f74ba959233291908d73f527afa6f1d96f93649aeb912b5884567 debian/copyright +sha256 3c8b5112cb8f74ba959233291908d73f527afa6f1d96f93649aeb912b5884567 debian/copyright diff --git a/package/dhcp/0001-WIP-Resolve-ISC-DHCP-does-not-build-with-gcc10.patch b/package/dhcp/0001-WIP-Resolve-ISC-DHCP-does-not-build-with-gcc10.patch deleted file mode 100644 index ad244267f..000000000 --- a/package/dhcp/0001-WIP-Resolve-ISC-DHCP-does-not-build-with-gcc10.patch +++ /dev/null @@ -1,121 +0,0 @@ -From 129b7e402bd6e7278854e5a8935fce460552b5f4 Mon Sep 17 00:00:00 2001 -From: Thomas Markwalder -Date: Thu, 30 Jul 2020 10:01:36 -0400 -Subject: [PATCH] [#117] Fixed gcc 10 compilation issues - -client/dhclient.c -relay/dhcrelay.c - extern'ed local_port,remote_port - -common/discover.c - init local_port,remote_port to 0 - -server/mdb.c - extern'ed dhcp_type_host - -server/mdb6.c - create_prefix6() - eliminated memcpy string overflow error - -[Retrieved from: -https://gitlab.isc.org/isc-projects/dhcp/-/merge_requests/60/diffs?commit_id=129b7e402bd6e7278854e5a8935fce460552b5f4] -Signed-off-by: Fabrice Fontaine ---- - RELNOTES | 5 +++++ - client/dhclient.c | 5 +++-- - common/discover.c | 4 ++-- - relay/dhcrelay.c | 4 ++-- - server/mdb.c | 2 +- - server/mdb6.c | 2 +- - 6 files changed, 14 insertions(+), 8 deletions(-) - -diff --git a/RELNOTES b/RELNOTES -index 9d0a0414..6919dba7 100644 ---- a/RELNOTES -+++ b/RELNOTES -@@ -103,6 +103,11 @@ ISC DHCP is open source software maintained by Internet Systems - Consortium. This product includes cryptographic software written - by Eric Young (eay@cryptsoft.com). - -+ Changes since 4.4.2 (Bug Fixes) -+ -+- Minor corrections to allow compilation under gcc 10. -+ [Gitlab #117] -+ - Changes since 4.4.2b1 (Bug Fixes) - - - Added a clarification on DHCPINFORMs and server authority to -diff --git a/client/dhclient.c b/client/dhclient.c -index 189e5270..7a7837cb 100644 ---- a/client/dhclient.c -+++ b/client/dhclient.c -@@ -83,8 +83,9 @@ static const char message [] = "Internet Systems Consortium DHCP Client"; - static const char url [] = "For info, please visit https://www.isc.org/software/dhcp/"; - #endif /* UNIT_TEST */ - --u_int16_t local_port = 0; --u_int16_t remote_port = 0; -+extern u_int16_t local_port; -+extern u_int16_t remote_port; -+ - #if defined(DHCPv6) && defined(DHCP4o6) - int dhcp4o6_state = -1; /* -1 = stopped, 0 = polling, 1 = started */ - #endif -diff --git a/common/discover.c b/common/discover.c -index ca4f4d55..22f09767 100644 ---- a/common/discover.c -+++ b/common/discover.c -@@ -45,8 +45,8 @@ struct interface_info *fallback_interface = 0; - - int interfaces_invalidated; - int quiet_interface_discovery; --u_int16_t local_port; --u_int16_t remote_port; -+u_int16_t local_port = 0; -+u_int16_t remote_port = 0; - u_int16_t relay_port = 0; - int dhcpv4_over_dhcpv6 = 0; - int (*dhcp_interface_setup_hook) (struct interface_info *, struct iaddr *); -diff --git a/relay/dhcrelay.c b/relay/dhcrelay.c -index 883d5058..7211e3bb 100644 ---- a/relay/dhcrelay.c -+++ b/relay/dhcrelay.c -@@ -95,8 +95,8 @@ enum { forward_and_append, /* Forward and append our own relay option. */ - forward_untouched, /* Forward without changes. */ - discard } agent_relay_mode = forward_and_replace; - --u_int16_t local_port; --u_int16_t remote_port; -+extern u_int16_t local_port; -+extern u_int16_t remote_port; - - /* Relay agent server list. */ - struct server_list { -diff --git a/server/mdb.c b/server/mdb.c -index ff8a707f..8266d764 100644 ---- a/server/mdb.c -+++ b/server/mdb.c -@@ -67,7 +67,7 @@ static host_id_info_t *host_id_info = NULL; - - int numclasseswritten; - --omapi_object_type_t *dhcp_type_host; -+extern omapi_object_type_t *dhcp_type_host; - - isc_result_t enter_class(cd, dynamicp, commit) - struct class *cd; -diff --git a/server/mdb6.c b/server/mdb6.c -index da7baf6e..ebe01e56 100644 ---- a/server/mdb6.c -+++ b/server/mdb6.c -@@ -1945,7 +1945,7 @@ create_prefix6(struct ipv6_pool *pool, struct iasubopt **pref, - } - new_ds.data = new_ds.buffer->data; - memcpy(new_ds.buffer->data, ds.data, ds.len); -- memcpy(new_ds.buffer->data + ds.len, &tmp, sizeof(tmp)); -+ memcpy(&new_ds.buffer->data[0] + ds.len, &tmp, sizeof(tmp)); - data_string_forget(&ds, MDL); - data_string_copy(&ds, &new_ds, MDL); - data_string_forget(&new_ds, MDL); --- -GitLab - diff --git a/package/dhcp/Config.in b/package/dhcp/Config.in index 515040c61..e0706efaf 100644 --- a/package/dhcp/Config.in +++ b/package/dhcp/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_DHCP # fork() depends on BR2_USE_MMU depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS - select BR2_PACKAGE_BIND help DHCP relay agent from the ISC DHCP distribution. diff --git a/package/dhcp/dhcp.hash b/package/dhcp/dhcp.hash index ec7c4fe58..7dd80a7ac 100644 --- a/package/dhcp/dhcp.hash +++ b/package/dhcp/dhcp.hash @@ -1,4 +1,4 @@ -# Verified from https://ftp.isc.org/isc/dhcp/4.4.2-P1/dhcp-4.4.2-P1.tar.gz.sha256.asc -sha256 b05e04337539545a8faa0d6ac518defc61a07e5aec66a857f455e7f218c85a1a dhcp-4.4.2-P1.tar.gz +# Verified from https://ftp.isc.org/isc/dhcp/4.4.3-P1/dhcp-4.4.3-P1.tar.gz.sha256.asc +sha256 0ac416bb55997ca8632174fd10737fd61cdb8dba2752160a335775bc21dc73c7 dhcp-4.4.3-P1.tar.gz # Locally calculated -sha256 9961fce0d83a6229b9084cdadedfa723a53274c63af610c9adb61b607e0f5a76 LICENSE +sha256 45a39c430be0920cb9570f34b32d2378fe6048c034f2f3265b9326d64ada73df LICENSE diff --git a/package/dhcp/dhcp.mk b/package/dhcp/dhcp.mk index 18765a363..c523c2ffd 100644 --- a/package/dhcp/dhcp.mk +++ b/package/dhcp/dhcp.mk @@ -4,13 +4,22 @@ # ################################################################################ -DHCP_VERSION = 4.4.2-P1 +DHCP_VERSION = 4.4.3-P1 DHCP_SITE = https://ftp.isc.org/isc/dhcp/$(DHCP_VERSION) DHCP_INSTALL_STAGING = YES DHCP_LICENSE = MPL-2.0 DHCP_LICENSE_FILES = LICENSE -DHCP_DEPENDENCIES = bind host-gawk +DHCP_DEPENDENCIES = host-gawk DHCP_CPE_ID_VENDOR = isc +# internal bind does not support parallel builds. +DHCP_MAKE = $(MAKE1) + +# untar internal bind so libtool patches will be applied on bind's libtool +define DHCP_UNTAR_INTERNAL_BIND + $(TAR) xf $(@D)/bind/bind.tar.gz -C $(@D)/bind/ +endef + +DHCP_POST_EXTRACT_HOOKS = DHCP_UNTAR_INTERNAL_BIND # use libtool-enabled configure.ac define DHCP_LIBTOOL_AUTORECONF @@ -22,10 +31,18 @@ DHCP_CONF_ENV = \ -D_PATH_DHCLIENT_CONF=\"/etc/dhcp/dhclient.conf\"' \ CFLAGS='$(TARGET_CFLAGS) -DISC_CHECK_NONE=1' +DHCP_BIND_EXTRA_CONFIG = \ + BUILD_CC='$(HOSTCC)' \ + BUILD_CFLAGS='$(HOST_CFLAGS)' \ + BUILD_CPPFLAGS='$(HOST_CPPFLAGS)' \ + BUILD_LDFLAGS='$(HOST_LDFLAGS)' \ + RANLIB='$(TARGET_RANLIB)' \ + --disable-backtrace + DHCP_CONF_ENV += ac_cv_prog_AWK=$(HOST_DIR)/bin/gawk DHCP_CONF_OPTS = \ - --with-libbind=$(STAGING_DIR)/usr \ + --with-bind-extra-config="$(DHCP_BIND_EXTRA_CONFIG)" \ --with-randomdev=/dev/random \ --with-srv-lease-file=/var/lib/dhcp/dhcpd.leases \ --with-srv6-lease-file=/var/lib/dhcp/dhcpd6.leases \ @@ -38,8 +55,23 @@ DHCP_CONF_OPTS = \ --with-relay-pid-file=/var/run/dhcrelay.pid \ --with-relay6-pid-file=/var/run/dhcrelay6.pid +ifeq ($(BR2_PACKAGE_ZLIB),y) +DHCP_BIND_EXTRA_CONFIG += --with-zlib=$(STAGING_DIR)/usr +DHCP_DEPENDENCIES += zlib +else +DHCP_BIND_EXTRA_CONFIG += --without-zlib +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_ATOMIC),y) +DHCP_BIND_EXTRA_CONFIG += --enable-atomic +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +DHCP_CONF_ENV += LIBS=-latomic +endif +else +DHCP_BIND_EXTRA_CONFIG += --disable-atomic +endif + ifeq ($(BR2_STATIC_LIBS),y) -DHCP_CONF_ENV += LIBS="`$(STAGING_DIR)/usr/bin/bind9-config --libs bind9`" DHCP_CONF_OPTS += --disable-libtool else DHCP_POST_EXTRACT_HOOKS += DHCP_LIBTOOL_AUTORECONF @@ -52,6 +84,7 @@ DHCP_CONF_OPTS += --enable-delayed-ack endif define DHCP_INSTALL_LIBS + $(MAKE) -C $(@D)/bind install-bind DESTDIR=$(TARGET_DIR) $(MAKE) -C $(@D)/common install-exec DESTDIR=$(TARGET_DIR) $(MAKE) -C $(@D)/omapip install-exec DESTDIR=$(TARGET_DIR) endef diff --git a/package/dhcpdump/dhcpdump.hash b/package/dhcpdump/dhcpdump.hash index 358a6f01d..a24db5b27 100644 --- a/package/dhcpdump/dhcpdump.hash +++ b/package/dhcpdump/dhcpdump.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 6d5eb9418162fb738bc56e4c1682ce7f7392dd96e568cc996e44c28de7f77190 dhcpdump-1.8.tar.gz -sha256 bab6ca76b7e93885396513689b1248dfb0e8fd662695b8bd1b26784ef71a0192 LICENSE +sha256 6d5eb9418162fb738bc56e4c1682ce7f7392dd96e568cc996e44c28de7f77190 dhcpdump-1.8.tar.gz +sha256 bab6ca76b7e93885396513689b1248dfb0e8fd662695b8bd1b26784ef71a0192 LICENSE diff --git a/package/dhrystone/dhrystone.hash b/package/dhrystone/dhrystone.hash index 9ea22a360..e6f4773da 100644 --- a/package/dhrystone/dhrystone.hash +++ b/package/dhrystone/dhrystone.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 038a7e9169787125c3451a6c941f3aca5db2d2f3863871afcdce154ef17f4e3e dhry-c +sha256 038a7e9169787125c3451a6c941f3aca5db2d2f3863871afcdce154ef17f4e3e dhry-c diff --git a/package/dieharder/0005-Remove-defunct-rgb_operm.patch b/package/dieharder/0005-Remove-defunct-rgb_operm.patch new file mode 100644 index 000000000..efc311dba --- /dev/null +++ b/package/dieharder/0005-Remove-defunct-rgb_operm.patch @@ -0,0 +1,732 @@ +From 40d377b86c856f5a4510a6f5cd56be004873ad77 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marcus=20M=C3=BCller?= +Date: Mon, 12 Oct 2020 21:30:12 +0200 +Subject: [PATCH] Remove defunct rgb_operm + +[Retrieved from: +https://github.com/eddelbuettel/dieharder/pull/2/commits/40d377b86c856f5a4510a6f5cd56be004873ad77] +Signed-off-by: Fabrice Fontaine +--- + include/Makefile.am | 1 - + include/dieharder/rgb_operm.h | 38 -- + include/dieharder/tests.h | 2 - + libdieharder/rgb_operm.c | 633 ---------------------------------- + 4 files changed, 674 deletions(-) + delete mode 100644 include/dieharder/rgb_operm.h + delete mode 100644 libdieharder/rgb_operm.c + +diff --git a/include/Makefile.am b/include/Makefile.am +index f80b4ff..e4659cd 100644 +--- a/include/Makefile.am ++++ b/include/Makefile.am +@@ -33,7 +33,6 @@ nobase_include_HEADERS = dieharder/copyright.h \ + dieharder/rgb_lagged_sums.h \ + dieharder/rgb_lmn.h \ + dieharder/rgb_minimum_distance.h \ +- dieharder/rgb_operm.h \ + dieharder/rgb_persist.h \ + dieharder/rgb_permutations.h \ + dieharder/rgb_timing.h \ +diff --git a/include/dieharder/rgb_operm.h b/include/dieharder/rgb_operm.h +deleted file mode 100644 +index c48fa37..0000000 +--- a/include/dieharder/rgb_operm.h ++++ /dev/null +@@ -1,38 +0,0 @@ +-/* +- * rgb_operm test header. +- */ +- +-/* +- * function prototype +- */ +-int rgb_operm(Test **test,int irun); +- +-static Dtest rgb_operm_dtest __attribute__((unused)) = { +- "RGB Overlapping Permuations Test", +- "rgb_operm", +- "\n\ +-#========================================================================\n\ +-# RGB Overlapping Permutations Test\n\ +-# Forms both the exact (expected) covariance matrix for overlapping\n\ +-# permutations of random integer and an empirical covariance matrix\n\ +-# formed from a long string of samples. The difference is expected\n\ +-# to have a chisq distribution and hence can be transformed into a\n\ +-# sample p-value. Note that this is one possible functional replacement\n\ +-# for the broken/defunct diehard operm5 test, but one that permits k (the\n\ +-# number of numbers in the overlapping permutation window) to be varied\n\ +-# from 2 to perhaps 8.\n\ +-#\n", +- 100, /* Default psamples */ +- 100000, /* Default tsamples */ +- 1, /* We magically make all the bit tests return a single histogram */ +- rgb_operm, +- 0 +-}; +- +-/* +- * Global variables. +- * +- * rgb_operm_k is the size of the overlapping window that is slid along +- * a data stream of rands from x_i to x_{i+k} to compute c[][]. +- */ +-unsigned int rgb_operm_k; +diff --git a/include/dieharder/tests.h b/include/dieharder/tests.h +index 1674aed..b50dbe3 100644 +--- a/include/dieharder/tests.h ++++ b/include/dieharder/tests.h +@@ -11,7 +11,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -80,7 +79,6 @@ + RGB_PERMUTATIONS, + RGB_LAGGED_SUMS, + RGB_LMN, +- RGB_OPERM, + DAB_BYTEDISTRIB, + DAB_DCT, + DAB_FILLTREE, +diff --git a/libdieharder/rgb_operm.c b/libdieharder/rgb_operm.c +deleted file mode 100644 +index 15f8e9a..0000000 +--- a/libdieharder/rgb_operm.c ++++ /dev/null +@@ -1,633 +0,0 @@ +-/* +- * ======================================================================== +- * $Id: rgb_operm.c 252 2006-10-10 13:17:36Z rgb $ +- * +- * See copyright in copyright.h and the accompanying file COPYING +- * ======================================================================== +- */ +- +-/* +- * ======================================================================== +- * This is the revised Overlapping Permutations test. It directly +- * simulates the covariance matrix of overlapping permutations. The way +- * this works below (tentatively) is: +- * +- * For a bit ntuple of length N, slide a window of length N to the +- * right one bit at a time. Compute the permutation index of the +- * original ntuple, the permutation index of the window ntuple, and +- * accumulate the covariance matrix of the two positions. This +- * can be directly and precisely computed as well. The simulated +- * result should be distributed according to the chisq distribution, +- * so we subtract the two and feed it into the chisq program as a +- * vector to compute p. +- * +- * This MAY NOT BE RIGHT. I'm working from both Marsaglia's limited +- * documentation (in a program that doesn't do ANYTHING like what the +- * documentation says it does) and from Nilpotent Markov Processes. +- * But I confess to not quite understand how to actually perform the +- * test in the latter -- it is very good at describing the construction +- * of the target matrix, not so good at describing how to transform +- * this into a chisq and p. +- * +- * FWIW, as I get something that actually works here, I'm going to +- * THOROUGHLY document it in the book that will accompany the test. +- *======================================================================== +- */ +- +-#include +-#define RGB_OPERM_KMAX 10 +- +-/* +- * Some globals that will eventually go in the test include where they +- * arguably belong. +- */ +-double fpipi(int pi1,int pi2,int nkp); +-uint piperm(size_t *data,int len); +-void make_cexact(); +-void make_cexpt(); +-int nperms,noperms; +-double **cexact,**ceinv,**cexpt,**idty; +-double *cvexact,*cvein,*cvexpt,*vidty; +- +-int rgb_operm(Test **test,int irun) +-{ +- +- int i,j,n,nb,iv,s; +- uint csamples; /* rgb_operm_k^2 is vector size of cov matrix */ +- uint *count,ctotal; /* counters */ +- uint size; +- double pvalue,ntuple_prob,pbin; /* probabilities */ +- Vtest *vtest; /* Chisq entry vector */ +- +- gsl_matrix_view CEXACT,CEINV,CEXPT,IDTY; +- +- /* +- * For a given n = ntuple size in bits, there are n! bit orderings +- */ +- MYDEBUG(D_RGB_OPERM){ +- printf("#==================================================================\n"); +- printf("# rgb_operm: Running rgb_operm verbosely for k = %d.\n",rgb_operm_k); +- printf("# rgb_operm: Use -v = %d to focus.\n",D_RGB_OPERM); +- printf("# rgb_operm: ======================================================\n"); +- } +- +- /* +- * Sanity check first +- */ +- if((rgb_operm_k < 0) || (rgb_operm_k > RGB_OPERM_KMAX)){ +- printf("\nError: rgb_operm_k must be a positive integer <= %u. Exiting.\n",RGB_OPERM_KMAX); +- exit(0); +- } +- +- nperms = gsl_sf_fact(rgb_operm_k); +- noperms = gsl_sf_fact(3*rgb_operm_k-2); +- csamples = rgb_operm_k*rgb_operm_k; +- gsl_permutation * p = gsl_permutation_alloc(nperms); +- +- /* +- * Allocate memory for value_max vector of Vtest structs and counts, +- * PER TEST. Note that we must free both of these when we are done +- * or leak. +- */ +- vtest = (Vtest *)malloc(csamples*sizeof(Vtest)); +- count = (uint *)malloc(csamples*sizeof(uint)); +- Vtest_create(vtest,csamples+1); +- +- /* +- * We have to allocate and free the cexact and cexpt matrices here +- * or they'll be forgotten when these routines return. +- */ +- MYDEBUG(D_RGB_OPERM){ +- printf("# rgb_operm: Creating and zeroing cexact[][] and cexpt[][].\n"); +- } +- cexact = (double **)malloc(nperms*sizeof(double*)); +- ceinv = (double **)malloc(nperms*sizeof(double*)); +- cexpt = (double **)malloc(nperms*sizeof(double*)); +- idty = (double **)malloc(nperms*sizeof(double*)); +- cvexact = (double *)malloc(nperms*nperms*sizeof(double)); +- cvein = (double *)malloc(nperms*nperms*sizeof(double)); +- cvexpt = (double *)malloc(nperms*nperms*sizeof(double)); +- vidty = (double *)malloc(nperms*nperms*sizeof(double)); +- for(i=0;idata[k]; +- +- /* Not cruft, but quiet... +- MYDEBUG(D_RGB_OPERM){ +- printf("#------------------------------------------------------------------\n"); +- printf("# Generating offset sample permutation pi's\n"); +- } +- */ +- for(k=0;k<2*rgb_operm_k - 1;k++){ +- gsl_sort_index((size_t *) ps,&testv[k],1,rgb_operm_k); +- pi[k] = piperm((size_t *) ps,rgb_operm_k); +- +- /* Not cruft, but quiet... +- MYDEBUG(D_RGB_OPERM){ +- printf("# %u: ",k); +- for(ip=k;ipdata[ip]); +- } +- printf(" = %u\n",pi[k]); +- } +- */ +- } +- +- /* +- * This is the business end of things. The covariance matrix is the +- * the sum of a central function of the permutation indices that yields +- * nperms-1/nperms on diagonal, -1/nperms off diagonal, for all the +- * possible permutations, for the FIRST permutation in a sample (fi) +- * times the sum of the same function over all the overlapping permutations +- * drawn from the same sample. Quite simple, really. +- */ +- for(i=0;idata[rgb_operm_k-j-1] = lookup[i]->data[j]; +- } +- } else { +- gsl_permutation_memcpy(lookup[i],lookup[i-1]); +- gsl_permutation_next(lookup[i]); +- for(j=0;jdata[rgb_operm_k-j-1] = lookup[i]->data[j]; +- } +- } +- } +- */ +- MYDEBUG(D_RGB_OPERM){ +- for(i=0;i ",i); +- gsl_permutation_fprintf(stdout,lookup[i]," %u"); +- printf("\n"); +- } +- } +- +- } +- +- for(i=0;idata,len*sizeof(uint))==0){ +- /* Not cruft, but off: +- MYDEBUG(D_RGB_OPERM){ +- printf("# piperm(): "); +- gsl_permutation_fprintf(stdout,lookup[i]," %u"); +- printf(" = %u\n",i); +- } +- */ +- return(i); +- } +- } +- printf("We'd better not get here...\n"); +- +- return(0); +- +-} +- +-double fpipi(int pi1,int pi2,int nkp) +-{ +- +- int i; +- double fret; +- +- /* +- * compute the k-permutation index from iperm for the window +- * at data[offset] of length len. If it matches pind, return +- * the first quantity, otherwise return the second. +- */ +- if(pi1 == pi2){ +- +- fret = (double) (nkp - 1.0)/nkp; +- if(verbose < 0){ +- printf(" f(%d,%d) = %10.6f\n",pi1,pi2,fret); +- } +- return(fret); +- +- } else { +- +- fret = (double) (-1.0/nkp); +- if(verbose < 0){ +- printf(" f(%d,%d) = %10.6f\n",pi1,pi2,fret); +- } +- return(fret); +- +- } +- +- +-} +- +- +- +- diff --git a/package/dieharder/dieharder.hash b/package/dieharder/dieharder.hash index 55932ce6a..65b60e7aa 100644 --- a/package/dieharder/dieharder.hash +++ b/package/dieharder/dieharder.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 6cff0ff8394c553549ac7433359ccfc955fb26794260314620dfa5e4cd4b727f dieharder-3.31.1.tgz -sha256 c475bcd1afa6fc15a65174e31c599c0d23706a34e4b9f2fcb03a4dad5438d53f COPYING +sha256 6cff0ff8394c553549ac7433359ccfc955fb26794260314620dfa5e4cd4b727f dieharder-3.31.1.tgz +sha256 c475bcd1afa6fc15a65174e31c599c0d23706a34e4b9f2fcb03a4dad5438d53f COPYING diff --git a/package/diffutils/0004-sigsegv-Fix-compilation-error-on-arceb-CPUs.patch b/package/diffutils/0004-sigsegv-Fix-compilation-error-on-arceb-CPUs.patch new file mode 100644 index 000000000..20db798f3 --- /dev/null +++ b/package/diffutils/0004-sigsegv-Fix-compilation-error-on-arceb-CPUs.patch @@ -0,0 +1,41 @@ +From 1957bb5113a2bf02c7ecf0815125eec04b9476d2 Mon Sep 17 00:00:00 2001 +From: Bruno Haible +Date: Sat, 16 Apr 2022 03:01:51 +0200 +Subject: sigsegv: Fix compilation error on arceb CPUs. + +Reported by Fabrice Fontaine in +. + +* m4/stack-direction.m4 (SV_STACK_DIRECTION): Treat the 'arc' variants +like 'arc'. + +[Retrieved (and backported) from: +https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=1957bb5113a2bf02c7ecf0815125eec04b9476d2] +Signed-off-by: Fabrice Fontaine +--- + ChangeLog | 8 ++++++++ + m4/stack-direction.m4 | 4 ++-- + 2 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/m4/stack-direction.m4 b/m4/stack-direction.m4 +index 1df823e..924c5de 100644 +--- a/m4/stack-direction.m4 ++++ b/m4/stack-direction.m4 +@@ -1,4 +1,4 @@ +-# stack-direction.m4 serial 7 ++# stack-direction.m4 serial 11 + dnl Copyright (C) 2002-2021 Free Software Foundation, Inc. + dnl This file is free software, distributed under the terms of the GNU + dnl General Public License. As a special exception to the GNU General +@@ -18,7 +18,7 @@ AC_DEFUN([SV_STACK_DIRECTION], + a29k | \ + aarch64* | \ + alpha* | \ +- arc | \ ++ arc | arceb | arc32 | arc64 | \ + arm* | strongarm* | xscale* | \ + avr | avr32 | \ + bfin | \ +-- +cgit v1.1 + diff --git a/package/diffutils/0005-sigsegv-Add-support-for-Linux-PowerPC-32-bit-with-mu.patch b/package/diffutils/0005-sigsegv-Add-support-for-Linux-PowerPC-32-bit-with-mu.patch new file mode 100644 index 000000000..16e0941f6 --- /dev/null +++ b/package/diffutils/0005-sigsegv-Add-support-for-Linux-PowerPC-32-bit-with-mu.patch @@ -0,0 +1,58 @@ +From 6f2f006185cdeeda997d19d651379bfc6887e394 Mon Sep 17 00:00:00 2001 +From: Joel Stanley +Date: Mon, 6 Jun 2022 17:14:12 +0930 +Subject: [PATCH] sigsegv: Add support for Linux/PowerPC (32-bit) with musl + libc. Reported by Khem Raj in + . + +* src/sigsegv.c (SIGSEGV_FAULT_STACKPOINTER): In the Linux/PowerPC +32-bit case, handle musl libc differently. +* modules/sigsegv (Files): Add m4/musl.m4. +(configure.ac): Invoke gl_MUSL_LIBC. + +Backported from http://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=2d830e4a792fcd9f614ed08a7f18584b8b21d23b +Signed-off-by: Joel Stanley +--- + lib/sigsegv.c | 25 +++++++++++++++++++++---- + 1 file changed, 21 insertions(+), 4 deletions(-) + +diff --git a/lib/sigsegv.c b/lib/sigsegv.c +index da70ffa5fda1..da64d7d0b617 100644 +--- a/lib/sigsegv.c ++++ b/lib/sigsegv.c +@@ -227,11 +227,28 @@ int libsigsegv_version = LIBSIGSEGV_VERSION; + # if defined __powerpc64__ || defined __powerpc64_elfv2__ /* 64-bit */ + # define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.gp_regs[1] + # else /* 32-bit */ +-/* both should be equivalent */ +-# if 0 +-# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.regs->gpr[1] ++# if MUSL_LIBC ++/* musl libc has a different structure of ucontext_t in ++ musl/arch/powerpc/bits/signal.h. */ ++/* The glibc comments say: ++ "Different versions of the kernel have stored the registers on signal ++ delivery at different offsets from the ucontext struct. Programs should ++ thus use the uc_mcontext.uc_regs pointer to find where the registers are ++ actually stored." */ ++# if 0 ++# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.gregs[1] ++# else ++# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_regs->gregs[1] ++# endif + # else +-# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.uc_regs->gregs[1] ++/* Assume the structure of ucontext_t in ++ glibc/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h. */ ++/* Because of the union, both definitions should be equivalent. */ ++# if 0 ++# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.regs->gpr[1] ++# else ++# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.uc_regs->gregs[1] ++# endif + # endif + # endif + +-- +2.35.1 + diff --git a/package/diffutils/diffutils.mk b/package/diffutils/diffutils.mk index 3d8654129..6db68af7e 100644 --- a/package/diffutils/diffutils.mk +++ b/package/diffutils/diffutils.mk @@ -20,4 +20,3 @@ DIFFUTILS_CONF_ENV += gl_cv_func_getopt_gnu=yes endif $(eval $(autotools-package)) -$(eval $(host-autotools-package)) diff --git a/package/ding-libs/ding-libs.hash b/package/ding-libs/ding-libs.hash index 2ac5bd8ee..6b0c8e303 100644 --- a/package/ding-libs/ding-libs.hash +++ b/package/ding-libs/ding-libs.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 ad3c573641701f67d4b6bd8a5a71f0b65d45fd39fe961495ef5f5d3c57fc0963 ding-libs-ding_libs-0_6_1.tar.gz -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING -sha256 6c57f43c939054fd4b831f271a14c97a488c38f98cdda5e887c5d396e3b3bc58 COPYING.LESSER +sha256 ad3c573641701f67d4b6bd8a5a71f0b65d45fd39fe961495ef5f5d3c57fc0963 ding-libs-ding_libs-0_6_1.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 6c57f43c939054fd4b831f271a14c97a488c38f98cdda5e887c5d396e3b3bc58 COPYING.LESSER diff --git a/package/directfb/directfb.mk b/package/directfb/directfb.mk index 56a396ab9..094e87e7e 100644 --- a/package/directfb/directfb.mk +++ b/package/directfb/directfb.mk @@ -67,7 +67,6 @@ endif DIRECTFB_GFX = \ $(if $(BR2_PACKAGE_DIRECTFB_ATI128),ati128) \ - $(if $(BR2_PACKAGE_DIRECTFB_CYBER5K),cyber5k) \ $(if $(BR2_PACKAGE_DIRECTFB_MATROX),matrox) \ $(if $(BR2_PACKAGE_DIRECTFB_PXA3XX),pxa3xx) \ $(if $(BR2_PACKAGE_DIRECTFB_I830),i830) \ diff --git a/package/dmalloc/0001-mips.patch b/package/dmalloc/0001-configure-fix-build-on-mips.patch similarity index 37% rename from package/dmalloc/0001-mips.patch rename to package/dmalloc/0001-configure-fix-build-on-mips.patch index 3150d030e..9b1525d0d 100644 --- a/package/dmalloc/0001-mips.patch +++ b/package/dmalloc/0001-configure-fix-build-on-mips.patch @@ -1,19 +1,61 @@ +From af6adb3f5f05be4faa88a5aa83296c388c8085e7 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Wed, 8 Feb 2023 12:30:10 +0100 +Subject: [PATCH] configure: fix build on mips + +This patch is a historical baggage that Buildroot has carried for ages +(since 2006), and the reason for it are notentirely clear. + +Since dmalloc is pretty tricky, and as this patch has not been +identified as causing issues, we keep it; we just add the configure.ac +patchlet to match the one in configure. + +As for the title, the original patch was named dmalloc-mips.patch, so +presumably it fixes some mips issue; let's title the commit that way. + [Fabrice: Updated for 5.6.5] Signed-off-by: Fabrice Fontaine +[yann.morin.1998@free.fr: make it a git-formatted patch] +Signed-off-by: Yann E. MORIN +--- + configure | 4 ++-- + configure.ac | 2 +- + return.h | 16 +++------------- + 3 files changed, 6 insertions(+), 16 deletions(-) + +diff --git a/configure b/configure +index d52a1e8..c18dfb2 100755 --- a/configure +++ b/configure -@@ -7107,7 +7107,7 @@ +@@ -5413,8 +5413,8 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking return.h macros work" >&5 $as_echo_n "checking return.h macros work... " >&6; } if test "$cross_compiling" = yes; then : - $as_echo "#define RETURN_MACROS_WORK 0" >>confdefs.h +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "#define RETURN_MACROS_WORK 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: assume yes (cross-compiling)" >&5 $as_echo "no" >&6; } + else +diff --git a/configure.ac b/configure.ac +index a5295f1..9740fdc 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -705,7 +705,7 @@ int main() + ])], + [ AC_DEFINE(RETURN_MACROS_WORK, 1) AC_MSG_RESULT([yes]) ], + [ AC_DEFINE(RETURN_MACROS_WORK, 0) AC_MSG_RESULT([no]) ], +-[ AC_DEFINE(RETURN_MACROS_WORK, 0) AC_MSG_RESULT([no]) ] ++[ AC_DEFINE(RETURN_MACROS_WORK, 1) AC_MSG_RESULT([assume yes (cross-compiling)]) ] + ) + + ############################################################################## +diff --git a/return.h b/return.h +index 9d3f5f1..d916c7a 100644 --- a/return.h +++ b/return.h -@@ -106,26 +106,16 @@ +@@ -117,26 +117,16 @@ /*************************************/ /* @@ -22,14 +64,14 @@ Signed-off-by: Fabrice Fontaine */ #if __mips - /* +-/* - * I have no idea how to get inline assembly with the default cc. - * Anyone know how? - */ - -#if 0 - --/* + /* * NOTE: we assume here that file is global. * - * $31 is the frame pointer. $2 looks to be the return address but maybe @@ -43,3 +85,6 @@ Signed-off-by: Fabrice Fontaine #endif /* __mips */ +-- +2.25.1 + diff --git a/package/dmalloc/0002-return-Fix-PowerPC-assembly.patch b/package/dmalloc/0002-return-Fix-PowerPC-assembly.patch new file mode 100644 index 000000000..e6aa81164 --- /dev/null +++ b/package/dmalloc/0002-return-Fix-PowerPC-assembly.patch @@ -0,0 +1,54 @@ +From 6d87fc890c3de81ee33baf25d7c3c86532f26060 Mon Sep 17 00:00:00 2001 +From: Joel Stanley +Date: Mon, 9 May 2022 20:27:58 +0930 +Subject: [PATCH] return: Fix PowerPC assembly + +The original assembly used suspicious syntax. However, due to the +!defined(__OPTIMIZE__) guard this code was rarely built. + +There nothing to stop the compiler using r0 between the two asm blocks, +which may have been the cause of the note mentioning it failed when +build with optimisation enabled. + +Write a single asm statement that places the result in the given +location. + +This builds for powerpc64le and passes tests. + +Signed-off-by: Joel Stanley +Upstream: https://github.com/j256/dmalloc/pull/113 +--- + return.h | 13 +++---------- + 1 file changed, 3 insertions(+), 10 deletions(-) + +diff --git a/return.h b/return.h +index 55b9369fe12d..fafbe3754f0f 100644 +--- a/return.h ++++ b/return.h +@@ -260,20 +260,13 @@ asm void ASM_GET_RET_ADDR(file) + /*************************************/ + + /* +- * For Powerpc 603 based system running LynxOS 2.3.1 using gcc/gas. +- */ +-#if defined(__powerpc__) && defined(__GNUC__) && !defined(__OPTIMIZE__) +- +-/* +- * This won't compile if "-O2" is used, but it seems to work fine with +- * "-O0". I'm no assembler expert; I was happy enough to come up with +- * something that works at all... :-) ++ * For PowerPC using gcc/gas. + */ ++#if defined(__powerpc__) && defined(__GNUC__) + + #define GET_RET_ADDR(file) \ + do { \ +- asm("mflr 0"); \ +- asm("stw 0,%0" : "=g" (file)); \ ++ asm("mflr %0" : "=r" (file)); \ + } while(0) + + #endif /* __powerpc__ && __GNUC__ && !__OPTIMIZE__ */ +-- +2.35.1 + diff --git a/package/dmalloc/0003-configure-allow-overriding-some-tests.patch b/package/dmalloc/0003-configure-allow-overriding-some-tests.patch new file mode 100644 index 000000000..3003e8cbe --- /dev/null +++ b/package/dmalloc/0003-configure-allow-overriding-some-tests.patch @@ -0,0 +1,80 @@ +From 9d57d4353c82110c609f36f91986277343d4ee45 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Wed, 8 Feb 2023 13:26:56 +0100 +Subject: [PATCH] configure: allow overriding some tests + +Some tests use AC_RUN_IFELSE, so they do not work for cross-compilation. + +Allow the user to provide these results from the environment. + +Signed-off-by: Yann E. MORIN +--- + configure | 6 +++--- + configure.ac | 6 +++--- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/configure b/configure +index c18dfb2..d165962 100755 +--- a/configure ++++ b/configure +@@ -4540,7 +4540,7 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking strdup macro" >&5 + $as_echo_n "checking strdup macro... " >&6; } + if test "$cross_compiling" = yes; then : +- ac_cv_strdup_macro=no ++ ac_cv_strdup_macro="${ac_cv_strdup_macro-no}" + + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -4578,7 +4578,7 @@ $as_echo "$ac_cv_strdup_macro" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking strndup macro" >&5 + $as_echo_n "checking strndup macro... " >&6; } + if test "$cross_compiling" = yes; then : +- ac_cv_strndup_macro=no ++ ac_cv_strndup_macro="${ac_cv_strndup_macro-no}" + + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -4753,7 +4753,7 @@ done + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking basic-block size" >&5 + $as_echo_n "checking basic-block size... " >&6; } +-ac_cv_page_size=0 ++ac_cv_page_size="${ac_cv_page_size-0}" + if test $ac_cv_page_size = 0; then + if test "$cross_compiling" = yes; then : + ac_cv_page_size=0 +diff --git a/configure.ac b/configure.ac +index 9740fdc..51bdf4d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -292,7 +292,7 @@ int main() { return 1; } + ]])], + [ac_cv_strdup_macro=yes], + [ac_cv_strdup_macro=no], +-[ac_cv_strdup_macro=no] ++[ac_cv_strdup_macro="${ac_cv_strdup_macro-no}"] + ) + AC_MSG_RESULT([$ac_cv_strdup_macro]) + +@@ -316,7 +316,7 @@ int main() { return 1; } + ]])], + [ac_cv_strndup_macro=yes], + [ac_cv_strndup_macro=no], +-[ac_cv_strndup_macro=no] ++[ac_cv_strndup_macro="${ac_cv_strndup_macro-no}"] + ) + AC_MSG_RESULT([$ac_cv_strndup_macro]) + +@@ -390,7 +390,7 @@ AC_MSG_RESULT([$ac_cv_use_mmap]) + # + AC_CHECK_FUNCS(getpagesize) + AC_MSG_CHECKING([basic-block size]) +-ac_cv_page_size=0 ++ac_cv_page_size="${ac_cv_page_size-0}" + if test $ac_cv_page_size = 0; then + AC_RUN_IFELSE([AC_LANG_SOURCE([ + #if HAVE_UNISTD_H +-- +2.25.1 + diff --git a/package/dmalloc/0004-Makefile-use-the-configure-detected-or-user-supplied.patch b/package/dmalloc/0004-Makefile-use-the-configure-detected-or-user-supplied.patch new file mode 100644 index 000000000..394e7ca34 --- /dev/null +++ b/package/dmalloc/0004-Makefile-use-the-configure-detected-or-user-supplied.patch @@ -0,0 +1,50 @@ +From c958fd5cd7d5ff03c0a023608b53b74997c514b3 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Wed, 8 Feb 2023 13:43:55 +0100 +Subject: [PATCH] Makefile: use the configure-detected or user-supplied ar + program + +Signed-off-by: Yann E. MORIN +--- + Makefile.in | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 86d3cca..089ac99 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -303,11 +303,11 @@ $(LIB_SL) : $(LIBRARY) + mv $@.t $@ + + $(LIBRARY) : $(OBJS) $(NORMAL_OBJS) +- ar cr $@ $? ++ $(AR) cr $@ $? + @RANLIB@ $@ + + $(LIB_TH) : $(OBJS) $(THREAD_OBJS) +- ar cr $@ $? ++ $(AR) cr $@ $? + @RANLIB@ $@ + + $(LIB_TH_SL) : $(LIB_TH) +@@ -316,7 +316,7 @@ $(LIB_TH_SL) : $(LIB_TH) + mv $@.t $@ + + $(LIB_CXX) : $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS) +- ar cr $@ $? ++ $(AR) cr $@ $? + @RANLIB@ $@ + + $(LIB_CXX_SL) : $(LIB_CXX) +@@ -325,7 +325,7 @@ $(LIB_CXX_SL) : $(LIB_CXX) + mv $@.t $@ + + $(LIB_TH_CXX) : $(OBJS) $(THREAD_OBJS) $(CXX_OBJS) +- ar cr $@ $? ++ $(AR) cr $@ $? + @RANLIB@ $@ + + $(LIB_TH_CXX_SL) : $(LIB_TH_CXX) +-- +2.25.1 + diff --git a/package/dmalloc/0005-configure-use-LD-instead-of-hard-coding-ld.patch b/package/dmalloc/0005-configure-use-LD-instead-of-hard-coding-ld.patch new file mode 100644 index 000000000..3ba6ee3dc --- /dev/null +++ b/package/dmalloc/0005-configure-use-LD-instead-of-hard-coding-ld.patch @@ -0,0 +1,67 @@ +From d77e5f3d45b0cbae850e3a6e23d52edc137be803 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Wed, 8 Feb 2023 13:52:05 +0100 +Subject: [PATCH] configure: use ${LD} instead of hard-coding 'ld' + +When doing cross-compilation, we do not want to use the native tools to +test, but the target tools. + +Note that the weird quoting is inherited from a legacy patch in +Buildroot, which dates back ages (at least 2006), and as it has not been +identified as breaking things, we keep it as-is... Meh... + +Signed-off-by: Yann E. MORIN +--- + configure | 12 ++++++------ + configure.ac | 12 ++++++------ + 2 files changed, 12 insertions(+), 12 deletions(-) + +diff --git a/configure b/configure +index 810636e..30a7ea3 100755 +--- a/configure ++++ b/configure +@@ -4377,12 +4377,12 @@ if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_shared_link_args='# Could not configure shlib linking' + enable_shlib=no + fi +- elif (ld -shared --whole-archive -soname conftest.so -o conftest.so.t conftest.a) 2>&5; then +- ac_cv_shared_link_args='ld -shared --whole-archive -soname $@ -o $@.t' +- elif (ld -shared -o conftest.so.t -all -soname conftest.so.t -none -lc -all conftest.a) 2>&5; then +- ac_cv_shared_link_args='ld -shared -o $@.t -all -soname $@ -none -lc -all' +- elif (ld -G -o conftest.so.t conftest.a) 2>&5; then +- ac_cv_shared_link_args='ld -G -o $@.t' ++ elif (${LD-ld} -shared --whole-archive -soname conftest.so -o conftest.so.t conftest.a) 2>&5; then ++ ac_cv_shared_link_args="${LD-ld}"' -shared --whole-archive -soname $@ -o $@.t' ++ elif (${LD-ld} -shared -o conftest.so.t -all -soname conftest.so.t -none -lc -all conftest.a) 2>&5; then ++ ac_cv_shared_link_args="${LD-ld}"' -shared -o $@.t -all -soname $@ -none -lc -all' ++ elif (${LD-ld} -G -o conftest.so.t conftest.a) 2>&5; then ++ ac_cv_shared_link_args="${LD-ld}"' -G -o $@.t' + else + # oh well, toss an error + ac_cv_shared_link_args='# Could not configure shlib linking' +diff --git a/configure.ac b/configure.ac +index 51bdf4d..0d80a78 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -169,12 +169,12 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([ int foo(int val) { return val + 1; } ])],[ + ac_cv_shared_link_args='# Could not configure shlib linking' + enable_shlib=no + fi +- elif (ld -shared --whole-archive -soname conftest.so -o conftest.so.t conftest.a) 2>&5; then +- ac_cv_shared_link_args='ld -shared --whole-archive -soname $@ -o $@.t' +- elif (ld -shared -o conftest.so.t -all -soname conftest.so.t -none -lc -all conftest.a) 2>&5; then +- ac_cv_shared_link_args='ld -shared -o $@.t -all -soname $@ -none -lc -all' +- elif (ld -G -o conftest.so.t conftest.a) 2>&5; then +- ac_cv_shared_link_args='ld -G -o $@.t' ++ elif (${LD-ld} -shared --whole-archive -soname conftest.so -o conftest.so.t conftest.a) 2>&5; then ++ ac_cv_shared_link_args="${LD-ld}"' -shared --whole-archive -soname $@ -o $@.t' ++ elif (${LD-ld} -shared -o conftest.so.t -all -soname conftest.so.t -none -lc -all conftest.a) 2>&5; then ++ ac_cv_shared_link_args="${LD-ld}"' -shared -o $@.t -all -soname $@ -none -lc -all' ++ elif (${LD-ld} -G -o conftest.so.t conftest.a) 2>&5; then ++ ac_cv_shared_link_args="${LD-ld}"' -G -o $@.t' + else + # oh well, toss an error + ac_cv_shared_link_args='# Could not configure shlib linking' +-- +2.25.1 + diff --git a/package/dmalloc/dmalloc.mk b/package/dmalloc/dmalloc.mk index 93dc45c15..5bd669172 100644 --- a/package/dmalloc/dmalloc.mk +++ b/package/dmalloc/dmalloc.mk @@ -14,6 +14,13 @@ DMALLOC_LICENSE_FILES = LICENSE.txt DMALLOC_INSTALL_STAGING = YES DMALLOC_CFLAGS = $(TARGET_CFLAGS) +# dmalloc uses $(LD) to link, and thus misses the object files or libs that +# are needed to provide the __stack_chk_fail_local and co. symbols. Changing +# to use $(CC) is really more complex that we'd like. Since dmalloc is +# involved in debugging memory allocation, it is not expected to be a +# production library, so we do not care that much that it has SSP. +DMALLOC_CFLAGS += -fno-stack-protector + ifeq ($(BR2_STATIC_LIBS),y) DMALLOC_CONF_OPTS += --disable-shlib else @@ -44,17 +51,11 @@ ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_63261),y) DMALLOC_CFLAGS += -O0 endif -DMALLOC_CONF_ENV = CFLAGS="$(DMALLOC_CFLAGS)" - -define DMALLOC_POST_PATCH - $(SED) 's/^ac_cv_page_size=0$$/ac_cv_page_size=12/' $(@D)/configure - $(SED) 's/ac_cv_strdup_macro=no$$/ac_cv_strdup_macro=yes/' $(@D)/configure - $(SED) 's/(ld -/($${LD-ld} -/' $(@D)/configure - $(SED) 's/'\''ld -/"$${LD-ld}"'\'' -/' $(@D)/configure - $(SED) 's/ar cr/$$(AR) cr/' $(@D)/Makefile.in -endef - -DMALLOC_POST_PATCH_HOOKS += DMALLOC_POST_PATCH +DMALLOC_CONF_ENV = \ + CFLAGS="$(DMALLOC_CFLAGS)" \ + ac_cv_page_size=12 \ + ac_cv_strdup_macro=yes \ + ac_cv_strndup_macro=yes # both DESTDIR and PREFIX are ignored.. define DMALLOC_INSTALL_STAGING_CMDS diff --git a/package/dmraid/dmraid.hash b/package/dmraid/dmraid.hash index af84732f9..7c1bb9a56 100644 --- a/package/dmraid/dmraid.hash +++ b/package/dmraid/dmraid.hash @@ -1,5 +1,5 @@ # From http://people.redhat.com/~heinzm/sw/dmraid/src/dmraid-1.0.0.rc16-3.tar.bz2.md5.sum -md5 819338fcef98e8e25819f0516722beeb dmraid-1.0.0.rc16-3.tar.bz2 +md5 819338fcef98e8e25819f0516722beeb dmraid-1.0.0.rc16-3.tar.bz2 # locally computed sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 1.0.0.rc16-3/dmraid/LICENSE_GPL sha256 4bc391fcf852e03c3a7564cb146af6e47717562eed296b28bce123ee1b0396b8 1.0.0.rc16-3/dmraid/LICENSE diff --git a/package/dnsmasq/0001-src-option.c-fix-build-with-gcc-4.8.patch b/package/dnsmasq/0001-src-option.c-fix-build-with-gcc-4.8.patch deleted file mode 100644 index 50ecf2f18..000000000 --- a/package/dnsmasq/0001-src-option.c-fix-build-with-gcc-4.8.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 46312909d9080ff8743133fbd52427b4b2213171 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Fri, 31 Dec 2021 17:29:44 +0100 -Subject: [PATCH] src/option.c: fix build with gcc 4.8 - -Fix the following build failure with gcc 4.8 raised since version 2.86: - -option.c: In function 'one_opt': -option.c:2445:11: error: 'for' loop initial declarations are only allowed in C99 mode - for (char *p = arg; *p; p++) { - ^ -option.c:2445:11: note: use option -std=c99 or -std=gnu99 to compile your code -option.c:2453:11: error: 'for' loop initial declarations are only allowed in C99 mode - for (u8 i = 0; i < sizeof(daemon->umbrella_device); i++, arg+=2) { - ^ - -Fixes: - - http://autobuild.buildroot.org/results/39b34a4e69fc10f4bd9d4ddb0ed8c0aae5741c84 - -Signed-off-by: Fabrice Fontaine -[Upstream commit 46312909d9080ff8743133fbd52427b4b2213171] ---- - src/option.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/option.c b/src/option.c -index ff54def..c57f6d8 100644 ---- a/src/option.c -+++ b/src/option.c -@@ -2525,7 +2525,8 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma - arg += 9; - if (strlen(arg) != 16) - ret_err(gen_err); -- for (char *p = arg; *p; p++) { -+ char *p; -+ for (*p = arg; *p; p++) { - if (!isxdigit((int)*p)) - ret_err(gen_err); - } -@@ -2533,7 +2534,8 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma - - u8 *u = daemon->umbrella_device; - char word[3]; -- for (u8 i = 0; i < sizeof(daemon->umbrella_device); i++, arg+=2) { -+ u8 i; -+ for (i = 0; i < sizeof(daemon->umbrella_device); i++, arg+=2) { - memcpy(word, &(arg[0]), 2); - *u++ = strtoul(word, NULL, 16); - } --- -2.33.0 - diff --git a/package/dnsmasq/0002-Fix-46312909d9080ff8743133fbd52427b4b2213171-typo.patch b/package/dnsmasq/0002-Fix-46312909d9080ff8743133fbd52427b4b2213171-typo.patch deleted file mode 100644 index 8cdf5b3f1..000000000 --- a/package/dnsmasq/0002-Fix-46312909d9080ff8743133fbd52427b4b2213171-typo.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 2748fb81e23b71e2c44956e99321816aca91905d Mon Sep 17 00:00:00 2001 -From: Simon Kelley -Date: Sat, 1 Jan 2022 23:03:26 +0000 -Subject: [PATCH] Fix 46312909d9080ff8743133fbd52427b4b2213171 typo. - -[Upstream commit 2748fb81e23b71e2c44956e99321816aca91905d] -Signed-off-by: Fabrice Fontaine ---- - src/option.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/option.c b/src/option.c -index c57f6d8..6f56ce8 100644 ---- a/src/option.c -+++ b/src/option.c -@@ -357,7 +357,7 @@ static const struct myoption opts[] = - { "dhcp-ignore-clid", 0, 0, LOPT_IGNORE_CLID }, - { "dynamic-host", 1, 0, LOPT_DYNHOST }, - { "log-debug", 0, 0, LOPT_LOG_DEBUG }, -- { "umbrella", 2, 0, LOPT_UMBRELLA }, -+ { "umbrella", 2, 0, LOPT_UMBRELLA }, - { "quiet-tftp", 0, 0, LOPT_QUIET_TFTP }, - { NULL, 0, 0, 0 } - }; -@@ -2526,7 +2526,7 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma - if (strlen(arg) != 16) - ret_err(gen_err); - char *p; -- for (*p = arg; *p; p++) { -+ for (p = arg; *p; p++) { - if (!isxdigit((int)*p)) - ret_err(gen_err); - } --- -2.33.0 - diff --git a/package/dnsmasq/0003-Fix-FTBFS-when-CONNTRACK-and-UBUS-but-not-DNSSEC-compile-options-selected.patch b/package/dnsmasq/0003-Fix-FTBFS-when-CONNTRACK-and-UBUS-but-not-DNSSEC-compile-options-selected.patch deleted file mode 100644 index 9c98af2be..000000000 --- a/package/dnsmasq/0003-Fix-FTBFS-when-CONNTRACK-and-UBUS-but-not-DNSSEC-compile-options-selected.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 2c60441239e1c10c4987cb586653b1ea08f703c0 Mon Sep 17 00:00:00 2001 -From: Simon Kelley -Date: Tue, 28 Sep 2021 23:42:15 +0100 -Subject: [PATCH] Fix FTBFS when CONNTRACK and UBUS but not DNSSEC compile - options selected. - -[Retrieved from: -https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=2c60441239e1c10c4987cb586653b1ea08f703c0] -Signed-off-by: Fabrice Fontaine ---- - src/dnsmasq.h | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/src/dnsmasq.h b/src/dnsmasq.h -index c8a918a..3fdc1b0 100644 ---- a/src/dnsmasq.h -+++ b/src/dnsmasq.h -@@ -1173,9 +1173,12 @@ extern struct daemon { - char *packet; /* packet buffer */ - int packet_buff_sz; /* size of above */ - char *namebuff; /* MAXDNAME size buffer */ -+#if (defined(HAVE_CONNTRACK) && defined(HAVE_UBUS)) || defined(HAVE_DNSSEC) -+ /* CONNTRACK UBUS code uses this buffer, as well as DNSSEC code. */ -+ char *workspacename; -+#endif - #ifdef HAVE_DNSSEC - char *keyname; /* MAXDNAME size buffer */ -- char *workspacename; /* ditto */ - unsigned long *rr_status; /* ceiling in TTL from DNSSEC or zero for insecure */ - int rr_status_sz; - int dnssec_no_time_check; --- -2.20.1 - diff --git a/package/dnsmasq/0004-src-pattern.c-fix-build-with-gcc-4.8.patch b/package/dnsmasq/0004-src-pattern.c-fix-build-with-gcc-4.8.patch deleted file mode 100644 index 90bb02b23..000000000 --- a/package/dnsmasq/0004-src-pattern.c-fix-build-with-gcc-4.8.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 0c89dd2fa0fe50b00bca638dbbacfbd361526e0a Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 2 Jan 2022 21:57:52 +0100 -Subject: [PATCH] src/pattern.c: fix build with gcc 4.8 - -Fix the following build failure: - -pattern.c: In function 'is_valid_dns_name': -pattern.c:134:3: error: 'for' loop initial declarations are only allowed in C99 mode - for (const char *c = value;; c++) - ^ -pattern.c:134:3: note: use option -std=c99 or -std=gnu99 to compile your code -pattern.c: In function 'is_valid_dns_name_pattern': -pattern.c:249:3: error: 'for' loop initial declarations are only allowed in C99 mode - for (const char *c = value;; c++) - ^ - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=b2690415bfa1bc105e61b75f642fb5c1aaf0fae8] ---- - src/pattern.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/pattern.c b/src/pattern.c -index 03e23b9..928d259 100644 ---- a/src/pattern.c -+++ b/src/pattern.c -@@ -129,9 +129,9 @@ int is_valid_dns_name(const char *value) - - size_t num_bytes = 0; - size_t num_labels = 0; -- const char *label = NULL; -+ const char *c, *label = NULL; - int is_label_numeric = 1; -- for (const char *c = value;; c++) -+ for (c = value;; c++) - { - if (*c && - *c != '-' && *c != '.' && -@@ -242,11 +242,11 @@ int is_valid_dns_name_pattern(const char *value) - - size_t num_bytes = 0; - size_t num_labels = 0; -- const char *label = NULL; -+ const char *c, *label = NULL; - int is_label_numeric = 1; - size_t num_wildcards = 0; - int previous_label_has_wildcard = 1; -- for (const char *c = value;; c++) -+ for (c = value;; c++) - { - if (*c && - *c != '*' && /* Wildcard. */ --- -2.20.1 - diff --git a/package/dnsmasq/dnsmasq.hash b/package/dnsmasq/dnsmasq.hash index 804012821..78127ca71 100644 --- a/package/dnsmasq/dnsmasq.hash +++ b/package/dnsmasq/dnsmasq.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.86.tar.xz.asc -sha256 28d52cfc9e2004ac4f85274f52b32e1647b4dbc9761b82e7de1e41c49907eb08 dnsmasq-2.86.tar.xz +# https://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.87.tar.xz.asc +sha256 0228c0364a7f2356fd7e7f1549937cbf3099a78d3b2eb1ba5bb0c31e2b89de7a dnsmasq-2.87.tar.xz # Locally calculated -sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING-v3 diff --git a/package/dnsmasq/dnsmasq.mk b/package/dnsmasq/dnsmasq.mk index 0569475fc..46a40c4bb 100644 --- a/package/dnsmasq/dnsmasq.mk +++ b/package/dnsmasq/dnsmasq.mk @@ -4,7 +4,7 @@ # ################################################################################ -DNSMASQ_VERSION = 2.86 +DNSMASQ_VERSION = 2.87 DNSMASQ_SOURCE = dnsmasq-$(DNSMASQ_VERSION).tar.xz DNSMASQ_SITE = http://thekelleys.org.uk/dnsmasq DNSMASQ_MAKE_ENV = $(TARGET_MAKE_ENV) CC="$(TARGET_CC)" @@ -26,9 +26,6 @@ endif ifeq ($(BR2_PACKAGE_DNSMASQ_DNSSEC),y) DNSMASQ_DEPENDENCIES += gmp nettle DNSMASQ_COPTS += -DHAVE_DNSSEC -ifeq ($(BR2_STATIC_LIBS),y) -DNSMASQ_COPTS += -DHAVE_DNSSEC_STATIC -endif endif ifneq ($(BR2_PACKAGE_DNSMASQ_TFTP),y) diff --git a/package/docker-cli/docker-cli.hash b/package/docker-cli/docker-cli.hash index f2fe31654..c6db95f9b 100644 --- a/package/docker-cli/docker-cli.hash +++ b/package/docker-cli/docker-cli.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 d86e3e6e10669634ee02b5e071e5ee504457a9d03941bbc5b7f2bd3683ebdb19 docker-cli-20.10.12.tar.gz +sha256 84d71ac2b508b54e8df9f3ea425aa33e254fd3645fe9bad5619b98eaffb33408 docker-cli-20.10.22.tar.gz sha256 2d81ea060825006fc8f3fe28aa5dc0ffeb80faf325b612c955229157b8c10dc0 LICENSE diff --git a/package/docker-cli/docker-cli.mk b/package/docker-cli/docker-cli.mk index d5cca34ef..cb44c68c1 100644 --- a/package/docker-cli/docker-cli.mk +++ b/package/docker-cli/docker-cli.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOCKER_CLI_VERSION = 20.10.12 +DOCKER_CLI_VERSION = 20.10.22 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 aa29a6d6c..42d71c809 100644 --- a/package/docker-compose/docker-compose.hash +++ b/package/docker-compose/docker-compose.hash @@ -1,5 +1,5 @@ # from https://pypi.python.org/pypi/docker-compose/json -sha256 a5d58e974fd717e24b0dda6669a46bc03548d9023ef38d965acdc32d4d5fa753 docker-compose-1.24.1.tar.gz +sha256 a5d58e974fd717e24b0dda6669a46bc03548d9023ef38d965acdc32d4d5fa753 docker-compose-1.24.1.tar.gz # locally computed -sha256 552a739c3b25792263f731542238b92f6f8d07e9a488eae27e6c4690038a8243 LICENSE +sha256 552a739c3b25792263f731542238b92f6f8d07e9a488eae27e6c4690038a8243 LICENSE diff --git a/package/docker-engine/docker-engine.hash b/package/docker-engine/docker-engine.hash index ec3a24262..d15b1359c 100644 --- a/package/docker-engine/docker-engine.hash +++ b/package/docker-engine/docker-engine.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a8ee80d31c7b74f687a837cd2a8570578f118179fba0844c5ee88f90fe180155 docker-engine-20.10.12.tar.gz +sha256 ee0e2168e27ec87f1b0650e86af5d3e167a07fd2ff8c1ce3bb588f0b4f9a4658 docker-engine-20.10.22.tar.gz sha256 7c87873291f289713ac5df48b1f2010eb6963752bbd6b530416ab99fc37914a8 LICENSE diff --git a/package/docker-engine/docker-engine.mk b/package/docker-engine/docker-engine.mk index 2a1239b67..459030f59 100644 --- a/package/docker-engine/docker-engine.mk +++ b/package/docker-engine/docker-engine.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOCKER_ENGINE_VERSION = 20.10.12 +DOCKER_ENGINE_VERSION = 20.10.22 DOCKER_ENGINE_SITE = $(call github,moby,moby,v$(DOCKER_ENGINE_VERSION)) DOCKER_ENGINE_LICENSE = Apache-2.0 diff --git a/package/docker-proxy/docker-proxy.hash b/package/docker-proxy/docker-proxy.hash index 58de69792..eb1bc6555 100644 --- a/package/docker-proxy/docker-proxy.hash +++ b/package/docker-proxy/docker-proxy.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 866c8d196b9396a383b437b0d775476459ed7c11f527c4f6bbf1fd08524b461d docker-proxy-55685ba49593e67f5e1c8180539379b16736c25e.tar.gz -sha256 cb5e8e7e5f4a3988e1063c142c60dc2df75605f4c46515e776e3aca6df976e14 LICENSE +sha256 866c8d196b9396a383b437b0d775476459ed7c11f527c4f6bbf1fd08524b461d docker-proxy-55685ba49593e67f5e1c8180539379b16736c25e.tar.gz +sha256 cb5e8e7e5f4a3988e1063c142c60dc2df75605f4c46515e776e3aca6df976e14 LICENSE diff --git a/package/doom-wad/doom-wad.hash b/package/doom-wad/doom-wad.hash index fa069c1b7..80136fa08 100644 --- a/package/doom-wad/doom-wad.hash +++ b/package/doom-wad/doom-wad.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 cacf0142b31ca1af00796b4a0339e07992ac5f21bc3f81e7532fe1b5e1b486e6 doom19s.zip +sha256 cacf0142b31ca1af00796b4a0339e07992ac5f21bc3f81e7532fe1b5e1b486e6 doom19s.zip diff --git a/package/dos2unix/dos2unix.hash b/package/dos2unix/dos2unix.hash index 493011fce..6de7aacf7 100644 --- a/package/dos2unix/dos2unix.hash +++ b/package/dos2unix/dos2unix.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature # https://waterlan.home.xs4all.nl/dos2unix/dos2unix-7.4.2.tar.gz.asc -sha256 6035c58df6ea2832e868b599dfa0d60ad41ca3ecc8aa27822c4b7a9789d3ae01 dos2unix-7.4.2.tar.gz -sha256 db8888b7d1454348aca0c6ca851327245ef60e57afa8a6555761c8b95d24af77 COPYING.txt +sha256 6035c58df6ea2832e868b599dfa0d60ad41ca3ecc8aa27822c4b7a9789d3ae01 dos2unix-7.4.2.tar.gz +sha256 db8888b7d1454348aca0c6ca851327245ef60e57afa8a6555761c8b95d24af77 COPYING.txt diff --git a/package/dovecot-pigeonhole/dovecot-pigeonhole.hash b/package/dovecot-pigeonhole/dovecot-pigeonhole.hash index f3a589015..635e22148 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 a6d828f8d6f2decba5105343ece5c7a65245bd94e46a8ae4432a6d97543108a5 dovecot-2.3-pigeonhole-0.5.18.tar.gz +sha256 10b923efcc6f3c4d92ecdbb780e12a5c33e6d0fdbe3aba5fcd3ecde4179c730c dovecot-2.3-pigeonhole-0.5.19.tar.gz sha256 fc9e9522216f2a9a28b31300e3c73c1df56acc27dfae951bf516e7995366b51a COPYING diff --git a/package/dovecot-pigeonhole/dovecot-pigeonhole.mk b/package/dovecot-pigeonhole/dovecot-pigeonhole.mk index 62d9909cf..c25cd60b2 100644 --- a/package/dovecot-pigeonhole/dovecot-pigeonhole.mk +++ b/package/dovecot-pigeonhole/dovecot-pigeonhole.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOVECOT_PIGEONHOLE_VERSION = 0.5.18 +DOVECOT_PIGEONHOLE_VERSION = 0.5.19 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/0001-auth-Fix-handling-passdbs-with-identical-driver-args.patch b/package/dovecot/0001-auth-Fix-handling-passdbs-with-identical-driver-args.patch new file mode 100644 index 000000000..04b8f5392 --- /dev/null +++ b/package/dovecot/0001-auth-Fix-handling-passdbs-with-identical-driver-args.patch @@ -0,0 +1,136 @@ +From 7bad6a24160e34bce8f10e73dbbf9e5fbbcd1904 Mon Sep 17 00:00:00 2001 +From: Timo Sirainen +Date: Mon, 9 May 2022 15:23:33 +0300 +Subject: [PATCH] auth: Fix handling passdbs with identical driver/args but + different mechanisms/username_filter + +The passdb was wrongly deduplicated in this situation, causing wrong +mechanisms or username_filter setting to be used. This would be a rather +unlikely configuration though. + +Fixed by moving mechanisms and username_filter from struct passdb_module +to struct auth_passdb, which is where they should have been in the first +place. + +Signed-off-by: Peter Korsgaard +--- + src/auth/auth-request.c | 6 +++--- + src/auth/auth.c | 18 ++++++++++++++++++ + src/auth/auth.h | 5 +++++ + src/auth/passdb.c | 15 ++------------- + src/auth/passdb.h | 4 ---- + 5 files changed, 28 insertions(+), 20 deletions(-) + +diff --git a/src/auth/auth-request.c b/src/auth/auth-request.c +index cd08b1fa02..0ca29f3674 100644 +--- a/src/auth/auth-request.c ++++ b/src/auth/auth-request.c +@@ -534,8 +534,8 @@ auth_request_want_skip_passdb(struct auth_request *request, + struct auth_passdb *passdb) + { + /* if mechanism is not supported, skip */ +- const char *const *mechs = passdb->passdb->mechanisms; +- const char *const *username_filter = passdb->passdb->username_filter; ++ const char *const *mechs = passdb->mechanisms; ++ const char *const *username_filter = passdb->username_filter; + const char *username; + + username = request->fields.user; +@@ -548,7 +548,7 @@ auth_request_want_skip_passdb(struct auth_request *request, + return TRUE; + } + +- if (passdb->passdb->username_filter != NULL && ++ if (passdb->username_filter != NULL && + !auth_request_username_accepted(username_filter, username)) { + auth_request_log_debug(request, + request->mech != NULL ? AUTH_SUBSYS_MECH +diff --git a/src/auth/auth.c b/src/auth/auth.c +index f2f3fda20c..9f6c4ba60c 100644 +--- a/src/auth/auth.c ++++ b/src/auth/auth.c +@@ -99,6 +99,24 @@ auth_passdb_preinit(struct auth *auth, const struct auth_passdb_settings *set, + auth_passdb->override_fields_tmpl = + passdb_template_build(auth->pool, set->override_fields); + ++ if (*set->mechanisms == '\0') { ++ auth_passdb->mechanisms = NULL; ++ } else if (strcasecmp(set->mechanisms, "none") == 0) { ++ auth_passdb->mechanisms = (const char *const[]){ NULL }; ++ } else { ++ auth_passdb->mechanisms = ++ (const char *const *)p_strsplit_spaces(auth->pool, ++ set->mechanisms, " ,"); ++ } ++ ++ if (*set->username_filter == '\0') { ++ auth_passdb->username_filter = NULL; ++ } else { ++ auth_passdb->username_filter = ++ (const char *const *)p_strsplit_spaces(auth->pool, ++ set->username_filter, " ,"); ++ } ++ + /* for backwards compatibility: */ + if (set->pass) + auth_passdb->result_success = AUTH_DB_RULE_CONTINUE; +diff --git a/src/auth/auth.h b/src/auth/auth.h +index f700e29d5c..460a179765 100644 +--- a/src/auth/auth.h ++++ b/src/auth/auth.h +@@ -41,6 +41,11 @@ struct auth_passdb { + struct passdb_template *default_fields_tmpl; + struct passdb_template *override_fields_tmpl; + ++ /* Supported authentication mechanisms, NULL is all, {NULL} is none */ ++ const char *const *mechanisms; ++ /* Username filter, NULL is no filter */ ++ const char *const *username_filter; ++ + enum auth_passdb_skip skip; + enum auth_db_rule result_success; + enum auth_db_rule result_failure; +diff --git a/src/auth/passdb.c b/src/auth/passdb.c +index eb4ac8ae82..f5eed1af4f 100644 +--- a/src/auth/passdb.c ++++ b/src/auth/passdb.c +@@ -224,19 +224,8 @@ passdb_preinit(pool_t pool, const struct auth_passdb_settings *set) + passdb->id = ++auth_passdb_id; + passdb->iface = *iface; + passdb->args = p_strdup(pool, set->args); +- if (*set->mechanisms == '\0') { +- passdb->mechanisms = NULL; +- } else if (strcasecmp(set->mechanisms, "none") == 0) { +- passdb->mechanisms = (const char *const[]){NULL}; +- } else { +- passdb->mechanisms = (const char* const*)p_strsplit_spaces(pool, set->mechanisms, " ,"); +- } +- +- if (*set->username_filter == '\0') { +- passdb->username_filter = NULL; +- } else { +- passdb->username_filter = (const char* const*)p_strsplit_spaces(pool, set->username_filter, " ,"); +- } ++ /* NOTE: if anything else than driver & args are added here, ++ passdb_find() also needs to be updated. */ + array_push_back(&passdb_modules, &passdb); + return passdb; + } +diff --git a/src/auth/passdb.h b/src/auth/passdb.h +index 2e95328e5c..e466a9fdb6 100644 +--- a/src/auth/passdb.h ++++ b/src/auth/passdb.h +@@ -63,10 +63,6 @@ struct passdb_module { + /* Default password scheme for this module. + If default_cache_key is set, must not be NULL. */ + const char *default_pass_scheme; +- /* Supported authentication mechanisms, NULL is all, [NULL] is none*/ +- const char *const *mechanisms; +- /* Username filter, NULL is no filter */ +- const char *const *username_filter; + + /* If blocking is set to TRUE, use child processes to access + this passdb. */ +-- +2.30.2 + diff --git a/package/dovecot/dovecot.hash b/package/dovecot/dovecot.hash index 0363b6e92..124f834dc 100644 --- a/package/dovecot/dovecot.hash +++ b/package/dovecot/dovecot.hash @@ -1,5 +1,5 @@ # Locally computed after checking signature -sha256 1c67ccccdc81a75007c01dedc02ad608c4d856c60a6b89b9cd246e79f72aa2b8 dovecot-2.3.17.1.tar.gz +sha256 db5abcd87d7309659ea6b45b2cb6ee9c5f97486b2b719a5dd05a759e1f6a5c51 dovecot-2.3.19.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 fb299a8e4..e28f500b7 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).17.1 +DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).19.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 @@ -21,6 +21,9 @@ DOVECOT_DEPENDENCIES = \ # is part of the Red Hat packaging and not part of upstream dovecot DOVECOT_IGNORE_CVES += CVE-2016-4983 +# 0001-auth-Fix-handling-passdbs-with-identical-driver-args.patch +DOVECOT_IGNORE_CVES += CVE-2022-30550 + DOVECOT_CONF_ENV = \ RPCGEN=__disable_RPCGEN_rquota \ i_cv_epoll_works=yes \ diff --git a/package/dt/dt.hash b/package/dt/dt.hash index 9c1102579..e0cc0caea 100644 --- a/package/dt/dt.hash +++ b/package/dt/dt.hash @@ -1,7 +1,7 @@ # From http://pkgs.fedoraproject.org/repo/pkgs/dt/dt-source-v18.32.tar.gz # (directory name is md5 hash) -md5 3054aeaaba047a1dbe90c2132a382ee2 dt-source-v18.32.tar.gz +md5 3054aeaaba047a1dbe90c2132a382ee2 dt-source-v18.32.tar.gz # Locally calculated -sha256 10d164676e918a4d07f233bcd11e4cb6bfd1052c996182cd1827ccd0c063fcc6 dt-source-v18.32.tar.gz -sha256 49f47f20de4b44dc3505ed0cc55bfbfe0fc3e41956ab546f1eeedcf554def54c LICENSE +sha256 10d164676e918a4d07f233bcd11e4cb6bfd1052c996182cd1827ccd0c063fcc6 dt-source-v18.32.tar.gz +sha256 49f47f20de4b44dc3505ed0cc55bfbfe0fc3e41956ab546f1eeedcf554def54c LICENSE diff --git a/package/duktape/Config.in b/package/duktape/Config.in index 5dad5c3e7..38f2c48cc 100644 --- a/package/duktape/Config.in +++ b/package/duktape/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_DUKTAPE bool "duktape" depends on !BR2_STATIC_LIBS + depends on !BR2_OPTIMIZE_FAST help Duktape is an embeddable Javascript engine, with a focus on portability and compact footprint. @@ -14,3 +15,6 @@ config BR2_PACKAGE_DUKTAPE comment "duktape needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS + +comment "duktape can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST diff --git a/package/dump1090/dump1090.hash b/package/dump1090/dump1090.hash index fbbf21a01..48167de8a 100644 --- a/package/dump1090/dump1090.hash +++ b/package/dump1090/dump1090.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 72c1a94f3e6788af1e72b8cac13bb53e0989fe02cd13e191133f5519d2a2fefb dump1090-bff92c4ad772a0a8d433f788d39dae97e00e4dbe.tar.gz -sha256 29046ef7ee0b7b127bcc64faf135035820906dea2b379b2efcfc119131a39f7a anet.h +sha256 72c1a94f3e6788af1e72b8cac13bb53e0989fe02cd13e191133f5519d2a2fefb dump1090-bff92c4ad772a0a8d433f788d39dae97e00e4dbe.tar.gz +sha256 29046ef7ee0b7b127bcc64faf135035820906dea2b379b2efcfc119131a39f7a anet.h diff --git a/package/dvblast/dvblast.hash b/package/dvblast/dvblast.hash index b32668fa4..1b75d779d 100644 --- a/package/dvblast/dvblast.hash +++ b/package/dvblast/dvblast.hash @@ -1,7 +1,7 @@ # From https://get.videolan.org/dvblast/3.4/dvblast-3.4.tar.bz2.md5 -md5 148a26e1207e111f905461cfb1cd106a dvblast-3.4.tar.bz2 +md5 148a26e1207e111f905461cfb1cd106a dvblast-3.4.tar.bz2 # From https://get.videolan.org/dvblast/3.4/dvblast-3.4.tar.bz2.sha256 -sha256 7abd45aff738544017350af87ec7ebad00fcfb4e4effd04f35023d504d9b6f44 dvblast-3.4.tar.bz2 +sha256 7abd45aff738544017350af87ec7ebad00fcfb4e4effd04f35023d504d9b6f44 dvblast-3.4.tar.bz2 # Locally computed -sha256 94f68aec169fb6c9937eade757251714d38a56812be5dbfc3973914a71ad8d2d COPYING -sha256 2c1bea2f338d46ee6f2712f2c2bf05b874327ca0bec5eb0b7b4fbe208a23677f COPYING.WTFPL +sha256 94f68aec169fb6c9937eade757251714d38a56812be5dbfc3973914a71ad8d2d COPYING +sha256 2c1bea2f338d46ee6f2712f2c2bf05b874327ca0bec5eb0b7b4fbe208a23677f COPYING.WTFPL diff --git a/package/dvdauthor/dvdauthor.hash b/package/dvdauthor/dvdauthor.hash index 833884aa9..c0ff3e0fb 100644 --- a/package/dvdauthor/dvdauthor.hash +++ b/package/dvdauthor/dvdauthor.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/dvdauthor/files -md5 1173dcb8d40e74fc90c0f3a25dbd642d dvdauthor-0.7.2.tar.gz -sha1 0e605642140576bfb3e963414d77630d1c073a51 dvdauthor-0.7.2.tar.gz +md5 1173dcb8d40e74fc90c0f3a25dbd642d dvdauthor-0.7.2.tar.gz +sha1 0e605642140576bfb3e963414d77630d1c073a51 dvdauthor-0.7.2.tar.gz # Locally computed sha256 3020a92de9f78eb36f48b6f22d5a001c47107826634a785a62dfcd080f612eb7 dvdauthor-0.7.2.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/e2fsprogs/0001-libext2fs-add-sanity-check-to-extent-manipulation.patch b/package/e2fsprogs/0001-libext2fs-add-sanity-check-to-extent-manipulation.patch new file mode 100644 index 000000000..b5299a2a7 --- /dev/null +++ b/package/e2fsprogs/0001-libext2fs-add-sanity-check-to-extent-manipulation.patch @@ -0,0 +1,59 @@ +From ab51d587bb9b229b1fade1afd02e1574c1ba5c76 Mon Sep 17 00:00:00 2001 +From: Lukas Czerner +Date: Thu, 21 Apr 2022 19:31:48 +0200 +Subject: libext2fs: add sanity check to extent manipulation + +It is possible to have a corrupted extent tree in such a way that a leaf +node contains zero extents in it. Currently if that happens and we try +to traverse the tree we can end up accessing wrong data, or possibly +even uninitialized memory. Make sure we don't do that. + +Additionally make sure that we have a sane number of bytes passed to +memmove() in ext2fs_extent_delete(). + +Note that e2fsck is currently unable to spot and fix such corruption in +pass1. + +Signed-off-by: Lukas Czerner +Reported-by: Nils Bars +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2068113 +Addresses: CVE-2022-1304 +Addresses-Debian-Bug: #1010263 +Signed-off-by: Theodore Ts'o + +[Retrieved from: +https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/commit/?h=maint&id=ab51d587bb9b229b1fade1afd02e1574c1ba5c76] +Signed-off-by: Fabrice Fontaine +--- + lib/ext2fs/extent.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/lib/ext2fs/extent.c b/lib/ext2fs/extent.c +index b324c7b0..1a206a16 100644 +--- a/lib/ext2fs/extent.c ++++ b/lib/ext2fs/extent.c +@@ -495,6 +495,10 @@ retry: + ext2fs_le16_to_cpu(eh->eh_entries); + newpath->max_entries = ext2fs_le16_to_cpu(eh->eh_max); + ++ /* Make sure there is at least one extent present */ ++ if (newpath->left <= 0) ++ return EXT2_ET_EXTENT_NO_DOWN; ++ + if (path->left > 0) { + ix++; + newpath->end_blk = ext2fs_le32_to_cpu(ix->ei_block); +@@ -1630,6 +1634,10 @@ errcode_t ext2fs_extent_delete(ext2_extent_handle_t handle, int flags) + + cp = path->curr; + ++ /* Sanity check before memmove() */ ++ if (path->left < 0) ++ return EXT2_ET_EXTENT_LEAF_BAD; ++ + if (path->left) { + memmove(cp, cp + sizeof(struct ext3_extent_idx), + path->left * sizeof(struct ext3_extent_idx)); +-- +cgit + diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk index cd70e3a03..39c9e0764 100644 --- a/package/e2fsprogs/e2fsprogs.mk +++ b/package/e2fsprogs/e2fsprogs.mk @@ -12,6 +12,9 @@ E2FSPROGS_LICENSE_FILES = NOTICE lib/ss/mit-sipb-copyright.h lib/et/internal.h E2FSPROGS_CPE_ID_VENDOR = e2fsprogs_project E2FSPROGS_INSTALL_STAGING = YES +# 0001-libext2fs-add-sanity-check-to-extent-manipulation.patch +E2FSPROGS_IGNORE_CVES += CVE-2022-1304 + # Use libblkid and libuuid from util-linux for host and target packages. # This prevents overriding them with e2fsprogs' ones, which may cause # problems for other packages. diff --git a/package/e2tools/e2tools.hash b/package/e2tools/e2tools.hash index a109ff1bd..14be7dbd9 100644 --- a/package/e2tools/e2tools.hash +++ b/package/e2tools/e2tools.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 1d06ca71f01483ad6d9a514e31466e7d2357b3465de2813d667a8b2f9638544e e2tools-0.0.16.4.tar.gz -sha256 0e79fd282723e1eb3f7381d41233a83ed20cf3e8c83aa53e6847bf7ffe781583 COPYING +sha256 1d06ca71f01483ad6d9a514e31466e7d2357b3465de2813d667a8b2f9638544e e2tools-0.0.16.4.tar.gz +sha256 0e79fd282723e1eb3f7381d41233a83ed20cf3e8c83aa53e6847bf7ffe781583 COPYING diff --git a/package/ecryptfs-utils/ecryptfs-utils.hash b/package/ecryptfs-utils/ecryptfs-utils.hash index 8a0b111e5..7d83e7444 100644 --- a/package/ecryptfs-utils/ecryptfs-utils.hash +++ b/package/ecryptfs-utils/ecryptfs-utils.hash @@ -1,5 +1,5 @@ # From https://launchpad.net/ecryptfs/trunk/111/+download/ecryptfs-utils_111.orig.tar.gz/+md5 -md5 83513228984f671930752c3518cac6fd ecryptfs-utils_111.orig.tar.gz +md5 83513228984f671930752c3518cac6fd ecryptfs-utils_111.orig.tar.gz # Locally computed -sha256 112cb3e37e81a1ecd8e39516725dec0ce55c5f3df6284e0f4cc0f118750a987f ecryptfs-utils_111.orig.tar.gz -sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING +sha256 112cb3e37e81a1ecd8e39516725dec0ce55c5f3df6284e0f4cc0f118750a987f ecryptfs-utils_111.orig.tar.gz +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/package/ecryptfs-utils/ecryptfs-utils.mk b/package/ecryptfs-utils/ecryptfs-utils.mk index f087e81a4..6eb3add98 100644 --- a/package/ecryptfs-utils/ecryptfs-utils.mk +++ b/package/ecryptfs-utils/ecryptfs-utils.mk @@ -11,14 +11,19 @@ ECRYPTFS_UTILS_LICENSE = GPL-2.0+ ECRYPTFS_UTILS_LICENSE_FILES = COPYING ECRYPTFS_UTILS_CPE_ID_VENDOR = ecryptfs -ECRYPTFS_UTILS_DEPENDENCIES = keyutils libnss host-intltool +ECRYPTFS_UTILS_DEPENDENCIES = host-pkgconf keyutils libnss host-intltool ECRYPTFS_UTILS_CONF_OPTS = --disable-pywrap -#Needed for build system to find pk11func.h and libnss3.so -ECRYPTFS_UTILS_CONF_ENV = \ - ac_cv_path_POD2MAN=true \ - NSS_CFLAGS="-I$(STAGING_DIR)/usr/include/nss -I$(STAGING_DIR)/usr/include/nspr" \ - NSS_LIBS="-lnss3" +ECRYPTFS_UTILS_CONF_ENV = ac_cv_path_POD2MAN=true + +ifeq ($(BR2_PACKAGE_LIBGPGME),y) +ECRYPTFS_UTILS_CONF_OPTS += \ + --enable-gpg \ + --with-gpgme-prefix=$(STAGING_DIR)/usr +ECRYPTFS_UTILS_DEPENDENCIES += libgpgme +else +ECRYPTFS_UTILS_CONF_OPTS += --disable-gpg +endif ifeq ($(BR2_PACKAGE_LINUX_PAM),y) ECRYPTFS_UTILS_CONF_OPTS += --enable-pam @@ -30,6 +35,14 @@ endif ifeq ($(BR2_PACKAGE_OPENSSL),y) ECRYPTFS_UTILS_CONF_OPTS += --enable-openssl ECRYPTFS_UTILS_DEPENDENCIES += openssl + +ifeq ($(BR2_PACKAGE_PKCS11_HELPER),y) +ECRYPTFS_UTILS_CONF_OPTS += --enable-pkcs11-helper +ECRYPTFS_UTILS_DEPENDENCIES += pkcs11-helper +else +ECRYPTFS_UTILS_CONF_OPTS += --disable-pkcs11-helper +endif + else ECRYPTFS_UTILS_CONF_OPTS += --disable-openssl endif diff --git a/package/edk2-platforms/edk2-platforms.mk b/package/edk2-platforms/edk2-platforms.mk index 430791ae3..6b155bf01 100644 --- a/package/edk2-platforms/edk2-platforms.mk +++ b/package/edk2-platforms/edk2-platforms.mk @@ -7,8 +7,8 @@ # Keep in sync with latest commit as of the release date for boot/edk2 EDK2_PLATFORMS_VERSION = db922e1253cb6f1fc456805bc42fb7d401eed5c2 EDK2_PLATFORMS_SITE = $(call github,tianocore,edk2-platforms,$(EDK2_PLATFORMS_VERSION)) -EDK2_PLATFORMS_LICENSE = BSD-2-Clause -EDK2_PLATFORMS_LICENSE_FILE = License.txt +EDK2_PLATFORMS_LICENSE = BSD-2-Clause-Patent +EDK2_PLATFORMS_LICENSE_FILES = License.txt EDK2_PLATFORMS_INSTALL_TARGET = NO EDK2_PLATFORMS_INSTALL_STAGING = YES diff --git a/package/efivar/efivar.hash b/package/efivar/efivar.hash index b521e08a5..132022bf6 100644 --- a/package/efivar/efivar.hash +++ b/package/efivar/efivar.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 74c52b4f479120fb6639e753e71163ba3f557a7a67c0be225593f9f05b253f36 efivar-37.tar.gz -sha256 91df770634adc2755e78cae33a0d01e702ce2f69046408ae93d0d934ff29691b COPYING +sha256 74c52b4f479120fb6639e753e71163ba3f557a7a67c0be225593f9f05b253f36 efivar-37.tar.gz +sha256 91df770634adc2755e78cae33a0d01e702ce2f69046408ae93d0d934ff29691b COPYING diff --git a/package/efl/Config.in b/package/efl/Config.in index eb9c7aebd..c4f82b92e 100644 --- a/package/efl/Config.in +++ b/package/efl/Config.in @@ -85,6 +85,19 @@ config BR2_PACKAGE_EFL_LIBFRIBIDI so you may also trigger code paths with bugs that are never normally used. +config BR2_PACKAGE_EFL_ELPUT + bool "Enable elput support (recommended)" + default y + depends on BR2_PACKAGE_HAS_UDEV # libinput, efl-eeze + select BR2_PACKAGE_EFL_EEZE + select BR2_PACKAGE_LIBINPUT + select BR2_PACKAGE_LIBXKBCOMMON + help + Eplut is used to support gesture recognition. + +comment "elput needs udev /dev management" + depends on !BR2_PACKAGE_HAS_UDEV + config BR2_PACKAGE_EFL_LIBSNDFILE bool "Enable libsndfile support (recommended)" default y @@ -115,7 +128,8 @@ config BR2_PACKAGE_EFL_PULSEAUDIO config BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT bool "Enable libmount support (recommended)" default y - depends on BR2_PACKAGE_EFL_EEZE + depends on BR2_PACKAGE_HAS_UDEV # efl-eeze + select BR2_PACKAGE_EFL_EEZE select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT # libblkid is part of required tools, see EFL's README. @@ -125,8 +139,8 @@ config BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT devices etc... and disabling this will hurt support for Enlightenment and its filemanager. -comment "efl's libmount support needs udev /dev management (eeze)" - depends on !BR2_PACKAGE_EFL_EEZE +comment "efl's libmount support needs udev /dev management " + depends on !BR2_PACKAGE_HAS_UDEV config BR2_PACKAGE_EFL_HAS_RECOMMENDED_CONFIG bool @@ -173,16 +187,16 @@ config BR2_PACKAGE_EFL_WAYLAND depends on BR2_PACKAGE_WAYLAND depends on BR2_TOOLCHAIN_HAS_THREADS # Evas DRM Engine -> libdrm depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # Evas DRM Engine - depends on BR2_PACKAGE_EFL_EEZE # efl drm + depends on BR2_PACKAGE_HAS_UDEV # efl drm, efl-eeze depends on BR2_PACKAGE_EFL_OPENGLES # OpenGL ES with EGL support only depends on BR2_ENABLE_LOCALE # efl-drm <- efl-elput <- linput select BR2_PACKAGE_EFL_DRM select BR2_PACKAGE_WAYLAND_PROTOCOLS -comment "Wayland support needs udev /dev management (eeze), OpenGL ES w/ EGL, threads, locales" +comment "Wayland support needs udev /dev management, OpenGL ES w/ EGL, threads, locales" depends on BR2_PACKAGE_WAYLAND depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_MESA3D_OPENGL_EGL \ - || !BR2_PACKAGE_EFL_OPENGLES || !BR2_PACKAGE_EFL_EEZE \ + || !BR2_PACKAGE_EFL_OPENGLES || !BR2_PACKAGE_HAS_UDEV \ || !BR2_ENABLE_LOCALE choice @@ -215,12 +229,11 @@ endchoice # OpenGL support config BR2_PACKAGE_EFL_DRM bool "Evas DRM Engine" - depends on BR2_PACKAGE_EFL_EEZE + depends on BR2_PACKAGE_HAS_UDEV # efl-elput, efl-eeze depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # require libgbm from mesa3d + select BR2_PACKAGE_EFL_ELPUT select BR2_PACKAGE_LIBDRM - select BR2_PACKAGE_LIBINPUT # For elput - select BR2_PACKAGE_LIBXKBCOMMON help This option enable building support for the Evas DRM Engine. @@ -230,9 +243,9 @@ config BR2_PACKAGE_EFL_DRM etc) to handle interfacing with libinput without having to duplicate the code in each subsystem. -comment "Evas DRM Engine needs udev /dev management (eeze), mesa3d w/ EGL support, threads" +comment "Evas DRM Engine needs udev /dev management, mesa3d w/ EGL support, threads" depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_MESA3D_OPENGL_EGL \ - || !BR2_PACKAGE_EFL_EEZE + || !BR2_PACKAGE_HAS_UDEV comment "libevas loaders" diff --git a/package/efl/efl.mk b/package/efl/efl.mk index 43a2dc4fc..d4a16475e 100644 --- a/package/efl/efl.mk +++ b/package/efl/efl.mk @@ -67,6 +67,13 @@ else EFL_CONF_OPTS += -Deeze=false endif +ifeq ($(BR2_PACKAGE_EFL_ELPUT),y) +EFL_DEPENDENCIES += libinput libxkbcommon +EFL_CONF_OPTS += -Dinput=true +else +EFL_CONF_OPTS += -Dinput=false +endif + ifeq ($(BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT),y) EFL_DEPENDENCIES += util-linux EFL_CONF_OPTS += -Dlibmount=true @@ -192,7 +199,7 @@ endif ifeq ($(BR2_PACKAGE_EFL_DRM),y) EFL_CONF_OPTS += -Ddrm=true -EFL_DEPENDENCIES += libdrm libegl libinput mesa3d +EFL_DEPENDENCIES += libdrm libegl mesa3d else EFL_CONF_OPTS += -Ddrm=false endif @@ -204,8 +211,6 @@ else EFL_CONF_OPTS += -Dwl=false endif -EFL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBXKBCOMMON),libxkbcommon) - # json evas loader is disabled by default by upstream. # Disable libspectre (ps). # Keep all other evas loader enabled or handled below. diff --git a/package/elf2flt/0003-elf2flt-handle-binutils-2.34.patch b/package/elf2flt/0001-elf2flt-handle-binutils-2.34.patch similarity index 89% rename from package/elf2flt/0003-elf2flt-handle-binutils-2.34.patch rename to package/elf2flt/0001-elf2flt-handle-binutils-2.34.patch index 16d563338..4aa473c24 100644 --- a/package/elf2flt/0003-elf2flt-handle-binutils-2.34.patch +++ b/package/elf2flt/0001-elf2flt-handle-binutils-2.34.patch @@ -1,4 +1,4 @@ -From 26165906f85d82f0a4456f34b5c60fcaaef48535 Mon Sep 17 00:00:00 2001 +From d78acba6510527aaa01a41eaf4c931f7a57e5f44 Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Wed, 5 Feb 2020 10:31:32 +0100 Subject: [PATCH] elf2flt: handle binutils >= 2.34 @@ -30,7 +30,7 @@ Signed-off-by: Romain Naour 2 files changed, 61 insertions(+), 36 deletions(-) diff --git a/configure.ac b/configure.ac -index e82eb1d..cf7dea8 100644 +index b7db2cb..fdc0876 100644 --- a/configure.ac +++ b/configure.ac @@ -229,6 +229,22 @@ AC_CHECK_FUNCS([ \ @@ -57,7 +57,7 @@ index e82eb1d..cf7dea8 100644 CFLAGS="-Wall $CFLAGS" if test "$werror" = 1 ; then diff --git a/elf2flt.c b/elf2flt.c -index b93aecd..3bcf4fe 100644 +index 7ac0617..ea6b5a1 100644 --- a/elf2flt.c +++ b/elf2flt.c @@ -149,6 +149,17 @@ const char *elf2flt_progname; @@ -100,7 +100,7 @@ index b93aecd..3bcf4fe 100644 if (verbose) printf("SECTION: %s [%p]: flags=0x%x vma=0x%"PRIx32"\n", -@@ -442,7 +451,7 @@ output_relocs ( +@@ -443,7 +452,7 @@ output_relocs ( continue; if (verbose) printf(" RELOCS: %s [%p]: flags=0x%x vma=0x%"BFD_VMA_FMT"x\n", @@ -109,7 +109,7 @@ index b93aecd..3bcf4fe 100644 if ((r->flags & SEC_RELOC) == 0) continue; relsize = bfd_get_reloc_upper_bound(rel_bfd, r); -@@ -694,7 +703,7 @@ output_relocs ( +@@ -695,7 +704,7 @@ output_relocs ( case R_BFIN_RIMM16: case R_BFIN_LUIMM16: case R_BFIN_HUIMM16: @@ -118,7 +118,7 @@ index b93aecd..3bcf4fe 100644 sym_addr += sym_vma + q->addend; if (weak_und_symbol(sym_section->name, (*(q->sym_ptr_ptr)))) -@@ -727,7 +736,7 @@ output_relocs ( +@@ -728,7 +737,7 @@ output_relocs ( break; case R_BFIN_BYTE4_DATA: @@ -127,7 +127,7 @@ index b93aecd..3bcf4fe 100644 sym_addr += sym_vma + q->addend; if (weak_und_symbol (sym_section->name, (*(q->sym_ptr_ptr)))) -@@ -885,7 +894,7 @@ output_relocs ( +@@ -886,7 +895,7 @@ output_relocs ( #if defined(TARGET_m68k) case R_68K_32: relocation_needed = 1; @@ -136,7 +136,7 @@ index b93aecd..3bcf4fe 100644 sym_addr += sym_vma + q->addend; break; case R_68K_PC16: -@@ -910,7 +919,7 @@ output_relocs ( +@@ -911,7 +920,7 @@ output_relocs ( q->address, sym_addr, (*p)->howto->rightshift, *(uint32_t *)r_mem); @@ -145,7 +145,7 @@ index b93aecd..3bcf4fe 100644 sym_addr += sym_vma + q->addend; break; case R_ARM_GOT32: -@@ -938,7 +947,7 @@ output_relocs ( +@@ -939,7 +948,7 @@ output_relocs ( #ifdef TARGET_v850 case R_V850_ABS32: relocation_needed = 1; @@ -154,7 +154,7 @@ index b93aecd..3bcf4fe 100644 sym_addr += sym_vma + q->addend; break; case R_V850_ZDA_16_16_OFFSET: -@@ -960,7 +969,7 @@ output_relocs ( +@@ -961,7 +970,7 @@ output_relocs ( sym_addr = (*(q->sym_ptr_ptr))->value; q->address -= 1; r_mem -= 1; /* tracks q->address */ @@ -163,7 +163,7 @@ index b93aecd..3bcf4fe 100644 sym_addr += sym_vma + q->addend; sym_addr |= (*(unsigned char *)r_mem<<24); break; -@@ -973,7 +982,7 @@ output_relocs ( +@@ -974,7 +983,7 @@ output_relocs ( /* Absolute symbol done not relocation */ relocation_needed = !bfd_is_abs_section(sym_section); sym_addr = (*(q->sym_ptr_ptr))->value; @@ -172,7 +172,7 @@ index b93aecd..3bcf4fe 100644 sym_addr += sym_vma + q->addend; break; case R_H8_DIR32: -@@ -986,7 +995,7 @@ output_relocs ( +@@ -987,7 +996,7 @@ output_relocs ( } relocation_needed = 1; sym_addr = (*(q->sym_ptr_ptr))->value; @@ -181,7 +181,7 @@ index b93aecd..3bcf4fe 100644 sym_addr += sym_vma + q->addend; break; case R_H8_PCREL16: -@@ -1012,7 +1021,7 @@ output_relocs ( +@@ -1013,7 +1022,7 @@ output_relocs ( #ifdef TARGET_microblaze case R_MICROBLAZE_64: /* work out the relocation */ @@ -190,7 +190,7 @@ index b93aecd..3bcf4fe 100644 sym_addr += sym_vma + q->addend; /* Write relocated pointer back */ r_mem[2] = (sym_addr >> 24) & 0xff; -@@ -1026,7 +1035,7 @@ output_relocs ( +@@ -1027,7 +1036,7 @@ output_relocs ( pflags = 0x80000000; break; case R_MICROBLAZE_32: @@ -199,7 +199,7 @@ index b93aecd..3bcf4fe 100644 sym_addr += sym_vma + q->addend; relocation_needed = 1; break; -@@ -1058,7 +1067,7 @@ output_relocs ( +@@ -1059,7 +1068,7 @@ output_relocs ( case R_NIOS2_BFD_RELOC_32: relocation_needed = 1; pflags = (FLAT_NIOS2_R_32 << 28); @@ -208,25 +208,25 @@ index b93aecd..3bcf4fe 100644 sym_addr += sym_vma + q->addend; /* modify target, in target order */ *(unsigned long *)r_mem = htoniosl(sym_addr); -@@ -1068,7 +1077,7 @@ output_relocs ( +@@ -1069,7 +1078,7 @@ output_relocs ( unsigned long exist_val; relocation_needed = 1; pflags = (FLAT_NIOS2_R_CALL26 << 28); - sym_vma = bfd_section_vma(abs_bfd, sym_section); + sym_vma = elf2flt_bfd_section_vma(sym_section); sym_addr += sym_vma + q->addend; - + /* modify target, in target order */ -@@ -1099,7 +1108,7 @@ output_relocs ( +@@ -1100,7 +1109,7 @@ output_relocs ( ? FLAT_NIOS2_R_HIADJ_LO : FLAT_NIOS2_R_HI_LO; pflags <<= 28; - + - sym_vma = bfd_section_vma(abs_bfd, sym_section); -+ sym_vma = elf2flt_bfd_section_vma(sym_section); ++ sym_vma = elf2flt_bfd_section_vma(abs_bfd, sym_section); sym_addr += sym_vma + q->addend; /* modify high 16 bits, in target order */ -@@ -1132,7 +1141,7 @@ output_relocs ( +@@ -1133,7 +1142,7 @@ output_relocs ( goto NIOS2_RELOC_ERR; } /* _gp holds a absolute value, otherwise the ld cannot generate correct code */ @@ -235,7 +235,7 @@ index b93aecd..3bcf4fe 100644 //printf("sym=%x, %d, _gp=%x, %d\n", sym_addr+sym_vma, sym_addr+sym_vma, gp, gp); sym_addr += sym_vma + q->addend; sym_addr -= gp; -@@ -1213,7 +1222,7 @@ NIOS2_RELOC_ERR: +@@ -1214,7 +1223,7 @@ NIOS2_RELOC_ERR: case R_SPARC_32: case R_SPARC_UA32: relocation_needed = 1; @@ -244,7 +244,7 @@ index b93aecd..3bcf4fe 100644 sym_addr += sym_vma + q->addend; break; case R_SPARC_PC22: -@@ -1232,7 +1241,7 @@ NIOS2_RELOC_ERR: +@@ -1233,7 +1242,7 @@ NIOS2_RELOC_ERR: case R_SPARC_HI22: relocation_needed = 1; pflags = 0x80000000; @@ -253,7 +253,7 @@ index b93aecd..3bcf4fe 100644 sym_addr += sym_vma + q->addend; sym_addr |= ( htonl(*(uint32_t *)r_mem) -@@ -1242,7 +1251,7 @@ NIOS2_RELOC_ERR: +@@ -1243,7 +1252,7 @@ NIOS2_RELOC_ERR: case R_SPARC_LO10: relocation_needed = 1; pflags = 0x40000000; @@ -262,7 +262,7 @@ index b93aecd..3bcf4fe 100644 sym_addr += sym_vma + q->addend; sym_addr &= 0x000003ff; sym_addr |= ( -@@ -1256,7 +1265,7 @@ NIOS2_RELOC_ERR: +@@ -1257,7 +1266,7 @@ NIOS2_RELOC_ERR: #ifdef TARGET_sh case R_SH_DIR32: relocation_needed = 1; @@ -271,7 +271,7 @@ index b93aecd..3bcf4fe 100644 sym_addr += sym_vma + q->addend; break; case R_SH_REL32: -@@ -1288,7 +1297,7 @@ NIOS2_RELOC_ERR: +@@ -1289,7 +1298,7 @@ NIOS2_RELOC_ERR: case R_E1_CONST31: relocation_needed = 1; DBG_E1("Handling Reloc \n"); @@ -280,7 +280,7 @@ index b93aecd..3bcf4fe 100644 DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x], q->address : [0x%x]\n", sec_vma, sym_addr, q->address); sym_addr = sec_vma + sym_addr; -@@ -1303,7 +1312,7 @@ NIOS2_RELOC_ERR: +@@ -1304,7 +1313,7 @@ NIOS2_RELOC_ERR: relocation_needed = 0; DBG_E1("Handling Reloc \n"); DBG_E1("DONT RELOCATE AT LOADING\n"); @@ -289,7 +289,7 @@ index b93aecd..3bcf4fe 100644 DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x], q->address : [0x%x]\n", sec_vma, sym_addr, q->address); sym_addr = sec_vma + sym_addr; -@@ -1330,7 +1339,7 @@ NIOS2_RELOC_ERR: +@@ -1331,7 +1340,7 @@ NIOS2_RELOC_ERR: relocation_needed = 0; DBG_E1("Handling Reloc \n"); DBG_E1("DONT RELOCATE AT LOADING\n"); @@ -298,7 +298,7 @@ index b93aecd..3bcf4fe 100644 DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x], q->address : [0x%x]\n", sec_vma, sym_addr, q->address); sym_addr = sec_vma + sym_addr; -@@ -1363,7 +1372,7 @@ NIOS2_RELOC_ERR: +@@ -1364,7 +1373,7 @@ NIOS2_RELOC_ERR: DBG_E1("Handling Reloc \n"); DIS29_RELOCATION: relocation_needed = 1; @@ -307,7 +307,7 @@ index b93aecd..3bcf4fe 100644 DBG_E1("sec_vma : [0x%x], sym_addr : [0x%08x]\n", sec_vma, sym_addr); sym_addr = sec_vma + sym_addr; -@@ -1380,7 +1389,7 @@ DIS29_RELOCATION: +@@ -1381,7 +1390,7 @@ DIS29_RELOCATION: relocation_needed = 0; DBG_E1("Handling Reloc \n"); DBG_E1("DONT RELOCATE AT LOADING\n"); @@ -316,7 +316,7 @@ index b93aecd..3bcf4fe 100644 DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x]\n", sec_vma, sym_addr); sym_addr = sec_vma + sym_addr; -@@ -1406,7 +1415,7 @@ DIS29_RELOCATION: +@@ -1407,7 +1416,7 @@ DIS29_RELOCATION: case R_E1_IMM32: relocation_needed = 1; DBG_E1("Handling Reloc \n"); @@ -325,7 +325,7 @@ index b93aecd..3bcf4fe 100644 DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x]\n", sec_vma, sym_addr); sym_addr = sec_vma + sym_addr; -@@ -1422,7 +1431,7 @@ DIS29_RELOCATION: +@@ -1423,7 +1432,7 @@ DIS29_RELOCATION: case R_E1_WORD: relocation_needed = 1; DBG_E1("Handling Reloc \n"); @@ -334,7 +334,7 @@ index b93aecd..3bcf4fe 100644 DBG_E1("sec_vma : [0x%x], sym_addr : [0x%x]\n", sec_vma, sym_addr); sym_addr = sec_vma + sym_addr; -@@ -1449,7 +1458,7 @@ DIS29_RELOCATION: +@@ -1450,7 +1459,7 @@ DIS29_RELOCATION: } sprintf(&addstr[0], "+0x%lx", sym_addr - (*(q->sym_ptr_ptr))->value - @@ -343,7 +343,7 @@ index b93aecd..3bcf4fe 100644 /* -@@ -1887,8 +1896,8 @@ int main(int argc, char *argv[]) +@@ -1890,8 +1899,8 @@ int main(int argc, char *argv[]) } else continue; @@ -354,8 +354,8 @@ index b93aecd..3bcf4fe 100644 if (sec_vma < *vma) { if (*len > 0) -@@ -1913,7 +1922,7 @@ int main(int argc, char *argv[]) - if (s->flags & SEC_CODE) +@@ -1920,7 +1929,7 @@ int main(int argc, char *argv[]) + (SEC_DATA | SEC_READONLY | SEC_RELOC))) if (!bfd_get_section_contents(abs_bfd, s, text + (s->vma - text_vma), 0, - bfd_section_size(abs_bfd, s))) @@ -363,8 +363,8 @@ index b93aecd..3bcf4fe 100644 { fatal("read error section %s", s->name); } -@@ -1939,7 +1948,7 @@ int main(int argc, char *argv[]) - if (s->flags & SEC_DATA) +@@ -1950,7 +1959,7 @@ int main(int argc, char *argv[]) + (SEC_READONLY | SEC_RELOC))) if (!bfd_get_section_contents(abs_bfd, s, data + (s->vma - data_vma), 0, - bfd_section_size(abs_bfd, s))) @@ -373,5 +373,5 @@ index b93aecd..3bcf4fe 100644 fatal("read error section %s", s->name); } -- -2.25.4 +2.35.1 diff --git a/package/elf2flt/0001-ld-elf2flt-behave-properly-when-called-with-a-name-d.patch b/package/elf2flt/0001-ld-elf2flt-behave-properly-when-called-with-a-name-d.patch deleted file mode 100644 index a27c4913f..000000000 --- a/package/elf2flt/0001-ld-elf2flt-behave-properly-when-called-with-a-name-d.patch +++ /dev/null @@ -1,79 +0,0 @@ -From b31e9b1bff6832063816b972395179859d1d4619 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 13 Aug 2017 16:03:20 +0200 -Subject: [PATCH] ld-elf2flt: behave properly when called with a name different - from TARGET_ALIAS - -ld-elf2flt currently handles two cases: - - 1 It is called as the wrapper for -ld, generally - installed in the bin/ directory of a toolchain. - - 2 It is called as the wrapper for "ld", generally installed in the - TARGET_ALIAS/bin/ directory of a toolchain. - -Unfortunately, if for some reason it gets called using a FOOBAR-ld -name that is different from -ld, it assumes it is in -case (2), while it really is in case (1). Due to this, the path -mangling logic doesn't work, and it doesn't find ld.real. - -This happens for example when the binary program in bin/ is named -arm-buildroot-uclinux-uclibcgnueabi-ld, but also has a simpler symlink -named arm-linux-ld. In this case, -arm-buildroot-uclinux-uclibcgnueabi-ld is recognized by ld-elf2flt as -containing TARGET_ALIAS, and therefore the proper logic to find -ld.real is applied. However, when arm-linux-ld is used, ld-elf2flt -doesn't find TARGET_ALIAS, and therefore assumes we're being called as -TARGET_ALIAS/bin/ld.. and searches for a program called ld.real in -bin/, which doesn't exist. - -See: - -$ ./output/host/bin/arm-buildroot-uclinux-uclibcgnueabi-ld -/home/thomas/buildroot/buildroot/output/host/bin/../arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: no input files - -$ ./output/host/bin/arm-linux-ld -arm-linux-ld (ld-elf2flt): error trying to exec '/home/thomas/buildroot/buildroot/output/host/bin/ld.real': execvp: No such file or directory - -$ ./output/host/arm-buildroot-uclinux-uclibcgnueabi/bin/ld -/home/thomas/buildroot/buildroot/output/host/arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: no input files - -This commit fixes that by inverting the logic: if we're being called -as just "ld", then we assume it's the program in -TARGET_ALIAS/bin/. Otherwise, we're called through some variant of -TARGET-ld. - -Signed-off-by: Thomas Petazzoni -Submitted-upstream: https://github.com/uclinux-dev/elf2flt/pull/8 ---- - ld-elf2flt.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/ld-elf2flt.c b/ld-elf2flt.c -index de39fe0..c187c2e 100644 ---- a/ld-elf2flt.c -+++ b/ld-elf2flt.c -@@ -506,15 +506,15 @@ int main(int argc, char *argv[]) - the host while those in /lib are for the target. - Make bindir point to the bin dir for bin/-foo. - Make tooldir point to the bin dir for /bin/foo. */ -- if (streqn(elf2flt_progname, TARGET_ALIAS)) { -- tmp = concat(argv0_dir, "../" TARGET_ALIAS "/bin", NULL); -+ if (streqn(elf2flt_progname, "ld")) { -+ tmp = concat(argv0_dir, "../../bin", NULL); - if (stat(tmp, &buf) == 0 && S_ISDIR(buf.st_mode)) { -- tooldir = concat(tmp, "/", NULL); -+ bindir = concat(tmp, "/", NULL); - } - } else { -- tmp = concat(argv0_dir, "../../bin", NULL); -+ tmp = concat(argv0_dir, "../" TARGET_ALIAS "/bin", NULL); - if (stat(tmp, &buf) == 0 && S_ISDIR(buf.st_mode)) { -- bindir = concat(tmp, "/", NULL); -+ tooldir = concat(tmp, "/", NULL); - } - } - --- -2.9.4 - diff --git a/package/elf2flt/0004-elf2flt-add-riscv-64-bits-support.patch b/package/elf2flt/0002-elf2flt-add-riscv-64-bits-support.patch similarity index 83% rename from package/elf2flt/0004-elf2flt-add-riscv-64-bits-support.patch rename to package/elf2flt/0002-elf2flt-add-riscv-64-bits-support.patch index 4b0075844..c530bc020 100644 --- a/package/elf2flt/0004-elf2flt-add-riscv-64-bits-support.patch +++ b/package/elf2flt/0002-elf2flt-add-riscv-64-bits-support.patch @@ -1,4 +1,4 @@ -From 1dea576eac4289602adc4a37f48c80330bf82e63 Mon Sep 17 00:00:00 2001 +From 3879965dfda08a24e7d44ed76bbcc2f4a41df1fa Mon Sep 17 00:00:00 2001 From: Damien Le Moal Date: Wed, 9 Sep 2020 17:31:33 +0900 Subject: [PATCH] elf2flt: add riscv 64-bits support @@ -26,15 +26,15 @@ This patch is based on earlier work by Christoph Hellwig . Signed-off-by: Damien Le Moal --- elf2flt.c | 23 +++++++++++++++++++++++ - elf2flt.ld.in | 9 +++++---- + elf2flt.ld.in | 1 + ld-elf2flt.c | 16 ++++++++++++++++ - 3 files changed, 44 insertions(+), 4 deletions(-) + 3 files changed, 40 insertions(+) diff --git a/elf2flt.c b/elf2flt.c -index f87f1fc..dbce467 100644 +index ea6b5a1..7100c20 100644 --- a/elf2flt.c +++ b/elf2flt.c -@@ -80,6 +80,8 @@ const char *elf2flt_progname; +@@ -81,6 +81,8 @@ const char *elf2flt_progname; #include #elif defined(TARGET_xtensa) #include @@ -43,7 +43,7 @@ index f87f1fc..dbce467 100644 #endif #if defined(__MINGW32__) -@@ -122,6 +124,8 @@ const char *elf2flt_progname; +@@ -123,6 +125,8 @@ const char *elf2flt_progname; #define ARCH "nios2" #elif defined(TARGET_xtensa) #define ARCH "xtensa" @@ -52,7 +52,7 @@ index f87f1fc..dbce467 100644 #else #error "Don't know how to support your CPU architecture??" #endif -@@ -797,6 +801,16 @@ output_relocs ( +@@ -821,6 +825,16 @@ output_relocs ( goto good_32bit_resolved_reloc; default: goto bad_resolved_reloc; @@ -69,7 +69,7 @@ index f87f1fc..dbce467 100644 #else default: /* The default is to assume that the -@@ -1806,6 +1820,15 @@ int main(int argc, char *argv[]) +@@ -1841,6 +1855,15 @@ int main(int argc, char *argv[]) if (!load_to_ram && !pfile) load_to_ram = 1; @@ -86,27 +86,19 @@ index f87f1fc..dbce467 100644 if (pfile) { diff --git a/elf2flt.ld.in b/elf2flt.ld.in -index ec1fe6f..c0c44b8 100644 +index 0df999d..f1eed1f 100644 --- a/elf2flt.ld.in +++ b/elf2flt.ld.in -@@ -70,10 +70,11 @@ W_RODAT *(.gnu.linkonce.r*) +@@ -109,6 +109,7 @@ W_RODAT: *(.gnu.linkonce.r*) . = ALIGN(0x20) ; LONG(-1) . = ALIGN(0x20) ; --R_RODAT *(.rodata) --R_RODAT *(.rodata1) --R_RODAT *(.rodata.*) --R_RODAT *(.gnu.linkonce.r*) +RISCV_GP: __global_pointer$ = . + 0x800 ; -+R_RODAT *(.rodata) -+R_RODAT *(.rodata1) -+R_RODAT *(.rodata.*) -+R_RODAT *(.gnu.linkonce.r*) - *(.data) - *(.data1) - *(.data.*) + R_RODAT: *(.rodata) + R_RODAT: *(.rodata1) + R_RODAT: *(.rodata.*) diff --git a/ld-elf2flt.c b/ld-elf2flt.c -index e5de506..31b565f 100644 +index 7cb02d5..1a503dd 100644 --- a/ld-elf2flt.c +++ b/ld-elf2flt.c @@ -324,6 +324,22 @@ static int do_final_link(void) @@ -133,5 +125,5 @@ index e5de506..31b565f 100644 if (!linker_script) linker_script = concat(ldscriptpath, "/elf2flt.ld", NULL); -- -2.31.1 +2.35.1 diff --git a/package/elf2flt/0002-elf2flt.c-add-new-relocation-types-for-xtensa.patch b/package/elf2flt/0002-elf2flt.c-add-new-relocation-types-for-xtensa.patch deleted file mode 100644 index 953bd79cc..000000000 --- a/package/elf2flt/0002-elf2flt.c-add-new-relocation-types-for-xtensa.patch +++ /dev/null @@ -1,188 +0,0 @@ -From d7eb73163bcea31168c438fc132a0967ac172e3d Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Thu, 7 May 2020 21:11:43 -0700 -Subject: [PATCH] elf2flt.c: add new relocation types for xtensa - -Xtensa have added new relocation types R_XTENSA_[NP]DIFF{8,16,32} with -the same properties as the existing types R_XTENSA_DIFF{8,16,32}. -Add them to the list of ignored relocation types. - -This fixes the following error when invoking elf2flt on xtensa binaries -built with the recent binutils: - - ERROR: reloc type R_XTENSA_PDIFF32 unsupported in this context - -Reported-by: Romain Naour -Signed-off-by: Max Filippov -Backported from: d7eb73163bcea31168c438fc132a0967ac172e3d ---- - Makefile.in | 3 ++- - configure | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++ - configure.ac | 14 ++++++++++++ - elf2flt.c | 8 +++++++ - 4 files changed, 88 insertions(+), 1 deletion(-) - -diff --git a/Makefile.in b/Makefile.in -index 52b3347d7f43..0529c7f0a25a 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -30,7 +30,8 @@ DEFS = @DEFS@ \ - -DNO_GOT_CHECK=@got_check@ \ - -DUSE_EMIT_RELOCS=@emit_relocs@ \ - -DEMIT_CTOR_DTOR=@emit_ctor_dtor@ \ -- -DALWAYS_RELOC_TEXT=@always_reloc_text@ -+ -DALWAYS_RELOC_TEXT=@always_reloc_text@ \ -+ -DHAVE_BFD_XTENSA_PDIFF_RELOCS=@HAVE_BFD_XTENSA_PDIFF_RELOCS@ - EXEEXT = @EXEEXT@ - OBJEXT = @OBJEXT@ - -diff --git a/configure b/configure -index bb8e33f9cb28..bca38c34247e 100755 ---- a/configure -+++ b/configure -@@ -621,6 +621,7 @@ ac_includes_default="\ - - ac_subst_vars='LTLIBOBJS - LIBOBJS -+HAVE_BFD_XTENSA_PDIFF_RELOCS - SYMBOL_PREFIX - always_reloc_text - emit_ctor_dtor -@@ -1729,6 +1730,52 @@ fi - - } # ac_fn_c_try_link - -+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES -+# --------------------------------------------- -+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR -+# accordingly. -+ac_fn_c_check_decl () -+{ -+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ as_decl_name=`echo $2|sed 's/ *(.*//'` -+ as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 -+$as_echo_n "checking whether $as_decl_name is declared... " >&6; } -+if eval \${$3+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+$4 -+int -+main () -+{ -+#ifndef $as_decl_name -+#ifdef __cplusplus -+ (void) $as_decl_use; -+#else -+ (void) $as_decl_name; -+#endif -+#endif -+ -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ eval "$3=yes" -+else -+ eval "$3=no" -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+eval ac_res=\$$3 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -+$as_echo "$ac_res" >&6; } -+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -+ -+} # ac_fn_c_check_decl -+ - # ac_fn_c_check_func LINENO FUNC VAR - # ---------------------------------- - # Tests whether FUNC exists, setting the cache variable VAR accordingly -@@ -4272,6 +4319,22 @@ $as_echo "#define const /**/" >>confdefs.h - fi - - -+HAVE_BFD_XTENSA_PDIFF_RELOCS=0 -+case $target in -+ xtensa*) -+ OLD_CPPFLAGS=$CPPFLAGS -+ CPPFLAGS="-I$bfd_include_dir -I$binutils_include_dir $CPPFLAGS" -+ ac_fn_c_check_decl "$LINENO" "R_XTENSA_PDIFF8" "ac_cv_have_decl_R_XTENSA_PDIFF8" "#include \"bfd.h\" -+ #include \"elf/xtensa.h\" -+" -+if test "x$ac_cv_have_decl_R_XTENSA_PDIFF8" = xyes; then : -+ HAVE_BFD_XTENSA_PDIFF_RELOCS=1 -+fi -+ -+ CPPFLAGS=$OLD_CPPFLAGS -+ ;; -+esac -+ - for ac_func in vprintf - do : - ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf" -@@ -4333,6 +4396,7 @@ fi - - - -+ - ac_config_files="$ac_config_files ld-elf2flt.sh:ld-elf2flt.in Makefile elf2flt.ld" - - cat >confcache <<\_ACEOF -diff --git a/configure.ac b/configure.ac -index d6b4119eb18a..19969b1045f6 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -202,6 +202,19 @@ AC_CHECK_HEADERS(fcntl.h unistd.h bfd.h) - dnl Checks for typedefs, structures, and compiler characteristics. - AC_C_CONST - -+HAVE_BFD_XTENSA_PDIFF_RELOCS=0 -+case $target in -+ xtensa*) -+ AS_VAR_COPY([OLD_CPPFLAGS], [CPPFLAGS]) -+ AS_VAR_SET([CPPFLAGS], ["-I$bfd_include_dir -I$binutils_include_dir $CPPFLAGS"]) -+ AC_CHECK_DECL([R_XTENSA_PDIFF8], -+ [HAVE_BFD_XTENSA_PDIFF_RELOCS=1],, -+ [#include "bfd.h" -+ #include "elf/xtensa.h"]) -+ AS_VAR_COPY([CPPFLAGS], [OLD_CPPFLAGS]) -+ ;; -+esac -+ - dnl Checks for library functions. - AC_FUNC_VPRINTF - -@@ -235,6 +248,7 @@ AC_SUBST(emit_relocs) - AC_SUBST(emit_ctor_dtor) - AC_SUBST(always_reloc_text) - AC_SUBST(SYMBOL_PREFIX) -+AC_SUBST(HAVE_BFD_XTENSA_PDIFF_RELOCS) - - AC_OUTPUT(ld-elf2flt.sh:ld-elf2flt.in Makefile elf2flt.ld) - -diff --git a/elf2flt.c b/elf2flt.c -index b7c4a490df02..961534973f56 100644 ---- a/elf2flt.c -+++ b/elf2flt.c -@@ -776,6 +776,14 @@ output_relocs ( - case R_XTENSA_DIFF8: - case R_XTENSA_DIFF16: - case R_XTENSA_DIFF32: -+#if HAVE_BFD_XTENSA_PDIFF_RELOCS -+ case R_XTENSA_PDIFF8: -+ case R_XTENSA_PDIFF16: -+ case R_XTENSA_PDIFF32: -+ case R_XTENSA_NDIFF8: -+ case R_XTENSA_NDIFF16: -+ case R_XTENSA_NDIFF32: -+#endif - case R_XTENSA_32_PCREL: - continue; - case R_XTENSA_32: --- -2.20.1 - diff --git a/package/elf2flt/0004-elf2flt-create-a-common-helper-function.patch b/package/elf2flt/0004-elf2flt-create-a-common-helper-function.patch new file mode 100644 index 000000000..6fee99d45 --- /dev/null +++ b/package/elf2flt/0004-elf2flt-create-a-common-helper-function.patch @@ -0,0 +1,76 @@ +From 37e1e0ace8ccebf54ec2f5522bfc1f9db86946ad Mon Sep 17 00:00:00 2001 +From: Niklas Cassel +Date: Tue, 9 Aug 2022 12:13:50 +0200 +Subject: [PATCH] elf2flt: create a common helper function + +In order to make the code more maintainable, +move duplicated code to a common helper function. + +No functional change intended. + +Signed-off-by: Niklas Cassel +--- + elf2flt.c | 19 +++++++++++-------- + 1 file changed, 11 insertions(+), 8 deletions(-) + +diff --git a/elf2flt.c b/elf2flt.c +index 669591e..9c32f9a 100644 +--- a/elf2flt.c ++++ b/elf2flt.c +@@ -337,6 +337,13 @@ compare_relocs (const void *pa, const void *pb) + } + #endif + ++static bool ++ro_reloc_data_section_should_be_in_text(asection *s) ++{ ++ return (s->flags & (SEC_DATA | SEC_READONLY | SEC_RELOC)) == ++ (SEC_DATA | SEC_READONLY | SEC_RELOC); ++} ++ + static uint32_t * + output_relocs ( + bfd *abs_bfd, +@@ -428,8 +435,7 @@ output_relocs ( + */ + if ((!pic_with_got || ALWAYS_RELOC_TEXT) && + ((a->flags & SEC_CODE) || +- ((a->flags & (SEC_DATA | SEC_READONLY | SEC_RELOC)) == +- (SEC_DATA | SEC_READONLY | SEC_RELOC)))) ++ ro_reloc_data_section_should_be_in_text(a))) + sectionp = text + (a->vma - text_vma); + else if (a->flags & SEC_DATA) + sectionp = data + (a->vma - data_vma); +@@ -1893,8 +1899,7 @@ int main(int argc, char *argv[]) + bfd_vma sec_vma; + + if ((s->flags & SEC_CODE) || +- ((s->flags & (SEC_DATA | SEC_READONLY | SEC_RELOC)) == +- (SEC_DATA | SEC_READONLY | SEC_RELOC))) { ++ ro_reloc_data_section_should_be_in_text(s)) { + vma = &text_vma; + len = &text_len; + } else if (s->flags & SEC_DATA) { +@@ -1932,8 +1937,7 @@ int main(int argc, char *argv[]) + * data sections.*/ + for (s = abs_bfd->sections; s != NULL; s = s->next) + if ((s->flags & SEC_CODE) || +- ((s->flags & (SEC_DATA | SEC_READONLY | SEC_RELOC)) == +- (SEC_DATA | SEC_READONLY | SEC_RELOC))) ++ ro_reloc_data_section_should_be_in_text(s)) + if (!bfd_get_section_contents(abs_bfd, s, + text + (s->vma - text_vma), 0, + bfd_section_size(abs_bfd, s))) +@@ -1962,8 +1966,7 @@ int main(int argc, char *argv[]) + * data sections already included in the text output section.*/ + for (s = abs_bfd->sections; s != NULL; s = s->next) + if ((s->flags & SEC_DATA) && +- ((s->flags & (SEC_READONLY | SEC_RELOC)) != +- (SEC_READONLY | SEC_RELOC))) ++ !ro_reloc_data_section_should_be_in_text(s)) + if (!bfd_get_section_contents(abs_bfd, s, + data + (s->vma - data_vma), 0, + bfd_section_size(abs_bfd, s))) +-- +2.37.1 + diff --git a/package/elf2flt/0005-elf2flt-fix-fatal-error-regression-on-m68k-xtensa-ri.patch b/package/elf2flt/0005-elf2flt-fix-fatal-error-regression-on-m68k-xtensa-ri.patch new file mode 100644 index 000000000..616bbc891 --- /dev/null +++ b/package/elf2flt/0005-elf2flt-fix-fatal-error-regression-on-m68k-xtensa-ri.patch @@ -0,0 +1,74 @@ +From a8c9f650b82109abf7aa730f298ea5182ed62613 Mon Sep 17 00:00:00 2001 +From: Niklas Cassel +Date: Tue, 9 Aug 2022 21:06:05 +0200 +Subject: [PATCH] elf2flt: fix fatal error regression on m68k, xtensa, riscv64 + +Commit ba379d08bb78 ("elf2flt: fix for segfault on some ARM ELFs") +changed the condition of which input sections that should be included +in the .text output section from: +((a->flags & (SEC_DATA | SEC_READONLY)) == (SEC_DATA | SEC_READONLY)) +to: +((a->flags & (SEC_DATA | SEC_READONLY | SEC_RELOC)) == +(SEC_DATA | SEC_READONLY | SEC_RELOC)) + +On ARM, the .eh_frame input section does not have the SEC_RELOC flag set, +so on ARM, this change caused .eh_frame to move from .text to .data. + +However, on e.g. m68k, xtensa and riscv64, the .eh_frame input section +does have the SEC_RELOC flag set, which means that the change in +commit ba379d08bb78 ("elf2flt: fix for segfault on some ARM ELFs") +caused .eh_frame to move in an opposite way, i.e. from .data to .text. + +This resulted in a fatal error on m68k, xtensa and riscv64: +ERROR: text=0x3bab8 overlaps data=0x33f60 ? + +This is because elf2flt cannot append to .text after .data has been +appended to. + +Note that the binutils maintainer says that the correct thing is +to put read-only relocation data sections in .text: +https://sourceware.org/legacy-ml/binutils/2019-10/msg00132.html + +So the proper fix is probably to rewrite elf2flt so that it can append +to .text after .data has been appended to (which will require elf2flt +to move/relocate everything that has already been appended to .data, +since the virtual addresses are contiguous). + +However, for now, add an exception for input sections which have all +three flags SEC_DATA, SEC_READONLY, and SEC_RELOC set, and which have a +name equal to a problematic input section (.eh_frame, .gcc_except_table). +That way, we get the same behavior as older elf2flt releases for m68k, +xtensa and riscv64, where we put read-only relocation data in .data, +which was working perfectly fine. + +This exception will not change any behavior on ARM, as the .eh_frame +input section does not have flag SEC_RELOC set. + +Signed-off-by: Niklas Cassel +--- + elf2flt.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/elf2flt.c b/elf2flt.c +index e0d7891..39d035f 100644 +--- a/elf2flt.c ++++ b/elf2flt.c +@@ -341,8 +341,13 @@ compare_relocs (const void *pa, const void *pb) + static bool + ro_reloc_data_section_should_be_in_text(asection *s) + { +- return (s->flags & (SEC_DATA | SEC_READONLY | SEC_RELOC)) == +- (SEC_DATA | SEC_READONLY | SEC_RELOC); ++ if ((s->flags & (SEC_DATA | SEC_READONLY | SEC_RELOC)) == ++ (SEC_DATA | SEC_READONLY | SEC_RELOC)) { ++ if (!strcmp(".eh_frame", s->name) || !strcmp(".gcc_except_table", s->name)) ++ return false; ++ return true; ++ } ++ return false; + } + + static uint32_t * +-- +2.39.0 + diff --git a/package/elf2flt/0006-elf2flt-xtensa-fix-text-relocations.patch b/package/elf2flt/0006-elf2flt-xtensa-fix-text-relocations.patch new file mode 100644 index 000000000..366477590 --- /dev/null +++ b/package/elf2flt/0006-elf2flt-xtensa-fix-text-relocations.patch @@ -0,0 +1,51 @@ +From e248d9774506fdd8698b14a7edead113f19ecdb0 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Tue, 29 Nov 2022 17:47:54 -0800 +Subject: [PATCH] xtensa: fix text relocations + +The commit 5e08f1968316 ("Don't always update text in !pic_with_got case") +changed good_32bit_resolved_reloc to not do endianness swapping for +relocated entries in the text segment. This broke little-endian xtensa +FLAT images which after this change fail to start with the following +message: + + binfmt_flat: reloc outside program 0x24c80100 (0 - 0x6e430/0x56a20) + +Fix it by preserving 'update_text' when building for xtensa. + +Fixes: 5e08f1968316 ("Don't always update text in !pic_with_got case") +Reported-by: Niklas Cassel +Signed-off-by: Max Filippov +--- + elf2flt.c | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +diff --git a/elf2flt.c b/elf2flt.c +index b93aecdaced3..cec3f4a22239 100644 +--- a/elf2flt.c ++++ b/elf2flt.c +@@ -808,7 +808,20 @@ output_relocs ( + continue; + case R_XTENSA_32: + case R_XTENSA_PLT: +- goto good_32bit_resolved_reloc; ++ if (bfd_big_endian (abs_bfd)) ++ sym_addr = ++ (r_mem[0] << 24) ++ + (r_mem[1] << 16) ++ + (r_mem[2] << 8) ++ + r_mem[3]; ++ else ++ sym_addr = ++ r_mem[0] ++ + (r_mem[1] << 8) ++ + (r_mem[2] << 16) ++ + (r_mem[3] << 24); ++ relocation_needed = 1; ++ break; + default: + goto bad_resolved_reloc; + #else +-- +2.30.2 + diff --git a/package/elf2flt/elf2flt.hash b/package/elf2flt/elf2flt.hash index c4b0697fc..c576f65cd 100644 --- a/package/elf2flt/elf2flt.hash +++ b/package/elf2flt/elf2flt.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 d63baae6fe0d7fcc50a635be151a6f9e1e83dba30568046a869a395c15bf6284 elf2flt-7e33f28df198c46764021ed14408bd262751e148.tar.gz +sha256 6637432ed58dee2d42d09e3b9a902a0dd3b9975acba0c0b24ef9e4e9253159a9 elf2flt-2021.08.tar.gz sha256 f20bc5007904094e3a4e9fbcc3526cdd40893f91d458c3139b308e5c4c0899c6 LICENSE.TXT diff --git a/package/elf2flt/elf2flt.mk b/package/elf2flt/elf2flt.mk index 3239af1b9..11cacaf9e 100644 --- a/package/elf2flt/elf2flt.mk +++ b/package/elf2flt/elf2flt.mk @@ -4,8 +4,8 @@ # ################################################################################ -ELF2FLT_VERSION = 7e33f28df198c46764021ed14408bd262751e148 -ELF2FLT_SITE = $(call github,uclinux-dev,elf2flt,$(ELF2FLT_VERSION)) +ELF2FLT_VERSION = 2021.08 +ELF2FLT_SITE = $(call github,uclinux-dev,elf2flt,v$(ELF2FLT_VERSION)) ELF2FLT_LICENSE = GPL-2.0+ ELF2FLT_LICENSE_FILES = LICENSE.TXT diff --git a/package/elftosb/elftosb.hash b/package/elftosb/elftosb.hash index 83f5ce664..fbdd6c4c0 100644 --- a/package/elftosb/elftosb.hash +++ b/package/elftosb/elftosb.hash @@ -1,4 +1,4 @@ # From http://repository.timesys.com/buildsources/e/elftosb/elftosb-10.12.01/elftosb-10.12.01.tar.gz.md5sum -md5 e8005d606c1e0bb3507c82f6eceb3056 elftosb-10.12.01.tar.gz +md5 e8005d606c1e0bb3507c82f6eceb3056 elftosb-10.12.01.tar.gz # locally computed sha256 c861c25936b7bc0cf180023d540f2b0d0f5892edd27fd00efef4b6234c1df27a COPYING diff --git a/package/elixir/elixir.hash b/package/elixir/elixir.hash index b4d2f8b6b..6d083e72d 100644 --- a/package/elixir/elixir.hash +++ b/package/elixir/elixir.hash @@ -1,3 +1,3 @@ # Computed locally -sha256 f3465d8a8e386f3e74831bf9594ee39e6dfde6aa430fe9260844cfe46aa10139 elixir-1.9.4.tar.gz -sha256 a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9 LICENSE +sha256 f3465d8a8e386f3e74831bf9594ee39e6dfde6aa430fe9260844cfe46aa10139 elixir-1.9.4.tar.gz +sha256 a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9 LICENSE diff --git a/package/ell/ell.hash b/package/ell/ell.hash index cd724eae2..4bde1ab67 100644 --- a/package/ell/ell.hash +++ b/package/ell/ell.hash @@ -1,5 +1,5 @@ # From https://mirrors.edge.kernel.org/pub/linux/libs/ell/sha256sums.asc -sha256 4901a0baac4eb24163ceafb44fd448430361d25d8f17d89ff29f8b0b162b3eb9 ell-0.47.tar.xz +sha256 9894943042a5d6165d3e5cc354f92274fb1304004d02b4bee682ab6067cdbbd5 ell-0.48.tar.xz # License files sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING diff --git a/package/ell/ell.mk b/package/ell/ell.mk index 3ce64b6f2..267b44e5f 100644 --- a/package/ell/ell.mk +++ b/package/ell/ell.mk @@ -4,7 +4,7 @@ # ################################################################################ -ELL_VERSION = 0.47 +ELL_VERSION = 0.48 ELL_SOURCE = ell-$(ELL_VERSION).tar.xz ELL_SITE = $(BR2_KERNEL_MIRROR)/linux/libs/ell ELL_LICENSE = LGPL-2.1+ diff --git a/package/emlog/emlog.hash b/package/emlog/emlog.hash index ddc61a88e..6acd70b3f 100644 --- a/package/emlog/emlog.hash +++ b/package/emlog/emlog.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 76082cf981b0865c8a1b300d4641c790a6556461901bbb63700df38300277271 emlog-0.70.tar.gz -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 76082cf981b0865c8a1b300d4641c790a6556461901bbb63700df38300277271 emlog-0.70.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/enscript/enscript.hash b/package/enscript/enscript.hash index 4c50a165a..c4706c623 100644 --- a/package/enscript/enscript.hash +++ b/package/enscript/enscript.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 6d56bada6934d055b34b6c90399aa85975e66457ac5bf513427ae7fc77f5c0bb enscript-1.6.6.tar.gz +sha256 6d56bada6934d055b34b6c90399aa85975e66457ac5bf513427ae7fc77f5c0bb enscript-1.6.6.tar.gz # Locally computed -sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING +sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/package/erlang-base64url/erlang-base64url.hash b/package/erlang-base64url/erlang-base64url.hash index becbe5db6..f3272966b 100644 --- a/package/erlang-base64url/erlang-base64url.hash +++ b/package/erlang-base64url/erlang-base64url.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 7ef7210effd25ac1f82f190fcfaef53e49d7bc40bb94112c4aa07266c32a851b erlang-base64url-1.0.1.tar.gz -sha256 d59dff2fa4c39f05188ee533fbf06479eef1b47f8cad6353f8ab3726cc6923bc LICENSE.txt +sha256 7ef7210effd25ac1f82f190fcfaef53e49d7bc40bb94112c4aa07266c32a851b erlang-base64url-1.0.1.tar.gz +sha256 d59dff2fa4c39f05188ee533fbf06479eef1b47f8cad6353f8ab3726cc6923bc LICENSE.txt diff --git a/package/erlang-goldrush/erlang-goldrush.hash b/package/erlang-goldrush/erlang-goldrush.hash index 1e2060733..237bc8810 100644 --- a/package/erlang-goldrush/erlang-goldrush.hash +++ b/package/erlang-goldrush/erlang-goldrush.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 6fb8ac6345d940396ecf89d4ce6b9b809039f336d85d7a54239e85106a807612 erlang-goldrush-0.1.9.tar.gz -sha256 335dd315c1bf12bd9bde777666c45e92652c9fe633101b12fc6f927b88433b6f LICENSE +sha256 6fb8ac6345d940396ecf89d4ce6b9b809039f336d85d7a54239e85106a807612 erlang-goldrush-0.1.9.tar.gz +sha256 335dd315c1bf12bd9bde777666c45e92652c9fe633101b12fc6f927b88433b6f LICENSE diff --git a/package/erlang-idna/erlang-idna.hash b/package/erlang-idna/erlang-idna.hash index 2200bbad8..9c2292f5b 100644 --- a/package/erlang-idna/erlang-idna.hash +++ b/package/erlang-idna/erlang-idna.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 d57e20ee88018ff0431e0275e91ada5915782870c9981fc798bcd05589031d6f erlang-idna-6.0.0.tar.gz -sha256 95f5c9410a95332b0833c4606028ee00008cd8c497336e230df3144d1a720bda LICENSE +sha256 d57e20ee88018ff0431e0275e91ada5915782870c9981fc798bcd05589031d6f erlang-idna-6.0.0.tar.gz +sha256 95f5c9410a95332b0833c4606028ee00008cd8c497336e230df3144d1a720bda LICENSE diff --git a/package/erlang-jose/erlang-jose.hash b/package/erlang-jose/erlang-jose.hash index 71a1543d9..e84c38629 100644 --- a/package/erlang-jose/erlang-jose.hash +++ b/package/erlang-jose/erlang-jose.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 d55a9d3a1697833fed555a21f1aeb2727af88193995cb6ffa945d4b6749d0e8d erlang-jose-1.9.0.tar.gz -sha256 6397e2bd9a35a64c1bb798b937071fbe49d90667f717e65c74a0d0fe93d5c1be LICENSE.md +sha256 d55a9d3a1697833fed555a21f1aeb2727af88193995cb6ffa945d4b6749d0e8d erlang-jose-1.9.0.tar.gz +sha256 6397e2bd9a35a64c1bb798b937071fbe49d90667f717e65c74a0d0fe93d5c1be LICENSE.md diff --git a/package/erlang-lager/erlang-lager.hash b/package/erlang-lager/erlang-lager.hash index 40291af39..649750f80 100644 --- a/package/erlang-lager/erlang-lager.hash +++ b/package/erlang-lager/erlang-lager.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c5bb4ba6f918e90d2e6671c3996d72c61f2a589b65c151b3df8011d046362981 erlang-lager-3.6.10.tar.gz -sha256 809fa1ed21450f59827d1e9aec720bbc4b687434fa22283c6cb5dd82a47ab9c0 LICENSE +sha256 c5bb4ba6f918e90d2e6671c3996d72c61f2a589b65c151b3df8011d046362981 erlang-lager-3.6.10.tar.gz +sha256 809fa1ed21450f59827d1e9aec720bbc4b687434fa22283c6cb5dd82a47ab9c0 LICENSE diff --git a/package/erlang-rebar/erlang-rebar.hash b/package/erlang-rebar/erlang-rebar.hash index b05298009..bc463a961 100644 --- a/package/erlang-rebar/erlang-rebar.hash +++ b/package/erlang-rebar/erlang-rebar.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 577246bafa2eb2b2c3f1d0c157408650446884555bf87901508ce71d5cc0bd07 erlang-rebar-2.6.4.tar.gz -sha256 809fa1ed21450f59827d1e9aec720bbc4b687434fa22283c6cb5dd82a47ab9c0 LICENSE +sha256 577246bafa2eb2b2c3f1d0c157408650446884555bf87901508ce71d5cc0bd07 erlang-rebar-2.6.4.tar.gz +sha256 809fa1ed21450f59827d1e9aec720bbc4b687434fa22283c6cb5dd82a47ab9c0 LICENSE diff --git a/package/espeak/espeak.mk b/package/espeak/espeak.mk index d592673ac..44893ac9b 100644 --- a/package/espeak/espeak.mk +++ b/package/espeak/espeak.mk @@ -37,7 +37,8 @@ define ESPEAK_BUILD_CMDS endef define ESPEAK_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src DESTDIR="$(TARGET_DIR)" install + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src $(TARGET_CONFIGURE_OPTS) \ + AUDIO="$(ESPEAK_AUDIO_BACKEND)" DESTDIR="$(TARGET_DIR)" install endef $(eval $(generic-package)) diff --git a/package/eudev/0002-Fix-compile-time-issue-on-very-old-kernels.patch b/package/eudev/0002-Fix-compile-time-issue-on-very-old-kernels.patch new file mode 100644 index 000000000..46961cc9d --- /dev/null +++ b/package/eudev/0002-Fix-compile-time-issue-on-very-old-kernels.patch @@ -0,0 +1,44 @@ +From 09b536e0b9d0964674936901ab9d2954f935c8b4 Mon Sep 17 00:00:00 2001 +From: Stefan Ott +Date: Wed, 5 Apr 2023 18:20:37 +0200 +Subject: [PATCH] Fix compile-time issue on very old kernels + +Kernel versions prior to 3.4 did not have V4L2_CAP_DEVICE_CAPS and +compiling against such a kernel will fail. + +This patch introduces a version check and makes eudev fall back to +v2cap.capabilities on these kernels. + +Upstream: https://github.com/eudev-project/eudev/commit/09b536e0b9d0964674936901ab9d2954f935c8b4 +Signed-off-by: Stefan Ott +--- + src/v4l_id/v4l_id.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/v4l_id/v4l_id.c b/src/v4l_id/v4l_id.c +index 6bf45effe..702d5b687 100644 +--- a/src/v4l_id/v4l_id.c ++++ b/src/v4l_id/v4l_id.c +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + #include + + #include "util.h" +@@ -71,9 +72,11 @@ int main(int argc, char *argv[]) { + printf("ID_V4L_VERSION=2\n"); + printf("ID_V4L_PRODUCT=%s\n", v2cap.card); + printf("ID_V4L_CAPABILITIES=:"); ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0) + if (v2cap.capabilities & V4L2_CAP_DEVICE_CAPS) + capabilities = v2cap.device_caps; + else ++#endif + capabilities = v2cap.capabilities; + if ((capabilities & V4L2_CAP_VIDEO_CAPTURE) > 0 || + (capabilities & V4L2_CAP_VIDEO_CAPTURE_MPLANE) > 0) +-- +2.40.0 + diff --git a/package/evtest/evtest.hash b/package/evtest/evtest.hash index b1ee24371..f26bc8468 100644 --- a/package/evtest/evtest.hash +++ b/package/evtest/evtest.hash @@ -1,5 +1,5 @@ # locally computed -sha256 0e7a2eeff380af796e5e9b21b6f48fd706c58c931162c151c2c1074bdfeb85c6 evtest-evtest-1.34.tar.gz +sha256 0e7a2eeff380af796e5e9b21b6f48fd706c58c931162c151c2c1074bdfeb85c6 evtest-evtest-1.34.tar.gz # License files -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/exempi/exempi.hash b/package/exempi/exempi.hash index 5df610de1..772d9130d 100644 --- a/package/exempi/exempi.hash +++ b/package/exempi/exempi.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 072451ac1e0dc97ed69a2e5bfc235fd94fe093d837f65584d0e3581af5db18cd exempi-2.6.1.tar.bz2 +sha256 80b3aa0b7f54978c6a49cc5f5f1d3b6e9524b59de74ef92b3bf0abeba4c28fb1 exempi-2.6.3.tar.xz sha256 3d3c3593c15e0d35bdae0df7c642106250f6be3adc61477419413900f23ae607 COPYING diff --git a/package/exempi/exempi.mk b/package/exempi/exempi.mk index 56fbe2037..f808afd53 100644 --- a/package/exempi/exempi.mk +++ b/package/exempi/exempi.mk @@ -4,11 +4,11 @@ # ################################################################################ -EXEMPI_VERSION = 2.6.1 -EXEMPI_SOURCE = exempi-$(EXEMPI_VERSION).tar.bz2 +EXEMPI_VERSION = 2.6.3 +EXEMPI_SOURCE = exempi-$(EXEMPI_VERSION).tar.xz EXEMPI_SITE = https://libopenraw.freedesktop.org/download EXEMPI_INSTALL_STAGING = YES -EXEMPI_CONF_OPTS = --disable-unittest +EXEMPI_CONF_OPTS = --disable-samples --disable-unittest EXEMPI_DEPENDENCIES = host-pkgconf expat zlib \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) EXEMPI_LICENSE = BSD-3-Clause diff --git a/package/exfat-utils/exfat-utils.hash b/package/exfat-utils/exfat-utils.hash index 53155d41b..b4ed8bc56 100644 --- a/package/exfat-utils/exfat-utils.hash +++ b/package/exfat-utils/exfat-utils.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 dfebd07a7b907e2d603d3a9626e6440bd43ec6c4e8c07ccfc57ce9502b724835 exfat-utils-1.3.0.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 241575fa93104406a47e79e53e4d907bae69886f11621f70a45276c62b75bf69 exfat-utils-1.4.0.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/exfat-utils/exfat-utils.mk b/package/exfat-utils/exfat-utils.mk index d13ec6bab..c02cefb0c 100644 --- a/package/exfat-utils/exfat-utils.mk +++ b/package/exfat-utils/exfat-utils.mk @@ -4,10 +4,12 @@ # ################################################################################ -EXFAT_UTILS_VERSION = 1.3.0 +EXFAT_UTILS_VERSION = 1.4.0 EXFAT_UTILS_SITE = https://github.com/relan/exfat/releases/download/v$(EXFAT_UTILS_VERSION) EXFAT_UTILS_LICENSE = GPL-2.0+ EXFAT_UTILS_LICENSE_FILES = COPYING +EXFAT_UTILS_CPE_ID_VENDOR = exfat_project +EXFAT_UTILS_CPE_ID_PRODUCT = exfat EXFAT_UTILS_CONF_OPTS += --exec-prefix=/ diff --git a/package/exfat/Config.in b/package/exfat/Config.in index c0b4eabe1..c0ed2570d 100644 --- a/package/exfat/Config.in +++ b/package/exfat/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_EXFAT depends on BR2_USE_MMU # libfuse depends on BR2_USE_WCHAR depends on !BR2_STATIC_LIBS # libfuse - select BR2_PACKAGE_LIBFUSE + select BR2_PACKAGE_LIBFUSE3 if !BR2_PACKAGE_LIBFUSE help A full-featured exFAT file system implementation for GNU/Linux and other Unix-like systems as a FUSE module. diff --git a/package/exfat/exfat.hash b/package/exfat/exfat.hash index 4b8ce9019..c6082a403 100644 --- a/package/exfat/exfat.hash +++ b/package/exfat/exfat.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 07652136064da5e4d32df5555f88c138ffa4835a23b88a5bae2015f21006e0d3 fuse-exfat-1.3.0.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 a1cfedc55e0e7a12c184605aa0f0bf44b24a3fb272449b20b2c8bbe6edb3001e fuse-exfat-1.4.0.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/exfat/exfat.mk b/package/exfat/exfat.mk index 282a30aa5..a8efe5b0b 100644 --- a/package/exfat/exfat.mk +++ b/package/exfat/exfat.mk @@ -4,14 +4,15 @@ # ################################################################################ -EXFAT_VERSION = 1.3.0 +EXFAT_VERSION = 1.4.0 EXFAT_SITE = https://github.com/relan/exfat/releases/download/v$(EXFAT_VERSION) EXFAT_SOURCE = fuse-exfat-$(EXFAT_VERSION).tar.gz -EXFAT_DEPENDENCIES = libfuse host-pkgconf +EXFAT_DEPENDENCIES = \ + $(if $(BR2_PACKAGE_LIBFUSE3),libfuse3,libfuse) \ + host-pkgconf EXFAT_LICENSE = GPL-2.0+ EXFAT_LICENSE_FILES = COPYING EXFAT_CPE_ID_VENDOR = exfat_project -EXFAT_CFLAGS = $(TARGET_CFLAGS) -std=c99 EXFAT_CONF_OPTS += --exec-prefix=/ diff --git a/package/exfatprogs/exfatprogs.mk b/package/exfatprogs/exfatprogs.mk index 2911d21f4..44679c7d6 100644 --- a/package/exfatprogs/exfatprogs.mk +++ b/package/exfatprogs/exfatprogs.mk @@ -9,8 +9,6 @@ EXFATPROGS_SOURCE = exfatprogs-$(EXFATPROGS_VERSION).tar.xz EXFATPROGS_SITE = https://github.com/exfatprogs/exfatprogs/releases/download/$(EXFATPROGS_VERSION) EXFATPROGS_LICENSE = GPL-2.0+ EXFATPROGS_LICENSE_FILES = COPYING -EXFATPROGS_DEPENDENCIES = host-pkgconf -HOST_EXFATPROGS_DEPENDENCIES = host-pkgconf $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/exim/0004-Fix-uClibc-build.patch b/package/exim/0004-Fix-uClibc-build.patch deleted file mode 100644 index 9d5452bb5..000000000 --- a/package/exim/0004-Fix-uClibc-build.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 68ea4fc7ca53bf010e5ec738ad078452f0eaa639 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Tue, 23 Jul 2019 18:48:06 +0200 -Subject: [PATCH] Fix uClibc build -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -structs.h:757:18: error: ‘NS_MAXMSG’ undeclared here (not in a function); did you mean ‘N_MASC’? - uschar answer[NS_MAXMSG]; /* the answer itself */ - -Patch sent upstream: https://github.com/Exim/exim/pull/70 - -Signed-off-by: Bernd Kuhls ---- - OS/os.h-Linux | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/OS/os.h-Linux b/OS/os.h-Linux -index 63cf9babd..1d82e9bad 100644 ---- a/OS/os.h-Linux -+++ b/OS/os.h-Linux -@@ -87,5 +87,9 @@ then change the 0 to 1 in the next block. */ - # define TCPI_OPT_SYN_DATA 32 - #endif - -+/* Needed for uClibc */ -+#ifndef NS_MAXMSG -+# define NS_MAXMSG 65535 -+#endif - - /* End */ --- -2.20.1 - diff --git a/package/exim/0005-exim_lock-fix-lstat-related-build-errors.patch b/package/exim/0004-exim_lock-fix-lstat-related-build-errors.patch similarity index 100% rename from package/exim/0005-exim_lock-fix-lstat-related-build-errors.patch rename to package/exim/0004-exim_lock-fix-lstat-related-build-errors.patch diff --git a/package/exim/0006-sieve-fix-build-errors.patch b/package/exim/0005-sieve-fix-build-errors.patch similarity index 100% rename from package/exim/0006-sieve-fix-build-errors.patch rename to package/exim/0005-sieve-fix-build-errors.patch diff --git a/package/exim/0006-Fix-regex-n-use-after-free.-Bug-2915.patch b/package/exim/0006-Fix-regex-n-use-after-free.-Bug-2915.patch new file mode 100644 index 000000000..57fa189b0 --- /dev/null +++ b/package/exim/0006-Fix-regex-n-use-after-free.-Bug-2915.patch @@ -0,0 +1,173 @@ +From 4e9ed49f8f12eb331b29bd5b6dc3693c520fddc2 Mon Sep 17 00:00:00 2001 +From: Jeremy Harris +Date: Wed, 31 Aug 2022 15:37:40 +0100 +Subject: [PATCH] Fix $regex use-after-free. Bug 2915 + +[Upstream: https://sources.debian.org/data/main/e/exim4/4.96-9/debian/patches/75_08-Fix-regex-n-use-after-free.-Bug-2915.patch] +[Peter: drop Changelog hunk] +Signed-off-by: Peter Korsgaard +--- + src/exim.c | 4 +--- + src/expand.c | 2 +- + src/functions.h | 1 + + src/globals.c | 2 +- + src/regex.c | 29 ++++++++++++++++++----------- + src/smtp_in.c | 2 ++ + test/confs/4002 | 10 ++++++++++ + test/mail/4002.userx | 7 +++++++ + test/scripts/4000-scanning/4002 | 7 +++++++ + 9 files changed, 53 insertions(+), 17 deletions(-) + +--- a/src/exim.c ++++ b/src/exim.c +@@ -1999,12 +1999,10 @@ + + regex_whitelisted_macro = + regex_must_compile(US"^[A-Za-z0-9_/.-]*$", FALSE, TRUE); + #endif + +-for (i = 0; i < REGEX_VARS; i++) regex_vars[i] = NULL; +- + /* If the program is called as "mailq" treat it as equivalent to "exim -bp"; + this seems to be a generally accepted convention, since one finds symbolic + links called "mailq" in standard OS configurations. */ + + if ((namelen == 5 && Ustrcmp(argv[0], "mailq") == 0) || +@@ -6082,11 +6080,11 @@ + callout_address = NULL; + sending_ip_address = NULL; + deliver_localpart_data = deliver_domain_data = + recipient_data = sender_data = NULL; + acl_var_m = NULL; +- for(int i = 0; i < REGEX_VARS; i++) regex_vars[i] = NULL; ++ regex_vars_clear(); + + store_reset(reset_point); + } + + exim_exit(EXIT_SUCCESS); /* Never returns */ +--- a/src/expand.c ++++ b/src/expand.c +@@ -1871,11 +1871,11 @@ + { + tree_node * node = tree_search(router_var, name + 2); + return node ? node->data.ptr : strict_acl_vars ? NULL : US""; + } + +-/* Handle $auth variables. */ ++/* Handle $auth, $regex variables. */ + + if (Ustrncmp(name, "auth", 4) == 0) + { + uschar *endptr; + int n = Ustrtoul(name + 4, &endptr, 10); +--- a/src/functions.h ++++ b/src/functions.h +@@ -436,10 +436,11 @@ + extern int regex(const uschar **); + #endif + extern BOOL regex_match(const pcre2_code *, const uschar *, int, uschar **); + extern BOOL regex_match_and_setup(const pcre2_code *, const uschar *, int, int); + extern const pcre2_code *regex_must_compile(const uschar *, BOOL, BOOL); ++extern void regex_vars_clear(void); + extern void retry_add_item(address_item *, uschar *, int); + extern BOOL retry_check_address(const uschar *, host_item *, uschar *, BOOL, + uschar **, uschar **); + extern retry_config *retry_find_config(const uschar *, const uschar *, int, int); + extern BOOL retry_ultimate_address_timeout(uschar *, const uschar *, +--- a/src/globals.c ++++ b/src/globals.c +@@ -1313,11 +1313,11 @@ + #ifndef DISABLE_PIPE_CONNECT + const pcre2_code *regex_EARLY_PIPE = NULL; + #endif + const pcre2_code *regex_ismsgid = NULL; + const pcre2_code *regex_smtp_code = NULL; +-const uschar *regex_vars[REGEX_VARS]; ++const uschar *regex_vars[REGEX_VARS] = { 0 };; + #ifdef WHITELIST_D_MACROS + const pcre2_code *regex_whitelisted_macro = NULL; + #endif + #ifdef WITH_CONTENT_SCAN + uschar *regex_match_string = NULL; +--- a/src/regex.c ++++ b/src/regex.c +@@ -94,22 +94,32 @@ + } + pcre2_match_data_free(md); + return FAIL; + } + ++ ++/* reset expansion variables */ ++void ++regex_vars_clear(void) ++{ ++regex_match_string = NULL; ++for (int i = 0; i < REGEX_VARS; i++) regex_vars[i] = NULL; ++} ++ ++ ++ + int +-regex(const uschar **listptr) ++regex(const uschar ** listptr) + { + unsigned long mbox_size; +-FILE *mbox_file; +-pcre_list *re_list_head; +-uschar *linebuffer; ++FILE * mbox_file; ++pcre_list * re_list_head; ++uschar * linebuffer; + long f_pos = 0; + int ret = FAIL; + +-/* reset expansion variable */ +-regex_match_string = NULL; ++regex_vars_clear(); + + if (!mime_stream) /* We are in the DATA ACL */ + { + if (!(mbox_file = spool_mbox(&mbox_size, NULL, NULL))) + { /* error while spooling */ +@@ -167,18 +177,17 @@ + + + int + mime_regex(const uschar **listptr) + { +-pcre_list *re_list_head = NULL; +-FILE *f; +-uschar *mime_subject = NULL; ++pcre_list * re_list_head = NULL; ++FILE * f; ++uschar * mime_subject = NULL; + int mime_subject_len = 0; + int ret; + +-/* reset expansion variable */ +-regex_match_string = NULL; ++regex_vars_clear(); + + /* precompile our regexes */ + if (!(re_list_head = compile(*listptr))) + return FAIL; /* no regexes -> nothing to do */ + +--- a/src/smtp_in.c ++++ b/src/smtp_in.c +@@ -2155,12 +2155,14 @@ + prdr_requested = FALSE; + #endif + #ifdef SUPPORT_I18N + message_smtputf8 = FALSE; + #endif ++regex_vars_clear(); + body_linecount = body_zerocount = 0; + ++lookup_value = NULL; /* Can be set by ACL */ + sender_rate = sender_rate_limit = sender_rate_period = NULL; + ratelimiters_mail = NULL; /* Updated by ratelimit ACL condition */ + /* Note that ratelimiters_conn persists across resets. */ + + /* Reset message ACL variables */ diff --git a/package/exim/0007-Fix-non-WITH_CONTENT_SCAN-build.patch b/package/exim/0007-Fix-non-WITH_CONTENT_SCAN-build.patch new file mode 100644 index 000000000..9f87f18e0 --- /dev/null +++ b/package/exim/0007-Fix-non-WITH_CONTENT_SCAN-build.patch @@ -0,0 +1,61 @@ +From d8ecc7bf97934a1e2244788c610c958cacd740bd Mon Sep 17 00:00:00 2001 +From: Jeremy Harris +Date: Wed, 31 Aug 2022 17:03:37 +0100 +Subject: [PATCH] Fix non-WITH_CONTENT_SCAN build. + +Broken-by: 4e9ed49f8f + +[Upstream: https://sources.debian.org/data/main/e/exim4/4.96-9/debian/patches/75_09-Fix-non-WITH_CONTENT_SCAN-build.patch] +Signed-off-by: Peter Korsgaard +--- + src/exim.c | 11 +++++++++++ + src/regex.c | 10 ---------- + 2 files changed, 11 insertions(+), 10 deletions(-) + +--- a/src/exim.c ++++ b/src/exim.c +@@ -1677,10 +1677,21 @@ + if ((s = expand_string(big_buffer))) printf("%s\n", CS s); + else printf("Failed: %s\n", expand_string_message); + } + + ++/* reset regex expansion variables */ ++void ++regex_vars_clear(void) ++{ ++regex_match_string = NULL; ++for (int i = 0; i < REGEX_VARS; i++) regex_vars[i] = NULL; ++} ++ ++ ++ ++ + + /************************************************* + * Entry point and high-level code * + *************************************************/ + +--- a/src/regex.c ++++ b/src/regex.c +@@ -95,20 +95,10 @@ + pcre2_match_data_free(md); + return FAIL; + } + + +-/* reset expansion variables */ +-void +-regex_vars_clear(void) +-{ +-regex_match_string = NULL; +-for (int i = 0; i < REGEX_VARS; i++) regex_vars[i] = NULL; +-} +- +- +- + int + regex(const uschar ** listptr) + { + unsigned long mbox_size; + FILE * mbox_file; diff --git a/package/exim/0008-Fix-non-WITH_CONTENT_SCAN-build-2.patch b/package/exim/0008-Fix-non-WITH_CONTENT_SCAN-build-2.patch new file mode 100644 index 000000000..43cc1d79a --- /dev/null +++ b/package/exim/0008-Fix-non-WITH_CONTENT_SCAN-build-2.patch @@ -0,0 +1,139 @@ +From 158dff9936e36a2d31d037d3988b9353458d6471 Mon Sep 17 00:00:00 2001 +From: Jeremy Harris +Date: Wed, 31 Aug 2022 17:17:59 +0100 +Subject: [PATCH] Fix non-WITH_CONTENT_SCAN build (2) + +Broken-by: d8ecc7bf97 + +[Upstream: https://sources.debian.org/data/main/e/exim4/4.96-9/debian/patches/75_10-Fix-non-WITH_CONTENT_SCAN-build-2.patch] +[Peter: drop Changelog hunk] +Signed-off-by: Peter Korsgaard +--- + src/exim.c | 13 +------------ + src/functions.h | 2 +- + src/globals.h | 2 +- + src/regex.c | 10 ++++++++++ + src/smtp_in.c | 2 ++ + 5 files changed, 15 insertions(+), 14 deletions(-) + +--- a/src/exim.c ++++ b/src/exim.c +@@ -1677,21 +1677,10 @@ + if ((s = expand_string(big_buffer))) printf("%s\n", CS s); + else printf("Failed: %s\n", expand_string_message); + } + + +-/* reset regex expansion variables */ +-void +-regex_vars_clear(void) +-{ +-regex_match_string = NULL; +-for (int i = 0; i < REGEX_VARS; i++) regex_vars[i] = NULL; +-} +- +- +- +- + + /************************************************* + * Entry point and high-level code * + *************************************************/ + +@@ -6085,17 +6074,17 @@ + deliver_domain_orig = NULL; + deliver_host = deliver_host_address = NULL; + dnslist_domain = dnslist_matched = NULL; + #ifdef WITH_CONTENT_SCAN + malware_name = NULL; ++ regex_vars_clear(); + #endif + callout_address = NULL; + sending_ip_address = NULL; + deliver_localpart_data = deliver_domain_data = + recipient_data = sender_data = NULL; + acl_var_m = NULL; +- regex_vars_clear(); + + store_reset(reset_point); + } + + exim_exit(EXIT_SUCCESS); /* Never returns */ +--- a/src/functions.h ++++ b/src/functions.h +@@ -432,15 +432,15 @@ + extern BOOL receive_msg(BOOL); + extern int_eximarith_t receive_statvfs(BOOL, int *); + extern void receive_swallow_smtp(void); + #ifdef WITH_CONTENT_SCAN + extern int regex(const uschar **); ++extern void regex_vars_clear(void); + #endif + extern BOOL regex_match(const pcre2_code *, const uschar *, int, uschar **); + extern BOOL regex_match_and_setup(const pcre2_code *, const uschar *, int, int); + extern const pcre2_code *regex_must_compile(const uschar *, BOOL, BOOL); +-extern void regex_vars_clear(void); + extern void retry_add_item(address_item *, uschar *, int); + extern BOOL retry_check_address(const uschar *, host_item *, uschar *, BOOL, + uschar **, uschar **); + extern retry_config *retry_find_config(const uschar *, const uschar *, int, int); + extern BOOL retry_ultimate_address_timeout(uschar *, const uschar *, +--- a/src/globals.h ++++ b/src/globals.h +@@ -895,16 +895,16 @@ + #ifndef DISABLE_PIPE_CONNECT + extern const pcre2_code *regex_EARLY_PIPE; /* For recognizing PIPE_CONNCT */ + #endif + extern const pcre2_code *regex_ismsgid; /* Compiled r.e. for message ID */ + extern const pcre2_code *regex_smtp_code; /* For recognizing SMTP codes */ +-extern const uschar *regex_vars[]; /* $regexN variables */ + #ifdef WHITELIST_D_MACROS + extern const pcre2_code *regex_whitelisted_macro; /* For -D macro values */ + #endif + #ifdef WITH_CONTENT_SCAN + extern uschar *regex_match_string; /* regex that matched a line (regex ACL condition) */ ++extern const uschar *regex_vars[]; + #endif + extern int remote_delivery_count; /* Number of remote addresses */ + extern int remote_max_parallel; /* Maximum parallel delivery */ + extern uschar *remote_sort_domains; /* Remote domain sorting order */ + extern retry_config *retries; /* Chain of retry config information */ +--- a/src/regex.c ++++ b/src/regex.c +@@ -95,10 +95,20 @@ + pcre2_match_data_free(md); + return FAIL; + } + + ++/* reset expansion variables */ ++void ++regex_vars_clear(void) ++{ ++regex_match_string = NULL; ++for (int i = 0; i < REGEX_VARS; i++) regex_vars[i] = NULL; ++} ++ ++ ++ + int + regex(const uschar ** listptr) + { + unsigned long mbox_size; + FILE * mbox_file; +--- a/src/smtp_in.c ++++ b/src/smtp_in.c +@@ -2155,11 +2155,13 @@ + prdr_requested = FALSE; + #endif + #ifdef SUPPORT_I18N + message_smtputf8 = FALSE; + #endif ++#ifdef WITH_CONTENT_SCAN + regex_vars_clear(); ++#endif + body_linecount = body_zerocount = 0; + + lookup_value = NULL; /* Can be set by ACL */ + sender_rate = sender_rate_limit = sender_rate_period = NULL; + ratelimiters_mail = NULL; /* Updated by ratelimit ACL condition */ diff --git a/package/exim/0009-Fix-non-WITH_CONTENT_SCAN-build-3.patch b/package/exim/0009-Fix-non-WITH_CONTENT_SCAN-build-3.patch new file mode 100644 index 000000000..f9675c80d --- /dev/null +++ b/package/exim/0009-Fix-non-WITH_CONTENT_SCAN-build-3.patch @@ -0,0 +1,49 @@ +From 32da6327e434e986a18b75a84f2d8c687ba14619 Mon Sep 17 00:00:00 2001 +From: Jeremy Harris +Date: Thu, 1 Sep 2022 15:54:35 +0100 +Subject: [PATCH] Fix non-WITH_CONTENT_SCAN build (3) + +Broken-by: d8ecc7bf97 + +[Upstream: https://sources.debian.org/data/main/e/exim4/4.96-9/debian/patches/75_11-Fix-non-WITH_CONTENT_SCAN-build-3.patch] +[Peter: drop Changelog hunk] +Signed-off-by: Peter Korsgaard +--- + src/expand.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/expand.c b/src/expand.c +index 89de56255..831ca2b75 100644 +--- a/src/expand.c ++++ b/src/expand.c +@@ -1869,6 +1869,7 @@ if (Ustrncmp(name, "auth", 4) == 0) + if (!*endptr && n != 0 && n <= AUTH_VARS) + return auth_vars[n-1] ? auth_vars[n-1] : US""; + } ++#ifdef WITH_CONTENT_SCAN + else if (Ustrncmp(name, "regex", 5) == 0) + { + uschar *endptr; +@@ -1876,6 +1877,7 @@ else if (Ustrncmp(name, "regex", 5) == 0) + if (!*endptr && n != 0 && n <= REGEX_VARS) + return regex_vars[n-1] ? regex_vars[n-1] : US""; + } ++#endif + + /* For all other variables, search the table */ + +@@ -8715,9 +8717,11 @@ assert_variable_notin() treats as const, so deconst is safe. */ + for (int i = 0; i < AUTH_VARS; i++) if (auth_vars[i]) + assert_variable_notin(US"auth", US auth_vars[i], &e); + ++#ifdef WITH_CONTENT_SCAN + /* check regex variables. assert_variable_notin() treats as const. */ + for (int i = 0; i < REGEX_VARS; i++) if (regex_vars[i]) + assert_variable_notin(US"regex", US regex_vars[i], &e); ++#endif + + /* check known-name variables */ + for (var_entry * v = var_table; v < var_table + var_table_size; v++) +-- +2.35.1 + diff --git a/package/exim/Config.in b/package/exim/Config.in index aa50a8673..2557251fd 100644 --- a/package/exim/Config.in +++ b/package/exim/Config.in @@ -5,7 +5,7 @@ config BR2_PACKAGE_EXIM bool "exim" depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_HAS_THREADS - select BR2_PACKAGE_PCRE + select BR2_PACKAGE_PCRE2 select BR2_PACKAGE_BERKELEYDB help Exim is a message transfer agent (MTA) developed at the diff --git a/package/exim/exim.hash b/package/exim/exim.hash index 5cbad08a4..2336aaa5c 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 cc9cb653fff2ea947c3702680b59c99ac0bd1bbf19976d37e22a463cd804f167 exim-4.95.tar.xz +sha256 299a56927b2eb3477daafd3c5bda02bc67e5c4e5898a7aeaf2740875278cf1a3 exim-4.96.tar.xz # From https://ftp.exim.org/pub/exim/exim4/00-sha512sums.txt -sha512 93d09c20d99f27da5edbe3e6dc7d25aa4548faa2b67ca26f2cc0b4aeaf58398dd468e0263714fcf0df97531f05d16fcd3f1f0e9d0656ead7858a66b248a44a65 exim-4.95.tar.xz +sha512 6b863661465a0b9897c1b71875c5196a1903cf560dd85de45b08242b9731edb2bc10eb56945d62e477e5d15cc7a8d493915bff2ca81689673a8091c66f62c89e exim-4.96.tar.xz # Locally calculated sha256 49240db527b7e55b312a46fc59794fde5dd006422e422257f4f057bfd27b3c8f LICENCE diff --git a/package/exim/exim.mk b/package/exim/exim.mk index b45458b21..b84a51d6d 100644 --- a/package/exim/exim.mk +++ b/package/exim/exim.mk @@ -4,14 +4,20 @@ # ################################################################################ -EXIM_VERSION = 4.95 +EXIM_VERSION = 4.96 EXIM_SOURCE = exim-$(EXIM_VERSION).tar.xz EXIM_SITE = https://ftp.exim.org/pub/exim/exim4 EXIM_LICENSE = GPL-2.0+ EXIM_LICENSE_FILES = LICENCE EXIM_CPE_ID_VENDOR = exim EXIM_SELINUX_MODULES = exim mta -EXIM_DEPENDENCIES = host-berkeleydb host-pcre pcre berkeleydb host-pkgconf +EXIM_DEPENDENCIES = host-berkeleydb host-pcre2 pcre2 berkeleydb host-pkgconf + +# 0006-Fix-regex-n-use-after-free.-Bug-2915.patch +EXIM_IGNORE_CVES += CVE-2022-3559 + +# built without dmarc support +EXIM_IGNORE_CVES += CVE-2022-3620 # Modify a variable value. It must already exist in the file, either # commented or not. @@ -20,7 +26,7 @@ define exim-config-change # variable-name, variable-value $(@D)/Local/Makefile endef -# Comment-out a variable. Has no effect if it does not exits. +# Comment-out a variable. Has no effect if it does not exist. define exim-config-unset # variable-name $(SED) 's,^\([[:space:]]*$1[[:space:]]*=.*$$\),# \1,' \ $(@D)/Local/Makefile @@ -46,8 +52,8 @@ define EXIM_USE_DEFAULT_CONFIG_FILE $(call exim-config-change,EXIM_USER,ref:exim) $(call exim-config-change,EXIM_GROUP,mail) $(call exim-config-change,TRANSPORT_LMTP,yes) - $(call exim-config-change,PCRE_LIBS,-lpcre) - $(call exim-config-change,PCRE_CONFIG,no) + $(call exim-config-change,PCRE_LIBS,-lpcre2-8) + $(call exim-config-change,PCRE2_CONFIG,no) $(call exim-config-change,HAVE_ICONV,no) $(call exim-config-unset,EXIM_MONITOR) $(call exim-config-change,AUTH_PLAINTEXT,yes) diff --git a/package/expat/expat.hash b/package/expat/expat.hash index 26f1098b7..c6c25aa3e 100644 --- a/package/expat/expat.hash +++ b/package/expat/expat.hash @@ -1,7 +1,7 @@ -# From https://sourceforge.net/projects/expat/files/expat/2.4.7/ -md5 75a1f475e30281a00cb6f083ea481159 expat-2.4.7.tar.xz -sha1 032ceaa11cd791d4bc622bbf0d835b8766207796 expat-2.4.7.tar.xz +# From https://sourceforge.net/projects/expat/files/expat/2.5.0/ +md5 ac6677b6d1b95d209ab697ce8b688704 expat-2.5.0.tar.xz +sha1 5178e13c1e34f4643d5118d5758babfe0e836fe2 expat-2.5.0.tar.xz # Locally calculated -sha256 9875621085300591f1e64c18fd3da3a0eeca4a74f884b9abac2758ad1bd07a7d expat-2.4.7.tar.xz -sha256 8c6b5b6de8fae20b317f4992729abc0e520bfba4c7606cd1e9eeb87418eebdec COPYING +sha256 ef2420f0232c087801abf705e89ae65f6257df6b7931d37846a193ef2e8cdcbe expat-2.5.0.tar.xz +sha256 122f2c27000472a201d337b9b31f7eb2b52d091b02857061a8880371612d9534 COPYING diff --git a/package/expat/expat.mk b/package/expat/expat.mk index b29b0e1d2..6f22024cc 100644 --- a/package/expat/expat.mk +++ b/package/expat/expat.mk @@ -4,19 +4,18 @@ # ################################################################################ -EXPAT_VERSION = 2.4.7 +EXPAT_VERSION = 2.5.0 EXPAT_SITE = http://downloads.sourceforge.net/project/expat/expat/$(EXPAT_VERSION) EXPAT_SOURCE = expat-$(EXPAT_VERSION).tar.xz EXPAT_INSTALL_STAGING = YES -EXPAT_DEPENDENCIES = host-pkgconf -HOST_EXPAT_DEPENDENCIES = host-pkgconf EXPAT_LICENSE = MIT EXPAT_LICENSE_FILES = COPYING EXPAT_CPE_ID_VENDOR = libexpat_project EXPAT_CPE_ID_PRODUCT = libexpat -EXPAT_CONF_OPTS = --without-docbook -HOST_EXPAT_CONF_OPTS = --without-docbook +EXPAT_CONF_OPTS = \ + --without-docbook --without-examples --without-tests --without-xmlwf +HOST_EXPAT_CONF_OPTS = --without-docbook --without-examples --without-tests $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/f2fs-tools/0001-configure-ac-fix-cross-compilation.patch b/package/f2fs-tools/0001-configure-ac-fix-cross-compilation.patch new file mode 100644 index 000000000..0e3d4da19 --- /dev/null +++ b/package/f2fs-tools/0001-configure-ac-fix-cross-compilation.patch @@ -0,0 +1,88 @@ +From 32e7d272344024c216f155c3463dd2d548f3fafd Mon Sep 17 00:00:00 2001 +From: Nick Hainke +Date: Mon, 4 Jul 2022 11:29:19 +0200 +Subject: configure.ac: fix cross compilation + +AC_CHECK_LIB seems to not work correctly with OpenWrt. Add possibility +to disable lz4 and lzo2 manually. + +Fixes errors in the form of: + Package f2fsck is missing dependencies for the following libraries: + liblz4.so.1 + liblzo2.so.2 + +Signed-off-by: Nick Hainke +Signed-off-by: Jaegeuk Kim +[Retrieved from: +https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/commit/?id=32e7d272344024c216f155c3463dd2d548f3fafd] +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 44 ++++++++++++++++++++++++++++++++++---------- + 1 file changed, 34 insertions(+), 10 deletions(-) + +diff --git a/configure.ac b/configure.ac +index ea39461..dbe9ad3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -50,6 +50,18 @@ AC_ARG_WITH([blkid], + [], + [with_blkid=check]) + ++AC_ARG_WITH([lzo2], ++ [AS_HELP_STRING([--without-lzo2], ++ [Ignore presence of liblzo2 and disable lzo2 support])], ++ [], ++ [with_lzo2=check]) ++ ++AC_ARG_WITH([lz4], ++ [AS_HELP_STRING([--without-lz4], ++ [Ignore presence of liblz4 and disable lz4 support])], ++ [], ++ [with_lz4=check]) ++ + # Checks for programs. + AC_PROG_CC + AM_PROG_AR +@@ -71,17 +83,29 @@ AS_IF([test "x$with_blkid" != xno], + fi + ], -lblkid)]) + +-AC_CHECK_LIB([lzo2], [main], +- [AC_SUBST([liblzo2_LIBS], ["-llzo2"]) +- AC_DEFINE([HAVE_LIBLZO2], [1], +- [Define if you have liblzo2]) +- ], [], []) ++AS_IF([test "x$with_lzo2" != xno], ++ [AC_CHECK_LIB([lzo2], [main], ++ [AC_SUBST([liblzo2_LIBS], ["-llzo2"]) ++ AC_DEFINE([HAVE_LIBLZO2], [1], ++ [Define if you have liblzo2]) ++ ], ++ [if test "x$with_lzo2" != xcheck; then ++ AC_MSG_FAILURE( ++ [--with-lzo2 was given, but test for lzo2 failed]) ++ fi ++ ], -llzo2)]) + +-AC_CHECK_LIB([lz4], [main], +- [AC_SUBST([liblz4_LIBS], ["-llz4"]) +- AC_DEFINE([HAVE_LIBLZ4], [1], +- [Define if you have liblz4]) +- ], [], []) ++AS_IF([test "x$with_lz4" != xno], ++ [AC_CHECK_LIB([lz4], [main], ++ [AC_SUBST([liblz4_LIBS], ["-llz4"]) ++ AC_DEFINE([HAVE_LIBLZ4], [1], ++ [Define if you have liblz4]) ++ ], ++ [if test "x$with_lz4" != xcheck; then ++ AC_MSG_FAILURE( ++ [--with-lz4 was given, but test for lz4 failed]) ++ fi ++ ], -llz4)]) + + AS_IF([test "x$with_selinux" != xno], + [AC_CHECK_LIB([selinux], [getcon], +-- +cgit + diff --git a/package/f2fs-tools/0002-f2fs-tools-fix-build-error-on-lz4-1-9-4.patch b/package/f2fs-tools/0002-f2fs-tools-fix-build-error-on-lz4-1-9-4.patch new file mode 100644 index 000000000..b43def6bb --- /dev/null +++ b/package/f2fs-tools/0002-f2fs-tools-fix-build-error-on-lz4-1-9-4.patch @@ -0,0 +1,34 @@ +From 19f77c6f6277a274434d6d8883f50e7955c6a8db Mon Sep 17 00:00:00 2001 +From: Jaegeuk Kim +Date: Mon, 29 Aug 2022 11:03:35 -0700 +Subject: f2fs-tools: fix build error on lz4-1.9.4 + +LZ4_STREAMSIZE_U64 is undefined in new lz4 lib. + +Signed-off-by: Jaegeuk Kim +[Retrieved from: +https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/commit/?id=19f77c6f6277a274434d6d8883f50e7955c6a8db] +Signed-off-by: Fabrice Fontaine +--- + fsck/compress.c | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/fsck/compress.c b/fsck/compress.c +index b413492..b15f0a4 100644 +--- a/fsck/compress.c ++++ b/fsck/compress.c +@@ -32,10 +32,7 @@ + #ifdef HAVE_LIBLZ4 + #define LZ4_MEMORY_USAGE 14 + #define LZ4_MAX_INPUT_SIZE 0x7E000000 /* 2 113 929 216 bytes */ +-#ifndef LZ4_STREAMSIZE +-#define LZ4_STREAMSIZE (LZ4_STREAMSIZE_U64 * sizeof(long long)) +-#endif +-#define LZ4_MEM_COMPRESS LZ4_STREAMSIZE ++#define LZ4_MEM_COMPRESS sizeof(LZ4_stream_t) + #define LZ4_ACCELERATION_DEFAULT 1 + #define LZ4_WORK_SIZE ALIGN_UP(LZ4_MEM_COMPRESS, 8) + #endif +-- +cgit + diff --git a/package/f2fs-tools/f2fs-tools.hash b/package/f2fs-tools/f2fs-tools.hash index dedd88495..8d5ff31f0 100644 --- a/package/f2fs-tools/f2fs-tools.hash +++ b/package/f2fs-tools/f2fs-tools.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 619263d4e2022152a1472c1d912eaae104f20bd227ce0bb9d41d1d6608094bd1 f2fs-tools-1.14.0.tar.gz -sha256 662abb3a8a80b36ae7036c289dd1e03b361ee5dd2e6fd5211d0d8d029146449f COPYING +sha256 147d471040b44900283ce2c935f1d35d13d7f40008e7cb8fab2b69f54da01a4f f2fs-tools-1.15.0.tar.gz +sha256 662abb3a8a80b36ae7036c289dd1e03b361ee5dd2e6fd5211d0d8d029146449f COPYING diff --git a/package/f2fs-tools/f2fs-tools.mk b/package/f2fs-tools/f2fs-tools.mk index ced283d25..f94244f2a 100644 --- a/package/f2fs-tools/f2fs-tools.mk +++ b/package/f2fs-tools/f2fs-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -F2FS_TOOLS_VERSION = 1.14.0 +F2FS_TOOLS_VERSION = 1.15.0 F2FS_TOOLS_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/snapshot F2FS_TOOLS_CONF_ENV = ac_cv_file__git=no F2FS_TOOLS_DEPENDENCIES = host-pkgconf util-linux @@ -14,6 +14,7 @@ F2FS_TOOLS_AUTORECONF = YES F2FS_TOOLS_INSTALL_STAGING = YES F2FS_TOOLS_LICENSE = GPL-2.0 F2FS_TOOLS_LICENSE_FILES = COPYING +F2FS_TOOLS_CPE_ID_VENDOR = f2fs-tools_project ifeq ($(BR2_PACKAGE_LIBSELINUX),y) F2FS_TOOLS_CONF_OPTS += --with-selinux @@ -22,6 +23,20 @@ else F2FS_TOOLS_CONF_OPTS += --without-selinux endif +ifeq ($(BR2_PACKAGE_LZ4),y) +F2FS_TOOLS_CONF_OPTS += --with-lz4 +F2FS_TOOLS_DEPENDENCIES += lz4 +else +F2FS_TOOLS_CONF_OPTS += --without-lz4 +endif + +ifeq ($(BR2_PACKAGE_LZO),y) +F2FS_TOOLS_CONF_OPTS += --with-lzo2 +F2FS_TOOLS_DEPENDENCIES += lzo +else +F2FS_TOOLS_CONF_OPTS += --without-lzo2 +endif + ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),y) # util-linux is a dependency already, no need to list it again F2FS_TOOLS_CONF_OPTS += --with-blkid @@ -34,7 +49,9 @@ endif # blkid support even if we have host-util-linux HOST_F2FS_TOOLS_CONF_OPTS = \ --without-selinux \ - --without-blkid + --without-blkid \ + --without-lz4 \ + --without-lzo2 $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/faad2/faad2.hash b/package/faad2/faad2.hash index 2eb11d73a..3a9c36df0 100644 --- a/package/faad2/faad2.hash +++ b/package/faad2/faad2.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 0c6d9636c96f95c7d736f097d418829ced8ec6dbd899cc6cc82b728480a84bfb faad2-2.10.0.tar.gz +sha256 4c16c71295ca0cbf7c3dfe98eb11d8fa8d0ac3042e41604cfd6cc11a408cf264 faad2-2.10.1.tar.gz sha256 d3baf3a54943cf12a994c85867a18dec84f810901b2f2878ddfd77efcc3c150f COPYING diff --git a/package/faad2/faad2.mk b/package/faad2/faad2.mk index d085c814b..eecab35af 100644 --- a/package/faad2/faad2.mk +++ b/package/faad2/faad2.mk @@ -4,8 +4,8 @@ # ################################################################################ -FAAD2_VERSION = 2.10.0 -FAAD2_SITE = $(call github,knik0,faad2,$(subst .,_,$(FAAD2_VERSION))) +FAAD2_VERSION = 2.10.1 +FAAD2_SITE = $(call github,knik0,faad2,$(FAAD2_VERSION)) FAAD2_LICENSE = GPL-2.0 FAAD2_LICENSE_FILES = COPYING FAAD2_CPE_ID_VENDOR = audiocoding diff --git a/package/fakeroot/0001-fix-prototype-generation.patch b/package/fakeroot/0001-fix-prototype-generation.patch new file mode 100644 index 000000000..960bad212 --- /dev/null +++ b/package/fakeroot/0001-fix-prototype-generation.patch @@ -0,0 +1,61 @@ +Subject: Fix prototype generation for openat +Author: Christoph Biedl +Date: 2021-12-30 +Bug-Debian: https://bugs.debian.org/995393 +Forwarded: Yes (implicitely) + + As jrtc27 pointed out in IRC, ppc64el is more strict than other + architectures when it comes to va_arg handling: + + it's that ppc64le uses the elfv2 abi, and for variadic calls you + must reserve space for a parameter save area + + So enhance wrapawk to create a proper prototype and argument + handling although it's specific to the openat call. Also add the + missing documentation for the sixth column to wrapfunc.inp. + +Signed-off-by: Joel Stanley + +--- a/wrapawk ++++ b/wrapawk +@@ -37,7 +37,25 @@ + argtype=$3; + argname=$4; + MACRO=$5; +- if(MACRO){ ++ openat_extra=$6; ++ if(openat_extra){ ++ print " {(void(*))&next_" name ", \"" name "\"}," > structfile; ++ print "extern " ret " (*next_" name ")" openat_extra ";" > headerfile; ++ print ret " (*next_" name ")" openat_extra "=tmp_" name ";"> deffile; ++ ++ print ret " tmp_" name, openat_extra "{" > tmpffile; ++ print " mode_t mode = 0;" > tmpffile; ++ print " if (flags & O_CREAT) {" > tmpffile; ++ print " va_list args;" > tmpffile; ++ print " va_start(args, flags);" > tmpffile; ++ print " mode = va_arg(args, int);" > tmpffile; ++ print " va_end(args);" > tmpffile; ++ print " }" > tmpffile; ++ print " load_library_symbols();" > tmpffile; ++ print " return next_" name, argname ";" > tmpffile; ++ print "}" > tmpffile; ++ print "" > tmpffile; ++ } else if(MACRO){ + print " {(void(*))&NEXT_" MACRO "_NOARG, " name "_QUOTE}," > structfile; + print "extern " ret " (*NEXT_" MACRO "_NOARG)" argtype ";" > headerfile; + print ret " (*NEXT_" MACRO "_NOARG)" argtype "=TMP_" MACRO ";"> deffile; +--- a/wrapfunc.inp ++++ b/wrapfunc.inp +@@ -9,8 +9,10 @@ + /**/ */ + /* each line of this file lists 4 fields, seperated by a ";". */ + /* The first field is the name of the wrapped function, then it's return */ +-/* value. After that come the function arguments with types, and the last */ ++/* value. After that come the function arguments with types, and the fifth */ + /* field contains the function arguments without types. */ ++/* A sixth field is a special needed when wrapping the openat syscall. */ ++/* Otherwise it's like the third (function arguments with types). */ + /**/ + + /* __*xstat are used on glibc systems instead of just *xstat. */ diff --git a/package/fan-ctrl/fan-ctrl.hash b/package/fan-ctrl/fan-ctrl.hash index 0bd5d6097..4f2669678 100644 --- a/package/fan-ctrl/fan-ctrl.hash +++ b/package/fan-ctrl/fan-ctrl.hash @@ -1,2 +1,2 @@ # Locally computed -sha1 d8ba5bac15e90c36a4e908ca1c98fac83bf702ea fan-ctrl.c?revision=1.3 +sha1 d8ba5bac15e90c36a4e908ca1c98fac83bf702ea fan-ctrl.c?revision=1.3 diff --git a/package/fbdump/fbdump.hash b/package/fbdump/fbdump.hash index 8bc8b7c56..51506b83a 100644 --- a/package/fbdump/fbdump.hash +++ b/package/fbdump/fbdump.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c4d521a86229b3106cf69786008ad94f899da5288a19a067deae84951880722d fbdump-0.4.2.tar.gz -sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING +sha256 c4d521a86229b3106cf69786008ad94f899da5288a19a067deae84951880722d fbdump-0.4.2.tar.gz +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/fbterm/fbterm.hash b/package/fbterm/fbterm.hash index 37c32df7a..ee7036142 100644 --- a/package/fbterm/fbterm.hash +++ b/package/fbterm/fbterm.hash @@ -1,4 +1,4 @@ # From http://code.google.com/p/fbterm/downloads/detail?name=fbterm-1.7.0.tar.gz&can=2&q= -sha1 dc7b7ff29212c1551f35bf7a50967454d3b8c67c fbterm-1.7.0.tar.gz +sha1 dc7b7ff29212c1551f35bf7a50967454d3b8c67c fbterm-1.7.0.tar.gz # locally computed sha256 b2b961f07e97c4fb78074276da304ea36b85dc299aae5efb79080cedaea3d5ac COPYING diff --git a/package/fbv/0002-cross.patch b/package/fbv/0001-cross.patch similarity index 100% rename from package/fbv/0002-cross.patch rename to package/fbv/0001-cross.patch diff --git a/package/fbv/0003-fix-24bpp-support-on-big-endian.patch b/package/fbv/0002-fix-24bpp-support-on-big-endian.patch similarity index 100% rename from package/fbv/0003-fix-24bpp-support-on-big-endian.patch rename to package/fbv/0002-fix-24bpp-support-on-big-endian.patch diff --git a/package/fbv/0004-fix-bgr555.patch b/package/fbv/0003-fix-bgr555.patch similarity index 100% rename from package/fbv/0004-fix-bgr555.patch rename to package/fbv/0003-fix-bgr555.patch diff --git a/package/fbv/0005-giflib.patch b/package/fbv/0004-giflib.patch similarity index 100% rename from package/fbv/0005-giflib.patch rename to package/fbv/0004-giflib.patch diff --git a/package/fbv/0006-include.patch b/package/fbv/0005-include.patch similarity index 100% rename from package/fbv/0006-include.patch rename to package/fbv/0005-include.patch diff --git a/package/fbv/0007-libpng15.patch b/package/fbv/0006-libpng15.patch similarity index 100% rename from package/fbv/0007-libpng15.patch rename to package/fbv/0006-libpng15.patch diff --git a/package/fbv/0007-gif.c-fic-build-with-gcc-10.patch b/package/fbv/0007-gif.c-fic-build-with-gcc-10.patch new file mode 100644 index 000000000..57d5777b6 --- /dev/null +++ b/package/fbv/0007-gif.c-fic-build-with-gcc-10.patch @@ -0,0 +1,36 @@ +From 8877207b290da1c3bc100f2705c30e6bdafcd985 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 26 May 2022 23:59:46 +0200 +Subject: [PATCH] gif.c: fic build with gcc >= 10 + +Fix the following build failure with gcc >= 10:: + +/nvmedata/autobuild/instance-30/output-1/per-package/fbv/host/bin/../lib/gcc/powerpc-buildroot-linux-uclibc/11.3.0/../../../../powerpc-buildroot-linux-uclibc/bin/ld: gif.o: in function `fh_gif_load': +gif.c:(.text+0x338): undefined reference to `m_rend_gif_decodecolormap' + +Fixes: + - http://autobuild.buildroot.org/results/dca603a61b1fd0558992b4a40152d23b5b9c0049 + +Signed-off-by: Fabrice Fontaine +[Upstream status: not upstreamable (most active fork dropped gif +support: https://github.com/godspeed1989/fbv/pull/17)] +--- + gif.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gif.c b/gif.c +index 689e549..5560f25 100644 +--- a/gif.c ++++ b/gif.c +@@ -48,7 +48,7 @@ int fh_gif_id(char *name) + return(0); + } + +-inline void m_rend_gif_decodecolormap(unsigned char *cmb,unsigned char *rgbb,ColorMapObject *cm,int s,int l, int transparency) ++static inline void m_rend_gif_decodecolormap(unsigned char *cmb,unsigned char *rgbb,ColorMapObject *cm,int s,int l, int transparency) + { + GifColorType *cmentry; + int i; +-- +2.35.1 + diff --git a/package/feh/feh.hash b/package/feh/feh.hash index 07c0dd940..f74b8fa33 100644 --- a/package/feh/feh.hash +++ b/package/feh/feh.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 57ab1ca61f57c96595878069f550d36f518530f88fa31b74cc39cd739f9258b6 feh-3.7.1.tar.bz2 -sha256 2c3a31327dc3cc3331aa6e759d378e4f66d0ece7174a0d5aa137f3cba4bf0509 COPYING +sha256 57ab1ca61f57c96595878069f550d36f518530f88fa31b74cc39cd739f9258b6 feh-3.7.1.tar.bz2 +sha256 2c3a31327dc3cc3331aa6e759d378e4f66d0ece7174a0d5aa137f3cba4bf0509 COPYING diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk index 1a359beb8..ea0fc97c4 100644 --- a/package/ffmpeg/ffmpeg.mk +++ b/package/ffmpeg/ffmpeg.mk @@ -512,7 +512,11 @@ endif FFMPEG_CONF_OPTS += --disable-asm endif # MIPS -ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y) +ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC):$(BR2_powerpc64le),y:) +FFMPEG_CONF_OPTS += --enable-altivec +else ifeq ($(BR2_POWERPC_CPU_HAS_VSX):$(BR2_powerpc64le),y:y) +# On LE, ffmpeg AltiVec support needs VSX intrinsics, and VSX +# is an extension to AltiVec. FFMPEG_CONF_OPTS += --enable-altivec else FFMPEG_CONF_OPTS += --disable-altivec diff --git a/package/fftw/fftw.hash b/package/fftw/fftw.hash index 1c4a17d8c..b07aad8f1 100644 --- a/package/fftw/fftw.hash +++ b/package/fftw/fftw.hash @@ -1,5 +1,5 @@ # From http://www.fftw.org/fftw-3.3.8.tar.gz.md5sum -md5 8aac833c943d8e90d51b697b27d4384d fftw-3.3.8.tar.gz +md5 8aac833c943d8e90d51b697b27d4384d fftw-3.3.8.tar.gz # Locally computed -sha256 6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303 fftw-3.3.7.tar.gz -sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING +sha256 6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303 fftw-3.3.7.tar.gz +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/ficl/0002-Makefile.linux-pass-LDFLAGS.patch b/package/ficl/0002-Makefile.linux-pass-LDFLAGS.patch new file mode 100644 index 000000000..2138089b0 --- /dev/null +++ b/package/ficl/0002-Makefile.linux-pass-LDFLAGS.patch @@ -0,0 +1,35 @@ +From 33b16f2c4f996a98c3bbbec9af542d020ac276fa Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 9 Aug 2022 23:53:06 +0200 +Subject: [PATCH] Makefile.linux: pass LDFLAGS + +Pass LDFLAGS to avoid the following musl static build failure: + +/home/autobuild/autobuild/instance-5/output-1/host/lib/gcc/sh4eb-buildroot-linux-musl/11.3.0/../../../../sh4eb-buildroot-linux-musl/bin/ld: /home/autobuild/autobuild/instance-5/output-1/host/lib/gcc/sh4eb-buildroot-linux-musl/11.3.0/libgcc.a(unwind-dw2.o): in function `size_of_encoded_value': +/home/autobuild/autobuild/instance-5/output-1/build/host-gcc-final-11.3.0/build/sh4eb-buildroot-linux-musl/libgcc/../../../libgcc/unwind-pe.h:89: undefined reference to `abort' + +Fixes: + - http://autobuild.buildroot.org/results/bf041723ed813746c61892262630a3ac2bc43b14 + +Signed-off-by: Fabrice Fontaine +[Upstream status: upstream is dead] +--- + Makefile.linux | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.linux b/Makefile.linux +index 5f1a41f..df887e6 100644 +--- a/Makefile.linux ++++ b/Makefile.linux +@@ -14,7 +14,7 @@ MAJOR = 4 + MINOR = 0.31 + + ficl: main.o $(HEADERS) libficl.a +- $(CC) main.o -o ficl -L. -lficl -lm ++ $(CC) $(LDFLAGS) main.o -o ficl -L. -lficl -lm + + lib: libficl.so.$(MAJOR).$(MINOR) + +-- +2.35.1 + diff --git a/package/firmware-utils/firmware-utils.mk b/package/firmware-utils/firmware-utils.mk index 151a01882..d5b079e4f 100644 --- a/package/firmware-utils/firmware-utils.mk +++ b/package/firmware-utils/firmware-utils.mk @@ -5,7 +5,8 @@ ################################################################################ FIRMWARE_UTILS_VERSION = 86739f2b3ae9502368b89ef37fa6f31c42aad6f4 -FIRMWARE_UTILS_SITE = git://git.openwrt.org/project/firmware-utils.git +FIRMWARE_UTILS_SITE = https://git.openwrt.org/project/firmware-utils.git +FIRMWARE_UTILS_SITE_METHOD = git FIRMWARE_UTILS_LICENSE = \ BSD-2-Clause (tplink-safeloader), \ BSD-3-Clause (seama), \ diff --git a/package/flac/flac.mk b/package/flac/flac.mk index 2ff048b6e..3a18d8159 100644 --- a/package/flac/flac.mk +++ b/package/flac/flac.mk @@ -20,7 +20,8 @@ FLAC_CONF_OPTS = \ $(if $(BR2_INSTALL_LIBSTDCPP),--enable-cpplibs,--disable-cpplibs) \ --disable-xmms-plugin \ --disable-altivec \ - --disable-stack-smash-protection + --disable-stack-smash-protection \ + --disable-vsx ifeq ($(BR2_PACKAGE_LIBOGG),y) FLAC_CONF_OPTS += --with-ogg=$(STAGING_DIR)/usr diff --git a/package/flannel/flannel.hash b/package/flannel/flannel.hash index 0d0f75e6b..6a0223a20 100644 --- a/package/flannel/flannel.hash +++ b/package/flannel/flannel.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 e17164db3b158d13ce5e40bb7b233790cb186762d929fa4f626baf586d4d63ca v0.14.0.tar.gz -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE +sha256 e17164db3b158d13ce5e40bb7b233790cb186762d929fa4f626baf586d4d63ca v0.14.0.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/flashbench/flashbench.mk b/package/flashbench/flashbench.mk index e89a250aa..f5791c3e9 100644 --- a/package/flashbench/flashbench.mk +++ b/package/flashbench/flashbench.mk @@ -5,7 +5,8 @@ ################################################################################ FLASHBENCH_VERSION = 2e30b1968a66147412f21002ea844122a0d5e2f0 -FLASHBENCH_SITE = git://git.linaro.org/people/arnd/flashbench.git +FLASHBENCH_SITE = https://git.linaro.org/people/arnd/flashbench.git +FLASHBENCH_SITE_METHOD = git FLASHBENCH_LICENSE = GPL-2.0 FLASHBENCH_LICENSE_FILES = COPYING diff --git a/package/flatcc/flatcc.hash b/package/flatcc/flatcc.hash index 11d9d9803..49ad388de 100644 --- a/package/flatcc/flatcc.hash +++ b/package/flatcc/flatcc.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a92da3566d11e19bb807a83554b1a2c644a5bd91c9d9b088514456bb56e1c666 flatcc-0.6.0.tar.gz -sha256 c8f0d9c1f92c658d87ebd854ee7447a3d3912d2c3a5c78c117787be5d5da8af3 LICENSE +sha256 a92da3566d11e19bb807a83554b1a2c644a5bd91c9d9b088514456bb56e1c666 flatcc-0.6.0.tar.gz +sha256 c8f0d9c1f92c658d87ebd854ee7447a3d3912d2c3a5c78c117787be5d5da8af3 LICENSE diff --git a/package/flex/flex.hash b/package/flex/flex.hash index ee9057390..3bfb04d67 100644 --- a/package/flex/flex.hash +++ b/package/flex/flex.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995 flex-2.6.4.tar.gz +sha256 e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995 flex-2.6.4.tar.gz # License files, locally calculated -sha256 97fd685958d93be7f8dab939bb8161dbd6afb0718c63bfc337c24321aea44273 COPYING +sha256 97fd685958d93be7f8dab939bb8161dbd6afb0718c63bfc337c24321aea44273 COPYING diff --git a/package/flickcurl/flickcurl.hash b/package/flickcurl/flickcurl.hash index 92ba68361..8c3ea1682 100644 --- a/package/flickcurl/flickcurl.hash +++ b/package/flickcurl/flickcurl.hash @@ -1,7 +1,7 @@ # Locally calculated after checking pgp signature -sha256 ff42a36c7c1c7d368246f6bc9b7d792ed298348e5f0f5d432e49f6803562f5a3 flickcurl-1.26.tar.gz +sha256 ff42a36c7c1c7d368246f6bc9b7d792ed298348e5f0f5d432e49f6803562f5a3 flickcurl-1.26.tar.gz # Locally computed -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING -sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE-2.0.txt -sha256 3590f30b0fb9446a1f0a7ea5bcbb5786fa66fa362800f53d2575875d74b91909 LICENSE.html +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE-2.0.txt +sha256 3590f30b0fb9446a1f0a7ea5bcbb5786fa66fa362800f53d2575875d74b91909 LICENSE.html diff --git a/package/flot/flot.hash b/package/flot/flot.hash index c8272fc0b..fb7a33197 100644 --- a/package/flot/flot.hash +++ b/package/flot/flot.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ef9a873befe3ff5ea42ebf1c3657887265a1717744ca8ed0c2bd3dd736d16b21 flot-0.8.3.tar.gz -sha256 52cb566b16d84314b92b91361ed072eaaf166e8d3dfa3d0fd3577613925f205c LICENSE.txt +sha256 ef9a873befe3ff5ea42ebf1c3657887265a1717744ca8ed0c2bd3dd736d16b21 flot-0.8.3.tar.gz +sha256 52cb566b16d84314b92b91361ed072eaaf166e8d3dfa3d0fd3577613925f205c LICENSE.txt diff --git a/package/fluid-soundfont/fluid-soundfont.hash b/package/fluid-soundfont/fluid-soundfont.hash index 7aaac6008..ecc57a1e0 100644 --- a/package/fluid-soundfont/fluid-soundfont.hash +++ b/package/fluid-soundfont/fluid-soundfont.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 2621acaa1c78e4abdb24bdd163230cc577e61276936d6aa6e3180582142f0343 fluid-soundfont_3.1.orig.tar.gz -sha256 8ef830b65c97a976b86e34bb5fde08d99dfb1db13c4149b5b20bc837ac6c4568 COPYING +sha256 2621acaa1c78e4abdb24bdd163230cc577e61276936d6aa6e3180582142f0343 fluid-soundfont_3.1.orig.tar.gz +sha256 8ef830b65c97a976b86e34bb5fde08d99dfb1db13c4149b5b20bc837ac6c4568 COPYING diff --git a/package/fluidsynth/Config.in b/package/fluidsynth/Config.in index 5726e235e..376419ce8 100644 --- a/package/fluidsynth/Config.in +++ b/package/fluidsynth/Config.in @@ -6,6 +6,7 @@ config BR2_PACKAGE_FLUIDSYNTH # the .pc file installed by fluidsynth does not mention its # indirect dependencies in Libs.private. depends on !BR2_STATIC_LIBS + depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_LIBGLIB2 help FluidSynth is a real-time software synthesizer based on the @@ -128,7 +129,7 @@ config BR2_PACKAGE_FLUIDSYNTH_READLINE endif # BR2_PACKAGE_FLUIDSYNTH -comment "fluidsynth needs a toolchain w/ threads, wchar, dynamic library" +comment "fluidsynth needs a toolchain w/ threads, wchar, dynamic library, C++" depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - BR2_STATIC_LIBS + BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP diff --git a/package/fluidsynth/fluidsynth.hash b/package/fluidsynth/fluidsynth.hash index 0d41c16d8..25f9c4f07 100644 --- a/package/fluidsynth/fluidsynth.hash +++ b/package/fluidsynth/fluidsynth.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 9037e703617f91c4c36039a5059e0f624164799d856af715bcd8a23c07ba03b8 fluidsynth-2.2.5.tar.gz +sha256 7c29a5cb7a2755c8012d941d1335da7bda957bbb0a86b7c59215d26773bb51fe fluidsynth-2.2.8.tar.gz sha256 9b872a8a070b8ad329c4bd380fb1bf0000f564c75023ec8e1e6803f15364b9e9 LICENSE diff --git a/package/fluidsynth/fluidsynth.mk b/package/fluidsynth/fluidsynth.mk index b500944c1..3ae005f85 100644 --- a/package/fluidsynth/fluidsynth.mk +++ b/package/fluidsynth/fluidsynth.mk @@ -4,7 +4,7 @@ # ################################################################################ -FLUIDSYNTH_VERSION = 2.2.5 +FLUIDSYNTH_VERSION = 2.2.8 FLUIDSYNTH_SITE = $(call github,FluidSynth,fluidsynth,v$(FLUIDSYNTH_VERSION)) FLUIDSYNTH_LICENSE = LGPL-2.1+ FLUIDSYNTH_LICENSE_FILES = LICENSE diff --git a/package/fmc/Config.in b/package/fmc/Config.in index 4399aa2ca..c89a87c99 100644 --- a/package/fmc/Config.in +++ b/package/fmc/Config.in @@ -21,5 +21,7 @@ config BR2_PACKAGE_FMC packets flow into hardware configuration. The tool provides an abstraction layer between the end customer's vision of the PCD task definition and real hardware implementation. + See application note: + https://www.nxp.com/docs/en/application-note/AN4760.pdf - http://cache.freescale.com/files/32bit/doc/app_note/AN4760.pdf + https://github.com/nxp-qoriq/fmc diff --git a/package/fmc/fmc.hash b/package/fmc/fmc.hash index fed33091c..7309562b0 100644 --- a/package/fmc/fmc.hash +++ b/package/fmc/fmc.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 cb896ec1fac2fe9a3a9bb8be2221b79acf5f9b75841609a681db0d9e7bec02a0 fmc-fsl-sdk-v2.0-br1.tar.gz +sha256 e8594e37eb81e5b1f492f8494b98086f65180637b1e2e08d8a4475c23653a404 fmc-a079d2c844edd85dff85a317a63198e7988bcd09.tar.gz sha256 f92862ceb95db5492f50a59d7c799c9395b714db88db92d11891dc0233e2ac42 COPYING diff --git a/package/fmc/fmc.mk b/package/fmc/fmc.mk index b38573013..6ac8c768d 100644 --- a/package/fmc/fmc.mk +++ b/package/fmc/fmc.mk @@ -4,9 +4,8 @@ # ################################################################################ -FMC_VERSION = fsl-sdk-v2.0 -FMC_SITE = https://source.codeaurora.org/external/qoriq/qoriq-yocto-sdk/fmc -FMC_SITE_METHOD = git +FMC_VERSION = a079d2c844edd85dff85a317a63198e7988bcd09 +FMC_SITE = $(call github,nxp-qoriq,fmc,$(FMC_VERSION)) FMC_LICENSE = MIT FMC_LICENSE_FILES = COPYING FMC_DEPENDENCIES = libxml2 tclap fmlib diff --git a/package/fmlib/Config.in b/package/fmlib/Config.in index df4ae440e..97d55d125 100644 --- a/package/fmlib/Config.in +++ b/package/fmlib/Config.in @@ -13,7 +13,7 @@ config BR2_PACKAGE_FMLIB configure driver parameters and PCD (parse - classify - distribute) rules. - http://git.freescale.com/git/cgit.cgi/ppc/sdk/fmlib.git/tree/README + https://github.com/nxp-qoriq/fmlib if BR2_PACKAGE_FMLIB choice @@ -37,7 +37,7 @@ endchoice config BR2_PACKAGE_FMLIB_ARCHTYPE string - default "e500mc" if BR2_powerpc_e500mc + default "ppce500mc" if BR2_powerpc_e500mc default "ppc64e6500" if BR2_powerpc_e6500 && BR2_powerpc64 default "ppc32e6500" if BR2_powerpc_e6500 && BR2_powerpc diff --git a/package/fmlib/fmlib.hash b/package/fmlib/fmlib.hash index 47460d091..d4dcf3be5 100644 --- a/package/fmlib/fmlib.hash +++ b/package/fmlib/fmlib.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 59415d346af1d22f510f2785be4c7e3606dc3181476a666e832270550f7d44a6 fmlib-fsl-sdk-v2.0-br1.tar.gz +sha256 6e9e6bdb42dc2a6a76cfd756a2d4cdfcc2be90925c1f439e8a11eafa871896a6 fmlib-43fa98fdbf0c697167e415c3f060896d5b482791.tar.gz sha256 837559e20d83910a005e7883b876cc5c42805fe4abcf7e5c5b3c8d036b7f61c8 COPYING diff --git a/package/fmlib/fmlib.mk b/package/fmlib/fmlib.mk index 8cb779201..9509f3de5 100644 --- a/package/fmlib/fmlib.mk +++ b/package/fmlib/fmlib.mk @@ -4,9 +4,8 @@ # ################################################################################ -FMLIB_VERSION = fsl-sdk-v2.0 -FMLIB_SITE = https://source.codeaurora.org/external/qoriq/qoriq-yocto-sdk/fmlib -FMLIB_SITE_METHOD = git +FMLIB_VERSION = 43fa98fdbf0c697167e415c3f060896d5b482791 +FMLIB_SITE = $(call github,nxp-qoriq,fmlib,$(FMLIB_VERSION)) FMLIB_LICENSE = BSD-3-Clause, GPL-2.0+ FMLIB_LICENSE_FILES = COPYING FMLIB_DEPENDENCIES = linux diff --git a/package/font-awesome/font-awesome.hash b/package/font-awesome/font-awesome.hash index 2ea11d5fe..89bc411f6 100644 --- a/package/font-awesome/font-awesome.hash +++ b/package/font-awesome/font-awesome.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 de512ba0e1dead382bbfce372cde74b3f18971d876fffb635ee9333f0db05d43 font-awesome-4.7.0.tar.gz +sha256 de512ba0e1dead382bbfce372cde74b3f18971d876fffb635ee9333f0db05d43 font-awesome-4.7.0.tar.gz diff --git a/package/fontconfig/fontconfig.hash b/package/fontconfig/fontconfig.hash index 153f00c3d..844ee426d 100644 --- a/package/fontconfig/fontconfig.hash +++ b/package/fontconfig/fontconfig.hash @@ -1,5 +1,5 @@ # From https://lists.freedesktop.org/archives/fontconfig/2018-August/006324.html -sha256 f655dd2a986d7aa97e052261b36aa67b0a64989496361eca8d604e6414006741 fontconfig-2.13.1.tar.bz2 +sha256 f655dd2a986d7aa97e052261b36aa67b0a64989496361eca8d604e6414006741 fontconfig-2.13.1.tar.bz2 # Locally calculated -sha256 fa4cd9ab005185e10cd8f7504518856c7dd36c01e766c2bac87f4fc638e9f886 COPYING +sha256 fa4cd9ab005185e10cd8f7504518856c7dd36c01e766c2bac87f4fc638e9f886 COPYING diff --git a/package/freerdp/freerdp.hash b/package/freerdp/freerdp.hash index 28e733aa2..f6adc0531 100644 --- a/package/freerdp/freerdp.hash +++ b/package/freerdp/freerdp.hash @@ -1,5 +1,5 @@ -# From https://pub.freerdp.com/releases/freerdp-2.6.1.tar.gz.sha256 -sha256 e4b3b93d102bc03164f592d26d7a06d6de648bf78b1e3dcbd8d62941431c1f28 freerdp-2.6.1.tar.gz +# From https://pub.freerdp.com/releases/freerdp-2.9.0.tar.gz.sha256 +sha256 fcf71cf5b09c5c2636341ba212f34b8fb728246ea28e08caf6cef8b4a96184b7 freerdp-2.9.0.tar.gz # Locally calculated sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/freerdp/freerdp.mk b/package/freerdp/freerdp.mk index a1791b27f..fb0e6920c 100644 --- a/package/freerdp/freerdp.mk +++ b/package/freerdp/freerdp.mk @@ -4,7 +4,7 @@ # ################################################################################ -FREERDP_VERSION = 2.6.1 +FREERDP_VERSION = 2.9.0 FREERDP_SITE = https://pub.freerdp.com/releases FREERDP_DEPENDENCIES = libglib2 openssl zlib FREERDP_LICENSE = Apache-2.0 diff --git a/package/freescale-imx/freescale-imx.mk b/package/freescale-imx/freescale-imx.mk index 84a1725cc..ef8732463 100644 --- a/package/freescale-imx/freescale-imx.mk +++ b/package/freescale-imx/freescale-imx.mk @@ -4,7 +4,7 @@ # ################################################################################ -FREESCALE_IMX_SITE = http://www.nxp.com/lgfiles/NMG/MAD/YOCTO +FREESCALE_IMX_SITE = https://www.nxp.com/lgfiles/NMG/MAD/YOCTO # Helper for self-extracting binaries distributed by Freescale. # diff --git a/package/freescale-imx/imx-alsa-plugins/Config.in b/package/freescale-imx/imx-alsa-plugins/Config.in index ec9b5b19c..df47edd16 100644 --- a/package/freescale-imx/imx-alsa-plugins/Config.in +++ b/package/freescale-imx/imx-alsa-plugins/Config.in @@ -13,6 +13,8 @@ config BR2_PACKAGE_IMX_ALSA_PLUGINS * Rate Converter Plugin Using Freescale ASRC Hardware Resampler (i.MX53 and most i.MX6) + https://github.com/nxp-imx/imx-alsa-plugins + comment "imx-alsa-libs needs an imx-specific Linux kernel to be built" depends on BR2_arm depends on !BR2_LINUX_KERNEL diff --git a/package/freescale-imx/imx-alsa-plugins/imx-alsa-plugins.hash b/package/freescale-imx/imx-alsa-plugins/imx-alsa-plugins.hash index bb7beede9..1ca7697f0 100644 --- a/package/freescale-imx/imx-alsa-plugins/imx-alsa-plugins.hash +++ b/package/freescale-imx/imx-alsa-plugins/imx-alsa-plugins.hash @@ -1,3 +1,3 @@ # Locally calculated: -sha256 a9a5ef408a7329c2c5fa2a084ae7824afbfbebed68612bd72509488ccb0b94b3 imx-alsa-plugins-rel_imx_4.9.x_1.0.0_ga-br1.tar.gz +sha256 089bba009f82bf5e4a1e34b77a7d3badce2948619d92bec7a7ad42e766442d4c imx-alsa-plugins-rel_imx_4.9.x_1.0.0_ga.tar.gz sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING.GPL diff --git a/package/freescale-imx/imx-alsa-plugins/imx-alsa-plugins.mk b/package/freescale-imx/imx-alsa-plugins/imx-alsa-plugins.mk index 9c81ff0df..912cc7c68 100644 --- a/package/freescale-imx/imx-alsa-plugins/imx-alsa-plugins.mk +++ b/package/freescale-imx/imx-alsa-plugins/imx-alsa-plugins.mk @@ -5,8 +5,7 @@ ################################################################################ IMX_ALSA_PLUGINS_VERSION = rel_imx_4.9.x_1.0.0_ga -IMX_ALSA_PLUGINS_SITE = https://source.codeaurora.org/external/imx/imx-alsa-plugins -IMX_ALSA_PLUGINS_SITE_METHOD = git +IMX_ALSA_PLUGINS_SITE = $(call github,nxp-imx,imx-alsa-plugins,$(IMX_ALSA_PLUGINS_VERSION)) IMX_ALSA_PLUGINS_LICENSE = GPL-2.0+ IMX_ALSA_PLUGINS_LICENSE_FILES = COPYING.GPL IMX_ALSA_PLUGINS_DEPENDENCIES = host-pkgconf alsa-lib diff --git a/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk b/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk index 1d76d79e2..3c013bc17 100644 --- a/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk +++ b/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk @@ -57,7 +57,7 @@ define IMX_GPU_VIV_FIXUP_PKGCONFIG endef else ifeq ($(IMX_GPU_VIV_LIB_TARGET),x11) define IMX_GPU_VIV_FIXUP_PKGCONFIG - $(foreach lib,egl gbm glesv1_cm glesv2 vg, \ + $(foreach lib,egl glesv1_cm glesv2 vg, \ ln -sf $(lib)_x11.pc $(@D)/gpu-core/usr/lib/pkgconfig/$(lib).pc ) endef diff --git a/package/freescale-imx/imx-kobs/Config.in b/package/freescale-imx/imx-kobs/Config.in index 61be9f26d..a81842b9a 100644 --- a/package/freescale-imx/imx-kobs/Config.in +++ b/package/freescale-imx/imx-kobs/Config.in @@ -5,5 +5,4 @@ config BR2_PACKAGE_IMX_KOBS The imx-kobs tool is used for writing images to NAND on i.MX platforms. - This library is provided by Freescale as-is and doesn't have - an upstream. + https://github.com/NXPmicro/imx-kobs diff --git a/package/freescale-imx/imx-kobs/imx-kobs.mk b/package/freescale-imx/imx-kobs/imx-kobs.mk index d6a250cf7..91b39f6fa 100644 --- a/package/freescale-imx/imx-kobs/imx-kobs.mk +++ b/package/freescale-imx/imx-kobs/imx-kobs.mk @@ -5,7 +5,7 @@ ################################################################################ IMX_KOBS_VERSION = a0e9adce2fb7fcd57e794d7f9a5deba0f94f521b -IMX_KOBS_SITE = $(call github,codeauroraforum,imx-kobs,$(IMX_KOBS_VERSION)) +IMX_KOBS_SITE = $(call github,NXPmicro,imx-kobs,$(IMX_KOBS_VERSION)) IMX_KOBS_LICENSE = GPL-2.0+ IMX_KOBS_LICENSE_FILES = COPYING diff --git a/package/freescale-imx/imx-lib/Config.in b/package/freescale-imx/imx-lib/Config.in index 746788e4c..0a89bf140 100644 --- a/package/freescale-imx/imx-lib/Config.in +++ b/package/freescale-imx/imx-lib/Config.in @@ -11,5 +11,4 @@ config BR2_PACKAGE_IMX_LIB platform specific drivers. It requires a kernel that includes the i.MX specific headers to be built. - This library is provided by Freescale as-is and doesn't have - an upstream. + https://github.com/nxp-imx/imx-lib diff --git a/package/freescale-imx/imx-lib/imx-lib.mk b/package/freescale-imx/imx-lib/imx-lib.mk index 721c20e5f..f06453e8a 100644 --- a/package/freescale-imx/imx-lib/imx-lib.mk +++ b/package/freescale-imx/imx-lib/imx-lib.mk @@ -5,7 +5,7 @@ ################################################################################ IMX_LIB_VERSION = 3f777974c0c146817e2ff5cb0340ca66a1f99e57 -IMX_LIB_SITE = https://source.codeaurora.org/external/imx/imx-lib +IMX_LIB_SITE = https://github.com/nxp-imx/imx-lib.git IMX_LIB_SITE_METHOD = git IMX_LIB_LICENSE = LGPL-2.1+ IMX_LIB_LICENSE_FILES = COPYING-LGPL-2.1 diff --git a/package/freescale-imx/imx-m4fwloader/Config.in b/package/freescale-imx/imx-m4fwloader/Config.in index 937f82f91..d75480a70 100644 --- a/package/freescale-imx/imx-m4fwloader/Config.in +++ b/package/freescale-imx/imx-m4fwloader/Config.in @@ -5,4 +5,4 @@ config BR2_PACKAGE_IMX_M4FWLOADER This package provides a tool to load a firmware to the Cortex-M4 core available in some i.MX processors. - https://github.com/codeauroraforum/imx-m4fwloader + https://github.com/NXPmicro/imx-m4fwloader diff --git a/package/freescale-imx/imx-m4fwloader/imx-m4fwloader.hash b/package/freescale-imx/imx-m4fwloader/imx-m4fwloader.hash index 2bf3f15d0..0949a099b 100644 --- a/package/freescale-imx/imx-m4fwloader/imx-m4fwloader.hash +++ b/package/freescale-imx/imx-m4fwloader/imx-m4fwloader.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 fb6334900972fe389e808845417dd9045fb0f7eb47952fc22a00f4cdaf94af1a imx-m4fwloader-8cf4d17a09ba23250d43381b49ba00d92406fad9.tar.gz -sha256 c03cea027b4b40e4402fabd08557736727ec3d5bc54ad64ab6472de432198cad LICENSE +sha256 fb6334900972fe389e808845417dd9045fb0f7eb47952fc22a00f4cdaf94af1a imx-m4fwloader-8cf4d17a09ba23250d43381b49ba00d92406fad9.tar.gz +sha256 c03cea027b4b40e4402fabd08557736727ec3d5bc54ad64ab6472de432198cad LICENSE diff --git a/package/freescale-imx/imx-m4fwloader/imx-m4fwloader.mk b/package/freescale-imx/imx-m4fwloader/imx-m4fwloader.mk index cc4849330..320d5dc61 100644 --- a/package/freescale-imx/imx-m4fwloader/imx-m4fwloader.mk +++ b/package/freescale-imx/imx-m4fwloader/imx-m4fwloader.mk @@ -5,7 +5,7 @@ ################################################################################ IMX_M4FWLOADER_VERSION = 8cf4d17a09ba23250d43381b49ba00d92406fad9 -IMX_M4FWLOADER_SITE = $(call github,codeauroraforum,imx-m4fwloader,$(IMX_M4FWLOADER_VERSION)) +IMX_M4FWLOADER_SITE = $(call github,NXPmicro,imx-m4fwloader,$(IMX_M4FWLOADER_VERSION)) IMX_M4FWLOADER_LICENSE = GPL-2.0+ IMX_M4FWLOADER_LICENSE_FILES = LICENSE diff --git a/package/freescale-imx/imx-uuc/imx-uuc.hash b/package/freescale-imx/imx-uuc/imx-uuc.hash index 5d9546390..c41ac57ca 100644 --- a/package/freescale-imx/imx-uuc/imx-uuc.hash +++ b/package/freescale-imx/imx-uuc/imx-uuc.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 7f4d4838d4bf489932ef4a242677db30ad8d9ffd76065e07f4ddee3e6c35db82 imx-uuc-d6afb27e55d73d7ad08cd2dd51c784d8ec9694dc.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 7f4d4838d4bf489932ef4a242677db30ad8d9ffd76065e07f4ddee3e6c35db82 imx-uuc-d6afb27e55d73d7ad08cd2dd51c784d8ec9694dc.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/freeswitch/0001-fix-build-SWITCH_BYTE_ORDER-__BIG_ENDIAN.patch b/package/freeswitch/0001-fix-build-SWITCH_BYTE_ORDER-__BIG_ENDIAN.patch deleted file mode 100644 index 57f6e660c..000000000 --- a/package/freeswitch/0001-fix-build-SWITCH_BYTE_ORDER-__BIG_ENDIAN.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 68039d344d8e826e8b403c9cd0284fd07b4495ac Mon Sep 17 00:00:00 2001 -From: Dragos Oancea -Date: Tue, 26 Oct 2021 08:42:58 +0000 -Subject: [PATCH] [core] fix build SWITCH_BYTE_ORDER == __BIG_ENDIAN - -Downloaded from upstream commit: -https://github.com/signalwire/freeswitch/commit/68039d344d8e826e8b403c9cd0284fd07b4495ac - -Signed-off-by: Bernd Kuhls ---- - src/switch_rtp.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/switch_rtp.c b/src/switch_rtp.c -index 1880bbb19c..843ee81381 100644 ---- a/src/switch_rtp.c -+++ b/src/switch_rtp.c -@@ -2155,7 +2155,7 @@ static void switch_send_rtcp_event(switch_rtp_t *rtp_session ,struct switch_rtcp - switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, header, value); - snprintf(header, sizeof(header), "Source-Lost"); - #if SWITCH_BYTE_ORDER == __BIG_ENDIAN -- tmpLost = report->lost; /* signed 24bit will extended signess to int32_t automatically */ -+ tmpLost = rtcp_report_block->lost; /* signed 24bit will extended signess to int32_t automatically */ - #else - tmpLost = ntohl(rtcp_report_block->lost)>>8; - tmpLost = tmpLost | ((tmpLost & 0x00800000) ? 0xff000000 : 0x00000000); /* ...and signess compensation */ diff --git a/package/freeswitch/0001-libs-srtp-crypto-hash-hmac_ossl.c-fix-build-with-lib.patch b/package/freeswitch/0001-libs-srtp-crypto-hash-hmac_ossl.c-fix-build-with-lib.patch new file mode 100644 index 000000000..eb717fc26 --- /dev/null +++ b/package/freeswitch/0001-libs-srtp-crypto-hash-hmac_ossl.c-fix-build-with-lib.patch @@ -0,0 +1,59 @@ +From c8cc6f1773ff370bb14bb963e2f632eef6d6a3c2 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 12 May 2022 23:22:42 +0200 +Subject: [PATCH] libs/srtp/crypto/hash/hmac_ossl.c: fix build with libressl >= + 3.5.0 + +Fix the following build failure with libressl >= 3.5.0: + +crypto/hash/hmac_ossl.c: In function 'srtp_hmac_alloc': +crypto/hash/hmac_ossl.c:88:55: error: invalid application of 'sizeof' to incomplete type 'HMAC_CTX' {aka 'struct hmac_ctx_st'} + 88 | pointer = (uint8_t *)srtp_crypto_alloc(sizeof(HMAC_CTX) + + | ^~~~~~~~ +crypto/hash/hmac_ossl.c:97:9: warning: implicit declaration of function 'HMAC_CTX_init'; did you mean 'HMAC_CTX_new'? [-Wimplicit-function-declaration] + 97 | HMAC_CTX_init(new_hmac_ctx); + | ^~~~~~~~~~~~~ + | HMAC_CTX_new +crypto/hash/hmac_ossl.c: In function 'srtp_hmac_dealloc': +crypto/hash/hmac_ossl.c:130:5: warning: implicit declaration of function 'HMAC_CTX_cleanup' [-Wimplicit-function-declaration] + 130 | HMAC_CTX_cleanup(hmac_ctx); + | ^~~~~~~~~~~~~~~~ +crypto/hash/hmac_ossl.c:133:40: error: invalid application of 'sizeof' to incomplete type 'HMAC_CTX' {aka 'struct hmac_ctx_st'} + 133 | octet_string_set_to_zero(a, sizeof(HMAC_CTX) + sizeof(srtp_auth_t)); + | ^~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/e696ead9ffffa5bb80928d75607bfbb9b263d3c6 + +Signed-off-by: Fabrice Fontaine +--- + libs/srtp/crypto/hash/hmac_ossl.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/libs/srtp/crypto/hash/hmac_ossl.c b/libs/srtp/crypto/hash/hmac_ossl.c +index 8146438b05..6730cbb35c 100644 +--- a/libs/srtp/crypto/hash/hmac_ossl.c ++++ b/libs/srtp/crypto/hash/hmac_ossl.c +@@ -79,7 +79,8 @@ static srtp_err_status_t srtp_hmac_alloc(srtp_auth_t **a, + + /* OpenSSL 1.1.0 made HMAC_CTX an opaque structure, which must be allocated + using HMAC_CTX_new. But this function doesn't exist in OpenSSL 1.0.x. */ +-#if OPENSSL_VERSION_NUMBER < 0x10100000L || LIBRESSL_VERSION_NUMBER ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ ++ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L) + { + /* allocate memory for auth and HMAC_CTX structures */ + uint8_t *pointer; +@@ -125,7 +126,8 @@ static srtp_err_status_t srtp_hmac_dealloc(srtp_auth_t *a) + + hmac_ctx = (HMAC_CTX *)a->state; + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L || LIBRESSL_VERSION_NUMBER ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ ++ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L) + HMAC_CTX_cleanup(hmac_ctx); + + /* zeroize entire state*/ +-- +2.35.1 + diff --git a/package/freeswitch/0002-core-fix--disable-libyuv.patch b/package/freeswitch/0002-core-fix--disable-libyuv.patch deleted file mode 100644 index 137cb27cf..000000000 --- a/package/freeswitch/0002-core-fix--disable-libyuv.patch +++ /dev/null @@ -1,129 +0,0 @@ -From a2ce46c6fde38d6ac54a8a2ee1a5b391e2ed2071 Mon Sep 17 00:00:00 2001 -From: Sebastian Kemper -Date: Mon, 1 Nov 2021 09:59:09 +0100 -Subject: [PATCH] [core] fix "--disable-libyuv" - -Recent changes made it impossible to compile freeswitch without libyuv -support. - -src/switch_core_video.c: In function 'switch_img_read_from_file': -src/switch_core_video.c:3139:4: error: implicit declaration of function 'RAWToI420' [-Werror=implicit-function-declaration] -RAWToI420(data, width * 3, -^ -src/switch_core_video.c:3148:4: error: implicit declaration of function 'ABGRToARGB' [-Werror=implicit-function-declaration] -ABGRToARGB(data, width * 4, img->planes[SWITCH_PLANE_PACKED], img->stride[SWITCH_PLANE_PACKED], width, height); -^ - -Fix this my adding/moving the checks for "SWITCH_HAVE_YUV". - -Downloaded from upstream commit: -https://github.com/signalwire/freeswitch/commit/a2ce46c6fde38d6ac54a8a2ee1a5b391e2ed2071 - -Signed-off-by: Bernd Kuhls -Signed-off-by: Sebastian Kemper ---- - src/switch_core_video.c | 12 ++++++++++++ - tests/unit/switch_core_video.c | 4 ++++ - 2 files changed, 16 insertions(+) - -diff --git a/src/switch_core_video.c b/src/switch_core_video.c -index 7dbd685d6ee..0d377f9c3e4 100644 ---- a/src/switch_core_video.c -+++ b/src/switch_core_video.c -@@ -3116,6 +3116,7 @@ SWITCH_DECLARE(switch_status_t) switch_img_data_url_png(switch_image_t *img, cha - - SWITCH_DECLARE(switch_image_t *) switch_img_read_from_file(const char* file_name, switch_img_fmt_t img_fmt) - { -+#ifdef SWITCH_HAVE_YUV - int width = 0, height = 0, channels = 0; - int comp = STBI_rgb; - unsigned char *data = NULL; -@@ -3155,12 +3156,16 @@ SWITCH_DECLARE(switch_image_t *) switch_img_read_from_file(const char* file_name - } else if (data) { - stbi_image_free(data); - } -+#endif - - return NULL; - } - - SWITCH_DECLARE(switch_status_t) switch_img_write_to_file(switch_image_t *img, const char* file_name, int quality) - { -+#ifndef SWITCH_HAVE_YUV -+ return SWITCH_STATUS_FALSE; -+#else - int comp = STBI_rgb; - unsigned char *data = NULL; - const char *ext = strrchr(file_name, '.'); -@@ -3217,6 +3222,7 @@ SWITCH_DECLARE(switch_status_t) switch_img_write_to_file(switch_image_t *img, co - free(data); - - return ret ? SWITCH_STATUS_SUCCESS : SWITCH_STATUS_FALSE; -+#endif - } - - typedef struct data_url_context_s { -@@ -3224,14 +3230,19 @@ typedef struct data_url_context_s { - char **urlP; - } data_url_context_t; - -+#ifdef SWITCH_HAVE_YUV - static void data_url_write_func(void *context, void *data, int size) - { - switch_buffer_t *buffer = (switch_buffer_t *)context; - switch_buffer_write(buffer, data, size); - } -+#endif - - SWITCH_DECLARE(switch_status_t) switch_img_data_url(switch_image_t *img, char **urlP, const char *type, int quality) - { -+#ifndef SWITCH_HAVE_YUV -+ return SWITCH_STATUS_FALSE; -+#else - int comp = STBI_rgb; - unsigned char *data = NULL; - int stride_in_bytes = 0; -@@ -3300,6 +3311,7 @@ SWITCH_DECLARE(switch_status_t) switch_img_data_url(switch_image_t *img, char ** - switch_buffer_destroy(&buffer); - - return ret ? SWITCH_STATUS_SUCCESS : SWITCH_STATUS_FALSE; -+#endif /* SWITCH_HAVE_YUV */ - } - - -diff --git a/tests/unit/switch_core_video.c b/tests/unit/switch_core_video.c -index 27c96102929..e395db474d5 100644 ---- a/tests/unit/switch_core_video.c -+++ b/tests/unit/switch_core_video.c -@@ -48,6 +48,7 @@ FST_CORE_BEGIN("./conf") - } - FST_TEARDOWN_END() - -+#ifdef SWITCH_HAVE_YUV - FST_TEST_BEGIN(data_url_test) - { - char *data_url = NULL; -@@ -88,6 +89,7 @@ FST_CORE_BEGIN("./conf") - unlink(argb_filename); - } - FST_TEST_END() -+#endif /* SWITCH_HAVE_YUV */ - - FST_TEST_BEGIN(img_patch) - { -@@ -239,6 +241,7 @@ FST_CORE_BEGIN("./conf") - } - FST_TEST_END() - -+#ifdef SWITCH_HAVE_YUV - FST_TEST_BEGIN(stb_data_url) - { - switch_image_t *img = switch_img_alloc(NULL, SWITCH_IMG_FMT_I420, 120, 60, 1); -@@ -321,6 +324,7 @@ FST_CORE_BEGIN("./conf") - unlink(jpg_write_filename); - } - FST_TEST_END() -+#endif /* SWITCH_HAVE_YUV */ - } - FST_SUITE_END() - } diff --git a/package/freeswitch/freeswitch.hash b/package/freeswitch/freeswitch.hash index 8066c620c..3497a3283 100644 --- a/package/freeswitch/freeswitch.hash +++ b/package/freeswitch/freeswitch.hash @@ -1,12 +1,10 @@ -# From https://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.7.-release.tar.xz.sha256 -sha256 0919bddc2ea9cab2e4944314e71637bea9dd4f40d510722a74ea032104594c41 freeswitch-1.10.7.-release.tar.xz +# From https://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.9.-release.tar.xz.sha256 +sha256 f649d53af7beccb59c1d03864cd8f2d287e4ea26ef652b5c4969d29121ced063 freeswitch-1.10.9.-release.tar.xz # Locally computed sha256 75c933202f40939cdc3827fce20a1efdaa38291e2b5a65d234eb16e2cffda66a COPYING sha256 c3e3388768dae8bf4edcc4108f95be815b8a05c0b0aef6e4c3d8df81affdfa34 docs/OPENH264_BINARY_LICENSE.txt sha256 e8e26b16da14aa3e6ed5c22c705fdc1f45d6225fca461ea9f7314bcdfdc414c4 libs/apr/LICENSE -sha256 1eefb2ea1db0af7729a9d8a27d7c65d8a37ab185393f935b029aac6828ce315a libs/apr-util/LICENSE sha256 8267348d5af1262c11d1a08de2f5afc77457755f1ac658627dd9acf71011d615 libs/libvpx/LICENSE sha256 2b2cc1180c7e6988328ad2033b04b80117419db9c4c584918bbb3cfec7e9364f libs/libyuv/LICENSE -sha256 7d72a8aee2c4b1a084200487992a5d86f5df6b535727a14c1874918e99d24600 libs/libzrtp/src/zrtp_legal.c sha256 8e19d42a1eec9561f3f347253ddf2e385c55f392f025bb0fd41b88dbf38db5ae libs/srtp/LICENSE sha256 ab00a482b6a3902e40211b43c5d0441962ea99b6cc7c25c0f243fa270b78d482 src/mod/codecs/mod_isac/LICENSE diff --git a/package/freeswitch/freeswitch.mk b/package/freeswitch/freeswitch.mk index c576e5f26..7497cc496 100644 --- a/package/freeswitch/freeswitch.mk +++ b/package/freeswitch/freeswitch.mk @@ -4,20 +4,19 @@ # ################################################################################ -FREESWITCH_VERSION = 1.10.7 +FREESWITCH_VERSION = 1.10.9 FREESWITCH_SOURCE = freeswitch-$(FREESWITCH_VERSION).-release.tar.xz FREESWITCH_SITE = https://files.freeswitch.org/freeswitch-releases # External modules need headers/libs from staging FREESWITCH_INSTALL_STAGING = YES FREESWITCH_LICENSE = MPL-1.1, \ GPL-3.0+ with font exception (fonts), \ - Apache-2.0 (apr, apr-util), \ + Apache-2.0 (apr), \ BSD-3-Clause (libsrtp) FREESWITCH_LICENSE_FILES = \ COPYING \ libs/apr/LICENSE \ - libs/apr-util/LICENSE \ libs/srtp/LICENSE FREESWITCH_CPE_ID_VENDOR = freeswitch @@ -50,6 +49,10 @@ FREESWITCH_CONF_ENV += \ ac_cv_prog_PHP_CONFIG=false \ ac_cv_have_php_config=no +# disable pcap detection, pcap is an optional dependency for unit tests +FREESWITCH_CONF_ENV += \ + ac_cv_prog_HAVE_PCAP_CONFIG=false + # copied from freeswitch/configure.ac, line 258+ FREESWITCH_CONF_ENV += \ ac_cv_file__dev_ptmx=yes \ @@ -78,15 +81,6 @@ FREESWITCH_CONF_OPTS = \ --without-python \ --disable-system-xmlrpc-c -# zrtp supports a limited set of archs, sparc support is also broken due -# to a broken ld call by gcc, see libs/libzrtp/include/zrtp_config.h -ifeq ($(BR2_i386)$(BR2_arm)$(BR2_armeb)$(BR2_aarch64)$(BR2_aarch64_be)$(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el)$(BR2_powerpc)$(BR2_powerpc64)$(BR2_powerpcle)$(BR2_x86_64),y) -FREESWITCH_LICENSE_FILES += libs/libzrtp/src/zrtp_legal.c -FREESWITCH_CONF_OPTS += --enable-zrtp -else -FREESWITCH_CONF_OPTS += --disable-zrtp -endif - # Enable optional modules FREESWITCH_ENABLED_MODULES += \ applications/mod_avmd \ diff --git a/package/freetype/0001-sfnt-Avoid-invalid-face-index.patch b/package/freetype/0001-sfnt-Avoid-invalid-face-index.patch new file mode 100644 index 000000000..e7410afd3 --- /dev/null +++ b/package/freetype/0001-sfnt-Avoid-invalid-face-index.patch @@ -0,0 +1,46 @@ +From 818eea8aa682f867e4fbeb9794959a28864e4acc Mon Sep 17 00:00:00 2001 +From: Werner Lemberg +Date: Thu, 17 Mar 2022 19:24:16 +0100 +Subject: [PATCH] [sfnt] Avoid invalid face index. + +Fixes #1138. + +* src/sfnt/sfobjs.c (sfnt_init_face), src/sfnt/sfwoff2.c (woff2_open_font): +Check `face_index` before decrementing. + +Backport: https://gitlab.freedesktop.org/freetype/freetype/-/commit/53dfdcd8198d2b3201a23c4bad9190519ba918db +Signed-off-by: Quentin Schulz +--- + src/sfnt/sfobjs.c | 2 +- + src/sfnt/sfwoff2.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/sfnt/sfobjs.c b/src/sfnt/sfobjs.c +index 789102479..ea17ca8f4 100644 +--- a/src/sfnt/sfobjs.c ++++ b/src/sfnt/sfobjs.c +@@ -566,7 +566,7 @@ + face_index = FT_ABS( face_instance_index ) & 0xFFFF; + + /* value -(N+1) requests information on index N */ +- if ( face_instance_index < 0 ) ++ if ( face_instance_index < 0 && face_index > 0 ) + face_index--; + + if ( face_index >= face->ttc_header.count ) +diff --git a/src/sfnt/sfwoff2.c b/src/sfnt/sfwoff2.c +index 5ee8dea28..2da697d69 100644 +--- a/src/sfnt/sfwoff2.c ++++ b/src/sfnt/sfwoff2.c +@@ -2086,7 +2086,7 @@ + /* Validate requested face index. */ + *num_faces = woff2.num_fonts; + /* value -(N+1) requests information on index N */ +- if ( *face_instance_index < 0 ) ++ if ( *face_instance_index < 0 && face_index > 0 ) + face_index--; + + if ( face_index >= woff2.num_fonts ) +-- +2.37.3 + diff --git a/package/freetype/0002-src-base-ftobjs.c-ft_open_face_internal-Properly-gua.patch b/package/freetype/0002-src-base-ftobjs.c-ft_open_face_internal-Properly-gua.patch new file mode 100644 index 000000000..75a071fc2 --- /dev/null +++ b/package/freetype/0002-src-base-ftobjs.c-ft_open_face_internal-Properly-gua.patch @@ -0,0 +1,39 @@ +From edbc2be0ccac0d524de82b5f9737d7f070dbf8cd Mon Sep 17 00:00:00 2001 +From: Werner Lemberg +Date: Sat, 19 Mar 2022 06:40:17 +0100 +Subject: [PATCH] * src/base/ftobjs.c (ft_open_face_internal): Properly guard + `face_index`. + +We must ensure that the cast to `FT_Int` doesn't change the sign. + +Fixes #1139. + +Backport: https://gitlab.freedesktop.org/freetype/freetype/-/commit/22a0cccb4d9d002f33c1ba7a4b36812c7d4f46b5 +Signed-off-by: Quentin Schulz +--- + src/base/ftobjs.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c +index 883f1a897..e00dcc57b 100644 +--- a/src/base/ftobjs.c ++++ b/src/base/ftobjs.c +@@ -2451,6 +2451,15 @@ + #endif + + ++ /* only use lower 31 bits together with sign bit */ ++ if ( face_index > 0 ) ++ face_index &= 0x7FFFFFFFL; ++ else ++ { ++ face_index &= 0x7FFFFFFFL; ++ face_index = -face_index; ++ } ++ + #ifdef FT_DEBUG_LEVEL_TRACE + FT_TRACE3(( "FT_Open_Face: " )); + if ( face_index < 0 ) +-- +2.37.3 + diff --git a/package/freetype/0003-src-base-ftobjs.c-FT_Request_Size-Guard-face-size.patch b/package/freetype/0003-src-base-ftobjs.c-FT_Request_Size-Guard-face-size.patch new file mode 100644 index 000000000..65d9fb195 --- /dev/null +++ b/package/freetype/0003-src-base-ftobjs.c-FT_Request_Size-Guard-face-size.patch @@ -0,0 +1,30 @@ +From f975217879490247cf8622c65cfef73b5642e787 Mon Sep 17 00:00:00 2001 +From: Werner Lemberg +Date: Sat, 19 Mar 2022 09:37:28 +0100 +Subject: [PATCH] * src/base/ftobjs.c (FT_Request_Size): Guard `face->size`. + +Fixes #1140. + +Backport: https://gitlab.freedesktop.org/freetype/freetype/-/commit/0c2bdb01a2e1d24a3e592377a6d0822856e10df2 +Signed-off-by: Quentin Schulz +--- + src/base/ftobjs.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c +index e00dcc57b..46baf5fed 100644 +--- a/src/base/ftobjs.c ++++ b/src/base/ftobjs.c +@@ -3332,6 +3332,9 @@ + if ( !face ) + return FT_THROW( Invalid_Face_Handle ); + ++ if ( !face->size ) ++ return FT_THROW( Invalid_Size_Handle ); ++ + if ( !req || req->width < 0 || req->height < 0 || + req->type >= FT_SIZE_REQUEST_TYPE_MAX ) + return FT_THROW( Invalid_Argument ); +-- +2.37.3 + diff --git a/package/freetype/freetype.mk b/package/freetype/freetype.mk index 912e6c4da..4d06ae964 100644 --- a/package/freetype/freetype.mk +++ b/package/freetype/freetype.mk @@ -15,6 +15,13 @@ FREETYPE_CPE_ID_VENDOR = freetype FREETYPE_DEPENDENCIES = host-pkgconf FREETYPE_CONFIG_SCRIPTS = freetype-config +# 0001-sfnt-Avoid-invalid-face-index.patch +FREETYPE_IGNORE_CVES += CVE-2022-27404 +# 0002-src-base-ftobjs.c-ft_open_face_internal-Properly-gua.patch +FREETYPE_IGNORE_CVES += CVE-2022-27405 +# 0003-src-base-ftobjs.c-FT_Request_Size-Guard-face-size.patch +FREETYPE_IGNORE_CVES += CVE-2022-27406 + # harfbuzz already depends on freetype so disable harfbuzz in freetype to avoid # a circular dependency FREETYPE_CONF_OPTS = --without-harfbuzz diff --git a/package/fscryptctl/fscryptctl.hash b/package/fscryptctl/fscryptctl.hash index b06b96c10..c75c82f9c 100644 --- a/package/fscryptctl/fscryptctl.hash +++ b/package/fscryptctl/fscryptctl.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 970a8febbcbf315313711d8a7ee3d954dea593d8087744d3cba65f6cb4bebcc1 fscryptctl-f037dcf4354ce8f25d0f371b58dfe7a7ac27576f.tar.gz -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE +sha256 970a8febbcbf315313711d8a7ee3d954dea593d8087744d3cba65f6cb4bebcc1 fscryptctl-f037dcf4354ce8f25d0f371b58dfe7a7ac27576f.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/fstrcmp/fstrcmp.hash b/package/fstrcmp/fstrcmp.hash index 9a43c59c0..fbc53b1b4 100644 --- a/package/fstrcmp/fstrcmp.hash +++ b/package/fstrcmp/fstrcmp.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/fstrcmp/files/fstrcmp/0.7/ -md5 9c440bbdfcad9fd22e38f2388715b0cc fstrcmp-0.7.D001.tar.gz -sha1 bb848118fb157dc624ae9fac0566a64cc85f2ef2 fstrcmp-0.7.D001.tar.gz +md5 9c440bbdfcad9fd22e38f2388715b0cc fstrcmp-0.7.D001.tar.gz +sha1 bb848118fb157dc624ae9fac0566a64cc85f2ef2 fstrcmp-0.7.D001.tar.gz # Locally computed -sha256 e4018e850f80700acee8da296e56e15b1eef711ab15157e542e7d7e1237c3476 fstrcmp-0.7.D001.tar.gz -sha256 5352e426b563eda9252d76be92337b49f7b5cfdd1302a1e8d99389840c0e46be LICENSE +sha256 e4018e850f80700acee8da296e56e15b1eef711ab15157e542e7d7e1237c3476 fstrcmp-0.7.D001.tar.gz +sha256 5352e426b563eda9252d76be92337b49f7b5cfdd1302a1e8d99389840c0e46be LICENSE diff --git a/package/ftop/ftop.hash b/package/ftop/ftop.hash index cf0d99dbe..b7849d65b 100644 --- a/package/ftop/ftop.hash +++ b/package/ftop/ftop.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/ftop/files/ftop/1.0/ -md5 57c68b6e7431f4219d9eddaebcb395da ftop-1.0.tar.bz2 -sha1 d3ef1b74825f50c7c442d299b29d23c2478f199b ftop-1.0.tar.bz2 +md5 57c68b6e7431f4219d9eddaebcb395da ftop-1.0.tar.bz2 +sha1 d3ef1b74825f50c7c442d299b29d23c2478f199b ftop-1.0.tar.bz2 # Locally computed -sha256 3a705f4f291384344cd32c3dd5f5f6a7cd7cea7624c83cb7e923966dbcd47f82 ftop-1.0.tar.bz2 -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 3a705f4f291384344cd32c3dd5f5f6a7cd7cea7624c83cb7e923966dbcd47f82 ftop-1.0.tar.bz2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/fwts/fwts.mk b/package/fwts/fwts.mk index 6634cdc40..cd9bccae2 100644 --- a/package/fwts/fwts.mk +++ b/package/fwts/fwts.mk @@ -15,7 +15,7 @@ FWTS_DEPENDENCIES = host-bison host-flex host-pkgconf libglib2 libbsd \ $(if $(BR2_PACKAGE_BASH_COMPLETION),bash-completion) \ $(if $(BR2_PACKAGE_DTC),dtc) -ifdef BR2_PACKAGE_FWTS_EFI_RUNTIME_MODULE +ifeq ($(BR2_PACKAGE_FWTS_EFI_RUNTIME_MODULE),y) FWTS_MODULE_SUBDIRS = efi_runtime $(eval $(kernel-module)) endif diff --git a/package/fxload/0001-fix-static-build.patch b/package/fxload/0001-fix-static-build.patch new file mode 100644 index 000000000..9ce49baa6 --- /dev/null +++ b/package/fxload/0001-fix-static-build.patch @@ -0,0 +1,25 @@ +fix static build + +Fix the following static build failure: + +/home/buildroot/autobuild/instance-3/output-1/host/bin/sh4-buildroot-linux-musl-gcc -o fxload ezusb.o main.o +/home/buildroot/autobuild/instance-3/output-1/host/lib/gcc/sh4-buildroot-linux-musl/10.3.0/../../../../sh4-buildroot-linux-musl/bin/ld: /home/buildroot/autobuild/instance-3/output-1/host/lib/gcc/sh4-buildroot-linux-musl/10.3.0/libgcc.a(unwind-dw2.o): in function `size_of_encoded_value': +/home/buildroot/autobuild/instance-3/output-1/build/host-gcc-final-10.3.0/build/sh4-buildroot-linux-musl/libgcc/../../../libgcc/unwind-pe.h:89: undefined reference to `abort' + +Fixes: + - http://autobuild.buildroot.org/results/bca28d7a6d2b324fb61fe99b8af4b86caa2350ee + +Signed-off-by: Fabrice Fontaine + +diff -Naur fxload-2008_10_13.orig/Makefile fxload-2008_10_13/Makefile +--- fxload-2008_10_13.orig/Makefile 2022-06-11 22:11:02.845916977 +0200 ++++ fxload-2008_10_13/Makefile 2022-06-11 22:12:25.118006070 +0200 +@@ -39,7 +39,7 @@ + + # object files + $(PROG): $(FILES_OBJ) +- $(CC) -o $(PROG) $(FILES_OBJ) ++ $(CC) $(LDFLAGS) -o $(PROG) $(FILES_OBJ) + + %.o: %.c + $(CC) -c $(CFLAGS) $< -o $@ diff --git a/package/gcc/10.3.0/0004-Remove-cyclades-from-libsanitizer.patch b/package/gcc/10.3.0/0004-Remove-cyclades-from-libsanitizer.patch deleted file mode 100644 index ee6e349a6..000000000 --- a/package/gcc/10.3.0/0004-Remove-cyclades-from-libsanitizer.patch +++ /dev/null @@ -1,125 +0,0 @@ -From 745dae5923aba02982563481d75a21595df22ff8 Mon Sep 17 00:00:00 2001 -From: Tamar Christina -Date: Fri, 21 May 2021 10:30:59 +0100 -Subject: [PATCH] libsanitizer: Remove cyclades from libsanitizer - -The Linux kernel has removed the interface to cyclades from -the latest kernel headers[1] due to them being orphaned for the -past 13 years. - -libsanitizer uses this header when compiling against glibc, but -glibcs itself doesn't seem to have any references to cyclades. - -Further more it seems that the driver is broken in the kernel and -the firmware doesn't seem to be available anymore. - -As such since this is breaking the build of libsanitizer (and so the -GCC bootstrap[2]) I propose to remove this. - -[1] https://lkml.org/lkml/2021/3/2/153 -[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100379 - -(cherry picked from commit f7c5351552387bd43f6ca3631016d7f0dfe0f135) - -libsanitizer/ChangeLog: - - PR sanitizer/100379 - * sanitizer_common/sanitizer_common_interceptors_ioctl.inc: Cherry-pick - llvm-project revision f7c5351552387bd43f6ca3631016d7f0dfe0f135. - * sanitizer_common/sanitizer_platform_limits_posix.cpp: Likewise. - * sanitizer_common/sanitizer_platform_limits_posix.h: Likewise. - -Signed-off-by: Maxim Kochetkov ---- - .../sanitizer_common_interceptors_ioctl.inc | 9 --------- - .../sanitizer_platform_limits_posix.cpp | 11 ----------- - .../sanitizer_platform_limits_posix.h | 10 ---------- - 3 files changed, 30 deletions(-) - -diff --git a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc -index 7f181258eab..b7da6598755 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc -+++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc -@@ -370,15 +370,6 @@ static void ioctl_table_fill() { - - #if SANITIZER_GLIBC - // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE -- _(CYGETDEFTHRESH, WRITE, sizeof(int)); -- _(CYGETDEFTIMEOUT, WRITE, sizeof(int)); -- _(CYGETMON, WRITE, struct_cyclades_monitor_sz); -- _(CYGETTHRESH, WRITE, sizeof(int)); -- _(CYGETTIMEOUT, WRITE, sizeof(int)); -- _(CYSETDEFTHRESH, NONE, 0); -- _(CYSETDEFTIMEOUT, NONE, 0); -- _(CYSETTHRESH, NONE, 0); -- _(CYSETTIMEOUT, NONE, 0); - _(EQL_EMANCIPATE, WRITE, struct_ifreq_sz); - _(EQL_ENSLAVE, WRITE, struct_ifreq_sz); - _(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz); -diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp -index 35a690cba5c..6e5c330b98e 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp -+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp -@@ -143,7 +143,6 @@ typedef struct user_fpregs elf_fpregset_t; - # include - #endif - #include --#include - #include - #include - #include -@@ -460,7 +459,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); - - #if SANITIZER_GLIBC - unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct); -- unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor); - #if EV_VERSION > (0x010000) - unsigned struct_input_keymap_entry_sz = sizeof(struct input_keymap_entry); - #else -@@ -824,15 +822,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); - #endif // SANITIZER_LINUX - - #if SANITIZER_LINUX && !SANITIZER_ANDROID -- unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH; -- unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT; -- unsigned IOCTL_CYGETMON = CYGETMON; -- unsigned IOCTL_CYGETTHRESH = CYGETTHRESH; -- unsigned IOCTL_CYGETTIMEOUT = CYGETTIMEOUT; -- unsigned IOCTL_CYSETDEFTHRESH = CYSETDEFTHRESH; -- unsigned IOCTL_CYSETDEFTIMEOUT = CYSETDEFTIMEOUT; -- unsigned IOCTL_CYSETTHRESH = CYSETTHRESH; -- unsigned IOCTL_CYSETTIMEOUT = CYSETTIMEOUT; - unsigned IOCTL_EQL_EMANCIPATE = EQL_EMANCIPATE; - unsigned IOCTL_EQL_ENSLAVE = EQL_ENSLAVE; - unsigned IOCTL_EQL_GETMASTRCFG = EQL_GETMASTRCFG; -diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -index ad358eef8b7..cba41ba5494 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -@@ -983,7 +983,6 @@ extern unsigned struct_vt_mode_sz; - - #if SANITIZER_LINUX && !SANITIZER_ANDROID - extern unsigned struct_ax25_parms_struct_sz; --extern unsigned struct_cyclades_monitor_sz; - extern unsigned struct_input_keymap_entry_sz; - extern unsigned struct_ipx_config_data_sz; - extern unsigned struct_kbdiacrs_sz; -@@ -1328,15 +1327,6 @@ extern unsigned IOCTL_VT_WAITACTIVE; - #endif // SANITIZER_LINUX - - #if SANITIZER_LINUX && !SANITIZER_ANDROID --extern unsigned IOCTL_CYGETDEFTHRESH; --extern unsigned IOCTL_CYGETDEFTIMEOUT; --extern unsigned IOCTL_CYGETMON; --extern unsigned IOCTL_CYGETTHRESH; --extern unsigned IOCTL_CYGETTIMEOUT; --extern unsigned IOCTL_CYSETDEFTHRESH; --extern unsigned IOCTL_CYSETDEFTIMEOUT; --extern unsigned IOCTL_CYSETTHRESH; --extern unsigned IOCTL_CYSETTIMEOUT; - extern unsigned IOCTL_EQL_EMANCIPATE; - extern unsigned IOCTL_EQL_ENSLAVE; - extern unsigned IOCTL_EQL_GETMASTRCFG; --- -2.27.0 - diff --git a/package/gcc/10.3.0/0001-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch b/package/gcc/10.4.0/0001-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch similarity index 94% rename from package/gcc/10.3.0/0001-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch rename to package/gcc/10.4.0/0001-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch index af0d2d7d0..e8283afad 100644 --- a/package/gcc/10.3.0/0001-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch +++ b/package/gcc/10.4.0/0001-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch @@ -1,4 +1,4 @@ -From 0824d6819857f306583592bce96315893f91bd84 Mon Sep 17 00:00:00 2001 +From d672b64ae257e789311dfd0aea947972af64b966 Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Wed, 20 Jan 2021 23:26:29 +0100 Subject: [PATCH] Revert "re PR target/92095 (internal error with -O1 @@ -45,10 +45,10 @@ index 5f9999a669c..37452b06415 100644 extern const char *output_cbranch (rtx, rtx, int, int, int, rtx_insn *); extern const char *output_return (rtx_insn *); diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c -index d0843102148..14d112d8ca8 100644 +index 7cfa9f80676..3a721f19eb5 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c -@@ -4157,6 +4157,13 @@ eligible_for_sibcall_delay (rtx_insn *trial) +@@ -4243,6 +4243,13 @@ eligible_for_sibcall_delay (rtx_insn *trial) static bool sparc_cannot_force_const_mem (machine_mode mode, rtx x) { @@ -62,7 +62,7 @@ index d0843102148..14d112d8ca8 100644 switch (GET_CODE (x)) { case CONST_INT: -@@ -4192,11 +4199,9 @@ sparc_cannot_force_const_mem (machine_mode mode, rtx x) +@@ -4278,11 +4285,9 @@ sparc_cannot_force_const_mem (machine_mode mode, rtx x) } /* Global Offset Table support. */ @@ -76,7 +76,7 @@ index d0843102148..14d112d8ca8 100644 /* Return the SYMBOL_REF for the Global Offset Table. */ -@@ -4209,6 +4214,27 @@ sparc_got (void) +@@ -4295,6 +4300,27 @@ sparc_got (void) return got_symbol_rtx; } @@ -104,7 +104,7 @@ index d0843102148..14d112d8ca8 100644 /* Wrapper around the load_pcrel_sym{si,di} patterns. */ static rtx -@@ -4228,78 +4254,30 @@ gen_load_pcrel_sym (rtx op0, rtx op1, rtx op2) +@@ -4314,78 +4340,30 @@ gen_load_pcrel_sym (rtx op0, rtx op1, rtx op2) return insn; } @@ -189,7 +189,7 @@ index d0843102148..14d112d8ca8 100644 } /* Ensure that we are not using patterns that are not OK with PIC. */ -@@ -5464,7 +5442,7 @@ save_local_or_in_reg_p (unsigned int regno, int leaf_function) +@@ -5550,7 +5528,7 @@ save_local_or_in_reg_p (unsigned int regno, int leaf_function) return true; /* GOT register (%l7) if needed. */ @@ -198,7 +198,7 @@ index d0843102148..14d112d8ca8 100644 return true; /* If the function accesses prior frames, the frame pointer and the return -@@ -12507,9 +12485,10 @@ static void +@@ -12658,9 +12636,10 @@ static void sparc_file_end (void) { /* If we need to emit the special GOT helper function, do so now. */ @@ -210,7 +210,7 @@ index d0843102148..14d112d8ca8 100644 #ifdef DWARF2_UNWIND_INFO bool do_cfi; #endif -@@ -12546,22 +12525,17 @@ sparc_file_end (void) +@@ -12697,22 +12676,17 @@ sparc_file_end (void) #ifdef DWARF2_UNWIND_INFO do_cfi = dwarf2out_do_cfi_asm (); if (do_cfi) @@ -239,7 +239,7 @@ index d0843102148..14d112d8ca8 100644 #endif } -@@ -13056,10 +13030,7 @@ sparc_init_pic_reg (void) +@@ -13207,10 +13181,7 @@ sparc_init_pic_reg (void) edge entry_edge; rtx_insn *seq; @@ -252,10 +252,10 @@ index d0843102148..14d112d8ca8 100644 start_sequence (); diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md -index 6e9ccb4ecfd..8fb0fa11aed 100644 +index b242c4b4481..7d08f50705a 100644 --- a/gcc/config/sparc/sparc.md +++ b/gcc/config/sparc/sparc.md -@@ -1601,7 +1601,10 @@ +@@ -1603,7 +1603,10 @@ (clobber (reg:P O7_REG))] "REGNO (operands[0]) == INTVAL (operands[3])" { @@ -324,5 +324,5 @@ index f00283f6e7b..67d4ac38095 100644 #include #include -- -2.30.2 +2.34.3 diff --git a/package/gcc/10.3.0/0002-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch b/package/gcc/10.4.0/0002-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch similarity index 96% rename from package/gcc/10.3.0/0002-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch rename to package/gcc/10.4.0/0002-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch index 73010c21e..62eb437c6 100644 --- a/package/gcc/10.3.0/0002-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch +++ b/package/gcc/10.4.0/0002-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch @@ -1,4 +1,4 @@ -From 1dad3f95ffcd1871ca670a13a06fbedb1c3ce509 Mon Sep 17 00:00:00 2001 +From 8555b8d4f1d873d172c12a540ff97c57ed17f045 Mon Sep 17 00:00:00 2001 From: Stafford Horne Date: Sun, 2 May 2021 06:11:44 +0900 Subject: [PATCH] or1k: Add mcmodel option to handle large GOTs @@ -166,10 +166,10 @@ index 03c9b8d0bba..8e035075f8a 100644 Target RejectNegative Mask(CMOV) Enable generation of conditional move (l.cmov) instructions. By default the diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi -index eabeec944e7..eda350c99ec 100644 +index d7c787af226..848112e5b24 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi -@@ -1102,7 +1102,8 @@ Objective-C and Objective-C++ Dialects}. +@@ -1103,7 +1103,8 @@ Objective-C and Objective-C++ Dialects}. @gccoptlist{-mboard=@var{name} -mnewlib -mhard-mul -mhard-div @gol -msoft-mul -msoft-div @gol -msoft-float -mhard-float -mdouble-float -munordered-float @gol @@ -179,7 +179,7 @@ index eabeec944e7..eda350c99ec 100644 @emph{PDP-11 Options} @gccoptlist{-mfpu -msoft-float -mac0 -mno-ac0 -m40 -m45 -m10 @gol -@@ -25111,6 +25112,15 @@ Enable generation of shift with immediate (@code{l.srai}, @code{l.srli}, +@@ -25142,6 +25143,15 @@ Enable generation of shift with immediate (@code{l.srai}, @code{l.srli}, @code{l.slli}) instructions. By default extra instructions will be generated to store the immediate to a register first. @@ -196,5 +196,5 @@ index eabeec944e7..eda350c99ec 100644 @end table -- -2.25.1 +2.34.3 diff --git a/package/gcc/10.3.0/0003-or1k-Use-cmodel-large-when-building-crtstuff.patch b/package/gcc/10.4.0/0003-or1k-Use-cmodel-large-when-building-crtstuff.patch similarity index 93% rename from package/gcc/10.3.0/0003-or1k-Use-cmodel-large-when-building-crtstuff.patch rename to package/gcc/10.4.0/0003-or1k-Use-cmodel-large-when-building-crtstuff.patch index 7da0e8f75..30d0c607f 100644 --- a/package/gcc/10.3.0/0003-or1k-Use-cmodel-large-when-building-crtstuff.patch +++ b/package/gcc/10.4.0/0003-or1k-Use-cmodel-large-when-building-crtstuff.patch @@ -1,4 +1,4 @@ -From 0354e007a6235df81e208fa89cbf1571a8b56975 Mon Sep 17 00:00:00 2001 +From 3499ecd7c93c4c431cab83312bc5eabbf383c182 Mon Sep 17 00:00:00 2001 From: Stafford Horne Date: Sun, 2 May 2021 06:11:45 +0900 Subject: [PATCH] or1k: Use cmodel=large when building crtstuff @@ -29,10 +29,10 @@ Signed-off-by: Giulio Benetti create mode 100644 libgcc/config/or1k/t-crtstuff diff --git a/libgcc/config.host b/libgcc/config.host -index c529cc40f0c..ddf0033e28c 100644 +index 89f41b56000..1210704d7e8 100644 --- a/libgcc/config.host +++ b/libgcc/config.host -@@ -1127,12 +1127,12 @@ nios2-*-*) +@@ -1137,12 +1137,12 @@ nios2-*-*) extra_parts="$extra_parts crti.o crtn.o" ;; or1k-*-linux*) @@ -56,5 +56,5 @@ index 00000000000..dcae7f3498e +# Compile crtbeginS.o and crtendS.o with -mcmodel=large +CRTSTUFF_T_CFLAGS_S += -mcmodel=large -- -2.25.1 +2.34.3 diff --git a/package/gcc/10.3.0/0005-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch b/package/gcc/10.4.0/0004-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch similarity index 88% rename from package/gcc/10.3.0/0005-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch rename to package/gcc/10.4.0/0004-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch index 5ac03d7c0..e3dbbc7eb 100644 --- a/package/gcc/10.3.0/0005-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch +++ b/package/gcc/10.4.0/0004-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch @@ -1,4 +1,4 @@ -From f80e9941739fb3973b61fc6a5abddef5ad2faf73 Mon Sep 17 00:00:00 2001 +From d2e4e3e72b5f2f68d595dfd3a77f58744f3f243e Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Fri, 27 Mar 2020 21:23:53 +0100 Subject: [PATCH] gcc: define _REENTRANT for OpenRISC when -pthread is passed @@ -14,7 +14,7 @@ Signed-off-by: Bernd Kuhls 1 file changed, 2 insertions(+) diff --git a/gcc/config/or1k/linux.h b/gcc/config/or1k/linux.h -index cbdc781418f..36303af892c 100644 +index 21cef067dda..2e1bb5601a9 100644 --- a/gcc/config/or1k/linux.h +++ b/gcc/config/or1k/linux.h @@ -32,6 +32,8 @@ @@ -27,5 +27,5 @@ index cbdc781418f..36303af892c 100644 #define LINK_SPEC "%{h*} \ %{static:-Bstatic} \ -- -2.31.1 +2.34.3 diff --git a/package/gcc/10.4.0/0005-disable-split-stack-for-non-thread-builds.patch b/package/gcc/10.4.0/0005-disable-split-stack-for-non-thread-builds.patch new file mode 100644 index 000000000..7ba9e0de5 --- /dev/null +++ b/package/gcc/10.4.0/0005-disable-split-stack-for-non-thread-builds.patch @@ -0,0 +1,26 @@ +From 14336d46b35577300dd68147a8f0c8165684850b Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Mon, 25 Jul 2022 00:29:55 +0200 +Subject: [PATCH] disable split-stack for non-thread builds + +Signed-off-by: Waldemar Brodkorb +[Romain: convert to git format] +Signed-off-by: Romain Naour +--- + libgcc/config/t-stack | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/libgcc/config/t-stack b/libgcc/config/t-stack +index cc0366b4cd8..f3f97e86d60 100644 +--- a/libgcc/config/t-stack ++++ b/libgcc/config/t-stack +@@ -1,4 +1,6 @@ + # Makefile fragment to provide generic support for -fsplit-stack. + # This should be used in config.host for any host which supports + # -fsplit-stack. ++ifeq ($(enable_threads),yes) + LIB2ADD_ST += $(srcdir)/generic-morestack.c $(srcdir)/generic-morestack-thread.c ++endif +-- +2.34.3 + diff --git a/package/gcc/11.2.0/0001-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch b/package/gcc/11.3.0/0001-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch similarity index 96% rename from package/gcc/11.2.0/0001-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch rename to package/gcc/11.3.0/0001-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch index 6e32f953a..4888f7e32 100644 --- a/package/gcc/11.2.0/0001-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch +++ b/package/gcc/11.3.0/0001-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch @@ -1,4 +1,4 @@ -From eff8110674ef193481d3657456a262beeb9951ff Mon Sep 17 00:00:00 2001 +From 7a20b4574f06472086c786bd1b078ee962cdb02c Mon Sep 17 00:00:00 2001 From: Stafford Horne Date: Tue, 6 Apr 2021 05:47:17 +0900 Subject: [PATCH] or1k: Add mcmodel option to handle large GOTs @@ -166,10 +166,10 @@ index 6bd0f3eee6d..cc23e3b8856 100644 Target RejectNegative Mask(CMOV) Enable generation of conditional move (l.cmov) instructions. By default the diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi -index 57b97a0838c..d8a6b0b60c9 100644 +index 35508efb4ef..a1b7608a3aa 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi -@@ -1141,7 +1141,8 @@ Objective-C and Objective-C++ Dialects}. +@@ -1136,7 +1136,8 @@ Objective-C and Objective-C++ Dialects}. @gccoptlist{-mboard=@var{name} -mnewlib -mhard-mul -mhard-div @gol -msoft-mul -msoft-div @gol -msoft-float -mhard-float -mdouble-float -munordered-float @gol @@ -179,7 +179,7 @@ index 57b97a0838c..d8a6b0b60c9 100644 @emph{PDP-11 Options} @gccoptlist{-mfpu -msoft-float -mac0 -mno-ac0 -m40 -m45 -m10 @gol -@@ -26684,6 +26685,15 @@ Enable generation of shift with immediate (@code{l.srai}, @code{l.srli}, +@@ -26443,6 +26444,15 @@ Enable generation of shift with immediate (@code{l.srai}, @code{l.srli}, @code{l.slli}) instructions. By default extra instructions will be generated to store the immediate to a register first. @@ -196,5 +196,5 @@ index 57b97a0838c..d8a6b0b60c9 100644 @end table -- -2.25.1 +2.35.1 diff --git a/package/gcc/11.2.0/0002-or1k-Use-cmodel-large-when-building-crtstuff.patch b/package/gcc/11.3.0/0002-or1k-Use-cmodel-large-when-building-crtstuff.patch similarity index 93% rename from package/gcc/11.2.0/0002-or1k-Use-cmodel-large-when-building-crtstuff.patch rename to package/gcc/11.3.0/0002-or1k-Use-cmodel-large-when-building-crtstuff.patch index 00dd5de2a..716f007a2 100644 --- a/package/gcc/11.2.0/0002-or1k-Use-cmodel-large-when-building-crtstuff.patch +++ b/package/gcc/11.3.0/0002-or1k-Use-cmodel-large-when-building-crtstuff.patch @@ -1,4 +1,4 @@ -From da8a9d695b3c4b9397b5d9a27660bfa48af8d707 Mon Sep 17 00:00:00 2001 +From c544a63928406b706b8493fd9b8ca2136b433cf0 Mon Sep 17 00:00:00 2001 From: Stafford Horne Date: Wed, 21 Apr 2021 05:33:15 +0900 Subject: [PATCH] or1k: Use cmodel=large when building crtstuff @@ -29,10 +29,10 @@ Signed-off-by: Giulio Benetti create mode 100644 libgcc/config/or1k/t-crtstuff diff --git a/libgcc/config.host b/libgcc/config.host -index 50f00062232..8ca7a00082a 100644 +index f2dc7e266f4..6f193c32fbd 100644 --- a/libgcc/config.host +++ b/libgcc/config.host -@@ -1119,12 +1119,12 @@ nios2-*-*) +@@ -1132,12 +1132,12 @@ nios2-*-*) extra_parts="$extra_parts crti.o crtn.o" ;; or1k-*-linux*) @@ -56,5 +56,5 @@ index 00000000000..dcae7f3498e +# Compile crtbeginS.o and crtendS.o with -mcmodel=large +CRTSTUFF_T_CFLAGS_S += -mcmodel=large -- -2.25.1 +2.35.1 diff --git a/package/gcc/11.2.0/0003-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch b/package/gcc/11.3.0/0003-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch similarity index 88% rename from package/gcc/11.2.0/0003-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch rename to package/gcc/11.3.0/0003-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch index 5ac03d7c0..e33dec3ff 100644 --- a/package/gcc/11.2.0/0003-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch +++ b/package/gcc/11.3.0/0003-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch @@ -1,4 +1,4 @@ -From f80e9941739fb3973b61fc6a5abddef5ad2faf73 Mon Sep 17 00:00:00 2001 +From 8ef5787701f4d7cf46a27771d38ab54af2499e25 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Fri, 27 Mar 2020 21:23:53 +0100 Subject: [PATCH] gcc: define _REENTRANT for OpenRISC when -pthread is passed @@ -14,7 +14,7 @@ Signed-off-by: Bernd Kuhls 1 file changed, 2 insertions(+) diff --git a/gcc/config/or1k/linux.h b/gcc/config/or1k/linux.h -index cbdc781418f..36303af892c 100644 +index 196f3f3c8f0..0cbdc934af1 100644 --- a/gcc/config/or1k/linux.h +++ b/gcc/config/or1k/linux.h @@ -32,6 +32,8 @@ @@ -27,5 +27,5 @@ index cbdc781418f..36303af892c 100644 #define LINK_SPEC "%{h*} \ %{static:-Bstatic} \ -- -2.31.1 +2.35.1 diff --git a/package/gcc/11.3.0/0004-disable-split-stack-for-non-thread-builds.patch b/package/gcc/11.3.0/0004-disable-split-stack-for-non-thread-builds.patch new file mode 100644 index 000000000..dba2d02d7 --- /dev/null +++ b/package/gcc/11.3.0/0004-disable-split-stack-for-non-thread-builds.patch @@ -0,0 +1,26 @@ +From 3b9d7d397fa6dc290eb05bffca80968efb6ec2e5 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Mon, 25 Jul 2022 00:29:55 +0200 +Subject: [PATCH] disable split-stack for non-thread builds + +Signed-off-by: Waldemar Brodkorb +[Romain: convert to git format] +Signed-off-by: Romain Naour +--- + libgcc/config/t-stack | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/libgcc/config/t-stack b/libgcc/config/t-stack +index cc0366b4cd8..f3f97e86d60 100644 +--- a/libgcc/config/t-stack ++++ b/libgcc/config/t-stack +@@ -1,4 +1,6 @@ + # Makefile fragment to provide generic support for -fsplit-stack. + # This should be used in config.host for any host which supports + # -fsplit-stack. ++ifeq ($(enable_threads),yes) + LIB2ADD_ST += $(srcdir)/generic-morestack.c $(srcdir)/generic-morestack-thread.c ++endif +-- +2.34.3 + diff --git a/package/gcc/11.3.0/0005-rs6000-Improve-.machine.patch b/package/gcc/11.3.0/0005-rs6000-Improve-.machine.patch new file mode 100644 index 000000000..82a667ab7 --- /dev/null +++ b/package/gcc/11.3.0/0005-rs6000-Improve-.machine.patch @@ -0,0 +1,120 @@ +From ca2c3a7d3db7a699c358d3408f820396dd536fc8 Mon Sep 17 00:00:00 2001 +From: Segher Boessenkool +Date: Tue, 1 Mar 2022 17:04:29 +0000 +Subject: [PATCH] rs6000: Improve .machine + +This adds more correct .machine for most older CPUs. It should be +conservative in the sense that everything we handled before we handle at +least as well now. This does not yet revamp the server CPU handling, it +is too risky at this point in time. + +Tested on powerpc64-linux {-m32,-m64}. Also manually tested with all +-mcpu=, and the output of that passed through the GNU assembler. + +2022-03-04 Segher Boessenkool + + * config/rs6000/rs6000.c (rs6000_machine_from_flags): Restructure a + bit. Handle most older CPUs. + +(cherry picked from commit 77eccbf39ed55297802bb66dff5f62507a7239e3) +(cherry picked from commit fc7e603edc67c66a14f893f3b5a0a34e7d26f77c) +Signed-off-by: Romain Naour +--- + gcc/config/rs6000/rs6000.c | 81 +++++++++++++++++++++++++------------- + 1 file changed, 54 insertions(+), 27 deletions(-) + +diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c +index 0421dc7adb3..0a55c979c36 100644 +--- a/gcc/config/rs6000/rs6000.c ++++ b/gcc/config/rs6000/rs6000.c +@@ -5742,33 +5742,60 @@ const char *rs6000_machine; + const char * + rs6000_machine_from_flags (void) + { +- /* For some CPUs, the machine cannot be determined by ISA flags. We have to +- check them first. */ +- switch (rs6000_cpu) +- { +- case PROCESSOR_PPC8540: +- case PROCESSOR_PPC8548: +- return "e500"; +- +- case PROCESSOR_PPCE300C2: +- case PROCESSOR_PPCE300C3: +- return "e300"; +- +- case PROCESSOR_PPCE500MC: +- return "e500mc"; +- +- case PROCESSOR_PPCE500MC64: +- return "e500mc64"; +- +- case PROCESSOR_PPCE5500: +- return "e5500"; +- +- case PROCESSOR_PPCE6500: +- return "e6500"; +- +- default: +- break; +- } ++ /* e300 and e500 */ ++ if (rs6000_cpu == PROCESSOR_PPCE300C2 || rs6000_cpu == PROCESSOR_PPCE300C3) ++ return "e300"; ++ if (rs6000_cpu == PROCESSOR_PPC8540 || rs6000_cpu == PROCESSOR_PPC8548) ++ return "e500"; ++ if (rs6000_cpu == PROCESSOR_PPCE500MC) ++ return "e500mc"; ++ if (rs6000_cpu == PROCESSOR_PPCE500MC64) ++ return "e500mc64"; ++ if (rs6000_cpu == PROCESSOR_PPCE5500) ++ return "e5500"; ++ if (rs6000_cpu == PROCESSOR_PPCE6500) ++ return "e6500"; ++ ++ /* 400 series */ ++ if (rs6000_cpu == PROCESSOR_PPC403) ++ return "\"403\""; ++ if (rs6000_cpu == PROCESSOR_PPC405) ++ return "\"405\""; ++ if (rs6000_cpu == PROCESSOR_PPC440) ++ return "\"440\""; ++ if (rs6000_cpu == PROCESSOR_PPC476) ++ return "\"476\""; ++ ++ /* A2 */ ++ if (rs6000_cpu == PROCESSOR_PPCA2) ++ return "a2"; ++ ++ /* Cell BE */ ++ if (rs6000_cpu == PROCESSOR_CELL) ++ return "cell"; ++ ++ /* Titan */ ++ if (rs6000_cpu == PROCESSOR_TITAN) ++ return "titan"; ++ ++ /* 500 series and 800 series */ ++ if (rs6000_cpu == PROCESSOR_MPCCORE) ++ return "\"821\""; ++ ++ /* 600 series and 700 series, "classic" */ ++ if (rs6000_cpu == PROCESSOR_PPC601 || rs6000_cpu == PROCESSOR_PPC603 ++ || rs6000_cpu == PROCESSOR_PPC604 || rs6000_cpu == PROCESSOR_PPC604e ++ || rs6000_cpu == PROCESSOR_PPC750 || rs6000_cpu == PROCESSOR_POWERPC) ++ return "ppc"; ++ ++ /* Classic with AltiVec, "G4" */ ++ if (rs6000_cpu == PROCESSOR_PPC7400 || rs6000_cpu == PROCESSOR_PPC7450) ++ return "\"7450\""; ++ ++ /* The older 64-bit CPUs */ ++ if (rs6000_cpu == PROCESSOR_PPC620 || rs6000_cpu == PROCESSOR_PPC630 ++ || rs6000_cpu == PROCESSOR_RS64A || rs6000_cpu == PROCESSOR_POWERPC64) ++ return "ppc64"; + + HOST_WIDE_INT flags = rs6000_isa_flags; + +-- +2.34.3 + diff --git a/package/gcc/11.3.0/0006-rs6000-Do-not-use-rs6000_cpu-for-.machine-ppc-and-pp.patch b/package/gcc/11.3.0/0006-rs6000-Do-not-use-rs6000_cpu-for-.machine-ppc-and-pp.patch new file mode 100644 index 000000000..43fed4c19 --- /dev/null +++ b/package/gcc/11.3.0/0006-rs6000-Do-not-use-rs6000_cpu-for-.machine-ppc-and-pp.patch @@ -0,0 +1,68 @@ +From 6de33ed642f119f1e2543095dd56e4a94f97c27f Mon Sep 17 00:00:00 2001 +From: Segher Boessenkool +Date: Fri, 11 Mar 2022 21:15:18 +0000 +Subject: [PATCH] rs6000: Do not use rs6000_cpu for .machine ppc and ppc64 + (PR104829) + +Fixes: 77eccbf39ed5 + +rs6000.h has + #define PROCESSOR_POWERPC PROCESSOR_PPC604 + #define PROCESSOR_POWERPC64 PROCESSOR_RS64A +which means that if you use things like -mcpu=powerpc -mvsx it will no +longer work after my latest .machine patch. This causes GCC build errors +in some cases, not a good idea (even if the errors are actually +pre-existing: using -mvsx with a machine that does not have VSX cannot +work properly). + +2022-03-11 Segher Boessenkool + + PR target/104829 + * config/rs6000/rs6000.c (rs6000_machine_from_flags): Don't output + "ppc" and "ppc64" based on rs6000_cpu. + +(cherry picked from commit 80fcc4b6afee72443bef551064826b3b4b6785e6) +(cherry picked from commit d87e0e297b1cba73a0c055d2a3e9267d288f435a) +Signed-off-by: Romain Naour +--- + gcc/config/rs6000/rs6000.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c +index 0a55c979c36..7e5cdd34840 100644 +--- a/gcc/config/rs6000/rs6000.c ++++ b/gcc/config/rs6000/rs6000.c +@@ -5782,20 +5782,28 @@ rs6000_machine_from_flags (void) + if (rs6000_cpu == PROCESSOR_MPCCORE) + return "\"821\""; + ++#if 0 ++ /* This (and ppc64 below) are disabled here (for now at least) because ++ PROCESSOR_POWERPC, PROCESSOR_POWERPC64, and PROCESSOR_COMMON ++ are #define'd as some of these. Untangling that is a job for later. */ ++ + /* 600 series and 700 series, "classic" */ + if (rs6000_cpu == PROCESSOR_PPC601 || rs6000_cpu == PROCESSOR_PPC603 + || rs6000_cpu == PROCESSOR_PPC604 || rs6000_cpu == PROCESSOR_PPC604e +- || rs6000_cpu == PROCESSOR_PPC750 || rs6000_cpu == PROCESSOR_POWERPC) ++ || rs6000_cpu == PROCESSOR_PPC750) + return "ppc"; ++#endif + + /* Classic with AltiVec, "G4" */ + if (rs6000_cpu == PROCESSOR_PPC7400 || rs6000_cpu == PROCESSOR_PPC7450) + return "\"7450\""; + ++#if 0 + /* The older 64-bit CPUs */ + if (rs6000_cpu == PROCESSOR_PPC620 || rs6000_cpu == PROCESSOR_PPC630 +- || rs6000_cpu == PROCESSOR_RS64A || rs6000_cpu == PROCESSOR_POWERPC64) ++ || rs6000_cpu == PROCESSOR_RS64A) + return "ppc64"; ++#endif + + HOST_WIDE_INT flags = rs6000_isa_flags; + +-- +2.34.3 + diff --git a/package/gcc/8.4.0/0004-disable-split-stack-for-non-thread-builds.patch b/package/gcc/8.4.0/0004-disable-split-stack-for-non-thread-builds.patch new file mode 100644 index 000000000..8d99e8929 --- /dev/null +++ b/package/gcc/8.4.0/0004-disable-split-stack-for-non-thread-builds.patch @@ -0,0 +1,26 @@ +From 1ddcb4870533af1b71b6afb75b8f2b271fd88eb4 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Mon, 25 Jul 2022 00:29:55 +0200 +Subject: [PATCH] disable split-stack for non-thread builds + +Signed-off-by: Waldemar Brodkorb +[Romain: convert to git format] +Signed-off-by: Romain Naour +--- + libgcc/config/t-stack | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/libgcc/config/t-stack b/libgcc/config/t-stack +index cc0366b4cd8..f3f97e86d60 100644 +--- a/libgcc/config/t-stack ++++ b/libgcc/config/t-stack +@@ -1,4 +1,6 @@ + # Makefile fragment to provide generic support for -fsplit-stack. + # This should be used in config.host for any host which supports + # -fsplit-stack. ++ifeq ($(enable_threads),yes) + LIB2ADD_ST += $(srcdir)/generic-morestack.c $(srcdir)/generic-morestack-thread.c ++endif +-- +2.34.3 + diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host index a1fe192d3..48aa8785f 100644 --- a/package/gcc/Config.in.host +++ b/package/gcc/Config.in.host @@ -2,6 +2,7 @@ comment "GCC Options" choice prompt "GCC compiler Version" + default BR2_GCC_VERSION_ARC if BR2_GCC_VERSION_4_8_ARC # legacy default BR2_GCC_VERSION_ARC if BR2_arc default BR2_GCC_VERSION_POWERPC_SPE if BR2_powerpc_SPE default BR2_GCC_VERSION_10_X @@ -31,6 +32,8 @@ config BR2_GCC_VERSION_9_X # upstream gcc. C-SKY gcc upstream support not tested # with upstream binutils and glibc. depends on !BR2_csky + # ARC HS48 rel 31 only supported by gcc arc fork. + depends on !BR2_archs4x_rel31 select BR2_TOOLCHAIN_GCC_AT_LEAST_9 config BR2_GCC_VERSION_10_X @@ -43,6 +46,8 @@ config BR2_GCC_VERSION_10_X # upstream gcc. C-SKY gcc upstream support not tested # with upstream binutils and glibc. depends on !BR2_csky + # ARC HS48 rel 31 only supported by gcc arc fork. + depends on !BR2_archs4x_rel31 select BR2_TOOLCHAIN_GCC_AT_LEAST_10 config BR2_GCC_VERSION_11_X @@ -54,6 +59,8 @@ config BR2_GCC_VERSION_11_X # that need to be reverted since gcc 8.4, 9.3 and 10.1. # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98784 depends on !BR2_sparc + # ARC HS48 rel 31 only supported by gcc arc fork. + depends on !BR2_archs4x_rel31 select BR2_TOOLCHAIN_GCC_AT_LEAST_11 endchoice @@ -80,8 +87,8 @@ config BR2_GCC_VERSION string default "8.4.0" if BR2_GCC_VERSION_POWERPC_SPE default "9.4.0" if BR2_GCC_VERSION_9_X - default "10.3.0" if BR2_GCC_VERSION_10_X - default "11.2.0" if BR2_GCC_VERSION_11_X + default "10.4.0" if BR2_GCC_VERSION_10_X + default "11.3.0" if BR2_GCC_VERSION_11_X default "arc-2020.09-release" if BR2_GCC_VERSION_ARC config BR2_EXTRA_GCC_CONFIG_OPTIONS diff --git a/package/gcc/gcc-initial/gcc-initial.mk b/package/gcc/gcc-initial/gcc-initial.mk index f5bc6c5b7..a8ac20c5d 100644 --- a/package/gcc/gcc-initial/gcc-initial.mk +++ b/package/gcc/gcc-initial/gcc-initial.mk @@ -9,7 +9,7 @@ GCC_INITIAL_SITE = $(GCC_SITE) GCC_INITIAL_SOURCE = $(GCC_SOURCE) # We do not have a 'gcc' package per-se; we only have two incarnations, -# gcc-initial and gcc-final. gcc-initial is just am internal step that +# gcc-initial and gcc-final. gcc-initial is just an internal step that # users should not care about, while gcc-final is the one they shall see. HOST_GCC_INITIAL_DL_SUBDIR = gcc @@ -43,6 +43,13 @@ HOST_GCC_INITIAL_CONF_OPTS = \ HOST_GCC_INITIAL_CONF_ENV = \ $(HOST_GCC_COMMON_CONF_ENV) +# Enable GCC target libs optimizations to optimize out __register_frame +# when needed for some architectures when building with glibc. +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_107728),y) +HOST_GCC_INITIAL_CONF_ENV += CFLAGS_FOR_TARGET="$(GCC_COMMON_TARGET_CFLAGS) -O1" +HOST_GCC_INITIAL_CONF_ENV += CXXFLAGS_FOR_TARGET="$(GCC_COMMON_TARGET_CXXFLAGS) -O1" +endif + HOST_GCC_INITIAL_MAKE_OPTS = $(HOST_GCC_COMMON_MAKE_OPTS) all-gcc all-target-libgcc HOST_GCC_INITIAL_INSTALL_OPTS = install-gcc install-target-libgcc diff --git a/package/gcc/gcc.hash b/package/gcc/gcc.hash index 5655c7a9d..9823f6d63 100644 --- a/package/gcc/gcc.hash +++ b/package/gcc/gcc.hash @@ -1,11 +1,11 @@ -# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-8.4.0/sha512.sum +# From https://gcc.gnu.org/pub/gcc/releases/gcc-8.4.0/sha512.sum sha512 6de904f552a02de33b11ef52312bb664396efd7e1ce3bbe37bfad5ef617f133095b3767b4804bc7fe78df335cb53bc83f1ac055baed40979ce4c2c3e46b70280 gcc-8.4.0.tar.xz -# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-9.4.0/sha512.sum +# From https://gcc.gnu.org/pub/gcc/releases/gcc-9.4.0/sha512.sum sha512 dfd3500bf21784b8351a522d53463cf362ede66b0bc302edf350bb44e94418497a8b4b797b6af8ca9b2eeb746b3b115d9c3698381b989546e9151b4496415624 gcc-9.4.0.tar.xz -# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-10.3.0/sha512.sum -sha512 2b2dd7453d48a398c29eaebd1422b70341001b8c90a62aee51e83344e7fdd8a8e45f82a4a9165bd7edc76dada912c932f4b6632c5636760fec4c5d7e402b3f86 gcc-10.3.0.tar.xz -# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-11.2.0/sha512.sum -sha512 d53a0a966230895c54f01aea38696f818817b505f1e2bfa65e508753fcd01b2aedb4a61434f41f3a2ddbbd9f41384b96153c684ded3f0fa97c82758d9de5c7cf gcc-11.2.0.tar.xz +# From https://gcc.gnu.org/pub/gcc/releases/gcc-10.4.0/sha512.sum +sha512 440c08ca746da450d9a1b35e8fd2305cb27e7e6987cd9d0f7d375f3b1fc9e4b0bd7acb3cd7bf795e72fcbead59cdef5b6c152862f5d35cd9fbfe6902101ce648 gcc-10.4.0.tar.xz +# From https://gcc.gnu.org/pub/gcc/releases/gcc-11.3.0/sha512.sum +sha512 f0be5ad705c73b84477128a69c047f57dd47002f375eb60e1e842e08cf2009a509e92152bca345823926d550b7395ae6d4de7db51d1ee371c2dc37313881fca7 gcc-11.3.0.tar.xz # Locally calculated (fetched from Github) sha512 b0853e2b1c5998044392023fa653e399e74118c46e616504ac59e1a2cf27620f94434767ce06b6cf4ca3dfb57f81d6eda92752befaf095ea5e564a9181b4659c gcc-arc-2020.09-release.tar.gz diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk index 9b032ecfd..19fd313df 100644 --- a/package/gcc/gcc.mk +++ b/package/gcc/gcc.mk @@ -277,7 +277,7 @@ HOST_GCC_COMMON_MAKE_OPTS = \ gcc_cv_libc_provides_ssp=$(if $(BR2_TOOLCHAIN_HAS_SSP),yes,no) ifeq ($(BR2_CCACHE),y) -HOST_GCC_COMMON_CCACHE_HASH_FILES += $(GCC_DL_DIR)/$(GCC_SOURCE) +HOST_GCC_COMMON_CCACHE_HASH_FILES += $($(PKG)_DL_DIR)/$(GCC_SOURCE) # Cfr. PATCH_BASE_DIRS in .stamp_patched, but we catch both versioned # and unversioned patches unconditionally. Moreover, to facilitate the diff --git a/package/gcnano-binaries/Config.in b/package/gcnano-binaries/Config.in index ade19e212..89f909f2c 100644 --- a/package/gcnano-binaries/Config.in +++ b/package/gcnano-binaries/Config.in @@ -22,7 +22,7 @@ config BR2_PACKAGE_GCNANO_BINARIES select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_WAYLAND help - Driver and libaries for stm vivante gcnano gpu. + Driver and libraries for stm vivante gcnano gpu. https://github.com/STMicroelectronics/gcnano-binaries/ if BR2_PACKAGE_GCNANO_BINARIES diff --git a/package/gcnano-binaries/gcnano-binaries.hash b/package/gcnano-binaries/gcnano-binaries.hash index e3efc82fc..a07404402 100644 --- a/package/gcnano-binaries/gcnano-binaries.hash +++ b/package/gcnano-binaries/gcnano-binaries.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 afec2ba2f524821452d561b56afd2fc241293ea4a6e8598d1663f58e5d16800f gcnano-binaries-1534c3eaabb5ae545a8f97e95f853531365a13fc.tar.gz -sha256 7d209718473d18f69f75adb7caf9cb5d4b0a31da068756aa011bea617de3dc57 EULA +sha256 afec2ba2f524821452d561b56afd2fc241293ea4a6e8598d1663f58e5d16800f gcnano-binaries-1534c3eaabb5ae545a8f97e95f853531365a13fc.tar.gz +sha256 7d209718473d18f69f75adb7caf9cb5d4b0a31da068756aa011bea617de3dc57 EULA diff --git a/package/gconf/gconf.hash b/package/gconf/gconf.hash index 24d0cf9b1..56d754a69 100644 --- a/package/gconf/gconf.hash +++ b/package/gconf/gconf.hash @@ -1,4 +1,4 @@ # http://ftp.acc.umu.se/pub/gnome/sources/GConf/3.2/GConf-3.2.6.sha256sum -sha256 1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e0cfa51a04d784c GConf-3.2.6.tar.xz +sha256 1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e0cfa51a04d784c GConf-3.2.6.tar.xz # License files, locally calculated -sha256 94b03f1a60a7fd5007149530626a895a6ef5a8b9342abfd56860c5f3956f5d23 COPYING +sha256 94b03f1a60a7fd5007149530626a895a6ef5a8b9342abfd56860c5f3956f5d23 COPYING diff --git a/package/gdb/10.2/0009-gdb-Fix-native-build-on-xtensa.patch b/package/gdb/10.2/0009-gdb-Fix-native-build-on-xtensa.patch new file mode 100644 index 000000000..927bf20de --- /dev/null +++ b/package/gdb/10.2/0009-gdb-Fix-native-build-on-xtensa.patch @@ -0,0 +1,57 @@ +From 02d9e6a3bc47dfe138ef4511aaeeae26b7dbd1ba Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sun, 28 Aug 2022 23:21:37 +0200 +Subject: [PATCH] gdb: Fix native build on xtensa +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Apply a similar fix than for Alpha architecture on gdb 9: +https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=7a27b85f6d9b5eea9bd1493f903158fbea4b2231 + +Fixes: + +../../gdb/xtensa-linux-nat.c: In function ‘void fill_gregset(const regcache*, elf_greg_t (*)[128], int)’: +../../gdb/xtensa-linux-nat.c:66:17: error: ‘gdbarch_pc_regnum’ was not declared in this scope + 66 | if (regnum == gdbarch_pc_regnum (gdbarch) || regnum == -1) + | ^~~~~~~~~~~~~~~~~ + CXX complaints.o +../../gdb/xtensa-linux-nat.c:68:17: error: ‘gdbarch_ps_regnum’ was not declared in this scope + 68 | if (regnum == gdbarch_ps_regnum (gdbarch) || regnum == -1) + | ^~~~~~~~~~~~~~~~~ +../../gdb/xtensa-linux-nat.c:71:38: error: no matching function for call to ‘gdbarch_tdep::gdbarch_tdep(gdbarch*&)’ + 71 | if (regnum == gdbarch_tdep (gdbarch)->wb_regnum || regnum == -1) + | ^ +In file included from ../../gdb/xtensa-linux-nat.c:38: +../../gdb/xtensa-tdep.h:160:8: note: candidate: ‘gdbarch_tdep::gdbarch_tdep()’ + 160 | struct gdbarch_tdep + | ^~~~~~~~~~~~ +../../gdb/xtensa-tdep.h:160:8: note: candidate expects 0 arguments, 1 provided +../../gdb/xtensa-tdep.h:160:8: note: candidate: ‘constexpr gdbarch_tdep::gdbarch_tdep(const gdbarch_tdep&)’ +../../gdb/xtensa-tdep.h:160:8: note: no known conversion for argument 1 from ‘gdbarch*’ to ‘const gdbarch_tdep&’ +../../gdb/xtensa-tdep.h:160:8: note: candidate: ‘constexpr gdbarch_tdep::gdbarch_tdep(gdbarch_tdep&&)’ +../../gdb/xtensa-tdep.h:160:8: note: no known conversion for argument 1 from ‘gdbarch*’ to ‘gdbarch_tdep&&’ +../../gdb/xtensa-linux-nat.c:72:49: error: no matching function for call to ‘gdbarch_tdep::gdbarch_tdep(gdbarch*&)’ + 72 | regcache->raw_collect (gdbarch_tdep (gdbarch)->wb_regnum, + | ^ + +Signed-off-by: Romain Naour +--- + gdb/xtensa-linux-nat.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gdb/xtensa-linux-nat.c b/gdb/xtensa-linux-nat.c +index b2b3db182bc..b230e08b69f 100644 +--- a/gdb/xtensa-linux-nat.c ++++ b/gdb/xtensa-linux-nat.c +@@ -36,6 +36,7 @@ + + #include "gregset.h" + #include "xtensa-tdep.h" ++#include "gdbarch.h" + + /* Defines ps_err_e, struct ps_prochandle. */ + #include "gdb_proc_service.h" +-- +2.37.2 + diff --git a/package/gdb/11.2/0009-gdb-Fix-native-build-on-xtensa.patch b/package/gdb/11.2/0009-gdb-Fix-native-build-on-xtensa.patch new file mode 100644 index 000000000..bf4d617fc --- /dev/null +++ b/package/gdb/11.2/0009-gdb-Fix-native-build-on-xtensa.patch @@ -0,0 +1,57 @@ +From d3bb361eb0b6cbf0257f515f9d5e64add89e6bfa Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sun, 28 Aug 2022 23:21:37 +0200 +Subject: [PATCH] gdb: Fix native build on xtensa +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Apply a similar fix than for Alpha architecture on gdb 9: +https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=7a27b85f6d9b5eea9bd1493f903158fbea4b2231 + +Fixes: + +../../gdb/xtensa-linux-nat.c: In function ‘void fill_gregset(const regcache*, elf_greg_t (*)[128], int)’: +../../gdb/xtensa-linux-nat.c:66:17: error: ‘gdbarch_pc_regnum’ was not declared in this scope + 66 | if (regnum == gdbarch_pc_regnum (gdbarch) || regnum == -1) + | ^~~~~~~~~~~~~~~~~ + CXX complaints.o +../../gdb/xtensa-linux-nat.c:68:17: error: ‘gdbarch_ps_regnum’ was not declared in this scope + 68 | if (regnum == gdbarch_ps_regnum (gdbarch) || regnum == -1) + | ^~~~~~~~~~~~~~~~~ +../../gdb/xtensa-linux-nat.c:71:38: error: no matching function for call to ‘gdbarch_tdep::gdbarch_tdep(gdbarch*&)’ + 71 | if (regnum == gdbarch_tdep (gdbarch)->wb_regnum || regnum == -1) + | ^ +In file included from ../../gdb/xtensa-linux-nat.c:38: +../../gdb/xtensa-tdep.h:160:8: note: candidate: ‘gdbarch_tdep::gdbarch_tdep()’ + 160 | struct gdbarch_tdep + | ^~~~~~~~~~~~ +../../gdb/xtensa-tdep.h:160:8: note: candidate expects 0 arguments, 1 provided +../../gdb/xtensa-tdep.h:160:8: note: candidate: ‘constexpr gdbarch_tdep::gdbarch_tdep(const gdbarch_tdep&)’ +../../gdb/xtensa-tdep.h:160:8: note: no known conversion for argument 1 from ‘gdbarch*’ to ‘const gdbarch_tdep&’ +../../gdb/xtensa-tdep.h:160:8: note: candidate: ‘constexpr gdbarch_tdep::gdbarch_tdep(gdbarch_tdep&&)’ +../../gdb/xtensa-tdep.h:160:8: note: no known conversion for argument 1 from ‘gdbarch*’ to ‘gdbarch_tdep&&’ +../../gdb/xtensa-linux-nat.c:72:49: error: no matching function for call to ‘gdbarch_tdep::gdbarch_tdep(gdbarch*&)’ + 72 | regcache->raw_collect (gdbarch_tdep (gdbarch)->wb_regnum, + | ^ + +Signed-off-by: Romain Naour +--- + gdb/xtensa-linux-nat.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gdb/xtensa-linux-nat.c b/gdb/xtensa-linux-nat.c +index ec33f4a10f2..73f35eac683 100644 +--- a/gdb/xtensa-linux-nat.c ++++ b/gdb/xtensa-linux-nat.c +@@ -36,6 +36,7 @@ + + #include "gregset.h" + #include "xtensa-tdep.h" ++#include "gdbarch.h" + + /* Defines ps_err_e, struct ps_prochandle. */ + #include "gdb_proc_service.h" +-- +2.37.2 + diff --git a/package/gdb/9.2/0009-gdb-Fix-native-build-on-xtensa.patch b/package/gdb/9.2/0009-gdb-Fix-native-build-on-xtensa.patch new file mode 100644 index 000000000..4ff3828f2 --- /dev/null +++ b/package/gdb/9.2/0009-gdb-Fix-native-build-on-xtensa.patch @@ -0,0 +1,57 @@ +From 222cb32acf044fe90e8534b064f9168ad0d8c705 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sun, 28 Aug 2022 23:21:37 +0200 +Subject: [PATCH] gdb: Fix native build on xtensa +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Apply a similar fix than for Alpha architecture on gdb 9: +https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=7a27b85f6d9b5eea9bd1493f903158fbea4b2231 + +Fixes: + +../../gdb/xtensa-linux-nat.c: In function ‘void fill_gregset(const regcache*, elf_greg_t (*)[128], int)’: +../../gdb/xtensa-linux-nat.c:66:17: error: ‘gdbarch_pc_regnum’ was not declared in this scope + 66 | if (regnum == gdbarch_pc_regnum (gdbarch) || regnum == -1) + | ^~~~~~~~~~~~~~~~~ + CXX complaints.o +../../gdb/xtensa-linux-nat.c:68:17: error: ‘gdbarch_ps_regnum’ was not declared in this scope + 68 | if (regnum == gdbarch_ps_regnum (gdbarch) || regnum == -1) + | ^~~~~~~~~~~~~~~~~ +../../gdb/xtensa-linux-nat.c:71:38: error: no matching function for call to ‘gdbarch_tdep::gdbarch_tdep(gdbarch*&)’ + 71 | if (regnum == gdbarch_tdep (gdbarch)->wb_regnum || regnum == -1) + | ^ +In file included from ../../gdb/xtensa-linux-nat.c:38: +../../gdb/xtensa-tdep.h:160:8: note: candidate: ‘gdbarch_tdep::gdbarch_tdep()’ + 160 | struct gdbarch_tdep + | ^~~~~~~~~~~~ +../../gdb/xtensa-tdep.h:160:8: note: candidate expects 0 arguments, 1 provided +../../gdb/xtensa-tdep.h:160:8: note: candidate: ‘constexpr gdbarch_tdep::gdbarch_tdep(const gdbarch_tdep&)’ +../../gdb/xtensa-tdep.h:160:8: note: no known conversion for argument 1 from ‘gdbarch*’ to ‘const gdbarch_tdep&’ +../../gdb/xtensa-tdep.h:160:8: note: candidate: ‘constexpr gdbarch_tdep::gdbarch_tdep(gdbarch_tdep&&)’ +../../gdb/xtensa-tdep.h:160:8: note: no known conversion for argument 1 from ‘gdbarch*’ to ‘gdbarch_tdep&&’ +../../gdb/xtensa-linux-nat.c:72:49: error: no matching function for call to ‘gdbarch_tdep::gdbarch_tdep(gdbarch*&)’ + 72 | regcache->raw_collect (gdbarch_tdep (gdbarch)->wb_regnum, + | ^ + +Signed-off-by: Romain Naour +--- + gdb/xtensa-linux-nat.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gdb/xtensa-linux-nat.c b/gdb/xtensa-linux-nat.c +index 097d7bd6f96..4e4290fe038 100644 +--- a/gdb/xtensa-linux-nat.c ++++ b/gdb/xtensa-linux-nat.c +@@ -36,6 +36,7 @@ + + #include "gregset.h" + #include "xtensa-tdep.h" ++#include "gdbarch.h" + + /* Defines ps_err_e, struct ps_prochandle. */ + #include "gdb_proc_service.h" +-- +2.37.2 + diff --git a/package/gdb/Config.in b/package/gdb/Config.in index daad6c910..8923f996e 100644 --- a/package/gdb/Config.in +++ b/package/gdb/Config.in @@ -19,6 +19,7 @@ config BR2_PACKAGE_GDB depends on BR2_PACKAGE_GDB_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_INSTALL_LIBSTDCPP + select BR2_PACKAGE_ZLIB # When the external toolchain gdbserver is copied to the # target, we don't allow building a separate gdbserver. The # one from the external toolchain should be used. diff --git a/package/gdb/gdb.mk b/package/gdb/gdb.mk index 9bde2beea..b6a3e2f62 100644 --- a/package/gdb/gdb.mk +++ b/package/gdb/gdb.mk @@ -47,7 +47,8 @@ endif # also need ncurses. # As for libiberty, gdb may use a system-installed one if present, so # we must ensure ours is installed first. -HOST_GDB_DEPENDENCIES = host-expat host-libiberty host-ncurses +GDB_DEPENDENCIES = zlib +HOST_GDB_DEPENDENCIES = host-expat host-libiberty host-ncurses host-zlib # Disable building documentation GDB_MAKE_OPTS += MAKEINFO=true @@ -145,6 +146,7 @@ GDB_CONF_OPTS = \ --disable-sim \ $(GDB_DISABLE_BINUTILS_CONF_OPTS) \ --without-included-gettext \ + --with-system-zlib \ --disable-werror \ --enable-static \ --without-mpfr @@ -228,13 +230,6 @@ else GDB_CONF_OPTS += --without-lzma endif -ifeq ($(BR2_PACKAGE_ZLIB),y) -GDB_CONF_OPTS += --with-zlib -GDB_DEPENDENCIES += zlib -else -GDB_CONF_OPTS += --without-zlib -endif - ifeq ($(BR2_PACKAGE_GDB_PYTHON),) # This removes some unneeded Python scripts and XML target description # files that are not useful for a normal usage of the debugger. @@ -272,6 +267,7 @@ HOST_GDB_CONF_OPTS = \ --enable-threads \ --disable-werror \ --without-included-gettext \ + --with-system-zlib \ --with-curses \ --without-mpfr \ $(GDB_DISABLE_BINUTILS_CONF_OPTS) diff --git a/package/gdk-pixbuf/gdk-pixbuf.hash b/package/gdk-pixbuf/gdk-pixbuf.hash index 5e7dc7e03..4bb246aa5 100644 --- a/package/gdk-pixbuf/gdk-pixbuf.hash +++ b/package/gdk-pixbuf/gdk-pixbuf.hash @@ -1,3 +1,3 @@ -# From https://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.42/gdk-pixbuf-2.42.4.sha256sum -sha256 fe9c5dd88f486194ea2bc09b8814c1ed895bb6c530f37cbbf259757c4e482e4d gdk-pixbuf-2.42.4.tar.xz +# From https://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.42/gdk-pixbuf-2.42.8.sha256sum +sha256 84acea3acb2411b29134b32015a5b1aaa62844b19c4b1ef8b8971c6b0759f4c6 gdk-pixbuf-2.42.8.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/gdk-pixbuf/gdk-pixbuf.mk b/package/gdk-pixbuf/gdk-pixbuf.mk index b22e9568c..57e8bbd51 100644 --- a/package/gdk-pixbuf/gdk-pixbuf.mk +++ b/package/gdk-pixbuf/gdk-pixbuf.mk @@ -5,7 +5,7 @@ ################################################################################ GDK_PIXBUF_VERSION_MAJOR = 2.42 -GDK_PIXBUF_VERSION = $(GDK_PIXBUF_VERSION_MAJOR).4 +GDK_PIXBUF_VERSION = $(GDK_PIXBUF_VERSION_MAJOR).8 GDK_PIXBUF_SOURCE = gdk-pixbuf-$(GDK_PIXBUF_VERSION).tar.xz GDK_PIXBUF_SITE = http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/$(GDK_PIXBUF_VERSION_MAJOR) GDK_PIXBUF_LICENSE = LGPL-2.1+ @@ -41,43 +41,43 @@ GDK_PIXBUF_CONF_OPTS += -Dintrospection=disabled endif ifeq ($(BR2_PACKAGE_LIBPNG),y) -GDK_PIXBUF_CONF_OPTS += -Dpng=true +GDK_PIXBUF_CONF_OPTS += -Dpng=enabled GDK_PIXBUF_DEPENDENCIES += libpng else -GDK_PIXBUF_CONF_OPTS += -Dpng=false +GDK_PIXBUF_CONF_OPTS += -Dpng=disabled endif ifeq ($(BR2_PACKAGE_JPEG),y) -GDK_PIXBUF_CONF_OPTS += -Djpeg=true -HOST_GDK_PIXBUF_CONF_OPTS += -Djpeg=true +GDK_PIXBUF_CONF_OPTS += -Djpeg=enabled +HOST_GDK_PIXBUF_CONF_OPTS += -Djpeg=enabled GDK_PIXBUF_DEPENDENCIES += jpeg HOST_GDK_PIXBUF_DEPENDENCIES += host-libjpeg else -GDK_PIXBUF_CONF_OPTS += -Djpeg=false -HOST_GDK_PIXBUF_CONF_OPTS += -Djpeg=false +GDK_PIXBUF_CONF_OPTS += -Djpeg=disabled +HOST_GDK_PIXBUF_CONF_OPTS += -Djpeg=disabled endif ifeq ($(BR2_PACKAGE_TIFF),y) -GDK_PIXBUF_CONF_OPTS += -Dtiff=true -HOST_GDK_PIXBUF_CONF_OPTS += -Dtiff=true +GDK_PIXBUF_CONF_OPTS += -Dtiff=enabled +HOST_GDK_PIXBUF_CONF_OPTS += -Dtiff=enabled GDK_PIXBUF_DEPENDENCIES += tiff HOST_GDK_PIXBUF_DEPENDENCIES += host-tiff else -GDK_PIXBUF_CONF_OPTS += -Dtiff=false -HOST_GDK_PIXBUF_CONF_OPTS += -Dtiff=false +GDK_PIXBUF_CONF_OPTS += -Dtiff=disabled +HOST_GDK_PIXBUF_CONF_OPTS += -Dtiff=disabled endif # gdk-pixbuf requires the loaders.cache file populated to work properly # Rather than doing so at runtime, since the fs can be read-only, do so # here after building and installing to target. -# And since the cache file will contain absolute host directory names we -# need to sanitize (strip) them. +# And since the cache file will contain relative host directory names we +# need to prepend them with /usr/. ifeq ($(BR2_STATIC_LIBS),) define GDK_PIXBUF_UPDATE_CACHE GDK_PIXBUF_MODULEDIR=$(HOST_DIR)/lib/gdk-pixbuf-2.0/2.10.0/loaders \ $(HOST_DIR)/bin/gdk-pixbuf-query-loaders \ > $(TARGET_DIR)/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache - $(SED) "s,$(HOST_DIR)/lib,/usr/lib,g" \ + $(SED) 's,^"lib,"/usr/lib,g' \ $(TARGET_DIR)/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache endef GDK_PIXBUF_POST_INSTALL_TARGET_HOOKS += GDK_PIXBUF_UPDATE_CACHE diff --git a/package/gengetopt/gengetopt.hash b/package/gengetopt/gengetopt.hash index 35c214fce..707efacd9 100644 --- a/package/gengetopt/gengetopt.hash +++ b/package/gengetopt/gengetopt.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 b941aec9011864978dd7fdeb052b1943535824169d2aa2b0e7eae9ab807584ac gengetopt-2.23.tar.xz -sha256 afab96ff35204960631dc05506034f9efc01e6d696f0ac93718d6bd43512cda7 COPYING -sha256 72a43351233d6a581f891cdfff78b7b7d5f2a12522523929c5f7e8f674c2f6fc LICENSE +sha256 b941aec9011864978dd7fdeb052b1943535824169d2aa2b0e7eae9ab807584ac gengetopt-2.23.tar.xz +sha256 afab96ff35204960631dc05506034f9efc01e6d696f0ac93718d6bd43512cda7 COPYING +sha256 72a43351233d6a581f891cdfff78b7b7d5f2a12522523929c5f7e8f674c2f6fc LICENSE diff --git a/package/genpart/genpart.hash b/package/genpart/genpart.hash index b741dbda1..e7e677939 100644 --- a/package/genpart/genpart.hash +++ b/package/genpart/genpart.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 bfb39434f31d10f1b8c7b6bc6ec612309838c2819022561541c4d2d5a424e3f2 genpart-1.0.2.tar.bz2 +sha256 bfb39434f31d10f1b8c7b6bc6ec612309838c2819022561541c4d2d5a424e3f2 genpart-1.0.2.tar.bz2 diff --git a/package/gensio/Config.in b/package/gensio/Config.in index f874d1a46..fd0e47697 100644 --- a/package/gensio/Config.in +++ b/package/gensio/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_GENSIO bool "gensio" depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_ATOMIC help A library to abstract stream I/O like serial port, TCP, telnet, UDP, SSL, IPMI SOL, etc. diff --git a/package/geoip/geoip.hash b/package/geoip/geoip.hash index c2ddf390e..9d0a02d3b 100644 --- a/package/geoip/geoip.hash +++ b/package/geoip/geoip.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 1dfb748003c5e4b7fd56ba8c4cd786633d5d6f409547584f6910398389636f80 GeoIP-1.6.12.tar.gz -sha256 36b6d3fa47916943fd5fec313c584784946047ec1337a78b440e5992cb595f89 COPYING +sha256 1dfb748003c5e4b7fd56ba8c4cd786633d5d6f409547584f6910398389636f80 GeoIP-1.6.12.tar.gz +sha256 36b6d3fa47916943fd5fec313c584784946047ec1337a78b440e5992cb595f89 COPYING diff --git a/package/gflags/gflags.hash b/package/gflags/gflags.hash index 1f7fe6033..06aeb85de 100644 --- a/package/gflags/gflags.hash +++ b/package/gflags/gflags.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 34af2f15cf7367513b352bdcd2493ab14ce43692d2dcd9dfc499492966c64dcf gflags-2.2.2.tar.gz +sha256 34af2f15cf7367513b352bdcd2493ab14ce43692d2dcd9dfc499492966c64dcf gflags-2.2.2.tar.gz # Hash for license file: -sha256 90d1f3701813c3cd65eee2dc736746fe46b465918f3f7d6d31463a2018b33fa5 COPYING.txt +sha256 90d1f3701813c3cd65eee2dc736746fe46b465918f3f7d6d31463a2018b33fa5 COPYING.txt diff --git a/package/ghostscript-fonts/ghostscript-fonts.hash b/package/ghostscript-fonts/ghostscript-fonts.hash index d6df0e745..d1563562f 100644 --- a/package/ghostscript-fonts/ghostscript-fonts.hash +++ b/package/ghostscript-fonts/ghostscript-fonts.hash @@ -1,5 +1,5 @@ # From http://sourceforge.net/projects/gs-fonts/files/gs-fonts/8.11%20%28base%2035%2C%20GPL%29/ -sha1 2a7198e8178b2e7dba87cb5794da515200b568f5 ghostscript-fonts-std-8.11.tar.gz +sha1 2a7198e8178b2e7dba87cb5794da515200b568f5 ghostscript-fonts-std-8.11.tar.gz # Locally computed -sha256 0eb6f356119f2e49b2563210852e17f57f9dcc5755f350a69a46a0d641a0c401 ghostscript-fonts-std-8.11.tar.gz -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 0eb6f356119f2e49b2563210852e17f57f9dcc5755f350a69a46a0d641a0c401 ghostscript-fonts-std-8.11.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/ghostscript/0001-Bug-704405-Fix-typo-in-non-forked-lcms2-code.patch b/package/ghostscript/0001-Bug-704405-Fix-typo-in-non-forked-lcms2-code.patch deleted file mode 100644 index bb1227f68..000000000 --- a/package/ghostscript/0001-Bug-704405-Fix-typo-in-non-forked-lcms2-code.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 830afae5454dea3bff903869d82022306890a96c Mon Sep 17 00:00:00 2001 -From: Robin Watts -Date: Fri, 1 Oct 2021 12:44:44 +0100 -Subject: [PATCH] Bug 704405: Fix typo in non-forked lcms2 code. - -[Retrieved from: -https://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=830afae5454dea3bff903869d82022306890a96c] -Signed-off-by: Fabrice Fontaine ---- - base/gsicc_lcms2.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/base/gsicc_lcms2.c b/base/gsicc_lcms2.c -index ccf1d7051..9badb6dee 100644 ---- a/base/gsicc_lcms2.c -+++ b/base/gsicc_lcms2.c -@@ -462,7 +462,7 @@ int - gscms_transform_color(gx_device *dev, gsicc_link_t *icclink, void *inputcolor, - void *outputcolor, int num_bytes) - { -- return gscms_transformm_color_const(dev, icclink, inputcolor, outputcolor, num_bytes); -+ return gscms_transform_color_const(dev, icclink, inputcolor, outputcolor, num_bytes); - } - - int --- -2.25.1 - diff --git a/package/ghostscript/ghostscript.hash b/package/ghostscript/ghostscript.hash index 95305a5e0..ca26a38a0 100644 --- a/package/ghostscript/ghostscript.hash +++ b/package/ghostscript/ghostscript.hash @@ -1,5 +1,5 @@ -# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9550/SHA512SUMS -sha512 3646b7981dced443559ba97c74c08463139e86a5479661e4dcd217c51e3f8e766da9cf4d7889a98ba3c079a17e9e5b452cc765b633e0720deab2337e77efdd09 ghostscript-9.55.0.tar.gz +# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9561/SHA512SUMS +sha512 f498384af80654c040635564b8bc9a64c4bb5b0769bb00aade4042bbe9117c482362dc1a1fac72db3ce9487dd5a5bb8fb81b35b360680fe598df33dfbbe79499 ghostscript-9.56.1.tar.gz # Hash for license file: sha256 8ce064f423b7c24a011b6ebf9431b8bf9861a5255e47c84bfb23fc526d030a8b LICENSE diff --git a/package/ghostscript/ghostscript.mk b/package/ghostscript/ghostscript.mk index 02cb35fcf..5bf8b0896 100644 --- a/package/ghostscript/ghostscript.mk +++ b/package/ghostscript/ghostscript.mk @@ -4,7 +4,7 @@ # ################################################################################ -GHOSTSCRIPT_VERSION = 9.55.0 +GHOSTSCRIPT_VERSION = 9.56.1 GHOSTSCRIPT_SITE = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs$(subst .,,$(GHOSTSCRIPT_VERSION)) GHOSTSCRIPT_LICENSE = AGPL-3.0 GHOSTSCRIPT_LICENSE_FILES = LICENSE diff --git a/package/giflib/giflib.hash b/package/giflib/giflib.hash index f7db1626d..445e9c4b3 100644 --- a/package/giflib/giflib.hash +++ b/package/giflib/giflib.hash @@ -1,5 +1,5 @@ # From http://sourceforge.net/projects/giflib/files -md5 6f03aee4ebe54ac2cc1ab3e4b0a049e5 giflib-5.2.1.tar.gz -sha1 c3f774dcbdf26afded7788979c8081d33c6426dc giflib-5.2.1.tar.gz +md5 6f03aee4ebe54ac2cc1ab3e4b0a049e5 giflib-5.2.1.tar.gz +sha1 c3f774dcbdf26afded7788979c8081d33c6426dc giflib-5.2.1.tar.gz # Locally computed -sha256 0c9b7990ecdca88b676db232c226548ac408b279f550d424d996f0d83591dd8e COPYING +sha256 0c9b7990ecdca88b676db232c226548ac408b279f550d424d996f0d83591dd8e COPYING diff --git a/package/git-crypt/git-crypt.hash b/package/git-crypt/git-crypt.hash index 973432d7d..607e2ac47 100644 --- a/package/git-crypt/git-crypt.hash +++ b/package/git-crypt/git-crypt.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 6d30fcd99442d50f4b3c8d554067ff1d980cdf9f3120ee774131172dba98fd6f git-crypt-0.6.0.tar.gz +sha256 6d30fcd99442d50f4b3c8d554067ff1d980cdf9f3120ee774131172dba98fd6f git-crypt-0.6.0.tar.gz # Locally calculated -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING -sha256 506657e7a381165550e6c33e35b3b03bbef3e1feb68ba5529e264bd75ed2dc64 parse_options.hpp +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 506657e7a381165550e6c33e35b3b03bbef3e1feb68ba5529e264bd75ed2dc64 parse_options.hpp diff --git a/package/git/git.hash b/package/git/git.hash index 1db29ac45..1661115e5 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 9f61417a44d5b954a5012b6f34e526a3336dcf5dd720e2bb7ada92ad8b3d6680 git-2.31.1.tar.xz +sha256 c7a0c77fa63de669494b10a6b2a7f85d1e9ba69add501c89e035a36ded14d1d5 git-2.31.8.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 90b1acd6a..ed10c8332 100644 --- a/package/git/git.mk +++ b/package/git/git.mk @@ -4,7 +4,7 @@ # ################################################################################ -GIT_VERSION = 2.31.1 +GIT_VERSION = 2.31.8 GIT_SOURCE = git-$(GIT_VERSION).tar.xz GIT_SITE = $(BR2_KERNEL_MIRROR)/software/scm/git GIT_LICENSE = GPL-2.0, LGPL-2.1+ @@ -49,7 +49,8 @@ endif ifeq ($(BR2_PACKAGE_LIBICONV),y) GIT_DEPENDENCIES += libiconv GIT_CONF_ENV_LIBS += -liconv -GIT_CONF_OPTS += --with-iconv=/usr/lib +GIT_CONF_OPTS += --with-iconv=$(STAGING_DIR)/usr +GIT_CONF_ENV += ac_cv_iconv_omits_bom=no else GIT_CONF_OPTS += --without-iconv endif diff --git a/package/gli/gli.hash b/package/gli/gli.hash index 177358a75..deef901af 100644 --- a/package/gli/gli.hash +++ b/package/gli/gli.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 9374f3cf6441dac0154f7e5ae9ad9ae99f4c4a36f8eb6de23f54a1996b9f2769 gli-559cbe1ec38878e182507d331e0780fbae5baf15.tar.gz -sha256 e26459f62353e631d18379668c82b85f9fd2fd993f2818277e4fce21e957f87a manual.md +sha256 9374f3cf6441dac0154f7e5ae9ad9ae99f4c4a36f8eb6de23f54a1996b9f2769 gli-559cbe1ec38878e182507d331e0780fbae5baf15.tar.gz +sha256 e26459f62353e631d18379668c82b85f9fd2fd993f2818277e4fce21e957f87a manual.md diff --git a/package/glib-networking/Config.in b/package/glib-networking/Config.in index 38cded5e6..9c5d36af1 100644 --- a/package/glib-networking/Config.in +++ b/package/glib-networking/Config.in @@ -6,6 +6,7 @@ config BR2_PACKAGE_GLIB_NETWORKING depends on !BR2_STATIC_LIBS select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_GNUTLS + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL if !BR2_PACKAGE_GNUTLS select BR2_PACKAGE_P11_KIT if BR2_PACKAGE_GNUTLS help Network-related GIO modules for glib. diff --git a/package/glib-networking/glib-networking.mk b/package/glib-networking/glib-networking.mk index f74e520d3..4adc13d39 100644 --- a/package/glib-networking/glib-networking.mk +++ b/package/glib-networking/glib-networking.mk @@ -21,8 +21,6 @@ GLIB_NETWORKING_CONF_OPTS = \ GLIB_NETWORKING_LICENSE = LGPL-2.0+ GLIB_NETWORKING_LICENSE_FILES = COPYING GLIB_NETWORKING_CPE_ID_VENDOR = gnome -GLIB_NETWORKING_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) \ - GIO_MODULE_DIR=/usr/lib/gio/modules install ifeq ($(BR2_PACKAGE_GNUTLS),y) GLIB_NETWORKING_DEPENDENCIES += gnutls @@ -31,7 +29,7 @@ else GLIB_NETWORKING_CONF_OPTS += -Dgnutls=disabled endif -ifeq ($(BR2_PACKAGE_OPENSSL),y) +ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) GLIB_NETWORKING_DEPENDENCIES += openssl GLIB_NETWORKING_CONF_OPTS += -Dopenssl=enabled else diff --git a/package/glibc/2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c/0002-struct-stat-is-not-posix-conformant-on-microblaze-wi.patch b/package/glibc/2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c/0002-struct-stat-is-not-posix-conformant-on-microblaze-wi.patch new file mode 100644 index 000000000..9797f3a93 --- /dev/null +++ b/package/glibc/2.34-109-gd64b08d5ba7ffbc9155630f4843cf2e271b1629c/0002-struct-stat-is-not-posix-conformant-on-microblaze-wi.patch @@ -0,0 +1,37 @@ +From 87d415cc133ff493ccd02464c061cb171d11ef2f Mon Sep 17 00:00:00 2001 +From: "Arnout Vandecappelle (Essensium/Mind)" +Date: Mon, 25 Jul 2022 11:25:15 +0200 +Subject: [PATCH] struct stat is not posix conformant on microblaze with + __USE_FILE_OFFSET64 + +Commit a06b40cdf5ba0d2ab4f9b4c77d21e45ff284fac7 updated stat.h to use +__USE_XOPEN2K8 instead of __USE_MISC to add the st_atim, st_mtim and +st_ctim members to struct stat. However, for microblaze, there are two +definitions of struct stat, depending on the __USE_FILE_OFFSET64 macro. +The second one was not updated. + +Change __USE_MISC to __USE_XOPEN2K8 in the __USE_FILE_OFFSET64 version +of struct stat for microblaze. + +Upstream: https://sourceware.org/bugzilla/show_bug.cgi?id=29403 +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- + sysdeps/unix/sysv/linux/microblaze/bits/struct_stat.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sysdeps/unix/sysv/linux/microblaze/bits/struct_stat.h b/sysdeps/unix/sysv/linux/microblaze/bits/struct_stat.h +index a2787e88343..850697f4fa6 100644 +--- a/sysdeps/unix/sysv/linux/microblaze/bits/struct_stat.h ++++ b/sysdeps/unix/sysv/linux/microblaze/bits/struct_stat.h +@@ -89,7 +89,7 @@ struct stat + __blksize_t st_blksize; /* Optimal block size for I/O. */ + int __pad3; + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +-# ifdef __USE_MISC ++# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + * equivalent to 'struct timespec'. This is the type used + * whenever possible but the Unix namespace rules do not allow the +-- +2.35.3 + diff --git a/package/glibc/Config.in b/package/glibc/Config.in index 8e9ddac7d..4d892eb30 100644 --- a/package/glibc/Config.in +++ b/package/glibc/Config.in @@ -11,7 +11,7 @@ config BR2_PACKAGE_GLIBC https://www.gnu.org/software/libc/ config BR2_PACKAGE_GLIBC_KERNEL_COMPAT - bool "Enable compatibiltiy shims to run on older kernels" + bool "Enable compatibility shims to run on older kernels" help Say 'y' here if you plan on running your system on a kernel older than the version used for the toolchain headers. diff --git a/package/glm/glm.hash b/package/glm/glm.hash index 2073d6bf0..b0c1d92c7 100644 --- a/package/glm/glm.hash +++ b/package/glm/glm.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 5e33b6131cea6a904339734b015110d4342b7dc02d995164fdb86332d28a5aa4 glm-0.9.9.5.tar.gz -sha256 337130631a714eeae017556cad101d5324c2961214120b6214741d3d43667086 manual.md +sha256 5e33b6131cea6a904339734b015110d4342b7dc02d995164fdb86332d28a5aa4 glm-0.9.9.5.tar.gz +sha256 337130631a714eeae017556cad101d5324c2961214120b6214741d3d43667086 manual.md diff --git a/package/glorytun/0001-Add-support-for-Apple-silicon.patch b/package/glorytun/0001-Add-support-for-Apple-silicon.patch new file mode 100644 index 000000000..6d4b8273f --- /dev/null +++ b/package/glorytun/0001-Add-support-for-Apple-silicon.patch @@ -0,0 +1,51 @@ +From 577ae0352d191fa604f861ea2f0847e7c5eda617 Mon Sep 17 00:00:00 2001 +From: Frank Denis +Date: Wed, 1 Jul 2020 22:51:43 +0200 +Subject: [PATCH] Add support for Apple silicon + +[Retrieved from: +https://github.com/angt/aegis256/commit/577ae0352d191fa604f861ea2f0847e7c5eda617] +Signed-off-by: Fabrice Fontaine +--- + aegis256.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/mud/aegis256/aegis256.c b/mud/aegis256/aegis256.c +index 9a580bf..75a772c 100644 +--- a/mud/aegis256/aegis256.c ++++ b/mud/aegis256/aegis256.c +@@ -36,7 +36,7 @@ typedef __m128i x128; + #define store128(X,Y) _mm_storeu_si128((x128 *)(X), (Y)) + #define set2x64(X,Y) _mm_set_epi64x((long long)(X), (long long)(Y)) + +-#elif defined(__linux__) && (defined(__ARM_NEON_FP) || defined(__aarch64__)) ++#elif (defined(__APPLE__) || defined(__linux__)) && (defined(__ARM_NEON_FP) || defined(__aarch64__)) + + #ifdef __clang__ + #pragma clang attribute push (__attribute__((target("crypto"))),apply_to=function) +@@ -48,7 +48,9 @@ typedef __m128i x128; + #endif + + #ifdef __ARM_FEATURE_CRYPTO ++#ifdef __linux__ + #include ++#endif + #include + + typedef uint8x16_t x128; +@@ -62,11 +64,15 @@ typedef uint8x16_t x128; + int + aegis256_is_available(void) + { ++#ifdef __linux__ + return (getauxval(AT_HWCAP) & HWCAP_AES) + #ifdef HWCAP2_AES + || (getauxval(AT_HWCAP2) & HWCAP2_AES) + #endif + ; ++#else // __APPLE__ ++ return 1; ++#endif + } + + #endif // __ARM_FEATURE_CRYPTO diff --git a/package/glorytun/0002-aegis256.c-fix-aarch64-build-with-uclibc.patch b/package/glorytun/0002-aegis256.c-fix-aarch64-build-with-uclibc.patch new file mode 100644 index 000000000..37ae8a330 --- /dev/null +++ b/package/glorytun/0002-aegis256.c-fix-aarch64-build-with-uclibc.patch @@ -0,0 +1,43 @@ +From eb22e270a962d4a2da1972304fd8b1216211c9d1 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 16 Apr 2022 23:32:55 +0200 +Subject: [PATCH] aegis256.c: fix aarch64 build with uclibc + +Fix the following aarch64 build failure with uclibc: + +mud/aegis256/aegis256.c:51:10: fatal error: sys/auxv.h: No such file or directory + 51 | #include + | ^~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/4e1bbd72b9b7e0f9963f6693c3d7bc9a1d24fab4 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/angt/aegis256/commit/eb22e270a962d4a2da1972304fd8b1216211c9d1] +--- + aegis256.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/mud/aegis256/aegis256.c b/mud/aegis256/aegis256.c +index 75a772c..4e73fab 100644 +--- a/mud/aegis256/aegis256.c ++++ b/mud/aegis256/aegis256.c +@@ -48,7 +48,7 @@ typedef __m128i x128; + #endif + + #ifdef __ARM_FEATURE_CRYPTO +-#ifdef __linux__ ++#if defined(__linux__) && __has_include("sys/auxv.h") + #include + #endif + #include +@@ -64,7 +64,7 @@ typedef uint8x16_t x128; + int + aegis256_is_available(void) + { +-#ifdef __linux__ ++#if defined(__linux__) && __has_include("sys/auxv.h") + return (getauxval(AT_HWCAP) & HWCAP_AES) + #ifdef HWCAP2_AES + || (getauxval(AT_HWCAP2) & HWCAP2_AES) diff --git a/package/glorytun/glorytun.hash b/package/glorytun/glorytun.hash index 9d1b79778..39dd12fa4 100644 --- a/package/glorytun/glorytun.hash +++ b/package/glorytun/glorytun.hash @@ -1,2 +1,2 @@ -sha256 137d9c525a05bb605163df0465367d36e943715ca773ce43d5ea66f0597600a3 glorytun-0.3.4.tar.gz -sha256 3d9ddddb8807c305287d9dbab58473e5307e9c91651c43c654a0828855d2b373 LICENSE +sha256 137d9c525a05bb605163df0465367d36e943715ca773ce43d5ea66f0597600a3 glorytun-0.3.4.tar.gz +sha256 3d9ddddb8807c305287d9dbab58473e5307e9c91651c43c654a0828855d2b373 LICENSE diff --git a/package/glslsandbox-player/Config.in b/package/glslsandbox-player/Config.in index 317eb6289..530c158fc 100644 --- a/package/glslsandbox-player/Config.in +++ b/package/glslsandbox-player/Config.in @@ -2,9 +2,6 @@ config BR2_PACKAGE_GLSLSANDBOX_PLAYER bool "glslsandbox-player" depends on BR2_PACKAGE_HAS_LIBEGL depends on BR2_PACKAGE_HAS_LIBGLES - # Doesn't really depend on threads, but this makes sure we have at least - # one native windowing system available, and is good enough in practice. - depends on BR2_TOOLCHAIN_HAS_THREADS help GLSL Sandbox standalone player allow one to run and render (most of) nice shaders available online on the @@ -65,9 +62,15 @@ choice help Select the native windowing system you wish to use. +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_NULL + bool "NullWS" + help + Enable Null Windowing System + config BR2_PACKAGE_GLSLSANDBOX_PLAYER_KMS bool "KMS/DRM/GBM" depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm + depends on BR2_PACKAGE_HAS_LIBGBM select BR2_PACKAGE_LIBDRM config BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI @@ -108,10 +111,12 @@ endchoice if BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL config BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL_IVI bool "Wayland IVI shell support" -endif +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL_XDG + bool "Wayland XDG shell support" + select BR2_PACKAGE_WAYLAND_PROTOCOLS +endif endif -comment "glslsandbox-player needs a toolchain w/ threads and an openGL ES and EGL driver" - depends on !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_PACKAGE_HAS_LIBEGL || !BR2_PACKAGE_HAS_LIBGLES +comment "glslsandbox-player needs openGL ES and EGL driver" + depends on !BR2_PACKAGE_HAS_LIBEGL || !BR2_PACKAGE_HAS_LIBGLES diff --git a/package/glslsandbox-player/glslsandbox-player.mk b/package/glslsandbox-player/glslsandbox-player.mk index c5fbf062b..241f3475d 100644 --- a/package/glslsandbox-player/glslsandbox-player.mk +++ b/package/glslsandbox-player/glslsandbox-player.mk @@ -12,6 +12,11 @@ GLSLSANDBOX_PLAYER_DEPENDENCIES = libegl libgles host-pkgconf GLSLSANDBOX_PLAYER_LICENSE = BSD-2-Clause GLSLSANDBOX_PLAYER_LICENSE_FILES = LICENSE +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +GLSLSANDBOX_PLAYER_DEPENDENCIES += libexecinfo +GLSLSANDBOX_PLAYER_CONF_ENV += LIBS="-lexecinfo" +endif + ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_PNG),y) GLSLSANDBOX_PLAYER_DEPENDENCIES += libpng GLSLSANDBOX_PLAYER_CONF_OPTS += --with-libpng @@ -36,10 +41,10 @@ else GLSLSANDBOX_PLAYER_CONF_OPTS += --disable-install-scripts endif -ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_KMS),y) -# gbm dependency is not needed, as it is normally packaged with -# libegl/libgles drivers. -GLSLSANDBOX_PLAYER_DEPENDENCIES += libdrm +ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_NULL),y) +GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=nullws +else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_KMS),y) +GLSLSANDBOX_PLAYER_DEPENDENCIES += libdrm libgbm GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=kms else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI),y) GLSLSANDBOX_PLAYER_DEPENDENCIES += sunxi-mali-utgard @@ -67,6 +72,12 @@ GLSLSANDBOX_PLAYER_CONF_OPTS += --enable-ivi else GLSLSANDBOX_PLAYER_CONF_OPTS += --disable-ivi endif +ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL_XDG),y) +GLSLSANDBOX_PLAYER_DEPENDENCIES += wayland-protocols +GLSLSANDBOX_PLAYER_CONF_OPTS += --enable-wlxdg +else +GLSLSANDBOX_PLAYER_CONF_OPTS += --disable-wlxdg +endif else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_X11),y) GLSLSANDBOX_PLAYER_DEPENDENCIES += xlib_libX11 GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=x11 diff --git a/package/gnu-efi/gnu-efi.hash b/package/gnu-efi/gnu-efi.hash index bf9792b29..ed4d01912 100644 --- a/package/gnu-efi/gnu-efi.hash +++ b/package/gnu-efi/gnu-efi.hash @@ -1,6 +1,6 @@ # From http://sourceforge.net/projects/gnu-efi/files -md5 960a8379b6f95ee73d7778b70bf2a089 gnu-efi-3.0.10.tar.bz2 -sha1 a51b81eda97c0acbf3ac86123f298d3c0e396ce5 gnu-efi-3.0.10.tar.bz2 +md5 960a8379b6f95ee73d7778b70bf2a089 gnu-efi-3.0.10.tar.bz2 +sha1 a51b81eda97c0acbf3ac86123f298d3c0e396ce5 gnu-efi-3.0.10.tar.bz2 # Locally computed -sha256 f12082a3a5f0c3e38c67262a9f34245d139ac2cdfc0a0bdcf03c9b1f56fa4fed gnu-efi-3.0.10.tar.bz2 -sha256 42d352e9c28dd446fd0209cd6f75588c8e41f0934540bb382bbd61c752360265 README.efilib +sha256 f12082a3a5f0c3e38c67262a9f34245d139ac2cdfc0a0bdcf03c9b1f56fa4fed gnu-efi-3.0.10.tar.bz2 +sha256 42d352e9c28dd446fd0209cd6f75588c8e41f0934540bb382bbd61c752360265 README.efilib diff --git a/package/gnupg2/0001-ks_ldap_free_state.patch b/package/gnupg2/0001-ks_ldap_free_state.patch new file mode 100644 index 000000000..fa55d27c0 --- /dev/null +++ b/package/gnupg2/0001-ks_ldap_free_state.patch @@ -0,0 +1,21 @@ + +Fix undefined reference to `ks_ldap_free_state' if OpenLDAP is not +installed + +Backported from: 7011286ce6e1fb56c2989fdafbd11b931c489faa + +Signed-off-by: Michael Fischer + +--- a/dirmngr/server.c ++++ b/dirmngr/server.c +@@ -3137,8 +3137,10 @@ start_command_handler (assuan_fd_t fd, unsigned int session_id) + ctrl->refcount); + else + { ++#if USE_LDAP + ks_ldap_free_state (ctrl->ks_get_state); + ctrl->ks_get_state = NULL; ++#endif + release_ctrl_ocsp_certs (ctrl); + xfree (ctrl->server_local); + dirmngr_deinit_default_ctrl (ctrl); diff --git a/package/gnupg2/gnupg2.hash b/package/gnupg2/gnupg2.hash index caf5dcc88..f9c071ad4 100644 --- a/package/gnupg2/gnupg2.hash +++ b/package/gnupg2/gnupg2.hash @@ -1,7 +1,7 @@ -# From https://lists.gnupg.org/pipermail/gnupg-announce/2021q2/000460.html -sha1 81684626720c91060ae9920936c768df9fc8b2f6 gnupg-2.2.32.tar.bz2 +# From https://lists.gnupg.org/pipermail/gnupg-announce/2022q4/000476.html +sha1 1f31b7b4c9c9adad97f94ea3acf1aa64c0424bcc gnupg-2.3.8.tar.bz2 # Calculated based on the hash above and signature -# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.32.tar.bz2.sig -# using key 6DAA6E64A76D2840571B4902528897B826403ADA -sha256 b2571b35f82c63e7d278aa6a1add0d73453dc14d3f0854be490c844fca7e0614 gnupg-2.2.32.tar.bz2 +# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.3.8.tar.bz2.sig +# using key 6DAA6E64A76D2840571B4902528897B826403ADA and AC8E115BF73E2D8D47FA9908E98E9B2D19C6C8BD +sha256 540b7a40e57da261fb10ef521a282e0021532a80fd023e75fb71757e8a4969ed gnupg-2.3.8.tar.bz2 sha256 bc2d6664f6276fa0a72d57633b3ae68dc7dcb677b71018bf08c8e93e509f1357 COPYING diff --git a/package/gnupg2/gnupg2.mk b/package/gnupg2/gnupg2.mk index 906b79e0a..9dc29ca99 100644 --- a/package/gnupg2/gnupg2.mk +++ b/package/gnupg2/gnupg2.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNUPG2_VERSION = 2.2.32 +GNUPG2_VERSION = 2.3.8 GNUPG2_SOURCE = gnupg-$(GNUPG2_VERSION).tar.bz2 GNUPG2_SITE = https://gnupg.org/ftp/gcrypt/gnupg GNUPG2_LICENSE = GPL-3.0+ @@ -16,7 +16,7 @@ GNUPG2_DEPENDENCIES = zlib libgpg-error libgcrypt libassuan libksba libnpth \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) host-pkgconf GNUPG2_CONF_OPTS = \ - --disable-rpath --disable-regex \ + --disable-rpath \ --with-libgpg-error-prefix=$(STAGING_DIR)/usr \ --with-libgcrypt-prefix=$(STAGING_DIR)/usr \ --with-libassuan-prefix=$(STAGING_DIR)/usr \ diff --git a/package/gnuradio/gnuradio.hash b/package/gnuradio/gnuradio.hash index e47c5faab..90343cf38 100644 --- a/package/gnuradio/gnuradio.hash +++ b/package/gnuradio/gnuradio.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 3e293541a9ac8d78660762bae8b80c0f6195b3494e1c50c01a9fd79cc60bb624 gnuradio-3.8.2.0.tar.gz -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 3e293541a9ac8d78660762bae8b80c0f6195b3494e1c50c01a9fd79cc60bb624 gnuradio-3.8.2.0.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/gnutls/Config.in b/package/gnutls/Config.in index d57bb8d13..59af32bf1 100644 --- a/package/gnutls/Config.in +++ b/package/gnutls/Config.in @@ -2,12 +2,10 @@ config BR2_PACKAGE_GNUTLS bool "gnutls" # https://gitlab.com/gnutls/gnutls/issues/203 depends on !BR2_STATIC_LIBS - # gnulib requires a library that implements wctomb(). - # This is noticed only when linking with libgnutls.so. depends on BR2_USE_WCHAR select BR2_PACKAGE_LIBTASN1 + select BR2_PACKAGE_LIBUNISTRING select BR2_PACKAGE_NETTLE - select BR2_PACKAGE_PCRE help GnuTLS is a secure communications library implementing the SSL and TLS protocols and technologies around them. diff --git a/package/gnutls/gnutls.hash b/package/gnutls/gnutls.hash index 2ffc6c1b4..303f1351e 100644 --- a/package/gnutls/gnutls.hash +++ b/package/gnutls/gnutls.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://www.gnupg.org/ftp/gcrypt/gnutls/v3.7/gnutls-3.7.3.tar.xz.sig -sha256 fc59c43bc31ab20a6977ff083029277a31935b8355ce387b634fa433f8f6c49a gnutls-3.7.3.tar.xz +# https://www.gnupg.org/ftp/gcrypt/gnutls/v3.7/gnutls-3.7.8.tar.xz.sig +sha256 c58ad39af0670efe6a8aee5e3a8b2331a1200418b64b7c51977fb396d4617114 gnutls-3.7.8.tar.xz # Locally calculated sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b doc/COPYING sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 doc/COPYING.LESSER diff --git a/package/gnutls/gnutls.mk b/package/gnutls/gnutls.mk index 7317a3bb1..0010f91fc 100644 --- a/package/gnutls/gnutls.mk +++ b/package/gnutls/gnutls.mk @@ -4,19 +4,15 @@ # ################################################################################ +# When bumping, make sure *all* --without-libfoo-prefix options are in GNUTLS_CONF_OPTS GNUTLS_VERSION_MAJOR = 3.7 -GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).3 +GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).8 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 -ifeq ($(BR2_PACKAGE_GNUTLS_OPENSSL),y) -GNUTLS_LICENSE += , GPL-3.0+ (gnutls-openssl library) -GNUTLS_LICENSE_FILES += doc/COPYING -endif - -GNUTLS_DEPENDENCIES = host-pkgconf libtasn1 nettle pcre +GNUTLS_DEPENDENCIES = host-pkgconf libtasn1 libunistring nettle GNUTLS_CPE_ID_VENDOR = gnu GNUTLS_CONF_OPTS = \ --disable-doc \ @@ -24,11 +20,17 @@ GNUTLS_CONF_OPTS = \ --disable-libdane \ --disable-rpath \ --disable-tests \ - --enable-local-libopts \ - --enable-openssl-compatibility \ - --with-librt-prefix=$(STAGING_DIR) \ + --without-included-unistring \ + --without-libcrypto-prefix \ + --without-libdl-prefix \ + --without-libev-prefix \ + --without-libiconv-prefix \ + --without-libintl-prefix \ + --without-libpthread-prefix \ + --without-libseccomp-prefix \ + --without-librt-prefix \ + --without-libz-prefix \ --without-tpm \ - $(if $(BR2_PACKAGE_GNUTLS_OPENSSL),--enable,--disable)-openssl-compatibility \ $(if $(BR2_PACKAGE_GNUTLS_TOOLS),--enable-tools,--disable-tools) \ $(if $(BR2_PACKAGE_GNUTLS_ENABLE_SSL2),--enable,--disable)-ssl2-support \ $(if $(BR2_PACKAGE_GNUTLS_ENABLE_GOST),--enable,--disable)-gost @@ -39,16 +41,20 @@ GNUTLS_CONF_ENV = gl_cv_socket_ipv6=yes \ gl_cv_func_gettimeofday_clobber=no GNUTLS_INSTALL_STAGING = YES -# libpthread autodetection poison the linkpath -GNUTLS_CONF_OPTS += $(if $(BR2_TOOLCHAIN_HAS_THREADS),--with-libpthread-prefix=$(STAGING_DIR)/usr) +ifeq ($(BR2_PACKAGE_GNUTLS_OPENSSL),y) +GNUTLS_LICENSE += , GPL-3.0+ (gnutls-openssl library) +GNUTLS_LICENSE_FILES += doc/COPYING +GNUTLS_CONF_OPTS += --enable-openssl-compatibility +else +GNUTLS_CONF_OPTS += --disable-openssl-compatibility +endif -# gnutls needs libregex, but pcre can be used too -# The check isn't cross-compile friendly -GNUTLS_CONF_ENV += libopts_cv_with_libregex=yes -GNUTLS_CONF_OPTS += \ - --with-regex-header=pcreposix.h \ - --with-libregex-cflags="`$(PKG_CONFIG_HOST_BINARY) libpcreposix --cflags`" \ - --with-libregex-libs="`$(PKG_CONFIG_HOST_BINARY) libpcreposix --libs`" +ifeq ($(BR2_PACKAGE_BROTLI),y) +GNUTLS_CONF_OPTS += --with-libbrotli +GNUTLS_DEPENDENCIES += brotli +else +GNUTLS_CONF_OPTS += --without-libbrotli +endif ifeq ($(BR2_PACKAGE_CRYPTODEV_LINUX),y) GNUTLS_CONF_OPTS += --enable-cryptodev @@ -69,11 +75,18 @@ else GNUTLS_CONF_OPTS += --without-p11-kit endif -ifeq ($(BR2_PACKAGE_LIBUNISTRING),y) -GNUTLS_CONF_OPTS += --with-libunistring-prefix=$(STAGING_DIR)/usr -GNUTLS_DEPENDENCIES += libunistring +ifeq ($(BR2_PACKAGE_ZLIB),y) +GNUTLS_CONF_OPTS += --with-zlib +GNUTLS_DEPENDENCIES += zlib +else +GNUTLS_CONF_OPTS += --without-zlib +endif + +ifeq ($(BR2_PACKAGE_ZSTD),y) +GNUTLS_CONF_OPTS += --with-libzstd +GNUTLS_DEPENDENCIES += zstd else -GNUTLS_CONF_OPTS += --with-included-unistring +GNUTLS_CONF_OPTS += --without-libzstd endif # Provide a default CA cert location 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 f76c5b1d0..3a9b47474 100644 --- a/package/go/0001-build.go-explicit-option-for-crosscompilation.patch +++ b/package/go/0001-build.go-explicit-option-for-crosscompilation.patch @@ -1,4 +1,4 @@ -From e1382a731a726293e30901038c6870fa77ef6095 Mon Sep 17 00:00:00 2001 +From 335c6245674088de616324398137416c7a1cbe8f Mon Sep 17 00:00:00 2001 From: Angelo Compagnucci Date: Tue, 8 May 2018 16:08:44 +0200 Subject: [PATCH] build.go: explicit option for crosscompilation @@ -17,10 +17,10 @@ Signed-off-by: Anisse Astier 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go -index 99d1db5..eb4097f 100644 +index f99f1f4e43..08a9f24f59 100644 --- a/src/cmd/dist/build.go +++ b/src/cmd/dist/build.go -@@ -252,12 +252,13 @@ func xinit() { +@@ -286,12 +286,13 @@ func xinit() { // $CC_FOR_goos_goarch, if set, applies only to goos/goarch. func compilerEnv(envName, def string) map[string]string { m := map[string]string{"": def} @@ -36,5 +36,5 @@ index 99d1db5..eb4097f 100644 } m[""] = env -- -2.7.4 +2.35.1 diff --git a/package/go/0002-cmd-dist-use-gohostarch-for-ssa-rewrite-check.patch b/package/go/0002-cmd-dist-use-gohostarch-for-ssa-rewrite-check.patch new file mode 100644 index 000000000..234620864 --- /dev/null +++ b/package/go/0002-cmd-dist-use-gohostarch-for-ssa-rewrite-check.patch @@ -0,0 +1,95 @@ +From 38d841a18ab0bcb63554fed6b38012e504599891 Mon Sep 17 00:00:00 2001 +From: Christian Stewart +Date: Wed, 1 Jun 2022 20:52:12 +0000 +Subject: [PATCH] cmd/dist: use gohostarch for ssa rewrite check + +Fix a build failure when bootstrapping the Go compiler with go-bootstrap 1.4 +while the environment contains GOARCH=riscv64. + +Building Go toolchain1 using go-1.4-bootstrap-20171003. +src/cmd/compile/internal/ssa/rewriteRISCV64.go:4814 +invalid operation: y << x (shift count type int64, must be unsigned integer) + +This is because: + + - buildtool.go:198: calls bootstrapRewriteFile(src) + - bootstrapRewriteFile: buildtool.go:283 calls: + - isUnneededSSARewriteFile: checks os.Getenv("GOARCH") + - isUnneededSSARewriteFile: returns "", false + - bootstrapRewriteFile: calls bootstrapFixImports + - boostrapFixImports: generates code go1.4 cannot compile + +Instead of checking "GOARCH" in the environment, use the gohostarch variable. + +Change-Id: Ie9c190498555c4068461fead6278a62e924062c6 +GitHub-Last-Rev: 300d7a7fea0a67c696970fd271e2ce709674a658 +GitHub-Pull-Request: golang/go#52362 +Reviewed-on: https://go-review.googlesource.com/c/go/+/400376 +Reviewed-by: Bryan Mills +TryBot-Result: Gopher Robot +Reviewed-by: Dmitri Shuralyov +Auto-Submit: Bryan Mills +Run-TryBot: Bryan Mills +Reviewed-by: Joel Sing +Run-TryBot: Joel Sing +--- + src/cmd/dist/buildtool.go | 16 ++++++---------- + 1 file changed, 6 insertions(+), 10 deletions(-) + +diff --git a/src/cmd/dist/buildtool.go b/src/cmd/dist/buildtool.go +index 036f8c52fa..2d8ace52d8 100644 +--- a/src/cmd/dist/buildtool.go ++++ b/src/cmd/dist/buildtool.go +@@ -16,7 +16,6 @@ import ( + "os" + "path/filepath" + "regexp" +- "runtime" + "strings" + ) + +@@ -239,11 +238,11 @@ var ssaRewriteFileSubstring = filepath.FromSlash("src/cmd/compile/internal/ssa/r + + // isUnneededSSARewriteFile reports whether srcFile is a + // src/cmd/compile/internal/ssa/rewriteARCHNAME.go file for an +-// architecture that isn't for the current runtime.GOARCH. ++// architecture that isn't for the given GOARCH. + // + // When unneeded is true archCaps is the rewrite base filename without + // the "rewrite" prefix or ".go" suffix: AMD64, 386, ARM, ARM64, etc. +-func isUnneededSSARewriteFile(srcFile string) (archCaps string, unneeded bool) { ++func isUnneededSSARewriteFile(srcFile, goArch string) (archCaps string, unneeded bool) { + if !strings.Contains(srcFile, ssaRewriteFileSubstring) { + return "", false + } +@@ -258,13 +257,10 @@ func isUnneededSSARewriteFile(srcFile string) (archCaps string, unneeded bool) { + archCaps = fileArch + fileArch = strings.ToLower(fileArch) + fileArch = strings.TrimSuffix(fileArch, "splitload") +- if fileArch == os.Getenv("GOHOSTARCH") { ++ if fileArch == goArch { + return "", false + } +- if fileArch == strings.TrimSuffix(runtime.GOARCH, "le") { +- return "", false +- } +- if fileArch == strings.TrimSuffix(os.Getenv("GOARCH"), "le") { ++ if fileArch == strings.TrimSuffix(goArch, "le") { + return "", false + } + return archCaps, true +@@ -273,9 +269,9 @@ func isUnneededSSARewriteFile(srcFile string) (archCaps string, unneeded bool) { + func bootstrapRewriteFile(srcFile string) string { + // During bootstrap, generate dummy rewrite files for + // irrelevant architectures. We only need to build a bootstrap +- // binary that works for the current runtime.GOARCH. ++ // binary that works for the current gohostarch. + // This saves 6+ seconds of bootstrap. +- if archCaps, ok := isUnneededSSARewriteFile(srcFile); ok { ++ if archCaps, ok := isUnneededSSARewriteFile(srcFile, gohostarch); ok { + return fmt.Sprintf(`// Code generated by go tool dist; DO NOT EDIT. + + package ssa +-- +2.35.1 + diff --git a/package/go/0003-runtime-support-riscv64-SV57-mode.patch b/package/go/0003-runtime-support-riscv64-SV57-mode.patch new file mode 100644 index 000000000..f51c2ca09 --- /dev/null +++ b/package/go/0003-runtime-support-riscv64-SV57-mode.patch @@ -0,0 +1,65 @@ +From 6618c7af436488fa12018cdcd31eeedb3a698745 Mon Sep 17 00:00:00 2001 +From: Dmitry Vyukov +Date: Fri, 27 May 2022 18:55:35 +0200 +Subject: [PATCH] runtime: support riscv64 SV57 mode + +Riscv64 has SV57 mode when user-space VA is 56 bits. +Linux kernel recently got support for this mode and Go binaries started crashing as: + +runtime: lfstack.push invalid packing: node=0xffffff5908a940 cnt=0x1 +packed=0xffff5908a9400001 -> node=0xffff5908a940 + +Adjust lfstack code to use only 8 top bits of pointers on riscv64. + +For context see: +https://groups.google.com/g/syzkaller-bugs/c/lU0GQTZoNQQ/m/O_c3vmE3AAAJ + +Update #54104 + +Change-Id: Ib5d3d6a79c0c6eddf11618d73fcc8bc1832a9c25 +Signed-off-by: Christian Stewart +--- + +Upstream: https://go-review.googlesource.com/c/go/+/409055/4 +--- + src/runtime/lfstack_64bit.go | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/src/runtime/lfstack_64bit.go b/src/runtime/lfstack_64bit.go +index 154130cf63..39fa647b9e 100644 +--- a/src/runtime/lfstack_64bit.go ++++ b/src/runtime/lfstack_64bit.go +@@ -36,12 +36,21 @@ const ( + // We use one bit to distinguish between the two ranges. + aixAddrBits = 57 + aixCntBits = 64 - aixAddrBits + 3 ++ ++ // Riscv64 SV57 mode gives 56 bits of userspace VA. ++ // lfstack code supports it, but broader support for SV57 mode is incomplete, ++ // and there may be other issues (see #54104). ++ riscv64AddrBits = 56 ++ riscv64CntBits = 64 - riscv64AddrBits + 3 + ) + + func lfstackPack(node *lfnode, cnt uintptr) uint64 { + if GOARCH == "ppc64" && GOOS == "aix" { + return uint64(uintptr(unsafe.Pointer(node)))<<(64-aixAddrBits) | uint64(cnt&(1<> aixCntBits << 3) | 0xa<<56))) + } ++ if GOARCH == "riscv64" { ++ return (*lfnode)(unsafe.Pointer(uintptr(val >> riscv64CntBits << 3))) ++ } + return (*lfnode)(unsafe.Pointer(uintptr(val >> cntBits << 3))) + } +-- +2.35.1 + diff --git a/package/go/Config.in.host b/package/go/Config.in.host index e82ab6e81..ded02d3b3 100644 --- a/package/go/Config.in.host +++ b/package/go/Config.in.host @@ -5,10 +5,16 @@ config BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS depends on (BR2_arm && BR2_TOOLCHAIN_SUPPORTS_PIE) || BR2_aarch64 \ || BR2_i386 || BR2_x86_64 || BR2_powerpc64le \ - || BR2_mips64 || BR2_mips64el || BR2_s390x + || BR2_mips64 || BR2_mips64el || BR2_riscv || BR2_s390x depends on !BR2_ARM_CPU_ARMV4 # MIPS R6 support in Go has not yet been developed. depends on !BR2_MIPS_CPU_MIPS64R6 + # Go doesn't support Risc-v 32-bit. + depends on !BR2_RISCV_32 + # Go requires the following Risc-v General (G) features: + depends on !BR2_riscv || (BR2_RISCV_ISA_RVI && \ + BR2_RISCV_ISA_RVM && BR2_RISCV_ISA_RVA && \ + BR2_RISCV_ISA_RVF && BR2_RISCV_ISA_RVD) config BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS bool diff --git a/package/go/go.hash b/package/go/go.hash index 85e6adfb8..6c8175e69 100644 --- a/package/go/go.hash +++ b/package/go/go.hash @@ -1,3 +1,3 @@ -# From https://golang.org/dl/ -sha256 2effcd898140da79a061f3784ca4f8d8b13d811fb2abe9dad2404442dabbdf7a go1.17.8.src.tar.gz +# From https://go.dev/dl +sha256 9cedcca58845df0c9474ae00274c44a95c9dfaefb132fc59921c28c7c106f8e6 go1.18.10.src.tar.gz sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 LICENSE diff --git a/package/go/go.mk b/package/go/go.mk index 3df16c9a6..5132db2fa 100644 --- a/package/go/go.mk +++ b/package/go/go.mk @@ -4,7 +4,7 @@ # ################################################################################ -GO_VERSION = 1.17.8 +GO_VERSION = 1.18.10 GO_SITE = https://storage.googleapis.com/golang GO_SOURCE = go$(GO_VERSION).src.tar.gz @@ -25,6 +25,8 @@ HOST_GO_COMMON_ENV = \ GOFLAGS=-mod=vendor \ GOROOT="$(HOST_GO_ROOT)" \ GOPATH="$(HOST_GO_GOPATH)" \ + GOCACHE="$(HOST_GO_TARGET_CACHE)" \ + GOMODCACHE="$(HOST_GO_GOPATH)/pkg/mod" \ GOPROXY=off \ PATH=$(BR_PATH) \ GOBIN= \ @@ -63,6 +65,8 @@ else ifeq ($(BR2_mips64),y) GO_GOARCH = mips64 else ifeq ($(BR2_mips64el),y) GO_GOARCH = mips64le +else ifeq ($(BR2_riscv),y) +GO_GOARCH = riscv64 else ifeq ($(BR2_s390x),y) GO_GOARCH = s390x endif @@ -71,8 +75,8 @@ endif HOST_GO_TOOLDIR = $(HOST_GO_ROOT)/pkg/tool/linux_$(GO_GOARCH) HOST_GO_TARGET_ENV = \ $(HOST_GO_COMMON_ENV) \ + GOOS="linux" \ GOARCH=$(GO_GOARCH) \ - GOCACHE="$(HOST_GO_TARGET_CACHE)" \ CC="$(TARGET_CC)" \ CXX="$(TARGET_CXX)" \ CGO_CFLAGS="$(TARGET_CFLAGS)" \ @@ -93,6 +97,7 @@ endif HOST_GO_CROSS_ENV = \ CC_FOR_TARGET="$(TARGET_CC)" \ CXX_FOR_TARGET="$(TARGET_CXX)" \ + GOOS="linux" \ GOARCH=$(GO_GOARCH) \ $(if $(GO_GO386),GO386=$(GO_GO386)) \ $(if $(GO_GOARM),GOARM=$(GO_GOARM)) \ @@ -107,6 +112,7 @@ endif # BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS # For the convenience of host golang packages HOST_GO_HOST_ENV = \ $(HOST_GO_COMMON_ENV) \ + GOOS="" \ GOARCH="" \ GOCACHE="$(HOST_GO_HOST_CACHE)" \ CC="$(HOSTCC_NOCCACHE)" \ diff --git a/package/gob2/gob2.hash b/package/gob2/gob2.hash index 7edf518f3..9cef2ed61 100644 --- a/package/gob2/gob2.hash +++ b/package/gob2/gob2.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 f7ee84c07ca88ae96e5a60461957cc4dd0aa69d61804433d1c85de3d50be8026 gob2-2.0.20.tar.xz -sha256 b8a2f73f743dc1a51aff23f1aacbca4b868564db52496fa3c0caba755bfd1eaf COPYING -sha256 7222386392eecf784e2f0c406f412f238cb6d25865a8447ae0947b32bb569889 COPYING.generated-code +sha256 f7ee84c07ca88ae96e5a60461957cc4dd0aa69d61804433d1c85de3d50be8026 gob2-2.0.20.tar.xz +sha256 b8a2f73f743dc1a51aff23f1aacbca4b868564db52496fa3c0caba755bfd1eaf COPYING +sha256 7222386392eecf784e2f0c406f412f238cb6d25865a8447ae0947b32bb569889 COPYING.generated-code diff --git a/package/gobject-introspection/gobject-introspection.mk b/package/gobject-introspection/gobject-introspection.mk index 41d64171a..ec236c621 100644 --- a/package/gobject-introspection/gobject-introspection.mk +++ b/package/gobject-introspection/gobject-introspection.mk @@ -9,7 +9,6 @@ GOBJECT_INTROSPECTION_VERSION = $(GOBJECT_INTROSPECTION_VERSION_MAJOR).0 GOBJECT_INTROSPECTION_SITE = http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/$(GOBJECT_INTROSPECTION_VERSION_MAJOR) GOBJECT_INTROSPECTION_SOURCE = gobject-introspection-$(GOBJECT_INTROSPECTION_VERSION).tar.xz GOBJECT_INTROSPECTION_INSTALL_STAGING = YES -GOBJECT_INTROSPECTION_AUTORECONF = YES GOBJECT_INTROSPECTION_LICENSE = LGPL-2.0+, GPL-2.0+, BSD-2-Clause GOBJECT_INTROSPECTION_LICENSE_FILES = COPYING.LGPL COPYING.GPL giscanner/scannerlexer.l @@ -67,7 +66,7 @@ HOST_GOBJECT_INTROSPECTION_CONF_ENV = \ define GOBJECT_INTROSPECTION_FIX_TOOLS_PYTHON_PATH $(SED) '1s%#!.*%#!$(HOST_DIR)/bin/python3%' $(@D)/tools/g-ir-tool-template.in endef -HOST_GOBJECT_INTROSPECTION_PRE_CONFIGURE_HOOKS += GOBJECT_INTROSPECTION_FIX_TOOLTEMPLATE_PYTHON_PATH +HOST_GOBJECT_INTROSPECTION_PRE_CONFIGURE_HOOKS += GOBJECT_INTROSPECTION_FIX_TOOLS_PYTHON_PATH # Perform the following: # - Just as above, Ensure that g-ir-tool-template.in uses the host python. diff --git a/package/googlefontdirectory/googlefontdirectory.hash b/package/googlefontdirectory/googlefontdirectory.hash index 2525b6fff..10f3bf60b 100644 --- a/package/googlefontdirectory/googlefontdirectory.hash +++ b/package/googlefontdirectory/googlefontdirectory.hash @@ -1,994 +1,994 @@ # Locally calculated -sha256 ec2ddbeee673cce1b0796e3b20fbff5fd836ce9ba6d88deed8b59154fa255f06 googlefontdirectory-94dff3eaa9301b6640cccc63c56d6ff33d82882c.tar.gz +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 -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/craftygirls/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/crushed/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/robotomono/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 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/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/schoolbell/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 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 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 2ac164969308ac200eefc516151934701044f0db5695ae2acc15df2a8d22e5cb ofl/anaheim/OFL.txt -sha256 88d3abd47414e7912d0d2eb44ca89e0b1bd7c43cc2ebe58a8a75281ad75a0f60 ofl/stardosstencil/OFL.txt -sha256 01003114b77326df223f291c48cdf12e95f6a5937437f164347919f2bbde12d4 ofl/josefinslab/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 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 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 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 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 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 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 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 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 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 247edbf968c0a5b8defd6a9e420080a8bbca6ea002bfb326d12a472a6f95637b ofl/cuprum/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 de71817dafdecfee21268b8c4f106146e1d00988c4fd6546b10445eb26b24cc0 ofl/expletussans/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 e2a176ce310235bf281f1124454e21331390ae1b4c429a2d80ae642d333a5a7f ofl/frankruhllibre/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 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 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 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/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/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 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 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 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 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 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 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 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 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 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 6cca1abc09d677cf00a55674ce2775e0eeb6dc5c0137b0401816680b9e500f81 ofl/marvel/OFL.txt -sha256 e98ce988fba1c138f4e7c0c5120809706ab1b24a3c29638ca83ab2ff082e08db ofl/chango/OFL.txt -sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/sairasemicondensed/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 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 19c6ecf65a6b0687dd324b093ced5f1020a1fcabfc8ddaaeca6906cd05153e23 ofl/overpass/OFL.txt -sha256 ff1f38ac4e694a4ad5bd3d7a5146cd8bd73fd57aae794ced76a24b0d68e41206 ofl/pinyonscript/OFL.txt -sha256 6aa923334ec515d26b1a61bb978a0bb5bd8884de7529add1625beef2f4a53f74 ofl/nicomoji/OFL.txt -sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesansexpanded/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 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 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 03082243ebc53e2090bc59987f693982ccee83b30516457b11f6a2349b78f5f8 ofl/rokkitt/OFL.txt -sha256 1152ca18eaa6159634f1eb209c60df360c1c09a52991e392f8033702036634d4 ofl/assistant/OFL.txt -sha256 012b1870f81b0d97ca756edd9eea315c7fc22657ac2f1cbdfcb6772fed3e20f3 ofl/bhavuka/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 76a55594c9a18b7d94b8119de838237eb834bae4e8c646d6d363aee587b7b427 ofl/slabo27px/OFL.txt -sha256 ed50ebe2fa922554980909192526fe94966556626d6d440a462c8e7eaed74cdc ofl/oflsortsmillgoudytt/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 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 5a8751bef5a4fc867ae015099267905034345260f14060fa276aac4051ddd8b4 ofl/varela/OFL.txt -sha256 f6fc9fbae062e4efc1b0306e27715d43cd64a48b8ffba81c22034b8efee4fce2 ofl/cabinsketch/OFL.txt -sha256 2f0015108d68627bd788d313f529c21ff4da2c2c42a5e1f3883acc83480f9002 ufl/ubuntucondensed/LICENCE.txt -sha256 2f0015108d68627bd788d313f529c21ff4da2c2c42a5e1f3883acc83480f9002 ufl/ubuntumono/LICENCE.txt -sha256 2f0015108d68627bd788d313f529c21ff4da2c2c42a5e1f3883acc83480f9002 ufl/ubuntu/LICENCE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/robotocondensed/LICENSE.txt +sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensanscondensed/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/walterturncoat/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/fontdinerswanky/LICENSE.txt +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/craftygirls/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/crushed/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/robotomono/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 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/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/schoolbell/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 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 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 2ac164969308ac200eefc516151934701044f0db5695ae2acc15df2a8d22e5cb ofl/anaheim/OFL.txt +sha256 88d3abd47414e7912d0d2eb44ca89e0b1bd7c43cc2ebe58a8a75281ad75a0f60 ofl/stardosstencil/OFL.txt +sha256 01003114b77326df223f291c48cdf12e95f6a5937437f164347919f2bbde12d4 ofl/josefinslab/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 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 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 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 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 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 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 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 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 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 247edbf968c0a5b8defd6a9e420080a8bbca6ea002bfb326d12a472a6f95637b ofl/cuprum/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 de71817dafdecfee21268b8c4f106146e1d00988c4fd6546b10445eb26b24cc0 ofl/expletussans/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 e2a176ce310235bf281f1124454e21331390ae1b4c429a2d80ae642d333a5a7f ofl/frankruhllibre/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 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 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 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/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/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 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 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 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 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 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 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 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 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 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 6cca1abc09d677cf00a55674ce2775e0eeb6dc5c0137b0401816680b9e500f81 ofl/marvel/OFL.txt +sha256 e98ce988fba1c138f4e7c0c5120809706ab1b24a3c29638ca83ab2ff082e08db ofl/chango/OFL.txt +sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/sairasemicondensed/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 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 19c6ecf65a6b0687dd324b093ced5f1020a1fcabfc8ddaaeca6906cd05153e23 ofl/overpass/OFL.txt +sha256 ff1f38ac4e694a4ad5bd3d7a5146cd8bd73fd57aae794ced76a24b0d68e41206 ofl/pinyonscript/OFL.txt +sha256 6aa923334ec515d26b1a61bb978a0bb5bd8884de7529add1625beef2f4a53f74 ofl/nicomoji/OFL.txt +sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesansexpanded/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 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 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 03082243ebc53e2090bc59987f693982ccee83b30516457b11f6a2349b78f5f8 ofl/rokkitt/OFL.txt +sha256 1152ca18eaa6159634f1eb209c60df360c1c09a52991e392f8033702036634d4 ofl/assistant/OFL.txt +sha256 012b1870f81b0d97ca756edd9eea315c7fc22657ac2f1cbdfcb6772fed3e20f3 ofl/bhavuka/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 76a55594c9a18b7d94b8119de838237eb834bae4e8c646d6d363aee587b7b427 ofl/slabo27px/OFL.txt +sha256 ed50ebe2fa922554980909192526fe94966556626d6d440a462c8e7eaed74cdc ofl/oflsortsmillgoudytt/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 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 5a8751bef5a4fc867ae015099267905034345260f14060fa276aac4051ddd8b4 ofl/varela/OFL.txt +sha256 f6fc9fbae062e4efc1b0306e27715d43cd64a48b8ffba81c22034b8efee4fce2 ofl/cabinsketch/OFL.txt +sha256 2f0015108d68627bd788d313f529c21ff4da2c2c42a5e1f3883acc83480f9002 ufl/ubuntucondensed/LICENCE.txt +sha256 2f0015108d68627bd788d313f529c21ff4da2c2c42a5e1f3883acc83480f9002 ufl/ubuntumono/LICENCE.txt +sha256 2f0015108d68627bd788d313f529c21ff4da2c2c42a5e1f3883acc83480f9002 ufl/ubuntu/LICENCE.txt diff --git a/package/gperf/gperf.hash b/package/gperf/gperf.hash index 3d8aafbdc..1ea48c454 100644 --- a/package/gperf/gperf.hash +++ b/package/gperf/gperf.hash @@ -1,7 +1,7 @@ # Locally calculated after checking pgp signature # https://ftp.gnu.org/pub/gnu/gperf/gperf-3.1.tar.gz.sig # with key 93C08C88471097CD -sha256 588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2 gperf-3.1.tar.gz +sha256 588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2 gperf-3.1.tar.gz # Locally calculated -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/gperf/gperf.mk b/package/gperf/gperf.mk index c2f042c46..4b928a0eb 100644 --- a/package/gperf/gperf.mk +++ b/package/gperf/gperf.mk @@ -8,8 +8,6 @@ GPERF_VERSION = 3.1 GPERF_SITE = $(BR2_GNU_MIRROR)/gperf GPERF_LICENSE = GPL-3.0+ GPERF_LICENSE_FILES = COPYING -GPERF_CPE_ID_VENDOR = gperftools_project -GPERF_CPE_ID_PRODUCT = gperftools $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/gpsd/br-chrony.conf b/package/gpsd/br-chrony.conf new file mode 100644 index 000000000..67a79e5f6 --- /dev/null +++ b/package/gpsd/br-chrony.conf @@ -0,0 +1,2 @@ +[Unit] +After=chrony.service diff --git a/package/gpsd/gpsd.mk b/package/gpsd/gpsd.mk index 4388b7e24..7abca6c54 100644 --- a/package/gpsd/gpsd.mk +++ b/package/gpsd/gpsd.mk @@ -225,13 +225,13 @@ define GPSD_INSTALL_INIT_SYSV $(SED) 's,^DEVICES=.*,DEVICES=$(BR2_PACKAGE_GPSD_DEVICES),' $(TARGET_DIR)/etc/init.d/S50gpsd endef -# systemd unit files are installed automatically, but need to update the -# /usr/local path references in the provided files to /usr. +# When using chrony, wait for after Buildroot's chrony.service +ifeq ($(BR2_PACKAGE_CHRONY),y) define GPSD_INSTALL_INIT_SYSTEMD - $(SED) 's%/usr/local%/usr%' \ - $(TARGET_DIR)/usr/lib/systemd/system/gpsd.service \ - $(TARGET_DIR)/usr/lib/systemd/system/gpsdctl@.service + $(INSTALL) -D -m 0644 $(GPSD_PKGDIR)/br-chrony.conf \ + $(TARGET_DIR)/usr/lib/systemd/system/gpsd.service.d/br-chrony.conf endef +endif define GPSD_INSTALL_STAGING_CMDS (cd $(@D); \ diff --git a/package/granite/Config.in b/package/granite/Config.in index 726bde1b2..9519e16d4 100644 --- a/package/granite/Config.in +++ b/package/granite/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_GRANITE depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libgee depends on BR2_PACKAGE_LIBGTK3 select BR2_PACKAGE_LIBGEE select BR2_PACKAGE_LIBGLIB2 @@ -12,7 +13,8 @@ config BR2_PACKAGE_GRANITE https://github.com/elementary/granite -comment "granite needs libgtk3 and a toolchain w/ wchar, threads" +comment "granite needs libgtk3 and a toolchain w/ wchar, threads, gcc >= 4.9" depends on BR2_USE_MMU depends on !BR2_PACKAGE_LIBGTK3 || !BR2_USE_WCHAR \ - || !BR2_TOOLCHAIN_HAS_THREADS + || !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/graphicsmagick/graphicsmagick.hash b/package/graphicsmagick/graphicsmagick.hash index cf6d22421..80130da5d 100644 --- a/package/graphicsmagick/graphicsmagick.hash +++ b/package/graphicsmagick/graphicsmagick.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 90dc22f1a7bd240e4c9065a940962bf13da43c99bcc36cb111cc3c1a0d7477d4 GraphicsMagick-1.3.37.tar.xz -sha256 8a4d960c5a3e453ee21e459e1794c7a0c85559825d3363a8d3b510b3344fdad4 Copyright.txt +sha256 d60cd9db59351d2b9cb19beb443170acaa28f073d13d258f67b3627635e32675 GraphicsMagick-1.3.38.tar.xz +sha256 0a20e661de942ebe115a354d0ec6d1d42b93856ea765f813f350a5ce5024cdb7 Copyright.txt diff --git a/package/graphicsmagick/graphicsmagick.mk b/package/graphicsmagick/graphicsmagick.mk index 38743487e..dbaa8ddf7 100644 --- a/package/graphicsmagick/graphicsmagick.mk +++ b/package/graphicsmagick/graphicsmagick.mk @@ -4,7 +4,7 @@ # ################################################################################ -GRAPHICSMAGICK_VERSION = 1.3.37 +GRAPHICSMAGICK_VERSION = 1.3.38 GRAPHICSMAGICK_SOURCE = GraphicsMagick-$(GRAPHICSMAGICK_VERSION).tar.xz GRAPHICSMAGICK_SITE = https://downloads.sourceforge.net/project/graphicsmagick/graphicsmagick/$(GRAPHICSMAGICK_VERSION) GRAPHICSMAGICK_LICENSE = MIT diff --git a/package/gsl/0001-configure.ac-fix-build-on-powerpc.patch b/package/gsl/0001-configure.ac-fix-build-on-powerpc.patch new file mode 100644 index 000000000..13f6da458 --- /dev/null +++ b/package/gsl/0001-configure.ac-fix-build-on-powerpc.patch @@ -0,0 +1,53 @@ +From 84e62d57b90b41a0c96bb9fb6ec61ecaac76a1ab Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 5 Nov 2022 21:31:36 +0100 +Subject: [PATCH] configure.ac: fix build on powerpc + +Fix the following powerpc build failures on: + - musl raised because fpu_control.h is not available: + +In file included from fp.c:8: +fp-gnuppc.c:21:10: fatal error: fpu_control.h: No such file or directory + 21 | #include + | ^~~~~~~~~~~~~~~ + + - glibc raised because _FPU_RC_NEAREST is undefined if _SOFT_FLOAT is + set: + + In file included from fp.c:8: +fp-gnuppc.c: In function 'gsl_ieee_set_mode': +fp-gnuppc.c:53:15: error: '_FPU_RC_NEAREST' undeclared (first use in this function) + 53 | mode |= _FPU_RC_NEAREST ; + | ^~~~~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/d73e116c81bf16d2e55fced215d6bd3b382fef10 + - http://autobuild.buildroot.org/results/48403946bb4cda9013e51db59c1b2ffdcf4e2854 + +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/configure.ac b/configure.ac +index bfd9ca30..1ee6dca0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -389,6 +389,14 @@ if test "$ac_cv_c_ieee_interface" = "gnux86" ; then + fi + fi + ++if test "$ac_cv_c_ieee_interface" = "gnuppc" ; then ++ AC_CACHE_CHECK([for _FPU_RC_NEAREST], ac_cv_c__fpu_rc_nearest, ++ [ac_cv_c__fpu_rc_nearest=no ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ++]], [[ unsigned short mode = _FPU_RC_NEAREST ; ]])],[ac_cv_c__fpu_rc_nearest="yes"],[ac_cv_c_ieee_interface=unknown]) ++ ]) ++fi ++ + ac_tr_ieee_interface=HAVE_`echo $ac_cv_c_ieee_interface | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`_IEEE_INTERFACE + AC_DEFINE_UNQUOTED($ac_tr_ieee_interface,1,[IEEE Interface Type]) + +-- +2.35.1 + diff --git a/package/gsl/gsl.mk b/package/gsl/gsl.mk index 416955b72..3604f9836 100644 --- a/package/gsl/gsl.mk +++ b/package/gsl/gsl.mk @@ -10,6 +10,8 @@ GSL_INSTALL_STAGING = YES GSL_LICENSE = GPL-3.0 GSL_LICENSE_FILES = COPYING GSL_CONFIG_SCRIPTS = gsl-config +# We're patching configure.ac +GSL_AUTORECONF = YES # uClibc pretends to have fenv support as it installs , but in # practice, it only implements it for i386. Problem reported upstream diff --git a/package/gstreamer1/gst-omx/gst-omx.hash b/package/gstreamer1/gst-omx/gst-omx.hash index 0b95505c5..140ad626f 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.20.0.tar.xz.sha256sum -sha256 c1e46b70ac379ac7b3646506370c9e1007b56ae293f4d334bc0e724c76c345dd gst-omx-1.20.0.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.20.4.tar.xz.sha256sum +sha256 70ddd485e2dcab79070164d61ad2ff3a63e15a1d7abf9075d86eb77762b0edfd gst-omx-1.20.4.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/gstreamer1/gst-omx/gst-omx.mk b/package/gstreamer1/gst-omx/gst-omx.mk index f71e1242f..d644c4499 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.20.0 +GST_OMX_VERSION = 1.20.4 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 dd09280a9..fc504a2c1 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.20.0.tar.xz.sha256sum -sha256 69fc8756ec9d93e5c5258c99088434f203e91fdbc5af28d1f2c583fd819b7a1d gst-devtools-1.20.0.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-1.20.4.tar.xz.sha256sum +sha256 82a293600273f4dd3eed567aae510ca0c7d629c3807788b00e6cdbd1d2459a84 gst-devtools-1.20.4.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 f72df9cf7..fbb04c92e 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.20.0 +GST1_DEVTOOLS_VERSION = 1.20.4 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-imx/Config.in b/package/gstreamer1/gst1-imx/Config.in index 7b46233b5..bd1f8d41f 100644 --- a/package/gstreamer1/gst1-imx/Config.in +++ b/package/gstreamer1/gst1-imx/Config.in @@ -81,18 +81,24 @@ comment "imxvpu needs the VPU imxvpuapi library" config BR2_PACKAGE_GST1_IMX_V4L2VIDEOSRC bool "imxv4l2videosrc" + depends on BR2_INSTALL_LIBSTDCPP # gst1-plugins-bad select BR2_PACKAGE_GST1_PLUGINS_BAD help Elements for V4L2 capture +comment "imxv4l2videosrc needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP + config BR2_PACKAGE_GST1_IMX_V4L2VIDEOSINK bool "imxv4l2videosink" depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2 # V4L2_COLORSPACE_DEFAULT + depends on BR2_INSTALL_LIBSTDCPP # gst1-plugins-bad select BR2_PACKAGE_GST1_PLUGINS_BAD help Elements for V4L2 output -comment "imxv4l2videosink needs a toolchain w/ headers >= 4.2" - depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2 +comment "imxv4l2videosink needs a toolchain w/ headers >= 4.2, C++" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2 || \ + !BR2_INSTALL_LIBSTDCPP endif diff --git a/package/gstreamer1/gst1-imx/gst1-imx.hash b/package/gstreamer1/gst1-imx/gst1-imx.hash index 0a701a058..0c2a99cc5 100644 --- a/package/gstreamer1/gst1-imx/gst1-imx.hash +++ b/package/gstreamer1/gst1-imx/gst1-imx.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 21feb24130c18e4a1f8cc4f72d575903d1f9134dd0604e41e91b5e783d81e320 gst1-imx-0.13.1.tar.gz -sha256 94b03f1a60a7fd5007149530626a895a6ef5a8b9342abfd56860c5f3956f5d23 LICENSE +sha256 21feb24130c18e4a1f8cc4f72d575903d1f9134dd0604e41e91b5e783d81e320 gst1-imx-0.13.1.tar.gz +sha256 94b03f1a60a7fd5007149530626a895a6ef5a8b9342abfd56860c5f3956f5d23 LICENSE diff --git a/package/gstreamer1/gst1-libav/gst1-libav.hash b/package/gstreamer1/gst1-libav/gst1-libav.hash index 3204de3c1..78f5b5bb0 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.20.0.tar.xz.sha256sum -sha256 5eee5ed8d5082a31b500448e41535c722ee30cd5f8224f32982bbaba2eedef17 gst-libav-1.20.0.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.20.4.tar.xz.sha256sum +sha256 04ccbdd58fb31dd94098da599209834a0e7661638c5703381dd0a862c56fc532 gst-libav-1.20.4.tar.xz sha256 ad2eec519ebd4b5df86ea84dff24ae3bfa2edea846a703b58902dd221ae375db COPYING diff --git a/package/gstreamer1/gst1-libav/gst1-libav.mk b/package/gstreamer1/gst1-libav/gst1-libav.mk index f07e5061b..a867af514 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.20.0 +GST1_LIBAV_VERSION = 1.20.4 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 234d57636..bcb4cb154 100644 --- a/package/gstreamer1/gst1-plugins-bad/Config.in +++ b/package/gstreamer1/gst1-plugins-bad/Config.in @@ -1,5 +1,6 @@ menuconfig BR2_PACKAGE_GST1_PLUGINS_BAD bool "gst1-plugins-bad" + depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_GST1_PLUGINS_BASE help A set of plug-ins for GStreamer that may be of poor quality @@ -480,18 +481,21 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTML bool "ttml" depends on BR2_USE_WCHAR # pango -> glib2 depends on BR2_TOOLCHAIN_HAS_THREADS # pango -> glib2 + depends on BR2_USE_MMU # pango -> glib2 depends on BR2_INSTALL_LIBSTDCPP # pango -> freetype depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango -> harfbuzz select BR2_PACKAGE_CAIRO select BR2_PACKAGE_LIBXML2 select BR2_PACKAGE_PANGO help Timed Text Markup Language (TTML) subtitle plugin -comment "ttml needs a toolchain w/ wchar, threads, C++" +comment "ttml needs a toolchain w/ wchar, threads, C++, gcc >= 4.9" depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_INSTALL_LIBSTDCPP + !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEG2ENC bool "mpeg2enc" @@ -523,11 +527,11 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENAL depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL - depends on BR2_PAKCAGE_OPENAL_ARCH_SUPPORTS + depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS select BR2_PACKAGE_OPENAL comment "openal plugin needs a toolchain w/ NPTL, C++, gcc >= 4.9" - depends on BR2_PAKCAGE_OPENAL_ARCH_SUPPORTS + depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL \ || !BR2_INSTALL_LIBSTDCPP \ || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 @@ -724,3 +728,6 @@ comment "zbar plugin needs a toolchain w/ threads, C++ and headers >= 3.0" || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 endif + +comment "gst1-plugins-bad needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash index 72c9624b9..c8789a707 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.20.0.tar.xz.sha256sum -sha256 015b8d4d9a395ebf444d40876867a2034dd3304b3ad48bc3a0dd0c1ee71dc11d gst-plugins-bad-1.20.0.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.20.4.tar.xz.sha256sum +sha256 a1a3f53b3604d9a04fdd0bf9a1a616c3d2dab5320489e9ecee1178e81e33a16a gst-plugins-bad-1.20.4.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 24fd9dd31..14710a250 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.20.0 +GST1_PLUGINS_BAD_VERSION = 1.20.4 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/Config.in b/package/gstreamer1/gst1-plugins-base/Config.in index 7ca94d7dc..bd4ee0b99 100644 --- a/package/gstreamer1/gst1-plugins-base/Config.in +++ b/package/gstreamer1/gst1-plugins-base/Config.in @@ -291,6 +291,9 @@ config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OPUS config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PANGO bool "pango font renderer" + depends on BR2_USE_WCHAR # pango -> glib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # pango -> glib2 + depends on BR2_USE_MMU # pango -> glib2 depends on BR2_INSTALL_LIBSTDCPP # pango -> freetype depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango -> harfbuzz @@ -298,10 +301,11 @@ config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PANGO help Pango-based text rendering and overlay -comment "pango plugin needs a toolchain w/ C++, gcc >= 4.9" - depends on !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 +comment "pango plugin needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_USE_MMU + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_THEORA bool "theora (*.ogg video)" diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash index ffc3445cd..5c729d832 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.20.0.tar.xz.sha256sum -sha256 4cb66fccf730b1037e6533862c2128990912a6db4e5bbd14e0ef914450eb4c7c gst-plugins-base-1.20.0.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.20.4.tar.xz.sha256sum +sha256 8d181b7abe4caf23ee9f9ec5b4d3e232640452464e39495bfffb6d776fc97225 gst-plugins-base-1.20.4.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 08aac850c..d225cdf91 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.20.0 +GST1_PLUGINS_BASE_VERSION = 1.20.4 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/gst1-plugins-good.hash b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash index 9ad1d7bf4..b30c51287 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.20.0.tar.xz.sha256sum -sha256 2d119c15ab8c9e79f8cd3c6bf582ff7a050b28ccae52ab4865e1a1464991659c gst-plugins-good-1.20.0.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.20.4.tar.xz.sha256sum +sha256 b16130fbe632fa8547c2147a0ef575b0140fb521065c5cb121c72ddbd23b64da gst-plugins-good-1.20.4.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 6298d578e..cc7bab582 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk @@ -4,12 +4,13 @@ # ################################################################################ -GST1_PLUGINS_GOOD_VERSION = 1.20.0 +GST1_PLUGINS_GOOD_VERSION = 1.20.4 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 GST1_PLUGINS_GOOD_LICENSE = LGPL-2.1+ +GST1_PLUGINS_GOOD_CFLAGS = $(TARGET_CFLAGS) -std=gnu99 GST1_PLUGINS_GOOD_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) GST1_PLUGINS_GOOD_CONF_OPTS = \ @@ -479,10 +480,6 @@ else GST1_PLUGINS_GOOD_CONF_OPTS += -Dwavpack=disabled endif -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_ZLIB),y) -GST1_PLUGINS_GOOD_DEPENDENCIES += zlib -endif - ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_BZ2),y) GST1_PLUGINS_GOOD_CONF_OPTS += -Dbz2=enabled GST1_PLUGINS_GOOD_DEPENDENCIES += bzip2 diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash index d16134f24..4ec29e689 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.20.0.tar.xz.sha256sum -sha256 4e8dcb5d26552f0a4937f6bc6279bd9070f55ca6ae0eaa32d72d264c44001c2e gst-plugins-ugly-1.20.0.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.20.4.tar.xz.sha256sum +sha256 5c9ec6bab96517e438b3f9bae0ceb84d3436f3da9bbe180cf4d28e32a7251b59 gst-plugins-ugly-1.20.4.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 05b1fab30..20382719c 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.20.0 +GST1_PLUGINS_UGLY_VERSION = 1.20.4 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 a2f17583f..adb116ac4 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.20.0.tar.xz.sha256sum -sha256 8f67bdc5606ba33606c6bc896e89de7dcd8cf4fca459f71389b1b6fe075b5e54 gst-python-1.20.0.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.20.4.tar.xz.sha256sum +sha256 5eb4136d03e2a495f4499c8b2e6d9d3e7b5e73c5a8b8acf9213d57bc6a7bd3c1 gst-python-1.20.4.tar.xz sha256 ea3ad127610e5ded2210b3a86a46314f2b3b28e438eccffdae19a4d6fbcdb0c2 COPYING diff --git a/package/gstreamer1/gst1-python/gst1-python.mk b/package/gstreamer1/gst1-python/gst1-python.mk index a9cc32d1d..feb2de718 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.20.0 +GST1_PYTHON_VERSION = 1.20.4 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 00ff974c6..b6a31f879 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.20.0.tar.xz.sha256sum -sha256 c209f5ed906da713fdd44a8844e909aa6c8af3dfb630259b092cfb77a7755843 gst-rtsp-server-1.20.0.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.20.4.tar.xz.sha256sum +sha256 88d9ef634e59aeb8cc183ad5ae444557c5a88dd49d833b9072bc6e1fae6a3d7d gst-rtsp-server-1.20.4.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 d22dd5e7c..0b18c1fcf 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.20.0 +GST1_RTSP_SERVER_VERSION = 1.20.4 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/Config.in b/package/gstreamer1/gst1-vaapi/Config.in index 91bd4f85d..ade8b83a5 100644 --- a/package/gstreamer1/gst1-vaapi/Config.in +++ b/package/gstreamer1/gst1-vaapi/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_GST1_VAAPI bool "gst1-vaapi" depends on !BR2_STATIC_LIBS # dlopen(), libva depends on BR2_TOOLCHAIN_HAS_THREADS # libva, libdrm + depends on BR2_INSTALL_LIBSTDCPP # gst1-plugins-bad depends on BR2_PACKAGE_HAS_UDEV select BR2_PACKAGE_LIBVA select BR2_PACKAGE_LIBDRM @@ -45,6 +46,6 @@ config BR2_PACKAGE_GST1_VAAPI_ENCODERS endif -comment "gst1-vaapi needs udev /dev management and a toolchain w/ threads, dynamic library" +comment "gst1-vaapi needs udev /dev management and a toolchain w/ threads, dynamic library, C++" depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ - !BR2_PACKAGE_HAS_UDEV + !BR2_PACKAGE_HAS_UDEV || !BR2_INSTALL_LIBSTDCPP diff --git a/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash b/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash index b32d91e1e..5baaa4dfb 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.20.0.tar.xz.sha256sum -sha256 f79a47346dfd5e585e063e77078e5fc498b06dee895bfcbf47d8863fcac9ea32 gstreamer-vaapi-1.20.0.tar.xz +# From https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.20.4.tar.xz.sha256sum +sha256 ab12596144c05506e9782374c5d2cdfb3069fca89908d6de360d947bb77fd06a gstreamer-vaapi-1.20.4.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 19ee62570..bd6c16be3 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.20.0 +GST1_VAAPI_VERSION = 1.20.4 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 9662e6b8f..308596d7c 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.20.0.tar.xz.sha256sum -sha256 f837adcf4073d19a5908984e879cd039f4192ca368e71d39e8ccd8a56b9feedf gst-editing-services-1.20.0.tar.xz +# From https://gstreamer.freedesktop.org/src/gstreamer-editing-services/gst-editing-services-1.20.4.tar.xz.sha256sum +sha256 aa03e983af5d79c1befffe3575b034e60960619a96bf877447cb73c28016fc41 gst-editing-services-1.20.4.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 5e03c08ae..77feb1599 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.20.0 +GSTREAMER1_EDITING_SERVICES_VERSION = 1.20.4 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 f4a74a612..5fb52606f 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.20.0.tar.xz.sha256sum -sha256 edf4bffff85591d4fff7b21bb9ed7f0feabc123ac4a4eff29e73cbce454f9db7 gstreamer-1.20.0.tar.xz +# From https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.20.4.tar.xz.sha256sum +sha256 67c1edf8c3c339cda5dde85f4f7b953bb9607c2d13ae970e2491c5c4c055ef5f gstreamer-1.20.4.tar.xz sha256 ad2eec519ebd4b5df86ea84dff24ae3bfa2edea846a703b58902dd221ae375db COPYING diff --git a/package/gstreamer1/gstreamer1/gstreamer1.mk b/package/gstreamer1/gstreamer1/gstreamer1.mk index 86df5d6cf..16c016b14 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.mk +++ b/package/gstreamer1/gstreamer1/gstreamer1.mk @@ -4,7 +4,7 @@ # ################################################################################ -GSTREAMER1_VERSION = 1.20.0 +GSTREAMER1_VERSION = 1.20.4 GSTREAMER1_SOURCE = gstreamer-$(GSTREAMER1_VERSION).tar.xz GSTREAMER1_SITE = https://gstreamer.freedesktop.org/src/gstreamer GSTREAMER1_INSTALL_STAGING = YES diff --git a/package/gtest/Config.in b/package/gtest/Config.in index d8bcf6343..4591cb5e4 100644 --- a/package/gtest/Config.in +++ b/package/gtest/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_GTEST depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++11 depends on BR2_USE_MMU # fork() help Google's framework for writing C++ tests on a variety of @@ -42,15 +42,9 @@ config BR2_PACKAGE_GTEST_GMOCK * works on Linux, Mac OS X, Windows, Windows Mobile, minGW, and Symbian. - There are both host and target packages. The target one has - include files required to compile the tests and the static - libraries required to link/run them. The host package installs - gmock_gen, a Python script used to generate code mocks. - endif # BR2_PACKAGE_GTEST -comment "gtest needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" +comment "gtest needs a toolchain w/ C++, wchar, threads, gcc >= 5" depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 diff --git a/package/gtest/gtest.hash b/package/gtest/gtest.hash index d21fea714..1a93684ae 100644 --- a/package/gtest/gtest.hash +++ b/package/gtest/gtest.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 b4870bf121ff7795ba20d20bcdd8627b8e088f2d1dab299a031c1034eddc93d5 gtest-1.11.0.tar.gz +sha256 2a4f11dce6188b256f3650061525d0fe352069e5c162452818efbbf8d0b5fe1c gtest-1.12.0.tar.gz sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 LICENSE diff --git a/package/gtest/gtest.mk b/package/gtest/gtest.mk index e7ce89a3f..236c8f373 100644 --- a/package/gtest/gtest.mk +++ b/package/gtest/gtest.mk @@ -4,7 +4,7 @@ # ################################################################################ -GTEST_VERSION = 1.11.0 +GTEST_VERSION = 1.12.0 GTEST_SITE = $(call github,google,googletest,release-$(GTEST_VERSION)) GTEST_INSTALL_STAGING = YES GTEST_INSTALL_TARGET = NO @@ -13,14 +13,6 @@ GTEST_LICENSE_FILES = LICENSE GTEST_CPE_ID_VENDOR = google GTEST_CPE_ID_PRODUCT = google_test -ifeq ($(BR2_PACKAGE_GTEST_GMOCK),y) -GTEST_DEPENDENCIES += host-gtest -endif - -HOST_GTEST_LICENSE = Apache-2.0 -HOST_GTEST_LICENSE_FILES = googlemock/scripts/generator/LICENSE -HOST_GTEST_DEPENDENCIES = host-python3 - # While it is possible to build gtest as shared library, using this gtest shared # library requires to set some special configure option in the project using # gtest. @@ -43,14 +35,4 @@ else GTEST_CONF_OPTS += -DBUILD_GMOCK=OFF endif -define HOST_GTEST_POST_INSTALL_PYTHON - $(INSTALL) -D -m 0755 $(@D)/googlemock/scripts/generator/gmock_gen.py \ - $(HOST_DIR)/bin/gmock_gen - cp -rp $(@D)/googlemock/scripts/generator/cpp \ - $(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages -endef - -HOST_GTEST_POST_INSTALL_HOOKS += HOST_GTEST_POST_INSTALL_PYTHON - $(eval $(cmake-package)) -$(eval $(host-cmake-package)) diff --git a/package/gtkmm3/gtkmm3.hash b/package/gtkmm3/gtkmm3.hash index 87c59b2ca..26687507f 100644 --- a/package/gtkmm3/gtkmm3.hash +++ b/package/gtkmm3/gtkmm3.hash @@ -1,5 +1,5 @@ # From http://ftp.gnome.org/pub/GNOME/sources/gtkmm/3.22/gtkmm-3.22.0.sha256sum -sha256 05da4d4b628fb20c8384630ddf478a3b5562952b2d6181fe28d58f6cbc0514f5 gtkmm-3.22.0.tar.xz +sha256 05da4d4b628fb20c8384630ddf478a3b5562952b2d6181fe28d58f6cbc0514f5 gtkmm-3.22.0.tar.xz # Locally computed sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING.tools diff --git a/package/gtksourceview/gtksourceview.hash b/package/gtksourceview/gtksourceview.hash index 3b78b7062..2e3c430ac 100644 --- a/package/gtksourceview/gtksourceview.hash +++ b/package/gtksourceview/gtksourceview.hash @@ -1,5 +1,5 @@ # Hash from: http://ftp.gnome.org/pub/gnome/sources/gtksourceview/3.24/gtksourceview-3.24.7.sha256sum: -sha256 a5c20d3a6347533689358f3ea52486409f6dd41d5a69c65eab7570cfaffee8e6 gtksourceview-3.24.7.tar.xz +sha256 a5c20d3a6347533689358f3ea52486409f6dd41d5a69c65eab7570cfaffee8e6 gtksourceview-3.24.7.tar.xz # Locally computed: -sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING diff --git a/package/gzip/gzip.hash b/package/gzip/gzip.hash index 1cf73ff91..80b86f479 100644 --- a/package/gzip/gzip.hash +++ b/package/gzip/gzip.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/gzip/gzip-1.11.tar.xz.sig +# https://ftp.gnu.org/gnu/gzip/gzip-1.12.tar.xz.sig # using key 155D3FC500C834486D1EEA677FD9FCCB000BEEEE -sha256 9b9a95d68fdcb936849a4d6fada8bf8686cddf58b9b26c9c4289ed0c92a77907 gzip-1.11.tar.xz +sha256 ce5e03e519f637e1f814011ace35c4f87b33c0bbabeec35baf5fbd3479e91956 gzip-1.12.tar.xz # Locally calculated sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/gzip/gzip.mk b/package/gzip/gzip.mk index 92588fcdb..2092df363 100644 --- a/package/gzip/gzip.mk +++ b/package/gzip/gzip.mk @@ -4,7 +4,7 @@ # ################################################################################ -GZIP_VERSION = 1.11 +GZIP_VERSION = 1.12 GZIP_SOURCE = gzip-$(GZIP_VERSION).tar.xz GZIP_SITE = $(BR2_GNU_MIRROR)/gzip # Some other tools expect it to be in /bin diff --git a/package/hans/hans.hash b/package/hans/hans.hash index fe46ab588..c555528ef 100644 --- a/package/hans/hans.hash +++ b/package/hans/hans.hash @@ -1,6 +1,6 @@ # From http://sourceforge.net/projects/hanstunnel/files/source/ -md5 8628393ec1b61a6c3a47a0a3dcb455b3 hans-1.0.tar.gz -sha1 0bc857df109af222732cb95c861a0f0a6dd53dee hans-1.0.tar.gz +md5 8628393ec1b61a6c3a47a0a3dcb455b3 hans-1.0.tar.gz +sha1 0bc857df109af222732cb95c861a0f0a6dd53dee hans-1.0.tar.gz # Locally computed sha256 f8f70cf22ba14d9223695c9e9a2d75289d8360f61f533b83ee538836f29a458e hans-1.0.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE diff --git a/package/haproxy/haproxy.hash b/package/haproxy/haproxy.hash index e3120b521..66d27fa73 100644 --- a/package/haproxy/haproxy.hash +++ b/package/haproxy/haproxy.hash @@ -1,5 +1,5 @@ -# From: http://www.haproxy.org/download/2.4/src/haproxy-2.4.13.tar.gz.sha256 -sha256 4788fe975fe7e521746f826c25e80bc95cd15983e2bafa33e43bff23a3fe5ba1 haproxy-2.4.13.tar.gz +# From: http://www.haproxy.org/download/2.4/src/haproxy-2.4.22.tar.gz.sha256 +sha256 0895340b36b704a1dbb25fea3bbaee5ff606399d6943486ebd7f256fee846d3a haproxy-2.4.22.tar.gz # Locally computed: sha256 0717ca51fceaa25ac9e5ccc62e0c727dcf27796057201fb5fded56a25ff6ca28 LICENSE sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a doc/lgpl.txt diff --git a/package/haproxy/haproxy.mk b/package/haproxy/haproxy.mk index 83d9cfee3..11cee1260 100644 --- a/package/haproxy/haproxy.mk +++ b/package/haproxy/haproxy.mk @@ -5,7 +5,7 @@ ################################################################################ HAPROXY_VERSION_MAJOR = 2.4 -HAPROXY_VERSION = $(HAPROXY_VERSION_MAJOR).13 +HAPROXY_VERSION = $(HAPROXY_VERSION_MAJOR).22 HAPROXY_SITE = http://www.haproxy.org/download/$(HAPROXY_VERSION_MAJOR)/src HAPROXY_LICENSE = GPL-2.0+ and LGPL-2.1+ with exceptions HAPROXY_LICENSE_FILES = LICENSE doc/lgpl.txt doc/gpl.txt diff --git a/package/hdparm/hdparm.hash b/package/hdparm/hdparm.hash index c039481f7..b86afc7cf 100644 --- a/package/hdparm/hdparm.hash +++ b/package/hdparm/hdparm.hash @@ -1,5 +1,5 @@ # From https://sourceforge.net/projects/hdparm/files/hdparm/ sha1 c8e24233b4d29506907ad2bf0725f793106c3a78 hdparm-9.63.tar.gz # Locally computed -sha256 2c0f9d75cdbeda928a25a128cd3d0b7120445ec0910c0b29d4c1038ed1be777f hdparm-9.62.tar.gz +sha256 70785deaebba5877a89c123568b41dee990da55fc51420f13f609a1072899691 hdparm-9.63.tar.gz sha256 eae572b06d2733f5c65fbe81680ce2b8a109afee2bdd1a161343c772af0e82e1 LICENSE.TXT diff --git a/package/heimdal/heimdal.hash b/package/heimdal/heimdal.hash index 075023385..cf822340d 100644 --- a/package/heimdal/heimdal.hash +++ b/package/heimdal/heimdal.hash @@ -1,5 +1,5 @@ # From https://github.com/heimdal/heimdal/releases -sha1 5dd16703be7255f66a4d65440f0c622aeeca60d9 heimdal-7.7.0.tar.gz -sha256 f02d3314d634cc55eb9cf04a1eae0d96b293e45a1f837de9d894e800161b7d1b heimdal-7.7.0.tar.gz +sha1 a33fdc957f84ab13f39f164b04fe1deeaab3179e heimdal-7.7.1.tar.gz +sha256 117cb1ede7848db24cf27311c46f7f735a99f9c836c22e80aec92b91efe56644 heimdal-7.7.1.tar.gz # Locally computed -sha256 0c4b07bf5b98f7a1d01f8e60722d6c6747ef052c2aa6d2043daf690d4e1b0a7f LICENSE +sha256 0c4b07bf5b98f7a1d01f8e60722d6c6747ef052c2aa6d2043daf690d4e1b0a7f LICENSE diff --git a/package/heimdal/heimdal.mk b/package/heimdal/heimdal.mk index ce509c7af..66f682e10 100644 --- a/package/heimdal/heimdal.mk +++ b/package/heimdal/heimdal.mk @@ -4,7 +4,7 @@ # ################################################################################ -HEIMDAL_VERSION = 7.7.0 +HEIMDAL_VERSION = 7.7.1 HEIMDAL_SITE = https://github.com/heimdal/heimdal/releases/download/heimdal-$(HEIMDAL_VERSION) HOST_HEIMDAL_DEPENDENCIES = host-e2fsprogs host-ncurses host-pkgconf HEIMDAL_INSTALL_STAGING = YES diff --git a/package/heirloom-mailx/0001-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch b/package/heirloom-mailx/0001-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch deleted file mode 100644 index db5b19ee5..000000000 --- a/package/heirloom-mailx/0001-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch +++ /dev/null @@ -1,42 +0,0 @@ -From: Hilko Bengen -Date: Wed, 27 Apr 2011 00:18:42 +0200 -Subject: Patched out SSL2 support since it is no longer supported by OpenSSL. - -Now that openssl has dropped SSLv2 support we need to patch it out. -Patch picked up from debian patchseries 5. - -Signed-off-by: Gustavo Zacarias - ---- - mailx.1 | 2 +- - openssl.c | 4 +--- - 2 files changed, 2 insertions(+), 4 deletions(-) - -diff --git a/mailx.1 b/mailx.1 -index 417ea04..a02e430 100644 ---- a/mailx.1 -+++ b/mailx.1 -@@ -3575,7 +3575,7 @@ Only applicable if SSL/TLS support is built using OpenSSL. - .TP - .B ssl-method - Selects a SSL/TLS protocol version; --valid values are `ssl2', `ssl3', and `tls1'. -+valid values are `ssl3', and `tls1'. - If unset, the method is selected automatically, - if possible. - .TP -diff --git a/openssl.c b/openssl.c -index b4e33fc..44fe4e5 100644 ---- a/openssl.c -+++ b/openssl.c -@@ -216,9 +216,7 @@ ssl_select_method(const char *uhp) - - cp = ssl_method_string(uhp); - if (cp != NULL) { -- if (equal(cp, "ssl2")) -- method = SSLv2_client_method(); -- else if (equal(cp, "ssl3")) -+ if (equal(cp, "ssl3")) - method = SSLv3_client_method(); - else if (equal(cp, "tls1")) - method = TLSv1_client_method(); diff --git a/package/heirloom-mailx/0002-fix-libressl-support.patch b/package/heirloom-mailx/0001-fix-libressl-support.patch similarity index 100% rename from package/heirloom-mailx/0002-fix-libressl-support.patch rename to package/heirloom-mailx/0001-fix-libressl-support.patch diff --git a/package/heirloom-mailx/heirloom-mailx.hash b/package/heirloom-mailx/heirloom-mailx.hash index 1f59f7349..c42f9b6de 100644 --- a/package/heirloom-mailx/heirloom-mailx.hash +++ b/package/heirloom-mailx/heirloom-mailx.hash @@ -1,4 +1,5 @@ -# From http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-3.dsc -sha256 015ba4209135867f37a0245d22235a392b8bbed956913286b887c2e2a9a421ad heirloom-mailx_12.5.orig.tar.gz +# From http://snapshot.debian.org/archive/debian/20150815T155609Z/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.dsc +sha256 015ba4209135867f37a0245d22235a392b8bbed956913286b887c2e2a9a421ad heirloom-mailx_12.5.orig.tar.gz +sha256 0140cef831f966cf65a0a6ba2ed4eef4f2bfb402b7b18db7307bc42e63328ce6 heirloom-mailx_12.5-5.debian.tar.xz # Locally computed sha256 5ddc00aed98a0cf75fc7edfd9f3aeb1e919ae0ad5e9ff55d61f643d62d802b07 COPYING diff --git a/package/heirloom-mailx/heirloom-mailx.mk b/package/heirloom-mailx/heirloom-mailx.mk index e851e1dfc..d3b8ad437 100644 --- a/package/heirloom-mailx/heirloom-mailx.mk +++ b/package/heirloom-mailx/heirloom-mailx.mk @@ -6,11 +6,14 @@ HEIRLOOM_MAILX_VERSION = 12.5 HEIRLOOM_MAILX_SOURCE = heirloom-mailx_$(HEIRLOOM_MAILX_VERSION).orig.tar.gz -HEIRLOOM_MAILX_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/h/heirloom-mailx +HEIRLOOM_MAILX_SITE = http://snapshot.debian.org/archive/debian/20150815T155609Z/pool/main/h/heirloom-mailx +HEIRLOOM_MAILX_PATCH = heirloom-mailx_$(HEIRLOOM_MAILX_VERSION)-5.debian.tar.xz HEIRLOOM_MAILX_LICENSE = BSD-4-Clause, Bellcore (base64), OpenVision (imap_gssapi), RSA Data Security (md5), Network Working Group (hmac), MPL-1.1 (nss) HEIRLOOM_MAILX_LICENSE_FILES = COPYING HEIRLOOM_MAILX_CPE_ID_VENDOR = heirloom HEIRLOOM_MAILX_CPE_ID_PRODUCT = mailx +# 0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch in the Debian patches +HEIRLOOM_MAILX_IGNORE_CVES += CVE-2014-7844 ifeq ($(BR2_PACKAGE_OPENSSL),y) HEIRLOOM_MAILX_DEPENDENCIES += openssl diff --git a/package/hostapd/0001-use-a-less-generic-name-for-IEEE802.11-CRC-32-routin.patch b/package/hostapd/0001-use-a-less-generic-name-for-IEEE802.11-CRC-32-routin.patch new file mode 100644 index 000000000..bf85e97f2 --- /dev/null +++ b/package/hostapd/0001-use-a-less-generic-name-for-IEEE802.11-CRC-32-routin.patch @@ -0,0 +1,102 @@ +From 9896d8c116f054cebc49928404018a75c9b892cb Mon Sep 17 00:00:00 2001 +From: Sergey Matyukevich +Date: Fri, 16 Sep 2022 23:18:50 +0300 +Subject: [PATCH] hostapd: use a less generic name for IEEE802.11 CRC-32 routine + +Hostapd uses 'crc32' name for IEEE802.11 CRC-32 routine. This name is +too generic. Buildroot autobuilder detected build configuration that +failed to build due to the naming conflict: static linking with openssl +using zlib-ng as a zlib provider, e.g. see: +- http://autobuild.buildroot.net/results/9901df820d3afa4cde78e8ad6d62cb8ce7e69fdb/ +- http://autobuild.buildroot.net/results/ac19975f0bf77f4a8ca574c374092ba81cd5a332/ + +Use a less generic name ieee80211_crc32 for IEEE802.11 CRC-32 routine +to avoid such naming conflicts. + +Upstream: https://w1.fi/cgit/hostap/commit/?id=0c7b3814ca6070a8e930dea09fde08b4058a4ca6 +Signed-off-by: Sergey Matyukevich +--- + hostapd/config_file.c | 4 ++-- + src/ap/hostapd.c | 3 ++- + src/ap/neighbor_db.c | 2 +- + src/utils/crc32.c | 2 +- + src/utils/crc32.h | 2 +- + 5 files changed, 7 insertions(+), 6 deletions(-) + +diff --git a/hostapd/config_file.c b/hostapd/config_file.c +index b14728d1b..b38a84647 100644 +--- a/hostapd/config_file.c ++++ b/hostapd/config_file.c +@@ -2407,7 +2407,7 @@ static int hostapd_config_fill(struct hostapd_config *conf, + } + os_memcpy(ssid->ssid, pos, ssid->ssid_len); + ssid->ssid_set = 1; +- ssid->short_ssid = crc32(ssid->ssid, ssid->ssid_len); ++ ssid->short_ssid = ieee80211_crc32(ssid->ssid, ssid->ssid_len); + } else if (os_strcmp(buf, "ssid2") == 0) { + struct hostapd_ssid *ssid = &bss->ssid; + size_t slen; +@@ -2421,7 +2421,7 @@ static int hostapd_config_fill(struct hostapd_config *conf, + os_memcpy(ssid->ssid, str, slen); + ssid->ssid_len = slen; + ssid->ssid_set = 1; +- ssid->short_ssid = crc32(ssid->ssid, ssid->ssid_len); ++ ssid->short_ssid = ieee80211_crc32(ssid->ssid, ssid->ssid_len); + os_free(str); + } else if (os_strcmp(buf, "utf8_ssid") == 0) { + bss->ssid.utf8_ssid = atoi(pos) > 0; +diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c +index 4b88641a2..56c8fb90e 100644 +--- a/src/ap/hostapd.c ++++ b/src/ap/hostapd.c +@@ -1230,7 +1230,8 @@ static int hostapd_setup_bss(struct hostapd_data *hapd, int first) + * Short SSID calculation is identical to FCS and it is defined in + * IEEE P802.11-REVmd/D3.0, 9.4.2.170.3 (Calculating the Short-SSID). + */ +- conf->ssid.short_ssid = crc32(conf->ssid.ssid, conf->ssid.ssid_len); ++ conf->ssid.short_ssid = ieee80211_crc32(conf->ssid.ssid, ++ conf->ssid.ssid_len); + + if (!hostapd_drv_none(hapd)) { + wpa_printf(MSG_DEBUG, "Using interface %s with hwaddr " MACSTR +diff --git a/src/ap/neighbor_db.c b/src/ap/neighbor_db.c +index 229edd2a9..ef17634c3 100644 +--- a/src/ap/neighbor_db.c ++++ b/src/ap/neighbor_db.c +@@ -136,7 +136,7 @@ int hostapd_neighbor_set(struct hostapd_data *hapd, const u8 *bssid, + + os_memcpy(entry->bssid, bssid, ETH_ALEN); + os_memcpy(&entry->ssid, ssid, sizeof(entry->ssid)); +- entry->short_ssid = crc32(ssid->ssid, ssid->ssid_len); ++ entry->short_ssid = ieee80211_crc32(ssid->ssid, ssid->ssid_len); + + entry->nr = wpabuf_dup(nr); + if (!entry->nr) +diff --git a/src/utils/crc32.c b/src/utils/crc32.c +index 12d9e2a70..371254994 100644 +--- a/src/utils/crc32.c ++++ b/src/utils/crc32.c +@@ -72,7 +72,7 @@ static const u32 crc32_table[256] = { + }; + + +-u32 crc32(const u8 *frame, size_t frame_len) ++u32 ieee80211_crc32(const u8 *frame, size_t frame_len) + { + size_t i; + u32 crc; +diff --git a/src/utils/crc32.h b/src/utils/crc32.h +index dc31399be..71a19dc5f 100644 +--- a/src/utils/crc32.h ++++ b/src/utils/crc32.h +@@ -9,6 +9,6 @@ + #ifndef CRC32_H + #define CRC32_H + +-u32 crc32(const u8 *frame, size_t frame_len); ++u32 ieee80211_crc32(const u8 *frame, size_t frame_len); + + #endif /* CRC32_H */ +-- +2.37.1 + diff --git a/package/htop/0001-configure.ac-fix-static-build-with-hwloc.patch b/package/htop/0001-configure.ac-fix-static-build-with-hwloc.patch new file mode 100644 index 000000000..0ac79766c --- /dev/null +++ b/package/htop/0001-configure.ac-fix-static-build-with-hwloc.patch @@ -0,0 +1,54 @@ +From 4ccad4604586c921b4ad831b254496c2cdece9fc Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 2 Apr 2022 17:27:01 +0200 +Subject: [PATCH] configure.ac: fix static build with hwloc + +Retrieve hwloc dependencies through pkg-config to avoid the following +static build failure: + +checking for hwloc_get_proc_cpubind in -lhwloc... no +configure: error: can not find required library libhwloc + +This build failure is raised because without pkg-config, hwloc +dependencies such as libxml2 are not retrieved: + +configure:8999: checking for hwloc_get_proc_cpubind in -lhwloc +configure:9022: /home/autobuild/autobuild/instance-0/output-1/host/bin/powerpc-buildroot-linux-uclibc-gcc -o conftest -D_GNU_SOURCE -I/home/autobuild/autobuild/instance-0/output-1/host/powerpc-buildroot-linux-uclibc/sysroot/usr/bin/../../usr/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Og -g0 -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -static conftest.c -lhwloc -llzma -L/home/autobuild/autobuild/instance-0/output-1/host/powerpc-buildroot-linux-uclibc/sysroot/usr/bin/../../usr/lib -lncurses -lm >&5 +/home/autobuild/autobuild/instance-0/output-1/host/lib/gcc/powerpc-buildroot-linux-uclibc/10.3.0/../../../../powerpc-buildroot-linux-uclibc/bin/ld: /home/autobuild/autobuild/instance-0/output-1/host/powerpc-buildroot-linux-uclibc/sysroot/usr/bin/../../usr/lib/libhwloc.a(topology-xml-libxml.o): in function `hwloc_libxml_free_buffer': +topology-xml-libxml.c:(.text+0x6a): undefined reference to `xmlFree' + +Fixes: + - http://autobuild.buildroot.org/results/5d815ec08c580005a863df6ac9ac29deff7d4128 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/htop-dev/htop/commit/4ccad4604586c921b4ad831b254496c2cdece9fc] +--- + configure.ac | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 4ecac1ecf..6bb7eb69f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -456,8 +456,18 @@ case "$enable_hwloc" in + no) + ;; + yes) +- AC_CHECK_LIB([hwloc], [hwloc_get_proc_cpubind], [], [AC_MSG_ERROR([can not find required library libhwloc])]) +- AC_CHECK_HEADERS([hwloc.h], [], [AC_MSG_ERROR([can not find require header file hwloc.h])]) ++ m4_ifdef([PKG_PROG_PKG_CONFIG], [ ++ PKG_PROG_PKG_CONFIG() ++ PKG_CHECK_MODULES(HWLOC, hwloc, [ ++ CFLAGS="$CFLAGS $HWLOC_CFLAGS" LIBS="$LIBS $HWLOC_LIBS" ++ ], [ ++ AC_CHECK_LIB([hwloc], [hwloc_get_proc_cpubind], [], [AC_MSG_ERROR([can not find required library libhwloc])]) ++ AC_CHECK_HEADERS([hwloc.h], [], [AC_MSG_ERROR([can not find require header file hwloc.h])]) ++ ]) ++ ], [ ++ AC_CHECK_LIB([hwloc], [hwloc_get_proc_cpubind], [], [AC_MSG_ERROR([can not find required library libhwloc])]) ++ AC_CHECK_HEADERS([hwloc.h], [], [AC_MSG_ERROR([can not find require header file hwloc.h])]) ++ ]) + ;; + *) + AC_MSG_ERROR([bad value '$enable_hwloc' for --enable-hwloc]) diff --git a/package/htop/htop.hash b/package/htop/htop.hash index dffe5ca1a..d7c39be4d 100644 --- a/package/htop/htop.hash +++ b/package/htop/htop.hash @@ -1,3 +1,5 @@ +# From https://github.com/htop-dev/htop/releases/download/3.1.2/htop-3.1.2.tar.xz.sha256 +sha256 884bce5b58cb113127860b9e368609019e92416a81550fdf0752052f3a64b388 htop-3.1.2.tar.xz + # Locally calculated -sha256 fe9559637c8f21f5fd531a4c072048a404173806acbdad1359c6b82fd87aa001 htop-3.1.2.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/htop/htop.mk b/package/htop/htop.mk index 7caa47ce1..1e7b171a1 100644 --- a/package/htop/htop.mk +++ b/package/htop/htop.mk @@ -5,7 +5,8 @@ ################################################################################ HTOP_VERSION = 3.1.2 -HTOP_SITE = $(call github,htop-dev,htop,$(HTOP_VERSION)) +HTOP_SOURCE = htop-$(HTOP_VERSION).tar.xz +HTOP_SITE = https://github.com/htop-dev/htop/releases/download/$(HTOP_VERSION) HTOP_DEPENDENCIES = ncurses HTOP_AUTORECONF = YES # Prevent htop build system from searching the host paths @@ -28,10 +29,10 @@ HTOP_CONF_OPTS += --disable-capabilities endif ifeq ($(BR2_PACKAGE_LM_SENSORS),y) -HTOP_CONF_OPTS += --with-sensors +HTOP_CONF_OPTS += --enable-sensors HTOP_DEPENDENCIES += lm-sensors else -HTOP_CONF_OPTS += --without-sensors +HTOP_CONF_OPTS += --disable-sensors endif ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y) diff --git a/package/httping/httping.hash b/package/httping/httping.hash index c39615764..3178c3237 100644 --- a/package/httping/httping.hash +++ b/package/httping/httping.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 3e895a0a6d7bd79de25a255a1376d4da88eb09c34efdd0476ab5a907e75bfaf8 httping-2.5.tgz -sha256 c5db2e5b9a692fcdf2bd370f1533529063fbcf8947a8f5ee9d4b050a14e0566d license.txt +sha256 3e895a0a6d7bd79de25a255a1376d4da88eb09c34efdd0476ab5a907e75bfaf8 httping-2.5.tgz +sha256 c5db2e5b9a692fcdf2bd370f1533529063fbcf8947a8f5ee9d4b050a14e0566d license.txt diff --git a/package/i2pd/i2pd.mk b/package/i2pd/i2pd.mk index 8eea09493..4c65c4ded 100644 --- a/package/i2pd/i2pd.mk +++ b/package/i2pd/i2pd.mk @@ -8,6 +8,7 @@ I2PD_VERSION = 2.40.0 I2PD_SITE = $(call github,PurpleI2P,i2pd,$(I2PD_VERSION)) I2PD_LICENSE = BSD-3-Clause I2PD_LICENSE_FILES = LICENSE +I2PD_CPE_ID_VENDOR = i2pd I2PD_SUBDIR = build I2PD_DEPENDENCIES = \ boost \ @@ -43,6 +44,7 @@ define I2PD_INSTALL_CONFIGURATION_FILES mkdir -p $(TARGET_DIR)/var/lib/i2pd cp -a $(@D)/contrib/certificates $(TARGET_DIR)/var/lib/i2pd endef +I2PD_POST_INSTALL_TARGET_HOOKS += I2PD_INSTALL_CONFIGURATION_FILES define I2PD_USERS i2pd -1 i2pd -1 * /var/lib/i2pd - - I2P Daemon diff --git a/package/ibrcommon/ibrcommon.hash b/package/ibrcommon/ibrcommon.hash index 9d13f06d3..4b7144214 100644 --- a/package/ibrcommon/ibrcommon.hash +++ b/package/ibrcommon/ibrcommon.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 9c457c1ebc01e6216524636628c647bef34ab11bd96f0e0788be8749374fdc20 ibrcommon-1.0.1.tar.gz -sha256 1a0b57773a46d9d4cc2f0d1780a17acc38af506bb1e0234aaa85f8ccd6dc0b92 COPYING -sha256 9b8a430c2136ebcf76bd37f50da7d7a80ede413ec6604cc4694ea536e779854c README +sha256 9c457c1ebc01e6216524636628c647bef34ab11bd96f0e0788be8749374fdc20 ibrcommon-1.0.1.tar.gz +sha256 1a0b57773a46d9d4cc2f0d1780a17acc38af506bb1e0234aaa85f8ccd6dc0b92 COPYING +sha256 9b8a430c2136ebcf76bd37f50da7d7a80ede413ec6604cc4694ea536e779854c README diff --git a/package/icu/icu.mk b/package/icu/icu.mk index ebbb1968f..8107796ae 100644 --- a/package/icu/icu.mk +++ b/package/icu/icu.mk @@ -28,6 +28,13 @@ ICU_CONF_OPTS = \ --disable-samples \ --disable-tests +# the icu build process breaks if the TARGET environment variable is +# non-empty +ICU_CONF_ENV += TARGET="" +ICU_MAKE_ENV += TARGET="" +HOST_ICU_CONF_ENV += TARGET="" +HOST_ICU_MAKE_ENV += TARGET="" + # When available, icu prefers to use C++11 atomics, which rely on the # __atomic builtins. On certain architectures, this requires linking # with libatomic starting from gcc 4.8. diff --git a/package/ifenslave/ifenslave.hash b/package/ifenslave/ifenslave.hash index 9073165e7..825f2d6f2 100644 --- a/package/ifenslave/ifenslave.hash +++ b/package/ifenslave/ifenslave.hash @@ -1,5 +1,5 @@ # From http://snapshot.debian.org/archive/debian/20170102T091407Z/pool/main/i/ifenslave/ifenslave_2.9.dsc -sha1 a17e88fa298ef337e872c8aa5d7a390921239d1a ifenslave_2.9.tar.xz +sha1 a17e88fa298ef337e872c8aa5d7a390921239d1a ifenslave_2.9.tar.xz sha256 e5666c0b61347bd06f2394c16eca6895fcb5e5cc83d0a1c596a975274de5a3c9 ifenslave_2.9.tar.xz # Locally computed sha256 299e00f3afc0e6ea0685340df73ad444e58e6fe0229989ba0983f5f33e275c41 debian/copyright diff --git a/package/ifmetric/ifmetric.hash b/package/ifmetric/ifmetric.hash index 186522efa..7b3733fa4 100644 --- a/package/ifmetric/ifmetric.hash +++ b/package/ifmetric/ifmetric.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 0fa8510a4e34e555f136f9df81d26618313f2d69a4880c0fb5967f19502f1aec ifmetric-0.3.tar.gz -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 LICENSE -sha256 1e33d5a8750b4b3c2cb4fb89a916463f3c838f8eb361abbf72faf244c7dde771 README +sha256 0fa8510a4e34e555f136f9df81d26618313f2d69a4880c0fb5967f19502f1aec ifmetric-0.3.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 LICENSE +sha256 1e33d5a8750b4b3c2cb4fb89a916463f3c838f8eb361abbf72faf244c7dde771 README diff --git a/package/igh-ethercat/igh-ethercat.mk b/package/igh-ethercat/igh-ethercat.mk index ed8919aea..9d211a48c 100644 --- a/package/igh-ethercat/igh-ethercat.mk +++ b/package/igh-ethercat/igh-ethercat.mk @@ -28,6 +28,7 @@ IGH_ETHERCAT_CONF_OPTS = \ --disable-rt-syslog endif +IGH_ETHERCAT_CONF_OPTS += $(if $(BR2_INSTALL_LIBSTDCPP),--enable-tool,--disable-tool) IGH_ETHERCAT_CONF_OPTS += $(if $(BR2_PACKAGE_IGH_ETHERCAT_8139TOO),--enable-8139too,--disable-8139too) IGH_ETHERCAT_CONF_OPTS += $(if $(BR2_PACKAGE_IGH_ETHERCAT_E100),--enable-e100,--disable-e100) IGH_ETHERCAT_CONF_OPTS += $(if $(BR2_PACKAGE_IGH_ETHERCAT_E1000),--enable-e1000,--disable-e1000) diff --git a/package/ijs/ijs.hash b/package/ijs/ijs.hash index 6accb5712..3d860fc85 100644 --- a/package/ijs/ijs.hash +++ b/package/ijs/ijs.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 11a5f5084488c480f3ff5a24d64d7147bb64272bf60a0ba51330a56c5b50cab9 ijs-0.35.tar.bz2 -sha256 f723390b7ee019eccf07763dcb5744acf8bb43034bc3ba3d6f1c94440e365b4f README +sha256 11a5f5084488c480f3ff5a24d64d7147bb64272bf60a0ba51330a56c5b50cab9 ijs-0.35.tar.bz2 +sha256 f723390b7ee019eccf07763dcb5744acf8bb43034bc3ba3d6f1c94440e365b4f README diff --git a/package/ima-evm-utils/ima-evm-utils.hash b/package/ima-evm-utils/ima-evm-utils.hash index 2267a59b7..56d830e54 100644 --- a/package/ima-evm-utils/ima-evm-utils.hash +++ b/package/ima-evm-utils/ima-evm-utils.hash @@ -1,4 +1,4 @@ # sha1 from sourceforge, sha256 locally computed sha1 f23d8a406759a469b0223b0bfb302ada4407a1d1 ima-evm-utils-1.4.tar.gz -sha256 fcf85b31d6292051b3679e5f17ffa7f89b6898957aad0f59aa4e9878884b27d1 ima-evm-utils-1.4.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 fcf85b31d6292051b3679e5f17ffa7f89b6898957aad0f59aa4e9878884b27d1 ima-evm-utils-1.4.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/ima-evm-utils/ima-evm-utils.mk b/package/ima-evm-utils/ima-evm-utils.mk index 7ee34d5e1..01984402c 100644 --- a/package/ima-evm-utils/ima-evm-utils.mk +++ b/package/ima-evm-utils/ima-evm-utils.mk @@ -8,6 +8,7 @@ IMA_EVM_UTILS_VERSION = 1.4 IMA_EVM_UTILS_SITE = http://downloads.sourceforge.net/project/linux-ima/ima-evm-utils IMA_EVM_UTILS_LICENSE = GPL-2.0 IMA_EVM_UTILS_LICENSE_FILES = COPYING +IMA_EVM_UTILS_INSTALL_STAGING = YES IMA_EVM_UTILS_DEPENDENCIES = host-pkgconf keyutils openssl tpm2-tss # Tarball doesn't contain configure diff --git a/package/imagemagick/Config.in.host b/package/imagemagick/Config.in.host index 671b0995d..5055101e2 100644 --- a/package/imagemagick/Config.in.host +++ b/package/imagemagick/Config.in.host @@ -17,6 +17,7 @@ if BR2_PACKAGE_HOST_IMAGEMAGICK config BR2_PACKAGE_HOST_IMAGEMAGICK_SVG bool "SVG support" depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS # host-librsvg + depends on BR2_HOST_GCC_AT_LEAST_4_9 # host-pango -> host-harfbuzz help Say 'y' here is you need ImageMagick tools (like convert) to support SVG. @@ -24,4 +25,8 @@ config BR2_PACKAGE_HOST_IMAGEMAGICK_SVG This is not enabled by default, as it brings quite a few extra dependencies, and thus extra build time. +comment "SVG support needs host gcc >= 4.9" + depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS + depends on !BR2_HOST_GCC_AT_LEAST_4_9 + endif diff --git a/package/imagemagick/imagemagick.hash b/package/imagemagick/imagemagick.hash index 278becd2a..8988dad5d 100644 --- a/package/imagemagick/imagemagick.hash +++ b/package/imagemagick/imagemagick.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 385ca5bd8ce9b37e685779c46868171af949265c9db40067c1c4d7442dbc723e imagemagick-7.1.0-19.tar.gz -sha256 040badb77b659e751ea16113490a937e1e01f3f5d32181e966b8982413533fb2 LICENSE +sha256 4333ef2fe63f2510988af82b726f5b1919ebd54037ea6674566c69fcceb67e11 imagemagick-7.1.0-51.tar.gz +sha256 8cceeb67d4e783cb63075c7311fdb990fa0369ee80fbd0f481064cd02386ca2d LICENSE diff --git a/package/imagemagick/imagemagick.mk b/package/imagemagick/imagemagick.mk index 64a530c6d..8a2ec460d 100644 --- a/package/imagemagick/imagemagick.mk +++ b/package/imagemagick/imagemagick.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMAGEMAGICK_VERSION = 7.1.0-19 +IMAGEMAGICK_VERSION = 7.1.0-51 IMAGEMAGICK_SITE = $(call github,ImageMagick,ImageMagick,$(IMAGEMAGICK_VERSION)) IMAGEMAGICK_LICENSE = Apache-2.0 IMAGEMAGICK_LICENSE_FILES = LICENSE @@ -178,6 +178,12 @@ else IMAGEMAGICK_CONF_OPTS += --without-bzlib endif +ifeq ($(BR2_INSTALL_LIBSTDCPP),y) +IMAGEMAGICK_CONF_OPTS += --with-utilities +else +IMAGEMAGICK_CONF_OPTS += --without-utilities +endif + HOST_IMAGEMAGICK_CONF_OPTS = \ --disable-opencl \ --disable-openmp \ diff --git a/package/intel-gmmlib/Config.in b/package/intel-gmmlib/Config.in index 9d5fbd9ca..a3d0d2610 100644 --- a/package/intel-gmmlib/Config.in +++ b/package/intel-gmmlib/Config.in @@ -2,6 +2,8 @@ config BR2_PACKAGE_INTEL_GMMLIB bool "intel-gmmlib" depends on BR2_x86_64 depends on !BR2_STATIC_LIBS + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS help The Intel(R) Graphics Memory Management Library provides device specific and buffer management for the Intel(R) @@ -10,5 +12,6 @@ config BR2_PACKAGE_INTEL_GMMLIB https://github.com/intel/gmmlib -comment "intel-gmmlib needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS +comment "intel-gmmlib needs a toolchain w/ dynamic library, C++, threads" + depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/intel-mediadriver/Config.in b/package/intel-mediadriver/Config.in index c29c2fb6a..537e4abd2 100644 --- a/package/intel-mediadriver/Config.in +++ b/package/intel-mediadriver/Config.in @@ -2,9 +2,9 @@ config BR2_PACKAGE_INTEL_MEDIADRIVER bool "intel-mediadriver" depends on BR2_x86_64 depends on !BR2_STATIC_LIBS # mesa3d, libva - depends on BR2_INSTALL_LIBSTDCPP # mesa3d + depends on BR2_INSTALL_LIBSTDCPP # intel-gmmlib, mesa3d depends on BR2_TOOLCHAIN_HAS_SYNC_1 # mesa3d - depends on BR2_TOOLCHAIN_HAS_THREADS # libva + depends on BR2_TOOLCHAIN_HAS_THREADS # intel-gmmlib, libva depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # mesa3d select BR2_PACKAGE_INTEL_GMMLIB select BR2_PACKAGE_LIBPCIACCESS diff --git a/package/intel-microcode/intel-microcode.hash b/package/intel-microcode/intel-microcode.hash index 6687d4c0e..acec71000 100644 --- a/package/intel-microcode/intel-microcode.hash +++ b/package/intel-microcode/intel-microcode.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 fd85b6b769efd029dec6a2c07106fd18fb4dcb548b7bc4cde09295a8344ef6d7 intel-microcode-20210608.tar.gz +sha256 3a3cfe2c7642339af9f4c2ad69f5f367dfa4cd1f7f9fd4124dedefb7803591d4 intel-microcode-20230214.tar.gz sha256 03efb1491c7e899feb2665fa299363e64035e5444c1b8bc1f6ebed30de964e12 license diff --git a/package/intel-microcode/intel-microcode.mk b/package/intel-microcode/intel-microcode.mk index af7f6fa80..6e7d66f48 100644 --- a/package/intel-microcode/intel-microcode.mk +++ b/package/intel-microcode/intel-microcode.mk @@ -4,7 +4,7 @@ # ################################################################################ -INTEL_MICROCODE_VERSION = 20210608 +INTEL_MICROCODE_VERSION = 20230214 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/intltool/intltool.hash b/package/intltool/intltool.hash index de1df87bc..59983b02e 100644 --- a/package/intltool/intltool.hash +++ b/package/intltool/intltool.hash @@ -1,6 +1,6 @@ # From https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz/+md5 -md5 12e517cac2b57a0121cda351570f1e63 intltool-0.51.0.tar.gz +md5 12e517cac2b57a0121cda351570f1e63 intltool-0.51.0.tar.gz # Locally calculated -sha256 67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd intltool-0.51.0.tar.gz -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd intltool-0.51.0.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/iodine/iodine.hash b/package/iodine/iodine.hash index 691ef4d7f..4ba7aa95b 100644 --- a/package/iodine/iodine.hash +++ b/package/iodine/iodine.hash @@ -1,4 +1,4 @@ # From http://code.kryo.se/iodine/ -md5 fdbf3b81cd69caf5230d76a8b039fd99 iodine-0.7.0.tar.gz +md5 fdbf3b81cd69caf5230d76a8b039fd99 iodine-0.7.0.tar.gz # Locally computed sha256 f41a252b2218759aa351270b7ad9791bdd323836b940e35c0614837a5d24dcb7 README diff --git a/package/ipmiutil/ipmiutil.mk b/package/ipmiutil/ipmiutil.mk index 4c9de2658..0a342dcee 100644 --- a/package/ipmiutil/ipmiutil.mk +++ b/package/ipmiutil/ipmiutil.mk @@ -10,6 +10,7 @@ IPMIUTIL_LICENSE = BSD-3-Clause IPMIUTIL_LICENSE_FILES = COPYING IPMIUTIL_MAKE = $(MAKE1) +IPMIUTIL_CONF_ENV = ac_cv_type_wchar_t=$(if $(BR2_USE_WCHAR),yes,no) # aclocal.m4 is newer than config.h.in. Touch the latter to avoid autoreconf define IPMIUTIL_TOUCH_CONFIG_H_IN @@ -17,8 +18,7 @@ define IPMIUTIL_TOUCH_CONFIG_H_IN endef IPMIUTIL_PRE_CONFIGURE_HOOKS += IPMIUTIL_TOUCH_CONFIG_H_IN -# forgets to link against libcrypto dependencies breaking static link -ifeq ($(BR2_PACKAGE_OPENSSL)x$(BR2_STATIC_LIBS),yx) +ifeq ($(BR2_PACKAGE_OPENSSL),y) # tests against distro libcrypto so it might get a false positive when # the openssl version is old, so force it off # SKIP_MD2 can be used only if ALLOW_GNU is defined. diff --git a/package/iptables/iptables.mk b/package/iptables/iptables.mk index 555bb384f..f6c124805 100644 --- a/package/iptables/iptables.mk +++ b/package/iptables/iptables.mk @@ -8,8 +8,7 @@ IPTABLES_VERSION = 1.8.7 IPTABLES_SOURCE = iptables-$(IPTABLES_VERSION).tar.bz2 IPTABLES_SITE = https://netfilter.org/projects/iptables/files IPTABLES_INSTALL_STAGING = YES -IPTABLES_DEPENDENCIES = host-pkgconf \ - $(if $(BR2_PACKAGE_LIBNETFILTER_CONNTRACK),libnetfilter_conntrack) +IPTABLES_DEPENDENCIES = host-pkgconf IPTABLES_LICENSE = GPL-2.0 IPTABLES_LICENSE_FILES = COPYING IPTABLES_CPE_ID_VENDOR = netfilter diff --git a/package/iputils/iputils.hash b/package/iputils/iputils.hash index edfa384d4..db52d990f 100644 --- a/package/iputils/iputils.hash +++ b/package/iputils/iputils.hash @@ -1,6 +1,6 @@ # https://github.com/iputils/iputils/releases/download/20211215/sha256sum.asc -sha256 b6f67fc705490673ff4471d006221b4a2f1b1180b929d9fefd771352621ccedf iputils-20211215.tar.gz +sha256 b6f67fc705490673ff4471d006221b4a2f1b1180b929d9fefd771352621ccedf iputils-20211215.tar.gz # Locally computed -sha256 973281334c2da6364fa6bdc44c1f0f8d60d80d73c782982ffc5d53b0a31aa042 LICENSE -sha256 9acc4bc871a4742550158e3696dcb381953172ef808d04ca248184f9f6322712 Documentation/LICENSE.BSD3 -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Documentation/LICENSE.GPL2 +sha256 973281334c2da6364fa6bdc44c1f0f8d60d80d73c782982ffc5d53b0a31aa042 LICENSE +sha256 9acc4bc871a4742550158e3696dcb381953172ef808d04ca248184f9f6322712 Documentation/LICENSE.BSD3 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Documentation/LICENSE.GPL2 diff --git a/package/irrlicht/irrlicht.hash b/package/irrlicht/irrlicht.hash index 1f5631f22..e7cd3ec91 100644 --- a/package/irrlicht/irrlicht.hash +++ b/package/irrlicht/irrlicht.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/irrlicht/files/Irrlicht%20SDK/1.8/1.8.4 -md5 9401cfff801395010b0912211f3cbb4f irrlicht-1.8.4.zip -sha1 38bf0223fe868d243d6a39d0dc191c8df6e03b3b irrlicht-1.8.4.zip +md5 9401cfff801395010b0912211f3cbb4f irrlicht-1.8.4.zip +sha1 38bf0223fe868d243d6a39d0dc191c8df6e03b3b irrlicht-1.8.4.zip # Locally calculated sha256 f42b280bc608e545b820206fe2a999c55f290de5c7509a02bdbeeccc1bf9e433 irrlicht-1.8.4.zip sha256 cc86e0b830f9d48933feb198f2741a7d9bb7c34fe8a35302d8ce36b8e2ecb27b doc/aesGladman.txt diff --git a/package/iucode-tool/iucode-tool.hash b/package/iucode-tool/iucode-tool.hash index 6d8fb635d..ae18339c9 100644 --- a/package/iucode-tool/iucode-tool.hash +++ b/package/iucode-tool/iucode-tool.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 12b88efa4d0d95af08db05a50b3dcb217c0eb2bfc67b483779e33d498ddb2f95 iucode-tool_2.3.1.tar.xz -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 12b88efa4d0d95af08db05a50b3dcb217c0eb2bfc67b483779e33d498ddb2f95 iucode-tool_2.3.1.tar.xz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/iucode-tool/iucode-tool.mk b/package/iucode-tool/iucode-tool.mk index 596ad268b..b123973a9 100644 --- a/package/iucode-tool/iucode-tool.mk +++ b/package/iucode-tool/iucode-tool.mk @@ -7,11 +7,15 @@ IUCODE_TOOL_VERSION = 2.3.1 IUCODE_TOOL_SOURCE = iucode-tool_$(IUCODE_TOOL_VERSION).tar.xz IUCODE_TOOL_SITE = https://gitlab.com/iucode-tool/releases/raw/master -IUCODE_TOOL_DEPENDENCIES = $(if $(BR2_PACKAGE_ARGP_STANDALONE),argp-standalone) IUCODE_TOOL_LICENSE = GPL-2.0+ IUCODE_TOOL_LICENSE_FILES = COPYING IUCODE_TOOL_CPE_ID_VENDOR = iucode-tool_project +ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y) +IUCODE_TOOL_DEPENDENCIES += argp-standalone $(TARGET_NLS_DEPENDENCIES) +IUCODE_TOOL_CONF_ENV += LIBS=$(TARGET_NLS_LIBS) +endif + define IUCODE_TOOL_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/iucode-tool/S00iucode-tool \ $(TARGET_DIR)/etc/init.d/S00iucode-tool diff --git a/package/iwd/0001-dpp-fix-implicit-declaration-of-function-explicit_bz.patch b/package/iwd/0001-dpp-fix-implicit-declaration-of-function-explicit_bz.patch deleted file mode 100644 index 3e808deb8..000000000 --- a/package/iwd/0001-dpp-fix-implicit-declaration-of-function-explicit_bz.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 6ce41f621154eff0145dab41308bc145c0440f16 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Mon, 10 Jan 2022 22:32:18 +0100 -Subject: [PATCH] dpp: fix implicit declaration of function explicit_bzero - warning -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -- add missing src/missing.h include for explicit_bzero, fixes uclibc - compile/linking - -Fixes: - - src/dpp.c:166:2: warning: implicit declaration of function ‘explicit_bzero’ [-Wimplicit-function-declaration] - 166 | explicit_bzero(dpp->r_nonce, dpp->nonce_len); - | ^~~~~~~~~~~~~~ - -[backport from upstream] -Signed-off-by: Peter Seiderer -[yann.morin.1998@free.fr: actual backport now upstreamn applied] -Signed-off-by: Yann E. MORIN ---- - src/dpp.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/dpp.c b/src/dpp.c -index 84e89f6c..8091ded1 100644 ---- a/src/dpp.c -+++ b/src/dpp.c -@@ -30,6 +30,7 @@ - - #include "linux/nl80211.h" - -+#include "src/missing.h" - #include "src/dbus.h" - #include "src/netdev.h" - #include "src/module.h" --- -2.34.1 - diff --git a/package/iwd/iwd.hash b/package/iwd/iwd.hash index 8e34d2983..1a58ec88e 100644 --- a/package/iwd/iwd.hash +++ b/package/iwd/iwd.hash @@ -1,5 +1,5 @@ # From https://mirrors.edge.kernel.org/pub/linux/network/wireless/sha256sums.asc -sha256 bac891df91c605271e91b73cf0015e1ba86ff784347e53fc67601366859b3851 iwd-1.21.tar.xz +sha256 61b5e48380cd3a6d0529f725eb6974157f1410af165f5d266b87add0bf395224 iwd-1.24.tar.xz # License files sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING diff --git a/package/iwd/iwd.mk b/package/iwd/iwd.mk index a70da86ec..c8b666bdd 100644 --- a/package/iwd/iwd.mk +++ b/package/iwd/iwd.mk @@ -4,7 +4,7 @@ # ################################################################################ -IWD_VERSION = 1.21 +IWD_VERSION = 1.24 IWD_SOURCE = iwd-$(IWD_VERSION).tar.xz IWD_SITE = $(BR2_KERNEL_MIRROR)/linux/network/wireless IWD_LICENSE = LGPL-2.1+ @@ -12,20 +12,12 @@ IWD_LICENSE_FILES = COPYING IWD_CPE_ID_VENDOR = intel IWD_CPE_ID_PRODUCT = inet_wireless_daemon IWD_SELINUX_MODULES = networkmanager -# We're patching configure.ac -IWD_AUTORECONF = YES IWD_CONF_OPTS = \ --disable-manual-pages \ - --enable-external-ell -IWD_DEPENDENCIES = ell - -ifeq ($(BR2_PACKAGE_DBUS),y) -IWD_CONF_OPTS += --enable-dbus-policy --with-dbus-datadir=/usr/share -IWD_DEPENDENCIES += dbus -else -IWD_CONF_OPTS += --disable-dbus-policy -endif + --enable-external-ell \ + --enable-dbus-policy +IWD_DEPENDENCIES = dbus ell ifeq ($(BR2_PACKAGE_READLINE),y) # iwd client depends on readline (GPL-3.0+) diff --git a/package/jack1/Config.in b/package/jack1/Config.in index 1c67f1033..5b3116e2f 100644 --- a/package/jack1/Config.in +++ b/package/jack1/Config.in @@ -10,8 +10,6 @@ config BR2_PACKAGE_JACK1 select BR2_PACKAGE_ALSA_LIB_RAWMIDI select BR2_PACKAGE_ALSA_LIB_SEQ select BR2_PACKAGE_BERKELEYDB - select BR2_PACKAGE_LIBSAMPLERATE - select BR2_PACKAGE_LIBSNDFILE help JACK Audio Connection Kit (JACK 1 implementation). diff --git a/package/jack1/jack1.hash b/package/jack1/jack1.hash index d7787ac2a..a19c648d1 100644 --- a/package/jack1/jack1.hash +++ b/package/jack1/jack1.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 3517b5bff82139a76b2b66fe2fd9a3b34b6e594c184f95a988524c575b11d444 jack-audio-connection-kit-0.125.0.tar.gz -sha256 661fe53a7e3fce790b185e35c60b7ed80d7efdf25fd7df5af6814a9a215a538f COPYING -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING.GPL -sha256 ad01ea5cd2755f6048383c8d54c88459cd6fcb17757c5c8892f8c5ea060f6140 COPYING.LGPL +sha256 3517b5bff82139a76b2b66fe2fd9a3b34b6e594c184f95a988524c575b11d444 jack-audio-connection-kit-0.125.0.tar.gz +sha256 661fe53a7e3fce790b185e35c60b7ed80d7efdf25fd7df5af6814a9a215a538f COPYING +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING.GPL +sha256 ad01ea5cd2755f6048383c8d54c88459cd6fcb17757c5c8892f8c5ea060f6140 COPYING.LGPL diff --git a/package/jack1/jack1.mk b/package/jack1/jack1.mk index 311f7c9ba..6dca56001 100644 --- a/package/jack1/jack1.mk +++ b/package/jack1/jack1.mk @@ -11,7 +11,15 @@ JACK1_LICENSE = GPL-2.0+ (jack server), LGPL-2.1+ (jack library) JACK1_LICENSE_FILES = COPYING COPYING.GPL COPYING.LGPL JACK1_INSTALL_STAGING = YES -JACK1_DEPENDENCIES = host-pkgconf alsa-lib berkeleydb libsamplerate libsndfile +JACK1_DEPENDENCIES = host-pkgconf alsa-lib berkeleydb + +ifeq ($(BR2_PACKAGE_LIBSAMPLERATE),y) +JACK1_DEPENDENCIES += libsamplerate +endif + +ifeq ($(BR2_PACKAGE_LIBSNDFILE),y) +JACK1_DEPENDENCIES += libsndfile +endif ifeq ($(BR2_PACKAGE_READLINE),y) JACK1_DEPENDENCIES += readline diff --git a/package/jack2/Config.in b/package/jack2/Config.in index bc883190d..f5ac0399e 100644 --- a/package/jack2/Config.in +++ b/package/jack2/Config.in @@ -5,8 +5,6 @@ config BR2_PACKAGE_JACK2 depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_SYNC_4 - select BR2_PACKAGE_LIBSAMPLERATE - select BR2_PACKAGE_LIBSNDFILE select BR2_PACKAGE_ALSA_LIB select BR2_PACKAGE_ALSA_LIB_HWDEP select BR2_PACKAGE_ALSA_LIB_SEQ @@ -30,7 +28,7 @@ config BR2_PACKAGE_JACK2_LEGACY help Build and use jackd. - https://github.com/jackaudio/jackaudio.github.com/wiki/JackDbusPackaging + https://github.com/jackaudio/jackaudio.github.com/wiki/JACK-DBus-packaging config BR2_PACKAGE_JACK2_DBUS bool "dbus jack2" @@ -42,7 +40,7 @@ config BR2_PACKAGE_JACK2_DBUS help Build and use jackdbus. - https://github.com/jackaudio/jackaudio.github.com/wiki/JackDbusPackaging + https://github.com/jackaudio/jackaudio.github.com/wiki/JACK-DBus-packaging endif diff --git a/package/jack2/jack2.hash b/package/jack2/jack2.hash index df708f7ca..c98971ca1 100644 --- a/package/jack2/jack2.hash +++ b/package/jack2/jack2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 38f674bbc57852a8eb3d9faa1f96a0912d26f7d5df14c11005ad499c8ae352f2 jack2-1.9.17.tar.gz +sha256 8b044a40ba5393b47605a920ba30744fdf8bf77d210eca90d39c8637fe6bc65d jack2-1.9.21.tar.gz sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 COPYING diff --git a/package/jack2/jack2.mk b/package/jack2/jack2.mk index e6a036bac..f7683304a 100644 --- a/package/jack2/jack2.mk +++ b/package/jack2/jack2.mk @@ -4,22 +4,54 @@ # ################################################################################ -JACK2_VERSION = 1.9.17 +JACK2_VERSION = 1.9.21 JACK2_SITE = $(call github,jackaudio,jack2,v$(JACK2_VERSION)) JACK2_LICENSE = GPL-2.0+ (jack server), LGPL-2.1+ (jack library) JACK2_LICENSE_FILES = COPYING JACK2_CPE_ID_VENDOR = jackaudio -JACK2_DEPENDENCIES = libsamplerate libsndfile alsa-lib +JACK2_DEPENDENCIES = host-pkgconf alsa-lib JACK2_INSTALL_STAGING = YES -JACK2_CONF_OPTS = --alsa +JACK2_CONF_OPTS = --alsa --example-tools=no + +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +JACK2_DEPENDENCIES += libexecinfo +JACK2_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -lexecinfo" +endif + +ifeq ($(BR2_PACKAGE_LIBSAMPLERATE),y) +JACK2_DEPENDENCIES += libsamplerate +JACK2_CONF_OPTS += --samplerate=yes +else +JACK2_CONF_OPTS += --samplerate=no +endif + +ifeq ($(BR2_PACKAGE_LIBSNDFILE),y) +JACK2_DEPENDENCIES += libsndfile +JACK2_CONF_OPTS += --sndfile=yes +else +JACK2_CONF_OPTS += --sndfile=no +endif ifeq ($(BR2_PACKAGE_OPUS),y) JACK2_DEPENDENCIES += opus +JACK2_CONF_OPTS += --opus=yes +else +JACK2_CONF_OPTS += --opus=no endif ifeq ($(BR2_PACKAGE_READLINE),y) JACK2_DEPENDENCIES += readline +JACK2_CONF_OPTS += --readline=yes +else +JACK2_CONF_OPTS += --readline=no +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +JACK2_DEPENDENCIES += systemd +JACK2_CONF_OPTS += --systemd=yes +else +JACK2_CONF_OPTS += --systemd=no endif ifeq ($(BR2_PACKAGE_JACK2_LEGACY),y) diff --git a/package/janet/janet.hash b/package/janet/janet.hash index 50e6b1fef..a93129cfa 100644 --- a/package/janet/janet.hash +++ b/package/janet/janet.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 02ff892f4bfc060a8a37f4a5c3e659bf34ba5f1f1c5eb07d60dc2642c5cf0476 janet-1.19.2.tar.gz +sha256 7c6969f8e82badc7afa28aa1054555c1c91d2858f9f45c41a82557f5c5ce85bd janet-1.22.0.tar.gz # Locally calculated sha256 e2d2ae8360d95386af751ac7d1a3da36ea8ceb230e5f0eba7eb762547b1c58c9 LICENSE diff --git a/package/janet/janet.mk b/package/janet/janet.mk index 5b6a9a182..ad09d47c6 100644 --- a/package/janet/janet.mk +++ b/package/janet/janet.mk @@ -4,7 +4,7 @@ # ################################################################################ -JANET_VERSION = 1.19.2 +JANET_VERSION = 1.22.0 JANET_SITE = $(call github,janet-lang,janet,v$(JANET_VERSION)) JANET_LICENSE = MIT JANET_LICENSE_FILES = LICENSE diff --git a/package/janus-gateway/janus-gateway.mk b/package/janus-gateway/janus-gateway.mk index 84ca0bc11..9127e5442 100644 --- a/package/janus-gateway/janus-gateway.mk +++ b/package/janus-gateway/janus-gateway.mk @@ -124,6 +124,13 @@ else JANUS_GATEWAY_CONF_OPTS += --disable-websockets endif +ifeq ($(BR2_PACKAGE_LIBCURL),y) +JANUS_GATEWAY_DEPENDENCIES += libcurl +JANUS_GATEWAY_CONF_OPTS += --enable-turn-rest-api +else +JANUS_GATEWAY_CONF_OPTS += --disable-turn-rest-api +endif + ifeq ($(BR2_PACKAGE_SYSTEMD),y) JANUS_GATEWAY_DEPENDENCIES += systemd JANUS_GATEWAY_CONF_OPTS += --enable-systemd-sockets @@ -131,4 +138,9 @@ else JANUS_GATEWAY_CONF_OPTS += --disable-systemd-sockets endif +define JANUS_GATEWAY_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/janus-gateway/janus-gateway.service \ + $(TARGET_DIR)/usr/lib/systemd/system/janus-gateway.service +endef + $(eval $(autotools-package)) diff --git a/package/janus-gateway/janus-gateway.service b/package/janus-gateway/janus-gateway.service new file mode 100644 index 000000000..6e6bc7f01 --- /dev/null +++ b/package/janus-gateway/janus-gateway.service @@ -0,0 +1,13 @@ +[Unit] +Description=Janus WebRTC Gateway +Wants=network.target +StartLimitIntervalSec=0 + +[Service] +Type=simple +ExecStart=/usr/bin/janus +Restart=on-failure +RestartSec=5 + +[Install] +WantedBy=multi-user.target diff --git a/package/jemalloc/jemalloc.hash b/package/jemalloc/jemalloc.hash index 5db53d053..5c58bc398 100644 --- a/package/jemalloc/jemalloc.hash +++ b/package/jemalloc/jemalloc.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 34330e5ce276099e2e8950d9335db5a875689a4c6a56751ef3b1d8c537f887f6 jemalloc-5.2.1.tar.bz2 -sha256 94aa2caa98c25d942f58b956c71dba6a99ff98fc3a31cbc669fe2a4cd0268b53 COPYING +sha256 34330e5ce276099e2e8950d9335db5a875689a4c6a56751ef3b1d8c537f887f6 jemalloc-5.2.1.tar.bz2 +sha256 94aa2caa98c25d942f58b956c71dba6a99ff98fc3a31cbc669fe2a4cd0268b53 COPYING diff --git a/package/joe/joe.hash b/package/joe/joe.hash index 1e2de4225..8029a22dc 100644 --- a/package/joe/joe.hash +++ b/package/joe/joe.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/joe-editor/files/JOE%20sources/joe-4.6/ -sha1 da7712333f676cfb5ae9f3565fd2225c5a2185ca joe-4.6.tar.gz -md5 9017484e6116830d846678b625ea5c43 joe-4.6.tar.gz +sha1 da7712333f676cfb5ae9f3565fd2225c5a2185ca joe-4.6.tar.gz +md5 9017484e6116830d846678b625ea5c43 joe-4.6.tar.gz # Locally computed: -sha256 495a0a61f26404070fe8a719d80406dc7f337623788e445b92a9f6de512ab9de joe-4.6.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 495a0a61f26404070fe8a719d80406dc7f337623788e445b92a9f6de512ab9de joe-4.6.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/jose/0002-man-add-option-to-skip-building-man-pages.patch b/package/jose/0002-man-add-option-to-skip-building-man-pages.patch new file mode 100644 index 000000000..3a5ad1ead --- /dev/null +++ b/package/jose/0002-man-add-option-to-skip-building-man-pages.patch @@ -0,0 +1,64 @@ +From 506132d3edc8d062f65fdacf007a15613d27e5c5 Mon Sep 17 00:00:00 2001 +From: Eneas U de Queiroz +Date: Wed, 6 Apr 2022 09:49:48 -0300 +Subject: [PATCH] man: add option to skip building man pages + +Add a 'skip_manpages' option to meson, so that man pages do not get +built. + +Signed-off-by: Eneas U de Queiroz +[Retrieved from: https://github.com/latchset/jose/pull/115] +Signed-off-by: Fabrice Fontaine +--- + meson.build | 24 +++++++++++++----------- + meson_options.txt | 1 + + 2 files changed, 14 insertions(+), 11 deletions(-) + create mode 100644 meson_options.txt + +diff --git a/meson.build b/meson.build +index 1edfbe7..9b40efb 100644 +--- a/meson.build ++++ b/meson.build +@@ -37,7 +37,6 @@ zlib = dependency('zlib') + threads = dependency('threads') + jansson = dependency('jansson', version: '>=2.10') + libcrypto = dependency('libcrypto', version: '>=1.0.2') +-a2x = find_program('a2x', required: false) + + mans = [] + +@@ -63,14 +62,17 @@ pkg.generate( + requires: 'jansson', + ) + +-if a2x.found() +- foreach m : mans +- custom_target(m.split('/')[-1], input: m + '.adoc', output: m.split('/')[-1], +- command: [a2x, '-f', 'manpage', '-D', meson.current_build_dir(), '@INPUT@'], +- install_dir: join_paths(get_option('mandir'), 'man' + m.split('.')[-1]), +- install: true +- ) +- endforeach +-else +- warning('Will not build man pages due to missing dependencies!') ++if not get_option('skip_manpages') ++ a2x = find_program('a2x', required: false) ++ if a2x.found() ++ foreach m : mans ++ custom_target(m.split('/')[-1], input: m + '.adoc', output: m.split('/')[-1], ++ command: [a2x, '-f', 'manpage', '-D', meson.current_build_dir(), '@INPUT@'], ++ install_dir: join_paths(get_option('mandir'), 'man' + m.split('.')[-1]), ++ install: true ++ ) ++ endforeach ++ else ++ warning('Will not build man pages due to missing dependencies!') ++ endif + endif +diff --git a/meson_options.txt b/meson_options.txt +new file mode 100644 +index 0000000..0885515 +--- /dev/null ++++ b/meson_options.txt +@@ -0,0 +1 @@ ++option('skip_manpages', type: 'boolean', value: false, description: 'Do not build manpages') diff --git a/package/jose/jose.mk b/package/jose/jose.mk index 8a60e20cc..723ebe8bb 100644 --- a/package/jose/jose.mk +++ b/package/jose/jose.mk @@ -11,5 +11,6 @@ JOSE_LICENSE = Apache-2.0 JOSE_LICENSE_FILES = COPYING JOSE_INSTALL_STAGING = YES JOSE_DEPENDENCIES = host-pkgconf zlib jansson openssl +JOSE_CONF_OPTS = -Dskip_manpages=true $(eval $(meson-package)) diff --git a/package/jpeg/Config.in b/package/jpeg/Config.in index 0a786060d..371f89aa4 100644 --- a/package/jpeg/Config.in +++ b/package/jpeg/Config.in @@ -3,7 +3,8 @@ config BR2_PACKAGE_JPEG_SIMD_SUPPORT bool default y if BR2_X86_CPU_HAS_MMX default y if BR2_ARM_CPU_HAS_NEON - default y if BR2_POWERPC_CPU_HAS_ALTIVEC + default y if BR2_POWERPC_CPU_HAS_ALTIVEC && !BR2_powerpc64le + default y if BR2_POWERPC_CPU_HAS_VSX && BR2_powerpc64le default y if BR2_aarch64 || BR2_aarch64_be config BR2_PACKAGE_JPEG diff --git a/package/jquery-ui-themes/Config.in b/package/jquery-ui-themes/Config.in index 29359544a..b372d40b6 100644 --- a/package/jquery-ui-themes/Config.in +++ b/package/jquery-ui-themes/Config.in @@ -112,6 +112,6 @@ config BR2_PACKAGE_JQUERY_UI_THEMES_THEME default "trontastic" if BR2_PACKAGE_JQUERY_UI_THEMES_TRONTASTIC default "ui-darkness" if BR2_PACKAGE_JQUERY_UI_THEMES_UI_DARKNESS default "ui-lightness" if BR2_PACKAGE_JQUERY_UI_THEMES_UI_LIGHTNESS - default "vader" if BR2_PACKAGE_JQUERY_UI_THEMES_UI_VADER + default "vader" if BR2_PACKAGE_JQUERY_UI_THEMES_VADER endif diff --git a/package/jquery-validation/jquery-validation.hash b/package/jquery-validation/jquery-validation.hash index 4dbe07e21..31ecd62bc 100644 --- a/package/jquery-validation/jquery-validation.hash +++ b/package/jquery-validation/jquery-validation.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 01ad2ef0a7f9cd413aeb51081651293916da47d20e5c0a59ec62587e58b03564 jquery-validation-1.19.3.zip -sha256 3e5a99460077c16bf75f6821a30cdac9baa339119ebf63b2a6c49f4f50421ca4 README.md +sha256 52381e080f266f8bca1a17acd6a4a68be4c2606a8b16f8a12e597cc69f2c0584 jquery-validation-1.19.5.zip +sha256 f398878cab338b869638bdac1aeae76bf3ac11b2b89da6e0b68bc1a645733440 LICENSE.md diff --git a/package/jquery-validation/jquery-validation.mk b/package/jquery-validation/jquery-validation.mk index 920ed1cec..1ed37ee73 100644 --- a/package/jquery-validation/jquery-validation.mk +++ b/package/jquery-validation/jquery-validation.mk @@ -4,11 +4,11 @@ # ################################################################################ -JQUERY_VALIDATION_VERSION = 1.19.3 +JQUERY_VALIDATION_VERSION = 1.19.5 JQUERY_VALIDATION_SITE = https://github.com/jquery-validation/jquery-validation/releases/download/$(JQUERY_VALIDATION_VERSION) JQUERY_VALIDATION_SOURCE = jquery-validation-$(JQUERY_VALIDATION_VERSION).zip JQUERY_VALIDATION_LICENSE = MIT -JQUERY_VALIDATION_LICENSE_FILES = README.md +JQUERY_VALIDATION_LICENSE_FILES = LICENSE.md JQUERY_VALIDATION_CPE_ID_VENDOR = jqueryvalidation JQUERY_VALIDATION_CPE_ID_PRODUCT = jquery_validation diff --git a/package/jquery/jquery.hash b/package/jquery/jquery.hash index e9ef56a46..173eb95ff 100644 --- a/package/jquery/jquery.hash +++ b/package/jquery/jquery.hash @@ -1,2 +1,2 @@ # Locally computed hashes, not provided by upstream -sha256 f7f6a5894f1d19ddad6fa392b2ece2c5e578cbf7da4ea805b6885eb6985b6e3d jquery-3.5.1.min.js +sha256 f7f6a5894f1d19ddad6fa392b2ece2c5e578cbf7da4ea805b6885eb6985b6e3d jquery-3.5.1.min.js diff --git a/package/jsmin/jsmin.hash b/package/jsmin/jsmin.hash index c16097851..cc4490557 100644 --- a/package/jsmin/jsmin.hash +++ b/package/jsmin/jsmin.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 aae127bf7291a7b2592f36599e5ed6c6423eac7abe0cd5992f82d6d46fe9ed2d jsmin-1bf6ce5f74a9f8752ac7f5d115b8d7ccb31cfe1b.tar.gz -sha256 b420f61778af09534adc836a5086f5625b8499124051c50baefa218e7c03a58c jsmin.c +sha256 aae127bf7291a7b2592f36599e5ed6c6423eac7abe0cd5992f82d6d46fe9ed2d jsmin-1bf6ce5f74a9f8752ac7f5d115b8d7ccb31cfe1b.tar.gz +sha256 b420f61778af09534adc836a5086f5625b8499124051c50baefa218e7c03a58c jsmin.c diff --git a/package/jsmn/jsmn.hash b/package/jsmn/jsmn.hash index b5a78f6eb..7eaf68004 100644 --- a/package/jsmn/jsmn.hash +++ b/package/jsmn/jsmn.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 5f0913a10657fe7ec8d5794ccf00a01000e3e1f2f1e1f143c34a0f7b47edcb38 jsmn-1.1.0.tar.gz -sha256 4675b94a50d2afe811c52785463c854f1156056632cce17cc7133939eac8ed55 LICENSE +sha256 5f0913a10657fe7ec8d5794ccf00a01000e3e1f2f1e1f143c34a0f7b47edcb38 jsmn-1.1.0.tar.gz +sha256 4675b94a50d2afe811c52785463c854f1156056632cce17cc7133939eac8ed55 LICENSE diff --git a/package/json-glib/json-glib.hash b/package/json-glib/json-glib.hash index b68794db3..9d17e0815 100644 --- a/package/json-glib/json-glib.hash +++ b/package/json-glib/json-glib.hash @@ -1,5 +1,5 @@ # From http://ftp.gnome.org/pub/GNOME/sources/json-glib/1.4/json-glib-1.4.4.sha256sum -sha256 720c5f4379513dc11fd97dc75336eb0c0d3338c53128044d9fabec4374f4bc47 json-glib-1.4.4.tar.xz +sha256 720c5f4379513dc11fd97dc75336eb0c0d3338c53128044d9fabec4374f4bc47 json-glib-1.4.4.tar.xz # Hash for license file: -sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 COPYING +sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 COPYING diff --git a/package/jszip/0001-fix-Use-a-null-prototype-object-for-this-files.patch b/package/jszip/0001-fix-Use-a-null-prototype-object-for-this-files.patch deleted file mode 100644 index 969db5b40..000000000 --- a/package/jszip/0001-fix-Use-a-null-prototype-object-for-this-files.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 22357494f424178cb416cdb7d93b26dd4f824b36 Mon Sep 17 00:00:00 2001 -From: Michael Aquilina -Date: Mon, 14 Jun 2021 12:28:46 +0100 -Subject: [PATCH] fix: Use a null prototype object for this.files - -This approach is taken to prevent overriding object methods that would -exist on a normal object Object.create({}) - -[Retrieved from: -https://github.com/Stuk/jszip/commit/22357494f424178cb416cdb7d93b26dd4f824b36] -Signed-off-by: Fabrice Fontaine ---- - lib/index.js | 5 ++++- - lib/object.js | 6 +++--- - 2 files changed, 7 insertions(+), 4 deletions(-) - -diff --git a/lib/index.js b/lib/index.js -index b449877..b4c95ba 100644 ---- a/lib/index.js -+++ b/lib/index.js -@@ -19,7 +19,10 @@ function JSZip() { - // "folder/" : {...}, - // "folder/data.txt" : {...} - // } -- this.files = {}; -+ // NOTE: we use a null prototype because we do not -+ // want filenames like "toString" coming from a zip file -+ // to overwrite methods and attributes in a normal Object. -+ this.files = Object.create(null); - - this.comment = null; - -diff --git a/lib/object.js b/lib/object.js -index 1c9d8e8..aec3db7 100644 ---- a/lib/object.js -+++ b/lib/object.js -@@ -179,16 +179,16 @@ var out = { - */ - forEach: function(cb) { - var filename, relativePath, file; -+ /* jshint ignore:start */ -+ // ignore warning about unwanted properties because this.files is a null prototype object - for (filename in this.files) { -- if (!this.files.hasOwnProperty(filename)) { -- continue; -- } - file = this.files[filename]; - relativePath = filename.slice(this.root.length, filename.length); - if (relativePath && filename.slice(0, this.root.length) === this.root) { // the file is in the current root - cb(relativePath, file); // TODO reverse the parameters ? need to be clean AND consistent with the filter search fn... - } - } -+ /* jshint ignore:end */ - }, - - /** diff --git a/package/jszip/jszip.hash b/package/jszip/jszip.hash index 13a2076ad..d0c56a44a 100644 --- a/package/jszip/jszip.hash +++ b/package/jszip/jszip.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 e5343decfb781b15c54c0df9ddedd6c8518c800a4667a0a95741c694a4f38d34 jszip-3.2.2.tar.gz -sha256 14450c78405ad2a2173e25740b56406556779149df9c4c83523a8c63d0686210 LICENSE.markdown +sha256 aa3033c6bb5357a0b0965c92fbdb6d6abe64676e70ffa7933b63c573ab79ee45 jszip-3.10.0.tar.gz +sha256 566c953c6090b1218ca6217dd7359d45dde46581968586dc607d59a78af6a9c4 LICENSE.markdown diff --git a/package/jszip/jszip.mk b/package/jszip/jszip.mk index a93766be1..350436867 100644 --- a/package/jszip/jszip.mk +++ b/package/jszip/jszip.mk @@ -4,15 +4,12 @@ # ################################################################################ -JSZIP_VERSION = 3.2.2 +JSZIP_VERSION = 3.10.0 JSZIP_SITE = $(call github,Stuk,jszip,v$(JSZIP_VERSION)) JSZIP_LICENSE = MIT or GPL-3.0 JSZIP_LICENSE_FILES = LICENSE.markdown JSZIP_CPE_ID_VENDOR = jszip_project -# 0001-fix-Use-a-null-prototype-object-for-this-files.patch -JSZIP_IGNORE_CVES += CVE-2021-23413 - define JSZIP_INSTALL_TARGET_CMDS $(INSTALL) -m 0644 -D $(@D)/dist/jszip.min.js \ $(TARGET_DIR)/var/www/jszip/js/jszip.min.js diff --git a/package/keepalived/0003-fix-build-with-libressl.patch b/package/keepalived/0003-fix-build-with-libressl.patch new file mode 100644 index 000000000..090d35511 --- /dev/null +++ b/package/keepalived/0003-fix-build-with-libressl.patch @@ -0,0 +1,50 @@ +From bbec15d4781670ac1be5e543cb04543f79200e69 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 12 Apr 2022 20:30:57 +0200 +Subject: [PATCH] fix build with libressl + +SSL_set0_rbio is provided by libressl since version 3.4.0 and +https://github.com/libressl-portable/openbsd/commit/c99939f9665a9c3c648682b4987df46600b70efc +but SSL_set0_wbio is not provided resulting in the following build +failure: + +/nvmedata/autobuild/instance-9/output-1/host/lib/gcc/s390x-buildroot-linux-gnu/10.3.0/../../../../s390x-buildroot-linux-gnu/bin/ld: check/libcheck.a(check_ssl.o): in function `ssl_connect': +check_ssl.c:(.text+0x7da): undefined reference to `SSL_set0_wbio' + +Fixes: + - http://autobuild.buildroot.org/results/76f72a3c7350ea265e2277c89d68e5256410e94c + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/acassen/keepalived/commit/bbec15d4781670ac1be5e543cb04543f79200e69] +--- + configure.ac | 2 +- + keepalived/check/check_ssl.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 5a2ea76ec..e8b5ccc41 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1327,7 +1327,7 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ + AC_CHECK_FUNCS([SSL_CTX_set_verify_depth]) + + # SSL_set0_rbio(), SSL_set0_wbio() OPENSSL_init_crypto() and TLS_method() introduced OpenSSL v1.1.0 +-AC_CHECK_FUNCS([SSL_set0_rbio OPENSSL_init_crypto TLS_method]) ++AC_CHECK_FUNCS([SSL_set0_wbio OPENSSL_init_crypto TLS_method]) + + # In OpenSSL v1.1.1 the call to SSL_CTX_new() fails if OPENSSL_init_crypto() has been called with + # OPENSSL_INIT_NO_LOAD_CONFIG. It does not fail in v1.1.0h and v1.1.1b. +diff --git a/keepalived/check/check_ssl.c b/keepalived/check/check_ssl.c +index 0155fce59..2cbedb8d3 100644 +--- a/keepalived/check/check_ssl.c ++++ b/keepalived/check/check_ssl.c +@@ -234,7 +234,7 @@ ssl_connect(thread_ref_t thread, int new_req) + BIO_get_fd(req->bio, &bio_fd); + if (fcntl(bio_fd, F_SETFD, fcntl(bio_fd, F_GETFD) | FD_CLOEXEC) == -1) + log_message(LOG_INFO, "Setting CLOEXEC failed on ssl socket - errno %d", errno); +-#ifdef HAVE_SSL_SET0_RBIO ++#ifdef HAVE_SSL_SET0_WBIO + BIO_up_ref(req->bio); + SSL_set0_rbio(req->ssl, req->bio); + SSL_set0_wbio(req->ssl, req->bio); diff --git a/package/kexec/kexec.mk b/package/kexec/kexec.mk index b3b4e5654..27ea94174 100644 --- a/package/kexec/kexec.mk +++ b/package/kexec/kexec.mk @@ -9,6 +9,8 @@ KEXEC_SOURCE = kexec-tools-$(KEXEC_VERSION).tar.xz KEXEC_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kexec KEXEC_LICENSE = GPL-2.0 KEXEC_LICENSE_FILES = COPYING +KEXEC_CPE_ID_PRODUCT = kexec-tools +KEXEC_CPE_ID_VENDOR = kexec-tools_project KEXEC_SELINUX_MODULES = kdump # Makefile expects $STRIP -o to work, so needed for !BR2_STRIP_strip diff --git a/package/keyutils/keyutils.mk b/package/keyutils/keyutils.mk index cba57cf19..5af5c4e92 100644 --- a/package/keyutils/keyutils.mk +++ b/package/keyutils/keyutils.mk @@ -8,6 +8,7 @@ KEYUTILS_VERSION = 1.6.3 KEYUTILS_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/snapshot KEYUTILS_LICENSE = GPL-2.0+, LGPL-2.1+ KEYUTILS_LICENSE_FILES = LICENCE.GPL LICENCE.LGPL +KEYUTILS_CPE_ID_VENDOR = keyutils_project KEYUTILS_INSTALL_STAGING = YES KEYUTILS_MAKE_PARAMS = \ diff --git a/package/kodi/Config.in b/package/kodi/Config.in index 6896e85e7..6c834de55 100644 --- a/package/kodi/Config.in +++ b/package/kodi/Config.in @@ -27,6 +27,9 @@ config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_GBM depends on BR2_PACKAGE_HAS_UDEV # libinput select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS +comment "kodi needs udev support for gbm" + depends on !BR2_PACKAGE_KODI_PLATFORM_SUPPORTS + config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND bool default y @@ -127,7 +130,7 @@ config BR2_PACKAGE_KODI_AVAHI config BR2_PACKAGE_KODI_BLUEZ bool "bluetooth" - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 # bluez5_utils + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # bluez5_utils hid plugin depends on BR2_TOOLCHAIN_HAS_SYNC_4 # bluez5_utils select BR2_PACKAGE_BLUEZ5_UTILS select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO @@ -135,9 +138,9 @@ config BR2_PACKAGE_KODI_BLUEZ help Enable bluetooth support -comment "bluetooth support needs a toolchain w/ headers >= 3.4" +comment "bluetooth support needs a toolchain w/ headers >= 3.18" depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 config BR2_PACKAGE_KODI_DBUS bool "dbus" @@ -247,7 +250,7 @@ config BR2_PACKAGE_KODI_LIBUSB config BR2_PACKAGE_KODI_LIBVDPAU bool "vdpau" - depends on BR2_PACKAGE_KODI_PLATFORM_X11 && \ + depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11 && \ BR2_PACKAGE_KODI_RENDER_SYSTEM_GL select BR2_PACKAGE_LIBVDPAU help diff --git a/package/kodi/kodi.mk b/package/kodi/kodi.mk index 58ad11547..be72c525c 100644 --- a/package/kodi/kodi.mk +++ b/package/kodi/kodi.mk @@ -133,7 +133,7 @@ else ifeq ($(BR2_powerpc)$(BR2_powerpc64le),y) KODI_CONF_OPTS += \ -DWITH_ARCH=powerpc$(if $(BR2_ARCH_IS_64),64) \ -DWITH_CPU=powerpc$(if $(BR2_ARCH_IS_64),64) -else ifeq ($(BR2_powerpc64)$(BR2_sparc64)$(BR2_sh4)$(BR2_xtensa),y) +else ifeq ($(BR2_or1k)$(BR2_powerpc64)$(BR2_riscv)$(BR2_sparc64)$(BR2_sh4)$(BR2_xtensa),y) KODI_CONF_OPTS += -DWITH_ARCH=$(BR2_ARCH) -DWITH_CPU=$(BR2_ARCH) else # Kodi auto-detects ARCH, tested: arm, aarch64, i386, x86_64 @@ -141,6 +141,14 @@ else KODI_CONF_OPTS += -DWITH_CPU=$(BR2_ARCH) endif +ifeq ($(BR2_ARM_CPU_HAS_NEON),y) +KODI_CONF_OPTS += -DENABLE_NEON=ON +else ifeq ($(BR2_aarch64),y) +KODI_CONF_OPTS += -DENABLE_NEON=ON +else +KODI_CONF_OPTS += -DENABLE_NEON=OFF +endif + ifeq ($(BR2_X86_CPU_HAS_SSE),y) KODI_CONF_OPTS += -D_SSE_OK=ON -D_SSE_TRUE=ON else diff --git a/package/kompexsqlite/0001-Makefile-use-autoconf-CXX-for-proper-builds.patch b/package/kompexsqlite/0001-Makefile-use-autoconf-CXX-for-proper-builds.patch deleted file mode 100644 index 408c100d7..000000000 --- a/package/kompexsqlite/0001-Makefile-use-autoconf-CXX-for-proper-builds.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 769693d9ddf63b04dd4aad6cad080f3cee3f997e Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Thu, 11 Jun 2015 14:08:38 -0300 -Subject: [PATCH] Makefile: use autoconf CXX for proper builds - -Status: applied upstream. - -Signed-off-by: Gustavo Zacarias ---- - Makefile.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Makefile.in b/Makefile.in -index 91fb8b2..fe862cd 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -23,6 +23,7 @@ mandir = $(prefix)/share/man/man3 - headerdir = $(prefix)/include/kompex - - CC = @CC@ -+CXX = @CXX@ - CFLAGS = @CFLAGS@ - CPPFLAGS = $(CFLAGS) @CPPFLAGS@ - LDFLAGS = @LDFLAGS@ --- -2.3.6 - diff --git a/package/kompexsqlite/0002-append-to-cflags-and-cxxflags.patch b/package/kompexsqlite/0002-append-to-cflags-and-cxxflags.patch deleted file mode 100644 index abd0dc0fd..000000000 --- a/package/kompexsqlite/0002-append-to-cflags-and-cxxflags.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 3eb064ffa9b43fb5f245b8abda48a1c152a6f2d7 Mon Sep 17 00:00:00 2001 -From: me -Date: Thu, 20 Nov 2014 14:37:34 -0700 -Subject: [PATCH] Append to CFLAGS and CXXFLAGS as setup by ./configure. This - can allow users to Customize the SQLite build process with compile time - #defines rather than altering the sources. - -Signed-off-by: Max Filippov ---- -Backported from: 3eb064ffa9b43fb5f245b8abda48a1c152a6f2d7 - - Makefile-shared.mk | 4 ++-- - Makefile-static.mk | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/Makefile-shared.mk b/Makefile-shared.mk -index b2a4920..d15ce3c 100644 ---- a/Makefile-shared.mk -+++ b/Makefile-shared.mk -@@ -12,10 +12,10 @@ OBJS= \ - ${objsdir}/sqlite3.o - - # C Compiler Flags --CFLAGS= -fPIC -MMD -MP -+CFLAGS+= -fPIC -MMD -MP - - # CC Compiler Flags --CPPFLAGS= -DKOMPEX_SQLITEWRAPPER_EXPORT -DKOMPEX_SQLITEWRAPPER_DYN -fPIC -MMD -MP -I${includedir} -+CPPFLAGS+= -DKOMPEX_SQLITEWRAPPER_EXPORT -DKOMPEX_SQLITEWRAPPER_DYN -fPIC -MMD -MP -I${includedir} - - # Link Libraries and Options - LDLIBSOPTIONS= -shared -fPIC -diff --git a/Makefile-static.mk b/Makefile-static.mk -index 429a4ff..0678681 100644 ---- a/Makefile-static.mk -+++ b/Makefile-static.mk -@@ -12,10 +12,10 @@ OBJS= \ - ${objsdir}/sqlite3.o - - # C Compiler Flags --CFLAGS= -MMD -MP -+CFLAGS+= -MMD -MP - - # CC Compiler Flags --CPPFLAGS= -I${includedir} -MMD -MP -+CPPFLAGS+= -I${includedir} -MMD -MP - - # Link Libraries and Options - LDLIBSOPTIONS= diff --git a/package/kompexsqlite/kompexsqlite.hash b/package/kompexsqlite/kompexsqlite.hash index 8869e9b7d..aa0f26957 100644 --- a/package/kompexsqlite/kompexsqlite.hash +++ b/package/kompexsqlite/kompexsqlite.hash @@ -1,3 +1,4 @@ # Locally calculated -sha256 73bec94fe5dd3a24bd8668b3a131a84dbe39a992579eebab1236aa0e73b2c9cc kompexsqlite-1.10.12-1.tar.gz -sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.txt +sha256 81773ddb156fed51ef43a5f562e3b47761c4c33de9197bf0c3e7099b08579e2a download.php?dl=KompexSQLiteWrapper-Source_1.12.15.tar.gz +sha256 65fd20aeb67892740a710a09d788acfda8747741e746395739412919f84b5f9f inc/KompexSQLiteDatabase.h +sha256 001f26c0b2ca407a9a5d3f5e0690d7e576687b23110e18d2a08014dd774eb71c inc/sqlite3.h diff --git a/package/kompexsqlite/kompexsqlite.mk b/package/kompexsqlite/kompexsqlite.mk index a40088fa2..6a619de0e 100644 --- a/package/kompexsqlite/kompexsqlite.mk +++ b/package/kompexsqlite/kompexsqlite.mk @@ -4,11 +4,44 @@ # ################################################################################ -KOMPEXSQLITE_VERSION = 1.10.12-1 -KOMPEXSQLITE_SITE = \ - $(call github,Aethelflaed,kompex-sqlite-wrapper,v$(KOMPEXSQLITE_VERSION)) +KOMPEXSQLITE_VERSION = 1.12.15 +KOMPEXSQLITE_SOURCE = download.php?dl=KompexSQLiteWrapper-Source_$(KOMPEXSQLITE_VERSION).tar.gz +KOMPEXSQLITE_SITE = http://sqlitewrapper.kompex-online.com/counter KOMPEXSQLITE_INSTALL_STAGING = YES -KOMPEXSQLITE_LICENSE = LGPL-3.0+ (wrapper), Public Domain (bundled sqlite) -KOMPEXSQLITE_LICENSE_FILES = LICENSE.txt +KOMPEXSQLITE_LICENSE = MIT (wrapper), Public Domain (bundled sqlite) +KOMPEXSQLITE_LICENSE_FILES = inc/KompexSQLiteDatabase.h inc/sqlite3.h -$(eval $(autotools-package)) +ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y) +KOMPEXSQLITE_CONFS += ReleaseStaticLib +define KOMPEXSQLITE_INSTALL_STATIC_LIB + $(INSTALL) -D -m 0644 $(@D)/lib/release/KompexSQLiteWrapper_Static.a \ + $(STAGING_DIR)/usr/lib/libkompex-sqlite-wrapper.a +endef +endif + +ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y) +KOMPEXSQLITE_CONFS += ReleaseDynamicLib +define KOMPEXSQLITE_INSTALL_SHARED_LIB + $(INSTALL) -D -m 0755 $(@D)/lib/release/KompexSQLiteWrapper.so \ + $(1)/usr/lib/libkompex-sqlite-wrapper.so +endef +endif + +define KOMPEXSQLITE_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + ALLCONFS="$(KOMPEXSQLITE_CONFS)" \ + -C "$(@D)/Kompex SQLite Wrapper" all +endef + +define KOMPEXSQLITE_INSTALL_STAGING_CMDS + mkdir -p $(STAGING_DIR)/usr/include/kompex + $(INSTALL) -m 644 $(@D)/inc/* $(STAGING_DIR)/usr/include/kompex + $(KOMPEXSQLITE_INSTALL_STATIC_LIB) + $(call KOMPEXSQLITE_INSTALL_SHARED_LIB,$(STAGING_DIR)) +endef + +define KOMPEXSQLITE_INSTALL_TARGET_CMDS + $(call KOMPEXSQLITE_INSTALL_SHARED_LIB,$(TARGET_DIR)) +endef + +$(eval $(generic-package)) diff --git a/package/ktap/ktap.hash b/package/ktap/ktap.hash index 1eff71250..557a314a8 100644 --- a/package/ktap/ktap.hash +++ b/package/ktap/ktap.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 44a0808d57175cf9d15466f720e1e10d5ed1abc3497aedf9ddd6469545552345 ktap-23bc7a4a94bd9e4e1b8b7c06632e61c041d57b5f.tar.gz -sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 LICENSE-GPL +sha256 44a0808d57175cf9d15466f720e1e10d5ed1abc3497aedf9ddd6469545552345 ktap-23bc7a4a94bd9e4e1b8b7c06632e61c041d57b5f.tar.gz +sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 LICENSE-GPL diff --git a/package/kvazaar/kvazaar.hash b/package/kvazaar/kvazaar.hash index fe3255a6c..f0106c726 100644 --- a/package/kvazaar/kvazaar.hash +++ b/package/kvazaar/kvazaar.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 480ecfd9b4d2b7d21b355e4a35fcf47b4db7a3b0315b6219d93733db42392bd9 kvazaar-1.2.0.tar.gz -sha256 531712277c3543b9ee86c4c4e0e424f531b893a44cc021c74a24b038d8de4d2a COPYING +sha256 480ecfd9b4d2b7d21b355e4a35fcf47b4db7a3b0315b6219d93733db42392bd9 kvazaar-1.2.0.tar.gz +sha256 531712277c3543b9ee86c4c4e0e424f531b893a44cc021c74a24b038d8de4d2a COPYING diff --git a/package/kvm-unit-tests/Config.in b/package/kvm-unit-tests/Config.in index e470dd615..4a51bd2c1 100644 --- a/package/kvm-unit-tests/Config.in +++ b/package/kvm-unit-tests/Config.in @@ -15,7 +15,7 @@ config BR2_PACKAGE_KVM_UNIT_TESTS # x86-64 we use the host gcc (see .mk file for details) depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 || !BR2_i386 depends on BR2_HOSTARCH = "x86_64" || !BR2_x86_64 - select BR2_HOSTARCH_NEEDS_IA32_COMPILER if BR2_x86_64=y + select BR2_HOSTARCH_NEEDS_IA32_COMPILER if BR2_x86_64 help kvm-unit-tests is a project as old as KVM. As its name suggests, it's purpose is to provide unit tests for KVM. The diff --git a/package/kvm-unit-tests/kvm-unit-tests.mk b/package/kvm-unit-tests/kvm-unit-tests.mk index a972602fb..97511c4f0 100644 --- a/package/kvm-unit-tests/kvm-unit-tests.mk +++ b/package/kvm-unit-tests/kvm-unit-tests.mk @@ -7,7 +7,7 @@ KVM_UNIT_TESTS_VERSION = kvm-unit-tests-20171020 KVM_UNIT_TESTS_SITE = https://git.kernel.org/pub/scm/virt/kvm/kvm-unit-tests.git KVM_UNIT_TESTS_SITE_METHOD = git -KVM_UNIT_TESTS_LICENSE = LGPL-2.0 +KVM_UNIT_TESTS_LICENSE = GPL-2.0, LGPL-2.0 KVM_UNIT_TESTS_LICENSE_FILES = COPYRIGHT ifeq ($(BR2_arm),y) diff --git a/package/kyua/kyua.hash b/package/kyua/kyua.hash index 66681692f..4b0e5589d 100644 --- a/package/kyua/kyua.hash +++ b/package/kyua/kyua.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 db6e5d341d5cf7e49e50aa361243e19087a00ba33742b0855d2685c0b8e721d6 kyua-0.13.tar.gz -sha256 a6a8f43f6d2ed9b801978cc012cc816c4a9421a6dcea0579d3a40eab4b349674 LICENSE +sha256 db6e5d341d5cf7e49e50aa361243e19087a00ba33742b0855d2685c0b8e721d6 kyua-0.13.tar.gz +sha256 a6a8f43f6d2ed9b801978cc012cc816c4a9421a6dcea0579d3a40eab4b349674 LICENSE diff --git a/package/lbreakout2/lbreakout2.hash b/package/lbreakout2/lbreakout2.hash index 56d0a9501..440ffed3d 100644 --- a/package/lbreakout2/lbreakout2.hash +++ b/package/lbreakout2/lbreakout2.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/lgames/files/lbreakout2/2.6/ -md5 1a9238b83f9f13f09b7a4d53e00b4e84 lbreakout2-2.6.5.tar.gz -sha1 d92326499165fd368be04378d633e13d42b4d2d7 lbreakout2-2.6.5.tar.gz +md5 1a9238b83f9f13f09b7a4d53e00b4e84 lbreakout2-2.6.5.tar.gz +sha1 d92326499165fd368be04378d633e13d42b4d2d7 lbreakout2-2.6.5.tar.gz # Locally computed: sha256 9104d6175553da3442dc6a5fc407a669e2f5aff3eedc5d30409eb003b7a78d6f lbreakout2-2.6.5.tar.gz sha256 67f82e045cf7acfef853ea0f426575a8359161a0a325e19f02b529a87c4b6c34 COPYING diff --git a/package/lcdproc/Config.in b/package/lcdproc/Config.in index 042abd69d..e5ff432d4 100644 --- a/package/lcdproc/Config.in +++ b/package/lcdproc/Config.in @@ -1,4 +1,4 @@ -comment "lcdproc needs a toolchain w/ dynamic library" +comment "lcdproc needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS config BR2_PACKAGE_LCDPROC diff --git a/package/lcms2/lcms2.hash b/package/lcms2/lcms2.hash index d3ae1d934..d20cf601f 100644 --- a/package/lcms2/lcms2.hash +++ b/package/lcms2/lcms2.hash @@ -1,5 +1,5 @@ # From https://sourceforge.net/projects/lcms/files/lcms/2.13 -sha1 1676097fb18fce83c9c876d56828c83a6ad829dd lcms2-2.13.tar.gz +sha1 72d0a0b7fbaeca12eb0186ab5728eb0f26806b22 lcms2-2.13.1.tar.gz # Locally computed: -sha256 0c67a5cc144029cfa34647a52809ec399aae488db4258a6a66fba318474a070f lcms2-2.13.tar.gz +sha256 d473e796e7b27c5af01bd6d1552d42b45b43457e7182ce9903f38bb748203b88 lcms2-2.13.1.tar.gz sha256 46d4e05af3bce75332a12d01f19bcce7e32b6bac544be28a64043d0231291e31 COPYING diff --git a/package/lcms2/lcms2.mk b/package/lcms2/lcms2.mk index 5a253d044..63750c43f 100644 --- a/package/lcms2/lcms2.mk +++ b/package/lcms2/lcms2.mk @@ -4,8 +4,9 @@ # ################################################################################ -LCMS2_VERSION = 2.13 -LCMS2_SITE = http://downloads.sourceforge.net/project/lcms/lcms/$(LCMS2_VERSION) +LCMS2_VERSION_MAJOR = 2.13 +LCMS2_VERSION = $(LCMS2_VERSION_MAJOR).1 +LCMS2_SITE = http://downloads.sourceforge.net/project/lcms/lcms/$(LCMS2_VERSION_MAJOR) LCMS2_LICENSE = MIT LCMS2_LICENSE_FILES = COPYING LCMS2_CPE_ID_VENDOR = littlecms diff --git a/package/leafnode2/leafnode2.mk b/package/leafnode2/leafnode2.mk index a02aad430..e82ca2e1e 100644 --- a/package/leafnode2/leafnode2.mk +++ b/package/leafnode2/leafnode2.mk @@ -23,7 +23,7 @@ LEAFNODE2_CONF_OPTS = \ --enable-runas-user=root # Leafnode2 needs the host version of b_sortnl during -# compilation. Instead of creating a seperate host package and +# compilation. Instead of creating a separate host package and # installing b_sortnl to $(HOST_DIR) this binary is compiled # on-the-fly, host-pcre is needed for this define LEAFNODE2_BUILD_SORTNL_TOOL diff --git a/package/lensfun/lensfun.hash b/package/lensfun/lensfun.hash index 1a27373f2..cb56f32b5 100644 --- a/package/lensfun/lensfun.hash +++ b/package/lensfun/lensfun.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/lensfun/files/0.3.2 -sha1 1d978b15aa7304d66a4931fa37ca9f8f89396c16 lensfun-0.3.2.tar.gz -md5 247e59a0812ec451f6cd0d20b3379cb5 lensfun-0.3.2.tar.gz +sha1 1d978b15aa7304d66a4931fa37ca9f8f89396c16 lensfun-0.3.2.tar.gz +md5 247e59a0812ec451f6cd0d20b3379cb5 lensfun-0.3.2.tar.gz # Locally calculated sha256 ae8bcad46614ca47f5bda65b00af4a257a9564a61725df9c74cb260da544d331 lensfun-0.3.2.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 docs/gpl-3.0.txt diff --git a/package/less/0001-End-OSC8-hyperlink-on-invalid-embedded-escape-sequence.patch b/package/less/0001-End-OSC8-hyperlink-on-invalid-embedded-escape-sequence.patch new file mode 100644 index 000000000..233f949e2 --- /dev/null +++ b/package/less/0001-End-OSC8-hyperlink-on-invalid-embedded-escape-sequence.patch @@ -0,0 +1,27 @@ +From a78e1351113cef564d790a730d657a321624d79c Mon Sep 17 00:00:00 2001 +From: Mark Nudelman +Date: Fri, 7 Oct 2022 19:25:46 -0700 +Subject: [PATCH] End OSC8 hyperlink on invalid embedded escape sequence. + +[Retrieved from: +https://github.com/gwsw/less/commit/a78e1351113cef564d790a730d657a321624d79c] +Signed-off-by: Fabrice Fontaine +--- + line.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/line.c b/line.c +index 236c49ae..cba7bdd1 100644 +--- a/line.c ++++ b/line.c +@@ -633,8 +633,8 @@ ansi_step(pansi, ch) + /* Hyperlink ends with \7 or ESC-backslash. */ + if (ch == '\7') + return ANSI_END; +- if (pansi->prev_esc && ch == '\\') +- return ANSI_END; ++ if (pansi->prev_esc) ++ return (ch == '\\') ? ANSI_END : ANSI_ERR; + pansi->prev_esc = (ch == ESC); + return ANSI_MID; + } diff --git a/package/less/less.mk b/package/less/less.mk index 7d7a6d5fe..f01f94d6c 100644 --- a/package/less/less.mk +++ b/package/less/less.mk @@ -11,6 +11,9 @@ LESS_LICENSE_FILES = COPYING LESS_CPE_ID_VENDOR = gnu LESS_DEPENDENCIES = ncurses +# 0001-End-OSC8-hyperlink-on-invalid-embedded-escape-sequence.patch +LESS_IGNORE_CVES += CVE-2022-46663 + define LESS_INSTALL_TARGET_CMDS $(INSTALL) -m 0755 $(@D)/less $(TARGET_DIR)/usr/bin/less endef diff --git a/package/lftp/0002-src-lftp_ssl.c-fix-build-with-libressl-2.7.0.patch b/package/lftp/0002-src-lftp_ssl.c-fix-build-with-libressl-2.7.0.patch new file mode 100644 index 000000000..4251a5e17 --- /dev/null +++ b/package/lftp/0002-src-lftp_ssl.c-fix-build-with-libressl-2.7.0.patch @@ -0,0 +1,36 @@ +From 3ffa0132987bdde986c82c924bc51b13b37f8b54 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 6 Apr 2022 22:56:21 +0200 +Subject: [PATCH] src/lftp_ssl.c: fix build with libressl >= 2.7.0 + +X509_OBJECT_get0_X509_CRL is provided by libressl since version 2.7.0 +and +https://github.com/libressl-portable/openbsd/commit/9866ae34c0af718973475296bd9ef036d3aaa94e +resulting in the following build failure: + +/nvmedata/autobuild/instance-21/output-1/host/opt/ext-toolchain/bin/../lib/gcc/microblaze-buildroot-linux-musl/11.2.0/../../../../microblaze-buildroot-linux-musl/bin/ld: /nvmedata/autobuild/instance-21/output-1/host/microblaze-buildroot-linux-musl/sysroot/usr/lib/libcrypto.a(x509_lu.c.o): in function `X509_OBJECT_get0_X509_CRL': +(.text+0xc3c): multiple definition of `X509_OBJECT_get0_X509_CRL'; /nvmedata/autobuild/instance-21/output-1/build/lftp-4.9.2/src/.libs/liblftp-network.a(liblftp_network_la-lftp_ssl.o):(.text+0x894): first defined here + +Fixes: + - http://autobuild.buildroot.org/results/7fd1dfd5bc750ae5a3278ca950c838ae90704b23 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/lavv17/lftp/commit/3ffa0132987bdde986c82c924bc51b13b37f8b54] +--- + src/lftp_ssl.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/lftp_ssl.cc b/src/lftp_ssl.cc +index 26e91e4b..a814543d 100644 +--- a/src/lftp_ssl.cc ++++ b/src/lftp_ssl.cc +@@ -664,7 +664,7 @@ int gnutls_x509_crt_list_import(gnutls_x509_crt_t *certs, unsigned int* cert_max + #elif USE_OPENSSL + //static int lftp_ssl_passwd_callback(char *buf,int size,int rwflag,void *userdata); + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L || LIBRESSL_VERSION_NUMBER ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined (LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000L) + // for compatibility with older versions + X509_OBJECT *X509_OBJECT_new() + { diff --git a/package/libabseil-cpp/0002-fix-build-with-uclibc-ng.patch b/package/libabseil-cpp/0002-fix-build-with-uclibc-ng.patch new file mode 100644 index 000000000..0797d8e51 --- /dev/null +++ b/package/libabseil-cpp/0002-fix-build-with-uclibc-ng.patch @@ -0,0 +1,62 @@ +From b9ad9bbfed92199a1a58504306d026cd2597539e Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 30 Mar 2022 21:56:20 +0200 +Subject: [PATCH] Fix build with uclibc-ng (#1145) + +uclibc-ng doesn't provide getauxval which results in the following build +failure on arm or ppc with any user of abseil-cpp such as grpc: + +/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/10.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/buildroot/autobuild/instance-0/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libabsl_random_internal_randen_hwaes.so.2111.0.0: undefined reference to `getauxval' + +To fix this build failure, check that __UCLIBC__ is not defined before +using getauxval (as Babel is not able to check function availability) + +Fixes: + - http://autobuild.buildroot.org/results/775f3ca3dedebff29e212b29dfa896b7613b7a02 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/abseil/abseil-cpp/commit/b9ad9bbfed92199a1a58504306d026cd2597539e] +--- + absl/debugging/internal/vdso_support.cc | 2 +- + absl/random/internal/randen_detect.cc | 7 ++++++- + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/absl/debugging/internal/vdso_support.cc b/absl/debugging/internal/vdso_support.cc +index c655cf452..e63ac4a3b 100644 +--- a/absl/debugging/internal/vdso_support.cc ++++ b/absl/debugging/internal/vdso_support.cc +@@ -33,7 +33,7 @@ + #endif + #include + +-#if defined(__GLIBC__) && \ ++#if !defined(__UCLIBC__) && defined(__GLIBC__) && \ + (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) + #define ABSL_HAVE_GETAUXVAL + #endif +diff --git a/absl/random/internal/randen_detect.cc b/absl/random/internal/randen_detect.cc +index 9bb58fc68..6dababa35 100644 +--- a/absl/random/internal/randen_detect.cc ++++ b/absl/random/internal/randen_detect.cc +@@ -24,6 +24,11 @@ + + #include "absl/random/internal/platform.h" + ++#if !defined(__UCLIBC__) && defined(__GLIBC__) && \ ++ (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16)) ++#define ABSL_HAVE_GETAUXVAL ++#endif ++ + #if defined(ABSL_ARCH_X86_64) + #define ABSL_INTERNAL_USE_X86_CPUID + #elif defined(ABSL_ARCH_PPC) || defined(ABSL_ARCH_ARM) || \ +@@ -31,7 +36,7 @@ + #if defined(__ANDROID__) + #define ABSL_INTERNAL_USE_ANDROID_GETAUXVAL + #define ABSL_INTERNAL_USE_GETAUXVAL +-#elif defined(__linux__) ++#elif defined(__linux__) && defined(ABSL_HAVE_GETAUXVAL) + #define ABSL_INTERNAL_USE_LINUX_GETAUXVAL + #define ABSL_INTERNAL_USE_GETAUXVAL + #endif diff --git a/package/libabseil-cpp/0003-PR-1197-absl-base-internal-direct_mmap-h-fix-musl-build-on-mips.patch b/package/libabseil-cpp/0003-PR-1197-absl-base-internal-direct_mmap-h-fix-musl-build-on-mips.patch new file mode 100644 index 000000000..0f7723684 --- /dev/null +++ b/package/libabseil-cpp/0003-PR-1197-absl-base-internal-direct_mmap-h-fix-musl-build-on-mips.patch @@ -0,0 +1,55 @@ +From 53a90f079af7ab491530d432bb318a95371ba877 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 16 Jun 2022 14:28:53 -0700 +Subject: [PATCH] PR #1197: absl/base/internal/direct_mmap.h: fix musl build on + mips + +Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1197 + +Fix the following musl build failure on mips: + +``` +In file included from /nvmedata/autobuild/instance-15/output-1/build/libabseil-cpp-20211102.0/absl/base/internal/low_level_alloc.cc:26: +/nvmedata/autobuild/instance-15/output-1/build/libabseil-cpp-20211102.0/absl/base/internal/direct_mmap.h:49:10: fatal error: sgidefs.h: No such file or directory + 49 | #include + | ^~~~~~~~~~~ +``` + +Fixes: + - http://autobuild.buildroot.org/results/3fa027e602bacb22316fb5d9b233baa0b0f0e845 + +Signed-off-by: Fabrice Fontaine +Merge c9b5b5c5471213a871f7d6d1d2fc8f6899effbac into a184bab83ffcffc2aaac49a3900361158ab3890f + +Merging this change closes #1197 + +COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1197 from ffontaine:master c9b5b5c5471213a871f7d6d1d2fc8f6899effbac +PiperOrigin-RevId: 455467767 +Change-Id: I1905f7d70e914288bc1524a52adce3476a779fd8 + +[Retrieved from: +https://github.com/abseil/abseil-cpp/commit/53a90f079af7ab491530d432bb318a95371ba877] +--- + absl/base/internal/direct_mmap.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/absl/base/internal/direct_mmap.h b/absl/base/internal/direct_mmap.h +index a01d61220..e492bb004 100644 +--- a/absl/base/internal/direct_mmap.h ++++ b/absl/base/internal/direct_mmap.h +@@ -41,13 +41,13 @@ + + #ifdef __mips__ + // Include definitions of the ABI currently in use. +-#ifdef __BIONIC__ ++#if defined(__BIONIC__) || !defined(__GLIBC__) + // Android doesn't have sgidefs.h, but does have asm/sgidefs.h, which has the + // definitions we need. + #include + #else + #include +-#endif // __BIONIC__ ++#endif // __BIONIC__ || !__GLIBC__ + #endif // __mips__ + + // SYS_mmap and SYS_munmap are not defined in Android. diff --git a/package/libabseil-cpp/Config.in b/package/libabseil-cpp/Config.in index 222e3a092..45f339ff2 100644 --- a/package/libabseil-cpp/Config.in +++ b/package/libabseil-cpp/Config.in @@ -5,9 +5,13 @@ config BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS default y if BR2_aarch64 || BR2_aarch64_be default y if BR2_arm || BR2_armeb default y if BR2_i386 + default y if BR2_m68k default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le default y if BR2_riscv + default y if BR2_s390x + default y if BR2_sh + default y if BR2_sparc || BR2_sparc64 default y if BR2_x86_64 depends on BR2_TOOLCHAIN_HAS_UCONTEXT diff --git a/package/libabseil-cpp/libabseil-cpp.mk b/package/libabseil-cpp/libabseil-cpp.mk index 738cd03c3..7c6bda765 100644 --- a/package/libabseil-cpp/libabseil-cpp.mk +++ b/package/libabseil-cpp/libabseil-cpp.mk @@ -13,14 +13,12 @@ LIBABSEIL_CPP_INSTALL_STAGING = YES LIBABSEIL_CPP_CONF_OPTS = \ -DCMAKE_CXX_STANDARD=11 \ -DABSL_ENABLE_INSTALL=ON \ - -DABSL_USE_GOOGLETEST_HEAD=OFF \ - -DABSL_RUN_TESTS=OFF + -DABSL_USE_GOOGLETEST_HEAD=OFF HOST_LIBABSEIL_CPP_CONF_OPTS = \ -DCMAKE_CXX_STANDARD=11 \ -DABSL_ENABLE_INSTALL=ON \ - -DABSL_USE_GOOGLETEST_HEAD=OFF \ - -DABSL_RUN_TESTS=OFF + -DABSL_USE_GOOGLETEST_HEAD=OFF $(eval $(cmake-package)) $(eval $(host-cmake-package)) diff --git a/package/libaio/libaio.hash b/package/libaio/libaio.hash index ac815a73b..99812668c 100644 --- a/package/libaio/libaio.hash +++ b/package/libaio/libaio.hash @@ -1,5 +1,5 @@ # From https://releases.pagure.org/libaio/CHECKSUMS -sha256 ab0462f2c9d546683e5147b1ce9c195fe95d07fac5bf362f6c01637955c3b492 libaio-0.3.112.tar.gz +sha256 ab0462f2c9d546683e5147b1ce9c195fe95d07fac5bf362f6c01637955c3b492 libaio-0.3.112.tar.gz # Hash for license file: sha256 5bbcbb737e60fe9deba08ecbd00920cfcc3403ba2e534c64fdeea49d6bb87509 COPYING diff --git a/package/libao/libao.hash b/package/libao/libao.hash index dced3ddde..91c6bd11a 100644 --- a/package/libao/libao.hash +++ b/package/libao/libao.hash @@ -1,5 +1,5 @@ # From http://downloads.xiph.org/releases/ao/SHA256SUMS.txt -sha256 03ad231ad1f9d64b52474392d63c31197b0bc7bd416e58b1c10a329a5ed89caf libao-1.2.0.tar.gz +sha256 03ad231ad1f9d64b52474392d63c31197b0bc7bd416e58b1c10a329a5ed89caf libao-1.2.0.tar.gz # Hash for license file: -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/libarchive/0001-libarchive-Handle-a-calloc-returning-NULL.patch b/package/libarchive/0001-libarchive-Handle-a-calloc-returning-NULL.patch new file mode 100644 index 000000000..75ce6112f --- /dev/null +++ b/package/libarchive/0001-libarchive-Handle-a-calloc-returning-NULL.patch @@ -0,0 +1,38 @@ +From bff38efe8c110469c5080d387bec62a6ca15b1a5 Mon Sep 17 00:00:00 2001 +From: obiwac +Date: Fri, 22 Jul 2022 22:41:10 +0200 +Subject: [PATCH] libarchive: Handle a `calloc` returning NULL (fixes #1754) + +[Retrieved from: +https://github.com/libarchive/libarchive/commit/bff38efe8c110469c5080d387bec62a6ca15b1a5] +Signed-off-by: Fabrice Fontaine +--- + libarchive/archive_write.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/libarchive/archive_write.c b/libarchive/archive_write.c +index 66592e826..27626b541 100644 +--- a/libarchive/archive_write.c ++++ b/libarchive/archive_write.c +@@ -201,6 +201,10 @@ __archive_write_allocate_filter(struct archive *_a) + struct archive_write_filter *f; + + f = calloc(1, sizeof(*f)); ++ ++ if (f == NULL) ++ return (NULL); ++ + f->archive = _a; + f->state = ARCHIVE_WRITE_FILTER_STATE_NEW; + if (a->filter_first == NULL) +@@ -548,6 +552,10 @@ archive_write_open2(struct archive *_a, void *client_data, + a->client_data = client_data; + + client_filter = __archive_write_allocate_filter(_a); ++ ++ if (client_filter == NULL) ++ return (ARCHIVE_FATAL); ++ + client_filter->open = archive_write_client_open; + client_filter->write = archive_write_client_write; + client_filter->close = archive_write_client_close; diff --git a/package/libarchive/libarchive.hash b/package/libarchive/libarchive.hash index 5dd8e5c16..ca580b497 100644 --- a/package/libarchive/libarchive.hash +++ b/package/libarchive/libarchive.hash @@ -1,4 +1,4 @@ # From https://www.libarchive.de/downloads/sha256sums -sha256 5cac725dd4be31c4a10b65d30f29dc957ea29ef3d758df6e46e8ae90a996a19a libarchive-3.5.3.tar.xz +sha256 5a411aceb978f43e626f0c2d1812ddd8807b645ed892453acabd532376c148e6 libarchive-3.6.1.tar.xz # Locally computed: sha256 b2cdf763345de2de34cebf54394df3c61a105c3b71288603c251f2fa638200ba COPYING diff --git a/package/libarchive/libarchive.mk b/package/libarchive/libarchive.mk index cf16c27e6..649b7dd4d 100644 --- a/package/libarchive/libarchive.mk +++ b/package/libarchive/libarchive.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBARCHIVE_VERSION = 3.5.3 +LIBARCHIVE_VERSION = 3.6.1 LIBARCHIVE_SOURCE = libarchive-$(LIBARCHIVE_VERSION).tar.xz LIBARCHIVE_SITE = https://www.libarchive.de/downloads LIBARCHIVE_INSTALL_STAGING = YES @@ -12,6 +12,9 @@ LIBARCHIVE_LICENSE = BSD-2-Clause, BSD-3-Clause, CC0-1.0, OpenSSL, Apache-2.0 LIBARCHIVE_LICENSE_FILES = COPYING LIBARCHIVE_CPE_ID_VENDOR = libarchive +# 0001-libarchive-Handle-a-calloc-returning-NULL.patch +LIBARCHIVE_IGNORE_CVES += CVE-2022-36227 + ifeq ($(BR2_PACKAGE_LIBARCHIVE_BSDTAR),y) ifeq ($(BR2_STATIC_LIBS),y) LIBARCHIVE_CONF_OPTS += --enable-bsdtar=static diff --git a/package/libart/libart.hash b/package/libart/libart.hash index 105277b1f..2cfbe7397 100644 --- a/package/libart/libart.hash +++ b/package/libart/libart.hash @@ -1,5 +1,5 @@ # From http://ftp.gnome.org/pub/gnome/sources/libart_lgpl/2.3/libart_lgpl-2.3.21.sha256sum -sha256 2a10b1c884bb37c7bd5c5eba59dbd0d28bf68e64a42d7f2083c836f60f8e98fa libart_lgpl-2.3.21.tar.gz +sha256 2a10b1c884bb37c7bd5c5eba59dbd0d28bf68e64a42d7f2083c836f60f8e98fa libart_lgpl-2.3.21.tar.gz # Hash for license file: -sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING +sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/package/libasplib/libasplib.hash b/package/libasplib/libasplib.hash index db8e92033..251a50ee4 100644 --- a/package/libasplib/libasplib.hash +++ b/package/libasplib/libasplib.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 68e117348fa17592dde7672477e927119a0e477103ced1d3a57d92e30880a147 libasplib-be7fac89218a84b75f7598e3d76625ece99296f2.tar.gz -sha256 12ac5047f2af0522f06798b1589ffc4599bc29c91f954d7874e0320634e777c0 LICENSE +sha256 68e117348fa17592dde7672477e927119a0e477103ced1d3a57d92e30880a147 libasplib-be7fac89218a84b75f7598e3d76625ece99296f2.tar.gz +sha256 12ac5047f2af0522f06798b1589ffc4599bc29c91f954d7874e0320634e777c0 LICENSE diff --git a/package/libatasmart/libatasmart.hash b/package/libatasmart/libatasmart.hash index b661332a7..edf090415 100644 --- a/package/libatasmart/libatasmart.hash +++ b/package/libatasmart/libatasmart.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 61f0ea345f63d28ab2ff0dc352c22271661b66bf09642db3a4049ac9dbdb0f8d libatasmart-0.19.tar.xz -sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LGPL +sha256 61f0ea345f63d28ab2ff0dc352c22271661b66bf09642db3a4049ac9dbdb0f8d libatasmart-0.19.tar.xz +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LGPL diff --git a/package/libavl/libavl.hash b/package/libavl/libavl.hash index 4d70f0cca..eb62ae5a7 100644 --- a/package/libavl/libavl.hash +++ b/package/libavl/libavl.hash @@ -1,5 +1,5 @@ # From http://snapshot.debian.org/archive/debian/20160621T164030Z/pool/main/liba/libavl/libavl_0.3.5-4.dsc -sha256 4497b9e22cdd61ae2fa893b9d5fd6213dc306726d7c4be08c29e173622dca8a0 libavl_0.3.5.orig.tar.gz +sha256 4497b9e22cdd61ae2fa893b9d5fd6213dc306726d7c4be08c29e173622dca8a0 libavl_0.3.5.orig.tar.gz # Locally computed -sha256 767a9accfe3b110153b567983b98889469dfaae02899a632aeadbb81ad611293 COPYING +sha256 767a9accfe3b110153b567983b98889469dfaae02899a632aeadbb81ad611293 COPYING diff --git a/package/libbacktrace/libbacktrace.hash b/package/libbacktrace/libbacktrace.hash index ecd530a33..bb5e00ee4 100644 --- a/package/libbacktrace/libbacktrace.hash +++ b/package/libbacktrace/libbacktrace.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 13072c499c76866c188beaf3d50f3dddbf2c27ed9fd72b33d1b857acd33b1cb5 libbacktrace-9b7f216e867916594d81e8b6118f092ac3fcf704.tar.gz -sha256 ef8a9b3247488f8901ca60de9b17b745d7bd67e5ec1e622f80d62364572200d8 LICENSE +sha256 13072c499c76866c188beaf3d50f3dddbf2c27ed9fd72b33d1b857acd33b1cb5 libbacktrace-9b7f216e867916594d81e8b6118f092ac3fcf704.tar.gz +sha256 ef8a9b3247488f8901ca60de9b17b745d7bd67e5ec1e622f80d62364572200d8 LICENSE diff --git a/package/libbdplus/libbdplus.hash b/package/libbdplus/libbdplus.hash index 6abc0e497..814c0a8ad 100644 --- a/package/libbdplus/libbdplus.hash +++ b/package/libbdplus/libbdplus.hash @@ -1,5 +1,5 @@ # From http://download.videolan.org/pub/videolan/libbdplus/0.1.2/libbdplus-0.1.2.tar.bz2.sha512 -sha512 e00e7bc9f52b9275646593b753ba646b052255be94a7241965f4dbe4734f8f6a072973ed4b9997957f939236b0633897c295749f79e232188430795be5b5087b libbdplus-0.1.2.tar.bz2 +sha512 e00e7bc9f52b9275646593b753ba646b052255be94a7241965f4dbe4734f8f6a072973ed4b9997957f939236b0633897c295749f79e232188430795be5b5087b libbdplus-0.1.2.tar.bz2 # Hash for license file: -sha256 592987e8510228d546540b84a22444bde98e48d03078d3b2eefcd889bec5ce8c COPYING +sha256 592987e8510228d546540b84a22444bde98e48d03078d3b2eefcd889bec5ce8c COPYING diff --git a/package/libblockdev/Config.in b/package/libblockdev/Config.in index 4389fd794..4f98621bd 100644 --- a/package/libblockdev/Config.in +++ b/package/libblockdev/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_LIBBLOCKDEV depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # libglib2 depends on BR2_PACKAGE_HAS_UDEV + depends on BR2_ENABLE_LOCALE select BR2_PACKAGE_KMOD select BR2_PACKAGE_LIBGLIB2 help @@ -66,7 +67,8 @@ config BR2_PACKAGE_LIBBLOCKDEV_SWAP endif -comment "libblockdev needs udev /dev management and a toolchain w/ wchar, threads, dynamic library" +comment "libblockdev needs udev /dev management and a toolchain w/ wchar, threads, dynamic library, locale" depends on BR2_USE_MMU depends on !BR2_PACKAGE_HAS_UDEV || BR2_STATIC_LIBS || \ - !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_ENABLE_LOCALE diff --git a/package/libbluray/libbluray.hash b/package/libbluray/libbluray.hash index 4ab8c8586..6e62bb49a 100644 --- a/package/libbluray/libbluray.hash +++ b/package/libbluray/libbluray.hash @@ -1,4 +1,4 @@ -# From http://download.videolan.org/pub/videolan/libbluray/1.3.0/libbluray-1.3.0.tar.bz2.sha512 -sha512 3d5145e6fd7de099c07f937282112c7abb12a5590b7c0b965b00bddee3837ddfd1a30076aaa6d6278d07a5beee3856f602125983ae075ab30eceb6ac1bd9bcdc libbluray-1.3.0.tar.bz2 +# From http://download.videolan.org/pub/videolan/libbluray/1.3.1/libbluray-1.3.1.tar.bz2.sha512 +sha512 f39fc8a11771e8fdd5eeebf0ab23535ffab44721f64b350e5d153eee44555b31c618b6d765da114254dc83ff0ff89e84c6b185f61cdbcfedd2d47a5f6e26b75a libbluray-1.3.1.tar.bz2 # Locally computed sha256 b3aa400aca6d2ba1f0bd03bd98d03d1fe7489a3bbb26969d72016360af8a5c9d COPYING diff --git a/package/libbluray/libbluray.mk b/package/libbluray/libbluray.mk index 233797f38..a9eb3c67c 100644 --- a/package/libbluray/libbluray.mk +++ b/package/libbluray/libbluray.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBBLURAY_VERSION = 1.3.0 +LIBBLURAY_VERSION = 1.3.1 LIBBLURAY_SITE = http://download.videolan.org/pub/videolan/libbluray/$(LIBBLURAY_VERSION) LIBBLURAY_SOURCE = libbluray-$(LIBBLURAY_VERSION).tar.bz2 LIBBLURAY_INSTALL_STAGING = YES diff --git a/package/libbpf/0001-Makefile-Fix-cross-compilation-for-32-bit-targets.patch b/package/libbpf/0001-Makefile-Fix-cross-compilation-for-32-bit-targets.patch new file mode 100644 index 000000000..12c22f314 --- /dev/null +++ b/package/libbpf/0001-Makefile-Fix-cross-compilation-for-32-bit-targets.patch @@ -0,0 +1,38 @@ +From 68e6f83f223ebf3fbf0d94c0f4592e5e6773f0c1 Mon Sep 17 00:00:00 2001 +From: Tobias Waldekranz +Date: Fri, 14 Oct 2022 21:14:14 +0200 +Subject: [PATCH] Makefile: Fix cross-compilation for 32-bit targets + +Determining the correct library installation path (lib vs. lib64) +using uname(1) breaks in cross compilation scenarios where word widths +differ between the host and target system. + +Instead, source the information from the compilers '-dumpmachine' +option (supported by both GCC and Clang). + +We call this the "host" architecture, using the same nomenclature as +Autotools (--host configure option). + +Upstream: https://github.com/libbpf/libbpf/commit/68e6f83f223ebf3fbf0d94c0f4592e5e6773f0c1 +Signed-off-by: Tobias Waldekranz +--- + src/Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/Makefile b/src/Makefile +index 3cd0854..d535f81 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -77,7 +77,8 @@ INSTALL = install + + DESTDIR ?= + +-ifeq ($(filter-out %64 %64be %64eb %64le %64el s390x, $(shell uname -m)),) ++HOSTARCH = $(firstword $(subst -, ,$(shell $(CC) -dumpmachine))) ++ifeq ($(filter-out %64 %64be %64eb %64le %64el s390x, $(HOSTARCH)),) + LIBSUBDIR := lib64 + else + LIBSUBDIR := lib +-- +2.34.1 + diff --git a/package/libbsd/0001-src-local-elf.h-fix-big-endian-sh.patch b/package/libbsd/0001-src-local-elf.h-fix-big-endian-sh.patch new file mode 100644 index 000000000..8612d268f --- /dev/null +++ b/package/libbsd/0001-src-local-elf.h-fix-big-endian-sh.patch @@ -0,0 +1,39 @@ +From 93c9f8aa72349a4fe33e2a732100c76f3904eb80 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 7 Jun 2022 19:27:13 +0200 +Subject: [PATCH] src/local-elf.h: fix big endian sh + +Fix the following build failure with big endian sh (e.g. sh4aeb): + +In file included from nlist.c:44: +nlist.c: In function '__elf_is_okay__': +local-elf.h:223:25: error: 'ELFDATA2LMSB' undeclared (first use in this function); did you mean 'ELFDATA2LSB'? + 223 | #define ELF_TARG_DATA ELFDATA2LMSB + | ^~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/2980fb79c208454195d77383f1ece9afbd7f981b + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://gitlab.freedesktop.org/libbsd/libbsd/-/merge_requests/19] +--- + src/local-elf.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/local-elf.h b/src/local-elf.h +index 1dd3b42..8c4794f 100644 +--- a/src/local-elf.h ++++ b/src/local-elf.h +@@ -230,7 +230,7 @@ + #if defined(__LITTLE_ENDIAN__) + #define ELF_TARG_DATA ELFDATA2LSB + #elif defined(__BIG_ENDIAN__) +-#define ELF_TARG_DATA ELFDATA2LMSB ++#define ELF_TARG_DATA ELFDATA2MSB + #else + #error Unknown SH endianness + #endif +-- +2.35.1 + diff --git a/package/libbson/libbson.hash b/package/libbson/libbson.hash index 568459900..e4b636d2f 100644 --- a/package/libbson/libbson.hash +++ b/package/libbson/libbson.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 6bb51b863a4641d6d7729e4b55df8f4389ed534c34eb3a1cda906a53df11072c libbson-1.9.5.tar.gz -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING -sha256 8dc5cb3146b026715e6c145621c7732f36c295d825b7b3a03076ad3f238db48e THIRD_PARTY_NOTICES +sha256 6bb51b863a4641d6d7729e4b55df8f4389ed534c34eb3a1cda906a53df11072c libbson-1.9.5.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING +sha256 8dc5cb3146b026715e6c145621c7732f36c295d825b7b3a03076ad3f238db48e THIRD_PARTY_NOTICES diff --git a/package/libcamera-apps/0002-preview-fix-egl_preview-compile-conversion-from-Wind.patch b/package/libcamera-apps/0002-preview-fix-egl_preview-compile-conversion-from-Wind.patch new file mode 100644 index 000000000..cc9069aa8 --- /dev/null +++ b/package/libcamera-apps/0002-preview-fix-egl_preview-compile-conversion-from-Wind.patch @@ -0,0 +1,39 @@ +From 60715769cd5368a63b2bdc2e6d6bb6df0030a54d Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Thu, 31 Mar 2022 21:44:22 +0200 +Subject: [PATCH] preview: fix egl_preview compile (conversion from Window to + EGLNativeWindowType) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes: + + .../build/libcamera-apps-2d1009e3badcc8047361ff81149ad6cba3b911b5/preview/egl_preview.cpp:329:69: error: invalid conversion from ‘Window’ {aka ‘long unsigned int’} to ‘EGLNativeWindowType’ {aka ‘fbdev_window*’} [-fpermissive] + 329 | egl_surface_ = eglCreateWindowSurface(egl_display_, config, window_, NULL); + | ^~~~~~~ + | | + | Window {aka long unsigned int} + +[Upstream: https://github.com/raspberrypi/libcamera-apps/pull/283] +Signed-off-by: Peter Seiderer +--- + preview/egl_preview.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/preview/egl_preview.cpp b/preview/egl_preview.cpp +index b936e57..593583d 100644 +--- a/preview/egl_preview.cpp ++++ b/preview/egl_preview.cpp +@@ -326,7 +326,7 @@ void EglPreview::makeWindow(char const *name) + wm_delete_window_ = XInternAtom(display_, "WM_DELETE_WINDOW", False); + XSetWMProtocols(display_, window_, &wm_delete_window_, 1); + +- egl_surface_ = eglCreateWindowSurface(egl_display_, config, window_, NULL); ++ egl_surface_ = eglCreateWindowSurface(egl_display_, config, reinterpret_cast(window_), NULL); + if (!egl_surface_) + throw std::runtime_error("eglCreateWindowSurface failed"); + +-- +2.35.1 + diff --git a/package/libcamera-apps/Config.in b/package/libcamera-apps/Config.in index a1affc2d2..492a99cf5 100644 --- a/package/libcamera-apps/Config.in +++ b/package/libcamera-apps/Config.in @@ -14,6 +14,7 @@ config BR2_PACKAGE_LIBCAMERA_APPS select BR2_PACKAGE_LIBPNG select BR2_PACKAGE_TIFF select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 && (BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL) + select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_XORG7 && (BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL) select BR2_PACKAGE_LIBEPOXY if BR2_PACKAGE_XORG7 && (BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL) select BR2_PACKAGE_QT5BASE_GUI if BR2_PACKAGE_QT5 select BR2_PACKAGE_QT5BASE_WIDGETS if BR2_PACKAGE_QT5 diff --git a/package/libcamera/Config.in b/package/libcamera/Config.in index 23a0040ab..fd7b3c92c 100644 --- a/package/libcamera/Config.in +++ b/package/libcamera/Config.in @@ -77,18 +77,17 @@ config BR2_PACKAGE_LIBCAMERA_COMPLIANCE depends on BR2_USE_WCHAR # gtest depends on BR2_TOOLCHAIN_HAS_THREADS # gtest depends on BR2_INSTALL_LIBSTDCPP # gtest - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # gtest + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # gtest depends on BR2_USE_MMU # gtest select BR2_PACKAGE_GTEST select BR2_PACKAGE_LIBEVENT help lc-compliance test application -comment "lc-compliance test application needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" +comment "lc-compliance test application needs a toolchain w/ C++, wchar, threads, gcc >= 5" depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 endif # BR2_PACKAGE_LIBCAMERA diff --git a/package/libcamera/libcamera.mk b/package/libcamera/libcamera.mk index 9cbb1910d..51c3cf746 100644 --- a/package/libcamera/libcamera.mk +++ b/package/libcamera/libcamera.mk @@ -84,6 +84,13 @@ else LIBCAMERA_CONF_OPTS += -Dqcam=disabled endif +ifeq ($(BR2_PACKAGE_LIBEVENT),y) +LIBCAMERA_CONF_OPTS += -Dcam=enabled +LIBCAMERA_DEPENDENCIES += libevent +else +LIBCAMERA_CONF_OPTS += -Dcam=disabled +endif + ifeq ($(BR2_PACKAGE_TIFF),y) LIBCAMERA_DEPENDENCIES += tiff endif @@ -104,4 +111,24 @@ LIBCAMERA_DEPENDENCIES += libexecinfo LIBCAMERA_LDFLAGS = $(TARGET_LDFLAGS) -lexecinfo endif +# Open-Source IPA shlibs need to be signed in order to be runnable within the +# same process, otherwise they are deemed Closed-Source and run in another +# process and communicate over IPC. +# Buildroot sanitizes RPATH in a post build process. meson gets rid of rpath +# while installing so we don't need to do it manually here. +# Buildroot may strip symbols, so we need to do the same before signing +# otherwise the signature won't match the shlib on the rootfs. Since meson +# install target is signing the shlibs, we need to strip them before. +LIBCAMERA_STRIP_FIND_CMD = \ + find $(@D)/build/src/ipa \ + $(if $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES)), \ + -not \( $(call findfileclauses,$(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) ) \ + -type f -name 'ipa_*.so' -print0 + +define LIBCAMERA_BUILD_STRIP_IPA_SO + $(LIBCAMERA_STRIP_FIND_CMD) | xargs --no-run-if-empty -0 $(STRIPCMD) +endef + +LIBCAMERA_POST_BUILD_HOOKS += LIBCAMERA_BUILD_STRIP_IPA_SO + $(eval $(meson-package)) diff --git a/package/libcddb/libcddb.hash b/package/libcddb/libcddb.hash index f3519c257..b2da48fca 100644 --- a/package/libcddb/libcddb.hash +++ b/package/libcddb/libcddb.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 35ce0ee1741ea38def304ddfe84a958901413aa829698357f0bee5bb8f0a223b libcddb-1.3.2.tar.bz2 -sha256 7a4436f9ec37603356791c87de3bc444989befd2682d29efb3d97604e04c1852 COPYING +sha256 35ce0ee1741ea38def304ddfe84a958901413aa829698357f0bee5bb8f0a223b libcddb-1.3.2.tar.bz2 +sha256 7a4436f9ec37603356791c87de3bc444989befd2682d29efb3d97604e04c1852 COPYING diff --git a/package/libcdio-paranoia/libcdio-paranoia.hash b/package/libcdio-paranoia/libcdio-paranoia.hash index 18e6f33df..f1f64f6c0 100644 --- a/package/libcdio-paranoia/libcdio-paranoia.hash +++ b/package/libcdio-paranoia/libcdio-paranoia.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 33b1cf305ccfbfd03b43936975615000ce538b119989c4bec469577570b60e8a libcdio-paranoia-10.2+2.0.1.tar.bz2 -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 33b1cf305ccfbfd03b43936975615000ce538b119989c4bec469577570b60e8a libcdio-paranoia-10.2+2.0.1.tar.bz2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/libcdio/libcdio.hash b/package/libcdio/libcdio.hash index 07bd85ff1..1b157992b 100644 --- a/package/libcdio/libcdio.hash +++ b/package/libcdio/libcdio.hash @@ -1,5 +1,5 @@ # Locally calculated after checking signature -sha256 8550e9589dbd594bfac93b81ecf129b1dc9d0d51e90f9696f1b2f9b2af32712b libcdio-2.1.0.tar.bz2 +sha256 8550e9589dbd594bfac93b81ecf129b1dc9d0d51e90f9696f1b2f9b2af32712b libcdio-2.1.0.tar.bz2 # Hash for license file: -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/libcec/0001-cecloader-h-fix-null-return.patch b/package/libcec/0001-cecloader-h-fix-null-return.patch new file mode 100644 index 000000000..424e41c0a --- /dev/null +++ b/package/libcec/0001-cecloader-h-fix-null-return.patch @@ -0,0 +1,37 @@ +From 452b2049b2ee3e73968c603e5524b2d349ac0c3e Mon Sep 17 00:00:00 2001 +From: psykose +Date: Sat, 9 Apr 2022 17:59:11 +0000 +Subject: [PATCH] cecloader.h: fix null return + +returning NULL is invalid for a return type of bool when NULL is defined +as `nullptr` instead of 0L + +[Retrieved from: +https://github.com/Pulse-Eight/libcec/pull/599/commits/452b2049b2ee3e73968c603e5524b2d349ac0c3e] +Signed-off-by: Fabrice Fontaine +--- + include/cecloader.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/include/cecloader.h b/include/cecloader.h +index be76468f..550f598e 100644 +--- a/include/cecloader.h ++++ b/include/cecloader.h +@@ -172,7 +172,7 @@ bool LibCecBootloader(const char *strLib = NULL) + if (!g_libCEC) + { + std::cout << dlerror() << std::endl; +- return NULL; ++ return false; + } + } + +@@ -181,7 +181,7 @@ bool LibCecBootloader(const char *strLib = NULL) + if (!LibCecBootloader) + { + std::cout << "cannot find CECStartBootloader" << std::endl; +- return NULL; ++ return false; + } + + bool bReturn = LibCecBootloader(); diff --git a/package/libcec/libcec.mk b/package/libcec/libcec.mk index 8b5d70d00..33e0463eb 100644 --- a/package/libcec/libcec.mk +++ b/package/libcec/libcec.mk @@ -39,7 +39,6 @@ endif # Disable information about how libCEC is compiled. LIBCEC_CONF_OPTS += -DHAVE_GIT_BIN="" \ - -DHAVE_DATE_BIN="" \ -DHAVE_WHOAMI_BIN="" \ -DHAVE_HOSTNAME_BIN="" \ -DHAVE_UNAME_BIN="" diff --git a/package/libcgi/0001-CMakeLists.txt-honour-BUILD_TESTING.patch b/package/libcgi/0001-CMakeLists.txt-honour-BUILD_TESTING.patch new file mode 100644 index 000000000..3ec674ae7 --- /dev/null +++ b/package/libcgi/0001-CMakeLists.txt-honour-BUILD_TESTING.patch @@ -0,0 +1,44 @@ +From 15ec267520efbe45193eb1df5361a4ab56164294 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 8 May 2022 17:54:42 +0200 +Subject: [PATCH] CMakeLists.txt: honour BUILD_TESTING + +Allow the user to disable tests through the standard BUILD_TESTING +option: https://cmake.org/cmake/help/latest/module/CTest.html + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/rafaelsteil/libcgi/commit/15ec267520efbe45193eb1df5361a4ab56164294] +--- + CMakeLists.txt | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cbf0d97..e3329a1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -29,15 +29,21 @@ option(BUILD_SHARED_LIBS + "Global flag to cause add_library to create shared libraries if on." + ON + ) ++option(BUILD_TESTING ++ "Build tests." ++ ON ++) + + # subdirectories + add_subdirectory("include/libcgi") + add_subdirectory("src") + + # test +-enable_testing() +-include(CTest) +-add_subdirectory("test") ++if(BUILD_TESTING) ++ enable_testing() ++ include(CTest) ++ add_subdirectory("test") ++endif(BUILD_TESTING) + + # cmake package stuff + configure_package_config_file(${PROJECT_NAME_LC}-config.cmake.in diff --git a/package/libcgi/libcgi.hash b/package/libcgi/libcgi.hash index 8760f91cf..5e8845ede 100644 --- a/package/libcgi/libcgi.hash +++ b/package/libcgi/libcgi.hash @@ -1,5 +1,5 @@ # From https://github.com/rafaelsteil/libcgi/releases/download/v1.3.0/libcgi-1.3.0.tar.gz.md5 -md5 6efdc968bdf986832b7e220d1b914e57 libcgi-1.3.0.tar.gz +md5 6efdc968bdf986832b7e220d1b914e57 libcgi-1.3.0.tar.gz # From https://github.com/rafaelsteil/libcgi/releases/download/v1.3.0/libcgi-1.3.0.tar.gz.sha256 sha256 d932f380b1a5dbfbddffaa76fac71bf505a9585d441c9ae86bfbf76033d9d8df libcgi-1.3.0.tar.gz diff --git a/package/libcgicc/libcgicc.hash b/package/libcgicc/libcgicc.hash index 6fd19e305..87540c814 100644 --- a/package/libcgicc/libcgicc.hash +++ b/package/libcgicc/libcgicc.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 2a17b976248de03447f9e36d6ce18a80749990d8543e2dfeea09c413eb67f7f0 cgicc-3.2.19.tar.gz +sha256 2a17b976248de03447f9e36d6ce18a80749990d8543e2dfeea09c413eb67f7f0 cgicc-3.2.19.tar.gz # Hash for license files: sha256 a2e480f5e8afd7c587a3c0ac2ed3b73ed4b10fa3a553dea26e7b661c7cedda72 COPYING.LIB diff --git a/package/libcoap/libcoap.mk b/package/libcoap/libcoap.mk index 8a85ff3a2..edcc1bbef 100644 --- a/package/libcoap/libcoap.mk +++ b/package/libcoap/libcoap.mk @@ -18,7 +18,7 @@ ifeq ($(BR2_PACKAGE_GNUTLS),y) LIBCOAP_DEPENDENCIES += gnutls LIBCOAP_CONF_OPTS += \ --enable-dtls --with-gnutls --without-mbedtls --without-openssl -else ifeq ($(BR2_PACKAGE_OPENSSL),y) +else ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) LIBCOAP_DEPENDENCIES += openssl LIBCOAP_CONF_OPTS += \ --enable-dtls --without-gnutls --without-mbedtls --with-openssl diff --git a/package/libconfuse/0001-Fix-163-unterminated-username-used-with-getpwnam.patch b/package/libconfuse/0001-Fix-163-unterminated-username-used-with-getpwnam.patch new file mode 100644 index 000000000..9ff3f5ec1 --- /dev/null +++ b/package/libconfuse/0001-Fix-163-unterminated-username-used-with-getpwnam.patch @@ -0,0 +1,43 @@ +From d73777c2c3566fb2647727bb56d9a2295b81669b Mon Sep 17 00:00:00 2001 +From: Joachim Wiberg +Date: Fri, 2 Sep 2022 16:12:46 +0200 +Subject: [PATCH] Fix #163: unterminated username used with getpwnam() + +Signed-off-by: Joachim Wiberg + +[Retrieved (and backported) from: +https://github.com/libconfuse/libconfuse/commit/d73777c2c3566fb2647727bb56d9a2295b81669b] +Signed-off-by: Fabrice Fontaine +--- + src/confuse.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/src/confuse.c b/src/confuse.c +index 6d1fdbd..05566b5 100644 +--- a/src/confuse.c ++++ b/src/confuse.c +@@ -1894,18 +1894,20 @@ DLLIMPORT char *cfg_tilde_expand(const char *filename) + passwd = getpwuid(geteuid()); + file = filename + 1; + } else { +- /* ~user or ~user/path */ +- char *user; ++ char *user; /* ~user or ~user/path */ ++ size_t len; + + file = strchr(filename, '/'); + if (file == 0) + file = filename + strlen(filename); + +- user = malloc(file - filename); ++ len = file - filename - 1; ++ user = malloc(len + 1); + if (!user) + return NULL; + +- strncpy(user, filename + 1, file - filename - 1); ++ strncpy(user, &filename[1], len); ++ user[len] = 0; + passwd = getpwnam(user); + free(user); + } diff --git a/package/libconfuse/libconfuse.mk b/package/libconfuse/libconfuse.mk index 2beb0e4fb..e7c2ef0a8 100644 --- a/package/libconfuse/libconfuse.mk +++ b/package/libconfuse/libconfuse.mk @@ -14,5 +14,8 @@ LIBCONFUSE_LICENSE_FILES = LICENSE LIBCONFUSE_CPE_ID_VENDOR = libconfuse_project LIBCONFUSE_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) +# 0001-Fix-163-unterminated-username-used-with-getpwnam.patch +LIBCONFUSE_IGNORE_CVES += CVE-2022-40320 + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/libcorrect/libcorrect.hash b/package/libcorrect/libcorrect.hash index 20df38c15..4c6289fb8 100644 --- a/package/libcorrect/libcorrect.hash +++ b/package/libcorrect/libcorrect.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 79861750540fb3a1cc501ee217cb4d1febc4855f3fb82e5eb60906eec5379890 libcorrect-ce6c17f1f988765ae3695315d7cce1f2a2e6cf0d.tar.gz -sha256 135138cd4304aa637836758dc5edfb5f21b7d09ecc637d25288d206b151a5768 LICENSE +sha256 79861750540fb3a1cc501ee217cb4d1febc4855f3fb82e5eb60906eec5379890 libcorrect-ce6c17f1f988765ae3695315d7cce1f2a2e6cf0d.tar.gz +sha256 135138cd4304aa637836758dc5edfb5f21b7d09ecc637d25288d206b151a5768 LICENSE diff --git a/package/libcsv/libcsv.hash b/package/libcsv/libcsv.hash index 33a521d25..c482d9fed 100644 --- a/package/libcsv/libcsv.hash +++ b/package/libcsv/libcsv.hash @@ -1,3 +1,3 @@ #locally computed -sha256 d9c0431cb803ceb9896ce74f683e6e5a0954e96ae1d9e4028d6e0f967bebd7e4 libcsv-3.0.3.tar.gz -sha256 6876b170378d38f65aadd271485f0a5c45beaa043a7d3de5e1636ec927922c83 COPYING.LESSER +sha256 d9c0431cb803ceb9896ce74f683e6e5a0954e96ae1d9e4028d6e0f967bebd7e4 libcsv-3.0.3.tar.gz +sha256 6876b170378d38f65aadd271485f0a5c45beaa043a7d3de5e1636ec927922c83 COPYING.LESSER diff --git a/package/libcue/libcue.hash b/package/libcue/libcue.hash index b69fb7fa2..93ae2dacd 100644 --- a/package/libcue/libcue.hash +++ b/package/libcue/libcue.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 f27bc3ebb2e892cd9d32a7bee6d84576a60f955f29f748b9b487b173712f1200 libcue-2.2.1.tar.gz -sha256 c388d36583fa54e13b6d73ad924d0b68d073ed8a5771e17cb49104705df4504f LICENSE +sha256 f27bc3ebb2e892cd9d32a7bee6d84576a60f955f29f748b9b487b173712f1200 libcue-2.2.1.tar.gz +sha256 c388d36583fa54e13b6d73ad924d0b68d073ed8a5771e17cb49104705df4504f LICENSE diff --git a/package/libcuefile/libcuefile.hash b/package/libcuefile/libcuefile.hash index 47c0c2fd7..2f737af0d 100644 --- a/package/libcuefile/libcuefile.hash +++ b/package/libcuefile/libcuefile.hash @@ -1,7 +1,7 @@ # From https://www.musepack.net/index.php?pg=src -md5 1a6ac52e1080fd54f0f59372345f1e4e libcuefile_r475.tar.gz +md5 1a6ac52e1080fd54f0f59372345f1e4e libcuefile_r475.tar.gz # Calculated based on the hash above -sha256 b681ca6772b3f64010d24de57361faecf426ee6182f5969fcf29b3f649133fe7 libcuefile_r475.tar.gz +sha256 b681ca6772b3f64010d24de57361faecf426ee6182f5969fcf29b3f649133fe7 libcuefile_r475.tar.gz # Hash for license file: -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/libcurl/Config.in b/package/libcurl/Config.in index d8072c0af..218309ed5 100644 --- a/package/libcurl/Config.in +++ b/package/libcurl/Config.in @@ -45,6 +45,12 @@ config BR2_PACKAGE_LIBCURL_EXTRA_PROTOCOLS_FEATURES - DICT - Gopher +# Packages must select that if they require a SSL/TLS-enabled libcurl. +# Those packages must also select one crypto package that can be used +# as a backend below. +config BR2_PACKAGE_LIBCURL_FORCE_TLS + bool + choice prompt "SSL/TLS library to use" @@ -61,10 +67,6 @@ config BR2_PACKAGE_LIBCURL_GNUTLS bool "GnuTLS" depends on BR2_PACKAGE_GNUTLS -config BR2_PACKAGE_LIBCURL_LIBNSS - bool "NSS" - depends on BR2_PACKAGE_LIBNSS - config BR2_PACKAGE_LIBCURL_MBEDTLS bool "mbed TLS" depends on BR2_PACKAGE_MBEDTLS @@ -72,10 +74,16 @@ config BR2_PACKAGE_LIBCURL_MBEDTLS config BR2_PACKAGE_LIBCURL_WOLFSSL bool "WolfSSL" depends on BR2_PACKAGE_WOLFSSL + depends on !BR2_STATIC_LIBS # wolfssl-all select BR2_PACKAGE_WOLFSSL_ALL +comment "WolfSSL needs a toolchain w/ dynamic library" + depends on BR2_PACKAGE_WOLFSSL + depends on BR2_STATIC_LIBS + config BR2_PACKAGE_LIBCURL_TLS_NONE bool "None" + depends on !BR2_PACKAGE_LIBCURL_FORCE_TLS endchoice diff --git a/package/libcurl/libcurl.hash b/package/libcurl/libcurl.hash index 63d6ba306..32b3d0b5e 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-7.81.0.tar.xz.asc +# https://curl.se/download/curl-7.88.1.tar.xz.asc # signed with key 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 -sha256 a067b688d1645183febc31309ec1f3cdce9213d02136b6a6de3d50f69c95a7d3 curl-7.81.0.tar.xz -sha256 6fd1a1c008b5ef4c4741dd188c3f8af6944c14c25afa881eb064f98fb98358e7 COPYING +sha256 1dae31b2a7c1fe269de99c0c31bb488346aab3459b5ffca909d6938249ae415f curl-7.88.1.tar.xz +sha256 b1d7feb949ea5023552029fbe0bf5db4f23c2f85e9b8e51e18536f0ecbf9c524 COPYING diff --git a/package/libcurl/libcurl.mk b/package/libcurl/libcurl.mk index 20ebb4f27..5cb2f94ae 100644 --- a/package/libcurl/libcurl.mk +++ b/package/libcurl/libcurl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCURL_VERSION = 7.81.0 +LIBCURL_VERSION = 7.88.1 LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.xz LIBCURL_SITE = https://curl.se/download LIBCURL_DEPENDENCIES = host-pkgconf \ @@ -23,7 +23,7 @@ LIBCURL_INSTALL_STAGING = YES # Likewise, there is no compiler on the target, so libcurl-option (to # generate C code) isn't very useful LIBCURL_CONF_OPTS = --disable-manual --disable-ntlm-wb \ - --enable-hidden-symbols --with-random=/dev/urandom --disable-curldebug \ + --with-random=/dev/urandom --disable-curldebug \ --disable-libcurl-option --disable-ldap --disable-ldaps ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) @@ -32,6 +32,16 @@ else LIBCURL_CONF_OPTS += --disable-threaded-resolver endif +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +LIBCURL_CONF_OPTS += LIBS=-latomic +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_1),) +# Even though stdatomic.h does exist, link fails for __atomic_exchange_1 +# Work around this by pretending atomics aren't available. +LIBCURL_CONF_ENV += ac_cv_header_stdatomic_h=no +endif + ifeq ($(BR2_PACKAGE_LIBCURL_VERBOSE),y) LIBCURL_CONF_OPTS += --enable-verbose else @@ -40,6 +50,10 @@ endif LIBCURL_CONFIG_SCRIPTS = curl-config +ifeq ($(BR2_PACKAGE_LIBCURL_TLS_NONE),y) +LIBCURL_CONF_OPTS += --without-ssl +endif + ifeq ($(BR2_PACKAGE_LIBCURL_OPENSSL),y) LIBCURL_DEPENDENCIES += openssl # configure adds the cross openssl dir to LD_LIBRARY_PATH which screws up @@ -47,10 +61,10 @@ LIBCURL_DEPENDENCIES += openssl # Fix it by setting LD_LIBRARY_PATH to something sensible so those libs # are found first. LIBCURL_CONF_ENV += LD_LIBRARY_PATH=$(if $(LD_LIBRARY_PATH),$(LD_LIBRARY_PATH):)/lib:/usr/lib -LIBCURL_CONF_OPTS += --with-ssl=$(STAGING_DIR)/usr \ +LIBCURL_CONF_OPTS += --with-openssl=$(STAGING_DIR)/usr \ --with-ca-path=/etc/ssl/certs else -LIBCURL_CONF_OPTS += --without-ssl +LIBCURL_CONF_OPTS += --without-openssl endif ifeq ($(BR2_PACKAGE_LIBCURL_BEARSSL),y) @@ -68,14 +82,6 @@ else LIBCURL_CONF_OPTS += --without-gnutls endif -ifeq ($(BR2_PACKAGE_LIBCURL_LIBNSS),y) -LIBCURL_CONF_OPTS += --with-nss=$(STAGING_DIR)/usr -LIBCURL_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) `$(PKG_CONFIG_HOST_BINARY) nspr nss --cflags`" -LIBCURL_DEPENDENCIES += libnss -else -LIBCURL_CONF_OPTS += --without-nss -endif - ifeq ($(BR2_PACKAGE_LIBCURL_MBEDTLS),y) LIBCURL_CONF_OPTS += --with-mbedtls=$(STAGING_DIR)/usr LIBCURL_DEPENDENCIES += mbedtls @@ -85,6 +91,7 @@ endif ifeq ($(BR2_PACKAGE_LIBCURL_WOLFSSL),y) LIBCURL_CONF_OPTS += --with-wolfssl=$(STAGING_DIR)/usr +LIBCURL_CONF_OPTS += --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt LIBCURL_DEPENDENCIES += wolfssl else LIBCURL_CONF_OPTS += --without-wolfssl @@ -128,9 +135,9 @@ endif ifeq ($(BR2_PACKAGE_LIBGSASL),y) LIBCURL_DEPENDENCIES += libgsasl -LIBCURL_CONF_OPTS += --with-gsasl +LIBCURL_CONF_OPTS += --with-libgsasl else -LIBCURL_CONF_OPTS += --without-gsasl +LIBCURL_CONF_OPTS += --without-libgsasl endif ifeq ($(BR2_PACKAGE_LIBCURL_COOKIES_SUPPORT),y) diff --git a/package/libcutl/libcutl.hash b/package/libcutl/libcutl.hash index 1e0baa7f6..6c0358cb3 100644 --- a/package/libcutl/libcutl.hash +++ b/package/libcutl/libcutl.hash @@ -1,6 +1,6 @@ # From https://www.codesynthesis.com/download/libcutl/1.10/libcutl-1.10.0.tar.bz2.sha1 -sha1 2885b79529f8caeb13687d722f5c114186f56956 libcutl-1.10.0.tar.bz2 +sha1 2885b79529f8caeb13687d722f5c114186f56956 libcutl-1.10.0.tar.bz2 # Locally Computed -sha256 125163c670e372b47d5626d54379ff8fbaded6ccd5db77ac0bf5912a4017121c libcutl-1.10.0.tar.bz2 -sha256 c7aa98c5af3b67174f16b12a1fed4332a51cd524b82c69e85baa4c2c412da239 LICENSE +sha256 125163c670e372b47d5626d54379ff8fbaded6ccd5db77ac0bf5912a4017121c libcutl-1.10.0.tar.bz2 +sha256 c7aa98c5af3b67174f16b12a1fed4332a51cd524b82c69e85baa4c2c412da239 LICENSE diff --git a/package/libdaemon/libdaemon.hash b/package/libdaemon/libdaemon.hash index b51032182..72652f0d2 100644 --- a/package/libdaemon/libdaemon.hash +++ b/package/libdaemon/libdaemon.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 fd23eb5f6f986dcc7e708307355ba3289abe03cc381fc47a80bca4a50aa6b834 libdaemon-0.14.tar.gz -sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LICENSE +sha256 fd23eb5f6f986dcc7e708307355ba3289abe03cc381fc47a80bca4a50aa6b834 libdaemon-0.14.tar.gz +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LICENSE diff --git a/package/libdcadec/libdcadec.hash b/package/libdcadec/libdcadec.hash index d3a9ae7d4..3c3e80e8a 100644 --- a/package/libdcadec/libdcadec.hash +++ b/package/libdcadec/libdcadec.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ed9d207fde3e8d576f3af8b0d1235b3371e315175757173689104efcaebf0d44 libdcadec-0.2.0.tar.gz -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPLv2.1 +sha256 ed9d207fde3e8d576f3af8b0d1235b3371e315175757173689104efcaebf0d44 libdcadec-0.2.0.tar.gz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPLv2.1 diff --git a/package/libdri2/libdri2.hash b/package/libdri2/libdri2.hash index 4cb360ff6..dbaccbdd6 100644 --- a/package/libdri2/libdri2.hash +++ b/package/libdri2/libdri2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 7c427f5c3fbda3d1df1dc77129e87605f4af1f3ad2adf2653c560d1703aa4395 libdri2-4f1eef3183df2b270c3d5cbef07343ee5127a6a4.tar.gz -sha256 4fac4d581d00f11c459d68b7cb970f3d4e5a5bbfb53784d85f59a90076280301 COPYING +sha256 7c427f5c3fbda3d1df1dc77129e87605f4af1f3ad2adf2653c560d1703aa4395 libdri2-4f1eef3183df2b270c3d5cbef07343ee5127a6a4.tar.gz +sha256 4fac4d581d00f11c459d68b7cb970f3d4e5a5bbfb53784d85f59a90076280301 COPYING diff --git a/package/libdvbcsa/libdvbcsa.hash b/package/libdvbcsa/libdvbcsa.hash index 55ad51b59..03ac76125 100644 --- a/package/libdvbcsa/libdvbcsa.hash +++ b/package/libdvbcsa/libdvbcsa.hash @@ -1,7 +1,7 @@ # From http://download.videolan.org/pub/videolan/libdvbcsa/1.1.0/libdvbcsa-1.1.0.tar.gz.sha256 -sha256 4db78af5cdb2641dfb1136fe3531960a477c9e3e3b6ba19a2754d046af3f456d libdvbcsa-1.1.0.tar.gz +sha256 4db78af5cdb2641dfb1136fe3531960a477c9e3e3b6ba19a2754d046af3f456d libdvbcsa-1.1.0.tar.gz # From http://download.videolan.org/pub/videolan/libdvbcsa/1.1.0/libdvbcsa-1.1.0.tar.gz.sha1 -sha1 5f4640a7e93ae6494f24a881414e5c343f803365 libdvbcsa-1.1.0.tar.gz +sha1 5f4640a7e93ae6494f24a881414e5c343f803365 libdvbcsa-1.1.0.tar.gz # Hash for license file: -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/libdvbpsi/libdvbpsi.hash b/package/libdvbpsi/libdvbpsi.hash index 727b1cf49..acf43488d 100644 --- a/package/libdvbpsi/libdvbpsi.hash +++ b/package/libdvbpsi/libdvbpsi.hash @@ -1,6 +1,6 @@ # From http://download.videolan.org/pub/libdvbpsi/1.3.3/libdvbpsi-1.3.3.tar.bz2.md5 -md5 9b556ab08bb62a8bec61f5c1649bc9a8 libdvbpsi-1.3.3.tar.bz2 +md5 9b556ab08bb62a8bec61f5c1649bc9a8 libdvbpsi-1.3.3.tar.bz2 # From http://download.videolan.org/pub/libdvbpsi/1.3.3/libdvbpsi-1.3.3.tar.bz2.sha256 -sha256 02b5998bcf289cdfbd8757bedd5987e681309b0a25b3ffe6cebae599f7a00112 libdvbpsi-1.3.3.tar.bz2 +sha256 02b5998bcf289cdfbd8757bedd5987e681309b0a25b3ffe6cebae599f7a00112 libdvbpsi-1.3.3.tar.bz2 # Hash for license file: -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libeXosip2/0001-src-eXtl_dtls.c-fix-build-with-libressl-3.4.1.patch b/package/libeXosip2/0001-src-eXtl_dtls.c-fix-build-with-libressl-3.4.1.patch new file mode 100644 index 000000000..0b4be43b6 --- /dev/null +++ b/package/libeXosip2/0001-src-eXtl_dtls.c-fix-build-with-libressl-3.4.1.patch @@ -0,0 +1,43 @@ +From 4201c0ff3fd75e09025d515c427f85f9fec89621 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 5 Apr 2022 22:27:35 +0200 +Subject: [PATCH] src/eXtl_dtls.c: fix build with libressl >= 3.4.1 + +Fix the following build failure with libressl >= 3.4.1 which provides +SSL_set0_rbio() since +https://github.com/libressl-portable/openbsd/commit/c99939f9665a9c3c648682b4987df46600b70efc: + +In file included from eXtl_dtls.c:82: +/home/autobuild/autobuild/instance-4/output-1/host/x86_64-buildroot-linux-musl/sysroot/usr/include/openssl/ssl.h:1272:6: note: previous declaration of 'SSL_set0_rbio' was here + 1272 | void SSL_set0_rbio(SSL *s, BIO *rbio); + | ^~~~~~~~~~~~~ +eXtl_dtls.c: In function 'SSL_set0_rbio': +eXtl_dtls.c:108:17: error: invalid use of incomplete typedef 'SSL' {aka 'struct ssl_st'} + 108 | BIO_free_all(s->rbio); + | ^~ + +Fixes: + - http://autobuild.buildroot.org/results/dfafdbf71b31fbda1b5ba491ac35239af4a20aa2 + +Signed-off-by: Fabrice Fontaine +[Upstream status: sent to amoizard@antisip.com] +--- + src/eXtl_dtls.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/eXtl_dtls.c b/src/eXtl_dtls.c +index 07c0dc2..d0bd7dc 100644 +--- a/src/eXtl_dtls.c ++++ b/src/eXtl_dtls.c +@@ -102,7 +102,7 @@ + #define RANDOM "random.pem" + #define DHFILE "dh1024.pem" + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x3040100L) + + static void SSL_set0_rbio(SSL *s, BIO *rbio) { + BIO_free_all(s->rbio); +-- +2.35.1 + diff --git a/package/libeastl/Config.in b/package/libeastl/Config.in index 5abea8f81..738b293be 100644 --- a/package/libeastl/Config.in +++ b/package/libeastl/Config.in @@ -11,6 +11,7 @@ config BR2_PACKAGE_LIBEASTL depends on BR2_PACKAGE_LIBEASTL_ARCH_SUPPORTS depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14 + depends on BR2_TOOLCHAIN_HAS_THREADS help EASTL stands for Electronic Arts Standard Template Library. It is a C++ template library of containers, @@ -21,6 +22,7 @@ config BR2_PACKAGE_LIBEASTL https://github.com/electronicarts/EASTL -comment "libeastl needs a toolchain w/ C++, gcc >= 4.9" +comment "libeastl needs a toolchain w/ C++, threads, gcc >= 4.9" depends on BR2_PACKAGE_LIBEASTL_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_INSTALL_LIBSTDCPP + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP diff --git a/package/libeastl/libeastl.hash b/package/libeastl/libeastl.hash index 2d8367c02..c7ba6da09 100644 --- a/package/libeastl/libeastl.hash +++ b/package/libeastl/libeastl.hash @@ -1,2 +1,2 @@ -sha256 9b3484553812b3ec3bad0857f7f675499c81f7cf4ac87e5f3b2acbe72e3a878a libeastl-45469730d641868ce05433fff2e199510c7d45c3.tar.gz -sha256 82c0243a1a62b8af01dab3bce6ed2b0852604bd508b85a561ba7d32480e598e3 LICENSE +sha256 9b3484553812b3ec3bad0857f7f675499c81f7cf4ac87e5f3b2acbe72e3a878a libeastl-45469730d641868ce05433fff2e199510c7d45c3.tar.gz +sha256 82c0243a1a62b8af01dab3bce6ed2b0852604bd508b85a561ba7d32480e598e3 LICENSE diff --git a/package/libee/libee.hash b/package/libee/libee.hash index 5ad47e162..4783bbc2d 100644 --- a/package/libee/libee.hash +++ b/package/libee/libee.hash @@ -1,5 +1,5 @@ # From http://www.libee.org/download/libee-0-4-1/ -md5 7bbf4160876c12db6193c06e2badedb2 libee-0.4.1.tar.gz +md5 7bbf4160876c12db6193c06e2badedb2 libee-0.4.1.tar.gz # Hash for license file: -sha256 275fecbf835387e042ba96884f0f05356a485a6ea8449b2c5295cc11652ad439 COPYING +sha256 275fecbf835387e042ba96884f0f05356a485a6ea8449b2c5295cc11652ad439 COPYING diff --git a/package/libenca/libenca.hash b/package/libenca/libenca.hash index 6c874b16a..04c9d5127 100644 --- a/package/libenca/libenca.hash +++ b/package/libenca/libenca.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 3a487eca40b41021e2e4b7a6440b97d822e6532db5464471f572ecf77295e8b8 enca-1.19.tar.xz -sha256 87f1bd4a52b4029476b684fcdd51fed3c6b2540e462d3c2d3bfc9be4558b2825 COPYING +sha256 3a487eca40b41021e2e4b7a6440b97d822e6532db5464471f572ecf77295e8b8 enca-1.19.tar.xz +sha256 87f1bd4a52b4029476b684fcdd51fed3c6b2540e462d3c2d3bfc9be4558b2825 COPYING diff --git a/package/libest/Config.in b/package/libest/Config.in index d8271ad69..bd5f40afa 100644 --- a/package/libest/Config.in +++ b/package/libest/Config.in @@ -6,6 +6,8 @@ config BR2_PACKAGE_LIBEST depends on !BR2_STATIC_LIBS # libexecinfo or glibc select BR2_PACKAGE_LIBEXECINFO if !BR2_TOOLCHAIN_USES_GLIBC select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL + select BR2_PACKAGE_SAFECLIB help libest is a C implementation of RFC 7030 (Enrollment over Secure Transport). diff --git a/package/libest/libest.mk b/package/libest/libest.mk index d9f3cf87b..0dd3e7d0e 100644 --- a/package/libest/libest.mk +++ b/package/libest/libest.mk @@ -12,14 +12,17 @@ LIBEST_LICENSE = BSD-3-Clause, MIT, W3C LIBEST_LICENSE_FILES = LICENSE LIBEST_INSTALL_STAGING = YES LIBEST_AUTORECONF = YES -LIBEST_DEPENDENCIES = openssl host-pkgconf +LIBEST_DEPENDENCIES = openssl host-pkgconf safeclib # libcoap support is explicitly disabled because it breaks the build +# libsafec support is explicitly enabled because we want to avoid +# possible hidden use of bundled copy of library. LIBEST_CONF_OPTS = \ --with-ssl-dir=$(STAGING_DIR)/usr \ $(if $(BR2_TOOLCHAIN_HAS_THREADS),--enable-pthreads,--disable-pthreads) \ $(if $(BR2_PACKAGE_LIBEST_BRSKI),--enable-brski,--disable-brski) \ --disable-examples \ - --without-libcoap-dir + --without-libcoap-dir \ + --with-system-libsafec ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) LIBEST_DEPENDENCIES += libexecinfo @@ -55,13 +58,6 @@ else LIBEST_CONF_OPTS += --without-uriparser-dir endif -ifeq ($(BR2_PACKAGE_SAFECLIB),y) -LIBEST_CONF_OPTS += --with-system-libsafec -LIBEST_DEPENDENCIES += safeclib -else -LIBEST_CONF_OPTS += --without-system-libsafec -endif - define LIBEST_INSTALL_PC $(INSTALL) -c -m 0644 $(LIBEST_PKGDIR)/libest.pc \ $(STAGING_DIR)/usr/lib/pkgconfig/libest.pc diff --git a/package/libestr/libestr.hash b/package/libestr/libestr.hash index 6445d0108..61ab32787 100644 --- a/package/libestr/libestr.hash +++ b/package/libestr/libestr.hash @@ -1,5 +1,5 @@ # From http://libestr.adiscon.com/download/libestr-0-1-11/ -sha256 46632b2785ff4a231dcf241eeb0dcb5fc0c7d4da8ee49cf5687722cdbe8b2024 libestr-0.1.11.tar.gz +sha256 46632b2785ff4a231dcf241eeb0dcb5fc0c7d4da8ee49cf5687722cdbe8b2024 libestr-0.1.11.tar.gz # Hash for license file: -sha256 835b4793da5cbb8965fbd63905b55a4cb4310b7d1b882077d23066b08f901ff8 COPYING +sha256 835b4793da5cbb8965fbd63905b55a4cb4310b7d1b882077d23066b08f901ff8 COPYING diff --git a/package/libev/libev.mk b/package/libev/libev.mk index 9f3c19d46..cbd5433d7 100644 --- a/package/libev/libev.mk +++ b/package/libev/libev.mk @@ -10,6 +10,13 @@ LIBEV_INSTALL_STAGING = YES LIBEV_LICENSE = BSD-2-Clause or GPL-2.0+ 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 +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +LIBEV_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm" +endif + # The 'compatibility' event.h header conflicts with libevent # It's completely unnecessary for BR packages so remove it define LIBEV_DISABLE_EVENT_H_INSTALL diff --git a/package/libevdev/libevdev.hash b/package/libevdev/libevdev.hash index 68a5ebdcb..dd76e158e 100644 --- a/package/libevdev/libevdev.hash +++ b/package/libevdev/libevdev.hash @@ -1,6 +1,6 @@ -# From https://lists.freedesktop.org/archives/input-tools/2021-November/001573.html -sha256 2f729e3480695791f9482e8388bd723402b89f0eaf118057bbdea3cecee9b237 libevdev-1.12.0.tar.xz -sha512 6c1c1362d5112cdf3816d1f735c27e625f5463ebf10a83d675cd9364c3fb291ebcb91c051da442f1a36ed28ba7dd99af74546707f61274f7d5715c544a0ed04c libevdev-1.12.0.tar.xz +# From https://lists.freedesktop.org/archives/input-tools/2022-March/001574.html +sha256 1dbba41bc516d3ca7abc0da5b862efe3ea8a7018fa6e9b97ce9d39401b22426c libevdev-1.12.1.tar.xz +sha512 eefce287a665e4f89eb2e0437dfefd45ecf8925c7dac35a1bdd46158541f77f2032c6146900a30a01321751d55a9b537bd1d61777cca9cfa02c39a6e31c97be4 libevdev-1.12.1.tar.xz # Hash for license files: sha256 6f13de7ce28e4948ba95170e0723ee1254c1978ce1f127af82aeca597b567cb9 COPYING diff --git a/package/libevdev/libevdev.mk b/package/libevdev/libevdev.mk index cd80154be..726a5afce 100644 --- a/package/libevdev/libevdev.mk +++ b/package/libevdev/libevdev.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBEVDEV_VERSION = 1.12.0 +LIBEVDEV_VERSION = 1.12.1 LIBEVDEV_SITE = http://www.freedesktop.org/software/libevdev LIBEVDEV_SOURCE = libevdev-$(LIBEVDEV_VERSION).tar.xz LIBEVDEV_LICENSE = MIT diff --git a/package/libfcgi/libfcgi.hash b/package/libfcgi/libfcgi.hash index 110461235..83860a4f3 100644 --- a/package/libfcgi/libfcgi.hash +++ b/package/libfcgi/libfcgi.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 1fe83501edfc3a7ec96bb1e69db3fd5ea1730135bd73ab152186fd0b437013bc libfcgi-2.4.2.tar.gz -sha256 f0a8fe4513a43e8eebb24cdcf9d2e7efc52e4d8259178c6d76d3d84418397d81 LICENSE.TERMS +sha256 1fe83501edfc3a7ec96bb1e69db3fd5ea1730135bd73ab152186fd0b437013bc libfcgi-2.4.2.tar.gz +sha256 f0a8fe4513a43e8eebb24cdcf9d2e7efc52e4d8259178c6d76d3d84418397d81 LICENSE.TERMS diff --git a/package/libfreefare/libfreefare.hash b/package/libfreefare/libfreefare.hash index ed982c9dd..9115518a3 100644 --- a/package/libfreefare/libfreefare.hash +++ b/package/libfreefare/libfreefare.hash @@ -1,5 +1,5 @@ # From https://github.com/nfc-tools/libfreefare/releases/download/libfreefare-0.4.0/libfreefare-0.4.0.tar.bz2 -sha256 bfa31d14a99a1247f5ed49195d6373de512e3eb75bf1627658b40cf7f876bc64 libfreefare-0.4.0.tar.bz2 +sha256 bfa31d14a99a1247f5ed49195d6373de512e3eb75bf1627658b40cf7f876bc64 libfreefare-0.4.0.tar.bz2 # Hash for license file: -sha256 be6209dfd763a0ba77fbe990cfd2512804441d8b5f0cad927baa3341b50fcade COPYING +sha256 be6209dfd763a0ba77fbe990cfd2512804441d8b5f0cad927baa3341b50fcade COPYING diff --git a/package/libfreeglut/libfreeglut.hash b/package/libfreeglut/libfreeglut.hash index 2771cbde2..b20f5b09b 100644 --- a/package/libfreeglut/libfreeglut.hash +++ b/package/libfreeglut/libfreeglut.hash @@ -1,6 +1,6 @@ # From http://sourceforge.net/projects/freeglut/files/freeglut/3.2.1/ -md5 cd5c670c1086358598a6d4a9d166949d freeglut-3.2.1.tar.gz -sha1 7a62e0d2caad92ff745bc5037592b2753f0b2f20 freeglut-3.2.1.tar.gz +md5 cd5c670c1086358598a6d4a9d166949d freeglut-3.2.1.tar.gz +sha1 7a62e0d2caad92ff745bc5037592b2753f0b2f20 freeglut-3.2.1.tar.gz # Locally computed -sha256 d4000e02102acaf259998c870e25214739d1f16f67f99cb35e4f46841399da68 freeglut-3.2.1.tar.gz -sha256 b6593d5ec4c113a274abb85b10e8615895cb0ddb89f7912af5fe5aa8df38a275 COPYING +sha256 d4000e02102acaf259998c870e25214739d1f16f67f99cb35e4f46841399da68 freeglut-3.2.1.tar.gz +sha256 b6593d5ec4c113a274abb85b10e8615895cb0ddb89f7912af5fe5aa8df38a275 COPYING diff --git a/package/libfreeimage/0004-fixed-C-11-warnings.patch b/package/libfreeimage/0004-fixed-C-11-warnings.patch new file mode 100644 index 000000000..cf9c47303 --- /dev/null +++ b/package/libfreeimage/0004-fixed-C-11-warnings.patch @@ -0,0 +1,94 @@ +fixed C++11 warnings + +Signed-off-by: Fabrice Fontaine +[Retrieved from: https://sourceforge.net/p/freeimage/svn/1896] + +Index: trunk/Source/FreeImage/CacheFile.cpp +=================================================================== +--- trunk/Source/FreeImage/CacheFile.cpp (révision 1895) ++++ trunk/Source/FreeImage/CacheFile.cpp (révision 1896) +@@ -147,10 +147,14 @@ + m_current_block->data = new BYTE[BLOCK_SIZE]; + + fseek(m_file, m_current_block->nr * BLOCK_SIZE, SEEK_SET); +- fread(m_current_block->data, BLOCK_SIZE, 1, m_file); +- +- m_page_cache_mem.splice(m_page_cache_mem.begin(), m_page_cache_disk, it->second); +- m_page_map[nr] = m_page_cache_mem.begin(); ++ if (fread(m_current_block->data, BLOCK_SIZE, 1, m_file) == 1) { ++ m_page_cache_mem.splice(m_page_cache_mem.begin(), m_page_cache_disk, it->second); ++ m_page_map[nr] = m_page_cache_mem.begin(); ++ } ++ else { ++ FreeImage_OutputMessageProc(FIF_UNKNOWN, "Failed to lock a block in CacheFile"); ++ return NULL; ++ } + } + + // if the memory cache size is too large, swap an item to disc +Index: trunk/Source/FreeImage/MultiPage.cpp +=================================================================== +--- trunk/Source/FreeImage/MultiPage.cpp (révision 1895) ++++ trunk/Source/FreeImage/MultiPage.cpp (révision 1896) +@@ -271,8 +271,8 @@ + } + } + +- std::auto_ptr bitmap (new FIMULTIBITMAP); +- std::auto_ptr header (new MULTIBITMAPHEADER); ++ std::unique_ptr bitmap (new FIMULTIBITMAP); ++ std::unique_ptr header (new MULTIBITMAPHEADER); + header->m_filename = filename; + // io is default + header->node = node; +@@ -339,8 +339,8 @@ + PluginNode *node = list->FindNodeFromFIF(fif); + + if (node) { +- std::auto_ptr bitmap (new FIMULTIBITMAP); +- std::auto_ptr header (new MULTIBITMAPHEADER); ++ std::unique_ptr bitmap (new FIMULTIBITMAP); ++ std::unique_ptr header (new MULTIBITMAPHEADER); + header->io = *io; + header->node = node; + header->fif = fif; +Index: trunk/Source/FreeImage/PSDParser.cpp +=================================================================== +--- trunk/Source/FreeImage/PSDParser.cpp (révision 1895) ++++ trunk/Source/FreeImage/PSDParser.cpp (révision 1896) +@@ -97,7 +97,7 @@ + template + class PSDGetValue { + public: +- static inline int get(const BYTE * iprBuffer) {} // error ++ static inline int get(const BYTE * iprBuffer) { return -1; } // error + }; + + template <> +Index: trunk/Source/FreeImage/PluginPSD.cpp +=================================================================== +--- trunk/Source/FreeImage/PluginPSD.cpp (révision 1895) ++++ trunk/Source/FreeImage/PluginPSD.cpp (révision 1896) +@@ -127,7 +127,7 @@ + static BOOL DLL_CALLCONV + Save(FreeImageIO *io, FIBITMAP *dib, fi_handle handle, int page, int flags, void *data) { + if(!handle) { +- return NULL; ++ return FALSE; + } + try { + psdParser parser; +Index: trunk/Source/FreeImage/PluginHDR.cpp +=================================================================== +--- trunk/Source/FreeImage/PluginHDR.cpp (révision 1895) ++++ trunk/Source/FreeImage/PluginHDR.cpp (révision 1896) +@@ -244,7 +244,8 @@ + } + else if((buf[0] == '#') && (buf[1] == 0x20)) { + header_info->valid |= RGBE_VALID_COMMENT; +- strcpy(header_info->comment, buf); ++ strncpy(header_info->comment, buf, HDR_MAXLINE - 1); ++ header_info->comment[HDR_MAXLINE - 1] = '\0'; + } + } + if(!bHeaderFound || !bFormatFound) { diff --git a/package/libfreeimage/libfreeimage.hash b/package/libfreeimage/libfreeimage.hash index 6d8ba2040..388f3bb52 100644 --- a/package/libfreeimage/libfreeimage.hash +++ b/package/libfreeimage/libfreeimage.hash @@ -1,9 +1,9 @@ # From https://sourceforge.net/projects/freeimage/files/Source%20Distribution/3.18.0/ -md5 f8ba138a3be233a3eed9c456e42e2578 FreeImage3180.zip -sha1 38daa9d8f1bca2330a2eaa42ec66fbe6ede7dce9 FreeImage3180.zip +md5 f8ba138a3be233a3eed9c456e42e2578 FreeImage3180.zip +sha1 38daa9d8f1bca2330a2eaa42ec66fbe6ede7dce9 FreeImage3180.zip # Locally computed -sha256 f41379682f9ada94ea7b34fe86bf9ee00935a3147be41b6569c9605a53e438fd FreeImage3180.zip -sha256 d51615a1a47f1ddbb027920d60d3fc30a00e1284c795a47857883e641349fadf license-gplv2.txt -sha256 084be110e3e8757d8e6945cda1fbc7e5073bbe688dc19b92c0d8440155d8e282 license-gplv3.txt -sha256 0bb9a3123297c73ae6e19c70459fb0e58f313f67ca63176fd43f8e77668b8243 license-fi.txt +sha256 f41379682f9ada94ea7b34fe86bf9ee00935a3147be41b6569c9605a53e438fd FreeImage3180.zip +sha256 d51615a1a47f1ddbb027920d60d3fc30a00e1284c795a47857883e641349fadf license-gplv2.txt +sha256 084be110e3e8757d8e6945cda1fbc7e5073bbe688dc19b92c0d8440155d8e282 license-gplv3.txt +sha256 0bb9a3123297c73ae6e19c70459fb0e58f313f67ca63176fd43f8e77668b8243 license-fi.txt diff --git a/package/libfribidi/libfribidi.hash b/package/libfribidi/libfribidi.hash index da25b2d24..7e5df9811 100644 --- a/package/libfribidi/libfribidi.hash +++ b/package/libfribidi/libfribidi.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 30f93e9c63ee627d1a2cedcf59ac34d45bf30240982f99e44c6e015466b4e73d fribidi-1.0.11.tar.xz +sha256 0cd233f97fc8c67bb3ac27ce8440def5d3ffacf516765b91c2cc654498293495 fribidi-1.0.12.tar.xz sha256 32434afcc8666ba060e111d715bfdb6c2d5dd8a35fa4d3ab8ad67d8f850d2f2b COPYING diff --git a/package/libfribidi/libfribidi.mk b/package/libfribidi/libfribidi.mk index adbd786db..ec86f468a 100644 --- a/package/libfribidi/libfribidi.mk +++ b/package/libfribidi/libfribidi.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBFRIBIDI_VERSION = 1.0.11 +LIBFRIBIDI_VERSION = 1.0.12 LIBFRIBIDI_SOURCE = fribidi-$(LIBFRIBIDI_VERSION).tar.xz LIBFRIBIDI_SITE = https://github.com/fribidi/fribidi/releases/download/v$(LIBFRIBIDI_VERSION) LIBFRIBIDI_LICENSE = LGPL-2.1+ diff --git a/package/libftdi1/0003-CMakeLists.txt-fix-static-build-with-libusb-and-lato.patch b/package/libftdi1/0003-CMakeLists.txt-fix-static-build-with-libusb-and-lato.patch new file mode 100644 index 000000000..c818c58d6 --- /dev/null +++ b/package/libftdi1/0003-CMakeLists.txt-fix-static-build-with-libusb-and-lato.patch @@ -0,0 +1,47 @@ +From b5b8fab6063ad90bb5ef05a72708ecde1796bc81 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 13 May 2022 18:11:50 +0200 +Subject: [PATCH] CMakeLists.txt: fix static build with libusb and -latomic + +Use pkg-config to retrieve libusb dependencies such as -latomic and +avoid the following static build failure: + +/nvmedata/autobuild/instance-29/output-1/per-package/libftdi1/host/bin/../lib/gcc/sparc-buildroot-linux-uclibc/10.3.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: /nvmedata/autobuild/instance-29/output-1/per-package/libftdi1/host/sparc-buildroot-linux-uclibc/sysroot/lib/libusb-1.0.a(core.o): in function `libusb_unref_device': +/nvmedata/autobuild/instance-29/output-1/build/libusb-1.0.25/libusb/core.c:1186: undefined reference to `__atomic_fetch_add_4' + +Fixes: + - http://autobuild.buildroot.org/results/1ca7cd85ae60ad4797a6d8a83b2fb51d7eab96d9 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +http://developer.intra2net.com/git/?p=libftdi;a=commit;h=b5b8fab6063ad90bb5ef05a72708ecde1796bc81] +--- + CMakeLists.txt | 12 ++++++++++-- + 1 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 58f664a..d20aa94 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -25,8 +25,16 @@ if(${CMAKE_BUILD_TYPE} STREQUAL Debug) + endif(${CMAKE_BUILD_TYPE} STREQUAL Debug) + + # find libusb +-find_package ( USB1 REQUIRED ) +-include_directories ( ${LIBUSB_INCLUDE_DIR} ) ++find_package( PkgConfig ) ++if (PkgConfig_FOUND) ++ pkg_check_modules( LIBUSB libusb-1.0 ) ++ if (LIBUSB_FOUND) ++ include_directories ( ${LIBUSB_INCLUDE_DIRS} ) ++ else() ++ find_package ( USB1 REQUIRED ) ++ include_directories ( ${LIBUSB_INCLUDE_DIR} ) ++ endif() ++endif() + + # Find Boost + if (FTDIPP OR BUILD_TESTS) +-- +1.7.1 + diff --git a/package/libftdi1/libftdi1.mk b/package/libftdi1/libftdi1.mk index d2e3f42e1..66798addc 100644 --- a/package/libftdi1/libftdi1.mk +++ b/package/libftdi1/libftdi1.mk @@ -8,7 +8,7 @@ LIBFTDI1_VERSION = 1.5 LIBFTDI1_SOURCE = libftdi1-$(LIBFTDI1_VERSION).tar.bz2 LIBFTDI1_SITE = http://www.intra2net.com/en/developer/libftdi/download LIBFTDI1_INSTALL_STAGING = YES -LIBFTDI1_DEPENDENCIES = libusb +LIBFTDI1_DEPENDENCIES = host-pkgconf libusb LIBFTDI1_LICENSE = LGPL-2.1 (libftdi1), MIT (libftdi1) LIBFTDI1_LICENSE_FILES = LICENSE COPYING.LIB LIBFTDI1_CONFIG_SCRIPTS = libftdi1-config diff --git a/package/libfuse/libfuse.hash b/package/libfuse/libfuse.hash index f52232594..3ab322489 100644 --- a/package/libfuse/libfuse.hash +++ b/package/libfuse/libfuse.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -sha256 d0e69d5d608cc22ff4843791ad097f554dd32540ddc9bed7638cc6fea7c1b4b5 fuse-2.9.9.tar.gz +sha256 d0e69d5d608cc22ff4843791ad097f554dd32540ddc9bed7638cc6fea7c1b4b5 fuse-2.9.9.tar.gz # Hash for license files: -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/libgcrypt/libgcrypt.mk b/package/libgcrypt/libgcrypt.mk index e5fdfcfc8..e8ffe00d7 100644 --- a/package/libgcrypt/libgcrypt.mk +++ b/package/libgcrypt/libgcrypt.mk @@ -26,8 +26,8 @@ LIBGCRYPT_CONF_OPTS += --disable-asm endif # Code doesn't build in thumb mode -ifeq ($(BR2_arm),y) -LIBGCRYPT_CONF_ENV += CFLAGS="$(patsubst -mthumb,,$(TARGET_CFLAGS))" +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +LIBGCRYPT_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm" endif $(eval $(autotools-package)) diff --git a/package/libgdiplus/libgdiplus.hash b/package/libgdiplus/libgdiplus.hash index 3a2e5ff25..11cacc13f 100644 --- a/package/libgdiplus/libgdiplus.hash +++ b/package/libgdiplus/libgdiplus.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 1fd034f4b636214cc24e94c563cd10b3f3444d9f0660927b60e63fd4131d97fa libgdiplus-6.0.5.tar.gz -sha256 81317bf837e02a116dc20b032fa1d0cbf9ec357621f141ff2c2daf26c17cbb5d LICENSE +sha256 1fd034f4b636214cc24e94c563cd10b3f3444d9f0660927b60e63fd4131d97fa libgdiplus-6.0.5.tar.gz +sha256 81317bf837e02a116dc20b032fa1d0cbf9ec357621f141ff2c2daf26c17cbb5d LICENSE diff --git a/package/libgee/Config.in b/package/libgee/Config.in index 07c387c98..cb33ec9ec 100644 --- a/package/libgee/Config.in +++ b/package/libgee/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_LIBGEE depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 select BR2_PACKAGE_LIBGLIB2 help Libgee is an utility library providing GObject-based @@ -10,6 +11,7 @@ config BR2_PACKAGE_LIBGEE https://wiki.gnome.org/Projects/Libgee -comment "libgee needs a toolchain w/ wchar, threads" +comment "libgee needs a toolchain w/ wchar, threads, gcc >= 4.9" depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/libgit2/Config.in b/package/libgit2/Config.in index a6a9728ff..5d28f054f 100644 --- a/package/libgit2/Config.in +++ b/package/libgit2/Config.in @@ -12,3 +12,13 @@ config BR2_PACKAGE_LIBGIT2 comment "libgit2 needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS + +if BR2_PACKAGE_LIBGIT2 + +config BR2_PACKAGE_LIBGIT2_CLI + bool "enable command line interface (git2_cli)" + help + Enable a command-line interface for libgit2. + It aims to be git-compatible. + +endif diff --git a/package/libgit2/libgit2.hash b/package/libgit2/libgit2.hash index 07b1a260a..e834525df 100644 --- a/package/libgit2/libgit2.hash +++ b/package/libgit2/libgit2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 192eeff84596ff09efb6b01835a066f2df7cd7985e0991c79595688e6b36444e libgit2-1.3.0.tar.gz -sha256 8b7e4f54f8bf210c8fe010a49571a1ee57463ef020cc43f051d4d3fbb74942af COPYING +sha256 7074f1e2697992b82402501182db254fe62d64877b12f6e4c64656516f4cde88 libgit2-1.5.1.tar.gz +sha256 0fc09da43d666b5b0cf5695defc3100d5cf387936b260ebab37e396d7e0dbc83 COPYING diff --git a/package/libgit2/libgit2.mk b/package/libgit2/libgit2.mk index 6cc0f1ea7..c962c8030 100644 --- a/package/libgit2/libgit2.mk +++ b/package/libgit2/libgit2.mk @@ -4,21 +4,25 @@ # ################################################################################ -LIBGIT2_VERSION = 1.3.0 +LIBGIT2_VERSION = 1.5.1 LIBGIT2_SITE = $(call github,libgit2,libgit2,v$(LIBGIT2_VERSION)) -LIBGIT2_LICENSE = GPL-2.0 with linking exception, MIT (sha1), wildmatch license (wildmatch) +LIBGIT2_LICENSE = \ + GPL-2.0 with linking exception, \ + MIT (sha1), \ + BSD-3-Clause (sha256), \ + wildmatch license (wildmatch), \ + CC0-1.0 (xoroshiro256) LIBGIT2_LICENSE_FILES = COPYING LIBGIT2_CPE_ID_VENDOR = libgit2_project LIBGIT2_INSTALL_STAGING = YES LIBGIT2_CONF_OPTS = \ -DUSE_GSSAPI=OFF \ - -DBUILD_CLAR=OFF \ -DUSE_ICONV=ON \ -DREGEX_BACKEND=regcomp \ -DUSE_HTTP_PARSER=system \ -DUSE_NTLMCLIENT=OFF \ - -DTHREADSAFE=$(if $(BR2_TOOLCHAIN_HAS_THREADS),ON,OFF) + -DUSE_THREADS=$(if $(BR2_TOOLCHAIN_HAS_THREADS),ON,OFF) LIBGIT2_DEPENDENCIES = zlib libhttpparser @@ -45,4 +49,16 @@ else LIBGIT2_CONF_OPTS += -DUSE_HTTPS=OFF endif +ifeq ($(BR2_PACKAGE_LIBGIT2_CLI),y) +LIBGIT2_CONF_OPTS += -DBUILD_CLI=ON +else +LIBGIT2_CONF_OPTS += -DBUILD_CLI=OFF +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +LIBGIT2_CONF_OPTS += \ + -DCMAKE_EXE_LINKER_FLAGS=-latomic \ + -DCMAKE_SHARED_LINKER_FLAGS=-latomic +endif + $(eval $(cmake-package)) diff --git a/package/libglade/libglade.hash b/package/libglade/libglade.hash index b96c5814b..d01c83be2 100644 --- a/package/libglade/libglade.hash +++ b/package/libglade/libglade.hash @@ -1,5 +1,5 @@ # From http://ftp.gnome.org/pub/GNOME/sources/libglade/2.6/libglade-2.6.4.sha256sum -sha256 64361e7647839d36ed8336d992fd210d3e8139882269bed47dc4674980165dec libglade-2.6.4.tar.bz2 +sha256 64361e7647839d36ed8336d992fd210d3e8139882269bed47dc4674980165dec libglade-2.6.4.tar.bz2 # Hash for license file: -sha256 94b03f1a60a7fd5007149530626a895a6ef5a8b9342abfd56860c5f3956f5d23 COPYING +sha256 94b03f1a60a7fd5007149530626a895a6ef5a8b9342abfd56860c5f3956f5d23 COPYING diff --git a/package/libglib2/0002-remove-cpp-requirement.patch b/package/libglib2/0002-remove-cpp-requirement.patch index 2f9522893..b5603c92f 100644 --- a/package/libglib2/0002-remove-cpp-requirement.patch +++ b/package/libglib2/0002-remove-cpp-requirement.patch @@ -35,7 +35,7 @@ index 4bbf4c2..ac59f4e 100644 @@ -1,4 +1,4 @@ -project('glib', 'c', 'cpp', +project('glib', 'c', - version : '2.70.0', + version : '2.70.4', # NOTE: We keep this pinned at 0.49 because that's what Debian 10 ships meson_version : '>= 0.49.2', @@ -10,7 +10,6 @@ project('glib', 'c', 'cpp', @@ -46,7 +46,7 @@ index 4bbf4c2..ac59f4e 100644 cc_can_run = not meson.is_cross_build() or meson.has_exe_wrapper() -@@ -1679,20 +1678,6 @@ if g_have_iso_c_varargs +@@ -1696,20 +1695,6 @@ if g_have_iso_c_varargs #endif''') endif @@ -67,7 +67,7 @@ index 4bbf4c2..ac59f4e 100644 g_have_gnuc_varargs = cc.compiles(''' void some_func (void) { int a(int p1, int p2, int p3); -@@ -2330,7 +2315,6 @@ subdir('gobject') +@@ -2339,7 +2324,6 @@ subdir('gobject') subdir('gthread') subdir('gmodule') subdir('gio') diff --git a/package/libglib2/0003-Add-Wno-format-nonliteral-to-compiler-arguments.patch b/package/libglib2/0003-Add-Wno-format-nonliteral-to-compiler-arguments.patch index 67aea7982..e21239301 100644 --- a/package/libglib2/0003-Add-Wno-format-nonliteral-to-compiler-arguments.patch +++ b/package/libglib2/0003-Add-Wno-format-nonliteral-to-compiler-arguments.patch @@ -16,7 +16,7 @@ diff --git a/meson.build b/meson.build index 3c615b7..7cae4e8 100644 --- a/meson.build +++ b/meson.build -@@ -431,6 +431,7 @@ if cc.get_id() == 'gcc' or cc.get_id() == 'clang' +@@ -435,6 +435,7 @@ if cc.get_id() == 'gcc' or cc.get_id() == 'clang' # building with -Wbad-function-cast. '-Wno-bad-function-cast', '-Wno-cast-function-type', diff --git a/package/libglib2/0004-meson.build-add-girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch b/package/libglib2/0004-meson.build-add-girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch index a29587bd3..db77a7320 100644 --- a/package/libglib2/0004-meson.build-add-girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch +++ b/package/libglib2/0004-meson.build-add-girdir-to-gio-2.0.pc-and-glib-2.0.pc.patch @@ -23,7 +23,7 @@ diff --git a/gio/meson.build b/gio/meson.build index 29473d26b..112d4ada9 100644 --- a/gio/meson.build +++ b/gio/meson.build -@@ -831,6 +831,7 @@ pkg.generate(libgio, +@@ -841,6 +841,7 @@ pkg.generate(libgio, variables : ['datadir=' + join_paths('${prefix}', get_option('datadir')), 'schemasdir=' + join_paths('${datadir}', schemas_subdir), 'bindir=' + join_paths('${prefix}', get_option('bindir')), @@ -35,7 +35,7 @@ diff --git a/glib/meson.build b/glib/meson.build index f78f32969..6c5486699 100644 --- a/glib/meson.build +++ b/glib/meson.build -@@ -377,6 +377,7 @@ pkg.generate(libglib, +@@ -384,6 +384,7 @@ pkg.generate(libglib, subdirs : ['glib-2.0'], extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags, variables : ['bindir=' + join_paths('${prefix}', get_option('bindir')), diff --git a/package/libglib2/libglib2.hash b/package/libglib2/libglib2.hash index 580be3e08..f0f0cb55a 100644 --- a/package/libglib2/libglib2.hash +++ b/package/libglib2/libglib2.hash @@ -1,4 +1,4 @@ -# https://download.gnome.org/sources/glib/2.70/glib-2.70.0.sha256sum -sha256 200d7df811c5ba634afbf109f14bb40ba7fde670e89389885da14e27c0840742 glib-2.70.0.tar.xz +# https://download.gnome.org/sources/glib/2.70/glib-2.70.4.sha256sum +sha256 ab3d176f3115dcc4e5d02db795984e04e4f4b48d836252e23e8c468e9d423c33 glib-2.70.4.tar.xz # License files, locally calculated sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk index d3cba1a8b..18f5b329c 100644 --- a/package/libglib2/libglib2.mk +++ b/package/libglib2/libglib2.mk @@ -5,7 +5,7 @@ ################################################################################ LIBGLIB2_VERSION_MAJOR = 2.70 -LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).0 +LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).4 LIBGLIB2_SOURCE = glib-$(LIBGLIB2_VERSION).tar.xz LIBGLIB2_SITE = http://ftp.gnome.org/pub/gnome/sources/glib/$(LIBGLIB2_VERSION_MAJOR) LIBGLIB2_LICENSE = LGPL-2.1+ diff --git a/package/libglvnd/Config.in b/package/libglvnd/Config.in index d020c2146..f471e289b 100644 --- a/package/libglvnd/Config.in +++ b/package/libglvnd/Config.in @@ -24,7 +24,7 @@ config BR2_PACKAGE_LIBGLVND_DISPATCH_GL depends on BR2_PACKAGE_XORG7 # libx11, libXext, xorgproto select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXEXT - select BR2_PACKAGE_XLIB_XORGPROTO + select BR2_PACKAGE_XORGPROTO select BR2_PACKAGE_HAS_LIBGL config BR2_PACKAGE_LIBGLVND_DISPATCH_EGL diff --git a/package/libgpg-error/Config.in b/package/libgpg-error/Config.in index 03157dd9f..5a2c14ead 100644 --- a/package/libgpg-error/Config.in +++ b/package/libgpg-error/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS bool # see src/syscfg/ default y if \ - BR2_aarch64 || BR2_aarch64_eb || \ + BR2_aarch64 || BR2_aarch64_be || \ BR2_arm || BR2_armeb || \ BR2_i386 || BR2_mips || \ BR2_mipsel || BR2_mips64 || \ @@ -28,7 +28,7 @@ config BR2_PACKAGE_LIBGPG_ERROR config BR2_PACKAGE_LIBGPG_ERROR_SYSCFG string default "aarch64-unknown-linux-gnu" \ - if BR2_aarch64 || BR2_aarch64_eb + if BR2_aarch64 || BR2_aarch64_be default "arm-unknown-linux-gnueabi" \ if BR2_arm || BR2_armeb default "i686-pc-linux-gnu" \ diff --git a/package/libgpgme/libgpgme.mk b/package/libgpgme/libgpgme.mk index f61e9fe41..b42a1a363 100644 --- a/package/libgpgme/libgpgme.mk +++ b/package/libgpgme/libgpgme.mk @@ -10,7 +10,7 @@ LIBGPGME_SOURCE = gpgme-$(LIBGPGME_VERSION).tar.bz2 LIBGPGME_LICENSE = LGPL-2.1+ LIBGPGME_LICENSE_FILES = COPYING.LESSER LIBGPGME_CPE_ID_VENDOR = gnupg -LIBGPGME_CPE_ID_PRODUCT = gpgpme +LIBGPGME_CPE_ID_PRODUCT = gpgme LIBGPGME_INSTALL_STAGING = YES LIBGPGME_DEPENDENCIES = libassuan libgpg-error LIBGPGME_CONFIG_SCRIPTS = gpgme-config diff --git a/package/libgtk3/libgtk3.hash b/package/libgtk3/libgtk3.hash index c23abcb51..c68c6e90f 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.31.sha256sum -sha256 423c3e7fdb4c459ee889e35fd4d71fd2623562541c1041b11c07e5ad1ff10bf9 gtk+-3.24.31.tar.xz +# From https://download.gnome.org/sources/gtk+/3.24/gtk+-3.24.34.sha256sum +sha256 dbc69f90ddc821b8d1441f00374dc1da4323a2eafa9078e61edbe5eeefa852ec gtk+-3.24.34.tar.xz # Hash for license file: sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/package/libgtk3/libgtk3.mk b/package/libgtk3/libgtk3.mk index f298afade..53d7f6898 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).31 +LIBGTK3_VERSION = $(LIBGTK3_VERSION_MAJOR).34 LIBGTK3_SOURCE = gtk+-$(LIBGTK3_VERSION).tar.xz LIBGTK3_SITE = http://ftp.gnome.org/pub/gnome/sources/gtk+/$(LIBGTK3_VERSION_MAJOR) LIBGTK3_LICENSE = LGPL-2.0+ diff --git a/package/libhtp/libhtp.hash b/package/libhtp/libhtp.hash index eae3009c7..8759823e1 100644 --- a/package/libhtp/libhtp.hash +++ b/package/libhtp/libhtp.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 d5956b49314fc6a058864130fbcf040a12584ee1e38f3b6ea52aedfa99d4c14a libhtp-0.5.39.tar.gz +sha256 0afaff837c295c868db8c967b87b1b5e21c0386c15c3b5ead474799724c54ef8 libhtp-0.5.40.tar.gz sha256 87c93904e5434c81622ea690c2b90097b9f162aaa92a96542649a157dbf98d15 LICENSE diff --git a/package/libhtp/libhtp.mk b/package/libhtp/libhtp.mk index 532eaa340..bb8aa73b4 100644 --- a/package/libhtp/libhtp.mk +++ b/package/libhtp/libhtp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBHTP_VERSION = 0.5.39 +LIBHTP_VERSION = 0.5.40 LIBHTP_SITE = $(call github,OISF,libhtp,$(LIBHTP_VERSION)) LIBHTP_LICENSE = BSD-3-Clause LIBHTP_LICENSE_FILES = LICENSE diff --git a/package/libical/libical.hash b/package/libical/libical.hash index 7edb29bd2..52046bd84 100644 --- a/package/libical/libical.hash +++ b/package/libical/libical.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 089ce3c42d97fbd7a5d4b3c70adbdd82115dd306349c1f5c46a8fb3f8c949592 libical-1.0.1.tar.gz -sha256 c393726f82e6f21df5262110215f6a4382b32046d10afdcfcc49338aa7a191f2 LICENSE +sha256 089ce3c42d97fbd7a5d4b3c70adbdd82115dd306349c1f5c46a8fb3f8c949592 libical-1.0.1.tar.gz +sha256 c393726f82e6f21df5262110215f6a4382b32046d10afdcfcc49338aa7a191f2 LICENSE diff --git a/package/libiconv/libiconv.hash b/package/libiconv/libiconv.hash index 93ad555e1..e3a6125e2 100644 --- a/package/libiconv/libiconv.hash +++ b/package/libiconv/libiconv.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -sha256 ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178 libiconv-1.15.tar.gz +sha256 ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178 libiconv-1.15.tar.gz # Hash for license files: -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING -sha256 56bdea73b6145ef6ac5259b3da390b981d840c24cb03b8e1cbc678de7ecfa18d COPYING.LIB +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 56bdea73b6145ef6ac5259b3da390b981d840c24cb03b8e1cbc678de7ecfa18d COPYING.LIB diff --git a/package/libidn2/libidn2.mk b/package/libidn2/libidn2.mk index 19fbe4aaf..778e26225 100644 --- a/package/libidn2/libidn2.mk +++ b/package/libidn2/libidn2.mk @@ -13,10 +13,12 @@ LIBIDN2_DEPENDENCIES = \ host-pkgconf \ $(TARGET_NLS_DEPENDENCIES) \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) +LIBIDN2_CONF_OPTS = --without-included-libunistring LIBIDN2_INSTALL_STAGING = YES ifeq ($(BR2_PACKAGE_LIBUNISTRING),y) LIBIDN2_DEPENDENCIES += libunistring +LIBIDN2_CONF_OPTS += --with-libunistring-prefix=$(STAGING_DIR)/usr/lib endif ifeq ($(BR2_PACKAGE_LIBIDN2_BINARY),) diff --git a/package/libiec61850/libiec61850.hash b/package/libiec61850/libiec61850.hash index 3a024be7c..a416ecdb4 100644 --- a/package/libiec61850/libiec61850.hash +++ b/package/libiec61850/libiec61850.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 7b832c195ae9f42faa1ccfe1b82b9ff187103155ce45aaca08881be98459d164 libiec61850-1.5.0.tar.gz +sha256 b6d7ffac831e7d9aec3470e45e2f1734071859c95cab4cfe99ffd1091776b3cc libiec61850-1.5.1.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/libiec61850/libiec61850.mk b/package/libiec61850/libiec61850.mk index 6da782ad3..9bd55cb76 100644 --- a/package/libiec61850/libiec61850.mk +++ b/package/libiec61850/libiec61850.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBIEC61850_VERSION = 1.5.0 -LIBIEC61850_SITE = $(call github,mz-automation,libiec61850,v$(LIBIEC61850_VERSION)) +LIBIEC61850_VERSION = 1.5.1 +LIBIEC61850_SITE = https://libiec61850.com/wp-content/uploads/2022/03 LIBIEC61850_INSTALL_STAGING = YES LIBIEC61850_LICENSE = GPL-3.0+ LIBIEC61850_LICENSE_FILES = COPYING diff --git a/package/libiio/Config.in b/package/libiio/Config.in index 98d663e20..21c3a3b43 100644 --- a/package/libiio/Config.in +++ b/package/libiio/Config.in @@ -32,7 +32,7 @@ config BR2_PACKAGE_LIBIIO_NETWORK_BACKEND config BR2_PACKAGE_LIBIIO_USB_BACKEND bool "USB backend" default y - depends on BR2_TOOLCHAIN_HAS_THREADS # from libusb + depends on BR2_TOOLCHAIN_HAS_THREADS # libusb depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb select BR2_PACKAGE_LIBIIO_XML_BACKEND select BR2_PACKAGE_LIBUSB diff --git a/package/libiio/libiio.hash b/package/libiio/libiio.hash index b0a901ca9..c523b5d68 100644 --- a/package/libiio/libiio.hash +++ b/package/libiio/libiio.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 df1577740ea93dca732e7d7c04786600cb083117901dee793f3d38980754af00 libiio-0.23.tar.gz -sha256 102900208eef27b766380135906d431dba87edaa7ec6aa72e6ebd3dd67f3a97b COPYING.txt +sha256 df1577740ea93dca732e7d7c04786600cb083117901dee793f3d38980754af00 libiio-0.23.tar.gz +sha256 102900208eef27b766380135906d431dba87edaa7ec6aa72e6ebd3dd67f3a97b COPYING.txt diff --git a/package/libimxvpuapi/libimxvpuapi.hash b/package/libimxvpuapi/libimxvpuapi.hash index 6e0e5d60c..1ab5196c8 100644 --- a/package/libimxvpuapi/libimxvpuapi.hash +++ b/package/libimxvpuapi/libimxvpuapi.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 7151e10a24929935bada1d3d87626f17e411575b3a4ac0d86440999ad0100a55 libimxvpuapi-0.10.3.tar.gz -sha256 4bb33cc4cd956b56b779b501f18cae46a9e26f8c8500cca86ed758b8bc5e1788 LICENSE +sha256 7151e10a24929935bada1d3d87626f17e411575b3a4ac0d86440999ad0100a55 libimxvpuapi-0.10.3.tar.gz +sha256 4bb33cc4cd956b56b779b501f18cae46a9e26f8c8500cca86ed758b8bc5e1788 LICENSE diff --git a/package/libinput/libinput.hash b/package/libinput/libinput.hash index f18a72781..d8282ff03 100644 --- a/package/libinput/libinput.hash +++ b/package/libinput/libinput.hash @@ -1,6 +1,5 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2021-December/042068.html -sha256 3cae78ccde19d7d0f387e58bc734d4d17ab5f6426f54a9e8b728c90b17baa068 libinput-1.19.3.tar.xz -sha512 f4b776d0da78c687ba21b430a04941ac6b43f68970c82ec9f7360358fdea5ed6a873948ce66a25bcdd64d4b95fa4bf705cc24dbc25c7c0f5fd2d0efbd763f298 libinput-1.19.3.tar.xz +# Locally computed +sha256 08c003f724f361ed21f4dfbfe755a6c115b85385f1418907bb98f185457273f0 libinput-1.20.1.tar.bz2 # License files sha256 80de50b2022a840db044c56db804ca3565600a692c0714babface587acc6d1b0 COPYING diff --git a/package/libinput/libinput.mk b/package/libinput/libinput.mk index 2f9c639c2..6cd298f3b 100644 --- a/package/libinput/libinput.mk +++ b/package/libinput/libinput.mk @@ -4,13 +4,14 @@ # ################################################################################ -LIBINPUT_VERSION = 1.19.3 -LIBINPUT_SOURCE = libinput-$(LIBINPUT_VERSION).tar.xz -LIBINPUT_SITE = http://www.freedesktop.org/software/libinput +LIBINPUT_VERSION = 1.20.1 +LIBINPUT_SOURCE = libinput-$(LIBINPUT_VERSION).tar.bz2 +LIBINPUT_SITE = https://gitlab.freedesktop.org/libinput/libinput/-/archive/$(LIBINPUT_VERSION) LIBINPUT_DEPENDENCIES = host-pkgconf libevdev mtdev udev LIBINPUT_INSTALL_STAGING = YES LIBINPUT_LICENSE = MIT LIBINPUT_LICENSE_FILES = COPYING +LIBINPUT_CPE_ID_VENDOR = freedesktop # Tests need fork, so just disable them everywhere. LIBINPUT_CONF_OPTS = -Dtests=false -Dlibwacom=false -Ddocumentation=false @@ -30,4 +31,21 @@ else LIBINPUT_CONF_OPTS += -Ddebug-gui=false endif +LIBINPUT_PYTHON_TOOLS = libinput-analyze-per-slot-delta \ + libinput-analyze-recording \ + libinput-analyze-touch-down-state \ + libinput-measure-fuzz \ + libinput-measure-touchpad-pressure \ + libinput-measure-touchpad-size \ + libinput-measure-touchpad-tap \ + libinput-measure-touch-size \ + libinput-replay + +define LIBINPUT_REMOVE_UNNEEDED_FILES + $(foreach f,$(LIBINPUT_PYTHON_TOOLS), \ + rm -f $(TARGET_DIR)/usr/libexec/libinput/$(f) + ) +endef +LIBINPUT_POST_INSTALL_TARGET_HOOKS += LIBINPUT_REMOVE_UNNEEDED_FILES + $(eval $(meson-package)) diff --git a/package/libiscsi/libiscsi.hash b/package/libiscsi/libiscsi.hash index b70bb423d..769035837 100644 --- a/package/libiscsi/libiscsi.hash +++ b/package/libiscsi/libiscsi.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 c7848ac722c8361d5064654bc6e926c2be61ef11dd3875020a63931836d806df libiscsi-1.19.0.tar.gz -sha256 88e3eccc48722b2a0eaff456dda94b8e8e123848d01f631969bec8e3c6c6eb85 COPYING -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENCE-GPL-2.txt -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENCE-LGPL-2.1.txt +sha256 c7848ac722c8361d5064654bc6e926c2be61ef11dd3875020a63931836d806df libiscsi-1.19.0.tar.gz +sha256 88e3eccc48722b2a0eaff456dda94b8e8e123848d01f631969bec8e3c6c6eb85 COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENCE-GPL-2.txt +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENCE-LGPL-2.1.txt diff --git a/package/libkcapi/libkcapi.hash b/package/libkcapi/libkcapi.hash index b3c2c749c..49b088021 100644 --- a/package/libkcapi/libkcapi.hash +++ b/package/libkcapi/libkcapi.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 8a08dcbb4d05ede4357cdc9d61c7f2a7f2cd96b7ce2eb41b28e45b2e378267ad libkcapi-1.1.5.tar.xz -sha256 c6b8402a68999b0f84560ab43cdf60f9ff33c4a9a8ced6a40db9d3b787ba5b4a COPYING -sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING.gplv2 -sha256 13aa749a5b0a454917a944ed8fffc530b784f5ead522b1aacaf4ec8aa55a6239 COPYING.bsd +sha256 8a08dcbb4d05ede4357cdc9d61c7f2a7f2cd96b7ce2eb41b28e45b2e378267ad libkcapi-1.1.5.tar.xz +sha256 c6b8402a68999b0f84560ab43cdf60f9ff33c4a9a8ced6a40db9d3b787ba5b4a COPYING +sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING.gplv2 +sha256 13aa749a5b0a454917a944ed8fffc530b784f5ead522b1aacaf4ec8aa55a6239 COPYING.bsd diff --git a/package/libkcapi/libkcapi.mk b/package/libkcapi/libkcapi.mk index 60b3f9438..09c5c028b 100644 --- a/package/libkcapi/libkcapi.mk +++ b/package/libkcapi/libkcapi.mk @@ -15,6 +15,7 @@ LIBKCAPI_CONF_ENV = \ ac_cv_path_DB2PDF="" \ ac_cv_path_DB2PS="" \ ac_cv_path_XMLTO="" +LIBKCAPI_MAKE_OPTS = CPPFLAGS="$(TARGET_CPPFLAGS)" ifeq ($(BR2_PACKAGE_LIBKCAPI_ENCAPP),y) LIBKCAPI_CONF_OPTS += --enable-kcapi-encapp diff --git a/package/libkrb5/0001-Fix-KDC-null-deref-on-TGS-inner-body-null-server.patch b/package/libkrb5/0001-Fix-KDC-null-deref-on-TGS-inner-body-null-server.patch deleted file mode 100644 index ec6f62338..000000000 --- a/package/libkrb5/0001-Fix-KDC-null-deref-on-TGS-inner-body-null-server.patch +++ /dev/null @@ -1,47 +0,0 @@ -From d775c95af7606a51bf79547a94fa52ddd1cb7f49 Mon Sep 17 00:00:00 2001 -From: Greg Hudson -Date: Tue, 3 Aug 2021 01:15:27 -0400 -Subject: [PATCH] Fix KDC null deref on TGS inner body null server - -After the KDC decodes a FAST inner body, it does not check for a null -server. Prior to commit 39548a5b17bbda9eeb63625a201cfd19b9de1c5b this -would typically result in an error from krb5_unparse_name(), but with -the addition of get_local_tgt() it results in a null dereference. Add -a null check. - -Reported by Joseph Sutton of Catalyst. - -CVE-2021-37750: - -In MIT krb5 releases 1.14 and later, an authenticated attacker can -cause a null dereference in the KDC by sending a FAST TGS request with -no server field. - -ticket: 9008 (new) -tags: pullup -target_version: 1.19-next -target_version: 1.18-next - -[Retrieved from: -https://github.com/krb5/krb5/commit/d775c95af7606a51bf79547a94fa52ddd1cb7f49] -Signed-off-by: Fabrice Fontaine ---- - src/kdc/do_tgs_req.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/src/kdc/do_tgs_req.c b/src/kdc/do_tgs_req.c -index 582e497cc9..32dc65fa8e 100644 ---- a/src/kdc/do_tgs_req.c -+++ b/src/kdc/do_tgs_req.c -@@ -204,6 +204,11 @@ process_tgs_req(krb5_kdc_req *request, krb5_data *pkt, - status = "FIND_FAST"; - goto cleanup; - } -+ if (sprinc == NULL) { -+ status = "NULL_SERVER"; -+ errcode = KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN; -+ goto cleanup; -+ } - - errcode = get_local_tgt(kdc_context, &sprinc->realm, header_server, - &local_tgt, &local_tgt_storage, &local_tgt_key); diff --git a/package/libkrb5/libkrb5.hash b/package/libkrb5/libkrb5.hash index 860f82879..94dfa2ed6 100644 --- a/package/libkrb5/libkrb5.hash +++ b/package/libkrb5/libkrb5.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 66085e2f594751e77e82e0dbf7bbc344320fb48a9df2a633cfdd8f7d6da99fc8 krb5-1.18.4.tar.gz +sha256 704aed49b19eb5a7178b34b2873620ec299db08752d6a8574f95d41879ab8851 krb5-1.20.1.tar.gz # Hash for license file: -sha256 7fba8b076bdc2cfef1d0813c5d4067d76d5be60c32d84de22d5d1cf451744feb NOTICE +sha256 cfadcf7b2ead2f3af793c25c00638c9908ac0023b101695f40cb9a03b16811dc NOTICE diff --git a/package/libkrb5/libkrb5.mk b/package/libkrb5/libkrb5.mk index d41e7559a..9bacfaee5 100644 --- a/package/libkrb5/libkrb5.mk +++ b/package/libkrb5/libkrb5.mk @@ -4,21 +4,18 @@ # ################################################################################ -LIBKRB5_VERSION_MAJOR = 1.18 -LIBKRB5_VERSION = $(LIBKRB5_VERSION_MAJOR).4 +LIBKRB5_VERSION_MAJOR = 1.20 +LIBKRB5_VERSION = $(LIBKRB5_VERSION_MAJOR).1 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 +LIBKRB5_LICENSE = MIT, BSD-2-Clause, BSD-3-Clause, BSD-4-Clause, others LIBKRB5_LICENSE_FILES = NOTICE LIBKRB5_CPE_ID_VENDOR = mit LIBKRB5_CPE_ID_PRODUCT = kerberos_5 LIBKRB5_DEPENDENCIES = host-bison $(TARGET_NLS_DEPENDENCIES) LIBKRB5_INSTALL_STAGING = YES -# 0001-Fix-KDC-null-deref-on-TGS-inner-body-null-server.patch -LIBKRB5_IGNORE_CVES += CVE-2021-37750 - # The configure script uses AC_TRY_RUN tests to check for those values, # which doesn't work in a cross-compilation scenario. Therefore, # we feed the configure script with the correct answer for those tests @@ -37,6 +34,11 @@ LIBKRB5_CONF_OPTS = \ --without-tcl \ --disable-rpath +# Enabling static and shared at the same time is not supported +ifeq ($(BR2_SHARED_STATIC_LIBS),y) +LIBKRB5_CONF_OPTS += --disable-static +endif + ifeq ($(BR2_PACKAGE_OPENLDAP),y) LIBKRB5_CONF_OPTS += --with-ldap LIBKRB5_DEPENDENCIES += openldap @@ -44,7 +46,7 @@ else LIBKRB5_CONF_OPTS += --without-ldap endif -ifeq ($(BR2_PACKAGE_OPENSSL),y) +ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) LIBKRB5_CONF_OPTS += \ --enable-pkinit \ --with-crypto-impl=openssl \ diff --git a/package/libks/0001-CMakeLists.txt-honour-BUILD_TESTING.patch b/package/libks/0001-CMakeLists.txt-honour-BUILD_TESTING.patch new file mode 100644 index 000000000..fbe6cabd8 --- /dev/null +++ b/package/libks/0001-CMakeLists.txt-honour-BUILD_TESTING.patch @@ -0,0 +1,41 @@ +From c850e04898a9498d447b43bf346365646ff1b19c Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 13 May 2022 23:12:31 +0200 +Subject: [PATCH] CMakeLists.txt: honour BUILD_TESTING + +Allow the user to disable tests through the standard BUILD_TESTING +option: https://cmake.org/cmake/help/latest/module/CTest.html + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/signalwire/libks/pull/125] +--- + CMakeLists.txt | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5bbac31..37e6bcd 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,5 +1,6 @@ + cmake_minimum_required(VERSION 3.7.2) + ++option(BUILD_TESTING "Build tests" ON) + option(KS_DEBUG_MUTEX "Debug mutexes, only works on linux for now" OFF) + option(KS_DEBUG_SPINLOCK "Debug spinlocks" OFF) + option(KS_DEBUG_POOL "Track pool allocations and provide hooks for rendering them" OFF) +@@ -609,8 +610,10 @@ endif() + #cotire(ks) + + # Add tests +-enable_testing() +-add_subdirectory(tests) ++if (BUILD_TESTING) ++ enable_testing() ++ add_subdirectory(tests) ++endif() + + if (WITH_KS_TEST) + enable_testing() +-- +2.35.1 + diff --git a/package/libks/Config.in b/package/libks/Config.in index 366b5bda7..4781d188b 100644 --- a/package/libks/Config.in +++ b/package/libks/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_LIBKS bool "libks" depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS # dlfcn.h - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # pthread_setname_np() select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID @@ -11,6 +11,6 @@ config BR2_PACKAGE_LIBKS https://github.com/signalwire/libks -comment "libks needs a toolchain w/ C++, threads, dynamic library" +comment "libks needs a toolchain w/ C++, NPTL, dynamic library" depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP \ - || !BR2_TOOLCHAIN_HAS_THREADS + || !BR2_TOOLCHAIN_HAS_THREADS_NPTL diff --git a/package/libks/libks.hash b/package/libks/libks.hash index 5acbcd1ea..dba442bdd 100644 --- a/package/libks/libks.hash +++ b/package/libks/libks.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 73c5751eadad4d3390d61b9765e9b860e0aba7336044ecf8b007dfc1818baa69 libks-1.7.0.tar.gz +sha256 131d7896c81a7f3c9bf06860e4f564ca558d4be1614568fec688b3eb66d38107 libks-1.8.2.tar.gz sha256 1d1327f37b58a4c9ce520fcf9dd3f348c7c639229ee7aed41c47164a8f7836cd copyright diff --git a/package/libks/libks.mk b/package/libks/libks.mk index adf0107b3..c4f0cd5c7 100644 --- a/package/libks/libks.mk +++ b/package/libks/libks.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBKS_VERSION = 1.7.0 +LIBKS_VERSION = 1.8.2 LIBKS_SITE = $(call github,signalwire,libks,v$(LIBKS_VERSION)) LIBKS_LICENSE = MIT LIBKS_LICENSE_FILES = copyright diff --git a/package/libksba/libksba.hash b/package/libksba/libksba.hash index 422048be5..5c6c5eda7 100644 --- a/package/libksba/libksba.hash +++ b/package/libksba/libksba.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 dad683e6f2d915d880aa4bed5cea9a115690b8935b78a1bbe01669189307a48b libksba-1.6.0.tar.bz2 +sha256 3f72c68db30971ebbf14367527719423f0a4d5f8103fc9f4a1c01a9fa440de5c libksba-1.6.3.tar.bz2 # Hash for license files: sha256 8f1b87e551d97b2b23b6d3403a5d598c63ea89824cb8ee351f631f6cab2beaa5 AUTHORS diff --git a/package/libksba/libksba.mk b/package/libksba/libksba.mk index ca5fc1d74..b7c0508df 100644 --- a/package/libksba/libksba.mk +++ b/package/libksba/libksba.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBKSBA_VERSION = 1.6.0 +LIBKSBA_VERSION = 1.6.3 LIBKSBA_SOURCE = libksba-$(LIBKSBA_VERSION).tar.bz2 -LIBKSBA_SITE = ftp://ftp.gnupg.org/gcrypt/libksba +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) LIBKSBA_LICENSE_FILES = AUTHORS COPYING COPYING.GPLv2 COPYING.GPLv3 COPYING.LGPLv3 LIBKSBA_CPE_ID_VENDOR = libksba_project diff --git a/package/libllcp/libllcp.hash b/package/libllcp/libllcp.hash index e6f630173..ff946dd38 100644 --- a/package/libllcp/libllcp.hash +++ b/package/libllcp/libllcp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 4336533304a11ecb3041d211ccecd7759b7c7aad4f44037721803e2da1094d22 libllcp-05dfa8003433a7070bfd8ae02efdb0203bbf34aa.tar.gz -sha256 9ccf26cfe845e0eb8bb58053e47366e7ab6b697ae010f7650978d4b71b7d1fc1 COPYING +sha256 4336533304a11ecb3041d211ccecd7759b7c7aad4f44037721803e2da1094d22 libllcp-05dfa8003433a7070bfd8ae02efdb0203bbf34aa.tar.gz +sha256 9ccf26cfe845e0eb8bb58053e47366e7ab6b697ae010f7650978d4b71b7d1fc1 COPYING diff --git a/package/liblog4c-localtime/liblog4c-localtime.hash b/package/liblog4c-localtime/liblog4c-localtime.hash index d14b79594..66d159503 100644 --- a/package/liblog4c-localtime/liblog4c-localtime.hash +++ b/package/liblog4c-localtime/liblog4c-localtime.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a1f68d8251509c0171f8bfea42f9e2a5255a4185f7dcbe67f584aa09709b2496 liblog4c-localtime-1.0.tar.gz -sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 COPYING +sha256 a1f68d8251509c0171f8bfea42f9e2a5255a4185f7dcbe67f584aa09709b2496 liblog4c-localtime-1.0.tar.gz +sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 COPYING diff --git a/package/liblogging/liblogging.hash b/package/liblogging/liblogging.hash index 618689b49..32cab29b1 100644 --- a/package/liblogging/liblogging.hash +++ b/package/liblogging/liblogging.hash @@ -1,5 +1,5 @@ # From http://www.liblogging.org/ -sha256 338c6174e5c8652eaa34f956be3451f7491a4416ab489aef63151f802b00bf93 liblogging-1.0.6.tar.gz +sha256 338c6174e5c8652eaa34f956be3451f7491a4416ab489aef63151f802b00bf93 liblogging-1.0.6.tar.gz # Hash for license file: -sha256 a5626f700d3ee92513673b5f43733af5b651d9e7a9157d4bd81ceb9c89ec04b0 COPYING +sha256 a5626f700d3ee92513673b5f43733af5b651d9e7a9157d4bd81ceb9c89ec04b0 COPYING diff --git a/package/libloki/libloki.hash b/package/libloki/libloki.hash index 52d67c880..ee9c0a55c 100644 --- a/package/libloki/libloki.hash +++ b/package/libloki/libloki.hash @@ -1,5 +1,5 @@ # From https://sourceforge.net/projects/loki-lib/files/Loki/Loki%200.1.7 -md5 33a24bcbb99fa2ec8fcbbab65649f3f6 loki-0.1.7.tar.bz2 -sha1 006c630217b1e1fd33015dc0597d2d743d8ee4e3 loki-0.1.7.tar.bz2 +md5 33a24bcbb99fa2ec8fcbbab65649f3f6 loki-0.1.7.tar.bz2 +sha1 006c630217b1e1fd33015dc0597d2d743d8ee4e3 loki-0.1.7.tar.bz2 # locally computed -sha256 07553754f6be2738559947db69b0718512665bf4a34015fa3a875b6eb1111198 loki-0.1.7.tar.bz2 +sha256 07553754f6be2738559947db69b0718512665bf4a34015fa3a875b6eb1111198 loki-0.1.7.tar.bz2 diff --git a/package/libmad/libmad.mk b/package/libmad/libmad.mk index 33134e26d..084a533cc 100644 --- a/package/libmad/libmad.mk +++ b/package/libmad/libmad.mk @@ -31,6 +31,13 @@ LIBMAD_IGNORE_CVES += CVE-2017-8374 # is able to properly behave in the face of a missing C++ compiler. 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 +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +LIBMAD_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm" +endif + define LIBMAD_INSTALL_STAGING_PC $(INSTALL) -D package/libmad/mad.pc \ $(STAGING_DIR)/usr/lib/pkgconfig/mad.pc diff --git a/package/libmbim/libmbim.mk b/package/libmbim/libmbim.mk index eba5f0a6e..4f6c0641e 100644 --- a/package/libmbim/libmbim.mk +++ b/package/libmbim/libmbim.mk @@ -6,7 +6,7 @@ LIBMBIM_VERSION = 1.26.2 LIBMBIM_SITE = https://gitlab.freedesktop.org/mobile-broadband/libmbim/-/archive/$(LIBMBIM_VERSION) -LIBMBIM_LICENSE = LGPL-2.0+ (library), GPL-2.0+ (programs) +LIBMBIM_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (programs) LIBMBIM_LICENSE_FILES = COPYING COPYING.LIB LIBMBIM_CPE_ID_VENDOR = freedesktop LIBMBIM_INSTALL_STAGING = YES diff --git a/package/libmbus/libmbus.hash b/package/libmbus/libmbus.hash index 91fe15ced..493bab582 100644 --- a/package/libmbus/libmbus.hash +++ b/package/libmbus/libmbus.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 9fca42592da0ba75df66c6f885a4dbfa916d23e65e3d1ce6e38d940d2a2719a4 libmbus-0.8.0.tar.gz -sha256 ea171a4ae443eca7186f564db2c3cc8b84c1ac343f227f92cd52ec6a948f4a74 COPYING +sha256 9fca42592da0ba75df66c6f885a4dbfa916d23e65e3d1ce6e38d940d2a2719a4 libmbus-0.8.0.tar.gz +sha256 ea171a4ae443eca7186f564db2c3cc8b84c1ac343f227f92cd52ec6a948f4a74 COPYING diff --git a/package/libmdbx/Config.in b/package/libmdbx/Config.in index d13f73938..a9a4ac45c 100644 --- a/package/libmdbx/Config.in +++ b/package/libmdbx/Config.in @@ -13,7 +13,7 @@ config BR2_PACKAGE_LIBMDBX libmdbx surpasses the legendary LMDB in terms of reliability, features and performance. - https://github.com/erthink/libmdbx + https://libmdbx.dqdkfa.ru if BR2_PACKAGE_LIBMDBX diff --git a/package/libmdbx/libmdbx.hash b/package/libmdbx/libmdbx.hash index 2483d14dd..b1a2891b9 100644 --- a/package/libmdbx/libmdbx.hash +++ b/package/libmdbx/libmdbx.hash @@ -1,5 +1,5 @@ -# Hashes from: https://github.com/erthink/libmdbx/releases/ -sha256 884de528f5c2abab2187b7c4c84b769d2551e1a748cbfdf0ae4c0f5c9f8dbd27 libmdbx-amalgamated-0.11.4.tar.gz +# Hashes from: https://libmdbx.dqdkfa.ru/release/SHA256SUMS +sha256 97b03965b5b61727dc4232c50ccb174c632470a3d24438b3c52315bef6fb4033 libmdbx-amalgamated-0.11.14.tar.xz # Locally calculated sha256 310fe25c858a9515fc8c8d7d1f24a67c9496f84a91e0a0e41ea9975b1371e569 LICENSE diff --git a/package/libmdbx/libmdbx.mk b/package/libmdbx/libmdbx.mk index 1aff8fbb4..5e7995f8c 100644 --- a/package/libmdbx/libmdbx.mk +++ b/package/libmdbx/libmdbx.mk @@ -4,13 +4,12 @@ # ################################################################################ -LIBMDBX_VERSION = 0.11.4 -LIBMDBX_SOURCE = libmdbx-amalgamated-$(LIBMDBX_VERSION).tar.gz -LIBMDBX_SITE = https://github.com/erthink/libmdbx/releases/download/v$(LIBMDBX_VERSION) +LIBMDBX_VERSION = 0.11.14 +LIBMDBX_SOURCE = libmdbx-amalgamated-$(LIBMDBX_VERSION).tar.xz +LIBMDBX_SITE = https://libmdbx.dqdkfa.ru/release LIBMDBX_SUPPORTS_IN_SOURCE_BUILD = NO LIBMDBX_LICENSE = OLDAP-2.8 LIBMDBX_LICENSE_FILES = LICENSE -LIBMDBX_REDISTRIBUTE = YES LIBMDBX_STRIP_COMPONENTS = 0 LIBMDBX_INSTALL_STAGING = YES diff --git a/package/libmediaart/libmediaart.mk b/package/libmediaart/libmediaart.mk index 77665fd95..de92cde84 100644 --- a/package/libmediaart/libmediaart.mk +++ b/package/libmediaart/libmediaart.mk @@ -24,6 +24,9 @@ else ifeq ($(BR2_PACKAGE_LIBMEDIAART_BACKEND_QT),y) LIBMEDIAART_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" LIBMEDIAART_DEPENDENCIES += qt5base LIBMEDIAART_CONF_OPTS += -Dimage_library=qt5 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +LIBMEDIAART_LDFLAGS += -latomic +endif endif ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) diff --git a/package/libmemcached/libmemcached.hash b/package/libmemcached/libmemcached.hash index 77d7c478b..ccc31ee7e 100644 --- a/package/libmemcached/libmemcached.hash +++ b/package/libmemcached/libmemcached.hash @@ -1,5 +1,5 @@ # From https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz/+md5 -md5 b3958716b4e53ddc5992e6c49d97e819 libmemcached-1.0.18.tar.gz +md5 b3958716b4e53ddc5992e6c49d97e819 libmemcached-1.0.18.tar.gz # Hash for license file: -sha256 4e9032d0f539276db05519ee3d09ca6167d2134ec91c556e8c80ef3efe633fd2 COPYING +sha256 4e9032d0f539276db05519ee3d09ca6167d2134ec91c556e8c80ef3efe633fd2 COPYING diff --git a/package/libmicrohttpd/libmicrohttpd.hash b/package/libmicrohttpd/libmicrohttpd.hash index 7f95e78a6..ce30e2ba1 100644 --- a/package/libmicrohttpd/libmicrohttpd.hash +++ b/package/libmicrohttpd/libmicrohttpd.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 9278907a6f571b391aab9644fd646a5108ed97311ec66f6359cebbedb0a4e3bb libmicrohttpd-0.9.75.tar.gz +sha256 f0b1547b5a42a6c0f724e8e1c1cb5ce9c4c35fb495e7d780b9930d35011ceb4c libmicrohttpd-0.9.76.tar.gz sha256 7399547209438c93f9b90297954698773d4846cea44cde5ca982c84c45952a3b COPYING diff --git a/package/libmicrohttpd/libmicrohttpd.mk b/package/libmicrohttpd/libmicrohttpd.mk index f75178bc0..4e7b72b65 100644 --- a/package/libmicrohttpd/libmicrohttpd.mk +++ b/package/libmicrohttpd/libmicrohttpd.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMICROHTTPD_VERSION = 0.9.75 +LIBMICROHTTPD_VERSION = 0.9.76 LIBMICROHTTPD_SITE = $(BR2_GNU_MIRROR)/libmicrohttpd LIBMICROHTTPD_LICENSE_FILES = COPYING LIBMICROHTTPD_CPE_ID_VENDOR = gnu diff --git a/package/libminiupnpc/libminiupnpc.mk b/package/libminiupnpc/libminiupnpc.mk index 551a6767c..0633ccd23 100644 --- a/package/libminiupnpc/libminiupnpc.mk +++ b/package/libminiupnpc/libminiupnpc.mk @@ -16,5 +16,6 @@ LIBMINIUPNPC_CPE_ID_VENDOR = miniupnp_project LIBMINIUPNPC_CPE_ID_PRODUCT = miniupnpc LIBMINIUPNPC_CPE_ID_VERSION = $(LIBMINIUPNPC_VERSION_MAJOR) LIBMINIUPNPC_CPE_ID_UPDATE = $(LIBMINIUPNPC_VERSION_MINOR) +LIBMINIUPNPC_CONF_OPTS = -DUPNPC_BUILD_SAMPLE=OFF -DUPNPC_BUILD_TESTS=OFF $(eval $(cmake-package)) diff --git a/package/libmng/libmng.hash b/package/libmng/libmng.hash index 02a493f41..df078dcfd 100644 --- a/package/libmng/libmng.hash +++ b/package/libmng/libmng.hash @@ -1,6 +1,6 @@ # From http://sourceforge.net/projects/libmng/files/libmng-devel/2.0.3/ -md5 e9e899adb1b681b17f14d91e261878c5 libmng-2.0.3.tar.xz -sha1 0f141482ffcef6f8cd4413f945a59310ac2e49af libmng-2.0.3.tar.xz +md5 e9e899adb1b681b17f14d91e261878c5 libmng-2.0.3.tar.xz +sha1 0f141482ffcef6f8cd4413f945a59310ac2e49af libmng-2.0.3.tar.xz # Hash for license file: -sha256 ba280734838eb3f22a85b92a7e62de357d4d4c325029dce723b0cb125c417c35 LICENSE +sha256 ba280734838eb3f22a85b92a7e62de357d4d4c325029dce723b0cb125c417c35 LICENSE diff --git a/package/libmng/libmng.mk b/package/libmng/libmng.mk index 090fe1838..8ffd74c05 100644 --- a/package/libmng/libmng.mk +++ b/package/libmng/libmng.mk @@ -14,7 +14,7 @@ LIBMNG_LICENSE = libmng license LIBMNG_LICENSE_FILES = LICENSE ifeq ($(BR2_PACKAGE_LCMS2),y) -LIBMNG_DEPDENDENCIES += lcms2 +LIBMNG_DEPENDENCIES += lcms2 else LIBMNG_CONF_OPTS += --without-lcms2 endif diff --git a/package/libmnl/libmnl.hash b/package/libmnl/libmnl.hash index e5bb2fa60..4b592333c 100644 --- a/package/libmnl/libmnl.hash +++ b/package/libmnl/libmnl.hash @@ -1,6 +1,7 @@ -# From ftp://ftp.netfilter.org/pub/libmnl/libmnl-1.0.4.tar.bz2.{md5sum,sha1sum} -md5 be9b4b5328c6da1bda565ac5dffadb2d libmnl-1.0.4.tar.bz2 -sha1 2db40dea612e88c62fd321906be40ab5f8f1685a libmnl-1.0.4.tar.bz2 +# 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 -# Hash for license file: -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING +# 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 d3b33db2e..3361d0524 100644 --- a/package/libmnl/libmnl.mk +++ b/package/libmnl/libmnl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMNL_VERSION = 1.0.4 +LIBMNL_VERSION = 1.0.5 LIBMNL_SOURCE = libmnl-$(LIBMNL_VERSION).tar.bz2 LIBMNL_SITE = http://netfilter.org/projects/libmnl/files LIBMNL_INSTALL_STAGING = YES diff --git a/package/libmodsecurity/0004-build-pcre.m4-fix-build-without-pcre.patch b/package/libmodsecurity/0004-build-pcre.m4-fix-build-without-pcre.patch new file mode 100644 index 000000000..5a5baeace --- /dev/null +++ b/package/libmodsecurity/0004-build-pcre.m4-fix-build-without-pcre.patch @@ -0,0 +1,29 @@ +From af96f4fe916adc7dc6d649a07c10b45c978d31a1 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 27 Jul 2022 14:17:20 +0200 +Subject: [PATCH] build/pcre.m4: fix build without pcre + +Don't raise an error if pcre is disabled now that pcre2 is supported + +Signed-off-by: Fabrice Fontaine +[Upstream status: not sent (no feedback on +https://github.com/SpiderLabs/ModSecurity/pull/2596)] +--- + build/pcre.m4 | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/build/pcre.m4 b/build/pcre.m4 +index f6c9ae18..3e40f5c9 100644 +--- a/build/pcre.m4 ++++ b/build/pcre.m4 +@@ -99,7 +99,6 @@ AC_SUBST(PCRE_LD_PATH) + + if test -z "${PCRE_VERSION}"; then + AC_MSG_NOTICE([*** pcre library not found.]) +- ifelse([$2], , AC_MSG_ERROR([pcre library is required]), $2) + else + AC_MSG_NOTICE([using pcre v${PCRE_VERSION}]) + ifelse([$1], , , $1) +-- +2.35.1 + diff --git a/package/libmodsecurity/Config.in b/package/libmodsecurity/Config.in index 87f7a9c10..69bb0494c 100644 --- a/package/libmodsecurity/Config.in +++ b/package/libmodsecurity/Config.in @@ -2,7 +2,11 @@ config BR2_PACKAGE_LIBMODSECURITY bool "libmodsecurity" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS - select BR2_PACKAGE_PCRE + # libmodsecurity embeds several mbedtls source files, causing + # various issues when static linking and other dependencies of + # libmodsecurity in turn use mbedtls + depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_PCRE2 help Libmodsecurity is one component of the ModSecurity v3 project. The library codebase serves as an @@ -15,5 +19,6 @@ config BR2_PACKAGE_LIBMODSECURITY https://github.com/SpiderLabs/ModSecurity -comment "libmodsecurity needs a toolchain w/ C++, threads" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS +comment "libmodsecurity needs a toolchain w/ C++, threads, dynamic library" + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/libmodsecurity/libmodsecurity.hash b/package/libmodsecurity/libmodsecurity.hash index 341dbc376..7ba0ef7f1 100644 --- a/package/libmodsecurity/libmodsecurity.hash +++ b/package/libmodsecurity/libmodsecurity.hash @@ -1,4 +1,4 @@ -# From https://github.com/SpiderLabs/ModSecurity/releases/download/v3.0.6/modsecurity-v3.0.6.tar.gz.sha256 -sha256 06315d9a32fc830997178f30a69e933c9c2364b263a2f036959bebc4dde59a08 modsecurity-v3.0.6.tar.gz +# From https://github.com/SpiderLabs/ModSecurity/releases/download/v3.0.8/modsecurity-v3.0.8.tar.gz.sha256 +sha256 e241c89b3cd7e58a863d0d0d6b9b8ba4d33ffb0f51171044c258c62e3e7956c7 modsecurity-v3.0.8.tar.gz # Localy calculated sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE diff --git a/package/libmodsecurity/libmodsecurity.mk b/package/libmodsecurity/libmodsecurity.mk index 8fa3d5984..e83fda895 100644 --- a/package/libmodsecurity/libmodsecurity.mk +++ b/package/libmodsecurity/libmodsecurity.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMODSECURITY_VERSION = 3.0.6 +LIBMODSECURITY_VERSION = 3.0.8 LIBMODSECURITY_SOURCE = modsecurity-v$(LIBMODSECURITY_VERSION).tar.gz LIBMODSECURITY_SITE = https://github.com/SpiderLabs/ModSecurity/releases/download/v$(LIBMODSECURITY_VERSION) LIBMODSECURITY_INSTALL_STAGING = YES @@ -12,12 +12,13 @@ LIBMODSECURITY_LICENSE = Apache-2.0 LIBMODSECURITY_LICENSE_FILES = LICENSE LIBMODSECURITY_CPE_ID_VENDOR = trustwave LIBMODSECURITY_CPE_ID_PRODUCT = modsecurity -# We're patching build/libmaxmind.m4 +# We're patching build/libmaxmind.m4 and build/pcre.m4 LIBMODSECURITY_AUTORECONF = YES -LIBMODSECURITY_DEPENDENCIES = pcre +LIBMODSECURITY_DEPENDENCIES = pcre2 LIBMODSECURITY_CONF_OPTS = \ - --with-pcre="$(STAGING_DIR)/usr/bin/pcre-config" \ + --without-pcre \ + --with-pcre2="$(STAGING_DIR)/usr" \ --disable-examples \ --without-lmdb \ --without-ssdeep \ diff --git a/package/libmpd/libmpd.hash b/package/libmpd/libmpd.hash index c0e5c6b3c..875eba2b0 100644 --- a/package/libmpd/libmpd.hash +++ b/package/libmpd/libmpd.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 fe20326b0d10641f71c4673fae637bf9222a96e1712f71f170fca2fc34bf7a83 libmpd-11.8.17.tar.gz -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 fe20326b0d10641f71c4673fae637bf9222a96e1712f71f170fca2fc34bf7a83 libmpd-11.8.17.tar.gz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/libmspack/libmspack.hash b/package/libmspack/libmspack.hash index b12e9b628..9e97063f0 100644 --- a/package/libmspack/libmspack.hash +++ b/package/libmspack/libmspack.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 bac862dee6e0fc10d92c70212441d9f8ad9b0222edc9a708c3ead4adb1b24a8e libmspack-0.10.1alpha.tar.gz -sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 COPYING.LIB +sha256 bac862dee6e0fc10d92c70212441d9f8ad9b0222edc9a708c3ead4adb1b24a8e libmspack-0.10.1alpha.tar.gz +sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 COPYING.LIB diff --git a/package/libnatpmp/libnatpmp.hash b/package/libnatpmp/libnatpmp.hash index baf9b3539..38bc3f444 100644 --- a/package/libnatpmp/libnatpmp.hash +++ b/package/libnatpmp/libnatpmp.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 e1aa9c4c4219bc06943d6b2130f664daee213fb262fcb94dd355815b8f4536b0 libnatpmp-20150609.tar.gz -sha256 e8d8277e1a101fcfedb0cd5a1cc76646522c0da69f3490dd5a4055fc87ea96a2 LICENSE +sha256 e1aa9c4c4219bc06943d6b2130f664daee213fb262fcb94dd355815b8f4536b0 libnatpmp-20150609.tar.gz +sha256 e8d8277e1a101fcfedb0cd5a1cc76646522c0da69f3490dd5a4055fc87ea96a2 LICENSE diff --git a/package/libnet/libnet.hash b/package/libnet/libnet.hash index 1f03d8f98..6962ffc83 100644 --- a/package/libnet/libnet.hash +++ b/package/libnet/libnet.hash @@ -1,5 +1,5 @@ # From https://github.com/libnet/libnet/releases/download/v1.2/libnet-1.2.tar.gz.md5 -md5 a36c669e0cdfda6a2aa3adfb1f6fe60a libnet-1.2.tar.gz +md5 a36c669e0cdfda6a2aa3adfb1f6fe60a libnet-1.2.tar.gz # Locally computed sha256 caa4868157d9e5f32e9c7eac9461efeff30cb28357f7f6bf07e73933fb4edaa7 libnet-1.2.tar.gz sha256 a06f600f67f239898d85f083aeed82ce6015b1c57599ab1def00fb68787ef388 LICENSE diff --git a/package/libnetconf2/libnetconf2.mk b/package/libnetconf2/libnetconf2.mk index ddbb99b7e..9adf25655 100644 --- a/package/libnetconf2/libnetconf2.mk +++ b/package/libnetconf2/libnetconf2.mk @@ -23,7 +23,7 @@ else LIBNETCONF2_CONF_OPTS += -DENABLE_SSH=OFF endif -ifeq ($(BR2_PACKAGE_OPENSSL), y) +ifeq ($(BR2_PACKAGE_LIBOPENSSL), y) LIBNETCONF2_CONF_OPTS += -DENABLE_TLS=ON LIBNETCONF2_DEPENDENCIES += openssl else diff --git a/package/libnetfilter_acct/libnetfilter_acct.hash b/package/libnetfilter_acct/libnetfilter_acct.hash index 0d37c4367..a72d83fb2 100644 --- a/package/libnetfilter_acct/libnetfilter_acct.hash +++ b/package/libnetfilter_acct/libnetfilter_acct.hash @@ -1,6 +1,6 @@ # From ftp://ftp.netfilter.org/pub/libnetfilter_acct/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 +md5 814b2972b2f5c740ff87510bc109168b libnetfilter_acct-1.0.3.tar.bz2 +sha1 4b9073e4aa989b0f000c8da1ab01b22fceed52b2 libnetfilter_acct-1.0.3.tar.bz2 # Hash for license file: -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libnetfilter_cthelper/libnetfilter_cthelper.hash b/package/libnetfilter_cthelper/libnetfilter_cthelper.hash index 42deade7d..d02eed3c3 100644 --- a/package/libnetfilter_cthelper/libnetfilter_cthelper.hash +++ b/package/libnetfilter_cthelper/libnetfilter_cthelper.hash @@ -1,6 +1,6 @@ # From ftp://ftp.netfilter.org/pub/libnetfilter_cthelper/libnetfilter_cthelper-1.0.0.tar.bz2.{md5sum,sha1sum} -md5 b2efab1a3a198a5add448960ba011acd libnetfilter_cthelper-1.0.0.tar.bz2 -sha1 5d0a82794bd46aafde20c16800edca23d563de66 libnetfilter_cthelper-1.0.0.tar.bz2 +md5 b2efab1a3a198a5add448960ba011acd libnetfilter_cthelper-1.0.0.tar.bz2 +sha1 5d0a82794bd46aafde20c16800edca23d563de66 libnetfilter_cthelper-1.0.0.tar.bz2 # Hash for license file: -sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/package/libnetfilter_cttimeout/libnetfilter_cttimeout.hash b/package/libnetfilter_cttimeout/libnetfilter_cttimeout.hash index af5a281e4..393cdc3b6 100644 --- a/package/libnetfilter_cttimeout/libnetfilter_cttimeout.hash +++ b/package/libnetfilter_cttimeout/libnetfilter_cttimeout.hash @@ -1,6 +1,6 @@ # From ftp://ftp.netfilter.org/pub/libnetfilter_cttimeout/libnetfilter_cttimeout-1.0.0.tar.bz2.{md5sum,sha1sum} -md5 7697437fc9ebb6f6b83df56a633db7f9 libnetfilter_cttimeout-1.0.0.tar.bz2 -sha1 24cba24b0371e80007be4ea0fa9d872df63b8a7a libnetfilter_cttimeout-1.0.0.tar.bz2 +md5 7697437fc9ebb6f6b83df56a633db7f9 libnetfilter_cttimeout-1.0.0.tar.bz2 +sha1 24cba24b0371e80007be4ea0fa9d872df63b8a7a libnetfilter_cttimeout-1.0.0.tar.bz2 # Hash for license file: -sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/package/libnfnetlink/libnfnetlink.hash b/package/libnfnetlink/libnfnetlink.hash index 3392d239b..ffa5e7443 100644 --- a/package/libnfnetlink/libnfnetlink.hash +++ b/package/libnfnetlink/libnfnetlink.hash @@ -1,6 +1,6 @@ # From ftp://ftp.netfilter.org/pub/libnfnetlink/libnfnetlink-1.0.1.tar.bz2.{md5sum,sha1sum} -md5 98927583d2016a9fb1936fed992e2c5e libnfnetlink-1.0.1.tar.bz2 -sha1 27ae2dfbd976e28cb7a417f9e946c901f512dd9a libnfnetlink-1.0.1.tar.bz2 +md5 98927583d2016a9fb1936fed992e2c5e libnfnetlink-1.0.1.tar.bz2 +sha1 27ae2dfbd976e28cb7a417f9e946c901f512dd9a libnfnetlink-1.0.1.tar.bz2 # Hash for license file: -sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/package/libnfs/libnfs.hash b/package/libnfs/libnfs.hash index bb92ebe69..ffb6c6207 100644 --- a/package/libnfs/libnfs.hash +++ b/package/libnfs/libnfs.hash @@ -1,6 +1,6 @@ # Locally calculated -sha256 6ee77e9fe220e2d3e3b1f53cfea04fb319828cc7dbb97dd9df09e46e901d797d libnfs-4.0.0.tar.gz -sha256 edd960c0142b8ada98b43b6396b78f4e557b0bc70ac601a51e397ad04070e2c5 COPYING -sha256 d9406ced95457941032aa11d04623b8ab71f2827a3395ebef137aec475be35b1 LICENCE-BSD.txt -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENCE-LGPL-2.1.txt -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENCE-GPL-3.txt +sha256 6ee77e9fe220e2d3e3b1f53cfea04fb319828cc7dbb97dd9df09e46e901d797d libnfs-4.0.0.tar.gz +sha256 edd960c0142b8ada98b43b6396b78f4e557b0bc70ac601a51e397ad04070e2c5 COPYING +sha256 d9406ced95457941032aa11d04623b8ab71f2827a3395ebef137aec475be35b1 LICENCE-BSD.txt +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENCE-LGPL-2.1.txt +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENCE-GPL-3.txt diff --git a/package/libnftnl/Config.in b/package/libnftnl/Config.in index 347223ce2..0d17751e5 100644 --- a/package/libnftnl/Config.in +++ b/package/libnftnl/Config.in @@ -13,13 +13,3 @@ config BR2_PACKAGE_LIBNFTNL currently used by nftables. http://netfilter.org/projects/libnftnl/index.html - -if BR2_PACKAGE_LIBNFTNL - -config BR2_PACKAGE_LIBNFTNL_JSON - bool "enable JSON support" - select BR2_PACKAGE_JANSSON - help - Enable JSON parsing support - -endif diff --git a/package/libnftnl/libnftnl.mk b/package/libnftnl/libnftnl.mk index 616afa630..7ba115815 100644 --- a/package/libnftnl/libnftnl.mk +++ b/package/libnftnl/libnftnl.mk @@ -12,11 +12,4 @@ LIBNFTNL_LICENSE_FILES = COPYING LIBNFTNL_INSTALL_STAGING = YES LIBNFTNL_DEPENDENCIES = host-pkgconf libmnl -ifeq ($(BR2_PACKAGE_LIBNFTNL_JSON),y) -LIBNFTNL_CONF_OPTS += --with-json-parsing -LIBNFTNL_DEPENDENCIES += jansson -else -LIBNFTNL_CONF_OPTS += --without-json-parsing -endif - $(eval $(autotools-package)) diff --git a/package/libnids/libnids.hash b/package/libnids/libnids.hash index 4a2949c39..c46139d93 100644 --- a/package/libnids/libnids.hash +++ b/package/libnids/libnids.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 314b4793e0902fbf1fdb7fb659af37a3c1306ed1aad5d1c84de6c931b351d359 libnids-1.24.tar.gz -sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING +sha256 314b4793e0902fbf1fdb7fb659af37a3c1306ed1aad5d1c84de6c931b351d359 libnids-1.24.tar.gz +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/package/libnl/libnl.hash b/package/libnl/libnl.hash index d7cd5c953..ba619f5b7 100644 --- a/package/libnl/libnl.hash +++ b/package/libnl/libnl.hash @@ -1,6 +1,6 @@ # From https://github.com/thom311/libnl/releases/download/libnl3_5_0/libnl-3.5.0.tar.gz.md5sum -md5 74ba57b1b1d6f9f92268aa8141d8e8e4 libnl-3.5.0.tar.gz +md5 74ba57b1b1d6f9f92268aa8141d8e8e4 libnl-3.5.0.tar.gz # From https://github.com/thom311/libnl/releases/download/libnl3_5_0/libnl-3.5.0.tar.gz.sha256sum -sha256 352133ec9545da76f77e70ccb48c9d7e5324d67f6474744647a7ed382b5e05fa libnl-3.5.0.tar.gz +sha256 352133ec9545da76f77e70ccb48c9d7e5324d67f6474744647a7ed382b5e05fa libnl-3.5.0.tar.gz # Locally calculated -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libnpth/libnpth.hash b/package/libnpth/libnpth.hash index 8d0b6bd54..b9f72e077 100644 --- a/package/libnpth/libnpth.hash +++ b/package/libnpth/libnpth.hash @@ -1,7 +1,7 @@ # 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 +sha256 1393abd9adcf0762d34798dc34fdcf4d0d22a8410721e76f1e3afcd1daa4e2d1 npth-1.6.tar.bz2 # Hash for license file: -sha256 ce64d5f7b49ea6d80fdb6d4cdee6839d1a94274f7493dc797c3b55b65ec8e9ed COPYING.LIB +sha256 ce64d5f7b49ea6d80fdb6d4cdee6839d1a94274f7493dc797c3b55b65ec8e9ed COPYING.LIB diff --git a/package/libnpupnp/libnpupnp.hash b/package/libnpupnp/libnpupnp.hash index 276bf93c9..15ee26c6d 100644 --- a/package/libnpupnp/libnpupnp.hash +++ b/package/libnpupnp/libnpupnp.hash @@ -1,5 +1,5 @@ -# Hash from: http://www.lesbonscomptes.com/upmpdcli/downloads/libnpupnp-4.2.1.tar.gz.sha256 -sha256 e0e59eb2d3d024e827050428e0e7eb228355912a38c85eb30bfeb2f0926eca4c libnpupnp-4.2.1.tar.gz +# Hash from: http://www.lesbonscomptes.com/upmpdcli/downloads/libnpupnp-4.2.2.tar.gz.sha256 +sha256 cb3968773d30e2bfc765547df514fdc8927b9a37ecccca2e260ee8b612e756bc libnpupnp-4.2.2.tar.gz # Hash for license file: sha256 c8b99423cad48bb44e2cf52a496361404290865eac259a82da6d1e4331ececb3 COPYING diff --git a/package/libnpupnp/libnpupnp.mk b/package/libnpupnp/libnpupnp.mk index 09bfa34b8..d7192ec3f 100644 --- a/package/libnpupnp/libnpupnp.mk +++ b/package/libnpupnp/libnpupnp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNPUPNP_VERSION = 4.2.1 +LIBNPUPNP_VERSION = 4.2.2 LIBNPUPNP_SITE = http://www.lesbonscomptes.com/upmpdcli/downloads LIBNPUPNP_LICENSE = BSD-3-Clause LIBNPUPNP_LICENSE_FILES = COPYING diff --git a/package/libnspr/0001-Bug-1765100-fix-build-on-mips-musl-libc.patch b/package/libnspr/0001-Bug-1765100-fix-build-on-mips-musl-libc.patch new file mode 100644 index 000000000..10bf74130 --- /dev/null +++ b/package/libnspr/0001-Bug-1765100-fix-build-on-mips-musl-libc.patch @@ -0,0 +1,33 @@ +From 00e5b818f2d9f3264107801fc2fcff33a9355a78 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Sun, 17 Apr 2022 23:55:26 +0200 +Subject: [PATCH] Bug 1765100 - fix build on mips+musl libc + +This patch fix build failure on mips with musl libc by using Linux + instead of the one provided by libc since musl doesn't +provide . + +Signed-off-by: Giulio Benetti +--- +This patch is pending upstream: +https://bugzilla.mozilla.org/show_bug.cgi?id=1765100 +--- + nspr/pr/include/md/_linux.cfg | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/nspr/pr/include/md/_linux.cfg b/pr/include/md/_linux.cfg +index 23b160fd..dbc0d40e 100644 +--- a/nspr/pr/include/md/_linux.cfg ++++ b/nspr/pr/include/md/_linux.cfg +@@ -499,7 +499,7 @@ + #elif defined(__mips__) + + /* For _ABI64 */ +-#include ++#include + + #ifdef __MIPSEB__ + #define IS_BIG_ENDIAN 1 +-- +2.25.1 + diff --git a/package/libodb-boost/libodb-boost.mk b/package/libodb-boost/libodb-boost.mk index bac5f1e78..996759a03 100644 --- a/package/libodb-boost/libodb-boost.mk +++ b/package/libodb-boost/libodb-boost.mk @@ -12,6 +12,9 @@ LIBODB_BOOST_INSTALL_STAGING = YES LIBODB_BOOST_LICENSE = GPL-2.0 LIBODB_BOOST_LICENSE_FILES = LICENSE LIBODB_BOOST_DEPENDENCIES = boost libodb +HOST_LIBODB_BOOST_DEPENDENCIES = host-boost host-libodb LIBODB_BOOST_CONF_ENV = CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" +HOST_LIBODB_BOOST_CONF_ENV = CXXFLAGS="$(HOST_CXXFLAGS) -std=c++11" $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/libodb-mysql/libodb-mysql.hash b/package/libodb-mysql/libodb-mysql.hash index 1c35041af..c8204a3f6 100644 --- a/package/libodb-mysql/libodb-mysql.hash +++ b/package/libodb-mysql/libodb-mysql.hash @@ -1,4 +1,4 @@ -sha1 2021a67577354f1d6bed50c0b257c1920760eda7 libodb-mysql-2.4.0.tar.bz2 +sha1 2021a67577354f1d6bed50c0b257c1920760eda7 libodb-mysql-2.4.0.tar.bz2 -sha256 ce2fcdb6ab4a02fc0aff263a891c56949fa41b89e65d7a40d8b656d3ebf0d9bc libodb-mysql-2.4.0.tar.bz2 -sha256 841105a470fc283851c63941510ffd403c726d1910b688f7df95914ab8b1b5a3 LICENSE +sha256 ce2fcdb6ab4a02fc0aff263a891c56949fa41b89e65d7a40d8b656d3ebf0d9bc libodb-mysql-2.4.0.tar.bz2 +sha256 841105a470fc283851c63941510ffd403c726d1910b688f7df95914ab8b1b5a3 LICENSE diff --git a/package/libodb-pgsql/libodb-pgsql.hash b/package/libodb-pgsql/libodb-pgsql.hash index 5799f0923..609b3e909 100644 --- a/package/libodb-pgsql/libodb-pgsql.hash +++ b/package/libodb-pgsql/libodb-pgsql.hash @@ -1,6 +1,6 @@ # From https://www.codesynthesis.com/download/odb/2.4/libodb-pgsql-2.4.0.tar.bz2.sha1 -sha1 4628d5e296da01dbaf8658fd402b4f709f30ea2d libodb-pgsql-2.4.0.tar.bz2 +sha1 4628d5e296da01dbaf8658fd402b4f709f30ea2d libodb-pgsql-2.4.0.tar.bz2 # Locally Computed -sha256 778a4d38bd1161e1f0b368815514c3335da20c7584e3d07613526dcce53523bc libodb-pgsql-2.4.0.tar.bz2 -sha256 841105a470fc283851c63941510ffd403c726d1910b688f7df95914ab8b1b5a3 LICENSE +sha256 778a4d38bd1161e1f0b368815514c3335da20c7584e3d07613526dcce53523bc libodb-pgsql-2.4.0.tar.bz2 +sha256 841105a470fc283851c63941510ffd403c726d1910b688f7df95914ab8b1b5a3 LICENSE diff --git a/package/libodb/libodb.hash b/package/libodb/libodb.hash index cea5b9eda..7db7f969f 100644 --- a/package/libodb/libodb.hash +++ b/package/libodb/libodb.hash @@ -1,6 +1,6 @@ # From https://www.codesynthesis.com/projects/libcutl/ -sha1 42bd2a8023e338e004711e755eb30bd122b844a6 libodb-2.4.0.tar.bz2 +sha1 42bd2a8023e338e004711e755eb30bd122b844a6 libodb-2.4.0.tar.bz2 # Locally Computed -sha256 66a1bb4e8bb6ef60cc79334f8028c4d4de98d87f2ff6f8123b4cfb7751ce0007 libodb-2.4.0.tar.bz2 -sha256 841105a470fc283851c63941510ffd403c726d1910b688f7df95914ab8b1b5a3 LICENSE +sha256 66a1bb4e8bb6ef60cc79334f8028c4d4de98d87f2ff6f8123b4cfb7751ce0007 libodb-2.4.0.tar.bz2 +sha256 841105a470fc283851c63941510ffd403c726d1910b688f7df95914ab8b1b5a3 LICENSE diff --git a/package/libodb/libodb.mk b/package/libodb/libodb.mk index 11ca9de86..b25e8ac50 100644 --- a/package/libodb/libodb.mk +++ b/package/libodb/libodb.mk @@ -12,5 +12,7 @@ LIBODB_INSTALL_STAGING = YES LIBODB_LICENSE = GPL-2.0 LIBODB_LICENSE_FILES = LICENSE LIBODB_CONF_ENV = CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" +HOST_LIBODB_CONF_ENV = CXXFLAGS="$(HOST_CXXFLAGS) -std=c++11" $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/libolm/libolm.mk b/package/libolm/libolm.mk index 607e50702..6f0668655 100644 --- a/package/libolm/libolm.mk +++ b/package/libolm/libolm.mk @@ -9,6 +9,8 @@ LIBOLM_SOURCE = olm-$(LIBOLM_VERSION).tar.gz LIBOLM_SITE = https://gitlab.matrix.org/matrix-org/olm/-/archive/$(LIBOLM_VERSION) LIBOLM_LICENSE = Apache-2.0 LIBOLM_LICENSE_FILES = LICENSE +LIBOLM_CPE_ID_VENDOR = matrix +LIBOLM_CPE_ID_PRODUCT = olm LIBOLM_INSTALL_STAGING = YES LIBOLM_CONF_OPTS = -DOLM_TESTS=OFF diff --git a/package/libopenaptx/libopenaptx.hash b/package/libopenaptx/libopenaptx.hash index 76b4e66c9..fca603d9d 100644 --- a/package/libopenaptx/libopenaptx.hash +++ b/package/libopenaptx/libopenaptx.hash @@ -1,3 +1,3 @@ # Locally calculated: -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING -sha256 a19b3b642def6f86441b73dd4efda6e6f13d49e7e2d6e5e91cc7eb464ebb505a libopenaptx-0.2.1.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 a19b3b642def6f86441b73dd4efda6e6f13d49e7e2d6e5e91cc7eb464ebb505a libopenaptx-0.2.1.tar.gz diff --git a/package/libopenssl/Config.in b/package/libopenssl/Config.in index fcead4c11..7a3f56a51 100644 --- a/package/libopenssl/Config.in +++ b/package/libopenssl/Config.in @@ -44,10 +44,6 @@ config BR2_PACKAGE_LIBOPENSSL_ENABLE_CHACHA bool "enable CHACHA" default y -config BR2_PACKAGE_LIBOPENSSL_ENABLE_RC5 - bool "enable RC5" - default y - config BR2_PACKAGE_LIBOPENSSL_ENABLE_RC2 bool "enable RC2" default y @@ -67,6 +63,7 @@ config BR2_PACKAGE_LIBOPENSSL_ENABLE_MD4 config BR2_PACKAGE_LIBOPENSSL_ENABLE_MDC2 bool "enable MDC2" default y + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES config BR2_PACKAGE_LIBOPENSSL_ENABLE_BLAKE2 bool "enable BLAKE2" diff --git a/package/libopenssl/libopenssl.hash b/package/libopenssl/libopenssl.hash index a055cbc27..ebc56b11d 100644 --- a/package/libopenssl/libopenssl.hash +++ b/package/libopenssl/libopenssl.hash @@ -1,5 +1,5 @@ -# From https://www.openssl.org/source/openssl-1.1.1m.tar.gz.sha256 -sha256 f89199be8b23ca45fc7cb9f1d8d3ee67312318286ad030f5316aca6462db6c96 openssl-1.1.1m.tar.gz +# From https://www.openssl.org/source/openssl-1.1.1t.tar.gz.sha256 +sha256 8dee9b24bdb1dcbf0c3d1e9b02fb8f6bf22165e807f45adeb7c9677536859d3b openssl-1.1.1t.tar.gz # License files sha256 c32913b33252e71190af2066f08115c69bc9fddadf3bf29296e20c835389841c LICENSE diff --git a/package/libopenssl/libopenssl.mk b/package/libopenssl/libopenssl.mk index bd8ef6141..6e84f0617 100644 --- a/package/libopenssl/libopenssl.mk +++ b/package/libopenssl/libopenssl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBOPENSSL_VERSION = 1.1.1m +LIBOPENSSL_VERSION = 1.1.1t LIBOPENSSL_SITE = https://www.openssl.org/source LIBOPENSSL_SOURCE = openssl-$(LIBOPENSSL_VERSION).tar.gz LIBOPENSSL_LICENSE = OpenSSL or SSLeay @@ -52,7 +52,7 @@ LIBOPENSSL_CFLAGS += -DOPENSSL_NO_ASYNC endif define HOST_LIBOPENSSL_CONFIGURE_CMDS - (cd $(@D); \ + cd $(@D); \ $(HOST_CONFIGURE_OPTS) \ ./config \ --prefix=$(HOST_DIR) \ @@ -61,15 +61,14 @@ define HOST_LIBOPENSSL_CONFIGURE_CMDS no-fuzz-libfuzzer \ no-fuzz-afl \ shared \ - zlib-dynamic \ - ) - $(SED) "s#-O[0-9sg]#$(HOST_CFLAGS)#" $(@D)/Makefile + zlib-dynamic endef define LIBOPENSSL_CONFIGURE_CMDS - (cd $(@D); \ + cd $(@D); \ $(TARGET_CONFIGURE_ARGS) \ $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(LIBOPENSSL_CFLAGS)" \ ./Configure \ $(LIBOPENSSL_TARGET_ARCH) \ --prefix=/usr \ @@ -80,12 +79,11 @@ define LIBOPENSSL_CONFIGURE_CMDS $(if $(BR2_PACKAGE_HAS_CRYPTODEV),enable-devcryptoeng) \ no-rc5 \ enable-camellia \ - enable-mdc2 \ no-tests \ no-fuzz-libfuzzer \ no-fuzz-afl \ + no-afalgeng \ $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_CHACHA),,no-chacha) \ - $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_RC5),,no-rc5) \ $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_RC2),,no-rc2) \ $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4),,no-rc4) \ $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_MD2),,no-md2) \ @@ -108,11 +106,7 @@ define LIBOPENSSL_CONFIGURE_CMDS $(if $(BR2_PACKAGE_LIBOPENSSL_DYNAMIC_ENGINE),,no-dynamic-engine ) \ $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_COMP),,no-comp) \ $(if $(BR2_STATIC_LIBS),zlib,zlib-dynamic) \ - $(if $(BR2_STATIC_LIBS),no-dso) \ - ) - $(SED) "s#-march=[-a-z0-9] ##" -e "s#-mcpu=[-a-z0-9] ##g" $(@D)/Makefile - $(SED) "s#-O[0-9sg]#$(LIBOPENSSL_CFLAGS)#" $(@D)/Makefile - $(SED) "s# build_tests##" $(@D)/Makefile + $(if $(BR2_STATIC_LIBS),no-dso) endef # libdl is not available in a static build, and this is not implied by no-dso diff --git a/package/liboping/0002-fix-utf8-support.patch b/package/liboping/0001-fix-utf8-support.patch similarity index 100% rename from package/liboping/0002-fix-utf8-support.patch rename to package/liboping/0001-fix-utf8-support.patch diff --git a/package/liboping/0001-ping_host_add-Decrease-buffer-size-to-make-GCC-s-truncation-check-happy.patch b/package/liboping/0001-ping_host_add-Decrease-buffer-size-to-make-GCC-s-truncation-check-happy.patch deleted file mode 100644 index b0aca8a71..000000000 --- a/package/liboping/0001-ping_host_add-Decrease-buffer-size-to-make-GCC-s-truncation-check-happy.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 18ca43507b351f339ff23062541ee8d58e813a53 Mon Sep 17 00:00:00 2001 -From: Florian Forster -Date: Sun, 29 Jul 2018 14:34:19 +0200 -Subject: [PATCH] ping_host_add: Decrease buffer size to make GCC's truncation - check happy. - -Fixes: #38 -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/octo/liboping/commit/18ca43507b351f339ff23062541ee8d58e813a53] ---- - src/liboping.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -diff --git a/src/liboping.c b/src/liboping.c -index 5253e8c..2470988 100644 ---- a/src/liboping.c -+++ b/src/liboping.c -@@ -1636,10 +1636,8 @@ int ping_host_add (pingobj_t *obj, const char *host) - } - else - { -- char errmsg[PING_ERRMSG_LEN]; -- -- snprintf (errmsg, PING_ERRMSG_LEN, "Unknown `ai_family': %i", ai_ptr->ai_family); -- errmsg[PING_ERRMSG_LEN - 1] = '\0'; -+ char errmsg[64]; -+ snprintf (errmsg, sizeof(errmsg), "Unknown `ai_family': %d", ai_ptr->ai_family); - - dprintf ("%s", errmsg); - ping_set_error (obj, "getaddrinfo", errmsg); diff --git a/package/liboping/0003-Open-raw-sockets-when-adding-hosts-not-when-doing-th.patch b/package/liboping/0002-Open-raw-sockets-when-adding-hosts-not-when-doing-th.patch similarity index 100% rename from package/liboping/0003-Open-raw-sockets-when-adding-hosts-not-when-doing-th.patch rename to package/liboping/0002-Open-raw-sockets-when-adding-hosts-not-when-doing-th.patch diff --git a/package/liboping/0003-Fix-compile-break-with-GCC-7-buffer-overflow-with-snprintf.patch b/package/liboping/0003-Fix-compile-break-with-GCC-7-buffer-overflow-with-snprintf.patch new file mode 100644 index 000000000..546f15918 --- /dev/null +++ b/package/liboping/0003-Fix-compile-break-with-GCC-7-buffer-overflow-with-snprintf.patch @@ -0,0 +1,28 @@ +From 0ad9ee080a7cd8037c341067cc67a84e32e69fea Mon Sep 17 00:00:00 2001 +From: Maurice Smulders +Date: Thu, 30 Dec 2021 10:45:42 -0700 +Subject: [PATCH] Fix compile break with GCC 7+ - buffer overflow with snprintf + +[Retrieved from: +https://github.com/octo/liboping/pull/64/commits/0ad9ee080a7cd8037c341067cc67a84e32e69fea] +Signed-off-by: Fabrice Fontaine +--- + src/liboping.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/liboping.c b/src/liboping.c +index bf9e059..9fd8f53 100644 +--- a/src/liboping.c ++++ b/src/liboping.c +@@ -203,8 +203,11 @@ static char *sstrerror (int errnum, char *buf, size_t buflen) + static void ping_set_error (pingobj_t *obj, const char *function, + const char *message) + { ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wformat-truncation" + snprintf (obj->errmsg, sizeof (obj->errmsg), + "%s: %s", function, message); ++#pragma GCC diagnostic pop + obj->errmsg[sizeof (obj->errmsg) - 1] = 0; + } + diff --git a/package/liboping/0004-Fix-compile-error-on-GCC-7.patch b/package/liboping/0004-Fix-compile-error-on-GCC-7.patch new file mode 100644 index 000000000..38355be40 --- /dev/null +++ b/package/liboping/0004-Fix-compile-error-on-GCC-7.patch @@ -0,0 +1,32 @@ +From 3d685bdb1a6c655bce6d36cfd96e084be07cd2b1 Mon Sep 17 00:00:00 2001 +From: Maurice Smulders +Date: Tue, 4 Jan 2022 12:49:36 -0700 +Subject: [PATCH] Fix compile error on GCC < 7 + +[Retrieved from: +https://github.com/octo/liboping/pull/64/commits/3d685bdb1a6c655bce6d36cfd96e084be07cd2b1] +Signed-off-by: Fabrice Fontaine +--- + src/liboping.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/liboping.c b/src/liboping.c +index 9fd8f53..1ccf609 100644 +--- a/src/liboping.c ++++ b/src/liboping.c +@@ -203,11 +203,15 @@ static char *sstrerror (int errnum, char *buf, size_t buflen) + static void ping_set_error (pingobj_t *obj, const char *function, + const char *message) + { ++#if __GNUC__ >= 7 + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wformat-truncation" ++#endif + snprintf (obj->errmsg, sizeof (obj->errmsg), + "%s: %s", function, message); ++#if __GNUC__ >= 7 + #pragma GCC diagnostic pop ++#endif + obj->errmsg[sizeof (obj->errmsg) - 1] = 0; + } + diff --git a/package/liboping/liboping.hash b/package/liboping/liboping.hash index 926b234f0..7042ed9cf 100644 --- a/package/liboping/liboping.hash +++ b/package/liboping/liboping.hash @@ -1,5 +1,5 @@ # From http://noping.cc/#download -sha256 eb38aa93f93e8ab282d97e2582fbaea88b3f889a08cbc9dbf20059c3779d5cd8 liboping-1.10.0.tar.bz2 +sha256 eb38aa93f93e8ab282d97e2582fbaea88b3f889a08cbc9dbf20059c3779d5cd8 liboping-1.10.0.tar.bz2 # Hash for license file: -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libosip2/libosip2.hash b/package/libosip2/libosip2.hash index 071ad7e61..a563f0c4c 100644 --- a/package/libosip2/libosip2.hash +++ b/package/libosip2/libosip2.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 f4725916c22cf514969efb15c3c207233d64739383f7d42956038b78f6cae8c8 libosip2-5.3.0.tar.gz +sha256 fe82fe841608266ac15a5c1118216da00c554d5006e2875a8ac3752b1e6adc79 libosip2-5.3.1.tar.gz # Hash for license file: sha256 8d9e95ed0e48df46dc758eb0d86df611f771eab4eed94bebb77dca87f1c897de COPYING diff --git a/package/libosip2/libosip2.mk b/package/libosip2/libosip2.mk index 2f9b7a924..618d98a85 100644 --- a/package/libosip2/libosip2.mk +++ b/package/libosip2/libosip2.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBOSIP2_VERSION = 5.3.0 +LIBOSIP2_VERSION = 5.3.1 LIBOSIP2_SITE = $(BR2_GNU_MIRROR)/osip LIBOSIP2_INSTALL_STAGING = YES LIBOSIP2_LICENSE = LGPL-2.1+ diff --git a/package/libosmium/Config.in b/package/libosmium/Config.in index 3a4c64e9d..825e2b7e3 100644 --- a/package/libosmium/Config.in +++ b/package/libosmium/Config.in @@ -13,6 +13,6 @@ config BR2_PACKAGE_LIBOSMIUM https://osmcode.org/libosmium/ -comment "libosmium needs a toolchain w/ C++, wchar, threads, gcc >= 4.7" +comment "libosmium needs a toolchain w/ C++, wchar, threads, gcc >= 4.7" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libp11/0001-Update-wp11_rsa.c.patch b/package/libp11/0001-Update-wp11_rsa.c.patch new file mode 100644 index 000000000..0a2d6e65c --- /dev/null +++ b/package/libp11/0001-Update-wp11_rsa.c.patch @@ -0,0 +1,26 @@ +From 4968cfc64dbaa39bb479a24d9578d75099e2f337 Mon Sep 17 00:00:00 2001 +From: patchMonkey156 +Date: Mon, 19 Oct 2020 17:12:15 -0400 +Subject: [PATCH] Update p11_rsa.c + +Bugfix for new LibreSSL version 3.2.2 +[Retrieved from: +https://github.com/OpenSC/libp11/commit/4968cfc64dbaa39bb479a24d9578d75099e2f337] +Signed-off-by: Fabrice Fontaine +--- + src/p11_rsa.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/p11_rsa.c b/src/p11_rsa.c +index b6beef0..ff12ed7 100644 +--- a/src/p11_rsa.c ++++ b/src/p11_rsa.c +@@ -336,7 +336,7 @@ int pkcs11_get_key_size(PKCS11_KEY *key) + return RSA_size(rsa); + } + +-#if OPENSSL_VERSION_NUMBER < 0x10100005L || defined(LIBRESSL_VERSION_NUMBER) ++#if ( ( defined (OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x10100005L ) || ( defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x3020199L ) ) + + int (*RSA_meth_get_priv_enc(const RSA_METHOD *meth)) + (int flen, const unsigned char *from, diff --git a/package/libp11/libp11.mk b/package/libp11/libp11.mk index 45a718ee9..c1873a920 100644 --- a/package/libp11/libp11.mk +++ b/package/libp11/libp11.mk @@ -11,10 +11,16 @@ LIBP11_INSTALL_STAGING = YES LIBP11_LICENSE = LGPL-2.1+ LIBP11_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) +LIBP11_ENGINESDIR = enginesdir +else ifeq ($(BR2_PACKAGE_LIBRESSL),y) +LIBP11_ENGINESDIR = libdir +endif + # pkg-config returns a libcrypto enginesdir prefixed with the sysroot, # so let's rip it out. LIBP11_CONF_OPTS = \ - --with-enginesdir=`$(PKG_CONFIG_HOST_BINARY) --variable enginesdir libcrypto | xargs readlink -f | sed 's%^$(STAGING_DIR)%%'` + --with-enginesdir=`$(PKG_CONFIG_HOST_BINARY) --variable $(LIBP11_ENGINESDIR) libcrypto | xargs readlink -f | sed 's%^$(STAGING_DIR)%%'` ifeq ($(BR2_PACKAGE_P11_KIT),y) LIBP11_CONF_OPTS += --with-pkcs11-module=/usr/lib/p11-kit-proxy.so diff --git a/package/libpam-radius-auth/libpam-radius-auth.hash b/package/libpam-radius-auth/libpam-radius-auth.hash index 3e8dc0255..0bf97c279 100644 --- a/package/libpam-radius-auth/libpam-radius-auth.hash +++ b/package/libpam-radius-auth/libpam-radius-auth.hash @@ -1,5 +1,5 @@ # Locally calculated after checking PGP signature -sha256 742d79fc39824726c098e746bd3dc3484f983f5ee082c621c1e848b2c3725305 pam_radius-1.4.0.tar.gz +sha256 742d79fc39824726c098e746bd3dc3484f983f5ee082c621c1e848b2c3725305 pam_radius-1.4.0.tar.gz # Hash for license file: -sha256 67f82e045cf7acfef853ea0f426575a8359161a0a325e19f02b529a87c4b6c34 LICENSE +sha256 67f82e045cf7acfef853ea0f426575a8359161a0a325e19f02b529a87c4b6c34 LICENSE diff --git a/package/libpciaccess/libpciaccess.hash b/package/libpciaccess/libpciaccess.hash index 23823bb07..2082be7d0 100644 --- a/package/libpciaccess/libpciaccess.hash +++ b/package/libpciaccess/libpciaccess.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-July/003014.html -md5 b34e2cbdd6aa8f9cc3fa613fd401a6d6 libpciaccess-0.16.tar.bz2 -sha1 ffaa13f2df5f822da1089b55223b217c142ef919 libpciaccess-0.16.tar.bz2 -sha256 214c9d0d884fdd7375ec8da8dcb91a8d3169f263294c9a90c575bf1938b9f489 libpciaccess-0.16.tar.bz2 -sha512 2f250048a270dfc0823d4bdd613aa272c58a80eaafd922850f56c4b6f7a45a263ed4cf521b52b49f04484ea44ebefb7407d079aa058318a5751ffb181e38fed1 libpciaccess-0.16.tar.bz2 +md5 b34e2cbdd6aa8f9cc3fa613fd401a6d6 libpciaccess-0.16.tar.bz2 +sha1 ffaa13f2df5f822da1089b55223b217c142ef919 libpciaccess-0.16.tar.bz2 +sha256 214c9d0d884fdd7375ec8da8dcb91a8d3169f263294c9a90c575bf1938b9f489 libpciaccess-0.16.tar.bz2 +sha512 2f250048a270dfc0823d4bdd613aa272c58a80eaafd922850f56c4b6f7a45a263ed4cf521b52b49f04484ea44ebefb7407d079aa058318a5751ffb181e38fed1 libpciaccess-0.16.tar.bz2 # Hash for license file: -sha256 47012fd746980d1712ac4f3841ab6164bda1d2b84880760e45dbe1e1dc07f608 COPYING +sha256 47012fd746980d1712ac4f3841ab6164bda1d2b84880760e45dbe1e1dc07f608 COPYING diff --git a/package/libpjsip/0001-Merge-pull-request-from-GHSA-9pfh-r8x4-w26w.patch b/package/libpjsip/0001-Merge-pull-request-from-GHSA-9pfh-r8x4-w26w.patch new file mode 100644 index 000000000..01e187818 --- /dev/null +++ b/package/libpjsip/0001-Merge-pull-request-from-GHSA-9pfh-r8x4-w26w.patch @@ -0,0 +1,99 @@ +From d8440f4d711a654b511f50f79c0445b26f9dd1e1 Mon Sep 17 00:00:00 2001 +From: Nanang Izzuddin +Date: Tue, 20 Dec 2022 11:39:12 +0700 +Subject: [PATCH] Merge pull request from GHSA-9pfh-r8x4-w26w + +* Fix buffer overread in STUN message decoder + +* Updates based on comments + +[Retrieved from: +https://github.com/pjsip/pjproject/commit/d8440f4d711a654b511f50f79c0445b26f9dd1e1] +Signed-off-by: Fabrice Fontaine +--- + pjnath/include/pjnath/stun_msg.h | 4 ++++ + pjnath/src/pjnath/stun_msg.c | 14 +++++++++++--- + 2 files changed, 15 insertions(+), 3 deletions(-) + +diff --git a/pjnath/include/pjnath/stun_msg.h b/pjnath/include/pjnath/stun_msg.h +index b52f95c586..e49f096f3a 100644 +--- a/pjnath/include/pjnath/stun_msg.h ++++ b/pjnath/include/pjnath/stun_msg.h +@@ -442,6 +442,7 @@ typedef enum pj_stun_status + + \endverbatim + */ ++#pragma pack(1) + typedef struct pj_stun_msg_hdr + { + /** +@@ -473,6 +474,7 @@ typedef struct pj_stun_msg_hdr + pj_uint8_t tsx_id[12]; + + } pj_stun_msg_hdr; ++#pragma pack() + + + /** +@@ -490,6 +492,7 @@ typedef struct pj_stun_msg_hdr + + \endverbatim + */ ++#pragma pack(1) + typedef struct pj_stun_attr_hdr + { + /** +@@ -506,6 +509,7 @@ typedef struct pj_stun_attr_hdr + pj_uint16_t length; + + } pj_stun_attr_hdr; ++#pragma pack() + + + /** +diff --git a/pjnath/src/pjnath/stun_msg.c b/pjnath/src/pjnath/stun_msg.c +index 3def6b3eac..e904a0ba47 100644 +--- a/pjnath/src/pjnath/stun_msg.c ++++ b/pjnath/src/pjnath/stun_msg.c +@@ -746,7 +746,7 @@ PJ_DEF(int) pj_stun_set_padding_char(int chr) + + #define INIT_ATTR(a,t,l) (a)->hdr.type=(pj_uint16_t)(t), \ + (a)->hdr.length=(pj_uint16_t)(l) +-#define ATTR_HDR_LEN 4 ++#define ATTR_HDR_LEN sizeof(pj_stun_attr_hdr) + + static pj_uint16_t GETVAL16H(const pj_uint8_t *buf, unsigned pos) + { +@@ -2327,6 +2327,14 @@ PJ_DEF(pj_status_t) pj_stun_msg_decode(pj_pool_t *pool, + status = pj_stun_msg_check(pdu, pdu_len, options); + if (status != PJ_SUCCESS) + return status; ++ } else { ++ /* For safety, verify packet length at least */ ++ pj_uint32_t msg_len = GETVAL16H(pdu, 2) + 20; ++ if (msg_len > pdu_len || ++ ((options & PJ_STUN_IS_DATAGRAM) && msg_len != pdu_len)) ++ { ++ return PJNATH_EINSTUNMSGLEN; ++ } + } + + /* Create the message, copy the header, and convert to host byte order */ +@@ -2345,7 +2353,7 @@ PJ_DEF(pj_status_t) pj_stun_msg_decode(pj_pool_t *pool, + p_response = NULL; + + /* Parse attributes */ +- while (pdu_len >= 4) { ++ while (pdu_len >= ATTR_HDR_LEN) { + unsigned attr_type, attr_val_len; + const struct attr_desc *adesc; + +@@ -2357,7 +2365,7 @@ PJ_DEF(pj_status_t) pj_stun_msg_decode(pj_pool_t *pool, + attr_val_len = (attr_val_len + 3) & (~3); + + /* Check length */ +- if (pdu_len < attr_val_len) { ++ if (pdu_len < attr_val_len + ATTR_HDR_LEN) { + pj_str_t err_msg; + char err_msg_buf[80]; + diff --git a/package/libpjsip/0002-Merge-pull-request-from-GHSA-cxwq-5g9x-x7fr.patch b/package/libpjsip/0002-Merge-pull-request-from-GHSA-cxwq-5g9x-x7fr.patch new file mode 100644 index 000000000..82249a207 --- /dev/null +++ b/package/libpjsip/0002-Merge-pull-request-from-GHSA-cxwq-5g9x-x7fr.patch @@ -0,0 +1,54 @@ +From bc4812d31a67d5e2f973fbfaf950d6118226cf36 Mon Sep 17 00:00:00 2001 +From: sauwming +Date: Fri, 23 Dec 2022 15:05:28 +0800 +Subject: [PATCH] Merge pull request from GHSA-cxwq-5g9x-x7fr + +* Fixed heap buffer overflow when parsing STUN errcode attribute + +* Also fixed uint parsing + +[Retrieved from: +https://github.com/pjsip/pjproject/commit/bc4812d31a67d5e2f973fbfaf950d6118226cf36] +Signed-off-by: Fabrice Fontaine +--- + pjnath/src/pjnath/stun_msg.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/pjnath/src/pjnath/stun_msg.c b/pjnath/src/pjnath/stun_msg.c +index c6b0bdd284..b55d29849a 100644 +--- a/pjnath/src/pjnath/stun_msg.c ++++ b/pjnath/src/pjnath/stun_msg.c +@@ -1438,12 +1438,12 @@ static pj_status_t decode_uint_attr(pj_pool_t *pool, + attr = PJ_POOL_ZALLOC_T(pool, pj_stun_uint_attr); + GETATTRHDR(buf, &attr->hdr); + +- attr->value = GETVAL32H(buf, 4); +- + /* Check that the attribute length is valid */ + if (attr->hdr.length != 4) + return PJNATH_ESTUNINATTRLEN; + ++ attr->value = GETVAL32H(buf, 4); ++ + /* Done */ + *p_attr = attr; + +@@ -1757,14 +1757,15 @@ static pj_status_t decode_errcode_attr(pj_pool_t *pool, + attr = PJ_POOL_ZALLOC_T(pool, pj_stun_errcode_attr); + GETATTRHDR(buf, &attr->hdr); + ++ /* Check that the attribute length is valid */ ++ if (attr->hdr.length < 4) ++ return PJNATH_ESTUNINATTRLEN; ++ + attr->err_code = buf[6] * 100 + buf[7]; + + /* Get pointer to the string in the message */ + value.ptr = ((char*)buf + ATTR_HDR_LEN + 4); + value.slen = attr->hdr.length - 4; +- /* Make sure the length is never negative */ +- if (value.slen < 0) +- value.slen = 0; + + /* Copy the string to the attribute */ + pj_strdup(pool, &attr->reason, &value); diff --git a/package/libpjsip/Config.in b/package/libpjsip/Config.in index 727d2ec3d..980fada3d 100644 --- a/package/libpjsip/Config.in +++ b/package/libpjsip/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_LIBPJSIP bool "libpjsip" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS - select BR2_PACKAGE_LIBSRTP help PJSIP is a free and open source multimedia communication library written in C language implementing standard based diff --git a/package/libpjsip/libpjsip.hash b/package/libpjsip/libpjsip.hash index 74331ab6f..993557556 100644 --- a/package/libpjsip/libpjsip.hash +++ b/package/libpjsip/libpjsip.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 b3b94d9be4aba8f6d2d1cb164603e81b0a6ee17352f9e2ba5b58e325e610ca5a pjproject-2.12.tar.gz +sha256 4178bb9f586299111463fc16ea04e461adca4a73e646f8ddef61ea53dafa92d9 pjproject-2.13.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk index 32cfa8c53..24db64144 100644 --- a/package/libpjsip/libpjsip.mk +++ b/package/libpjsip/libpjsip.mk @@ -4,12 +4,10 @@ # ################################################################################ -LIBPJSIP_VERSION = 2.12 +LIBPJSIP_VERSION = 2.13 LIBPJSIP_SOURCE = pjproject-$(LIBPJSIP_VERSION).tar.gz LIBPJSIP_SITE = $(call github,pjsip,pjproject,$(LIBPJSIP_VERSION)) -# https://github.com/pjsip/pjproject/archive/2.12.tar.gz -LIBPJSIP_DEPENDENCIES = libsrtp LIBPJSIP_LICENSE = GPL-2.0+ LIBPJSIP_LICENSE_FILES = COPYING LIBPJSIP_CPE_ID_VENDOR = teluu @@ -17,6 +15,12 @@ LIBPJSIP_CPE_ID_PRODUCT = pjsip LIBPJSIP_INSTALL_STAGING = YES LIBPJSIP_MAKE = $(MAKE1) +# 0001-Merge-pull-request-from-GHSA-9pfh-r8x4-w26w.patch +LIBPJSIP_IGNORE_CVES += CVE-2022-23537 + +# 0002-Merge-pull-request-from-GHSA-cxwq-5g9x-x7fr.patch +LIBPJSIP_IGNORE_CVES += CVE-2022-23547 + LIBPJSIP_CFLAGS = $(TARGET_CFLAGS) -DPJ_HAS_IPV6=1 # relocation truncated to fit: R_68K_GOT16O @@ -38,8 +42,7 @@ LIBPJSIP_CONF_OPTS = \ --disable-l16-codec \ --disable-g722-codec \ --disable-ipp \ - --disable-silk \ - --with-external-srtp + --disable-silk # Note: aconfigure.ac is broken: --enable-epoll or --disable-epoll will # both enable it. But that's OK, epoll is better than the alternative, @@ -101,6 +104,22 @@ else LIBPJSIP_CONF_OPTS += --disable-libsamplerate endif +ifeq ($(BR2_PACKAGE_LIBSRTP),y) +LIBPJSIP_DEPENDENCIES += libsrtp +LIBPJSIP_CONF_OPTS += \ + --enable-libsrtp \ + --with-external-srtp +else +LIBPJSIP_CONF_OPTS += --disable-libsrtp +endif + +ifeq ($(BR2_PACKAGE_LIBUPNP),y) +LIBPJSIP_DEPENDENCIES += libupnp +LIBPJSIP_CONF_OPTS += --with-upnp=$(STAGING_DIR)/usr +else +LIBPJSIP_CONF_OPTS += --disable-upnp +endif + ifeq ($(BR2_PACKAGE_LIBV4L),y) # --enable-v4l2 is broken (check for libv4l2 will be omitted) LIBPJSIP_DEPENDENCIES += libv4l @@ -159,6 +178,9 @@ endif ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y) LIBPJSIP_DEPENDENCIES += util-linux +LIBPJSIP_CONF_OPTS += --enable-libuuid +else +LIBPJSIP_CONF_OPTS += --disable-libuuid endif # disable build of test binaries diff --git a/package/libpng/libpng.hash b/package/libpng/libpng.hash index e86b8c65c..34b0a8a8b 100644 --- a/package/libpng/libpng.hash +++ b/package/libpng/libpng.hash @@ -1,6 +1,6 @@ -# From https://sourceforge.net/projects/libpng/files/libpng16/1.6.37/ -md5 015e8e15db1eecde5f2eb9eb5b6e59e9 libpng-1.6.37.tar.xz -sha1 3ab93fabbf4c27e1c4724371df408d9a1bd3f656 libpng-1.6.37.tar.xz +# From https://sourceforge.net/projects/libpng/files/libpng16/1.6.38/ +md5 122e6b7837811698563083b352bc8ca2 libpng-1.6.38.tar.xz +sha1 60960ed110094843e5efa221df6a7d21614a4dba libpng-1.6.38.tar.xz # Locally computed: -sha256 505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca libpng-1.6.37.tar.xz -sha256 bf5e22b9dce8464064ae17a48ea1133c3369ac9e1d80ef9e320e5219aa14ea9b LICENSE +sha256 b3683e8b8111ebf6f1ac004ebb6b0c975cd310ec469d98364388e9cedbfa68be libpng-1.6.38.tar.xz +sha256 dfe5a536b0e5a531f844fb9c101a3089aca60772a503893b8e15f9457e369960 LICENSE diff --git a/package/libpng/libpng.mk b/package/libpng/libpng.mk index e4e629bbb..43b4f373f 100644 --- a/package/libpng/libpng.mk +++ b/package/libpng/libpng.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBPNG_VERSION = 1.6.37 +LIBPNG_VERSION = 1.6.38 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/libpqxx/libpqxx.hash b/package/libpqxx/libpqxx.hash index 8e3164937..167b5edc9 100644 --- a/package/libpqxx/libpqxx.hash +++ b/package/libpqxx/libpqxx.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 86921fdb0fe54495a79d5af2c96f2c771098c31e9b352d0834230fd2799ad362 libpqxx-6.4.5.tar.gz -sha256 36c48c1ca1b0a68639d919196b5d92c971858ad8e24da24385ba1c65cc5eac38 COPYING +sha256 86921fdb0fe54495a79d5af2c96f2c771098c31e9b352d0834230fd2799ad362 libpqxx-6.4.5.tar.gz +sha256 36c48c1ca1b0a68639d919196b5d92c971858ad8e24da24385ba1c65cc5eac38 COPYING diff --git a/package/libpri/libpri.hash b/package/libpri/libpri.hash index 47c4a0030..d24e65942 100644 --- a/package/libpri/libpri.hash +++ b/package/libpri/libpri.hash @@ -1,5 +1,5 @@ # sha1 and sha256 from http://downloads.asterisk.org/pub/telephony/libpri/releases/ -sha1 63536f3300fb007dfd5fe8064406992ca938bd9a libpri-1.5.0.tar.gz +sha1 63536f3300fb007dfd5fe8064406992ca938bd9a libpri-1.5.0.tar.gz sha256 ee224bc4aa65c54546bd09675c3f0b71817ce9e277332bce86989d8dcd556a24 libpri-1.5.0.tar.gz # License files, locally calculated diff --git a/package/libpri/libpri.mk b/package/libpri/libpri.mk index e1fa2abcf..34d84393c 100644 --- a/package/libpri/libpri.mk +++ b/package/libpri/libpri.mk @@ -17,6 +17,7 @@ LIBPRI_INSTALL_STAGING = YES # So we need to explicitly build only what we can. ifneq ($(BR2_SHARED_LIBS),y) LIBPRI_LIBS = libpri.a +LIBPRI_UTILS += pritest rosetest testprilib define LIBPRI_INSTALL_A $(INSTALL) -D -m 0644 $(@D)/libpri.a $(1)/usr/lib/libpri.a endef @@ -24,14 +25,13 @@ endif ifneq ($(BR2_STATIC_LIBS),y) LIBPRI_LIBS += libpri.so.1.4 +LIBPRI_UTILS += pridump define LIBPRI_INSTALL_SO $(INSTALL) -D -m 0644 $(@D)/libpri.so.1.4 $(1)/usr/lib/libpri.so.1.4 ln -sf libpri.so.1.4 $(1)/usr/lib/libpri.so endef endif -LIBPRI_UTILS = pridump pritest rosetest testprilib - define LIBPRI_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE1) $(TARGET_CONFIGURE_OPTS) \ CFLAGS="$(TARGET_CFLAGS) -fPIC" -C $(@D) \ diff --git a/package/libpsl/0001-Add-libiconv-dep-to-meson-build-again.patch b/package/libpsl/0001-Add-libiconv-dep-to-meson-build-again.patch new file mode 100644 index 000000000..72f50aa59 --- /dev/null +++ b/package/libpsl/0001-Add-libiconv-dep-to-meson-build-again.patch @@ -0,0 +1,60 @@ +From 5b63816e82287808e81b8603a528af3cc6fab354 Mon Sep 17 00:00:00 2001 +From: Zhao Zhili +Date: Thu, 7 Jan 2021 20:59:17 +0800 +Subject: [PATCH] Add libiconv dep to meson build again + +Build success on macOS and ubuntu. + +[Retrieved from: +https://github.com/rockdaboot/libpsl/commit/5b63816e82287808e81b8603a528af3cc6fab354] +Signed-off-by: Fabrice Fontaine +--- + meson.build | 14 ++++++++++++++ + src/meson.build | 2 +- + 2 files changed, 15 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index f248171..fb2de31 100644 +--- a/meson.build ++++ b/meson.build +@@ -20,6 +20,7 @@ libicu_dep = notfound + libidn_dep = notfound + libunistring = notfound + networking_deps = notfound ++libiconv_dep = notfound + + # FIXME: Cleanup this when Meson gets 'feature-combo': + # https://github.com/mesonbuild/meson/issues/4566 +@@ -86,6 +87,19 @@ endif + if libidn2_dep.found() or libidn_dep.found() + # Check for libunistring, we need it for psl_str_to_utf8lower() + libunistring = cc.find_library('unistring') ++ found_iconv = false ++ if cc.has_function('iconv_open') ++ libiconv_dep = [] ++ found_iconv = true ++ endif ++ if not found_iconv and cc.has_header_symbol('iconv.h', 'iconv_open') ++ libiconv_dep = [cc.find_library('iconv')] ++ found_iconv = true ++ endif ++ ++ if not found_iconv ++ error('iconv implementation not found') ++ endif + endif + + if host_machine.system() == 'windows' +diff --git a/src/meson.build b/src/meson.build +index 0d1dcdf..746bf44 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -19,7 +19,7 @@ cargs = [ + libpsl = library('psl', sources, suffixes_dafsa_h, + include_directories : [configinc, includedir], + c_args : cargs, +- dependencies : [libidn2_dep, libidn_dep, libicu_dep, libunistring, networking_deps], ++ dependencies : [libidn2_dep, libidn_dep, libicu_dep, libunistring, networking_deps, libiconv_dep], + version: lt_version, + install: true, + ) diff --git a/package/libpsl/Config.in b/package/libpsl/Config.in index a4cbce6b4..7b02d961c 100644 --- a/package/libpsl/Config.in +++ b/package/libpsl/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_LIBPSL bool "libpsl" depends on BR2_USE_WCHAR # libunistring, icu + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_LIBIDN2 if !BR2_PACKAGE_ICU && !BR2_PACKAGE_LIBIDN select BR2_PACKAGE_LIBUNISTRING if !BR2_PACKAGE_ICU help diff --git a/package/libpsl/libpsl.mk b/package/libpsl/libpsl.mk index 5dc03a7c2..742117e8e 100644 --- a/package/libpsl/libpsl.mk +++ b/package/libpsl/libpsl.mk @@ -11,6 +11,10 @@ LIBPSL_LICENSE_FILES = COPYING src/LICENSE.chromium LIBPSL_DEPENDENCIES = host-pkgconf LIBPSL_INSTALL_STAGING = YES +ifeq ($(BR2_ENABLE_LOCALE),) +LIBPSL_DEPENDENCIES += libiconv +endif + # The order of checks is the same as done by libpsl when configured. ifeq ($(BR2_PACKAGE_LIBIDN2)$(BR2_PACKAGE_LIBUNISTRING),yy) LIBPSL_CONF_OPTS += -Druntime=libidn2 -Dbuiltin=libidn2 diff --git a/package/libpthread-stubs/libpthread-stubs.hash b/package/libpthread-stubs/libpthread-stubs.hash index fb33618be..3f82bb23e 100644 --- a/package/libpthread-stubs/libpthread-stubs.hash +++ b/package/libpthread-stubs/libpthread-stubs.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 e4d05911a3165d3b18321cc067fdd2f023f06436e391c6a28dff618a78d2e733 libpthread-stubs-0.4.tar.bz2 -sha256 78c20706e799f2b8f445e71d3d2ade6ba23b3388fd6cbeed7d71796623febde8 COPYING +sha256 e4d05911a3165d3b18321cc067fdd2f023f06436e391c6a28dff618a78d2e733 libpthread-stubs-0.4.tar.bz2 +sha256 78c20706e799f2b8f445e71d3d2ade6ba23b3388fd6cbeed7d71796623febde8 COPYING diff --git a/package/libraw1394/libraw1394.hash b/package/libraw1394/libraw1394.hash index 9a44ab7d4..a69686f59 100644 --- a/package/libraw1394/libraw1394.hash +++ b/package/libraw1394/libraw1394.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/linux/libs/ieee1394/sha256sums.asc -sha256 03ccc69761d22c7deb1127fc301010dd13e70e44bb7134b8ff0d07590259a55e libraw1394-2.1.2.tar.xz +sha256 03ccc69761d22c7deb1127fc301010dd13e70e44bb7134b8ff0d07590259a55e libraw1394-2.1.2.tar.xz # Locally computed -sha256 5bbcbb737e60fe9deba08ecbd00920cfcc3403ba2e534c64fdeea49d6bb87509 COPYING.LIB +sha256 5bbcbb737e60fe9deba08ecbd00920cfcc3403ba2e534c64fdeea49d6bb87509 COPYING.LIB diff --git a/package/libreplaygain/libreplaygain.hash b/package/libreplaygain/libreplaygain.hash index 63e5dca57..0f7bc987b 100644 --- a/package/libreplaygain/libreplaygain.hash +++ b/package/libreplaygain/libreplaygain.hash @@ -1,5 +1,5 @@ # From https://www.musepack.net/index.php?pg=src -md5 e27b3b1249b7fbae92d656d9e3d26633 libreplaygain_r475.tar.gz +md5 e27b3b1249b7fbae92d656d9e3d26633 libreplaygain_r475.tar.gz # Calculated based on the hash above sha256 8258bf785547ac2cda43bb195e07522f0a3682f55abe97753c974609ec232482 libreplaygain_r475.tar.gz # Locally computed diff --git a/package/libressl/libressl.hash b/package/libressl/libressl.hash index 990ec8bda..e92399871 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 cb82ca7d547336917352fbd23db2fc483c6c44d35157b32780214ec74197b3ce libressl-3.4.2.tar.gz +sha256 ff88bffe354818b3ccf545e3cafe454c5031c7a77217074f533271d63c37f08d libressl-3.4.3.tar.gz # Locally computed sha256 5c63613f008f16a9c0025c096bbd736cecf720494d121b5c5203e0ec6e5955b1 COPYING diff --git a/package/libressl/libressl.mk b/package/libressl/libressl.mk index 6eee86dda..0bb468ced 100644 --- a/package/libressl/libressl.mk +++ b/package/libressl/libressl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBRESSL_VERSION = 3.4.2 +LIBRESSL_VERSION = 3.4.3 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/libroxml/libroxml.hash b/package/libroxml/libroxml.hash index 2e01a5498..547f82b60 100644 --- a/package/libroxml/libroxml.hash +++ b/package/libroxml/libroxml.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ed6d68d1bceabf98e5e76907411e2e4d93b2dbd48479ab41dede851f59dad6a3 libroxml-3.0.2.tar.gz -sha256 fe11466c265ad0a6c3896ea113af9403c0a8372b1fdd78712db64f0f1bac6387 License.txt +sha256 ed6d68d1bceabf98e5e76907411e2e4d93b2dbd48479ab41dede851f59dad6a3 libroxml-3.0.2.tar.gz +sha256 fe11466c265ad0a6c3896ea113af9403c0a8372b1fdd78712db64f0f1bac6387 License.txt diff --git a/package/librtlsdr/0001-Makefile.am-respect-DESTDIR-with-install-udev-rules.patch b/package/librtlsdr/0001-Makefile.am-respect-DESTDIR-with-install-udev-rules.patch new file mode 100644 index 000000000..1aec8166c --- /dev/null +++ b/package/librtlsdr/0001-Makefile.am-respect-DESTDIR-with-install-udev-rules.patch @@ -0,0 +1,31 @@ +From 082c9e4cb6c8f96aa59dd3d03b0288752518fad7 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 19 Feb 2022 22:29:45 +0100 +Subject: [PATCH] Makefile.am: respect $(DESTDIR) with install-udev-rules + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/steve-m/librtlsdr/pull/67] +--- + Makefile.am | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 65b2f21..6b8691a 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -14,10 +14,10 @@ dist-hook: + echo $(VERSION) > $(distdir)/.tarball-version + + install-udev-rules: +- $(INSTALL_DATA) rtl-sdr.rules /etc/udev/rules.d ++ $(INSTALL_DATA) rtl-sdr.rules $(DESTDIR)/etc/udev/rules.d + + uninstall-udev-rules: +- rm -rf /etc/udev/rules.d/rtl-sdr.rules ++ rm -rf $(DESTDIR)/etc/udev/rules.d/rtl-sdr.rules + + EXTRA_DIST = git-version-gen .version + +-- +2.34.1 + diff --git a/package/librtlsdr/0001-disable_shared_library_target_in_build.patch b/package/librtlsdr/0001-disable_shared_library_target_in_build.patch deleted file mode 100644 index 2fb63465d..000000000 --- a/package/librtlsdr/0001-disable_shared_library_target_in_build.patch +++ /dev/null @@ -1,130 +0,0 @@ -From 9a1c2587d4ef18e2026811deabd024eb7577d9ce Mon Sep 17 00:00:00 2001 -From: Gwenhael Goavec-Merou -Date: Fri, 15 May 2020 16:14:48 +0200 -Subject: [PATCH] disable shared library target in build - -Disable shared library target if BUILD_SHARED_LIBS if OFF. - -Patch retrieved from -https://git.buildroot.net/buildroot/tree/package/librtlsdr/0001-disable_shared_library_target_in_build.patch?h=2020.02.x - -Patch has been updated to work with master and to be able to keep current -behavior of building shared and static version of library if -BUILD_SHARED_LIBS and BUILD_STATIC_LIBS are both set. -Moreover, if BUILD_STATIC_LIBS is OFF, only shared version of library -will be install. - -[Upstream status: http://lists.osmocom.org/pipermail/osmocom-sdr/2020-May/002075.html] - -Signed-off-by: Yuvaraj Patil -Signed-off-by: Fabrice Fontaine -Signed-off-by: Gwenhael Goavec-Merou -Signed-off-by: Titouan Christophe ---- - src/CMakeLists.txt | 30 +++++++++++++++++++++--------- - 1 file changed, 21 insertions(+), 9 deletions(-) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index de93044..13b7b1a 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -18,6 +18,8 @@ - ######################################################################## - # Setup shared library variant - ######################################################################## -+option(BUILD_SHARED_LIBS "Build shared library" ON) -+if(BUILD_SHARED_LIBS) - add_library(rtlsdr SHARED librtlsdr.c - tuner_e4k.c tuner_fc0012.c tuner_fc0013.c tuner_fc2580.c tuner_r82xx.c) - target_link_libraries(rtlsdr PkgConfig::LIBUSB) -@@ -30,10 +32,14 @@ set_target_properties(rtlsdr PROPERTIES OUTPUT_NAME rtlsdr) - set_target_properties(rtlsdr PROPERTIES SOVERSION ${MAJOR_VERSION}) - set_target_properties(rtlsdr PROPERTIES VERSION ${LIBVER}) - generate_export_header(rtlsdr) -+list(APPEND rtlsdr_lib rtlsdr) -+endif() - - ######################################################################## - # Setup static library variant - ######################################################################## -+option(BUILD_STATIC_LIBS "Build static library" ON) -+if(BUILD_STATIC_LIBS) - add_library(rtlsdr_static STATIC librtlsdr.c - tuner_e4k.c tuner_fc0012.c tuner_fc0013.c tuner_fc2580.c tuner_r82xx.c) - target_link_libraries(rtlsdr_static PkgConfig::LIBUSB) -@@ -47,6 +53,8 @@ if(NOT WIN32) - set_target_properties(rtlsdr_static PROPERTIES OUTPUT_NAME rtlsdr) - endif() - generate_export_header(rtlsdr_static) -+list(APPEND rtlsdr_lib rtlsdr_static) -+endif() - - ######################################################################## - # Set up Windows DLL resource files -@@ -90,37 +98,37 @@ add_executable(rtl_eeprom rtl_eeprom.c) - add_executable(rtl_adsb rtl_adsb.c) - add_executable(rtl_power rtl_power.c) - add_executable(rtl_biast rtl_biast.c) --set(INSTALL_TARGETS rtlsdr rtlsdr_static rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power rtl_biast) -+set(INSTALL_TARGETS ${rtlsdr_lib} rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power rtl_biast) - --target_link_libraries(rtl_sdr rtlsdr convenience_static -+target_link_libraries(rtl_sdr ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) --target_link_libraries(rtl_tcp rtlsdr convenience_static -+target_link_libraries(rtl_tcp ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) --target_link_libraries(rtl_test rtlsdr convenience_static -+target_link_libraries(rtl_test ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) --target_link_libraries(rtl_fm rtlsdr convenience_static -+target_link_libraries(rtl_fm ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) --target_link_libraries(rtl_eeprom rtlsdr convenience_static -+target_link_libraries(rtl_eeprom ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) --target_link_libraries(rtl_adsb rtlsdr convenience_static -+target_link_libraries(rtl_adsb ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) --target_link_libraries(rtl_power rtlsdr convenience_static -+target_link_libraries(rtl_power ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) --target_link_libraries(rtl_biast rtlsdr convenience_static -+target_link_libraries(rtl_biast ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) -@@ -156,12 +164,16 @@ endif() - ######################################################################## - # Install built library files & utilities - ######################################################################## -+if(BUILD_SHARED_LIBS) - install(TARGETS rtlsdr EXPORT RTLSDR-export - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} # .so/.dylib file - ) -+endif() -+if(BUILD_STATIC_LIBS) - install(TARGETS rtlsdr_static EXPORT RTLSDR-export - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} # .so/.dylib file - ) -+endif() - install(TARGETS rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power rtl_biast - DESTINATION ${CMAKE_INSTALL_BINDIR} - ) --- -2.25.3 - diff --git a/package/librtlsdr/0002-cmake-Modules-Version.cmake-don-t-use-Git-version-if.patch b/package/librtlsdr/0002-cmake-Modules-Version.cmake-don-t-use-Git-version-if.patch deleted file mode 100644 index 9c808edd4..000000000 --- a/package/librtlsdr/0002-cmake-Modules-Version.cmake-don-t-use-Git-version-if.patch +++ /dev/null @@ -1,47 +0,0 @@ -From feb5d9c6b7bcec788f9b01781c205e31fff260e7 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 11 Aug 2020 23:07:08 +0200 -Subject: [PATCH] cmake/Modules/Version.cmake: don't use Git version if not in - a Git repo - -If the librtlsdr code comes from a tarball, it doesn't have any .git/ -metadata, and therefore even if Git (as a tool) is found, the logic in -cmake/Modules/Version.cmake fails finding a version through Git: - --- Extracting version information from git describe... -fatal: Not a git repository (or any of the parent directories): .git - -As a consequence, the VERSION variable is empty, which later causes -cmake to bail out with: - -CMake Error at /home/test/autobuild/run/instance-1/output-1/host/share/cmake-3.15/Modules/WriteBasicConfigVersionFile.cmake:43 (message): - No VERSION specified for WRITE_BASIC_CONFIG_VERSION_FILE() -Call Stack (most recent call first): - /home/test/autobuild/run/instance-1/output-1/host/share/cmake-3.15/Modules/CMakePackageConfigHelpers.cmake:225 (write_basic_config_version_file) - CMakeLists.txt:173 (write_basic_package_version_file) - -To avoid this, we only use Git to determine the version if the cmake -project top-level source directory has a .git/ folder. - -Upstream: https://github.com/librtlsdr/librtlsdr/pull/75 -Signed-off-by: Thomas Petazzoni ---- - cmake/Modules/Version.cmake | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cmake/Modules/Version.cmake b/cmake/Modules/Version.cmake -index 2d4e76d..6f67fa4 100644 ---- a/cmake/Modules/Version.cmake -+++ b/cmake/Modules/Version.cmake -@@ -32,7 +32,7 @@ set(PATCH_VERSION ${VERSION_INFO_PATCH_VERSION}) - ######################################################################## - find_package(Git QUIET) - --if(GIT_FOUND) -+if(GIT_FOUND AND EXISTS ${CMAKE_SOURCE_DIR}/.git) - message(STATUS "Extracting version information from git describe...") - execute_process( - COMMAND ${GIT_EXECUTABLE} describe --always --abbrev=4 --long --- -2.26.2 - diff --git a/package/librtlsdr/librtlsdr.mk b/package/librtlsdr/librtlsdr.mk index 7796d1096..908be158b 100644 --- a/package/librtlsdr/librtlsdr.mk +++ b/package/librtlsdr/librtlsdr.mk @@ -9,29 +9,25 @@ LIBRTLSDR_SITE = $(call github,steve-m,librtlsdr,$(LIBRTLSDR_VERSION)) LIBRTLSDR_LICENSE = GPL-2.0+ LIBRTLSDR_LICENSE_FILES = COPYING LIBRTLSDR_INSTALL_STAGING = YES -LIBRTLSDR_DEPENDENCIES = libusb - -# BUILD_SHARED_LIBS is handled in pkg-cmake.mk as it is a generic cmake variable -ifeq ($(BR2_STATIC_LIBS),y) -LIBRTLSDR_CONF_OPTS += -DBUILD_STATIC_LIBS=ON -else ifeq ($(BR2_SHARED_STATIC_LIBS),y) -LIBRTLSDR_CONF_OPTS += -DBUILD_STATIC_LIBS=ON -else ifeq ($(BR2_SHARED_LIBS),y) -LIBRTLSDR_CONF_OPTS += -DBUILD_STATIC_LIBS=OFF -endif +# From git +LIBRTLSDR_AUTORECONF = YES +LIBRTLSDR_DEPENDENCIES = host-pkgconf libusb +LIBRTLSDR_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install ifeq ($(BR2_PACKAGE_HAS_UDEV),y) -LIBRTLSDR_CONF_OPTS += -DINSTALL_UDEV_RULES=ON +LIBRTLSDR_INSTALL_TARGET_OPTS += install-udev-rules endif ifeq ($(BR2_PACKAGE_LIBRTLSDR_DETACH_DRIVER),y) -LIBRTLSDR_CONF_OPTS += -DDETACH_KERNEL_DRIVER=1 +LIBRTLSDR_CONF_OPTS += --enable-driver-detach +else +LIBRTLSDR_CONF_OPTS += --disable-driver-detach endif ifeq ($(BR2_PACKAGE_LIBRTLSDR_ZEROCOPY),y) -LIBRTLSDR_CONF_OPTS += -DENABLE_ZEROCOPY=ON +LIBRTLSDR_CONF_OPTS += --enable-zerocopy else -LIBRTLSDR_CONF_OPTS += -DENABLE_ZEROCOPY=OFF +LIBRTLSDR_CONF_OPTS += --disable-zerocopy endif -$(eval $(cmake-package)) +$(eval $(autotools-package)) diff --git a/package/libsamplerate/libsamplerate.hash b/package/libsamplerate/libsamplerate.hash index 73722563e..bc522a2c6 100644 --- a/package/libsamplerate/libsamplerate.hash +++ b/package/libsamplerate/libsamplerate.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature sha256 0a7eb168e2f21353fb6d84da152e4512126f7dc48ccb0be80578c565413444c1 libsamplerate-0.1.9.tar.gz # Locally computed -sha256 2c1f76ce2effdddb425018405d5690c0b1ab4e6976e35296b0a6db65c5e1a55d COPYING +sha256 2c1f76ce2effdddb425018405d5690c0b1ab4e6976e35296b0a6db65c5e1a55d COPYING diff --git a/package/libsamplerate/libsamplerate.mk b/package/libsamplerate/libsamplerate.mk index 146d57d15..49b42fb26 100644 --- a/package/libsamplerate/libsamplerate.mk +++ b/package/libsamplerate/libsamplerate.mk @@ -8,17 +8,21 @@ LIBSAMPLERATE_VERSION = 0.1.9 LIBSAMPLERATE_SITE = http://www.mega-nerd.com/SRC LIBSAMPLERATE_INSTALL_STAGING = YES LIBSAMPLERATE_DEPENDENCIES = host-pkgconf -LIBSAMPLERATE_CONF_OPTS = --disable-fftw --program-transform-name='' +# sndfile is only used for examples and tests so it doesn't make sense +# to support it as an optional dependency +LIBSAMPLERATE_CONF_OPTS = \ + --disable-fftw \ + --disable-sndfile \ + --program-transform-name='' LIBSAMPLERATE_LICENSE = BSD-2-Clause LIBSAMPLERATE_LICENSE_FILES = COPYING LIBSAMPLERATE_CPE_ID_VENDOR = libsamplerate_project ifeq ($(BR2_PACKAGE_ALSA_LIB),y) LIBSAMPLERATE_DEPENDENCIES += alsa-lib -endif - -ifeq ($(BR2_PACKAGE_LIBSNDFILE),y) -LIBSAMPLERATE_DEPENDENCIES += libsndfile +LIBSAMPLERATE_CONF_OPTS += --enable-alsa +else +LIBSAMPLERATE_CONF_OPTS += --disable-alsa endif $(eval $(autotools-package)) diff --git a/package/libscrypt/libscrypt.hash b/package/libscrypt/libscrypt.hash index fda63d1c0..ba38900b8 100644 --- a/package/libscrypt/libscrypt.hash +++ b/package/libscrypt/libscrypt.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 68e377e79745c10d489b759b970e52d819dbb80dd8ca61f8c975185df3f457d3 libscrypt-1.21.tar.gz -sha256 aacbfd9e19e5b38ea09616cebf0751ef0cc7b6a19ea0fd78f4b0598b2c503394 LICENSE +sha256 68e377e79745c10d489b759b970e52d819dbb80dd8ca61f8c975185df3f457d3 libscrypt-1.21.tar.gz +sha256 aacbfd9e19e5b38ea09616cebf0751ef0cc7b6a19ea0fd78f4b0598b2c503394 LICENSE diff --git a/package/libselinux/libselinux.mk b/package/libselinux/libselinux.mk index 5790e7904..c6be8e638 100644 --- a/package/libselinux/libselinux.mk +++ b/package/libselinux/libselinux.mk @@ -10,7 +10,8 @@ LIBSELINUX_LICENSE = Public Domain LIBSELINUX_LICENSE_FILES = LICENSE LIBSELINUX_CPE_ID_VENDOR = selinuxproject -LIBSELINUX_DEPENDENCIES = $(BR2_COREUTILS_HOST_DEPENDENCY) libsepol pcre +LIBSELINUX_DEPENDENCIES = \ + $(BR2_COREUTILS_HOST_DEPENDENCY) host-pkgconf libsepol pcre LIBSELINUX_INSTALL_STAGING = YES @@ -52,8 +53,7 @@ endif # python3 # when the python binding is enabled. LIBSELINUX_MAKE_OPTS += \ CFLAGS="$(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CFLAGS))" \ - CPPFLAGS="$(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CPPFLAGS))" \ - LDFLAGS="$(TARGET_LDFLAGS) -lpcre -lpthread" + CPPFLAGS="$(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CPPFLAGS))" define LIBSELINUX_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ @@ -76,13 +76,12 @@ define LIBSELINUX_INSTALL_TARGET_CMDS endef HOST_LIBSELINUX_DEPENDENCIES = \ - host-libsepol host-pcre host-swig host-python3 + host-pkgconf host-libsepol host-pcre host-swig host-python3 HOST_LIBSELINUX_MAKE_OPTS = \ $(HOST_CONFIGURE_OPTS) \ PREFIX=$(HOST_DIR) \ SHLIBDIR=$(HOST_DIR)/lib \ - LDFLAGS="$(HOST_LDFLAGS) -lpcre -lpthread" \ $(HOST_PKG_PYTHON_DISTUTILS_ENV) \ PYTHON=python$(PYTHON3_VERSION_MAJOR) diff --git a/package/libsepol/Config.in b/package/libsepol/Config.in index 7516076cd..5dfd1a41d 100644 --- a/package/libsepol/Config.in +++ b/package/libsepol/Config.in @@ -18,7 +18,6 @@ config BR2_PACKAGE_LIBSEPOL_POLICY_VERSION default 30 if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 default 29 if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 default 28 if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5 - default 26 if BR2_TOOLCHAIN_HEADERS_AT_LEAST_2_6 default 25 help The maximum SELinux policy version your kernel supports. diff --git a/package/libserial/libserial.hash b/package/libserial/libserial.hash index 30005e39a..87744904f 100644 --- a/package/libserial/libserial.hash +++ b/package/libserial/libserial.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 063142d6bfe08898316e9a6055f2ddeedef56de06f7cfc8dcdfecc6efabf4bdd libserial-1.0.0.tar.gz -sha256 c42fdfe17c192cfdb900e22d40ef246db1b473f99165e405eda62b41be27f4bf LICENSE.txt +sha256 063142d6bfe08898316e9a6055f2ddeedef56de06f7cfc8dcdfecc6efabf4bdd libserial-1.0.0.tar.gz +sha256 c42fdfe17c192cfdb900e22d40ef246db1b473f99165e405eda62b41be27f4bf LICENSE.txt diff --git a/package/libsha1/libsha1.hash b/package/libsha1/libsha1.hash index 5a2b0ed13..e896a2f57 100644 --- a/package/libsha1/libsha1.hash +++ b/package/libsha1/libsha1.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ef4c75007ac41c3dc09e0225943c789ba2b9c632a6cd7b548e0519477ac2f768 libsha1-0.3.tar.gz -sha256 4c387926596bfeacc5b72ebeb96ab36c299a07568e18592c727a6c11dd512c20 COPYING +sha256 ef4c75007ac41c3dc09e0225943c789ba2b9c632a6cd7b548e0519477ac2f768 libsha1-0.3.tar.gz +sha256 4c387926596bfeacc5b72ebeb96ab36c299a07568e18592c727a6c11dd512c20 COPYING diff --git a/package/libsidplay2/libsidplay2.hash b/package/libsidplay2/libsidplay2.hash index 5342135ad..b6ba26d65 100644 --- a/package/libsidplay2/libsidplay2.hash +++ b/package/libsidplay2/libsidplay2.hash @@ -1,4 +1,4 @@ # From http://sourceforge.net/projects/sidplay2/files/sidplay2/sidplay-libs-2.1.1/ -sha1 8af6350866edc30b0d331e075fa97292f6f645a5 sidplay-libs-2.1.1.tar.gz +sha1 8af6350866edc30b0d331e075fa97292f6f645a5 sidplay-libs-2.1.1.tar.gz # Locally computed sha256 b8a2f73f743dc1a51aff23f1aacbca4b868564db52496fa3c0caba755bfd1eaf libsidplay/COPYING diff --git a/package/libsigrok/libsigrok.hash b/package/libsigrok/libsigrok.hash index 0898a2fba..0c47ef49d 100644 --- a/package/libsigrok/libsigrok.hash +++ b/package/libsigrok/libsigrok.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 4d341f90b6220d3e8cb251dacf726c41165285612248f2c52d15df4590a1ce3c libsigrok-0.5.2.tar.gz -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 4d341f90b6220d3e8cb251dacf726c41165285612248f2c52d15df4590a1ce3c libsigrok-0.5.2.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/libsigrokdecode/libsigrokdecode.hash b/package/libsigrokdecode/libsigrokdecode.hash index 44e03ad37..a00a662fa 100644 --- a/package/libsigrokdecode/libsigrokdecode.hash +++ b/package/libsigrokdecode/libsigrokdecode.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 c50814aa6743cd8c4e88c84a0cdd8889d883c3be122289be90c63d7d67883fc0 libsigrokdecode-0.5.3.tar.gz -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 c50814aa6743cd8c4e88c84a0cdd8889d883c3be122289be90c63d7d67883fc0 libsigrokdecode-0.5.3.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/libsigsegv/libsigsegv.hash b/package/libsigsegv/libsigsegv.hash index c827e6b86..13978da39 100644 --- a/package/libsigsegv/libsigsegv.hash +++ b/package/libsigsegv/libsigsegv.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/libsigsegv/libsigsegv-2.13.tar.gz.sig -sha256 be78ee4176b05f7c75ff03298d84874db90f4b6c9d5503f0da1226b3a3c48119 libsigsegv-2.13.tar.gz +# https://ftp.gnu.org/gnu/libsigsegv/libsigsegv-2.14.tar.gz.sig +sha256 cdac3941803364cf81a908499beb79c200ead60b6b5b40cad124fd1e06caa295 libsigsegv-2.14.tar.gz # Locally calculated sha256 8f2983e9a940367f48999881c14775db725ee643bce1e2f1ba195eb629a33cde COPYING diff --git a/package/libsigsegv/libsigsegv.mk b/package/libsigsegv/libsigsegv.mk index 87a5d7a12..98bcd55c8 100644 --- a/package/libsigsegv/libsigsegv.mk +++ b/package/libsigsegv/libsigsegv.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSIGSEGV_VERSION = 2.13 +LIBSIGSEGV_VERSION = 2.14 LIBSIGSEGV_SITE = $(BR2_GNU_MIRROR)/libsigsegv LIBSIGSEGV_INSTALL_STAGING = YES LIBSIGSEGV_CONF_ENV = sv_cv_fault_posix=yes diff --git a/package/libsndfile/0001-configure-ac-substitute-EXTERNAL_MPEG_LIBS-in-sndfile-pc.patch b/package/libsndfile/0001-configure-ac-substitute-EXTERNAL_MPEG_LIBS-in-sndfile-pc.patch new file mode 100644 index 000000000..44ed6dc2c --- /dev/null +++ b/package/libsndfile/0001-configure-ac-substitute-EXTERNAL_MPEG_LIBS-in-sndfile-pc.patch @@ -0,0 +1,24 @@ +From e4fdaeefddd39bae1db27d48ccb7db7733e0c009 Mon Sep 17 00:00:00 2001 +From: Michael Cho +Date: Sun, 17 Apr 2022 21:31:07 -0700 +Subject: [PATCH] configure.ac: substitute EXTERNAL_MPEG_LIBS in sndfile.pc + +[Retrieved from: +https://github.com/libsndfile/libsndfile/commit/e4fdaeefddd39bae1db27d48ccb7db7733e0c009] +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index 727b67bc0..a4c776d70 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -739,6 +739,7 @@ AC_SUBST(SNDIO_LIBS) + AC_SUBST(EXTERNAL_XIPH_CFLAGS) + AC_SUBST(EXTERNAL_XIPH_LIBS) + AC_SUBST(EXTERNAL_XIPH_REQUIRE) ++AC_SUBST(EXTERNAL_MPEG_LIBS) + AC_SUBST(EXTERNAL_MPEG_REQUIRE) + AC_SUBST(MPG123_CFLAGS) + AC_SUBST(MPG123_LIBS) diff --git a/package/libsndfile/0001-ms_adpcm-Fix-and-extend-size-checks.patch b/package/libsndfile/0001-ms_adpcm-Fix-and-extend-size-checks.patch deleted file mode 100644 index edacbda01..000000000 --- a/package/libsndfile/0001-ms_adpcm-Fix-and-extend-size-checks.patch +++ /dev/null @@ -1,40 +0,0 @@ -From deb669ee8be55a94565f6f8a6b60890c2e7c6f32 Mon Sep 17 00:00:00 2001 -From: bobsayshilol -Date: Thu, 18 Feb 2021 21:52:09 +0000 -Subject: [PATCH] ms_adpcm: Fix and extend size checks - -'blockalign' is the size of a block, and each block contains 7 samples -per channel as part of the preamble, so check against 'samplesperblock' -rather than 'blockalign'. Also add an additional check that the block -is big enough to hold the samples it claims to hold. - -https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=26803 -Signed-off-by: Peter Korsgaard ---- - src/ms_adpcm.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/src/ms_adpcm.c b/src/ms_adpcm.c -index 5e8f1a31..a21cb994 100644 ---- a/src/ms_adpcm.c -+++ b/src/ms_adpcm.c -@@ -128,8 +128,14 @@ wavlike_msadpcm_init (SF_PRIVATE *psf, int blockalign, int samplesperblock) - if (psf->file.mode == SFM_WRITE) - samplesperblock = 2 + 2 * (blockalign - 7 * psf->sf.channels) / psf->sf.channels ; - -- if (blockalign < 7 * psf->sf.channels) -- { psf_log_printf (psf, "*** Error blockalign (%d) should be > %d.\n", blockalign, 7 * psf->sf.channels) ; -+ /* There's 7 samples per channel in the preamble of each block */ -+ if (samplesperblock < 7 * psf->sf.channels) -+ { psf_log_printf (psf, "*** Error samplesperblock (%d) should be >= %d.\n", samplesperblock, 7 * psf->sf.channels) ; -+ return SFE_INTERNAL ; -+ } ; -+ -+ if (2 * blockalign < samplesperblock * psf->sf.channels) -+ { psf_log_printf (psf, "*** Error blockalign (%d) should be >= %d.\n", blockalign, samplesperblock * psf->sf.channels / 2) ; - return SFE_INTERNAL ; - } ; - --- -2.20.1 - diff --git a/package/libsndfile/libsndfile.hash b/package/libsndfile/libsndfile.hash index 14dfe823f..67d10d03c 100644 --- a/package/libsndfile/libsndfile.hash +++ b/package/libsndfile/libsndfile.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 a8cfb1c09ea6e90eff4ca87322d4168cdbe5035cb48717b40bf77e751cc02163 libsndfile-1.0.31.tar.bz2 +sha256 0f98e101c0f7c850a71225fb5feaf33b106227b3d331333ddc9bacee190bcf41 libsndfile-1.1.0.tar.xz # Locally calculated sha256 ad01ea5cd2755f6048383c8d54c88459cd6fcb17757c5c8892f8c5ea060f6140 COPYING diff --git a/package/libsndfile/libsndfile.mk b/package/libsndfile/libsndfile.mk index ed9e8e3d1..0b57a1fdd 100644 --- a/package/libsndfile/libsndfile.mk +++ b/package/libsndfile/libsndfile.mk @@ -4,19 +4,16 @@ # ################################################################################ -LIBSNDFILE_VERSION = 1.0.31 -LIBSNDFILE_SOURCE = libsndfile-$(LIBSNDFILE_VERSION).tar.bz2 +LIBSNDFILE_VERSION = 1.1.0 +LIBSNDFILE_SOURCE = libsndfile-$(LIBSNDFILE_VERSION).tar.xz LIBSNDFILE_SITE = https://github.com/libsndfile/libsndfile/releases/download/$(LIBSNDFILE_VERSION) LIBSNDFILE_INSTALL_STAGING = YES LIBSNDFILE_LICENSE = LGPL-2.1+ LIBSNDFILE_LICENSE_FILES = COPYING LIBSNDFILE_CPE_ID_VENDOR = libsndfile_project - -# 0001-ms_adpcm-Fix-and-extend-size-checks.patch -LIBSNDFILE_IGNORE_CVES += CVE-2021-3246 - -# disputed, https://github.com/erikd/libsndfile/issues/398 -LIBSNDFILE_IGNORE_CVES += CVE-2018-13419 +# We're patching configure.ac +LIBSNDFILE_AUTORECONF = YES +LIBSNDFILE_DEPENDENCIES = host-pkgconf LIBSNDFILE_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' LIBSNDFILE_CONF_OPTS = \ diff --git a/package/libsodium/libsodium.hash b/package/libsodium/libsodium.hash index bc7b02d64..37c1a620b 100644 --- a/package/libsodium/libsodium.hash +++ b/package/libsodium/libsodium.hash @@ -1,4 +1,4 @@ # Locally calculated after checking Minisign signature # https://download.libsodium.org/libsodium/releases/libsodium-1.0.18.tar.gz.minisig -sha256 6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1 libsodium-1.0.18.tar.gz -sha256 dea1855c9809f3faf22aa4a1fba20ec8af5a5587f23115012e5b98279cedc4af LICENSE +sha256 6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1 libsodium-1.0.18.tar.gz +sha256 dea1855c9809f3faf22aa4a1fba20ec8af5a5587f23115012e5b98279cedc4af LICENSE diff --git a/package/libsquish/libsquish.hash b/package/libsquish/libsquish.hash index 06c96e977..e4229a90a 100644 --- a/package/libsquish/libsquish.hash +++ b/package/libsquish/libsquish.hash @@ -1,5 +1,5 @@ # From http://sourceforge.net/projects/libsquish/files -sha1 51844b9a8bc815a27e2cc0ffbede5fee3ef75110 libsquish-1.15.tgz -md5 c02645800131e55b519ff8dbe7284f93 libsquish-1.15.tgz +sha1 51844b9a8bc815a27e2cc0ffbede5fee3ef75110 libsquish-1.15.tgz +md5 c02645800131e55b519ff8dbe7284f93 libsquish-1.15.tgz # Locally calculated -sha256 a6b8c383bf3ab28460d6507484d605dd722e03971606f0cd3032a3af682b63a5 LICENSE.txt +sha256 a6b8c383bf3ab28460d6507484d605dd722e03971606f0cd3032a3af682b63a5 LICENSE.txt diff --git a/package/libsrtp/libsrtp.mk b/package/libsrtp/libsrtp.mk index f2ba600dd..e7a771c6b 100644 --- a/package/libsrtp/libsrtp.mk +++ b/package/libsrtp/libsrtp.mk @@ -21,8 +21,7 @@ endif LIBSRTP_DEPENDENCIES = host-pkgconf -# openssl handling needs libdl support -ifeq ($(BR2_PACKAGE_OPENSSL)x$(BR2_STATIC_LIBS),yx) +ifeq ($(BR2_PACKAGE_OPENSSL),y) LIBSRTP_DEPENDENCIES += openssl LIBSRTP_CONF_OPTS += --disable-nss --enable-openssl else ifeq ($(BR2_PACKAGE_LIBNSS),y) diff --git a/package/libss7/libss7.hash b/package/libss7/libss7.hash index 8e1d6635d..8b7f16913 100644 --- a/package/libss7/libss7.hash +++ b/package/libss7/libss7.hash @@ -1,5 +1,5 @@ # Hashes from http://downloads.asterisk.org/pub/telephony/libss7/releases/ -sha1 7112a0717293fc273d5d488e1387ad28abe4e9b3 libss7-2.0.0.tar.gz +sha1 7112a0717293fc273d5d488e1387ad28abe4e9b3 libss7-2.0.0.tar.gz sha256 5af00853cfb2bc6bcf050947804db132ae6872db0cd2ab24b5378828f78eda52 libss7-2.0.0.tar.gz # License file, locally calculated diff --git a/package/libsvg-cairo/libsvg-cairo.hash b/package/libsvg-cairo/libsvg-cairo.hash index 7240ee57b..d9cfbffa7 100644 --- a/package/libsvg-cairo/libsvg-cairo.hash +++ b/package/libsvg-cairo/libsvg-cairo.hash @@ -1,5 +1,5 @@ # From http://cairographics.org/snapshots/libsvg-cairo-0.1.6.tar.gz.md5 -md5 d79da7b3a60ad8c8e4b902c9b3563047 libsvg-cairo-0.1.6.tar.gz +md5 d79da7b3a60ad8c8e4b902c9b3563047 libsvg-cairo-0.1.6.tar.gz # Locally calculated sha256 a380be6a78ec2938100ce904363815a94068fca372c666b8cc82aa8711a0215c libsvg-cairo-0.1.6.tar.gz diff --git a/package/libsvg/libsvg.hash b/package/libsvg/libsvg.hash index c314c5801..4a9d42a65 100644 --- a/package/libsvg/libsvg.hash +++ b/package/libsvg/libsvg.hash @@ -1,5 +1,5 @@ # From http://cairographics.org/snapshots/libsvg-0.1.4.tar.gz.md5 -md5 ce0715e3013f78506795fba16e8455d3 libsvg-0.1.4.tar.gz +md5 ce0715e3013f78506795fba16e8455d3 libsvg-0.1.4.tar.gz # Locally calculated sha256 4c3bf9292e676a72b12338691be64d0f38cd7f2ea5e8b67fbbf45f1ed404bc8f libsvg-0.1.4.tar.gz diff --git a/package/libtalloc/0001-buildtools-wafsamba-add-disable-stack-protector-opti.patch b/package/libtalloc/0001-buildtools-wafsamba-add-disable-stack-protector-opti.patch new file mode 100644 index 000000000..839479a3f --- /dev/null +++ b/package/libtalloc/0001-buildtools-wafsamba-add-disable-stack-protector-opti.patch @@ -0,0 +1,116 @@ +From 5885ed8e6db7648e6842d9811aace7edc4e8aba7 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 20 Apr 2022 11:16:52 +0200 +Subject: [PATCH] buildtools/wafsamba: add --disable-stack-protector option + +Allow the user to disable stack-protector through +--disable-stack-protector to avoid the following build failure with +libtalloc on embedded toolchains which don't support stack-protector: + +/home/autobuild/autobuild/instance-5/output-1/host/lib/gcc/i686-buildroot-linux-musl/9.4.0/../../../../i686-buildroot-linux-musl/bin/ld: talloc.c.5.o: in function `_vasprintf_tc': +talloc.c:(.text+0x427d): undefined reference to `__stack_chk_fail_local' + +This build failure is raised since +https://gitlab.com/ffontaine/samba/-/commit/38e97f8b52e85bdfcf2d74a4fb3c848fa46ba371 +because stack-protector is enabled on libtalloc despite the fact that +libssp is not available: + +Checking if compiler accepts -fstack-protector-strong : yes + +Fixes: + - http://autobuild.buildroot.org/results/e221bde25c7622db99761d0adcd56663296beb15 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://gitlab.com/samba-team/samba/-/merge_requests/2493] +--- + buildtools/wafsamba/samba_autoconf.py | 49 ++++++++++++++------------- + buildtools/wafsamba/wscript | 3 ++ + 2 files changed, 28 insertions(+), 24 deletions(-) + +diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py +index 78927d85193..23a995e1c34 100644 +--- a/buildtools/wafsamba/samba_autoconf.py ++++ b/buildtools/wafsamba/samba_autoconf.py +@@ -703,9 +703,28 @@ def SAMBA_CONFIG_H(conf, path=None): + if not IN_LAUNCH_DIR(conf): + return + +- # we need to build real code that can't be optimized away to test +- stack_protect_list = ['-fstack-protector-strong', '-fstack-protector'] +- for stack_protect_flag in stack_protect_list: ++ if not Options.options.disable_stack_protector: ++ # we need to build real code that can't be optimized away to test ++ stack_protect_list = ['-fstack-protector-strong', '-fstack-protector'] ++ for stack_protect_flag in stack_protect_list: ++ flag_supported = conf.check(fragment=''' ++ #include ++ ++ int main(void) ++ { ++ char t[100000]; ++ while (fgets(t, sizeof(t), stdin)); ++ return 0; ++ } ++ ''', ++ execute=0, ++ cflags=[ '-Werror', '-Wp,-D_FORTIFY_SOURCE=2', stack_protect_flag], ++ mandatory=False, ++ msg='Checking if compiler accepts %s' % (stack_protect_flag)) ++ if flag_supported: ++ conf.ADD_CFLAGS('%s' % (stack_protect_flag)) ++ break ++ + flag_supported = conf.check(fragment=''' + #include + +@@ -717,29 +736,11 @@ def SAMBA_CONFIG_H(conf, path=None): + } + ''', + execute=0, +- cflags=[ '-Werror', '-Wp,-D_FORTIFY_SOURCE=2', stack_protect_flag], ++ cflags=[ '-Werror', '-fstack-clash-protection'], + mandatory=False, +- msg='Checking if compiler accepts %s' % (stack_protect_flag)) ++ msg='Checking if compiler accepts -fstack-clash-protection') + if flag_supported: +- conf.ADD_CFLAGS('%s' % (stack_protect_flag)) +- break +- +- flag_supported = conf.check(fragment=''' +- #include +- +- int main(void) +- { +- char t[100000]; +- while (fgets(t, sizeof(t), stdin)); +- return 0; +- } +- ''', +- execute=0, +- cflags=[ '-Werror', '-fstack-clash-protection'], +- mandatory=False, +- msg='Checking if compiler accepts -fstack-clash-protection') +- if flag_supported: +- conf.ADD_CFLAGS('-fstack-clash-protection') ++ conf.ADD_CFLAGS('-fstack-clash-protection') + + if Options.options.debug: + conf.ADD_CFLAGS('-g', testflags=True) +diff --git a/buildtools/wafsamba/wscript b/buildtools/wafsamba/wscript +index 8729b0829da..d75bb3b1c0c 100644 +--- a/buildtools/wafsamba/wscript ++++ b/buildtools/wafsamba/wscript +@@ -165,6 +165,9 @@ Currently the only tested value is 'smbtorture,smbd/smbd' for Samba'''), + gr.add_option('--disable-warnings-as-errors', + help=("Do not treat all warnings as errors (disable -Werror)"), + action="store_true", dest='disable_warnings_as_errors', default=False) ++ gr.add_option('--disable-stack-protector', ++ help=("Disable stack-protector"), ++ action="store_true", dest='disable_stack_protector', default=False) + opt.add_option('--enable-coverage', + help=("enable options necessary for code coverage " + "reporting on selftest (default=no)"), +-- +2.35.1 + diff --git a/package/libtalloc/libtalloc.mk b/package/libtalloc/libtalloc.mk index 79bcf9494..c6d69a616 100644 --- a/package/libtalloc/libtalloc.mk +++ b/package/libtalloc/libtalloc.mk @@ -20,12 +20,11 @@ LIBTALLOC_INSTALL_STAGING = YES # libtalloc since it's optional. LIBTALLOC_CONF_OPTS += --cross-compile \ --cross-answers=$(@D)/cache.txt \ + --disable-stack-protector \ --hostcc=gcc \ --with-libiconv=$(STAGING_DIR)/usr ifeq ($(BR2_PACKAGE_LIBTIRPC),y) -LIBTALLOC_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc` -LIBTALLOC_LDFLAGS += `$(PKG_CONFIG_HOST_BINARY) --libs libtirpc` LIBTALLOC_DEPENDENCIES += libtirpc host-pkgconf endif diff --git a/package/libtasn1/0001-fuzz-Makefile.am-do-not-force-static.patch b/package/libtasn1/0001-fuzz-Makefile.am-do-not-force-static.patch deleted file mode 100644 index 1f1abc7d9..000000000 --- a/package/libtasn1/0001-fuzz-Makefile.am-do-not-force-static.patch +++ /dev/null @@ -1,35 +0,0 @@ -From cf1b20f3d881a1cfbf8cae1f615f45a5a4fbb3b4 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Wed, 22 Apr 2020 18:35:55 +0200 -Subject: [PATCH] fuzz/Makefile.am: do not force static - -Don't force static when linking corpus2arry to libtasn1 otherwise the -build will fail if libtasn1 has been built only as a shared library: - - CCLD corpus2array -/home/fabrice/buildroot/output/host/lib/gcc/arm-buildroot-linux-musleabihf/8.4.0/../../../../arm-buildroot-linux-musleabihf/bin/ld: attempted static link of dynamic object `../lib/.libs/libtasn1.so' -collect2: error: ld returned 1 exit status - -Signed-off-by: Fabrice Fontaine -[Upstream status: -https://gitlab.com/gnutls/libtasn1/-/merge_requests/61] ---- - fuzz/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/fuzz/Makefile.am b/fuzz/Makefile.am -index c6310d1..1fb7152 100644 ---- a/fuzz/Makefile.am -+++ b/fuzz/Makefile.am -@@ -26,7 +26,7 @@ AM_CFLAGS = $(WERROR_CFLAGS) $(WARN_CFLAGS) $(CODE_COVERAGE_CFLAGS) - AM_CPPFLAGS = -I$(top_builddir)/lib/includes -I$(top_srcdir)/lib/includes -I$(srcdir) \ - -I$(top_builddir)/lib/gl -I$(top_srcdir)/lib/gl -DSRCDIR=\"$(abs_srcdir)\" \ - $(CODE_COVERAGE_CPPFLAGS) --AM_LDFLAGS = -no-install -static -+AM_LDFLAGS = -no-install - - LDADD = ../lib/gl/libgnu.la ../lib/libtasn1.la $(FUZZ_LIBS) $(CODE_COVERAGE_LIBS) - --- -2.25.1 - diff --git a/package/libtasn1/libtasn1.hash b/package/libtasn1/libtasn1.hash index fa39dd2c7..4bcb6a3fe 100644 --- a/package/libtasn1/libtasn1.hash +++ b/package/libtasn1/libtasn1.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/libtasn1/libtasn1-4.18.0.tar.gz.sig -sha256 4365c154953563d64c67a024b607d1ee75c6db76e0d0f65709ea80a334cd1898 libtasn1-4.18.0.tar.gz +# https://ftp.gnu.org/gnu/libtasn1/libtasn1-4.19.0.tar.gz.sig +sha256 1613f0ac1cf484d6ec0ce3b8c06d56263cc7242f1c23b30d82d23de345a63f7a libtasn1-4.19.0.tar.gz # Locally calculated sha256 7446831f659f7ebfd8d497acc7f05dfa8e31c6cb6ba1b45df33d4895ab80f5a6 COPYING sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 doc/COPYING diff --git a/package/libtasn1/libtasn1.mk b/package/libtasn1/libtasn1.mk index ba86081df..aa0b8b591 100644 --- a/package/libtasn1/libtasn1.mk +++ b/package/libtasn1/libtasn1.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBTASN1_VERSION = 4.18.0 +LIBTASN1_VERSION = 4.19.0 LIBTASN1_SITE = $(BR2_GNU_MIRROR)/libtasn1 LIBTASN1_DEPENDENCIES = host-bison host-pkgconf LIBTASN1_LICENSE = GPL-3.0+ (tests, tools), LGPL-2.1+ (library) @@ -12,9 +12,6 @@ LIBTASN1_LICENSE_FILES = COPYING doc/COPYING doc/COPYING.LESSER LIBTASN1_CPE_ID_VENDOR = gnu LIBTASN1_INSTALL_STAGING = YES -# We're patching fuzz/Makefile.am -LIBTASN1_AUTORECONF = YES - # 'missing' fallback logic botched so disable it completely LIBTASN1_CONF_ENV = MAKEINFO="true" diff --git a/package/libtelnet/libtelnet.hash b/package/libtelnet/libtelnet.hash index afbb29e4f..e64cc5fa1 100644 --- a/package/libtelnet/libtelnet.hash +++ b/package/libtelnet/libtelnet.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 d2f01a9dc0cc01777844b6d27f0f836dad9a4b9a32a31c7bbde0762480262f25 libtelnet-0.23.tar.gz -sha256 b1faf309467bc1d0aab9b42d6e86a614e78f8fe3580e289966b5b9f9a8f94d99 COPYING +sha256 d2f01a9dc0cc01777844b6d27f0f836dad9a4b9a32a31c7bbde0762480262f25 libtelnet-0.23.tar.gz +sha256 b1faf309467bc1d0aab9b42d6e86a614e78f8fe3580e289966b5b9f9a8f94d99 COPYING diff --git a/package/libtheora/libtheora.hash b/package/libtheora/libtheora.hash index 45376ddaa..42ffa0504 100644 --- a/package/libtheora/libtheora.hash +++ b/package/libtheora/libtheora.hash @@ -1,6 +1,6 @@ # From http://downloads.xiph.org/releases/theora/SHA256SUMS -sha256 f36da409947aa2b3dcc6af0a8c2e3144bc19db2ed547d64e9171c59c66561c61 libtheora-1.1.1.tar.xz +sha256 f36da409947aa2b3dcc6af0a8c2e3144bc19db2ed547d64e9171c59c66561c61 libtheora-1.1.1.tar.xz # Locally calculated -sha256 8417fad7da775735564e209484a2e011e0fa201e94f01fdbee6e4977e478e6fc COPYING -sha256 654a0238f789f4435c4818f50005b141d013c5a09a31d861efc1d0d67ba975a4 LICENSE +sha256 8417fad7da775735564e209484a2e011e0fa201e94f01fdbee6e4977e478e6fc COPYING +sha256 654a0238f789f4435c4818f50005b141d013c5a09a31d861efc1d0d67ba975a4 LICENSE diff --git a/package/libtirpc/libtirpc.hash b/package/libtirpc/libtirpc.hash index 56c1d9de3..1efc3e47e 100644 --- a/package/libtirpc/libtirpc.hash +++ b/package/libtirpc/libtirpc.hash @@ -1,5 +1,5 @@ # From sourceforge's info on download page: -sha1 51d75be0e5acc094a888f40042b23e128d163cb5 libtirpc-1.3.2.tar.bz2 +sha1 6e52c39148494e4836e2d5d4f28b11ddfa65394b libtirpc-1.3.3.tar.bz2 # Locally computed -sha256 e24eb88b8ce7db3b7ca6eb80115dd1284abc5ec32a8deccfed2224fc2532b9fd libtirpc-1.3.2.tar.bz2 +sha256 6474e98851d9f6f33871957ddee9714fdcd9d8a5ee9abb5a98d63ea2e60e12f3 libtirpc-1.3.3.tar.bz2 sha256 17cf6098f95bdbb269f0bbc68e76c88fe20487ca7ec53f454923ab4256ecd2e7 COPYING diff --git a/package/libtirpc/libtirpc.mk b/package/libtirpc/libtirpc.mk index 9d3c4b5a9..179adc97d 100644 --- a/package/libtirpc/libtirpc.mk +++ b/package/libtirpc/libtirpc.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBTIRPC_VERSION = 1.3.2 +LIBTIRPC_VERSION = 1.3.3 LIBTIRPC_SOURCE = libtirpc-$(LIBTIRPC_VERSION).tar.bz2 LIBTIRPC_SITE = http://downloads.sourceforge.net/project/libtirpc/libtirpc/$(LIBTIRPC_VERSION) LIBTIRPC_LICENSE = BSD-3-Clause diff --git a/package/libtommath/libtommath.hash b/package/libtommath/libtommath.hash index fa1af5ec2..9af489ef1 100644 --- a/package/libtommath/libtommath.hash +++ b/package/libtommath/libtommath.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 b7c75eecf680219484055fcedd686064409254ae44bc31a96c5032843c0e18b1 ltm-1.2.0.tar.xz +sha256 b7c75eecf680219484055fcedd686064409254ae44bc31a96c5032843c0e18b1 ltm-1.2.0.tar.xz # Hashes for license files: -sha256 2fa64b163659f41965c9815882a8296d3d03ff546b76153e11445f9bdecf955a LICENSE +sha256 2fa64b163659f41965c9815882a8296d3d03ff546b76153e11445f9bdecf955a LICENSE diff --git a/package/libtool/libtool.hash b/package/libtool/libtool.hash index e2adfa189..8deaf4fbf 100644 --- a/package/libtool/libtool.hash +++ b/package/libtool/libtool.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 7c87a8c2c8c0fc9cd5019e402bed4292462d00a718a7cd5f11218153bf28b26f libtool-2.4.6.tar.xz +sha256 7c87a8c2c8c0fc9cd5019e402bed4292462d00a718a7cd5f11218153bf28b26f libtool-2.4.6.tar.xz # License files, locally calculated -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 libltdl/COPYING.LIB +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 libltdl/COPYING.LIB diff --git a/package/libtorrent-rasterbar/Config.in b/package/libtorrent-rasterbar/Config.in index fe9a9fc02..459edc1be 100644 --- a/package/libtorrent-rasterbar/Config.in +++ b/package/libtorrent-rasterbar/Config.in @@ -18,7 +18,6 @@ config BR2_PACKAGE_LIBTORRENT_RASTERBAR depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_SYSTEM - select BR2_PACKAGE_OPENSSL help libtorrent is a feature complete C++ bittorrent implementation focusing on efficiency and scalability. diff --git a/package/libtorrent-rasterbar/libtorrent-rasterbar.mk b/package/libtorrent-rasterbar/libtorrent-rasterbar.mk index 914e0cbca..085b38343 100644 --- a/package/libtorrent-rasterbar/libtorrent-rasterbar.mk +++ b/package/libtorrent-rasterbar/libtorrent-rasterbar.mk @@ -11,7 +11,7 @@ LIBTORRENT_RASTERBAR_LICENSE = BSD-3-Clause LIBTORRENT_RASTERBAR_LICENSE_FILES = COPYING LIBTORRENT_RASTERBAR_CPE_ID_VENDOR = libtorrent LIBTORRENT_RASTERBAR_CPE_ID_PRODUCT = libtorrent -LIBTORRENT_RASTERBAR_DEPENDENCIES = host-pkgconf boost openssl +LIBTORRENT_RASTERBAR_DEPENDENCIES = host-pkgconf boost LIBTORRENT_RASTERBAR_INSTALL_STAGING = YES LIBTORRENT_RASTERBAR_CONF_OPTS = \ --with-boost-libdir=$(STAGING_DIR)/usr/lib \ @@ -37,4 +37,11 @@ else LIBTORRENT_RASTERBAR_CONF_OPTS += --without-libiconv endif +ifeq ($(BR2_PACKAGE_OPENSSL),y) +LIBTORRENT_RASTERBAR_DEPENDENCIES += openssl +LIBTORRENT_RASTERBAR_CONF_OPTS += --enable-encryption +else +LIBTORRENT_RASTERBAR_CONF_OPTS += --disable-encryption +endif + $(eval $(autotools-package)) diff --git a/package/libtorrent/libtorrent.hash b/package/libtorrent/libtorrent.hash index 3a4fe89a4..5c755c8be 100644 --- a/package/libtorrent/libtorrent.hash +++ b/package/libtorrent/libtorrent.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ed115a28f4ae8cfcd33b94a597c076ca74fd549867a26e4fac9505c27288e983 libtorrent-0.13.8.tar.gz -sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING +sha256 ed115a28f4ae8cfcd33b94a597c076ca74fd549867a26e4fac9505c27288e983 libtorrent-0.13.8.tar.gz +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/libucl/libucl.hash b/package/libucl/libucl.hash index 8d4a796e2..164b00276 100644 --- a/package/libucl/libucl.hash +++ b/package/libucl/libucl.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a6397e179672f0e8171a0f9a2cfc37e01432b357fd748b13f4394436689d24ef libucl-0.8.1.tar.gz -sha256 1bf976835764c1d827e07472a0a75adb098682df56681878af05fc0db7439b03 COPYING +sha256 a6397e179672f0e8171a0f9a2cfc37e01432b357fd748b13f4394436689d24ef libucl-0.8.1.tar.gz +sha256 1bf976835764c1d827e07472a0a75adb098682df56681878af05fc0db7439b03 COPYING diff --git a/package/libuecc/libuecc.hash b/package/libuecc/libuecc.hash index bfc9aaf39..b72519f16 100644 --- a/package/libuecc/libuecc.hash +++ b/package/libuecc/libuecc.hash @@ -1,5 +1,5 @@ # from https://projects.universe-factory.net/projects/fastd/files -md5 5cd543cb8e7bce83a22c07a0579c95a1 libuecc-7.tar.xz +md5 5cd543cb8e7bce83a22c07a0579c95a1 libuecc-7.tar.xz # computed locally sha256 b94aef08eab5359d0facaa7ead2ce81b193eef0c61379d9835213ebc0a46257a libuecc-7.tar.xz sha256 ec4d9fcc3a37a7998a9ea4decf38f4c0c91a44fd05bb17638c52fe16f2b12e23 COPYRIGHT diff --git a/package/libuhttpd/0001-add-compatibility-for-wolfssl-5-0.patch b/package/libuhttpd/0001-add-compatibility-for-wolfssl-5-0.patch new file mode 100644 index 000000000..7da7199e7 --- /dev/null +++ b/package/libuhttpd/0001-add-compatibility-for-wolfssl-5-0.patch @@ -0,0 +1,30 @@ +From 73aa4ef762b2de67bc8c7c260bd36b34fdb91e63 Mon Sep 17 00:00:00 2001 +From: "Sergey V. Lobanov" +Date: Mon, 3 Jan 2022 19:36:52 +0300 +Subject: [PATCH] add compatibility for wolfssl >= 5.0 + +NTRU support has been removed in wolfssl 5.0 so it is required to +mask NTRU specific code if wolfssl >= 5.0 + +Signed-off-by: Sergey V. Lobanov +[Retrieved from: +https://github.com/zhaojh329/ssl/commit/73aa4ef762b2de67bc8c7c260bd36b34fdb91e63] +Signed-off-by: Fabrice Fontaine +--- + openssl.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/ssl/openssl.c b/src/ssl/openssl.c +index 5a49267..278bab5 100644 +--- a/src/ssl/openssl.c ++++ b/src/ssl/openssl.c +@@ -336,7 +336,9 @@ static bool handle_wolfssl_asn_error(void *ssl, int r, + case ASN_SIG_HASH_E: + case ASN_SIG_KEY_E: + case ASN_DH_KEY_E: ++#if LIBWOLFSSL_VERSION_HEX < 0x05000000 + case ASN_NTRU_KEY_E: ++#endif + case ASN_CRIT_EXT_E: + case ASN_ALT_NAME_E: + case ASN_NO_PEM_HEADER: diff --git a/package/libuhttpd/Config.in b/package/libuhttpd/Config.in index 97fc984ea..a552a88f0 100644 --- a/package/libuhttpd/Config.in +++ b/package/libuhttpd/Config.in @@ -3,7 +3,8 @@ config BR2_PACKAGE_LIBUHTTPD depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 select BR2_PACKAGE_LIBEV - select BR2_PACKAGE_WOLFSSL_ALL if BR2_PACKAGE_WOLFSSL + select BR2_PACKAGE_WOLFSSL_ALL if BR2_PACKAGE_WOLFSSL && \ + !BR2_STATIC_LIBS help A lightweight and fully asynchronous HTTP server library based on libev diff --git a/package/libuhttpd/libuhttpd.mk b/package/libuhttpd/libuhttpd.mk index b8cf935d0..0d5306c6d 100644 --- a/package/libuhttpd/libuhttpd.mk +++ b/package/libuhttpd/libuhttpd.mk @@ -18,7 +18,7 @@ LIBUHTTPD_CONF_OPTS += \ -DUSE_MBEDTLS=OFF \ -DUSE_OPENSSL=ON \ -DUSE_WOLFSSL=OFF -else ifeq ($(BR2_PACKAGE_WOLFSSL),y) +else ifeq ($(BR2_PACKAGE_WOLFSSL_ALL),y) LIBUHTTPD_DEPENDENCIES += wolfssl LIBUHTTPD_CONF_OPTS += \ -DSSL_SUPPORT=ON \ diff --git a/package/libupnp/libupnp.hash b/package/libupnp/libupnp.hash index aebde064b..fcb231cff 100644 --- a/package/libupnp/libupnp.hash +++ b/package/libupnp/libupnp.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 091c80aada1e939c2294245c122be2f5e337cc932af7f7d40504751680b5b5ac libupnp-1.14.12.tar.bz2 +sha256 025d7aee1ac5ca8f0bd99cb58b83fcfca0efab0c5c9c1d48f72667fe40788a4e libupnp-1.14.13.tar.bz2 sha256 c8b99423cad48bb44e2cf52a496361404290865eac259a82da6d1e4331ececb3 COPYING diff --git a/package/libupnp/libupnp.mk b/package/libupnp/libupnp.mk index a754ca76f..8c6ae005a 100644 --- a/package/libupnp/libupnp.mk +++ b/package/libupnp/libupnp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBUPNP_VERSION = 1.14.12 +LIBUPNP_VERSION = 1.14.13 LIBUPNP_SOURCE = libupnp-$(LIBUPNP_VERSION).tar.bz2 LIBUPNP_SITE = \ http://downloads.sourceforge.net/project/pupnp/release-$(LIBUPNP_VERSION) diff --git a/package/liburing/Config.in b/package/liburing/Config.in index d65a3f132..fc13f1c17 100644 --- a/package/liburing/Config.in +++ b/package/liburing/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_LIBURING bool "liburing" + depends on BR2_USE_MMU # madvise() depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C11/stdatomic.h depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1 help @@ -11,5 +12,6 @@ config BR2_PACKAGE_LIBURING https://git.kernel.dk/cgit/liburing comment "liburing needs a toolchain w/ gcc >= 4.9, headers >= 5.1" + depends on BR2_USE_MMU depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1 diff --git a/package/libuwsc/libuwsc.mk b/package/libuwsc/libuwsc.mk index cad351529..051ea411f 100644 --- a/package/libuwsc/libuwsc.mk +++ b/package/libuwsc/libuwsc.mk @@ -18,7 +18,7 @@ LIBUWSC_CONF_OPTS += \ -DUWSC_USE_MBEDTLS=OFF \ -DUWSC_USE_OPENSSL=ON \ -DUWSC_USE_WOLFSSL=OFF -else ifeq ($(BR2_PACKAGE_WOLFSSL),y) +else ifeq ($(BR2_PACKAGE_WOLFSSL_ALL),y) LIBUWSC_DEPENDENCIES += wolfssl LIBUWSC_CONF_OPTS += \ -DUWSC_SSL_SUPPORT=ON \ diff --git a/package/libv4l/libv4l.mk b/package/libv4l/libv4l.mk index 8300f5c97..a781ffcd5 100644 --- a/package/libv4l/libv4l.mk +++ b/package/libv4l/libv4l.mk @@ -28,7 +28,6 @@ endif ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y) LIBV4L_DEPENDENCIES += argp-standalone -LIBV4L_LIBS += -largp endif LIBV4L_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv) @@ -85,6 +84,4 @@ ifeq ($(BR2_PACKAGE_SDL2_IMAGE),y) LIBV4L_DEPENDENCIES += sdl2_image endif -LIBV4L_CONF_ENV += LIBS="$(LIBV4L_LIBS)" - $(eval $(autotools-package)) diff --git a/package/libvirt/Config.in b/package/libvirt/Config.in index af0fc36ae..f0687cd5d 100644 --- a/package/libvirt/Config.in +++ b/package/libvirt/Config.in @@ -44,18 +44,23 @@ if BR2_PACKAGE_LIBVIRT config BR2_PACKAGE_LIBVIRT_DAEMON bool "libvirtd" default y + depends on BR2_INSTALL_LIBSTDCPP # nmap select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS select BR2_PACKAGE_DNSMASQ select BR2_PACKAGE_EBTABLES select BR2_PACKAGE_IPTABLES select BR2_PACKAGE_IPROUTE2 # These are required because there is no way to unequivocally select a modern netcat - select BR2_PACKAGE_NETCAT_OPENBSD if !BR2_PACKAGE_NMAP_NCAT + select BR2_PACKAGE_NMAP if !BR2_PACKAGE_NETCAT_OPENBSD + select BR2_PACKAGE_NMAP_NCAT if !BR2_PACKAGE_NETCAT_OPENBSD select BR2_PACKAGE_RADVD help Build the libvirt daemon (libvirtd) otherwise build only the utility programs. +comment "libvirtd needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP + # Stateful drivers are useful only when building the daemon. if BR2_PACKAGE_LIBVIRT_DAEMON diff --git a/package/libvncserver/0002-libvncclient-free-vncRec-memory-in-rfbClientCleanup.patch b/package/libvncserver/0002-libvncclient-free-vncRec-memory-in-rfbClientCleanup.patch new file mode 100644 index 000000000..7658c112f --- /dev/null +++ b/package/libvncserver/0002-libvncclient-free-vncRec-memory-in-rfbClientCleanup.patch @@ -0,0 +1,28 @@ +From bef41f6ec4097a8ee094f90a1b34a708fbd757ec Mon Sep 17 00:00:00 2001 +From: Christian Beier +Date: Sat, 21 Nov 2020 12:52:31 +0100 +Subject: [PATCH] libvncclient: free vncRec memory in rfbClientCleanup() + +Otherwise we leak memory. Spotted by Ramin Farajpour Cami +, thanks! + +[Retrieved from: +https://github.com/LibVNC/libvncserver/commit/bef41f6ec4097a8ee094f90a1b34a708fbd757ec] +Signed-off-by: Fabrice Fontaine +--- + libvncclient/vncviewer.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/libvncclient/vncviewer.c b/libvncclient/vncviewer.c +index d6b91f02b..0a1bdcf6a 100644 +--- a/libvncclient/vncviewer.c ++++ b/libvncclient/vncviewer.c +@@ -534,6 +534,8 @@ void rfbClientCleanup(rfbClient* client) { + client->clientData = next; + } + ++ free(client->vncRec); ++ + if (client->sock != RFB_INVALID_SOCKET) + rfbCloseSocket(client->sock); + if (client->listenSock != RFB_INVALID_SOCKET) diff --git a/package/libvncserver/Config.in b/package/libvncserver/Config.in index 6189b379d..f28489455 100644 --- a/package/libvncserver/Config.in +++ b/package/libvncserver/Config.in @@ -27,5 +27,5 @@ endif comment "libvncserver needs a toolchain w/ dynamic library" depends on BR2_USE_MMU - depends on !BR2_nios + depends on !BR2_nios2 depends on BR2_STATIC_LIBS diff --git a/package/libvncserver/libvncserver.mk b/package/libvncserver/libvncserver.mk index ead809d19..8f24e2d09 100644 --- a/package/libvncserver/libvncserver.mk +++ b/package/libvncserver/libvncserver.mk @@ -14,6 +14,9 @@ LIBVNCSERVER_INSTALL_STAGING = YES LIBVNCSERVER_DEPENDENCIES = host-pkgconf lzo LIBVNCSERVER_CONF_OPTS = -DWITH_LZO=ON +# 0002-libvncclient-free-vncRec-memory-in-rfbClientCleanup.patch +LIBVNCSERVER_IGNORE_CVES += CVE-2020-29260 + # only used for examples LIBVNCSERVER_CONF_OPTS += \ -DWITH_FFMPEG=OFF \ diff --git a/package/libwebsock/libwebsock.hash b/package/libwebsock/libwebsock.hash index 11b4f55f0..43f0935a3 100644 --- a/package/libwebsock/libwebsock.hash +++ b/package/libwebsock/libwebsock.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 34cf8376446e2371c9af47394043a30dc16af7ed5437d56bc6135c5dfda9ed22 libwebsock-3c1615eeadb0b582b63851073bfe3e5132f31ebc.tar.gz -sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING.lesser +sha256 34cf8376446e2371c9af47394043a30dc16af7ed5437d56bc6135c5dfda9ed22 libwebsock-3c1615eeadb0b582b63851073bfe3e5132f31ebc.tar.gz +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING.lesser diff --git a/package/libwebsockets/libwebsockets.mk b/package/libwebsockets/libwebsockets.mk index c25686d38..f5557ea1c 100644 --- a/package/libwebsockets/libwebsockets.mk +++ b/package/libwebsockets/libwebsockets.mk @@ -27,9 +27,18 @@ endif ifeq ($(BR2_PACKAGE_OPENSSL),y) LIBWEBSOCKETS_DEPENDENCIES += openssl host-openssl -LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_SSL=ON +LIBWEBSOCKETS_CONF_OPTS += \ + -DLWS_WITH_SSL=ON \ + -DLWS_WITH_MBEDTLS=OFF +else ifeq ($(BR2_PACKAGE_MBEDTLS),y) +LIBWEBSOCKETS_DEPENDENCIES += mbedtls +LIBWEBSOCKETS_CONF_OPTS += \ + -DLWS_WITH_SSL=ON \ + -DLWS_WITH_MBEDTLS=ON else -LIBWEBSOCKETS_CONF_OPTS += -DLWS_WITH_SSL=OFF +LIBWEBSOCKETS_CONF_OPTS += \ + -DLWS_WITH_SSL=OFF \ + -DLWS_WITH_MBEDTLS=OFF endif ifeq ($(BR2_PACKAGE_LIBEV),y) diff --git a/package/libwpe/libwpe.hash b/package/libwpe/libwpe.hash index 2ebe4f19b..2bbe1f074 100644 --- a/package/libwpe/libwpe.hash +++ b/package/libwpe/libwpe.hash @@ -1,7 +1,7 @@ -# From https://wpewebkit.org/releases/libwpe-1.12.0.tar.xz.sums -md5 5a3f11789535d826370ba465ea141393 libwpe-1.12.0.tar.xz -sha1 91aa47a593a5db511d667b3bdbaa76dee4301311 libwpe-1.12.0.tar.xz -sha256 e8eeca228a6b4c36294cfb63f7d3ba9ada47a430904a5a973b3c99c96a44c18c libwpe-1.12.0.tar.xz +# From https://wpewebkit.org/releases/libwpe-1.12.3.tar.xz.sums +md5 e538eb8e521d92f2bde3c4cd864abaa1 libwpe-1.12.3.tar.xz +sha1 9d94c411a502a10e68f69bd1fa273539cc6af2ca libwpe-1.12.3.tar.xz +sha256 b84fdbfbc849ce4fdf084bb28b58e5463b1b4b6cc8f200dc77b41f8545d5329d libwpe-1.12.3.tar.xz # Hashes for license files: sha256 35bef295cedbbf179eaee14328002587a0e7dc08ebf3f15ea080a6f2815f0d7b COPYING diff --git a/package/libwpe/libwpe.mk b/package/libwpe/libwpe.mk index fe3c4b16d..ac533642d 100644 --- a/package/libwpe/libwpe.mk +++ b/package/libwpe/libwpe.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBWPE_VERSION = 1.12.0 +LIBWPE_VERSION = 1.12.3 LIBWPE_SITE = https://wpewebkit.org/releases LIBWPE_SOURCE = libwpe-$(LIBWPE_VERSION).tar.xz LIBWPE_INSTALL_STAGING = YES diff --git a/package/libxkbcommon/libxkbcommon.mk b/package/libxkbcommon/libxkbcommon.mk index ee2bc1ee9..1394dd55e 100644 --- a/package/libxkbcommon/libxkbcommon.mk +++ b/package/libxkbcommon/libxkbcommon.mk @@ -9,6 +9,7 @@ LIBXKBCOMMON_SITE = https://xkbcommon.org/download LIBXKBCOMMON_SOURCE = libxkbcommon-$(LIBXKBCOMMON_VERSION).tar.xz LIBXKBCOMMON_LICENSE = MIT/X11 LIBXKBCOMMON_LICENSE_FILES = LICENSE +LIBXKBCOMMON_CPE_ID_VENDOR = xkbcommon LIBXKBCOMMON_INSTALL_STAGING = YES LIBXKBCOMMON_DEPENDENCIES = host-bison host-flex LIBXKBCOMMON_CONF_OPTS = \ diff --git a/package/libxml-parser-perl/libxml-parser-perl.hash b/package/libxml-parser-perl/libxml-parser-perl.hash index 7aeec70b9..c3ef1016e 100644 --- a/package/libxml-parser-perl/libxml-parser-perl.hash +++ b/package/libxml-parser-perl/libxml-parser-perl.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 d331332491c51cccfb4cb94ffc44f9cd73378e618498d4a37df9e043661c515d XML-Parser-2.46.tar.gz -sha256 6a2e768443ed00f09d3d4bc4dd14451035eac13c6864d68d8e2f76edf5a044f2 README +sha256 d331332491c51cccfb4cb94ffc44f9cd73378e618498d4a37df9e043661c515d XML-Parser-2.46.tar.gz +sha256 6a2e768443ed00f09d3d4bc4dd14451035eac13c6864d68d8e2f76edf5a044f2 README diff --git a/package/libxml2/libxml2.hash b/package/libxml2/libxml2.hash index 81ac3e3f3..37030bdfa 100644 --- a/package/libxml2/libxml2.hash +++ b/package/libxml2/libxml2.hash @@ -1,4 +1,4 @@ -# From http://ftp.acc.umu.se/pub/gnome/sources/libxml2/2.9/libxml2-2.9.13.sha256sum -sha256 276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e libxml2-2.9.13.tar.xz +# From https://download.gnome.org/sources/libxml2/2.10/libxml2-2.10.4.sha256sum +sha256 ed0c91c5845008f1936739e4eee2035531c1c94742c6541f44ee66d885948d45 libxml2-2.10.4.tar.xz # License files, locally calculated -sha256 c5c63674f8a83c4d2e385d96d1c670a03cb871ba2927755467017317878574bd COPYING +sha256 c5c63674f8a83c4d2e385d96d1c670a03cb871ba2927755467017317878574bd Copyright diff --git a/package/libxml2/libxml2.mk b/package/libxml2/libxml2.mk index 5382f28ec..cf26a36cc 100644 --- a/package/libxml2/libxml2.mk +++ b/package/libxml2/libxml2.mk @@ -4,14 +4,14 @@ # ################################################################################ -LIBXML2_VERSION_MAJOR = 2.9 -LIBXML2_VERSION = $(LIBXML2_VERSION_MAJOR).13 +LIBXML2_VERSION_MAJOR = 2.10 +LIBXML2_VERSION = $(LIBXML2_VERSION_MAJOR).4 LIBXML2_SOURCE = libxml2-$(LIBXML2_VERSION).tar.xz LIBXML2_SITE = \ - http://ftp.gnome.org/pub/gnome/sources/libxml2/$(LIBXML2_VERSION_MAJOR) + https://download.gnome.org/sources/libxml2/$(LIBXML2_VERSION_MAJOR) LIBXML2_INSTALL_STAGING = YES LIBXML2_LICENSE = MIT -LIBXML2_LICENSE_FILES = COPYING +LIBXML2_LICENSE_FILES = Copyright LIBXML2_CPE_ID_VENDOR = xmlsoft LIBXML2_CONFIG_SCRIPTS = xml2-config diff --git a/package/libyang/libyang.mk b/package/libyang/libyang.mk index 7de9531bf..a097b3ee9 100644 --- a/package/libyang/libyang.mk +++ b/package/libyang/libyang.mk @@ -15,13 +15,12 @@ LIBYANG_DEPENDENCIES = pcre2 HOST_LIBYANG_DEPENDENCIES = host-pcre2 LIBYANG_CONF_OPTS = \ - -DENABLE_VALGRIND_TESTS=OFF \ - -DGEN_PYTHON_BINDINGS=OFF \ - -DENABLE_LYD_PRIV=ON + -DENABLE_TESTS=OFF \ + -DENABLE_VALGRIND_TESTS=OFF HOST_LIBYANG_CONF_OPTS = \ - -DENABLE_VALGRIND_TESTS=OFF \ - -DGEN_PYTHON_BINDINGS=OFF + -DENABLE_TESTS=OFF \ + -DENABLE_VALGRIND_TESTS=OFF $(eval $(cmake-package)) $(eval $(host-cmake-package)) diff --git a/package/libzlib/0001-Fix-configure-issue-that-discarded-provided-CC-definition.patch b/package/libzlib/0001-Fix-configure-issue-that-discarded-provided-CC-definition.patch new file mode 100644 index 000000000..398e1c948 --- /dev/null +++ b/package/libzlib/0001-Fix-configure-issue-that-discarded-provided-CC-definition.patch @@ -0,0 +1,28 @@ +From 05796d3d8d5546cf1b4dfe2cd72ab746afae505d Mon Sep 17 00:00:00 2001 +From: Mark Adler +Date: Mon, 28 Mar 2022 18:34:10 -0700 +Subject: [PATCH] Fix configure issue that discarded provided CC definition. + +Downloaded from upstream commit: +https://github.com/madler/zlib/commit/05796d3d8d5546cf1b4dfe2cd72ab746afae505d + +Signed-off-by: Bernd Kuhls +--- + configure | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/configure b/configure +index 52ff4a04e..3fa3e8618 100755 +--- a/configure ++++ b/configure +@@ -174,7 +174,10 @@ if test -z "$CC"; then + else + cc=${CROSS_PREFIX}cc + fi ++else ++ cc=${CC} + fi ++ + cflags=${CFLAGS-"-O3"} + # to force the asm version use: CFLAGS="-O3 -DASMV" ./configure + case "$cc" in diff --git a/package/libzlib/0002-fix-CVE-2022-37434.patch b/package/libzlib/0002-fix-CVE-2022-37434.patch new file mode 100644 index 000000000..a61be4853 --- /dev/null +++ b/package/libzlib/0002-fix-CVE-2022-37434.patch @@ -0,0 +1,35 @@ +From eff308af425b67093bab25f80f1ae950166bece1 Mon Sep 17 00:00:00 2001 +From: Mark Adler +Date: Sat, 30 Jul 2022 15:51:11 -0700 +Subject: [PATCH] Fix a bug when getting a gzip header extra field with + inflate(). + +If the extra field was larger than the space the user provided with +inflateGetHeader(), and if multiple calls of inflate() delivered +the extra header data, then there could be a buffer overflow of the +provided space. This commit assures that provided space is not +exceeded. + +Backported from: eff308af425b67093bab25f80f1ae950166bece1 +Signed-off-by: Marcus Hoffmann +--- + inflate.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/inflate.c b/inflate.c +index 7be8c6366..7a7289749 100644 +--- a/inflate.c ++++ b/inflate.c +@@ -763,9 +763,10 @@ int flush; + copy = state->length; + if (copy > have) copy = have; + if (copy) { ++ len = state->head->extra_len - state->length; + if (state->head != Z_NULL && +- state->head->extra != Z_NULL) { +- len = state->head->extra_len - state->length; ++ state->head->extra != Z_NULL && ++ len < state->head->extra_max) { + zmemcpy(state->head->extra + len, next, + len + copy > state->head->extra_max ? + state->head->extra_max - len : copy); diff --git a/package/libzlib/0003-fix-CVE-2022-37434-regression.patch b/package/libzlib/0003-fix-CVE-2022-37434-regression.patch new file mode 100644 index 000000000..46a58710d --- /dev/null +++ b/package/libzlib/0003-fix-CVE-2022-37434-regression.patch @@ -0,0 +1,32 @@ +From 1eb7682f845ac9e9bf9ae35bbfb3bad5dacbd91d Mon Sep 17 00:00:00 2001 +From: Mark Adler +Date: Mon, 8 Aug 2022 10:50:09 -0700 +Subject: [PATCH] Fix extra field processing bug that dereferences NULL + state->head. + +The recent commit to fix a gzip header extra field processing bug +introduced the new bug fixed here. + +Backported from: 1eb7682f845ac9e9bf9ae35bbfb3bad5dacbd91d +Signed-off-by: Marcus Hoffmann +--- + inflate.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/inflate.c b/inflate.c +index 7a7289749..2a3c4fe98 100644 +--- a/inflate.c ++++ b/inflate.c +@@ -763,10 +763,10 @@ int flush; + copy = state->length; + if (copy > have) copy = have; + if (copy) { +- len = state->head->extra_len - state->length; + if (state->head != Z_NULL && + state->head->extra != Z_NULL && +- len < state->head->extra_max) { ++ (len = state->head->extra_len - state->length) < ++ state->head->extra_max) { + zmemcpy(state->head->extra + len, next, + len + copy > state->head->extra_max ? + state->head->extra_max - len : copy); diff --git a/package/libzlib/libzlib.hash b/package/libzlib/libzlib.hash index e3736b101..e6ca974e2 100644 --- a/package/libzlib/libzlib.hash +++ b/package/libzlib/libzlib.hash @@ -1,4 +1,4 @@ # From http://www.zlib.net/ -sha256 4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066 zlib-1.2.11.tar.xz +sha256 7db46b8d7726232a621befaab4a1c870f00a90805511c0e0090441dac57def18 zlib-1.2.12.tar.xz # License files, locally calculated -sha256 7960b6b1cc63e619abb77acaea5427159605afee8c8b362664f4effc7d7f7d15 README +sha256 fc2c3368901700f0acdeb1d8afeaca5923296768ec6824ecdf627aac396001fd README diff --git a/package/libzlib/libzlib.mk b/package/libzlib/libzlib.mk index a10fc748d..f75502326 100644 --- a/package/libzlib/libzlib.mk +++ b/package/libzlib/libzlib.mk @@ -4,16 +4,19 @@ # ################################################################################ -LIBZLIB_VERSION = 1.2.11 +LIBZLIB_VERSION = 1.2.12 LIBZLIB_SOURCE = zlib-$(LIBZLIB_VERSION).tar.xz LIBZLIB_SITE = http://www.zlib.net LIBZLIB_LICENSE = Zlib LIBZLIB_LICENSE_FILES = README LIBZLIB_INSTALL_STAGING = YES LIBZLIB_PROVIDES = zlib -LIBZLIB_CPE_ID_VENDOR = gnu +LIBZLIB_CPE_ID_VENDOR = zlib LIBZLIB_CPE_ID_PRODUCT = zlib +# 0002-fix-CVE-2022-37434.patch +LIBZLIB_IGNORE_CVES = CVE-2022-37434 + # It is not possible to build only a shared version of zlib, so we build both # shared and static, unless we only want the static libs, and we eventually # selectively remove what we do not want diff --git a/package/lightning/lightning.hash b/package/lightning/lightning.hash index bd20c85cb..2840a97f9 100644 --- a/package/lightning/lightning.hash +++ b/package/lightning/lightning.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 ed856b866dc6f68678dc1151579118fab1c65fad687cf847fc2d94ca045efdc9 lightning-2.1.3.tar.gz -sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LESSER +sha256 ed856b866dc6f68678dc1151579118fab1c65fad687cf847fc2d94ca045efdc9 lightning-2.1.3.tar.gz +sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LESSER diff --git a/package/lighttpd/Config.in b/package/lighttpd/Config.in index 6f0c92731..5d9e62450 100644 --- a/package/lighttpd/Config.in +++ b/package/lighttpd/Config.in @@ -93,6 +93,7 @@ config BR2_PACKAGE_LIGHTTPD_PGSQL bool "pgsql support" depends on BR2_USE_MMU # postgresql depends on BR2_USE_WCHAR # postgresql + depends on !BR2_OPTIMIZE_FAST # postgresql select BR2_PACKAGE_POSTGRESQL help Enable postgres support for lighttpd mod_vhostdb_pgsql. @@ -101,6 +102,9 @@ comment "pgsql support needs a toolchain w/ wchar" depends on BR2_USE_MMU depends on !BR2_USE_WCHAR +comment "pgsql support can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST + config BR2_PACKAGE_LIGHTTPD_WEBDAV bool "webdav support" select BR2_PACKAGE_LIBXML2 diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host index 8cfbd4183..826c37157 100644 --- a/package/linux-headers/Config.in.host +++ b/package/linux-headers/Config.in.host @@ -1,8 +1,5 @@ comment "Kernel Header Options" -config BR2_PACKAGE_HOST_LINUX_HEADERS - bool - choice prompt "Kernel Headers" default BR2_KERNEL_HEADERS_AS_KERNEL if BR2_LINUX_KERNEL @@ -127,8 +124,9 @@ endif choice bool "Custom kernel headers series" - default BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15 if \ - (BR2_KERNEL_HEADERS_AS_KERNEL && BR2_LINUX_KERNEL_LATEST_VERSION) + depends on !BR2_LINUX_KERNEL_LATEST_VERSION || !BR2_KERNEL_HEADERS_AS_KERNEL + depends on !BR2_LINUX_KERNEL_LATEST_CIP_VERSION || !BR2_KERNEL_HEADERS_AS_KERNEL + depends on !BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION || !BR2_KERNEL_HEADERS_AS_KERNEL depends on BR2_KERNEL_HEADERS_VERSION || BR2_KERNEL_HEADERS_AS_KERNEL || \ BR2_KERNEL_HEADERS_CUSTOM_TARBALL || BR2_KERNEL_HEADERS_CUSTOM_GIT help @@ -381,13 +379,13 @@ endchoice config BR2_DEFAULT_KERNEL_HEADERS string default "4.4.302" if BR2_KERNEL_HEADERS_4_4 - default "4.9.304" if BR2_KERNEL_HEADERS_4_9 - default "4.14.269" if BR2_KERNEL_HEADERS_4_14 - default "4.19.232" if BR2_KERNEL_HEADERS_4_19 - default "5.4.182" if BR2_KERNEL_HEADERS_5_4 - default "5.10.103" if BR2_KERNEL_HEADERS_5_10 - default "5.15.26" if BR2_KERNEL_HEADERS_5_15 - default "5.16.12" if BR2_KERNEL_HEADERS_5_16 + default "4.9.337" if BR2_KERNEL_HEADERS_4_9 + default "4.14.314" if BR2_KERNEL_HEADERS_4_14 + default "4.19.282" if BR2_KERNEL_HEADERS_4_19 + default "5.4.242" if BR2_KERNEL_HEADERS_5_4 + default "5.10.179" if BR2_KERNEL_HEADERS_5_10 + default "5.15.109" if BR2_KERNEL_HEADERS_5_15 + default "5.16.20" if BR2_KERNEL_HEADERS_5_16 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-headers/linux-headers.mk b/package/linux-headers/linux-headers.mk index a8d1c2cca..e2a0b7a7c 100644 --- a/package/linux-headers/linux-headers.mk +++ b/package/linux-headers/linux-headers.mk @@ -33,8 +33,19 @@ LINUX_HEADERS_REPO_URL = $(call qstrip,$(BR2_KERNEL_HEADERS_CUSTOM_REPO_URL)) LINUX_HEADERS_CIP = endif # BR2_KERNEL_HEADERS_AS_KERNEL +ifeq ($(BR2_KERNEL_HEADERS_VERSION)$(BR_BUILDING),yy) +ifeq ($(LINUX_HEADERS_VERSION),) +$(error No kernel headers version set, check your BR2_DEFAULT_KERNEL_VERSION setting) +endif +endif + # Compute LINUX_HEADERS_SOURCE and LINUX_HEADERS_SITE from the configuration ifeq ($(LINUX_HEADERS_CUSTOM_TARBALL),y) +ifeq ($(BR_BUILDING),y) +ifeq ($(LINUX_HEADERS_CUSTOM_TARBALL_LOCATION),) +$(error No kernel headers tarball location set, check your BR2_KERNEL_HEADERS_CUSTOM_TARBALL_LOCATION setting) +endif +endif LINUX_HEADERS_SOURCE = $(notdir $(LINUX_HEADERS_CUSTOM_TARBALL_LOCATION)) LINUX_HEADERS_SITE = $(patsubst %/,%,$(dir $(LINUX_HEADERS_CUSTOM_TARBALL_LOCATION))) else ifeq ($(LINUX_HEADERS_CUSTOM_GIT),y) diff --git a/package/linux-tools/Config.in b/package/linux-tools/Config.in index f459b4176..880ad08f0 100644 --- a/package/linux-tools/Config.in +++ b/package/linux-tools/Config.in @@ -7,12 +7,16 @@ config BR2_PACKAGE_LINUX_TOOLS config BR2_PACKAGE_LINUX_TOOLS_CPUPOWER bool "cpupower" + depends on !BR2_STATIC_LIBS select BR2_PACKAGE_LINUX_TOOLS select BR2_PACKAGE_PCIUTILS help cpupower is a collection of tools to examine and tune power saving related features of your processor. +comment "cpupower needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + config BR2_PACKAGE_LINUX_TOOLS_GPIO bool "gpio" select BR2_PACKAGE_LINUX_TOOLS @@ -43,9 +47,15 @@ config BR2_PACKAGE_LINUX_TOOLS_PCI These tools are available only from kernel version 4.20. +comment "perf needs a toolchain w/ dynamic library, threads" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS + config BR2_PACKAGE_LINUX_TOOLS_PERF bool "perf" depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_STATIC_LIBS # dlfcn.h + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_LINUX_TOOLS help perf (sometimes "Perf Events" or perf tools, originally @@ -94,6 +104,7 @@ config BR2_PACKAGE_LINUX_TOOLS_SELFTESTS select BR2_PACKAGE_LIBCAP_NG select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS # runtime (taskset) + select BR2_PACKAGE_OPENSSL if BR2_x86_64 help Build and install (to /usr/lib/kselftests) kernel selftests. @@ -112,12 +123,16 @@ comment "selftests needs BR2_PACKAGE_BUSYBOX_SHOW_OTHERS and a toolchain w/ dyna config BR2_PACKAGE_LINUX_TOOLS_TMON bool "tmon" + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_LINUX_TOOLS select BR2_PACKAGE_NCURSES help tmon is a terminal-based tool (using curses) that allows the user to access thermal information about the system. +comment "tmon needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS + config BR2_PACKAGE_LINUX_TOOLS_HV bool "hv" depends on BR2_i386 || BR2_x86_64 diff --git a/package/linux-tools/S10hyperv b/package/linux-tools/S10hyperv index ec934bc97..32887d1b6 100644 --- a/package/linux-tools/S10hyperv +++ b/package/linux-tools/S10hyperv @@ -24,7 +24,7 @@ start() { for prog in ${PROGS}; do start_one "${prog}" || ret=$? done - return $ret + return "$ret" } stop_one() { @@ -45,7 +45,7 @@ stop() { for prog in ${PROGS}; do stop_one "${prog}" || ret=$? done - return $ret + return "$ret" } restart() { diff --git a/package/linux-tools/linux-tool-gpio.mk.in b/package/linux-tools/linux-tool-gpio.mk.in index d5a0dbda3..e825db1b1 100644 --- a/package/linux-tools/linux-tool-gpio.mk.in +++ b/package/linux-tools/linux-tool-gpio.mk.in @@ -6,7 +6,7 @@ LINUX_TOOLS += gpio -GPIO_MAKE_OPTS = $(LINUX_MAKE_FLAGS) +GPIO_MAKE_OPTS = $(LINUX_MAKE_FLAGS) LDFLAGS="$(TARGET_LDFLAGS)" define GPIO_BUILD_CMDS $(Q)if ! grep install $(LINUX_DIR)/tools/gpio/Makefile >/dev/null 2>&1 ; then \ diff --git a/package/linux-tools/linux-tool-iio.mk.in b/package/linux-tools/linux-tool-iio.mk.in index a8cc89e83..27ab0ed7e 100644 --- a/package/linux-tools/linux-tool-iio.mk.in +++ b/package/linux-tools/linux-tool-iio.mk.in @@ -6,7 +6,7 @@ LINUX_TOOLS += iio -IIO_MAKE_OPTS = $(LINUX_MAKE_FLAGS) +IIO_MAKE_OPTS = $(LINUX_MAKE_FLAGS) LDFLAGS="$(TARGET_LDFLAGS)" define IIO_BUILD_CMDS $(Q)if ! grep install $(LINUX_DIR)/tools/iio/Makefile >/dev/null 2>&1 ; then \ diff --git a/package/linux-tools/linux-tool-pci.mk.in b/package/linux-tools/linux-tool-pci.mk.in index 4ef0368a3..17246f5d7 100644 --- a/package/linux-tools/linux-tool-pci.mk.in +++ b/package/linux-tools/linux-tool-pci.mk.in @@ -6,7 +6,7 @@ LINUX_TOOLS += pci -PCI_MAKE_OPTS = $(LINUX_MAKE_FLAGS) +PCI_MAKE_OPTS = $(LINUX_MAKE_FLAGS) LDFLAGS="$(TARGET_LDFLAGS)" define PCI_BUILD_CMDS $(Q)if ! grep install $(LINUX_DIR)/tools/pci/Makefile >/dev/null 2>&1 ; then \ diff --git a/package/linux-tools/linux-tool-perf.mk.in b/package/linux-tools/linux-tool-perf.mk.in index 4e28129f5..3ec4dc6fe 100644 --- a/package/linux-tools/linux-tool-perf.mk.in +++ b/package/linux-tools/linux-tool-perf.mk.in @@ -20,7 +20,6 @@ PERF_MAKE_FLAGS = \ ARCH=$(PERF_ARCH) \ DESTDIR=$(TARGET_DIR) \ prefix=/usr \ - WERROR=0 \ NO_GTK2=1 \ NO_LIBPERL=1 \ NO_LIBPYTHON=1 \ @@ -127,7 +126,7 @@ define PERF_DISABLE_DOCUMENTATION printf "%%:\n\t@:\n" >$(LINUX_DIR)/tools/perf/Documentation/GNUmakefile; \ fi endef -LINUX_POST_PATCH_HOOKS += PERF_DISABLE_DOCUMENTATION +LINUX_TOOLS_POST_PATCH_HOOKS += PERF_DISABLE_DOCUMENTATION # O must be redefined here to overwrite the one used by Buildroot for # out of tree build. We build perf in $(LINUX_DIR)/tools/perf/ and not just diff --git a/package/linux-tools/linux-tool-selftests.mk.in b/package/linux-tools/linux-tool-selftests.mk.in index b824c11bd..e29c7f59d 100644 --- a/package/linux-tools/linux-tool-selftests.mk.in +++ b/package/linux-tools/linux-tool-selftests.mk.in @@ -16,7 +16,10 @@ SELFTESTS_ARCH=$(NORMALIZED_ARCH) endif endif -SELFTESTS_DEPENDENCIES = libcap-ng popt +SELFTESTS_DEPENDENCIES = \ + libcap-ng \ + popt \ + $(if $(BR2_PACKAGE_OPENSSL),openssl) SELFTESTS_MAKE_FLAGS = \ $(LINUX_MAKE_FLAGS) \ diff --git a/package/linux-tools/linux-tool-tmon.mk.in b/package/linux-tools/linux-tool-tmon.mk.in index 15931c312..56c328c51 100644 --- a/package/linux-tools/linux-tool-tmon.mk.in +++ b/package/linux-tools/linux-tool-tmon.mk.in @@ -9,6 +9,7 @@ LINUX_TOOLS += tmon TMON_DEPENDENCIES = host-pkgconf ncurses TMON_MAKE_OPTS = $(LINUX_MAKE_FLAGS) \ CC=$(TARGET_CC) \ + LDFLAGS="$(TARGET_LDFLAGS)" \ PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig ifeq ($(BR2_TOOLCHAIN_HAS_SSP),) diff --git a/package/linux-zigbee/linux-zigbee.hash b/package/linux-zigbee/linux-zigbee.hash index f33703885..232c1cb43 100644 --- a/package/linux-zigbee/linux-zigbee.hash +++ b/package/linux-zigbee/linux-zigbee.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 92fbefdf18d45147c2b78ca2ce2d899d4d1da5a3391a4ff6c51a5b14c6d6f87c lowpan-tools-0.3.1.tar.gz -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 92fbefdf18d45147c2b78ca2ce2d899d4d1da5a3391a4ff6c51a5b14c6d6f87c lowpan-tools-0.3.1.tar.gz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/liquid-dsp/liquid-dsp.hash b/package/liquid-dsp/liquid-dsp.hash index 31bcd6876..af0e64f49 100644 --- a/package/liquid-dsp/liquid-dsp.hash +++ b/package/liquid-dsp/liquid-dsp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 85093624ef9cb90ead64c836d2f42690197edace1a86257d6524c4e4dc870483 liquid-dsp-1.3.2.tar.gz -sha256 4df7126196efba1283deb99e3269418dde4ab0ad1fde80a55051153451eb4df2 LICENSE +sha256 85093624ef9cb90ead64c836d2f42690197edace1a86257d6524c4e4dc870483 liquid-dsp-1.3.2.tar.gz +sha256 4df7126196efba1283deb99e3269418dde4ab0ad1fde80a55051153451eb4df2 LICENSE diff --git a/package/lirc-tools/lirc-tools.hash b/package/lirc-tools/lirc-tools.hash index 8d9a79d2d..187768db4 100644 --- a/package/lirc-tools/lirc-tools.hash +++ b/package/lirc-tools/lirc-tools.hash @@ -1,6 +1,6 @@ # hash from https://sourceforge.net/projects/lirc/files/LIRC/0.10.1/ -sha1 9d6f6d18ac566a96ef4ca1d6909a4e8bc517d48a lirc-0.10.1.tar.bz2 -md5 86c3f8e4efaba10571addb8313d1e040 lirc-0.10.1.tar.bz2 +sha1 9d6f6d18ac566a96ef4ca1d6909a4e8bc517d48a lirc-0.10.1.tar.bz2 +md5 86c3f8e4efaba10571addb8313d1e040 lirc-0.10.1.tar.bz2 # Locally computed sha256 8b753c60df2a7f5dcda2db72c38e448ca300c3b4f6000c1501fcb0bd5df414f2 lirc-0.10.1.tar.bz2 sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/live555/live555.mk b/package/live555/live555.mk index effd4517c..56ed70578 100644 --- a/package/live555/live555.mk +++ b/package/live555/live555.mk @@ -39,7 +39,7 @@ else LIVE555_CFLAGS += -DNO_OPENSSL endif -ifndef ($(BR2_ENABLE_LOCALE),y) +ifneq ($(BR2_ENABLE_LOCALE),y) LIVE555_CFLAGS += -DLOCALE_NOT_USED endif diff --git a/package/ljlinenoise/ljlinenoise.hash b/package/ljlinenoise/ljlinenoise.hash index 647f11d86..a9e9c6d5b 100644 --- a/package/ljlinenoise/ljlinenoise.hash +++ b/package/ljlinenoise/ljlinenoise.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 7a6c4142b0096106f498d7ee4bea5bf5086c076d1f071893441b8e5c0665fb47 ljlinenoise-0.1.3-1.src.rock -sha256 9b17730cb34ea591fb39688e70bd2be9c13d11b9db1c813b4ae68e3da9b7093e ljlinenoise-0.1.3/COPYRIGHT +sha256 7a6c4142b0096106f498d7ee4bea5bf5086c076d1f071893441b8e5c0665fb47 ljlinenoise-0.1.3-1.src.rock +sha256 9b17730cb34ea591fb39688e70bd2be9c13d11b9db1c813b4ae68e3da9b7093e ljlinenoise-0.1.3/COPYRIGHT diff --git a/package/ljsyscall/ljsyscall.hash b/package/ljsyscall/ljsyscall.hash index 6fd7f6a51..e9aba33da 100644 --- a/package/ljsyscall/ljsyscall.hash +++ b/package/ljsyscall/ljsyscall.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 6e29503609bd966fed33dec1a1571b36bbdbc37bf1a828af6722ed0ead192ff1 ljsyscall-0.12.tar.gz -sha256 c8e21d8e74afbe26c2c8e69b42327d3b48e602117f9ef7b22c31ddca6f46b1f2 COPYRIGHT +sha256 6e29503609bd966fed33dec1a1571b36bbdbc37bf1a828af6722ed0ead192ff1 ljsyscall-0.12.tar.gz +sha256 c8e21d8e74afbe26c2c8e69b42327d3b48e602117f9ef7b22c31ddca6f46b1f2 COPYRIGHT diff --git a/package/lksctp-tools/lksctp-tools.hash b/package/lksctp-tools/lksctp-tools.hash index 7c8ef6046..fb892fdc3 100644 --- a/package/lksctp-tools/lksctp-tools.hash +++ b/package/lksctp-tools/lksctp-tools.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/lksctp/files/lksctp-tools/ -md5 68e9b8fa4d4e331029b247b72d46d7a5 lksctp-tools-1.0.17.tar.gz -sha1 941b0b5c39e364a971f514bba66120435660e518 lksctp-tools-1.0.17.tar.gz +md5 68e9b8fa4d4e331029b247b72d46d7a5 lksctp-tools-1.0.17.tar.gz +sha1 941b0b5c39e364a971f514bba66120435660e518 lksctp-tools-1.0.17.tar.gz # Locally computed sha256 dee5f35e583183abb9212938643ecb2d858fd89e2e286f4b1d903f65d49d6c76 COPYING.lib sha256 cc2a6651c315b233ebc110b49ea3c6452eff9a28f8bc051ffd2bb92a8dcfa3d2 COPYING diff --git a/package/lld/lld.hash b/package/lld/lld.hash index 2144cc566..4ae0d0a74 100644 --- a/package/lld/lld.hash +++ b/package/lld/lld.hash @@ -1,3 +1,3 @@ # locally calculated -sha256 86262bad3e2fd784ba8c5e2158d7aa36f12b85f2515e95bc81d65d75bb9b0c82 lld-9.0.1.src.tar.xz -sha256 f7891568956e34643eb6a0db1462db30820d40d7266e2a78063f2fe233ece5a0 LICENSE.TXT +sha256 86262bad3e2fd784ba8c5e2158d7aa36f12b85f2515e95bc81d65d75bb9b0c82 lld-9.0.1.src.tar.xz +sha256 f7891568956e34643eb6a0db1462db30820d40d7266e2a78063f2fe233ece5a0 LICENSE.TXT diff --git a/package/lldpd/Config.in b/package/lldpd/Config.in index 9a9517b5b..3e0446986 100644 --- a/package/lldpd/Config.in +++ b/package/lldpd/Config.in @@ -18,7 +18,7 @@ config BR2_PACKAGE_LLDPD lldpd is an ISC-licensed implementation of LLDP for various Unixes. It also supports some proprietary protocols. - https://vincentbernat.github.io/lldpd/ + https://lldpd.github.io/ if BR2_PACKAGE_LLDPD diff --git a/package/lldpd/lldpd.hash b/package/lldpd/lldpd.hash index 6e809b279..6db5ca98f 100644 --- a/package/lldpd/lldpd.hash +++ b/package/lldpd/lldpd.hash @@ -1,5 +1,5 @@ # Locally computed after checking gpg key -# https://media.luffy.cx/files/lldpd/lldpd-1.0.9.tar.gz.gpg +# https://media.luffy.cx/files/lldpd/lldpd-1.0.15.tar.gz.gpg # using key AEF2348766F371C689A7360095A42FE8353525F9 -sha256 6b64eb3125952b1e33472198b054e8aa0dee45f45d3d4be22789090a474949f5 lldpd-1.0.9.tar.gz +sha256 f7fe3a130be98a19c491479ef60f36b8ee41a9e6bc4d7f2c41033f63956a3126 lldpd-1.0.15.tar.gz sha256 0e96a5aea65f16e2239231ce4ab90497f8bc3bb8fe6abe9299aade4726ff7c8d LICENSE diff --git a/package/lldpd/lldpd.mk b/package/lldpd/lldpd.mk index b88dd002e..dd6f8dcf5 100644 --- a/package/lldpd/lldpd.mk +++ b/package/lldpd/lldpd.mk @@ -4,7 +4,7 @@ # ################################################################################ -LLDPD_VERSION = 1.0.9 +LLDPD_VERSION = 1.0.15 LLDPD_SITE = https://media.luffy.cx/files/lldpd LLDPD_DEPENDENCIES = \ $(if $(BR2_PACKAGE_CHECK),check) \ diff --git a/package/llvm/llvm.hash b/package/llvm/llvm.hash index 6bf275577..48e934a5d 100644 --- a/package/llvm/llvm.hash +++ b/package/llvm/llvm.hash @@ -1,3 +1,3 @@ # locally calculated -sha256 00a1ee1f389f81e9979f3a640a01c431b3021de0d42278f6508391a2f0b81c9a llvm-9.0.1.src.tar.xz -sha256 8d85c1057d742e597985c7d4e6320b015a9139385cff4cbae06ffc0ebe89afee LICENSE.TXT +sha256 00a1ee1f389f81e9979f3a640a01c431b3021de0d42278f6508391a2f0b81c9a llvm-9.0.1.src.tar.xz +sha256 8d85c1057d742e597985c7d4e6320b015a9139385cff4cbae06ffc0ebe89afee LICENSE.TXT diff --git a/package/log4cpp/log4cpp.hash b/package/log4cpp/log4cpp.hash index f79aabee9..f4084c811 100644 --- a/package/log4cpp/log4cpp.hash +++ b/package/log4cpp/log4cpp.hash @@ -1,6 +1,6 @@ # From http://sourceforge.net/projects/log4cpp/files/log4cpp-1.1.x%20%28new%29/log4cpp-1.1/ -md5 b9e2cee932da987212f2c74b767b4d8b log4cpp-1.1.3.tar.gz -sha1 74f0fea7931dc1bc4e5cd34a6318cd2a51322041 log4cpp-1.1.3.tar.gz +md5 b9e2cee932da987212f2c74b767b4d8b log4cpp-1.1.3.tar.gz +sha1 74f0fea7931dc1bc4e5cd34a6318cd2a51322041 log4cpp-1.1.3.tar.gz # Locally computed -sha256 2cbbea55a5d6895c9f0116a9a9ce3afb86df383cd05c9d6c1a4238e5e5c8f51d log4cpp-1.1.3.tar.gz -sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 log4cpp/COPYING +sha256 2cbbea55a5d6895c9f0116a9a9ce3afb86df383cd05c9d6c1a4238e5e5c8f51d log4cpp-1.1.3.tar.gz +sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 log4cpp/COPYING diff --git a/package/logrotate/logrotate.hash b/package/logrotate/logrotate.hash index 2af46d60b..9c8e73f73 100644 --- a/package/logrotate/logrotate.hash +++ b/package/logrotate/logrotate.hash @@ -1,3 +1,3 @@ # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING -sha256 841f81bf09d0014e4a2e11af166bb33fcd8429cc0c2d4a7d3d9ceb3858cfccc5 logrotate-3.18.0.tar.xz +sha256 742f6d6e18eceffa49a4bacd933686d3e42931cfccfb694d7f6369b704e5d094 logrotate-3.20.1.tar.xz diff --git a/package/logrotate/logrotate.mk b/package/logrotate/logrotate.mk index 4d1344c2c..453dbe477 100644 --- a/package/logrotate/logrotate.mk +++ b/package/logrotate/logrotate.mk @@ -4,8 +4,8 @@ # ################################################################################ -LOGROTATE_VERSION = 3.18.0 -LOGROTATE_SOURCE = logrotate-3.18.0.tar.xz +LOGROTATE_VERSION = 3.20.1 +LOGROTATE_SOURCE = logrotate-$(LOGROTATE_VERSION).tar.xz LOGROTATE_SITE = https://github.com/logrotate/logrotate/releases/download/$(LOGROTATE_VERSION) LOGROTATE_LICENSE = GPL-2.0+ LOGROTATE_LICENSE_FILES = COPYING diff --git a/package/logsurfer/logsurfer.hash b/package/logsurfer/logsurfer.hash index 539a41a3c..8e9f5c95b 100644 --- a/package/logsurfer/logsurfer.hash +++ b/package/logsurfer/logsurfer.hash @@ -1,3 +1,3 @@ # From https://www.crypt.gen.nz/logsurfer/ -md5 4c26a74d813ccf766117c95c644aa601 logsurfer-1.8.tar.gz -sha256 74a36e8530a884031b4ae2344a46b9aaa07a1ee36d143802f6b64f817c5bd1af logsurfer-1.8.tar.gz +md5 4c26a74d813ccf766117c95c644aa601 logsurfer-1.8.tar.gz +sha256 74a36e8530a884031b4ae2344a46b9aaa07a1ee36d143802f6b64f817c5bd1af logsurfer-1.8.tar.gz diff --git a/package/lpeg/lpeg.hash b/package/lpeg/lpeg.hash index 7a20f063f..cb995bde2 100644 --- a/package/lpeg/lpeg.hash +++ b/package/lpeg/lpeg.hash @@ -1,2 +1,4 @@ # computed by luarocks/buildroot -sha256 e0d0d687897f06588558168eeb1902ac41a11edd1b58f1aa61b99d0ea0abbfbc lpeg-1.0.2-1.src.rock +sha256 e0d0d687897f06588558168eeb1902ac41a11edd1b58f1aa61b99d0ea0abbfbc lpeg-1.0.2-1.src.rock +# computed locally +sha256 2b80a8cce793e008ba433e5e0184f20aca4a67ec741439fafd86a874a6a91c49 lpeg-1.0.2/lpeg.html diff --git a/package/lpeg/lpeg.mk b/package/lpeg/lpeg.mk index cdb2e81a5..7326e59e0 100644 --- a/package/lpeg/lpeg.mk +++ b/package/lpeg/lpeg.mk @@ -6,5 +6,6 @@ LPEG_VERSION = 1.0.2-1 LPEG_LICENSE = MIT +LPEG_LICENSE_FILES = $(LPEG_SUBDIR)/lpeg.html $(eval $(luarocks-package)) diff --git a/package/lpty/lpty.hash b/package/lpty/lpty.hash index 6b21d75a5..1fe88107e 100644 --- a/package/lpty/lpty.hash +++ b/package/lpty/lpty.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 cf263ece9b50a78a7fb2277e3546fbbf0bf6858f41821932d92f2e3d8a065091 lpty-1.0.1-1.src.rock -sha256 c5a128a73cad5f6e111ebd8f4a9fa3500562c57912972eb15627db9610d43dec lpty-1.0.1-1/doc/LICENSE +sha256 cf263ece9b50a78a7fb2277e3546fbbf0bf6858f41821932d92f2e3d8a065091 lpty-1.0.1-1.src.rock +sha256 c5a128a73cad5f6e111ebd8f4a9fa3500562c57912972eb15627db9610d43dec lpty-1.0.1-1/doc/LICENSE diff --git a/package/lrandom/lrandom.hash b/package/lrandom/lrandom.hash index 111635e50..fc6c81d4c 100644 --- a/package/lrandom/lrandom.hash +++ b/package/lrandom/lrandom.hash @@ -1,2 +1,2 @@ # computed by luarocks/buildroot -sha256 9b77af41202feb38b09cb4a99cd49680ea9dbc9df3e640f801be378dd286eab8 lrandom-20180729-1.src.rock +sha256 9b77af41202feb38b09cb4a99cd49680ea9dbc9df3e640f801be378dd286eab8 lrandom-20180729-1.src.rock diff --git a/package/lrzip/lrzip.hash b/package/lrzip/lrzip.hash index 19295383c..cb03ff07c 100644 --- a/package/lrzip/lrzip.hash +++ b/package/lrzip/lrzip.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 9b6b4bb1ae76dafbaab96ec9d50d41af5fed45a6c4f2e06feea828c2cd8025c0 lrzip-0.641.tar.gz +sha256 48bd8decb097c1596c9b3777959cd3e332819434ed77a2823e65aa436f1602f9 lrzip-0.651.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/lrzip/lrzip.mk b/package/lrzip/lrzip.mk index 409d9912d..037569641 100644 --- a/package/lrzip/lrzip.mk +++ b/package/lrzip/lrzip.mk @@ -4,11 +4,13 @@ # ################################################################################ -LRZIP_VERSION = 0.641 -LRZIP_SITE = $(call github,ckolivas,lrzip,v$(LRZIP_VERSION)) -LRZIP_AUTORECONF = YES +LRZIP_VERSION = 0.651 +LRZIP_SOURCE = lrzip-$(LRZIP_VERSION).tar.xz +LRZIP_SITE = http://ck.kolivas.org/apps/lrzip LRZIP_LICENSE = GPL-2.0+ LRZIP_LICENSE_FILES = COPYING +LRZIP_CPE_ID_VENDOR = long_range_zip_project +LRZIP_CPE_ID_PRODUCT = long_range_zip LRZIP_DEPENDENCIES = zlib lz4 lzo bzip2 ifeq ($(BR2_i386)$(BR2_x86_64),y) diff --git a/package/lrzsz/lrzsz.mk b/package/lrzsz/lrzsz.mk index 45c88619e..3897975d7 100644 --- a/package/lrzsz/lrzsz.mk +++ b/package/lrzsz/lrzsz.mk @@ -18,10 +18,6 @@ define LRZSZ_POST_CONFIGURE_HOOKS $(SED) "s~\(#define ENABLE_SYSLOG.*\)~/* \1 */~;" $(@D)/config.h endef -define LRZSZ_BUILD_HOOKS - $(TARGET_MAKE_ENV) $(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" prefix="$(TARGET_DIR)" -C $(@D) -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/lshw/Config.in b/package/lshw/Config.in index 5e0e47b6e..fb557aacf 100644 --- a/package/lshw/Config.in +++ b/package/lshw/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_LSHW depends on BR2_USE_WCHAR select BR2_PACKAGE_HWDATA # runtime select BR2_PACKAGE_HWDATA_PCI_IDS + select BR2_PACKAGE_HWDATA_PNP_IDS select BR2_PACKAGE_HWDATA_USB_IDS help lshw (Hardware Lister) is a small tool to provide diff --git a/package/lsqlite3/lsqlite3.hash b/package/lsqlite3/lsqlite3.hash index 8ed989825..48ae2fce8 100644 --- a/package/lsqlite3/lsqlite3.hash +++ b/package/lsqlite3/lsqlite3.hash @@ -1,2 +1,2 @@ # computed by luarocks/buildroot -sha256 fdae3c03390ab4e4b7db3a13d09b79ffe19318739b752d17914adcdb3d2ef9ff lsqlite3-0.9.5-1.src.rock +sha256 fdae3c03390ab4e4b7db3a13d09b79ffe19318739b752d17914adcdb3d2ef9ff lsqlite3-0.9.5-1.src.rock diff --git a/package/ltp-testsuite/0002-testcases-kernel-fs-declare-int-openlog-as-static.patch b/package/ltp-testsuite/0002-testcases-kernel-fs-declare-int-openlog-as-static.patch new file mode 100644 index 000000000..ae10bfcfd --- /dev/null +++ b/package/ltp-testsuite/0002-testcases-kernel-fs-declare-int-openlog-as-static.patch @@ -0,0 +1,77 @@ +From 002ca0320cd2c5e1515bf202f470d4becdf01532 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 24 Apr 2022 21:56:36 +0200 +Subject: [PATCH] testcases/kernel/fs: declare int openlog as static + +Declare int openlog as static to avoid the following build failure when +building statically (e.g. on buildroot): + +/nvmedata/autobuild/instance-15/output-1/per-package/ltp-testsuite/host/bin/../lib/gcc/mipsel-buildroot-linux-uclibc/10.3.0/../../../../mipsel-buildroot-linux-uclibc/bin/ld: /nvmedata/autobuild/instance-15/output-1/per-package/ltp-testsuite/host/bin/../mipsel-buildroot-linux-uclibc/sysroot/usr/lib/libc.a(syslog.os): in function `openlog': +syslog.c:(.text+0x6b8): multiple definition of `openlog'; /tmp/ccvRnqfT.o:/nvmedata/autobuild/instance-15/output-1/build/ltp-testsuite-20220121/testcases/kernel/fs/fs-bench/random-access.c:14: first defined here + +Fixes: + - http://autobuild.buildroot.org/results/bfd0d906a05564a4f323db604f3b908abf552b20 + +Signed-off-by: Fabrice Fontaine +Reviewed-by: Cyril Hrubis +[Retrieved from: +https://github.com/linux-test-project/ltp/commit/002ca0320cd2c5e1515bf202f470d4becdf01532] +--- + testcases/kernel/fs/fs-bench/random-access-del-create.c | 2 -- + testcases/kernel/fs/fs-bench/random-access.c | 2 +- + testcases/kernel/fs/fs-bench/random-del-create.c | 2 +- + testcases/kernel/fs/scsi/ltpfs/main.c | 2 +- + 4 files changed, 3 insertions(+), 5 deletions(-) + +diff --git a/testcases/kernel/fs/fs-bench/random-access-del-create.c b/testcases/kernel/fs/fs-bench/random-access-del-create.c +index 1f62a76b5e..1878fd78b5 100644 +--- a/testcases/kernel/fs/fs-bench/random-access-del-create.c ++++ b/testcases/kernel/fs/fs-bench/random-access-del-create.c +@@ -11,8 +11,6 @@ + #define FAIL 0 + #define SUCCESS 1 + +-int openlog[2] = { 0, 0 }; +- + #define MAXNUM 0x100000 + + #define MAXERROR 1024 +diff --git a/testcases/kernel/fs/fs-bench/random-access.c b/testcases/kernel/fs/fs-bench/random-access.c +index cf41d6e81c..c2f32b86e7 100644 +--- a/testcases/kernel/fs/fs-bench/random-access.c ++++ b/testcases/kernel/fs/fs-bench/random-access.c +@@ -11,7 +11,7 @@ + #define FAIL 0 + #define SUCCESS 1 + +-int openlog[2] = { 0, 0 }; ++static int openlog[2] = { 0, 0 }; + + #define MAXNUM 0x100000 + +diff --git a/testcases/kernel/fs/fs-bench/random-del-create.c b/testcases/kernel/fs/fs-bench/random-del-create.c +index 0a86f976f3..345031f283 100644 +--- a/testcases/kernel/fs/fs-bench/random-del-create.c ++++ b/testcases/kernel/fs/fs-bench/random-del-create.c +@@ -11,7 +11,7 @@ + #define FAIL 0 + #define SUCCESS 1 + +-int openlog[2] = { 0, 0 }; ++static int openlog[2] = { 0, 0 }; + + #define MAXNUM 0x100000 + +diff --git a/testcases/kernel/fs/scsi/ltpfs/main.c b/testcases/kernel/fs/scsi/ltpfs/main.c +index 2c67c7a478..90a5531ac3 100644 +--- a/testcases/kernel/fs/scsi/ltpfs/main.c ++++ b/testcases/kernel/fs/scsi/ltpfs/main.c +@@ -38,7 +38,7 @@ int startc = 0; + int showchar[] = { 124, 47, 45, 92, 124, 47, 45, 92 }; + + int nullFileHandle; +-int openlog[2] = { 0, 0 }; ++static int openlog[2] = { 0, 0 }; + + int cFileCount, dFileCount, errorCount; + static int disk_space_pool = 0; diff --git a/package/lttng-babeltrace/0002-configure.ac-fix-popt-static-build.patch b/package/lttng-babeltrace/0002-configure.ac-fix-popt-static-build.patch new file mode 100644 index 000000000..896c67470 --- /dev/null +++ b/package/lttng-babeltrace/0002-configure.ac-fix-popt-static-build.patch @@ -0,0 +1,48 @@ +From 35076fd4592ca23136ff5eacdf8eaebc926e0224 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 23 Feb 2023 13:04:08 +0100 +Subject: [PATCH] configure.ac: fix popt static build + +Fix the following popt static build failure: + +configure:18149: checking for poptGetContext in -lpopt +configure:18172: /home/buildroot/autobuild/instance-2/output-1/host/bin/m68k-buildroot-linux-uclibc-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -static -I/home/buildroot/autobuild/instance-2/output-1/host/bin/../m68k-buildroot-linux-uclibc/sysroot/usr/include/uuid -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -static conftest.c -lpopt -L/home/buildroot/autobuild/instance-2/output-1/host/bin/../m68k-buildroot-linux-uclibc/sysroot/usr/lib -luuid >&5 +/home/buildroot/autobuild/instance-2/output-1/host/lib/gcc/m68k-buildroot-linux-uclibc/10.4.0/../../../../m68k-buildroot-linux-uclibc/bin/ld: /home/buildroot/autobuild/instance-2/output-1/host/bin/../m68k-buildroot-linux-uclibc/sysroot/usr/lib/libpopt.a(poptint.o): in function `POPT_fprintf': +poptint.c:(.text+0x28a): undefined reference to `libiconv_open' + +[...] + +checking for poptGetContext in -lpopt... no +configure: error: Cannot find popt. + +Fixes: + - http://autobuild.buildroot.org/results/4f465fe15664b1f9df3f26c331dc550852972f2f + +Signed-off-by: Fabrice Fontaine +[Upstream status: not upstreamable as popt has been removed with +https://github.com/efficios/babeltrace/commit/916d0d910ad5407bc7826505aa05b277f5739a34] +--- + configure.ac | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index a17c23c3..8f700d3e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -223,8 +223,11 @@ AC_CHECK_LIB([c], [faccessat], + ] + ) + +-AC_CHECK_LIB([popt], [poptGetContext], [], +- [AC_MSG_ERROR([Cannot find popt.])] ++PKG_CHECK_MODULES([POPT], [popt], [LIBS="${POPT_LIBS} ${LIBS}"], ++[ ++ AC_CHECK_LIB([popt], [poptGetContext], [], ++ [AC_MSG_ERROR([Cannot find popt.])]) ++] + ) + + # For Python +-- +2.39.1 + diff --git a/package/lttng-babeltrace/lttng-babeltrace.hash b/package/lttng-babeltrace/lttng-babeltrace.hash index 7c114ac7e..9bf327fc4 100644 --- a/package/lttng-babeltrace/lttng-babeltrace.hash +++ b/package/lttng-babeltrace/lttng-babeltrace.hash @@ -1,7 +1,7 @@ # From http://www.efficios.com/files/babeltrace/babeltrace-1.5.7.tar.bz2.sha256 -sha256 215331e025ffd39c665a34231b9429180e48aca78f79fb972d0bf1322d2b807b babeltrace-1.5.7.tar.bz2 +sha256 215331e025ffd39c665a34231b9429180e48aca78f79fb972d0bf1322d2b807b babeltrace-1.5.7.tar.bz2 # Hash for license files -sha256 2f801b7c2494850c3d91da820eb230502dc0192c9d0db024db37ec08d0be1434 mit-license.txt -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 gpl-2.0.txt -sha256 12d4222ac628fe4092cba8ed90bc5227a4dedd0b94973273cecbc393325bf1c2 LICENSE +sha256 2f801b7c2494850c3d91da820eb230502dc0192c9d0db024db37ec08d0be1434 mit-license.txt +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 gpl-2.0.txt +sha256 12d4222ac628fe4092cba8ed90bc5227a4dedd0b94973273cecbc393325bf1c2 LICENSE diff --git a/package/lttng-modules/lttng-modules.mk b/package/lttng-modules/lttng-modules.mk index 4c1c50d0a..d527bc19e 100644 --- a/package/lttng-modules/lttng-modules.mk +++ b/package/lttng-modules/lttng-modules.mk @@ -12,5 +12,9 @@ LTTNG_MODULES_LICENSE_FILES = \ LICENSES/LGPL-2.1 LICENSES/GPL-2.0 LICENSES/MIT LICENSE LTTNG_MODULES_MODULE_MAKE_OPTS = CONFIG_LTTNG=m CONFIG_LTTNG_CLOCK_PLUGIN_TEST=m +define LTTNG_MODULES_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_KPROBES) +endef + $(eval $(kernel-module)) $(eval $(generic-package)) diff --git a/package/lttng-tools/lttng-tools.hash b/package/lttng-tools/lttng-tools.hash index 5b5f55da3..b48904d0b 100644 --- a/package/lttng-tools/lttng-tools.hash +++ b/package/lttng-tools/lttng-tools.hash @@ -1,5 +1,5 @@ -# From https://lttng.org/files/lttng-tools/lttng-tools-2.13.2.tar.bz2.sha256 -sha256 ced2ba00020da77fd17ac92b5a53825502409a07e3aeca28f9515d4a844fd7bd lttng-tools-2.13.2.tar.bz2 +# From https://lttng.org/files/lttng-tools/lttng-tools-2.13.8.tar.bz2.sha256 +sha256 b1e959579b260790930b20f3c7aa7cefb8a40e0de80d4a777c2bf78c6b353dc1 lttng-tools-2.13.8.tar.bz2 # Locally computed sha256 068e55c7dbe597400199aee75ac5e71bdb2ca88c4c9a4cfa8e1fbc61f933eda5 LICENSE diff --git a/package/lttng-tools/lttng-tools.mk b/package/lttng-tools/lttng-tools.mk index efa22a52e..add1f12a8 100644 --- a/package/lttng-tools/lttng-tools.mk +++ b/package/lttng-tools/lttng-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -LTTNG_TOOLS_VERSION = 2.13.2 +LTTNG_TOOLS_VERSION = 2.13.8 LTTNG_TOOLS_SITE = https://lttng.org/files/lttng-tools LTTNG_TOOLS_SOURCE = lttng-tools-$(LTTNG_TOOLS_VERSION).tar.bz2 LTTNG_TOOLS_INSTALL_STAGING = YES diff --git a/package/lua-basexx/lua-basexx.hash b/package/lua-basexx/lua-basexx.hash index aee636c32..0f86a7f37 100644 --- a/package/lua-basexx/lua-basexx.hash +++ b/package/lua-basexx/lua-basexx.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 ff5379b1f5b396103b8bb589ab3dd94d0a727c8e7a48dcfe1c73e2f07af6a8df basexx-0.4.0-1.src.rock -sha256 a1826a43c9e04f9e9b2e5d26d636c656812483bcd513618eec9d72cee69d446b basexx-0.4.0/LICENSE +sha256 ff5379b1f5b396103b8bb589ab3dd94d0a727c8e7a48dcfe1c73e2f07af6a8df basexx-0.4.0-1.src.rock +sha256 a1826a43c9e04f9e9b2e5d26d636c656812483bcd513618eec9d72cee69d446b basexx-0.4.0/LICENSE diff --git a/package/lua-binaryheap/lua-binaryheap.hash b/package/lua-binaryheap/lua-binaryheap.hash index 3713ea331..dd5036b42 100644 --- a/package/lua-binaryheap/lua-binaryheap.hash +++ b/package/lua-binaryheap/lua-binaryheap.hash @@ -1,2 +1,2 @@ # computed by luarocks/buildroot -sha256 ecce14dedfa7a1938aa2383c83036b98461876934f169384a2cec6bb46462d87 binaryheap-0.4-1.src.rock +sha256 ecce14dedfa7a1938aa2383c83036b98461876934f169384a2cec6bb46462d87 binaryheap-0.4-1.src.rock diff --git a/package/lua-bit32/lua-bit32.hash b/package/lua-bit32/lua-bit32.hash index 9a4f64b66..90bc2c19d 100644 --- a/package/lua-bit32/lua-bit32.hash +++ b/package/lua-bit32/lua-bit32.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 0e273427f2b877270f9cec5642ebe2670242926ba9638d4e6df7e4e1263ca12c bit32-5.3.5.1-1.src.rock -sha256 1b24f475812c979684fb3469f6faccbdc7c33c9d39421728aa0d78deda5a89a5 lua-compat-5.3-0.10/LICENSE +sha256 0e273427f2b877270f9cec5642ebe2670242926ba9638d4e6df7e4e1263ca12c bit32-5.3.5.1-1.src.rock +sha256 1b24f475812c979684fb3469f6faccbdc7c33c9d39421728aa0d78deda5a89a5 lua-compat-5.3-0.10/LICENSE diff --git a/package/lua-cjson/lua-cjson.hash b/package/lua-cjson/lua-cjson.hash index 2a23eb3d2..b052c5199 100644 --- a/package/lua-cjson/lua-cjson.hash +++ b/package/lua-cjson/lua-cjson.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 455fa7d07d8ac9d61f68f538958f8e28972256f38b0a1c2740873daf809d1837 lua-cjson-2.1.0.6-1.src.rock -sha256 9576e82ef5013fbe80b3bd446a7d9ddd47328baa2186c31d3d885e2a9a8cd31e lua-cjson/LICENSE +sha256 455fa7d07d8ac9d61f68f538958f8e28972256f38b0a1c2740873daf809d1837 lua-cjson-2.1.0.6-1.src.rock +sha256 9576e82ef5013fbe80b3bd446a7d9ddd47328baa2186c31d3d885e2a9a8cd31e lua-cjson/LICENSE diff --git a/package/lua-coat/lua-coat.hash b/package/lua-coat/lua-coat.hash index 491ba2964..f2e79d69b 100644 --- a/package/lua-coat/lua-coat.hash +++ b/package/lua-coat/lua-coat.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 24d0e894d743f46c09a282e4dd272d2a6004557608b618c1c9d9f464dd65af02 lua-coat-0.9.2-1.src.rock -sha256 81b5f657812ccfd63f19c9af1389b5fe6b26f079a4841c5d074940c47bf7cb1e lua-Coat-0.9.2/COPYRIGHT +sha256 24d0e894d743f46c09a282e4dd272d2a6004557608b618c1c9d9f464dd65af02 lua-coat-0.9.2-1.src.rock +sha256 81b5f657812ccfd63f19c9af1389b5fe6b26f079a4841c5d074940c47bf7cb1e lua-Coat-0.9.2/COPYRIGHT diff --git a/package/lua-coatpersistent/lua-coatpersistent.hash b/package/lua-coatpersistent/lua-coatpersistent.hash index a15379e13..0dae3dcab 100644 --- a/package/lua-coatpersistent/lua-coatpersistent.hash +++ b/package/lua-coatpersistent/lua-coatpersistent.hash @@ -1,4 +1,4 @@ # computed by luarocks/buildroot -sha256 e718ee36a17312108f266e8412f840db150afd89e8587d36e685673fff65f142 lua-coatpersistent-lsqlite3-0.2.2-1.src.rock -sha256 5d36d6a8b413a2d56a466a45314291a0265c514a179e741b3fc95f4dd901abe6 lua-coatpersistent-luasql-0.2.2-1.src.rock -sha256 f8ed30644056ceff4315e694a1c1af4af4f08ec0adabae353ab8f3f5289ffbf3 lua-CoatPersistent-0.2.2/COPYRIGHT +sha256 e718ee36a17312108f266e8412f840db150afd89e8587d36e685673fff65f142 lua-coatpersistent-lsqlite3-0.2.2-1.src.rock +sha256 5d36d6a8b413a2d56a466a45314291a0265c514a179e741b3fc95f4dd901abe6 lua-coatpersistent-luasql-0.2.2-1.src.rock +sha256 f8ed30644056ceff4315e694a1c1af4af4f08ec0adabae353ab8f3f5289ffbf3 lua-CoatPersistent-0.2.2/COPYRIGHT diff --git a/package/lua-codegen/lua-codegen.hash b/package/lua-codegen/lua-codegen.hash index 0b49a5a78..2fd466ac7 100644 --- a/package/lua-codegen/lua-codegen.hash +++ b/package/lua-codegen/lua-codegen.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 c09126d7f5d0fa9c867ee9108eb5961dab111320ee35e5f842317f6058e922ec lua-codegen-0.3.3-1.src.rock -sha256 f09265c450c3a59558ecc552ea4ba61e5a74dec995738eec545d121718833a80 lua-CodeGen-0.3.3/COPYRIGHT +sha256 c09126d7f5d0fa9c867ee9108eb5961dab111320ee35e5f842317f6058e922ec lua-codegen-0.3.3-1.src.rock +sha256 f09265c450c3a59558ecc552ea4ba61e5a74dec995738eec545d121718833a80 lua-CodeGen-0.3.3/COPYRIGHT diff --git a/package/lua-compat53/lua-compat53.hash b/package/lua-compat53/lua-compat53.hash index 07783820c..ccd9a7120 100644 --- a/package/lua-compat53/lua-compat53.hash +++ b/package/lua-compat53/lua-compat53.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 e513e75ba0ef4923a1ec0d4f0beb5972a11cc9bd7ac1b0953b5e4f037b259c92 compat53-0.8-1.src.rock -sha256 1b24f475812c979684fb3469f6faccbdc7c33c9d39421728aa0d78deda5a89a5 lua-compat-5.3-0.8/LICENSE +sha256 e513e75ba0ef4923a1ec0d4f0beb5972a11cc9bd7ac1b0953b5e4f037b259c92 compat53-0.8-1.src.rock +sha256 1b24f475812c979684fb3469f6faccbdc7c33c9d39421728aa0d78deda5a89a5 lua-compat-5.3-0.8/LICENSE diff --git a/package/lua-cqueues/Config.in b/package/lua-cqueues/Config.in index 60f022848..a8c38950c 100644 --- a/package/lua-cqueues/Config.in +++ b/package/lua-cqueues/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_LUA_CQUEUES bool "lua-cqueues" depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL help Continuation Queues: Embeddable asynchronous networking, threading, and notification framework for Lua on Unix. diff --git a/package/lua-csnappy/lua-csnappy.hash b/package/lua-csnappy/lua-csnappy.hash index 43790f2bd..dd3c0c32d 100644 --- a/package/lua-csnappy/lua-csnappy.hash +++ b/package/lua-csnappy/lua-csnappy.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 4fc373ba714cb8b428e9971f1725d82de6a43dfea361a0b7894e4762238dc95c lua-csnappy-0.1.5-1.src.rock -sha256 8865da757dbc6fe3c8cee4d88bdfd82c1e0e789974a4d0d52db75a985025c1f0 lua-csnappy-0.1.5/COPYRIGHT +sha256 4fc373ba714cb8b428e9971f1725d82de6a43dfea361a0b7894e4762238dc95c lua-csnappy-0.1.5-1.src.rock +sha256 8865da757dbc6fe3c8cee4d88bdfd82c1e0e789974a4d0d52db75a985025c1f0 lua-csnappy-0.1.5/COPYRIGHT diff --git a/package/lua-datafile/lua-datafile.hash b/package/lua-datafile/lua-datafile.hash index c43b2b147..07a13e7e8 100644 --- a/package/lua-datafile/lua-datafile.hash +++ b/package/lua-datafile/lua-datafile.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 4f7d58c50267b5ebd2145e52aaa5fb63fbf63a74ae765f08e2d0dddd570b6b6a datafile-0.6-1.src.rock -sha256 0443ddabab14f69d4c5e2641860343784a0ccbe5ae7a3743f20de9a13991da66 datafile/LICENSE +sha256 4f7d58c50267b5ebd2145e52aaa5fb63fbf63a74ae765f08e2d0dddd570b6b6a datafile-0.6-1.src.rock +sha256 0443ddabab14f69d4c5e2641860343784a0ccbe5ae7a3743f20de9a13991da66 datafile/LICENSE diff --git a/package/lua-fifo/lua-fifo.hash b/package/lua-fifo/lua-fifo.hash index 7d885f413..61b4e984d 100644 --- a/package/lua-fifo/lua-fifo.hash +++ b/package/lua-fifo/lua-fifo.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 53dea24ad658614a0254dcb10296a1a0fc5357315ada5724d6362f54c32b4c20 fifo-0.2-0.src.rock -sha256 8b4423dd4f55a69da1454b7a48346a54fd5b6e0408b38fde25cd29c0922962b6 fifo.lua-0.2/LICENSE +sha256 53dea24ad658614a0254dcb10296a1a0fc5357315ada5724d6362f54c32b4c20 fifo-0.2-0.src.rock +sha256 8b4423dd4f55a69da1454b7a48346a54fd5b6e0408b38fde25cd29c0922962b6 fifo.lua-0.2/LICENSE diff --git a/package/lua-flu/lua-flu.hash b/package/lua-flu/lua-flu.hash index 63f414d38..28ffd012d 100644 --- a/package/lua-flu/lua-flu.hash +++ b/package/lua-flu/lua-flu.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 221ba8f8d3abbf12d5fc217dbb965605391892eb314eff1cd9c7beca90fe9887 flu-20181218-1.src.rock -sha256 409f7c274eb26874a382241d675a360ba6b2659742c5941e680d71a41dd35913 doub-flu-63f077a988cd/doc/LICENSE.txt +sha256 221ba8f8d3abbf12d5fc217dbb965605391892eb314eff1cd9c7beca90fe9887 flu-20181218-1.src.rock +sha256 409f7c274eb26874a382241d675a360ba6b2659742c5941e680d71a41dd35913 doub-flu-63f077a988cd/doc/LICENSE.txt diff --git a/package/lua-http/lua-http.hash b/package/lua-http/lua-http.hash index 491167eed..0f9284896 100644 --- a/package/lua-http/lua-http.hash +++ b/package/lua-http/lua-http.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 dbe1b29ff89fb937059e4398c9a628361d97d856acc87fd8cd85cb9340cde328 http-0.4-0.src.rock -sha256 1b486781068bcfd373f8c54f8d78eeab76d900bdf32e589e8330a4c563c2874b lua-http-0.4/LICENSE.md +sha256 dbe1b29ff89fb937059e4398c9a628361d97d856acc87fd8cd85cb9340cde328 http-0.4-0.src.rock +sha256 1b486781068bcfd373f8c54f8d78eeab76d900bdf32e589e8330a4c563c2874b lua-http-0.4/LICENSE.md diff --git a/package/lua-iconv/lua-iconv.hash b/package/lua-iconv/lua-iconv.hash index 8015599e4..b28ce0b31 100644 --- a/package/lua-iconv/lua-iconv.hash +++ b/package/lua-iconv/lua-iconv.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 fb66e785e15376c2d2817f1f1b27d10272b877eacc998c727a10f081a7d768fa lua-iconv-7-1.src.rock -sha256 30227b9571827f3dfcdeb3830594fc415459d64ad7271e9954178d3ef58a9bd4 lua-iconv-7/COPYING +sha256 fb66e785e15376c2d2817f1f1b27d10272b877eacc998c727a10f081a7d768fa lua-iconv-7-1.src.rock +sha256 30227b9571827f3dfcdeb3830594fc415459d64ad7271e9954178d3ef58a9bd4 lua-iconv-7/COPYING diff --git a/package/lua-inotify/lua-inotify.hash b/package/lua-inotify/lua-inotify.hash index 183638954..3ec4ea9bb 100644 --- a/package/lua-inotify/lua-inotify.hash +++ b/package/lua-inotify/lua-inotify.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 9164b5777b132d7e1e073478d8837a526262991c57e32d75d517100f533eb436 inotify-0.5-1.src.rock -sha256 b02158adb3c7763e1183a9386672f4f037bfeaab0cb0c73d684f34f3ea1993d8 linotify-0.5/COPYRIGHT +sha256 9164b5777b132d7e1e073478d8837a526262991c57e32d75d517100f533eb436 inotify-0.5-1.src.rock +sha256 b02158adb3c7763e1183a9386672f4f037bfeaab0cb0c73d684f34f3ea1993d8 linotify-0.5/COPYRIGHT diff --git a/package/lua-livr-extra/lua-livr-extra.hash b/package/lua-livr-extra/lua-livr-extra.hash index cb7cf898b..747004cfa 100644 --- a/package/lua-livr-extra/lua-livr-extra.hash +++ b/package/lua-livr-extra/lua-livr-extra.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 42fef357db3e05e32112ddebcd4296f040a825dfac77ff2fa03aedbdcdaac729 lua-livr-extra-0.1.1-1.src.rock -sha256 96751dc604608ecf2357d1599bc2d2e9f56382793a6c218dc98d460759adbf07 lua-LIVR-extra-0.1.1/COPYRIGHT +sha256 42fef357db3e05e32112ddebcd4296f040a825dfac77ff2fa03aedbdcdaac729 lua-livr-extra-0.1.1-1.src.rock +sha256 96751dc604608ecf2357d1599bc2d2e9f56382793a6c218dc98d460759adbf07 lua-LIVR-extra-0.1.1/COPYRIGHT diff --git a/package/lua-livr/lua-livr.hash b/package/lua-livr/lua-livr.hash index 73b0fefa7..fe9876909 100644 --- a/package/lua-livr/lua-livr.hash +++ b/package/lua-livr/lua-livr.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 e2f39316b8a1e66420c56e8ddc9ce4c0118c1a240582f2ba52d7627da6dfb76d lua-livr-0.2.2-1.src.rock -sha256 69fd426251454ea43a8068e58ac25d882922372de6b22e249bb56e00ea2cd834 lua-LIVR-0.2.2/COPYRIGHT +sha256 e2f39316b8a1e66420c56e8ddc9ce4c0118c1a240582f2ba52d7627da6dfb76d lua-livr-0.2.2-1.src.rock +sha256 69fd426251454ea43a8068e58ac25d882922372de6b22e249bb56e00ea2cd834 lua-LIVR-0.2.2/COPYRIGHT diff --git a/package/lua-lpeg-patterns/lua-lpeg-patterns.hash b/package/lua-lpeg-patterns/lua-lpeg-patterns.hash index 3fad73ca0..012d7035d 100644 --- a/package/lua-lpeg-patterns/lua-lpeg-patterns.hash +++ b/package/lua-lpeg-patterns/lua-lpeg-patterns.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 0e6d33543689e83911e2cb47965752e00412cbdfca888812ccbde9ec95259c56 lpeg_patterns-0.5-0.src.rock -sha256 5b0346f2b2432e5f05e8e4ad31503cf84ddf802dacde9e8c3e529efaa4be3348 lpeg_patterns-0.5/LICENSE.md +sha256 0e6d33543689e83911e2cb47965752e00412cbdfca888812ccbde9ec95259c56 lpeg_patterns-0.5-0.src.rock +sha256 5b0346f2b2432e5f05e8e4ad31503cf84ddf802dacde9e8c3e529efaa4be3348 lpeg_patterns-0.5/LICENSE.md diff --git a/package/lua-lunitx/lua-lunitx.hash b/package/lua-lunitx/lua-lunitx.hash index b97b93f09..8bb9c1540 100644 --- a/package/lua-lunitx/lua-lunitx.hash +++ b/package/lua-lunitx/lua-lunitx.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 2299facf4977f9b663e1ad402098139116a87a693c3df66e1f6b89e2cf47646f lunitx-0.8-1.src.rock -sha256 3fcfcd6010d73bc2b22505b6a91779022a82661809a3e4e0a0bdd7b3463def8f lunit/LICENSE +sha256 2299facf4977f9b663e1ad402098139116a87a693c3df66e1f6b89e2cf47646f lunitx-0.8-1.src.rock +sha256 3fcfcd6010d73bc2b22505b6a91779022a82661809a3e4e0a0bdd7b3463def8f lunit/LICENSE diff --git a/package/lua-lunix/lua-lunix.hash b/package/lua-lunix/lua-lunix.hash index 3cbf3481b..6e3c920db 100644 --- a/package/lua-lunix/lua-lunix.hash +++ b/package/lua-lunix/lua-lunix.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 4a4007b394ae884e18e9d0319ea584e8b4a682d7bf8fa5b99c7eea9baf1e5ed6 lunix-20170920-1.src.rock -sha256 9b74be104d59caa45bf3321ebe771f9cc7874209261a93f1cf971ceca44fbe03 lunix-rel-20170920/LICENSE +sha256 4a4007b394ae884e18e9d0319ea584e8b4a682d7bf8fa5b99c7eea9baf1e5ed6 lunix-20170920-1.src.rock +sha256 9b74be104d59caa45bf3321ebe771f9cc7874209261a93f1cf971ceca44fbe03 lunix-rel-20170920/LICENSE diff --git a/package/lua-markdown/lua-markdown.hash b/package/lua-markdown/lua-markdown.hash index 682b4f84c..9f58e4cf0 100644 --- a/package/lua-markdown/lua-markdown.hash +++ b/package/lua-markdown/lua-markdown.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 bed84231bb48322f8e614b4392181c52c36bc71340f9273e0c3bd72dc922bc07 markdown-0.33-1.src.rock -sha256 c13c5634db49d16c87f164ce0b79fb7e1b313c8b66818ebf1c970747a429b39b markdown/LICENSE +sha256 bed84231bb48322f8e614b4392181c52c36bc71340f9273e0c3bd72dc922bc07 markdown-0.33-1.src.rock +sha256 c13c5634db49d16c87f164ce0b79fb7e1b313c8b66818ebf1c970747a429b39b markdown/LICENSE diff --git a/package/lua-messagepack/lua-messagepack.hash b/package/lua-messagepack/lua-messagepack.hash index a550a190f..5c8dd5936 100644 --- a/package/lua-messagepack/lua-messagepack.hash +++ b/package/lua-messagepack/lua-messagepack.hash @@ -1,4 +1,4 @@ # computed by luarocks/buildroot -sha256 cbb1b7b12834b7f49fd20621446ec4d76eff67d324b8182b7988324b10830a43 lua-messagepack-0.5.2-1.src.rock -sha256 b3b3d8c3d28a4d4f26404cdb7d7d9329e2e831ea2dd2c6b119d958ed113579b2 lua-messagepack-lua53-0.5.2-1.src.rock -sha256 709fd93a7dd6f8e941e7f0cb9e3eeba1f4de375302f1b19e14bb51aff23c5970 lua-MessagePack-0.5.2/COPYRIGHT +sha256 cbb1b7b12834b7f49fd20621446ec4d76eff67d324b8182b7988324b10830a43 lua-messagepack-0.5.2-1.src.rock +sha256 b3b3d8c3d28a4d4f26404cdb7d7d9329e2e831ea2dd2c6b119d958ed113579b2 lua-messagepack-lua53-0.5.2-1.src.rock +sha256 709fd93a7dd6f8e941e7f0cb9e3eeba1f4de375302f1b19e14bb51aff23c5970 lua-MessagePack-0.5.2/COPYRIGHT diff --git a/package/lua-periphery/lua-periphery.hash b/package/lua-periphery/lua-periphery.hash index b87cfbbc6..d1331a489 100644 --- a/package/lua-periphery/lua-periphery.hash +++ b/package/lua-periphery/lua-periphery.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 ff8a4d08f02356586fadfe47f01859ba28539cc42013836f79a032bf4ccc78b3 lua-periphery-1.1.1-1.src.rock -sha256 7c60847b46f718e9651d1eca2f56bf6be09608cf08d130446a521eb8288c98e1 lua-periphery/LICENSE +sha256 ff8a4d08f02356586fadfe47f01859ba28539cc42013836f79a032bf4ccc78b3 lua-periphery-1.1.1-1.src.rock +sha256 7c60847b46f718e9651d1eca2f56bf6be09608cf08d130446a521eb8288c98e1 lua-periphery/LICENSE diff --git a/package/lua-resty-http/lua-resty-http.hash b/package/lua-resty-http/lua-resty-http.hash index 4aacc097c..19547e6c1 100644 --- a/package/lua-resty-http/lua-resty-http.hash +++ b/package/lua-resty-http/lua-resty-http.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 df913a055ddc2f029017602732c7a497225f4e0df1bcc6858e13f9f4d9524184 lua-resty-http-0.15-0.src.rock -sha256 407e4b1412d8afa317dc703a1d318866c3de87d78899402125cbd90548c6057d lua-resty-http/LICENSE +sha256 df913a055ddc2f029017602732c7a497225f4e0df1bcc6858e13f9f4d9524184 lua-resty-http-0.15-0.src.rock +sha256 407e4b1412d8afa317dc703a1d318866c3de87d78899402125cbd90548c6057d lua-resty-http/LICENSE diff --git a/package/lua-rotas/lua-rotas.hash b/package/lua-rotas/lua-rotas.hash index 2633f3b72..037844e9f 100644 --- a/package/lua-rotas/lua-rotas.hash +++ b/package/lua-rotas/lua-rotas.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 a947026be3552cbf676a0cef36a618111712257d306cbd9d340ed8895a4cbd2b lua-rotas-0.2.1-1.src.rock -sha256 ac8bb87b7b5e803ae27510b9c6fd284f1b00e741258bc59fc78d3bc107d96fbb lua-Rotas-0.2.1/COPYRIGHT +sha256 a947026be3552cbf676a0cef36a618111712257d306cbd9d340ed8895a4cbd2b lua-rotas-0.2.1-1.src.rock +sha256 ac8bb87b7b5e803ae27510b9c6fd284f1b00e741258bc59fc78d3bc107d96fbb lua-Rotas-0.2.1/COPYRIGHT diff --git a/package/lua-sailor/lua-sailor.hash b/package/lua-sailor/lua-sailor.hash index aec00afe5..36aa88979 100644 --- a/package/lua-sailor/lua-sailor.hash +++ b/package/lua-sailor/lua-sailor.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 4f7f43a7cf6c62712a521ebaf5f53aaf230039c7fb06480ae168c3aa036120bf sailor-0.5-4.src.rock -sha256 3a19bc44e1a653b39bcb1b91cc8058ac6b1cd1caf7e6cef93517fd559b189065 sailor/LICENSE +sha256 4f7f43a7cf6c62712a521ebaf5f53aaf230039c7fb06480ae168c3aa036120bf sailor-0.5-4.src.rock +sha256 3a19bc44e1a653b39bcb1b91cc8058ac6b1cd1caf7e6cef93517fd559b189065 sailor/LICENSE diff --git a/package/lua-silva/lua-silva.hash b/package/lua-silva/lua-silva.hash index bcd0d3071..418c3e9e4 100644 --- a/package/lua-silva/lua-silva.hash +++ b/package/lua-silva/lua-silva.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 0e656c42c71b64285d4a375fa7b8b1a910b05c4ab6d30f5b427b078fff204e1f lua-silva-0.1.8-1.src.rock -sha256 5b59ffbfc12d9d1cb907dd65b0f16d3453e1a43cc018c6128a00b00e08f6c485 lua-Silva-0.1.8/COPYRIGHT +sha256 0e656c42c71b64285d4a375fa7b8b1a910b05c4ab6d30f5b427b078fff204e1f lua-silva-0.1.8-1.src.rock +sha256 5b59ffbfc12d9d1cb907dd65b0f16d3453e1a43cc018c6128a00b00e08f6c485 lua-Silva-0.1.8/COPYRIGHT diff --git a/package/lua-std-debug/lua-std-debug.hash b/package/lua-std-debug/lua-std-debug.hash index 3e94b40a9..8e4bc69f2 100644 --- a/package/lua-std-debug/lua-std-debug.hash +++ b/package/lua-std-debug/lua-std-debug.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 7f6b84283d4b78dafee17e7765dd5f1f8e75c3314169977f4dda0e7873616ce2 std._debug-1.0.1-1.src.rock -sha256 034abdbbe9a13899c813509776d1e04af81bc58c2982b704c8b3663549504a31 _debug-1.0.1/LICENSE.md +sha256 7f6b84283d4b78dafee17e7765dd5f1f8e75c3314169977f4dda0e7873616ce2 std._debug-1.0.1-1.src.rock +sha256 034abdbbe9a13899c813509776d1e04af81bc58c2982b704c8b3663549504a31 _debug-1.0.1/LICENSE.md diff --git a/package/lua-std-normalize/lua-std-normalize.hash b/package/lua-std-normalize/lua-std-normalize.hash index 84cdfca42..41a91f1ef 100644 --- a/package/lua-std-normalize/lua-std-normalize.hash +++ b/package/lua-std-normalize/lua-std-normalize.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 3a040b6ca43297367c527e12c1aab37acab86289f9415ffb130544c48b17f802 std.normalize-2.0.3-1.src.rock -sha256 9c9094f0cea86c2c62b893e59a78d5eaed69df0d7da24e122ef9753baeef0f04 normalize-2.0.3/LICENSE.md +sha256 3a040b6ca43297367c527e12c1aab37acab86289f9415ffb130544c48b17f802 std.normalize-2.0.3-1.src.rock +sha256 9c9094f0cea86c2c62b893e59a78d5eaed69df0d7da24e122ef9753baeef0f04 normalize-2.0.3/LICENSE.md diff --git a/package/lua-stdlib/lua-stdlib.hash b/package/lua-stdlib/lua-stdlib.hash index 68f4d2412..c6c7c656f 100644 --- a/package/lua-stdlib/lua-stdlib.hash +++ b/package/lua-stdlib/lua-stdlib.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 67eadaccbb2b6037ea70129f9616da49eaeeaf1477652a8e2cc77740286531cf stdlib-41.2.2-1.src.rock -sha256 d3177e0cd97e6ef7c459aa2c6a85f53d9b4ff091f7f296d4ed8bfaf713b6fea2 lua-stdlib-release-v41.2.2/COPYING +sha256 67eadaccbb2b6037ea70129f9616da49eaeeaf1477652a8e2cc77740286531cf stdlib-41.2.2-1.src.rock +sha256 d3177e0cd97e6ef7c459aa2c6a85f53d9b4ff091f7f296d4ed8bfaf713b6fea2 lua-stdlib-release-v41.2.2/COPYING diff --git a/package/lua-testmore/lua-testmore.hash b/package/lua-testmore/lua-testmore.hash index 4ff577e52..1f435709f 100644 --- a/package/lua-testmore/lua-testmore.hash +++ b/package/lua-testmore/lua-testmore.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 b3e57955888aba3974d6f5a21219214e2803a38e4623671f7d9d9e0f1851e608 lua-testmore-0.3.6-1.src.rock -sha256 37a3afb014325b98f0ad919cb40bc9d5a948120e5260e75b9d00c198d350da6d lua-TestMore-0.3.6/COPYRIGHT +sha256 b3e57955888aba3974d6f5a21219214e2803a38e4623671f7d9d9e0f1851e608 lua-testmore-0.3.6-1.src.rock +sha256 37a3afb014325b98f0ad919cb40bc9d5a948120e5260e75b9d00c198d350da6d lua-TestMore-0.3.6/COPYRIGHT diff --git a/package/lua-utf8/lua-utf8.hash b/package/lua-utf8/lua-utf8.hash index 135574f36..b6720b360 100644 --- a/package/lua-utf8/lua-utf8.hash +++ b/package/lua-utf8/lua-utf8.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 88c456bc0f00d28201b33551d83fa6e5c3ae6025aebec790c37afb317290e4fa luautf8-0.1.3-1.src.rock -sha256 74506285923bcc3e58aaca1b774db26461021783d02b2dc26bafcaa02ef7a00b luautf8-0.1.3/LICENSE +sha256 88c456bc0f00d28201b33551d83fa6e5c3ae6025aebec790c37afb317290e4fa luautf8-0.1.3-1.src.rock +sha256 74506285923bcc3e58aaca1b774db26461021783d02b2dc26bafcaa02ef7a00b luautf8-0.1.3/LICENSE diff --git a/package/lua-valua/lua-valua.hash b/package/lua-valua/lua-valua.hash index 71d43e4fa..d4b1d4758 100644 --- a/package/lua-valua/lua-valua.hash +++ b/package/lua-valua/lua-valua.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 bff39692fd2ac3590fd814aa1b1ca33e5d5971092955309aa8424b02b88ce1a3 valua-0.3-1.src.rock -sha256 3444c2e739c88e41e327c6cd15e4a50fea8988570642bad6e6a43d50a7f7961f valua/LICENSE +sha256 bff39692fd2ac3590fd814aa1b1ca33e5d5971092955309aa8424b02b88ce1a3 valua-0.3-1.src.rock +sha256 3444c2e739c88e41e327c6cd15e4a50fea8988570642bad6e6a43d50a7f7961f valua/LICENSE diff --git a/package/lua-zlib/lua-zlib.hash b/package/lua-zlib/lua-zlib.hash index 8c108b39a..cef29efb1 100644 --- a/package/lua-zlib/lua-zlib.hash +++ b/package/lua-zlib/lua-zlib.hash @@ -1,2 +1,2 @@ # computed by luarocks/buildroot -sha256 42436ba2b78c9a2d515d6da59ceb12cdea7f84c9ce3c859d91addb42badd4061 lua-zlib-1.2-0.src.rock +sha256 42436ba2b78c9a2d515d6da59ceb12cdea7f84c9ce3c859d91addb42badd4061 lua-zlib-1.2-0.src.rock diff --git a/package/lua/Config.in b/package/lua/Config.in index 309dd6eec..8fa9f9b7a 100644 --- a/package/lua/Config.in +++ b/package/lua/Config.in @@ -14,6 +14,7 @@ config BR2_PACKAGE_PROVIDES_LUAINTERPRETER choice prompt "Lua Version" + default BR2_PACKAGE_LUA_5_3 if BR2_PACKAGE_LUA_5_2 # legacy default BR2_PACKAGE_LUA_5_4 help Select the version of Lua API/ABI you wish to use. diff --git a/package/luadbi-sqlite3/luadbi-sqlite3.hash b/package/luadbi-sqlite3/luadbi-sqlite3.hash index 3e865df30..4096fbb26 100644 --- a/package/luadbi-sqlite3/luadbi-sqlite3.hash +++ b/package/luadbi-sqlite3/luadbi-sqlite3.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 c5b043db43941a3c6e43d3e3699236846ed6d03a6c4cb12fa1a497f965138d9f luadbi-sqlite3-0.7.2-1.src.rock -sha256 988d73cc2e56f972e8177091e084855fc2904d0fafcfe5c4e02864f25ce2b928 luadbi/COPYING +sha256 c5b043db43941a3c6e43d3e3699236846ed6d03a6c4cb12fa1a497f965138d9f luadbi-sqlite3-0.7.2-1.src.rock +sha256 988d73cc2e56f972e8177091e084855fc2904d0fafcfe5c4e02864f25ce2b928 luadbi/COPYING diff --git a/package/luadbi/luadbi.hash b/package/luadbi/luadbi.hash index 07a9cc218..e142f5e62 100644 --- a/package/luadbi/luadbi.hash +++ b/package/luadbi/luadbi.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 9ebbbaf4ea1f48628341e9ff3c1de10a57200c02453734f41b8016b0fc7b4956 luadbi-0.7.2-1.src.rock -sha256 988d73cc2e56f972e8177091e084855fc2904d0fafcfe5c4e02864f25ce2b928 luadbi/COPYING +sha256 9ebbbaf4ea1f48628341e9ff3c1de10a57200c02453734f41b8016b0fc7b4956 luadbi-0.7.2-1.src.rock +sha256 988d73cc2e56f972e8177091e084855fc2904d0fafcfe5c4e02864f25ce2b928 luadbi/COPYING diff --git a/package/luaexpat/luaexpat.hash b/package/luaexpat/luaexpat.hash index dd1cf40e5..03c914bc8 100644 --- a/package/luaexpat/luaexpat.hash +++ b/package/luaexpat/luaexpat.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 b55908fcd7df490a59aab25284460add8283f1c6b94ab584900fe3e49775172a luaexpat-1.3.3-1.src.rock -sha256 7f5cb0c1750babcbb09637b7f0ff34972d51cf23b7f413bef902b47aa65febcd luaexpat-1.3.3/LICENSE +sha256 b55908fcd7df490a59aab25284460add8283f1c6b94ab584900fe3e49775172a luaexpat-1.3.3-1.src.rock +sha256 7f5cb0c1750babcbb09637b7f0ff34972d51cf23b7f413bef902b47aa65febcd luaexpat-1.3.3/LICENSE diff --git a/package/luaexpatutils/luaexpatutils.hash b/package/luaexpatutils/luaexpatutils.hash index fe32eea12..8b6befc94 100644 --- a/package/luaexpatutils/luaexpatutils.hash +++ b/package/luaexpatutils/luaexpatutils.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 9b50bef94a6ddb6e6d4fffd5392f5c53d15e1a048966b559c4f8eda5e84d4517 luaexpatutils-88c228365b084224c911d34aff06002634b38b50.tar.gz +sha256 9b50bef94a6ddb6e6d4fffd5392f5c53d15e1a048966b559c4f8eda5e84d4517 luaexpatutils-88c228365b084224c911d34aff06002634b38b50.tar.gz diff --git a/package/luafilesystem/luafilesystem.hash b/package/luafilesystem/luafilesystem.hash index 747b98480..cbe38294b 100644 --- a/package/luafilesystem/luafilesystem.hash +++ b/package/luafilesystem/luafilesystem.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 576270a55752894254c2cba0d49d73595d37ec4ea8a75e557fdae7aff80e19cf luafilesystem-1.8.0-1.src.rock -sha256 beb2c9eed6466d572c3888028a77421206053a3c023429cbd69e5015badba842 luafilesystem/LICENSE +sha256 576270a55752894254c2cba0d49d73595d37ec4ea8a75e557fdae7aff80e19cf luafilesystem-1.8.0-1.src.rock +sha256 beb2c9eed6466d572c3888028a77421206053a3c023429cbd69e5015badba842 luafilesystem/LICENSE diff --git a/package/luajit/Config.in b/package/luajit/Config.in index 3111a2548..31e9e0243 100644 --- a/package/luajit/Config.in +++ b/package/luajit/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS bool - default y if BR2_arm || BR2_armeb || BR2_aarch64 + default y if BR2_arm || BR2_aarch64 || BR2_aarch64_be default y if BR2_i386 || BR2_x86_64 default y if (BR2_mips || BR2_mipsel) && !BR2_MIPS_SOFT_FLOAT \ && !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6 @@ -14,6 +14,8 @@ config BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS config BR2_PACKAGE_LUAJIT bool "luajit" depends on !BR2_STATIC_LIBS # dlopen + # Luajit conflicts with the regular lua package + depends on !BR2_PACKAGE_LUA # Luajit is only available for some target architectures, and # has some complexity wrt 32/64. See luajit.mk for details. depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS diff --git a/package/luajson/luajson.hash b/package/luajson/luajson.hash index 3b7885aa7..ea779994d 100644 --- a/package/luajson/luajson.hash +++ b/package/luajson/luajson.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 28a5928cf2e4fd79fa9a9aceaef5ebf1dccb1146489b7de4c2726f561700f01c luajson-1.3.4-1.src.rock -sha256 87565fca189b70f2e119b2a99e5e92a7aaab9f2eb05228b56b88e6c2e2f98bcd luajson/LICENSE +sha256 28a5928cf2e4fd79fa9a9aceaef5ebf1dccb1146489b7de4c2726f561700f01c luajson-1.3.4-1.src.rock +sha256 87565fca189b70f2e119b2a99e5e92a7aaab9f2eb05228b56b88e6c2e2f98bcd luajson/LICENSE diff --git a/package/lualdap/lualdap.hash b/package/lualdap/lualdap.hash index a65260b13..15ca840f1 100644 --- a/package/lualdap/lualdap.hash +++ b/package/lualdap/lualdap.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 49c253f540187c61850c856b8e70e45dca904b81720a760f6a94e4eb474958ad lualdap-1.3.0-1.src.rock -sha256 b9b75da18d1e1147ec47bff508ffdce831da07dc371891b9057cf1c422660af4 lualdap/docs/license.md +sha256 49c253f540187c61850c856b8e70e45dca904b81720a760f6a94e4eb474958ad lualdap-1.3.0-1.src.rock +sha256 b9b75da18d1e1147ec47bff508ffdce831da07dc371891b9057cf1c422660af4 lualdap/docs/license.md diff --git a/package/lualogging/lualogging.hash b/package/lualogging/lualogging.hash index 294ef95ad..1fc8694e8 100644 --- a/package/lualogging/lualogging.hash +++ b/package/lualogging/lualogging.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 d29c9c78e4266d9390069b2a5f7afacfcf9189dea12ce3774a5aa4e3cdbcd89f lualogging-1.6.0-1.src.rock -sha256 4d95b123e667a13615f567a829aa39211dd55b0b48c9f247bf3fcc5c0b485da7 lualogging/COPYRIGHT +sha256 d29c9c78e4266d9390069b2a5f7afacfcf9189dea12ce3774a5aa4e3cdbcd89f lualogging-1.6.0-1.src.rock +sha256 4d95b123e667a13615f567a829aa39211dd55b0b48c9f247bf3fcc5c0b485da7 lualogging/COPYRIGHT diff --git a/package/luaossl/luaossl.hash b/package/luaossl/luaossl.hash index c8fa7942e..f98868b7c 100644 --- a/package/luaossl/luaossl.hash +++ b/package/luaossl/luaossl.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 ea6d624e557939e30b93355dd1dc11465e81aa38a5542ab3c04b48608ac3cd78 luaossl-20200709-0.src.rock -sha256 7bd585fba3ae52943e0915e4c8ca049acde9f1e5cea101ef6b294427c8f0ee7d luaossl-rel-20200709/LICENSE +sha256 ea6d624e557939e30b93355dd1dc11465e81aa38a5542ab3c04b48608ac3cd78 luaossl-20200709-0.src.rock +sha256 7bd585fba3ae52943e0915e4c8ca049acde9f1e5cea101ef6b294427c8f0ee7d luaossl-rel-20200709/LICENSE diff --git a/package/luasec/luasec.hash b/package/luasec/luasec.hash index 1ea422aa9..1e381612b 100644 --- a/package/luasec/luasec.hash +++ b/package/luasec/luasec.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 b7e18f475c64896fe4921d367adabae765914f7526a68487a5fa6831040e7138 luasec-1.0-1.src.rock -sha256 0d3431dad143f41c8902e4ee867e386a702ebad856c45239fb86460e27dabfbf luasec/LICENSE +sha256 7ed5d08aad8f0e8659abb3f43c935da1c898474d4dc121e9edfbeae5c4c67fb0 luasec-1.0.2-1.src.rock +sha256 84376baf33cefbcc1e9adbca23fcf87f51c1107956660cda2880feaef86d6075 luasec/LICENSE diff --git a/package/luasec/luasec.mk b/package/luasec/luasec.mk index 3ef0c14da..4ace94d16 100644 --- a/package/luasec/luasec.mk +++ b/package/luasec/luasec.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUASEC_VERSION = 1.0-1 +LUASEC_VERSION = 1.0.2-1 LUASEC_SUBDIR = luasec LUASEC_LICENSE = MIT LUASEC_LICENSE_FILES = $(LUASEC_SUBDIR)/LICENSE diff --git a/package/luasocket/luasocket.hash b/package/luasocket/luasocket.hash index 843647b27..a1c26be9d 100644 --- a/package/luasocket/luasocket.hash +++ b/package/luasocket/luasocket.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 453fc1d0e9b6a44bbada4290d565f840a5e96ba2d1b47562ba38bd9c7e82195a luasocket-3.0rc1-1.src.rock -sha256 8e8c6314d9e78fe452ee355167f2c40cfbee8207e14dcb5ddd4a2655cb5c6aad luasocket-3.0-rc1/LICENSE +sha256 453fc1d0e9b6a44bbada4290d565f840a5e96ba2d1b47562ba38bd9c7e82195a luasocket-3.0rc1-1.src.rock +sha256 8e8c6314d9e78fe452ee355167f2c40cfbee8207e14dcb5ddd4a2655cb5c6aad luasocket-3.0-rc1/LICENSE diff --git a/package/luasql-sqlite3/luasql-sqlite3.hash b/package/luasql-sqlite3/luasql-sqlite3.hash index 5406d9454..f8c737655 100644 --- a/package/luasql-sqlite3/luasql-sqlite3.hash +++ b/package/luasql-sqlite3/luasql-sqlite3.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 502faabc5e06c1d7c1ddb9a0550eb19220020c86b9f1e26a2cc2001e1343b35d luasql-sqlite3-2.4.0-1.src.rock -sha256 c8bb3a3947379addb89412e578d0aae95ca37dc6e48a17e128f40e512d10b025 luasql/doc/us/license.html +sha256 502faabc5e06c1d7c1ddb9a0550eb19220020c86b9f1e26a2cc2001e1343b35d luasql-sqlite3-2.4.0-1.src.rock +sha256 c8bb3a3947379addb89412e578d0aae95ca37dc6e48a17e128f40e512d10b025 luasql/doc/us/license.html diff --git a/package/luasyslog/0002-build-ax_lua.m4-fix-cross-compilation.patch b/package/luasyslog/0002-build-ax_lua.m4-fix-cross-compilation.patch new file mode 100644 index 000000000..ac7c1d97e --- /dev/null +++ b/package/luasyslog/0002-build-ax_lua.m4-fix-cross-compilation.patch @@ -0,0 +1,45 @@ +From aed16d13d881492e8558f9da21be2dffc4ab2c33 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 4 Sep 2021 17:23:58 +0200 +Subject: [PATCH] build/ax_lua.m4: fix cross-compilation + +Don't try to "find" and "fix" the script and module directories when +cross-compiling as this will give unexpected results such as using +${prefix}/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/host/usr/share/lua/5.3 +instead of +${prefix}/share/lua/5.3 +if the host machine root directory is /usr + +Fixes: + - http://autobuild.buildroot.org/results/09fa6dd9844d6d4694801ec59434dad7a56bf290 + +Signed-off-by: Fabrice Fontaine +--- + build/ax_lua.m4 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/build/ax_lua.m4 b/build/ax_lua.m4 +index 23ca774..7c25cfd 100644 +--- a/build/ax_lua.m4 ++++ b/build/ax_lua.m4 +@@ -291,7 +291,7 @@ AC_DEFUN([AX_PROG_LUA], + + dnl Try to find a path with the prefix. + _AX_LUA_FND_PRFX_PTH([$LUA], [$ax_lua_prefix], [package.path]) +- AS_IF([test "x$ax_lua_prefixed_path" != 'x'], ++ AS_IF([test "x$ax_lua_prefixed_path" != 'x' && test "x$cross_compiling" != 'xyes'], + [ dnl Fix the prefix. + _ax_strip_prefix=`echo "$ax_lua_prefix" | sed 's|.|.|g'` + ax_cv_lua_luadir=`echo "$ax_lua_prefixed_path" | \ +@@ -318,7 +318,7 @@ AC_DEFUN([AX_PROG_LUA], + dnl Try to find a path with the prefix. + _AX_LUA_FND_PRFX_PTH([$LUA], + [$ax_lua_exec_prefix], [package.cpathd]) +- AS_IF([test "x$ax_lua_prefixed_path" != 'x'], ++ AS_IF([test "x$ax_lua_prefixed_path" != 'x' && test "x$cross_compiling" != 'xyes'], + [ dnl Fix the prefix. + _ax_strip_prefix=`echo "$ax_lua_exec_prefix" | sed 's|.|.|g'` + ax_cv_lua_luaexecdir=`echo "$ax_lua_prefixed_path" | \ +-- +2.32.0 + diff --git a/package/luksmeta/luksmeta.hash b/package/luksmeta/luksmeta.hash index 7e252294b..b367f29a5 100644 --- a/package/luksmeta/luksmeta.hash +++ b/package/luksmeta/luksmeta.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 2ca0c35b551b331ba1444fc9d36e8c48ff8cae53dd4e6155b028e8904edc202a luksmeta-9.tar.bz2 -sha256 4b72eb6b5a336cd3ec837cc2d6347c23bf7574168db6b4802267700b93021abf COPYING +sha256 2ca0c35b551b331ba1444fc9d36e8c48ff8cae53dd4e6155b028e8904edc202a luksmeta-9.tar.bz2 +sha256 4b72eb6b5a336cd3ec837cc2d6347c23bf7574168db6b4802267700b93021abf COPYING diff --git a/package/lvm2/lvm2.hash b/package/lvm2/lvm2.hash index c52eaee1e..126748d33 100644 --- a/package/lvm2/lvm2.hash +++ b/package/lvm2/lvm2.hash @@ -1,4 +1,4 @@ -# From http://sources.redhat.com/pub/lvm2/sha512.sum +# From https://sourceware.org/ftp/lvm2/sha512.sum sha512 6a93bed1d5cf36f0f48d4d413d028b0e480cd4fc20e25d173770a892f265d2a0cc68d01a720b1513469953649e989532cd0c45f9538f92a4190eb3dc4555857d LVM2.2.03.14.tgz # Locally computed sha256 checksums sha256 e76fbcd2fb97cf202da330301327754d2db5c58b5b4bebd3a8a749393e7603d1 COPYING diff --git a/package/lvm2/lvm2.mk b/package/lvm2/lvm2.mk index 89fdf2c1b..9caf99eb9 100644 --- a/package/lvm2/lvm2.mk +++ b/package/lvm2/lvm2.mk @@ -6,7 +6,7 @@ LVM2_VERSION = 2.03.14 LVM2_SOURCE = LVM2.$(LVM2_VERSION).tgz -LVM2_SITE = http://sources.redhat.com/pub/lvm2 +LVM2_SITE = https://sourceware.org/ftp/lvm2 LVM2_INSTALL_STAGING = YES LVM2_LICENSE = GPL-2.0, LGPL-2.1 LVM2_LICENSE_FILES = COPYING COPYING.LIB diff --git a/package/lxc/0005-Patching-an-incoming-CVE-CVE-2022-47952.patch b/package/lxc/0005-Patching-an-incoming-CVE-CVE-2022-47952.patch new file mode 100644 index 000000000..071734848 --- /dev/null +++ b/package/lxc/0005-Patching-an-incoming-CVE-CVE-2022-47952.patch @@ -0,0 +1,73 @@ +From 1b0469530d7a38b8f8990e114b52530d1bf7f3b8 Mon Sep 17 00:00:00 2001 +From: Maher Azzouzi +Date: Sun, 25 Dec 2022 13:50:25 +0100 +Subject: [PATCH] Patching an incoming CVE (CVE-2022-47952) + +lxc-user-nic in lxc through 5.0.1 is installed setuid root, and may +allow local users to infer whether any file exists, even within a +protected directory tree, because "Failed to open" often indicates +that a file does not exist, whereas "does not refer to a network +namespace path" often indicates that a file exists. NOTE: this is +different from CVE-2018-6556 because the CVE-2018-6556 fix design was +based on the premise that "we will report back to the user that the +open() failed but the user has no way of knowing why it failed"; +however, in many realistic cases, there are no plausible reasons for +failing except that the file does not exist. + +PoC: +> % ls /l +> ls: cannot open directory '/l': Permission denied +> % /usr/lib/x86_64-linux-gnu/lxc/lxc-user-nic delete lol lol /l/h/tt h h +> cmd/lxc_user_nic.c: 1096: main: Failed to open "/l/h/tt" <----- file does not exist. +> % /usr/lib/x86_64-linux-gnu/lxc/lxc-user-nic delete lol lol /l/h/t h h +> cmd/lxc_user_nic.c: 1101: main: Path "/l/h/t" does not refer to a network namespace path <---- file exist! + +Signed-off-by: MaherAzzouzi +Acked-by: Serge Hallyn + +[Retrieved from: +https://github.com/lxc/lxc/commit/1b0469530d7a38b8f8990e114b52530d1bf7f3b8] +Signed-off-by: Fabrice Fontaine +--- + src/lxc/cmd/lxc_user_nic.c | 15 ++++++--------- + 1 file changed, 6 insertions(+), 9 deletions(-) + +diff --git a/src/lxc/cmd/lxc_user_nic.c b/src/lxc/cmd/lxc_user_nic.c +index a91e2259d5..69bc6f17d1 100644 +--- a/src/lxc/cmd/lxc_user_nic.c ++++ b/src/lxc/cmd/lxc_user_nic.c +@@ -1085,20 +1085,17 @@ int main(int argc, char *argv[]) + } else if (request == LXC_USERNIC_DELETE) { + char opath[LXC_PROC_PID_FD_LEN]; + +- /* Open the path with O_PATH which will not trigger an actual +- * open(). Don't report an errno to the caller to not leak +- * information whether the path exists or not. +- * When stracing setuid is stripped so this is not a concern +- * either. +- */ ++ // Keep in mind CVE-2022-47952: It's crucial not to leak any ++ // information whether open() succeeded of failed. ++ + netns_fd = open(args.pid, O_PATH | O_CLOEXEC); + if (netns_fd < 0) { +- usernic_error("Failed to open \"%s\"\n", args.pid); ++ usernic_error("Failed while opening netns file for \"%s\"\n", args.pid); + _exit(EXIT_FAILURE); + } + + if (!fhas_fs_type(netns_fd, NSFS_MAGIC)) { +- usernic_error("Path \"%s\" does not refer to a network namespace path\n", args.pid); ++ usernic_error("Failed while opening netns file for \"%s\"\n", args.pid); + close(netns_fd); + _exit(EXIT_FAILURE); + } +@@ -1112,7 +1109,7 @@ int main(int argc, char *argv[]) + /* Now get an fd that we can use in setns() calls. */ + ret = open(opath, O_RDONLY | O_CLOEXEC); + if (ret < 0) { +- CMD_SYSERROR("Failed to open \"%s\"\n", args.pid); ++ CMD_SYSERROR("Failed while opening netns file for \"%s\"\n", args.pid); + close(netns_fd); + _exit(EXIT_FAILURE); + } diff --git a/package/lxc/lxc.hash b/package/lxc/lxc.hash index 2b58df2f1..d460bc6a0 100644 --- a/package/lxc/lxc.hash +++ b/package/lxc/lxc.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 afa481e17ca9a9cf9fd3d2d7a04e42a8f6bfe60b323909326c968e852cd9f02c lxc-4.0.11.tar.gz +sha256 db242f8366fc63e8c7588bb2017b354173cf3c4b20abc18780debdc48b14d3ef lxc-4.0.12.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE.GPL2 sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL2.1 diff --git a/package/lxc/lxc.mk b/package/lxc/lxc.mk index 08f64bcec..8fdb6855d 100644 --- a/package/lxc/lxc.mk +++ b/package/lxc/lxc.mk @@ -4,7 +4,7 @@ # ################################################################################ -LXC_VERSION = 4.0.11 +LXC_VERSION = 4.0.12 LXC_SITE = https://linuxcontainers.org/downloads/lxc LXC_LICENSE = GPL-2.0 (some tools), LGPL-2.1+ LXC_LICENSE_FILES = LICENSE.GPL2 LICENSE.LGPL2.1 @@ -12,6 +12,9 @@ LXC_CPE_ID_VENDOR = linuxcontainers LXC_DEPENDENCIES = host-pkgconf LXC_INSTALL_STAGING = YES +# 0005-Patching-an-incoming-CVE-CVE-2022-47952.patch +LXC_IGNORE_CVES += CVE-2022-47952 + LXC_CONF_OPTS = \ --disable-apparmor \ --disable-examples \ @@ -51,6 +54,13 @@ else LXC_CONF_OPTS += --disable-liburing endif +ifeq ($(BR2_PACKAGE_LINUX_PAM),y) +LXC_CONF_OPTS += --enable-pam +LXC_DEPENDENCIES += linux-pam +else +LXC_CONF_OPTS += --disable-pam +endif + ifeq ($(BR2_PACKAGE_OPENSSL),y) LXC_CONF_OPTS += --enable-openssl LXC_DEPENDENCIES += openssl diff --git a/package/lz4/0001-Fix-potential-memory-corruption-with-negative-memmov.patch b/package/lz4/0001-Fix-potential-memory-corruption-with-negative-memmov.patch deleted file mode 100644 index 57e4e38f8..000000000 --- a/package/lz4/0001-Fix-potential-memory-corruption-with-negative-memmov.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 8301a21773ef61656225e264f4f06ae14462bca7 Mon Sep 17 00:00:00 2001 -From: Jasper Lievisse Adriaanse -Date: Fri, 26 Feb 2021 15:21:20 +0100 -Subject: [PATCH] Fix potential memory corruption with negative memmove() size - -Signed-off-by: Peter Korsgaard ---- - lib/lz4.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/lz4.c b/lib/lz4.c -index 5f524d0..c2f504e 100644 ---- a/lib/lz4.c -+++ b/lib/lz4.c -@@ -1749,7 +1749,7 @@ LZ4_decompress_generic( - const size_t dictSize /* note : = 0 if noDict */ - ) - { -- if (src == NULL) { return -1; } -+ if ((src == NULL) || (outputSize < 0)) { return -1; } - - { const BYTE* ip = (const BYTE*) src; - const BYTE* const iend = ip + srcSize; --- -2.20.1 - diff --git a/package/lz4/0001-build-Support-BUILD_SHARED-no.patch b/package/lz4/0001-build-Support-BUILD_SHARED-no.patch new file mode 100644 index 000000000..d2d8639a3 --- /dev/null +++ b/package/lz4/0001-build-Support-BUILD_SHARED-no.patch @@ -0,0 +1,42 @@ +From 5ccbd38277989ae6a728171d59ae03bad6f2f4d5 Mon Sep 17 00:00:00 2001 +From: Fotis Xenakis +Date: Tue, 13 Sep 2022 20:09:36 +0300 +Subject: [PATCH] build: Support BUILD_SHARED=no + +Since e585a438c714652e866a59371b287f52aa4d2dc3, the BUILD_SHARED +Makefile variable only takes effect for the install target (i.e. the +shared libraries always built). This restores the original behaviour. + +[Retrieved from: +https://github.com/lz4/lz4/commit/5ccbd38277989ae6a728171d59ae03bad6f2f4d5] +Signed-off-by: Fabrice Fontaine +--- + lib/Makefile | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/lib/Makefile b/lib/Makefile +index 06503cb2a..ee262c0df 100644 +--- a/lib/Makefile ++++ b/lib/Makefile +@@ -112,17 +112,21 @@ liblz4-dll.o: liblz4-dll.rc + $(WINDRES) -i liblz4-dll.rc -o liblz4-dll.o + + $(LIBLZ4): $(SRCFILES) liblz4-dll.o ++ifeq ($(BUILD_SHARED),yes) + @echo compiling dynamic library $(LIBVER) + $(CC) $(FLAGS) -DLZ4_DLL_EXPORT=1 -shared $^ -o dll/$@.dll -Wl,--out-implib,dll/$(LIBLZ4_EXP) ++endif + + else # not windows + + $(LIBLZ4): $(SRCFILES) ++ifeq ($(BUILD_SHARED),yes) + @echo compiling dynamic library $(LIBVER) + $(CC) $(FLAGS) -shared $^ -fPIC -fvisibility=hidden $(SONAME_FLAGS) -o $@ + @echo creating versioned links + $(LN_SF) $@ liblz4.$(SHARED_EXT_MAJOR) + $(LN_SF) $@ liblz4.$(SHARED_EXT) ++endif + + endif + diff --git a/package/lz4/lz4.hash b/package/lz4/lz4.hash index 0b03089ec..04bd118cf 100644 --- a/package/lz4/lz4.hash +++ b/package/lz4/lz4.hash @@ -1,4 +1,4 @@ # sha256 locally computed -sha256 030644df4611007ff7dc962d981f390361e6c97a34e5cbc393ddfbe019ffe2c1 lz4-1.9.3.tar.gz -sha256 d15d99c8dc6b0ec22174c0e563a95bc40f9363ca7f9d9d793bb5c5a8e8d0af71 lib/LICENSE +sha256 0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b lz4-1.9.4.tar.gz +sha256 8b58c446121a109ccf32edc094bba3010a3d85e4ee3702950db55e4d3e87736c lib/LICENSE sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 programs/COPYING diff --git a/package/lz4/lz4.mk b/package/lz4/lz4.mk index 9b9b6198c..5da1ae270 100644 --- a/package/lz4/lz4.mk +++ b/package/lz4/lz4.mk @@ -4,21 +4,12 @@ # ################################################################################ -LZ4_VERSION = 1.9.3 +LZ4_VERSION = 1.9.4 LZ4_SITE = $(call github,lz4,lz4,v$(LZ4_VERSION)) LZ4_INSTALL_STAGING = YES LZ4_LICENSE = BSD-2-Clause (library), GPL-2.0+ (programs) LZ4_LICENSE_FILES = lib/LICENSE programs/COPYING -LZ4_CPE_ID_VENDOR = yann_collet - -# CVE-2014-4715 is misclassified (by our CVE tracker) as affecting version -# 1.9.2, while in fact this issue has been fixed since lz4-r130: -# https://github.com/lz4/lz4/commit/140e6e72ddb6fc5f7cd28ce0c8ec3812ef4a9c08 -# See https://github.com/lz4/lz4/issues/818 -LZ4_IGNORE_CVES += CVE-2014-4715 - -# 0001-Fix-potential-memory-corruption-with-negative-memmov.patch -LZ4_IGNORE_CVES += CVE-2021-3520 +LZ4_CPE_ID_VENDOR = lz4_project ifeq ($(BR2_STATIC_LIBS),y) LZ4_MAKE_OPTS += BUILD_SHARED=no diff --git a/package/lzma/lzma.hash b/package/lzma/lzma.hash index 6055d7d98..940c40e6a 100644 --- a/package/lzma/lzma.hash +++ b/package/lzma/lzma.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 02aa57f995d15b7acb7c2496d88a39fb0124ea00bf027cc61dd24eddb5942dff lzma-4.32.7.tar.xz -sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING.GPLv2 -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.GPLv3 -sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING.LGPLv2.1 +sha256 02aa57f995d15b7acb7c2496d88a39fb0124ea00bf027cc61dd24eddb5942dff lzma-4.32.7.tar.xz +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING.GPLv2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.GPLv3 +sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING.LGPLv2.1 diff --git a/package/lzo/lzo.hash b/package/lzo/lzo.hash index 39a2dd495..6eb9c5053 100644 --- a/package/lzo/lzo.hash +++ b/package/lzo/lzo.hash @@ -1,5 +1,5 @@ # From http://www.oberhumer.com/opensource/lzo/ -sha1 4924676a9bae5db58ef129dc1cebce3baa3c4b5d lzo-2.10.tar.gz +sha1 4924676a9bae5db58ef129dc1cebce3baa3c4b5d lzo-2.10.tar.gz # Locally computed -sha256 c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b4221a072 lzo-2.10.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b4221a072 lzo-2.10.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/lzop/lzop.hash b/package/lzop/lzop.hash index 8496ac218..adc20648b 100644 --- a/package/lzop/lzop.hash +++ b/package/lzop/lzop.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c1425b8c77d49f5a679d5a126c90ea6ad99585a55e335a613cae59e909dbb2c9 lzop-1.03.tar.gz -sha256 70439f6e2b47057a408d2390ed6663b9875f5a08066a06a060a357ef1df89a8c COPYING +sha256 c1425b8c77d49f5a679d5a126c90ea6ad99585a55e335a613cae59e909dbb2c9 lzop-1.03.tar.gz +sha256 70439f6e2b47057a408d2390ed6663b9875f5a08066a06a060a357ef1df89a8c COPYING diff --git a/package/m4/m4.mk b/package/m4/m4.mk index 3a1209297..39ad898b1 100644 --- a/package/m4/m4.mk +++ b/package/m4/m4.mk @@ -9,6 +9,5 @@ M4_SOURCE = m4-$(M4_VERSION).tar.xz M4_SITE = $(BR2_GNU_MIRROR)/m4 M4_LICENSE = GPL-3.0+ M4_LICENSE_FILES = COPYING -HOST_M4_CONF_OPTS = --disable-static $(eval $(host-autotools-package)) diff --git a/package/make/make.hash b/package/make/make.hash index 242cb9564..0bd0e5546 100644 --- a/package/make/make.hash +++ b/package/make/make.hash @@ -1,5 +1,5 @@ # From http://lists.gnu.org/archive/html/info-gnu/2016-06/msg00005.html -md5 15b012617e7c44c0ed482721629577ac make-4.2.1.tar.bz2 +md5 15b012617e7c44c0ed482721629577ac make-4.2.1.tar.bz2 # Locally calculated after checking signature sha256 d6e262bf3601b42d2b1e4ef8310029e1dcf20083c5446b4b7aa67081fdffc589 make-4.2.1.tar.bz2 # Locally computed diff --git a/package/makedevs/makedevs.c b/package/makedevs/makedevs.c index 2796cd5e7..a5c9c7d64 100644 --- a/package/makedevs/makedevs.c +++ b/package/makedevs/makedevs.c @@ -446,11 +446,12 @@ int bb_recursive(const char *fpath, const struct stat *sb, } /* chmod() is optional, also skip if dangling symlink */ - if (recursive_mode != -1 && tflag == FTW_SL && access(fpath, F_OK)) { - if (chmod(fpath, recursive_mode) < 0) { - bb_perror_msg("chmod failed for %s", fpath); - return -1; - } + if (recursive_mode == -1 || (tflag == FTW_SL && !access(fpath, F_OK))) + return 0; + + if (chmod(fpath, recursive_mode) < 0) { + bb_perror_msg("chmod failed for %s", fpath); + return -1; } return 0; diff --git a/package/makedumpfile/makedumpfile.mk b/package/makedumpfile/makedumpfile.mk index 8399e4d06..815a159b0 100644 --- a/package/makedumpfile/makedumpfile.mk +++ b/package/makedumpfile/makedumpfile.mk @@ -17,6 +17,7 @@ MAKEDUMPFILE_TARGET = $(BR2_ARCH) endif MAKEDUMPFILE_MAKE_OPTS = \ + CROSS= \ TARGET=$(MAKEDUMPFILE_TARGET) \ LINKTYPE=dynamic diff --git a/package/mali-driver/Config.in b/package/mali-driver/Config.in index fee67096c..4c1a96d05 100644 --- a/package/mali-driver/Config.in +++ b/package/mali-driver/Config.in @@ -3,6 +3,7 @@ comment "mali-driver needs a Linux kernel to be built" config BR2_PACKAGE_MALI_DRIVER bool "mali-driver" + depends on BR2_aarch64 || BR2_arm depends on BR2_LINUX_KERNEL help This package builds and installs the Linux kernel driver for diff --git a/package/mali-driver/mali-driver.hash b/package/mali-driver/mali-driver.hash index a144d5189..9f2809041 100644 --- a/package/mali-driver/mali-driver.hash +++ b/package/mali-driver/mali-driver.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 76464e5ed55e9d21062cf154733ce61217211172629ec8742af902607f14d41a mali-driver-a742530232d1de41b57465744a1259fa6c35049e.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE +sha256 76464e5ed55e9d21062cf154733ce61217211172629ec8742af902607f14d41a mali-driver-a742530232d1de41b57465744a1259fa6c35049e.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/mali-driver/mali-driver.mk b/package/mali-driver/mali-driver.mk index b12bfec69..480b35843 100644 --- a/package/mali-driver/mali-driver.mk +++ b/package/mali-driver/mali-driver.mk @@ -8,7 +8,7 @@ MALI_DRIVER_VERSION = a742530232d1de41b57465744a1259fa6c35049e MALI_DRIVER_SITE = $(call github,bootlin,mali-driver,$(MALI_DRIVER_VERSION)) MALI_DRIVER_DEPENDENCIES = linux MALI_DRIVER_LICENSE = GPL-2.0 -MALI_DRIVER_LICENSE_FILE = LICENSE +MALI_DRIVER_LICENSE_FILES = LICENSE MALI_DRIVER_MODULE_SUBDIRS = r8p0/drivers/gpu/arm/midgard $(eval $(kernel-module)) diff --git a/package/mariadb/0001-add-extra-check-for-librt.patch b/package/mariadb/0001-add-extra-check-for-librt.patch index 0dd4c546f..6e3fc7027 100644 --- a/package/mariadb/0001-add-extra-check-for-librt.patch +++ b/package/mariadb/0001-add-extra-check-for-librt.patch @@ -8,6 +8,8 @@ https://jira.mariadb.org/browse/MDEV-10841 Signed-off-by: Ryan Coe [Rebased on mariadb-10.3.30] Signed-off-by: Peter Seiderer +[Rebased on mariadb-10.3.36] +Signed-off-by: Fabrice Fontaine --- configure.cmake | 3 +++ 1 file changed, 3 insertions(+) @@ -23,9 +25,9 @@ index 1b85c31b..4a1cd847 100644 + IF(NOT LIBRT) + MY_SEARCH_LIBS(posix_spawn_file_actions_addclose rt LIBRT) + ENDIF() - set(THREADS_PREFER_PTHREAD_FLAG ON) - FIND_PACKAGE(Threads) + MY_SEARCH_LIBS(backtrace_symbols_fd execinfo LIBEXECINFO) + set(THREADS_PREFER_PTHREAD_FLAG ON) -- 2.32.0 diff --git a/package/mariadb/mariadb.hash b/package/mariadb/mariadb.hash index 4da26bdf9..c4064cff6 100644 --- a/package/mariadb/mariadb.hash +++ b/package/mariadb/mariadb.hash @@ -1,5 +1,5 @@ -# From https://dlm.mariadb.com/2117287/MariaDB/mariadb-10.3.34/source/sha512sums.txt -sha512 46d4575ec1afb68510652a4bb31ca5ce83a2f5f61048a6e9c1487b0ba58f079465a8b72518d44043cd42c631b19ff50b5498584676ac6473705b138fe3300741 mariadb-10.3.34.tar.gz +# From https://downloads.mariadb.org/mariadb/10.3.36 +sha512 321b4c48fcea4413eb239c4904c806306de660f2844edfa1d2a2a15213db287070d0f923db976588dfe329559d565bd98bddef3aaf8f14502f8c3db2ee27757a mariadb-10.3.36.tar.gz # Hash for license files sha256 084aa0007efac6dda6aafffb3f3ef8b66b105862dad7ee23f6a4b52813f84464 README.md diff --git a/package/mariadb/mariadb.mk b/package/mariadb/mariadb.mk index 4eb9c7182..5fb887627 100644 --- a/package/mariadb/mariadb.mk +++ b/package/mariadb/mariadb.mk @@ -4,8 +4,8 @@ # ################################################################################ -MARIADB_VERSION = 10.3.34 -MARIADB_SITE = https://dlm.mariadb.com/2117285/MariaDB/mariadb-$(MARIADB_VERSION)/source +MARIADB_VERSION = 10.3.36 +MARIADB_SITE = https://downloads.mariadb.org/interstitial/mariadb-$(MARIADB_VERSION)/source MARIADB_LICENSE = GPL-2.0 (server), GPL-2.0 with FLOSS exception (GPL client library), LGPL-2.0 (LGPL client library) # Tarball no longer contains LGPL license text # https://jira.mariadb.org/browse/MDEV-12297 @@ -60,6 +60,12 @@ MARIADB_CONF_OPTS += -DCMAKE_CROSSCOMPILING=1 # Explicitly disable dtrace to avoid detection of a host version MARIADB_CONF_OPTS += -DENABLE_DTRACE=0 +ifeq ($(BR2_PACKAGE_LIBRESSL),y) +MARIADB_CONF_OPTS += \ + -DLIBRESSL_RESULT=ON \ + -DLIBRESSL_RESULT__TRYRUN_OUTPUT="LibreSSL $(LIBRESSL_VERSION)" +endif + ifeq ($(BR2_PACKAGE_MARIADB_SERVER),y) ifeq ($(BR2_PACKAGE_MARIADB_SERVER_EMBEDDED),y) MARIADB_CONF_OPTS += -DWITH_EMBEDDED_SERVER=ON @@ -76,6 +82,10 @@ ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) MARIADB_CXXFLAGS += -latomic endif +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y) +MARIADB_CXXFLAGS += -O0 +endif + MARIADB_CONF_OPTS += \ -DCMAKE_CXX_FLAGS="$(MARIADB_CXXFLAGS)" \ -DINSTALL_DOCDIR=share/doc/mariadb-$(MARIADB_VERSION) \ diff --git a/package/matchbox-common/matchbox-common.hash b/package/matchbox-common/matchbox-common.hash index b4aa42a15..683354b8a 100644 --- a/package/matchbox-common/matchbox-common.hash +++ b/package/matchbox-common/matchbox-common.hash @@ -1,4 +1,4 @@ # From http://downloads.yoctoproject.org/releases/matchbox/matchbox-common/0.9/matchbox-common-0.9.1.tar.bz2.md5 -md5 8e8ba0ee170a9ac78fdc583b00ccf76b matchbox-common-0.9.1.tar.bz2 +md5 8e8ba0ee170a9ac78fdc583b00ccf76b matchbox-common-0.9.1.tar.bz2 # Locally computed sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/matchbox-desktop/matchbox-desktop.hash b/package/matchbox-desktop/matchbox-desktop.hash index 0673e8e10..61e8b8636 100644 --- a/package/matchbox-desktop/matchbox-desktop.hash +++ b/package/matchbox-desktop/matchbox-desktop.hash @@ -1,4 +1,4 @@ # From http://downloads.yoctoproject.org/releases/matchbox/matchbox-desktop/0.9/matchbox-desktop-0.9.1.tar.bz2.md5 -md5 3335a30b1a1aacfb39f23b505254765c matchbox-desktop-0.9.1.tar.bz2 +md5 3335a30b1a1aacfb39f23b505254765c matchbox-desktop-0.9.1.tar.bz2 # Locally computed sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/matchbox-keyboard/matchbox-keyboard.hash b/package/matchbox-keyboard/matchbox-keyboard.hash index c65fbecff..26e65af1a 100644 --- a/package/matchbox-keyboard/matchbox-keyboard.hash +++ b/package/matchbox-keyboard/matchbox-keyboard.hash @@ -1,4 +1,4 @@ # From http://downloads.yoctoproject.org/releases/matchbox/matchbox-keyboard/0.1/matchbox-keyboard-0.1.tar.bz2.md5 -md5 50940321d59fee23b38a4941100abf25 matchbox-keyboard-0.1.tar.bz2 +md5 50940321d59fee23b38a4941100abf25 matchbox-keyboard-0.1.tar.bz2 # Locally computed sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/matchbox-panel/matchbox-panel.hash b/package/matchbox-panel/matchbox-panel.hash index 5e72b9ec8..9b4f985b2 100644 --- a/package/matchbox-panel/matchbox-panel.hash +++ b/package/matchbox-panel/matchbox-panel.hash @@ -1,4 +1,4 @@ # From http://downloads.yoctoproject.org/releases/matchbox/matchbox-panel/0.9/matchbox-panel-0.9.3.tar.bz2.md5 -md5 56d1807636f3919e22e51896ab7ccd2e matchbox-panel-0.9.3.tar.bz2 +md5 56d1807636f3919e22e51896ab7ccd2e matchbox-panel-0.9.3.tar.bz2 # Locally computed sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/matchbox-startup-monitor/matchbox-startup-monitor.hash b/package/matchbox-startup-monitor/matchbox-startup-monitor.hash index c1b5098e9..ec312a629 100644 --- a/package/matchbox-startup-monitor/matchbox-startup-monitor.hash +++ b/package/matchbox-startup-monitor/matchbox-startup-monitor.hash @@ -1,4 +1,4 @@ # From http://downloads.yoctoproject.org/releases/matchbox/mb-applet-startup-monitor/0.1/mb-applet-startup-monitor-0.1.tar.bz2.md5 -md5 ea4b3c1ebee3f731b77a2d4bf8e9aa3c mb-applet-startup-monitor-0.1.tar.bz2 +md5 ea4b3c1ebee3f731b77a2d4bf8e9aa3c mb-applet-startup-monitor-0.1.tar.bz2 # Locally computed sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/matchbox-startup-monitor/matchbox-startup-monitor.mk b/package/matchbox-startup-monitor/matchbox-startup-monitor.mk index c80e75332..cd2ae4162 100644 --- a/package/matchbox-startup-monitor/matchbox-startup-monitor.mk +++ b/package/matchbox-startup-monitor/matchbox-startup-monitor.mk @@ -11,4 +11,9 @@ MATCHBOX_STARTUP_MONITOR_LICENSE = GPL-2.0+ MATCHBOX_STARTUP_MONITOR_LICENSE_FILES = COPYING MATCHBOX_STARTUP_MONITOR_DEPENDENCIES = matchbox-lib startup-notification +# Obsolete constructs in the archaic configure.ac generated an outworn +# configure script that incorrectly searches a C++ compiler. Regenerate +# the autoconf machinery to avoid failures without a C++ compiler. +MATCHBOX_STARTUP_MONITOR_AUTORECONF = YES + $(eval $(autotools-package)) diff --git a/package/matio/matio.hash b/package/matio/matio.hash index 4dd05dee0..4634074ca 100644 --- a/package/matio/matio.hash +++ b/package/matio/matio.hash @@ -1,4 +1,4 @@ -# From https://sourceforge.net/projects/matio/files/matio/1.5.21/ -sha512 b00bcad807e6a7e10afa656eb77a0e3e9fb08d9cecc3e94ba41ef91ce60367d6686e6d387a874bbb83eb2f895d4a97caac554a70e7f5f6f5cb750052702d411c matio-1.5.21.tar.gz +# From https://sourceforge.net/projects/matio/files/matio/1.5.22/ +sha512 33fd3991413e94dfc9aba13ffd08b09ddcbdb9dfa579124d981449e195a8c61a3dc95b55e46bba360d48456c117cf36403af1c3448689c26b8aea5fa9cf38323 matio-1.5.22.tar.gz # Locally computed -sha256 69143d4a8f1933022bb909327df1ce812dd2420ed57949812dd8f370856bf2a1 COPYING +sha256 3ed9a50d754fcc92d4accb8448e397eafeab686796b2a7445557ce782806e239 COPYING diff --git a/package/matio/matio.mk b/package/matio/matio.mk index 236466d4d..1370b32ed 100644 --- a/package/matio/matio.mk +++ b/package/matio/matio.mk @@ -4,7 +4,7 @@ # ################################################################################ -MATIO_VERSION = 1.5.21 +MATIO_VERSION = 1.5.22 MATIO_SITE = http://downloads.sourceforge.net/project/matio/matio/$(MATIO_VERSION) MATIO_LICENSE = BSD-2-Clause MATIO_LICENSE_FILES = COPYING @@ -15,6 +15,14 @@ MATIO_INSTALL_STAGING = YES # va_copy() MATIO_CONF_ENV = ac_cv_va_copy=yes +MATIO_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_99410),y) +MATIO_CFLAGS += -O0 +endif + +MATIO_CONF_ENV += CFLAGS="$(MATIO_CFLAGS)" + # mat73 require hdf5 (not available), extented-sparse take 2KB MATIO_CONF_OPTS = --disable-mat73 --enable-extended-sparse diff --git a/package/mbedtls/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch b/package/mbedtls/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch deleted file mode 100644 index 60bf53f6e..000000000 --- a/package/mbedtls/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch +++ /dev/null @@ -1,74 +0,0 @@ -From a0ae2ba37ca479c6edddec8634b25686be965e0d Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Mon, 27 Aug 2018 22:50:57 +0200 -Subject: [PATCH] bn_mul.h: fix x86 PIC inline ASM compilation with GCC < 5 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fixes #1910 - -With ebx added to the MULADDC_STOP clobber list to fix #1550, the inline -assembly fails to build with GCC < 5 in PIC mode with the following error: - -include/mbedtls/bn_mul.h:46:13: error: PIC register clobbered by ‘ebx’ in ‘asm’ - -This is because older GCC versions treated the x86 ebx register (which is -used for the GOT) as a fixed reserved register when building as PIC. - -This is fixed by an improved register allocator in GCC 5+. From the release -notes: - -Register allocation improvements: Reuse of the PIC hard register, instead of -using a fixed register, was implemented on x86/x86-64 targets. This -improves generated PIC code performance as more hard registers can be used. - -https://www.gnu.org/software/gcc/gcc-5/changes.html - -As a workaround, detect this situation and disable the inline assembly, -similar to the MULADDC_CANNOT_USE_R7 logic. - -Signed-off-by: Peter Korsgaard -Upstream: https://github.com/ARMmbed/mbedtls/pull/1986 ---- - include/mbedtls/bn_mul.h | 18 +++++++++++++++++- - 1 file changed, 17 insertions(+), 1 deletion(-) - -diff --git a/include/mbedtls/bn_mul.h b/include/mbedtls/bn_mul.h -index b587317d9..74a2d29be 100644 ---- a/include/mbedtls/bn_mul.h -+++ b/include/mbedtls/bn_mul.h -@@ -50,13 +50,29 @@ - #if defined(__GNUC__) && \ - ( !defined(__ARMCC_VERSION) || __ARMCC_VERSION >= 6000000 ) - -+/* -+ * GCC < 5.0 treated the x86 ebx (which is used for the GOT) as a -+ * fixed reserved register when building as PIC, leading to errors -+ * like: bn_mul.h:46:13: error: PIC register clobbered by ‘ebx’ in ‘asm’ -+ * -+ * This is fixed by an improved register allocator in GCC 5+. From the -+ * release notes: -+ * Register allocation improvements: Reuse of the PIC hard register, -+ * instead of using a fixed register, was implemented on x86/x86-64 -+ * targets. This improves generated PIC code performance as more hard -+ * registers can be used. -+ */ -+#if defined(__GNUC__) && __GNUC__ < 5 && defined(__PIC__) -+#define MULADDC_CANNOT_USE_EBX -+#endif -+ - /* - * Disable use of the i386 assembly code below if option -O0, to disable all - * compiler optimisations, is passed, detected with __OPTIMIZE__ - * This is done as the number of registers used in the assembly code doesn't - * work with the -O0 option. - */ --#if defined(__i386__) && defined(__OPTIMIZE__) -+#if defined(__i386__) && defined(__OPTIMIZE__) && !defined(MULADDC_CANNOT_USE_EBX) - - #define MULADDC_INIT \ - asm( \ --- -2.11.0 - diff --git a/package/mbedtls/mbedtls.hash b/package/mbedtls/mbedtls.hash index 80ae173af..876cd7b77 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.0: -sha256 6519579b836ed78cc549375c7c18b111df5717e86ca0eeff4cb64b2674f424cc mbedtls-2.28.0.tar.gz +# From https://github.com/ARMmbed/mbedtls/releases/tag/v2.28.2: +sha256 bc55232bf71fd66045122ba9050a29ea7cb2e8f99b064a9e6334a82f715881a0 mbedtls-2.28.2.tar.gz # Locally calculated sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/mbedtls/mbedtls.mk b/package/mbedtls/mbedtls.mk index 8745ff33f..743664a06 100644 --- a/package/mbedtls/mbedtls.mk +++ b/package/mbedtls/mbedtls.mk @@ -4,7 +4,7 @@ # ################################################################################ -MBEDTLS_VERSION = 2.28.0 +MBEDTLS_VERSION = 2.28.2 MBEDTLS_SITE = $(call github,ARMmbed,mbedtls,v$(MBEDTLS_VERSION)) MBEDTLS_CONF_OPTS = \ -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -std=c99" \ diff --git a/package/mc/mc.hash b/package/mc/mc.hash index 6400f64b9..b0381474f 100644 --- a/package/mc/mc.hash +++ b/package/mc/mc.hash @@ -1,4 +1,4 @@ -# Hash from http://ftp.midnight-commander.org/mc-4.8.27.sha256 -sha256 31be59225ffa9920816e9a8b3be0ab225a16d19e4faf46890f25bdffa02a4ff4 mc-4.8.27.tar.xz +# Hash from http://ftp.midnight-commander.org/mc-4.8.28.sha256 +sha256 e994d9be9a7172e9ac4a4ad62107921f6aa312e668b056dfe5b8bcebbaf53803 mc-4.8.28.tar.xz # sha256 locally computed: sha256 5576bbec76296e1c8e081f7037ebd01bdada388635f58d844a2f20d37bbe4284 COPYING diff --git a/package/mc/mc.mk b/package/mc/mc.mk index 678d687bc..3858d6288 100644 --- a/package/mc/mc.mk +++ b/package/mc/mc.mk @@ -4,13 +4,15 @@ # ################################################################################ -MC_VERSION = 4.8.27 +MC_VERSION = 4.8.28 MC_SOURCE = mc-$(MC_VERSION).tar.xz MC_SITE = http://ftp.midnight-commander.org MC_LICENSE = GPL-3.0+ MC_LICENSE_FILES = COPYING MC_DEPENDENCIES = libglib2 host-pkgconf $(TARGET_NLS_DEPENDENCIES) -MC_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) +MC_CONF_ENV = \ + CFLAGS="$(TARGET_CFLAGS) -std=c99" \ + LIBS=$(TARGET_NLS_LIBS) ifeq ($(BR2_PACKAGE_GPM),y) MC_CONF_OPTS += --with-gpm-mouse diff --git a/package/memcached/0002-check-for-sys-auxv.h.patch b/package/memcached/0002-check-for-sys-auxv.h.patch new file mode 100644 index 000000000..8c41bb4f0 --- /dev/null +++ b/package/memcached/0002-check-for-sys-auxv.h.patch @@ -0,0 +1,50 @@ +From 58b6de2135c10b64918f25c48f69f144d08a9c0d Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 3 Jun 2022 19:10:15 +0200 +Subject: [PATCH] check for sys/auxv.h + +Check for sys/auxv.h to avoid the following uclibc build failure on +aarch64: + +crc32c.c:277:10: fatal error: sys/auxv.h: No such file or directory + 277 | #include + | ^~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/08591fbf9677ff126492c50c15170c641bcab56a + +Signed-off-by: Fabrice Fontaine +[Upstream status: not sent yet] +--- + configure.ac | 1 + + crc32c.c | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 0985f07..3337fe7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -516,6 +516,7 @@ AH_BOTTOM([#ifdef HAVE_INTTYPES_H + #include + #endif + ]) ++AC_CHECK_HEADERS([sys/auxv.h]) + + dnl ********************************************************************** + dnl Figure out if this system has the stupid sasl_callback_ft +diff --git a/crc32c.c b/crc32c.c +index 26df879..05e61ff 100644 +--- a/crc32c.c ++++ b/crc32c.c +@@ -273,7 +273,7 @@ void crc32c_init(void) { + } + } + +-#elif defined(__aarch64__) && defined(__linux__) ++#elif defined(__aarch64__) && defined(__linux__) && defined(HAVE_SYS_AUX_H) + #include + + #if defined(HWCAP_CRC32) +-- +2.35.1 + diff --git a/package/memcached/0004-configure-ac-use-pkg-config-to-retrieve-openssl.patch b/package/memcached/0004-configure-ac-use-pkg-config-to-retrieve-openssl.patch new file mode 100644 index 000000000..402fa03b3 --- /dev/null +++ b/package/memcached/0004-configure-ac-use-pkg-config-to-retrieve-openssl.patch @@ -0,0 +1,181 @@ +From 656dedad48c81541060448d008b90290196263c5 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 6 Sep 2020 23:38:19 +0200 +Subject: [PATCH] configure.ac: use pkg-config to retrieve openssl + +Use pkg-config to retrieve openssl dependencies such as -latomic or -lz + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/memcached/memcached/commit/656dedad48c81541060448d008b90290196263c5] +--- + README.md | 2 +- + configure.ac | 133 ++++++++++++++++++++++++++------------------------- + 2 files changed, 69 insertions(+), 66 deletions(-) + +diff --git a/README.md b/README.md +index 3ce1bc2156..8fe067b767 100644 +--- a/README.md ++++ b/README.md +@@ -21,7 +21,7 @@ list to ask questions, github issues aren't seen by everyone! + * libseccomp (optional, experimental, linux) - enables process restrictions for + better security. Tested only on x86-64 architectures. + * openssl (optional) - enables TLS support. need relatively up to date +- version. ++ version. pkg-config is needed to find openssl dependencies (such as -lz). + + ## Environment + +diff --git a/configure.ac b/configure.ac +index a0851f2131..2959a86c89 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -437,80 +437,83 @@ AC_ARG_WITH(libssl, + dnl ---------------------------------------------------------------------------- + dnl libssl detection. swiped from libevent. modified for openssl detection. + ++PKG_PROG_PKG_CONFIG + OPENSSL_URL=https://www.openssl.org/ + if test "x$enable_tls" = "xyes"; then +- AC_CACHE_CHECK([for libssl directory], ac_cv_libssl_dir, [ +- saved_LIBS="$LIBS" +- saved_LDFLAGS="$LDFLAGS" +- saved_CPPFLAGS="$CPPFLAGS" +- le_found=no +- for ledir in $trylibssldir "" $prefix /usr/local ; do ++ PKG_CHECK_MODULES(OPENSSL, openssl, [LIBS="$LIBS $OPENSSL_LIBS" CFLAGS="$CFLAGS $OPENSSL_CFLAGS"], [ ++ AC_CACHE_CHECK([for libssl directory], ac_cv_libssl_dir, [ ++ saved_LIBS="$LIBS" ++ saved_LDFLAGS="$LDFLAGS" ++ saved_CPPFLAGS="$CPPFLAGS" ++ le_found=no ++ for ledir in $trylibssldir "" $prefix /usr/local ; do ++ LDFLAGS="$saved_LDFLAGS" ++ LIBS="-lssl -lcrypto $saved_LIBS" ++ ++ # Skip the directory if it isn't there. ++ if test ! -z "$ledir" -a ! -d "$ledir" ; then ++ continue; ++ fi ++ if test ! -z "$ledir" ; then ++ if test -d "$ledir/lib" ; then ++ LDFLAGS="-L$ledir/lib $LDFLAGS" ++ else ++ LDFLAGS="-L$ledir $LDFLAGS" ++ fi ++ if test -d "$ledir/include" ; then ++ CPPFLAGS="-I$ledir/include $CPPFLAGS" ++ else ++ CPPFLAGS="-I$ledir $CPPFLAGS" ++ fi ++ fi ++ # Can I compile and link it? ++ AC_TRY_LINK([#include ++ #include ++ #include ++ #include ], [ SSL_CTX* ssl_ctx = SSL_CTX_new(TLS_server_method()); ++ assert(OPENSSL_VERSION_NUMBER >= 0x10100000L);], ++ [ libssl_linked=yes ], [ libssl_linked=no ]) ++ if test $libssl_linked = yes; then ++ if test ! -z "$ledir" ; then ++ ac_cv_libssl_dir=$ledir ++ _myos=`echo $target_os | cut -f 1 -d .` ++ AS_IF(test "$SUNCC" = "yes" -o "x$_myos" = "xsolaris2", ++ [saved_LDFLAGS="$saved_LDFLAGS -Wl,-R$ledir/lib"], ++ [AS_IF(test "$GCC" = "yes", ++ [saved_LDFLAGS="$saved_LDFLAGS -Wl,-rpath,$ledir/lib"])]) ++ else ++ ac_cv_libssl_dir="(system)" ++ fi ++ le_found=yes ++ break ++ fi ++ done ++ LIBS="$saved_LIBS" + LDFLAGS="$saved_LDFLAGS" +- LIBS="-lssl -lcrypto $saved_LIBS" ++ CPPFLAGS="$saved_CPPFLAGS" ++ if test $le_found = no ; then ++ AC_MSG_ERROR([libssl (at least version 1.1.0) is required. You can get it from $OPENSSL_URL + +- # Skip the directory if it isn't there. +- if test ! -z "$ledir" -a ! -d "$ledir" ; then +- continue; ++ If it's already installed, specify its path using --with-libssl=/dir/ ++ ]) + fi +- if test ! -z "$ledir" ; then +- if test -d "$ledir/lib" ; then +- LDFLAGS="-L$ledir/lib $LDFLAGS" +- else +- LDFLAGS="-L$ledir $LDFLAGS" +- fi +- if test -d "$ledir/include" ; then +- CPPFLAGS="-I$ledir/include $CPPFLAGS" +- else +- CPPFLAGS="-I$ledir $CPPFLAGS" +- fi ++ ]) ++ LIBS="-lssl -lcrypto $LIBS" ++ if test $ac_cv_libssl_dir != "(system)"; then ++ if test -d "$ac_cv_libssl_dir/lib" ; then ++ LDFLAGS="-L$ac_cv_libssl_dir/lib $LDFLAGS" ++ le_libdir="$ac_cv_libssl_dir/lib" ++ else ++ LDFLAGS="-L$ac_cv_libssl_dir $LDFLAGS" ++ le_libdir="$ac_cv_libssl_dir" + fi +- # Can I compile and link it? +- AC_TRY_LINK([#include +- #include +- #include +- #include ], [ SSL_CTX* ssl_ctx = SSL_CTX_new(TLS_server_method()); +- assert(OPENSSL_VERSION_NUMBER >= 0x10100000L);], +- [ libssl_linked=yes ], [ libssl_linked=no ]) +- if test $libssl_linked = yes; then +- if test ! -z "$ledir" ; then +- ac_cv_libssl_dir=$ledir +- _myos=`echo $target_os | cut -f 1 -d .` +- AS_IF(test "$SUNCC" = "yes" -o "x$_myos" = "xsolaris2", +- [saved_LDFLAGS="$saved_LDFLAGS -Wl,-R$ledir/lib"], +- [AS_IF(test "$GCC" = "yes", +- [saved_LDFLAGS="$saved_LDFLAGS -Wl,-rpath,$ledir/lib"])]) +- else +- ac_cv_libssl_dir="(system)" +- fi +- le_found=yes +- break ++ if test -d "$ac_cv_libssl_dir/include" ; then ++ CPPFLAGS="-I$ac_cv_libssl_dir/include $CPPFLAGS" ++ else ++ CPPFLAGS="-I$ac_cv_libssl_dir $CPPFLAGS" + fi +- done +- LIBS="$saved_LIBS" +- LDFLAGS="$saved_LDFLAGS" +- CPPFLAGS="$saved_CPPFLAGS" +- if test $le_found = no ; then +- AC_MSG_ERROR([libssl (at least version 1.1.0) is required. You can get it from $OPENSSL_URL +- +- If it's already installed, specify its path using --with-libssl=/dir/ +- ]) + fi + ]) +- LIBS="-lssl -lcrypto $LIBS" +- if test $ac_cv_libssl_dir != "(system)"; then +- if test -d "$ac_cv_libssl_dir/lib" ; then +- LDFLAGS="-L$ac_cv_libssl_dir/lib $LDFLAGS" +- le_libdir="$ac_cv_libssl_dir/lib" +- else +- LDFLAGS="-L$ac_cv_libssl_dir $LDFLAGS" +- le_libdir="$ac_cv_libssl_dir" +- fi +- if test -d "$ac_cv_libssl_dir/include" ; then +- CPPFLAGS="-I$ac_cv_libssl_dir/include $CPPFLAGS" +- else +- CPPFLAGS="-I$ac_cv_libssl_dir $CPPFLAGS" +- fi +- fi + fi + + if test "x$enable_static" = "xyes"; then diff --git a/package/memcached/memcached.mk b/package/memcached/memcached.mk index 8f3506f9d..e8c64cb19 100644 --- a/package/memcached/memcached.mk +++ b/package/memcached/memcached.mk @@ -13,6 +13,8 @@ MEMCACHED_LICENSE = BSD-3-Clause MEMCACHED_LICENSE_FILES = COPYING MEMCACHED_CPE_ID_VENDOR = memcached MEMCACHED_SELINUX_MODULES = memcached +# We're patching configure.ac +MEMCACHED_AUTORECONF = YES ifeq ($(BR2_ENDIAN),"BIG") MEMCACHED_CONF_ENV += ac_cv_c_endian=big @@ -20,4 +22,15 @@ else MEMCACHED_CONF_ENV += ac_cv_c_endian=little endif +ifeq ($(BR2_PACKAGE_OPENSSL),y) +MEMCACHED_CONF_OPTS += --enable-tls +MEMCACHED_DEPENDENCIES += host-pkgconf openssl +else +MEMCACHED_CONF_OPTS += --disable-tls +endif + +ifeq ($(BR2_STATIC_LIBS),) +MEMCACHED_CONF_OPTS += --disable-static +endif + $(eval $(autotools-package)) diff --git a/package/memstat/memstat.hash b/package/memstat/memstat.hash index 9a30e342f..6aa2c5435 100644 --- a/package/memstat/memstat.hash +++ b/package/memstat/memstat.hash @@ -1,4 +1,4 @@ # From http://sourceforge.net/projects/memstattool/files/ -sha1 26071dbc30a2796c0503c7d8060a548ca36f8df9 memstat_1.0.tar.gz +sha1 26071dbc30a2796c0503c7d8060a548ca36f8df9 memstat_1.0.tar.gz # Locally computed sha256 5e5db2a2fab637bbbc5d2400141fcb9f1b4b55540d025c2dc54378dc497cb524 debian/copyright diff --git a/package/mender-grubenv/mender-grubenv.hash b/package/mender-grubenv/mender-grubenv.hash index fcc4e02cb..3be5f51a9 100644 --- a/package/mender-grubenv/mender-grubenv.hash +++ b/package/mender-grubenv/mender-grubenv.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 00a574d2bed8d54ba6739700da789a420a02de900df56dd2cfbe0df460a98dca mender-grubenv-1a7db967495bbe8be53b7a69dcb42822f39d9a74.tar.gz -sha256 b4acfcfa2a0ba1a8c82ec3965fbcee886cff8394ca4214e0ddac0a36beb1e05a LICENSE +sha256 00a574d2bed8d54ba6739700da789a420a02de900df56dd2cfbe0df460a98dca mender-grubenv-1a7db967495bbe8be53b7a69dcb42822f39d9a74.tar.gz +sha256 b4acfcfa2a0ba1a8c82ec3965fbcee886cff8394ca4214e0ddac0a36beb1e05a LICENSE diff --git a/package/mender/Config.in b/package/mender/Config.in index cccb46361..7d768cebe 100644 --- a/package/mender/Config.in +++ b/package/mender/Config.in @@ -4,8 +4,9 @@ config BR2_PACKAGE_MENDER depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_LIBOPENSSL_ENABLE_MD4 if BR2_PACKAGE_LIBOPENSSL - select BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160 if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_MD4 + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160 help Mender is an open source over-the-air (OTA) software updater for embedded Linux devices. Mender comprises a client diff --git a/package/menu-cache/menu-cache.hash b/package/menu-cache/menu-cache.hash index a46a7070c..f3ced3e8c 100644 --- a/package/menu-cache/menu-cache.hash +++ b/package/menu-cache/menu-cache.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/lxde/files/menu-cache/1.1/ -md5 99999a0bca48b980105208760c8fd893 menu-cache-1.1.0.tar.xz -sha1 01e6035aa1fe76d7047bdec235254aa5ce17394a menu-cache-1.1.0.tar.xz +md5 99999a0bca48b980105208760c8fd893 menu-cache-1.1.0.tar.xz +sha1 01e6035aa1fe76d7047bdec235254aa5ce17394a menu-cache-1.1.0.tar.xz # Hash for license file: -sha256 7459fbad62653e4061dbfde3b0cad7c72777838beb10d2d11d969fac6226e7de COPYING +sha256 7459fbad62653e4061dbfde3b0cad7c72777838beb10d2d11d969fac6226e7de COPYING diff --git a/package/mesa3d-demos/mesa3d-demos.hash b/package/mesa3d-demos/mesa3d-demos.hash index 8a771df2f..8a4955f12 100644 --- a/package/mesa3d-demos/mesa3d-demos.hash +++ b/package/mesa3d-demos/mesa3d-demos.hash @@ -1,5 +1,5 @@ # From https://lists.freedesktop.org/archives/mesa-dev/2018-February/186542.html md5 6b65a02622765522176d00f553086fa3 mesa-demos-8.4.0.tar.bz2 -sha1 57ba892e919fa22ce3db9f25e7331a6fa33c652c mesa-demos-8.4.0.tar.bz2 -sha256 01e99c94a0184e63e796728af89bfac559795fb2a0d6f506fa900455ca5fff7d mesa-demos-8.4.0.tar.bz2 -sha512 b72d03cad36e0535ff18dcfb222ec4200064b9264f6da51a6e5f03b0dd912abe188bc1d600b6698de3ce6f63b28d2ce01565886ca8e7079edc4967fbf2fb0957 mesa-demos-8.4.0.tar.bz2 +sha1 57ba892e919fa22ce3db9f25e7331a6fa33c652c mesa-demos-8.4.0.tar.bz2 +sha256 01e99c94a0184e63e796728af89bfac559795fb2a0d6f506fa900455ca5fff7d mesa-demos-8.4.0.tar.bz2 +sha512 b72d03cad36e0535ff18dcfb222ec4200064b9264f6da51a6e5f03b0dd912abe188bc1d600b6698de3ce6f63b28d2ce01565886ca8e7079edc4967fbf2fb0957 mesa-demos-8.4.0.tar.bz2 diff --git a/package/mesa3d-headers/mesa3d-headers.mk b/package/mesa3d-headers/mesa3d-headers.mk index 871cf2f49..abfa0e9b5 100644 --- a/package/mesa3d-headers/mesa3d-headers.mk +++ b/package/mesa3d-headers/mesa3d-headers.mk @@ -6,7 +6,7 @@ # mesa3d-headers is inherently incompatible with mesa3d, so error out # if both are enabled. -ifeq ($(BR2_PACKAGE_MESA3D)$(BR2_PACKAGE_MESA3D_HEADERS),yy) +ifeq ($(BR_BUILDING)$(BR2_PACKAGE_MESA3D)$(BR2_PACKAGE_MESA3D_HEADERS),yyy) $(error mesa3d-headers enabled, but mesa3d enabled too) endif diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk index 5f080ff5f..302e0233c 100644 --- a/package/mesa3d/mesa3d.mk +++ b/package/mesa3d/mesa3d.mk @@ -48,6 +48,11 @@ ifeq ($(BR2_PACKAGE_MESA3D_LLVM),y) MESA3D_DEPENDENCIES += host-llvm llvm MESA3D_MESON_EXTRA_BINARIES += llvm-config='$(STAGING_DIR)/usr/bin/llvm-config' MESA3D_CONF_OPTS += -Dllvm=enabled +ifeq ($(BR2_PACKAGE_LLVM_RTTI),y) +MESA3D_CONF_OPTS += -Dcpp_rtti=true +else +MESA3D_CONF_OPTS += -Dcpp_rtti=false +endif else # Avoid automatic search of llvm-config MESA3D_CONF_OPTS += -Dllvm=disabled diff --git a/package/meson/meson.hash b/package/meson/meson.hash index c2d53519d..8389adb24 100644 --- a/package/meson/meson.hash +++ b/package/meson/meson.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -# https://github.com/mesonbuild/meson/releases/download/0.61.1/meson-0.61.1.tar.gz.asc -sha256 feb2cefb325b437dbf36146df7c6b87688ddff0b0205caa31dc64055c6da410c meson-0.61.1.tar.gz +# https://github.com/mesonbuild/meson/releases/download/0.61.4/meson-0.61.4.tar.gz.asc +sha256 4e3733ddc66bac38e38c63b739c9b8b8fc5a866de5333396b0c85c2b144ddee9 meson-0.61.4.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING diff --git a/package/meson/meson.mk b/package/meson/meson.mk index 125488dd4..e9c314518 100644 --- a/package/meson/meson.mk +++ b/package/meson/meson.mk @@ -4,7 +4,7 @@ # ################################################################################ -MESON_VERSION = 0.61.1 +MESON_VERSION = 0.61.4 MESON_SITE = https://github.com/mesonbuild/meson/releases/download/$(MESON_VERSION) MESON_LICENSE = Apache-2.0 MESON_LICENSE_FILES = COPYING diff --git a/package/mfgtools/Config.in.host b/package/mfgtools/Config.in.host index 2b506c8f6..f1e7ab58e 100644 --- a/package/mfgtools/Config.in.host +++ b/package/mfgtools/Config.in.host @@ -8,7 +8,7 @@ config BR2_PACKAGE_HOST_MFGTOOLS production. The communication is done over USB using the Freescale UTP protocol. - https://github.com/codeauroraforum/mfgtools + https://github.com/NXPmicro/mfgtools comment "host mfgtools needs a toolchain w/ host gcc >= 4.9" depends on BR2_arm diff --git a/package/mfgtools/mfgtools.mk b/package/mfgtools/mfgtools.mk index 48ce5dda2..3de93936b 100644 --- a/package/mfgtools/mfgtools.mk +++ b/package/mfgtools/mfgtools.mk @@ -5,7 +5,7 @@ ################################################################################ MFGTOOLS_VERSION = 0.02 -MFGTOOLS_SITE = $(call github,codeauroraforum,mfgtools,v$(MFGTOOLS_VERSION)) +MFGTOOLS_SITE = $(call github,NXPmicro,mfgtools,v$(MFGTOOLS_VERSION)) MFGTOOLS_SUBDIR = MfgToolLib MFGTOOLS_LICENSE = BSD-3-Clause or CPOL MFGTOOLS_LICENSE_FILES = LICENSE README.txt diff --git a/package/mg/mg.hash b/package/mg/mg.hash index 9257daf5a..19cf1e29d 100644 --- a/package/mg/mg.hash +++ b/package/mg/mg.hash @@ -1,4 +1,4 @@ # From https://github.com/troglobit/mg/releases/tag/v3.5 -sha256 a906eab9370c0f24a5fa25923561ad933b74ad339d0b2851d2067badf0d7e4ce mg-3.5.tar.gz +sha256 a906eab9370c0f24a5fa25923561ad933b74ad339d0b2851d2067badf0d7e4ce mg-3.5.tar.gz # Locally computed: -sha256 7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c UNLICENSE +sha256 7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c UNLICENSE diff --git a/package/mini-snmpd/mini-snmpd.hash b/package/mini-snmpd/mini-snmpd.hash index 2d6680929..fee76c07a 100644 --- a/package/mini-snmpd/mini-snmpd.hash +++ b/package/mini-snmpd/mini-snmpd.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 de00c475a3c70c56f3ee97cd683cb71009d3521d60b1f589c5a91b4671ede9f3 mini-snmpd-1.6.tar.gz -sha256 8a43b895972a24567297f44f35dab0f5f9ed3b7db6dac0bf6094075b27ab9d56 COPYING +sha256 de00c475a3c70c56f3ee97cd683cb71009d3521d60b1f589c5a91b4671ede9f3 mini-snmpd-1.6.tar.gz +sha256 8a43b895972a24567297f44f35dab0f5f9ed3b7db6dac0bf6094075b27ab9d56 COPYING diff --git a/package/minidlna/minidlna.hash b/package/minidlna/minidlna.hash index 175fe6730..e55e5473d 100644 --- a/package/minidlna/minidlna.hash +++ b/package/minidlna/minidlna.hash @@ -1,6 +1,6 @@ -# From https://sourceforge.net/projects/minidlna/files/minidlna/1.3.0/ -sha1 6563a881884879b2aef52611934e08bb42985964 minidlna-1.3.0.tar.gz +# From https://sourceforge.net/projects/minidlna/files/minidlna/1.3.2/ +sha1 71750adadc34490d52f0b9a930c2731a47f9772d minidlna-1.3.2.tar.gz # Locally computed -sha256 47d9b06b4c48801a4c1112ec23d24782728b5495e95ec2195bbe5c81bc2d3c63 minidlna-1.3.0.tar.gz +sha256 222ce45a1a60c3ce3de17527955d38e5ff7a4592d61db39577e6bf88e0ae1cb0 minidlna-1.3.2.tar.gz sha256 79146b7f558e56510b9a714ff75318c05ab93aeccfd6597497b9bce212cf92ea COPYING sha256 94876d7886116e176e702b4902bd9f19731a6883db5f229ac2a7058a22aa6529 LICENCE.miniupnpd diff --git a/package/minidlna/minidlna.mk b/package/minidlna/minidlna.mk index adea200f4..6ca72d924 100644 --- a/package/minidlna/minidlna.mk +++ b/package/minidlna/minidlna.mk @@ -4,7 +4,7 @@ # ################################################################################ -MINIDLNA_VERSION = 1.3.0 +MINIDLNA_VERSION = 1.3.2 MINIDLNA_SITE = https://downloads.sourceforge.net/project/minidlna/minidlna/$(MINIDLNA_VERSION) MINIDLNA_LICENSE = GPL-2.0, BSD-3-Clause MINIDLNA_LICENSE_FILES = COPYING LICENCE.miniupnpd diff --git a/package/minimodem/minimodem.hash b/package/minimodem/minimodem.hash index 084a5606f..82c3de53e 100644 --- a/package/minimodem/minimodem.hash +++ b/package/minimodem/minimodem.hash @@ -1,2 +1,2 @@ -sha256 f8cca4db8e3f284d67f843054d6bb4d88a3db5e77b26192410e41e9a06f4378e minimodem-0.24.tar.gz -sha256 c298178753129680ef6d3112f0f8b61acc405c86c1997dfe59735257988f8b33 COPYING +sha256 f8cca4db8e3f284d67f843054d6bb4d88a3db5e77b26192410e41e9a06f4378e minimodem-0.24.tar.gz +sha256 c298178753129680ef6d3112f0f8b61acc405c86c1997dfe59735257988f8b33 COPYING diff --git a/package/minizip/0001-CMakeLists.txt-fix-build-without-C.patch b/package/minizip/0001-CMakeLists.txt-fix-build-without-C.patch new file mode 100644 index 000000000..b0cb6a6c1 --- /dev/null +++ b/package/minizip/0001-CMakeLists.txt-fix-build-without-C.patch @@ -0,0 +1,41 @@ +From 4e7899f3d0533f83b7230ffa787087b65ddd45c0 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 5 Apr 2022 18:20:14 +0200 +Subject: [PATCH] CMakeLists.txt: fix build without C++ + +Fix the following build failure without a working C++ compiler raised +since version 2.0.0 and +https://github.com/zlib-ng/minizip-ng/commit/d383a5f2fca127d24407ff26adce579d63b85310: + +CMake Error at /nvmedata/autobuild/instance-20/output-1/host/share/cmake-3.18/Modules/CMakeTestCXXCompiler.cmake:59 (message): + The C++ compiler + + "/usr/bin/c++" + + is not able to compile a simple test program. + +Fixes: + - http://autobuild.buildroot.org/results/4452bc35b41414a5e8a0e9831b0854228df5fba4 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/zlib-ng/minizip-ng/pull/621] +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fef46c3..83adaf3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -661,7 +661,7 @@ endif() + list(APPEND MINIZIP_INC ${CMAKE_CURRENT_SOURCE_DIR}) + + # Create minizip library +-project(minizip${MZ_PROJECT_SUFFIX} VERSION ${VERSION}) ++project(minizip${MZ_PROJECT_SUFFIX} LANGUAGES C VERSION ${VERSION}) + + if(NOT ${MZ_PROJECT_SUFFIX} STREQUAL "") + message(STATUS "Project configured as ${PROJECT_NAME}") +-- +2.35.1 + diff --git a/package/minizip/minizip.hash b/package/minizip/minizip.hash index 3e87e64da..e73637670 100644 --- a/package/minizip/minizip.hash +++ b/package/minizip/minizip.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 2ab219f651901a337a7d3c268128711b80330a99ea36bdc528c76b591a624c3c minizip-3.0.4.tar.gz +sha256 1a248c378fdf4ef6c517024bb65577603d5146cffaebe81900bec9c0a5035d4d minizip-3.0.5.tar.gz sha256 675181c03fc1302a1c8554c00f7be9bb420c5dbc9dcc2013433cec144413de03 LICENSE diff --git a/package/minizip/minizip.mk b/package/minizip/minizip.mk index 07f67c135..b9259f0c5 100644 --- a/package/minizip/minizip.mk +++ b/package/minizip/minizip.mk @@ -4,7 +4,7 @@ # ################################################################################ -MINIZIP_VERSION = 3.0.4 +MINIZIP_VERSION = 3.0.5 MINIZIP_SITE = $(call github,nmoinvaz,minizip,$(MINIZIP_VERSION)) MINIZIP_DEPENDENCIES = host-pkgconf MINIZIP_INSTALL_STAGING = YES diff --git a/package/mjpg-streamer/mjpg-streamer.hash b/package/mjpg-streamer/mjpg-streamer.hash index 63dcdb9fb..164c9b218 100644 --- a/package/mjpg-streamer/mjpg-streamer.hash +++ b/package/mjpg-streamer/mjpg-streamer.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 5b427b07c03c2c0468cc782daf1510d315141170246828fcbb7c07f927879973 mjpg-streamer-5a6e0a2db163e6ae9461552b59079870d0959340.tar.gz -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 mjpg-streamer-experimental/LICENSE +sha256 5b427b07c03c2c0468cc782daf1510d315141170246828fcbb7c07f927879973 mjpg-streamer-5a6e0a2db163e6ae9461552b59079870d0959340.tar.gz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 mjpg-streamer-experimental/LICENSE diff --git a/package/mmc-utils/mmc-utils.mk b/package/mmc-utils/mmc-utils.mk index 8c264a454..c84737869 100644 --- a/package/mmc-utils/mmc-utils.mk +++ b/package/mmc-utils/mmc-utils.mk @@ -5,7 +5,8 @@ ################################################################################ MMC_UTILS_VERSION = d40ec535b9d4e4c974e8c2fbfb422cd0348cc5e8 -MMC_UTILS_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git +MMC_UTILS_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git +MMC_UTILS_SITE_METHOD = git MMC_UTILS_LICENSE = GPL-2.0 MMC_UTILS_LICENSE_FILES = mmc.h diff --git a/package/mobile-broadband-provider-info/mobile-broadband-provider-info.hash b/package/mobile-broadband-provider-info/mobile-broadband-provider-info.hash index bbdfd1f03..c3d7fe2c2 100644 --- a/package/mobile-broadband-provider-info/mobile-broadband-provider-info.hash +++ b/package/mobile-broadband-provider-info/mobile-broadband-provider-info.hash @@ -1,4 +1,4 @@ # http://ftp.acc.umu.se/pub/GNOME/sources/mobile-broadband-provider-info/20190618/mobile-broadband-provider-info-20190618.sha256sum -sha256 c22d64a565d1975b9eecb6ed2eeaef18634bc6f385c8137d05e845d8fb3cce5b mobile-broadband-provider-info-20190618.tar.xz +sha256 c22d64a565d1975b9eecb6ed2eeaef18634bc6f385c8137d05e845d8fb3cce5b mobile-broadband-provider-info-20190618.tar.xz # Locally computed -sha256 3d510b215a33087b9ceb9592da21575ea1f9f98bd4d983a38e65fe851a552174 COPYING +sha256 3d510b215a33087b9ceb9592da21575ea1f9f98bd4d983a38e65fe851a552174 COPYING diff --git a/package/modsecurity2/Config.in b/package/modsecurity2/Config.in index 2870386a9..fb1bfc960 100644 --- a/package/modsecurity2/Config.in +++ b/package/modsecurity2/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_MODSECURITY2 bool "modsecurity2" depends on BR2_PACKAGE_APACHE select BR2_PACKAGE_LIBXML2 - select BR2_PACKAGE_PCRE + select BR2_PACKAGE_PCRE2 help ModSecurity is an open source, cross-platform web application firewall (WAF) module. Known as the "Swiss Army Knife" of diff --git a/package/modsecurity2/modsecurity2.hash b/package/modsecurity2/modsecurity2.hash index a19f4823a..2c77ffd83 100644 --- a/package/modsecurity2/modsecurity2.hash +++ b/package/modsecurity2/modsecurity2.hash @@ -1,5 +1,5 @@ -# From https://github.com/SpiderLabs/ModSecurity/releases/download/v2.9.5/modsecurity-2.9.5.tar.gz.sha256 -sha256 e2bfc8cd8b8de1e21f054d310543373ea5d89adbd96784e832be0da3e4dc149e modsecurity-2.9.5.tar.gz +# From https://github.com/SpiderLabs/ModSecurity/releases/download/v2.9.7/modsecurity-2.9.7.tar.gz.sha256 +sha256 2a28fcfccfef21581486f98d8d5fe0397499749b8380f60ec7bb1c08478e1839 modsecurity-2.9.7.tar.gz # Locally computed sha256 2c564f5a67e49e74c80e5a7dcacd1904e7408f1fd6a95218b38c04f012d94cb9 LICENSE diff --git a/package/modsecurity2/modsecurity2.mk b/package/modsecurity2/modsecurity2.mk index a1ad8fe5b..88bbf3bb2 100644 --- a/package/modsecurity2/modsecurity2.mk +++ b/package/modsecurity2/modsecurity2.mk @@ -4,7 +4,7 @@ # ################################################################################ -MODSECURITY2_VERSION = 2.9.5 +MODSECURITY2_VERSION = 2.9.7 MODSECURITY2_SOURCE = modsecurity-$(MODSECURITY2_VERSION).tar.gz MODSECURITY2_SITE = https://github.com/SpiderLabs/ModSecurity/releases/download/v$(MODSECURITY2_VERSION) MODSECURITY2_LICENSE = Apache-2.0 @@ -12,16 +12,16 @@ MODSECURITY2_LICENSE_FILES = LICENSE MODSECURITY2_CPE_ID_VENDOR = trustwave MODSECURITY2_CPE_ID_PRODUCT = modsecurity MODSECURITY2_INSTALL_STAGING = YES -MODSECURITY2_DEPENDENCIES = apache libxml2 pcre +MODSECURITY2_DEPENDENCIES = host-pkgconf apache libxml2 pcre2 MODSECURITY2_CONF_OPTS = \ - --with-pcre=$(STAGING_DIR)/usr/bin/pcre-config \ - --with-libxml=$(STAGING_DIR)/usr \ + --with-pcre2=$(STAGING_DIR)/usr/bin/pcre2-config \ --with-apr=$(STAGING_DIR)/usr/bin/apr-1-config \ --with-apu=$(STAGING_DIR)/usr/bin/apu-1-config \ --with-apxs=$(STAGING_DIR)/usr/bin/apxs \ --without-curl \ --without-lua \ + --without-pcre \ --without-yajl \ --without-ssdeep diff --git a/package/mono/Config.in b/package/mono/Config.in index 44b8cf858..76178bcf9 100644 --- a/package/mono/Config.in +++ b/package/mono/Config.in @@ -14,7 +14,7 @@ config BR2_PACKAGE_MONO bool "mono" depends on BR2_PACKAGE_MONO_ARCH_SUPPORTS depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # pthread_getattr_np() depends on !BR2_STATIC_LIBS select BR2_PACKAGE_LIBATOMIC_OPS help @@ -23,7 +23,7 @@ config BR2_PACKAGE_MONO http://download.mono-project.com/sources/mono/ -comment "mono needs a toolchain w/ C++, threads, dynamic library" +comment "mono needs a toolchain w/ C++, NPTL, dynamic library" depends on BR2_PACKAGE_MONO_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS diff --git a/package/mono/mono.hash b/package/mono/mono.hash index 2477e9231..c2ad224c4 100644 --- a/package/mono/mono.hash +++ b/package/mono/mono.hash @@ -1,5 +1,5 @@ # sha256 locally computed -sha256 51de5c02ad511333f93ff585bca54c8784de35af4ff27b759d16b46c4402cdac mono-6.12.0.90.tar.xz -sha256 923c7053ad0d430cd9b0b69a0ccf3abb7170a1ce50ecbf01915b565a35823d10 LICENSE -sha256 fc488f3ec9f36856bea8cce5cdde1449176341ef93a3962b691970f8981799f4 mcs/COPYING -sha256 2c3c3ef532828bcd42bb3127349625a25291ff5ae7e6f8d42e0fe9b5be836a99 external/Newtonsoft.Json/Tools/7-zip/copying.txt +sha256 51de5c02ad511333f93ff585bca54c8784de35af4ff27b759d16b46c4402cdac mono-6.12.0.90.tar.xz +sha256 923c7053ad0d430cd9b0b69a0ccf3abb7170a1ce50ecbf01915b565a35823d10 LICENSE +sha256 fc488f3ec9f36856bea8cce5cdde1449176341ef93a3962b691970f8981799f4 mcs/COPYING +sha256 2c3c3ef532828bcd42bb3127349625a25291ff5ae7e6f8d42e0fe9b5be836a99 external/Newtonsoft.Json/Tools/7-zip/copying.txt diff --git a/package/monolite/monolite.hash b/package/monolite/monolite.hash index b008d42eb..e72ccfbf9 100644 --- a/package/monolite/monolite.hash +++ b/package/monolite/monolite.hash @@ -1,2 +1,2 @@ # sha256 locally computed -sha256 0ac314f75ca2bc4455785f12ceb50da89b6dac90162f9f46afbbb988a8752d4b monolite-linux-1A5E0066-58DC-428A-B21C-0AD6CDAE2789-latest.tar.gz +sha256 0ac314f75ca2bc4455785f12ceb50da89b6dac90162f9f46afbbb988a8752d4b monolite-linux-1A5E0066-58DC-428A-B21C-0AD6CDAE2789-latest.tar.gz diff --git a/package/mosh/mosh.hash b/package/mosh/mosh.hash index baffe1f14..3558bf903 100644 --- a/package/mosh/mosh.hash +++ b/package/mosh/mosh.hash @@ -1,5 +1,5 @@ # From https://mailman.mit.edu/pipermail/mosh-users/2017-July/000357.html -sha256 da600573dfa827d88ce114e0fed30210689381bbdcff543c931e4d6a2e851216 mosh-1.3.2.tar.gz +sha256 da600573dfa827d88ce114e0fed30210689381bbdcff543c931e4d6a2e851216 mosh-1.3.2.tar.gz # Locally calculcated -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING -sha256 8042495ddc8d99b883335d53552554eccf825fc1f0ba487d0f8e6656baaa8199 COPYING.iOS +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 8042495ddc8d99b883335d53552554eccf825fc1f0ba487d0f8e6656baaa8199 COPYING.iOS diff --git a/package/mosquitto/Config.in b/package/mosquitto/Config.in index b4effa36b..6fa5f79c6 100644 --- a/package/mosquitto/Config.in +++ b/package/mosquitto/Config.in @@ -17,7 +17,7 @@ config BR2_PACKAGE_MOSQUITTO implementing MQTT clients, and the very popular mosquitto_pub and mosquitto_sub command line MQTT clients. - http://mosquitto.org/ + https://mosquitto.org/ config BR2_PACKAGE_MOSQUITTO_BROKER bool "install the mosquitto broker" diff --git a/package/mosquitto/mosquitto.hash b/package/mosquitto/mosquitto.hash index 24b8869d1..2cfd0d942 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.13.tar.gz.asc -sha256 d0dde8fdb12caf6e2426b4f28081919a2fce3448773bdb8af0d3cd5fe5776925 mosquitto-2.0.14.tar.gz +# from https://mosquitto.org/files/source/mosquitto-2.0.15.tar.gz.asc +sha256 4735b1d32e3f91c7a8896741d88a3022e89730a1ee897946decfa0df27039ac6 mosquitto-2.0.15.tar.gz # License files sha256 d3c4ccace4e5d3cc89d34cf2a0bc85b8596bfc0a32b815d0d77f9b7c41b5350c LICENSE.txt diff --git a/package/mosquitto/mosquitto.mk b/package/mosquitto/mosquitto.mk index 3e7a728ac..12de2946b 100644 --- a/package/mosquitto/mosquitto.mk +++ b/package/mosquitto/mosquitto.mk @@ -4,7 +4,7 @@ # ################################################################################ -MOSQUITTO_VERSION = 2.0.14 +MOSQUITTO_VERSION = 2.0.15 MOSQUITTO_SITE = https://mosquitto.org/files/source MOSQUITTO_LICENSE = EPL-2.0 or EDLv1.0 MOSQUITTO_LICENSE_FILES = LICENSE.txt epl-v20 edl-v10 @@ -124,7 +124,7 @@ define MOSQUITTO_INSTALL_INIT_SYSTEMD endef define MOSQUITTO_USERS - mosquitto -1 nobody -1 * - - - Mosquitto user + mosquitto -1 mosquitto -1 * - - - Mosquitto user endef endif diff --git a/package/most/most.hash b/package/most/most.hash index 151caadc3..db0eb6db5 100644 --- a/package/most/most.hash +++ b/package/most/most.hash @@ -1,6 +1,6 @@ # From https://www.jedsoft.org/releases/most/ -sha1 db811669a6b22c15478c957b439b5e4483ce1c95 most-5.1.0.tar.gz +sha1 db811669a6b22c15478c957b439b5e4483ce1c95 most-5.1.0.tar.gz # Locally computed -sha256 db805d1ffad3e85890802061ac8c90e3c89e25afb184a794e03715a3ed190501 most-5.1.0.tar.gz -sha256 1b2a567f289f66a143c56353e7b3d4fa5862514a5e3c5cfdf8b02ee5e5aaa953 COPYING -sha256 47ad1c3f9b94d6ec42d9bee6c5df980c5c2daa5b9d22113545ae6a3f21ca2f52 COPYRIGHT +sha256 db805d1ffad3e85890802061ac8c90e3c89e25afb184a794e03715a3ed190501 most-5.1.0.tar.gz +sha256 1b2a567f289f66a143c56353e7b3d4fa5862514a5e3c5cfdf8b02ee5e5aaa953 COPYING +sha256 47ad1c3f9b94d6ec42d9bee6c5df980c5c2daa5b9d22113545ae6a3f21ca2f52 COPYRIGHT diff --git a/package/mpd/0002-lib-alsa-Error-add-missing-include.patch b/package/mpd/0002-lib-alsa-Error-add-missing-include.patch deleted file mode 100644 index c45a087a5..000000000 --- a/package/mpd/0002-lib-alsa-Error-add-missing-include.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 3856224df9160c201bc6d224aa927e7c358e3269 Mon Sep 17 00:00:00 2001 -From: aeolio -Date: Tue, 14 Dec 2021 09:01:23 +0100 -Subject: [PATCH] lib/alsa/Error: add missing #include - -Downloaded from upstream commit: -https://github.com/MusicPlayerDaemon/MPD/commit/3856224df9160c201bc6d224aa927e7c358e3269 - -Signed-off-by: Bernd Kuhls ---- - src/lib/alsa/Error.cxx | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/lib/alsa/Error.cxx b/src/lib/alsa/Error.cxx -index cd351f37d1..8ceb4417ca 100644 ---- a/src/lib/alsa/Error.cxx -+++ b/src/lib/alsa/Error.cxx -@@ -29,6 +29,7 @@ - - #include "Error.hxx" - -+#include - #include - - namespace Alsa { diff --git a/package/mpd/mpd.hash b/package/mpd/mpd.hash index 56f88490c..353df25b3 100644 --- a/package/mpd/mpd.hash +++ b/package/mpd/mpd.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 f22c2c25093a05f4566f9cd7207cfbcd8405af67ed29a989bcf8905f80b7a299 mpd-0.23.5.tar.xz +sha256 960dcbac717c388f5dcc4fd945e3af19a476f2b15f367e9653d4c7a948768211 mpd-0.23.7.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/mpd/mpd.mk b/package/mpd/mpd.mk index a55e4adde..20c8f77fa 100644 --- a/package/mpd/mpd.mk +++ b/package/mpd/mpd.mk @@ -5,7 +5,7 @@ ################################################################################ MPD_VERSION_MAJOR = 0.23 -MPD_VERSION = $(MPD_VERSION_MAJOR).5 +MPD_VERSION = $(MPD_VERSION_MAJOR).7 MPD_SOURCE = mpd-$(MPD_VERSION).tar.xz MPD_SITE = https://www.musicpd.org/download/mpd/$(MPD_VERSION_MAJOR) MPD_DEPENDENCIES = host-pkgconf boost fmt diff --git a/package/mpv/Config.in b/package/mpv/Config.in index 81b1e24b5..ebfb83157 100644 --- a/package/mpv/Config.in +++ b/package/mpv/Config.in @@ -8,7 +8,7 @@ config BR2_PACKAGE_MPV bool "mpv" depends on BR2_INSTALL_LIBSTDCPP # libass depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libass - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C11/stdatomic.h depends on BR2_TOOLCHAIN_HAS_ATOMIC @@ -32,10 +32,10 @@ config BR2_PACKAGE_MPV https://mpv.io/ -comment "mpv needs a toolchain w/ C++, threads, gcc >= 4.9" +comment "mpv needs a toolchain w/ C++, NPTL, gcc >= 4.9" depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/msmtp/msmtp.hash b/package/msmtp/msmtp.hash index 1e73d9247..c5571f2fb 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.14.tar.xz.sig +# https://marlam.de/msmtp/releases/msmtp-1.8.22.tar.xz.sig # with key 2F61B4828BBA779AECB3F32703A2A4AB1E32FD34 -sha256 d56f065d711486e9c234618515a02a48a48dab4051b34f3e108fbecb6fb773b4 msmtp-1.8.14.tar.xz +sha256 1b04206286a5b82622335e4eb09e17074368b7288e53d134543cbbc6b79ea3e7 msmtp-1.8.22.tar.xz # Hash for license file: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/msmtp/msmtp.mk b/package/msmtp/msmtp.mk index 3db36f4cd..c3928ffcb 100644 --- a/package/msmtp/msmtp.mk +++ b/package/msmtp/msmtp.mk @@ -4,7 +4,7 @@ # ################################################################################ -MSMTP_VERSION = 1.8.14 +MSMTP_VERSION = 1.8.22 MSMTP_SITE = https://marlam.de/msmtp/releases MSMTP_SOURCE = msmtp-$(MSMTP_VERSION).tar.xz MSMTP_DEPENDENCIES = host-pkgconf diff --git a/package/mstpd/0001-bridge-stp.in-support-different-versions-of-pidof-13.patch b/package/mstpd/0001-bridge-stp.in-support-different-versions-of-pidof-13.patch new file mode 100644 index 000000000..daa591131 --- /dev/null +++ b/package/mstpd/0001-bridge-stp.in-support-different-versions-of-pidof-13.patch @@ -0,0 +1,48 @@ +From 181c453fc1a00573e19f14960dcc54ad84beea7c Mon Sep 17 00:00:00 2001 +From: colin-foster-in-advantage +Date: Tue, 12 Jul 2022 23:01:09 -0700 +Subject: [PATCH] bridge-stp.in: support different versions of pidof (#137) + +* bridge-stp.in: support different versions of pidof + +Busybox uses a version of pdiof that doesn't support the -c option. As +such, this renders mstpd non-functional on any Busybox system. + +Just use the standard form of pidof to detect any running instances of mstpd. + +Signed-off-by: Colin Foster +--- + bridge-stp.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/bridge-stp.in b/bridge-stp.in +index 47cbe79..3807873 100755 +--- a/bridge-stp.in ++++ b/bridge-stp.in +@@ -139,7 +139,7 @@ case "$action" in + fi + + # Start mstpd if necessary. +- if ! pidof -c -s mstpd >/dev/null; then ++ if ! pidof -s mstpd >/dev/null; then + if [ "$MANAGE_MSTPD" != 'y' ]; then + errmsg 'mstpd is not running' + exit 3 +@@ -212,12 +212,12 @@ case "$action" in + done + + # Kill mstpd, since no bridges are currently using it. +- kill $(pidof -c mstpd) ++ kill $(pidof mstpd) + ;; + restart|restart_config) + if [ "$action" = 'restart' ]; then + # Kill mstpd. +- pids="$(pidof -c mstpd)" ; Err=$? ++ pids="$(pidof mstpd)" ; Err=$? + if [ $Err -eq 0 ]; then + echo 'Stopping mstpd ...' + kill $pids +-- +2.25.1 + diff --git a/package/mstpd/mstpd.mk b/package/mstpd/mstpd.mk index 907d09424..07c41af8d 100644 --- a/package/mstpd/mstpd.mk +++ b/package/mstpd/mstpd.mk @@ -10,4 +10,8 @@ MSTPD_AUTORECONF = YES MSTPD_LICENSE = GPL-2.0, RSA Data Security (md5) MSTPD_LICENSE_FILES = LICENSE hmac_md5.c +# The Linux kernel requires mstp binaries to be installed into /sbin, +# not /usr/sbin. +MSTPD_CONF_OPTS = --sbindir=/sbin + $(eval $(autotools-package)) diff --git a/package/mtools/mtools.hash b/package/mtools/mtools.hash index 5d1bca486..a162bfdc9 100644 --- a/package/mtools/mtools.hash +++ b/package/mtools/mtools.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 f4dd1fb4b4d72f344f7efcfb05219de3882c6c6fce678d75e7cfb29ca162c7ca mtools-4.0.37.tar.lz +sha256 7086821b399a39b8a3c5a372d064de4860f3c195b4911dd4e8b76219fcabe75c mtools-4.0.38.tar.lz # Locally calculated sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/mtools/mtools.mk b/package/mtools/mtools.mk index f73fd5d23..c875814bc 100644 --- a/package/mtools/mtools.mk +++ b/package/mtools/mtools.mk @@ -4,7 +4,7 @@ # ################################################################################ -MTOOLS_VERSION = 4.0.37 +MTOOLS_VERSION = 4.0.38 MTOOLS_SOURCE = mtools-$(MTOOLS_VERSION).tar.lz MTOOLS_SITE = $(BR2_GNU_MIRROR)/mtools MTOOLS_LICENSE = GPL-3.0+ diff --git a/package/multicat/multicat.hash b/package/multicat/multicat.hash index 9cf84bc50..63acc15f4 100644 --- a/package/multicat/multicat.hash +++ b/package/multicat/multicat.hash @@ -1,6 +1,6 @@ # From https://get.videolan.org/multicat/2.3/multicat-2.3.tar.bz2.md5 -md5 cf4e4bc07d72eda110050d755db14620 multicat-2.3.tar.bz2 +md5 cf4e4bc07d72eda110050d755db14620 multicat-2.3.tar.bz2 # From https://get.videolan.org/multicat/2.3/multicat-2.3.tar.bz2.sha256 -sha256 2be162e9e8b2e6f6aa7686431f102db6c72c8288bd82dbc67ffed631f4a3361e multicat-2.3.tar.bz2 +sha256 2be162e9e8b2e6f6aa7686431f102db6c72c8288bd82dbc67ffed631f4a3361e multicat-2.3.tar.bz2 # locally calculated -sha256 94f68aec169fb6c9937eade757251714d38a56812be5dbfc3973914a71ad8d2d COPYING +sha256 94f68aec169fb6c9937eade757251714d38a56812be5dbfc3973914a71ad8d2d COPYING diff --git a/package/multipath-tools/0002-Makefile.inc-Enable-systemd-if-ENABLE_SYSTEMD-is-def.patch b/package/multipath-tools/0001-Makefile.inc-Enable-systemd-if-ENABLE_SYSTEMD-is-def.patch similarity index 100% rename from package/multipath-tools/0002-Makefile.inc-Enable-systemd-if-ENABLE_SYSTEMD-is-def.patch rename to package/multipath-tools/0001-Makefile.inc-Enable-systemd-if-ENABLE_SYSTEMD-is-def.patch diff --git a/package/multipath-tools/0001-kpartx-libmultipath-use-pkg-config-to-get-path-to-he.patch b/package/multipath-tools/0001-kpartx-libmultipath-use-pkg-config-to-get-path-to-he.patch deleted file mode 100644 index 0d46f12a6..000000000 --- a/package/multipath-tools/0001-kpartx-libmultipath-use-pkg-config-to-get-path-to-he.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 922855e245c8bdadc0d24b5b706549b18fb5f079 Mon Sep 17 00:00:00 2001 -From: Alexander Egorenkov -Date: Sat, 21 Nov 2020 11:08:56 +0100 -Subject: [PATCH] kpartx, libmultipath: use pkg-config to get path to - headers - -Use pkg-config in Makefile to find path to devmapper and udev headers -to enable cross-compilation. - -Signed-off-by: Alexander Egorenkov ---- - kpartx/Makefile | 2 +- - libmultipath/Makefile | 12 ++++++------ - 2 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/kpartx/Makefile b/kpartx/Makefile -index 2906a984..29573890 100644 ---- a/kpartx/Makefile -+++ b/kpartx/Makefile -@@ -8,7 +8,7 @@ LDFLAGS += $(BIN_LDFLAGS) - - LIBDEPS += -ldevmapper - --ifneq ($(call check_func,dm_task_set_cookie,/usr/include/libdevmapper.h),0) -+ifneq ($(call check_func,dm_task_set_cookie,$(shell $(PKG_CONFIG) --variable=includedir devmapper)/libdevmapper.h),0) - CFLAGS += -DLIBDM_API_COOKIE - endif - -diff --git a/libmultipath/Makefile b/libmultipath/Makefile -index 62ba16e8..3ad9130c 100644 ---- a/libmultipath/Makefile -+++ b/libmultipath/Makefile -@@ -20,27 +20,27 @@ ifdef SYSTEMD - endif - endif - --ifneq ($(call check_func,dm_task_no_flush,/usr/include/libdevmapper.h),0) -+ifneq ($(call check_func,dm_task_no_flush,$(shell $(PKG_CONFIG) --variable=includedir devmapper)/libdevmapper.h),0) - CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE - endif - --ifneq ($(call check_func,dm_task_get_errno,/usr/include/libdevmapper.h),0) -+ifneq ($(call check_func,dm_task_get_errno,$(shell $(PKG_CONFIG) --variable=includedir devmapper)/libdevmapper.h),0) - CFLAGS += -DLIBDM_API_GET_ERRNO - endif - --ifneq ($(call check_func,dm_task_set_cookie,/usr/include/libdevmapper.h),0) -+ifneq ($(call check_func,dm_task_set_cookie,$(shell $(PKG_CONFIG) --variable=includedir devmapper)/libdevmapper.h),0) - CFLAGS += -DLIBDM_API_COOKIE - endif - --ifneq ($(call check_func,udev_monitor_set_receive_buffer_size,/usr/include/libudev.h),0) -+ifneq ($(call check_func,udev_monitor_set_receive_buffer_size,$(shell $(PKG_CONFIG) --variable=includedir libudev)/libudev.h),0) - CFLAGS += -DLIBUDEV_API_RECVBUF - endif - --ifneq ($(call check_func,dm_task_deferred_remove,/usr/include/libdevmapper.h),0) -+ifneq ($(call check_func,dm_task_deferred_remove,$(shell $(PKG_CONFIG) --variable=includedir devmapper)/libdevmapper.h),0) - CFLAGS += -DLIBDM_API_DEFERRED - endif - --ifneq ($(call check_func,dm_hold_control_dev,/usr/include/libdevmapper.h),0) -+ifneq ($(call check_func,dm_hold_control_dev,$(shell $(PKG_CONFIG) --variable=includedir devmapper)/libdevmapper.h),0) - CFLAGS += -DLIBDM_API_HOLD_CONTROL - endif - --- -2.29.2 - diff --git a/package/multipath-tools/multipath-tools.hash b/package/multipath-tools/multipath-tools.hash index f06384868..6f893d37c 100644 --- a/package/multipath-tools/multipath-tools.hash +++ b/package/multipath-tools/multipath-tools.hash @@ -1,7 +1,7 @@ # Locally computed: -sha256 ff45ddb18a1effbfbe5712f513dd3b7146c68141091fc1c2489af8d6197026ef multipath-tools-0.8.8.tar.gz +sha256 7d5af5d86e43b757e253d1ba244aa8a9c09bfbb1677a72accb799b1bfcc0a9ac multipath-tools-0.9.3.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSES/GPL-2.0 sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 LICENSES/GPL-3.0 sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c LICENSES/LGPL-2.0 sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSES/LGPL-2.1 -sha256 b1bd70cc61ab014cc2e744af6b117db481ef4fa5d59cb3a21d86059935c666df README.md +sha256 1e6095ac219062b8ddb2416d2a3cc40560619cd6b3ba609f5602bbd320413be0 README.md diff --git a/package/multipath-tools/multipath-tools.mk b/package/multipath-tools/multipath-tools.mk index eecfe3900..df3d5138e 100644 --- a/package/multipath-tools/multipath-tools.mk +++ b/package/multipath-tools/multipath-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -MULTIPATH_TOOLS_VERSION = 0.8.8 +MULTIPATH_TOOLS_VERSION = 0.9.3 MULTIPATH_TOOLS_SITE = $(call github,opensvc,multipath-tools,$(MULTIPATH_TOOLS_VERSION)) MULTIPATH_TOOLS_LICENSE = \ @@ -18,9 +18,11 @@ MULTIPATH_TOOLS_LICENSE_FILES = \ LICENSES/LGPL-2.0 \ LICENSES/LGPL-2.1 \ README.md +MULTIPATH_TOOLS_CPE_ID_VENDOR = opensvc MULTIPATH_TOOLS_DEPENDENCIES = lvm2 json-c readline udev liburcu libaio host-pkgconf MULTIPATH_TOOLS_MAKE_OPTS = \ + LINUX_HEADERS_INCDIR=$(STAGING_DIR)/usr/include \ LIB="lib" \ RUN="run" \ OPTFLAGS="" \ diff --git a/package/mupdf/0005-Bug-704834-Fix-division-by-zero-for-zero-width-pages-in-muraster.patch b/package/mupdf/0005-Bug-704834-Fix-division-by-zero-for-zero-width-pages-in-muraster.patch new file mode 100644 index 000000000..099a3fdba --- /dev/null +++ b/package/mupdf/0005-Bug-704834-Fix-division-by-zero-for-zero-width-pages-in-muraster.patch @@ -0,0 +1,29 @@ +From 22c47acbd52949421f8c7cb46ea1556827d0fcbf Mon Sep 17 00:00:00 2001 +From: Sebastian Rasmussen +Date: Tue, 18 Jan 2022 20:33:10 +0100 +Subject: [PATCH] Bug 704834: Fix division by zero for zero width pages in + muraster. + +[Retrieved from: +https://github.com/ArtifexSoftware/mupdf/commit/22c47acbd52949421f8c7cb46ea1556827d0fcbf] +Signed-off-by: Fabrice Fontaine +--- + source/tools/muraster.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/source/tools/muraster.c b/source/tools/muraster.c +index c2ceb62f2e..97f4ae2633 100644 +--- a/source/tools/muraster.c ++++ b/source/tools/muraster.c +@@ -1003,8 +1003,9 @@ initialise_banding(fz_context *ctx, render_details *render, int color) + + w = render->ibounds.x1 - render->ibounds.x0; + min_band_mem = (size_t)bpp * w * min_band_height; +- reps = (int)(max_band_memory / min_band_mem); +- if (reps < 1) ++ if (min_band_mem > 0) ++ reps = (int)(max_band_memory / min_band_mem); ++ if (min_band_mem == 0 || reps < 1) + reps = 1; + + /* Adjust reps to even out the work between threads */ diff --git a/package/mupdf/mupdf.hash b/package/mupdf/mupdf.hash index 934836e76..67093cbc9 100644 --- a/package/mupdf/mupdf.hash +++ b/package/mupdf/mupdf.hash @@ -2,7 +2,7 @@ sha1 fc17bd01d5860e49b009f28a5ddb629e94af4510 mupdf-1.18.0-source.tar.xz # Locally computed: -sha256 592d4f6c0fba41bb954eb1a41616661b62b134d5b383e33bd45a081af5d4a59a mupdf-1.18.0-source.tar.xz +sha256 592d4f6c0fba41bb954eb1a41616661b62b134d5b383e33bd45a081af5d4a59a mupdf-1.18.0-source.tar.xz # Hash for license files: sha256 57c8ff33c9c0cfc3ef00e650a1cc910d7ee479a8bc509f6c9209a7c2a11399d6 COPYING diff --git a/package/mupdf/mupdf.mk b/package/mupdf/mupdf.mk index 56ea7cc50..e86ba1e73 100644 --- a/package/mupdf/mupdf.mk +++ b/package/mupdf/mupdf.mk @@ -28,6 +28,9 @@ MUPDF_IGNORE_CVES += CVE-2021-3407 # 0003-Bug-703791-Stay-within-hash-table-max-key-size-in-cached-color-converter.patch MUPDF_IGNORE_CVES += CVE-2021-37220 +# 0005-Bug-704834-Fix-division-by-zero-for-zero-width-pages-in-muraster.patch +MUPDF_IGNORE_CVES += CVE-2021-4216 + # The pkg-config name for gumbo-parser is `gumbo`. MUPDF_PKG_CONFIG_PACKAGES = \ freetype2 \ diff --git a/package/murata-cyw-fw/murata-cyw-fw.hash b/package/murata-cyw-fw/murata-cyw-fw.hash index c1afb229e..d3c23dca7 100644 --- a/package/murata-cyw-fw/murata-cyw-fw.hash +++ b/package/murata-cyw-fw/murata-cyw-fw.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 c3ecf357786d6db6f3283c0ea36ec067b1728f801fd8871694aed1502a82e9bc murata-cyw-fw-8d87950bfad28c65926695b7357bd8995b60016a.tar.gz -sha256 03c140ae04f9c2036678262d6457b9c4b4a9ebb523c5e681af6d57b97c11da37 cyw-fmac-nvram-d27f1bf105fa1e5b828e355793b88d4b66188411.tar.gz -sha256 8f23ebb9a262112b62ace1e1bedcdeb00523d9a45e8d48a829d4ca35db4f0280 cyw-bt-patch-748462f0b02ec4aeb500bedd60780ac51c37be31.tar.gz -sha256 3a892759b73e8b459f1a750954b316118b0061fd9d1868d11fa258c104ee7e0c LICENCE.cypress +sha256 c3ecf357786d6db6f3283c0ea36ec067b1728f801fd8871694aed1502a82e9bc murata-cyw-fw-8d87950bfad28c65926695b7357bd8995b60016a.tar.gz +sha256 03c140ae04f9c2036678262d6457b9c4b4a9ebb523c5e681af6d57b97c11da37 cyw-fmac-nvram-d27f1bf105fa1e5b828e355793b88d4b66188411.tar.gz +sha256 8f23ebb9a262112b62ace1e1bedcdeb00523d9a45e8d48a829d4ca35db4f0280 cyw-bt-patch-748462f0b02ec4aeb500bedd60780ac51c37be31.tar.gz +sha256 3a892759b73e8b459f1a750954b316118b0061fd9d1868d11fa258c104ee7e0c LICENCE.cypress diff --git a/package/musepack/musepack.hash b/package/musepack/musepack.hash index b811edd99..5a03bd260 100644 --- a/package/musepack/musepack.hash +++ b/package/musepack/musepack.hash @@ -1,5 +1,5 @@ # From https://www.musepack.net/index.php?pg=src -md5 754d67be67f713e54baf70fcfdb2817e musepack_src_r475.tar.gz +md5 754d67be67f713e54baf70fcfdb2817e musepack_src_r475.tar.gz # Calculated based on the hash above sha256 a4b1742f997f83e1056142d556a8c20845ba764b70365ff9ccf2e3f81c427b2b musepack_src_r475.tar.gz # Locally computed diff --git a/package/musl-compat-headers/musl-compat-headers.hash b/package/musl-compat-headers/musl-compat-headers.hash index f8e2a6c59..626145df3 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?rev=1.70 diff --git a/package/musl-fts/musl-fts.hash b/package/musl-fts/musl-fts.hash index 8838c8479..e1266cfcd 100644 --- a/package/musl-fts/musl-fts.hash +++ b/package/musl-fts/musl-fts.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 49ae567a96dbab22823d045ffebe0d6b14b9b799925e9ca9274d47d26ff482a6 musl-fts-1.2.7.tar.gz -sha256 55af87e4017668f54467a3380e7ebbac5e672d8c763bfe95e6fc882a6fdc4046 COPYING +sha256 49ae567a96dbab22823d045ffebe0d6b14b9b799925e9ca9274d47d26ff482a6 musl-fts-1.2.7.tar.gz +sha256 55af87e4017668f54467a3380e7ebbac5e672d8c763bfe95e6fc882a6fdc4046 COPYING diff --git a/package/musl/musl.mk b/package/musl/musl.mk index b89945e3b..a07041c02 100644 --- a/package/musl/musl.mk +++ b/package/musl/musl.mk @@ -60,12 +60,14 @@ endef define MUSL_INSTALL_STAGING_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ DESTDIR=$(STAGING_DIR) install-libs install-tools install-headers + ln -sf libc.so $(STAGING_DIR)/lib/ld-musl* endef define MUSL_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ DESTDIR=$(TARGET_DIR) install-libs $(RM) $(addprefix $(TARGET_DIR)/lib/,crt1.o crtn.o crti.o rcrt1.o Scrt1.o) + ln -sf libc.so $(TARGET_DIR)/lib/ld-musl* endef $(eval $(generic-package)) diff --git a/package/mutt/mutt.hash b/package/mutt/mutt.hash index d439b23aa..c475641ab 100644 --- a/package/mutt/mutt.hash +++ b/package/mutt/mutt.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 92a309e47e363a97d62425bcb71adceae5ab5c4c413dbcac37fa98ed70c12be0 mutt-2.1.5.tar.gz +sha256 fa531b231d58fe1f30ceda0ed626683ea9ebdfb76ce47ef8bb27c2f77422cffb mutt-2.2.9.tar.gz sha256 732f24b69a6c71cd8e01e4672bb8e12cc1cbb88a50a4665e6ca4fd95000a57ee GPL diff --git a/package/mutt/mutt.mk b/package/mutt/mutt.mk index 7e9046fe8..5cf1b6bad 100644 --- a/package/mutt/mutt.mk +++ b/package/mutt/mutt.mk @@ -4,7 +4,7 @@ # ################################################################################ -MUTT_VERSION = 2.1.5 +MUTT_VERSION = 2.2.9 MUTT_SITE = https://bitbucket.org/mutt/mutt/downloads MUTT_LICENSE = GPL-2.0+ MUTT_LICENSE_FILES = GPL @@ -37,6 +37,10 @@ MUTT_DEPENDENCIES += libgpgme MUTT_CONF_OPTS += \ --enable-gpgme \ --with-gpgme-prefix=$(STAGING_DIR)/usr + +# Force the path to "gpgrt-config" (from the libgpg-error package) to +# avoid using the one on host, if present. +MUTT_CONF_ENV += GPGRT_CONFIG=$(STAGING_DIR)/usr/bin/gpgrt-config else MUTT_CONF_OPTS += --disable-gpgme endif @@ -53,8 +57,15 @@ else MUTT_CONF_OPTS += --disable-pop endif -# SSL support is only used by imap or pop3 module +# SASL and SSL support are only used by imap or pop3 module ifneq ($(BR2_PACKAGE_MUTT_IMAP)$(BR2_PACKAGE_MUTT_POP3),) +ifeq ($(BR2_PACKAGE_LIBGSASL),y) +MUTT_DEPENDENCIES += libgsasl +MUTT_CONF_OPTS += --with-gsasl +else +MUTT_CONF_OPTS += --without-gsasl +endif + ifeq ($(BR2_PACKAGE_OPENSSL),y) MUTT_DEPENDENCIES += openssl MUTT_CONF_OPTS += \ @@ -72,6 +83,7 @@ MUTT_CONF_OPTS += \ endif else MUTT_CONF_OPTS += \ + --without-gsasl \ --without-gnutls \ --without-ssl endif diff --git a/package/mxml/mxml.hash b/package/mxml/mxml.hash index 38056f4c3..412977dff 100644 --- a/package/mxml/mxml.hash +++ b/package/mxml/mxml.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 7cf976366f9e8e4f8cff7d35a59bcf6201c769fce9e58015d64f4b6de1fe3dd8 mxml-3.3.tar.gz +sha256 0c663ed1fe393b5619f80101798202eea43534abd7c8aff389022fd8c1dacc32 mxml-3.3.1.tar.gz sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE -sha256 ed63aec4c75b9c21a5156b40052138032269bd27fd6f4bc0c51389807cdc7db9 NOTICE +sha256 7dedb0043b0bbed7880bcc9724b3a3dae4d5ab2dce98a7904703109572b626e3 NOTICE diff --git a/package/mxml/mxml.mk b/package/mxml/mxml.mk index 88d35cb7e..d224cf530 100644 --- a/package/mxml/mxml.mk +++ b/package/mxml/mxml.mk @@ -4,7 +4,7 @@ # ################################################################################ -MXML_VERSION = 3.3 +MXML_VERSION = 3.3.1 MXML_SITE = https://github.com/michaelrsweet/mxml/releases/download/v$(MXML_VERSION) MXML_LICENSE = Apache-2.0 with exceptions MXML_LICENSE_FILES = LICENSE NOTICE diff --git a/package/mxsldr/mxsldr.mk b/package/mxsldr/mxsldr.mk index 239b40ad2..2375b9f42 100644 --- a/package/mxsldr/mxsldr.mk +++ b/package/mxsldr/mxsldr.mk @@ -5,7 +5,8 @@ ################################################################################ MXSLDR_VERSION = 2793a657ab7a22487d21c1b020957806f8ae8383 -MXSLDR_SITE = git://git.denx.de/mxsldr.git +MXSLDR_SITE = https://git.denx.de/mxsldr.git +MXSLDR_SITE_METHOD = git MXSLDR_LICENSE = GPL-2.0+ MXSLDR_LICENSE_FILES = COPYING HOST_MXSLDR_DEPENDENCIES = host-libusb host-pkgconf diff --git a/package/nanomsg/nanomsg.hash b/package/nanomsg/nanomsg.hash index 062ac9f6f..04b658e8d 100644 --- a/package/nanomsg/nanomsg.hash +++ b/package/nanomsg/nanomsg.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 218b31ae1534ab897cb5c419973603de9ca1a5f54df2e724ab4a188eb416df5a nanomsg-1.1.5.tar.gz +sha256 218b31ae1534ab897cb5c419973603de9ca1a5f54df2e724ab4a188eb416df5a nanomsg-1.1.5.tar.gz # Hash for license file: -sha256 4e51f6a04312ea7c5f4f0e92d91b6415c1eeb09bdaf86a6fd11d93499457c07a COPYING +sha256 4e51f6a04312ea7c5f4f0e92d91b6415c1eeb09bdaf86a6fd11d93499457c07a COPYING diff --git a/package/nbd/nbd.hash b/package/nbd/nbd.hash index f0df35bc2..f58a89bf9 100644 --- a/package/nbd/nbd.hash +++ b/package/nbd/nbd.hash @@ -1,7 +1,7 @@ -# From http://sourceforge.net/projects/nbd/files/nbd/3.21/ -md5 c51c4c500fe1ed84c3d5d5dd2ca71d23 nbd-3.21.tar.xz -sha1 88c3296d43d20d7bda97e0f1bab0243a4f6fa880 nbd-3.21.tar.xz +# From http://sourceforge.net/projects/nbd/files/nbd/3.24/ +md5 a6d9e7bbc311a2ed07ef84a58b82b5dd nbd-3.24.tar.xz +sha1 72c59ef5186ae355de6f539a1b348e18cbb8314e nbd-3.24.tar.xz # Locally calculated -sha256 e7688af39d91733bbcd2db08062c44fe503d004e51528740139c44aff6a6bef9 nbd-3.21.tar.xz +sha256 6877156d23a7b33f75eee89d2f5c2c91c542afc3cdcb636dea5a88539a58d10c nbd-3.24.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/nbd/nbd.mk b/package/nbd/nbd.mk index 0a7f08b2c..50f698dd2 100644 --- a/package/nbd/nbd.mk +++ b/package/nbd/nbd.mk @@ -4,11 +4,11 @@ # ################################################################################ -NBD_VERSION = 3.21 +NBD_VERSION = 3.24 NBD_SOURCE = nbd-$(NBD_VERSION).tar.xz NBD_SITE = http://downloads.sourceforge.net/project/nbd/nbd/$(NBD_VERSION) NBD_CONF_OPTS = --enable-lfs -NBD_DEPENDENCIES = host-pkgconf libglib2 +NBD_DEPENDENCIES = host-bison host-pkgconf libglib2 NBD_LICENSE = GPL-2.0 NBD_LICENSE_FILES = COPYING NBD_CPE_ID_VENDOR = network_block_device_project diff --git a/package/ncurses/ncurses.mk b/package/ncurses/ncurses.mk index 5d9c6bb0d..2881ca130 100644 --- a/package/ncurses/ncurses.mk +++ b/package/ncurses/ncurses.mk @@ -184,16 +184,6 @@ define NCURSES_TARGET_CLEANUP_TERMINFO endef NCURSES_POST_INSTALL_TARGET_HOOKS += NCURSES_TARGET_CLEANUP_TERMINFO -# -# On systems with an older version of tic, the installation of ncurses hangs -# forever. To resolve the problem, build a static version of tic on host -# ourselves, and use that during installation. -# -define HOST_NCURSES_BUILD_CMDS - $(HOST_MAKE_ENV) $(MAKE1) -C $(@D) sources - $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/progs tic -endef - HOST_NCURSES_CONF_ENV = \ ac_cv_path_LDCONFIG="" diff --git a/package/ne10/0002-fix-build-without-C.patch b/package/ne10/0002-fix-build-without-C.patch new file mode 100644 index 000000000..9dafffd5b --- /dev/null +++ b/package/ne10/0002-fix-build-without-C.patch @@ -0,0 +1,55 @@ +From f19b109f2a879af7b0753d94a2a312e4039adbed Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 8 May 2022 23:52:36 +0200 +Subject: [PATCH] fix build without C++ + +Fix the following build failure without C++ raised since version 1.2.0 +and +https://github.com/projectNe10/Ne10/commit/20b1896fd6532336e6a46608778bd6e0396dc4dc: + +CMake Error at /nvmedata/autobuild/instance-11/output-1/host/share/cmake-3.18/Modules/CMakeTestCXXCompiler.cmake:59 (message): + The C++ compiler + + "/usr/bin/clang++" + + is not able to compile a simple test program. + +Fixes: + - http://autobuild.buildroot.org/results/a86d09d569babe6b88cb8e5fbb47483772f42aed + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/projectNe10/Ne10/pull/280] +--- + CMakeLists.txt | 2 +- + modules/CMakeLists.txt | 2 ++ + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 40e1b72..10081f8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -26,7 +26,7 @@ + # + cmake_minimum_required(VERSION 2.6) + +-project(NE10 C CXX ASM) ++project(NE10 C ASM) + + option(NE10_BUILD_SHARED "Build NE10 shared libraries" OFF) + option(NE10_BUILD_STATIC "Build NE10 static libraries" ON) +diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt +index 4f158e9..951527a 100644 +--- a/modules/CMakeLists.txt ++++ b/modules/CMakeLists.txt +@@ -173,6 +173,8 @@ endif(IOS_PLATFORM) + endif() + + if(NE10_ENABLE_DSP) ++ enable_language(CXX) ++ + #enable NE10_init_dsp + add_definitions(-DNE10_ENABLE_DSP) + +-- +2.35.1 + diff --git a/package/ne10/ne10.mk b/package/ne10/ne10.mk index e529caf2a..394660555 100644 --- a/package/ne10/ne10.mk +++ b/package/ne10/ne10.mk @@ -16,6 +16,12 @@ NE10_CONF_OPTS = \ -DNE10_BUILD_UNIT_TEST=OFF \ -DNE10_LINUX_TARGET_ARCH=$(if $(BR2_aarch64),aarch64,armv7) +ifeq ($(BR2_INSTALL_LIBSTDCPP),y) +NE10_CONF_OPTS += -DNE10_ENABLE_DSP=ON +else +NE10_CONF_OPTS += -DNE10_ENABLE_DSP=OFF +endif + ifeq ($(BR2_STATIC_LIBS),) NE10_CONF_OPTS += \ -DNE10_BUILD_SHARED=ON diff --git a/package/neardal/neardal.hash b/package/neardal/neardal.hash index b8b8b96a4..daee3f3e0 100644 --- a/package/neardal/neardal.hash +++ b/package/neardal/neardal.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 dae3c432e619a0d3102c5222d0b8fde74413ae519a64ccaae0fc81d31504aecb neardal-4143d130ed39299bfc59d08d2c7c77dbc7f809e9.tar.gz -sha256 296a87e9098d3f2ce1ef80c73c53399dc2c7412f35d4175c45810ea15ed86406 COPYING +sha256 dae3c432e619a0d3102c5222d0b8fde74413ae519a64ccaae0fc81d31504aecb neardal-4143d130ed39299bfc59d08d2c7c77dbc7f809e9.tar.gz +sha256 296a87e9098d3f2ce1ef80c73c53399dc2c7412f35d4175c45810ea15ed86406 COPYING diff --git a/package/netatalk/0002-etc-uams-openssl_compat.h-fix-build-with-libressl-2..patch b/package/netatalk/0002-etc-uams-openssl_compat.h-fix-build-with-libressl-2..patch new file mode 100644 index 000000000..05913862f --- /dev/null +++ b/package/netatalk/0002-etc-uams-openssl_compat.h-fix-build-with-libressl-2..patch @@ -0,0 +1,43 @@ +From 58ddc137021a938f37c3794305a839f8df449d3f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 5 Apr 2022 23:59:15 +0200 +Subject: [PATCH] etc/uams/openssl_compat.h: fix build with libressl >= 2.7.0 + +Fix the following build failure with libressl >= 2.7.0 which added +DH_set0_pqg with +https://github.com/libressl-portable/openbsd/commit/848e2a019c796b685fc8c5848283b86e48fbe0bf: + +In file included from uams_dhx_passwd.c:35: +openssl_compat.h:15:19: error: static declaration of 'DH_set0_pqg' follows non-static declaration + 15 | inline static int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) + | ^~~~~~~~~~~ +In file included from uams_dhx_passwd.c:33: +/home/autobuild/autobuild/instance-2/output-1/host/mips64-buildroot-linux-uclibc/sysroot/usr/include/openssl/dh.h:195:5: note: previous declaration of 'DH_set0_pqg' was here + 195 | int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g); + | ^~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/fc6e308f346570f8198542602bc8c1bdd0a4869e + +Signed-off-by: Fabrice Fontaine +[Upstream status: not sent yet] +--- + etc/uams/openssl_compat.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/etc/uams/openssl_compat.h b/etc/uams/openssl_compat.h +index ded377bc..5cc8de34 100644 +--- a/etc/uams/openssl_compat.h ++++ b/etc/uams/openssl_compat.h +@@ -11,7 +11,7 @@ http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt + #ifndef OPENSSL_COMPAT_H + #define OPENSSL_COMPAT_H + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000L) + inline static int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) + { + /* If the fields p and g in d are NULL, the corresponding input +-- +2.35.1 + diff --git a/package/netatalk/0002-fix-ftbs-multiple-def-of-invalid_dircache_entries.patch b/package/netatalk/0002-fix-ftbs-multiple-def-of-invalid_dircache_entries.patch deleted file mode 100644 index e7ccc5255..000000000 --- a/package/netatalk/0002-fix-ftbs-multiple-def-of-invalid_dircache_entries.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 32df6e155ccfc83216321925273c3e75e631ebe6 Mon Sep 17 00:00:00 2001 -From: Andrew Bauer -Date: Wed, 22 Jan 2020 09:59:47 -0600 -Subject: [PATCH] fix ftbs multiple def of invalid_dircache_entries - -[Retrieved from: -https://github.com/Netatalk/Netatalk/pull/125/commits/32df6e155ccfc83216321925273c3e75e631ebe6] -Signed-off-by: Fabrice Fontaine ---- - etc/afpd/directory.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/etc/afpd/directory.h b/etc/afpd/directory.h -index eb89c606..81bfa9cb 100644 ---- a/etc/afpd/directory.h -+++ b/etc/afpd/directory.h -@@ -91,7 +91,7 @@ struct maccess { - #define AR_UWRITE (1<<2) - #define AR_UOWN (1<<7) - --q_t *invalid_dircache_entries; -+extern q_t *invalid_dircache_entries; - - typedef int (*dir_loop)(struct dirent *, char *, void *); - diff --git a/package/netatalk/netatalk.hash b/package/netatalk/netatalk.hash index 6c3250a00..6dead5457 100644 --- a/package/netatalk/netatalk.hash +++ b/package/netatalk/netatalk.hash @@ -1,6 +1,7 @@ -# From http://sourceforge.net/projects/netatalk/files/netatalk/3.1.12/ -md5 021d2330cb7f7cd2977aec46299dcc1b netatalk-3.1.12.tar.bz2 -sha1 cc1fe1ebdbdb4da9cf82835c440e82ba28a832c5 netatalk-3.1.12.tar.bz2 +# From http://sourceforge.net/projects/netatalk/files/netatalk/3.1.13/ +md5 697421623c32ee0ab9c8076191766e5f netatalk-3.1.13.tar.bz2 +sha1 16dd7fa84962a44b36b795b8c44393e728785947 netatalk-3.1.13.tar.bz2 # Locally computed +sha256 89ada6bcfe1b39ad94f58c236654d1d944f2645c3e7de98b3374e0bd37d5e05d netatalk-3.1.13.tar.bz2 sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING sha256 7599ae145e53be03a08f8b558b2f2e0c828e1630f1843cc04f41981b8cefcd65 COPYRIGHT diff --git a/package/netatalk/netatalk.mk b/package/netatalk/netatalk.mk index 0c219a231..7cc950beb 100644 --- a/package/netatalk/netatalk.mk +++ b/package/netatalk/netatalk.mk @@ -4,7 +4,7 @@ # ################################################################################ -NETATALK_VERSION = 3.1.12 +NETATALK_VERSION = 3.1.13 NETATALK_SITE = http://downloads.sourceforge.net/project/netatalk/netatalk/$(NETATALK_VERSION) NETATALK_SOURCE = netatalk-$(NETATALK_VERSION).tar.bz2 # For 0001-Fix-setting-of-LD_LIBRARY_FLAGS-shlibpath_var.patch diff --git a/package/netcalc/netcalc.hash b/package/netcalc/netcalc.hash index 34d64b167..ba503b645 100644 --- a/package/netcalc/netcalc.hash +++ b/package/netcalc/netcalc.hash @@ -1,5 +1,5 @@ # From https://github.com/troglobit/netcalc/releases/tag/v2.1.6 -md5 c8660b61370c76d866247fe65966a35b netcalc-2.1.6.tar.gz +md5 c8660b61370c76d866247fe65966a35b netcalc-2.1.6.tar.gz # Locally computed: -sha256 cff41782fcf63d7d4ce6d35f95ed302127f6ddf6fc0ca03a8188af95a7c3243b netcalc-2.1.6.tar.gz -sha256 745538f8d515d37af6f03442df982a8b211b129e8dc10d0195e33c4b42f8fe5f LICENSE +sha256 cff41782fcf63d7d4ce6d35f95ed302127f6ddf6fc0ca03a8188af95a7c3243b netcalc-2.1.6.tar.gz +sha256 745538f8d515d37af6f03442df982a8b211b129e8dc10d0195e33c4b42f8fe5f LICENSE diff --git a/package/netdata/netdata.hash b/package/netdata/netdata.hash index 8d5ce51fc..488f5aaa9 100644 --- a/package/netdata/netdata.hash +++ b/package/netdata/netdata.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 60cdde3f1f8bd9035fef6a566053c0a7195d1714b5da6814473263e85382b4a8 netdata-1.21.1.tar.gz -sha256 0e5fd9d833efe9b79f784d1903281554af82d1b4261af67d35455728e5572aa6 LICENSE +sha256 60cdde3f1f8bd9035fef6a566053c0a7195d1714b5da6814473263e85382b4a8 netdata-1.21.1.tar.gz +sha256 0e5fd9d833efe9b79f784d1903281554af82d1b4261af67d35455728e5572aa6 LICENSE diff --git a/package/netdata/netdata.mk b/package/netdata/netdata.mk index 6def59764..60eac1400 100644 --- a/package/netdata/netdata.mk +++ b/package/netdata/netdata.mk @@ -29,6 +29,13 @@ else NETDATA_CONF_OPTS += --disable-plugin-cups endif +ifeq ($(BR2_PACKAGE_FREEIPMI),y) +NETDATA_CONF_OPTS += --enable-plugin-freeipmi +NETDATA_DEPENDENCIES += freeipmi +else +NETDATA_CONF_OPTS += --disable-plugin-freeipmi +endif + ifeq ($(BR2_PACKAGE_JSON_C),y) NETDATA_CONF_OPTS += --enable-jsonc NETDATA_DEPENDENCIES += json-c diff --git a/package/netifrc/netifrc.hash b/package/netifrc/netifrc.hash index d811acc4a..00082a7a2 100644 --- a/package/netifrc/netifrc.hash +++ b/package/netifrc/netifrc.hash @@ -1,3 +1,3 @@ # Calculated manually -sha256 004907e0c3db2d106d6a51d604d79f971f1013fa7642054ad7efe5076e52f7b3 netifrc-0.6.1.tar.gz -sha256 da376c9e2244f2a7220767ea4dd88cf423ff5b548e7c2f96b0f3b9dac727748a LICENSE +sha256 004907e0c3db2d106d6a51d604d79f971f1013fa7642054ad7efe5076e52f7b3 netifrc-0.6.1.tar.gz +sha256 da376c9e2244f2a7220767ea4dd88cf423ff5b548e7c2f96b0f3b9dac727748a LICENSE diff --git a/package/netopeer2/S52netopeer2 b/package/netopeer2/S52netopeer2 index cf53a8f10..cadd6b9fe 100644 --- a/package/netopeer2/S52netopeer2 +++ b/package/netopeer2/S52netopeer2 @@ -8,7 +8,7 @@ NETOPEER2_SERVER_ARGS="" start() { printf 'Starting %s: ' "$DAEMON" - start-stop-daemon -S -b -q -p $PIDFILE -x "/usr/bin/$DAEMON" \ + start-stop-daemon -S -q -p $PIDFILE -x "/usr/sbin/$DAEMON" \ -- $NETOPEER2_SERVER_ARGS status=$? if [ "$status" -eq 0 ]; then diff --git a/package/netsniff-ng/Config.in b/package/netsniff-ng/Config.in index 5d1407baa..9ad3628f1 100644 --- a/package/netsniff-ng/Config.in +++ b/package/netsniff-ng/Config.in @@ -1,9 +1,8 @@ config BR2_PACKAGE_NETSNIFF_NG bool "netsniff-ng" depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # pthread_spin_lock depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS - select BR2_PACKAGE_LIBNL select BR2_PACKAGE_LIBPCAP select BR2_PACKAGE_LIBNETFILTER_CONNTRACK select BR2_PACKAGE_LIBURCU @@ -29,7 +28,7 @@ comment "mausezahn needs glibc or musl toolchain" endif -comment "netsniff-ng needs a toolchain w/ threads, headers >= 3.0" +comment "netsniff-ng needs a toolchain w/ NPTL, headers >= 3.0" depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 diff --git a/package/netsniff-ng/netsniff-ng.mk b/package/netsniff-ng/netsniff-ng.mk index 27bd707c8..2b5b19b27 100644 --- a/package/netsniff-ng/netsniff-ng.mk +++ b/package/netsniff-ng/netsniff-ng.mk @@ -13,7 +13,8 @@ NETSNIFF_NG_LICENSE_FILES = README COPYING NETSNIFF_NG_CONF_ENV = \ NACL_INC_DIR=/dev/null \ NACL_LIB_DIR=/dev/null -NETSNIFF_NG_DEPENDENCIES = host-pkgconf libnl libpcap libnetfilter_conntrack liburcu +NETSNIFF_NG_DEPENDENCIES = host-pkgconf libpcap libnetfilter_conntrack liburcu +NETSNIFF_NG_CONF_OPTS = --prefix=$(TARGET_DIR)/usr ifeq ($(BR2_PACKAGE_NETSNIFF_NG_MAUSEZAHN),y) NETSNIFF_NG_DEPENDENCIES += libcli libnet @@ -26,6 +27,14 @@ endif ifeq ($(BR2_PACKAGE_GEOIP),y) NETSNIFF_NG_DEPENDENCIES += geoip +else +NETSNIFF_NG_CONF_OPTS += --disable-geoip +endif + +ifeq ($(BR2_PACKAGE_LIBNL),y) +NETSNIFF_NG_DEPENDENCIES += libnl +else +NETSNIFF_NG_CONF_OPTS += --disable-libnl endif ifeq ($(BR2_PACKAGE_NCURSES),y) @@ -34,6 +43,8 @@ endif ifeq ($(BR2_PACKAGE_ZLIB),y) NETSNIFF_NG_DEPENDENCIES += zlib +else +NETSNIFF_NG_CONF_OPTS += --disable-zlib endif # hand-written configure script and makefile @@ -43,7 +54,7 @@ define NETSNIFF_NG_CONFIGURE_CMDS $(TARGET_CONFIGURE_ARGS) \ $(TARGET_CONFIGURE_OPTS) \ ./configure \ - --prefix=$(TARGET_DIR)/usr \ + $(NETSNIFF_NG_CONF_OPTS) \ ) endef diff --git a/package/netsnmp/0001-configure-static-linking-Fix-SSL-checks.patch b/package/netsnmp/0001-configure-static-linking-Fix-SSL-checks.patch deleted file mode 100644 index bf61fdfe7..000000000 --- a/package/netsnmp/0001-configure-static-linking-Fix-SSL-checks.patch +++ /dev/null @@ -1,146 +0,0 @@ -From bd59be8e4e339870a1400f6866a7b73ca11f6460 Mon Sep 17 00:00:00 2001 -From: Giulio Benetti -Date: Wed, 12 Sep 2018 20:16:39 +0200 -Subject: [PATCH] configure, static linking: Fix SSL checks - -During checking of DTLS_method, the stub program is linked only with -ssl -libssl.a lacks some function from -lcrypto: -RAND_*() -ERR_*() -BUF_MEM_*() -etc. -and -lz: -- inflate() -- deflate() - -Append -lcrypto and -lz to LIBS variable when checking DTLS_method. - -See also https://sourceforge.net/p/net-snmp/patches/1374/. - -Signed-off-by: Giulio Benetti -[bvanassche: Edited subject / rewrote this patch] -[yann.morin.1998@free.fr: - - use an actual backport of bd59be8e4e339870a1400f6866a7b73ca11f6460 -] -Signed-off-by: Yann E. MORIN ---- - configure | 52 ++++++++++++++++++++++++++++++++++--- - configure.d/config_os_libs2 | 14 +++++++--- - 2 files changed, 58 insertions(+), 8 deletions(-) - -diff --git a/configure b/configure -index 6504a8e58a..1116cecaad 100755 ---- a/configure -+++ b/configure -@@ -23228,16 +23228,60 @@ fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_EVP_md5" >&5 - $as_echo "$ac_cv_lib_crypto_EVP_md5" >&6; } - if test "x$ac_cv_lib_crypto_EVP_md5" = xyes; then : -- CRYPTO="crypto" -+ CRYPTO="crypto"; LIBCRYPTO="-lcrypto" -+else -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVP_md5 in -lcrypto" >&5 -+$as_echo_n "checking for EVP_md5 in -lcrypto... " >&6; } -+if ${ac_cv_lib_crypto_EVP_md5+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_check_lib_save_LIBS=$LIBS -+LIBS="-lcrypto -lz $LIBS" -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+/* Override any GCC internal prototype to avoid an error. -+ Use char because int might match the return type of a GCC -+ builtin and then its argument prototype would still apply. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+char EVP_md5 (); -+int -+main () -+{ -+return EVP_md5 (); -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_link "$LINENO"; then : -+ ac_cv_lib_crypto_EVP_md5=yes -+else -+ ac_cv_lib_crypto_EVP_md5=no -+fi -+rm -f core conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext -+LIBS=$ac_check_lib_save_LIBS -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_EVP_md5" >&5 -+$as_echo "$ac_cv_lib_crypto_EVP_md5" >&6; } -+if test "x$ac_cv_lib_crypto_EVP_md5" = xyes; then : -+ CRYPTO="crypto"; LIBCRYPTO="-lcrypto -lz" -+fi -+ -+ - fi - -- fi -+ else -+ LIBCRYPTO="-l${CRYPTO}" -+ fi - - if test x$CRYPTO != x; then - - $as_echo "#define HAVE_LIBCRYPTO 1" >>confdefs.h - -- LIBCRYPTO="-l${CRYPTO}" - netsnmp_save_LIBS="$LIBS" - LIBS="$LIBCRYPTO" - for ac_func in AES_cfb128_encrypt EVP_sha224 EVP_sha384 EVP_MD_CTX_create EVP_MD_CTX_destroy EVP_MD_CTX_new EVP_MD_CTX_free DH_set0_pqg DH_get0_pqg DH_get0_key ASN1_STRING_get0_data X509_NAME_ENTRY_get_object X509_NAME_ENTRY_get_data X509_get_signature_nid -@@ -23291,7 +23335,7 @@ _ACEOF - LIBS="$netsnmp_save_LIBS" - fi - netsnmp_save_LIBS="$LIBS" -- LIBS="-lssl" -+ LIBS="-lssl $LIBCRYPTO" - for ac_func in TLS_method TLSv1_method DTLS_method DTLSv1_method SSL_library_init SSL_load_error_strings ERR_get_error_all - do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -diff --git a/configure.d/config_os_libs2 b/configure.d/config_os_libs2 -index 4a1ad1551f..75214cfff3 100644 ---- a/configure.d/config_os_libs2 -+++ b/configure.d/config_os_libs2 -@@ -306,13 +306,19 @@ if test "x$tryopenssl" != "xno" -a "x$tryopenssl" != "xinternal"; then - LIBS="$netsnmp_save_LIBS" - - if test x$CRYPTO = x; then -- AC_CHECK_LIB([crypto], [EVP_md5], [CRYPTO="crypto"]) -- fi -+ AC_CHECK_LIB([crypto], [EVP_md5], -+ [CRYPTO="crypto"; LIBCRYPTO="-lcrypto"], [ -+ AC_CHECK_LIB([crypto], [EVP_md5], -+ [CRYPTO="crypto"; LIBCRYPTO="-lcrypto -lz"], [], -+ [-lz]) -+ ]) -+ else -+ LIBCRYPTO="-l${CRYPTO}" -+ fi - - if test x$CRYPTO != x; then - AC_DEFINE(HAVE_LIBCRYPTO, 1, - [Define to 1 if you have the OpenSSL library (-lcrypto or -leay32).]) -- LIBCRYPTO="-l${CRYPTO}" - netsnmp_save_LIBS="$LIBS" - LIBS="$LIBCRYPTO" - AC_CHECK_FUNCS([AES_cfb128_encrypt]dnl -@@ -342,7 +348,7 @@ if test "x$tryopenssl" != "xno" -a "x$tryopenssl" != "xinternal"; then - LIBS="$netsnmp_save_LIBS" - fi - netsnmp_save_LIBS="$LIBS" -- LIBS="-lssl" -+ LIBS="-lssl $LIBCRYPTO" - AC_CHECK_FUNCS([TLS_method TLSv1_method DTLS_method DTLSv1_method]dnl - [SSL_library_init SSL_load_error_strings]) - LIBS="$netsnmp_save_LIBS" --- -2.25.1 - diff --git a/package/netsnmp/0002-configure-Fix-lcrypto-lz-test.patch b/package/netsnmp/0002-configure-Fix-lcrypto-lz-test.patch deleted file mode 100644 index 50387c839..000000000 --- a/package/netsnmp/0002-configure-Fix-lcrypto-lz-test.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 13da2bcde8e22dd0127a668374fdf79bed04d353 Mon Sep 17 00:00:00 2001 -From: Bart Van Assche -Date: Mon, 17 Sep 2018 07:33:34 -0700 -Subject: [PATCH] configure: Fix -lcrypto -lz test - -Avoid that the second crypto library test uses the cached result from -the first test by explicitly clearing the cached test result. - -[yann.morin.1998@free.fr: - - use an actual backport of 13da2bcde8e22dd0127a668374fdf79bed04d353 -] -Signed-off-by: Yann E. MORIN ---- - configure | 1 + - configure.d/config_os_libs2 | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/configure b/configure -index 1116cecaad..33b8c93e57 100755 ---- a/configure -+++ b/configure -@@ -23231,6 +23231,7 @@ if test "x$ac_cv_lib_crypto_EVP_md5" = xyes; then : - CRYPTO="crypto"; LIBCRYPTO="-lcrypto" - else - -+ unset ac_cv_lib_crypto_EVP_md5 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVP_md5 in -lcrypto" >&5 - $as_echo_n "checking for EVP_md5 in -lcrypto... " >&6; } - if ${ac_cv_lib_crypto_EVP_md5+:} false; then : -diff --git a/configure.d/config_os_libs2 b/configure.d/config_os_libs2 -index 75214cfff3..81788a2096 100644 ---- a/configure.d/config_os_libs2 -+++ b/configure.d/config_os_libs2 -@@ -308,6 +308,7 @@ if test "x$tryopenssl" != "xno" -a "x$tryopenssl" != "xinternal"; then - if test x$CRYPTO = x; then - AC_CHECK_LIB([crypto], [EVP_md5], - [CRYPTO="crypto"; LIBCRYPTO="-lcrypto"], [ -+ unset ac_cv_lib_crypto_EVP_md5 - AC_CHECK_LIB([crypto], [EVP_md5], - [CRYPTO="crypto"; LIBCRYPTO="-lcrypto -lz"], [], - [-lz]) --- -2.25.1 - diff --git a/package/netsnmp/0003-configure-fix-AC_CHECK_FUNCS-EVP_sha224-EVP_sha384-..patch b/package/netsnmp/0003-configure-fix-AC_CHECK_FUNCS-EVP_sha224-EVP_sha384-..patch deleted file mode 100644 index 4293e15d2..000000000 --- a/package/netsnmp/0003-configure-fix-AC_CHECK_FUNCS-EVP_sha224-EVP_sha384-..patch +++ /dev/null @@ -1,39 +0,0 @@ -From 8e273c688aa235ed9c68570a700d31596bac14df Mon Sep 17 00:00:00 2001 -From: Giulio Benetti -Date: Mon, 15 Oct 2018 19:07:05 +0200 -Subject: [PATCH] configure: fix AC_CHECK_FUNCS(EVP_sha224 EVP_sha384 ...) - failure on static linking - -If building as static lib, AC_CHECK_FUNCS(EVP_sha224 EVP_sha384 ...) -fails due to missing -lz in $LIBS. -At the moment, $LIBS contains $LIBCRYPTO only discarding previous $LIBS -content. - -Add $LIBS to: -LIBS="$LIBCRYPTO" -as: -LIBS="$LIBCRYPTO $LIBS" -This way $LIBS will contain -lz at the end of linking command that in -static linking build is mandatory. - -Signed-off-by: Giulio Benetti ---- - configure.d/config_os_libs2 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.d/config_os_libs2 b/configure.d/config_os_libs2 -index 81788a209..93044000b 100644 ---- a/configure.d/config_os_libs2 -+++ b/configure.d/config_os_libs2 -@@ -321,7 +321,7 @@ if test "x$tryopenssl" != "xno" -a "x$tryopenssl" != "xinternal"; then - AC_DEFINE(HAVE_LIBCRYPTO, 1, - [Define to 1 if you have the OpenSSL library (-lcrypto or -leay32).]) - netsnmp_save_LIBS="$LIBS" -- LIBS="$LIBCRYPTO" -+ LIBS="$LIBCRYPTO $LIBS" - AC_CHECK_FUNCS([AES_cfb128_encrypt]dnl - [EVP_sha224 EVP_sha384 ]dnl - [EVP_MD_CTX_create EVP_MD_CTX_destroy]dnl --- -2.17.1 - diff --git a/package/netsnmp/0004-configure-fix-AC_CHECK_FUNCS-TLS_method-TLSv1_method.patch b/package/netsnmp/0004-configure-fix-AC_CHECK_FUNCS-TLS_method-TLSv1_method.patch deleted file mode 100644 index 8fcce2a5c..000000000 --- a/package/netsnmp/0004-configure-fix-AC_CHECK_FUNCS-TLS_method-TLSv1_method.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 1ab6e3fc3cf61fa5a7b7363e59095e868474524b Mon Sep 17 00:00:00 2001 -From: Giulio Benetti -Date: Mon, 15 Oct 2018 19:34:26 +0200 -Subject: [PATCH] configure: fix AC_CHECK_FUNCS(TLS_method TLSv1_method - ...) failure on static linking - -If building as static lib, AC_CHECK_FUNCS(TLS_method TLSv1_method ...) -fails due to missing -lz in $LIBS. -At the moment, $LIBS contains "-lssl $LIBCRYPTO" only discarding -previous $LIBS content. - -Add $LIBS to: -LIBS="-lssl $LIBCRYPTO" -as: -LIBS="-lssl $LIBCRYPTO $LIBS" -This way $LIBS will contain -lz at the end of linking command that in -static linking build is mandatory. - -Signed-off-by: Giulio Benetti ---- - configure.d/config_os_libs2 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.d/config_os_libs2 b/configure.d/config_os_libs2 -index 93044000b..c811c63ec 100644 ---- a/configure.d/config_os_libs2 -+++ b/configure.d/config_os_libs2 -@@ -349,7 +349,7 @@ if test "x$tryopenssl" != "xno" -a "x$tryopenssl" != "xinternal"; then - LIBS="$netsnmp_save_LIBS" - fi - netsnmp_save_LIBS="$LIBS" -- LIBS="-lssl $LIBCRYPTO" -+ LIBS="-lssl $LIBCRYPTO $LIBS" - AC_CHECK_FUNCS([TLS_method TLSv1_method DTLS_method DTLSv1_method]dnl - [SSL_library_init SSL_load_error_strings]dnl - [ERR_get_error_all]) --- -2.17.1 - diff --git a/package/netsnmp/netsnmp.hash b/package/netsnmp/netsnmp.hash index 9d196c8be..e1e9d1089 100644 --- a/package/netsnmp/netsnmp.hash +++ b/package/netsnmp/netsnmp.hash @@ -1,7 +1,7 @@ # Locally calculated after checking pgp signature at -# https://sourceforge.net/projects/net-snmp/files/net-snmp/5.9/net-snmp-5.9.tar.gz.asc +# https://sourceforge.net/projects/net-snmp/files/net-snmp/5.9.3/net-snmp-5.9.3.tar.gz.asc # using key D0F8F495DA6160C44EFFBF10F07B9D2DACB19FD6 -sha256 04303a66f85d6d8b16d3cc53bde50428877c82ab524e17591dfceaeb94df6071 net-snmp-5.9.tar.gz +sha256 2097f29b7e1bf3f1300b4bae52fa2308d0bb8d5d3998dbe02f9462a413a2ef0a net-snmp-5.9.3.tar.gz # Hash for license file sha256 ed869ea395a1f125819a56676385ab0557a21507764bf56f2943302011381e59 COPYING diff --git a/package/netsnmp/netsnmp.mk b/package/netsnmp/netsnmp.mk index 985cfeac7..15bc318e3 100644 --- a/package/netsnmp/netsnmp.mk +++ b/package/netsnmp/netsnmp.mk @@ -4,7 +4,7 @@ # ################################################################################ -NETSNMP_VERSION = 5.9 +NETSNMP_VERSION = 5.9.3 NETSNMP_SITE = https://downloads.sourceforge.net/project/net-snmp/net-snmp/$(NETSNMP_VERSION) NETSNMP_SOURCE = net-snmp-$(NETSNMP_VERSION).tar.gz NETSNMP_LICENSE = Various BSD-like @@ -40,7 +40,6 @@ NETSNMP_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LIB_LDCONFIG_CMD=true inst NETSNMP_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) LIB_LDCONFIG_CMD=true install NETSNMP_MAKE = $(MAKE1) NETSNMP_CONFIG_SCRIPTS = net-snmp-config -NETSNMP_AUTORECONF = YES ifeq ($(BR2_ENDIAN),"BIG") NETSNMP_CONF_OPTS += --with-endianness=big diff --git a/package/netsurf/0002-do-not-cross-compile-nsgenbind.patch b/package/netsurf/0002-do-not-cross-compile-nsgenbind.patch index 2d4637511..7caad47a2 100644 --- a/package/netsurf/0002-do-not-cross-compile-nsgenbind.patch +++ b/package/netsurf/0002-do-not-cross-compile-nsgenbind.patch @@ -8,6 +8,8 @@ the build, so it should not be built with the cross-compiler, but with the native compiler. Signed-off-by: Francois Perrad +[Fabrice: add quotes around BUILD_CC to fix build with ccache] +Signed-off-by: Fabrice Fontaine --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) @@ -21,7 +23,7 @@ index f279f01..5698c87 100644 # prefixed install macro for each host sub target define do_build_prefix_install - $(MAKE) install --directory=$1 HOST=$(BUILD) PREFIX=$(TMP_PREFIX) Q=$(Q) DESTDIR= -+ $(MAKE) install --directory=$1 HOST=$(BUILD) CC=$(BUILD_CC) PREFIX=$(TMP_PREFIX) Q=$(Q) DESTDIR= ++ $(MAKE) install --directory=$1 HOST=$(BUILD) CC="$(BUILD_CC)" PREFIX=$(TMP_PREFIX) Q=$(Q) DESTDIR= endef diff --git a/package/netsurf/netsurf.mk b/package/netsurf/netsurf.mk index 1064698c1..574c1423d 100644 --- a/package/netsurf/netsurf.mk +++ b/package/netsurf/netsurf.mk @@ -14,6 +14,17 @@ NETSURF_CPE_ID_VENDOR = netsurf-browser NETSURF_DEPENDENCIES = expat jpeg libpng \ host-bison host-flex host-gperf host-pkgconf host-vim +# internal duktape doesn't build with BR2_OPTIMIZE_FAST +ifeq ($(BR2_OPTIMIZE_FAST),y) +define NETSURF_DUKTAPE_CONFIGURE_CMDS + echo "override NETSURF_USE_DUKTAPE := NO" >> $(@D)/netsurf/Makefile.config +endef +else +define NETSURF_DUKTAPE_CONFIGURE_CMDS + echo "override NETSURF_USE_DUKTAPE := YES" >> $(@D)/netsurf/Makefile.config +endef +endif + ifeq ($(BR2_PACKAGE_NETSURF_GTK),y) NETSURF_DEPENDENCIES += libgtk2 NETSURF_FRONTEND = gtk2 @@ -77,6 +88,7 @@ endef endif define NETSURF_CONFIGURE_CMDS + $(NETSURF_DUKTAPE_CONFIGURE_CMDS) $(NETSURF_ICONV_CONFIGURE_CMDS) $(NETSURF_SVG_CONFIGURE_CMDS) $(NETSURF_FONTLIB_CONFIGURE_CMDS) diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in index a48cb37b1..39114daf1 100644 --- a/package/network-manager/Config.in +++ b/package/network-manager/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_NETWORK_MANAGER bool "network-manager" - depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt depends on !BR2_STATIC_LIBS # gnutls depends on BR2_USE_MMU # dbus depends on BR2_PACKAGE_HAS_UDEV @@ -13,12 +12,9 @@ config BR2_PACKAGE_NETWORK_MANAGER select BR2_PACKAGE_DBUS select BR2_PACKAGE_GNUTLS select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_LIBGCRYPT + select BR2_PACKAGE_LIBNDP select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID - select BR2_PACKAGE_WIRELESS_TOOLS - select BR2_PACKAGE_WIRELESS_TOOLS_LIB - select BR2_PACKAGE_LIBNDP help NetworkManager is a set of co-operative tools that make networking simple and straightforward. Whether WiFi, wired, diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk index a90228992..4afe947a7 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_DEPENDENCIES = host-pkgconf udev gnutls libglib2 \ - libgcrypt wireless_tools util-linux host-intltool libndp + host-intltool libndp util-linux NETWORK_MANAGER_LICENSE = GPL-2.0+ (app), LGPL-2.1+ (libnm) NETWORK_MANAGER_LICENSE_FILES = COPYING COPYING.LGPL CONTRIBUTING.md NETWORK_MANAGER_CPE_ID_VENDOR = gnome diff --git a/package/networkd-dispatcher/networkd-dispatcher.hash b/package/networkd-dispatcher/networkd-dispatcher.hash index ca7c30078..ffb4fa846 100644 --- a/package/networkd-dispatcher/networkd-dispatcher.hash +++ b/package/networkd-dispatcher/networkd-dispatcher.hash @@ -1,3 +1,3 @@ # locally computed -sha256 1682c0106d9d2879087612e76aebb87672ebf339c43f229a3ee27dadb428575b networkd-dispatcher-2.1.tar.bz2 +sha256 61270b4c2f39c36da4b0a62724a3cc01f6732493fed0f166ee675bafedff11df networkd-dispatcher-2.2.3.tar.bz2 sha256 589ed823e9a84c56feb95ac58e7cf384626b9cbf4fda2a907bc36e103de1bad2 LICENSE diff --git a/package/networkd-dispatcher/networkd-dispatcher.mk b/package/networkd-dispatcher/networkd-dispatcher.mk index 4f609db73..2b1aa257c 100644 --- a/package/networkd-dispatcher/networkd-dispatcher.mk +++ b/package/networkd-dispatcher/networkd-dispatcher.mk @@ -4,7 +4,7 @@ # ################################################################################ -NETWORKD_DISPATCHER_VERSION = 2.1 +NETWORKD_DISPATCHER_VERSION = 2.2.3 NETWORKD_DISPATCHER_SOURCE = networkd-dispatcher-$(NETWORKD_DISPATCHER_VERSION).tar.bz2 NETWORKD_DISPATCHER_SITE = https://gitlab.com/craftyguy/networkd-dispatcher/-/archive/$(NETWORKD_DISPATCHER_VERSION) NETWORKD_DISPATCHER_LICENSE = GPL-3.0 diff --git a/package/newt/newt.hash b/package/newt/newt.hash index b136d82af..36487d998 100644 --- a/package/newt/newt.hash +++ b/package/newt/newt.hash @@ -1,5 +1,5 @@ # From https://releases.pagure.org/newt/CHECKSUMS -sha256 265eb46b55d7eaeb887fca7a1d51fe115658882dfe148164b6c49fccac5abb31 newt-0.52.21.tar.gz -sha512 d53d927996d17223e688bf54dccfabb2a3dc02bfe38ffc455964e86feaca3cd9f9ab5b19774433be430fa4d761cd9b6680b558f297acb86f80daeb6942f7d23c newt-0.52.21.tar.gz +sha256 265eb46b55d7eaeb887fca7a1d51fe115658882dfe148164b6c49fccac5abb31 newt-0.52.21.tar.gz +sha512 d53d927996d17223e688bf54dccfabb2a3dc02bfe38ffc455964e86feaca3cd9f9ab5b19774433be430fa4d761cd9b6680b558f297acb86f80daeb6942f7d23c newt-0.52.21.tar.gz # Locally calculated -sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING +sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/package/nfacct/nfacct.hash b/package/nfacct/nfacct.hash index d6c05e16d..aac5ce0ab 100644 --- a/package/nfacct/nfacct.hash +++ b/package/nfacct/nfacct.hash @@ -1,5 +1,5 @@ # From ftp://ftp.netfilter.org/pub/nfacct/nfacct-1.0.2.tar.bz2.{md5sum,sha1sum} -md5 94faafdaaed85ca9220c5692be8a408e nfacct-1.0.2.tar.bz2 -sha1 17d6576778227ea93c62600d9b18ff4932963c6a nfacct-1.0.2.tar.bz2 +md5 94faafdaaed85ca9220c5692be8a408e nfacct-1.0.2.tar.bz2 +sha1 17d6576778227ea93c62600d9b18ff4932963c6a nfacct-1.0.2.tar.bz2 # Locally computed sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/package/nftables/nftables.mk b/package/nftables/nftables.mk index 232d54148..a64c36094 100644 --- a/package/nftables/nftables.mk +++ b/package/nftables/nftables.mk @@ -42,10 +42,6 @@ else NFTABLES_CONF_OPTS += --disable-python endif -ifeq ($(BR2_STATIC_LIBS)$(BR2_PACKAGE_LIBNFTNL_JSON),yy) -NFTABLES_LIBS += -ljansson -lm -endif - NFTABLES_CONF_ENV = LIBS="$(NFTABLES_LIBS)" define NFTABLES_LINUX_CONFIG_FIXUPS diff --git a/package/nginx-dav-ext/nginx-dav-ext.hash b/package/nginx-dav-ext/nginx-dav-ext.hash index 07deab08d..8a146c72e 100644 --- a/package/nginx-dav-ext/nginx-dav-ext.hash +++ b/package/nginx-dav-ext/nginx-dav-ext.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 d2499d94d82d4e4eac8425d799e52883131ae86a956524040ff2fd230ef9f859 nginx-dav-ext-3.0.0.tar.gz -sha256 e377bb81e5024682a66438306e8ff9541d843d3831e480aec2f58eb8d83e48de LICENSE +sha256 d2499d94d82d4e4eac8425d799e52883131ae86a956524040ff2fd230ef9f859 nginx-dav-ext-3.0.0.tar.gz +sha256 e377bb81e5024682a66438306e8ff9541d843d3831e480aec2f58eb8d83e48de LICENSE diff --git a/package/nginx-modsecurity/Config.in b/package/nginx-modsecurity/Config.in index b1fcbadd7..0bbf05fad 100644 --- a/package/nginx-modsecurity/Config.in +++ b/package/nginx-modsecurity/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_NGINX_MODSECURITY depends on BR2_PACKAGE_NGINX_HTTP depends on BR2_INSTALL_LIBSTDCPP # libmodsecurity depends on BR2_TOOLCHAIN_HAS_THREADS # libmodsecurity + depends on !BR2_STATIC_LIBS # libmodsecurity select BR2_PACKAGE_LIBMODSECURITY help The ModSecurity-nginx connector is the connection @@ -11,6 +12,7 @@ config BR2_PACKAGE_NGINX_MODSECURITY https://github.com/SpiderLabs/ModSecurity-nginx -comment "nginx-modsecurity needs a toolchain w/ C++, threads" +comment "nginx-modsecurity needs a toolchain w/ C++, threads, dynamic library" depends on BR2_PACKAGE_NGINX_HTTP - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/nginx/0011-Mp4-disabled-duplicate-atoms.patch b/package/nginx/0011-Mp4-disabled-duplicate-atoms.patch new file mode 100644 index 000000000..7baa810b5 --- /dev/null +++ b/package/nginx/0011-Mp4-disabled-duplicate-atoms.patch @@ -0,0 +1,315 @@ +From 6b022a5556af22b6e18532e547a6ae46b0d8c6ea Mon Sep 17 00:00:00 2001 +From: Roman Arutyunyan +Date: Wed, 19 Oct 2022 10:53:17 +0300 +Subject: [PATCH] Mp4: disabled duplicate atoms. + +Most atoms should not appear more than once in a container. Previously, +this was not enforced by the module, which could result in worker process +crash, memory corruption and disclosure. + +Signed-off-by: Peter Korsgaard +--- + src/http/modules/ngx_http_mp4_module.c | 147 +++++++++++++++++++++++++ + 1 file changed, 147 insertions(+) + +diff --git a/src/http/modules/ngx_http_mp4_module.c b/src/http/modules/ngx_http_mp4_module.c +index 9c3f627f..4eff01e9 100644 +--- a/src/http/modules/ngx_http_mp4_module.c ++++ b/src/http/modules/ngx_http_mp4_module.c +@@ -1121,6 +1121,12 @@ ngx_http_mp4_read_ftyp_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) + return NGX_ERROR; + } + ++ if (mp4->ftyp_atom.buf) { ++ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, ++ "duplicate mp4 ftyp atom in \"%s\"", mp4->file.name.data); ++ return NGX_ERROR; ++ } ++ + atom_size = sizeof(ngx_mp4_atom_header_t) + (size_t) atom_data_size; + + ftyp_atom = ngx_palloc(mp4->request->pool, atom_size); +@@ -1179,6 +1185,12 @@ ngx_http_mp4_read_moov_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) + return NGX_DECLINED; + } + ++ if (mp4->moov_atom.buf) { ++ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, ++ "duplicate mp4 moov atom in \"%s\"", mp4->file.name.data); ++ return NGX_ERROR; ++ } ++ + conf = ngx_http_get_module_loc_conf(mp4->request, ngx_http_mp4_module); + + if (atom_data_size > mp4->buffer_size) { +@@ -1246,6 +1258,12 @@ ngx_http_mp4_read_mdat_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) + + ngx_log_debug0(NGX_LOG_DEBUG_HTTP, mp4->file.log, 0, "mp4 mdat atom"); + ++ if (mp4->mdat_atom.buf) { ++ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, ++ "duplicate mp4 mdat atom in \"%s\"", mp4->file.name.data); ++ return NGX_ERROR; ++ } ++ + data = &mp4->mdat_data_buf; + data->file = &mp4->file; + data->in_file = 1; +@@ -1372,6 +1390,12 @@ ngx_http_mp4_read_mvhd_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) + + ngx_log_debug0(NGX_LOG_DEBUG_HTTP, mp4->file.log, 0, "mp4 mvhd atom"); + ++ if (mp4->mvhd_atom.buf) { ++ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, ++ "duplicate mp4 mvhd atom in \"%s\"", mp4->file.name.data); ++ return NGX_ERROR; ++ } ++ + atom_header = ngx_mp4_atom_header(mp4); + mvhd_atom = (ngx_mp4_mvhd_atom_t *) atom_header; + mvhd64_atom = (ngx_mp4_mvhd64_atom_t *) atom_header; +@@ -1637,6 +1661,13 @@ ngx_http_mp4_read_tkhd_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) + atom_size = sizeof(ngx_mp4_atom_header_t) + (size_t) atom_data_size; + + trak = ngx_mp4_last_trak(mp4); ++ ++ if (trak->out[NGX_HTTP_MP4_TKHD_ATOM].buf) { ++ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, ++ "duplicate mp4 tkhd atom in \"%s\"", mp4->file.name.data); ++ return NGX_ERROR; ++ } ++ + trak->tkhd_size = atom_size; + trak->movie_duration = duration; + +@@ -1676,6 +1707,12 @@ ngx_http_mp4_read_mdia_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) + + trak = ngx_mp4_last_trak(mp4); + ++ if (trak->out[NGX_HTTP_MP4_MDIA_ATOM].buf) { ++ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, ++ "duplicate mp4 mdia atom in \"%s\"", mp4->file.name.data); ++ return NGX_ERROR; ++ } ++ + atom = &trak->mdia_atom_buf; + atom->temporary = 1; + atom->pos = atom_header; +@@ -1799,6 +1836,13 @@ ngx_http_mp4_read_mdhd_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) + atom_size = sizeof(ngx_mp4_atom_header_t) + (size_t) atom_data_size; + + trak = ngx_mp4_last_trak(mp4); ++ ++ if (trak->out[NGX_HTTP_MP4_MDHD_ATOM].buf) { ++ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, ++ "duplicate mp4 mdhd atom in \"%s\"", mp4->file.name.data); ++ return NGX_ERROR; ++ } ++ + trak->mdhd_size = atom_size; + trak->timescale = timescale; + trak->duration = duration; +@@ -1862,6 +1906,12 @@ ngx_http_mp4_read_hdlr_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) + + trak = ngx_mp4_last_trak(mp4); + ++ if (trak->out[NGX_HTTP_MP4_HDLR_ATOM].buf) { ++ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, ++ "duplicate mp4 hdlr atom in \"%s\"", mp4->file.name.data); ++ return NGX_ERROR; ++ } ++ + atom = &trak->hdlr_atom_buf; + atom->temporary = 1; + atom->pos = atom_header; +@@ -1890,6 +1940,12 @@ ngx_http_mp4_read_minf_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) + + trak = ngx_mp4_last_trak(mp4); + ++ if (trak->out[NGX_HTTP_MP4_MINF_ATOM].buf) { ++ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, ++ "duplicate mp4 minf atom in \"%s\"", mp4->file.name.data); ++ return NGX_ERROR; ++ } ++ + atom = &trak->minf_atom_buf; + atom->temporary = 1; + atom->pos = atom_header; +@@ -1933,6 +1989,15 @@ ngx_http_mp4_read_vmhd_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) + + trak = ngx_mp4_last_trak(mp4); + ++ if (trak->out[NGX_HTTP_MP4_VMHD_ATOM].buf ++ || trak->out[NGX_HTTP_MP4_SMHD_ATOM].buf) ++ { ++ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, ++ "duplicate mp4 vmhd/smhd atom in \"%s\"", ++ mp4->file.name.data); ++ return NGX_ERROR; ++ } ++ + atom = &trak->vmhd_atom_buf; + atom->temporary = 1; + atom->pos = atom_header; +@@ -1964,6 +2029,15 @@ ngx_http_mp4_read_smhd_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) + + trak = ngx_mp4_last_trak(mp4); + ++ if (trak->out[NGX_HTTP_MP4_VMHD_ATOM].buf ++ || trak->out[NGX_HTTP_MP4_SMHD_ATOM].buf) ++ { ++ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, ++ "duplicate mp4 vmhd/smhd atom in \"%s\"", ++ mp4->file.name.data); ++ return NGX_ERROR; ++ } ++ + atom = &trak->smhd_atom_buf; + atom->temporary = 1; + atom->pos = atom_header; +@@ -1995,6 +2069,12 @@ ngx_http_mp4_read_dinf_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) + + trak = ngx_mp4_last_trak(mp4); + ++ if (trak->out[NGX_HTTP_MP4_DINF_ATOM].buf) { ++ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, ++ "duplicate mp4 dinf atom in \"%s\"", mp4->file.name.data); ++ return NGX_ERROR; ++ } ++ + atom = &trak->dinf_atom_buf; + atom->temporary = 1; + atom->pos = atom_header; +@@ -2023,6 +2103,12 @@ ngx_http_mp4_read_stbl_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) + + trak = ngx_mp4_last_trak(mp4); + ++ if (trak->out[NGX_HTTP_MP4_STBL_ATOM].buf) { ++ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, ++ "duplicate mp4 stbl atom in \"%s\"", mp4->file.name.data); ++ return NGX_ERROR; ++ } ++ + atom = &trak->stbl_atom_buf; + atom->temporary = 1; + atom->pos = atom_header; +@@ -2144,6 +2230,12 @@ ngx_http_mp4_read_stsd_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) + + trak = ngx_mp4_last_trak(mp4); + ++ if (trak->out[NGX_HTTP_MP4_STSD_ATOM].buf) { ++ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, ++ "duplicate mp4 stsd atom in \"%s\"", mp4->file.name.data); ++ return NGX_ERROR; ++ } ++ + atom = &trak->stsd_atom_buf; + atom->temporary = 1; + atom->pos = atom_header; +@@ -2212,6 +2304,13 @@ ngx_http_mp4_read_stts_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) + atom_end = atom_table + entries * sizeof(ngx_mp4_stts_entry_t); + + trak = ngx_mp4_last_trak(mp4); ++ ++ if (trak->out[NGX_HTTP_MP4_STTS_ATOM].buf) { ++ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, ++ "duplicate mp4 stts atom in \"%s\"", mp4->file.name.data); ++ return NGX_ERROR; ++ } ++ + trak->time_to_sample_entries = entries; + + atom = &trak->stts_atom_buf; +@@ -2480,6 +2579,13 @@ ngx_http_mp4_read_stss_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) + "sync sample entries:%uD", entries); + + trak = ngx_mp4_last_trak(mp4); ++ ++ if (trak->out[NGX_HTTP_MP4_STSS_ATOM].buf) { ++ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, ++ "duplicate mp4 stss atom in \"%s\"", mp4->file.name.data); ++ return NGX_ERROR; ++ } ++ + trak->sync_samples_entries = entries; + + atom_table = atom_header + sizeof(ngx_http_mp4_stss_atom_t); +@@ -2678,6 +2784,13 @@ ngx_http_mp4_read_ctts_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) + "composition offset entries:%uD", entries); + + trak = ngx_mp4_last_trak(mp4); ++ ++ if (trak->out[NGX_HTTP_MP4_CTTS_ATOM].buf) { ++ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, ++ "duplicate mp4 ctts atom in \"%s\"", mp4->file.name.data); ++ return NGX_ERROR; ++ } ++ + trak->composition_offset_entries = entries; + + atom_table = atom_header + sizeof(ngx_mp4_ctts_atom_t); +@@ -2881,6 +2994,13 @@ ngx_http_mp4_read_stsc_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) + atom_end = atom_table + entries * sizeof(ngx_mp4_stsc_entry_t); + + trak = ngx_mp4_last_trak(mp4); ++ ++ if (trak->out[NGX_HTTP_MP4_STSC_ATOM].buf) { ++ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, ++ "duplicate mp4 stsc atom in \"%s\"", mp4->file.name.data); ++ return NGX_ERROR; ++ } ++ + trak->sample_to_chunk_entries = entries; + + atom = &trak->stsc_atom_buf; +@@ -3213,6 +3333,13 @@ ngx_http_mp4_read_stsz_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) + "sample uniform size:%uD, entries:%uD", size, entries); + + trak = ngx_mp4_last_trak(mp4); ++ ++ if (trak->out[NGX_HTTP_MP4_STSZ_ATOM].buf) { ++ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, ++ "duplicate mp4 stsz atom in \"%s\"", mp4->file.name.data); ++ return NGX_ERROR; ++ } ++ + trak->sample_sizes_entries = entries; + + atom_table = atom_header + sizeof(ngx_mp4_stsz_atom_t); +@@ -3396,6 +3523,16 @@ ngx_http_mp4_read_stco_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) + atom_end = atom_table + entries * sizeof(uint32_t); + + trak = ngx_mp4_last_trak(mp4); ++ ++ if (trak->out[NGX_HTTP_MP4_STCO_ATOM].buf ++ || trak->out[NGX_HTTP_MP4_CO64_ATOM].buf) ++ { ++ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, ++ "duplicate mp4 stco/co64 atom in \"%s\"", ++ mp4->file.name.data); ++ return NGX_ERROR; ++ } ++ + trak->chunks = entries; + + atom = &trak->stco_atom_buf; +@@ -3602,6 +3739,16 @@ ngx_http_mp4_read_co64_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) + atom_end = atom_table + entries * sizeof(uint64_t); + + trak = ngx_mp4_last_trak(mp4); ++ ++ if (trak->out[NGX_HTTP_MP4_STCO_ATOM].buf ++ || trak->out[NGX_HTTP_MP4_CO64_ATOM].buf) ++ { ++ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, ++ "duplicate mp4 stco/co64 atom in \"%s\"", ++ mp4->file.name.data); ++ return NGX_ERROR; ++ } ++ + trak->chunks = entries; + + atom = &trak->co64_atom_buf; +-- +2.30.2 + diff --git a/package/nginx/Config.in b/package/nginx/Config.in index 1200b2bf4..90a082229 100644 --- a/package/nginx/Config.in +++ b/package/nginx/Config.in @@ -296,6 +296,14 @@ config BR2_PACKAGE_NGINX_HTTP_UPSTREAM_RANDOM_MODULE help Enable ngx_http_upstream_random_module +config BR2_PACKAGE_NGINX_HTTP_UPSTREAM_ZONE_MODULE + bool "ngx_http_upstream_zone_module" + default y + depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS + select BR2_PACKAGE_LIBATOMIC_OPS + help + Enable ngx_http_upstream_zone_module + endif #BR2_PACKAGE_NGINX_HTTP config BR2_PACKAGE_NGINX_MAIL @@ -419,6 +427,8 @@ config BR2_PACKAGE_NGINX_STREAM_UPSTREAM_RANDOM_MODULE config BR2_PACKAGE_NGINX_STREAM_UPSTREAM_ZONE_MODULE bool "ngx_stream_upstream_zone_module" default y + depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS + select BR2_PACKAGE_LIBATOMIC_OPS help Enable ngx_stream_upstream_zone_module diff --git a/package/nginx/nginx.mk b/package/nginx/nginx.mk index 31b6e276b..62ea379ff 100644 --- a/package/nginx/nginx.mk +++ b/package/nginx/nginx.mk @@ -8,7 +8,7 @@ NGINX_VERSION = 1.20.1 NGINX_SITE = http://nginx.org/download NGINX_LICENSE = BSD-2-Clause NGINX_LICENSE_FILES = LICENSE -NGINX_CPE_ID_VENDOR = nginx +NGINX_CPE_ID_VENDOR = f5 NGINX_DEPENDENCIES = \ host-pkgconf \ $(if $(BR2_PACKAGE_LIBXCRYPT),libxcrypt) @@ -19,6 +19,9 @@ NGINX_CONF_OPTS = \ --with-cpp="$(TARGET_CC)" \ --with-ld-opt="$(TARGET_LDFLAGS)" +# 0011-Mp4-disabled-duplicate-atoms.patch +NGINX_IGNORE_CVES += CVE-2022-41741 CVE-2022-41742 + # www-data user and group are used for nginx. Because these user and group # are already set by buildroot, it is not necessary to redefine them. # See system/skeleton/etc/passwd @@ -203,7 +206,8 @@ NGINX_CONF_OPTS += \ $(if $(BR2_PACKAGE_NGINX_HTTP_UPSTREAM_IP_HASH_MODULE),,--without-http_upstream_ip_hash_module) \ $(if $(BR2_PACKAGE_NGINX_HTTP_UPSTREAM_LEAST_CONN_MODULE),,--without-http_upstream_least_conn_module) \ $(if $(BR2_PACKAGE_NGINX_HTTP_UPSTREAM_RANDOM_MODULE),,--without-http_upstream_random_module) \ - $(if $(BR2_PACKAGE_NGINX_HTTP_UPSTREAM_KEEPALIVE_MODULE),,--without-http_upstream_keepalive_module) + $(if $(BR2_PACKAGE_NGINX_HTTP_UPSTREAM_KEEPALIVE_MODULE),,--without-http_upstream_keepalive_module) \ + $(if $(BR2_PACKAGE_NGINX_HTTP_UPSTREAM_ZONE_MODULE),,--without-http_upstream_zone_module) else # !BR2_PACKAGE_NGINX_HTTP NGINX_CONF_OPTS += --without-http diff --git a/package/ngircd/Config.in b/package/ngircd/Config.in index 9b3d43092..1e93a5702 100644 --- a/package/ngircd/Config.in +++ b/package/ngircd/Config.in @@ -2,6 +2,6 @@ config BR2_PACKAGE_NGIRCD bool "ngircd" depends on BR2_USE_MMU # fork() help - Next Generation IRC server deamon. + Next Generation IRC server daemon. http://ngircd.barton.de diff --git a/package/nilfs-utils/nilfs-utils.hash b/package/nilfs-utils/nilfs-utils.hash index ad6a57d8f..8393b067b 100644 --- a/package/nilfs-utils/nilfs-utils.hash +++ b/package/nilfs-utils/nilfs-utils.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha512 3232390581f63de5ebe7b461b178a40dfbdaa4bc6aa96b218ea8182c5bf81b162a1e632a1c21d9f1e89fdba9393b4e268e001c335a99ce22f645a62ae3154783 nilfs-utils-2.2.8.tar.bz2 -sha512 4fc92d3998910acb108f81b1aee70a55a572b661a2766d0e57a55e48e2b737eea41415356cbd62593f26aec5797ab9fbb40211d7782b5834b4855ff1ce6ad5f7 COPYING +sha512 3232390581f63de5ebe7b461b178a40dfbdaa4bc6aa96b218ea8182c5bf81b162a1e632a1c21d9f1e89fdba9393b4e268e001c335a99ce22f645a62ae3154783 nilfs-utils-2.2.8.tar.bz2 +sha512 4fc92d3998910acb108f81b1aee70a55a572b661a2766d0e57a55e48e2b737eea41415356cbd62593f26aec5797ab9fbb40211d7782b5834b4855ff1ce6ad5f7 COPYING diff --git a/package/nload/nload.hash b/package/nload/nload.hash index f5b8e58f6..cf211674f 100644 --- a/package/nload/nload.hash +++ b/package/nload/nload.hash @@ -1,5 +1,5 @@ # From https://sourceforge.net/projects/nload/files/nload/0.7.4/ -md5 3c733c528f244ca5a4f76bf185729c39 nload-0.7.4.tar.gz -sha1 bb0a168c93c588ad4fd5e3a653b3620b79ada1e8 nload-0.7.4.tar.gz +md5 3c733c528f244ca5a4f76bf185729c39 nload-0.7.4.tar.gz +sha1 bb0a168c93c588ad4fd5e3a653b3620b79ada1e8 nload-0.7.4.tar.gz # Locally computed sha256 67f82e045cf7acfef853ea0f426575a8359161a0a325e19f02b529a87c4b6c34 COPYING diff --git a/package/nodejs/0001-check-if-uclibc-has-backtrace-support.patch b/package/nodejs/0002-check-if-uclibc-has-backtrace-support.patch similarity index 100% rename from package/nodejs/0001-check-if-uclibc-has-backtrace-support.patch rename to package/nodejs/0002-check-if-uclibc-has-backtrace-support.patch diff --git a/package/nodejs/nodejs.hash b/package/nodejs/nodejs.hash index 6365ef852..769fddae3 100644 --- a/package/nodejs/nodejs.hash +++ b/package/nodejs/nodejs.hash @@ -1,5 +1,5 @@ -# From https://nodejs.org/dist/v14.18.3/SHASUMS256.txt -sha256 783ac443cd343dd6c68d2abcf7e59e7b978a6a428f6a6025f9b84918b769d608 node-v14.18.3.tar.xz +# From https://nodejs.org/dist/v14.20.1/SHASUMS256.txt +sha256 365057ea661923cbfa71bdd7a8d0ace9ddff8d22d431ad92355f8433cecff14d node-v14.20.1.tar.xz # Hash for license file -sha256 b3a67885b5a6ac35e8bbe8190509e41b79b0d9a2e3fbd47186f2ac4727f63be5 LICENSE +sha256 d05c4319d4955d6b3c7beab2711ff61448b31889560d4b125bfbd35f16d3d3af LICENSE diff --git a/package/nodejs/nodejs.mk b/package/nodejs/nodejs.mk index 2e41c11db..06e29d025 100644 --- a/package/nodejs/nodejs.mk +++ b/package/nodejs/nodejs.mk @@ -4,13 +4,25 @@ # ################################################################################ -NODEJS_VERSION = 14.18.3 +NODEJS_VERSION = 14.20.1 NODEJS_SOURCE = node-v$(NODEJS_VERSION).tar.xz NODEJS_SITE = http://nodejs.org/dist/v$(NODEJS_VERSION) -NODEJS_DEPENDENCIES = host-qemu host-python3 host-nodejs c-ares \ - libuv zlib nghttp2 \ +NODEJS_DEPENDENCIES = \ + host-nodejs \ + host-pkgconf \ + host-python3 \ + host-qemu \ + c-ares \ + libuv \ + nghttp2 \ + zlib \ $(call qstrip,$(BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL_DEPS)) -HOST_NODEJS_DEPENDENCIES = host-icu host-libopenssl host-python3 host-zlib +HOST_NODEJS_DEPENDENCIES = \ + host-icu \ + host-libopenssl \ + host-pkgconf \ + host-python3 \ + host-zlib NODEJS_INSTALL_STAGING = YES NODEJS_LICENSE = MIT (core code); MIT, Apache and BSD family licenses (Bundled components) NODEJS_LICENSE_FILES = LICENSE @@ -74,7 +86,7 @@ define HOST_NODEJS_CONFIGURE_CMDS $(HOST_CONFIGURE_OPTS) \ PATH=$(@D)/bin:$(BR_PATH) \ PYTHON=$(HOST_DIR)/bin/python3 \ - $(HOST_DIR)/bin/python3 ./configure \ + $(HOST_DIR)/bin/python3 configure.py \ --prefix=$(HOST_DIR) \ --without-dtrace \ --without-etw \ @@ -197,7 +209,7 @@ define NODEJS_CONFIGURE_CMDS LDFLAGS="$(NODEJS_LDFLAGS)" \ LD="$(TARGET_CXX)" \ PYTHON=$(HOST_DIR)/bin/python3 \ - $(HOST_DIR)/bin/python3 ./configure \ + $(HOST_DIR)/bin/python3 configure.py \ --prefix=/usr \ --dest-cpu=$(NODEJS_CPU) \ $(if $(NODEJS_ARM_FP),--with-arm-float-abi=$(NODEJS_ARM_FP)) \ diff --git a/package/noip/noip.mk b/package/noip/noip.mk index b7fcc84e2..8b57d8246 100644 --- a/package/noip/noip.mk +++ b/package/noip/noip.mk @@ -10,10 +10,13 @@ NOIP_SOURCE = noip-duc-linux.tar.gz NOIP_LICENSE = GPL-2.0+ NOIP_LICENSE_FILES = COPYING +# Pass TARGET_{C,LD}FLAGS through LIBS as noip doesn't rely on implicit +# make rules define NOIP_BUILD_CMDS $(SED) "/^#define CONFIG_FILENAME/ s/PREFIX//" $(@D)/noip2.c $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CC="$(TARGET_CC)" \ - CFLAGS="$(TARGET_CFLAGS)" PREFIX=/usr CONFDIR=/etc + LIBS="$(TARGET_CFLAGS) $(TARGET_LDFLAGS)" \ + PREFIX=/usr CONFDIR=/etc endef define NOIP_INSTALL_TARGET_CMDS diff --git a/package/nss-mdns/nss-mdns.hash b/package/nss-mdns/nss-mdns.hash index 9bcec0849..7902ca2a8 100644 --- a/package/nss-mdns/nss-mdns.hash +++ b/package/nss-mdns/nss-mdns.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a2094101b735cade45048764ea594bdae2bfa9399837f3c852a5b264416e9c8c nss-mdns-0.14.1.tar.gz -sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LICENSE +sha256 a2094101b735cade45048764ea594bdae2bfa9399837f3c852a5b264416e9c8c nss-mdns-0.14.1.tar.gz +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LICENSE diff --git a/package/nss-myhostname/nss-myhostname.hash b/package/nss-myhostname/nss-myhostname.hash index dfa531c94..3ea0618a3 100644 --- a/package/nss-myhostname/nss-myhostname.hash +++ b/package/nss-myhostname/nss-myhostname.hash @@ -1,3 +1,3 @@ # locally computed -sha256 2ba744ea8d578d1c57c85884e94a3042ee17843a5294434d3a7f6c4d67e7caf2 nss-myhostname-0.3.tar.gz -sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LICENSE +sha256 2ba744ea8d578d1c57c85884e94a3042ee17843a5294434d3a7f6c4d67e7caf2 nss-myhostname-0.3.tar.gz +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LICENSE diff --git a/package/nss-pam-ldapd/nss-pam-ldapd.hash b/package/nss-pam-ldapd/nss-pam-ldapd.hash index e0cdc403e..3286f127d 100644 --- a/package/nss-pam-ldapd/nss-pam-ldapd.hash +++ b/package/nss-pam-ldapd/nss-pam-ldapd.hash @@ -1,5 +1,5 @@ # From https://arthurdejong.org/nss-pam-ldapd/nss-pam-ldapd-0.9.12.tar.gz.md5 -md5 cc30ee0ab91d6c94b7a343ae09b5dc69 nss-pam-ldapd-0.9.12.tar.gz +md5 cc30ee0ab91d6c94b7a343ae09b5dc69 nss-pam-ldapd-0.9.12.tar.gz # Locally computed: -sha256 c6d661e74693cbf531a790631ca93b73f291fb23cc39465b09deb8da2bfb0e14 nss-pam-ldapd-0.9.12.tar.gz -sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING +sha256 c6d661e74693cbf531a790631ca93b73f291fb23cc39465b09deb8da2bfb0e14 nss-pam-ldapd-0.9.12.tar.gz +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING diff --git a/package/ntfs-3g/ntfs-3g.hash b/package/ntfs-3g/ntfs-3g.hash index 668e11a80..3fcba6af4 100644 --- a/package/ntfs-3g/ntfs-3g.hash +++ b/package/ntfs-3g/ntfs-3g.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 55b883aa05d94b2ec746ef3966cb41e66bed6db99f22ddd41d1b8b94bb202efb ntfs-3g_ntfsprogs-2021.8.22.tgz +sha256 f20e36ee68074b845e3629e6bced4706ad053804cbaf062fbae60738f854170c ntfs-3g_ntfsprogs-2022.10.3.tgz sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING sha256 d7bf9d064ac3e5840f9dd02422b7eeec4f1fd03f37fadbd043602be5e882304f COPYING.LIB diff --git a/package/ntfs-3g/ntfs-3g.mk b/package/ntfs-3g/ntfs-3g.mk index 21f7cfc46..62c515d50 100644 --- a/package/ntfs-3g/ntfs-3g.mk +++ b/package/ntfs-3g/ntfs-3g.mk @@ -4,7 +4,7 @@ # ################################################################################ -NTFS_3G_VERSION = 2021.8.22 +NTFS_3G_VERSION = 2022.10.3 NTFS_3G_SOURCE = ntfs-3g_ntfsprogs-$(NTFS_3G_VERSION).tgz NTFS_3G_SITE = http://tuxera.com/opensource NTFS_3G_CONF_OPTS = --disable-ldconfig diff --git a/package/numactl/Config.in b/package/numactl/Config.in index 23cf7facb..325a05d60 100644 --- a/package/numactl/Config.in +++ b/package/numactl/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_NUMACTL bool "numactl" depends on BR2_USE_MMU # madvise() + depends on BR2_TOOLCHAIN_HAS_ATOMIC help numactl allows you to run your application on specific cpus and memory nodes. It does this by supplying a NUMA memory diff --git a/package/numactl/numactl.hash b/package/numactl/numactl.hash index 802175d36..a261eab9d 100644 --- a/package/numactl/numactl.hash +++ b/package/numactl/numactl.hash @@ -1,3 +1,4 @@ # Locally calculated sha256 1ee27abd07ff6ba140aaf9bc6379b37825e54496e01d6f7343330cf1a4487035 numactl-2.0.14.tar.gz -sha256 e2b738b1303c088421b09933a78c1326fe43692e2c05a7c510a2eb7e7a8eb575 README.md +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE.GPL2 +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL2.1 diff --git a/package/numactl/numactl.mk b/package/numactl/numactl.mk index cf9c75969..6ff94091e 100644 --- a/package/numactl/numactl.mk +++ b/package/numactl/numactl.mk @@ -7,7 +7,7 @@ NUMACTL_VERSION = 2.0.14 NUMACTL_SITE = $(call github,numactl,numactl,v$(NUMACTL_VERSION)) NUMACTL_LICENSE = LGPL-2.1 (libnuma), GPL-2.0 (programs) -NUMACTL_LICENSE_FILES = README.md +NUMACTL_LICENSE_FILES = LICENSE.GPL2 LICENSE.LGPL2.1 NUMACTL_INSTALL_STAGING = YES NUMACTL_AUTORECONF = YES NUMACTL_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -fPIC" diff --git a/package/nut/nut.mk b/package/nut/nut.mk index db0247dc2..cd31cd886 100644 --- a/package/nut/nut.mk +++ b/package/nut/nut.mk @@ -61,7 +61,7 @@ else NUT_CONF_OPTS += --without-cgi endif -# nut-scanner needs libltdl, which is a wrapper arounf dlopen/dlsym, +# nut-scanner needs libltdl, which is a wrapper around dlopen/dlsym, # so is not available for static-only builds. # There is no flag to directly enable/disable nut-scanner, it's done # via the --enable/disable-libltdl flag. diff --git a/package/nvidia-driver/nvidia-driver.hash b/package/nvidia-driver/nvidia-driver.hash index 7f2248d0f..0dd5b8464 100644 --- a/package/nvidia-driver/nvidia-driver.hash +++ b/package/nvidia-driver/nvidia-driver.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 51adb28f0ed4548f35a88a93ad6767ebd807fa14f418bf5e51a6d63a3ff7f275 NVIDIA-Linux-x86-390.132.run -sha256 b6b4b8af37e78e026c9ebdf4a5c64ea412dfcb710931dd028c22dac228de659d NVIDIA-Linux-x86_64-390.132-no-compat32.run -sha256 bd28b0c5aeeb00eb11d3ec6f6f3449d4b3a40100914258332734a53527997526 LICENSE +sha256 51adb28f0ed4548f35a88a93ad6767ebd807fa14f418bf5e51a6d63a3ff7f275 NVIDIA-Linux-x86-390.132.run +sha256 b6b4b8af37e78e026c9ebdf4a5c64ea412dfcb710931dd028c22dac228de659d NVIDIA-Linux-x86_64-390.132-no-compat32.run +sha256 bd28b0c5aeeb00eb11d3ec6f6f3449d4b3a40100914258332734a53527997526 LICENSE diff --git a/package/nvidia-driver/nvidia-driver.mk b/package/nvidia-driver/nvidia-driver.mk index 54c2aa46d..ec070e3ca 100644 --- a/package/nvidia-driver/nvidia-driver.mk +++ b/package/nvidia-driver/nvidia-driver.mk @@ -137,6 +137,7 @@ endif # because they don't recognise the usual variables set by the kernel # build system. We also need to tell them what modules to build. NVIDIA_DRIVER_MODULE_MAKE_OPTS = \ + IGNORE_CC_MISMATCH=1 \ NV_KERNEL_SOURCES="$(LINUX_DIR)" \ NV_KERNEL_OUTPUT="$(LINUX_DIR)" \ NV_KERNEL_MODULES="$(NVIDIA_DRIVER_MODULES)" diff --git a/package/nvidia-modprobe/nvidia-modprobe.hash b/package/nvidia-modprobe/nvidia-modprobe.hash index 99908680f..10b765e35 100644 --- a/package/nvidia-modprobe/nvidia-modprobe.hash +++ b/package/nvidia-modprobe/nvidia-modprobe.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 396b4102d3075a2dee3024652fae206a1b38ace54b8efb1e2c20757a11ec19f1 nvidia-modprobe-450.57.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 396b4102d3075a2dee3024652fae206a1b38ace54b8efb1e2c20757a11ec19f1 nvidia-modprobe-450.57.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/obsidian-cursors/obsidian-cursors.hash b/package/obsidian-cursors/obsidian-cursors.hash index 8f1775e8a..a476a0ba0 100644 --- a/package/obsidian-cursors/obsidian-cursors.hash +++ b/package/obsidian-cursors/obsidian-cursors.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 3d38fe875f6feae8b7772e02cfda530fcf669479807915cd2c12c149da17cfb9 73135-Obsidian.tar.bz2 +sha256 3d38fe875f6feae8b7772e02cfda530fcf669479807915cd2c12c149da17cfb9 73135-Obsidian.tar.bz2 diff --git a/package/ocrad/ocrad.hash b/package/ocrad/ocrad.hash index 7ae38c30e..b8db1723a 100644 --- a/package/ocrad/ocrad.hash +++ b/package/ocrad/ocrad.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 a9bfe67e9a040907aff5640dca56392476b6a89e48e37dc94ba846c5b6733b36 ocrad-0.27.tar.lz -sha256 3d77c1a58fbde5ddba612d1fe09965e20a3804953eca12e8c1892298bb8a5eef COPYING +sha256 a9bfe67e9a040907aff5640dca56392476b6a89e48e37dc94ba846c5b6733b36 ocrad-0.27.tar.lz +sha256 3d77c1a58fbde5ddba612d1fe09965e20a3804953eca12e8c1892298bb8a5eef COPYING diff --git a/package/ocrad/ocrad.mk b/package/ocrad/ocrad.mk index e037a0819..914d53a59 100644 --- a/package/ocrad/ocrad.mk +++ b/package/ocrad/ocrad.mk @@ -7,7 +7,7 @@ OCRAD_VERSION = 0.27 OCRAD_SOURCE = ocrad-$(OCRAD_VERSION).tar.lz OCRAD_SITE = $(BR2_GNU_MIRROR)/ocrad -OCRAD_LICENSE = GPL-3.0+ +OCRAD_LICENSE = GPL-2.0+ OCRAD_LICENSE_FILES = COPYING OCRAD_INSTALL_STAGING = YES diff --git a/package/odb/0012-Adjust-to-changes-in-GCC-11.patch b/package/odb/0012-Adjust-to-changes-in-GCC-11.patch new file mode 100644 index 000000000..2959a71de --- /dev/null +++ b/package/odb/0012-Adjust-to-changes-in-GCC-11.patch @@ -0,0 +1,50 @@ +From 5a5656920c6b49902ae0da6a0da84efe6e5a66f0 Mon Sep 17 00:00:00 2001 +From: Boris Kolpackov +Date: Wed, 31 Mar 2021 10:45:21 +0200 +Subject: [PATCH] Adjust to changes in GCC 11 + +[Upstream: 61d80f051293a7449a09081f60f48b8377bfbbad] +Signed-off-by: Thomas Petazzoni +--- + odb/gcc.hxx | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/odb/gcc.hxx b/odb/gcc.hxx +index fb6a1bf..d8ad590 100644 +--- a/odb/gcc.hxx ++++ b/odb/gcc.hxx +@@ -164,6 +164,7 @@ gcc_tree_code_name (gcc_tree_code_type tc) {return tree_code_name[tc];} + // In GCC 9: + // + // INCLUDED_FROM Became linemap_included_from_linemap(). ++// + // LAST_SOURCE_LINE Was removed apparently as no longer used. Studying + // the line-map.h diff from 8.3 suggests that the old + // implementation should still work. +@@ -193,4 +194,23 @@ LAST_SOURCE_LINE (const line_map_ordinary* map) + + #endif + ++// In GCC 11: ++// ++// lookup_qualified_name() has a new interface. ++// ++// DECL_IS_BUILTIN became DECL_IS_UNDECLARED_BUILTIN. ++// ++#if BUILDING_GCC_MAJOR >= 11 ++ ++inline tree ++lookup_qualified_name (tree scope, tree name, bool type, bool complain) ++{ ++ return lookup_qualified_name ( ++ scope, name, (type ? LOOK_want::TYPE : LOOK_want::NORMAL), complain); ++} ++ ++#define DECL_IS_BUILTIN(decl) DECL_IS_UNDECLARED_BUILTIN(decl) ++ ++#endif ++ + #endif // ODB_GCC_HXX +-- +2.34.1 + diff --git a/package/odb/0013-Resolve-name-lookup-ambiguity-causing-error-with-GCC.patch b/package/odb/0013-Resolve-name-lookup-ambiguity-causing-error-with-GCC.patch new file mode 100644 index 000000000..79c3d982f --- /dev/null +++ b/package/odb/0013-Resolve-name-lookup-ambiguity-causing-error-with-GCC.patch @@ -0,0 +1,68 @@ +From 60460df2a6d7b43a860a8f8b614c049ec0127ea8 Mon Sep 17 00:00:00 2001 +From: Boris Kolpackov +Date: Wed, 7 Jul 2021 09:26:57 +0200 +Subject: [PATCH] Resolve name lookup ambiguity causing error with GCC 11 + +[Upstream: 47035c0f72efd99a2210cd45db6e42423fb74533] +Signed-off-by: Thomas Petazzoni +--- + odb/relational/header.hxx | 2 ++ + odb/relational/source.hxx | 8 ++++++++ + 2 files changed, 10 insertions(+) + +diff --git a/odb/relational/header.hxx b/odb/relational/header.hxx +index 63dea09..d7f78fa 100644 +--- a/odb/relational/header.hxx ++++ b/odb/relational/header.hxx +@@ -50,6 +50,8 @@ namespace relational + + typedef typename member_base_impl::member_info member_info; + ++ using member_base_impl::container; ++ + virtual bool + pre (member_info& mi) + { +diff --git a/odb/relational/source.hxx b/odb/relational/source.hxx +index 716aa10..7da25fc 100644 +--- a/odb/relational/source.hxx ++++ b/odb/relational/source.hxx +@@ -1360,6 +1360,8 @@ namespace relational + + typedef typename member_base_impl::member_info member_info; + ++ using member_base_impl::container; ++ + virtual bool + pre (member_info& mi) + { +@@ -1744,6 +1746,8 @@ namespace relational + + typedef typename member_base_impl::member_info member_info; + ++ using member_base_impl::container; ++ + virtual bool + pre (member_info& mi) + { +@@ -2007,6 +2011,8 @@ namespace relational + + typedef typename member_base_impl::member_info member_info; + ++ using member_base_impl::container; ++ + virtual void + set_null (member_info&) = 0; + +@@ -2458,6 +2464,8 @@ namespace relational + + typedef typename member_base_impl::member_info member_info; + ++ using member_base_impl::container; ++ + virtual void + get_null (string const& var) const = 0; + +-- +2.34.1 + diff --git a/package/odb/odb.hash b/package/odb/odb.hash index 773a9c829..36c374588 100644 --- a/package/odb/odb.hash +++ b/package/odb/odb.hash @@ -1,6 +1,6 @@ # From https://www.codesynthesis.com/products/odb/download.xhtml -sha1 810fc02e591429ed19f5a2699d144fb611fb121b odb-2.4.0.tar.bz2 +sha1 810fc02e591429ed19f5a2699d144fb611fb121b odb-2.4.0.tar.bz2 # Locally computed -sha256 6785154fa98ea3977c8c2ab38cec16c4aa78c2c2039e80cd2908347b1c1d4198 odb-2.4.0.tar.bz2 -sha256 7983b82cb1f1686ac2b55420ded9c0f348f93dd17bf3e048ae3b25c1da51b80e LICENSE +sha256 6785154fa98ea3977c8c2ab38cec16c4aa78c2c2039e80cd2908347b1c1d4198 odb-2.4.0.tar.bz2 +sha256 7983b82cb1f1686ac2b55420ded9c0f348f93dd17bf3e048ae3b25c1da51b80e LICENSE diff --git a/package/odb/odb.mk b/package/odb/odb.mk index 85c7ccb8b..a23406995 100644 --- a/package/odb/odb.mk +++ b/package/odb/odb.mk @@ -10,7 +10,13 @@ ODB_SOURCE = odb-$(ODB_VERSION).tar.bz2 ODB_SITE = https://www.codesynthesis.com/download/odb/$(ODB_VERSION_MAJOR) ODB_LICENSE = GPL-3.0 ODB_LICENSE_FILES = LICENSE -HOST_ODB_DEPENDENCIES = host-libcutl +# host-libodb is not needed to build host-odb, but it is needed to use +# the ODB compiler, as it install header files that are needed at +# runtime by the odb compiler. +HOST_ODB_DEPENDENCIES = host-libcutl host-libodb +ifeq ($(BR2_PACKAGE_LIBODB_BOOST),y) +HOST_ODB_DEPENDENCIES += host-libodb-boost +endif HOST_ODB_CONF_ENV = CXXFLAGS="$(HOST_CXXFLAGS) -std=c++11" # Prevent odb from trying to install the gcc plugin into the hosts diff --git a/package/ogre/Config.in b/package/ogre/Config.in index 7d57d3f82..e00d76d93 100644 --- a/package/ogre/Config.in +++ b/package/ogre/Config.in @@ -8,6 +8,7 @@ config BR2_PACKAGE_OGRE depends on !BR2_STATIC_LIBS depends on BR2_USE_MMU depends on BR2_USE_WCHAR # use wchar_t + depends on !BR2_arc # libfreeimage select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_LIBFREEIMAGE select BR2_PACKAGE_PUGIXML @@ -34,9 +35,11 @@ comment "ogre needs X11 and an OpenGL provider" depends on BR2_TOOLCHAIN_HAS_THREADS && BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ && BR2_INSTALL_LIBSTDCPP && !BR2_STATIC_LIBS && BR2_USE_WCHAR depends on BR2_USE_MMU + depends on !BR2_arc comment "ogre needs a toolchain w/ C++, dynamic library, gcc >= 4.8, threads, wchar" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \ || !BR2_USE_WCHAR depends on BR2_USE_MMU + depends on !BR2_arc diff --git a/package/olsr/olsr.hash b/package/olsr/olsr.hash index 821361bb1..c148025b1 100644 --- a/package/olsr/olsr.hash +++ b/package/olsr/olsr.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 ee9e524224e5d5304dcf61f1dc5485c569da09d382934ff85b233be3e24821a3 olsr-0.9.8.tar.gz -sha256 7dcf1fb93ef105e2708b02603bb6ee443115d4819fbf2c5a3a001b46887acb9a license.txt -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 lib/pud/nmealib/LICENSE +sha256 ee9e524224e5d5304dcf61f1dc5485c569da09d382934ff85b233be3e24821a3 olsr-0.9.8.tar.gz +sha256 7dcf1fb93ef105e2708b02603bb6ee443115d4819fbf2c5a3a001b46887acb9a license.txt +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 lib/pud/nmealib/LICENSE diff --git a/package/omniorb/omniorb.mk b/package/omniorb/omniorb.mk index b44ec53fd..d6434735c 100644 --- a/package/omniorb/omniorb.mk +++ b/package/omniorb/omniorb.mk @@ -25,7 +25,7 @@ HOST_OMNIORB_CONF_OPTS += --disable-longdouble ifeq ($(BR2_PACKAGE_OPENSSL),y) OMNIORB_CONF_OPTS += --with-openssl -OMNIORB_DEPENDENCIES += openssl +OMNIORB_DEPENDENCIES += host-pkgconf openssl else OMNIORB_CONF_OPTS += --without-openssl endif diff --git a/package/omxplayer/omxplayer.hash b/package/omxplayer/omxplayer.hash index fcbf730ab..5826c68d7 100644 --- a/package/omxplayer/omxplayer.hash +++ b/package/omxplayer/omxplayer.hash @@ -1,5 +1,5 @@ # Locally computed: -sha1 a9106203f822fe88eb35980479f46a555086d4a7 omxplayer-f06235cc9690a6d58187514452df8cf8fcdaacec.tar.gz +sha1 a9106203f822fe88eb35980479f46a555086d4a7 omxplayer-f06235cc9690a6d58187514452df8cf8fcdaacec.tar.gz sha256 af2d9450f8947842ea8c401fe9f71eec444013ebbdee29f2ac828c9c493c1329 omxplayer-f06235cc9690a6d58187514452df8cf8fcdaacec.tar.gz # Hash for license file: diff --git a/package/open62541/open62541.mk b/package/open62541/open62541.mk index fb28a614e..627c29e95 100644 --- a/package/open62541/open62541.mk +++ b/package/open62541/open62541.mk @@ -6,7 +6,7 @@ OPEN62541_VERSION = v1.2.2 OPEN62541_SITE_METHOD = git -OPEN62541_SITE = git://github.com/open62541/open62541.git +OPEN62541_SITE = https://github.com/open62541/open62541.git OPEN62541_GIT_SUBMODULES = YES OPEN62541_INSTALL_STAGING = YES OPEN62541_LICENSE = MPL-2.0 diff --git a/package/openblas/openblas.mk b/package/openblas/openblas.mk index 4d506fa61..1d7d6d053 100644 --- a/package/openblas/openblas.mk +++ b/package/openblas/openblas.mk @@ -9,6 +9,7 @@ OPENBLAS_SITE = https://github.com/xianyi/OpenBLAS/releases/download/v$(OPENBLAS OPENBLAS_LICENSE = BSD-3-Clause OPENBLAS_LICENSE_FILES = LICENSE OPENBLAS_INSTALL_STAGING = YES +OPENBLAS_CPE_ID_VENDOR = openblas_project # Initialise OpenBLAS make options to $(TARGET_CONFIGURE_OPTS) OPENBLAS_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) diff --git a/package/opencore-amr/opencore-amr.hash b/package/opencore-amr/opencore-amr.hash index b333822b9..2a2d74984 100644 --- a/package/opencore-amr/opencore-amr.hash +++ b/package/opencore-amr/opencore-amr.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/opencore-amr/files/opencore-amr/ -md5 e0798587b91411cc092aa73091a97dfc opencore-amr-0.1.5.tar.gz -sha1 bef4d1e3a8a155b47569b6691a223843b33e279e opencore-amr-0.1.5.tar.gz +md5 e0798587b91411cc092aa73091a97dfc opencore-amr-0.1.5.tar.gz +sha1 bef4d1e3a8a155b47569b6691a223843b33e279e opencore-amr-0.1.5.tar.gz # Locally computed: -sha256 2c006cb9d5f651bfb5e60156dbff6af3c9d35c7bbcc9015308c0aff1e14cd341 opencore-amr-0.1.5.tar.gz -sha256 8b3f1762349248d444ab9acbafe73941254e36e1064954da56bb9ddbd5873ddb LICENSE +sha256 2c006cb9d5f651bfb5e60156dbff6af3c9d35c7bbcc9015308c0aff1e14cd341 opencore-amr-0.1.5.tar.gz +sha256 8b3f1762349248d444ab9acbafe73941254e36e1064954da56bb9ddbd5873ddb LICENSE diff --git a/package/opencv4/Config.in b/package/opencv4/Config.in index 31c32385d..88a7a0115 100644 --- a/package/opencv4/Config.in +++ b/package/opencv4/Config.in @@ -30,6 +30,20 @@ config BR2_PACKAGE_OPENCV4_LIB_CALIB3D Include opencv_calib3d (camera calibration and 3d reconstruction) module into the OpenCV build. +config BR2_PACKAGE_OPENCV4_LIB_DNN + bool "dnn" + # dnn needs fenv.h which is not provided by uclibc + depends on !BR2_TOOLCHAIN_USES_UCLIBC + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS + select BR2_PACKAGE_OPENCV4_WITH_PROTOBUF + help + Include opencv_dnn (Deep Neural Networks) module into the + OpenCV build. + +comment "dnn needs a glibc or musl toolchain" + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_USES_UCLIBC + config BR2_PACKAGE_OPENCV4_LIB_FEATURES2D bool "features2d" select BR2_PACKAGE_OPENCV4_LIB_FLANN @@ -139,14 +153,21 @@ config BR2_PACKAGE_OPENCV4_LIB_ML config BR2_PACKAGE_OPENCV4_LIB_OBJDETECT bool "objdetect" + depends on !BR2_TOOLCHAIN_USES_UCLIBC # dnn support + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # dnn support # opencv_core dependency is already enabled select BR2_PACKAGE_OPENCV4_LIB_CALIB3D + select BR2_PACKAGE_OPENCV4_LIB_DNN select BR2_PACKAGE_OPENCV4_LIB_IMGPROC select BR2_PACKAGE_OPENCV4_LIB_ML help Include opencv_objdetect (object detection) module into the OpenCV build. +comment "objdetect needs a glibc or musl toolchain" + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_USES_UCLIBC + config BR2_PACKAGE_OPENCV4_LIB_PHOTO bool "photo" select BR2_PACKAGE_OPENCV4_LIB_IMGPROC diff --git a/package/opencv4/opencv4.mk b/package/opencv4/opencv4.mk index e75f7144d..619bfd9db 100644 --- a/package/opencv4/opencv4.mk +++ b/package/opencv4/opencv4.mk @@ -92,6 +92,7 @@ OPENCV4_CONF_OPTS += \ -DBUILD_opencv_apps=OFF \ -DBUILD_opencv_calib3d=$(if $(BR2_PACKAGE_OPENCV4_LIB_CALIB3D),ON,OFF) \ -DBUILD_opencv_core=ON \ + -DBUILD_opencv_dnn=$(if $(BR2_PACKAGE_OPENCV4_LIB_DNN),ON,OFF) \ -DBUILD_opencv_features2d=$(if $(BR2_PACKAGE_OPENCV4_LIB_FEATURES2D),ON,OFF) \ -DBUILD_opencv_flann=$(if $(BR2_PACKAGE_OPENCV4_LIB_FLANN),ON,OFF) \ -DBUILD_opencv_highgui=$(if $(BR2_PACKAGE_OPENCV4_LIB_HIGHGUI),ON,OFF) \ diff --git a/package/openjdk-bin/openjdk-bin.hash b/package/openjdk-bin/openjdk-bin.hash index bbc939d4e..62691ed6f 100644 --- a/package/openjdk-bin/openjdk-bin.hash +++ b/package/openjdk-bin/openjdk-bin.hash @@ -1,8 +1,8 @@ # https://github.com/adoptium/temurin17-binaries/releases -sha256 6ea18c276dcbb8522feeebcfc3a4b5cb7c7e7368ba8590d3326c6c3efc5448b6 OpenJDK17U-jdk_x64_linux_hotspot_17.0.1_12.tar.gz +sha256 288f34e3ba8a4838605636485d0365ce23e57d5f2f68997ac4c2e4c01967cd48 OpenJDK17U-jdk_x64_linux_hotspot_17.0.2_8.tar.gz # From https://github.com/adoptium/temurin11-binaries/releases -sha256 3b1c0c34be4c894e64135a454f2d5aaa4bd10aea04ec2fa0c0efe6bb26528e30 OpenJDK11U-jdk_x64_linux_hotspot_11.0.13_8.tar.gz +sha256 43fb84f8063ad9bf6b6d694a67b8f64c8827552b920ec5ce794dfe5602edffe7 OpenJDK11U-jdk_x64_linux_hotspot_11.0.14.1_1.tar.gz # Locally calculated sha256 4b9abebc4338048a7c2dc184e9f800deb349366bdf28eb23c2677a77b4c87726 legal/java.prefs/LICENSE diff --git a/package/openjdk-bin/openjdk-bin.mk b/package/openjdk-bin/openjdk-bin.mk index 266c93d36..3d1ebd742 100644 --- a/package/openjdk-bin/openjdk-bin.mk +++ b/package/openjdk-bin/openjdk-bin.mk @@ -6,10 +6,10 @@ ifeq ($(BR2_PACKAGE_OPENJDK_VERSION_17),y) HOST_OPENJDK_BIN_VERSION_MAJOR = 17 -HOST_OPENJDK_BIN_VERSION_MINOR = 0.1_12 +HOST_OPENJDK_BIN_VERSION_MINOR = 0.2_8 else HOST_OPENJDK_BIN_VERSION_MAJOR = 11 -HOST_OPENJDK_BIN_VERSION_MINOR = 0.13_8 +HOST_OPENJDK_BIN_VERSION_MINOR = 0.14.1_1 endif HOST_OPENJDK_BIN_VERSION = $(HOST_OPENJDK_BIN_VERSION_MAJOR).$(HOST_OPENJDK_BIN_VERSION_MINOR) HOST_OPENJDK_BIN_SOURCE = OpenJDK$(HOST_OPENJDK_BIN_VERSION_MAJOR)U-jdk_x64_linux_hotspot_$(HOST_OPENJDK_BIN_VERSION).tar.gz diff --git a/package/openjdk/Config.in b/package/openjdk/Config.in index 8b7fd4653..7671356fd 100644 --- a/package/openjdk/Config.in +++ b/package/openjdk/Config.in @@ -56,6 +56,8 @@ if BR2_PACKAGE_OPENJDK choice prompt "openjdk version" + default BR2_PACKAGE_OPENJDK_VERSION_11 if BR2_OPENJDK_VERSION_LTS # legacy + default BR2_PACKAGE_OPENJDK_VERSION_17 if BR2_OPENJDK_VERSION_LATEST # legacy default BR2_PACKAGE_OPENJDK_VERSION_17 help Select the version of OpenJDK you wish to use. diff --git a/package/openjdk/openjdk.hash b/package/openjdk/openjdk.hash index 2f46b044a..293787792 100644 --- a/package/openjdk/openjdk.hash +++ b/package/openjdk/openjdk.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 8c076203a6f85ab916b3e54de1992bcbcc5ffe580c52b1ac8d52ca7afb9f02d1 openjdk-17.0.1+12.tar.gz -sha256 119c6233fe7ff5670c590e2f9d6686ac4d80c97b17065506998b75c547b54f2c openjdk-11.0.13+8.tar.gz +sha256 2fdd23261526362d4aaf58323441d4c31d29de2e374ba94bbf2727a00adc0ea7 openjdk-17.0.2+8.tar.gz +sha256 0e859cc03378439023e17ee82aecee5a52265fb38906a8bebf16027aa2b2bcf5 openjdk-11.0.14.1+1.tar.gz sha256 4b9abebc4338048a7c2dc184e9f800deb349366bdf28eb23c2677a77b4c87726 LICENSE diff --git a/package/openjdk/openjdk.mk b/package/openjdk/openjdk.mk index 5fccdaa7a..42d52d57c 100644 --- a/package/openjdk/openjdk.mk +++ b/package/openjdk/openjdk.mk @@ -6,10 +6,10 @@ ifeq ($(BR2_PACKAGE_OPENJDK_VERSION_17),y) OPENJDK_VERSION_MAJOR = 17 -OPENJDK_VERSION_MINOR = 0.1+12 +OPENJDK_VERSION_MINOR = 0.2+8 else OPENJDK_VERSION_MAJOR = 11 -OPENJDK_VERSION_MINOR = 0.13+8 +OPENJDK_VERSION_MINOR = 0.14.1+1 endif OPENJDK_VERSION = $(OPENJDK_VERSION_MAJOR).$(OPENJDK_VERSION_MINOR) OPENJDK_SITE = $(call github,openjdk,jdk$(OPENJDK_VERSION_MAJOR)u,jdk-$(OPENJDK_VERSION)) diff --git a/package/openjpeg/0001-thirdparty-tiff-append-flags-found-by-pkg-config-if-.patch b/package/openjpeg/0001-thirdparty-tiff-append-flags-found-by-pkg-config-if-.patch deleted file mode 100644 index bce790a47..000000000 --- a/package/openjpeg/0001-thirdparty-tiff-append-flags-found-by-pkg-config-if-.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 38f50c7d9ad3ba06b64583045665203afb53cbd9 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sun, 6 Nov 2016 16:29:08 +0100 -Subject: [PATCH] thirdparty: tiff: append flags found by pkg-config if - available - -This change allows to get all required CFLAGS/LDFLAGS in case of static only -build. - -This build issue [1] was triggered by the Buildroot farms. - -[1] http://autobuild.buildroot.net/results/d0d/d0d22727311d6300e0e400728126170407bfd699/build-end.log - -Signed-off-by: Samuel Martin ---- - thirdparty/CMakeLists.txt | 23 +++++++++++++++++++++-- - 1 file changed, 21 insertions(+), 2 deletions(-) - -diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt -index cb24b43b58e2..cd6a5e1391b0 100644 ---- a/thirdparty/CMakeLists.txt -+++ b/thirdparty/CMakeLists.txt -@@ -1,5 +1,9 @@ - # 3rd party libs - -+if(NOT BUILD_THIRDPARTY) -+ include(FindPkgConfig) -+endif(NOT BUILD_THIRDPARTY) -+ - #------------ - # Try to find lib Z - if(BUILD_THIRDPARTY) -@@ -36,6 +40,9 @@ if(BUILD_THIRDPARTY) - else(BUILD_THIRDPARTY) - if(ZLIB_FOUND) - find_package(PNG) -+ # Static only build: -+ # it is not necessary to invoke pkg_check_module on libpng, because libpng -+ # only depends on zlib, which is already checked. - if(PNG_FOUND) - message(STATUS "Your system seems to have a PNG lib available, we will use it") - set(OPJ_HAVE_PNG_H 1 PARENT_SCOPE) -@@ -66,12 +73,24 @@ if(BUILD_THIRDPARTY) - set(OPJ_HAVE_LIBTIFF 1 PARENT_SCOPE) - else(BUILD_THIRDPARTY) - find_package(TIFF) -+ # Static only build: -+ # it is necessary to invoke pkg_check_module on libtiff since it may have -+ # several other dependencies not declared by its cmake module, but they are -+ # in the its pkgconfig module. -+ if(PKG_CONFIG_FOUND) -+ foreach(pc_tiff_module tiff tiff3 tiff4 tiff-3 tiff-4 libtiff libtiff3 libtiff4 libtiff-3 libtiff-4) -+ pkg_check_modules(PC_TIFF QUIET ${pc_tiff_module}) -+ if(PC_TIFF_FOUND) -+ break() -+ endif(PC_TIFF_FOUND) -+ endforeach() -+ endif(PKG_CONFIG_FOUND) - if(TIFF_FOUND) - message(STATUS "Your system seems to have a TIFF lib available, we will use it") - set(OPJ_HAVE_TIFF_H 1 PARENT_SCOPE) - set(OPJ_HAVE_LIBTIFF 1 PARENT_SCOPE) -- set(TIFF_LIBNAME ${TIFF_LIBRARIES} PARENT_SCOPE) -- set(TIFF_INCLUDE_DIRNAME ${TIFF_INCLUDE_DIR} PARENT_SCOPE) -+ set(TIFF_LIBNAME ${TIFF_LIBRARIES} ${PC_TIFF_STATIC_LIBRARIES} PARENT_SCOPE) -+ set(TIFF_INCLUDE_DIRNAME ${TIFF_INCLUDE_DIR} ${PC_TIFF_STATIC_INCLUDE_DIRS} PARENT_SCOPE) - else(TIFF_FOUND) # not found - set(OPJ_HAVE_TIFF_H 0 PARENT_SCOPE) - set(OPJ_HAVE_LIBTIFF 0 PARENT_SCOPE) --- -2.10.2 - diff --git a/package/openjpeg/0002-thirdparty-lcms2-append-flags-found-by-pkg-config-if.patch b/package/openjpeg/0002-thirdparty-lcms2-append-flags-found-by-pkg-config-if.patch deleted file mode 100644 index 5697b82de..000000000 --- a/package/openjpeg/0002-thirdparty-lcms2-append-flags-found-by-pkg-config-if.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 226daa77ea5a35da306f9af2548f3e2c9e79f577 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Fri, 11 Nov 2016 23:35:13 +0100 -Subject: [PATCH] thirdparty: lcms2: append flags found by pkg-config if - available - -This change allows to get all required CFLAGS/LDFLAGS in case of static only -build. - -Fixes a buildroot build failure (see [1], [2] and [3]). - -[1] http://autobuild.buildroot.net/results/5ce/5cee20afd8bef5268832cddcb3a5270746be7a57 -[2] http://lists.busybox.net/pipermail/buildroot/2016-November/177187.html -[3] http://lists.busybox.net/pipermail/buildroot/2016-November/177188.html - -Signed-off-by: Peter Seiderer ---- - thirdparty/CMakeLists.txt | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt -index cd6a5e1391b0..a3a8494d89b1 100644 ---- a/thirdparty/CMakeLists.txt -+++ b/thirdparty/CMakeLists.txt -@@ -113,12 +113,19 @@ if( BUILD_THIRDPARTY) - set(OPJ_HAVE_LIBLCMS2 1 PARENT_SCOPE) - else(BUILD_THIRDPARTY) - find_package(LCMS2) -+ # Static only build: -+ # it is necessary to invoke pkg_check_module on lcms2 since it may have -+ # several other dependencies not declared by its cmake module, but they are -+ # in the its pkgconfig module. -+ if(PKG_CONFIG_FOUND) -+ pkg_check_modules(PC_LCMS2 QUIET lcms2) -+ endif(PKG_CONFIG_FOUND) - if(LCMS2_FOUND) - message(STATUS "Your system seems to have a LCMS2 lib available, we will use it") - set(OPJ_HAVE_LCMS2_H 1 PARENT_SCOPE) - set(OPJ_HAVE_LIBLCMS2 1 PARENT_SCOPE) -- set(LCMS_LIBNAME ${LCMS2_LIBRARIES} PARENT_SCOPE) -- set(LCMS_INCLUDE_DIRNAME ${LCMS2_INCLUDE_DIRS} PARENT_SCOPE) -+ set(LCMS_LIBNAME ${LCMS2_LIBRARIES} ${PC_LCMS2_STATIC_LIBRARIES} PARENT_SCOPE) -+ set(LCMS_INCLUDE_DIRNAME ${LCMS2_INCLUDE_DIRS} ${PC_LCMS2_STATIC_INCLUDE_DIRS} PARENT_SCOPE) - else(LCMS2_FOUND) # not found lcms2 - # try to find LCMS - find_package(LCMS) --- -2.10.2 - diff --git a/package/openjpeg/0003-CMakeLists.txt-Don-t-require-a-C-compiler.patch b/package/openjpeg/0003-CMakeLists.txt-Don-t-require-a-C-compiler.patch deleted file mode 100644 index 13cceef19..000000000 --- a/package/openjpeg/0003-CMakeLists.txt-Don-t-require-a-C-compiler.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 786ddcd1475adc6193c59d53e0d8ed2c502f2b00 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Sat, 23 Sep 2017 18:49:31 +0200 -Subject: [PATCH] CMakeLists.txt: Don't require a C++ compiler - -By default, CMake assumes that the project is using both C and C++. By -explicitly passing 'C' as argument of the project() macro, we tell CMake -that only C is used, which prevents CMake from erroring out if a C++ -compiler doesn't exist. - -Submitted upstream: -https://github.com/uclouvain/openjpeg/pull/1027 - -Signed-off-by: Peter Korsgaard ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ec42bc99..d80eb48b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -24,7 +24,7 @@ endif() - #string(TOLOWER ${OPENJPEG_NAMESPACE} OPENJPEG_LIBRARY_NAME) - set(OPENJPEG_LIBRARY_NAME openjp2) - --project(${OPENJPEG_NAMESPACE}) -+project(${OPENJPEG_NAMESPACE} C) - - # Do full dependency headers. - include_regular_expression("^.*$") --- -2.11.0 - diff --git a/package/openjpeg/0004-Revert-Use-INC_DIR-for-OPENJPEG_INCLUDE_DIRS-fixes-u.patch b/package/openjpeg/0004-Revert-Use-INC_DIR-for-OPENJPEG_INCLUDE_DIRS-fixes-u.patch deleted file mode 100644 index b85556a67..000000000 --- a/package/openjpeg/0004-Revert-Use-INC_DIR-for-OPENJPEG_INCLUDE_DIRS-fixes-u.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 14f4c27e7c91f745a1dda9991b5deea3cbef2072 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Thu, 7 Jan 2021 14:09:50 +0100 -Subject: [PATCH] Revert "Use INC_DIR for OPENJPEG_INCLUDE_DIRS (fixes - uclouvain#1174)" - -This reverts commit 65586374d639cfc0104419992f9022174b412594 which -breaks cross-compilation of poppler under buildroot (because of -DESTDIR usage). - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/uclouvain/openjpeg/pull/1321] ---- - cmake/OpenJPEGConfig.cmake.in | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/cmake/OpenJPEGConfig.cmake.in b/cmake/OpenJPEGConfig.cmake.in -index 8a726697..2925108a 100644 ---- a/cmake/OpenJPEGConfig.cmake.in -+++ b/cmake/OpenJPEGConfig.cmake.in -@@ -27,8 +27,12 @@ if(EXISTS ${SELF_DIR}/OpenJPEGTargets.cmake) - # This is an install tree - include(${SELF_DIR}/OpenJPEGTargets.cmake) - -+ # We find a relative path from the PKG directory to header files. -+ set(PKG_DIR "@CMAKE_INSTALL_PREFIX@/@OPENJPEG_INSTALL_PACKAGE_DIR@") - set(INC_DIR "@CMAKE_INSTALL_PREFIX@/@OPENJPEG_INSTALL_INCLUDE_DIR@") -- get_filename_component(OPENJPEG_INCLUDE_DIRS "${INC_DIR}" ABSOLUTE) -+ file(RELATIVE_PATH PKG_TO_INC_RPATH "${PKG_DIR}" "${INC_DIR}") -+ -+ get_filename_component(OPENJPEG_INCLUDE_DIRS "${SELF_DIR}/${PKG_TO_INC_RPATH}" ABSOLUTE) - - else() - if(EXISTS ${SELF_DIR}/OpenJPEGExports.cmake) --- -2.29.2 - diff --git a/package/openjpeg/openjpeg.hash b/package/openjpeg/openjpeg.hash index 879824525..cfa0e01b7 100644 --- a/package/openjpeg/openjpeg.hash +++ b/package/openjpeg/openjpeg.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 8702ba68b442657f11aaeb2b338443ca8d5fb95b0d845757968a7be31ef7f16d openjpeg-2.4.0.tar.gz +sha256 0333806d6adecc6f7a91243b2b839ff4d2053823634d4f6ed7a59bc87409122a openjpeg-2.5.0.tar.gz sha256 a6af136f3e15038a666b61f376612a07d9a4e48cb7c01adbf3e33b3f14ab49b6 LICENSE diff --git a/package/openjpeg/openjpeg.mk b/package/openjpeg/openjpeg.mk index 7f2a2c439..5b03a6cf5 100644 --- a/package/openjpeg/openjpeg.mk +++ b/package/openjpeg/openjpeg.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENJPEG_VERSION = 2.4.0 +OPENJPEG_VERSION = 2.5.0 OPENJPEG_SITE = $(call github,uclouvain,openjpeg,v$(OPENJPEG_VERSION)) OPENJPEG_LICENSE = BSD-2-Clause OPENJPEG_LICENSE_FILES = LICENSE diff --git a/package/openmpi/openmpi.hash b/package/openmpi/openmpi.hash index 4e76951c8..a399adc75 100644 --- a/package/openmpi/openmpi.hash +++ b/package/openmpi/openmpi.hash @@ -1,6 +1,6 @@ # From: https://www.open-mpi.org/software/ompi/v4.0/ -md5 e3da67df1e968c8798827e0e5fe9a510 openmpi-4.0.0.tar.bz2 -sha1 fee1d0287abfb150bae16957de342752c9bdd4e8 openmpi-4.0.0.tar.bz2 +md5 e3da67df1e968c8798827e0e5fe9a510 openmpi-4.0.0.tar.bz2 +sha1 fee1d0287abfb150bae16957de342752c9bdd4e8 openmpi-4.0.0.tar.bz2 # Locally computed -sha256 2f0b8a36cfeb7354b45dda3c5425ef8393c9b04115570b615213faaa3f97366b openmpi-4.0.0.tar.bz2 -sha256 8298a80ed5f09cfd007bae1c0e7d67d1c2810c6389876778dad070c31a691dac LICENSE +sha256 2f0b8a36cfeb7354b45dda3c5425ef8393c9b04115570b615213faaa3f97366b openmpi-4.0.0.tar.bz2 +sha256 8298a80ed5f09cfd007bae1c0e7d67d1c2810c6389876778dad070c31a691dac LICENSE diff --git a/package/openobex/openobex.hash b/package/openobex/openobex.hash index 1cdb09dec..1a113c337 100644 --- a/package/openobex/openobex.hash +++ b/package/openobex/openobex.hash @@ -1,6 +1,6 @@ # From http://sourceforge.net/projects/openobex/files/openobex/1.7.2/ -sha1 4a5098a62889134cbd2b54997e7ff3e959e601e6 openobex-1.7.2-Source.tar.gz -md5 f6e0b6cb7dcfd731460a7e9a91429a3a openobex-1.7.2-Source.tar.gz +sha1 4a5098a62889134cbd2b54997e7ff3e959e601e6 openobex-1.7.2-Source.tar.gz +md5 f6e0b6cb7dcfd731460a7e9a91429a3a openobex-1.7.2-Source.tar.gz # License files, locally calculated -sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING -sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING.LIB +sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING +sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING.LIB diff --git a/package/openobex/openobex.mk b/package/openobex/openobex.mk index bc4a47e3d..7109bffa8 100644 --- a/package/openobex/openobex.mk +++ b/package/openobex/openobex.mk @@ -20,6 +20,7 @@ OPENOBEX_DEPENDENCIES += bluez5_utils endif ifeq ($(BR2_PACKAGE_LIBUSB),y) +OPENOBEX_CONF_OPTS += -DLibUSB_VERSION_1.0=ON OPENOBEX_DEPENDENCIES += libusb endif diff --git a/package/openocd/0003-stlink-fix-SIGSEGV-with-libusb-v1.0.24-33-g32a2206-1.patch b/package/openocd/0003-stlink-fix-SIGSEGV-with-libusb-v1.0.24-33-g32a2206-1.patch new file mode 100644 index 000000000..776816892 --- /dev/null +++ b/package/openocd/0003-stlink-fix-SIGSEGV-with-libusb-v1.0.24-33-g32a2206-1.patch @@ -0,0 +1,89 @@ +From cff0e417da58adef1ceef9a63a99412c2cc87ff3 Mon Sep 17 00:00:00 2001 +From: Antonio Borneo +Date: Wed, 23 Jun 2021 16:52:16 +0200 +Subject: [PATCH] stlink: fix SIGSEGV with libusb v1.0.24-33-g32a2206 (11618) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The stlink driver incorrectly uses a NULL pointer for libusb's +struct libusb_context. +The correct value to be used is local in libusb_helper.c. + +Move in the helper file, in a wrapper function, the only call that +requires the above value, and let stlink driver to use this +wrapper. + +This issue has not triggered any visible problem until a code +refactoring [1] in libusb has made OpenOCD crashing on Windows and +on MacOS. + +Change-Id: Id1818c8af7cf0d4d17dfa1d22aad079da01ef740 +Signed-off-by: Antonio Borneo +Fixes: https://sourceforge.net/p/openocd/tickets/308/ +Fixes: https://github.com/libusb/libusb/issues/928/ +Fixes: 42d8fa899c6a ("stlink_usb: Submit multiple USB URBs at once to improve performance") +Link: [1] https://github.com/libusb/libusb/commit/32a22069428c +Reported-by: Andrzej Sierżęga +Co-developed-by: Andrzej Sierżęga +Co-developed-by: Xiaofan Chen +Reviewed-on: http://openocd.zylin.com/6331 +Tested-by: jenkins +Reviewed-by: Marc Schink +Reviewed-by: Xiaofan +Reviewed-by: Andrzej Sierżęga +Reviewed-by: Oleksij Rempel +Reviewed-by: Andreas Fritiofson +Signed-off-by: Yannick Brosseau +--- + src/jtag/drivers/libusb_helper.c | 5 +++++ + src/jtag/drivers/libusb_helper.h | 1 + + src/jtag/drivers/stlink_usb.c | 7 +------ + 3 files changed, 7 insertions(+), 6 deletions(-) + +diff --git a/src/jtag/drivers/libusb_helper.c b/src/jtag/drivers/libusb_helper.c +index f0122d534..18fe4bad4 100644 +--- a/src/jtag/drivers/libusb_helper.c ++++ b/src/jtag/drivers/libusb_helper.c +@@ -363,3 +363,8 @@ int jtag_libusb_get_pid(struct libusb_device *dev, uint16_t *pid) + + return ERROR_FAIL; + } ++ ++int jtag_libusb_handle_events_completed(int *completed) ++{ ++ return libusb_handle_events_completed(jtag_libusb_context, completed); ++} +diff --git a/src/jtag/drivers/libusb_helper.h b/src/jtag/drivers/libusb_helper.h +index fa7d06e28..3e77865d6 100644 +--- a/src/jtag/drivers/libusb_helper.h ++++ b/src/jtag/drivers/libusb_helper.h +@@ -60,5 +60,6 @@ int jtag_libusb_choose_interface(struct libusb_device_handle *devh, + unsigned int *usb_write_ep, + int bclass, int subclass, int protocol, int trans_type); + int jtag_libusb_get_pid(struct libusb_device *dev, uint16_t *pid); ++int jtag_libusb_handle_events_completed(int *completed); + + #endif /* OPENOCD_JTAG_DRIVERS_LIBUSB_HELPER_H */ +diff --git a/src/jtag/drivers/stlink_usb.c b/src/jtag/drivers/stlink_usb.c +index c68bbb3ca..7b1932b9f 100644 +--- a/src/jtag/drivers/stlink_usb.c ++++ b/src/jtag/drivers/stlink_usb.c +@@ -497,13 +497,8 @@ static void sync_transfer_wait_for_completion(struct libusb_transfer *transfer) + { + int r, *completed = transfer->user_data; + +- /* Assuming a single libusb context exists. There no existing interface into this +- * module to pass a libusb context. +- */ +- struct libusb_context *ctx = NULL; +- + while (!*completed) { +- r = libusb_handle_events_completed(ctx, completed); ++ r = jtag_libusb_handle_events_completed(completed); + if (r < 0) { + if (r == LIBUSB_ERROR_INTERRUPTED) + continue; +-- +2.35.1 + diff --git a/package/openocd/openocd.mk b/package/openocd/openocd.mk index 9f53ae3ee..37a06ca84 100644 --- a/package/openocd/openocd.mk +++ b/package/openocd/openocd.mk @@ -56,8 +56,6 @@ OPENOCD_CONF_OPTS += \ $(if $(BR2_PACKAGE_OPENOCD_VPI),--enable-jtag_vpi,--disable-jtag_vpi) \ $(if $(BR2_PACKAGE_OPENOCD_UBLASTER),--enable-usb-blaster,--disable-usb-blaster) \ $(if $(BR2_PACKAGE_OPENOCD_AMTJT),--enable-amtjtagaccel,--disable-amjtagaccel) \ - $(if $(BR2_PACKAGE_OPENOCD_ZY1000_MASTER),--enable-zy1000-master,--disable-zy1000-master) \ - $(if $(BR2_PACKAGE_OPENOCD_ZY1000),--enable-zy1000,--disable-zy1000) \ $(if $(BR2_PACKAGE_OPENOCD_EP93XX),--enable-ep93xx,--disable-ep93xx) \ $(if $(BR2_PACKAGE_OPENOCD_AT91RM),--enable-at91rm9200,--disable-at91rm9200) \ $(if $(BR2_PACKAGE_OPENOCD_BCM2835),--enable-bcm2835gpio,--disable-bcm2835gpio) \ diff --git a/package/openpgm/0003-fix-build-on-macOS-ARM.patch b/package/openpgm/0003-fix-build-on-macOS-ARM.patch new file mode 100644 index 000000000..5769c5d7f --- /dev/null +++ b/package/openpgm/0003-fix-build-on-macOS-ARM.patch @@ -0,0 +1,34 @@ +From 43dfc3e3a66b8e4584eb46219b129197a2428181 Mon Sep 17 00:00:00 2001 +From: Michael Cho +Date: Thu, 10 Mar 2022 22:46:29 -0800 +Subject: [PATCH] fix build on macOS ARM + +[alexander.lukichev@gmail.com: backport from upstream] +Signed-off-by: Alexander Lukichev +--- + openpgm/pgm/cpu.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/openpgm/pgm/cpu.c b/openpgm/pgm/cpu.c +index cbcc988..f5da471 100644 +--- a/openpgm/pgm/cpu.c ++++ b/openpgm/pgm/cpu.c +@@ -33,6 +33,7 @@ + //#define CPU_DEBUG + + ++#if defined(__i386__) || defined(__x86_64__) + #ifndef _MSC_VER + static + void +@@ -59,7 +60,6 @@ _xgetbv(uint32_t xcr) { + #endif + + +-#if defined(__i386__) || defined(__x86_64__) + PGM_GNUC_INTERNAL + void + pgm_cpuid (pgm_cpu_t* cpu) +-- +2.37.2 + diff --git a/package/openpowerlink/Config.in b/package/openpowerlink/Config.in index 1a3dd62ac..ef59a04ba 100644 --- a/package/openpowerlink/Config.in +++ b/package/openpowerlink/Config.in @@ -38,6 +38,8 @@ endchoice choice prompt "stack type" + default BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_STACK_LIB if BR2_PACKAGE_OPENPOWERLINK_KERNEL_MODULE # legacy + default BR2_PACKAGE_OPENPOWERLINK_STACK_USERSPACE_DAEMON_LIB if BR2_PACKAGE_OPENPOWERLINK_LIBPCAP # legacy config BR2_PACKAGE_OPENPOWERLINK_STACK_MONOLITHIC_USER_STACK_LIB bool "linked into application" diff --git a/package/openpowerlink/openpowerlink.hash b/package/openpowerlink/openpowerlink.hash index cd00f902f..2d8683f09 100644 --- a/package/openpowerlink/openpowerlink.hash +++ b/package/openpowerlink/openpowerlink.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/openpowerlink/files/openPOWERLINK/V2.7.1/ -md5 04524d1b1f9946176dce0ccb0eecf537 openPOWERLINK_V2.7.1.tar.gz -sha1 4ee9c6e26bbc729fdbbb272155b093ffa0d9cefd openPOWERLINK_V2.7.1.tar.gz +md5 04524d1b1f9946176dce0ccb0eecf537 openPOWERLINK_V2.7.1.tar.gz +sha1 4ee9c6e26bbc729fdbbb272155b093ffa0d9cefd openPOWERLINK_V2.7.1.tar.gz # sha256 locally computed sha256 d0d65f4fb8f2ad209cf9575714f88f33168a1cf71e8f1801e1e1ac4df6a37ffd openPOWERLINK_V2.7.1.tar.gz sha256 348e31e9e5094104463d58d33abd31049fdf209afbc12ea7abb7fd4b4a147429 license.md diff --git a/package/openssh/0001-Allow-ppoll_time64-in-seccomp-sandbox.patch b/package/openssh/0001-Allow-ppoll_time64-in-seccomp-sandbox.patch new file mode 100644 index 000000000..16eb6eaba --- /dev/null +++ b/package/openssh/0001-Allow-ppoll_time64-in-seccomp-sandbox.patch @@ -0,0 +1,32 @@ +From 284b6e5394652d519e31782e3b3cdfd7b21d1a81 Mon Sep 17 00:00:00 2001 +From: Darren Tucker +Date: Sat, 26 Feb 2022 14:06:14 +1100 +Subject: [PATCH] Allow ppoll_time64 in seccomp sandbox. + +Should fix sandbox violations on (some? at least i386 and armhf) 32bit +Linux platforms. Patch from chutzpahu at gentoo.org and cjwatson at +debian.org via bz#3396. + +[Upstream: https://github.com/openssh/openssh-portable/commit/284b6e5394652d519e31782e3b3cdfd7b21d1a81.patch] +Signed-off-by: John Keeping +--- + sandbox-seccomp-filter.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/sandbox-seccomp-filter.c b/sandbox-seccomp-filter.c +index 2e065ba3..4ce80cb2 100644 +--- a/sandbox-seccomp-filter.c ++++ b/sandbox-seccomp-filter.c +@@ -276,6 +276,9 @@ static const struct sock_filter preauth_insns[] = { + #ifdef __NR_ppoll + SC_ALLOW(__NR_ppoll), + #endif ++#ifdef __NR_ppoll_time64 ++ SC_ALLOW(__NR_ppoll_time64), ++#endif + #ifdef __NR_poll + SC_ALLOW(__NR_poll), + #endif +-- +2.35.1 + diff --git a/package/openssh/0002-Improve-detection-of-fzero-call-used-regs-all-suppor.patch b/package/openssh/0002-Improve-detection-of-fzero-call-used-regs-all-suppor.patch new file mode 100644 index 000000000..ce5c5539f --- /dev/null +++ b/package/openssh/0002-Improve-detection-of-fzero-call-used-regs-all-suppor.patch @@ -0,0 +1,38 @@ +From b5fee5fe98f708c1dc61a1564db35eacadbfe8b3 Mon Sep 17 00:00:00 2001 +From: Colin Watson +Date: Thu, 24 Feb 2022 16:04:18 +0000 +Subject: [PATCH] Improve detection of -fzero-call-used-regs=all support + +GCC doesn't tell us whether this option is supported unless it runs into +the situation where it would need to emit corresponding code. + +[Upstream: https://github.com/openssh/openssh-portable/commit/f107467179428a0e3ea9e4aa9738ac12ff02822d.patch] +Signed-off-by: Peter Seiderer +--- + m4/openssh.m4 | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/m4/openssh.m4 b/m4/openssh.m4 +index 4f9c379..8c33c70 100644 +--- a/m4/openssh.m4 ++++ b/m4/openssh.m4 +@@ -14,6 +14,8 @@ AC_DEFUN([OSSH_CHECK_CFLAG_COMPILE], [{ + AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ + #include + #include ++/* Trivial function to help test for -fzero-call-used-regs */ ++void f(int n) {} + int main(int argc, char **argv) { + (void)argv; + /* Some math to catch -ftrapv problems in the toolchain */ +@@ -21,6 +23,7 @@ int main(int argc, char **argv) { + float l = i * 2.1; + double m = l / 0.5; + long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; ++ f(0); + printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); + /* + * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does +-- +2.35.1 + diff --git a/package/openssh/Config.in b/package/openssh/Config.in index cc5998742..08d3c7d39 100644 --- a/package/openssh/Config.in +++ b/package/openssh/Config.in @@ -31,4 +31,12 @@ config BR2_PACKAGE_OPENSSH_KEY_UTILS help Key utilities: ssh-keygen, ssh-keyscan. +config BR2_PACKAGE_OPENSSH_SANDBOX + bool "use sandboxing" + default y + help + Use sandboxing for extra privilege protection of processes. + + This is normally preferable, but may cause seccomp problems + for certain combinations of C libraries and kernel versions. endif diff --git a/package/openssh/openssh.mk b/package/openssh/openssh.mk index 0e0d59e6a..16d8f4fd2 100644 --- a/package/openssh/openssh.mk +++ b/package/openssh/openssh.mk @@ -12,6 +12,10 @@ OPENSSH_CPE_ID_UPDATE = $(OPENSSH_VERSION_MINOR) OPENSSH_SITE = http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable OPENSSH_LICENSE = BSD-3-Clause, BSD-2-Clause, Public Domain OPENSSH_LICENSE_FILES = LICENCE + +# patch touching m4/openssh.m4 +OPENSSH_AUTORECONF = YES + OPENSSH_CONF_ENV = \ LD="$(TARGET_CC)" \ LDFLAGS="$(TARGET_CFLAGS)" \ @@ -20,6 +24,7 @@ OPENSSH_CPE_ID_VENDOR = openbsd OPENSSH_CONF_OPTS = \ --sysconfdir=/etc/ssh \ --with-default-path=$(BR2_SYSTEM_DEFAULT_PATH) \ + $(if $(BR2_PACKAGE_OPENSSH_SANDBOX),--with-sandbox,--without-sandbox) \ --disable-lastlog \ --disable-utmp \ --disable-utmpx \ diff --git a/package/openssl/Config.in b/package/openssl/Config.in index 7bf49b05f..c7641ecef 100644 --- a/package/openssl/Config.in +++ b/package/openssl/Config.in @@ -34,8 +34,8 @@ config BR2_PACKAGE_LIBRESSL bool "libressl" depends on !BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL depends on BR2_TOOLCHAIN_HAS_THREADS - # uClibc on noMMU doesn't provide __register_atfork() - depends on !(BR2_TOOLCHAIN_USES_UCLIBC && !BR2_USE_MMU) + # uClibc doesn't provide __register_atfork() without NPTL + depends on !BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_HAS_THREADS_NPTL help LibreSSL is a version of the TLS/crypto stack forked from OpenSSL in 2014, with goals of modernizing the codebase, diff --git a/package/opentracing-cpp/opentracing-cpp.hash b/package/opentracing-cpp/opentracing-cpp.hash index 591c0e4a0..eb69188b6 100644 --- a/package/opentracing-cpp/opentracing-cpp.hash +++ b/package/opentracing-cpp/opentracing-cpp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 015c4187f7a6426a2b5196f0ccd982aa87f010cf61f507ae3ce5c90523f92301 opentracing-cpp-1.5.1.tar.gz -sha256 076d03156735d5ff2df2ea0f8b12351ef65e5e9222b5c8c6a35101dadb41e717 LICENSE +sha256 015c4187f7a6426a2b5196f0ccd982aa87f010cf61f507ae3ce5c90523f92301 opentracing-cpp-1.5.1.tar.gz +sha256 076d03156735d5ff2df2ea0f8b12351ef65e5e9222b5c8c6a35101dadb41e717 LICENSE diff --git a/package/opentyrian-data/opentyrian-data.hash b/package/opentyrian-data/opentyrian-data.hash index 9a7079c4a..26e5db1d2 100644 --- a/package/opentyrian-data/opentyrian-data.hash +++ b/package/opentyrian-data/opentyrian-data.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 7790d09a2a3addcd33c66ef063d5900eb81cc9c342f4807eb8356364dd1d9277 tyrian21.zip +sha256 7790d09a2a3addcd33c66ef063d5900eb81cc9c342f4807eb8356364dd1d9277 tyrian21.zip diff --git a/package/openvmtools/0003-Rename-poll-h-into-vm_poll-h-to-fix-build-failure-on-musl.patch b/package/openvmtools/0003-Rename-poll-h-into-vm_poll-h-to-fix-build-failure-on-musl.patch index e9495ce43..b4e94d870 100644 --- a/package/openvmtools/0003-Rename-poll-h-into-vm_poll-h-to-fix-build-failure-on-musl.patch +++ b/package/openvmtools/0003-Rename-poll-h-into-vm_poll-h-to-fix-build-failure-on-musl.patch @@ -1,4 +1,5 @@ -From 9d13e32e362ad3ce5169f49b7f0fe1d9380e558c Mon Sep 17 00:00:00 2001 +From 1dfab46d367d11e9132506ee0f7d3eb2ceff5f3c Mon Sep 17 00:00:00 2001 +Message-Id: <1dfab46d367d11e9132506ee0f7d3eb2ceff5f3c.1652913832.git.stefan@agner.ch> From: Fabrice Fontaine Date: Mon, 30 Sep 2019 13:32:35 +0200 Subject: [PATCH] Rename poll.h into vm_poll.h to fix build failure on musl @@ -38,19 +39,19 @@ Signed-off-by: Fabrice Fontaine lib/asyncsocket/asyncsocket.c | 4 +- lib/hgfsServer/hgfsServer.c | 2 +- lib/include/asyncsocket.h | 2 +- - lib/include/poll.h | 330 -------------------- + lib/include/poll.h | 337 -------------------- lib/include/pollImpl.h | 2 +- - lib/include/vm_poll.h | 330 ++++++++++++++++++++ + lib/include/vm_poll.h | 337 ++++++++++++++++++++ lib/rpcIn/rpcin.c | 2 +- - 7 files changed, 336 insertions(+), 336 deletions(-) - delete mode 100644 open-vm-tools/lib/include/poll.h - create mode 100644 open-vm-tools/lib/include/vm_poll.h + 7 files changed, 343 insertions(+), 343 deletions(-) + delete mode 100644 lib/include/poll.h + create mode 100644 lib/include/vm_poll.h -diff --git a/lib/asyncsocket/asyncsocket.c b/lib/asyncsocket/asyncsocket.c -index 102638cc..01181a95 100644 +diff --git a/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c +index 05147d2e..16949567 100644 --- a/lib/asyncsocket/asyncsocket.c +++ b/lib/asyncsocket/asyncsocket.c -@@ -69,8 +69,8 @@ +@@ -70,8 +70,8 @@ #else #include #include @@ -60,7 +61,7 @@ index 102638cc..01181a95 100644 #include #include #include -@@ -86,7 +86,7 @@ +@@ -87,7 +87,7 @@ #include "random.h" #include "asyncsocket.h" #include "asyncSocketBase.h" @@ -69,24 +70,24 @@ index 102638cc..01181a95 100644 #include "log.h" #include "err.h" #include "hostinfo.h" -diff --git a/lib/hgfsServer/hgfsServer.c b/lib/hgfsServer/hgfsServer.c -index 46224551..fc691286 100644 +diff --git a/lib/hgfsServer/hgfsServer.c b/open-vm-tools/lib/hgfsServer/hgfsServer.c +index 98f5b3f0..b436f0c7 100644 --- a/lib/hgfsServer/hgfsServer.c +++ b/lib/hgfsServer/hgfsServer.c -@@ -48,7 +48,7 @@ - #include "hgfsServerOplock.h" +@@ -51,7 +51,7 @@ #include "hgfsDirNotify.h" + #include "hgfsThreadpool.h" #include "userlock.h" -#include "poll.h" +#include "vm_poll.h" #include "mutexRankLib.h" #include "vm_basic_asm.h" #include "unicodeOperations.h" -diff --git a/lib/include/asyncsocket.h b/lib/include/asyncsocket.h -index 95a5e464..a4b4e5aa 100644 +diff --git a/lib/include/asyncsocket.h b/open-vm-tools/lib/include/asyncsocket.h +index 47b5b873..b8b0149e 100644 --- a/lib/include/asyncsocket.h +++ b/lib/include/asyncsocket.h -@@ -164,7 +164,7 @@ typedef struct AsyncSocket AsyncSocket; +@@ -171,7 +171,7 @@ typedef struct AsyncSocket AsyncSocket; * Or the client can specify its favorite poll class and locking behavior. * Use of IVmdbPoll is only supported for regular sockets and for Attach. */ @@ -95,14 +96,14 @@ index 95a5e464..a4b4e5aa 100644 struct IVmdbPoll; typedef struct AsyncSocketPollParams { int flags; /* Default 0, only POLL_FLAG_NO_BULL is valid */ -diff --git a/lib/include/poll.h b/lib/include/poll.h +diff --git a/lib/include/poll.h b/open-vm-tools/lib/include/poll.h deleted file mode 100644 -index 6acd4f35..00000000 +index c90f5dcd..00000000 --- a/lib/include/poll.h +++ /dev/null -@@ -1,330 +0,0 @@ +@@ -1,337 +0,0 @@ -/********************************************************* -- * Copyright (C) 1998-2018 VMware, Inc. All rights reserved. +- * Copyright (C) 1998-2020 VMware, Inc. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published @@ -152,7 +153,7 @@ index 6acd4f35..00000000 - -#ifdef _WIN32 -#define HZ 100 --#elif defined linux +-#elif defined __linux__ -#include -#elif __APPLE__ -#include @@ -335,6 +336,12 @@ index 6acd4f35..00000000 - * implementations are distinct from the core poll code. - */ - +- +-/* Socket pair created with non-blocking mode */ +-#define POLL_OPTIONS_SOCKET_PAIR_NONBLOCK_CONN 0x01 +- +-typedef unsigned int SocketSpecialOpts; +- -typedef struct PollOptions { - Bool locked; // Use internal MXUser for locking - Bool allowFullQueue; // Don't assert when device event queue is full. @@ -342,6 +349,7 @@ index 6acd4f35..00000000 - PollerFireWrapper fireWrapperFn; // optional; may be useful for stats - void *fireWrapperData; // optional - PollerErrorFn errorFn; // optional; called upon unrecoverable error +- SocketSpecialOpts pollSocketOpts; -} PollOptions; - - @@ -354,7 +362,7 @@ index 6acd4f35..00000000 -/* - * Functions - */ --int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]); +-int Poll_SocketPair(Bool vmci, Bool stream, int fds[2], SocketSpecialOpts opts); -void Poll_Loop(Bool loop, Bool *exit, PollClass c); -void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout); -Bool Poll_LockingEnabled(void); @@ -431,7 +439,7 @@ index 6acd4f35..00000000 -#endif - -#endif // _POLL_H_ -diff --git a/lib/include/pollImpl.h b/lib/include/pollImpl.h +diff --git a/lib/include/pollImpl.h b/open-vm-tools/lib/include/pollImpl.h index 46442e55..8bc66997 100644 --- a/lib/include/pollImpl.h +++ b/lib/include/pollImpl.h @@ -444,14 +452,14 @@ index 46442e55..8bc66997 100644 #include "vm_basic_asm.h" #if defined(__cplusplus) -diff --git a/lib/include/vm_poll.h b/lib/include/vm_poll.h +diff --git a/lib/include/vm_poll.h b/open-vm-tools/lib/include/vm_poll.h new file mode 100644 -index 00000000..6acd4f35 +index 00000000..c90f5dcd --- /dev/null +++ b/lib/include/vm_poll.h -@@ -0,0 +1,330 @@ +@@ -0,0 +1,337 @@ +/********************************************************* -+ * Copyright (C) 1998-2018 VMware, Inc. All rights reserved. ++ * Copyright (C) 1998-2020 VMware, Inc. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published @@ -501,7 +509,7 @@ index 00000000..6acd4f35 + +#ifdef _WIN32 +#define HZ 100 -+#elif defined linux ++#elif defined __linux__ +#include +#elif __APPLE__ +#include @@ -684,6 +692,12 @@ index 00000000..6acd4f35 + * implementations are distinct from the core poll code. + */ + ++ ++/* Socket pair created with non-blocking mode */ ++#define POLL_OPTIONS_SOCKET_PAIR_NONBLOCK_CONN 0x01 ++ ++typedef unsigned int SocketSpecialOpts; ++ +typedef struct PollOptions { + Bool locked; // Use internal MXUser for locking + Bool allowFullQueue; // Don't assert when device event queue is full. @@ -691,6 +705,7 @@ index 00000000..6acd4f35 + PollerFireWrapper fireWrapperFn; // optional; may be useful for stats + void *fireWrapperData; // optional + PollerErrorFn errorFn; // optional; called upon unrecoverable error ++ SocketSpecialOpts pollSocketOpts; +} PollOptions; + + @@ -703,7 +718,7 @@ index 00000000..6acd4f35 +/* + * Functions + */ -+int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]); ++int Poll_SocketPair(Bool vmci, Bool stream, int fds[2], SocketSpecialOpts opts); +void Poll_Loop(Bool loop, Bool *exit, PollClass c); +void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout); +Bool Poll_LockingEnabled(void); @@ -780,8 +795,8 @@ index 00000000..6acd4f35 +#endif + +#endif // _POLL_H_ -diff --git a/lib/rpcIn/rpcin.c b/lib/rpcIn/rpcin.c -index 47a3380e..660382c6 100644 +diff --git a/lib/rpcIn/rpcin.c b/open-vm-tools/lib/rpcIn/rpcin.c +index 8b1fe759..f22fcd40 100644 --- a/lib/rpcIn/rpcin.c +++ b/lib/rpcIn/rpcin.c @@ -57,7 +57,7 @@ @@ -794,5 +809,5 @@ index 47a3380e..660382c6 100644 # include "vmci_defs.h" #include "dataMap.h" -- -2.23.0 +2.36.1 diff --git a/package/openvmtools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch b/package/openvmtools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch index 0d3948aa1..abbc51836 100644 --- a/package/openvmtools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch +++ b/package/openvmtools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch @@ -125,6 +125,7 @@ Index: open-vm-tools/lib/nicInfo/nicInfoPosix.c #include #include #include + #include -#if defined(__FreeBSD__) || defined(__APPLE__) +#if HAVE_SYS_SYSCTL_H # include diff --git a/package/openvmtools/0009-Set-permissions-on-rules-file.patch b/package/openvmtools/0009-Set-permissions-on-rules-file.patch deleted file mode 100644 index 6a37c1690..000000000 --- a/package/openvmtools/0009-Set-permissions-on-rules-file.patch +++ /dev/null @@ -1,23 +0,0 @@ -From c3ef6a8285132871ad10f9300d8afff55d8d6de2 Mon Sep 17 00:00:00 2001 -From: puneetse <22071208+puneetse@users.noreply.github.com> -Date: Wed, 16 Oct 2019 10:09:38 -0700 -Subject: [PATCH] Set permissions on rules file - -udevs rules should not be executable otherwise udev will log a warning in the journal - -Signed-off-by: Pascal de Bruijn ---- - udev/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/udev/Makefile.am b/udev/Makefile.am -index 68fbc3e27..8b9a4d716 100644 ---- a/udev/Makefile.am -+++ b/udev/Makefile.am -@@ -17,5 +17,5 @@ - - install-data-local: - $(INSTALL) -d $(DESTDIR)$(UDEVRULESDIR) -- $(INSTALL) $(srcdir)/99-vmware-scsi-udev.rules $(DESTDIR)$(UDEVRULESDIR) -+ $(INSTALL) -m 0644 $(srcdir)/99-vmware-scsi-udev.rules $(DESTDIR)$(UDEVRULESDIR) - diff --git a/package/openvmtools/0010-Change-DEVPATH-to-devpath.patch b/package/openvmtools/0010-Change-DEVPATH-to-devpath.patch deleted file mode 100644 index 5af694d8f..000000000 --- a/package/openvmtools/0010-Change-DEVPATH-to-devpath.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 22f5d198b3b2f7e4debed83948ba1baf70d4749a Mon Sep 17 00:00:00 2001 -From: puneetse <22071208+puneetse@users.noreply.github.com> -Date: Wed, 16 Oct 2019 10:04:41 -0700 -Subject: [PATCH] Change $DEVPATH to $devpath - -$DEVPATH throws a warning by udev. - -Signed-off-by: Pascal de Bruijn ---- - udev/99-vmware-scsi-udev.rules | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/udev/99-vmware-scsi-udev.rules b/udev/99-vmware-scsi-udev.rules -index 053b59706..a605d80ef 100644 ---- a/udev/99-vmware-scsi-udev.rules -+++ b/udev/99-vmware-scsi-udev.rules -@@ -2,6 +2,6 @@ - # - # This file is part of open-vm-tools - --ACTION=="add", SUBSYSTEMS=="scsi", ATTRS{vendor}=="VMware*", ATTRS{model}=="Virtual disk*", ENV{DEVTYPE}=="disk", RUN+="/bin/sh -c 'echo 180 >/sys$DEVPATH/device/timeout'" --ACTION=="add", SUBSYSTEMS=="scsi", ATTRS{vendor}=="VMware*", ATTRS{model}=="VMware Virtual S", ENV{DEVTYPE}=="disk", RUN+="/bin/sh -c 'echo 180 >/sys$DEVPATH/device/timeout'" -+ACTION=="add", SUBSYSTEMS=="scsi", ATTRS{vendor}=="VMware*", ATTRS{model}=="Virtual disk*", ENV{DEVTYPE}=="disk", RUN+="/bin/sh -c 'echo 180 >/sys/$devpath/device/timeout'" -+ACTION=="add", SUBSYSTEMS=="scsi", ATTRS{vendor}=="VMware*", ATTRS{model}=="VMware Virtual S", ENV{DEVTYPE}=="disk", RUN+="/bin/sh -c 'echo 180 >/sys/$devpath/device/timeout'" - diff --git a/package/openvmtools/0013-Properly-check-authorization-on-incoming-guestOps-re.patch b/package/openvmtools/0013-Properly-check-authorization-on-incoming-guestOps-re.patch new file mode 100644 index 000000000..91e379b9a --- /dev/null +++ b/package/openvmtools/0013-Properly-check-authorization-on-incoming-guestOps-re.patch @@ -0,0 +1,40 @@ +From bb9f9ffbb151397545f921cee5b6a4933c6eea80 Mon Sep 17 00:00:00 2001 +Message-Id: +From: John Wolfe +Date: Wed, 10 Aug 2022 06:12:02 -0700 +Subject: [PATCH] Properly check authorization on incoming guestOps requests + +Fix public pipe request checks. Only a SessionRequest type should +be accepted on the public pipe. + +Upstream: https://github.com/vmware/open-vm-tools/blob/CVE-2022-31676.patch/1205-Properly-check-authorization-on-incoming-guestOps-re.patch +Signed-off-by: Stefan Agner +--- + vgauth/serviceImpl/proto.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/vgauth/serviceImpl/proto.c b/vgauth/serviceImpl/proto.c +index db7159ee..c4f85b02 100644 +--- a/vgauth/serviceImpl/proto.c ++++ b/vgauth/serviceImpl/proto.c +@@ -1,5 +1,5 @@ + /********************************************************* +- * Copyright (C) 2011-2016,2019-2021 VMware, Inc. All rights reserved. ++ * Copyright (c) 2011-2016,2019-2022 VMware, Inc. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published +@@ -1201,6 +1201,10 @@ Proto_SecurityCheckRequest(ServiceConnection *conn, + VGAuthError err; + gboolean isSecure = ServiceNetworkIsConnectionPrivateSuperUser(conn); + ++ if (conn->isPublic && req->reqType != PROTO_REQUEST_SESSION_REQ) { ++ return VGAUTH_E_PERMISSION_DENIED; ++ } ++ + switch (req->reqType) { + /* + * This comes over the public connection; alwsys let it through. +-- +2.38.0 + diff --git a/package/openvmtools/Config.in b/package/openvmtools/Config.in index a50b6b9b3..67855f50e 100644 --- a/package/openvmtools/Config.in +++ b/package/openvmtools/Config.in @@ -1,6 +1,12 @@ +config BR2_PACKAGE_OPENVMTOOLS_ARCH_SUPPORTS + bool + default y if BR2_i386 + default y if BR2_x86_64 + default y if BR2_aarch64 + config BR2_PACKAGE_OPENVMTOOLS bool "openvmtools" - depends on BR2_i386 || BR2_x86_64 + depends on BR2_PACKAGE_OPENVMTOOLS_ARCH_SUPPORTS depends on BR2_USE_MMU # libglib2 depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 @@ -12,7 +18,7 @@ config BR2_PACKAGE_OPENVMTOOLS help Open Virtual Machine Tools for VMware guest OS - http://open-vm-tools.sourceforge.net/ + https://github.com/vmware/open-vm-tools ICU locales, Xerces, and X11 tools are currently not supported. @@ -51,7 +57,7 @@ comment "resolutionkms needs udev, a toolchain w/ threads" endif comment "openvmtools needs a glibc or musl toolchain w/ wchar, threads, locale" - depends on BR2_i386 || BR2_x86_64 + depends on BR2_PACKAGE_OPENVMTOOLS_ARCH_SUPPORTS depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_ENABLE_LOCALE || \ diff --git a/package/openvmtools/openvmtools.hash b/package/openvmtools/openvmtools.hash index bd81d1f05..081538fbf 100644 --- a/package/openvmtools/openvmtools.hash +++ b/package/openvmtools/openvmtools.hash @@ -1,3 +1,3 @@ # locally computed -sha256 364cd0fdfa5a05e872d08609659e6231ec99788669f7ebba24bfb8c94168daef open-vm-tools-10.3.5-10430147.tar.gz +sha256 2053daf7b224ab7ae1a9cfcd6ae12494c646e2bf9aaca998225bd082a4a43fb7 open-vm-tools-11.3.5-18557794.tar.gz sha256 f734933bd7d49aef25aaf897ed7281ee822e8635056e69b895a7d2e668937fc5 COPYING diff --git a/package/openvmtools/openvmtools.mk b/package/openvmtools/openvmtools.mk index 4201c6daa..3106b9ecd 100644 --- a/package/openvmtools/openvmtools.mk +++ b/package/openvmtools/openvmtools.mk @@ -4,12 +4,17 @@ # ################################################################################ -OPENVMTOOLS_VERSION_MAJOR = 10.3.5 -OPENVMTOOLS_VERSION = $(OPENVMTOOLS_VERSION_MAJOR)-10430147 +OPENVMTOOLS_VERSION_MAJOR = 11.3.5 +OPENVMTOOLS_VERSION = $(OPENVMTOOLS_VERSION_MAJOR)-18557794 OPENVMTOOLS_SITE = https://github.com/vmware/open-vm-tools/releases/download/stable-$(OPENVMTOOLS_VERSION_MAJOR) OPENVMTOOLS_SOURCE = open-vm-tools-$(OPENVMTOOLS_VERSION).tar.gz OPENVMTOOLS_LICENSE = LGPL-2.1 OPENVMTOOLS_LICENSE_FILES = COPYING +OPENVMTOOLS_CPE_ID_VENDOR = vmware +OPENVMTOOLS_CPE_ID_PRODUCT = tools + +# 0013-Properly-check-authorization-on-incoming-guestOps-re.patch +OPENVMTOOLS_IGNORE_CVES += CVE-2022-31676 # configure.ac is patched OPENVMTOOLS_AUTORECONF = YES diff --git a/package/openvpn/0001-auth-pam-c-add-missing-include-limits-h.patch b/package/openvpn/0001-auth-pam-c-add-missing-include-limits-h.patch new file mode 100644 index 000000000..34a6dbd03 --- /dev/null +++ b/package/openvpn/0001-auth-pam-c-add-missing-include-limits-h.patch @@ -0,0 +1,41 @@ +From 0fed64a91d894b46105bf7e8b16edea4d90ab70c Mon Sep 17 00:00:00 2001 +From: Antonio Quartulli +Date: Thu, 21 Apr 2022 15:19:09 +0200 +Subject: [PATCH] auth-pam.c: add missing include limits.h + +On most systems limits.h is pulled in by some other header and thus no +error is ever triggered, but it's possible to find the right environment +which lackis this and prevents compiling auth-pam.c (possibly when using +LibreSSL). + +Include the header explicitly as it includes the definition of PATH_MAX. + +(note that this bug is fixed in Gentoo since 2020 by including a custom +patch, but apparently the issue was never reported upstream) + +Reported-by: Michelangelo Scopelliti +Signed-off-by: Antonio Quartulli +Acked-by: Gert Doering +Message-Id: <20220421131909.32053-1-a@unstable.cc> +URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg24136.html +Signed-off-by: Gert Doering + +[Retrieved from: +https://github.com/OpenVPN/openvpn/commit/0fed64a91d894b46105bf7e8b16edea4d90ab70c] +Signed-off-by: Fabrice Fontaine +--- + src/plugins/auth-pam/auth-pam.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/plugins/auth-pam/auth-pam.c b/src/plugins/auth-pam/auth-pam.c +index f893b51fe3..7033944568 100644 +--- a/src/plugins/auth-pam/auth-pam.c ++++ b/src/plugins/auth-pam/auth-pam.c +@@ -47,6 +47,7 @@ + #include + #include + #include ++#include + #include "utils.h" + + #include diff --git a/package/openvpn/S60openvpn b/package/openvpn/S60openvpn index f097cf11e..00156c80d 100644 --- a/package/openvpn/S60openvpn +++ b/package/openvpn/S60openvpn @@ -1,4 +1,4 @@ -#!/bin/sh -e +#!/bin/sh # # Original version by Robert Leslie # , edited by iwj and cs diff --git a/package/openvpn/openvpn.hash b/package/openvpn/openvpn.hash index f8e0493b5..bd598a518 100644 --- a/package/openvpn/openvpn.hash +++ b/package/openvpn/openvpn.hash @@ -1,3 +1,3 @@ # Locally calculated after checking signature -sha256 119bd69fa0210838f6cdaa273696dc738efa200f454dbe11eb6dfb75dfb6003b openvpn-2.5.5.tar.xz +sha256 333a7ef3d5b317968aca2c77bdc29aa7c6d6bb3316eb3f79743b59c53242ad3d openvpn-2.5.6.tar.gz sha256 1fcb78d7e478bb8a9408010bdc91b36e213b1facfad093df3f7ce7e28af19043 COPYRIGHT.GPL diff --git a/package/openvpn/openvpn.mk b/package/openvpn/openvpn.mk index d6bcad62b..db2f53a5f 100644 --- a/package/openvpn/openvpn.mk +++ b/package/openvpn/openvpn.mk @@ -4,9 +4,8 @@ # ################################################################################ -OPENVPN_VERSION = 2.5.5 -OPENVPN_SOURCE = openvpn-$(OPENVPN_VERSION).tar.xz -OPENVPN_SITE = http://swupdate.openvpn.net/community/releases +OPENVPN_VERSION = 2.5.6 +OPENVPN_SITE = https://swupdate.openvpn.net/community/releases OPENVPN_DEPENDENCIES = host-pkgconf OPENVPN_LICENSE = GPL-2.0 OPENVPN_LICENSE_FILES = COPYRIGHT.GPL diff --git a/package/opkg-utils/opkg-utils.mk b/package/opkg-utils/opkg-utils.mk index 369a4586e..ad267c5c9 100644 --- a/package/opkg-utils/opkg-utils.mk +++ b/package/opkg-utils/opkg-utils.mk @@ -12,7 +12,6 @@ OPKG_UTILS_LICENSE_FILES = COPYING HOST_OPKG_UTILS_DEPENDENCIES = \ $(BR2_PYTHON3_HOST_DEPENDENCY) \ - host-diffutils \ host-lz4 \ host-xz diff --git a/package/optee-benchmark/optee-benchmark.hash b/package/optee-benchmark/optee-benchmark.hash index 3797920c3..3ed679d08 100644 --- a/package/optee-benchmark/optee-benchmark.hash +++ b/package/optee-benchmark/optee-benchmark.hash @@ -1,4 +1,4 @@ # From https://github.com/linaro-swg/optee_benchmark/archive/3.15.0/optee-benchmark-3.15.0.tar.gz -sha256 f1ddac5e9f58333194eb302e6d9840fa334300bc103abb3d9f783bf009a78c50 optee-benchmark-3.15.0.tar.gz +sha256 f1ddac5e9f58333194eb302e6d9840fa334300bc103abb3d9f783bf009a78c50 optee-benchmark-3.15.0.tar.gz # Locally computed -sha256 0571be5b739142dc3e40e0a4e7e30d4ab8bff0d4d606a3f2db2010745587d383 LICENSE +sha256 0571be5b739142dc3e40e0a4e7e30d4ab8bff0d4d606a3f2db2010745587d383 LICENSE diff --git a/package/optee-client/S30optee b/package/optee-client/S30tee-supplicant similarity index 83% rename from package/optee-client/S30optee rename to package/optee-client/S30tee-supplicant index 17e6d6d2b..8a605dbe5 100644 --- a/package/optee-client/S30optee +++ b/package/optee-client/S30tee-supplicant @@ -7,6 +7,7 @@ DAEMON_ARGS="-d /dev/teepriv0" start() { printf 'Starting %s: ' "$DAEMON" + # shellcheck disable=SC2086 # we need the word splitting start-stop-daemon -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \ -- $DAEMON_ARGS status=$? @@ -37,13 +38,13 @@ restart() { } case "$1" in - start|stop|restart) + start|stop|restart) "$1";; reload) # Restart, since there is no true "reload" feature (does not # reconfigure/restart on SIGHUP, just closes all open files). restart;; - *) - echo "Usage: $0 {start|stop|restart|reload}" - exit 1 + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 esac diff --git a/package/optee-client/optee-client.hash b/package/optee-client/optee-client.hash index 3ae06f2af..638c2f9dc 100644 --- a/package/optee-client/optee-client.hash +++ b/package/optee-client/optee-client.hash @@ -1,4 +1,4 @@ # From https://github.com/OP-TEE/optee_client/archive/3.15.0/optee-client-3.15.0.tar.gz -sha256 e1ea6c953e3584248d7a62050813e5ac0f0112933447954c44236a233a4cbba5 optee-client-3.15.0.tar.gz +sha256 e1ea6c953e3584248d7a62050813e5ac0f0112933447954c44236a233a4cbba5 optee-client-3.15.0.tar.gz # Locally computed -sha256 fda8385993f112d7ca61b88b54ba5b4cbeec7e43a0f9b317d5186703c1985e8f LICENSE +sha256 fda8385993f112d7ca61b88b54ba5b4cbeec7e43a0f9b317d5186703c1985e8f LICENSE diff --git a/package/optee-client/optee-client.mk b/package/optee-client/optee-client.mk index dda9a2855..13a9eb6b2 100644 --- a/package/optee-client/optee-client.mk +++ b/package/optee-client/optee-client.mk @@ -27,8 +27,8 @@ OPTEE_CLIENT_CONF_OPTS += -DCFG_TEE_SUPP_PLUGINS=OFF endif define OPTEE_CLIENT_INSTALL_INIT_SYSV - $(INSTALL) -m 0755 -D $(OPTEE_CLIENT_PKGDIR)/S30optee \ - $(TARGET_DIR)/etc/init.d/S30optee + $(INSTALL) -m 0755 -D $(OPTEE_CLIENT_PKGDIR)/S30tee-supplicant \ + $(TARGET_DIR)/etc/init.d/S30tee-supplicant endef $(eval $(cmake-package)) diff --git a/package/optee-examples/optee-examples.hash b/package/optee-examples/optee-examples.hash index f88904c79..5a5356b02 100644 --- a/package/optee-examples/optee-examples.hash +++ b/package/optee-examples/optee-examples.hash @@ -1,4 +1,4 @@ # From https://github.com/linaro-swg/optee_examples/archive/3.15.0/optee-examples-3.15.0.tar.gz -sha256 9770827292eea85068913077d3406070f6182389779c5d4a5c0876bffd962353 optee-examples-3.15.0.tar.gz +sha256 9770827292eea85068913077d3406070f6182389779c5d4a5c0876bffd962353 optee-examples-3.15.0.tar.gz # Locally computed -sha256 6f1ef8449cb82ae79d2155605f7985bdf0f08e7ab5007de9b4362e8bf28733b9 LICENSE +sha256 6f1ef8449cb82ae79d2155605f7985bdf0f08e7ab5007de9b4362e8bf28733b9 LICENSE diff --git a/package/optee-test/optee-test.hash b/package/optee-test/optee-test.hash index 5d68f94fb..e0451c60b 100644 --- a/package/optee-test/optee-test.hash +++ b/package/optee-test/optee-test.hash @@ -1,4 +1,4 @@ # From https://github.com/OP-TEE/optee_test/archive/3.15.0/optee-test-3.15.0.tar.gz -sha256 9c2b6b80055cbef0f9bccce17dde494725bc71d9013dacaeb3e46d0926191098 optee-test-3.15.0.tar.gz +sha256 9c2b6b80055cbef0f9bccce17dde494725bc71d9013dacaeb3e46d0926191098 optee-test-3.15.0.tar.gz # Locally computed -sha256 6e6810981f0ddab9e0d44399d0700a15d9f760a3c2843cc866659c2074139ae7 LICENSE.md +sha256 6e6810981f0ddab9e0d44399d0700a15d9f760a3c2843cc866659c2074139ae7 LICENSE.md diff --git a/package/opus-tools/opus-tools.hash b/package/opus-tools/opus-tools.hash index 1b87458f5..1f66695da 100644 --- a/package/opus-tools/opus-tools.hash +++ b/package/opus-tools/opus-tools.hash @@ -1,5 +1,5 @@ # From http://downloads.xiph.org/releases/opus/SHA256SUMS.txt -sha256 b4e56cb00d3e509acfba9a9b627ffd8273b876b4e2408642259f6da28fa0ff86 opus-tools-0.2.tar.gz +sha256 b4e56cb00d3e509acfba9a9b627ffd8273b876b4e2408642259f6da28fa0ff86 opus-tools-0.2.tar.gz # Hash for license file -sha256 c28016e58544119d6b93aea28297d040f17dcef7a9f548d3e6a4d0b558c5d248 COPYING +sha256 c28016e58544119d6b93aea28297d040f17dcef7a9f548d3e6a4d0b558c5d248 COPYING diff --git a/package/opus/opus.hash b/package/opus/opus.hash index 2a94d3723..2365e47c7 100644 --- a/package/opus/opus.hash +++ b/package/opus/opus.hash @@ -1,5 +1,5 @@ # From http://downloads.xiph.org/releases/opus/SHA256SUMS.txt -sha256 65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d opus-1.3.1.tar.gz +sha256 65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d opus-1.3.1.tar.gz # Hash for license file -sha256 8338ce8d922bb4416ce3dd1e5680173332435e3f0755007ac7801ccd674fe682 COPYING +sha256 8338ce8d922bb4416ce3dd1e5680173332435e3f0755007ac7801ccd674fe682 COPYING diff --git a/package/opus/opus.mk b/package/opus/opus.mk index 3fb2d5d65..d8e0623e1 100644 --- a/package/opus/opus.mk +++ b/package/opus/opus.mk @@ -12,16 +12,28 @@ OPUS_INSTALL_STAGING = YES OPUS_CFLAGS = $(TARGET_CFLAGS) +# opus has ARM assembly optimizations not compatible with thumb1: +# Error: selected processor does not support `smull r6,ip,r5,r0' in Thumb mode +# so force ARM mode +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +OPUS_CFLAGS += -marm +endif + ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) OPUS_CFLAGS += -O0 endif OPUS_CONF_ENV = CFLAGS="$(OPUS_CFLAGS)" +OPUS_CONF_OPTS = --enable-custom-modes ifeq ($(BR2_PACKAGE_OPUS_FIXED_POINT),y) OPUS_CONF_OPTS += --enable-fixed-point endif +ifeq ($(BR2_OPTIMIZE_FAST),y) +OPUS_CONF_OPTS += --enable-float-approx +endif + # When we're on ARM, but we don't have ARM instructions (only # Thumb-2), disable the usage of assembly as it is not Thumb-ready. ifeq ($(BR2_arm)$(BR2_armeb):$(BR2_ARM_CPU_HAS_ARM),y:) diff --git a/package/opusfile/0001-Propagate-allocation-failure-from-ogg_sync_buffer.patch b/package/opusfile/0001-Propagate-allocation-failure-from-ogg_sync_buffer.patch new file mode 100644 index 000000000..2ef08502a --- /dev/null +++ b/package/opusfile/0001-Propagate-allocation-failure-from-ogg_sync_buffer.patch @@ -0,0 +1,44 @@ +From 0a4cd796df5b030cb866f3f4a5e41a4b92caddf5 Mon Sep 17 00:00:00 2001 +From: Ralph Giles +Date: Tue, 6 Sep 2022 19:04:31 -0700 +Subject: [PATCH] Propagate allocation failure from ogg_sync_buffer. + +Instead of segfault, report OP_EFAULT if ogg_sync_buffer returns +a null pointer. This allows more graceful recovery by the caller +in the unlikely event of a fallible ogg_malloc call. + +We do check the return value elsewhere in the code, so the new +checks make the code more consistent. + +Thanks to https://github.com/xiph/opusfile/issues/36 for reporting. + +Signed-off-by: Timothy B. Terriberry +Signed-off-by: Mark Harris + +[Retrieved from: +https://github.com/xiph/opusfile/commit/0a4cd796df5b030cb866f3f4a5e41a4b92caddf5] +Signed-off-by: Fabrice Fontaine +--- + src/opusfile.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/opusfile.c b/src/opusfile.c +index ca219b2..3c3c81e 100644 +--- a/src/opusfile.c ++++ b/src/opusfile.c +@@ -148,6 +148,7 @@ static int op_get_data(OggOpusFile *_of,int _nbytes){ + int nbytes; + OP_ASSERT(_nbytes>0); + buffer=(unsigned char *)ogg_sync_buffer(&_of->oy,_nbytes); ++ if(OP_UNLIKELY(buffer==NULL))return OP_EFAULT; + nbytes=(int)(*_of->callbacks.read)(_of->stream,buffer,_nbytes); + OP_ASSERT(nbytes<=_nbytes); + if(OP_LIKELY(nbytes>0))ogg_sync_wrote(&_of->oy,nbytes); +@@ -1527,6 +1528,7 @@ static int op_open1(OggOpusFile *_of, + if(_initial_bytes>0){ + char *buffer; + buffer=ogg_sync_buffer(&_of->oy,(long)_initial_bytes); ++ if(OP_UNLIKELY(buffer==NULL))return OP_EFAULT; + memcpy(buffer,_initial_data,_initial_bytes*sizeof(*buffer)); + ogg_sync_wrote(&_of->oy,(long)_initial_bytes); + } diff --git a/package/opusfile/opusfile.mk b/package/opusfile/opusfile.mk index 72ae82e80..63553a81e 100644 --- a/package/opusfile/opusfile.mk +++ b/package/opusfile/opusfile.mk @@ -11,6 +11,9 @@ OPUSFILE_LICENSE = BSD-3-Clause OPUSFILE_LICENSE_FILES = COPYING OPUSFILE_INSTALL_STAGING = YES +# 0001-Propagate-allocation-failure-from-ogg_sync_buffer.patch +OPUSFILE_IGNORE_CVES += CVE-2022-47021 + ifeq ($(BR2_PACKAGE_OPENSSL),y) OPUSFILE_DEPENDENCIES += openssl else diff --git a/package/oracle-mysql/oracle-mysql.hash b/package/oracle-mysql/oracle-mysql.hash index 9d1c86854..c4ce39437 100644 --- a/package/oracle-mysql/oracle-mysql.hash +++ b/package/oracle-mysql/oracle-mysql.hash @@ -1,5 +1,5 @@ # From https://downloads.mariadb.com/archives/mysql-5.1/mysql-5.1.73.tar.gz.md5 -md5 887f869bcc757957067b9198f707f32f mysql-5.1.73.tar.gz +md5 887f869bcc757957067b9198f707f32f mysql-5.1.73.tar.gz # Locally computed sha256 05ebe21305408b24407d14b77607a3e5ffa3c300e03f1359d3066f301989dcb5 mysql-5.1.73.tar.gz sha256 cbf0dbf56528a629f4358a1339f981202f1a9a0d9542c092b03f486064ced2db README diff --git a/package/oracle-mysql/oracle-mysql.mk b/package/oracle-mysql/oracle-mysql.mk index f1f16abbb..1086e4125 100644 --- a/package/oracle-mysql/oracle-mysql.mk +++ b/package/oracle-mysql/oracle-mysql.mk @@ -13,6 +13,8 @@ ORACLE_MYSQL_DEPENDENCIES = ncurses ORACLE_MYSQL_AUTORECONF = YES ORACLE_MYSQL_LICENSE = GPL-2.0 ORACLE_MYSQL_LICENSE_FILES = README COPYING +ORACLE_MYSQL_CPE_ID_VENDOR = oracle +ORACLE_MYSQL_CPE_ID_PRODUCT = mysql ORACLE_MYSQL_SELINUX_MODULES = mysql ORACLE_MYSQL_PROVIDES = mysql ORACLE_MYSQL_CONFIG_SCRIPTS = mysql_config diff --git a/package/orbit/orbit.hash b/package/orbit/orbit.hash index eb427b63b..8f425417a 100644 --- a/package/orbit/orbit.hash +++ b/package/orbit/orbit.hash @@ -1,4 +1,4 @@ # computed by luarocks/buildroot -sha256 91e3c514d5b86918db83666c8889635bb2d50c71d1ab3aeb69c6469c9424089b orbit-2.2.4-1.src.rock -sha256 dd7d37caed0f4ee994e9e64ea4ab292dce549bb609412c84fc47ed079275ae98 orbit/doc/us/license.html -sha256 140134369c1f041abf7d8cd39a5b0c42f8b5e827695ce7c1ef5ca8f0911a0246 orbit/doc/us/license.md +sha256 91e3c514d5b86918db83666c8889635bb2d50c71d1ab3aeb69c6469c9424089b orbit-2.2.4-1.src.rock +sha256 dd7d37caed0f4ee994e9e64ea4ab292dce549bb609412c84fc47ed079275ae98 orbit/doc/us/license.html +sha256 140134369c1f041abf7d8cd39a5b0c42f8b5e827695ce7c1ef5ca8f0911a0246 orbit/doc/us/license.md diff --git a/package/osm2pgsql/Config.in b/package/osm2pgsql/Config.in index e903e92c4..3e73572a8 100644 --- a/package/osm2pgsql/Config.in +++ b/package/osm2pgsql/Config.in @@ -22,7 +22,7 @@ config BR2_PACKAGE_OSM2PGSQL https://osm2pgsql.org -comment "osm2pgsql needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" +comment "osm2pgsql needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" 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 diff --git a/package/paho-mqtt-c/paho-mqtt-c.hash b/package/paho-mqtt-c/paho-mqtt-c.hash index 4cdedfbf9..529c538ff 100644 --- a/package/paho-mqtt-c/paho-mqtt-c.hash +++ b/package/paho-mqtt-c/paho-mqtt-c.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 386c9b5fa1cf6d0d516db12d57fd8f6a410dd0fdc5e9a2da870aae437a2535ed paho-mqtt-c-1.3.9.tar.gz +sha256 6a70a664ed3bbcc1eafdc45a5dc11f3ad70c9bac12a54c2f8cef15c0e7d0a93b paho-mqtt-c-1.3.12.tar.gz sha256 83bbba033dc985487e321b6dfde111772affb73460be48726299fed3da684b1c edl-v10 sha256 0becf16567beb77fa252b7664631dd177c8f9a1889e48995b45379c7130e5303 epl-v20 sha256 bc0f3f447097eb82a29ad6c2f4929572bb548b6bd4c9e38fde1bf131a771b7a0 LICENSE diff --git a/package/paho-mqtt-c/paho-mqtt-c.mk b/package/paho-mqtt-c/paho-mqtt-c.mk index 68b58f2e0..8d1fe009a 100644 --- a/package/paho-mqtt-c/paho-mqtt-c.mk +++ b/package/paho-mqtt-c/paho-mqtt-c.mk @@ -4,13 +4,14 @@ # ################################################################################ -PAHO_MQTT_C_VERSION = 1.3.9 +PAHO_MQTT_C_VERSION = 1.3.12 PAHO_MQTT_C_SITE = $(call github,eclipse,paho.mqtt.c,v$(PAHO_MQTT_C_VERSION)) PAHO_MQTT_C_LICENSE = EPL-2.0 or BSD-3-Clause PAHO_MQTT_C_LICENSE_FILES = epl-v20 edl-v10 LICENSE PAHO_MQTT_C_INSTALL_STAGING = YES PAHO_MQTT_C_CONF_OPTS = \ + -DCMAKE_INSTALL_DOCDIR=share/doc/libpaho-mqtt \ -DPAHO_ENABLE_TESTING=FALSE \ -DPAHO_ENABLE_CPACK=FALSE \ -DPAHO_HIGH_PERFORMANCE=TRUE diff --git a/package/pahole/pahole.mk b/package/pahole/pahole.mk index 1ad937062..da6d67e6a 100644 --- a/package/pahole/pahole.mk +++ b/package/pahole/pahole.mk @@ -5,7 +5,7 @@ ################################################################################ PAHOLE_VERSION = v1.23 -PAHOLE_SITE = git://git.kernel.org/pub/scm/devel/pahole/pahole.git +PAHOLE_SITE = https://git.kernel.org/pub/scm/devel/pahole/pahole.git PAHOLE_SITE_METHOD = git # pahole contains git submodule and relies on them to be built. PAHOLE_GIT_SUBMODULES = YES diff --git a/package/pamtester/pamtester.hash b/package/pamtester/pamtester.hash index 17497e315..72a3fabff 100644 --- a/package/pamtester/pamtester.hash +++ b/package/pamtester/pamtester.hash @@ -1,3 +1,3 @@ # from https://sourceforge.net/projects/pamtester/files/pamtester/0.1.2/ -sha1 33bcc610d7f208b50a0a23c144bdbd1e2cae4ac6 pamtester-0.1.2.tar.gz -sha256 1e3922a8ab0907c1f3bcc3e00005ef88930e50d0890f40a6a39f5f83b05f05cc LICENSE +sha1 33bcc610d7f208b50a0a23c144bdbd1e2cae4ac6 pamtester-0.1.2.tar.gz +sha256 1e3922a8ab0907c1f3bcc3e00005ef88930e50d0890f40a6a39f5f83b05f05cc LICENSE diff --git a/package/pamtester/pamtester.mk b/package/pamtester/pamtester.mk index b09e4d1cc..77867403c 100644 --- a/package/pamtester/pamtester.mk +++ b/package/pamtester/pamtester.mk @@ -10,4 +10,9 @@ PAMTESTER_DEPENDENCIES = linux-pam PAMTESTER_LICENSE = BSD-3-Clause PAMTESTER_LICENSE_FILES = LICENSE +# Obsolete constructs in the archaic configure.in generated an outworn +# configure script that incorrectly searches a C++ compiler. Regenerate +# the autoconf machinery to avoid failures without a C++ compiler. +PAMTESTER_AUTORECONF = YES + $(eval $(autotools-package)) diff --git a/package/pango/pango.hash b/package/pango/pango.hash index a6c924a8c..cbd391db2 100644 --- a/package/pango/pango.hash +++ b/package/pango/pango.hash @@ -1,5 +1,5 @@ -# From https://ftp.acc.umu.se/pub/GNOME/sources/pango/1.50/pango-1.50.3.sha256sum -sha256 4add05edf51c1fb375a1ccde7498914120e23cb280dd7395b1aeb441f1838a4c pango-1.50.3.tar.xz +# From https://ftp.acc.umu.se/pub/GNOME/sources/pango/1.50/pango-1.50.10.sha256sum +sha256 7e5d2f1e40854d24a9a2c4d093bafe75dcdbeccdf1de43e4437332eabed64966 pango-1.50.10.tar.xz # Locally computed sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/package/pango/pango.mk b/package/pango/pango.mk index 684407228..649f3398c 100644 --- a/package/pango/pango.mk +++ b/package/pango/pango.mk @@ -5,7 +5,7 @@ ################################################################################ PANGO_VERSION_MAJOR = 1.50 -PANGO_VERSION = $(PANGO_VERSION_MAJOR).3 +PANGO_VERSION = $(PANGO_VERSION_MAJOR).10 PANGO_SOURCE = pango-$(PANGO_VERSION).tar.xz PANGO_SITE = http://ftp.gnome.org/pub/GNOME/sources/pango/$(PANGO_VERSION_MAJOR) PANGO_INSTALL_STAGING = YES diff --git a/package/parted/parted.hash b/package/parted/parted.hash index 2c466eb8d..e85c64476 100644 --- a/package/parted/parted.hash +++ b/package/parted/parted.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 57e2b4bd87018625c515421d4524f6e3b55175b472302056391c5f7eccb83d44 parted-3.3.tar.xz +sha256 57e2b4bd87018625c515421d4524f6e3b55175b472302056391c5f7eccb83d44 parted-3.3.tar.xz # Locally calculated -sha256 0abbff814cd00e2b0b6d08395af2b419c1a92026c4b4adacbb65ccda45fa58cf COPYING +sha256 0abbff814cd00e2b0b6d08395af2b419c1a92026c4b4adacbb65ccda45fa58cf COPYING diff --git a/package/patch/patch.hash b/package/patch/patch.hash index 917d951a9..f43400ea7 100644 --- a/package/patch/patch.hash +++ b/package/patch/patch.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 ac610bda97abe0d9f6b7c963255a11dcb196c25e337c61f94e4778d632f1d8fd patch-2.7.6.tar.xz +sha256 ac610bda97abe0d9f6b7c963255a11dcb196c25e337c61f94e4778d632f1d8fd patch-2.7.6.tar.xz # Locally calculated -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/patchelf/patchelf.hash b/package/patchelf/patchelf.hash index 0f5456090..cdb2d6ea2 100644 --- a/package/patchelf/patchelf.hash +++ b/package/patchelf/patchelf.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 a0f65c1ba148890e9f2f7823f4bedf7ecad5417772f64f994004f59a39014f83 patchelf-0.9.tar.bz2 +sha256 a0f65c1ba148890e9f2f7823f4bedf7ecad5417772f64f994004f59a39014f83 patchelf-0.9.tar.bz2 # License files, locally calculated -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/paxtest/Config.in b/package/paxtest/Config.in index 1e09820ba..565c45cc1 100644 --- a/package/paxtest/Config.in +++ b/package/paxtest/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_PAXTEST bool "paxtest" + depends on !BR2_microblaze # No UCLIBC or MUSL because __NO_A_OUT_SUPPORT depends on BR2_TOOLCHAIN_USES_GLIBC help @@ -8,4 +9,5 @@ config BR2_PACKAGE_PAXTEST http://pax.grsecurity.net/docs comment "paxtest needs a glibc toolchain" + depends on !BR2_microblaze depends on !BR2_TOOLCHAIN_USES_GLIBC diff --git a/package/pcm-tools/Config.in b/package/pcm-tools/Config.in index ca9719dc5..6bf05f32d 100644 --- a/package/pcm-tools/Config.in +++ b/package/pcm-tools/Config.in @@ -1,11 +1,13 @@ -comment "pcm-tools needs a toolchain w/ C++" +comment "pcm-tools needs a toolchain w/ C++, NPTL" depends on BR2_i386 || BR2_x86_64 - depends on !BR2_INSTALL_LIBSTDCPP + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL config BR2_PACKAGE_PCM_TOOLS bool "pcm-tools" depends on BR2_i386 || BR2_x86_64 depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_PACKAGE_HWDATA select BR2_PACKAGE_HWDATA_PCI_IDS help diff --git a/package/pcre2/pcre2.hash b/package/pcre2/pcre2.hash index 3e6299f80..e3fe6b2d5 100644 --- a/package/pcre2/pcre2.hash +++ b/package/pcre2/pcre2.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature: -# https://github.com/PhilipHazel/pcre2/releases/download/pcre2-10.39/pcre2-10.39.tar.bz2.sig -sha256 0f03caf57f81d9ff362ac28cd389c055ec2bf0678d277349a1a4bee00ad6d440 pcre2-10.39.tar.bz2 +# https://github.com/PhilipHazel/pcre2/releases/download/pcre2-10.40/pcre2-10.40.tar.bz2.sig +sha256 14e4b83c4783933dc17e964318e6324f7cae1bc75d8f3c79bc6969f00c159d68 pcre2-10.40.tar.bz2 # Locally computed -sha256 15bc778a1f7e1f857d57abab4181749a06ad1d1f9420d5c9e3c23ef8c991b025 LICENCE +sha256 87d884eceb7fc54611470ce9f74280d28612b0c877adfc767e9676892a638987 LICENCE diff --git a/package/pcre2/pcre2.mk b/package/pcre2/pcre2.mk index adcfaf1ca..043f6d866 100644 --- a/package/pcre2/pcre2.mk +++ b/package/pcre2/pcre2.mk @@ -4,7 +4,7 @@ # ################################################################################ -PCRE2_VERSION = 10.39 +PCRE2_VERSION = 10.40 PCRE2_SITE = https://github.com/PhilipHazel/pcre2/releases/download/pcre2-$(PCRE2_VERSION) PCRE2_SOURCE = pcre2-$(PCRE2_VERSION).tar.bz2 PCRE2_LICENSE = BSD-3-Clause diff --git a/package/pcsc-lite/pcsc-lite.mk b/package/pcsc-lite/pcsc-lite.mk index a7db10598..20f226dc2 100644 --- a/package/pcsc-lite/pcsc-lite.mk +++ b/package/pcsc-lite/pcsc-lite.mk @@ -9,7 +9,7 @@ PCSC_LITE_SOURCE = pcsc-lite-$(PCSC_LITE_VERSION).tar.bz2 PCSC_LITE_SITE = https://pcsclite.apdu.fr/files PCSC_LITE_INSTALL_STAGING = YES PCSC_LITE_DEPENDENCIES = host-pkgconf -PCSC_LITE_LICENSE = BSD-2-Clause (auth), BSD-3-Clause, GPL-3.0+ (demo, spy, tests), ISC (simclist) +PCSC_LITE_LICENSE = BSD-2-Clause (auth), BSD-3-Clause, GPL-3.0+ (spy, tests), ISC (simclist) PCSC_LITE_LICENSE_FILES = COPYING GPL-3.0.txt PCSC_LITE_SELINUX_MODULES = pcscd @@ -36,11 +36,11 @@ else PCSC_LITE_CONF_OPTS += --disable-libsystemd endif -ifeq ($(PACKAGE_PCSC_LITE_DEBUGATR),y) +ifeq ($(BR2_PACKAGE_PCSC_LITE_DEBUGATR),y) PCSC_LITE_CONF_OPTS += --enable-debugatr endif -ifeq ($(PACKAGE_PCSC_LITE_EMBEDDED),y) +ifeq ($(BR2_PACKAGE_PCSC_LITE_EMBEDDED),y) PCSC_LITE_CONF_OPTS += --enable-embedded endif diff --git a/package/pdbg/pdbg.hash b/package/pdbg/pdbg.hash index df7ba314b..dc250c4b4 100644 --- a/package/pdbg/pdbg.hash +++ b/package/pdbg/pdbg.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 5b721fd5551591cd5626ccf72c8d9096d902de4da10324097a37b4763815f0d7 pdbg-3.4.tar.gz -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING +sha256 5b721fd5551591cd5626ccf72c8d9096d902de4da10324097a37b4763815f0d7 pdbg-3.4.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING diff --git a/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.hash b/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.hash index de33cfb17..429302bfa 100644 --- a/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.hash +++ b/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 a0cdfcd875cb2ee4dc9a2c24381eb55b Apache-LogFormat-Compiler-0.36.tar.gz -sha256 94509503ee74ea820183d070c11630ee5bc0fd8c12cb74fae953ed62e4a1ac17 Apache-LogFormat-Compiler-0.36.tar.gz +md5 a0cdfcd875cb2ee4dc9a2c24381eb55b Apache-LogFormat-Compiler-0.36.tar.gz +sha256 94509503ee74ea820183d070c11630ee5bc0fd8c12cb74fae953ed62e4a1ac17 Apache-LogFormat-Compiler-0.36.tar.gz # computed by scancpan -sha256 ab941cfc4794afa2113795b167177d1b25cbc77ebadd016e5727effc2cadd96b LICENSE +sha256 ab941cfc4794afa2113795b167177d1b25cbc77ebadd016e5727effc2cadd96b LICENSE diff --git a/package/perl-appconfig/perl-appconfig.hash b/package/perl-appconfig/perl-appconfig.hash index 151a2e903..0f0cf2f22 100644 --- a/package/perl-appconfig/perl-appconfig.hash +++ b/package/perl-appconfig/perl-appconfig.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 7747d9241561ed5567d5e134b8648707 AppConfig-1.71.tar.gz -sha256 1177027025ecb09ee64d9f9f255615c04db5e14f7536c344af632032eb887b0f AppConfig-1.71.tar.gz +md5 7747d9241561ed5567d5e134b8648707 AppConfig-1.71.tar.gz +sha256 1177027025ecb09ee64d9f9f255615c04db5e14f7536c344af632032eb887b0f AppConfig-1.71.tar.gz # computed by scancpan -sha256 0b22dd532e4123a511d14989c4169ed56b7316cf844c29c7897a1638a4616868 LICENSE +sha256 0b22dd532e4123a511d14989c4169ed56b7316cf844c29c7897a1638a4616868 LICENSE diff --git a/package/perl-astro-suntime/perl-astro-suntime.hash b/package/perl-astro-suntime/perl-astro-suntime.hash index e75293d4f..05a7af235 100644 --- a/package/perl-astro-suntime/perl-astro-suntime.hash +++ b/package/perl-astro-suntime/perl-astro-suntime.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 42cb8c94de8a111ed652196925c22a45 Astro-SunTime-0.06.tar.gz -sha256 b4a44fddfc055cc42ee67bfd8939354793da7512ea04f30578d42dc6a701112a Astro-SunTime-0.06.tar.gz +md5 42cb8c94de8a111ed652196925c22a45 Astro-SunTime-0.06.tar.gz +sha256 b4a44fddfc055cc42ee67bfd8939354793da7512ea04f30578d42dc6a701112a Astro-SunTime-0.06.tar.gz # computed by scancpan -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE diff --git a/package/perl-class-inspector/perl-class-inspector.hash b/package/perl-class-inspector/perl-class-inspector.hash index ee7a95bfa..3ec20d209 100644 --- a/package/perl-class-inspector/perl-class-inspector.hash +++ b/package/perl-class-inspector/perl-class-inspector.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 084c3aeec023639d21ecbaf7d4460b21 Class-Inspector-1.36.tar.gz -sha256 cc295d23a472687c24489d58226ead23b9fdc2588e522f0b5f0747741700694e Class-Inspector-1.36.tar.gz +md5 084c3aeec023639d21ecbaf7d4460b21 Class-Inspector-1.36.tar.gz +sha256 cc295d23a472687c24489d58226ead23b9fdc2588e522f0b5f0747741700694e Class-Inspector-1.36.tar.gz # computed by scancpan -sha256 401fe9c98bdb5707df71447fb93141f8cb2d85337d45505f5ae50a776a3f6666 LICENSE +sha256 401fe9c98bdb5707df71447fb93141f8cb2d85337d45505f5ae50a776a3f6666 LICENSE diff --git a/package/perl-class-load/perl-class-load.hash b/package/perl-class-load/perl-class-load.hash index c2900d696..88dc5c841 100644 --- a/package/perl-class-load/perl-class-load.hash +++ b/package/perl-class-load/perl-class-load.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 e4c831c08df592ce8dfee0c7cfc12fd7 Class-Load-0.25.tar.gz -sha256 2a48fa779b5297e56156380e8b32637c6c58decb4f4a7f3c7350523e11275f8f Class-Load-0.25.tar.gz +md5 e4c831c08df592ce8dfee0c7cfc12fd7 Class-Load-0.25.tar.gz +sha256 2a48fa779b5297e56156380e8b32637c6c58decb4f4a7f3c7350523e11275f8f Class-Load-0.25.tar.gz # computed by scancpan -sha256 dc030e63f20035291b90d09c2c40f296224e85878caf829ea981fc2f10910f9d LICENSE +sha256 dc030e63f20035291b90d09c2c40f296224e85878caf829ea981fc2f10910f9d LICENSE diff --git a/package/perl-class-method-modifiers/perl-class-method-modifiers.hash b/package/perl-class-method-modifiers/perl-class-method-modifiers.hash index 82bf91f74..ee0f5ec32 100644 --- a/package/perl-class-method-modifiers/perl-class-method-modifiers.hash +++ b/package/perl-class-method-modifiers/perl-class-method-modifiers.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 b1398e3682aa2e075b913b9f9000b596 Class-Method-Modifiers-2.13.tar.gz -sha256 ab5807f71018a842de6b7a4826d6c1f24b8d5b09fcce5005a3309cf6ea40fd63 Class-Method-Modifiers-2.13.tar.gz +md5 b1398e3682aa2e075b913b9f9000b596 Class-Method-Modifiers-2.13.tar.gz +sha256 ab5807f71018a842de6b7a4826d6c1f24b8d5b09fcce5005a3309cf6ea40fd63 Class-Method-Modifiers-2.13.tar.gz # computed by scancpan -sha256 d17e5cba8d4039f6973d5873f73b0c8949c1cffb338fafe7a57e972767546561 LICENSE +sha256 d17e5cba8d4039f6973d5873f73b0c8949c1cffb338fafe7a57e972767546561 LICENSE diff --git a/package/perl-class-std-fast/perl-class-std-fast.hash b/package/perl-class-std-fast/perl-class-std-fast.hash index 07e830a5e..36d6e21cb 100644 --- a/package/perl-class-std-fast/perl-class-std-fast.hash +++ b/package/perl-class-std-fast/perl-class-std-fast.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 d06d084cb84f295b0aabf2eee78ef746 Class-Std-Fast-v0.0.8.tar.gz -sha256 1bd43763c6a373183097a30e787f5d6713b0db27511c52d533266b59d2cfa780 Class-Std-Fast-v0.0.8.tar.gz +md5 d06d084cb84f295b0aabf2eee78ef746 Class-Std-Fast-v0.0.8.tar.gz +sha256 1bd43763c6a373183097a30e787f5d6713b0db27511c52d533266b59d2cfa780 Class-Std-Fast-v0.0.8.tar.gz # computed by scancpan -sha256 aa1ab90c498aee078076e9a1f83e5f14bbfd841509582795ab5a9571428c0c38 README +sha256 aa1ab90c498aee078076e9a1f83e5f14bbfd841509582795ab5a9571428c0c38 README diff --git a/package/perl-class-std/perl-class-std.hash b/package/perl-class-std/perl-class-std.hash index 0cc386141..eaa8705c5 100644 --- a/package/perl-class-std/perl-class-std.hash +++ b/package/perl-class-std/perl-class-std.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 82bcc56d9769edce671b0bd0e183ec3a Class-Std-0.013.tar.gz -sha256 bcd6d82f6c8af0fe069fced7dd165a4795b0b6e92351c7d4e5a1ab9a14fc35c6 Class-Std-0.013.tar.gz +md5 82bcc56d9769edce671b0bd0e183ec3a Class-Std-0.013.tar.gz +sha256 bcd6d82f6c8af0fe069fced7dd165a4795b0b6e92351c7d4e5a1ab9a14fc35c6 Class-Std-0.013.tar.gz # computed by scancpan -sha256 b8175bf3750dc54096bf1506c681b4f13262e5b82e40244e9a77730c6b72e4d6 README +sha256 b8175bf3750dc54096bf1506c681b4f13262e5b82e40244e9a77730c6b72e4d6 README diff --git a/package/perl-cookie-baker/perl-cookie-baker.hash b/package/perl-cookie-baker/perl-cookie-baker.hash index 3b056c46c..cc2a84b14 100644 --- a/package/perl-cookie-baker/perl-cookie-baker.hash +++ b/package/perl-cookie-baker/perl-cookie-baker.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 bc8f95893d6ec3093a62d1957e1908f2 Cookie-Baker-0.11.tar.gz -sha256 59275f474e07c0aa3611e3e684b894e7db913333d8214420be63f12ec18cd7ab Cookie-Baker-0.11.tar.gz +md5 bc8f95893d6ec3093a62d1957e1908f2 Cookie-Baker-0.11.tar.gz +sha256 59275f474e07c0aa3611e3e684b894e7db913333d8214420be63f12ec18cd7ab Cookie-Baker-0.11.tar.gz # computed by scancpan -sha256 b4ce94671fa219074d4e91e2268652d6bf9764cebcc7a5e27bfc14897745ca4c LICENSE +sha256 b4ce94671fa219074d4e91e2268652d6bf9764cebcc7a5e27bfc14897745ca4c LICENSE diff --git a/package/perl-crypt-blowfish/perl-crypt-blowfish.hash b/package/perl-crypt-blowfish/perl-crypt-blowfish.hash index f814cb9bd..6199037ae 100644 --- a/package/perl-crypt-blowfish/perl-crypt-blowfish.hash +++ b/package/perl-crypt-blowfish/perl-crypt-blowfish.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 792b43cd4e49d2c2cf4a9f6990ff7d1b Crypt-Blowfish-2.14.tar.gz -sha256 46b3431ffb6bf5b9cb359f79565d48407e652ad2b04fdf5ca62a69e7197a67b1 Crypt-Blowfish-2.14.tar.gz +md5 792b43cd4e49d2c2cf4a9f6990ff7d1b Crypt-Blowfish-2.14.tar.gz +sha256 46b3431ffb6bf5b9cb359f79565d48407e652ad2b04fdf5ca62a69e7197a67b1 Crypt-Blowfish-2.14.tar.gz # computed by scancpan -sha256 d61437443e6912d03677874c7baef242f28119c2c5d8b92b0f3f3660200f98d4 COPYRIGHT +sha256 d61437443e6912d03677874c7baef242f28119c2c5d8b92b0f3f3660200f98d4 COPYRIGHT diff --git a/package/perl-crypt-cbc/perl-crypt-cbc.hash b/package/perl-crypt-cbc/perl-crypt-cbc.hash index a54772a50..281db4cb7 100644 --- a/package/perl-crypt-cbc/perl-crypt-cbc.hash +++ b/package/perl-crypt-cbc/perl-crypt-cbc.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 3db5117d60df67e3b400fe367e716be0 Crypt-CBC-2.33.tar.gz -sha256 6a70de21b6cc7f2b100067e8e188db966e9a8001b5db6fa976e7cb5b294ae645 Crypt-CBC-2.33.tar.gz +md5 3db5117d60df67e3b400fe367e716be0 Crypt-CBC-2.33.tar.gz +sha256 6a70de21b6cc7f2b100067e8e188db966e9a8001b5db6fa976e7cb5b294ae645 Crypt-CBC-2.33.tar.gz # locally computed -sha256 9548d0beb746167270df647aa97a3e47b957adb4ec103c2cfb8f54b0005f99c7 CBC.pm +sha256 9548d0beb746167270df647aa97a3e47b957adb4ec103c2cfb8f54b0005f99c7 CBC.pm diff --git a/package/perl-crypt-openssl-aes/perl-crypt-openssl-aes.hash b/package/perl-crypt-openssl-aes/perl-crypt-openssl-aes.hash index 07064dfbb..16602fb92 100644 --- a/package/perl-crypt-openssl-aes/perl-crypt-openssl-aes.hash +++ b/package/perl-crypt-openssl-aes/perl-crypt-openssl-aes.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 269db65cbf580c3174471a2cbc9a9d95 Crypt-OpenSSL-AES-0.02.tar.gz -sha256 b66fab514edf97fc32f58da257582704a210c2b35e297d5c31b7fa2ffd08e908 Crypt-OpenSSL-AES-0.02.tar.gz +md5 269db65cbf580c3174471a2cbc9a9d95 Crypt-OpenSSL-AES-0.02.tar.gz +sha256 b66fab514edf97fc32f58da257582704a210c2b35e297d5c31b7fa2ffd08e908 Crypt-OpenSSL-AES-0.02.tar.gz # computed by scancpan -sha256 a60b8c187cc5d90f7a43adc6be3c127abaa4c739e1e7fdcff16be358533d037f README +sha256 a60b8c187cc5d90f7a43adc6be3c127abaa4c739e1e7fdcff16be358533d037f README diff --git a/package/perl-crypt-openssl-random/perl-crypt-openssl-random.hash b/package/perl-crypt-openssl-random/perl-crypt-openssl-random.hash index 57677e344..6c1344fb2 100644 --- a/package/perl-crypt-openssl-random/perl-crypt-openssl-random.hash +++ b/package/perl-crypt-openssl-random/perl-crypt-openssl-random.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 bcde8d5a822c91376deda3c4f0c75fbe Crypt-OpenSSL-Random-0.15.tar.gz -sha256 f0876faa1ba3111e39b86aa730c603211eff2905e460c72a57b61e8cf475cef4 Crypt-OpenSSL-Random-0.15.tar.gz +md5 bcde8d5a822c91376deda3c4f0c75fbe Crypt-OpenSSL-Random-0.15.tar.gz +sha256 f0876faa1ba3111e39b86aa730c603211eff2905e460c72a57b61e8cf475cef4 Crypt-OpenSSL-Random-0.15.tar.gz # computed by scancpan -sha256 fdaba2134145d3e252c5930180b2bcb13b5367ad5a8713d6868f014cd25c496f LICENSE +sha256 fdaba2134145d3e252c5930180b2bcb13b5367ad5a8713d6868f014cd25c496f LICENSE diff --git a/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.hash b/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.hash index fe2a57858..d6f1564e2 100644 --- a/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.hash +++ b/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 d33681e19d2094df7c26bc7a4509265e Crypt-OpenSSL-RSA-0.31.tar.gz -sha256 4173403ad4cf76732192099f833fbfbf3cd8104e0246b3844187ae384d2c5436 Crypt-OpenSSL-RSA-0.31.tar.gz +md5 d33681e19d2094df7c26bc7a4509265e Crypt-OpenSSL-RSA-0.31.tar.gz +sha256 4173403ad4cf76732192099f833fbfbf3cd8104e0246b3844187ae384d2c5436 Crypt-OpenSSL-RSA-0.31.tar.gz # computed by scancpan -sha256 8a693ad3f52daeeb5ac5deceb1e1109c9c87095ed5ba6506d6d5c106e4066f5a LICENSE +sha256 8a693ad3f52daeeb5ac5deceb1e1109c9c87095ed5ba6506d6d5c106e4066f5a LICENSE diff --git a/package/perl-datetime-tiny/perl-datetime-tiny.hash b/package/perl-datetime-tiny/perl-datetime-tiny.hash index 62fe407d2..8dc076575 100644 --- a/package/perl-datetime-tiny/perl-datetime-tiny.hash +++ b/package/perl-datetime-tiny/perl-datetime-tiny.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 5ac2924652edb0cf5fda7c9d52162b3f DateTime-Tiny-1.07.tar.gz -sha256 83568a22838cb518fbeb9e060460ec7f59d5a0b0a1cc06562954c3674d7cf7e4 DateTime-Tiny-1.07.tar.gz +md5 5ac2924652edb0cf5fda7c9d52162b3f DateTime-Tiny-1.07.tar.gz +sha256 83568a22838cb518fbeb9e060460ec7f59d5a0b0a1cc06562954c3674d7cf7e4 DateTime-Tiny-1.07.tar.gz # computed by scancpan -sha256 21cda7a55a8d4b32a43c654f0d4d4a1587096b35bf2a93ea12a2e3a8c2c0b88f LICENSE +sha256 21cda7a55a8d4b32a43c654f0d4d4a1587096b35bf2a93ea12a2e3a8c2c0b88f LICENSE diff --git a/package/perl-dbd-mysql/perl-dbd-mysql.hash b/package/perl-dbd-mysql/perl-dbd-mysql.hash index 51de47609..995928fba 100644 --- a/package/perl-dbd-mysql/perl-dbd-mysql.hash +++ b/package/perl-dbd-mysql/perl-dbd-mysql.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 bdf4f4d899b8af29ebd8ebfb7438d05f DBD-mysql-4.046.tar.gz -sha256 6165652ec959d05b97f5413fa3dff014b78a44cf6de21ae87283b28378daf1f7 DBD-mysql-4.046.tar.gz +md5 bdf4f4d899b8af29ebd8ebfb7438d05f DBD-mysql-4.046.tar.gz +sha256 6165652ec959d05b97f5413fa3dff014b78a44cf6de21ae87283b28378daf1f7 DBD-mysql-4.046.tar.gz # computed by scancpan -sha256 7a9ba29702b957805cfa8aa63bca43175625824263232dbade0010d385ab888c LICENSE +sha256 7a9ba29702b957805cfa8aa63bca43175625824263232dbade0010d385ab888c LICENSE diff --git a/package/perl-dbi/perl-dbi.hash b/package/perl-dbi/perl-dbi.hash index 707accf01..757a4cc5a 100644 --- a/package/perl-dbi/perl-dbi.hash +++ b/package/perl-dbi/perl-dbi.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 352f80b1e23769c116082a90905d7398 DBI-1.643.tar.gz -sha256 8a2b993db560a2c373c174ee976a51027dd780ec766ae17620c20393d2e836fa DBI-1.643.tar.gz +md5 352f80b1e23769c116082a90905d7398 DBI-1.643.tar.gz +sha256 8a2b993db560a2c373c174ee976a51027dd780ec766ae17620c20393d2e836fa DBI-1.643.tar.gz # computed by scancpan -sha256 33453c8b0d8d474a42669ac702a13c20f39c91a34b3df4e6ca778fc2f0f711c7 LICENSE +sha256 33453c8b0d8d474a42669ac702a13c20f39c91a34b3df4e6ca778fc2f0f711c7 LICENSE diff --git a/package/perl-devel-globaldestruction/perl-devel-globaldestruction.hash b/package/perl-devel-globaldestruction/perl-devel-globaldestruction.hash index b3cd6e32f..727df4d24 100644 --- a/package/perl-devel-globaldestruction/perl-devel-globaldestruction.hash +++ b/package/perl-devel-globaldestruction/perl-devel-globaldestruction.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 24221ba322cf2dc46a1fc99b53e2380b Devel-GlobalDestruction-0.14.tar.gz -sha256 34b8a5f29991311468fe6913cadaba75fd5d2b0b3ee3bb41fe5b53efab9154ab Devel-GlobalDestruction-0.14.tar.gz +md5 24221ba322cf2dc46a1fc99b53e2380b Devel-GlobalDestruction-0.14.tar.gz +sha256 34b8a5f29991311468fe6913cadaba75fd5d2b0b3ee3bb41fe5b53efab9154ab Devel-GlobalDestruction-0.14.tar.gz # computed by scancpan -sha256 f7adbd1db623233e220f9157521a620dbae4918ae7088845aa61e87b7f62bb23 README +sha256 f7adbd1db623233e220f9157521a620dbae4918ae7088845aa61e87b7f62bb23 README diff --git a/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.hash b/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.hash index 4f31c6a1e..8a3e625f5 100644 --- a/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.hash +++ b/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 4ec8bd92e4a765a7cabf402db9640412 Devel-StackTrace-AsHTML-0.15.tar.gz -sha256 6283dbe2197e2f20009cc4b449997742169cdd951bfc44cbc6e62c2a962d3147 Devel-StackTrace-AsHTML-0.15.tar.gz +md5 4ec8bd92e4a765a7cabf402db9640412 Devel-StackTrace-AsHTML-0.15.tar.gz +sha256 6283dbe2197e2f20009cc4b449997742169cdd951bfc44cbc6e62c2a962d3147 Devel-StackTrace-AsHTML-0.15.tar.gz # computed by scancpan -sha256 ffecf60c52b85d56c928f5eac889b5044243c3907b810ef640c9f02fbce567ac LICENSE +sha256 ffecf60c52b85d56c928f5eac889b5044243c3907b810ef640c9f02fbce567ac LICENSE diff --git a/package/perl-devel-stacktrace/perl-devel-stacktrace.hash b/package/perl-devel-stacktrace/perl-devel-stacktrace.hash index 58923cc07..4e64ef171 100644 --- a/package/perl-devel-stacktrace/perl-devel-stacktrace.hash +++ b/package/perl-devel-stacktrace/perl-devel-stacktrace.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 a5b09f7be7f2b10b525a9740676906d8 Devel-StackTrace-2.04.tar.gz -sha256 cd3c03ed547d3d42c61fa5814c98296139392e7971c092e09a431f2c9f5d6855 Devel-StackTrace-2.04.tar.gz +md5 a5b09f7be7f2b10b525a9740676906d8 Devel-StackTrace-2.04.tar.gz +sha256 cd3c03ed547d3d42c61fa5814c98296139392e7971c092e09a431f2c9f5d6855 Devel-StackTrace-2.04.tar.gz # computed by scancpan -sha256 dbd3162d261db5b40cac4d85afba619ec6a196398003c57b85c2333e7ef4c393 LICENSE +sha256 dbd3162d261db5b40cac4d85afba619ec6a196398003c57b85c2333e7ef4c393 LICENSE diff --git a/package/perl-device-serialport/perl-device-serialport.hash b/package/perl-device-serialport/perl-device-serialport.hash index 35ddc13d3..305a5ec38 100644 --- a/package/perl-device-serialport/perl-device-serialport.hash +++ b/package/perl-device-serialport/perl-device-serialport.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 82c698151f934eb28c65d1838cee7d9e Device-SerialPort-1.04.tar.gz -sha256 d392567cb39b4ea606c0e0acafd8ed72320311b995336ece5fcefcf9b150e9d7 Device-SerialPort-1.04.tar.gz +md5 82c698151f934eb28c65d1838cee7d9e Device-SerialPort-1.04.tar.gz +sha256 d392567cb39b4ea606c0e0acafd8ed72320311b995336ece5fcefcf9b150e9d7 Device-SerialPort-1.04.tar.gz # computed by scancpan -sha256 59432e84eca65c10c4b627f8af0b00833685856b68242b816aea2a38283a124c README +sha256 59432e84eca65c10c4b627f8af0b00833685856b68242b816aea2a38283a124c README diff --git a/package/perl-digest-sha1/perl-digest-sha1.hash b/package/perl-digest-sha1/perl-digest-sha1.hash index bfc94a12a..dc32ddcfd 100644 --- a/package/perl-digest-sha1/perl-digest-sha1.hash +++ b/package/perl-digest-sha1/perl-digest-sha1.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 bd22388f268434f2b24f64e28bf1aa35 Digest-SHA1-2.13.tar.gz -sha256 68c1dac2187421f0eb7abf71452a06f190181b8fc4b28ededf5b90296fb943cc Digest-SHA1-2.13.tar.gz +md5 bd22388f268434f2b24f64e28bf1aa35 Digest-SHA1-2.13.tar.gz +sha256 68c1dac2187421f0eb7abf71452a06f190181b8fc4b28ededf5b90296fb943cc Digest-SHA1-2.13.tar.gz # computed by scancpan -sha256 805bee77fab9c72b0bfb452bb623b278f1767de62011e1814de2a6f6115439c8 README +sha256 805bee77fab9c72b0bfb452bb623b278f1767de62011e1814de2a6f6115439c8 README diff --git a/package/perl-dist-checkconflicts/perl-dist-checkconflicts.hash b/package/perl-dist-checkconflicts/perl-dist-checkconflicts.hash index 5605fed4a..15074e0a2 100644 --- a/package/perl-dist-checkconflicts/perl-dist-checkconflicts.hash +++ b/package/perl-dist-checkconflicts/perl-dist-checkconflicts.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 c8725a92b9169708b0f63036812070f2 Dist-CheckConflicts-0.11.tar.gz -sha256 ea844b9686c94d666d9d444321d764490b2cde2f985c4165b4c2c77665caedc4 Dist-CheckConflicts-0.11.tar.gz +md5 c8725a92b9169708b0f63036812070f2 Dist-CheckConflicts-0.11.tar.gz +sha256 ea844b9686c94d666d9d444321d764490b2cde2f985c4165b4c2c77665caedc4 Dist-CheckConflicts-0.11.tar.gz # computed by scancpan -sha256 b4e0637ed96008ddcbf7e0ddeb73967df3d0b4dc62a6b7fdb86eac37018cb12e LICENSE +sha256 b4e0637ed96008ddcbf7e0ddeb73967df3d0b4dc62a6b7fdb86eac37018cb12e LICENSE diff --git a/package/perl-encode-detect/perl-encode-detect.hash b/package/perl-encode-detect/perl-encode-detect.hash index 1893f1db9..a478f62d3 100644 --- a/package/perl-encode-detect/perl-encode-detect.hash +++ b/package/perl-encode-detect/perl-encode-detect.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 ee9faf55d7105c97b02b8ebe590819c7 Encode-Detect-1.01.tar.gz -sha256 834d893aa7db6ce3f158afbd0e432d6ed15a276e0940db0a74be13fd9c4bbbf1 Encode-Detect-1.01.tar.gz +md5 ee9faf55d7105c97b02b8ebe590819c7 Encode-Detect-1.01.tar.gz +sha256 834d893aa7db6ce3f158afbd0e432d6ed15a276e0940db0a74be13fd9c4bbbf1 Encode-Detect-1.01.tar.gz # computed by scancpan -sha256 53692a2ed6c6a2c6ec9b32dd0b820dfae91e0a1fcdf625ca9ed0bdf8705fcc4f LICENSE +sha256 53692a2ed6c6a2c6ec9b32dd0b820dfae91e0a1fcdf625ca9ed0bdf8705fcc4f LICENSE diff --git a/package/perl-encode-locale/perl-encode-locale.hash b/package/perl-encode-locale/perl-encode-locale.hash index 258eb295a..844274242 100644 --- a/package/perl-encode-locale/perl-encode-locale.hash +++ b/package/perl-encode-locale/perl-encode-locale.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 fcfdb8e4ee34bcf62aed429b4a23db27 Encode-Locale-1.05.tar.gz -sha256 176fa02771f542a4efb1dbc2a4c928e8f4391bf4078473bd6040d8f11adb0ec1 Encode-Locale-1.05.tar.gz +md5 fcfdb8e4ee34bcf62aed429b4a23db27 Encode-Locale-1.05.tar.gz +sha256 176fa02771f542a4efb1dbc2a4c928e8f4391bf4078473bd6040d8f11adb0ec1 Encode-Locale-1.05.tar.gz # computed by scancpan -sha256 edfeacafbed5a0f2c4a2a3db3fb0274a7f210768d01c853c60b7feac841c83c8 README +sha256 edfeacafbed5a0f2c4a2a3db3fb0274a7f210768d01c853c60b7feac841c83c8 README diff --git a/package/perl-extutils-config/perl-extutils-config.hash b/package/perl-extutils-config/perl-extutils-config.hash index 518de8418..f4a4b18fc 100644 --- a/package/perl-extutils-config/perl-extutils-config.hash +++ b/package/perl-extutils-config/perl-extutils-config.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 565a7b09c7cac5907a25bbe2c959a717 ExtUtils-Config-0.008.tar.gz -sha256 ae5104f634650dce8a79b7ed13fb59d67a39c213a6776cfdaa3ee749e62f1a8c ExtUtils-Config-0.008.tar.gz +md5 565a7b09c7cac5907a25bbe2c959a717 ExtUtils-Config-0.008.tar.gz +sha256 ae5104f634650dce8a79b7ed13fb59d67a39c213a6776cfdaa3ee749e62f1a8c ExtUtils-Config-0.008.tar.gz # computed by scancpan -sha256 33b39fda54675d4d681764049e27b537cac12213aa6650667abea43662264ddc LICENSE +sha256 33b39fda54675d4d681764049e27b537cac12213aa6650667abea43662264ddc LICENSE diff --git a/package/perl-extutils-helpers/perl-extutils-helpers.hash b/package/perl-extutils-helpers/perl-extutils-helpers.hash index 2d291901e..3f80a96e6 100644 --- a/package/perl-extutils-helpers/perl-extutils-helpers.hash +++ b/package/perl-extutils-helpers/perl-extutils-helpers.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 83b00c1e401321c425ae5db6b2b2fd12 ExtUtils-Helpers-0.026.tar.gz -sha256 de901b6790a4557cf4ec908149e035783b125bf115eb9640feb1bc1c24c33416 ExtUtils-Helpers-0.026.tar.gz +md5 83b00c1e401321c425ae5db6b2b2fd12 ExtUtils-Helpers-0.026.tar.gz +sha256 de901b6790a4557cf4ec908149e035783b125bf115eb9640feb1bc1c24c33416 ExtUtils-Helpers-0.026.tar.gz # computed by scancpan -sha256 e5530d0ebc8662df3a970644d867faf12760b1a95ca6e2bf1c5f9af410a418e0 LICENSE +sha256 e5530d0ebc8662df3a970644d867faf12760b1a95ca6e2bf1c5f9af410a418e0 LICENSE diff --git a/package/perl-extutils-installpaths/perl-extutils-installpaths.hash b/package/perl-extutils-installpaths/perl-extutils-installpaths.hash index 2627a27d5..199706044 100644 --- a/package/perl-extutils-installpaths/perl-extutils-installpaths.hash +++ b/package/perl-extutils-installpaths/perl-extutils-installpaths.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 9a8d66aab1ffec98ea260faf03ac612b ExtUtils-InstallPaths-0.012.tar.gz -sha256 84735e3037bab1fdffa3c2508567ad412a785c91599db3c12593a50a1dd434ed ExtUtils-InstallPaths-0.012.tar.gz +md5 9a8d66aab1ffec98ea260faf03ac612b ExtUtils-InstallPaths-0.012.tar.gz +sha256 84735e3037bab1fdffa3c2508567ad412a785c91599db3c12593a50a1dd434ed ExtUtils-InstallPaths-0.012.tar.gz # computed by scancpan -sha256 b95d38ac031587625625d92fbd2ee1d5df0d02606057d680e7dcf3598fe629f9 LICENSE +sha256 b95d38ac031587625625d92fbd2ee1d5df0d02606057d680e7dcf3598fe629f9 LICENSE diff --git a/package/perl-file-sharedir-install/perl-file-sharedir-install.hash b/package/perl-file-sharedir-install/perl-file-sharedir-install.hash index abbab34e9..b462d8e68 100644 --- a/package/perl-file-sharedir-install/perl-file-sharedir-install.hash +++ b/package/perl-file-sharedir-install/perl-file-sharedir-install.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 5eabd44a5d7d84bf2e8e502491226287 File-ShareDir-Install-0.13.tar.gz -sha256 45befdf0d95cbefe7c25a1daf293d85f780d6d2576146546e6828aad26e580f9 File-ShareDir-Install-0.13.tar.gz +md5 5eabd44a5d7d84bf2e8e502491226287 File-ShareDir-Install-0.13.tar.gz +sha256 45befdf0d95cbefe7c25a1daf293d85f780d6d2576146546e6828aad26e580f9 File-ShareDir-Install-0.13.tar.gz # computed by scancpan -sha256 c207ca1c71c16a443d875a78d8aeccfbe550da502cd7fda24819548afb04fb5c LICENSE +sha256 c207ca1c71c16a443d875a78d8aeccfbe550da502cd7fda24819548afb04fb5c LICENSE diff --git a/package/perl-filesys-notify-simple/perl-filesys-notify-simple.hash b/package/perl-filesys-notify-simple/perl-filesys-notify-simple.hash index 87d365d6c..eb4a53bf8 100644 --- a/package/perl-filesys-notify-simple/perl-filesys-notify-simple.hash +++ b/package/perl-filesys-notify-simple/perl-filesys-notify-simple.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 4a3ca3098b2455346fe24a66c94d2151 Filesys-Notify-Simple-0.14.tar.gz -sha256 1fda712d4ba5e1868159ed35f6f8efbfae9d435d6376f5606d533bcb080555a4 Filesys-Notify-Simple-0.14.tar.gz +md5 4a3ca3098b2455346fe24a66c94d2151 Filesys-Notify-Simple-0.14.tar.gz +sha256 1fda712d4ba5e1868159ed35f6f8efbfae9d435d6376f5606d533bcb080555a4 Filesys-Notify-Simple-0.14.tar.gz # computed by scancpan -sha256 9a5cceb9fdb0064b57eeca0e7ad2af1e57eff51320a13083fc22930d2a190ed7 LICENSE +sha256 9a5cceb9fdb0064b57eeca0e7ad2af1e57eff51320a13083fc22930d2a190ed7 LICENSE diff --git a/package/perl-gdgraph/perl-gdgraph.hash b/package/perl-gdgraph/perl-gdgraph.hash index c0b195eb2..b2ad4ecc3 100644 --- a/package/perl-gdgraph/perl-gdgraph.hash +++ b/package/perl-gdgraph/perl-gdgraph.hash @@ -1,7 +1,7 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 38c6a188519e6272e9b2b722b315c3d8 GDGraph-1.54.tar.gz -sha256 b96f5c10b656c17d16ab65a1777c908297b028d3b6815f6d54b2337f006bfa4f GDGraph-1.54.tar.gz +md5 38c6a188519e6272e9b2b722b315c3d8 GDGraph-1.54.tar.gz +sha256 b96f5c10b656c17d16ab65a1777c908297b028d3b6815f6d54b2337f006bfa4f GDGraph-1.54.tar.gz # Hash for license files -sha256 710484e3a1196664bbe8a5ad5d53c528e01226eb20e2885a4e1131eb6c6565cd Dustismo.LICENSE -sha256 f44630ad9101e40a101d906a07908c975a9b0742273cfb0c00a51d73afb53e7d README +sha256 710484e3a1196664bbe8a5ad5d53c528e01226eb20e2885a4e1131eb6c6565cd Dustismo.LICENSE +sha256 f44630ad9101e40a101d906a07908c975a9b0742273cfb0c00a51d73afb53e7d README diff --git a/package/perl-gdtextutil/perl-gdtextutil.hash b/package/perl-gdtextutil/perl-gdtextutil.hash index add0717f1..7f336038a 100644 --- a/package/perl-gdtextutil/perl-gdtextutil.hash +++ b/package/perl-gdtextutil/perl-gdtextutil.hash @@ -1,7 +1,7 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 941ad06eadc86b47f3a32da405665c41 GDTextUtil-0.86.tar.gz -sha256 886ecbf85cfe94f4135ee5689c4847a9ae783ecb99e6759e12c734f2dd6116bc GDTextUtil-0.86.tar.gz +md5 941ad06eadc86b47f3a32da405665c41 GDTextUtil-0.86.tar.gz +sha256 886ecbf85cfe94f4135ee5689c4847a9ae783ecb99e6759e12c734f2dd6116bc GDTextUtil-0.86.tar.gz # Hash for license files -sha256 710484e3a1196664bbe8a5ad5d53c528e01226eb20e2885a4e1131eb6c6565cd Dustismo.LICENSE -sha256 93ca7dd7f372c79e8ec1f849f2a418a67d195e4027c1b3e3dd8444fb30f3e97c README +sha256 710484e3a1196664bbe8a5ad5d53c528e01226eb20e2885a4e1131eb6c6565cd Dustismo.LICENSE +sha256 93ca7dd7f372c79e8ec1f849f2a418a67d195e4027c1b3e3dd8444fb30f3e97c README diff --git a/package/perl-hash-multivalue/perl-hash-multivalue.hash b/package/perl-hash-multivalue/perl-hash-multivalue.hash index 3a6865069..a59225074 100644 --- a/package/perl-hash-multivalue/perl-hash-multivalue.hash +++ b/package/perl-hash-multivalue/perl-hash-multivalue.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 508015312eb08cd2bcea987c4efbb93d Hash-MultiValue-0.16.tar.gz -sha256 66181df7aa68e2786faf6895c88b18b95c800a8e4e6fb4c07fd176410a3c73f4 Hash-MultiValue-0.16.tar.gz +md5 508015312eb08cd2bcea987c4efbb93d Hash-MultiValue-0.16.tar.gz +sha256 66181df7aa68e2786faf6895c88b18b95c800a8e4e6fb4c07fd176410a3c73f4 Hash-MultiValue-0.16.tar.gz # computed by scancpan -sha256 af32512e13f6722dab770b989c57556a5e3d29a49b22b8ad5668064db8592401 LICENSE +sha256 af32512e13f6722dab770b989c57556a5e3d29a49b22b8ad5668064db8592401 LICENSE diff --git a/package/perl-html-tagset/perl-html-tagset.hash b/package/perl-html-tagset/perl-html-tagset.hash index 9569ece66..648f75f64 100644 --- a/package/perl-html-tagset/perl-html-tagset.hash +++ b/package/perl-html-tagset/perl-html-tagset.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 d2bfa18fe1904df7f683e96611e87437 HTML-Tagset-3.20.tar.gz -sha256 adb17dac9e36cd011f5243881c9739417fd102fce760f8de4e9be4c7131108e2 HTML-Tagset-3.20.tar.gz +md5 d2bfa18fe1904df7f683e96611e87437 HTML-Tagset-3.20.tar.gz +sha256 adb17dac9e36cd011f5243881c9739417fd102fce760f8de4e9be4c7131108e2 HTML-Tagset-3.20.tar.gz # computed by scancpan -sha256 275cc182d78ac2db6856442c5d334c925350fb56fe83ee3577f5850317423419 README +sha256 275cc182d78ac2db6856442c5d334c925350fb56fe83ee3577f5850317423419 README diff --git a/package/perl-http-date/perl-http-date.hash b/package/perl-http-date/perl-http-date.hash index 7c1fa5b9c..b27842300 100644 --- a/package/perl-http-date/perl-http-date.hash +++ b/package/perl-http-date/perl-http-date.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 2ecbb3aedf6aef062605191813ca3027 HTTP-Date-6.05.tar.gz -sha256 365d6294dfbd37ebc51def8b65b81eb79b3934ecbc95a2ec2d4d827efe6a922b HTTP-Date-6.05.tar.gz +md5 2ecbb3aedf6aef062605191813ca3027 HTTP-Date-6.05.tar.gz +sha256 365d6294dfbd37ebc51def8b65b81eb79b3934ecbc95a2ec2d4d827efe6a922b HTTP-Date-6.05.tar.gz # computed by scancpan -sha256 305b71c4d2fd6380585689c5f1c620737a36a318ce0f9c772badce0fe293a44e LICENSE +sha256 305b71c4d2fd6380585689c5f1c620737a36a318ce0f9c772badce0fe293a44e LICENSE diff --git a/package/perl-http-headers-fast/perl-http-headers-fast.hash b/package/perl-http-headers-fast/perl-http-headers-fast.hash index 9282f2ef1..484067f43 100644 --- a/package/perl-http-headers-fast/perl-http-headers-fast.hash +++ b/package/perl-http-headers-fast/perl-http-headers-fast.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 a166a4d0ba47eca8ff9dffb760865f5f HTTP-Headers-Fast-0.22.tar.gz -sha256 cc431db68496dd884db4bc0c0b7112c1f4a4f1dc68c4f5a3caa757a1e7481b48 HTTP-Headers-Fast-0.22.tar.gz +md5 a166a4d0ba47eca8ff9dffb760865f5f HTTP-Headers-Fast-0.22.tar.gz +sha256 cc431db68496dd884db4bc0c0b7112c1f4a4f1dc68c4f5a3caa757a1e7481b48 HTTP-Headers-Fast-0.22.tar.gz # computed by scancpan -sha256 511724425acf76d736145cfbf7c775b024c70ae8674ebf9a24dfda2c8e4032a3 LICENSE +sha256 511724425acf76d736145cfbf7c775b024c70ae8674ebf9a24dfda2c8e4032a3 LICENSE diff --git a/package/perl-http-multipartparser/perl-http-multipartparser.hash b/package/perl-http-multipartparser/perl-http-multipartparser.hash index 079c02f60..8d0cf39b4 100644 --- a/package/perl-http-multipartparser/perl-http-multipartparser.hash +++ b/package/perl-http-multipartparser/perl-http-multipartparser.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 1b07ebac54ce3288c044a23ba60196d2 HTTP-MultiPartParser-0.02.tar.gz -sha256 5eddda159f54d16f868e032440ac2b024e55aac48931871b62627f1a16d00b12 HTTP-MultiPartParser-0.02.tar.gz +md5 1b07ebac54ce3288c044a23ba60196d2 HTTP-MultiPartParser-0.02.tar.gz +sha256 5eddda159f54d16f868e032440ac2b024e55aac48931871b62627f1a16d00b12 HTTP-MultiPartParser-0.02.tar.gz # computed by scancpan -sha256 a339d6cf9253720ba69b311423556cc02c94d5a6f76cf5cdf11af2112e14a074 README +sha256 a339d6cf9253720ba69b311423556cc02c94d5a6f76cf5cdf11af2112e14a074 README diff --git a/package/perl-http-negotiate/perl-http-negotiate.hash b/package/perl-http-negotiate/perl-http-negotiate.hash index e561496f2..9b2cf308e 100644 --- a/package/perl-http-negotiate/perl-http-negotiate.hash +++ b/package/perl-http-negotiate/perl-http-negotiate.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 1236195250e264d7436e7bb02031671b HTTP-Negotiate-6.01.tar.gz -sha256 1c729c1ea63100e878405cda7d66f9adfd3ed4f1d6cacaca0ee9152df728e016 HTTP-Negotiate-6.01.tar.gz +md5 1236195250e264d7436e7bb02031671b HTTP-Negotiate-6.01.tar.gz +sha256 1c729c1ea63100e878405cda7d66f9adfd3ed4f1d6cacaca0ee9152df728e016 HTTP-Negotiate-6.01.tar.gz # computed by scancpan -sha256 7a2114bb46279309f8a67e359ab0a578a4e9a7c7add0d1725de46b44f6da6514 README +sha256 7a2114bb46279309f8a67e359ab0a578a4e9a7c7add0d1725de46b44f6da6514 README diff --git a/package/perl-i18n/perl-i18n.hash b/package/perl-i18n/perl-i18n.hash index f6ef8931a..3e2b59378 100644 --- a/package/perl-i18n/perl-i18n.hash +++ b/package/perl-i18n/perl-i18n.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 4c3004474d6ff3554f82b52f92b3b1e1 i18n-0.13.tar.gz -sha256 2dbc3e4e25b41578cd83508fe011209e8f3c2b259fa4b5b6eafaac0d6ce4b457 i18n-0.13.tar.gz +md5 4c3004474d6ff3554f82b52f92b3b1e1 i18n-0.13.tar.gz +sha256 2dbc3e4e25b41578cd83508fe011209e8f3c2b259fa4b5b6eafaac0d6ce4b457 i18n-0.13.tar.gz # computed by scancpan -sha256 4755e5f2096e8ef0494f1565bf5a028a8fb4eeb5c1250e7d30948d1ed13c5ad7 README +sha256 4755e5f2096e8ef0494f1565bf5a028a8fb4eeb5c1250e7d30948d1ed13c5ad7 README diff --git a/package/perl-io-interface/perl-io-interface.hash b/package/perl-io-interface/perl-io-interface.hash index 75e572f91..b5d990860 100644 --- a/package/perl-io-interface/perl-io-interface.hash +++ b/package/perl-io-interface/perl-io-interface.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 806f97aff5a7361b6f54cd494f4cc9fd IO-Interface-1.09.tar.gz -sha256 e63e81c52eb1e0e60ec2d983f5552d2493e117179925c96757f23c4bd9fa713a IO-Interface-1.09.tar.gz +md5 806f97aff5a7361b6f54cd494f4cc9fd IO-Interface-1.09.tar.gz +sha256 e63e81c52eb1e0e60ec2d983f5552d2493e117179925c96757f23c4bd9fa713a IO-Interface-1.09.tar.gz # computed by scancpan -sha256 b5a5bf59bd1be13f7f498e5aa2ea5c0c603c04a095dcf03a06aa5b83bbccf921 LICENSE +sha256 b5a5bf59bd1be13f7f498e5aa2ea5c0c603c04a095dcf03a06aa5b83bbccf921 LICENSE diff --git a/package/perl-io-socket-multicast/perl-io-socket-multicast.hash b/package/perl-io-socket-multicast/perl-io-socket-multicast.hash index c12da12c4..a8f2a3369 100644 --- a/package/perl-io-socket-multicast/perl-io-socket-multicast.hash +++ b/package/perl-io-socket-multicast/perl-io-socket-multicast.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 c96e6cbb367b1d11ffe7bb9fbd833540 IO-Socket-Multicast-1.12.tar.gz -sha256 70e8af4aa21d19bab5edd9f43a6b3d6277748a65145d46ff0ea2ae4c59495c72 IO-Socket-Multicast-1.12.tar.gz +md5 c96e6cbb367b1d11ffe7bb9fbd833540 IO-Socket-Multicast-1.12.tar.gz +sha256 70e8af4aa21d19bab5edd9f43a6b3d6277748a65145d46ff0ea2ae4c59495c72 IO-Socket-Multicast-1.12.tar.gz # computed by scancpan -sha256 ea33bda0e2ec6734e29895a37cd1fc005d86f2abbe7e9943e0213ae64844a697 README +sha256 ea33bda0e2ec6734e29895a37cd1fc005d86f2abbe7e9943e0213ae64844a697 README diff --git a/package/perl-json-tiny/perl-json-tiny.hash b/package/perl-json-tiny/perl-json-tiny.hash index 48fae2b0c..ba7c5b3b5 100644 --- a/package/perl-json-tiny/perl-json-tiny.hash +++ b/package/perl-json-tiny/perl-json-tiny.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 aa006882222e17a94295b3a655aab91b JSON-Tiny-0.58.tar.gz -sha256 ad42e9137f5148df7fdb22aa52186b306032977bcd70d49f44a288070e4f0f23 JSON-Tiny-0.58.tar.gz +md5 aa006882222e17a94295b3a655aab91b JSON-Tiny-0.58.tar.gz +sha256 ad42e9137f5148df7fdb22aa52186b306032977bcd70d49f44a288070e4f0f23 JSON-Tiny-0.58.tar.gz # computed by scancpan -sha256 19e2e0f2079ea1ce1576eb4ecc0575b33fe45b2b8e71f4aa589d6bedd1da4e0a LICENSE +sha256 19e2e0f2079ea1ce1576eb4ecc0575b33fe45b2b8e71f4aa589d6bedd1da4e0a LICENSE diff --git a/package/perl-locale-maketext-lexicon/perl-locale-maketext-lexicon.hash b/package/perl-locale-maketext-lexicon/perl-locale-maketext-lexicon.hash index 683e8c7d1..fbbf3355b 100644 --- a/package/perl-locale-maketext-lexicon/perl-locale-maketext-lexicon.hash +++ b/package/perl-locale-maketext-lexicon/perl-locale-maketext-lexicon.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 51acf0cb00cc01a2c8f560d74dd6c593 Locale-Maketext-Lexicon-1.00.tar.gz -sha256 b73f6b04a58d3f0e38ebf2115a4c1532f1a4eef6fac5c6a2a449e4e14c1ddc7c Locale-Maketext-Lexicon-1.00.tar.gz +md5 51acf0cb00cc01a2c8f560d74dd6c593 Locale-Maketext-Lexicon-1.00.tar.gz +sha256 b73f6b04a58d3f0e38ebf2115a4c1532f1a4eef6fac5c6a2a449e4e14c1ddc7c Locale-Maketext-Lexicon-1.00.tar.gz # computed by scancpan -sha256 af693c8c99bee68656f09328c97d50b24eb742ae4473f57cdafaa90691807fbe LICENSE +sha256 af693c8c99bee68656f09328c97d50b24eb742ae4473f57cdafaa90691807fbe LICENSE diff --git a/package/perl-lwp-mediatypes/perl-lwp-mediatypes.hash b/package/perl-lwp-mediatypes/perl-lwp-mediatypes.hash index e125c0d57..0a09f22ad 100644 --- a/package/perl-lwp-mediatypes/perl-lwp-mediatypes.hash +++ b/package/perl-lwp-mediatypes/perl-lwp-mediatypes.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 84b799a90c0d2ce52897a7cb4c0478d0 LWP-MediaTypes-6.04.tar.gz -sha256 8f1bca12dab16a1c2a7c03a49c5e58cce41a6fec9519f0aadfba8dad997919d9 LWP-MediaTypes-6.04.tar.gz +md5 84b799a90c0d2ce52897a7cb4c0478d0 LWP-MediaTypes-6.04.tar.gz +sha256 8f1bca12dab16a1c2a7c03a49c5e58cce41a6fec9519f0aadfba8dad997919d9 LWP-MediaTypes-6.04.tar.gz # computed by scancpan -sha256 e84ac5ab84ace59952d2640e0ca4522eb0aaa8c2aa696352d1252aa109ea20bc LICENSE +sha256 e84ac5ab84ace59952d2640e0ca4522eb0aaa8c2aa696352d1252aa109ea20bc LICENSE diff --git a/package/perl-mailtools/perl-mailtools.hash b/package/perl-mailtools/perl-mailtools.hash index bf8b17a5b..317e020ac 100644 --- a/package/perl-mailtools/perl-mailtools.hash +++ b/package/perl-mailtools/perl-mailtools.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 69ee516d40011e7e92b77c6f06c0dc01 MailTools-2.21.tar.gz -sha256 4ad9bd6826b6f03a2727332466b1b7d29890c8d99a32b4b3b0a8d926ee1a44cb MailTools-2.21.tar.gz +md5 69ee516d40011e7e92b77c6f06c0dc01 MailTools-2.21.tar.gz +sha256 4ad9bd6826b6f03a2727332466b1b7d29890c8d99a32b4b3b0a8d926ee1a44cb MailTools-2.21.tar.gz # computed by scancpan -sha256 f7558badc4f4875df247bcccb50a8f369bfe4a2c19361f1df7b26ddf6aaaaf6b README +sha256 f7558badc4f4875df247bcccb50a8f369bfe4a2c19361f1df7b26ddf6aaaaf6b README diff --git a/package/perl-math-prime-util/perl-math-prime-util.hash b/package/perl-math-prime-util/perl-math-prime-util.hash index 789f3a35f..e28cfe542 100644 --- a/package/perl-math-prime-util/perl-math-prime-util.hash +++ b/package/perl-math-prime-util/perl-math-prime-util.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 26496630990db586dfede6551de79cbe Math-Prime-Util-0.73.tar.gz -sha256 4afa6dd8cdb97499bd4eca6925861812c29d9f5a0f1ac27ad9d2d9c9b5602894 Math-Prime-Util-0.73.tar.gz +md5 26496630990db586dfede6551de79cbe Math-Prime-Util-0.73.tar.gz +sha256 4afa6dd8cdb97499bd4eca6925861812c29d9f5a0f1ac27ad9d2d9c9b5602894 Math-Prime-Util-0.73.tar.gz # computed by scancpan -sha256 475b5f12062de0e197fb8cfa44eef3b032342d097752868e72c1239fe52a8942 LICENSE +sha256 475b5f12062de0e197fb8cfa44eef3b032342d097752868e72c1239fe52a8942 LICENSE diff --git a/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.hash b/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.hash index c6d01afe3..52b6706ff 100644 --- a/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.hash +++ b/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 eccf42cc7e9576dd23b9f39ad59c9b62 MIME-Base64-URLSafe-0.01.tar.gz -sha256 cb9966c50538bb676ab67bc40a7c841019b23ba2243d0ffcc2ccf084e5c33798 MIME-Base64-URLSafe-0.01.tar.gz +md5 eccf42cc7e9576dd23b9f39ad59c9b62 MIME-Base64-URLSafe-0.01.tar.gz +sha256 cb9966c50538bb676ab67bc40a7c841019b23ba2243d0ffcc2ccf084e5c33798 MIME-Base64-URLSafe-0.01.tar.gz # computed by scancpan -sha256 2fffac76f75709b6d94111a37f6cd8cab21e8f2b2de73b0b4fa53a5bed4efc15 README +sha256 2fffac76f75709b6d94111a37f6cd8cab21e8f2b2de73b0b4fa53a5bed4efc15 README diff --git a/package/perl-mime-tools/perl-mime-tools.hash b/package/perl-mime-tools/perl-mime-tools.hash index 41e13eb0b..f67fe6154 100644 --- a/package/perl-mime-tools/perl-mime-tools.hash +++ b/package/perl-mime-tools/perl-mime-tools.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 a2f0e07da2ff4b0478908544cc4b40fa MIME-tools-5.509.tar.gz -sha256 64579f0c923d81d9a2194586e47c3475519e2646e4b5c102a8920759facf6973 MIME-tools-5.509.tar.gz +md5 a2f0e07da2ff4b0478908544cc4b40fa MIME-tools-5.509.tar.gz +sha256 64579f0c923d81d9a2194586e47c3475519e2646e4b5c102a8920759facf6973 MIME-tools-5.509.tar.gz # computed by scancpan -sha256 151cd94e37eb05239c5a678c7d1c4d9d5241a7c9c138760b85152bc1947e2b93 COPYING +sha256 151cd94e37eb05239c5a678c7d1c4d9d5241a7c9c138760b85152bc1947e2b93 COPYING diff --git a/package/perl-module-build-tiny/perl-module-build-tiny.hash b/package/perl-module-build-tiny/perl-module-build-tiny.hash index 357c238dd..7f03f96c1 100644 --- a/package/perl-module-build-tiny/perl-module-build-tiny.hash +++ b/package/perl-module-build-tiny/perl-module-build-tiny.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 2332c90c17454107fea3f2614e11a3a9 Module-Build-Tiny-0.039.tar.gz -sha256 7d580ff6ace0cbe555bf36b86dc8ea232581530cbeaaea09bccb57b55797f11c Module-Build-Tiny-0.039.tar.gz +md5 2332c90c17454107fea3f2614e11a3a9 Module-Build-Tiny-0.039.tar.gz +sha256 7d580ff6ace0cbe555bf36b86dc8ea232581530cbeaaea09bccb57b55797f11c Module-Build-Tiny-0.039.tar.gz # computed by scancpan -sha256 09fd2bc0428920c455f10c5a6c52e2bb4615114e88966c75ce27a07af028c36b LICENSE +sha256 09fd2bc0428920c455f10c5a6c52e2bb4615114e88966c75ce27a07af028c36b LICENSE diff --git a/package/perl-module-build/perl-module-build.hash b/package/perl-module-build/perl-module-build.hash index aad0b78e3..09bc5f374 100644 --- a/package/perl-module-build/perl-module-build.hash +++ b/package/perl-module-build/perl-module-build.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 066b193e461d7dfe1eca17a139353001 Module-Build-0.4231.tar.gz -sha256 7e0f4c692c1740c1ac84ea14d7ea3d8bc798b2fb26c09877229e04f430b2b717 Module-Build-0.4231.tar.gz +md5 066b193e461d7dfe1eca17a139353001 Module-Build-0.4231.tar.gz +sha256 7e0f4c692c1740c1ac84ea14d7ea3d8bc798b2fb26c09877229e04f430b2b717 Module-Build-0.4231.tar.gz # computed by scancpan -sha256 f35ac2cc6b808a38c42c2d230b875217b0a24bb51e5a497ebb630cbb3d806c3e LICENSE +sha256 f35ac2cc6b808a38c42c2d230b875217b0a24bb51e5a497ebb630cbb3d806c3e LICENSE diff --git a/package/perl-module-implementation/perl-module-implementation.hash b/package/perl-module-implementation/perl-module-implementation.hash index caf365c02..4e5ebd1dc 100644 --- a/package/perl-module-implementation/perl-module-implementation.hash +++ b/package/perl-module-implementation/perl-module-implementation.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 52e3fe0ca6b1eff0488d59b7aacc0667 Module-Implementation-0.09.tar.gz -sha256 c15f1a12f0c2130c9efff3c2e1afe5887b08ccd033bd132186d1e7d5087fd66d Module-Implementation-0.09.tar.gz +md5 52e3fe0ca6b1eff0488d59b7aacc0667 Module-Implementation-0.09.tar.gz +sha256 c15f1a12f0c2130c9efff3c2e1afe5887b08ccd033bd132186d1e7d5087fd66d Module-Implementation-0.09.tar.gz # computed by scancpan -sha256 dd34e4dbcadfaa3db992201873e1cbb4b4f4c18e9bf000821d5c768e66d7ff0b LICENSE +sha256 dd34e4dbcadfaa3db992201873e1cbb4b4f4c18e9bf000821d5c768e66d7ff0b LICENSE diff --git a/package/perl-module-runtime/perl-module-runtime.hash b/package/perl-module-runtime/perl-module-runtime.hash index c52cb7550..c87963bfb 100644 --- a/package/perl-module-runtime/perl-module-runtime.hash +++ b/package/perl-module-runtime/perl-module-runtime.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 d3d47222fa2e3dfcb4526f6cc8437b20 Module-Runtime-0.016.tar.gz -sha256 68302ec646833547d410be28e09676db75006f4aa58a11f3bdb44ffe99f0f024 Module-Runtime-0.016.tar.gz +md5 d3d47222fa2e3dfcb4526f6cc8437b20 Module-Runtime-0.016.tar.gz +sha256 68302ec646833547d410be28e09676db75006f4aa58a11f3bdb44ffe99f0f024 Module-Runtime-0.016.tar.gz # computed by scancpan -sha256 ad1761020436687e8493208336ef53e84589fdba212da59b05b8111cca75ddc1 README +sha256 ad1761020436687e8493208336ef53e84589fdba212da59b05b8111cca75ddc1 README diff --git a/package/perl-mojolicious-plugin-cspheader/perl-mojolicious-plugin-cspheader.hash b/package/perl-mojolicious-plugin-cspheader/perl-mojolicious-plugin-cspheader.hash index d0f9dc3ab..a0b0174fe 100644 --- a/package/perl-mojolicious-plugin-cspheader/perl-mojolicious-plugin-cspheader.hash +++ b/package/perl-mojolicious-plugin-cspheader/perl-mojolicious-plugin-cspheader.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 3d1b01c393e7ed576e4b503d26a88a3e Mojolicious-Plugin-CSPHeader-0.06.tar.gz -sha256 0523a170af6620dab5b746725f171a138b6cff3d2d84e1a30af891741550f4a7 Mojolicious-Plugin-CSPHeader-0.06.tar.gz +md5 3d1b01c393e7ed576e4b503d26a88a3e Mojolicious-Plugin-CSPHeader-0.06.tar.gz +sha256 0523a170af6620dab5b746725f171a138b6cff3d2d84e1a30af891741550f4a7 Mojolicious-Plugin-CSPHeader-0.06.tar.gz # computed by scancpan -sha256 4bb36edd2bcafef11ca615f69607953a31ee05ae172b69990aee317e95653456 LICENSE +sha256 4bb36edd2bcafef11ca615f69607953a31ee05ae172b69990aee317e95653456 LICENSE diff --git a/package/perl-mojolicious-plugin-i18n/perl-mojolicious-plugin-i18n.hash b/package/perl-mojolicious-plugin-i18n/perl-mojolicious-plugin-i18n.hash index ed4bc2074..93a23b010 100644 --- a/package/perl-mojolicious-plugin-i18n/perl-mojolicious-plugin-i18n.hash +++ b/package/perl-mojolicious-plugin-i18n/perl-mojolicious-plugin-i18n.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 4002f7a7da4c90973ad6eedfb0fcfa16 Mojolicious-Plugin-I18N-1.6.tar.gz -sha256 32fb5ef8037d954b7ecebef5c1b2b24b420abd829702312f4ad42794f52b514d Mojolicious-Plugin-I18N-1.6.tar.gz +md5 4002f7a7da4c90973ad6eedfb0fcfa16 Mojolicious-Plugin-I18N-1.6.tar.gz +sha256 32fb5ef8037d954b7ecebef5c1b2b24b420abd829702312f4ad42794f52b514d Mojolicious-Plugin-I18N-1.6.tar.gz # manually computed -sha256 82b05028033057b388b0040a3b5590a1c51168fe3b9899bffdb5ef7962c4eb47 README.pod +sha256 82b05028033057b388b0040a3b5590a1c51168fe3b9899bffdb5ef7962c4eb47 README.pod diff --git a/package/perl-mojolicious-plugin-securityheader/perl-mojolicious-plugin-securityheader.hash b/package/perl-mojolicious-plugin-securityheader/perl-mojolicious-plugin-securityheader.hash index b8a20bdd6..74dcd5228 100644 --- a/package/perl-mojolicious-plugin-securityheader/perl-mojolicious-plugin-securityheader.hash +++ b/package/perl-mojolicious-plugin-securityheader/perl-mojolicious-plugin-securityheader.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 38cf59258547ac866577db2d43632f30 Mojolicious-Plugin-SecurityHeader-0.07.tar.gz -sha256 940474eaf7a415e5117b004387862473612e079a413590db1eb9c85d17a6648f Mojolicious-Plugin-SecurityHeader-0.07.tar.gz +md5 38cf59258547ac866577db2d43632f30 Mojolicious-Plugin-SecurityHeader-0.07.tar.gz +sha256 940474eaf7a415e5117b004387862473612e079a413590db1eb9c85d17a6648f Mojolicious-Plugin-SecurityHeader-0.07.tar.gz # computed by scancpan -sha256 0c38e4629cc9eee869217d62ad765e581e54958596672046a62dfa4cfd87bb09 LICENSE +sha256 0c38e4629cc9eee869217d62ad765e581e54958596672046a62dfa4cfd87bb09 LICENSE diff --git a/package/perl-net-snmp/perl-net-snmp.hash b/package/perl-net-snmp/perl-net-snmp.hash index 0b162e6dc..74d860d9f 100644 --- a/package/perl-net-snmp/perl-net-snmp.hash +++ b/package/perl-net-snmp/perl-net-snmp.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 6137f04f9942d703f66179f890e3d096 Net-SNMP-v6.0.1.tar.gz -sha256 14c37bc1cbb3f3cdc7d6c13e0f27a859f14cdcfd5ea54a0467a88bc259b0b741 Net-SNMP-v6.0.1.tar.gz +md5 6137f04f9942d703f66179f890e3d096 Net-SNMP-v6.0.1.tar.gz +sha256 14c37bc1cbb3f3cdc7d6c13e0f27a859f14cdcfd5ea54a0467a88bc259b0b741 Net-SNMP-v6.0.1.tar.gz # computed by scancpan -sha256 a038159be54a2807dc48e2b946514d59fceab6737d5461d93d55297a98e6e24e LICENSE +sha256 a038159be54a2807dc48e2b946514d59fceab6737d5461d93d55297a98e6e24e LICENSE diff --git a/package/perl-net-ssleay/0001-fix-build-system.patch b/package/perl-net-ssleay/0001-fix-build-system.patch index a6cd0f9ce..a5ccf464b 100644 --- a/package/perl-net-ssleay/0001-fix-build-system.patch +++ b/package/perl-net-ssleay/0001-fix-build-system.patch @@ -8,29 +8,29 @@ paths, since they are missing the destdir; Buildroot compilers and linkers already know where to search, anyway. Signed-off-by: "Yann E. MORIN" +[Fabrice: update for 1.93_01] +Signed-off-by: Fabrice Fontaine diff -durN perl-net-ssleay-1.64.orig/inc/Module/Install/PRIVATE/Net/SSLeay.pm perl-net-ssleay-1.64/inc/Module/Install/PRIVATE/Net/SSLeay.pm ---- perl-net-ssleay-1.64.orig/inc/Module/Install/PRIVATE/Net/SSLeay.pm 2014-04-01 08:08:37.000000000 +0200 -+++ perl-net-ssleay-1.64/inc/Module/Install/PRIVATE/Net/SSLeay.pm 2014-07-13 00:38:46.281380282 +0200 -@@ -37,14 +37,18 @@ - exit 0; # according http://wiki.cpantesters.org/wiki/CPANAuthorNotes this is best-practice when "missing library" +--- perl-net-ssleay-1.64.orig/Makefile.PL 2014-04-01 08:08:37.000000000 +0200 ++++ perl-net-ssleay-1.64/Makefile.PL 2014-07-13 00:38:46.281380282 +0200 +@@ -192,12 +192,16 @@ + exit MISSING_PREREQ; } -- $self->check_openssl_version($prefix, $exec); +- check_openssl_version($prefix, $exec); +# Does not work for cross-compilation. +# In Buildroot, we do have a supported version. -+# $self->check_openssl_version($prefix, $exec); - my $opts = $self->ssleay_get_build_opts($prefix, $exec); - - $self->makemaker_args( ++# check_openssl_version($prefix, $exec); + my %args = ( CCCDLFLAGS => $opts->{cccdlflags}, OPTIMIZE => $opts->{optimize}, -- INC => join(' ', map {"-I$_"} @{$opts->{inc_paths}}), -- LIBS => join(' ', (map {"-L$_"} @{$opts->{lib_paths}}), (map {"-l$_"} @{$opts->{lib_links}})), +- INC => qq{-I"$opts->{inc_path}"}, +- LIBS => join(' ', (map '-L'.maybe_quote($_), @{$opts->{lib_paths}}), (map {"-l$_"} @{$opts->{lib_links}})), +# Buildroot already has the correct include and library search paths. -+# INC => join(' ', map {"-I$_"} @{$opts->{inc_paths}}), -+# LIBS => join(' ', (map {"-L$_"} @{$opts->{lib_paths}}), (map {"-l$_"} @{$opts->{lib_links}})), ++# INC => qq{-I"$opts->{inc_path}"}, ++# LIBS => join(' ', (map '-L'.maybe_quote($_), @{$opts->{lib_paths}}), (map {"-l$_"} @{$opts->{lib_links}})), + LIBS => join(' ', (map {"-l$_"} @{$opts->{lib_links}})), ); - - if ( $self->prompt( + # From HMBRAND to handle multple version of OPENSSL installed + if (my $lp = join " " => map '-L'.maybe_quote($_), @{$opts->{lib_paths} || []}) diff --git a/package/perl-net-ssleay/perl-net-ssleay.hash b/package/perl-net-ssleay/perl-net-ssleay.hash index 517b3c4da..9caff68ed 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 d602bdce4e0531c6efc276e3e429ca69 Net-SSLeay-1.85.tar.gz -sha256 9d8188b9fb1cae3bd791979c20554925d5e94a138d00414f1a6814549927b0c8 Net-SSLeay-1.85.tar.gz +md5 c73821e9790b3bdb3471d9b8faf48bbb Net-SSLeay-1.93_01.tar.gz +sha256 876d022fbc719631b11d6bb4b6e78db3c19bbca578093c376c8f9900a4432aa3 Net-SSLeay-1.93_01.tar.gz # computed by scancpan -sha256 b55065185a2172d9f2ea2dd87c18c206ea3dc45a64e5f3deb3eee34d839dc822 LICENSE +sha256 685e534b60d4e2b4fbb1a259a83b5a86e877a919bbb9efc95994276f706a3a71 LICENSE diff --git a/package/perl-net-ssleay/perl-net-ssleay.mk b/package/perl-net-ssleay/perl-net-ssleay.mk index 80ce8b9cc..8b7b2b973 100644 --- a/package/perl-net-ssleay/perl-net-ssleay.mk +++ b/package/perl-net-ssleay/perl-net-ssleay.mk @@ -4,11 +4,11 @@ # ################################################################################ -PERL_NET_SSLEAY_VERSION = 1.85 +PERL_NET_SSLEAY_VERSION = 1.93_01 PERL_NET_SSLEAY_SOURCE = Net-SSLeay-$(PERL_NET_SSLEAY_VERSION).tar.gz -PERL_NET_SSLEAY_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MI/MIKEM +PERL_NET_SSLEAY_SITE = $(BR2_CPAN_MIRROR)/authors/id/C/CH/CHRISN PERL_NET_SSLEAY_DEPENDENCIES = openssl -PERL_NET_SSLEAY_LICENSE = OpenSSL +PERL_NET_SSLEAY_LICENSE = Artistic-2.0 PERL_NET_SSLEAY_LICENSE_FILES = LICENSE PERL_NET_SSLEAY_DISTNAME = Net-SSLeay @@ -24,4 +24,11 @@ define PERL_NET_SSLEAY_FIX_MAKEFILE endef PERL_NET_SSLEAY_POST_CONFIGURE_HOOKS += PERL_NET_SSLEAY_FIX_MAKEFILE +ifeq ($(BR2_PACKAGE_LIBRESSL),y) +define PERL_NET_SSLEAY_DROP_ZLIB_MAKEFILE + $(SED) "s/-lz//" $(@D)/Makefile +endef +PERL_NET_SSLEAY_POST_CONFIGURE_HOOKS += PERL_NET_SSLEAY_DROP_ZLIB_MAKEFILE +endif + $(eval $(perl-package)) diff --git a/package/perl-netaddr-ip/perl-netaddr-ip.hash b/package/perl-netaddr-ip/perl-netaddr-ip.hash index ce0477d97..8912fc6ab 100644 --- a/package/perl-netaddr-ip/perl-netaddr-ip.hash +++ b/package/perl-netaddr-ip/perl-netaddr-ip.hash @@ -1,7 +1,7 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 990dfcbffae356835c536e8ab56a2880 NetAddr-IP-4.079.tar.gz -sha256 ec5a82dfb7028bcd28bb3d569f95d87dd4166cc19867f2184ed3a59f6d6ca0e7 NetAddr-IP-4.079.tar.gz +md5 990dfcbffae356835c536e8ab56a2880 NetAddr-IP-4.079.tar.gz +sha256 ec5a82dfb7028bcd28bb3d569f95d87dd4166cc19867f2184ed3a59f6d6ca0e7 NetAddr-IP-4.079.tar.gz # computed by scancpan -sha256 b7fd9b73ea99602016a326e0b62e6646060d18febdd065ceca8bb482208c3d88 Artistic -sha256 773a84089e32147cffef4c6fa127a14658c8c5866987d71d86f0fe22161780f4 Copying +sha256 b7fd9b73ea99602016a326e0b62e6646060d18febdd065ceca8bb482208c3d88 Artistic +sha256 773a84089e32147cffef4c6fa127a14658c8c5866987d71d86f0fe22161780f4 Copying diff --git a/package/perl-number-bytes-human/perl-number-bytes-human.hash b/package/perl-number-bytes-human/perl-number-bytes-human.hash index af7a6b65a..55bbf8f8b 100644 --- a/package/perl-number-bytes-human/perl-number-bytes-human.hash +++ b/package/perl-number-bytes-human/perl-number-bytes-human.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 43d2c86a55924aa71535a41de0311efd Number-Bytes-Human-0.11.tar.gz -sha256 5fc79c49b0b40df780479c43696381343e2b6ad1fe52859f60bc65b66ebe6f2c Number-Bytes-Human-0.11.tar.gz +md5 43d2c86a55924aa71535a41de0311efd Number-Bytes-Human-0.11.tar.gz +sha256 5fc79c49b0b40df780479c43696381343e2b6ad1fe52859f60bc65b66ebe6f2c Number-Bytes-Human-0.11.tar.gz # computed by scancpan -sha256 d42143fe4b63cb5d488d65a44e6c55769b098ea447462ff33316b33a837b7cf9 README +sha256 d42143fe4b63cb5d488d65a44e6c55769b098ea447462ff33316b33a837b7cf9 README diff --git a/package/perl-path-class/perl-path-class.hash b/package/perl-path-class/perl-path-class.hash index d2741dfca..96f8928fd 100644 --- a/package/perl-path-class/perl-path-class.hash +++ b/package/perl-path-class/perl-path-class.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 13e6db714f6d5a0e62ca1c4a7fc4d0f3 Path-Class-0.37.tar.gz -sha256 654781948602386f2cb2e4473a739f17dc6953d92aabc2498a4ca2561bc248ce Path-Class-0.37.tar.gz +md5 13e6db714f6d5a0e62ca1c4a7fc4d0f3 Path-Class-0.37.tar.gz +sha256 654781948602386f2cb2e4473a739f17dc6953d92aabc2498a4ca2561bc248ce Path-Class-0.37.tar.gz # computed by scancpan -sha256 636b5c82eabfe3d4cd86126db9502fd537d1442ad2c88c93dbe221e62b5f1710 LICENSE +sha256 636b5c82eabfe3d4cd86126db9502fd537d1442ad2c88c93dbe221e62b5f1710 LICENSE diff --git a/package/perl-stream-buffered/perl-stream-buffered.hash b/package/perl-stream-buffered/perl-stream-buffered.hash index a40955d8f..5de355558 100644 --- a/package/perl-stream-buffered/perl-stream-buffered.hash +++ b/package/perl-stream-buffered/perl-stream-buffered.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 b030fecaa784cd573289ae797c7aeae9 Stream-Buffered-0.03.tar.gz -sha256 9b2d4390b5de6b0cf4558e4ad04317a73c5e13dd19af29149c4e47c37fb2423b Stream-Buffered-0.03.tar.gz +md5 b030fecaa784cd573289ae797c7aeae9 Stream-Buffered-0.03.tar.gz +sha256 9b2d4390b5de6b0cf4558e4ad04317a73c5e13dd19af29149c4e47c37fb2423b Stream-Buffered-0.03.tar.gz # computed by scancpan -sha256 68e8c38e6d2f2b0570a908411f8321b80a7e35ea44f43729807c9ac9a025f591 LICENSE +sha256 68e8c38e6d2f2b0570a908411f8321b80a7e35ea44f43729807c9ac9a025f591 LICENSE diff --git a/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.hash b/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.hash index 6bd244164..bb74dd2f3 100644 --- a/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.hash +++ b/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 72cf6acdd2a0a8b105821a4db98e4ebe Sub-Exporter-Progressive-0.001013.tar.gz -sha256 d535b7954d64da1ac1305b1fadf98202769e3599376854b2ced90c382beac056 Sub-Exporter-Progressive-0.001013.tar.gz +md5 72cf6acdd2a0a8b105821a4db98e4ebe Sub-Exporter-Progressive-0.001013.tar.gz +sha256 d535b7954d64da1ac1305b1fadf98202769e3599376854b2ced90c382beac056 Sub-Exporter-Progressive-0.001013.tar.gz # computed by scancpan -sha256 24c38cba4218e6be62e511bffe21e63aa57335d8929034aa58e8a85eed001e99 LICENSE +sha256 24c38cba4218e6be62e511bffe21e63aa57335d8929034aa58e8a85eed001e99 LICENSE diff --git a/package/perl-sub-install/perl-sub-install.hash b/package/perl-sub-install/perl-sub-install.hash index 3abd9940e..bbac2a637 100644 --- a/package/perl-sub-install/perl-sub-install.hash +++ b/package/perl-sub-install/perl-sub-install.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 e1ce4f9cb6b2f6b8778b036c31afa5ab Sub-Install-0.928.tar.gz -sha256 61e567a7679588887b7b86d427bc476ea6d77fffe7e0d17d640f89007d98ef0f Sub-Install-0.928.tar.gz +md5 e1ce4f9cb6b2f6b8778b036c31afa5ab Sub-Install-0.928.tar.gz +sha256 61e567a7679588887b7b86d427bc476ea6d77fffe7e0d17d640f89007d98ef0f Sub-Install-0.928.tar.gz # computed by scancpan -sha256 ad5fb5c05003488f924c60ead21694d629055c9db2ee2d9dd0cf0041b9fedaca LICENSE +sha256 ad5fb5c05003488f924c60ead21694d629055c9db2ee2d9dd0cf0041b9fedaca LICENSE diff --git a/package/perl-sub-quote/perl-sub-quote.hash b/package/perl-sub-quote/perl-sub-quote.hash index d918af235..602ff92ce 100644 --- a/package/perl-sub-quote/perl-sub-quote.hash +++ b/package/perl-sub-quote/perl-sub-quote.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 1bb9caee697bcfa738f419d40505e506 Sub-Quote-2.006006.tar.gz -sha256 6e4e2af42388fa6d2609e0e82417de7cc6be47223f576592c656c73c7524d89d Sub-Quote-2.006006.tar.gz +md5 1bb9caee697bcfa738f419d40505e506 Sub-Quote-2.006006.tar.gz +sha256 6e4e2af42388fa6d2609e0e82417de7cc6be47223f576592c656c73c7524d89d Sub-Quote-2.006006.tar.gz # computed by scancpan -sha256 88f4a8719c584d756dcfeebc7f35643066354188bfb57c672fbafcd44e044e9c LICENSE +sha256 88f4a8719c584d756dcfeebc7f35643066354188bfb57c672fbafcd44e044e9c LICENSE diff --git a/package/perl-sys-meminfo/perl-sys-meminfo.hash b/package/perl-sys-meminfo/perl-sys-meminfo.hash index 207cfad2b..c80a45520 100644 --- a/package/perl-sys-meminfo/perl-sys-meminfo.hash +++ b/package/perl-sys-meminfo/perl-sys-meminfo.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 88f0632691d7de91cbed95ba1ff29025 Sys-MemInfo-0.99.tar.gz -sha256 0786319d3a3a8bae5d727939244bf17e140b714f52734d5e9f627203e4cf3e3b Sys-MemInfo-0.99.tar.gz +md5 88f0632691d7de91cbed95ba1ff29025 Sys-MemInfo-0.99.tar.gz +sha256 0786319d3a3a8bae5d727939244bf17e140b714f52734d5e9f627203e4cf3e3b Sys-MemInfo-0.99.tar.gz # computed by scancpan -sha256 62854ade112a6782f476bdc7dc9603776c4e064782623d999f966dba131a15de LICENSE +sha256 62854ade112a6782f476bdc7dc9603776c4e064782623d999f966dba131a15de LICENSE diff --git a/package/perl-sys-mmap/perl-sys-mmap.hash b/package/perl-sys-mmap/perl-sys-mmap.hash index ce4d67354..ac4184b08 100644 --- a/package/perl-sys-mmap/perl-sys-mmap.hash +++ b/package/perl-sys-mmap/perl-sys-mmap.hash @@ -1,7 +1,7 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 57172ce9b33c04de460b4e7ad68d2e9c Sys-Mmap-0.20.tar.gz -sha256 1820ce2c89f1ab7357644f8db0f49f142f54526250fb1e235db10aa80f15e2cf Sys-Mmap-0.20.tar.gz +md5 57172ce9b33c04de460b4e7ad68d2e9c Sys-Mmap-0.20.tar.gz +sha256 1820ce2c89f1ab7357644f8db0f49f142f54526250fb1e235db10aa80f15e2cf Sys-Mmap-0.20.tar.gz # computed by scancpan -sha256 4ac2afe465736476a06e52edcc78c72cfa0fa4d625916e58ab4f2af6c598709c Artistic -sha256 51c144e9a67644fa8eea0ea63dedb4e837587305b22f073eb5e279e39e7325a8 Copying +sha256 4ac2afe465736476a06e52edcc78c72cfa0fa4d625916e58ab4f2af6c598709c Artistic +sha256 51c144e9a67644fa8eea0ea63dedb4e837587305b22f073eb5e279e39e7325a8 Copying diff --git a/package/perl-time-parsedate/perl-time-parsedate.hash b/package/perl-time-parsedate/perl-time-parsedate.hash index 39ce6b93f..0e5199809 100644 --- a/package/perl-time-parsedate/perl-time-parsedate.hash +++ b/package/perl-time-parsedate/perl-time-parsedate.hash @@ -1,7 +1,7 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 9143d075278857d21c77467d26f1603b Time-ParseDate-2015.103.tar.gz -sha256 2c1a06235bf811813caac9eaa9daa71af758667cdf7b082cb59863220fcaeed1 Time-ParseDate-2015.103.tar.gz +md5 9143d075278857d21c77467d26f1603b Time-ParseDate-2015.103.tar.gz +sha256 2c1a06235bf811813caac9eaa9daa71af758667cdf7b082cb59863220fcaeed1 Time-ParseDate-2015.103.tar.gz # locally calculated -sha256 6d8de888d0662f75cfa3bf21b261741d5634ac9cdd8604d6173850546a3d40a9 lib/Time/JulianDay.pm -sha256 9ae411fbaf87add414e7357417032dfedce652c393643bc5cb5b7698041a1dca lib/Time/Timezone.pm +sha256 6d8de888d0662f75cfa3bf21b261741d5634ac9cdd8604d6173850546a3d40a9 lib/Time/JulianDay.pm +sha256 9ae411fbaf87add414e7357417032dfedce652c393643bc5cb5b7698041a1dca lib/Time/Timezone.pm diff --git a/package/perl-www-form-urlencoded/perl-www-form-urlencoded.hash b/package/perl-www-form-urlencoded/perl-www-form-urlencoded.hash index c4ed48890..43f65a00c 100644 --- a/package/perl-www-form-urlencoded/perl-www-form-urlencoded.hash +++ b/package/perl-www-form-urlencoded/perl-www-form-urlencoded.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 cbe0e1c3ee54738d900c739ea348efda WWW-Form-UrlEncoded-0.26.tar.gz -sha256 c0480b5f1f15b71163ec327b8e7842298f0cb3ace97e63d7034af1e94a2d90f4 WWW-Form-UrlEncoded-0.26.tar.gz +md5 cbe0e1c3ee54738d900c739ea348efda WWW-Form-UrlEncoded-0.26.tar.gz +sha256 c0480b5f1f15b71163ec327b8e7842298f0cb3ace97e63d7034af1e94a2d90f4 WWW-Form-UrlEncoded-0.26.tar.gz # computed by scancpan -sha256 79c2a066104e71602785fd815c5aea6f7db78c19451d68521380083f9c2a8805 LICENSE +sha256 79c2a066104e71602785fd815c5aea6f7db78c19451d68521380083f9c2a8805 LICENSE diff --git a/package/perl-www-robotrules/perl-www-robotrules.hash b/package/perl-www-robotrules/perl-www-robotrules.hash index 41f2d7a19..38fd06209 100644 --- a/package/perl-www-robotrules/perl-www-robotrules.hash +++ b/package/perl-www-robotrules/perl-www-robotrules.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 b7186e8b8b3701e70c22abf430742403 WWW-RobotRules-6.02.tar.gz -sha256 46b502e7a288d559429891eeb5d979461dd3ecc6a5c491ead85d165b6e03a51e WWW-RobotRules-6.02.tar.gz +md5 b7186e8b8b3701e70c22abf430742403 WWW-RobotRules-6.02.tar.gz +sha256 46b502e7a288d559429891eeb5d979461dd3ecc6a5c491ead85d165b6e03a51e WWW-RobotRules-6.02.tar.gz # computed by scancpan -sha256 fa375c4f771b92fc076b6c66e19440a0fff51dacf489fecd94bf560091279e05 README +sha256 fa375c4f771b92fc076b6c66e19440a0fff51dacf489fecd94bf560091279e05 README diff --git a/package/perl-x10/perl-x10.hash b/package/perl-x10/perl-x10.hash index 5411390e3..900ff62f1 100644 --- a/package/perl-x10/perl-x10.hash +++ b/package/perl-x10/perl-x10.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 20dcca2dfb978bfed3043276aa3481e5 X10-0.04.tar.gz -sha256 3dcee9d95614b2db70de608e933d42817f93fccd5b1f2f782b0846af487d9134 X10-0.04.tar.gz +md5 20dcca2dfb978bfed3043276aa3481e5 X10-0.04.tar.gz +sha256 3dcee9d95614b2db70de608e933d42817f93fccd5b1f2f782b0846af487d9134 X10-0.04.tar.gz # computed by scancpan -sha256 e6f320afa82517d663be348dd2515ecb1454a7c851ba5590f13aca01d219be80 README +sha256 e6f320afa82517d663be348dd2515ecb1454a7c851ba5590f13aca01d219be80 README diff --git a/package/perl-xml-libxml/perl-xml-libxml.hash b/package/perl-xml-libxml/perl-xml-libxml.hash index 4842f4fec..3a2f1ae7d 100644 --- a/package/perl-xml-libxml/perl-xml-libxml.hash +++ b/package/perl-xml-libxml/perl-xml-libxml.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 dce687dd8b7e82d1c359fd74b1852f64 XML-LibXML-2.0134.tar.gz -sha256 f0bca4d0c2da35d879fee4cd13f352014186cedab27ab5e191f39b5d7d4f46cf XML-LibXML-2.0134.tar.gz +md5 dce687dd8b7e82d1c359fd74b1852f64 XML-LibXML-2.0134.tar.gz +sha256 f0bca4d0c2da35d879fee4cd13f352014186cedab27ab5e191f39b5d7d4f46cf XML-LibXML-2.0134.tar.gz # computed by scancpan -sha256 5046a7ec515cc1542beafdf2eadeeff24cc221fc3fde9913dd144fd263ae6100 LICENSE +sha256 5046a7ec515cc1542beafdf2eadeeff24cc221fc3fde9913dd144fd263ae6100 LICENSE diff --git a/package/perl-xml-namespacesupport/perl-xml-namespacesupport.hash b/package/perl-xml-namespacesupport/perl-xml-namespacesupport.hash index e5a98ecf4..a00edfd98 100644 --- a/package/perl-xml-namespacesupport/perl-xml-namespacesupport.hash +++ b/package/perl-xml-namespacesupport/perl-xml-namespacesupport.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 a8916c6d095bcf073e1108af02e78c97 XML-NamespaceSupport-1.12.tar.gz -sha256 47e995859f8dd0413aa3f22d350c4a62da652e854267aa0586ae544ae2bae5ef XML-NamespaceSupport-1.12.tar.gz +md5 a8916c6d095bcf073e1108af02e78c97 XML-NamespaceSupport-1.12.tar.gz +sha256 47e995859f8dd0413aa3f22d350c4a62da652e854267aa0586ae544ae2bae5ef XML-NamespaceSupport-1.12.tar.gz # computed by scancpan -sha256 3fed787f0f9e1d74024ec7ae5f0f4736c693bcf263781da2054eb4bb1337e911 LICENSE +sha256 3fed787f0f9e1d74024ec7ae5f0f4736c693bcf263781da2054eb4bb1337e911 LICENSE diff --git a/package/perl-xml-sax-base/perl-xml-sax-base.hash b/package/perl-xml-sax-base/perl-xml-sax-base.hash index 1542922b1..02c5124d0 100644 --- a/package/perl-xml-sax-base/perl-xml-sax-base.hash +++ b/package/perl-xml-sax-base/perl-xml-sax-base.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 ec347a14065dd7aec7d9fb181b2d7946 XML-SAX-Base-1.09.tar.gz -sha256 66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0 XML-SAX-Base-1.09.tar.gz +md5 ec347a14065dd7aec7d9fb181b2d7946 XML-SAX-Base-1.09.tar.gz +sha256 66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0 XML-SAX-Base-1.09.tar.gz # computed by scancpan -sha256 2a9aae56e13888493523ee9053689627e092aafcf2c5fb06f06df07260f91b42 README +sha256 2a9aae56e13888493523ee9053689627e092aafcf2c5fb06f06df07260f91b42 README diff --git a/package/perl-xml-sax/perl-xml-sax.hash b/package/perl-xml-sax/perl-xml-sax.hash index df63047f0..b7c2e4e0c 100644 --- a/package/perl-xml-sax/perl-xml-sax.hash +++ b/package/perl-xml-sax/perl-xml-sax.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 b62e3754523695c7f5bbcafa3676a38d XML-SAX-1.02.tar.gz -sha256 4506c387043aa6a77b455f00f57409f3720aa7e553495ab2535263b4ed1ea12a XML-SAX-1.02.tar.gz +md5 b62e3754523695c7f5bbcafa3676a38d XML-SAX-1.02.tar.gz +sha256 4506c387043aa6a77b455f00f57409f3720aa7e553495ab2535263b4ed1ea12a XML-SAX-1.02.tar.gz # computed by scancpan -sha256 bf2fb225e77b46b8892ef2a8aa5efa92d65b176a870f42559d8b73b308a36509 LICENSE +sha256 bf2fb225e77b46b8892ef2a8aa5efa92d65b176a870f42559d8b73b308a36509 LICENSE diff --git a/package/perl/perl.hash b/package/perl/perl.hash index b0f60ef6f..9ec2b42e3 100644 --- a/package/perl/perl.hash +++ b/package/perl/perl.hash @@ -1,12 +1,12 @@ -# Hashes from: https://www.cpan.org/src/5.0/perl-5.34.0.tar.xz.{md5,sha1,sha256}.txt -md5 df7ecb0653440b26dc951ad9dbfab517 perl-5.34.0.tar.xz -sha1 d461e206a1dca5e79d39e77debf0b564f6d77d37 perl-5.34.0.tar.xz -sha256 82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded perl-5.34.0.tar.xz +# Hashes from: https://www.cpan.org/src/5.0/perl-5.34.1.tar.xz.{md5,sha1,sha256}.txt +md5 7d2ece7f50775ea1ff739831935a24bd perl-5.34.1.tar.xz +sha1 e7dbef3c1ea7caa73e2c705bba9e4bfb92ea98f0 perl-5.34.1.tar.xz +sha256 6d52cf833ff1af27bb5e986870a2c30cec73c044b41e3458cd991f94374039f7 perl-5.34.1.tar.xz -# Hashes from: https://github.com/arsv/perl-cross/releases/download/1.3.6/perl-cross-1.3.6.hash -sha256 4010f41870d64e3957b4b8ce70ebba10a7c4a3e86c5551acb4099c3fcbb37ce5 perl-cross-1.3.6.tar.gz +# Hash from: https://github.com/arsv/perl-cross/releases/download/1.4/perl-cross-1.4.hash +sha256 be9d9f9f7148edff7a2f9695ba3cb7e3975eff6b25a9a81dd311725fd757aa91 perl-cross-1.4.tar.gz # Locally calculated sha256 dd90d4f42e4dcadf5a7c09eea0189d93c7b37ae560c91f0f6d5233ed3b9292a2 Artistic sha256 d77d235e41d54594865151f4751e835c5a82322b0e87ace266567c3391a4b912 Copying -sha256 df6ad59aefea68676c38325f25f6707f026ddde6c71291b2ca231b6247859907 README +sha256 06bab256e2e039c59d2ca3c5853425317b4a0f251fe4e5d5201a987b11fc4f78 README diff --git a/package/perl/perl.mk b/package/perl/perl.mk index d7f9c58dd..27acfaeff 100644 --- a/package/perl/perl.mk +++ b/package/perl/perl.mk @@ -6,7 +6,7 @@ # When updating the version here, also update utils/scancpan PERL_VERSION_MAJOR = 34 -PERL_VERSION = 5.$(PERL_VERSION_MAJOR).0 +PERL_VERSION = 5.$(PERL_VERSION_MAJOR).1 PERL_SITE = https://www.cpan.org/src/5.0 PERL_SOURCE = perl-$(PERL_VERSION).tar.xz PERL_LICENSE = Artistic or GPL-1.0+ @@ -15,7 +15,7 @@ PERL_CPE_ID_VENDOR = perl PERL_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) PERL_INSTALL_STAGING = YES -PERL_CROSS_VERSION = 1.3.6 +PERL_CROSS_VERSION = 1.4 # DO NOT refactor with the github helper (the result is not the same) PERL_CROSS_SITE = https://github.com/arsv/perl-cross/releases/download/$(PERL_CROSS_VERSION) PERL_CROSS_SOURCE = perl-cross-$(PERL_CROSS_VERSION).tar.gz diff --git a/package/php-apcu/Config.in b/package/php-apcu/Config.in index 633898022..f8e1eb17b 100644 --- a/package/php-apcu/Config.in +++ b/package/php-apcu/Config.in @@ -1,6 +1,10 @@ config BR2_PACKAGE_PHP_APCU bool "php-apcu" + depends on BR2_TOOLCHAIN_HAS_THREADS help APCu is an in-memory key-value store for PHP. https://pecl.php.net/package/APCu + +comment "php-apcu needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/php-pecl-dbus/php-pecl-dbus.hash b/package/php-pecl-dbus/php-pecl-dbus.hash index f8c5aa503..f43e2c8b5 100644 --- a/package/php-pecl-dbus/php-pecl-dbus.hash +++ b/package/php-pecl-dbus/php-pecl-dbus.hash @@ -1,3 +1,3 @@ # Locally calculated: -sha256 c48761c645c6fa42b57af0e65d893217dc69bcd8d879ace74d6abbf1c5f73a8f php-pecl-dbus-315d17558c7614d02e923d898231e51c86a25789.tar.gz -sha256 ecc8b74820c32fb82ddee80446205408585d75d1632ac959fb3cdf8eaf3877b5 LICENSE +sha256 c48761c645c6fa42b57af0e65d893217dc69bcd8d879ace74d6abbf1c5f73a8f php-pecl-dbus-315d17558c7614d02e923d898231e51c86a25789.tar.gz +sha256 ecc8b74820c32fb82ddee80446205408585d75d1632ac959fb3cdf8eaf3877b5 LICENSE diff --git a/package/php/Config.ext b/package/php/Config.ext index 5da5d8bed..d5f865901 100644 --- a/package/php/Config.ext +++ b/package/php/Config.ext @@ -141,6 +141,7 @@ config BR2_PACKAGE_PHP_EXT_PGSQL depends on BR2_USE_MMU # postgresql depends on !BR2_STATIC_LIBS depends on BR2_USE_WCHAR # postgresql + depends on !BR2_OPTIMIZE_FAST # postgresql select BR2_PACKAGE_POSTGRESQL help PostgreSQL support @@ -149,6 +150,9 @@ comment "PostgreSQL extension needs a toolchain w/ dynamic library, wchar" depends on BR2_USE_MMU depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR +comment "PostgreSQL extension can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST + config BR2_PACKAGE_PHP_EXT_SQLITE bool "SQLite3" select BR2_PACKAGE_SQLITE @@ -172,6 +176,7 @@ config BR2_PACKAGE_PHP_EXT_PDO_POSTGRESQL depends on BR2_USE_MMU # postgresql depends on !BR2_STATIC_LIBS depends on BR2_USE_WCHAR # postgresql + depends on !BR2_OPTIMIZE_FAST # postgresql select BR2_PACKAGE_POSTGRESQL help PDO driver for PostgreSQL @@ -180,6 +185,9 @@ comment "PostgreSQL drivers need a toolchain w/ wchar, dynamic library" depends on BR2_USE_MMU depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR +comment "PostgreSQL drivers can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST + config BR2_PACKAGE_PHP_EXT_PDO_SQLITE bool "SQLite3" select BR2_PACKAGE_SQLITE @@ -377,13 +385,6 @@ config BR2_PACKAGE_PHP_EXT_SIMPLEXML help SimpleXML support -config BR2_PACKAGE_PHP_EXT_WDDX - bool "WDDX" - select BR2_PACKAGE_EXPAT - select BR2_PACKAGE_PHP_EXT_LIBXML2 - help - WDDX support - config BR2_PACKAGE_PHP_EXT_XML bool "XML Parser" select BR2_PACKAGE_PHP_EXT_LIBXML2 diff --git a/package/php/php.hash b/package/php/php.hash index 2753f9a0e..cd686a8ac 100644 --- a/package/php/php.hash +++ b/package/php/php.hash @@ -1,5 +1,5 @@ # From https://www.php.net/downloads.php -sha256 f27a2f25259e8c51e42dfd74e24a546ee521438ad7d9f6c6e794aa91f38bab0a php-8.0.16.tar.xz +sha256 5e07278a1f315a67d36a676c01343ca2d4da5ec5bdb15d018e4248b3012bc0cd php-8.0.28.tar.xz # License file sha256 a188db807d711536f71e27b7d36879d63480f7994dc18adc08e624b3c5430fff LICENSE diff --git a/package/php/php.mk b/package/php/php.mk index 5b29692d9..bbe287f40 100644 --- a/package/php/php.mk +++ b/package/php/php.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_VERSION = 8.0.16 +PHP_VERSION = 8.0.28 PHP_SITE = https://www.php.net/distributions PHP_SOURCE = php-$(PHP_VERSION).tar.xz PHP_INSTALL_STAGING = YES @@ -150,11 +150,6 @@ PHP_CONF_OPTS += --with-libxml PHP_DEPENDENCIES += libxml2 endif -ifeq ($(BR2_PACKAGE_PHP_EXT_WDDX),y) -PHP_CONF_OPTS += --enable-wddx --with-libexpat-dir=$(STAGING_DIR)/usr -PHP_DEPENDENCIES += expat -endif - ifeq ($(BR2_PACKAGE_PHP_EXT_ZIP),y) PHP_DEPENDENCIES += libzip endif @@ -181,13 +176,8 @@ endif endif ifeq ($(BR2_PACKAGE_PHP_EXT_INTL),y) -PHP_CONF_OPTS += --enable-intl --with-icu-dir=$(STAGING_DIR)/usr -PHP_CXXFLAGS += "`$(STAGING_DIR)/usr/bin/icu-config --cxxflags`" +PHP_CONF_OPTS += --enable-intl PHP_DEPENDENCIES += icu -# The intl module is implemented in C++, but PHP fails to use -# g++ as the compiler for the final link. As a workaround, -# tell it to link libstdc++. -PHP_EXTRA_LIBS += -lstdc++ endif ifeq ($(BR2_PACKAGE_PHP_EXT_GMP),y) diff --git a/package/physfs/physfs.hash b/package/physfs/physfs.hash index a2219edd2..a56e7dcce 100644 --- a/package/physfs/physfs.hash +++ b/package/physfs/physfs.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 304df76206d633df5360e738b138c94e82ccf086e50ba84f456d3f8432f9f863 physfs-3.0.2.tar.bz2 -sha256 d80c0b09a1c98c61667ea044eefa2fd98fb70bd5fe12c49ff52b1fc2289a6583 LICENSE.txt +sha256 304df76206d633df5360e738b138c94e82ccf086e50ba84f456d3f8432f9f863 physfs-3.0.2.tar.bz2 +sha256 d80c0b09a1c98c61667ea044eefa2fd98fb70bd5fe12c49ff52b1fc2289a6583 LICENSE.txt diff --git a/package/picocom/picocom.hash b/package/picocom/picocom.hash index 28f2d9cdc..77c270408 100644 --- a/package/picocom/picocom.hash +++ b/package/picocom/picocom.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 e6761ca932ffc6d09bd6b11ff018bdaf70b287ce518b3282d29e0270e88420bb picocom-3.1.tar.gz -sha256 9273c6b2c55be95f0f0df292d87e8900e5bfdf5b510a6ea09e80306cf45c10f6 LICENSE.txt +sha256 e6761ca932ffc6d09bd6b11ff018bdaf70b287ce518b3282d29e0270e88420bb picocom-3.1.tar.gz +sha256 9273c6b2c55be95f0f0df292d87e8900e5bfdf5b510a6ea09e80306cf45c10f6 LICENSE.txt diff --git a/package/pimd/pimd.hash b/package/pimd/pimd.hash index 98c717d2e..ae79d771f 100644 --- a/package/pimd/pimd.hash +++ b/package/pimd/pimd.hash @@ -1,6 +1,6 @@ # Locally computed: -sha256 c77a9812751f114490a28a6839b16aac8b020c8d9fd6aa22bf3880c054e19f1d pimd-2.3.2.tar.gz +sha256 c77a9812751f114490a28a6839b16aac8b020c8d9fd6aa22bf3880c054e19f1d pimd-2.3.2.tar.gz # Hash for license files: -sha256 3379436c16caccdef9b40a49fbdfdbb45aad8ecb05870834490b8fb080126009 LICENSE -sha256 4328a21f0822caa9976356623118bcdcc9970c7a0f9a3deeba23c779b7cfb5d1 LICENSE.mrouted +sha256 3379436c16caccdef9b40a49fbdfdbb45aad8ecb05870834490b8fb080126009 LICENSE +sha256 4328a21f0822caa9976356623118bcdcc9970c7a0f9a3deeba23c779b7cfb5d1 LICENSE.mrouted diff --git a/package/pimd/pimd.mk b/package/pimd/pimd.mk index 7a12f8fe0..8abfbd564 100644 --- a/package/pimd/pimd.mk +++ b/package/pimd/pimd.mk @@ -26,7 +26,7 @@ endef define PIMD_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) CROSS=$(TARGET_CROSS) \ - CC=$(TARGET_CC) -C $(@D) + CC=$(TARGET_CC) LDFLAGS="$(TARGET_LDFLAGS)" -C $(@D) endef define PIMD_INSTALL_TARGET_CMDS diff --git a/package/pinentry/Config.in b/package/pinentry/Config.in index 3f005f8c5..bd5e3af5a 100644 --- a/package/pinentry/Config.in +++ b/package/pinentry/Config.in @@ -74,6 +74,7 @@ config BR2_PACKAGE_PINENTRY_QT5 depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_HOST_GCC_AT_LEAST_5 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 + depends on !BR2_ARM_CPU_ARMV4 depends on !BR2_arc depends on !BR2_STATIC_LIBS select BR2_PACKAGE_QT5 @@ -84,6 +85,7 @@ config BR2_PACKAGE_PINENTRY_QT5 comment "pinentry-qt5 needs a host gcc >= 5.0, and a toolchain w/ wchar, NPTL, gcc >= 5.0, C++, dynamic library" depends on !BR2_arc + depends on !BR2_ARM_CPU_ARMV4 depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \ BR2_STATIC_LIBS || !BR2_HOST_GCC_AT_LEAST_5 diff --git a/package/pipewire/Config.in b/package/pipewire/Config.in index dd13f31a7..3bfcf42a8 100644 --- a/package/pipewire/Config.in +++ b/package/pipewire/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_PIPEWIRE bool "pipewire" depends on !BR2_STATIC_LIBS - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # pthread_setname_np() depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO if BR2_PACKAGE_BLUEZ5_UTILS # runtime @@ -46,7 +46,8 @@ comment "pipewire v4l2 support needs udev and a toolchain w/ headers >= 3.18" endif -comment "pipewire needs a toolchain w/ dynamic library, threads, gcc >= 5" +comment "pipewire needs a toolchain w/ dynamic library, NTPL, gcc >= 5" depends on BR2_USE_MMU - depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || \ + depends on BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_5 diff --git a/package/pixiewps/pixiewps.hash b/package/pixiewps/pixiewps.hash index bb5663038..99a09741a 100644 --- a/package/pixiewps/pixiewps.hash +++ b/package/pixiewps/pixiewps.hash @@ -1,3 +1,3 @@ # locally computed -sha256 d3d3cf57851e3e734fb1797aa078239ef161d1cbeffc4438497d58a425ef22a2 pixiewps-9e5bdc6c86c8487b2a6107d5ab3559ed5c738c59.tar.gz -sha256 ccb349b4132ed7737f25e5adebfe61f3d52dca33708df1e50352320438d1d4c2 LICENSE.md +sha256 d3d3cf57851e3e734fb1797aa078239ef161d1cbeffc4438497d58a425ef22a2 pixiewps-9e5bdc6c86c8487b2a6107d5ab3559ed5c738c59.tar.gz +sha256 ccb349b4132ed7737f25e5adebfe61f3d52dca33708df1e50352320438d1d4c2 LICENSE.md diff --git a/package/pixman/pixman.hash b/package/pixman/pixman.hash index 1af632a9f..78407bf04 100644 --- a/package/pixman/pixman.hash +++ b/package/pixman/pixman.hash @@ -1,6 +1,6 @@ -# From https://lists.x.org/archives/xorg-announce/2020-April/003043.html -sha256 da8ed9fe2d1c5ef8ce5d1207992db959226bd4e37e3f88acf908fd9a71e2704e pixman-0.40.0.tar.xz -sha512 8a60edb113d68791b41bd90b761ff7b3934260cb3dada3234c9351416f61394e4157353bc4d61b8f6c2c619de470f6feefffb4935bfcf79d291ece6285de7270 pixman-0.40.0.tar.xz +# From https://lists.x.org/archives/xorg-announce/2022-October/003228.html +sha256 5747d2ec498ad0f1594878cc897ef5eb6c29e91c53b899f7f71b506785fc1376 pixman-0.42.2.tar.xz +sha512 3476e2676e66756b1af61b1e532cd80c985c191fb7956eb01702b419726cce99e79163b7f287f74f66414680e7396d13c3fee525cd663f12b6ac4877070ff4e8 pixman-0.42.2.tar.xz # Locally computed sha256 fac9270f0987b96ff4533fca3548c633e02083cbba4a0172a3b149b2e4019793 COPYING diff --git a/package/pixman/pixman.mk b/package/pixman/pixman.mk index 6fab53959..5affd47a3 100644 --- a/package/pixman/pixman.mk +++ b/package/pixman/pixman.mk @@ -4,7 +4,7 @@ # ################################################################################ -PIXMAN_VERSION = 0.40.0 +PIXMAN_VERSION = 0.42.2 PIXMAN_SOURCE = pixman-$(PIXMAN_VERSION).tar.xz PIXMAN_SITE = https://xorg.freedesktop.org/releases/individual/lib PIXMAN_LICENSE = MIT @@ -19,7 +19,9 @@ HOST_PIXMAN_DEPENDENCIES = host-pkgconf PIXMAN_AUTORECONF = YES # don't build gtk based demos -PIXMAN_CONF_OPTS = --disable-gtk +PIXMAN_CONF_OPTS = \ + --disable-gtk \ + --disable-loongson-mmi # The ARM SIMD code from pixman requires a recent enough ARM core, but # there is a runtime CPU check that makes sure it doesn't get used if diff --git a/package/pkcs11-helper/0001-lib-pkcs11h-core.c-fix-build-without-slotevent.patch b/package/pkcs11-helper/0001-lib-pkcs11h-core.c-fix-build-without-slotevent.patch new file mode 100644 index 000000000..5b2829c5c --- /dev/null +++ b/package/pkcs11-helper/0001-lib-pkcs11h-core.c-fix-build-without-slotevent.patch @@ -0,0 +1,37 @@ +From 754911f553414a77d5b52001f5ef6e3a1314c4d5 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 20 Mar 2022 08:50:15 +0100 +Subject: [PATCH] lib/pkcs11h-core.c: fix build without slotevent + +Fix the following build failure with --disable-slotevent: + +/home/giuliobenetti/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabihf/9.3.0/../../../../arm-buildroot-linux-uclibcgnueabihf/bin/ld: /home/giuliobenetti/autobuild/run/instance-0/output-1/host/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/lib/libpkcs11-helper.so: undefined reference to `_pkcs11h_slotevent_init' + +Fixes: + - http://autobuild.buildroot.org/results/fcaa70cc035d6f9d35dfa8d564e9948c7e1cfd9e + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/OpenSC/pkcs11-helper/pull/50] +--- + lib/pkcs11h-core.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/lib/pkcs11h-core.c b/lib/pkcs11h-core.c +index d7bb4cd..0bf11e8 100644 +--- a/lib/pkcs11h-core.c ++++ b/lib/pkcs11h-core.c +@@ -726,9 +726,11 @@ pkcs11h_setProperty ( + + switch (property) { + case PKCS11H_PROPERTY_SLOT_EVENT_HOOK: ++#if defined(ENABLE_PKCS11H_SLOTEVENT) + if ((rv = _pkcs11h_slotevent_init ()) != CKR_OK) { + goto cleanup; + } ++#endif + break; + } + cleanup: +-- +2.35.1 + diff --git a/package/pkg-cmake.mk b/package/pkg-cmake.mk index 3b1db35fb..d2ef5ca82 100644 --- a/package/pkg-cmake.mk +++ b/package/pkg-cmake.mk @@ -88,6 +88,7 @@ define $(2)_CONFIGURE_CMDS rm -f CMakeCache.txt && \ PATH=$$(BR_PATH) \ $$($$(PKG)_CONF_ENV) $$(BR2_CMAKE) $$($$(PKG)_SRCDIR) \ + -G"Unix Makefiles" \ -DCMAKE_TOOLCHAIN_FILE="$$(HOST_DIR)/share/buildroot/toolchainfile.cmake" \ -DCMAKE_INSTALL_PREFIX="/usr" \ -DCMAKE_COLOR_MAKEFILE=OFF \ @@ -117,6 +118,7 @@ define $(2)_CONFIGURE_CMDS PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \ PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \ $$($$(PKG)_CONF_ENV) $$(BR2_CMAKE) $$($$(PKG)_SRCDIR) \ + -G"Unix Makefiles" \ -DCMAKE_INSTALL_SO_NO_EXE=0 \ -DCMAKE_FIND_ROOT_PATH="$$(HOST_DIR)" \ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM="BOTH" \ diff --git a/package/pkg-download.mk b/package/pkg-download.mk index a15e21e11..0718f21aa 100644 --- a/package/pkg-download.mk +++ b/package/pkg-download.mk @@ -103,6 +103,7 @@ endif # # Argument 1 is the source location # Argument 2 is the upper-case package name +# Argument 3 is a space-separated list of optional arguments # ################################################################################ @@ -118,10 +119,10 @@ define DOWNLOAD -n '$($(2)_BASENAME_RAW)' \ -N '$($(2)_RAWNAME)' \ -o '$($(2)_DL_DIR)/$(notdir $(1))' \ - $(if $($(2)_DOWNLOAD_POST_PROCESS),-p '$($(2)_DOWNLOAD_POST_PROCESS)') \ $(if $($(2)_GIT_SUBMODULES),-r) \ $(if $($(2)_GIT_LFS),-l) \ $(foreach uri,$(call DOWNLOAD_URIS,$(1),$(2)),-u $(uri)) \ + $(3) \ $(QUIET) \ -- \ $($(2)_DL_OPTS) diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk index b3a7e1d60..a9b923fcb 100644 --- a/package/pkg-generic.mk +++ b/package/pkg-generic.mk @@ -192,7 +192,8 @@ $(BUILD_DIR)/%/.stamp_downloaded: break ; \ fi ; \ done - $(foreach p,$($(PKG)_ALL_DOWNLOADS),$(call DOWNLOAD,$(p),$(PKG))$(sep)) + $(if $($(PKG)_MAIN_DOWNLOAD),$(call DOWNLOAD,$($(PKG)_MAIN_DOWNLOAD),$(PKG),$(patsubst %,-p '%',$($(PKG)_DOWNLOAD_POST_PROCESS)))) + $(foreach p,$($(PKG)_ADDITIONAL_DOWNLOADS),$(call DOWNLOAD,$(p),$(PKG))$(sep)) $(foreach hook,$($(PKG)_POST_DOWNLOAD_HOOKS),$(call $(hook))$(sep)) $(Q)mkdir -p $(@D) @$(call step_end,download) @@ -540,6 +541,30 @@ ifndef $(2)_SUBDIR endif endif +ifndef $(2)_DL_SUBDIR + ifdef $(3)_DL_SUBDIR + $(2)_DL_SUBDIR = $$($(3)_DL_SUBDIR) + endif +endif + +ifndef $(2)_DOWNLOAD_DEPENDENCIES + ifdef $(3)_DOWNLOAD_DEPENDENCIES + $(2)_DOWNLOAD_DEPENDENCIES = $$(filter-out $(1),$$($(3)_DOWNLOAD_DEPENDENCIES)) + endif +endif + +ifndef $(2)_DL_ENV + ifdef $(3)_DL_ENV + $(2)_DL_ENV = $$($(3)_DL_ENV) + endif +endif + +ifndef $(2)_DOWNLOAD_POST_PROCESS + ifdef $(3)_DOWNLOAD_POST_PROCESS + $(2)_DOWNLOAD_POST_PROCESS = $$($(3)_DOWNLOAD_POST_PROCESS) + endif +endif + ifndef $(2)_STRIP_COMPONENTS ifdef $(3)_STRIP_COMPONENTS $(2)_STRIP_COMPONENTS = $$($(3)_STRIP_COMPONENTS) @@ -577,12 +602,16 @@ ifndef $(2)_PATCH endif endif -$(2)_ALL_DOWNLOADS = \ - $$(if $$($(2)_SOURCE),$$($(2)_SITE_METHOD)+$$($(2)_SITE)/$$($(2)_SOURCE)) \ +$(2)_MAIN_DOWNLOAD = \ + $$(if $$($(2)_SOURCE),$$($(2)_SITE_METHOD)+$$($(2)_SITE)/$$($(2)_SOURCE)) + +$(2)_ADDITIONAL_DOWNLOADS = \ $$(foreach p,$$($(2)_PATCH) $$($(2)_EXTRA_DOWNLOADS),\ $$(if $$(findstring ://,$$(p)),$$(p),\ $$($(2)_SITE_METHOD)+$$($(2)_SITE)/$$(p))) +$(2)_ALL_DOWNLOADS = $$($(2)_MAIN_DOWNLOAD) $$($(2)_ADDITIONAL_DOWNLOADS) + ifndef $(2)_SITE ifdef $(3)_SITE $(2)_SITE = $$($(3)_SITE) @@ -1116,6 +1145,7 @@ else $(Q)$$(foreach F,$$($(2)_LICENSE_FILES),$$(call legal-license-file,$$($(2)_RAWNAME),$$($(2)_BASENAME_RAW),$$($(2)_HASH_FILE),$$(F),$$($(2)_DIR)/$$(F),$$(call UPPERCASE,$(4)))$$(sep)) endif # license files +ifeq ($$($(2)_REDISTRIBUTE),YES) ifeq ($$($(2)_SITE_METHOD),local) # Packages without a tarball: don't save and warn @$$(call legal-warning-nosource,$$($(2)_RAWNAME),local) @@ -1126,7 +1156,6 @@ else ifneq ($$($(2)_OVERRIDE_SRCDIR),) else # Other packages -ifeq ($$($(2)_REDISTRIBUTE),YES) # Save the source tarball and any extra downloads, but not # patches, as they are handled specially afterwards. $$(foreach e,$$($(2)_ACTUAL_SOURCE_TARBALL) $$(notdir $$($(2)_EXTRA_DOWNLOADS)),\ @@ -1140,9 +1169,9 @@ ifeq ($$($(2)_REDISTRIBUTE),YES) $$($(2)_REDIST_SOURCES_DIR) || exit 1; \ printf "%s\n" "$$$${f##*/}" >>$$($(2)_REDIST_SOURCES_DIR)/series || exit 1; \ done <$$($(2)_DIR)/.applied_patches_list -endif # redistribute - 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))) endif # ifneq ($$(call qstrip,$$($(2)_SOURCE)),) $$(foreach hook,$$($(2)_POST_LEGAL_INFO_HOOKS),$$(call $$(hook))$$(sep)) @@ -1153,10 +1182,12 @@ ifeq ($$($$($(2)_KCONFIG_VAR)),y) # Ensure the calling package is the declared provider for all the virtual # packages it claims to be an implementation of. +ifeq ($(BR_BUILDING),y) ifneq ($$($(2)_PROVIDES),) $$(foreach pkg,$$($(2)_PROVIDES),\ $$(eval $$(call virt-provides-single,$$(pkg),$$(call UPPERCASE,$$(pkg)),$(1))$$(sep))) endif +endif # Register package as a reverse-dependencies of all its dependencies $$(eval $$(foreach p,$$($(2)_FINAL_ALL_DEPENDENCIES),\ @@ -1219,6 +1250,13 @@ else ifeq ($$($(2)_SITE_METHOD),cvs) DL_TOOLS_DEPENDENCIES += cvs endif # SITE_METHOD +# cargo/go vendoring (may) need git +ifeq ($$($(2)_DOWNLOAD_POST_PROCESS),cargo) +DL_TOOLS_DEPENDENCIES += git +else ifeq ($$($(2)_DOWNLOAD_POST_PROCESS),go) +DL_TOOLS_DEPENDENCIES += git +endif + DL_TOOLS_DEPENDENCIES += $$(call extractor-system-dependency,$$($(2)_SOURCE)) # Ensure all virtual targets are PHONY. Listed alphabetically. diff --git a/package/pkg-golang.mk b/package/pkg-golang.mk index 0b3dc3d32..775633190 100644 --- a/package/pkg-golang.mk +++ b/package/pkg-golang.mk @@ -45,7 +45,8 @@ $(2)_BUILD_OPTS += \ -modcacherw \ -tags "$$($(2)_TAGS)" \ -trimpath \ - -p $$(PARALLEL_JOBS) + -p $$(PARALLEL_JOBS) \ + -buildvcs=false # Target packages need the Go compiler on the host at download time (for # vendoring), and at build and install time. diff --git a/package/pkg-meson.mk b/package/pkg-meson.mk index 85de98e03..9987fb73b 100644 --- a/package/pkg-meson.mk +++ b/package/pkg-meson.mk @@ -36,6 +36,8 @@ else ifeq ($(BR2_arm)$(BR2_armeb),y) PKG_MESON_TARGET_CPU_FAMILY = arm else ifeq ($(BR2_aarch64)$(BR2_aarch64_be),y) PKG_MESON_TARGET_CPU_FAMILY = aarch64 +else ifeq ($(BR2_csky),y) +PKG_MESON_TARGET_CPU_FAMILY = csky else ifeq ($(BR2_i386),y) PKG_MESON_TARGET_CPU_FAMILY = x86 else ifeq ($(BR2_m68k),y) @@ -50,8 +52,12 @@ else ifeq ($(BR2_powerpc),y) PKG_MESON_TARGET_CPU_FAMILY = ppc else ifeq ($(BR2_powerpc64)$(BR2_powerpc64le),y) PKG_MESON_TARGET_CPU_FAMILY = ppc64 -else ifeq ($(BR2_riscv),y) +else ifeq ($(BR2_riscv)$(BR2_RISCV_32),yy) +PKG_MESON_TARGET_CPU_FAMILY = riscv32 +else ifeq ($(BR2_riscv)$(BR2_RISCV_64),yy) PKG_MESON_TARGET_CPU_FAMILY = riscv64 +else ifeq ($(BR2_s390x),y) +PKG_MESON_TARGET_CPU_FAMILY = s390x else ifeq ($(BR2_sh4)$(BR2_sh4eb)$(BR2_sh4a)$(BR2_sh4aeb),y) PKG_MESON_TARGET_CPU_FAMILY = sh4 else ifeq ($(BR2_sparc),y) @@ -79,7 +85,9 @@ define PKG_MESON_CROSSCONFIG_SED -e "s%@TARGET_CFLAGS@%$(call make-sq-comma-list,$($(strip $(1))))%g" \ -e "s%@TARGET_LDFLAGS@%$(call make-sq-comma-list,$($(strip $(3))))%g" \ -e "s%@TARGET_CXXFLAGS@%$(call make-sq-comma-list,$($(strip $(2))))%g" \ + -e "s%@BR2_CMAKE@%$(BR2_CMAKE)%g" \ -e "s%@PKGCONF_HOST_BINARY@%$(HOST_DIR)/bin/pkgconf%g" \ + -e "s%@HOST_DIR@%$(HOST_DIR)%g" \ -e "s%@STAGING_DIR@%$(STAGING_DIR)%g" \ -e "s%@STATIC@%$(if $(BR2_STATIC_LIBS),true,false)%g" \ $(TOPDIR)/support/misc/cross-compilation.conf.in @@ -136,6 +144,7 @@ define $(2)_CONFIGURE_CMDS -Db_pie=false \ -Dstrip=false \ -Dbuild.pkg_config_path=$$(HOST_DIR)/lib/pkgconfig \ + -Dbuild.cmake_prefix_path=$$(HOST_DIR)/lib/cmake \ $$($$(PKG)_CONF_OPTS) \ $$($$(PKG)_SRCDIR) $$($$(PKG)_SRCDIR)/build endef @@ -153,6 +162,7 @@ define $(2)_CONFIGURE_CMDS --localstatedir=$$(HOST_DIR)/var \ --default-library=shared \ --buildtype=release \ + --wrap-mode=nodownload \ -Dstrip=true \ $$($$(PKG)_CONF_OPTS) \ $$($$(PKG)_SRCDIR) $$($$(PKG)_SRCDIR)/build diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk index 7d1aea771..6ece27baa 100644 --- a/package/pkg-utils.mk +++ b/package/pkg-utils.mk @@ -22,12 +22,17 @@ KCONFIG_DOT_CONFIG = $(strip \ # KCONFIG_MUNGE_DOT_CONFIG (option, newline [, file]) define KCONFIG_MUNGE_DOT_CONFIG - $(SED) "/\\<$(strip $(1))\\>/d" $(call KCONFIG_DOT_CONFIG,$(3)) + $(SED) '/^\(# \)\?$(strip $(1))\>/d' $(call KCONFIG_DOT_CONFIG,$(3)) && \ echo '$(strip $(2))' >> $(call KCONFIG_DOT_CONFIG,$(3)) endef # KCONFIG_ENABLE_OPT (option [, file]) -KCONFIG_ENABLE_OPT = $(call KCONFIG_MUNGE_DOT_CONFIG, $(1), $(1)=y, $(2)) +# If the option is already set to =m or =y, ignore. +define KCONFIG_ENABLE_OPT + $(Q)if ! grep -q '^$(strip $(1))=[my]' $(call KCONFIG_DOT_CONFIG,$(2)); then \ + $(call KCONFIG_MUNGE_DOT_CONFIG, $(1), $(1)=y, $(2)); \ + fi +endef # KCONFIG_SET_OPT (option, value [, file]) KCONFIG_SET_OPT = $(call KCONFIG_MUNGE_DOT_CONFIG, $(1), $(1)=$(2), $(3)) # KCONFIG_DISABLE_OPT (option [, file]) diff --git a/package/pkg-waf.mk b/package/pkg-waf.mk index d546b4a81..e090afa9e 100644 --- a/package/pkg-waf.mk +++ b/package/pkg-waf.mk @@ -75,7 +75,7 @@ endif ifndef $(2)_BUILD_CMDS define $(2)_BUILD_CMDS cd $$($$(PKG)_SRCDIR) && \ - $$(TARGET_MAKE_ENV) $$(HOST_DIR)/bin/python3 $$($(2)_WAF) \ + $$(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$(HOST_DIR)/bin/python3 $$($(2)_WAF) \ build $$(WAF_OPTS) $$($(2)_BUILD_OPTS) \ $$($(2)_WAF_OPTS) endef @@ -88,7 +88,7 @@ endif ifndef $(2)_INSTALL_STAGING_CMDS define $(2)_INSTALL_STAGING_CMDS cd $$($$(PKG)_SRCDIR) && \ - $$(TARGET_MAKE_ENV) $$(HOST_DIR)/bin/python3 $$($(2)_WAF) \ + $$(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$(HOST_DIR)/bin/python3 $$($(2)_WAF) \ install --destdir=$$(STAGING_DIR) \ $$($(2)_INSTALL_STAGING_OPTS) \ $$($(2)_WAF_OPTS) @@ -102,7 +102,7 @@ endif ifndef $(2)_INSTALL_TARGET_CMDS define $(2)_INSTALL_TARGET_CMDS cd $$($$(PKG)_SRCDIR) && \ - $$(TARGET_MAKE_ENV) $$(HOST_DIR)/bin/python3 $$($(2)_WAF) \ + $$(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$(HOST_DIR)/bin/python3 $$($(2)_WAF) \ install --destdir=$$(TARGET_DIR) \ $$($(2)_INSTALL_TARGET_OPTS) \ $$($(2)_WAF_OPTS) diff --git a/package/policycoreutils/policycoreutils.hash b/package/policycoreutils/policycoreutils.hash index 7d0863637..e7f006b02 100644 --- a/package/policycoreutils/policycoreutils.hash +++ b/package/policycoreutils/policycoreutils.hash @@ -1,3 +1,3 @@ # https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 d1331c6fa766c547b071c491de90b9f343c8dbffdb119be8a5a7e491199b93a9 policycoreutils-3.2.tar.gz -sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING +sha256 d1331c6fa766c547b071c491de90b9f343c8dbffdb119be8a5a7e491199b93a9 policycoreutils-3.2.tar.gz +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/policycoreutils/policycoreutils.mk b/package/policycoreutils/policycoreutils.mk index 60575ac64..8505dbca3 100644 --- a/package/policycoreutils/policycoreutils.mk +++ b/package/policycoreutils/policycoreutils.mk @@ -16,10 +16,6 @@ POLICYCOREUTILS_MAKE_OPTS = LDLIBS=$(TARGET_NLS_LIBS) ifeq ($(BR2_PACKAGE_LINUX_PAM),y) POLICYCOREUTILS_DEPENDENCIES += linux-pam POLICYCOREUTILS_MAKE_OPTS += NAMESPACE_PRIV=y -define POLICYCOREUTILS_INSTALL_TARGET_LINUX_PAM_CONFS - $(INSTALL) -D -m 0644 $(@D)/newrole/newrole-lspp.pamd $(TARGET_DIR)/etc/pam.d/newrole - $(INSTALL) -D -m 0644 $(@D)/run_init/run_init.pamd $(TARGET_DIR)/etc/pam.d/run_init -endef endif ifeq ($(BR2_PACKAGE_AUDIT),y) diff --git a/package/polkit/0003-fix-build-without-C.patch b/package/polkit/0003-fix-build-without-C.patch new file mode 100644 index 000000000..8e16de256 --- /dev/null +++ b/package/polkit/0003-fix-build-without-C.patch @@ -0,0 +1,50 @@ +From abbc04f6f3acfc2dfa34b1c07decaa658786e142 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 2 Apr 2022 18:33:08 +0200 +Subject: [PATCH] fix build without C++ + +Fix the following build failure without C++ raised since +https://gitlab.freedesktop.org/polkit/polkit/-/commit/957a015157fd359d9679540f664183e4b9492896: + +The following exception(s) were encountered: +Running "/home/autobuild/autobuild/instance-14/output-1/host/bin/or1k-buildroot-linux-musl-g++ --version" gave "[Errno 2] No such file or directory: '/home/autobuild/autobuild/instance-14/output-1/host/bin/or1k-buildroot-linux-musl-g++'" + +Indeed, C++ is only required with mozjs engine + +Fixes: + - http://autobuild.buildroot.org/results/1d52c8100414aa384572b23006a13f9b806d2d5a + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://gitlab.freedesktop.org/polkit/polkit/-/commit/abbc04f6f3acfc2dfa34b1c07decaa658786e142] +--- + meson.build | 2 +- + src/polkitbackend/meson.build | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index c6765fd..da60930 100644 +--- a/meson.build ++++ b/meson.build +@@ -1,5 +1,5 @@ + project( +- 'polkit', ['c', 'cpp'], ++ 'polkit', ['c'], + version: '0.120', + license: 'LGPL2+', + default_options: [ +diff --git a/src/polkitbackend/meson.build b/src/polkitbackend/meson.build +index 266f280..7c5d443 100644 +--- a/src/polkitbackend/meson.build ++++ b/src/polkitbackend/meson.build +@@ -38,6 +38,7 @@ if js_engine == 'duktape' + deps += libm_dep + deps += thread_dep + elif js_engine == 'mozjs' ++ add_languages('cpp') + sources += files('polkitbackendjsauthority.cpp') + endif + +-- +GitLab + diff --git a/package/polkit/Config.in b/package/polkit/Config.in index 622cbbb90..ca3323931 100644 --- a/package/polkit/Config.in +++ b/package/polkit/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_POLKIT depends on BR2_USE_MMU # libglib2, dbus depends on BR2_USE_WCHAR # libglib2 depends on !BR2_STATIC_LIBS # duktape + depends on !BR2_OPTIMIZE_FAST # duktape select BR2_PACKAGE_DBUS # runtime select BR2_PACKAGE_DUKTAPE select BR2_PACKAGE_EXPAT @@ -20,3 +21,6 @@ comment "polkit needs a toolchain with dynamic library, wchar, threads, gcc >= 7 depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \ BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS + +comment "polkit can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST diff --git a/package/polkit/polkit.mk b/package/polkit/polkit.mk index 61666594a..ddbc81b3b 100644 --- a/package/polkit/polkit.mk +++ b/package/polkit/polkit.mk @@ -12,7 +12,7 @@ POLKIT_CPE_ID_VENDOR = polkit_project POLKIT_INSTALL_STAGING = YES # Fix was comitted in a2bf5c9c83b6ae46cbd5c779d3055bff81ded683 -POLKIT_IGNORE_CVE = CVE-2021-4034 +POLKIT_IGNORE_CVES += CVE-2021-4034 POLKIT_DEPENDENCIES = \ duktape libglib2 host-intltool expat $(TARGET_NLS_DEPENDENCIES) @@ -56,9 +56,10 @@ define POLKIT_USERS endef define POLKIT_PERMISSIONS - /etc/polkit-1 r 750 root polkitd - - - - - - /usr/share/polkit-1 r 750 root polkitd - - - - - + /etc/polkit-1/rules.d d 700 polkitd root - - - - - + /usr/share/polkit-1/rules.d d 700 polkitd root - - - - - /usr/bin/pkexec f 4755 root root - - - - - + /usr/lib/polkit-1/polkit-agent-helper-1 f 4755 root root - - - - - endef define POLKIT_INSTALL_INIT_SYSTEMD diff --git a/package/popperjs/popperjs.hash b/package/popperjs/popperjs.hash index d9cdabc32..a2388f5b7 100644 --- a/package/popperjs/popperjs.hash +++ b/package/popperjs/popperjs.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 83eecef51d10826faca2cd5cabb344e0bef6d4127d7e728db9e4d8308b7b15d1 popperjs-1.16.0.tar.gz -sha256 2961310ed05cd9373a08b8191c071425a7fede0ca5d807ca38fa5f5f61c5b834 LICENSE.md +sha256 83eecef51d10826faca2cd5cabb344e0bef6d4127d7e728db9e4d8308b7b15d1 popperjs-1.16.0.tar.gz +sha256 2961310ed05cd9373a08b8191c071425a7fede0ca5d807ca38fa5f5f61c5b834 LICENSE.md diff --git a/package/poppler/0001-Include-setjmp-h-when-WITH_JPEG-yes-and-WITH_PNG-no.patch b/package/poppler/0001-Include-setjmp-h-when-WITH_JPEG-yes-and-WITH_PNG-no.patch deleted file mode 100644 index 40af6a2e0..000000000 --- a/package/poppler/0001-Include-setjmp-h-when-WITH_JPEG-yes-and-WITH_PNG-no.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 3ea6bca90d87d3f91556205c4e58ca425c6ac437 Mon Sep 17 00:00:00 2001 -From: Marco Genasci -Date: Sun, 12 Dec 2021 10:23:37 +0100 -Subject: [PATCH] Include setjmp.h when WITH_JPEG=yes and WITH_PNG=no - -[Retrieved from: -https://gitlab.freedesktop.org/poppler/poppler/-/commit/3ea6bca90d87d3f91556205c4e58ca425c6ac437] -Signed-off-by: Fabrice Fontaine ---- - poppler/ImageEmbeddingUtils.cc | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/poppler/ImageEmbeddingUtils.cc b/poppler/ImageEmbeddingUtils.cc -index 5c50f1269..c26b9eb2a 100644 ---- a/poppler/ImageEmbeddingUtils.cc -+++ b/poppler/ImageEmbeddingUtils.cc -@@ -16,6 +16,7 @@ - extern "C" { - # include - } -+# include - #endif - #ifdef ENABLE_LIBPNG - # include --- -GitLab - diff --git a/package/poppler/poppler.hash b/package/poppler/poppler.hash index cf6c53706..93681e04a 100644 --- a/package/poppler/poppler.hash +++ b/package/poppler/poppler.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 acb840c2c1ec07d07e53c57c4b3a1ff3e3ee2d888d44e1e9f2f01aaf16814de7 poppler-21.12.0.tar.xz +sha256 04e40fad924a6de62e63017a6fd4c04696c1f526dedc2ba5ef275cedf646292a poppler-22.10.0.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/poppler/poppler.mk b/package/poppler/poppler.mk index 18c044a9f..5524bfc42 100644 --- a/package/poppler/poppler.mk +++ b/package/poppler/poppler.mk @@ -4,7 +4,7 @@ # ################################################################################ -POPPLER_VERSION = 21.12.0 +POPPLER_VERSION = 22.10.0 POPPLER_SOURCE = poppler-$(POPPLER_VERSION).tar.xz POPPLER_SITE = https://poppler.freedesktop.org POPPLER_DEPENDENCIES = fontconfig host-pkgconf @@ -44,7 +44,11 @@ endif ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) POPPLER_DEPENDENCIES += gobject-introspection -POPPLER_CONF_OPTS += -DENABLE_GOBJECT_INTROSPECTION=ON +POPPLER_CONF_OPTS += \ + -DENABLE_GOBJECT_INTROSPECTION=ON \ + -DINTROSPECTION_SCANNER=$(STAGING_DIR)/usr/bin/g-ir-scanner \ + -DINTROSPECTION_COMPILER=$(STAGING_DIR)/usr/bin/g-ir-compiler \ + -DINTROSPECTION_COMPILER_ARGS="--includedir=$(STAGING_DIR)/usr/share/gir-1.0" else POPPLER_CONF_OPTS += -DENABLE_GOBJECT_INTROSPECTION=OFF endif diff --git a/package/postgis/postgis.hash b/package/postgis/postgis.hash index 12ca18f84..9569ca71d 100644 --- a/package/postgis/postgis.hash +++ b/package/postgis/postgis.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 7ab9e154c6947c0cffb8fa12d70806add9aa060e62b6c86a2e206f9d4b507cfd postgis-3.2.0.tar.gz +sha256 18cf3d013f45b1aa8ed59d78bc707e9e125e250d8f0615396ae9bfe3dd7c3d7c postgis-3.2.2.tar.gz sha256 55b69f22e1752830dd565852dc7ff242daf289dbd3a6bfede5db43f90d2e28c9 LICENSE.TXT diff --git a/package/postgis/postgis.mk b/package/postgis/postgis.mk index d9cda6473..b63c1163e 100644 --- a/package/postgis/postgis.mk +++ b/package/postgis/postgis.mk @@ -4,7 +4,7 @@ # ################################################################################ -POSTGIS_VERSION = 3.2.0 +POSTGIS_VERSION = 3.2.2 POSTGIS_SITE = https://download.osgeo.org/postgis/source # parallel build issues POSTGIS_MAKE = $(MAKE1) @@ -19,14 +19,8 @@ POSTGIS_DEPENDENCIES = postgresql libgeos proj libxml2 POSTGIS_CONF_OPTS += \ --with-pgconfig=$(STAGING_DIR)/usr/bin/pg_config \ --with-geosconfig=$(STAGING_DIR)/usr/bin/geos-config \ - --with-xml2config=$(STAGING_DIR)/usr/bin/xml2-config - -ifeq ($(BR2_PACKAGE_LIBGDAL),y) -POSTGIS_DEPENDENCIES += libgdal -POSTGIS_CONF_OPTS += --with-raster -else -POSTGIS_CONF_OPTS += --without-raster -endif + --with-xml2config=$(STAGING_DIR)/usr/bin/xml2-config \ + --without-raster ifeq ($(BR2_PACKAGE_JSON_C),y) POSTGIS_DEPENDENCIES += json-c diff --git a/package/postgresql/Config.in b/package/postgresql/Config.in index b42b21955..899907d6a 100644 --- a/package/postgresql/Config.in +++ b/package/postgresql/Config.in @@ -6,6 +6,7 @@ config BR2_PACKAGE_POSTGRESQL # postgresql is unlikely to be used in a pure statically # linked environment. depends on !BR2_STATIC_LIBS + depends on !BR2_OPTIMIZE_FAST select BR2_PACKAGE_LIBOPENSSL_ENABLE_BLOWFISH if BR2_PACKAGE_LIBOPENSSL select BR2_PACKAGE_LIBOPENSSL_ENABLE_CAST if BR2_PACKAGE_LIBOPENSSL select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL @@ -34,3 +35,6 @@ endif comment "postgresql needs a toolchain w/ dynamic library, wchar" depends on BR2_USE_MMU depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR + +comment "postgresql can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST diff --git a/package/postgresql/postgresql.hash b/package/postgresql/postgresql.hash index c2017a122..acce26e8a 100644 --- a/package/postgresql/postgresql.hash +++ b/package/postgresql/postgresql.hash @@ -1,5 +1,4 @@ -# From https://ftp.postgresql.org/pub/source/v14.1/postgresql-14.1.tar.bz2.sha256 -sha256 4d3c101ea7ae38982f06bdc73758b53727fb6402ecd9382006fa5ecc7c2ca41f postgresql-14.1.tar.bz2 - +# From https://ftp.postgresql.org/pub/source/v14.7/postgresql-14.7.tar.bz2.sha256 +sha256 cef60f0098fa8101c1546f4254e45b722af5431337945b37af207007630db331 postgresql-14.7.tar.bz2 # License file, Locally calculated -sha256 31ccadc0a70e8e0e8a35c5833567b64388dfe34987d962e1911554e271294105 COPYRIGHT +sha256 1a7d13c3ab31961b91ba256f77d6e82e0b54bf992253060fe93bdb5466df416a COPYRIGHT diff --git a/package/postgresql/postgresql.mk b/package/postgresql/postgresql.mk index 32aef0c68..a43c6bb95 100644 --- a/package/postgresql/postgresql.mk +++ b/package/postgresql/postgresql.mk @@ -4,7 +4,7 @@ # ################################################################################ -POSTGRESQL_VERSION = 14.1 +POSTGRESQL_VERSION = 14.7 POSTGRESQL_SOURCE = postgresql-$(POSTGRESQL_VERSION).tar.bz2 POSTGRESQL_SITE = https://ftp.postgresql.org/pub/source/v$(POSTGRESQL_VERSION) POSTGRESQL_LICENSE = PostgreSQL @@ -19,6 +19,10 @@ POSTGRESQL_CONF_ENV = \ POSTGRESQL_CONF_OPTS = --disable-rpath POSTGRESQL_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) +# CVE-2017-8806 is related to postgresql-common package +# It is false positive for postgresql +POSTGRESQL_IGNORE_CVES += CVE-2017-8806 + # https://www.postgresql.org/docs/11/static/install-procedure.html: # "If you want to invoke the build from another makefile rather than # manually, you must unset MAKELEVEL or set it to zero" @@ -38,7 +42,7 @@ ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) POSTGRESQL_CONF_ENV += pgac_cv_type_locale_t=no endif -ifneq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +ifneq ($(BR2_TOOLCHAIN_HAS_THREADS_NPTL),y) POSTGRESQL_CONF_OPTS += --disable-thread-safety endif @@ -101,7 +105,7 @@ endif POSTGRESQL_CFLAGS = $(TARGET_CFLAGS) -ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +ifneq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_43744)$(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),) POSTGRESQL_CFLAGS += -O0 endif diff --git a/package/pound/pound.hash b/package/pound/pound.hash index 7fbf01b89..1e8821869 100644 --- a/package/pound/pound.hash +++ b/package/pound/pound.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 a7fd8690de0fd390615e79fd0f4bfd56a544b8ef97dd6659c07ecd3207480c25 Pound-2.8.tgz -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 GPL.txt +sha256 a7fd8690de0fd390615e79fd0f4bfd56a544b8ef97dd6659c07ecd3207480c25 Pound-2.8.tgz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 GPL.txt diff --git a/package/powerpc-utils/0001-add-includes-defines-for-musl-libc-support.patch b/package/powerpc-utils/0001-add-includes-defines-for-musl-libc-support.patch new file mode 100644 index 000000000..b0206c6e6 --- /dev/null +++ b/package/powerpc-utils/0001-add-includes-defines-for-musl-libc-support.patch @@ -0,0 +1,101 @@ +From 2efa853ef04c331444c9014af108d17544d5ed1b Mon Sep 17 00:00:00 2001 +From: Fabian Groffen +Date: Fri, 21 May 2021 11:25:21 +0200 +Subject: [PATCH] add includes/defines for musl libc support + +- add some missing includes to get proper definitions for beXXtoh and + PATH_MAX +- guard backtrace() from execinfo.h usage for it is glibc only + +Signed-off-by: Fabian Groffen +Reviewed-by: Nathan Lynch +Signed-off-by: Tyrel Datwyler +Upstream: c73206b62d6d827cbc37a10f0195b5d2cf3f2fbb +Signed-off-by: Thomas Petazzoni +--- + src/common/cpu_info_helpers.c | 1 + + src/drmgr/common.c | 6 ++++++ + src/drmgr/dr.h | 1 + + src/rtas_dbg.c | 1 + + 4 files changed, 9 insertions(+) + +diff --git a/src/common/cpu_info_helpers.c b/src/common/cpu_info_helpers.c +index 3d08ff7..925f220 100644 +--- a/src/common/cpu_info_helpers.c ++++ b/src/common/cpu_info_helpers.c +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + #include + #include + #include "cpu_info_helpers.h" +diff --git a/src/drmgr/common.c b/src/drmgr/common.c +index 5e8135b..32cf805 100644 +--- a/src/drmgr/common.c ++++ b/src/drmgr/common.c +@@ -28,7 +28,9 @@ + #include + #include + #include ++#ifdef __GLIBC__ + #include ++#endif + #include + #include + #include +@@ -853,6 +855,7 @@ sighandler(int signo) + say(ERROR, "Received signal %d, attempting to cleanup and exit\n", + signo); + ++#ifdef __GLIBC__ + if (log_fd) { + void *callstack[128]; + int sz; +@@ -860,6 +863,7 @@ sighandler(int signo) + sz = backtrace(callstack, 128); + backtrace_symbols_fd(callstack, sz, log_fd); + } ++#endif + + dr_fini(); + exit(-1); +@@ -925,8 +929,10 @@ sig_setup(void) + if (sigaction(SIGBUS, &sigact, NULL)) + return -1; + ++#ifdef __GLIBC__ + /* dummy call to backtrace to get symbol loaded */ + backtrace(callstack, 128); ++#endif + return 0; + } + +diff --git a/src/drmgr/dr.h b/src/drmgr/dr.h +index f171bfe..b32d49a 100644 +--- a/src/drmgr/dr.h ++++ b/src/drmgr/dr.h +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + #include "rtas_calls.h" + #include "drpci.h" + +diff --git a/src/rtas_dbg.c b/src/rtas_dbg.c +index 526e78b..ebc7474 100644 +--- a/src/rtas_dbg.c ++++ b/src/rtas_dbg.c +@@ -32,6 +32,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.37.1 + diff --git a/package/pppd/0002-pppd-eap-tls.c-fix-build-with-libressl.patch b/package/pppd/0002-pppd-eap-tls.c-fix-build-with-libressl.patch new file mode 100644 index 000000000..aefdc5b7a --- /dev/null +++ b/package/pppd/0002-pppd-eap-tls.c-fix-build-with-libressl.patch @@ -0,0 +1,36 @@ +From b0a011bc4abac8cb3de8dfff42b754ed236ecf0f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 4 Jul 2022 10:07:03 +0200 +Subject: [PATCH] pppd/eap-tls.c: fix build with libressl (#338) + +Fix the following build failure with libressl: + +eap-tls.c: In function 'ssl_msg_callback': +eap-tls.c:1284:10: error: 'SSL3_RT_HEADER' undeclared (first use in this function); did you mean 'SSL3_RT_ALERT'? + 1284 | case SSL3_RT_HEADER: + | ^~~~~~~~~~~~~~ + | SSL3_RT_ALERT + +Fixes: + - http://autobuild.buildroot.org/results/7d721833bddf73531fa03b0a626511af6826d0df + +Signed-off-by: Fabrice Fontaine +[Retrieved (and backported) from: +https://github.com/ppp-project/ppp/commit/b0a011bc4abac8cb3de8dfff42b754ed236ecf0f] +--- + pppd/eap-tls.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pppd/eap-tls.c b/pppd/eap-tls.c +index b9bab842..40796d58 100644 +--- a/pppd/eap-tls.c ++++ b/pppd/eap-tls.c +@@ -61,7 +61,7 @@ + #include "mppe.h" + #include "pathnames.h" + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + + #define TLS_method SSLv23_method + diff --git a/package/pppd/pppd.mk b/package/pppd/pppd.mk index 19b6f3ccc..d9d6244f1 100644 --- a/package/pppd/pppd.mk +++ b/package/pppd/pppd.mk @@ -10,8 +10,8 @@ PPPD_LICENSE = LGPL-2.0+, LGPL, BSD-4-Clause, BSD-3-Clause, GPL-2.0+ PPPD_LICENSE_FILES = \ pppd/tdb.c pppd/plugins/pppoatm/COPYING \ pppdump/bsd-comp.c pppd/ccp.c pppd/plugins/passprompt.c -PPPD_CPE_ID_VENDOR = samba -PPPD_CPE_ID_PRODUCT = ppp +PPPD_CPE_ID_VENDOR = point-to-point_protocol_project +PPPD_CPE_ID_PRODUCT = point-to-point_protocol PPPD_SELINUX_MODULES = ppp PPPD_MAKE_OPTS = HAVE_INET6=y diff --git a/package/pptp-linux/pptp-linux.hash b/package/pptp-linux/pptp-linux.hash index 668e01c30..dc07c15d6 100644 --- a/package/pptp-linux/pptp-linux.hash +++ b/package/pptp-linux/pptp-linux.hash @@ -1,7 +1,7 @@ # From http://sourceforge.net/projects/pptpclient/files/pptp/pptp-1.10.0/ -md5 8d25341352fdae5ad5b36b9f18254908 pptp-1.10.0.tar.gz -sha1 173c9b7d204c89fd1538116f165bba1e9101b51c pptp-1.10.0.tar.gz +md5 8d25341352fdae5ad5b36b9f18254908 pptp-1.10.0.tar.gz +sha1 173c9b7d204c89fd1538116f165bba1e9101b51c pptp-1.10.0.tar.gz # Locally calculated -sha256 82492db8e487ce73b182ee7f444251d20c44f5c26d6e96c553ec7093aefb5af4 pptp-1.10.0.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 82492db8e487ce73b182ee7f444251d20c44f5c26d6e96c553ec7093aefb5af4 pptp-1.10.0.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/pptp-linux/pptp-linux.mk b/package/pptp-linux/pptp-linux.mk index 7fd073397..b6c740e71 100644 --- a/package/pptp-linux/pptp-linux.mk +++ b/package/pptp-linux/pptp-linux.mk @@ -7,7 +7,6 @@ PPTP_LINUX_VERSION = 1.10.0 PPTP_LINUX_SITE = http://downloads.sourceforge.net/project/pptpclient/pptp/pptp-$(PPTP_LINUX_VERSION) PPTP_LINUX_SOURCE = pptp-$(PPTP_LINUX_VERSION).tar.gz -PPTP_LINUX_MAKE = $(MAKE1) PPTP_LINUX_LICENSE = GPL-2.0+ PPTP_LINUX_LICENSE_FILES = COPYING diff --git a/package/procps-ng/0003-fix-pifd_open-check.patch b/package/procps-ng/0003-fix-pifd_open-check.patch new file mode 100644 index 000000000..7152901e7 --- /dev/null +++ b/package/procps-ng/0003-fix-pifd_open-check.patch @@ -0,0 +1,59 @@ +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/procrank_linux/procrank_linux.mk b/package/procrank_linux/procrank_linux.mk index 7e743194f..415a4e41b 100644 --- a/package/procrank_linux/procrank_linux.mk +++ b/package/procrank_linux/procrank_linux.mk @@ -10,7 +10,8 @@ PROCRANK_LINUX_LICENSE = Apache-2.0 PROCRANK_LINUX_LICENSE_FILES = NOTICE define PROCRANK_LINUX_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE="$(TARGET_CROSS)" + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE="$(TARGET_CROSS)" \ + LOCAL_CFLAGS="$(TARGET_CFLAGS)" endef define PROCRANK_LINUX_INSTALL_TARGET_CMDS diff --git a/package/protobuf-c/protobuf-c.hash b/package/protobuf-c/protobuf-c.hash index 13e1b474b..ec0044227 100644 --- a/package/protobuf-c/protobuf-c.hash +++ b/package/protobuf-c/protobuf-c.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 1068bca1e9870e9492096f97c409cd15f10c5019c183e52ec6d53e8d18630cbf protobuf-c-1.4.0.tar.gz -sha256 20e800cad4550f4b19bb37fc9577dac21de13333ae66497c4c45ae489c35c34a LICENSE +sha256 4cc4facd508172f3e0a4d3a8736225d472418aee35b4ad053384b137b220339f protobuf-c-1.4.1.tar.gz +sha256 b8999cb392cc5bbe8cd679de59584ad8d2f26033123e76f1d662fa14b9d4f287 LICENSE diff --git a/package/protobuf-c/protobuf-c.mk b/package/protobuf-c/protobuf-c.mk index baea4d623..0742a33db 100644 --- a/package/protobuf-c/protobuf-c.mk +++ b/package/protobuf-c/protobuf-c.mk @@ -4,8 +4,8 @@ # ################################################################################ -PROTOBUF_C_VERSION = 1.4.0 -PROTOBUF_C_SITE = $(call github,protobuf-c,protobuf-c,v$(PROTOBUF_C_VERSION)) +PROTOBUF_C_VERSION = 1.4.1 +PROTOBUF_C_SITE = https://github.com/protobuf-c/protobuf-c/releases/download/v$(PROTOBUF_C_VERSION) PROTOBUF_C_DEPENDENCIES = host-protobuf-c HOST_PROTOBUF_C_DEPENDENCIES = host-protobuf host-pkgconf PROTOBUF_C_MAKE = $(MAKE1) @@ -13,8 +13,7 @@ PROTOBUF_C_CONF_OPTS = --disable-protoc PROTOBUF_C_INSTALL_STAGING = YES PROTOBUF_C_LICENSE = BSD-2-Clause PROTOBUF_C_LICENSE_FILES = LICENSE -PROTOBUF_C_AUTORECONF = YES -HOST_PROTOBUF_C_AUTORECONF = YES +PROTOBUF_C_CPE_ID_VENDOR = protobuf-c_project # host-protobuf needs c++11 (since 3.6.0) HOST_PROTOBUF_C_CONF_ENV += CXXFLAGS="$(HOST_CXXFLAGS) -std=c++11" diff --git a/package/protozero/0001-CMakeLists.txt-protobuf-is-only-needed-for-tests.patch b/package/protozero/0001-CMakeLists.txt-protobuf-is-only-needed-for-tests.patch new file mode 100644 index 000000000..3033e24aa --- /dev/null +++ b/package/protozero/0001-CMakeLists.txt-protobuf-is-only-needed-for-tests.patch @@ -0,0 +1,35 @@ +From 1c16d3ffccd9e415c6ea3681f23231cd5184043c Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 16 Feb 2022 00:11:38 +0100 +Subject: [PATCH] CMakeLists.txt: protobuf is only needed for tests + +Don't check for protobuf if tests are disabled. As a side effect, this +will avoid a build failure if clang-tidy and protobuf are found but +tests are disabled + +Fix #109 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/mapbox/protozero/pull/110] +--- + CMakeLists.txt | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b975d49..df2ca15 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -52,7 +52,9 @@ endif() + # + #----------------------------------------------------------------------------- + +-find_package(Protobuf) ++if(BUILD_TESTING) ++ find_package(Protobuf) ++endif() + + + #----------------------------------------------------------------------------- +-- +2.34.1 + diff --git a/package/protozero/Config.in b/package/protozero/Config.in index 19048dfe8..e6347e6f7 100644 --- a/package/protozero/Config.in +++ b/package/protozero/Config.in @@ -16,5 +16,5 @@ config BR2_PACKAGE_PROTOZERO https://github.com/mapbox/protozero -comment "protozero needs a toolchain w/ C++, gcc >= 4.7" +comment "protozero needs a toolchain w/ C++, gcc >= 4.7" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 diff --git a/package/proxychains-ng/proxychains-ng.mk b/package/proxychains-ng/proxychains-ng.mk index bb7c9ff68..bd92fcbc3 100644 --- a/package/proxychains-ng/proxychains-ng.mk +++ b/package/proxychains-ng/proxychains-ng.mk @@ -13,7 +13,8 @@ PROXYCHAINS_NG_CPE_ID_VENDOR = proxychains-ng_project define PROXYCHAINS_NG_CONFIGURE_CMDS cd $(@D) && \ - $(TARGET_CONFIGURE_OPTS) ./configure --prefix=/usr --sysconfdir=/etc + $(TARGET_CONFIGURE_OPTS) CPPFLAGS="$(TARGET_CPPFLAGS) -fPIC" \ + ./configure --prefix=/usr --sysconfdir=/etc endef define PROXYCHAINS_NG_BUILD_CMDS diff --git a/package/pru-software-support/pru-software-support.hash b/package/pru-software-support/pru-software-support.hash index e8ccc93a2..c9af9fe25 100644 --- a/package/pru-software-support/pru-software-support.hash +++ b/package/pru-software-support/pru-software-support.hash @@ -1,3 +1,3 @@ # Locally-calculated hash -sha256 cba9e0bca3abc0041cf7ce6a30af9de440b325cf8c9bcc826485d2f837cb4cf2 pru-software-support-package-v6.0.1.tar.gz +sha256 cba9e0bca3abc0041cf7ce6a30af9de440b325cf8c9bcc826485d2f837cb4cf2 pru-software-support-package-v6.0.1.tar.gz sha256 62a2f56498cd1bac2d4ea6ea1c941affba1e4bb65bfdf2dcffd8e5079fa34399 PRU-Package-v6.1-Manifest.html diff --git a/package/psplash/psplash.mk b/package/psplash/psplash.mk index 5e61f2392..69f9bf386 100644 --- a/package/psplash/psplash.mk +++ b/package/psplash/psplash.mk @@ -5,7 +5,8 @@ ################################################################################ PSPLASH_VERSION = 44afb7506d43cca15582b4c5b90ba5580344d75d -PSPLASH_SITE = git://git.yoctoproject.org/psplash +PSPLASH_SITE = https://git.yoctoproject.org/psplash +PSPLASH_SITE_METHOD = git PSPLASH_LICENSE = GPL-2.0+ PSPLASH_LICENSE_FILES = COPYING PSPLASH_AUTORECONF = YES diff --git a/package/ptm2human/ptm2human.hash b/package/ptm2human/ptm2human.hash index 5546ef401..034601966 100644 --- a/package/ptm2human/ptm2human.hash +++ b/package/ptm2human/ptm2human.hash @@ -1,3 +1,3 @@ # Computed locally -sha256 28947eeb458d8b6a362cbeb8c5cb6098006274af04ebb4f5da70eac89f927d95 ptm2human-d0b8b6be9897ea5b04fd6460038a4773cec078bc.tar.gz -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE +sha256 28947eeb458d8b6a362cbeb8c5cb6098006274af04ebb4f5da70eac89f927d95 ptm2human-d0b8b6be9897ea5b04fd6460038a4773cec078bc.tar.gz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE diff --git a/package/pugixml/pugixml.mk b/package/pugixml/pugixml.mk index bc018180e..bbcb913da 100644 --- a/package/pugixml/pugixml.mk +++ b/package/pugixml/pugixml.mk @@ -29,13 +29,11 @@ ifeq ($(BR2_PACKAGE_PUGIXML_HEADER_ONLY),y) PUGIXML_BUILD_DEFINES += PUGIXML_HEADER_ONLY endif -ifdef PUGIXML_BUILD_DEFINES -PUGIXML_CONF_OPTS += -DBUILD_DEFINES="$(subst $(space),;,$(PUGIXML_BUILD_DEFINES))" -endif +PUGIXML_CONF_OPTS += -DPUGIXML_BUILD_DEFINES="$(subst $(space),;,$(PUGIXML_BUILD_DEFINES))" HOST_PUGIXML_CONF_OPTS += \ -DBUILD_PKGCONFIG=ON \ - -DBUILD_DEFINES="$(subst $(space),;,$(HOST_PUGIXML_BUILD_DEFINES))" + -DPUGIXML_BUILD_DEFINES="$(subst $(space),;,$(HOST_PUGIXML_BUILD_DEFINES))" $(eval $(cmake-package)) $(eval $(host-cmake-package)) diff --git a/package/pulseaudio/pulseaudio.mk b/package/pulseaudio/pulseaudio.mk index a23831577..1a5885a12 100644 --- a/package/pulseaudio/pulseaudio.mk +++ b/package/pulseaudio/pulseaudio.mk @@ -24,7 +24,6 @@ PULSEAUDIO_DEPENDENCIES = \ $(if $(BR2_PACKAGE_LIBGLIB2),libglib2) \ $(if $(BR2_PACKAGE_AVAHI_DAEMON),avahi) \ $(if $(BR2_PACKAGE_DBUS),dbus) \ - $(if $(BR2_PACKAGE_NCURSES),ncurses) \ $(if $(BR2_PACKAGE_OPENSSL),openssl) \ $(if $(BR2_PACKAGE_FFTW_SINGLE),fftw-single) \ $(if $(BR2_PACKAGE_SYSTEMD),systemd) diff --git a/package/pure-ftpd/pure-ftpd.hash b/package/pure-ftpd/pure-ftpd.hash index e8b779c31..4cbbfa15a 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 6722c7fd09fe3c9ebbd572f3d097087ec7b32aacb3df8fa3400d4c07e4f377d7 pure-ftpd-1.0.50.tar.bz2 -sha256 c1be5d56c28927b05131d7384bd522af4b11c3afea45725f5ca7983c11db61ac COPYING +sha256 622360b86c60b563abe0e994f0a86cfe5ccfde597b29a14b0a79b6e5aa05a304 pure-ftpd-1.0.51.tar.bz2 +sha256 88c813191c1a59213c641e322cf4562618ab0116ddd7c8341c419f8863b8b0a9 COPYING diff --git a/package/pure-ftpd/pure-ftpd.mk b/package/pure-ftpd/pure-ftpd.mk index f3cbef84b..6264b5ed0 100644 --- a/package/pure-ftpd/pure-ftpd.mk +++ b/package/pure-ftpd/pure-ftpd.mk @@ -4,7 +4,7 @@ # ################################################################################ -PURE_FTPD_VERSION = 1.0.50 +PURE_FTPD_VERSION = 1.0.51 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 @@ -45,7 +45,7 @@ else PURE_FTPD_CONF_OPTS += --without-ldap endif -ifeq ($(BR2_PACKAGE_OPENSSL),y) +ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) PURE_FTPD_CONF_OPTS += --with-tls PURE_FTPD_DEPENDENCIES += host-pkgconf openssl PURE_FTPD_CONF_ENV += LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` diff --git a/package/pwgen/pwgen.hash b/package/pwgen/pwgen.hash index 6dca6363c..f04e6c3df 100644 --- a/package/pwgen/pwgen.hash +++ b/package/pwgen/pwgen.hash @@ -1,5 +1,5 @@ # From http://sourceforge.net/projects/pwgen/files/pwgen/2.08/ -md5 6cfba450ac6ff72d11e88a6b0b049165 pwgen-2.08.tar.gz -sha1 6406deba61297784888c2ec0c14e3c735a85a2b6 pwgen-2.08.tar.gz +md5 6cfba450ac6ff72d11e88a6b0b049165 pwgen-2.08.tar.gz +sha1 6406deba61297784888c2ec0c14e3c735a85a2b6 pwgen-2.08.tar.gz # Locally computed: -sha256 5d3e49e01ef782be5841d5d1f7fb64d290cd86459598a913818584a46a2f81a1 debian/copyright +sha256 5d3e49e01ef782be5841d5d1f7fb64d290cd86459598a913818584a46a2f81a1 debian/copyright diff --git a/package/python-aenum/python-aenum.hash b/package/python-aenum/python-aenum.hash index d10254f9b..40c0e55fc 100644 --- a/package/python-aenum/python-aenum.hash +++ b/package/python-aenum/python-aenum.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aenum/json -md5 6f30144abd4d156f22f8a49d81c496df aenum-3.1.0.tar.gz -sha256 87f0e9ef4f828578ab06af30e4d7944043bf4ecd3f4b7bd1cbe37e2173cde94a aenum-3.1.0.tar.gz +md5 c0b78a74cdfacc0bf0cbb42785afaed8 aenum-3.1.11.tar.gz +sha256 aed2c273547ae72a0d5ee869719c02a643da16bf507c80958faadc7e038e3f73 aenum-3.1.11.tar.gz # Locally computed sha256 checksums sha256 0db837e38002017b352666c83c8d3216ee5b9b2229375eb2cf4487f8c24e1f8c aenum/LICENSE diff --git a/package/python-aenum/python-aenum.mk b/package/python-aenum/python-aenum.mk index 72eaa1db2..603fc66d0 100644 --- a/package/python-aenum/python-aenum.mk +++ b/package/python-aenum/python-aenum.mk @@ -4,11 +4,19 @@ # ################################################################################ -PYTHON_AENUM_VERSION = 3.1.0 +PYTHON_AENUM_VERSION = 3.1.11 PYTHON_AENUM_SOURCE = aenum-$(PYTHON_AENUM_VERSION).tar.gz -PYTHON_AENUM_SITE = https://files.pythonhosted.org/packages/ae/25/00b2949186e76a4c9732e33221274964fecf5c88178cbe5a14a80cfc04e8 +PYTHON_AENUM_SITE = https://files.pythonhosted.org/packages/63/6c/a71e18de7c651f384b328be6bccadbbd472aca62f547c1a307b9388d03ca PYTHON_AENUM_SETUP_TYPE = setuptools PYTHON_AENUM_LICENSE = BSD-3-Clause PYTHON_AENUM_LICENSE_FILES = aenum/LICENSE +# _py2.py uses syntax not compatible with Python3. +# Remove _py2.py to avoid compilation error. +define PYTHON_AENUM_REMOVE_PY2_PY + rm $(@D)/aenum/_py2.py +endef + +PYTHON_AENUM_POST_EXTRACT_HOOKS = PYTHON_AENUM_REMOVE_PY2_PY + $(eval $(python-package)) diff --git a/package/python-aioconsole/python-aioconsole.hash b/package/python-aioconsole/python-aioconsole.hash index 39ce16f8b..af8b5c4de 100644 --- a/package/python-aioconsole/python-aioconsole.hash +++ b/package/python-aioconsole/python-aioconsole.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aioconsole/json -md5 56a1e6542ea3627bdbc67f24abcaa341 aioconsole-0.4.0.tar.gz -sha256 a30ad5276b85dd20a48d235111d0bd26c6bedf7b56d605ffc10ae27124b4b0b4 aioconsole-0.4.0.tar.gz +md5 105adca78033ef1f0b62d8e81d3efcac aioconsole-0.4.1.tar.gz +sha256 0c0acb66b4e72d6606c9fa14ac9eb001a222c37c885b8fbdf65f41824cfa855f aioconsole-0.4.1.tar.gz # Locally computed sha256 checksums sha256 fe3eea6c599e23a00c08c5f5cb2320c30adc8f8687db5fcec9b79a662c53ff6b LICENSE diff --git a/package/python-aioconsole/python-aioconsole.mk b/package/python-aioconsole/python-aioconsole.mk index 44857054d..a58fd33a6 100644 --- a/package/python-aioconsole/python-aioconsole.mk +++ b/package/python-aioconsole/python-aioconsole.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIOCONSOLE_VERSION = 0.4.0 +PYTHON_AIOCONSOLE_VERSION = 0.4.1 PYTHON_AIOCONSOLE_SOURCE = aioconsole-$(PYTHON_AIOCONSOLE_VERSION).tar.gz -PYTHON_AIOCONSOLE_SITE = https://files.pythonhosted.org/packages/f2/7a/7628ec23f140ffca532c7f630e179503727b755849b5eab15576bbf7d3df +PYTHON_AIOCONSOLE_SITE = https://files.pythonhosted.org/packages/c5/16/a9de89d859eeaa0f9fdf5675a97ea1416265e1ebc039c7b9ea2c9e5433ac PYTHON_AIOCONSOLE_SETUP_TYPE = setuptools PYTHON_AIOCONSOLE_LICENSE = GPL-3.0 PYTHON_AIOCONSOLE_LICENSE_FILES = LICENSE diff --git a/package/python-aiohttp-cors/python-aiohttp-cors.hash b/package/python-aiohttp-cors/python-aiohttp-cors.hash index b91e5fa8c..29ae2d790 100644 --- a/package/python-aiohttp-cors/python-aiohttp-cors.hash +++ b/package/python-aiohttp-cors/python-aiohttp-cors.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiohttp_cors/json -md5 de3940a901b269be82c8bd9f28d53ff0 aiohttp-cors-0.7.0.tar.gz -sha256 4d39c6d7100fd9764ed1caf8cebf0eb01bf5e3f24e2e073fda6234bc48b19f5d aiohttp-cors-0.7.0.tar.gz +md5 de3940a901b269be82c8bd9f28d53ff0 aiohttp-cors-0.7.0.tar.gz +sha256 4d39c6d7100fd9764ed1caf8cebf0eb01bf5e3f24e2e073fda6234bc48b19f5d aiohttp-cors-0.7.0.tar.gz # Locally computed sha256 checksums -sha256 86cb2262ff825ce1c8b8fb9ea9f5174318badc3912639b9275fc25d0e305c556 LICENSE +sha256 86cb2262ff825ce1c8b8fb9ea9f5174318badc3912639b9275fc25d0e305c556 LICENSE diff --git a/package/python-aiohttp-debugtoolbar/python-aiohttp-debugtoolbar.hash b/package/python-aiohttp-debugtoolbar/python-aiohttp-debugtoolbar.hash index 927bd3289..3cd9462d7 100644 --- a/package/python-aiohttp-debugtoolbar/python-aiohttp-debugtoolbar.hash +++ b/package/python-aiohttp-debugtoolbar/python-aiohttp-debugtoolbar.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiohttp_debugtoolbar/json -md5 496734057cb413d7a49a52a817802dbb aiohttp-debugtoolbar-0.6.0.tar.gz -sha256 ec231661133b40136608d39dfb688e7ea0c3d47b6ae6dee52d5bf24ceb9e4d45 aiohttp-debugtoolbar-0.6.0.tar.gz +md5 496734057cb413d7a49a52a817802dbb aiohttp-debugtoolbar-0.6.0.tar.gz +sha256 ec231661133b40136608d39dfb688e7ea0c3d47b6ae6dee52d5bf24ceb9e4d45 aiohttp-debugtoolbar-0.6.0.tar.gz # Locally computed sha256 checksums -sha256 94d638be2cb4f186cc62bb567455837757547c15f1b350863aaf05a38843b542 LICENSE +sha256 94d638be2cb4f186cc62bb567455837757547c15f1b350863aaf05a38843b542 LICENSE diff --git a/package/python-aiohttp-mako/python-aiohttp-mako.hash b/package/python-aiohttp-mako/python-aiohttp-mako.hash index 169027e1d..1991acdbc 100644 --- a/package/python-aiohttp-mako/python-aiohttp-mako.hash +++ b/package/python-aiohttp-mako/python-aiohttp-mako.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiohttp-mako/json -md5 c0f2da2851d0b6e819b5c882f700bb11 aiohttp-mako-0.4.0.tar.gz -sha256 f10bdee54589b6567e8a0339db582276fdaaa198764541d2f9741f1d3836312c aiohttp-mako-0.4.0.tar.gz +md5 c0f2da2851d0b6e819b5c882f700bb11 aiohttp-mako-0.4.0.tar.gz +sha256 f10bdee54589b6567e8a0339db582276fdaaa198764541d2f9741f1d3836312c aiohttp-mako-0.4.0.tar.gz # Locally computed sha256 checksums -sha256 b81fea0e0d4cda42faf00466cabe7b9e2a0cc3a0ffbf20ae3773c18e077c7c52 LICENSE +sha256 b81fea0e0d4cda42faf00466cabe7b9e2a0cc3a0ffbf20ae3773c18e077c7c52 LICENSE diff --git a/package/python-aiohttp-security/python-aiohttp-security.hash b/package/python-aiohttp-security/python-aiohttp-security.hash index 1d2604c90..2c23df14d 100644 --- a/package/python-aiohttp-security/python-aiohttp-security.hash +++ b/package/python-aiohttp-security/python-aiohttp-security.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiohttp-security/json -md5 1624f982d7a779e6ed396ef2ed20acc7 aiohttp-security-0.4.0.tar.gz -sha256 40d4bb150454e392c2dfa3620f6eab28e140e94cf0c2d3b4bf43aef653ec9405 aiohttp-security-0.4.0.tar.gz +md5 1624f982d7a779e6ed396ef2ed20acc7 aiohttp-security-0.4.0.tar.gz +sha256 40d4bb150454e392c2dfa3620f6eab28e140e94cf0c2d3b4bf43aef653ec9405 aiohttp-security-0.4.0.tar.gz # Locally computed sha256 checksums -sha256 a1cc8ff7210897d55d2552fa0792340f8e59720e0160b6918699d40f9a782b1c LICENSE +sha256 a1cc8ff7210897d55d2552fa0792340f8e59720e0160b6918699d40f9a782b1c LICENSE diff --git a/package/python-aiologstash/python-aiologstash.hash b/package/python-aiologstash/python-aiologstash.hash index ff7d2cce9..81ebfedfc 100644 --- a/package/python-aiologstash/python-aiologstash.hash +++ b/package/python-aiologstash/python-aiologstash.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiologstash/json -md5 1e321c11b34477f780f31b2553557d69 aiologstash-2.0.0.tar.gz -sha256 698522126ffd4e905cd5f52a08092a0a78096c8f0e28bc1e303369873da71f78 aiologstash-2.0.0.tar.gz +md5 1e321c11b34477f780f31b2553557d69 aiologstash-2.0.0.tar.gz +sha256 698522126ffd4e905cd5f52a08092a0a78096c8f0e28bc1e303369873da71f78 aiologstash-2.0.0.tar.gz # Locally computed sha256 checksums -sha256 beddf3a80aaaa71ebd6765b13bc680bd0450bb81191249cc889539523f9404ec LICENSE +sha256 beddf3a80aaaa71ebd6765b13bc680bd0450bb81191249cc889539523f9404ec LICENSE diff --git a/package/python-aiomonitor/python-aiomonitor.hash b/package/python-aiomonitor/python-aiomonitor.hash index 410beb797..652702c47 100644 --- a/package/python-aiomonitor/python-aiomonitor.hash +++ b/package/python-aiomonitor/python-aiomonitor.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiomonitor/json -md5 5f184e4b97ea161fc2d690aef604f997 aiomonitor-0.4.5.tar.gz -sha256 6232c1ab14bf06cd7217845801c27340032f74e283bdaf32d01cdd3b7c673d0e aiomonitor-0.4.5.tar.gz +md5 5f184e4b97ea161fc2d690aef604f997 aiomonitor-0.4.5.tar.gz +sha256 6232c1ab14bf06cd7217845801c27340032f74e283bdaf32d01cdd3b7c673d0e aiomonitor-0.4.5.tar.gz # Locally computed sha256 checksums -sha256 9b42fe3a288996988c552e387e7877be7525a1649e62086aedd6b32d3cb56365 LICENSE +sha256 9b42fe3a288996988c552e387e7877be7525a1649e62086aedd6b32d3cb56365 LICENSE diff --git a/package/python-alsaaudio/python-alsaaudio.hash b/package/python-alsaaudio/python-alsaaudio.hash index 476bc8f1a..8cc1788da 100644 --- a/package/python-alsaaudio/python-alsaaudio.hash +++ b/package/python-alsaaudio/python-alsaaudio.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pyalsaaudio/json -md5 b46f69561bc85fc52e698b2440ca251e pyalsaaudio-0.8.4.tar.gz -sha256 84e8f8da544d7f4bd96479ce4a237600077984d9be1d7f16c1d9a492ecf50085 pyalsaaudio-0.8.4.tar.gz +md5 b46f69561bc85fc52e698b2440ca251e pyalsaaudio-0.8.4.tar.gz +sha256 84e8f8da544d7f4bd96479ce4a237600077984d9be1d7f16c1d9a492ecf50085 pyalsaaudio-0.8.4.tar.gz # Locally computed sha256 checksums -sha256 ef6ba930f96986d78082e67c817ac617b9e833d60d5a0460f24c9c674a010935 LICENSE +sha256 ef6ba930f96986d78082e67c817ac617b9e833d60d5a0460f24c9c674a010935 LICENSE diff --git a/package/python-argh/python-argh.hash b/package/python-argh/python-argh.hash index 163ea6cee..15f72eb01 100644 --- a/package/python-argh/python-argh.hash +++ b/package/python-argh/python-argh.hash @@ -1,5 +1,5 @@ # md5 from https://pypi.python.org/pypi/argh/json -md5 edda25f3f0164a963dd89c0e3c619973 argh-0.26.2.tar.gz +md5 edda25f3f0164a963dd89c0e3c619973 argh-0.26.2.tar.gz # Locally computed -sha256 e9535b8c84dc9571a48999094fda7f33e63c3f1b74f3e5f3ac0105a58405bb65 argh-0.26.2.tar.gz +sha256 e9535b8c84dc9571a48999094fda7f33e63c3f1b74f3e5f3ac0105a58405bb65 argh-0.26.2.tar.gz sha256 9c318783389a2e78735dc3d633e745e5648b826744521857045e84ed2e79ce2e README.rst diff --git a/package/python-asgiref/python-asgiref.hash b/package/python-asgiref/python-asgiref.hash index c349ad5a4..631db812d 100644 --- a/package/python-asgiref/python-asgiref.hash +++ b/package/python-asgiref/python-asgiref.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/asgiref/json -md5 5afe03ecc39ae94950ff95e80166d945 asgiref-3.3.4.tar.gz -sha256 d1216dfbdfb63826470995d31caed36225dcaf34f182e0fa257a4dd9e86f1b78 asgiref-3.3.4.tar.gz +md5 5afe03ecc39ae94950ff95e80166d945 asgiref-3.3.4.tar.gz +sha256 d1216dfbdfb63826470995d31caed36225dcaf34f182e0fa257a4dd9e86f1b78 asgiref-3.3.4.tar.gz # Locally computed sha256 checksums -sha256 b846415d1b514e9c1dff14a22deb906d794bc546ca6129f950a18cd091e2a669 LICENSE +sha256 b846415d1b514e9c1dff14a22deb906d794bc546ca6129f950a18cd091e2a669 LICENSE diff --git a/package/python-async-lru/python-async-lru.hash b/package/python-async-lru/python-async-lru.hash index 6fa61e0e1..3a54bc290 100644 --- a/package/python-async-lru/python-async-lru.hash +++ b/package/python-async-lru/python-async-lru.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/async_lru/json -md5 69bed62927426353513e68aec77989ab async_lru-1.0.2.tar.gz -sha256 baa898027619f5cc31b7966f96f00e4fc0df43ba206a8940a5d1af5336a477cb async_lru-1.0.2.tar.gz +md5 69bed62927426353513e68aec77989ab async_lru-1.0.2.tar.gz +sha256 baa898027619f5cc31b7966f96f00e4fc0df43ba206a8940a5d1af5336a477cb async_lru-1.0.2.tar.gz # Locally computed sha256 checksums -sha256 ea65975679bc2093be925d520358e41096bd96fddedee3e929160a5faadcf573 LICENSE +sha256 ea65975679bc2093be925d520358e41096bd96fddedee3e929160a5faadcf573 LICENSE diff --git a/package/python-avro/0002-drop-install-time-linting-and-imports-sorting.patch b/package/python-avro/0001-drop-install-time-linting-and-imports-sorting.patch similarity index 100% rename from package/python-avro/0002-drop-install-time-linting-and-imports-sorting.patch rename to package/python-avro/0001-drop-install-time-linting-and-imports-sorting.patch diff --git a/package/python-bottle/python-bottle.hash b/package/python-bottle/python-bottle.hash index 7dcaac8dc..b1cc2aac2 100644 --- a/package/python-bottle/python-bottle.hash +++ b/package/python-bottle/python-bottle.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/bottle/json -md5 50075544706b5e662a3fbd9a98e24b07 bottle-0.12.19.tar.gz -sha256 a9d73ffcbc6a1345ca2d7949638db46349f5b2b77dac65d6494d45c23628da2c bottle-0.12.19.tar.gz +md5 4934ad7347eef30db669ccd05283a5e0 bottle-0.12.21.tar.gz +sha256 787c61b6cc02b9c229bf2663011fac53dd8fc197f7f8ad2eeede29d888d7887e bottle-0.12.21.tar.gz # Locally computed sha256 checksums -sha256 d0e7211f1c3c1a1c56f39d18bcb07f27f480c8a9552617756dda3a335933b8a6 LICENSE +sha256 d0e7211f1c3c1a1c56f39d18bcb07f27f480c8a9552617756dda3a335933b8a6 LICENSE diff --git a/package/python-bottle/python-bottle.mk b/package/python-bottle/python-bottle.mk index d19a439f8..ffea59f38 100644 --- a/package/python-bottle/python-bottle.mk +++ b/package/python-bottle/python-bottle.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BOTTLE_VERSION = 0.12.19 +PYTHON_BOTTLE_VERSION = 0.12.21 PYTHON_BOTTLE_SOURCE = bottle-$(PYTHON_BOTTLE_VERSION).tar.gz -PYTHON_BOTTLE_SITE = https://files.pythonhosted.org/packages/ea/80/3d2dca1562ffa1929017c74635b4cb3645a352588de89e90d0bb53af3317 +PYTHON_BOTTLE_SITE = https://files.pythonhosted.org/packages/95/e3/5749d7657b6fb38d65afb3c0b345514a783de7a9feb4fab594fa0bacc2a0 PYTHON_BOTTLE_LICENSE = MIT PYTHON_BOTTLE_LICENSE_FILES = LICENSE PYTHON_BOTTLE_CPE_ID_VENDOR = bottlepy diff --git a/package/python-brotli/Config.in b/package/python-brotli/Config.in index 1c09c2686..c31315392 100644 --- a/package/python-brotli/Config.in +++ b/package/python-brotli/Config.in @@ -5,3 +5,6 @@ config BR2_PACKAGE_PYTHON_BROTLI Python bindings for the Brotli compression library. https://github.com/google/brotli + +comment "python-brotli needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-bunch/python-bunch.hash b/package/python-bunch/python-bunch.hash index 5cf2cece4..cfde2db60 100644 --- a/package/python-bunch/python-bunch.hash +++ b/package/python-bunch/python-bunch.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/bunch/json -md5 0a829d64e95ed96defbcae2bf9061bb0 bunch-1.0.1.tar.gz -sha256 50c77a0fc0cb372dfe48b5e11937d5f70e743adbf42683f3a6d2857645a76aaa bunch-1.0.1.tar.gz +md5 0a829d64e95ed96defbcae2bf9061bb0 bunch-1.0.1.tar.gz +sha256 50c77a0fc0cb372dfe48b5e11937d5f70e743adbf42683f3a6d2857645a76aaa bunch-1.0.1.tar.gz # Locally computed sha256 checksums -sha256 57ca95c92059c8380625192462979bd32994aae3fcdf902ff6eb1e467eeb0469 LICENSE.txt +sha256 57ca95c92059c8380625192462979bd32994aae3fcdf902ff6eb1e467eeb0469 LICENSE.txt diff --git a/package/python-can/python-can.hash b/package/python-can/python-can.hash index 5330e5899..f4c67b0ed 100644 --- a/package/python-can/python-can.hash +++ b/package/python-can/python-can.hash @@ -1,4 +1,4 @@ # sha256 from https://pypi.org/pypi/python-can -sha256 2d3c223b7adc4dd46ce258d4a33b7e0dbb6c339e002faa40ee4a69d5fdce9449 python-can-3.3.4.tar.gz +sha256 2d3c223b7adc4dd46ce258d4a33b7e0dbb6c339e002faa40ee4a69d5fdce9449 python-can-3.3.4.tar.gz # Locally computed sha256 checksums -sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.txt +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.txt diff --git a/package/python-canopen/python-canopen.hash b/package/python-canopen/python-canopen.hash index e1a628a3a..32bcae18f 100644 --- a/package/python-canopen/python-canopen.hash +++ b/package/python-canopen/python-canopen.hash @@ -1,4 +1,4 @@ # sha256 from https://pypi.org/pypi/canopen/json -sha256 4394770d528e93a48936138c4a7b37b5dff26d54f82a435ad9790cd1e43f55b9 canopen-1.0.0.tar.gz +sha256 4394770d528e93a48936138c4a7b37b5dff26d54f82a435ad9790cd1e43f55b9 canopen-1.0.0.tar.gz # Locally computed sha256 checksums -sha256 0740d30978affcd91c0fc817b7cf942a332381bf0380fe17e60c6a0b377c6e0d LICENSE.txt +sha256 0740d30978affcd91c0fc817b7cf942a332381bf0380fe17e60c6a0b377c6e0d LICENSE.txt diff --git a/package/python-cbor/python-cbor.hash b/package/python-cbor/python-cbor.hash index a47607d9d..71e0b1eb9 100644 --- a/package/python-cbor/python-cbor.hash +++ b/package/python-cbor/python-cbor.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/cbor/json, sha256 locally computed -md5 22b03b59784fd78cb6c27aa498af0db6 cbor-1.0.0.tar.gz -sha256 13225a262ddf5615cbd9fd55a76a0d53069d18b07d2e9f19c39e6acb8609bbb6 cbor-1.0.0.tar.gz +md5 22b03b59784fd78cb6c27aa498af0db6 cbor-1.0.0.tar.gz +sha256 13225a262ddf5615cbd9fd55a76a0d53069d18b07d2e9f19c39e6acb8609bbb6 cbor-1.0.0.tar.gz diff --git a/package/python-channels-redis/python-channels-redis.hash b/package/python-channels-redis/python-channels-redis.hash index 1d80b4c12..5c98953fa 100644 --- a/package/python-channels-redis/python-channels-redis.hash +++ b/package/python-channels-redis/python-channels-redis.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/channels-redis/json -md5 9ec9ffd467e181906f257d6c0dbabf45 channels_redis-2.4.1.tar.gz -sha256 ddfa0c067085fdce24fb80d9c0b848638cbdbf0e1167f14eb2e99d635ad216e6 channels_redis-2.4.1.tar.gz +md5 9ec9ffd467e181906f257d6c0dbabf45 channels_redis-2.4.1.tar.gz +sha256 ddfa0c067085fdce24fb80d9c0b848638cbdbf0e1167f14eb2e99d635ad216e6 channels_redis-2.4.1.tar.gz # Locally computed sha256 checksums -sha256 b846415d1b514e9c1dff14a22deb906d794bc546ca6129f950a18cd091e2a669 LICENSE +sha256 b846415d1b514e9c1dff14a22deb906d794bc546ca6129f950a18cd091e2a669 LICENSE diff --git a/package/python-channels/python-channels.hash b/package/python-channels/python-channels.hash index beeef4acc..2d0097da2 100644 --- a/package/python-channels/python-channels.hash +++ b/package/python-channels/python-channels.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/channels/json -md5 6f3fb75828b681a69372934a09ac3f32 channels-2.3.1.tar.gz -sha256 6b8ebd93fe0041a23e31c9f4130d92fadb9c0040c0eb377a004540631325a31d channels-2.3.1.tar.gz +md5 6f3fb75828b681a69372934a09ac3f32 channels-2.3.1.tar.gz +sha256 6b8ebd93fe0041a23e31c9f4130d92fadb9c0040c0eb377a004540631325a31d channels-2.3.1.tar.gz # Locally computed sha256 checksums -sha256 b846415d1b514e9c1dff14a22deb906d794bc546ca6129f950a18cd091e2a669 LICENSE +sha256 b846415d1b514e9c1dff14a22deb906d794bc546ca6129f950a18cd091e2a669 LICENSE diff --git a/package/python-characteristic/python-characteristic.hash b/package/python-characteristic/python-characteristic.hash index 2a5c7f5cd..c91017d70 100644 --- a/package/python-characteristic/python-characteristic.hash +++ b/package/python-characteristic/python-characteristic.hash @@ -1,5 +1,5 @@ # md5 from https://pypi.python.org/pypi?:action=show_md5&digest=b249368dd021fde1c06b4802867c0913 -md5 b249368dd021fde1c06b4802867c0913 characteristic-14.3.0.tar.gz +md5 b249368dd021fde1c06b4802867c0913 characteristic-14.3.0.tar.gz # Locally computed -sha256 ded68d4e424115ed44e5c83c2a901a0b6157a959079d7591d92106ffd3ada380 characteristic-14.3.0.tar.gz +sha256 ded68d4e424115ed44e5c83c2a901a0b6157a959079d7591d92106ffd3ada380 characteristic-14.3.0.tar.gz sha256 0af91b662f8428b28f5e517b049a0bb9feeb59b1adaa5c9418c1579f9485107c LICENSE diff --git a/package/python-cheetah/python-cheetah.hash b/package/python-cheetah/python-cheetah.hash index f7094a8bb..de397e800 100644 --- a/package/python-cheetah/python-cheetah.hash +++ b/package/python-cheetah/python-cheetah.hash @@ -1,5 +1,5 @@ # From https://pypi.org/pypi/Cheetah3/json md5 42bb9da785974c7e4089aa754ff99a73 Cheetah3-3.2.6.post2.tar.gz -sha256 63157d7a00a273b59676b5be5aa817c75c37efc88478231f1a160f4cfb7f7878 Cheetah3-3.2.6.post2.tar.gz +sha256 63157d7a00a273b59676b5be5aa817c75c37efc88478231f1a160f4cfb7f7878 Cheetah3-3.2.6.post2.tar.gz # Locally computed sha256 checksums sha256 635349ae512fafc2e60eb74a50d0a5276fa06c00b5ecb20da53546449ddc45ea LICENSE diff --git a/package/python-cheroot/python-cheroot.hash b/package/python-cheroot/python-cheroot.hash index e8144abaf..06d945316 100644 --- a/package/python-cheroot/python-cheroot.hash +++ b/package/python-cheroot/python-cheroot.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/cheroot/json -md5 7ace4b584a8092deb9f6b0142a627086 cheroot-8.2.1.tar.gz -sha256 5b525b3e4a755adf78070ab54c1821fb860d4255a9317dba2b88eb2df2441cff cheroot-8.2.1.tar.gz +md5 7ace4b584a8092deb9f6b0142a627086 cheroot-8.2.1.tar.gz +sha256 5b525b3e4a755adf78070ab54c1821fb860d4255a9317dba2b88eb2df2441cff cheroot-8.2.1.tar.gz # Locally computed sha256 checksums sha256 da6dc218683f6dab91c6367f00bf33095d980fb1f04d430c81c5e6994b8605e0 LICENSE.md diff --git a/package/python-cherrypy/python-cherrypy.hash b/package/python-cherrypy/python-cherrypy.hash index d8f97af0f..2e7a92d6f 100644 --- a/package/python-cherrypy/python-cherrypy.hash +++ b/package/python-cherrypy/python-cherrypy.hash @@ -1,4 +1,4 @@ # md5 from https://pypi.python.org/pypi/CherryPy/json, sha256 locally computed -md5 e21fd0c5706504a8f26c46d808a14255 CherryPy-12.0.1.tar.gz -sha256 6a3a90a43b1e05bd4634c60acfdcf34efe74f9f8746aca14dbe95a9b69db30ea CherryPy-12.0.1.tar.gz +md5 e21fd0c5706504a8f26c46d808a14255 CherryPy-12.0.1.tar.gz +sha256 6a3a90a43b1e05bd4634c60acfdcf34efe74f9f8746aca14dbe95a9b69db30ea CherryPy-12.0.1.tar.gz sha256 02f4efe6e7dcd218c33cfa065c0552de983b5ad563b053e97697c5abd2ef14f9 LICENSE.md diff --git a/package/python-constantly/python-constantly.hash b/package/python-constantly/python-constantly.hash index d2033de37..8e646d82b 100644 --- a/package/python-constantly/python-constantly.hash +++ b/package/python-constantly/python-constantly.hash @@ -1,5 +1,5 @@ # md5 from https://pypi.python.org/pypi/constantly/json -md5 f0762f083d83039758e53f8cf0086eef constantly-15.1.0.tar.gz +md5 f0762f083d83039758e53f8cf0086eef constantly-15.1.0.tar.gz # Locally computed -sha256 586372eb92059873e29eba4f9dec8381541b4d3834660707faf8ba59146dfc35 constantly-15.1.0.tar.gz +sha256 586372eb92059873e29eba4f9dec8381541b4d3834660707faf8ba59146dfc35 constantly-15.1.0.tar.gz sha256 020870fcaf4bf9c50b233e331817094fe109b91c0880570fd476f527cfbfc085 LICENSE diff --git a/package/python-couchdb/python-couchdb.hash b/package/python-couchdb/python-couchdb.hash index 67b7b1269..c73ee1e0b 100644 --- a/package/python-couchdb/python-couchdb.hash +++ b/package/python-couchdb/python-couchdb.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/couchdb/json -md5 de40696472202d728cfca4279629e4ff CouchDB-1.2.tar.gz -sha256 1386a1a43f25bed3667e3b805222054940d674fa1967fa48e9d2012a18630ab7 CouchDB-1.2.tar.gz +md5 de40696472202d728cfca4279629e4ff CouchDB-1.2.tar.gz +sha256 1386a1a43f25bed3667e3b805222054940d674fa1967fa48e9d2012a18630ab7 CouchDB-1.2.tar.gz # Locally computed sha256 checksums -sha256 c538da1ae16b6d75f6fa65852bb158dbf9e556b01681be5b692692906d244241 COPYING +sha256 c538da1ae16b6d75f6fa65852bb158dbf9e556b01681be5b692692906d244241 COPYING diff --git a/package/python-crcmod/python-crcmod.hash b/package/python-crcmod/python-crcmod.hash index 8ba98d3c0..43ef7dd8e 100644 --- a/package/python-crcmod/python-crcmod.hash +++ b/package/python-crcmod/python-crcmod.hash @@ -1,5 +1,5 @@ # md5 from https://pypi.python.org/pypi/crcmod/json -md5 2d5b92117d958dcead94f9e17f54cd32 crcmod-1.7.tar.gz +md5 2d5b92117d958dcead94f9e17f54cd32 crcmod-1.7.tar.gz # Locally computed -sha256 dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e crcmod-1.7.tar.gz +sha256 dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e crcmod-1.7.tar.gz sha256 89480768826f408daea1f3caff0509c2cc9606e10f6bb0ccfd12a3d604842c35 LICENSE diff --git a/package/python-cssselect/python-cssselect.hash b/package/python-cssselect/python-cssselect.hash index 44813416c..f0687a4ab 100644 --- a/package/python-cssselect/python-cssselect.hash +++ b/package/python-cssselect/python-cssselect.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/cssselect/json -md5 fa57704c1cb66cc8e537b782bd6b227e cssselect-1.1.0.tar.gz -sha256 f95f8dedd925fd8f54edb3d2dfb44c190d9d18512377d3c1e2388d16126879bc cssselect-1.1.0.tar.gz +md5 fa57704c1cb66cc8e537b782bd6b227e cssselect-1.1.0.tar.gz +sha256 f95f8dedd925fd8f54edb3d2dfb44c190d9d18512377d3c1e2388d16126879bc cssselect-1.1.0.tar.gz # Locally computed sha256 checksums -sha256 5c8da9f744e0afba81a48c9b5dbe73048f798b3287d6f1af8a05ee08ebb10892 LICENSE +sha256 5c8da9f744e0afba81a48c9b5dbe73048f798b3287d6f1af8a05ee08ebb10892 LICENSE diff --git a/package/python-daemonize/python-daemonize.hash b/package/python-daemonize/python-daemonize.hash index aa2c90452..43b0f43d8 100644 --- a/package/python-daemonize/python-daemonize.hash +++ b/package/python-daemonize/python-daemonize.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/daemonize/json -md5 3d64e7a0219ad22e3fca62460f893b6a daemonize-2.5.0.tar.gz -sha256 dd026e4ff8d22cb016ed2130bc738b7d4b1da597ef93c074d2adb9e4dea08bc3 daemonize-2.5.0.tar.gz +md5 3d64e7a0219ad22e3fca62460f893b6a daemonize-2.5.0.tar.gz +sha256 dd026e4ff8d22cb016ed2130bc738b7d4b1da597ef93c074d2adb9e4dea08bc3 daemonize-2.5.0.tar.gz # Locally computed sha256 checksums -sha256 248d0d3147d20a09bed8f03da8ed72f47009073606dcc1bab658f942d34b29f8 LICENSE +sha256 248d0d3147d20a09bed8f03da8ed72f47009073606dcc1bab658f942d34b29f8 LICENSE diff --git a/package/python-daphne/python-daphne.hash b/package/python-daphne/python-daphne.hash index cdf5e83eb..f80d7175c 100644 --- a/package/python-daphne/python-daphne.hash +++ b/package/python-daphne/python-daphne.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/daphne/json -md5 564353eaed92659e3b113d966a0288f2 daphne-2.4.1.tar.gz0 +md5 564353eaed92659e3b113d966a0288f2 daphne-2.4.1.tar.gz0 sha256 1e41d02d78da373c1f8504835cdca6d447b5d64c2941661d4bd968d412b6c383 daphne-2.4.1.tar.gz # Locally computed sha256 -sha256 b846415d1b514e9c1dff14a22deb906d794bc546ca6129f950a18cd091e2a669 LICENSE +sha256 b846415d1b514e9c1dff14a22deb906d794bc546ca6129f950a18cd091e2a669 LICENSE diff --git a/package/python-dialog3/python-dialog3.hash b/package/python-dialog3/python-dialog3.hash index 42a7512e4..4c43d4bf5 100644 --- a/package/python-dialog3/python-dialog3.hash +++ b/package/python-dialog3/python-dialog3.hash @@ -1,5 +1,5 @@ # md5 from https://pypi.python.org/pypi/pythondialog/json -md5 07e257d91099b804e040c6ea5ec56041 pythondialog-3.5.1.tar.gz +md5 07e257d91099b804e040c6ea5ec56041 pythondialog-3.5.1.tar.gz # Locally computed sha256 34a0687290571f37d7d297514cc36bd4cd044a3a4355271549f91490d3e7ece8 pythondialog-3.5.1.tar.gz sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING diff --git a/package/python-dicttoxml/python-dicttoxml.hash b/package/python-dicttoxml/python-dicttoxml.hash index 45c9fc8cc..d8c43d014 100644 --- a/package/python-dicttoxml/python-dicttoxml.hash +++ b/package/python-dicttoxml/python-dicttoxml.hash @@ -1,5 +1,5 @@ # md5 from https://pypi.python.org/pypi/dicttoxml/json -md5 ec5643a048cf32dad3c28db236b923e4 dicttoxml-1.7.4.tar.gz +md5 ec5643a048cf32dad3c28db236b923e4 dicttoxml-1.7.4.tar.gz # Locally computed -sha256 ea44cc4ec6c0f85098c57a431a1ee891b3549347b07b7414c8a24611ecf37e45 dicttoxml-1.7.4.tar.gz +sha256 ea44cc4ec6c0f85098c57a431a1ee891b3549347b07b7414c8a24611ecf37e45 dicttoxml-1.7.4.tar.gz sha256 4514114bd9da0b2fbf8c4fa264c0e6cc80fd41e6ac7f09d7a39a215662951c7c LICENCE.txt diff --git a/package/python-django-enumfields/python-django-enumfields.hash b/package/python-django-enumfields/python-django-enumfields.hash index 352fa8d90..99c6ca5e4 100644 --- a/package/python-django-enumfields/python-django-enumfields.hash +++ b/package/python-django-enumfields/python-django-enumfields.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/django-enumfields/json -md5 e06bcaecd583ee40e30d556bfcbf0d66 django-enumfields-2.1.1.tar.gz +md5 e06bcaecd583ee40e30d556bfcbf0d66 django-enumfields-2.1.1.tar.gz sha256 f64841732a9c343f5071220e0abcf5f51c9472c06e3c33d7c6a7ec27b6087561 django-enumfields-2.1.1.tar.gz # Locally computed sha256 checksums sha256 75b9c8c2514f22d66070ffc975c4d3132de01e0cc7b3a9662731bcb46cd2a042 LICENSE diff --git a/package/python-django/python-django.hash b/package/python-django/python-django.hash index f78df56c5..99730d2d6 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 a86339c0e87241597afa8744704d9965 Django-4.0.2.tar.gz -sha256 110fb58fb12eca59e072ad59fc42d771cd642dd7a2f2416582aa9da7a8ef954a Django-4.0.2.tar.gz +md5 1ff999292535f0c9fd729e60e3365c49 Django-4.0.10.tar.gz +sha256 2c2f73c16b11cb272c6d5e3b063f0d1be06f378d8dc6005fbe8542565db659cc Django-4.0.10.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 652ca477c..4bce93a9c 100644 --- a/package/python-django/python-django.mk +++ b/package/python-django/python-django.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_DJANGO_VERSION = 4.0.2 +PYTHON_DJANGO_VERSION = 4.0.10 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/61/84/676c840e8f1188a6c836e3224b97aa8be4c2e6857c690d6c564eb23a4975 +PYTHON_DJANGO_SITE = https://files.pythonhosted.org/packages/44/92/b0ceee230f9252460abf8c0a3bcc003a914af85ad63006596c3fb3669fbf PYTHON_DJANGO_LICENSE = BSD-3-Clause PYTHON_DJANGO_LICENSE_FILES = LICENSE diff --git a/package/python-docker-pycreds/python-docker-pycreds.hash b/package/python-docker-pycreds/python-docker-pycreds.hash index d93a3a1d3..06f2faf66 100644 --- a/package/python-docker-pycreds/python-docker-pycreds.hash +++ b/package/python-docker-pycreds/python-docker-pycreds.hash @@ -1,4 +1,4 @@ # md5 and sha256 from https://pypi.python.org/pypi/docker-pycreds/json -md5 322f570cea6b4661c6ac335683988e18 docker-pycreds-0.4.0.tar.gz -sha256 6ce3270bcaf404cc4c3e27e4b6c70d3521deae82fb508767870fdbf772d584d4 docker-pycreds-0.4.0.tar.gz -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE +md5 322f570cea6b4661c6ac335683988e18 docker-pycreds-0.4.0.tar.gz +sha256 6ce3270bcaf404cc4c3e27e4b6c70d3521deae82fb508767870fdbf772d584d4 docker-pycreds-0.4.0.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/python-docker/python-docker.hash b/package/python-docker/python-docker.hash index 0006a8a7d..678245a97 100644 --- a/package/python-docker/python-docker.hash +++ b/package/python-docker/python-docker.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/docker/json -md5 e1e8dc73e3220fe9eec1faf80b0290de docker-4.1.0.tar.gz -sha256 6e06c5e70ba4fad73e35f00c55a895a448398f3ada7faae072e2bb01348bafc1 docker-4.1.0.tar.gz +md5 e1e8dc73e3220fe9eec1faf80b0290de docker-4.1.0.tar.gz +sha256 6e06c5e70ba4fad73e35f00c55a895a448398f3ada7faae072e2bb01348bafc1 docker-4.1.0.tar.gz # Locally computed sha256 checksums -sha256 f2f0b07fa5e492c11d27aa0d2f3f1a0e64b9d17f32d8aa489ae2af9609af33b2 LICENSE +sha256 f2f0b07fa5e492c11d27aa0d2f3f1a0e64b9d17f32d8aa489ae2af9609af33b2 LICENSE diff --git a/package/python-dockerpty/python-dockerpty.hash b/package/python-dockerpty/python-dockerpty.hash index f5ed252bc..c934b3475 100644 --- a/package/python-dockerpty/python-dockerpty.hash +++ b/package/python-dockerpty/python-dockerpty.hash @@ -1,4 +1,4 @@ # md5 from https://pypi.python.org/pypi/dockerpty/json, sha256 locally computed -md5 028bacb34536f3ee6a2ccd668c27e8e4 dockerpty-0.4.1.tar.gz -sha256 69a9d69d573a0daa31bcd1c0774eeed5c15c295fe719c61aca550ed1393156ce dockerpty-0.4.1.tar.gz -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt +md5 028bacb34536f3ee6a2ccd668c27e8e4 dockerpty-0.4.1.tar.gz +sha256 69a9d69d573a0daa31bcd1c0774eeed5c15c295fe719c61aca550ed1393156ce dockerpty-0.4.1.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt diff --git a/package/python-entrypoints/python-entrypoints.hash b/package/python-entrypoints/python-entrypoints.hash index c64545210..95c092e5e 100644 --- a/package/python-entrypoints/python-entrypoints.hash +++ b/package/python-entrypoints/python-entrypoints.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/entrypoints/json -md5 c5c61ea2e46a0c50ea08f4af7955a0b1 entrypoints-0.3.tar.gz -sha256 c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451 entrypoints-0.3.tar.gz +md5 c5c61ea2e46a0c50ea08f4af7955a0b1 entrypoints-0.3.tar.gz +sha256 c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451 entrypoints-0.3.tar.gz # Locally computed sha256 checksums -sha256 de5fcd7349cdf399b0707a2a024833c4704743650133c72d6f0ff7561a03a848 LICENSE +sha256 de5fcd7349cdf399b0707a2a024833c4704743650133c72d6f0ff7561a03a848 LICENSE diff --git a/package/python-esptool/python-esptool.hash b/package/python-esptool/python-esptool.hash index a916f9a09..311973ad3 100644 --- a/package/python-esptool/python-esptool.hash +++ b/package/python-esptool/python-esptool.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/esptool/json -md5 84aa6ffb4723b1f59a2c83244a9ad918 esptool-3.2.tar.gz -sha256 9638ff11c68e621e08e7c3335d4fd9d70b2ddcf7caae778073cd8cc27be1216f esptool-3.2.tar.gz +md5 84aa6ffb4723b1f59a2c83244a9ad918 esptool-3.2.tar.gz +sha256 9638ff11c68e621e08e7c3335d4fd9d70b2ddcf7caae778073cd8cc27be1216f esptool-3.2.tar.gz # Locally computed sha256 checksums -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/python-fastentrypoints/python-fastentrypoints.hash b/package/python-fastentrypoints/python-fastentrypoints.hash index 71165d61f..0d505cd10 100644 --- a/package/python-fastentrypoints/python-fastentrypoints.hash +++ b/package/python-fastentrypoints/python-fastentrypoints.hash @@ -1,4 +1,4 @@ # md5 from https://pypi.org/pypi/fastentrypoints/json, sha256 locally computed -md5 390ad9a9229164a06156a5b1f0ef1b22 fastentrypoints-0.12.tar.gz -sha256 ff284f1469bd65400599807d2c6284d5b251398e6e28811f5f77fd262292410b fastentrypoints-0.12.tar.gz -sha256 d1ce3f6a7bb1a7194c7d826a0ca318176b12e58616d9e3d8f366ad43802787c4 fastentrypoints.py +md5 390ad9a9229164a06156a5b1f0ef1b22 fastentrypoints-0.12.tar.gz +sha256 ff284f1469bd65400599807d2c6284d5b251398e6e28811f5f77fd262292410b fastentrypoints-0.12.tar.gz +sha256 d1ce3f6a7bb1a7194c7d826a0ca318176b12e58616d9e3d8f366ad43802787c4 fastentrypoints.py diff --git a/package/python-flask-babel/python-flask-babel.hash b/package/python-flask-babel/python-flask-babel.hash index 46a019c98..484af8617 100644 --- a/package/python-flask-babel/python-flask-babel.hash +++ b/package/python-flask-babel/python-flask-babel.hash @@ -1,6 +1,6 @@ # From: https://pypi.org/project/Flask-Babel/#copy-hash-modal-80f92a70-1c66-4cce-bb3d-8d6f98287e3f md5 50d5e92d96ef58787bf85b5a1b0a5567 Flask-Babel-2.0.0.tar.gz -sha256 f9faf45cdb2e1a32ea2ec14403587d4295108f35017a7821a2b1acb8cfd9257d Flask-Babel-2.0.0.tar.gz +sha256 f9faf45cdb2e1a32ea2ec14403587d4295108f35017a7821a2b1acb8cfd9257d Flask-Babel-2.0.0.tar.gz # License files -sha256 a526100a7047237360a394ba4f70ae801b50ff9b8c9b9e73e7795480a59f6b7e LICENSE +sha256 a526100a7047237360a394ba4f70ae801b50ff9b8c9b9e73e7795480a59f6b7e LICENSE diff --git a/package/python-flask-jsonrpc/python-flask-jsonrpc.hash b/package/python-flask-jsonrpc/python-flask-jsonrpc.hash index 4204f59dd..9a669b426 100644 --- a/package/python-flask-jsonrpc/python-flask-jsonrpc.hash +++ b/package/python-flask-jsonrpc/python-flask-jsonrpc.hash @@ -1,5 +1,5 @@ # md5 from https://pypi.python.org/pypi/flask-jsonrpc/json -md5 5c0592f53b2f18e34d5be435acee8842 Flask-JSONRPC-0.3.1.tar.gz +md5 5c0592f53b2f18e34d5be435acee8842 Flask-JSONRPC-0.3.1.tar.gz # Locally computed -sha256 4d0cc9c20874093306af91f5a48009fb8659a041428dcdb11703598ffbbc97d0 Flask-JSONRPC-0.3.1.tar.gz +sha256 4d0cc9c20874093306af91f5a48009fb8659a041428dcdb11703598ffbbc97d0 Flask-JSONRPC-0.3.1.tar.gz sha256 f613b06cbe766fd514b1b619a71a12c353cccaa55fa4f547be55563d9829be6f setup.py diff --git a/package/python-flask-sqlalchemy/python-flask-sqlalchemy.hash b/package/python-flask-sqlalchemy/python-flask-sqlalchemy.hash index f1fe9775f..706e1bca3 100644 --- a/package/python-flask-sqlalchemy/python-flask-sqlalchemy.hash +++ b/package/python-flask-sqlalchemy/python-flask-sqlalchemy.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/flask-sqlalchemy/json -md5 1f5781cf3e1a2b1aabda47a5b20d2073 Flask-SQLAlchemy-2.4.1.tar.gz -sha256 6974785d913666587949f7c2946f7001e4fa2cb2d19f4e69ead02e4b8f50b33d Flask-SQLAlchemy-2.4.1.tar.gz +md5 1f5781cf3e1a2b1aabda47a5b20d2073 Flask-SQLAlchemy-2.4.1.tar.gz +sha256 6974785d913666587949f7c2946f7001e4fa2cb2d19f4e69ead02e4b8f50b33d Flask-SQLAlchemy-2.4.1.tar.gz # Locally computed sha256 checksums -sha256 489a8e1108509ed98a37bb983e11e0f7e1d31f0bd8f99a79c8448e7ff37d07ea LICENSE.rst +sha256 489a8e1108509ed98a37bb983e11e0f7e1d31f0bd8f99a79c8448e7ff37d07ea LICENSE.rst diff --git a/package/python-flask/python-flask.hash b/package/python-flask/python-flask.hash index c6ccd633f..efca5f73c 100644 --- a/package/python-flask/python-flask.hash +++ b/package/python-flask/python-flask.hash @@ -1,7 +1,7 @@ # From https://pypi.org/project/Flask/#copy-hash-modal-911ffb67-fe84-4e25-a1a9-f4c745a0a980 md5 0da4145d172993cd28a6c619630cc19c Flask-1.1.2.tar.gz -sha256 4efa1ae2d7c9865af48986de8aeb8504bf32c7f3d6fdc9353d34b21f4b127060 Flask-1.1.2.tar.gz +sha256 4efa1ae2d7c9865af48986de8aeb8504bf32c7f3d6fdc9353d34b21f4b127060 Flask-1.1.2.tar.gz # License files -sha256 489a8e1108509ed98a37bb983e11e0f7e1d31f0bd8f99a79c8448e7ff37d07ea LICENSE.rst -sha256 0ef3ae025f4a398761079f0d687ff3d66f4fef3a32ac2607318e909c0cba9150 docs/license.rst +sha256 489a8e1108509ed98a37bb983e11e0f7e1d31f0bd8f99a79c8448e7ff37d07ea LICENSE.rst +sha256 0ef3ae025f4a398761079f0d687ff3d66f4fef3a32ac2607318e909c0cba9150 docs/license.rst diff --git a/package/python-flup/python-flup.hash b/package/python-flup/python-flup.hash index d544d75e9..b28f05acf 100644 --- a/package/python-flup/python-flup.hash +++ b/package/python-flup/python-flup.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/flup/json -md5 a64e7a6374e043480ee92534c735964e flup-1.0.3.tar.gz -sha256 5eb09f26eb0751f8380d8ac43d1dfb20e1d42eca0fa45ea9289fa532a79cd159 flup-1.0.3.tar.gz +md5 a64e7a6374e043480ee92534c735964e flup-1.0.3.tar.gz +sha256 5eb09f26eb0751f8380d8ac43d1dfb20e1d42eca0fa45ea9289fa532a79cd159 flup-1.0.3.tar.gz # Locally computed sha256 checksums -sha256 66a60ebc732165d199ec018fb9876d9f8168a5a8575375e64cc1b3d78c32b481 PKG-INFO +sha256 66a60ebc732165d199ec018fb9876d9f8168a5a8575375e64cc1b3d78c32b481 PKG-INFO diff --git a/package/python-future/python-future.hash b/package/python-future/python-future.hash index c43018103..3b2bbb021 100644 --- a/package/python-future/python-future.hash +++ b/package/python-future/python-future.hash @@ -1,5 +1,5 @@ -# md5, sha256 from https://pypi.python.org/pypi/future/json -md5 e4579c836b9c025872efe230f6270349 future-0.18.2.tar.gz -sha256 b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d future-0.18.2.tar.gz +# md5, sha256 from https://pypi.org/pypi/future/json +md5 dedcb70d14b23388670d54145aab8be4 future-0.18.3.tar.gz +sha256 34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307 future-0.18.3.tar.gz # Locally computed sha256 checksums -sha256 916e561392d48471b9c23437f56e2652f320cb3b119ceaa162edf41016f746b9 LICENSE.txt +sha256 916e561392d48471b9c23437f56e2652f320cb3b119ceaa162edf41016f746b9 LICENSE.txt diff --git a/package/python-future/python-future.mk b/package/python-future/python-future.mk index 76f32180a..57bf13d83 100644 --- a/package/python-future/python-future.mk +++ b/package/python-future/python-future.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_FUTURE_VERSION = 0.18.2 +PYTHON_FUTURE_VERSION = 0.18.3 PYTHON_FUTURE_SOURCE = future-$(PYTHON_FUTURE_VERSION).tar.gz -PYTHON_FUTURE_SITE = https://files.pythonhosted.org/packages/45/0b/38b06fd9b92dc2b68d58b75f900e97884c45bedd2ff83203d933cf5851c9 +PYTHON_FUTURE_SITE = https://files.pythonhosted.org/packages/8f/2e/cf6accf7415237d6faeeebdc7832023c90e0282aa16fd3263db0eb4715ec PYTHON_FUTURE_SETUP_TYPE = setuptools PYTHON_FUTURE_LICENSE = MIT PYTHON_FUTURE_LICENSE_FILES = LICENSE.txt diff --git a/package/python-gitdb2/python-gitdb2.hash b/package/python-gitdb2/python-gitdb2.hash index 7d9bf78f7..7bc187cf5 100644 --- a/package/python-gitdb2/python-gitdb2.hash +++ b/package/python-gitdb2/python-gitdb2.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/gitdb/json -md5 3f52187435ab0b6e64a15782ffaf29ab gitdb-4.0.7.tar.gz -sha256 96bf5c08b157a666fec41129e6d327235284cca4c81e92109260f353ba138005 gitdb-4.0.7.tar.gz +md5 3f52187435ab0b6e64a15782ffaf29ab gitdb-4.0.7.tar.gz +sha256 96bf5c08b157a666fec41129e6d327235284cca4c81e92109260f353ba138005 gitdb-4.0.7.tar.gz # Locally computed sha256 checksums -sha256 efd29f596a08e8857e68e7694a50bcda72839792da7c3f041bcbff5f18009239 LICENSE +sha256 efd29f596a08e8857e68e7694a50bcda72839792da7c3f041bcbff5f18009239 LICENSE diff --git a/package/python-greenlet/python-greenlet.mk b/package/python-greenlet/python-greenlet.mk index 3b1ef7e31..72d274797 100644 --- a/package/python-greenlet/python-greenlet.mk +++ b/package/python-greenlet/python-greenlet.mk @@ -10,6 +10,7 @@ PYTHON_GREENLET_SITE = https://files.pythonhosted.org/packages/0c/10/754e21b5bea PYTHON_GREENLET_SETUP_TYPE = setuptools PYTHON_GREENLET_LICENSE = MIT, PSF-2.0 PYTHON_GREENLET_LICENSE_FILES = LICENSE LICENSE.PSF +PYTHON_GREENLET_ENV = GREENLET_TEST_CPP=no $(eval $(python-package)) $(eval $(host-python-package)) diff --git a/package/python-huepy/python-huepy.hash b/package/python-huepy/python-huepy.hash index 5a1a8fc1e..32d0eb267 100644 --- a/package/python-huepy/python-huepy.hash +++ b/package/python-huepy/python-huepy.hash @@ -1,4 +1,4 @@ # Locally computer sha256 checksums -md5 da6514d9d61fb75ac9470f6863ce1aca python-huepy-a9851d5aea10d2299cc62b3f6dce26ac4ef2ea3e.tar.gz -sha256 63147cef5ecae5c1ab38000be91def351710e6bef2c5f67b5303418becf6c0f2 python-huepy-a9851d5aea10d2299cc62b3f6dce26ac4ef2ea3e.tar.gz +md5 da6514d9d61fb75ac9470f6863ce1aca python-huepy-a9851d5aea10d2299cc62b3f6dce26ac4ef2ea3e.tar.gz +sha256 63147cef5ecae5c1ab38000be91def351710e6bef2c5f67b5303418becf6c0f2 python-huepy-a9851d5aea10d2299cc62b3f6dce26ac4ef2ea3e.tar.gz sha256 8b1ba204bb69a0ade2bfcf65ef294a920f6bb361b317dba43c7ef29d96332b9b LICENSE diff --git a/package/python-ibmiotf/python-ibmiotf.hash b/package/python-ibmiotf/python-ibmiotf.hash index 6b60aa527..9ed99c4f9 100644 --- a/package/python-ibmiotf/python-ibmiotf.hash +++ b/package/python-ibmiotf/python-ibmiotf.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/ibmiotf/json -md5 a103427c15b2bc96d72de5e58975638c ibmiotf-0.4.0.tar.gz -sha256 753a29858d48ebd89aff8b73c207028814714d8a004a3c19b436c9bbeaa65ce6 ibmiotf-0.4.0.tar.gz +md5 a103427c15b2bc96d72de5e58975638c ibmiotf-0.4.0.tar.gz +sha256 753a29858d48ebd89aff8b73c207028814714d8a004a3c19b436c9bbeaa65ce6 ibmiotf-0.4.0.tar.gz # Locally computed sha256 checksums -sha256 2c153c48f67e56031036fc28d12f76238a5151494bdfc24b6b81ec734c387a2d LICENSE +sha256 2c153c48f67e56031036fc28d12f76238a5151494bdfc24b6b81ec734c387a2d LICENSE diff --git a/package/python-iniparse/python-iniparse.hash b/package/python-iniparse/python-iniparse.hash index 238d41e06..afcfcd2ff 100644 --- a/package/python-iniparse/python-iniparse.hash +++ b/package/python-iniparse/python-iniparse.hash @@ -1,5 +1,5 @@ # From https://pypi.org/project/iniparse/#copy-hash-modal-5fdd923b-0592-4d2d-8b49-03472f948290 -md5 2054bab923df21107652d009f2373789 iniparse-0.5.tar.gz +md5 2054bab923df21107652d009f2373789 iniparse-0.5.tar.gz sha256 932e5239d526e7acb504017bb707be67019ac428a6932368e6851691093aa842 iniparse-0.5.tar.gz # sha256 locally computed diff --git a/package/python-iowait/python-iowait.hash b/package/python-iowait/python-iowait.hash index fcaf8cc56..fc10e180f 100644 --- a/package/python-iowait/python-iowait.hash +++ b/package/python-iowait/python-iowait.hash @@ -1,4 +1,4 @@ # md5 from https://pypi.python.org/pypi/iowait/json, sha256 locally computed -md5 f49ca7766fe4a67e03a731e575614f87 iowait-0.2.tar.gz -sha256 ab1bc2eb84c22ccf61f17a0024f9fb6df781b39f1852764a66a7769d5adfb299 iowait-0.2.tar.gz +md5 f49ca7766fe4a67e03a731e575614f87 iowait-0.2.tar.gz +sha256 ab1bc2eb84c22ccf61f17a0024f9fb6df781b39f1852764a66a7769d5adfb299 iowait-0.2.tar.gz sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING.LESSER diff --git a/package/python-ipython-genutils/python-ipython-genutils.hash b/package/python-ipython-genutils/python-ipython-genutils.hash index 579cc7642..fd719c93a 100644 --- a/package/python-ipython-genutils/python-ipython-genutils.hash +++ b/package/python-ipython-genutils/python-ipython-genutils.hash @@ -1,5 +1,5 @@ # md5 from https://pypi.python.org/pypi/ipython_genutils/json -md5 5a4f9781f78466da0ea1a648f3e1f79f ipython_genutils-0.2.0.tar.gz +md5 5a4f9781f78466da0ea1a648f3e1f79f ipython_genutils-0.2.0.tar.gz # Locally computed sha256 eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8 ipython_genutils-0.2.0.tar.gz sha256 f09da6c0f4971485f6fbd6c630d0d6cdd012bfe128b2ebbd014de2f6c7c7e2a6 COPYING.md diff --git a/package/python-jaraco-classes/python-jaraco-classes.hash b/package/python-jaraco-classes/python-jaraco-classes.hash index 6489e8594..088ee2269 100644 --- a/package/python-jaraco-classes/python-jaraco-classes.hash +++ b/package/python-jaraco-classes/python-jaraco-classes.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/jaraco.classes/json -md5 63d4f5a2df2625ec3979c9633da1505e jaraco.classes-2.0.tar.gz +md5 63d4f5a2df2625ec3979c9633da1505e jaraco.classes-2.0.tar.gz sha256 dcc2c4a8ca4b344cdbf2e1be7124a5c4f192574cdbb453b62350ae8240a2caf5 jaraco.classes-2.0.tar.gz # Locally computed sha256 checksums sha256 a55e2ffe9b44998e621d51d8c094bed09acc4b5236ee73d7df395a33ba3c18fd LICENSE diff --git a/package/python-jaraco-functools/python-jaraco-functools.hash b/package/python-jaraco-functools/python-jaraco-functools.hash index 051a39bfc..95380aff9 100644 --- a/package/python-jaraco-functools/python-jaraco-functools.hash +++ b/package/python-jaraco-functools/python-jaraco-functools.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/jaraco.functools/json -md5 c245ade3e753bc556415f1fec102f232 jaraco.functools-2.0.tar.gz +md5 c245ade3e753bc556415f1fec102f232 jaraco.functools-2.0.tar.gz sha256 35ba944f52b1a7beee8843a5aa6752d1d5b79893eeb7770ea98be6b637bf9345 jaraco.functools-2.0.tar.gz # Locally computed sha256 checksums sha256 a55e2ffe9b44998e621d51d8c094bed09acc4b5236ee73d7df395a33ba3c18fd LICENSE diff --git a/package/python-json-schema-validator/python-json-schema-validator.hash b/package/python-json-schema-validator/python-json-schema-validator.hash index 7360abab9..94a0235a6 100644 --- a/package/python-json-schema-validator/python-json-schema-validator.hash +++ b/package/python-json-schema-validator/python-json-schema-validator.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/json-schema-validator/json, sha256 locally computed -md5 7691b41739faaa8b0965279e72889932 json-schema-validator-2.4.1.tar.gz -sha256 1562a21d83e56231cef09b9aa2c06e8f845974bd26f24be293de6cab9a2fac91 json-schema-validator-2.4.1.tar.gz +md5 7691b41739faaa8b0965279e72889932 json-schema-validator-2.4.1.tar.gz +sha256 1562a21d83e56231cef09b9aa2c06e8f845974bd26f24be293de6cab9a2fac91 json-schema-validator-2.4.1.tar.gz diff --git a/package/python-jsonmodels/python-jsonmodels.hash b/package/python-jsonmodels/python-jsonmodels.hash index 16e200b03..1b0548fd2 100644 --- a/package/python-jsonmodels/python-jsonmodels.hash +++ b/package/python-jsonmodels/python-jsonmodels.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/jsonmodels/json -md5 96132e252887f840d23792c03fad2039 jsonmodels-2.4.tar.gz -sha256 abc8dc334a1794513e511a75639f77c271ef6a2992b6793f3753c7335dd18775 jsonmodels-2.4.tar.gz +md5 96132e252887f840d23792c03fad2039 jsonmodels-2.4.tar.gz +sha256 abc8dc334a1794513e511a75639f77c271ef6a2992b6793f3753c7335dd18775 jsonmodels-2.4.tar.gz # Locally computed sha256 checksums -sha256 3b1219763eec6924ddd4c4d61dee6a53c5fc9ab62707a9ad763ee363d3050cc5 LICENSE +sha256 3b1219763eec6924ddd4c4d61dee6a53c5fc9ab62707a9ad763ee363d3050cc5 LICENSE diff --git a/package/python-jsonschema/python-jsonschema.hash b/package/python-jsonschema/python-jsonschema.hash index c631fe981..dd32f5dd3 100644 --- a/package/python-jsonschema/python-jsonschema.hash +++ b/package/python-jsonschema/python-jsonschema.hash @@ -1,6 +1,6 @@ # md5 from https://pypi.python.org/pypi/jsonschema/json -md5 374e848fdb69a3ce8b7e778b47c30640 jsonschema-2.5.1.tar.gz +md5 374e848fdb69a3ce8b7e778b47c30640 jsonschema-2.5.1.tar.gz # Locally computed -sha256 36673ac378feed3daa5956276a829699056523d7961027911f064b52255ead41 jsonschema-2.5.1.tar.gz +sha256 36673ac378feed3daa5956276a829699056523d7961027911f064b52255ead41 jsonschema-2.5.1.tar.gz sha256 4f92a015a13c4d1a040bef018aa13430b4f1bc73b41b16bb846c346766de7439 COPYING sha256 837402bd25fad9b704265801ca3f92566a98157c1f9a7acd6f446299ba1c305a json/LICENSE diff --git a/package/python-keyring/python-keyring.hash b/package/python-keyring/python-keyring.hash index 159579f79..692217f43 100644 --- a/package/python-keyring/python-keyring.hash +++ b/package/python-keyring/python-keyring.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/keyring/json -md5 1eb6d586ee5794de4bf39c1f513a3139 keyring-19.2.0.tar.gz -sha256 91037ccaf0c9a112a76f7740e4a416b9457a69b66c2799421581bee710a974b3 keyring-19.2.0.tar.gz +md5 1eb6d586ee5794de4bf39c1f513a3139 keyring-19.2.0.tar.gz +sha256 91037ccaf0c9a112a76f7740e4a416b9457a69b66c2799421581bee710a974b3 keyring-19.2.0.tar.gz # Locally computed sha256 checksums sha256 a55e2ffe9b44998e621d51d8c094bed09acc4b5236ee73d7df395a33ba3c18fd LICENSE diff --git a/package/python-kiwisolver/python-kiwisolver.hash b/package/python-kiwisolver/python-kiwisolver.hash index 9cdb27002..aa7d79ced 100644 --- a/package/python-kiwisolver/python-kiwisolver.hash +++ b/package/python-kiwisolver/python-kiwisolver.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 48168c0ace18319c649e31907f6d8586f648e503560f506f128798b99393bcdb python-kiwisolver-1.1.0.tar.gz -sha256 95c32f73d43fa54d8146badbcbd73b83acb7fa2cc81a7cef7784b3cd33b146a0 LICENSE +sha256 48168c0ace18319c649e31907f6d8586f648e503560f506f128798b99393bcdb python-kiwisolver-1.1.0.tar.gz +sha256 95c32f73d43fa54d8146badbcbd73b83acb7fa2cc81a7cef7784b3cd33b146a0 LICENSE diff --git a/package/python-libusb1/python-libusb1.hash b/package/python-libusb1/python-libusb1.hash index bbbc6e0a7..7d2302e08 100644 --- a/package/python-libusb1/python-libusb1.hash +++ b/package/python-libusb1/python-libusb1.hash @@ -1,4 +1,4 @@ # md5 from https://pypi.python.org/pypi/libusb1/json, sha256 locally computed md5 b087646fb0c8c4cf7e8123af72f885b9 libusb1-2.0.1.tar.gz sha256 d3ba82ecf7ab6a48d21dac6697e26504670cc3522b8e5941bd28fb56cf3f6c46 libusb1-2.0.1.tar.gz -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LESSER +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LESSER diff --git a/package/python-lockfile/python-lockfile.hash b/package/python-lockfile/python-lockfile.hash index ac1b7d2d4..641f4b64d 100644 --- a/package/python-lockfile/python-lockfile.hash +++ b/package/python-lockfile/python-lockfile.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/project/lockfile/#copy-hash-modal-3c1db9ec-dd6e-4d06-8543-91094f428ac0 -md5 a6a1a82957a23afdf44cfdd039b65ff9 lockfile-0.12.2.tar.gz -sha256 6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799 lockfile-0.12.2.tar.gz +md5 a6a1a82957a23afdf44cfdd039b65ff9 lockfile-0.12.2.tar.gz +sha256 6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799 lockfile-0.12.2.tar.gz # Locally computed sha256 -sha256 a26276d53dacb369641f31aa0fe37216028a0d93753f862ae206ce04f54b7b29 LICENSE +sha256 a26276d53dacb369641f31aa0fe37216028a0d93753f862ae206ce04f54b7b29 LICENSE diff --git a/package/python-logbook/python-logbook.hash b/package/python-logbook/python-logbook.hash index 7cbcf6caf..d77acad76 100644 --- a/package/python-logbook/python-logbook.hash +++ b/package/python-logbook/python-logbook.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/logbook/json -md5 719970ea22dd274797bb4328161d700f Logbook-1.5.3.tar.gz -sha256 66f454ada0f56eae43066f604a222b09893f98c1adc18df169710761b8f32fe8 Logbook-1.5.3.tar.gz +md5 719970ea22dd274797bb4328161d700f Logbook-1.5.3.tar.gz +sha256 66f454ada0f56eae43066f604a222b09893f98c1adc18df169710761b8f32fe8 Logbook-1.5.3.tar.gz # Locally computed sha256 checksums -sha256 2ca266337cc6947578654ab0dd6438de4d01fa78b2e6eb554b09757df1178f98 LICENSE +sha256 2ca266337cc6947578654ab0dd6438de4d01fa78b2e6eb554b09757df1178f98 LICENSE diff --git a/package/python-logstash/python-logstash.hash b/package/python-logstash/python-logstash.hash index ba11c7ffa..e00b32031 100644 --- a/package/python-logstash/python-logstash.hash +++ b/package/python-logstash/python-logstash.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/python-logstash/json -md5 26fafa0ea306025fb7644d70cb38982a python-logstash-0.4.6.tar.gz -sha256 10943e5df83f592b4d61b63ad1afff855ccc8c9467f78718f0a59809ba1fe68c python-logstash-0.4.6.tar.gz +md5 26fafa0ea306025fb7644d70cb38982a python-logstash-0.4.6.tar.gz +sha256 10943e5df83f592b4d61b63ad1afff855ccc8c9467f78718f0a59809ba1fe68c python-logstash-0.4.6.tar.gz # Locally computed sha256 checksums -sha256 fea6a5c634ac9d9e047151675adc197c16f45bfba3c26ab113f48fb9fa717fff LICENSE +sha256 fea6a5c634ac9d9e047151675adc197c16f45bfba3c26ab113f48fb9fa717fff LICENSE diff --git a/package/python-lxml/python-lxml.hash b/package/python-lxml/python-lxml.hash index e33a8f810..cd1943b0b 100644 --- a/package/python-lxml/python-lxml.hash +++ b/package/python-lxml/python-lxml.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 6e84edecc3a82f90d44ddee2ee2a2630d4994b8471816e226d2b771cda7ac4ca lxml-4.6.5.tar.gz +sha256 fe749b052bb7233fe5d072fcb549221a8cb1a16725c47c37e42b0b9cb3ff2c3f lxml-4.9.1.tar.gz sha256 41d49dd406aa0e1548a6d5f21a30d6bf638b3cd96eb7289dd348d83ed2e40392 LICENSES.txt sha256 69edb445c1335a8312d4c09271847e9956d84f0d9f724d125340cc3fad767b2a doc/licenses/BSD.txt sha256 0497ae8138811ef4466ede653bab7a59feb3d3c14f9ed50fc33a00aeb5bec32e doc/licenses/elementtree.txt diff --git a/package/python-lxml/python-lxml.mk b/package/python-lxml/python-lxml.mk index 8c2e965af..050495c3f 100644 --- a/package/python-lxml/python-lxml.mk +++ b/package/python-lxml/python-lxml.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_LXML_VERSION = 4.6.5 -PYTHON_LXML_SITE = https://files.pythonhosted.org/packages/e6/e1/34b3ab08553fe9a30e15b2bb9d1803a49d7d907dd9f245638839190042f0 +PYTHON_LXML_VERSION = 4.9.1 +PYTHON_LXML_SITE = https://files.pythonhosted.org/packages/70/bb/7a2c7b4f8f434aa1ee801704bf08f1e53d7b5feba3d5313ab17003477808 PYTHON_LXML_SOURCE = lxml-$(PYTHON_LXML_VERSION).tar.gz # Not including the GPL, because it is used only for the test scripts. diff --git a/package/python-m2crypto/0001-Mitigate-the-Bleichenbacher-timing-attacks-in-the-RSA-decryption-API-CVE-2020-25657.patch b/package/python-m2crypto/0001-Mitigate-the-Bleichenbacher-timing-attacks-in-the-RSA-decryption-API-CVE-2020-25657.patch new file mode 100644 index 000000000..68200b7d9 --- /dev/null +++ b/package/python-m2crypto/0001-Mitigate-the-Bleichenbacher-timing-attacks-in-the-RSA-decryption-API-CVE-2020-25657.patch @@ -0,0 +1,174 @@ +From 84c53958def0f510e92119fca14d74f94215827a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mat=C4=9Bj=20Cepl?= +Date: Tue, 28 Jun 2022 21:17:01 +0200 +Subject: [PATCH] Mitigate the Bleichenbacher timing attacks in the RSA + decryption API (CVE-2020-25657) + +Fixes #282 + +[Retrieved from: +https://gitlab.com/m2crypto/m2crypto/-/commit/84c53958def0f510e92119fca14d74f94215827a] +Signed-off-by: Fabrice Fontaine +--- + src/SWIG/_m2crypto_wrap.c | 20 ++++++++++++-------- + src/SWIG/_rsa.i | 20 ++++++++++++-------- + tests/test_rsa.py | 15 +++++++-------- + 3 files changed, 31 insertions(+), 24 deletions(-) + +diff --git a/src/SWIG/_m2crypto_wrap.c b/src/SWIG/_m2crypto_wrap.c +index aba9eb6d..a9f30da9 100644 +--- a/src/SWIG/_m2crypto_wrap.c ++++ b/src/SWIG/_m2crypto_wrap.c +@@ -7040,9 +7040,10 @@ PyObject *rsa_private_encrypt(RSA *rsa, PyObject *from, int padding) { + tlen = RSA_private_encrypt(flen, (unsigned char *)fbuf, + (unsigned char *)tbuf, rsa, padding); + if (tlen == -1) { +- m2_PyErr_Msg(_rsa_err); ++ ERR_clear_error(); ++ PyErr_Clear(); + PyMem_Free(tbuf); +- return NULL; ++ Py_RETURN_NONE; + } + + ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen); +@@ -7070,9 +7071,10 @@ PyObject *rsa_public_decrypt(RSA *rsa, PyObject *from, int padding) { + tlen = RSA_public_decrypt(flen, (unsigned char *)fbuf, + (unsigned char *)tbuf, rsa, padding); + if (tlen == -1) { +- m2_PyErr_Msg(_rsa_err); ++ ERR_clear_error(); ++ PyErr_Clear(); + PyMem_Free(tbuf); +- return NULL; ++ Py_RETURN_NONE; + } + + ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen); +@@ -7097,9 +7099,10 @@ PyObject *rsa_public_encrypt(RSA *rsa, PyObject *from, int padding) { + tlen = RSA_public_encrypt(flen, (unsigned char *)fbuf, + (unsigned char *)tbuf, rsa, padding); + if (tlen == -1) { +- m2_PyErr_Msg(_rsa_err); ++ ERR_clear_error(); ++ PyErr_Clear(); + PyMem_Free(tbuf); +- return NULL; ++ Py_RETURN_NONE; + } + + ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen); +@@ -7124,9 +7127,10 @@ PyObject *rsa_private_decrypt(RSA *rsa, PyObject *from, int padding) { + tlen = RSA_private_decrypt(flen, (unsigned char *)fbuf, + (unsigned char *)tbuf, rsa, padding); + if (tlen == -1) { +- m2_PyErr_Msg(_rsa_err); ++ ERR_clear_error(); ++ PyErr_Clear(); + PyMem_Free(tbuf); +- return NULL; ++ Py_RETURN_NONE; + } + ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen); + +diff --git a/src/SWIG/_rsa.i b/src/SWIG/_rsa.i +index bc714e01..1377b8be 100644 +--- a/src/SWIG/_rsa.i ++++ b/src/SWIG/_rsa.i +@@ -239,9 +239,10 @@ PyObject *rsa_private_encrypt(RSA *rsa, PyObject *from, int padding) { + tlen = RSA_private_encrypt(flen, (unsigned char *)fbuf, + (unsigned char *)tbuf, rsa, padding); + if (tlen == -1) { +- m2_PyErr_Msg(_rsa_err); ++ ERR_clear_error(); ++ PyErr_Clear(); + PyMem_Free(tbuf); +- return NULL; ++ Py_RETURN_NONE; + } + + ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen); +@@ -269,9 +270,10 @@ PyObject *rsa_public_decrypt(RSA *rsa, PyObject *from, int padding) { + tlen = RSA_public_decrypt(flen, (unsigned char *)fbuf, + (unsigned char *)tbuf, rsa, padding); + if (tlen == -1) { +- m2_PyErr_Msg(_rsa_err); ++ ERR_clear_error(); ++ PyErr_Clear(); + PyMem_Free(tbuf); +- return NULL; ++ Py_RETURN_NONE; + } + + ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen); +@@ -296,9 +298,10 @@ PyObject *rsa_public_encrypt(RSA *rsa, PyObject *from, int padding) { + tlen = RSA_public_encrypt(flen, (unsigned char *)fbuf, + (unsigned char *)tbuf, rsa, padding); + if (tlen == -1) { +- m2_PyErr_Msg(_rsa_err); ++ ERR_clear_error(); ++ PyErr_Clear(); + PyMem_Free(tbuf); +- return NULL; ++ Py_RETURN_NONE; + } + + ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen); +@@ -323,9 +326,10 @@ PyObject *rsa_private_decrypt(RSA *rsa, PyObject *from, int padding) { + tlen = RSA_private_decrypt(flen, (unsigned char *)fbuf, + (unsigned char *)tbuf, rsa, padding); + if (tlen == -1) { +- m2_PyErr_Msg(_rsa_err); ++ ERR_clear_error(); ++ PyErr_Clear(); + PyMem_Free(tbuf); +- return NULL; ++ Py_RETURN_NONE; + } + ret = PyBytes_FromStringAndSize((const char *)tbuf, tlen); + +diff --git a/tests/test_rsa.py b/tests/test_rsa.py +index 7bb3af75..5e75d681 100644 +--- a/tests/test_rsa.py ++++ b/tests/test_rsa.py +@@ -109,8 +109,9 @@ class RSATestCase(unittest.TestCase): + # The other paddings. + for padding in self.s_padding_nok: + p = getattr(RSA, padding) +- with self.assertRaises(RSA.RSAError): +- priv.private_encrypt(self.data, p) ++ # Exception disabled as a part of mitigation against CVE-2020-25657 ++ # with self.assertRaises(RSA.RSAError): ++ priv.private_encrypt(self.data, p) + # Type-check the data to be encrypted. + with self.assertRaises(TypeError): + priv.private_encrypt(self.gen_callback, RSA.pkcs1_padding) +@@ -127,10 +128,12 @@ class RSATestCase(unittest.TestCase): + self.assertEqual(ptxt, self.data) + + # no_padding +- with six.assertRaisesRegex(self, RSA.RSAError, 'data too small'): +- priv.public_encrypt(self.data, RSA.no_padding) ++ # Exception disabled as a part of mitigation against CVE-2020-25657 ++ # with six.assertRaisesRegex(self, RSA.RSAError, 'data too small'): ++ priv.public_encrypt(self.data, RSA.no_padding) + + # Type-check the data to be encrypted. ++ # Exception disabled as a part of mitigation against CVE-2020-25657 + with self.assertRaises(TypeError): + priv.public_encrypt(self.gen_callback, RSA.pkcs1_padding) + +@@ -146,10 +149,6 @@ class RSATestCase(unittest.TestCase): + b'\000\000\000\003\001\000\001') # aka 65537 aka 0xf4 + with self.assertRaises(RSA.RSAError): + setattr(rsa, 'e', '\000\000\000\003\001\000\001') +- with self.assertRaises(RSA.RSAError): +- rsa.private_encrypt(1) +- with self.assertRaises(RSA.RSAError): +- rsa.private_decrypt(1) + assert rsa.check_key() + + def test_loadpub_bad(self): +-- +GitLab + diff --git a/package/python-m2crypto/python-m2crypto.mk b/package/python-m2crypto/python-m2crypto.mk index 02ad76d3f..3c28fa3b0 100644 --- a/package/python-m2crypto/python-m2crypto.mk +++ b/package/python-m2crypto/python-m2crypto.mk @@ -15,4 +15,7 @@ PYTHON_M2CRYPTO_CPE_ID_PRODUCT = m2crypto PYTHON_M2CRYPTO_DEPENDENCIES = openssl host-swig PYTHON_M2CRYPTO_BUILD_OPTS = --openssl=$(STAGING_DIR)/usr +# 0001-Mitigate-the-Bleichenbacher-timing-attacks-in-the-RSA-decryption-API-CVE-2020-25657.patch +PYTHON_M2CRYPTO_IGNORE_CVES += CVE-2020-25657 + $(eval $(python-package)) diff --git a/package/python-m2r/python-m2r.hash b/package/python-m2r/python-m2r.hash index 3c22e9707..0770e0d1b 100644 --- a/package/python-m2r/python-m2r.hash +++ b/package/python-m2r/python-m2r.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/m2r/json -md5 8bdb45c19e2b59bb5ffb9a0348e81ad8 m2r-0.2.1.tar.gz -sha256 bf90bad66cda1164b17e5ba4a037806d2443f2a4d5ddc9f6a5554a0322aaed99 m2r-0.2.1.tar.gz +md5 8bdb45c19e2b59bb5ffb9a0348e81ad8 m2r-0.2.1.tar.gz +sha256 bf90bad66cda1164b17e5ba4a037806d2443f2a4d5ddc9f6a5554a0322aaed99 m2r-0.2.1.tar.gz # Locally computed sha256 checksums -sha256 28728ec0ecbd8c171ebaeccebf69e3961282fd81f06abc7424c65546b6ae6f27 LICENSE +sha256 28728ec0ecbd8c171ebaeccebf69e3961282fd81f06abc7424c65546b6ae6f27 LICENSE diff --git a/package/python-matplotlib/python-matplotlib.hash b/package/python-matplotlib/python-matplotlib.hash index 81e83ac0d..0d7117811 100644 --- a/package/python-matplotlib/python-matplotlib.hash +++ b/package/python-matplotlib/python-matplotlib.hash @@ -1,4 +1,4 @@ # sha256 from https://pypi.org/project/matplotlib/#files -sha256 fc4f526dfdb31c9bd6b8ca06bf9fab663ca12f3ec9cdf4496fb44bc680140318 matplotlib-3.4.3.tar.gz +sha256 fc4f526dfdb31c9bd6b8ca06bf9fab663ca12f3ec9cdf4496fb44bc680140318 matplotlib-3.4.3.tar.gz # Locally computed sha256 checksums -sha256 5a1a81ea301728c8bba2933da832c0cd62229daf20893a024ab3d53244468dbc LICENSE/LICENSE +sha256 5a1a81ea301728c8bba2933da832c0cd62229daf20893a024ab3d53244468dbc LICENSE/LICENSE diff --git a/package/python-mimeparse/python-mimeparse.hash b/package/python-mimeparse/python-mimeparse.hash index 9721c5fa0..00985841d 100644 --- a/package/python-mimeparse/python-mimeparse.hash +++ b/package/python-mimeparse/python-mimeparse.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/python-mimeparse/json -md5 a32ae1df93be1ddb581d1c0fa124bab4 python-mimeparse-1.6.0.tar.gz -sha256 76e4b03d700a641fd7761d3cd4fdbbdcd787eade1ebfac43f877016328334f78 python-mimeparse-1.6.0.tar.gz +md5 a32ae1df93be1ddb581d1c0fa124bab4 python-mimeparse-1.6.0.tar.gz +sha256 76e4b03d700a641fd7761d3cd4fdbbdcd787eade1ebfac43f877016328334f78 python-mimeparse-1.6.0.tar.gz # Locally computed sha256 checksums -sha256 89807acf2309bd285f033404ee78581602f3cd9b819a16ac2f0e5f60ff4a473e LICENSE +sha256 89807acf2309bd285f033404ee78581602f3cd9b819a16ac2f0e5f60ff4a473e LICENSE diff --git a/package/python-mistune/python-mistune.hash b/package/python-mistune/python-mistune.hash index f545308f4..a7a593609 100644 --- a/package/python-mistune/python-mistune.hash +++ b/package/python-mistune/python-mistune.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/mistune/json -md5 fb6ab174ece938dea09f8b2adad771e4 mistune-0.8.4.tar.gz -sha256 59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e mistune-0.8.4.tar.gz +md5 fb6ab174ece938dea09f8b2adad771e4 mistune-0.8.4.tar.gz +sha256 59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e mistune-0.8.4.tar.gz # Locally computed sha256 checksums sha256 0c5259c3dd0a7c46f4835221645f62a0638c9b9faa02af08676e8069e1ff964b LICENSE diff --git a/package/python-nested-dict/python-nested-dict.hash b/package/python-nested-dict/python-nested-dict.hash index 15f0ed8b5..e5193e237 100644 --- a/package/python-nested-dict/python-nested-dict.hash +++ b/package/python-nested-dict/python-nested-dict.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/nested-dict/json -md5 e08e2e8de6d002f9ddda4eea5a4528c2 nested_dict-1.61.tar.gz -sha256 de0fb5bac82ba7bcc23736f09373f18628ea57f92bbaa13480d23f261c41e771 nested_dict-1.61.tar.gz +md5 e08e2e8de6d002f9ddda4eea5a4528c2 nested_dict-1.61.tar.gz +sha256 de0fb5bac82ba7bcc23736f09373f18628ea57f92bbaa13480d23f261c41e771 nested_dict-1.61.tar.gz # Locally computed sha256 checksums -sha256 c84eb6b667b91fd9b8991f500c168354eb51af5b2dd970d8ee51ce336d9aeed1 LICENSE.TXT +sha256 c84eb6b667b91fd9b8991f500c168354eb51af5b2dd970d8ee51ce336d9aeed1 LICENSE.TXT diff --git a/package/python-netaddr/python-netaddr.hash b/package/python-netaddr/python-netaddr.hash index 91b200768..d55390aad 100644 --- a/package/python-netaddr/python-netaddr.hash +++ b/package/python-netaddr/python-netaddr.hash @@ -1,5 +1,5 @@ # md5 from https://pypi.python.org/pypi/netaddr/json -md5 34cad578473b66ad77bc3b2a7613ed4a netaddr-0.8.0.tar.gz +md5 34cad578473b66ad77bc3b2a7613ed4a netaddr-0.8.0.tar.gz # Locally computed -sha256 d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243 netaddr-0.8.0.tar.gz +sha256 d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243 netaddr-0.8.0.tar.gz sha256 0e53de62547787462f41eefb5cee31a14f7ea767ba0362c6f9304f1742486d47 LICENSE diff --git a/package/python-networkmanager/python-networkmanager.hash b/package/python-networkmanager/python-networkmanager.hash index 6ca94450f..105949d50 100644 --- a/package/python-networkmanager/python-networkmanager.hash +++ b/package/python-networkmanager/python-networkmanager.hash @@ -1,5 +1,5 @@ # md5 and sha256 from https://pypi.python.org/pypi/python-networkmanager/json -md5 f638d854a3639fb37c0e06d1092a771e python-networkmanager-2.1.tar.gz -sha256 aef1e34d98d7bec7cc368e0ca0f2e97493f9b5ebe6d7103f8f6460cfca3dc6fc python-networkmanager-2.1.tar.gz +md5 f638d854a3639fb37c0e06d1092a771e python-networkmanager-2.1.tar.gz +sha256 aef1e34d98d7bec7cc368e0ca0f2e97493f9b5ebe6d7103f8f6460cfca3dc6fc python-networkmanager-2.1.tar.gz # Locally computed sha256 be40f44d54bb5e0f0eee28e957ad020a00a6e3adb0290262e92129eba1c044cf COPYING diff --git a/package/python-numpy/python-numpy.hash b/package/python-numpy/python-numpy.hash index 7c111f7bc..c0dcc5d27 100644 --- a/package/python-numpy/python-numpy.hash +++ b/package/python-numpy/python-numpy.hash @@ -4,5 +4,5 @@ sha256 76af194fbc117934ec5bbe2ff15177adbd05aeed23f18ee209ed88edcd777e05 numpy- sha256 bc1b0af15cdc9415ea26c5f1df352c226ac86425ec0fb9ab38d111018bf1c6f2 LICENSE.txt sha256 2be6947e0432ecf7950ee8fe38681316749dd06d1de17c9ec4de6d2f55adb3a1 numpy/core/src/multiarray/dragon4.c sha256 fbc539f47d0cf83bc61378080fb873d5c14630126cacbfe754035c3926daa5ec numpy/core/include/numpy/libdivide/LICENSE.txt -sha256 a14cc25e10d40a3aa705b7de2fb764a6535d8ee9b2db4e1724900585457dfd55 numpy/linalg/lapack_lite/LICENSE.txt -sha256 badf51c7e3e7de9c7630bd069780f5c197b846ef7660b342a1e58d5553592d8e tools/npy_tempita/license.txt +sha256 a14cc25e10d40a3aa705b7de2fb764a6535d8ee9b2db4e1724900585457dfd55 numpy/linalg/lapack_lite/LICENSE.txt +sha256 badf51c7e3e7de9c7630bd069780f5c197b846ef7660b342a1e58d5553592d8e tools/npy_tempita/license.txt diff --git a/package/python-paho-mqtt/0001-fix-publish-for-python-3-10.patch b/package/python-paho-mqtt/0001-fix-publish-for-python-3-10.patch new file mode 100644 index 000000000..aad6b5d72 --- /dev/null +++ b/package/python-paho-mqtt/0001-fix-publish-for-python-3-10.patch @@ -0,0 +1,37 @@ +From e1c45570f61f9d6b28f8604c8a8cd6dd94f959ed Mon Sep 17 00:00:00 2001 +From: Brishen Hawkins +Date: Tue, 9 Jun 2020 00:18:39 -0600 +Subject: [PATCH] Fix for Python 3.9 moving Iterable to collections.abc + +Signed-off-by: Brishen Hawkins + +Backported from: e1c45570f61f9d6b28f8604c8a8cd6dd94f959ed +Signed-off-by: Marcus Hoffmann +--- + src/paho/mqtt/publish.py | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/paho/mqtt/publish.py b/src/paho/mqtt/publish.py +index f9f1986e..dcb34ff1 100644 +--- a/src/paho/mqtt/publish.py ++++ b/src/paho/mqtt/publish.py +@@ -21,6 +21,10 @@ + from __future__ import absolute_import + + import collections ++try: ++ from collections.abc import Iterable ++except ImportError: ++ from collections import Iterable + + from . import client as paho + from .. import mqtt +@@ -124,7 +128,7 @@ def multiple(msgs, hostname="localhost", port=1883, client_id="", keepalive=60, + proxy_args: a dictionary that will be given to the client. + """ + +- if not isinstance(msgs, collections.Iterable): ++ if not isinstance(msgs, Iterable): + raise TypeError('msgs must be an iterable') + + client = paho.Client(client_id=client_id, userdata=collections.deque(msgs), diff --git a/package/python-paho-mqtt/python-paho-mqtt.hash b/package/python-paho-mqtt/python-paho-mqtt.hash index 35afccced..bf3993e91 100644 --- a/package/python-paho-mqtt/python-paho-mqtt.hash +++ b/package/python-paho-mqtt/python-paho-mqtt.hash @@ -1,6 +1,6 @@ # md5 from https://pypi.python.org/pypi/paho-mqtt/json, sha256 locally computed -md5 e3ac29cd5dc247a01083a2a8f3fddd08 paho-mqtt-1.4.0.tar.gz -sha256 e440a052b46d222e184be3be38676378722072fcd4dfd2c8f509fb861a7b0b79 paho-mqtt-1.4.0.tar.gz -sha256 76f13729e84e9222e543303df00f87d1b2c0995b6a505cd859a285667e44babb LICENSE.txt -sha256 e8cf7d54ea46c19aba793983889b7f7425e1ebfcaaccec764a7db091646e203c edl-v10 -sha256 3b9be6b894d0769de796e653571ff6cef494913c0ce78c35a97db939e7d9087c epl-v10 +md5 e3ac29cd5dc247a01083a2a8f3fddd08 paho-mqtt-1.4.0.tar.gz +sha256 e440a052b46d222e184be3be38676378722072fcd4dfd2c8f509fb861a7b0b79 paho-mqtt-1.4.0.tar.gz +sha256 76f13729e84e9222e543303df00f87d1b2c0995b6a505cd859a285667e44babb LICENSE.txt +sha256 e8cf7d54ea46c19aba793983889b7f7425e1ebfcaaccec764a7db091646e203c edl-v10 +sha256 3b9be6b894d0769de796e653571ff6cef494913c0ce78c35a97db939e7d9087c epl-v10 diff --git a/package/python-paramiko/python-paramiko.hash b/package/python-paramiko/python-paramiko.hash index b11acf1db..951bd8e11 100644 --- a/package/python-paramiko/python-paramiko.hash +++ b/package/python-paramiko/python-paramiko.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/paramiko/json -md5 44136d79da4cd7619e368018ad022619 paramiko-2.7.2.tar.gz -sha256 7f36f4ba2c0d81d219f4595e35f70d56cc94f9ac40a6acdf51d6ca210ce65035 paramiko-2.7.2.tar.gz +md5 6e47947882e2c1b81f35b4133e8e62b9 paramiko-2.10.3.tar.gz +sha256 ddb1977853aef82804b35d72a0e597b244fa326c404c350bd00c5b01dbfee71a paramiko-2.10.3.tar.gz # Locally computed sha256 checksums sha256 5fa25bf5f395fd26e701c2e1de4ca7d162816986dc791c22f8f4226857ad1bb2 LICENSE diff --git a/package/python-paramiko/python-paramiko.mk b/package/python-paramiko/python-paramiko.mk index 3c135cf9b..46209f582 100644 --- a/package/python-paramiko/python-paramiko.mk +++ b/package/python-paramiko/python-paramiko.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PARAMIKO_VERSION = 2.7.2 +PYTHON_PARAMIKO_VERSION = 2.10.3 PYTHON_PARAMIKO_SOURCE = paramiko-$(PYTHON_PARAMIKO_VERSION).tar.gz -PYTHON_PARAMIKO_SITE = https://files.pythonhosted.org/packages/cf/a1/20d00ce559a692911f11cadb7f94737aca3ede1c51de16e002c7d3a888e0 +PYTHON_PARAMIKO_SITE = https://files.pythonhosted.org/packages/d4/93/1a1eb7f214e6774099d56153db9e612f93cb8ffcdfd2eca243fcd5bb3a78 PYTHON_PARAMIKO_SETUP_TYPE = setuptools PYTHON_PARAMIKO_LICENSE = LGPL-2.1+ PYTHON_PARAMIKO_LICENSE_FILES = LICENSE diff --git a/package/python-pathpy/python-pathpy.hash b/package/python-pathpy/python-pathpy.hash index 4ff5abb38..0b9b7b7cd 100644 --- a/package/python-pathpy/python-pathpy.hash +++ b/package/python-pathpy/python-pathpy.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/path.py/json -md5 307098b1827af6031687edb49ce2c39c path.py-12.0.1.tar.gz -sha256 9f2169633403aa0423f6ec000e8701dd1819526c62465f5043952f92527fea0f path.py-12.0.1.tar.gz +md5 307098b1827af6031687edb49ce2c39c path.py-12.0.1.tar.gz +sha256 9f2169633403aa0423f6ec000e8701dd1819526c62465f5043952f92527fea0f path.py-12.0.1.tar.gz # Locally computed sha256 checksums -sha256 a55e2ffe9b44998e621d51d8c094bed09acc4b5236ee73d7df395a33ba3c18fd LICENSE +sha256 a55e2ffe9b44998e621d51d8c094bed09acc4b5236ee73d7df395a33ba3c18fd LICENSE diff --git a/package/python-pathtools/python-pathtools.hash b/package/python-pathtools/python-pathtools.hash index 6d7b2975d..00099af19 100644 --- a/package/python-pathtools/python-pathtools.hash +++ b/package/python-pathtools/python-pathtools.hash @@ -1,6 +1,6 @@ # md5 from https://pypi.python.org/pypi/pathtools/json -md5 9a1af5c605768ea5804b03b734ff0f82 pathtools-0.1.2.tar.gz +md5 9a1af5c605768ea5804b03b734ff0f82 pathtools-0.1.2.tar.gz # sha256 calculated by scanpypi -sha256 7c35c5421a39bb82e58018febd90e3b6e5db34c5443aaaf742b3f33d4655f1c0 pathtools-0.1.2.tar.gz +sha256 7c35c5421a39bb82e58018febd90e3b6e5db34c5443aaaf742b3f33d4655f1c0 pathtools-0.1.2.tar.gz # Locally computed sha256 b52d83fba08f61bd1e603fee1b44cbc7ead9fcb512a5ceb8c53fec90ba415ac4 LICENSE diff --git a/package/python-pexpect/python-pexpect.hash b/package/python-pexpect/python-pexpect.hash index 87df05d88..a38c8d5a0 100644 --- a/package/python-pexpect/python-pexpect.hash +++ b/package/python-pexpect/python-pexpect.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pexpect/json -md5 153eb25184249d6a85fde9acf4804085 pexpect-4.8.0.tar.gz -sha256 fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c pexpect-4.8.0.tar.gz +md5 153eb25184249d6a85fde9acf4804085 pexpect-4.8.0.tar.gz +sha256 fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c pexpect-4.8.0.tar.gz # Locally computed sha256 checksums -sha256 4a483ae1c4dc738a6c8b73feb49074e1835da02ab5aa686f2675029906fa364d LICENSE +sha256 4a483ae1c4dc738a6c8b73feb49074e1835da02ab5aa686f2675029906fa364d LICENSE diff --git a/package/python-pickleshare/python-pickleshare.hash b/package/python-pickleshare/python-pickleshare.hash index 1b6afcc68..1b849e179 100644 --- a/package/python-pickleshare/python-pickleshare.hash +++ b/package/python-pickleshare/python-pickleshare.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pickleshare/json -md5 44ab782615894a812ab96669a122a634 pickleshare-0.7.5.tar.gz -sha256 87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca pickleshare-0.7.5.tar.gz +md5 44ab782615894a812ab96669a122a634 pickleshare-0.7.5.tar.gz +sha256 87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca pickleshare-0.7.5.tar.gz # Locally computed sha256 checksums -sha256 db1fefc1789444409514c0cae0bfab7f8e374ff9b78e092cecb1e0aeb6a36d90 LICENSE +sha256 db1fefc1789444409514c0cae0bfab7f8e374ff9b78e092cecb1e0aeb6a36d90 LICENSE diff --git a/package/python-piexif/python-piexif.hash b/package/python-piexif/python-piexif.hash index 9663ed722..5ae7f406f 100644 --- a/package/python-piexif/python-piexif.hash +++ b/package/python-piexif/python-piexif.hash @@ -1,3 +1,3 @@ # Locally computed sha256 checksums -sha256 abfd9a67795e23d7a76f9407d60841efa68c5d6e43376b295bb821a30602c569 python-piexif-1.1.3.tar.gz -sha256 d517a0940b8eb92ace7fc88f75892d84d260d85b3062d36d9e6445bc5091f697 LICENSE.txt +sha256 abfd9a67795e23d7a76f9407d60841efa68c5d6e43376b295bb821a30602c569 python-piexif-1.1.3.tar.gz +sha256 d517a0940b8eb92ace7fc88f75892d84d260d85b3062d36d9e6445bc5091f697 LICENSE.txt diff --git a/package/python-pillow/0001-Search-pkg-config-system-libs-cflags.patch b/package/python-pillow/0001-Search-pkg-config-system-libs-cflags.patch new file mode 100644 index 000000000..d0552ce0f --- /dev/null +++ b/package/python-pillow/0001-Search-pkg-config-system-libs-cflags.patch @@ -0,0 +1,33 @@ +From 9ea46247048f861f088f09541cd434aeb16e6f9c Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Tue, 15 Mar 2022 23:31:59 -0600 +Subject: [PATCH] Search pkg-config system libs/cflags. + +We need to search the system paths as well from pkg-config for +some packages to be found properly. + +Signed-off-by: James Hilliard +[james.hilliard1@gmail.com: backport from upstream commit +9ea46247048f861f088f09541cd434aeb16e6f9c] +--- + setup.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/setup.py b/setup.py +index 9a05e5105..d41aedbd6 100755 +--- a/setup.py ++++ b/setup.py +@@ -252,8 +252,8 @@ def _cmd_exists(cmd): + def _pkg_config(name): + try: + command = os.environ.get("PKG_CONFIG", "pkg-config") +- command_libs = [command, "--libs-only-L", name] +- command_cflags = [command, "--cflags-only-I", name] ++ command_libs = [command, "--libs-only-L", "--keep-system-libs", name] ++ command_cflags = [command, "--cflags-only-I", "--keep-system-cflags", name] + if not DEBUG: + command_libs.append("--silence-errors") + command_cflags.append("--silence-errors") +-- +2.25.1 + diff --git a/package/python-pillow/python-pillow.hash b/package/python-pillow/python-pillow.hash index f3ca8e601..ff23ed629 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 c5af6e413d2fe9247cf16ce25c816b14 Pillow-9.0.0.tar.gz -sha256 ee6e2963e92762923956fe5d3479b1fdc3b76c83f290aad131a2f98c3df0593e Pillow-9.0.0.tar.gz +md5 f0d347298e72b403fbc3198677f394bb Pillow-9.1.1.tar.gz +sha256 7502539939b53d7565f3d11d87c78e7ec900d3c72945d4ee0e2f250d598309a0 Pillow-9.1.1.tar.gz # Locally computed sha256 checksums sha256 a6554cb737ba6c9b47d3301f78de03b4ed0d3f08d6cf9400714f3d4c894f6943 LICENSE diff --git a/package/python-pillow/python-pillow.mk b/package/python-pillow/python-pillow.mk index 2f2e81788..b3bb0809d 100644 --- a/package/python-pillow/python-pillow.mk +++ b/package/python-pillow/python-pillow.mk @@ -4,15 +4,18 @@ # ################################################################################ -PYTHON_PILLOW_VERSION = 9.0.0 -PYTHON_PILLOW_SITE = https://files.pythonhosted.org/packages/b0/43/3e286c93b9fa20e233d53532cc419b5aad8a468d91065dbef4c846058834 +PYTHON_PILLOW_VERSION = 9.1.1 +PYTHON_PILLOW_SITE = https://files.pythonhosted.org/packages/43/6e/59853546226ee6200f9ba6e574d11604b60ad0754d2cbd1c8f3246b70418 PYTHON_PILLOW_SOURCE = Pillow-$(PYTHON_PILLOW_VERSION).tar.gz PYTHON_PILLOW_LICENSE = HPND PYTHON_PILLOW_LICENSE_FILES = LICENSE PYTHON_PILLOW_CPE_ID_VENDOR = python PYTHON_PILLOW_CPE_ID_PRODUCT = pillow PYTHON_PILLOW_SETUP_TYPE = setuptools -PYTHON_PILLOW_BUILD_OPTS = --disable-platform-guessing + +PYTHON_PILLOW_DEPENDENCIES = host-pkgconf +PYTHON_PILLOW_BUILD_OPTS = build_ext --disable-platform-guessing +PYTHON_PILLOW_INSTALL_TARGET_OPTS = $(PYTHON_PILLOW_BUILD_OPTS) ifeq ($(BR2_PACKAGE_FREETYPE),y) PYTHON_PILLOW_DEPENDENCIES += freetype @@ -68,22 +71,4 @@ else PYTHON_PILLOW_BUILD_OPTS += --disable-webp --disable-webpmux endif -define PYTHON_PILLOW_BUILD_CMDS - cd $(PYTHON_PILLOW_BUILDDIR); \ - PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \ - $(PYTHON_PILLOW_BASE_ENV) $(PYTHON_PILLOW_ENV) \ - $(PYTHON_PILLOW_PYTHON_INTERPRETER) setup.py build_ext \ - $(PYTHON_PILLOW_BASE_BUILD_OPTS) $(PYTHON_PILLOW_BUILD_OPTS) -endef - -define PYTHON_PILLOW_INSTALL_TARGET_CMDS - cd $(PYTHON_PILLOW_BUILDDIR); \ - PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \ - $(PYTHON_PILLOW_BASE_ENV) $(PYTHON_PILLOW_ENV) \ - $(PYTHON_PILLOW_PYTHON_INTERPRETER) setup.py build_ext \ - $(PYTHON_PILLOW_BUILD_OPTS) install \ - $(PYTHON_PILLOW_BASE_INSTALL_TARGET_OPTS) \ - $(PYTHON_PILLOW_INSTALL_TARGET_OPTS) -endef - $(eval $(python-package)) diff --git a/package/python-ply/python-ply.hash b/package/python-ply/python-ply.hash index 1eba3b0ff..88d30d67d 100644 --- a/package/python-ply/python-ply.hash +++ b/package/python-ply/python-ply.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/ply/json -md5 6465f602e656455affcd7c5734c638f8 ply-3.11.tar.gz -sha256 00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3 ply-3.11.tar.gz +md5 6465f602e656455affcd7c5734c638f8 ply-3.11.tar.gz +sha256 00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3 ply-3.11.tar.gz # Locally computed sha256 checksums -sha256 1095b93b81d2043c5c55e0859875b416f75edb6d5eccb4bf2ace1b5445d1c84f README.md +sha256 1095b93b81d2043c5c55e0859875b416f75edb6d5eccb4bf2ace1b5445d1c84f README.md diff --git a/package/python-portend/python-portend.hash b/package/python-portend/python-portend.hash index 14338df05..1e212b15e 100644 --- a/package/python-portend/python-portend.hash +++ b/package/python-portend/python-portend.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/portend/json -md5 0ab51a12b7462a5275946a3645a71e92 portend-2.5.tar.gz -sha256 19dc27bfb3c72471bd30a235a4d5fbefef8a7e31cab367744b5d87a205e7bfd9 portend-2.5.tar.gz +md5 0ab51a12b7462a5275946a3645a71e92 portend-2.5.tar.gz +sha256 19dc27bfb3c72471bd30a235a4d5fbefef8a7e31cab367744b5d87a205e7bfd9 portend-2.5.tar.gz # Locally computed sha256 checksums -sha256 a55e2ffe9b44998e621d51d8c094bed09acc4b5236ee73d7df395a33ba3c18fd LICENSE +sha256 a55e2ffe9b44998e621d51d8c094bed09acc4b5236ee73d7df395a33ba3c18fd LICENSE diff --git a/package/python-psycopg2/Config.in b/package/python-psycopg2/Config.in index ec27d706d..4aa86c769 100644 --- a/package/python-psycopg2/Config.in +++ b/package/python-psycopg2/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_PYTHON_PSYCOPG2 bool "python-psycopg2" depends on BR2_USE_WCHAR # postgresql + depends on !BR2_OPTIMIZE_FAST # postgresql select BR2_PACKAGE_POSTGRESQL help Psycopg is the most popular PostgreSQL database adapter for @@ -24,3 +25,6 @@ config BR2_PACKAGE_PYTHON_PSYCOPG2 comment "python-psycopg2 needs a toolchain w/ wchar" depends on !BR2_USE_WCHAR + +comment "python-psycopg2 can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST diff --git a/package/python-pyaes/python-pyaes.hash b/package/python-pyaes/python-pyaes.hash index 25a15f1e1..c9e9a7ea7 100644 --- a/package/python-pyaes/python-pyaes.hash +++ b/package/python-pyaes/python-pyaes.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pyaes/json -md5 20fd5c6e29dcfdd08098e85a859a54ec pyaes-1.6.1.tar.gz -sha256 02c1b1405c38d3c370b085fb952dd8bea3fadcee6411ad99f312cc129c536d8f pyaes-1.6.1.tar.gz +md5 20fd5c6e29dcfdd08098e85a859a54ec pyaes-1.6.1.tar.gz +sha256 02c1b1405c38d3c370b085fb952dd8bea3fadcee6411ad99f312cc129c536d8f pyaes-1.6.1.tar.gz # Locally computed sha256 checksums -sha256 1efe6c78b28b4203d397ea9b68bdc9c658d21cd9afaf8ae8223def83f2a7ebbd LICENSE.txt +sha256 1efe6c78b28b4203d397ea9b68bdc9c658d21cd9afaf8ae8223def83f2a7ebbd LICENSE.txt diff --git a/package/python-pygame/Config.in b/package/python-pygame/Config.in index 0a738527e..57eb02074 100644 --- a/package/python-pygame/Config.in +++ b/package/python-pygame/Config.in @@ -41,12 +41,6 @@ config BR2_PACKAGE_PYTHON_PYGAME_MIXER pygame module for loading and playing sounds. Will autoselect sdl_mixer. -config BR2_PACKAGE_PYTHON_PYGAME_MIXER_MUSIC - bool "pygame.mixer.music" - depends on BR2_PACKAGE_PYTHON_PYGAME_MIXER - help - pygame module for controlling streamed audio - config BR2_PACKAGE_PYTHON_PYGAME_SCRAP bool "pygame.scrap" depends on BR2_PACKAGE_SDL_X11 diff --git a/package/python-pyicu/python-pyicu.hash b/package/python-pyicu/python-pyicu.hash index a6ddeb24a..8b113d4ab 100644 --- a/package/python-pyicu/python-pyicu.hash +++ b/package/python-pyicu/python-pyicu.hash @@ -1,5 +1,5 @@ # md5 from https://pypi.python.org/pypi/PyICU/json -md5 7656f5cc53a7c18b40e653d6eefdee14 PyICU-1.9.7.tar.gz +md5 7656f5cc53a7c18b40e653d6eefdee14 PyICU-1.9.7.tar.gz # Locally computed sha256 db27cd1cc150b879c5465872bec7fdaf340eca140aa922be03891d5b9f855b61 PyICU-1.9.7.tar.gz sha256 74bbadee4ee3c3a1ac0ecfbd74bc7ce64046de1ceddf4717dc923809ca8ffce3 LICENSE diff --git a/package/python-pylibftdi/python-pylibftdi.hash b/package/python-pylibftdi/python-pylibftdi.hash index 62dac5cbb..5570c1c9f 100644 --- a/package/python-pylibftdi/python-pylibftdi.hash +++ b/package/python-pylibftdi/python-pylibftdi.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pylibftdi/json -md5 c48e442cef7b1e865b4d96ab92f509ad pylibftdi-0.18.1.tar.gz -sha256 bdd04076933959b20b3c8b4fb8be7882d3362675f259e7eeb23ebff03b81859d pylibftdi-0.18.1.tar.gz +md5 c48e442cef7b1e865b4d96ab92f509ad pylibftdi-0.18.1.tar.gz +sha256 bdd04076933959b20b3c8b4fb8be7882d3362675f259e7eeb23ebff03b81859d pylibftdi-0.18.1.tar.gz # Locally computed sha256 checksums sha256 0e40132339e1ef7d17d93837fbc273d1e87302e9295162bd19c9161e5700ddcc LICENSE.txt diff --git a/package/python-pylru/python-pylru.hash b/package/python-pylru/python-pylru.hash index 1962c6015..835d90e1b 100644 --- a/package/python-pylru/python-pylru.hash +++ b/package/python-pylru/python-pylru.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pylru/json -md5 8f0050f86d1fa68bb18673de37da543b pylru-1.2.0.tar.gz -sha256 492f934bb98dc6c8b2370c02c95c65516ddc08c8f64d27f70087eb038621d297 pylru-1.2.0.tar.gz +md5 8f0050f86d1fa68bb18673de37da543b pylru-1.2.0.tar.gz +sha256 492f934bb98dc6c8b2370c02c95c65516ddc08c8f64d27f70087eb038621d297 pylru-1.2.0.tar.gz # Locally computed sha256 checksums -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.txt +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.txt diff --git a/package/python-pyqrcode/python-pyqrcode.hash b/package/python-pyqrcode/python-pyqrcode.hash index b54b4aad2..c946ba9d9 100644 --- a/package/python-pyqrcode/python-pyqrcode.hash +++ b/package/python-pyqrcode/python-pyqrcode.hash @@ -1,5 +1,5 @@ # md5 from https://pypi.python.org/pypi/pyqrcode/json -md5 371f29f4b03bd2830c6e0319258b1259 PyQRCode-1.2.1.tar.gz +md5 371f29f4b03bd2830c6e0319258b1259 PyQRCode-1.2.1.tar.gz # Locally computed -sha256 fdbf7634733e56b72e27f9bce46e4550b75a3a2c420414035cae9d9d26b234d5 PyQRCode-1.2.1.tar.gz +sha256 fdbf7634733e56b72e27f9bce46e4550b75a3a2c420414035cae9d9d26b234d5 PyQRCode-1.2.1.tar.gz sha256 bef0c3595451da5132dea99e288fb5dafcbc469e0643f993a4ba0a69980f5ec9 setup.py diff --git a/package/python-pyqt5/python-pyqt5.hash b/package/python-pyqt5/python-pyqt5.hash index 8ef467a27..6dbf20127 100644 --- a/package/python-pyqt5/python-pyqt5.hash +++ b/package/python-pyqt5/python-pyqt5.hash @@ -1,6 +1,6 @@ # md5 from http://http://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.7, sha256 locally computed -md5 e3dc21f31fd714659f0688e1eb31bacf PyQt5_gpl-5.7.tar.gz -sha256 892693ba5f79989abb2061dad2d5c4e6f127e9dd3240f73f8220c7152cd35b05 PyQt5_gpl-5.7.tar.gz +md5 e3dc21f31fd714659f0688e1eb31bacf PyQt5_gpl-5.7.tar.gz +sha256 892693ba5f79989abb2061dad2d5c4e6f127e9dd3240f73f8220c7152cd35b05 PyQt5_gpl-5.7.tar.gz # Hash for license file -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE diff --git a/package/python-pyratemp/python-pyratemp.hash b/package/python-pyratemp/python-pyratemp.hash index 91738321a..376f9786e 100644 --- a/package/python-pyratemp/python-pyratemp.hash +++ b/package/python-pyratemp/python-pyratemp.hash @@ -1,5 +1,5 @@ #md5 from https://pypi.python.org/pypi?:action=show_md5&digest=e4bbe5d4a98016efef882b2b2f47defb -md5 e4bbe5d4a98016efef882b2b2f47defb pyratemp-0.3.2.tgz +md5 e4bbe5d4a98016efef882b2b2f47defb pyratemp-0.3.2.tgz # Locally calculated: sha256 c45ed656ada482a02fe780495f37a695e7671accb04f918f7e7f18abf877bc71 pyratemp-0.3.2.tgz sha256 3de57a97f9c8492808867ae2ac2b33b422a8a34d29d0ea981b9e85c0963462db LICENSE diff --git a/package/python-pyroute2/python-pyroute2.hash b/package/python-pyroute2/python-pyroute2.hash index 35f397b14..c292379eb 100644 --- a/package/python-pyroute2/python-pyroute2.hash +++ b/package/python-pyroute2/python-pyroute2.hash @@ -1,7 +1,7 @@ # md5, sha256 from https://pypi.org/pypi/pyroute2/json -md5 371683b62314211b8bc9807ac8ef1144 pyroute2-0.5.7.tar.gz -sha256 963fce07da2841456d39e3b932b071f6de28d23dadfae014022d67a752916f98 pyroute2-0.5.7.tar.gz +md5 371683b62314211b8bc9807ac8ef1144 pyroute2-0.5.7.tar.gz +sha256 963fce07da2841456d39e3b932b071f6de28d23dadfae014022d67a752916f98 pyroute2-0.5.7.tar.gz # Locally computed sha256 -sha256 4739b32a2478e9c204bf010bad5d565d188e59ff905e3c8f71fe3398098b7093 LICENSE.Apache.v2 -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL.v2 -sha256 e329111754f1340de20b6084cae4d264b7b4fc8fb48964173f8ee0cb7440a51c README.license.md +sha256 4739b32a2478e9c204bf010bad5d565d188e59ff905e3c8f71fe3398098b7093 LICENSE.Apache.v2 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL.v2 +sha256 e329111754f1340de20b6084cae4d264b7b4fc8fb48964173f8ee0cb7440a51c README.license.md diff --git a/package/python-pysmi/python-pysmi.hash b/package/python-pysmi/python-pysmi.hash index b0c7a5d27..bb13f0ef0 100644 --- a/package/python-pysmi/python-pysmi.hash +++ b/package/python-pysmi/python-pysmi.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pysmi/json -md5 10a9dd140ad512eed9f37344df83ce9d pysmi-0.3.4.tar.gz -sha256 bd15a15020aee8376cab5be264c26330824a8b8164ed0195bd402dd59e4e8f7c pysmi-0.3.4.tar.gz +md5 10a9dd140ad512eed9f37344df83ce9d pysmi-0.3.4.tar.gz +sha256 bd15a15020aee8376cab5be264c26330824a8b8164ed0195bd402dd59e4e8f7c pysmi-0.3.4.tar.gz # Locally computed sha256 checksums -sha256 c43704eafcfa2bc33e56168f2b498c3c34a1d7865855626a52b5af411fc5837f LICENSE.rst +sha256 c43704eafcfa2bc33e56168f2b498c3c34a1d7865855626a52b5af411fc5837f LICENSE.rst diff --git a/package/python-pysnmp-mibs/python-pysnmp-mibs.hash b/package/python-pysnmp-mibs/python-pysnmp-mibs.hash index 22d8dcb47..52a507f4b 100644 --- a/package/python-pysnmp-mibs/python-pysnmp-mibs.hash +++ b/package/python-pysnmp-mibs/python-pysnmp-mibs.hash @@ -1,5 +1,5 @@ # md5 from https://pypi.python.org/pypi/pysnmp-mibs/json -md5 01845c4595d87d3c3485c0449616cbda pysnmp-mibs-0.1.6.tar.gz +md5 01845c4595d87d3c3485c0449616cbda pysnmp-mibs-0.1.6.tar.gz # Locally computed -sha256 00fa321ca598e8a14c0ad98702bf10fb5e9d57b7d06bb99dc818fea07683720c pysnmp-mibs-0.1.6.tar.gz +sha256 00fa321ca598e8a14c0ad98702bf10fb5e9d57b7d06bb99dc818fea07683720c pysnmp-mibs-0.1.6.tar.gz sha256 361eda483f7fac1f8cca4e16c340fa07a1cad2bf1200577a01075745233b406c LICENSE.txt diff --git a/package/python-pysnmp/python-pysnmp.hash b/package/python-pysnmp/python-pysnmp.hash index 582f9d666..3b0af1af6 100644 --- a/package/python-pysnmp/python-pysnmp.hash +++ b/package/python-pysnmp/python-pysnmp.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pysnmp/json -md5 2222880259daf6e2cb322e938c818276 pysnmp-4.4.12.tar.gz -sha256 0c3dbef2f958caca96071fe5c19de43e9c1b0484ab02a0cf08b190bcee768ba9 pysnmp-4.4.12.tar.gz +md5 2222880259daf6e2cb322e938c818276 pysnmp-4.4.12.tar.gz +sha256 0c3dbef2f958caca96071fe5c19de43e9c1b0484ab02a0cf08b190bcee768ba9 pysnmp-4.4.12.tar.gz # Locally computed sha256 checksums -sha256 d0b2edd772164395320fc5ad7dfaa9806fa038fb29762b347c549891d7a79237 LICENSE.rst +sha256 d0b2edd772164395320fc5ad7dfaa9806fa038fb29762b347c549891d7a79237 LICENSE.rst diff --git a/package/python-pysocks/python-pysocks.hash b/package/python-pysocks/python-pysocks.hash index dc61bfbc5..2c1f13d68 100644 --- a/package/python-pysocks/python-pysocks.hash +++ b/package/python-pysocks/python-pysocks.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pysocks/json -md5 89b1a6865c61bae67a32417517612ee6 PySocks-1.7.1.tar.gz -sha256 3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0 PySocks-1.7.1.tar.gz +md5 89b1a6865c61bae67a32417517612ee6 PySocks-1.7.1.tar.gz +sha256 3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0 PySocks-1.7.1.tar.gz # Locally computed sha256 checksums -sha256 7027e214e014eb78b7adcc1ceda5aca713a79fc4f6a0c52c9da5b3e707e6ffe9 LICENSE +sha256 7027e214e014eb78b7adcc1ceda5aca713a79fc4f6a0c52c9da5b3e707e6ffe9 LICENSE diff --git a/package/python-pytablereader/python-pytablereader.hash b/package/python-pytablereader/python-pytablereader.hash index fb873caf7..675ce5680 100644 --- a/package/python-pytablereader/python-pytablereader.hash +++ b/package/python-pytablereader/python-pytablereader.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pytablereader/json -md5 23ba6121e2f916dfbf4015516779dfcd pytablereader-0.26.1.tar.gz -sha256 f2e1477de8886267b765af7861baacc65606761bfabb0689f118cc5d27861f26 pytablereader-0.26.1.tar.gz +md5 23ba6121e2f916dfbf4015516779dfcd pytablereader-0.26.1.tar.gz +sha256 f2e1477de8886267b765af7861baacc65606761bfabb0689f118cc5d27861f26 pytablereader-0.26.1.tar.gz # Locally computed sha256 checksums -sha256 7fcef461a93fea587224132a865d1285969c9bec15baf59caeb7a8c7638a8744 LICENSE +sha256 7fcef461a93fea587224132a865d1285969c9bec15baf59caeb7a8c7638a8744 LICENSE diff --git a/package/python-pytablewriter/python-pytablewriter.hash b/package/python-pytablewriter/python-pytablewriter.hash index 8933fe37d..27a84f5fd 100644 --- a/package/python-pytablewriter/python-pytablewriter.hash +++ b/package/python-pytablewriter/python-pytablewriter.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pytablewriter/json -md5 4909dcdba8c6df35e14dbecbc6c94b6c pytablewriter-0.46.1.tar.gz -sha256 9d52ecc84bb89197c312e193b4ff04a3c934b914f3c32e4826d44a0acbc7764f pytablewriter-0.46.1.tar.gz +md5 4909dcdba8c6df35e14dbecbc6c94b6c pytablewriter-0.46.1.tar.gz +sha256 9d52ecc84bb89197c312e193b4ff04a3c934b914f3c32e4826d44a0acbc7764f pytablewriter-0.46.1.tar.gz # Locally computed sha256 checksums -sha256 a93d75bcb0774e2990106380cadad6dcb2de193c55d435ffc56ba345a08b1dc2 LICENSE +sha256 a93d75bcb0774e2990106380cadad6dcb2de193c55d435ffc56ba345a08b1dc2 LICENSE diff --git a/package/python-pytest/python-pytest.hash b/package/python-pytest/python-pytest.hash index 060dc6189..0b169727f 100644 --- a/package/python-pytest/python-pytest.hash +++ b/package/python-pytest/python-pytest.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pytest/json -md5 8bc467ebd5d571778dc51dd87ff09513 pytest-6.2.5.tar.gz -sha256 131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89 pytest-6.2.5.tar.gz +md5 8bc467ebd5d571778dc51dd87ff09513 pytest-6.2.5.tar.gz +sha256 131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89 pytest-6.2.5.tar.gz # Locally computer sha256 -sha256 7898b9b164d4f93fd9a562fd0f592935518b48c4745303964110eb7f7fe64faf LICENSE +sha256 7898b9b164d4f93fd9a562fd0f592935518b48c4745303964110eb7f7fe64faf LICENSE diff --git a/package/python-pyxb/python-pyxb.hash b/package/python-pyxb/python-pyxb.hash index 0cfce5761..f24cd42e5 100644 --- a/package/python-pyxb/python-pyxb.hash +++ b/package/python-pyxb/python-pyxb.hash @@ -1,4 +1,4 @@ # md5 from https://pypi.python.org/pypi/PyXB/json, sha256 locally computed -md5 4303573fc7094ce4664c5b71cd4bdb48 PyXB-1.2.6.tar.gz -sha256 2a00f38dd1d87b88f92d79bc5a09718d730419b88e814545f472bbd5a3bf27b4 PyXB-1.2.6.tar.gz +md5 4303573fc7094ce4664c5b71cd4bdb48 PyXB-1.2.6.tar.gz +sha256 2a00f38dd1d87b88f92d79bc5a09718d730419b88e814545f472bbd5a3bf27b4 PyXB-1.2.6.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/python-raven/python-raven.hash b/package/python-raven/python-raven.hash index 6f264193e..7f6fc5b11 100644 --- a/package/python-raven/python-raven.hash +++ b/package/python-raven/python-raven.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/raven/json -md5 3676f31dadfa61526444dd0245c78a38 raven-6.10.0.tar.gz -sha256 3fa6de6efa2493a7c827472e984ce9b020797d0da16f1db67197bcc23c8fae54 raven-6.10.0.tar.gz +md5 3676f31dadfa61526444dd0245c78a38 raven-6.10.0.tar.gz +sha256 3fa6de6efa2493a7c827472e984ce9b020797d0da16f1db67197bcc23c8fae54 raven-6.10.0.tar.gz # Locally computed sha256 checksums -sha256 5ce9459bc19ced99cc9eb135d4f559ed01e336354bdf16dd998be85aa688c233 LICENSE +sha256 5ce9459bc19ced99cc9eb135d4f559ed01e336354bdf16dd998be85aa688c233 LICENSE diff --git a/package/python-requests-toolbelt/python-requests-toolbelt.hash b/package/python-requests-toolbelt/python-requests-toolbelt.hash index 1b733fd7e..833570b11 100644 --- a/package/python-requests-toolbelt/python-requests-toolbelt.hash +++ b/package/python-requests-toolbelt/python-requests-toolbelt.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/requests-toolbelt/json -md5 b1509735c4b4cf95df2619facbc3672e requests-toolbelt-0.9.1.tar.gz -sha256 968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0 requests-toolbelt-0.9.1.tar.gz +md5 b1509735c4b4cf95df2619facbc3672e requests-toolbelt-0.9.1.tar.gz +sha256 968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0 requests-toolbelt-0.9.1.tar.gz # Locally computed sha256 checksums -sha256 3a1a3cffa7abc000cbd726a664f56c33c532a55480f9e056dfe941cf93b7c37f LICENSE +sha256 3a1a3cffa7abc000cbd726a664f56c33c532a55480f9e056dfe941cf93b7c37f LICENSE diff --git a/package/python-rpi-gpio/Config.in b/package/python-rpi-gpio/Config.in index 4f59ebdb0..f3c0928c6 100644 --- a/package/python-rpi-gpio/Config.in +++ b/package/python-rpi-gpio/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PYTHON_RPI_GPIO bool "python-rpi-gpio" - depends on BR2_arm + depends on BR2_arm || BR2_aarch64 help A Python module to control the GPIO on a Raspberry Pi. diff --git a/package/python-rpi-gpio/python-rpi-gpio.hash b/package/python-rpi-gpio/python-rpi-gpio.hash index 620efd27a..09d1a9076 100644 --- a/package/python-rpi-gpio/python-rpi-gpio.hash +++ b/package/python-rpi-gpio/python-rpi-gpio.hash @@ -1,6 +1,6 @@ # md5 from https://pypi.python.org/pypi/rpi_gpio/json # sha256 from https://pypi.python.org/pypi/rpi_gpio/json -md5 777617f9dea9a1680f9af43db0cf150e RPi.GPIO-0.7.0.tar.gz -sha256 7424bc6c205466764f30f666c18187a0824077daf20b295c42f08aea2cb87d3f RPi.GPIO-0.7.0.tar.gz +md5 777617f9dea9a1680f9af43db0cf150e RPi.GPIO-0.7.0.tar.gz +sha256 7424bc6c205466764f30f666c18187a0824077daf20b295c42f08aea2cb87d3f RPi.GPIO-0.7.0.tar.gz # Locally computed sha256 a668b3edecb3e69e81ec25987257008208ffcba9d6c43682033b8060c5f2f994 LICENCE.txt diff --git a/package/python-rsa/python-rsa.hash b/package/python-rsa/python-rsa.hash index 9fbbf0ac8..4b14506b8 100644 --- a/package/python-rsa/python-rsa.hash +++ b/package/python-rsa/python-rsa.hash @@ -2,4 +2,4 @@ sha256 9d689e6ca1b3038bc82bf8d23e944b6b6037bc02301a574935b2dd946e0353b9 rsa-4.7.2.tar.gz # Locally computed -sha256 073f28b7d389c8fe74f607e17c27f81eaa5ace69edc43a884f23f41b41c5c726 LICENSE +sha256 073f28b7d389c8fe74f607e17c27f81eaa5ace69edc43a884f23f41b41c5c726 LICENSE diff --git a/package/python-scandir/python-scandir.hash b/package/python-scandir/python-scandir.hash index 5c01701ef..1547c592a 100644 --- a/package/python-scandir/python-scandir.hash +++ b/package/python-scandir/python-scandir.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/scandir/json -md5 f8378f4d9f95a6a78e97ab01aa900c1d scandir-1.10.0.tar.gz -sha256 4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae scandir-1.10.0.tar.gz +md5 f8378f4d9f95a6a78e97ab01aa900c1d scandir-1.10.0.tar.gz +sha256 4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae scandir-1.10.0.tar.gz # Locally computed sha256 checksums -sha256 a5e2fbdc239744419d29407cdbc92793c4d9c1d956c174f7cb7f96fa6d058c86 LICENSE.txt +sha256 a5e2fbdc239744419d29407cdbc92793c4d9c1d956c174f7cb7f96fa6d058c86 LICENSE.txt diff --git a/package/python-sdnotify/python-sdnotify.hash b/package/python-sdnotify/python-sdnotify.hash index b4106418e..6d5bd1466 100644 --- a/package/python-sdnotify/python-sdnotify.hash +++ b/package/python-sdnotify/python-sdnotify.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/sdnotify/json -md5 749ddca1c70be1697fecc443fb1fdb16 sdnotify-0.3.2.tar.gz -sha256 73977fc746b36cc41184dd43c3fe81323e7b8b06c2bb0826c4f59a20c56bb9f1 sdnotify-0.3.2.tar.gz +md5 749ddca1c70be1697fecc443fb1fdb16 sdnotify-0.3.2.tar.gz +sha256 73977fc746b36cc41184dd43c3fe81323e7b8b06c2bb0826c4f59a20c56bb9f1 sdnotify-0.3.2.tar.gz # Locally computed sha256 checksums -sha256 038351c6f544a386576da41d5fe1320437ed211507565dd9c334c8290055b88e LICENSE.txt +sha256 038351c6f544a386576da41d5fe1320437ed211507565dd9c334c8290055b88e LICENSE.txt diff --git a/package/python-see/python-see.hash b/package/python-see/python-see.hash index c48ee88b8..de63b101b 100644 --- a/package/python-see/python-see.hash +++ b/package/python-see/python-see.hash @@ -1,4 +1,4 @@ # md5 from https://pypi.python.org/pypi/see/json, sha256 locally computed -md5 cb3bf4d314f73a8f7a2fd3d2d99aab54 see-1.4.1.tar.gz -sha256 14f8f8a88a909a7d7dea81f0016e3fdfabd3b5d335992e102a382e1a71672bd1 see-1.4.1.tar.gz +md5 cb3bf4d314f73a8f7a2fd3d2d99aab54 see-1.4.1.tar.gz +sha256 14f8f8a88a909a7d7dea81f0016e3fdfabd3b5d335992e102a382e1a71672bd1 see-1.4.1.tar.gz sha256 dccbd040a7deacee7f05e5e46a8eba6e786ac319f0cb94c36f92d789585911a6 LICENSE diff --git a/package/python-service-identity/Config.in b/package/python-service-identity/Config.in index aa6d0fe71..7c513fa48 100644 --- a/package/python-service-identity/Config.in +++ b/package/python-service-identity/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_PYTHON_SERVICE_IDENTITY bool "python-service-identity" # python-pyopenssl -> python-cryptography depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS - # python-pyopenssl -> python-cryptography select BR2_PACKAGE_PYTHON_ATTRS # runtime select BR2_PACKAGE_PYTHON_CHARACTERISTIC # runtime select BR2_PACKAGE_PYTHON_PYASN1 # runtime diff --git a/package/python-service-identity/python-service-identity.hash b/package/python-service-identity/python-service-identity.hash index 9a20d0892..ac1287892 100644 --- a/package/python-service-identity/python-service-identity.hash +++ b/package/python-service-identity/python-service-identity.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/service_identity/json -md5 c6b8bac93e7d899a1da313a19cc6570a service_identity-18.1.0.tar.gz -sha256 0858a54aabc5b459d1aafa8a518ed2081a285087f349fe3e55197989232e2e2d service_identity-18.1.0.tar.gz +md5 c6b8bac93e7d899a1da313a19cc6570a service_identity-18.1.0.tar.gz +sha256 0858a54aabc5b459d1aafa8a518ed2081a285087f349fe3e55197989232e2e2d service_identity-18.1.0.tar.gz # Locally computed sha256 checksums -sha256 c5075126e1272b176504e36af369781a95c5c1124239da8e4f61b0f9c15a56cf LICENSE +sha256 c5075126e1272b176504e36af369781a95c5c1124239da8e4f61b0f9c15a56cf LICENSE diff --git a/package/python-setuptools-scm-git-archive/python-setuptools-scm-git-archive.hash b/package/python-setuptools-scm-git-archive/python-setuptools-scm-git-archive.hash index e4f169ed9..6b3b1de3d 100644 --- a/package/python-setuptools-scm-git-archive/python-setuptools-scm-git-archive.hash +++ b/package/python-setuptools-scm-git-archive/python-setuptools-scm-git-archive.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/setuptools-scm-git-archive/json -md5 1c9351fa5cebd12e76488737a7c78f2e setuptools_scm_git_archive-1.1.tar.gz -sha256 6026f61089b73fa1b5ee737e95314f41cb512609b393530385ed281d0b46c062 setuptools_scm_git_archive-1.1.tar.gz +md5 1c9351fa5cebd12e76488737a7c78f2e setuptools_scm_git_archive-1.1.tar.gz +sha256 6026f61089b73fa1b5ee737e95314f41cb512609b393530385ed281d0b46c062 setuptools_scm_git_archive-1.1.tar.gz # Locally computed sha256 checksums -sha256 89807acf2309bd285f033404ee78581602f3cd9b819a16ac2f0e5f60ff4a473e LICENSE +sha256 89807acf2309bd285f033404ee78581602f3cd9b819a16ac2f0e5f60ff4a473e LICENSE diff --git a/package/python-shutilwhich/python-shutilwhich.hash b/package/python-shutilwhich/python-shutilwhich.hash index b1a2c7854..ddf3cefda 100644 --- a/package/python-shutilwhich/python-shutilwhich.hash +++ b/package/python-shutilwhich/python-shutilwhich.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi?:action=show_md5&digest=915947c5cdae7afd748ac715ee547adb, sha256 locally computed. -md5 915947c5cdae7afd748ac715ee547adb shutilwhich-1.1.0.tar.gz -sha256 db1f39c6461e42f630fa617bb8c79090f7711c9ca493e615e43d0610ecb64dc6 shutilwhich-1.1.0.tar.gz +md5 915947c5cdae7afd748ac715ee547adb shutilwhich-1.1.0.tar.gz +sha256 db1f39c6461e42f630fa617bb8c79090f7711c9ca493e615e43d0610ecb64dc6 shutilwhich-1.1.0.tar.gz diff --git a/package/python-simplegeneric/python-simplegeneric.hash b/package/python-simplegeneric/python-simplegeneric.hash index 24f652c8e..1dc42d35e 100644 --- a/package/python-simplegeneric/python-simplegeneric.hash +++ b/package/python-simplegeneric/python-simplegeneric.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/simplegeneric, sha256 locally computed -md5 f9c1fab00fd981be588fc32759f474e3 simplegeneric-0.8.1.zip -sha256 dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173 simplegeneric-0.8.1.zip +md5 f9c1fab00fd981be588fc32759f474e3 simplegeneric-0.8.1.zip +sha256 dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173 simplegeneric-0.8.1.zip diff --git a/package/python-simplejson/python-simplejson.hash b/package/python-simplejson/python-simplejson.hash index bb44bdfc7..0f56d4c6c 100644 --- a/package/python-simplejson/python-simplejson.hash +++ b/package/python-simplejson/python-simplejson.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/simplejson/json -md5 1756427859454004e90e028d263cf23e simplejson-3.17.5.tar.gz -sha256 91cfb43fb91ff6d1e4258be04eee84b51a4ef40a28d899679b9ea2556322fb50 simplejson-3.17.5.tar.gz +md5 0b8f47c9451bf101a791f8b5bccf1f33 simplejson-3.17.6.tar.gz +sha256 cf98038d2abf63a1ada5730e91e84c642ba6c225b0198c3684151b1f80c5f8a6 simplejson-3.17.6.tar.gz # Locally computed sha256 checksums sha256 fcaa1e313a99304322e2e0836ea4ee7d839ce9a480438f3922a853edfdde129f LICENSE.txt diff --git a/package/python-simplejson/python-simplejson.mk b/package/python-simplejson/python-simplejson.mk index 5bed8d20a..52bff7569 100644 --- a/package/python-simplejson/python-simplejson.mk +++ b/package/python-simplejson/python-simplejson.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SIMPLEJSON_VERSION = 3.17.5 +PYTHON_SIMPLEJSON_VERSION = 3.17.6 PYTHON_SIMPLEJSON_SOURCE = simplejson-$(PYTHON_SIMPLEJSON_VERSION).tar.gz -PYTHON_SIMPLEJSON_SITE = https://files.pythonhosted.org/packages/01/52/41c71718f941c9a5abebfaa24e3c14e3c0229327b7ebd21348989845ed8f +PYTHON_SIMPLEJSON_SITE = https://files.pythonhosted.org/packages/7a/47/c7cc3d4ed15f09917838a2fb4e1759eafb6d2f37ebf7043af984d8b36cf7 PYTHON_SIMPLEJSON_LICENSE = Academic Free License (AFL), MIT PYTHON_SIMPLEJSON_LICENSE_FILES = LICENSE.txt PYTHON_SIMPLEJSON_CPE_ID_VENDOR = simplejson_project diff --git a/package/python-simplesqlite/python-simplesqlite.hash b/package/python-simplesqlite/python-simplesqlite.hash index 7b4a91de0..404670aef 100644 --- a/package/python-simplesqlite/python-simplesqlite.hash +++ b/package/python-simplesqlite/python-simplesqlite.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/simplesqlite/json -md5 f1d4f2ec14e2c782a62e451587477598 SimpleSQLite-0.45.2.tar.gz -sha256 0b19c99c36b63173a715649f94a2fc3aee8deb9b70c683d584bca85e5930244b SimpleSQLite-0.45.2.tar.gz +md5 f1d4f2ec14e2c782a62e451587477598 SimpleSQLite-0.45.2.tar.gz +sha256 0b19c99c36b63173a715649f94a2fc3aee8deb9b70c683d584bca85e5930244b SimpleSQLite-0.45.2.tar.gz # Locally computed sha256 checksums -sha256 98799b7c99b561c5ffa3ac86600e501f761afa8e72af8a2515026445fe134105 LICENSE +sha256 98799b7c99b561c5ffa3ac86600e501f761afa8e72af8a2515026445fe134105 LICENSE diff --git a/package/python-sip/python-sip.hash b/package/python-sip/python-sip.hash index 6adf44d41..0e9f0adb8 100644 --- a/package/python-sip/python-sip.hash +++ b/package/python-sip/python-sip.hash @@ -1,7 +1,7 @@ # From https://sourceforge.net/projects/pyqt/files/sip/sip-4.18/ -md5 78724bf2a79878201c3bc81a1d8248ea sip-4.18.tar.gz +md5 78724bf2a79878201c3bc81a1d8248ea sip-4.18.tar.gz # Locally calculated: -sha256 f1dc5c81c07a9ad97edcd4a0af964a41e420024ba7ca165afd2b351efd249cb6 sip-4.18.tar.gz -sha256 accecbfda71ad4497bce0d451796706e734e405e5ecf3b3f9ee0cc68300a3d9c LICENSE -sha256 7ebb61006e46b9e9340dd135d5f4afbbcb1d1d6c6709f74473b35929007b9aeb LICENSE-GPL2 -sha256 63cb5f5c1ea39b732c495f354f971e40f6db84c567ca5573a68bb65af07741f8 LICENSE-GPL3 +sha256 f1dc5c81c07a9ad97edcd4a0af964a41e420024ba7ca165afd2b351efd249cb6 sip-4.18.tar.gz +sha256 accecbfda71ad4497bce0d451796706e734e405e5ecf3b3f9ee0cc68300a3d9c LICENSE +sha256 7ebb61006e46b9e9340dd135d5f4afbbcb1d1d6c6709f74473b35929007b9aeb LICENSE-GPL2 +sha256 63cb5f5c1ea39b732c495f354f971e40f6db84c567ca5573a68bb65af07741f8 LICENSE-GPL3 diff --git a/package/python-smbus-cffi/python-smbus-cffi.hash b/package/python-smbus-cffi/python-smbus-cffi.hash index ed851eb6f..4474d0b9a 100644 --- a/package/python-smbus-cffi/python-smbus-cffi.hash +++ b/package/python-smbus-cffi/python-smbus-cffi.hash @@ -1,5 +1,5 @@ # md5 from https://pypi.python.org/pypi?:action=show_md5&digest=f621c871bd658ee665751ad78e3b2df9 -md5 f621c871bd658ee665751ad78e3b2df9 smbus-cffi-0.5.1.tar.gz +md5 f621c871bd658ee665751ad78e3b2df9 smbus-cffi-0.5.1.tar.gz # Locally computed sha256 fb4195aaabfc01586863f60d3190b5cb1bf8f12622fd597e23e48768dad6bde8 smbus-cffi-0.5.1.tar.gz sha256 d54f57bf73bd1ff19a424b6deab6ff08f6089a2469c8de360b167f755e4ecb4c LICENSE diff --git a/package/python-smmap2/python-smmap2.hash b/package/python-smmap2/python-smmap2.hash index 9ae758fc6..35d1cc679 100644 --- a/package/python-smmap2/python-smmap2.hash +++ b/package/python-smmap2/python-smmap2.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/smmap/json -md5 61882572be57023980c36f5493523077 smmap-4.0.0.tar.gz -sha256 7e65386bd122d45405ddf795637b7f7d2b532e7e401d46bbe3fb49b9986d5182 smmap-4.0.0.tar.gz +md5 61882572be57023980c36f5493523077 smmap-4.0.0.tar.gz +sha256 7e65386bd122d45405ddf795637b7f7d2b532e7e401d46bbe3fb49b9986d5182 smmap-4.0.0.tar.gz # Locally computed sha256 checksums -sha256 88e9d93f708d110b328a834302dd1d5c6afbda530e7721d15d80b3511d86f235 LICENSE +sha256 88e9d93f708d110b328a834302dd1d5c6afbda530e7721d15d80b3511d86f235 LICENSE diff --git a/package/python-snappy/python-snappy.hash b/package/python-snappy/python-snappy.hash index 1e0f96054..05ac48996 100644 --- a/package/python-snappy/python-snappy.hash +++ b/package/python-snappy/python-snappy.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/python-snappy/json -md5 82e09ffd44204096fc70d6de14d0ea2f python-snappy-0.5.4.tar.gz -sha256 d9c26532cfa510f45e8d135cde140e8a5603d3fb254cfec273ebc0ecf9f668e2 python-snappy-0.5.4.tar.gz +md5 82e09ffd44204096fc70d6de14d0ea2f python-snappy-0.5.4.tar.gz +sha256 d9c26532cfa510f45e8d135cde140e8a5603d3fb254cfec273ebc0ecf9f668e2 python-snappy-0.5.4.tar.gz # Locally computed sha256 checksums -sha256 d007cb05f143d99d16d5cd0d1bf291daf037adb36800344e440ec26edb938f9a LICENSE +sha256 d007cb05f143d99d16d5cd0d1bf291daf037adb36800344e440ec26edb938f9a LICENSE diff --git a/package/python-spidev/python-spidev.hash b/package/python-spidev/python-spidev.hash index 13128ee3e..c74d7c470 100644 --- a/package/python-spidev/python-spidev.hash +++ b/package/python-spidev/python-spidev.hash @@ -1,5 +1,5 @@ # sha256 from https://pypi.org/project/spidev -sha256 8a7f5c289f161ea2ac4697fa8a10918232c990678dd0053084b3c43b1363910d spidev-3.5.tar.gz +sha256 8a7f5c289f161ea2ac4697fa8a10918232c990678dd0053084b3c43b1363910d spidev-3.5.tar.gz # locally computed -sha256 153a6f02f41aebe292cf3307f973a80b4fb0c988d8d3e7d126c7a66c20b1cc27 README.md +sha256 153a6f02f41aebe292cf3307f973a80b4fb0c988d8d3e7d126c7a66c20b1cc27 README.md diff --git a/package/python-sqlalchemy/python-sqlalchemy.hash b/package/python-sqlalchemy/python-sqlalchemy.hash index 991293b5a..3274e10fd 100644 --- a/package/python-sqlalchemy/python-sqlalchemy.hash +++ b/package/python-sqlalchemy/python-sqlalchemy.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/sqlalchemy/json -md5 af9722657ba51131703dbe75f24b054a SQLAlchemy-1.3.10.tar.gz -sha256 0f0768b5db594517e1f5e1572c73d14cf295140756431270d89496dc13d5e46c SQLAlchemy-1.3.10.tar.gz +md5 af9722657ba51131703dbe75f24b054a SQLAlchemy-1.3.10.tar.gz +sha256 0f0768b5db594517e1f5e1572c73d14cf295140756431270d89496dc13d5e46c SQLAlchemy-1.3.10.tar.gz # Locally computed sha256 checksums -sha256 0acffa15f3427e94014235e3c44376f6fe5df0ff461a93a9116eebcce74c056e LICENSE +sha256 0acffa15f3427e94014235e3c44376f6fe5df0ff461a93a9116eebcce74c056e LICENSE diff --git a/package/python-sqlparse/python-sqlparse.hash b/package/python-sqlparse/python-sqlparse.hash index a03abe342..d7e329eda 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 2ce34181d6b7b234c9f3c0ecd1ffb93e sqlparse-0.3.0.tar.gz -sha256 7c3dca29c022744e95b547e867cee89f4fce4373f3549ccd8797d8eb52cdb873 sqlparse-0.3.0.tar.gz +md5 2ce34181d6b7b234c9f3c0ecd1ffb93e sqlparse-0.3.0.tar.gz +sha256 7c3dca29c022744e95b547e867cee89f4fce4373f3549ccd8797d8eb52cdb873 sqlparse-0.3.0.tar.gz # Locally computed sha256 checksums -sha256 c1938235b80d39e93138eae89edc3af67e18ecbc40d266529fa57b2dce426310 LICENSE +sha256 c1938235b80d39e93138eae89edc3af67e18ecbc40d266529fa57b2dce426310 LICENSE diff --git a/package/python-systemd/python-systemd.hash b/package/python-systemd/python-systemd.hash index 1e5cee5ce..789b48590 100644 --- a/package/python-systemd/python-systemd.hash +++ b/package/python-systemd/python-systemd.hash @@ -1,5 +1,5 @@ # md5 from https://pypi.python.org/pypi/systemd-python/ -md5 5071ea5bcb976186e92a3f5e75df221d systemd-python-234.tar.gz +md5 5071ea5bcb976186e92a3f5e75df221d systemd-python-234.tar.gz # Locally computed sha256 fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895db83e7 systemd-python-234.tar.gz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.txt diff --git a/package/python-tempora/python-tempora.hash b/package/python-tempora/python-tempora.hash index e95924613..0fca58354 100644 --- a/package/python-tempora/python-tempora.hash +++ b/package/python-tempora/python-tempora.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/tempora/json -md5 f8b2b0df1adf3f83b829a85e31bddb2d tempora-1.14.1.tar.gz -sha256 cb60b1d2b1664104e307f8e5269d7f4acdb077c82e35cd57246ae14a3427d2d6 tempora-1.14.1.tar.gz +md5 f8b2b0df1adf3f83b829a85e31bddb2d tempora-1.14.1.tar.gz +sha256 cb60b1d2b1664104e307f8e5269d7f4acdb077c82e35cd57246ae14a3427d2d6 tempora-1.14.1.tar.gz # Locally computed sha256 checksums -sha256 a55e2ffe9b44998e621d51d8c094bed09acc4b5236ee73d7df395a33ba3c18fd LICENSE +sha256 a55e2ffe9b44998e621d51d8c094bed09acc4b5236ee73d7df395a33ba3c18fd LICENSE diff --git a/package/python-termcolor/python-termcolor.hash b/package/python-termcolor/python-termcolor.hash index 7cccc3ec9..36365cc3d 100644 --- a/package/python-termcolor/python-termcolor.hash +++ b/package/python-termcolor/python-termcolor.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/termcolor/json -md5 043e89644f8909d462fbbfa511c768df termcolor-1.1.0.tar.gz -sha256 1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b termcolor-1.1.0.tar.gz +md5 043e89644f8909d462fbbfa511c768df termcolor-1.1.0.tar.gz +sha256 1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b termcolor-1.1.0.tar.gz # Locally computed sha256 checksums -sha256 497b3272b67b94a7aa58fa3748d21b62b29ccb783b1cda816f594e3932590bbf COPYING.txt +sha256 497b3272b67b94a7aa58fa3748d21b62b29ccb783b1cda816f594e3932590bbf COPYING.txt diff --git a/package/python-tomako/python-tomako.hash b/package/python-tomako/python-tomako.hash index 65576f419..e2d56536a 100644 --- a/package/python-tomako/python-tomako.hash +++ b/package/python-tomako/python-tomako.hash @@ -1,5 +1,5 @@ # md5 from https://pypi.python.org/pypi/tomako/json -md5 a2e9e99be4ddf2263ed441ddc3dfcf96 tomako-0.1.0.post1.tar.gz +md5 a2e9e99be4ddf2263ed441ddc3dfcf96 tomako-0.1.0.post1.tar.gz # Locally computed -sha256 2d8ec113199408eb16ec00361aac6f10b716925779b6331083f304d01dafd150 tomako-0.1.0.post1.tar.gz +sha256 2d8ec113199408eb16ec00361aac6f10b716925779b6331083f304d01dafd150 tomako-0.1.0.post1.tar.gz sha256 2b55167354e331f089d5f7a9a9ef4149b0baa95abd6860b6390a04001e1f2bb8 LICENSE diff --git a/package/python-tqdm/python-tqdm.hash b/package/python-tqdm/python-tqdm.hash index 8a61b29ad..8251ae48d 100644 --- a/package/python-tqdm/python-tqdm.hash +++ b/package/python-tqdm/python-tqdm.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/project/tqdm -md5 285af1f905f4c375f03a86a667047950 tqdm-4.40.1.tar.gz -sha256 e405d16c98fcf30725d0c9d493ed07302a18846b5452de5253030ccd18996f87 tqdm-4.40.1.tar.gz +md5 285af1f905f4c375f03a86a667047950 tqdm-4.40.1.tar.gz +sha256 e405d16c98fcf30725d0c9d493ed07302a18846b5452de5253030ccd18996f87 tqdm-4.40.1.tar.gz # Locally computed sha256 checksums -sha256 1bbf12d09d437844527b3cdaba01d379dac651b5cbb5ebb0d764274684d2680b LICENCE +sha256 1bbf12d09d437844527b3cdaba01d379dac651b5cbb5ebb0d764274684d2680b LICENCE diff --git a/package/python-treq/Config.in b/package/python-treq/Config.in index 7c02a3563..5d76a5cdd 100644 --- a/package/python-treq/Config.in +++ b/package/python-treq/Config.in @@ -3,9 +3,9 @@ config BR2_PACKAGE_PYTHON_TREQ # twisted TLS -> python-{pyopenssl,service-identity} depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS select BR2_PACKAGE_PYTHON_ATTRS # runtime + select BR2_PACKAGE_PYTHON_HYPERLINK # runtime select BR2_PACKAGE_PYTHON_INCREMENTAL # runtime select BR2_PACKAGE_PYTHON_REQUESTS # runtime - select BR2_PACKAGE_PYTHON_SIX # runtime select BR2_PACKAGE_PYTHON_TWISTED # runtime select BR2_PACKAGE_PYTHON_TWISTED_TLS # runtime help diff --git a/package/python-treq/python-treq.hash b/package/python-treq/python-treq.hash index 288279cbd..aecf71aad 100644 --- a/package/python-treq/python-treq.hash +++ b/package/python-treq/python-treq.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/treq/json -md5 b75f6c89fd481989a9cfdec8d61a6d84 treq-20.3.0.tar.gz -sha256 a72d7587d6f81c7a32620b00175825b4334bafbde73d37098d139ac7b11dca98 treq-20.3.0.tar.gz +md5 43892086d556e7596392134f1e10bdef treq-22.2.0.tar.gz +sha256 df757e3f141fc782ede076a604521194ffcb40fa2645cf48e5a37060307f52ec treq-22.2.0.tar.gz # Locally computed sha256 checksums sha256 7cc1b65e1937b1cc07052bb864ec96d8e5fd413400c0842e5b89a8201a600293 LICENSE diff --git a/package/python-treq/python-treq.mk b/package/python-treq/python-treq.mk index 320f57b6f..8995bf2cf 100644 --- a/package/python-treq/python-treq.mk +++ b/package/python-treq/python-treq.mk @@ -4,9 +4,12 @@ # ################################################################################ -PYTHON_TREQ_VERSION = 20.3.0 +# When bumping this package, make sure to also verify if the +# python-twisted package still works and to update its hash, +# as they share the same version/site variables. +PYTHON_TREQ_VERSION = 22.2.0 PYTHON_TREQ_SOURCE = treq-$(PYTHON_TREQ_VERSION).tar.gz -PYTHON_TREQ_SITE = https://files.pythonhosted.org/packages/98/09/25064d7224efde9fd51e8865353d516c53306e476eab27ab21fb258cf7d4 +PYTHON_TREQ_SITE = https://files.pythonhosted.org/packages/cd/c8/b68ab17d994133baf6edbcb5551ba81e1494bdc6d5e21a9d4f3bc4315140 PYTHON_TREQ_LICENSE = MIT PYTHON_TREQ_LICENSE_FILES = LICENSE PYTHON_TREQ_SETUP_TYPE = setuptools diff --git a/package/python-twisted/python-twisted.hash b/package/python-twisted/python-twisted.hash index 8f0935e4f..63da0125b 100644 --- a/package/python-twisted/python-twisted.hash +++ b/package/python-twisted/python-twisted.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/twisted/json -md5 c818cb1ab241dc249517442e5a0e0412 Twisted-22.1.0.tar.gz -sha256 b7971ec9805b0f80e1dcb1a3721d7bfad636d5f909de687430ce373979d67b61 Twisted-22.1.0.tar.gz +md5 fd252d0b895ca2ab81b5b1454073d890 Twisted-22.2.0.tar.gz +sha256 57f32b1f6838facb8c004c89467840367ad38e9e535f8252091345dba500b4f2 Twisted-22.2.0.tar.gz # Locally computed sha256 sha256 686f6426a775450eb3afd00bc3a5c2621f305ddb9c8478ee9bf28a368ef2dece LICENSE diff --git a/package/python-twisted/python-twisted.mk b/package/python-twisted/python-twisted.mk index 8e867cfb5..8a89d3dc8 100644 --- a/package/python-twisted/python-twisted.mk +++ b/package/python-twisted/python-twisted.mk @@ -4,9 +4,12 @@ # ################################################################################ -PYTHON_TWISTED_VERSION = 22.1.0 +# When bumping this package, make sure to also verify if the +# python-treq package still works and to update its hash, +# as they share the same version/site variables. +PYTHON_TWISTED_VERSION = 22.2.0 PYTHON_TWISTED_SOURCE = Twisted-$(PYTHON_TWISTED_VERSION).tar.gz -PYTHON_TWISTED_SITE = https://files.pythonhosted.org/packages/77/b8/8108806ebf2b33654989fd1511281dc94a49fa7e03326d84fe5498ecfae4 +PYTHON_TWISTED_SITE = https://files.pythonhosted.org/packages/40/8b/56e8870d412c550b3ff2d6714ee212c7e80a6634f4e720c3a26a983e7b46 PYTHON_TWISTED_SETUP_TYPE = setuptools PYTHON_TWISTED_LICENSE = MIT PYTHON_TWISTED_LICENSE_FILES = LICENSE diff --git a/package/python-txdbus/Config.in b/package/python-txdbus/Config.in index f3ea4c78d..e29959661 100644 --- a/package/python-txdbus/Config.in +++ b/package/python-txdbus/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_PYTHON_TXDBUS bool "python-txdbus" # python-twisted -> python-cryptography depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS - # python-twisted -> python-cryptography select BR2_PACKAGE_PYTHON_TWISTED # runtime select BR2_PACKAGE_PYTHON_SIX # runtime help diff --git a/package/python-txtorcon/python-txtorcon.hash b/package/python-txtorcon/python-txtorcon.hash index af542c7f2..220b5fb23 100644 --- a/package/python-txtorcon/python-txtorcon.hash +++ b/package/python-txtorcon/python-txtorcon.hash @@ -2,4 +2,4 @@ md5 dbb53821a3ce3e921e09c5de4f722fdb txtorcon-21.1.0.tar.gz sha256 aebf0b9ec6c69a029f6b61fd534e785692e28fdcd2fd003ce3cc132b9393b7d6 txtorcon-21.1.0.tar.gz # Locally computed sha256 checksums -sha256 3ada1c32ef38c23d96d7f4e8f4a226c527f51e0202883c7543b06f9cc5228a2b LICENSE +sha256 3ada1c32ef38c23d96d7f4e8f4a226c527f51e0202883c7543b06f9cc5228a2b LICENSE diff --git a/package/python-ujson/Config.in b/package/python-ujson/Config.in index 81d1bc457..7af03e649 100644 --- a/package/python-ujson/Config.in +++ b/package/python-ujson/Config.in @@ -1,7 +1,11 @@ config BR2_PACKAGE_PYTHON_UJSON bool "python-ujson" + depends on BR2_INSTALL_LIBSTDCPP help UltraJSON is an ultra fast JSON encoder and decoder written in pure C with bindings for Python 3. https://pypi.python.org/pypi/ujson + +comment "python-ujson needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-urllib3/python-urllib3.hash b/package/python-urllib3/python-urllib3.hash index 2415f2419..bab97249b 100644 --- a/package/python-urllib3/python-urllib3.hash +++ b/package/python-urllib3/python-urllib3.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/urllib3/json -md5 50831ca7b19bbe2781abb0a4c2d51760 urllib3-1.26.8.tar.gz -sha256 0e7c33d9a63e7ddfcb86780aac87befc2fbddf46c58dbb487e0855f7ceec283c urllib3-1.26.8.tar.gz +md5 d4b58522821a33c5e421191b83e0dbac urllib3-1.26.9.tar.gz +sha256 aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e urllib3-1.26.9.tar.gz # Locally computed sha256 checksums sha256 c37bf186e27cf9dbe9619e55edfe3cea7b30091ceb3da63c7dacbe0e6d77907b LICENSE.txt diff --git a/package/python-urllib3/python-urllib3.mk b/package/python-urllib3/python-urllib3.mk index d94c97b4e..cb2f7ffe5 100644 --- a/package/python-urllib3/python-urllib3.mk +++ b/package/python-urllib3/python-urllib3.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_URLLIB3_VERSION = 1.26.8 +PYTHON_URLLIB3_VERSION = 1.26.9 PYTHON_URLLIB3_SOURCE = urllib3-$(PYTHON_URLLIB3_VERSION).tar.gz -PYTHON_URLLIB3_SITE = https://files.pythonhosted.org/packages/b0/b1/7bbf5181f8e3258efae31702f5eab87d8a74a72a0aa78bc8c08c1466e243 +PYTHON_URLLIB3_SITE = https://files.pythonhosted.org/packages/1b/a5/4eab74853625505725cefdf168f48661b2cd04e7843ab836f3f63abf81da PYTHON_URLLIB3_LICENSE = MIT PYTHON_URLLIB3_LICENSE_FILES = LICENSE.txt PYTHON_URLLIB3_CPE_ID_VENDOR = python diff --git a/package/python-vcversioner/python-vcversioner.hash b/package/python-vcversioner/python-vcversioner.hash index 58573a18b..1f982cd45 100644 --- a/package/python-vcversioner/python-vcversioner.hash +++ b/package/python-vcversioner/python-vcversioner.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/vcversioner/json, sha256 locally computed -md5 aab6ef5e0cf8614a1b1140ed5b7f107d vcversioner-2.16.0.0.tar.gz -sha256 dae60c17a479781f44a4010701833f1829140b1eeccd258762a74974aa06e19b vcversioner-2.16.0.0.tar.gz +md5 aab6ef5e0cf8614a1b1140ed5b7f107d vcversioner-2.16.0.0.tar.gz +sha256 dae60c17a479781f44a4010701833f1829140b1eeccd258762a74974aa06e19b vcversioner-2.16.0.0.tar.gz diff --git a/package/python-visitor/python-visitor.hash b/package/python-visitor/python-visitor.hash index 6e0cffbd9..a6f0ec710 100644 --- a/package/python-visitor/python-visitor.hash +++ b/package/python-visitor/python-visitor.hash @@ -1,4 +1,4 @@ # md5 from https://pypi.python.org/pypi/visitor/json, sha256 locally computed -md5 94a024ed0ec1b02b4497c15267d319ca visitor-0.1.3.tar.gz -sha256 2c737903b2b6864ebc6167eef7cf3b997126f1aa94bdf590f90f1436d23e480a visitor-0.1.3.tar.gz -sha256 184d1ebb65da97ada36447f3c028f2fd4890b874f17b18c023ce200dd96639af LICENSE +md5 94a024ed0ec1b02b4497c15267d319ca visitor-0.1.3.tar.gz +sha256 2c737903b2b6864ebc6167eef7cf3b997126f1aa94bdf590f90f1436d23e480a visitor-0.1.3.tar.gz +sha256 184d1ebb65da97ada36447f3c028f2fd4890b874f17b18c023ce200dd96639af LICENSE diff --git a/package/python-weasyprint/Config.in b/package/python-weasyprint/Config.in index 4a7e5a513..18d72d742 100644 --- a/package/python-weasyprint/Config.in +++ b/package/python-weasyprint/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_PYTHON_WEASYPRINT bool "python-weasyprint" + depends on BR2_INSTALL_LIBSTDCPP # python-brotli, python-zopfli select BR2_PACKAGE_PYTHON_BROTLI # runtime select BR2_PACKAGE_PYTHON_CFFI # runtime select BR2_PACKAGE_PYTHON_CSSSELECT2 # runtime @@ -14,3 +15,6 @@ config BR2_PACKAGE_PYTHON_WEASYPRINT The Awesome Document Factory. https://www.courtbouillon.org/weasyprint + +comment "python-weasyprint needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-web2py/python-web2py.hash b/package/python-web2py/python-web2py.hash index 2ef52b0a5..c0ce0cc35 100644 --- a/package/python-web2py/python-web2py.hash +++ b/package/python-web2py/python-web2py.hash @@ -1,3 +1,3 @@ # sha256 locally computed -sha256 44556376468139de874e9c29c9ef56e60ecd5f7536c7bee46d74b1f9d4178825 python-web2py-2.21.1.tar.gz -sha256 2aae96826184a492bc799add49aed7b29036e7aba2d2294fb65053bd30fe55fe LICENSE +sha256 f4066d76290b333bc1bb1cf4c23b612eebde712b7112e90a72e7609a14690d2c python-web2py-2.23.1.tar.gz +sha256 2aae96826184a492bc799add49aed7b29036e7aba2d2294fb65053bd30fe55fe LICENSE diff --git a/package/python-web2py/python-web2py.mk b/package/python-web2py/python-web2py.mk index 3e453282a..2a666cae1 100644 --- a/package/python-web2py/python-web2py.mk +++ b/package/python-web2py/python-web2py.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_WEB2PY_VERSION = 2.21.1 +PYTHON_WEB2PY_VERSION = 2.23.1 PYTHON_WEB2PY_SITE = $(call github,web2py,web2py,v$(PYTHON_WEB2PY_VERSION)) PYTHON_WEB2PY_LICENSE = LGPL-3.0 PYTHON_WEB2PY_LICENSE_FILES = LICENSE diff --git a/package/python-webencodings/python-webencodings.hash b/package/python-webencodings/python-webencodings.hash index 90f5e6626..47577a6d3 100644 --- a/package/python-webencodings/python-webencodings.hash +++ b/package/python-webencodings/python-webencodings.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/webencodings/json -md5 32f6e261d52e57bf7e1c4d41546d15b8 webencodings-0.5.1.tar.gz -sha256 b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923 webencodings-0.5.1.tar.gz +md5 32f6e261d52e57bf7e1c4d41546d15b8 webencodings-0.5.1.tar.gz +sha256 b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923 webencodings-0.5.1.tar.gz # Locally computed sha256 checksumms -sha256 c27693b0174d6d04dafd0242857ae72763f5404b675972c777fd865bc3c0abe1 PKG-INFO +sha256 c27693b0174d6d04dafd0242857ae72763f5404b675972c777fd865bc3c0abe1 PKG-INFO diff --git a/package/python-webpy/python-webpy.hash b/package/python-webpy/python-webpy.hash index 6af6abeff..ed3da6b1a 100644 --- a/package/python-webpy/python-webpy.hash +++ b/package/python-webpy/python-webpy.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/web.py/json -md5 4e7ec89e7ae1e938d01fff01ba752606 web.py-0.40.tar.gz -sha256 dc5e42ffbc42d77d07f75b7acca9975a3368ae609774e49ddebb497a784131f3 web.py-0.40.tar.gz +md5 4e7ec89e7ae1e938d01fff01ba752606 web.py-0.40.tar.gz +sha256 dc5e42ffbc42d77d07f75b7acca9975a3368ae609774e49ddebb497a784131f3 web.py-0.40.tar.gz # Locally computed sha256 checksums -sha256 791bf6e9419435f114a19fc6519ff33738021eb3c41b18490943230ab0894df9 LICENSE.txt +sha256 791bf6e9419435f114a19fc6519ff33738021eb3c41b18490943230ab0894df9 LICENSE.txt diff --git a/package/python-werkzeug/python-werkzeug.hash b/package/python-werkzeug/python-werkzeug.hash index 1d6de8a0c..0b60a4006 100644 --- a/package/python-werkzeug/python-werkzeug.hash +++ b/package/python-werkzeug/python-werkzeug.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/werkzeug/json -md5 5d499cfdd30de5d9c946994783772efd Werkzeug-1.0.1.tar.gz -sha256 6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c Werkzeug-1.0.1.tar.gz +md5 28c3ec6a4b1ce8f06c85612c1dfa351a Werkzeug-2.2.3.tar.gz +sha256 2e1ccc9417d4da358b9de6f174e3ac094391ea1d4fbef2d667865d819dfd0afe Werkzeug-2.2.3.tar.gz # Locally computed sha256 checksums sha256 3b49dcee4105eb37bac10faf1be260408fe85d252b8e9df2e0979fc1e094437b LICENSE.rst diff --git a/package/python-werkzeug/python-werkzeug.mk b/package/python-werkzeug/python-werkzeug.mk index fe9b87af1..0dd27d145 100644 --- a/package/python-werkzeug/python-werkzeug.mk +++ b/package/python-werkzeug/python-werkzeug.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_WERKZEUG_VERSION = 1.0.1 +PYTHON_WERKZEUG_VERSION = 2.2.3 PYTHON_WERKZEUG_SOURCE = Werkzeug-$(PYTHON_WERKZEUG_VERSION).tar.gz -PYTHON_WERKZEUG_SITE = https://files.pythonhosted.org/packages/10/27/a33329150147594eff0ea4c33c2036c0eadd933141055be0ff911f7f8d04 +PYTHON_WERKZEUG_SITE = https://files.pythonhosted.org/packages/02/3c/baaebf3235c87d61d6593467056d5a8fba7c75ac838b8d100a5e64eba7a0 PYTHON_WERKZEUG_SETUP_TYPE = setuptools PYTHON_WERKZEUG_LICENSE = BSD-3-Clause PYTHON_WERKZEUG_LICENSE_FILES = LICENSE.rst diff --git a/package/python-whoosh/python-whoosh.hash b/package/python-whoosh/python-whoosh.hash index c615beb9c..a1eced0e3 100644 --- a/package/python-whoosh/python-whoosh.hash +++ b/package/python-whoosh/python-whoosh.hash @@ -1,5 +1,5 @@ # md5 from https://pypi.python.org/pypi/whoosh/json -md5 c2710105f20b3e29936bd2357383c325 Whoosh-2.7.4.tar.gz +md5 c2710105f20b3e29936bd2357383c325 Whoosh-2.7.4.tar.gz # Locally computed sha256 7ca5633dbfa9e0e0fa400d3151a8a0c4bec53bd2ecedc0a67705b17565c31a83 Whoosh-2.7.4.tar.gz sha256 464ef68037a0e5545e4716b4ff99f3f85ca89cf9e9a7ecfd7a02039ba1c34a90 LICENSE.txt diff --git a/package/python-ws4py/python-ws4py.hash b/package/python-ws4py/python-ws4py.hash index 109768d28..1e809fee0 100644 --- a/package/python-ws4py/python-ws4py.hash +++ b/package/python-ws4py/python-ws4py.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/ws4py/json -md5 68e0cfae9659dd059ff7e7a8218af548 ws4py-0.5.1.tar.gz -sha256 29d073d7f2e006373e6a848b1d00951a1107eb81f3742952be905429dc5a5483 ws4py-0.5.1.tar.gz +md5 68e0cfae9659dd059ff7e7a8218af548 ws4py-0.5.1.tar.gz +sha256 29d073d7f2e006373e6a848b1d00951a1107eb81f3742952be905429dc5a5483 ws4py-0.5.1.tar.gz # Locally computed sha256 checksums -sha256 3c98d9e820de01b1ae3be846419700ab9cefa22b09aa0ef441b3bfd5613c3ba1 LICENSE +sha256 3c98d9e820de01b1ae3be846419700ab9cefa22b09aa0ef441b3bfd5613c3ba1 LICENSE diff --git a/package/python-xlib/python-xlib.hash b/package/python-xlib/python-xlib.hash index c6a446b6b..120541f99 100644 --- a/package/python-xlib/python-xlib.hash +++ b/package/python-xlib/python-xlib.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/python-xlib/json -md5 3a87f81bff4cb4f8a52881097ba51a49 python-xlib-0.27.tar.bz2 -sha256 a90667c70905c6ef0754c8a09fa61acbc1e1b7ddb946d527831800d7cbfe9348 python-xlib-0.27.tar.bz2 +md5 3a87f81bff4cb4f8a52881097ba51a49 python-xlib-0.27.tar.bz2 +sha256 a90667c70905c6ef0754c8a09fa61acbc1e1b7ddb946d527831800d7cbfe9348 python-xlib-0.27.tar.bz2 # Locally computed sha256 checksums -sha256 06eb1c441443cf15ac84f309003f4c43c62246939d37c75fc3e056c2d34cd300 LICENSE +sha256 06eb1c441443cf15ac84f309003f4c43c62246939d37c75fc3e056c2d34cd300 LICENSE diff --git a/package/python-xlutils/python-xlutils.hash b/package/python-xlutils/python-xlutils.hash index aa507883a..908aa4d68 100644 --- a/package/python-xlutils/python-xlutils.hash +++ b/package/python-xlutils/python-xlutils.hash @@ -1,6 +1,6 @@ # md5 from https://pypi.python.org/pypi/xlutils/json -md5 7a6a339ddaacabce244341582ee61353 xlutils-2.0.0.tar.gz +md5 7a6a339ddaacabce244341582ee61353 xlutils-2.0.0.tar.gz # sha256 calculated by scanpypi -sha256 7e0e2c233bd185fecf5e2bd3f4e9469ca4a3bd87da64c82cfe5b2af27e7f9e54 xlutils-2.0.0.tar.gz +sha256 7e0e2c233bd185fecf5e2bd3f4e9469ca4a3bd87da64c82cfe5b2af27e7f9e54 xlutils-2.0.0.tar.gz # Locally computed sha256 28907976ee86414cc720fafc966563b16eeb6a6aeb1da5f5ed40bac3a8808bcf xlutils/license.txt diff --git a/package/python-xlwt/python-xlwt.hash b/package/python-xlwt/python-xlwt.hash index 8b0511fda..826643d56 100644 --- a/package/python-xlwt/python-xlwt.hash +++ b/package/python-xlwt/python-xlwt.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/xlwt/json -md5 4b1ca8a3cef3261f4b4dc3f138e383a8 xlwt-1.3.0.tar.gz -sha256 c59912717a9b28f1a3c2a98fd60741014b06b043936dcecbc113eaaada156c88 xlwt-1.3.0.tar.gz +md5 4b1ca8a3cef3261f4b4dc3f138e383a8 xlwt-1.3.0.tar.gz +sha256 c59912717a9b28f1a3c2a98fd60741014b06b043936dcecbc113eaaada156c88 xlwt-1.3.0.tar.gz # Locally computed sha256 7f7b66f23fdac4f68fe3b342dd16b329d511017a901784a5ceb83f505f2de7c6 docs/licenses.rst diff --git a/package/python-xmltodict/python-xmltodict.hash b/package/python-xmltodict/python-xmltodict.hash index 16422d78c..382ecc43e 100644 --- a/package/python-xmltodict/python-xmltodict.hash +++ b/package/python-xmltodict/python-xmltodict.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/xmltodict/json -md5 ddb2bd078cef4f7e3021a578034ad941 xmltodict-0.12.0.tar.gz -sha256 50d8c638ed7ecb88d90561beedbf720c9b4e851a9fa6c47ebd64e99d166d8a21 xmltodict-0.12.0.tar.gz +md5 ddb2bd078cef4f7e3021a578034ad941 xmltodict-0.12.0.tar.gz +sha256 50d8c638ed7ecb88d90561beedbf720c9b4e851a9fa6c47ebd64e99d166d8a21 xmltodict-0.12.0.tar.gz # Locally computed sha256 checksums -sha256 d66d5eb8f83a0ba21d3dd04318b8817588e8764daabea852d1035e3f07ffda55 LICENSE +sha256 d66d5eb8f83a0ba21d3dd04318b8817588e8764daabea852d1035e3f07ffda55 LICENSE diff --git a/package/python-zc-lockfile/python-zc-lockfile.hash b/package/python-zc-lockfile/python-zc-lockfile.hash index 4a9c19488..181adda1b 100644 --- a/package/python-zc-lockfile/python-zc-lockfile.hash +++ b/package/python-zc-lockfile/python-zc-lockfile.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/zc.lockfile/json -md5 3895445752278ddcc4578658c3c9a492 zc.lockfile-2.0.tar.gz -sha256 307ad78227e48be260e64896ec8886edc7eae22d8ec53e4d528ab5537a83203b zc.lockfile-2.0.tar.gz +md5 3895445752278ddcc4578658c3c9a492 zc.lockfile-2.0.tar.gz +sha256 307ad78227e48be260e64896ec8886edc7eae22d8ec53e4d528ab5537a83203b zc.lockfile-2.0.tar.gz # Locally computed sha256 checksums -sha256 3e671db11df687516cc1db5b3d65e4aa383eaca3c20cea3faf53a0f7335d0a3c LICENSE.txt +sha256 3e671db11df687516cc1db5b3d65e4aa383eaca3c20cea3faf53a0f7335d0a3c LICENSE.txt diff --git a/package/python-zopfli/Config.in b/package/python-zopfli/Config.in index 0b1ebca85..dc68a2fef 100644 --- a/package/python-zopfli/Config.in +++ b/package/python-zopfli/Config.in @@ -1,6 +1,10 @@ config BR2_PACKAGE_PYTHON_ZOPFLI bool "python-zopfli" + depends on BR2_INSTALL_LIBSTDCPP help Zopfli module for python. https://github.com/fonttools/py-zopfli + +comment "python-zopfli needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python3/0012-Add-importlib-fix-for-PEP-3147-issue.patch b/package/python3/0011-Add-importlib-fix-for-PEP-3147-issue.patch similarity index 100% rename from package/python3/0012-Add-importlib-fix-for-PEP-3147-issue.patch rename to package/python3/0011-Add-importlib-fix-for-PEP-3147-issue.patch diff --git a/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch b/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch deleted file mode 100644 index 4d021d86a..000000000 --- a/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch +++ /dev/null @@ -1,39 +0,0 @@ -From e4ae670e3489544a49dabd1618c32fe73504a7ba Mon Sep 17 00:00:00 2001 -From: Samuel Cabrero -Date: Wed, 23 Dec 2015 11:45:48 +0100 -Subject: [PATCH] Override system locale and set to default when adding gcc - paths - -Forces the use of the default locale in the function -add_gcc_paths, which is called when cross compiling to add the -include and library paths. This is necessary because otherwise -the gcc output is localized and the output parsing fails, which -results in no paths added and detect_modules not able to find -any system library (eg. libz, libssl, etc.) - -[Thomas: patch taken from https://bugs.python.org/issue23767.] - -Signed-off-by: Samuel Cabrero -Signed-off-by: Thomas Petazzoni -[james.hilliard1@gmail.com: adapt to python 3.9] -Signed-off-by: James Hilliard ---- - setup.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index d3f0e663f2..926c16f58f 100644 ---- a/setup.py -+++ b/setup.py -@@ -761,7 +761,7 @@ class PyBuildExt(build_ext): - tmpfile = os.path.join(self.build_temp, 'ccpaths') - if not os.path.exists(self.build_temp): - os.makedirs(self.build_temp) -- ret = run_command('%s -E -v - %s 1>/dev/null' % (CC, tmpfile)) -+ ret = run_command('LC_ALL=C %s -E -v - %s 1>/dev/null' % (CC, tmpfile)) - is_gcc = False - is_clang = False - in_incdirs = False --- -2.25.1 - diff --git a/package/python3/0013-Add-an-option-to-disable-pydoc.patch b/package/python3/0012-Add-an-option-to-disable-pydoc.patch similarity index 100% rename from package/python3/0013-Add-an-option-to-disable-pydoc.patch rename to package/python3/0012-Add-an-option-to-disable-pydoc.patch diff --git a/package/python3/0014-Add-an-option-to-disable-lib2to3.patch b/package/python3/0013-Add-an-option-to-disable-lib2to3.patch similarity index 100% rename from package/python3/0014-Add-an-option-to-disable-lib2to3.patch rename to package/python3/0013-Add-an-option-to-disable-lib2to3.patch diff --git a/package/python3/0015-Add-option-to-disable-the-sqlite3-module.patch b/package/python3/0014-Add-option-to-disable-the-sqlite3-module.patch similarity index 100% rename from package/python3/0015-Add-option-to-disable-the-sqlite3-module.patch rename to package/python3/0014-Add-option-to-disable-the-sqlite3-module.patch diff --git a/package/python3/0016-Add-an-option-to-disable-the-tk-module.patch b/package/python3/0015-Add-an-option-to-disable-the-tk-module.patch similarity index 100% rename from package/python3/0016-Add-an-option-to-disable-the-tk-module.patch rename to package/python3/0015-Add-an-option-to-disable-the-tk-module.patch diff --git a/package/python3/0017-Add-an-option-to-disable-the-curses-module.patch b/package/python3/0016-Add-an-option-to-disable-the-curses-module.patch similarity index 100% rename from package/python3/0017-Add-an-option-to-disable-the-curses-module.patch rename to package/python3/0016-Add-an-option-to-disable-the-curses-module.patch diff --git a/package/python3/0018-Add-an-option-to-disable-expat.patch b/package/python3/0017-Add-an-option-to-disable-expat.patch similarity index 100% rename from package/python3/0018-Add-an-option-to-disable-expat.patch rename to package/python3/0017-Add-an-option-to-disable-expat.patch diff --git a/package/python3/0019-Add-an-option-to-disable-CJK-codecs.patch b/package/python3/0018-Add-an-option-to-disable-CJK-codecs.patch similarity index 100% rename from package/python3/0019-Add-an-option-to-disable-CJK-codecs.patch rename to package/python3/0018-Add-an-option-to-disable-CJK-codecs.patch diff --git a/package/python3/0020-Add-an-option-to-disable-NIS.patch b/package/python3/0019-Add-an-option-to-disable-NIS.patch similarity index 100% rename from package/python3/0020-Add-an-option-to-disable-NIS.patch rename to package/python3/0019-Add-an-option-to-disable-NIS.patch diff --git a/package/python3/0021-Add-an-option-to-disable-unicodedata.patch b/package/python3/0020-Add-an-option-to-disable-unicodedata.patch similarity index 100% rename from package/python3/0021-Add-an-option-to-disable-unicodedata.patch rename to package/python3/0020-Add-an-option-to-disable-unicodedata.patch diff --git a/package/python3/0022-Add-an-option-to-disable-IDLE.patch b/package/python3/0021-Add-an-option-to-disable-IDLE.patch similarity index 100% rename from package/python3/0022-Add-an-option-to-disable-IDLE.patch rename to package/python3/0021-Add-an-option-to-disable-IDLE.patch diff --git a/package/python3/0023-Add-an-option-to-disable-decimal.patch b/package/python3/0022-Add-an-option-to-disable-decimal.patch similarity index 100% rename from package/python3/0023-Add-an-option-to-disable-decimal.patch rename to package/python3/0022-Add-an-option-to-disable-decimal.patch diff --git a/package/python3/0024-Add-an-option-to-disable-the-ossaudiodev-module.patch b/package/python3/0023-Add-an-option-to-disable-the-ossaudiodev-module.patch similarity index 100% rename from package/python3/0024-Add-an-option-to-disable-the-ossaudiodev-module.patch rename to package/python3/0023-Add-an-option-to-disable-the-ossaudiodev-module.patch diff --git a/package/python3/0025-Add-an-option-to-disable-openssl-support.patch b/package/python3/0024-Add-an-option-to-disable-openssl-support.patch similarity index 100% rename from package/python3/0025-Add-an-option-to-disable-openssl-support.patch rename to package/python3/0024-Add-an-option-to-disable-openssl-support.patch diff --git a/package/python3/0026-Add-an-option-to-disable-the-readline-module.patch b/package/python3/0025-Add-an-option-to-disable-the-readline-module.patch similarity index 100% rename from package/python3/0026-Add-an-option-to-disable-the-readline-module.patch rename to package/python3/0025-Add-an-option-to-disable-the-readline-module.patch diff --git a/package/python3/0027-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch b/package/python3/0026-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch similarity index 100% rename from package/python3/0027-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch rename to package/python3/0026-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch diff --git a/package/python3/0028-python-config.sh-don-t-reassign-prefix.patch b/package/python3/0027-python-config.sh-don-t-reassign-prefix.patch similarity index 100% rename from package/python3/0028-python-config.sh-don-t-reassign-prefix.patch rename to package/python3/0027-python-config.sh-don-t-reassign-prefix.patch diff --git a/package/python3/0029-Fix-cross-compiling-the-uuid-module.patch b/package/python3/0028-Fix-cross-compiling-the-uuid-module.patch similarity index 100% rename from package/python3/0029-Fix-cross-compiling-the-uuid-module.patch rename to package/python3/0028-Fix-cross-compiling-the-uuid-module.patch diff --git a/package/python3/0030-Add-an-option-to-disable-uuid-module.patch b/package/python3/0029-Add-an-option-to-disable-uuid-module.patch similarity index 100% rename from package/python3/0030-Add-an-option-to-disable-uuid-module.patch rename to package/python3/0029-Add-an-option-to-disable-uuid-module.patch diff --git a/package/python3/0031-fix-building-on-older-distributions.patch b/package/python3/0030-fix-building-on-older-distributions.patch similarity index 100% rename from package/python3/0031-fix-building-on-older-distributions.patch rename to package/python3/0030-fix-building-on-older-distributions.patch diff --git a/package/python3/0032-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch b/package/python3/0031-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch similarity index 100% rename from package/python3/0032-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch rename to package/python3/0031-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch diff --git a/package/python3/0033-Add-an-option-to-disable-the-berkeleydb-module.patch b/package/python3/0032-Add-an-option-to-disable-the-berkeleydb-module.patch similarity index 100% rename from package/python3/0033-Add-an-option-to-disable-the-berkeleydb-module.patch rename to package/python3/0032-Add-an-option-to-disable-the-berkeleydb-module.patch diff --git a/package/python3/0033-3.11-gh-98433-Fix-quadratic-time-idna-decoding.-GH-9.patch b/package/python3/0033-3.11-gh-98433-Fix-quadratic-time-idna-decoding.-GH-9.patch new file mode 100644 index 000000000..d281e7261 --- /dev/null +++ b/package/python3/0033-3.11-gh-98433-Fix-quadratic-time-idna-decoding.-GH-9.patch @@ -0,0 +1,86 @@ +From 9bb8e18ca46fe66fa6802602f8a7228a24dd785f Mon Sep 17 00:00:00 2001 +From: "Miss Islington (bot)" + <31488909+miss-islington@users.noreply.github.com> +Date: Mon, 7 Nov 2022 19:23:16 -0800 +Subject: [PATCH] [3.11] gh-98433: Fix quadratic time idna decoding. (GH-99092) + (GH-99222) + +There was an unnecessary quadratic loop in idna decoding. This restores +the behavior to linear. + +(cherry picked from commit d315722564927c7202dd6e111dc79eaf14240b0d) + +(cherry picked from commit a6f6c3a3d6f2b580f2d87885c9b8a9350ad7bf15) + +Co-authored-by: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> +Co-authored-by: Gregory P. Smith +[Peter: drop NEWS.d/*] +Signed-off-by: Peter Korsgaard +--- + Lib/encodings/idna.py | 32 +++++++++---------- + Lib/test/test_codecs.py | 6 ++++ + 2 files changed, 23 insertions(+), 17 deletions(-) + +diff --git a/Lib/encodings/idna.py b/Lib/encodings/idna.py +index ea4058512f..bf98f51336 100644 +--- a/Lib/encodings/idna.py ++++ b/Lib/encodings/idna.py +@@ -39,23 +39,21 @@ def nameprep(label): + + # Check bidi + RandAL = [stringprep.in_table_d1(x) for x in label] +- for c in RandAL: +- if c: +- # There is a RandAL char in the string. Must perform further +- # tests: +- # 1) The characters in section 5.8 MUST be prohibited. +- # This is table C.8, which was already checked +- # 2) If a string contains any RandALCat character, the string +- # MUST NOT contain any LCat character. +- if any(stringprep.in_table_d2(x) for x in label): +- raise UnicodeError("Violation of BIDI requirement 2") +- +- # 3) If a string contains any RandALCat character, a +- # RandALCat character MUST be the first character of the +- # string, and a RandALCat character MUST be the last +- # character of the string. +- if not RandAL[0] or not RandAL[-1]: +- raise UnicodeError("Violation of BIDI requirement 3") ++ if any(RandAL): ++ # There is a RandAL char in the string. Must perform further ++ # tests: ++ # 1) The characters in section 5.8 MUST be prohibited. ++ # This is table C.8, which was already checked ++ # 2) If a string contains any RandALCat character, the string ++ # MUST NOT contain any LCat character. ++ if any(stringprep.in_table_d2(x) for x in label): ++ raise UnicodeError("Violation of BIDI requirement 2") ++ # 3) If a string contains any RandALCat character, a ++ # RandALCat character MUST be the first character of the ++ # string, and a RandALCat character MUST be the last ++ # character of the string. ++ if not RandAL[0] or not RandAL[-1]: ++ raise UnicodeError("Violation of BIDI requirement 3") + + return label + +diff --git a/Lib/test/test_codecs.py b/Lib/test/test_codecs.py +index 8edd5ac063..2407567261 100644 +--- a/Lib/test/test_codecs.py ++++ b/Lib/test/test_codecs.py +@@ -1535,6 +1535,12 @@ def test_builtin_encode(self): + self.assertEqual("pyth\xf6n.org".encode("idna"), b"xn--pythn-mua.org") + self.assertEqual("pyth\xf6n.org.".encode("idna"), b"xn--pythn-mua.org.") + ++ def test_builtin_decode_length_limit(self): ++ with self.assertRaisesRegex(UnicodeError, "too long"): ++ (b"xn--016c"+b"a"*1100).decode("idna") ++ with self.assertRaisesRegex(UnicodeError, "too long"): ++ (b"xn--016c"+b"a"*70).decode("idna") ++ + def test_stream(self): + r = codecs.getreader("idna")(io.BytesIO(b"abc")) + r.read(3) +-- +2.30.2 + diff --git a/package/python3/0034-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch b/package/python3/0033-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch similarity index 86% rename from package/python3/0034-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch rename to package/python3/0033-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch index 880277eb1..0458283c1 100644 --- a/package/python3/0034-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch +++ b/package/python3/0033-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch @@ -16,6 +16,8 @@ https://gitlab.com/buildroot.org/buildroot/-/jobs/830981979 [2] https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/tree/libcrypt/crypt.c?h=v1.0.36#n29 Signed-off-by: Romain Naour +[Daniel: updated for 3.10.7] +Signed-off-by: Daniel Lang --- Lib/crypt.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) @@ -28,10 +30,10 @@ index 33dbc46bb3..4692a5270c 100644 result = crypt('', salt) except OSError as e: # Not all libc libraries support all encryption methods. -- if e.errno == errno.EINVAL: +- if e.errno in {errno.EINVAL, errno.EPERM, errno.ENOSYS}: + # Not all libc libraries set errno when encryption method is not + # available. -+ if e.errno == errno.EINVAL or e.errno == 0: ++ if e.errno in {errno.EINVAL, errno.EPERM, errno.ENOSYS} or e.errno == 0: return False raise if result and len(result) == method.total_size: diff --git a/package/python3/0034-3-10-gh-98517-Fix-buffer-overflows-in-_sha3-module.patch b/package/python3/0034-3-10-gh-98517-Fix-buffer-overflows-in-_sha3-module.patch new file mode 100644 index 000000000..5c50dd16c --- /dev/null +++ b/package/python3/0034-3-10-gh-98517-Fix-buffer-overflows-in-_sha3-module.patch @@ -0,0 +1,101 @@ +From 0e4e058602d93b88256ff90bbef501ba20be9dd3 Mon Sep 17 00:00:00 2001 +From: Theo Buehler +Date: Fri, 21 Oct 2022 21:26:01 +0200 +Subject: [PATCH] [3.10] gh-98517: Fix buffer overflows in _sha3 module + (#98519) + +This is a port of the applicable part of XKCP's fix [1] for +CVE-2022-37454 and avoids the segmentation fault and the infinite +loop in the test cases published in [2]. + +[1]: https://github.com/XKCP/XKCP/commit/fdc6fef075f4e81d6b1bc38364248975e08e340a +[2]: https://mouha.be/sha-3-buffer-overflow/ + +Regression test added by: Gregory P. Smith [Google LLC] + +[Retrieved from: +https://github.com/python/cpython/commit/0e4e058602d93b88256ff90bbef501ba20be9dd3] +Signed-off-by: Fabrice Fontaine +--- + Lib/test/test_hashlib.py | 9 +++++++++ + .../2022-10-21-13-31-47.gh-issue-98517.SXXGfV.rst | 1 + + Modules/_sha3/kcp/KeccakSponge.inc | 15 ++++++++------- + 3 files changed, 18 insertions(+), 7 deletions(-) + create mode 100644 Misc/NEWS.d/next/Security/2022-10-21-13-31-47.gh-issue-98517.SXXGfV.rst + +diff --git a/Lib/test/test_hashlib.py b/Lib/test/test_hashlib.py +index 535f4aa3e04c..9aa6c1f0a3b6 100644 +--- a/Lib/test/test_hashlib.py ++++ b/Lib/test/test_hashlib.py +@@ -495,6 +495,15 @@ def test_case_md5_huge(self, size): + def test_case_md5_uintmax(self, size): + self.check('md5', b'A'*size, '28138d306ff1b8281f1a9067e1a1a2b3') + ++ @unittest.skipIf(sys.maxsize < _4G - 1, 'test cannot run on 32-bit systems') ++ @bigmemtest(size=_4G - 1, memuse=1, dry_run=False) ++ def test_sha3_update_overflow(self, size): ++ """Regression test for gh-98517 CVE-2022-37454.""" ++ h = hashlib.sha3_224() ++ h.update(b'\x01') ++ h.update(b'\x01'*0xffff_ffff) ++ self.assertEqual(h.hexdigest(), '80762e8ce6700f114fec0f621fd97c4b9c00147fa052215294cceeed') ++ + # use the three examples from Federal Information Processing Standards + # Publication 180-1, Secure Hash Standard, 1995 April 17 + # http://www.itl.nist.gov/div897/pubs/fip180-1.htm +diff --git a/Misc/NEWS.d/next/Security/2022-10-21-13-31-47.gh-issue-98517.SXXGfV.rst b/Misc/NEWS.d/next/Security/2022-10-21-13-31-47.gh-issue-98517.SXXGfV.rst +new file mode 100644 +index 000000000000..2d23a6ad93c7 +--- /dev/null ++++ b/Misc/NEWS.d/next/Security/2022-10-21-13-31-47.gh-issue-98517.SXXGfV.rst +@@ -0,0 +1 @@ ++Port XKCP's fix for the buffer overflows in SHA-3 (CVE-2022-37454). +diff --git a/Modules/_sha3/kcp/KeccakSponge.inc b/Modules/_sha3/kcp/KeccakSponge.inc +index e10739deafa8..cf92e4db4d36 100644 +--- a/Modules/_sha3/kcp/KeccakSponge.inc ++++ b/Modules/_sha3/kcp/KeccakSponge.inc +@@ -171,7 +171,7 @@ int SpongeAbsorb(SpongeInstance *instance, const unsigned char *data, size_t dat + i = 0; + curData = data; + while(i < dataByteLen) { +- if ((instance->byteIOIndex == 0) && (dataByteLen >= (i + rateInBytes))) { ++ if ((instance->byteIOIndex == 0) && (dataByteLen-i >= rateInBytes)) { + #ifdef SnP_FastLoop_Absorb + /* processing full blocks first */ + +@@ -199,10 +199,10 @@ int SpongeAbsorb(SpongeInstance *instance, const unsigned char *data, size_t dat + } + else { + /* normal lane: using the message queue */ +- +- partialBlock = (unsigned int)(dataByteLen - i); +- if (partialBlock+instance->byteIOIndex > rateInBytes) ++ if (dataByteLen-i > rateInBytes-instance->byteIOIndex) + partialBlock = rateInBytes-instance->byteIOIndex; ++ else ++ partialBlock = (unsigned int)(dataByteLen - i); + #ifdef KeccakReference + displayBytes(1, "Block to be absorbed (part)", curData, partialBlock); + #endif +@@ -281,7 +281,7 @@ int SpongeSqueeze(SpongeInstance *instance, unsigned char *data, size_t dataByte + i = 0; + curData = data; + while(i < dataByteLen) { +- if ((instance->byteIOIndex == rateInBytes) && (dataByteLen >= (i + rateInBytes))) { ++ if ((instance->byteIOIndex == rateInBytes) && (dataByteLen-i >= rateInBytes)) { + for(j=dataByteLen-i; j>=rateInBytes; j-=rateInBytes) { + SnP_Permute(instance->state); + SnP_ExtractBytes(instance->state, curData, 0, rateInBytes); +@@ -299,9 +299,10 @@ int SpongeSqueeze(SpongeInstance *instance, unsigned char *data, size_t dataByte + SnP_Permute(instance->state); + instance->byteIOIndex = 0; + } +- partialBlock = (unsigned int)(dataByteLen - i); +- if (partialBlock+instance->byteIOIndex > rateInBytes) ++ if (dataByteLen-i > rateInBytes-instance->byteIOIndex) + partialBlock = rateInBytes-instance->byteIOIndex; ++ else ++ partialBlock = (unsigned int)(dataByteLen - i); + i += partialBlock; + + SnP_ExtractBytes(instance->state, curData, instance->byteIOIndex, partialBlock); diff --git a/package/python3/Config.in b/package/python3/Config.in index 61470c294..761c38c85 100644 --- a/package/python3/Config.in +++ b/package/python3/Config.in @@ -89,7 +89,8 @@ config BR2_PACKAGE_PYTHON3_READLINE config BR2_PACKAGE_PYTHON3_SSL bool "ssl" select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_LIBOPENSSL_ENABLE_BLAKE2 if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_BLAKE2 help _ssl module for Python3 (required for https in urllib etc). diff --git a/package/python3/python3.hash b/package/python3/python3.hash index 97f465349..f9b8e2ec8 100644 --- a/package/python3/python3.hash +++ b/package/python3/python3.hash @@ -1,5 +1,3 @@ -# From https://www.python.org/downloads/release/python-3102/ -md5 14e8c22458ed7779a1957b26cde01db9 Python-3.10.2.tar.xz # Locally computed -sha256 17de3ac7da9f2519aa9d64378c603a73a0e9ad58dffa8812e45160c086de64c7 Python-3.10.2.tar.xz -sha256 f03e17cd594c2085f66a454e695c7ebe5b4d3c0eff534f4f194abc2fd164621b LICENSE +sha256 6a30ecde59c47048013eb5a658c9b5dec277203d2793667f578df7671f7f03f3 Python-3.10.8.tar.xz +sha256 d4a223f033419313218c9b8444167e91e87a5bebdb43fb8490df441df5220a8b LICENSE diff --git a/package/python3/python3.mk b/package/python3/python3.mk index 68dad29c7..42769589c 100644 --- a/package/python3/python3.mk +++ b/package/python3/python3.mk @@ -5,7 +5,7 @@ ################################################################################ PYTHON3_VERSION_MAJOR = 3.10 -PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).2 +PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).8 PYTHON3_SOURCE = Python-$(PYTHON3_VERSION).tar.xz PYTHON3_SITE = https://python.org/ftp/python/$(PYTHON3_VERSION) PYTHON3_LICENSE = Python-2.0, others @@ -13,6 +13,12 @@ PYTHON3_LICENSE_FILES = LICENSE PYTHON3_CPE_ID_VENDOR = python PYTHON3_CPE_ID_PRODUCT = python +# 0033-3.11-gh-98433-Fix-quadratic-time-idna-decoding.-GH-9.patch +PYTHON3_IGNORE_CVES += CVE-2022-45061 + +# 0034-3-10-gh-98517-Fix-buffer-overflows-in-_sha3-module.patch +PYTHON3_IGNORE_CVES += CVE-2022-37454 + # This host Python is installed in $(HOST_DIR), as it is needed when # cross-compiling third-party Python modules. @@ -106,6 +112,7 @@ endif ifeq ($(BR2_PACKAGE_PYTHON3_SSL),y) PYTHON3_DEPENDENCIES += openssl +PYTHON3_CONF_OPTS += --with-openssl=$(STAGING_DIR)/usr else PYTHON3_CONF_OPTS += --disable-openssl endif diff --git a/package/qcom-db410c-firmware/qcom-db410c-firmware.mk b/package/qcom-db410c-firmware/qcom-db410c-firmware.mk index 9ef32cc9d..cf4b59b72 100644 --- a/package/qcom-db410c-firmware/qcom-db410c-firmware.mk +++ b/package/qcom-db410c-firmware/qcom-db410c-firmware.mk @@ -8,7 +8,7 @@ QCOM_DB410C_FIRMWARE_VERSION = 1034.2.1 QCOM_DB410C_FIRMWARE_BASE = linux-board-support-package-r$(QCOM_DB410C_FIRMWARE_VERSION) QCOM_DB410C_FIRMWARE_SOURCE = $(QCOM_DB410C_FIRMWARE_BASE).zip QCOM_DB410C_FIRMWARE_SITE = https://releases.linaro.org/96boards/dragonboard410c/qualcomm/firmware -QCOM_DB410C_FIRMWARE_LICENCE = Qualcomm firmware license +QCOM_DB410C_FIRMWARE_LICENSE = Qualcomm firmware license QCOM_DB410C_FIRMWARE_LICENSE_FILES = LICENSE QCOM_DB410C_FIRMWARE_DEPENDENCIES = host-mtools diff --git a/package/qdecoder/qdecoder.hash b/package/qdecoder/qdecoder.hash index e3fb83759..05337777b 100644 --- a/package/qdecoder/qdecoder.hash +++ b/package/qdecoder/qdecoder.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 3911576ad8766697a9c8c767458edc953ae686eb53cd31d21e38edd7831ed9aa qdecoder-12.0.8.tar.gz -sha256 17e647523e5c5c75fd02861dcf3ea91a146d918ab303460ee58135c9dd70904e COPYING +sha256 edd32bd5119d276afa9e01cd54a1c23049cad4e96dc6a8e48ac324580e085ebb qdecoder-12.1.0.tar.gz +sha256 41f34ba1ed6e5d8d3488992311f474cd3f614b82bada88ae53216946026cfae7 COPYING diff --git a/package/qdecoder/qdecoder.mk b/package/qdecoder/qdecoder.mk index 8cb5d3bc9..c465617e2 100644 --- a/package/qdecoder/qdecoder.mk +++ b/package/qdecoder/qdecoder.mk @@ -4,10 +4,11 @@ # ################################################################################ -QDECODER_VERSION = 12.0.8 +QDECODER_VERSION = 12.1.0 QDECODER_SITE = $(call github,wolkykim,qdecoder,v$(QDECODER_VERSION)) QDECODER_LICENSE = BSD-2-Clause QDECODER_LICENSE_FILES = COPYING +QDECODER_CPE_ID_VENDOR = qdecoder_project QDECODER_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' QDECODER_INSTALL_STAGING = YES diff --git a/package/qemu/0002-build-disable-fcf-protection-on-march-486-m16.patch b/package/qemu/0002-build-disable-fcf-protection-on-march-486-m16.patch new file mode 100644 index 000000000..7595d31c8 --- /dev/null +++ b/package/qemu/0002-build-disable-fcf-protection-on-march-486-m16.patch @@ -0,0 +1,50 @@ +From 9584d3d00a454f47b0341465142bcf0735d734ae Mon Sep 17 00:00:00 2001 +From: Christian Ehrhardt +Date: Wed, 23 Mar 2022 10:07:13 +0100 +Subject: [PATCH] build: disable fcf-protection on -march=486 -m16 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Some of the roms build with -march=i486 -m16 which is incompatible +with -fcf-protection. That in turn is can be set by default, for +example in Ubuntu [1]. +That causes: + cc1: error: ‘-fcf-protection’ is not compatible with this target + +This won't work on -march=i486 -m16 and no matter if set or not we can +override it to "none" if the option is known to the compiler to be +able to build reliably. + +Fixes: https://gitlab.com/qemu-project/qemu/-/issues/889 + +[1]: https://wiki.ubuntu.com/ToolChain/CompilerFlags#A-fcf-protection + +Signed-off-by: Christian Ehrhardt +Reviewed-by: Philippe Mathieu-Daudé +Reviewed-by: Thomas Huth +Message-Id: <20220323090713.1002588-1-christian.ehrhardt@canonical.com> +Signed-off-by: Paolo Bonzini +Signed-off-by: Dario Binacchi +--- + pc-bios/optionrom/Makefile | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile +index 5d55d25acca2..f1ef89807355 100644 +--- a/pc-bios/optionrom/Makefile ++++ b/pc-bios/optionrom/Makefile +@@ -14,6 +14,10 @@ cc-option = $(if $(shell $(CC) $1 -c -o /dev/null -xc /dev/null >/dev/null 2>&1 + + override CFLAGS += -march=i486 -Wall + ++# If -fcf-protection is enabled in flags or compiler defaults that will ++# conflict with -march=i486 ++override CFLAGS += $(call cc-option, -fcf-protection=none) ++ + # Flags for dependency generation + override CPPFLAGS += -MMD -MP -MT $@ -MF $(@D)/$(*F).d + +-- +2.32.0 + diff --git a/package/qemu/Config.in.host b/package/qemu/Config.in.host index f9cdb9b70..8dd0c7d11 100644 --- a/package/qemu/Config.in.host +++ b/package/qemu/Config.in.host @@ -34,6 +34,11 @@ config BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS bool default y if BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS +comment "host-qemu needs a host gcc >= 8" + depends on BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS || \ + BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORT + depends on !BR2_HOST_GCC_AT_LEAST_8 + config BR2_PACKAGE_HOST_QEMU bool "host qemu" depends on BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS || BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS @@ -50,11 +55,6 @@ config BR2_PACKAGE_HOST_QEMU http://www.qemu.org -comment "host-qemu needs a host gcc >= 8" - depends on BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS || \ - BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORT - depends on !BR2_HOST_GCC_AT_LEAST_8 - if BR2_PACKAGE_HOST_QEMU comment "Emulators selection" diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk index e69e81305..8f95ea036 100644 --- a/package/qemu/qemu.mk +++ b/package/qemu/qemu.mk @@ -72,7 +72,7 @@ endif ifeq ($(BR2_PACKAGE_QEMU_SDL),y) QEMU_OPTS += --enable-sdl QEMU_DEPENDENCIES += sdl2 -QEMU_VARS += SDL2_CONFIG=$(BR2_STAGING_DIR)/usr/bin/sdl2-config +QEMU_VARS += SDL2_CONFIG=$(STAGING_DIR)/usr/bin/sdl2-config else QEMU_OPTS += --disable-sdl endif @@ -277,6 +277,9 @@ HOST_QEMU_DEPENDENCIES = host-meson host-pkgconf host-zlib host-libglib2 host-pi # xtensa xtensa HOST_QEMU_ARCH = $(ARCH) +ifeq ($(HOST_QEMU_ARCH),armeb) +HOST_QEMU_SYS_ARCH = arm +endif ifeq ($(HOST_QEMU_ARCH),i486) HOST_QEMU_ARCH = i386 endif diff --git a/package/qlibc/qlibc.hash b/package/qlibc/qlibc.hash index 6abb16b27..5cd6e1860 100644 --- a/package/qlibc/qlibc.hash +++ b/package/qlibc/qlibc.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 e195c97453c260acea4421146ba992d9a4d89732eac345b3765c43cc3326d2ad qlibc-2.4.5.tar.gz +sha256 bd98c19f96c0d374adb69c99627c80cf967b5e860c8a4f28c13fa1b0d652a06e qlibc-2.4.6.tar.gz sha256 7c9d03656af4c0acf0a35e29459086498dd64080eac6d2945bc1c064aaf18132 LICENSE diff --git a/package/qlibc/qlibc.mk b/package/qlibc/qlibc.mk index 6cce8201b..3996bb370 100644 --- a/package/qlibc/qlibc.mk +++ b/package/qlibc/qlibc.mk @@ -4,7 +4,7 @@ # ################################################################################ -QLIBC_VERSION = 2.4.5 +QLIBC_VERSION = 2.4.6 QLIBC_SITE = $(call github,wolkykim,qlibc,v$(QLIBC_VERSION)) QLIBC_LICENSE = BSD-2-Clause QLIBC_LICENSE_FILES = LICENSE diff --git a/package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.hash b/package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.hash index 89aaf1d71..88ac3db97 100644 --- a/package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.hash +++ b/package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.hash @@ -1,3 +1,5 @@ # Locally calculated -sha256 5871c5717be32f14a59624d5699d405e8ce9ae2e9c9ef86fd16e13d264a40e58 firmware-cadence-lsdk1909.bin -sha256 d55f024af2bfff714b90de596f6d0399124b999e8c18a86b13a3b507bae6f561 COPYING +sha256 5871c5717be32f14a59624d5699d405e8ce9ae2e9c9ef86fd16e13d264a40e58 firmware-cadence-lsdk1909.bin +sha256 d55f024af2bfff714b90de596f6d0399124b999e8c18a86b13a3b507bae6f561 COPYING +sha256 9665930f69c0b6f4a4c055d7fe2b8ee563e771efbc83892abb1955e61492cdf7 EULA +sha256 53e3eb0b2bd81c171fa04c17514e20b39b7bb1fe1224c593f7717f615fb9d52b EULA.txt diff --git a/package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.mk b/package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.mk index 23643d24e..7d701c4ac 100644 --- a/package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.mk +++ b/package/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.mk @@ -7,8 +7,8 @@ QORIQ_CADENCE_DP_FIRMWARE_VERSION = lsdk1909 QORIQ_CADENCE_DP_FIRMWARE_SITE = http://www.nxp.com/lgfiles/sdk/$(QORIQ_CADENCE_DP_FIRMWARE_VERSION) QORIQ_CADENCE_DP_FIRMWARE_SOURCE = firmware-cadence-$(QORIQ_CADENCE_DP_FIRMWARE_VERSION).bin -QORIQ_CADENCE_DP_FIRMWARE_LICENSE = NXP-Binary-EULA -QORIQ_CADENCE_DP_FIRMWARE_LICENSE_FILES = COPYING +QORIQ_CADENCE_DP_FIRMWARE_LICENSE = NXP Semiconductor Software License Agreement +QORIQ_CADENCE_DP_FIRMWARE_LICENSE_FILES = COPYING EULA EULA.txt QORIQ_CADENCE_DP_FIRMWARE_REDISTRIBUTE = NO QORIQ_CADENCE_DP_FIRMWARE_INSTALL_IMAGES = YES QORIQ_CADENCE_DP_FIRMWARE_INSTALL_TARGET = NO diff --git a/package/qoriq-rcw/qoriq-rcw.mk b/package/qoriq-rcw/qoriq-rcw.mk index 93e660b1d..577beceb4 100644 --- a/package/qoriq-rcw/qoriq-rcw.mk +++ b/package/qoriq-rcw/qoriq-rcw.mk @@ -60,7 +60,6 @@ endef else ifneq ($(QORIQ_RCW_INTREE),) QORIQ_RCW_PLATFORM = $(firstword $(subst /, ,$(QORIQ_RCW_INTREE))) -QORIQ_RCW_FILE_BIN = $(lastword $(subst /, ,$(QORIQ_RCW_INTREE))) define HOST_QORIQ_RCW_BUILD_CMDS $(MAKE) -C $(@D)/$(QORIQ_RCW_PLATFORM) diff --git a/package/qpdf/qpdf.mk b/package/qpdf/qpdf.mk index 8e0769059..a58781f4f 100644 --- a/package/qpdf/qpdf.mk +++ b/package/qpdf/qpdf.mk @@ -32,4 +32,8 @@ else QPDF_CONF_OPTS += --disable-crypto-openssl endif +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +QPDF_CONF_ENV += LIBS=-latomic +endif + $(eval $(autotools-package)) diff --git a/package/qpid-proton/Config.in b/package/qpid-proton/Config.in index b49a2afa7..adddc6eca 100644 --- a/package/qpid-proton/Config.in +++ b/package/qpid-proton/Config.in @@ -1,6 +1,8 @@ config BR2_PACKAGE_QPID_PROTON bool "qpid-proton" + depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS # build a shared library + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID help @@ -13,5 +15,6 @@ config BR2_PACKAGE_QPID_PROTON https://qpid.apache.org/proton/ -comment "qpid-proton needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS +comment "qpid-proton needs a toolchain w/ C++, dynamic library, threads" + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/qpid-proton/qpid-proton.mk b/package/qpid-proton/qpid-proton.mk index 103cf9fd3..fae6ecc41 100644 --- a/package/qpid-proton/qpid-proton.mk +++ b/package/qpid-proton/qpid-proton.mk @@ -23,6 +23,7 @@ QPID_PROTON_DEPENDENCIES = \ # go language binding is enabled when host-go is present # For now, disable all of them. QPID_PROTON_CONF_OPTS = \ + -DBUILD_CPP=ON \ -DBUILD_GO=OFF \ -DBUILD_PYTHON=OFF \ -DBUILD_RUBY=OFF \ @@ -31,20 +32,6 @@ QPID_PROTON_CONF_OPTS = \ -DENABLE_WARNING_ERROR=OFF \ -DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python3 -# epoll proactor unconditionally uses pthread and cpp (C++) bindings -# unconditionally use proactor -ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) -ifeq ($(BR2_INSTALL_LIBSTDCPP),y) -QPID_PROTON_CONF_OPTS += -DBUILD_CPP=ON -else -QPID_PROTON_CONF_OPTS += -DBUILD_CPP=OFF -endif -else -QPID_PROTON_CONF_OPTS += \ - -DBUILD_CPP=OFF \ - -DPROACTOR=none -endif - ifeq ($(BR2_PACKAGE_JSONCPP),y) QPID_PROTON_DEPENDENCIES += jsoncpp QPID_PROTON_CONF_OPTS += -DENABLE_JSONCPP=ON diff --git a/package/qt5/Config.in b/package/qt5/Config.in index 5751d6cb7..54e6f7d6a 100644 --- a/package/qt5/Config.in +++ b/package/qt5/Config.in @@ -68,6 +68,8 @@ source "package/qt5/qt5wayland/Config.in" source "package/qt5/qt5webchannel/Config.in" source "package/qt5/qt5webkit/Config.in" source "package/qt5/qt5webengine/Config.in" +source "package/qt5/qt5webengine-chromium/Config.in" +source "package/qt5/qt5webengine-chromium-catapult/Config.in" source "package/qt5/qt5websockets/Config.in" source "package/qt5/qt5webview/Config.in" source "package/qt5/qt5x11extras/Config.in" diff --git a/package/qt5/qt5.mk b/package/qt5/qt5.mk index 656e3067d..0706c3548 100644 --- a/package/qt5/qt5.mk +++ b/package/qt5/qt5.mk @@ -6,7 +6,6 @@ QT5_VERSION_MAJOR = 5.15 QT5_VERSION = $(QT5_VERSION_MAJOR).8 -QT5_SOURCE_TARBALL_PREFIX = everywhere-src QT5_SITE = https://invent.kde.org/qt/qt include $(sort $(wildcard package/qt5/*/*.mk)) diff --git a/package/qt5/qt5base/0007-Fix-build-on-riscv32.patch b/package/qt5/qt5base/0006-Fix-build-on-riscv32.patch similarity index 100% rename from package/qt5/qt5base/0007-Fix-build-on-riscv32.patch rename to package/qt5/qt5base/0006-Fix-build-on-riscv32.patch diff --git a/package/qt5/qt5base/0006-Improve-fix-for-avoiding-huge-number-of-tiny-dashes.patch b/package/qt5/qt5base/0006-Improve-fix-for-avoiding-huge-number-of-tiny-dashes.patch deleted file mode 100644 index 16e0f2020..000000000 --- a/package/qt5/qt5base/0006-Improve-fix-for-avoiding-huge-number-of-tiny-dashes.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 856d11f695fb6effe26a359f9ad0efdf24067085 Mon Sep 17 00:00:00 2001 -From: Eirik Aavitsland -Date: Fri, 23 Jul 2021 15:53:56 +0200 -Subject: [PATCH] Improve fix for avoiding huge number of tiny dashes -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Some pathological cases were not caught by the previous fix. - -Fixes: QTBUG-95239 -Pick-to: 6.2 6.1 5.15 -Change-Id: I0337ee3923ff93ccb36c4d7b810a9c0667354cc5 -Reviewed-by: Robert Löhning -(cherry picked from commit 6b400e3147dcfd8cc3a393ace1bd118c93762e0c) -[Retrieved from: https://invent.kde.org/qt/qt/qtbase/-/commit/fed5713eeba5bf8e0ee413cb4e77109bfa7c2bce] -Signed-off-by: Quentin Schulz ---- - src/gui/painting/qpaintengineex.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/gui/painting/qpaintengineex.cpp b/src/gui/painting/qpaintengineex.cpp -index 55fdb0c2a0..19e4b23423 100644 ---- a/src/gui/painting/qpaintengineex.cpp -+++ b/src/gui/painting/qpaintengineex.cpp -@@ -426,7 +426,7 @@ void QPaintEngineEx::stroke(const QVectorPath &path, const QPen &inPen) - patternLength *= pen.widthF(); - if (qFuzzyIsNull(patternLength)) { - pen.setStyle(Qt::NoPen); -- } else if (extent / patternLength > 10000) { -+ } else if (qFuzzyIsNull(extent) || extent / patternLength > 10000) { - // approximate stream of tiny dashes with semi-transparent solid line - pen.setStyle(Qt::SolidLine); - QColor color(pen.color()); --- -2.34.1 - diff --git a/package/qt5/qt5base/0007-src-corelib-configure.json-fix-atomicfptr-detection.patch b/package/qt5/qt5base/0007-src-corelib-configure.json-fix-atomicfptr-detection.patch new file mode 100644 index 000000000..5f0f81a4b --- /dev/null +++ b/package/qt5/qt5base/0007-src-corelib-configure.json-fix-atomicfptr-detection.patch @@ -0,0 +1,48 @@ +From e9d1f80dffb4e29e44fc0b0627704af15cdd281a Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 13 Mar 2022 12:05:04 +0100 +Subject: [PATCH] src/corelib/configure.json: fix atomicfptr detection + +Fix atomicfptr detection on sparc v8 by linking with libatomic if needed +to avoid the following build failure: + +/sysroot -std=gnu++11 -w -fPIC -I. -I/home/peko/autobuild/instance-0/output-1/build/qt5base-d16bf02a11953dcac01dca73e6f3778f293adefe/mkspecs/devices/linux-buildroot-g++ -o main.o main.cpp +> /home/peko/autobuild/instance-0/output-1/host/bin/sparc-linux-g++ --sysroot=/home/peko/autobuild/instance-0/output-1/host/sparc-buildroot-linux-uclibc/sysroot --sysroot=/home/peko/autobuild/instance-0/output-1/host/sparc-buildroot-linux-uclibc/sysroot -Wl,-O1 -o atomicfptr main.o -lexecinfo -lrt -lpthread -ldl +> /home/peko/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/sparc-buildroot-linux-uclibc/10.3.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: main.o: in function `test(std::atomic volatile&)': +> main.cpp:(.text+0x40): undefined reference to `__atomic_compare_exchange_4' +> collect2: error: ld returned 1 exit status +> make[1]: *** [Makefile:69: atomicfptr] Error 1 + +[...] + +ERROR: detected a std::atomic implementation that fails for function pointers. +Please apply the patch corresponding to your Standard Library vendor, found in + qtbase/config.tests/atomicfptr + +Fixes: + - http://autobuild.buildroot.org/results/5a20e984a5536165056b3fbd93b8712e8ddbeed4 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://invent.kde.org/qt/qt/qtbase/-/merge_requests/138] +--- + src/corelib/configure.json | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/corelib/configure.json b/src/corelib/configure.json +index 9b5d19d41b..ac88f5856c 100644 +--- a/src/corelib/configure.json ++++ b/src/corelib/configure.json +@@ -309,7 +309,8 @@ + "test(fptr);" + ], + "qmake": "CONFIG += c++11" +- } ++ }, ++ "use": "libatomic" + }, + "clock-monotonic": { + "label": "POSIX monotonic clock", +-- +2.34.1 + diff --git a/package/qt5/qt5base/0008-eglconvenience-add-missing-QList-include.patch b/package/qt5/qt5base/0008-eglconvenience-add-missing-QList-include.patch new file mode 100644 index 000000000..c7127291e --- /dev/null +++ b/package/qt5/qt5base/0008-eglconvenience-add-missing-QList-include.patch @@ -0,0 +1,37 @@ +From f681f428477812e54484f631b0da332cc2e00eaa Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Wed, 16 Mar 2022 19:08:55 +0100 +Subject: [PATCH] eglconvenience: add missing QList include +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes: + + qeglconvenience.cpp:418:23: error: variable ‘QList extensions’ has initializer but incomplete type + 418 | QList extensions = + | ^~~~~~~~~~ + qeglconvenience.cpp:420:65: error: invalid use of incomplete type ‘class QList’ + 420 | (eglQueryString(display, EGL_EXTENSIONS))).split(' '); + | ^ + +Signed-off-by: Peter Seiderer +--- + src/platformsupport/eglconvenience/qeglconvenience.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/platformsupport/eglconvenience/qeglconvenience.cpp b/src/platformsupport/eglconvenience/qeglconvenience.cpp +index 5303d37c..daceeb8b 100644 +--- a/src/platformsupport/eglconvenience/qeglconvenience.cpp ++++ b/src/platformsupport/eglconvenience/qeglconvenience.cpp +@@ -38,6 +38,7 @@ + ****************************************************************************/ + + #include ++#include + #include + + #ifdef Q_OS_LINUX +-- +2.35.1 + diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in index 601438d2f..b876f1948 100644 --- a/package/qt5/qt5base/Config.in +++ b/package/qt5/qt5base/Config.in @@ -74,6 +74,7 @@ config BR2_PACKAGE_QT5BASE_PSQL depends on BR2_USE_MMU # postgresql depends on !BR2_STATIC_LIBS depends on BR2_USE_WCHAR # postgresql + depends on !BR2_OPTIMIZE_FAST # postgresql select BR2_PACKAGE_POSTGRESQL help Build PostgreSQL plugin @@ -83,6 +84,9 @@ comment "PostgreSQL plugin needs a toolchain w/ wchar, dynamic library" depends on BR2_USE_MMU depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR +comment "PostgreSQL plugin can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST + choice prompt "SQLite 3 support" default BR2_PACKAGE_QT5BASE_SQLITE_NONE diff --git a/package/qt5/qt5base/qt5base.hash b/package/qt5/qt5base/qt5base.hash index 396f5044f..c031f71c7 100644 --- a/package/qt5/qt5base/qt5base.hash +++ b/package/qt5/qt5base/qt5base.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 269ae20ed74cb949420ac3abac0bdef3b65501ea47c9312c01e8f9073baf24fe qtbase-53a047c212af7fbded6505651f648172f9d7a34d.tar.bz2 +sha256 18c17d441fbefa9dd13d1d6bfb5f542c986ba86cc37930247f9e4d782df2244b qtbase-f31e001a9399e4e620847ea2c3e90749350140ae.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk index 71cf2224d..f96907cc3 100644 --- a/package/qt5/qt5base/qt5base.mk +++ b/package/qt5/qt5base/qt5base.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5BASE_VERSION = 53a047c212af7fbded6505651f648172f9d7a34d +QT5BASE_VERSION = f31e001a9399e4e620847ea2c3e90749350140ae QT5BASE_SITE = $(QT5_SITE)/qtbase/-/archive/$(QT5BASE_VERSION) QT5BASE_SOURCE = qtbase-$(QT5BASE_VERSION).tar.bz2 @@ -12,9 +12,14 @@ QT5BASE_DEPENDENCIES = host-pkgconf pcre2 zlib QT5BASE_INSTALL_STAGING = YES QT5BASE_SYNC_QT_HEADERS = YES -# 0010-Avoid-processing-intensive-painting-of-high-number-o.patch -# 0011-Improve-fix-for-avoiding-huge-number-of-tiny-dashes.patch +# From commits: +# 4ce7053a59 "Avoid processing-intensive painting of high number of tiny dashes" +# e7ea2ed27c "Improve fix for avoiding huge number of tiny dashes" QT5BASE_IGNORE_CVES += CVE-2021-38593 +# From commit 2766b2cba6ca4b1c430304df5437e2a6c874b107 "QProcess/Unix: ensure we don't accidentally execute something from CWD" +QT5BASE_IGNORE_CVES += CVE-2022-25255 +# From commit e68ca8e51375d963b2391715f70b42707992dbd8 "Windows: use QSystemLibrary instead of LoadLibrary directly" +QT5BASE_IGNORE_CVES += CVE-2022-25634 # A few comments: # * -no-pch to workaround the issue described at @@ -169,9 +174,13 @@ QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_LINUXFB),--enable-linuxfb,- QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),-directfb,-no-directfb) QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),directfb) +ifeq ($(BR2_PACKAGE_LIBXKBCOMMON),y) +QT5BASE_CONFIGURE_OPTS += -xkbcommon +QT5BASE_DEPENDENCIES += libxkbcommon +endif + ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y) QT5BASE_CONFIGURE_OPTS += -xcb -QT5BASE_CONFIGURE_OPTS += -xkbcommon QT5BASE_DEPENDENCIES += \ libxcb \ @@ -179,8 +188,7 @@ QT5BASE_DEPENDENCIES += \ xcb-util-image \ xcb-util-keysyms \ xcb-util-renderutil \ - xlib_libX11 \ - libxkbcommon + xlib_libX11 ifeq ($(BR2_PACKAGE_QT5BASE_WIDGETS),y) QT5BASE_DEPENDENCIES += xlib_libXext endif @@ -208,8 +216,8 @@ else QT5BASE_CONFIGURE_OPTS += -no-eglfs endif -QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_OPENSSL),-openssl,-no-openssl) -QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_OPENSSL),openssl) +QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_LIBOPENSSL),-openssl,-no-openssl) +QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBOPENSSL),openssl) QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_FONTCONFIG),-fontconfig,-no-fontconfig) QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_FONTCONFIG),fontconfig) diff --git a/package/qt5/qt5enginio/Config.in b/package/qt5/qt5enginio/Config.in index b738f0db7..a1ac6f8ca 100644 --- a/package/qt5/qt5enginio/Config.in +++ b/package/qt5/qt5enginio/Config.in @@ -1,6 +1,8 @@ config BR2_PACKAGE_QT5ENGINIO bool "qt5enginio" select BR2_PACKAGE_OPENSSL + # Only openssl is supported by qt5 + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL select BR2_PACKAGE_QT5BASE_GUI select BR2_PACKAGE_QT5BASE_NETWORK help diff --git a/package/qt5/qt5enginio/qt5enginio.hash b/package/qt5/qt5enginio/qt5enginio.hash index 884962090..f1ad364ca 100644 --- a/package/qt5/qt5enginio/qt5enginio.hash +++ b/package/qt5/qt5enginio/qt5enginio.hash @@ -1,5 +1,5 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtenginio-opensource-src-1.6.3.tar.xz.mirrorlist -sha256 d907060b355512ceb7a8c3f6980e3979c20d54320b6804303b6c5e8ed42d3912 qtenginio-opensource-src-1.6.3.tar.xz +sha256 d907060b355512ceb7a8c3f6980e3979c20d54320b6804303b6c5e8ed42d3912 qtenginio-opensource-src-1.6.3.tar.xz # Hashes for license files: sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 diff --git a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk index 8e997a242..1e76332f7 100644 --- a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk +++ b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk @@ -16,7 +16,7 @@ QT5VIRTUALKEYBOARD_LICENSE_FILES = LICENSE.GPL3 QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS = $(call qstrip,$(BR2_PACKAGE_QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS)) ifneq ($(strip $(QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS)),) -QT5VIRTUALKEYBOARD_QMAKEFLAGS += CONFIG+="$(foreach lang,$(QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS),lang-$(lang))" +QT5VIRTUALKEYBOARD_CONF_OPTS += CONFIG+="$(foreach lang,$(QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS),lang-$(lang))" ifneq ($(filter ja_JP all,$(QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS)),) QT5VIRTUALKEYBOARD_LICENSE += , Apache-2.0 (openwnn) diff --git a/package/qt5/qt5wayland/0001-Add-missing-define-guards.patch b/package/qt5/qt5wayland/0001-Add-missing-define-guards.patch new file mode 100644 index 000000000..adad3768b --- /dev/null +++ b/package/qt5/qt5wayland/0001-Add-missing-define-guards.patch @@ -0,0 +1,35 @@ +From 05658e127dedfff65789860415537c6920ec574d Mon Sep 17 00:00:00 2001 +From: Samuli Piippo +Date: Thu, 22 Apr 2021 15:29:56 +0300 +Subject: [PATCH] Add missing define guards + +Ammend cca1b94190a094b5d1d7ce492b6533e2d330c5e8 to use m_composeState +only if xcbcommon is available. + +Pick-to: 5.15 +Change-Id: I48332b15def3282c5bda3e1c7c393ea7e9849cbe +Reviewed-by: Aleix Pol Gonzalez +[Backported from: 05658e127dedfff65789860415537c6920ec574d] +Signed-off-by: Quentin Schulz +--- + src/client/qwaylandinputcontext.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/client/qwaylandinputcontext.cpp b/src/client/qwaylandinputcontext.cpp +index 16e03ea1..cbf63cde 100644 +--- a/src/client/qwaylandinputcontext.cpp ++++ b/src/client/qwaylandinputcontext.cpp +@@ -408,8 +408,10 @@ bool QWaylandInputContext::isValid() const + void QWaylandInputContext::reset() + { + qCDebug(qLcQpaInputMethods) << Q_FUNC_INFO; ++#if QT_CONFIG(xkbcommon) + if (m_composeState) + xkb_compose_state_reset(m_composeState); ++#endif + + QPlatformInputContext::reset(); + +-- +2.35.1 + diff --git a/package/qt5/qt5webengine-chromium-catapult/Config.in b/package/qt5/qt5webengine-chromium-catapult/Config.in new file mode 100644 index 000000000..471c2a2db --- /dev/null +++ b/package/qt5/qt5webengine-chromium-catapult/Config.in @@ -0,0 +1,4 @@ +# Not user-selectable, it is only needed to be copied +# into the chromium source tree. +config BR2_PACKAGE_QT5WEBENGINE_CHROMIUM_CATAPULT + bool diff --git a/package/qt5/qt5webengine-chromium-catapult/qt5webengine-chromium-catapult.hash b/package/qt5/qt5webengine-chromium-catapult/qt5webengine-chromium-catapult.hash new file mode 100644 index 000000000..8190a6dd5 --- /dev/null +++ b/package/qt5/qt5webengine-chromium-catapult/qt5webengine-chromium-catapult.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 66b8593e665c4236f7b1c487548d41d3826eddbf486ff985dbdfd01cddcaa1a8 qt5webengine-chromium-catapult-5eedfe23148a234211ba477f76fc2ea2e8529189-br1.tar.gz +sha256 f0df289ba9d03d857ad1c2f5918861376b1510b71588ffc60eff5c7a7bfedb09 LICENSE diff --git a/package/qt5/qt5webengine-chromium-catapult/qt5webengine-chromium-catapult.mk b/package/qt5/qt5webengine-chromium-catapult/qt5webengine-chromium-catapult.mk new file mode 100644 index 000000000..5d0db1e79 --- /dev/null +++ b/package/qt5/qt5webengine-chromium-catapult/qt5webengine-chromium-catapult.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# qt5webengine-chromium-catapult +# +################################################################################ + +QT5WEBENGINE_CHROMIUM_CATAPULT_VERSION = 5eedfe23148a234211ba477f76fc2ea2e8529189 +QT5WEBENGINE_CHROMIUM_CATAPULT_SITE = https://chromium.googlesource.com/catapult.git +QT5WEBENGINE_CHROMIUM_CATAPULT_SITE_METHOD = git +QT5WEBENGINE_CHROMIUM_CATAPULT_LICENSE = BSD-3-Clause +QT5WEBENGINE_CHROMIUM_CATAPULT_LICENSE_FILES = LICENSE +QT5WEBENGINE_CHROMIUM_CATAPULT_INSTALL_TARGET = NO + +$(eval $(generic-package)) diff --git a/package/qt5/qt5webengine-chromium/0001-Add-python3-build-support.patch b/package/qt5/qt5webengine-chromium/0001-Add-python3-build-support.patch new file mode 100644 index 000000000..cc9726418 --- /dev/null +++ b/package/qt5/qt5webengine-chromium/0001-Add-python3-build-support.patch @@ -0,0 +1,1858 @@ +From bf94b834e9beb4e7bc25dbc4c61f5e2db39e7cdc Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Fri, 4 Feb 2022 15:43:35 -0700 +Subject: [PATCH] Add python3 build support + +Adapted from: +https://github.com/archlinux/svntogit-packages/blob/6edf5f1aaea952d046aff89a2e0175258fe77361/trunk/qt5-webengine-chromium-python3.patch + +Signed-off-by: James Hilliard +--- + .../protobufs/binary_proto_generator.py | 8 +- + .../tracing/generate_trace_viewer_grd.py | 2 +- + chromium/mojo/public/tools/bindings/BUILD.gn | 2 + + .../tools/bindings/gen_data_files_list.py | 8 +- + .../generators/mojom_java_generator.py | 4 + + .../tools/mojom/mojom/generate/generator.py | 14 ++-- + .../tools/mojom/mojom/generate/module.py | 3 +- + .../mojom/mojom/generate/template_expander.py | 12 +-- + .../scripts/bind_gen/blink_v8_bridge.py | 6 +- + .../scripts/bind_gen/callback_interface.py | 2 +- + .../bindings/scripts/bind_gen/code_node.py | 10 +-- + .../bindings/scripts/bind_gen/codegen_expr.py | 15 ++-- + .../scripts/bind_gen/codegen_format.py | 2 +- + .../scripts/bind_gen/codegen_utils.py | 2 +- + .../bindings/scripts/bind_gen/dictionary.py | 2 +- + .../bindings/scripts/bind_gen/interface.py | 82 +++++++++++-------- + .../scripts/bind_gen/mako_renderer.py | 2 +- + .../bindings/scripts/bind_gen/style_format.py | 9 +- + .../bindings/scripts/bind_gen/task_queue.py | 5 +- + .../bindings/scripts/code_generator.py | 10 +++ + .../scripts/generate_origin_trial_features.py | 4 +- + .../bindings/scripts/idl_definitions.py | 8 +- + .../renderer/bindings/scripts/idl_reader.py | 4 +- + .../renderer/bindings/scripts/idl_types.py | 2 +- + .../renderer/bindings/scripts/utilities.py | 28 +++---- + .../renderer/bindings/scripts/v8_interface.py | 9 +- + .../renderer/bindings/scripts/v8_methods.py | 4 + + .../renderer/bindings/scripts/v8_utilities.py | 2 +- + .../scripts/web_idl/callback_interface.py | 12 +-- + .../bindings/scripts/web_idl/database.py | 2 +- + .../bindings/scripts/web_idl/exposure.py | 5 +- + .../bindings/scripts/web_idl/function_like.py | 28 +++---- + .../bindings/scripts/web_idl/idl_compiler.py | 21 ++--- + .../bindings/scripts/web_idl/interface.py | 45 +++++----- + .../bindings/scripts/web_idl/ir_builder.py | 29 ++++--- + .../bindings/scripts/web_idl/make_copy.py | 7 ++ + .../bindings/scripts/web_idl/namespace.py | 12 +-- + .../bindings/templates/dictionary_v8.cc.tmpl | 8 +- + .../scripts/core/css/make_style_shorthands.py | 23 +++--- + .../properties/make_css_property_instances.py | 4 +- + .../blink/renderer/build/scripts/gperf.py | 2 +- + .../blink/renderer/build/scripts/in_file.py | 2 +- + .../renderer/build/scripts/in_generator.py | 5 ++ + .../build/scripts/make_runtime_features.py | 2 +- + .../scripts/templates/element_factory.cc.tmpl | 4 +- + .../templates/element_type_helpers.cc.tmpl | 4 +- + .../templates/element_type_helpers.h.tmpl | 2 +- + .../build/scripts/templates/macros.tmpl | 4 +- + .../templates/make_qualified_names.h.tmpl | 4 +- + .../dawn/generator/generator_lib.py | 4 + + .../devtools-frontend/src/BUILD.gn | 2 + + .../scripts/build/build_inspector_overlay.py | 3 +- + .../build/build_release_applications.py | 9 +- + .../scripts/build/generate_devtools_grd.py | 4 +- + .../src/scripts/build/modular_build.py | 6 +- + chromium/third_party/jinja2/tests.py | 2 +- + chromium/tools/metrics/ukm/gen_builders.py | 5 +- + .../ui/ozone/generate_constructor_list.py | 13 ++- + .../ui/ozone/generate_ozone_platform_list.py | 26 ++++-- + 59 files changed, 331 insertions(+), 229 deletions(-) + +diff --git a/chromium/components/resources/protobufs/binary_proto_generator.py b/chromium/components/resources/protobufs/binary_proto_generator.py +index 7422ead9697..16365515f26 100755 +--- a/chromium/components/resources/protobufs/binary_proto_generator.py ++++ b/chromium/components/resources/protobufs/binary_proto_generator.py +@@ -7,7 +7,7 @@ + Converts a given ASCII proto into a binary resource. + + """ +- ++from __future__ import print_function + import abc + import imp + import optparse +@@ -196,12 +196,12 @@ class BinaryProtoGenerator: + self._ImportProtoModules(opts.path) + + if not self.VerifyArgs(opts): +- print "Wrong arguments" ++ print("Wrong arguments") + return 1 + + try: + self._GenerateBinaryProtos(opts) + except Exception as e: +- print "ERROR: Failed to render binary version of %s:\n %s\n%s" % ( +- opts.infile, str(e), traceback.format_exc()) ++ print("ERROR: Failed to render binary version of %s:\n %s\n%s" % ++ (opts.infile, str(e), traceback.format_exc())) + return 1 +diff --git a/chromium/content/browser/tracing/generate_trace_viewer_grd.py b/chromium/content/browser/tracing/generate_trace_viewer_grd.py +index 037f9497dc2..be393d21f90 100755 +--- a/chromium/content/browser/tracing/generate_trace_viewer_grd.py ++++ b/chromium/content/browser/tracing/generate_trace_viewer_grd.py +@@ -74,7 +74,7 @@ def main(argv): + for filename in parsed_args.source_files: + add_file_to_grd(doc, os.path.basename(filename)) + +- with open(parsed_args.output_filename, 'w') as output_file: ++ with open(parsed_args.output_filename, 'wb') as output_file: + output_file.write(doc.toxml(encoding='UTF-8')) + + +diff --git a/chromium/mojo/public/tools/bindings/BUILD.gn b/chromium/mojo/public/tools/bindings/BUILD.gn +index fc04b5dd0b1..708958e438b 100644 +--- a/chromium/mojo/public/tools/bindings/BUILD.gn ++++ b/chromium/mojo/public/tools/bindings/BUILD.gn +@@ -2,9 +2,11 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++import("//build/config/python.gni") + import("//mojo/public/tools/bindings/mojom.gni") + import("//third_party/jinja2/jinja2.gni") + ++# TODO(crbug.com/1194274): Investigate nondeterminism in Py3 builds. + action("precompile_templates") { + sources = mojom_generator_sources + sources += [ +diff --git a/chromium/mojo/public/tools/bindings/gen_data_files_list.py b/chromium/mojo/public/tools/bindings/gen_data_files_list.py +index 79c9e50efce..8b78d092418 100644 +--- a/chromium/mojo/public/tools/bindings/gen_data_files_list.py ++++ b/chromium/mojo/public/tools/bindings/gen_data_files_list.py +@@ -18,7 +18,6 @@ import os + import re + import sys + +-from cStringIO import StringIO + from optparse import OptionParser + + sys.path.insert( +@@ -41,12 +40,9 @@ def main(): + pattern = re.compile(options.pattern) + files = [f for f in os.listdir(options.directory) if pattern.match(f)] + +- stream = StringIO() +- for f in files: +- print(f, file=stream) ++ contents = '\n'.join(f for f in files) + '\n' ++ WriteFile(contents, options.output) + +- WriteFile(stream.getvalue(), options.output) +- stream.close() + + if __name__ == '__main__': + sys.exit(main()) +diff --git a/chromium/mojo/public/tools/bindings/generators/mojom_java_generator.py b/chromium/mojo/public/tools/bindings/generators/mojom_java_generator.py +index 96b2fdfae0c..00b9dccd00c 100644 +--- a/chromium/mojo/public/tools/bindings/generators/mojom_java_generator.py ++++ b/chromium/mojo/public/tools/bindings/generators/mojom_java_generator.py +@@ -25,6 +25,10 @@ sys.path.append(os.path.join(os.path.dirname(__file__), os.pardir, + 'build', 'android', 'gyp')) + from util import build_utils + ++# TODO(crbug.com/1174969): Remove this once Python2 is obsoleted. ++if sys.version_info.major != 2: ++ basestring = str ++ long = int + + GENERATOR_PREFIX = 'java' + +diff --git a/chromium/mojo/public/tools/mojom/mojom/generate/generator.py b/chromium/mojo/public/tools/mojom/mojom/generate/generator.py +index de62260a5c9..4a1c73fcf82 100644 +--- a/chromium/mojo/public/tools/mojom/mojom/generate/generator.py ++++ b/chromium/mojo/public/tools/mojom/mojom/generate/generator.py +@@ -136,9 +136,14 @@ class Stylizer(object): + + def WriteFile(contents, full_path): + # If |contents| is same with the file content, we skip updating. ++ if not isinstance(contents, bytes): ++ data = contents.encode('utf8') ++ else: ++ data = contents ++ + if os.path.isfile(full_path): + with open(full_path, 'rb') as destination_file: +- if destination_file.read() == contents: ++ if destination_file.read() == data: + return + + # Make sure the containing directory exists. +@@ -146,11 +151,8 @@ def WriteFile(contents, full_path): + fileutil.EnsureDirectoryExists(full_dir) + + # Dump the data to disk. +- with open(full_path, "wb") as f: +- if not isinstance(contents, bytes): +- f.write(contents.encode('utf-8')) +- else: +- f.write(contents) ++ with open(full_path, 'wb') as f: ++ f.write(data) + + + def AddComputedData(module): +diff --git a/chromium/mojo/public/tools/mojom/mojom/generate/module.py b/chromium/mojo/public/tools/mojom/mojom/generate/module.py +index ebbc9b322ea..3d026429bbc 100644 +--- a/chromium/mojo/public/tools/mojom/mojom/generate/module.py ++++ b/chromium/mojo/public/tools/mojom/mojom/generate/module.py +@@ -398,7 +398,8 @@ class Field(object): + + + class StructField(Field): +- pass ++ def __hash__(self): ++ return super(Field, self).__hash__() + + + class UnionField(Field): +diff --git a/chromium/mojo/public/tools/mojom/mojom/generate/template_expander.py b/chromium/mojo/public/tools/mojom/mojom/generate/template_expander.py +index 7a300560246..8d9e26fb7f6 100644 +--- a/chromium/mojo/public/tools/mojom/mojom/generate/template_expander.py ++++ b/chromium/mojo/public/tools/mojom/mojom/generate/template_expander.py +@@ -75,9 +75,9 @@ def PrecompileTemplates(generator_modules, output_dir): + os.path.dirname(module.__file__), generator.GetTemplatePrefix()) + ])) + jinja_env.filters.update(generator.GetFilters()) +- jinja_env.compile_templates( +- os.path.join(output_dir, "%s.zip" % generator.GetTemplatePrefix()), +- extensions=["tmpl"], +- zip="stored", +- py_compile=True, +- ignore_errors=False) ++ jinja_env.compile_templates(os.path.join( ++ output_dir, "%s.zip" % generator.GetTemplatePrefix()), ++ extensions=["tmpl"], ++ zip="stored", ++ py_compile=sys.version_info.major < 3, ++ ignore_errors=False) +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py +index 3225ecca6e4..fc078d31b55 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py +@@ -344,7 +344,7 @@ def make_default_value_expr(idl_type, default_value): + """ + assert default_value.is_type_compatible_with(idl_type) + +- class DefaultValueExpr: ++ class DefaultValueExpr(object): + _ALLOWED_SYMBOLS_IN_DEPS = ("isolate") + + def __init__(self, initializer_expr, initializer_deps, +@@ -502,7 +502,7 @@ def make_v8_to_blink_value(blink_var_name, + assert isinstance(blink_var_name, str) + assert isinstance(v8_value_expr, str) + assert isinstance(idl_type, web_idl.IdlType) +- assert (argument_index is None or isinstance(argument_index, (int, long))) ++ assert (argument_index is None or isinstance(argument_index, int)) + assert (default_value is None + or isinstance(default_value, web_idl.LiteralConstant)) + +@@ -622,7 +622,7 @@ def make_v8_to_blink_value_variadic(blink_var_name, v8_array, + """ + assert isinstance(blink_var_name, str) + assert isinstance(v8_array, str) +- assert isinstance(v8_array_start_index, (int, long)) ++ assert isinstance(v8_array_start_index, int) + assert isinstance(idl_type, web_idl.IdlType) + + pattern = ("auto&& ${{{_1}}} = " +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/callback_interface.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/callback_interface.py +index 4a6df513068..8b51f23a409 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/callback_interface.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/callback_interface.py +@@ -177,7 +177,7 @@ def generate_callback_interface(callback_interface_identifier): + prop_install_mode=PropInstallMode.UNCONDITIONAL, + trampoline_var_name=None, + attribute_entries=[], +- constant_entries=filter(is_unconditional, constant_entries), ++ constant_entries=list(filter(is_unconditional, constant_entries)), + exposed_construct_entries=[], + operation_entries=[]) + (install_interface_template_decl, install_interface_template_def, +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/code_node.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/code_node.py +index 52972fefe20..e5ae9d9629e 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/code_node.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/code_node.py +@@ -503,13 +503,13 @@ class CompositeNode(CodeNode): + gensym_kwargs = {} + template_vars = {} + for arg in args: +- assert isinstance(arg, (CodeNode, int, long, str)) ++ assert isinstance(arg, (CodeNode, int, str)) + gensym = CodeNode.gensym() + gensym_args.append("${{{}}}".format(gensym)) + template_vars[gensym] = arg + for key, value in kwargs.items(): +- assert isinstance(key, (int, long, str)) +- assert isinstance(value, (CodeNode, int, long, str)) ++ assert isinstance(key, (int, str)) ++ assert isinstance(value, (CodeNode, int, str)) + gensym = CodeNode.gensym() + gensym_kwargs[key] = "${{{}}}".format(gensym) + template_vars[gensym] = value +@@ -602,7 +602,7 @@ class ListNode(CodeNode): + def insert(self, index, node): + if node is None: + return +- assert isinstance(index, (int, long)) ++ assert isinstance(index, int) + assert isinstance(node, CodeNode) + assert node.outer is None and node.prev is None + +@@ -721,7 +721,7 @@ class SymbolScopeNode(SequenceNode): + if not scope_chains: + return counts + +- self_index = iter(scope_chains).next().index(self) ++ self_index = next(iter(scope_chains)).index(self) + scope_chains = map( + lambda scope_chain: scope_chain[self_index + 1:], scope_chains) + scope_to_likeliness = {} +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_expr.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_expr.py +index a229a6c71c9..5fa288dabf2 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_expr.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_expr.py +@@ -109,7 +109,7 @@ def expr_and(terms): + + if any(term.is_always_false for term in terms): + return _Expr(False) +- terms = filter(lambda x: not x.is_always_true, terms) ++ terms = list(filter(lambda x: not x.is_always_true, terms)) + if not terms: + return _Expr(True) + if len(terms) == 1: +@@ -124,7 +124,7 @@ def expr_or(terms): + + if any(term.is_always_true for term in terms): + return _Expr(True) +- terms = filter(lambda x: not x.is_always_false, terms) ++ terms = list(filter(lambda x: not x.is_always_false, terms)) + if not terms: + return _Expr(False) + if len(terms) == 1: +@@ -222,7 +222,7 @@ def expr_from_exposure(exposure, + elif exposure.only_in_secure_contexts is False: + secure_context_term = _Expr(True) + else: +- terms = map(ref_enabled, exposure.only_in_secure_contexts) ++ terms = list(map(ref_enabled, exposure.only_in_secure_contexts)) + secure_context_term = expr_or( + [_Expr("${is_in_secure_context}"), + expr_not(expr_and(terms))]) +@@ -275,10 +275,11 @@ def expr_from_exposure(exposure, + + # [ContextEnabled] + if exposure.context_enabled_features: +- terms = map( +- lambda feature: _Expr( +- "${{context_feature_settings}}->is{}Enabled()".format( +- feature)), exposure.context_enabled_features) ++ terms = list( ++ map( ++ lambda feature: _Expr( ++ "${{context_feature_settings}}->is{}Enabled()".format( ++ feature)), exposure.context_enabled_features)) + context_enabled_terms.append( + expr_and([_Expr("${context_feature_settings}"), + expr_or(terms)])) +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_format.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_format.py +index 87d26eec3ca..f3e9d38247e 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_format.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_format.py +@@ -23,7 +23,7 @@ class _TemplateFormatter(string.Formatter): + self._template_formatter_indexing_count_ = 0 + + def get_value(self, key, args, kwargs): +- if isinstance(key, (int, long)): ++ if isinstance(key, int): + return args[key] + assert isinstance(key, str) + if not key: +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py +index 2bcc4fed49a..e72282aa696 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py +@@ -116,4 +116,4 @@ def write_code_node_to_file(code_node, filepath): + # stderr=format_result.error_message)) + # + # web_idl.file_io.write_to_file_if_changed(filepath, format_result.contents) +- web_idl.file_io.write_to_file_if_changed(filepath, rendered_text) ++ web_idl.file_io.write_to_file_if_changed(filepath, rendered_text.encode('utf-8')) +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/dictionary.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/dictionary.py +index b39f0100410..4d68202296b 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/dictionary.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/dictionary.py +@@ -993,7 +993,7 @@ def make_dict_trace_func(cg_context): + _2 = _blink_member_name(member).value_var + return TextNode(_format(pattern, _1=_1, _2=_2)) + +- body.extend(map(make_trace_member_node, own_members)) ++ body.extend(list(map(make_trace_member_node, own_members))) + body.append(TextNode("BaseClass::Trace(visitor);")) + + return func_decl, func_def +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py +index 10ff30656ad..bfdf7128aac 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py +@@ -582,7 +582,7 @@ def _make_blink_api_call(code_node, + overriding_args=None): + assert isinstance(code_node, SymbolScopeNode) + assert isinstance(cg_context, CodeGenContext) +- assert num_of_args is None or isinstance(num_of_args, (int, long)) ++ assert num_of_args is None or isinstance(num_of_args, int) + assert (overriding_args is None + or (isinstance(overriding_args, (list, tuple)) + and all(isinstance(arg, str) for arg in overriding_args))) +@@ -1196,8 +1196,10 @@ def make_overload_dispatcher(cg_context): + did_use_break = did_use_break or can_fail + + conditional = expr_or( +- map(lambda item: expr_from_exposure(item.function_like.exposure), +- items)) ++ list( ++ map( ++ lambda item: expr_from_exposure(item.function_like.exposure ++ ), items))) + if not conditional.is_always_true: + node = CxxUnlikelyIfNode(cond=conditional, body=node) + +@@ -4642,7 +4644,7 @@ class _PropEntryConstructorGroup(_PropEntryBase): + def __init__(self, is_context_dependent, exposure_conditional, world, + constructor_group, ctor_callback_name, ctor_func_length): + assert isinstance(ctor_callback_name, str) +- assert isinstance(ctor_func_length, (int, long)) ++ assert isinstance(ctor_func_length, int) + + _PropEntryBase.__init__(self, is_context_dependent, + exposure_conditional, world, constructor_group) +@@ -4670,7 +4672,7 @@ class _PropEntryOperationGroup(_PropEntryBase): + op_func_length, + no_alloc_direct_callback_name=None): + assert isinstance(op_callback_name, str) +- assert isinstance(op_func_length, (int, long)) ++ assert isinstance(op_func_length, int) + + _PropEntryBase.__init__(self, is_context_dependent, + exposure_conditional, world, operation_group) +@@ -5175,9 +5177,9 @@ def make_install_interface_template(cg_context, function_name, class_name, api_c + ]) + + if class_like.identifier == "CSSStyleDeclaration": +- css_properties = filter( +- lambda attr: "CSSProperty" in attr.extended_attributes, +- class_like.attributes) ++ css_properties = list( ++ filter(lambda attr: "CSSProperty" in attr.extended_attributes, ++ class_like.attributes)) + if css_properties: + prop_name_list = "".join( + map(lambda attr: "\"{}\", ".format(attr.identifier), +@@ -5567,8 +5569,8 @@ ${instance_object} = ${v8_context}->Global()->GetPrototype().As();\ + "V8DOMConfiguration::InstallConstants(${isolate}, " + "${interface_template}, ${prototype_template}, " + "kConstantCallbackTable, base::size(kConstantCallbackTable));") +- constant_callback_entries = filter(lambda entry: entry.const_callback_name, +- constant_entries) ++ constant_callback_entries = list(filter(lambda entry: entry.const_callback_name, ++ constant_entries)) + install_properties(table_name, constant_callback_entries, + _make_constant_callback_registration_table, + installer_call_text) +@@ -5584,8 +5586,8 @@ ${instance_object} = ${v8_context}->Global()->GetPrototype().As();\ + "V8DOMConfiguration::InstallConstants(${isolate}, " + "${interface_template}, ${prototype_template}, " + "kConstantValueTable, base::size(kConstantValueTable));") +- constant_value_entries = filter( +- lambda entry: not entry.const_callback_name, constant_entries) ++ constant_value_entries = list(filter( ++ lambda entry: not entry.const_callback_name, constant_entries)) + install_properties(table_name, constant_value_entries, + _make_constant_value_registration_table, + installer_call_text) +@@ -6336,8 +6338,8 @@ def make_v8_context_snapshot_api(cg_context, component, attribute_entries, + assert isinstance(component, web_idl.Component) + + derived_interfaces = cg_context.interface.deriveds +- derived_names = map(lambda interface: interface.identifier, +- derived_interfaces) ++ derived_names = list( ++ map(lambda interface: interface.identifier, derived_interfaces)) + derived_names.append(cg_context.interface.identifier) + if not ("Window" in derived_names or "HTMLDocument" in derived_names): + return None, None +@@ -6411,9 +6413,11 @@ def _make_v8_context_snapshot_get_reference_table_function( + collect_callbacks(named_properties_object_callback_defs) + collect_callbacks(cross_origin_property_callback_defs) + +- entry_nodes = map( +- lambda name: TextNode("reinterpret_cast({}),".format(name)), +- filter(None, callback_names)) ++ entry_nodes = list( ++ map( ++ lambda name: TextNode("reinterpret_cast({}),".format(name ++ )), ++ filter(None, callback_names))) + table_node = ListNode([ + TextNode("using namespace ${class_name}Callbacks;"), + TextNode("static const intptr_t kReferenceTable[] = {"), +@@ -6451,10 +6455,11 @@ def _make_v8_context_snapshot_install_props_per_context_function( + class_name=None, + prop_install_mode=PropInstallMode.V8_CONTEXT_SNAPSHOT, + trampoline_var_name=None, +- attribute_entries=filter(selector, attribute_entries), +- constant_entries=filter(selector, constant_entries), +- exposed_construct_entries=filter(selector, exposed_construct_entries), +- operation_entries=filter(selector, operation_entries)) ++ attribute_entries=list(filter(selector, attribute_entries)), ++ constant_entries=list(filter(selector, constant_entries)), ++ exposed_construct_entries=list( ++ filter(selector, exposed_construct_entries)), ++ operation_entries=list(filter(selector, operation_entries))) + + return func_decl, func_def + +@@ -6810,11 +6815,11 @@ def generate_interface(interface_identifier): + class_name=impl_class_name, + prop_install_mode=PropInstallMode.UNCONDITIONAL, + trampoline_var_name=tp_install_unconditional_props, +- attribute_entries=filter(is_unconditional, attribute_entries), +- constant_entries=filter(is_unconditional, constant_entries), +- exposed_construct_entries=filter(is_unconditional, +- exposed_construct_entries), +- operation_entries=filter(is_unconditional, operation_entries)) ++ attribute_entries=list(filter(is_unconditional, attribute_entries)), ++ constant_entries=list(filter(is_unconditional, constant_entries)), ++ exposed_construct_entries=list( ++ filter(is_unconditional, exposed_construct_entries)), ++ operation_entries=list(filter(is_unconditional, operation_entries))) + (install_context_independent_props_decl, + install_context_independent_props_def, + install_context_independent_props_trampoline) = make_install_properties( +@@ -6823,11 +6828,14 @@ def generate_interface(interface_identifier): + class_name=impl_class_name, + prop_install_mode=PropInstallMode.CONTEXT_INDEPENDENT, + trampoline_var_name=tp_install_context_independent_props, +- attribute_entries=filter(is_context_independent, attribute_entries), +- constant_entries=filter(is_context_independent, constant_entries), +- exposed_construct_entries=filter(is_context_independent, +- exposed_construct_entries), +- operation_entries=filter(is_context_independent, operation_entries)) ++ attribute_entries=list( ++ filter(is_context_independent, attribute_entries)), ++ constant_entries=list(filter(is_context_independent, ++ constant_entries)), ++ exposed_construct_entries=list( ++ filter(is_context_independent, exposed_construct_entries)), ++ operation_entries=list( ++ filter(is_context_independent, operation_entries))) + (install_context_dependent_props_decl, install_context_dependent_props_def, + install_context_dependent_props_trampoline) = make_install_properties( + cg_context, +@@ -6835,11 +6843,13 @@ def generate_interface(interface_identifier): + class_name=impl_class_name, + prop_install_mode=PropInstallMode.CONTEXT_DEPENDENT, + trampoline_var_name=tp_install_context_dependent_props, +- attribute_entries=filter(is_context_dependent, attribute_entries), +- constant_entries=filter(is_context_dependent, constant_entries), +- exposed_construct_entries=filter(is_context_dependent, +- exposed_construct_entries), +- operation_entries=filter(is_context_dependent, operation_entries)) ++ attribute_entries=list(filter(is_context_dependent, ++ attribute_entries)), ++ constant_entries=list(filter(is_context_dependent, constant_entries)), ++ exposed_construct_entries=list( ++ filter(is_context_dependent, exposed_construct_entries)), ++ operation_entries=list(filter(is_context_dependent, ++ operation_entries))) + (install_interface_template_decl, install_interface_template_def, + install_interface_template_trampoline) = make_install_interface_template( + cg_context, +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/mako_renderer.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/mako_renderer.py +index b4c70553863..f3a2fcd772d 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/mako_renderer.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/mako_renderer.py +@@ -105,7 +105,7 @@ class MakoRenderer(object): + on_error = self._caller_stack_on_error + if (len(current) <= len(on_error) + and all(current[i] == on_error[i] +- for i in xrange(len(current)))): ++ for i in range(len(current)))): + pass # Error happened in a deeper caller. + else: + self._caller_stack_on_error = list(self._caller_stack) +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py +index dc3493cc394..017d3d47bb3 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py +@@ -70,8 +70,13 @@ def gn_format(contents, filename=None): + + + def _invoke_format_command(command_line, filename, contents): +- proc = subprocess.Popen( +- command_line, stdin=subprocess.PIPE, stdout=subprocess.PIPE) ++ kwargs = {} ++ if sys.version_info.major != 2: ++ kwargs['encoding'] = 'utf-8' ++ proc = subprocess.Popen(command_line, ++ stdin=subprocess.PIPE, ++ stdout=subprocess.PIPE, ++ **kwargs) + stdout_output, stderr_output = proc.communicate(input=contents) + exit_code = proc.wait() + +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py +index 0d8f4c0f303..e666a9b668e 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py +@@ -2,6 +2,7 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++import functools + import multiprocessing + + from .package_initializer import package_initializer +@@ -76,7 +77,7 @@ class TaskQueue(object): + if not report_progress: + return + +- done_count = reduce( ++ done_count = functools.reduce( + lambda count, worker_task: count + bool(worker_task.ready()), + self._worker_tasks, 0) + report_progress(len(self._worker_tasks), done_count) +@@ -85,4 +86,4 @@ class TaskQueue(object): + def _task_queue_run_tasks(tasks): + for task in tasks: + func, args, kwargs = task +- apply(func, args, kwargs) ++ func(*args, **kwargs) +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/code_generator.py b/chromium/third_party/blink/renderer/bindings/scripts/code_generator.py +index e8280be7213..e49e6eb965e 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/code_generator.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/code_generator.py +@@ -13,6 +13,7 @@ import re + import sys + + from idl_types import set_ancestors, IdlType ++from itertools import groupby + from v8_globals import includes + from v8_interface import constant_filters + from v8_types import set_component_dirs +@@ -43,6 +44,7 @@ TEMPLATES_DIR = os.path.normpath( + # after path[0] == invoking script dir + sys.path.insert(1, THIRD_PARTY_DIR) + import jinja2 ++from jinja2.filters import make_attrgetter, environmentfilter + + + def generate_indented_conditional(code, conditional): +@@ -88,6 +90,13 @@ def runtime_enabled_if(code, name): + return generate_indented_conditional(code, function) + + ++@environmentfilter ++def do_stringify_key_group_by(environment, value, attribute): ++ expr = make_attrgetter(environment, attribute) ++ key = lambda item: '' if expr(item) is None else str(expr(item)) ++ return groupby(sorted(value, key=key), expr) ++ ++ + def initialize_jinja_env(cache_dir): + jinja_env = jinja2.Environment( + loader=jinja2.FileSystemLoader(TEMPLATES_DIR), +@@ -117,6 +126,7 @@ def initialize_jinja_env(cache_dir): + }) + jinja_env.filters.update(constant_filters()) + jinja_env.filters.update(method_filters()) ++ jinja_env.filters["stringifykeygroupby"] = do_stringify_key_group_by + return jinja_env + + +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/generate_origin_trial_features.py b/chromium/third_party/blink/renderer/bindings/scripts/generate_origin_trial_features.py +index 130004eae83..04c0fabcef2 100755 +--- a/chromium/third_party/blink/renderer/bindings/scripts/generate_origin_trial_features.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/generate_origin_trial_features.py +@@ -80,7 +80,7 @@ def read_idl_file(reader, idl_filename): + assert len(interfaces) == 1, ( + "Expected one interface in file %r, found %d" % + (idl_filename, len(interfaces))) +- return (interfaces.values()[0], includes) ++ return (list(interfaces.values())[0], includes) + + + def interface_is_global(interface): +@@ -281,7 +281,7 @@ def main(): + + info_provider = create_component_info_provider( + os.path.normpath(options.info_dir), options.target_component) +- idl_filenames = map(str.strip, open(options.idl_files_list)) ++ idl_filenames = list(map(str.strip, open(options.idl_files_list))) + + generate_origin_trial_features(info_provider, options, idl_filenames) + return 0 +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/idl_definitions.py b/chromium/third_party/blink/renderer/bindings/scripts/idl_definitions.py +index 14e6e9d3f87..b027818aef2 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/idl_definitions.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/idl_definitions.py +@@ -394,7 +394,8 @@ class IdlInterface(object): + else: + raise ValueError('Unrecognized node class: %s' % child_class) + +- if len(filter(None, [self.iterable, self.maplike, self.setlike])) > 1: ++ if len(list(filter(None, ++ [self.iterable, self.maplike, self.setlike]))) > 1: + raise ValueError( + 'Interface can only have one of iterable<>, maplike<> and setlike<>.' + ) +@@ -512,6 +513,9 @@ class IdlAttribute(TypedObject): + def accept(self, visitor): + visitor.visit_attribute(self) + ++ def __lt__(self, other): ++ return self.name < other.name ++ + + ################################################################################ + # Constants +@@ -852,7 +856,7 @@ class IdlIncludes(object): + ################################################################################ + + +-class Exposure: ++class Exposure(object): + """An Exposure holds one Exposed or RuntimeEnabled condition. + Each exposure has two properties: exposed and runtime_enabled. + Exposure(e, r) corresponds to [Exposed(e r)]. Exposure(e) corresponds to +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/idl_reader.py b/chromium/third_party/blink/renderer/bindings/scripts/idl_reader.py +index 8d72865a6ca..b80eebdcd61 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/idl_reader.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/idl_reader.py +@@ -55,8 +55,8 @@ def validate_blink_idl_definitions(idl_filename, idl_file_basename, + definitions. There is no filename convention in this case. + - Otherwise, an IDL file is invalid. + """ +- targets = ( +- definitions.interfaces.values() + definitions.dictionaries.values()) ++ targets = (list(definitions.interfaces.values()) + ++ list(definitions.dictionaries.values())) + number_of_targets = len(targets) + if number_of_targets > 1: + raise Exception( +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/idl_types.py b/chromium/third_party/blink/renderer/bindings/scripts/idl_types.py +index cd4f0c3513b..ab95e9c0b08 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/idl_types.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/idl_types.py +@@ -349,7 +349,7 @@ class IdlUnionType(IdlTypeBase): + return True + + def single_matching_member_type(self, predicate): +- matching_types = filter(predicate, self.flattened_member_types) ++ matching_types = list(filter(predicate, self.flattened_member_types)) + if len(matching_types) > 1: + raise ValueError('%s is ambiguous.' % self.name) + return matching_types[0] if matching_types else None +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/utilities.py b/chromium/third_party/blink/renderer/bindings/scripts/utilities.py +index e1677ee7bd6..3c5006f064f 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/utilities.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/utilities.py +@@ -196,8 +196,9 @@ class ComponentInfoProviderModules(ComponentInfoProvider): + + @property + def callback_functions(self): +- return dict(self._component_info_core['callback_functions'].items() + +- self._component_info_modules['callback_functions'].items()) ++ return dict( ++ list(self._component_info_core['callback_functions'].items()) + ++ list(self._component_info_modules['callback_functions'].items())) + + @property + def specifier_for_export(self): +@@ -209,8 +210,8 @@ class ComponentInfoProviderModules(ComponentInfoProvider): + + + def load_interfaces_info_overall_pickle(info_dir): +- with open(os.path.join(info_dir, +- 'interfaces_info.pickle')) as interface_info_file: ++ with open(os.path.join(info_dir, 'interfaces_info.pickle'), ++ mode='rb') as interface_info_file: + return pickle.load(interface_info_file) + + +@@ -236,23 +237,20 @@ def merge_dict_recursively(target, diff): + + def create_component_info_provider_core(info_dir): + interfaces_info = load_interfaces_info_overall_pickle(info_dir) +- with open( +- os.path.join(info_dir, 'core', +- 'component_info_core.pickle')) as component_info_file: ++ with open(os.path.join(info_dir, 'core', 'component_info_core.pickle'), ++ mode='rb') as component_info_file: + component_info = pickle.load(component_info_file) + return ComponentInfoProviderCore(interfaces_info, component_info) + + + def create_component_info_provider_modules(info_dir): + interfaces_info = load_interfaces_info_overall_pickle(info_dir) +- with open( +- os.path.join(info_dir, 'core', +- 'component_info_core.pickle')) as component_info_file: ++ with open(os.path.join(info_dir, 'core', 'component_info_core.pickle'), ++ mode='rb') as component_info_file: + component_info_core = pickle.load(component_info_file) +- with open( +- os.path.join( +- info_dir, 'modules', +- 'component_info_modules.pickle')) as component_info_file: ++ with open(os.path.join(info_dir, 'modules', ++ 'component_info_modules.pickle'), ++ mode='rb') as component_info_file: + component_info_modules = pickle.load(component_info_file) + return ComponentInfoProviderModules(interfaces_info, component_info_core, + component_info_modules) +@@ -356,7 +354,7 @@ def write_pickle_file(pickle_filename, data): + pickle_filename = abs(pickle_filename) + # If |data| is same with the file content, we skip updating. + if os.path.isfile(pickle_filename): +- with open(pickle_filename) as pickle_file: ++ with open(pickle_filename, 'rb') as pickle_file: + try: + if pickle.load(pickle_file) == data: + return +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/v8_interface.py b/chromium/third_party/blink/renderer/bindings/scripts/v8_interface.py +index a43260414db..a85b03abe75 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/v8_interface.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/v8_interface.py +@@ -189,7 +189,7 @@ def context_enabled_features(attributes): + return sorted([ + member for member in members + if member.get(KEY) and not member.get('exposed_test') +- ]) ++ ], key=lambda item: item['name']) + + def member_filter_by_name(members, name): + return [member for member in members if member[KEY] == name] +@@ -612,7 +612,8 @@ def interface_context(interface, interfaces, component_info): + sorted( + origin_trial_features(interface, context['constants'], + context['attributes'], context['methods']) + +- context_enabled_features(context['attributes'])), ++ context_enabled_features(context['attributes']), ++ key=lambda item: item['name']), + }) + if context['optional_features']: + includes.add('platform/bindings/v8_per_context_data.h') +@@ -1356,9 +1357,9 @@ def resolution_tests_methods(effective_overloads): + + # Extract argument and IDL type to simplify accessing these in each loop. + arguments = [method['arguments'][index] for method in methods] +- arguments_methods = zip(arguments, methods) ++ arguments_methods = list(zip(arguments, methods)) + idl_types = [argument['idl_type_object'] for argument in arguments] +- idl_types_methods = zip(idl_types, methods) ++ idl_types_methods = list(zip(idl_types, methods)) + + # We can’t do a single loop through all methods or simply sort them, because + # a method may be listed in multiple steps of the resolution algorithm, and +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/v8_methods.py b/chromium/third_party/blink/renderer/bindings/scripts/v8_methods.py +index 5f1f89a3def..6ee8a407798 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/v8_methods.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/v8_methods.py +@@ -46,6 +46,10 @@ import v8_types + import v8_utilities + from v8_utilities import (has_extended_attribute_value, is_unforgeable) + ++# TODO: Remove this once Python2 is obsoleted. ++if sys.version_info.major != 2: ++ basestring = str ++ + + def method_is_visible(method, interface_is_partial): + if 'overloads' in method: +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/v8_utilities.py b/chromium/third_party/blink/renderer/bindings/scripts/v8_utilities.py +index 2ecd6923320..fcfc48371b1 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/v8_utilities.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/v8_utilities.py +@@ -271,7 +271,7 @@ EXPOSED_WORKERS = set([ + ]) + + +-class ExposureSet: ++class ExposureSet(object): + """An ExposureSet is a collection of Exposure instructions.""" + + def __init__(self, exposures=None): +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/callback_interface.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/callback_interface.py +index 13fb7c7068d..b73b7710687 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/callback_interface.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/callback_interface.py +@@ -91,11 +91,13 @@ class CallbackInterface(UserDefinedType, WithExtendedAttributes, + for operation_ir in ir.operations + ]) + self._operation_groups = tuple([ +- OperationGroup( +- operation_group_ir, +- filter(lambda x: x.identifier == operation_group_ir.identifier, +- self._operations), +- owner=self) for operation_group_ir in ir.operation_groups ++ OperationGroup(operation_group_ir, ++ list( ++ filter( ++ lambda x: x.identifier == operation_group_ir ++ .identifier, self._operations)), ++ owner=self) ++ for operation_group_ir in ir.operation_groups + ]) + + @property +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/database.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/database.py +index c92cf48eb2a..f5d59129449 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/database.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/database.py +@@ -156,4 +156,4 @@ class Database(object): + return self._view_by_kind(Database._Kind.UNION) + + def _view_by_kind(self, kind): +- return self._impl.find_by_kind(kind).values() ++ return list(self._impl.find_by_kind(kind).values()) +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/exposure.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/exposure.py +index abaeef39c30..e36cf7439ae 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/exposure.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/exposure.py +@@ -8,8 +8,11 @@ from .runtime_enabled_features import RuntimeEnabledFeatures + class _Feature(str): + """Represents a runtime-enabled feature.""" + ++ def __new__(cls, value): ++ return str.__new__(cls, value) ++ + def __init__(self, value): +- str.__init__(self, value) ++ str.__init__(self) + self._is_context_dependent = ( + RuntimeEnabledFeatures.is_context_dependent(self)) + +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/function_like.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/function_like.py +index 648c70d803d..1712f19c672 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/function_like.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/function_like.py +@@ -71,8 +71,9 @@ class FunctionLike(WithIdentifier): + def num_of_required_arguments(self): + """Returns the number of required arguments.""" + return len( +- filter(lambda arg: not (arg.is_optional or arg.is_variadic), +- self.arguments)) ++ list( ++ filter(lambda arg: not (arg.is_optional or arg.is_variadic), ++ self.arguments))) + + + class OverloadGroup(WithIdentifier): +@@ -171,8 +172,7 @@ class OverloadGroup(WithIdentifier): + Returns the effective overload set. + https://heycam.github.io/webidl/#compute-the-effective-overload-set + """ +- assert argument_count is None or isinstance(argument_count, +- (int, long)) ++ assert argument_count is None or isinstance(argument_count, int) + + N = argument_count + S = [] +@@ -188,21 +188,21 @@ class OverloadGroup(WithIdentifier): + + S.append( + OverloadGroup.EffectiveOverloadItem( +- X, map(lambda arg: arg.idl_type, X.arguments), +- map(lambda arg: arg.optionality, X.arguments))) ++ X, list(map(lambda arg: arg.idl_type, X.arguments)), ++ list(map(lambda arg: arg.optionality, X.arguments)))) + + if X.is_variadic: +- for i in xrange(n, max(maxarg, N)): +- t = map(lambda arg: arg.idl_type, X.arguments) +- o = map(lambda arg: arg.optionality, X.arguments) +- for _ in xrange(n, i + 1): ++ for i in range(n, max(maxarg, N)): ++ t = list(map(lambda arg: arg.idl_type, X.arguments)) ++ o = list(map(lambda arg: arg.optionality, X.arguments)) ++ for _ in range(n, i + 1): + t.append(X.arguments[-1].idl_type) + o.append(X.arguments[-1].optionality) + S.append(OverloadGroup.EffectiveOverloadItem(X, t, o)) + +- t = map(lambda arg: arg.idl_type, X.arguments) +- o = map(lambda arg: arg.optionality, X.arguments) +- for i in xrange(n - 1, -1, -1): ++ t = list(map(lambda arg: arg.idl_type, X.arguments)) ++ o = list(map(lambda arg: arg.optionality, X.arguments)) ++ for i in range(n - 1, -1, -1): + if X.arguments[i].optionality == IdlType.Optionality.REQUIRED: + break + S.append(OverloadGroup.EffectiveOverloadItem(X, t[:i], o[:i])) +@@ -222,7 +222,7 @@ class OverloadGroup(WithIdentifier): + for item in items) + assert len(items) > 1 + +- for index in xrange(len(items[0].type_list)): ++ for index in range(len(items[0].type_list)): + # Assume that the given items are valid, and we only need to test + # the two types. + if OverloadGroup.are_distinguishable_types( +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/idl_compiler.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/idl_compiler.py +index c5ee2bd8a3d..58315072480 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/idl_compiler.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/idl_compiler.py +@@ -149,8 +149,8 @@ class IdlCompiler(object): + for old_ir in old_irs: + new_ir = make_copy(old_ir) + self._ir_map.add(new_ir) +- new_ir.attributes = filter(not_disabled, new_ir.attributes) +- new_ir.operations = filter(not_disabled, new_ir.operations) ++ new_ir.attributes = list(filter(not_disabled, new_ir.attributes)) ++ new_ir.operations = list(filter(not_disabled, new_ir.operations)) + + def _record_defined_in_partial_and_mixin(self): + old_irs = self._ir_map.irs_of_kinds( +@@ -231,7 +231,7 @@ class IdlCompiler(object): + only_to_members_of_partial_or_mixin=False) + propagate_to_exposure(propagate) + +- map(process_member_like, ir.iter_all_members()) ++ list(map(process_member_like, ir.iter_all_members())) + + def process_member_like(ir): + propagate = functools.partial(propagate_extattr, ir=ir) +@@ -257,7 +257,7 @@ class IdlCompiler(object): + + self._ir_map.move_to_new_phase() + +- map(process_interface_like, old_irs) ++ list(map(process_interface_like, old_irs)) + + def _determine_blink_headers(self): + irs = self._ir_map.irs_of_kinds( +@@ -422,9 +422,9 @@ class IdlCompiler(object): + assert not new_interface.deriveds + derived_set = identifier_to_derived_set.get( + new_interface.identifier, set()) +- new_interface.deriveds = map( +- lambda id_: self._ref_to_idl_def_factory.create(id_), +- sorted(derived_set)) ++ new_interface.deriveds = list( ++ map(lambda id_: self._ref_to_idl_def_factory.create(id_), ++ sorted(derived_set))) + + def _supplement_missing_html_constructor_operation(self): + # Temporary mitigation of misuse of [HTMLConstructor] +@@ -553,7 +553,8 @@ class IdlCompiler(object): + self._ir_map.add(new_ir) + + for group in new_ir.iter_all_overload_groups(): +- exposures = map(lambda overload: overload.exposure, group) ++ exposures = list(map(lambda overload: overload.exposure, ++ group)) + + # [Exposed] + if any(not exposure.global_names_and_features +@@ -653,8 +654,8 @@ class IdlCompiler(object): + constructs = set() + for global_name in global_names: + constructs.update(exposed_map.get(global_name, [])) +- new_ir.exposed_constructs = map( +- self._ref_to_idl_def_factory.create, sorted(constructs)) ++ new_ir.exposed_constructs = list( ++ map(self._ref_to_idl_def_factory.create, sorted(constructs))) + + assert not new_ir.legacy_window_aliases + if new_ir.identifier != 'Window': +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/interface.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/interface.py +index 65d24e529d1..067ef2eb0b2 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/interface.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/interface.py +@@ -180,8 +180,9 @@ class Interface(UserDefinedType, WithExtendedAttributes, WithCodeGeneratorInfo, + self._constructor_groups = tuple([ + ConstructorGroup( + group_ir, +- filter(lambda x: x.identifier == group_ir.identifier, +- self._constructors), ++ list( ++ filter(lambda x: x.identifier == group_ir.identifier, ++ self._constructors)), + owner=self) for group_ir in ir.constructor_groups + ]) + assert len(self._constructor_groups) <= 1 +@@ -192,8 +193,9 @@ class Interface(UserDefinedType, WithExtendedAttributes, WithCodeGeneratorInfo, + self._named_constructor_groups = tuple([ + ConstructorGroup( + group_ir, +- filter(lambda x: x.identifier == group_ir.identifier, +- self._named_constructors), ++ list( ++ filter(lambda x: x.identifier == group_ir.identifier, ++ self._named_constructors)), + owner=self) for group_ir in ir.named_constructor_groups + ]) + self._operations = tuple([ +@@ -203,22 +205,23 @@ class Interface(UserDefinedType, WithExtendedAttributes, WithCodeGeneratorInfo, + self._operation_groups = tuple([ + OperationGroup( + group_ir, +- filter(lambda x: x.identifier == group_ir.identifier, +- self._operations), ++ list( ++ filter(lambda x: x.identifier == group_ir.identifier, ++ self._operations)), + owner=self) for group_ir in ir.operation_groups + ]) + self._exposed_constructs = tuple(ir.exposed_constructs) + self._legacy_window_aliases = tuple(ir.legacy_window_aliases) + self._indexed_and_named_properties = None +- indexed_and_named_property_operations = filter( +- lambda x: x.is_indexed_or_named_property_operation, +- self._operations) ++ indexed_and_named_property_operations = list( ++ filter(lambda x: x.is_indexed_or_named_property_operation, ++ self._operations)) + if indexed_and_named_property_operations: + self._indexed_and_named_properties = IndexedAndNamedProperties( + indexed_and_named_property_operations, owner=self) + self._stringifier = None +- stringifier_operation_irs = filter(lambda x: x.is_stringifier, +- ir.operations) ++ stringifier_operation_irs = list( ++ filter(lambda x: x.is_stringifier, ir.operations)) + if stringifier_operation_irs: + assert len(stringifier_operation_irs) == 1 + op_ir = make_copy(stringifier_operation_irs[0]) +@@ -231,8 +234,9 @@ class Interface(UserDefinedType, WithExtendedAttributes, WithCodeGeneratorInfo, + attribute = None + if operation.stringifier_attribute: + attr_id = operation.stringifier_attribute +- attributes = filter(lambda x: x.identifier == attr_id, +- self._attributes) ++ attributes = list( ++ filter(lambda x: x.identifier == attr_id, ++ self._attributes)) + assert len(attributes) == 1 + attribute = attributes[0] + self._stringifier = Stringifier(operation, attribute, owner=self) +@@ -578,8 +582,9 @@ class Iterable(WithDebugInfo): + self._operation_groups = tuple([ + OperationGroup( + group_ir, +- filter(lambda x: x.identifier == group_ir.identifier, +- self._operations), ++ list( ++ filter(lambda x: x.identifier == group_ir.identifier, ++ self._operations)), + owner=owner) for group_ir in ir.operation_groups + ]) + +@@ -666,8 +671,9 @@ class Maplike(WithDebugInfo): + self._operation_groups = tuple([ + OperationGroup( + group_ir, +- filter(lambda x: x.identifier == group_ir.identifier, +- self._operations), ++ list( ++ filter(lambda x: x.identifier == group_ir.identifier, ++ self._operations)), + owner=owner) for group_ir in ir.operation_groups + ]) + +@@ -755,8 +761,9 @@ class Setlike(WithDebugInfo): + self._operation_groups = tuple([ + OperationGroup( + group_ir, +- filter(lambda x: x.identifier == group_ir.identifier, +- self._operations), ++ list( ++ filter(lambda x: x.identifier == group_ir.identifier, ++ self._operations)), + owner=owner) for group_ir in ir.operation_groups + ]) + +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/ir_builder.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/ir_builder.py +index e9aeff4ab82..d80554d603e 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/ir_builder.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/ir_builder.py +@@ -2,6 +2,8 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++import sys ++ + from .argument import Argument + from .ast_group import AstGroup + from .attribute import Attribute +@@ -30,6 +32,11 @@ from .operation import Operation + from .typedef import Typedef + + ++# TODO: Remove this once Python2 is obsoleted. ++if sys.version_info.major != 2: ++ long = int ++ ++ + def load_and_register_idl_definitions(filepaths, register_ir, + create_ref_to_idl_def, idl_type_factory): + """ +@@ -160,7 +167,7 @@ class _IRBuilder(object): + child_nodes = list(node.GetChildren()) + extended_attributes = self._take_extended_attributes(child_nodes) + +- members = map(self._build_interface_member, child_nodes) ++ members = list(map(self._build_interface_member, child_nodes)) + attributes = [] + constants = [] + operations = [] +@@ -302,7 +309,7 @@ class _IRBuilder(object): + child_nodes = list(node.GetChildren()) + inherited = self._take_inheritance(child_nodes) + extended_attributes = self._take_extended_attributes(child_nodes) +- own_members = map(self._build_dictionary_member, child_nodes) ++ own_members = list(map(self._build_dictionary_member, child_nodes)) + + return Dictionary.IR( + identifier=Identifier(node.GetName()), +@@ -336,7 +343,7 @@ class _IRBuilder(object): + + child_nodes = list(node.GetChildren()) + extended_attributes = self._take_extended_attributes(child_nodes) +- members = map(self._build_interface_member, child_nodes) ++ members = list(map(self._build_interface_member, child_nodes)) + constants = [] + operations = [] + for member in members: +@@ -456,8 +463,8 @@ class _IRBuilder(object): + assert len(child_nodes) == 1 + child = child_nodes[0] + if child.GetClass() == 'Arguments': +- arguments = map(build_extattr_argument, +- child.GetChildren()) ++ arguments = list( ++ map(build_extattr_argument, child.GetChildren())) + elif child.GetClass() == 'Call': + assert len(child.GetChildren()) == 1 + grand_child = child.GetChildren()[0] +@@ -486,7 +493,9 @@ class _IRBuilder(object): + + assert node.GetClass() == 'ExtAttributes' + return ExtendedAttributes( +- filter(None, map(build_extended_attribute, node.GetChildren()))) ++ list( ++ filter(None, map(build_extended_attribute, ++ node.GetChildren())))) + + def _build_inheritance(self, node): + assert node.GetClass() == 'Inherit' +@@ -506,7 +515,7 @@ class _IRBuilder(object): + + def _build_iterable(self, node): + assert node.GetClass() == 'Iterable' +- types = map(self._build_type, node.GetChildren()) ++ types = list(map(self._build_type, node.GetChildren())) + assert len(types) == 1 or len(types) == 2 + if len(types) == 1: # value iterator + key_type, value_type = (None, types[0]) +@@ -584,7 +593,7 @@ class _IRBuilder(object): + def _build_maplike(self, node, interface_identifier): + assert node.GetClass() == 'Maplike' + assert isinstance(interface_identifier, Identifier) +- types = map(self._build_type, node.GetChildren()) ++ types = list(map(self._build_type, node.GetChildren())) + assert len(types) == 2 + key_type, value_type = types + is_readonly = bool(node.GetProperty('READONLY')) +@@ -676,7 +685,7 @@ class _IRBuilder(object): + def _build_setlike(self, node, interface_identifier): + assert node.GetClass() == 'Setlike' + assert isinstance(interface_identifier, Identifier) +- types = map(self._build_type, node.GetChildren()) ++ types = list(map(self._build_type, node.GetChildren())) + assert len(types) == 1 + value_type = types[0] + is_readonly = bool(node.GetProperty('READONLY')) +@@ -838,7 +847,7 @@ class _IRBuilder(object): + + def build_union_type(node, extended_attributes): + return self._idl_type_factory.union_type( +- member_types=map(self._build_type, node.GetChildren()), ++ member_types=list(map(self._build_type, node.GetChildren())), + is_optional=is_optional, + extended_attributes=extended_attributes, + debug_info=self._build_debug_info(node)) +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/make_copy.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/make_copy.py +index a7a2b11f3f0..2f6b61300ff 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/make_copy.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/make_copy.py +@@ -3,6 +3,13 @@ + # found in the LICENSE file. + + ++import sys ++ ++# TODO: Remove this once Python2 is obsoleted. ++if sys.version_info.major != 2: ++ long = int ++ basestring = str ++ + def make_copy(obj, memo=None): + """ + Creates a copy of the given object, which should be an IR or part of IR. +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/namespace.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/namespace.py +index eeabef97cbe..bd7e98907f3 100644 +--- a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/namespace.py ++++ b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/namespace.py +@@ -107,11 +107,13 @@ class Namespace(UserDefinedType, WithExtendedAttributes, WithCodeGeneratorInfo, + for operation_ir in ir.operations + ]) + self._operation_groups = tuple([ +- OperationGroup( +- operation_group_ir, +- filter(lambda x: x.identifier == operation_group_ir.identifier, +- self._operations), +- owner=self) for operation_group_ir in ir.operation_groups ++ OperationGroup(operation_group_ir, ++ list( ++ filter( ++ lambda x: x.identifier == operation_group_ir ++ .identifier, self._operations)), ++ owner=self) ++ for operation_group_ir in ir.operation_groups + ]) + + @property +diff --git a/chromium/third_party/blink/renderer/bindings/templates/dictionary_v8.cc.tmpl b/chromium/third_party/blink/renderer/bindings/templates/dictionary_v8.cc.tmpl +index 0add9c45a38..dc910f6d227 100644 +--- a/chromium/third_party/blink/renderer/bindings/templates/dictionary_v8.cc.tmpl ++++ b/chromium/third_party/blink/renderer/bindings/templates/dictionary_v8.cc.tmpl +@@ -59,9 +59,9 @@ void {{v8_class}}::ToImpl(v8::Isolate* isolate, v8::Local v8_value, { + DCHECK(executionContext); + {% endif %}{# has_origin_trial_members #} + {% endif %}{# members #} +- {% for origin_trial_test, origin_trial_member_list in members | groupby('origin_trial_feature_name') %} ++ {% for origin_trial_test, origin_trial_member_list in members | stringifykeygroupby('origin_trial_feature_name') %} + {% filter origin_trial_enabled(origin_trial_test, "executionContext") %} +- {% for feature_name, member_list in origin_trial_member_list | groupby('runtime_enabled_feature_name') %} ++ {% for feature_name, member_list in origin_trial_member_list | stringifykeygroupby('runtime_enabled_feature_name') %} + {% filter runtime_enabled(feature_name) %} + {% for member in member_list %} + v8::Local {{member.v8_value}}; +@@ -147,9 +147,9 @@ bool toV8{{cpp_class}}(const {{cpp_class}}* impl, v8::Local dictiona + DCHECK(executionContext); + {% endif %}{# has_origin_trial_members #} + {% endif %}{# members #} +- {% for origin_trial_test, origin_trial_member_list in members | groupby('origin_trial_feature_name') %} ++ {% for origin_trial_test, origin_trial_member_list in members | stringifykeygroupby('origin_trial_feature_name') %} + {% filter origin_trial_enabled(origin_trial_test, "executionContext") %} +- {% for feature_name, member_list in origin_trial_member_list | groupby('runtime_enabled_feature_name') %} ++ {% for feature_name, member_list in origin_trial_member_list | stringifykeygroupby('runtime_enabled_feature_name') %} + {% filter runtime_enabled(feature_name) %} + {% for member in member_list %} + v8::Local {{member.v8_value}}; +diff --git a/chromium/third_party/blink/renderer/build/scripts/core/css/make_style_shorthands.py b/chromium/third_party/blink/renderer/build/scripts/core/css/make_style_shorthands.py +index 1799cd5a153..5f43ffabc26 100755 +--- a/chromium/third_party/blink/renderer/build/scripts/core/css/make_style_shorthands.py ++++ b/chromium/third_party/blink/renderer/build/scripts/core/css/make_style_shorthands.py +@@ -71,7 +71,7 @@ class Expansion(object): + def enabled_longhands(self): + include = lambda longhand: not longhand[ + 'runtime_flag'] or self.is_enabled(longhand['runtime_flag']) +- return filter(include, self._longhands) ++ return list(filter(include, self._longhands)) + + @property + def index(self): +@@ -87,8 +87,9 @@ class Expansion(object): + + def create_expansions(longhands): + flags = collect_runtime_flags(longhands) +- expansions = map(lambda mask: Expansion(longhands, flags, mask), +- range(1 << len(flags))) ++ expansions = list( ++ map(lambda mask: Expansion(longhands, flags, mask), ++ range(1 << len(flags)))) + assert len(expansions) > 0 + # We generate 2^N expansions for N flags, so enforce some limit. + assert len(flags) <= 4, 'Too many runtime flags for a single shorthand' +@@ -114,14 +115,14 @@ class StylePropertyShorthandWriter(json5_generator.Writer): + + self._longhand_dictionary = defaultdict(list) + for property_ in json5_properties.shorthands: +- property_['longhand_enum_keys'] = map(enum_key_for_css_property, +- property_['longhands']) +- property_['longhand_property_ids'] = map(id_for_css_property, +- property_['longhands']) +- +- longhands = map( +- lambda name: json5_properties.properties_by_name[name], +- property_['longhands']) ++ property_['longhand_enum_keys'] = list( ++ map(enum_key_for_css_property, property_['longhands'])) ++ property_['longhand_property_ids'] = list( ++ map(id_for_css_property, property_['longhands'])) ++ ++ longhands = list( ++ map(lambda name: json5_properties.properties_by_name[name], ++ property_['longhands'])) + property_['expansions'] = create_expansions(longhands) + for longhand_enum_key in property_['longhand_enum_keys']: + self._longhand_dictionary[longhand_enum_key].append(property_) +diff --git a/chromium/third_party/blink/renderer/build/scripts/core/css/properties/make_css_property_instances.py b/chromium/third_party/blink/renderer/build/scripts/core/css/properties/make_css_property_instances.py +index 75030ac577e..f72aadee17d 100755 +--- a/chromium/third_party/blink/renderer/build/scripts/core/css/properties/make_css_property_instances.py ++++ b/chromium/third_party/blink/renderer/build/scripts/core/css/properties/make_css_property_instances.py +@@ -42,8 +42,8 @@ class CSSPropertyInstancesWriter(json5_generator.Writer): + aliases = self._css_properties.aliases + + # Lists of PropertyClassData. +- self._property_classes_by_id = map(self.get_class, properties) +- self._alias_classes_by_id = map(self.get_class, aliases) ++ self._property_classes_by_id = list(map(self.get_class, properties)) ++ self._alias_classes_by_id = list(map(self.get_class, aliases)) + + # Sort by enum value. + self._property_classes_by_id.sort(key=lambda t: t.enum_value) +diff --git a/chromium/third_party/blink/renderer/build/scripts/gperf.py b/chromium/third_party/blink/renderer/build/scripts/gperf.py +index 5ee49056be4..db72660d471 100644 +--- a/chromium/third_party/blink/renderer/build/scripts/gperf.py ++++ b/chromium/third_party/blink/renderer/build/scripts/gperf.py +@@ -95,7 +95,7 @@ def main(): + + open(args.output_file, 'wb').write( + generate_gperf(gperf_path, +- open(infile).read(), gperf_args)) ++ open(infile).read(), gperf_args).encode('utf-8')) + + + if __name__ == '__main__': +diff --git a/chromium/third_party/blink/renderer/build/scripts/in_file.py b/chromium/third_party/blink/renderer/build/scripts/in_file.py +index 28adc050f1e..58113483e57 100644 +--- a/chromium/third_party/blink/renderer/build/scripts/in_file.py ++++ b/chromium/third_party/blink/renderer/build/scripts/in_file.py +@@ -66,7 +66,7 @@ class InFile(object): + self._defaults = defaults + self._valid_values = copy.deepcopy( + valid_values if valid_values else {}) +- self._parse(map(str.strip, lines)) ++ self._parse(list(map(str.strip, lines))) + + @classmethod + def load_from_files(self, file_paths, defaults, valid_values, +diff --git a/chromium/third_party/blink/renderer/build/scripts/in_generator.py b/chromium/third_party/blink/renderer/build/scripts/in_generator.py +index e46740a2e85..ab1981ad1e3 100644 +--- a/chromium/third_party/blink/renderer/build/scripts/in_generator.py ++++ b/chromium/third_party/blink/renderer/build/scripts/in_generator.py +@@ -32,10 +32,15 @@ import os + import os.path + import shlex + import shutil ++import sys + import optparse + + from in_file import InFile + ++# TODO: Remove this once Python2 is obsoleted. ++if sys.version_info.major != 2: ++ basestring = str ++ + + ######################################################### + # This is now deprecated - use json5_generator.py instead +diff --git a/chromium/third_party/blink/renderer/build/scripts/make_runtime_features.py b/chromium/third_party/blink/renderer/build/scripts/make_runtime_features.py +index cafe8d94a8e..6925a4fa580 100755 +--- a/chromium/third_party/blink/renderer/build/scripts/make_runtime_features.py ++++ b/chromium/third_party/blink/renderer/build/scripts/make_runtime_features.py +@@ -138,7 +138,7 @@ class RuntimeFeatureWriter(BaseRuntimeFeatureWriter): + except Exception: + # If trouble unpickling, overwrite + pass +- with open(os.path.abspath(file_name), 'w') as pickle_file: ++ with open(os.path.abspath(file_name), 'wb') as pickle_file: + pickle.dump(features_map, pickle_file) + + def _template_inputs(self): +diff --git a/chromium/third_party/blink/renderer/build/scripts/templates/element_factory.cc.tmpl b/chromium/third_party/blink/renderer/build/scripts/templates/element_factory.cc.tmpl +index dc3f44c5b10..3eefcf9f0ee 100644 +--- a/chromium/third_party/blink/renderer/build/scripts/templates/element_factory.cc.tmpl ++++ b/chromium/third_party/blink/renderer/build/scripts/templates/element_factory.cc.tmpl +@@ -26,7 +26,7 @@ using {{namespace}}FunctionMap = HashMapGetExecutionContext())) { +diff --git a/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.h.tmpl b/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.h.tmpl +index 1b5297d52dc..edecc81d9d4 100644 +--- a/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.h.tmpl ++++ b/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.h.tmpl +@@ -15,7 +15,7 @@ namespace blink { + class Document; + + // Type checking. +-{% for tag in tags|sort if not tag.multipleTagNames and not tag.noTypeHelpers %} ++{% for tag in tags|sort(attribute='name') if not tag.multipleTagNames and not tag.noTypeHelpers %} + class {{tag.interface}}; + template <> + inline bool IsElementOfType(const Node& node) { +diff --git a/chromium/third_party/blink/renderer/build/scripts/templates/macros.tmpl b/chromium/third_party/blink/renderer/build/scripts/templates/macros.tmpl +index 0244433af2e..dcdbb02a56c 100644 +--- a/chromium/third_party/blink/renderer/build/scripts/templates/macros.tmpl ++++ b/chromium/third_party/blink/renderer/build/scripts/templates/macros.tmpl +@@ -25,7 +25,7 @@ + + + {% macro trie_leaf(index, object, return_macro, lowercase_data) %} +-{% set name, value = object.items()[0] %} ++{% set name, value = (object.items()|list)[0] %} + {% if name|length %} + if ( + {%- for c in name -%} +@@ -45,7 +45,7 @@ return {{ return_macro(value) }}; + + + {% macro trie_switch(trie, index, return_macro, lowercase_data) %} +-{% if trie|length == 1 and trie.values()[0] is string %} ++{% if trie|length == 1 and (trie.values()|list)[0] is string %} + {{ trie_leaf(index, trie, return_macro, lowercase_data) -}} + {% else %} + {% if lowercase_data %} +diff --git a/chromium/third_party/blink/renderer/build/scripts/templates/make_qualified_names.h.tmpl b/chromium/third_party/blink/renderer/build/scripts/templates/make_qualified_names.h.tmpl +index cb05c6c4315..bd5566b03e7 100644 +--- a/chromium/third_party/blink/renderer/build/scripts/templates/make_qualified_names.h.tmpl ++++ b/chromium/third_party/blink/renderer/build/scripts/templates/make_qualified_names.h.tmpl +@@ -24,12 +24,12 @@ namespace {{cpp_namespace}} { + {{symbol_export}}extern const WTF::AtomicString& {{namespace_prefix}}NamespaceURI; + + // Tags +-{% for tag in tags|sort %} ++{% for tag in tags|sort(attribute='name') %} + {{symbol_export}}extern const blink::{{namespace}}QualifiedName& {{tag|symbol}}Tag; + {% endfor %} + + // Attributes +-{% for attr in attrs|sort %} ++{% for attr in attrs|sort(attribute='name') %} + {{symbol_export}}extern const blink::QualifiedName& {{attr|symbol}}Attr; + {% endfor %} + +diff --git a/chromium/third_party/dawn/generator/generator_lib.py b/chromium/third_party/dawn/generator/generator_lib.py +index 5e3734d7833..e3d46bd194f 100644 +--- a/chromium/third_party/dawn/generator/generator_lib.py ++++ b/chromium/third_party/dawn/generator/generator_lib.py +@@ -201,6 +201,10 @@ def _compute_python_dependencies(root_dir=None): + + paths = set() + for path in module_paths: ++ # Builtin/namespaced modules may return None for the file path. ++ if not path: ++ continue ++ + path = os.path.abspath(path) + + if not path.startswith(root_dir): +diff --git a/chromium/third_party/devtools-frontend/src/BUILD.gn b/chromium/third_party/devtools-frontend/src/BUILD.gn +index cd488e88b60..ea1dc3d9a79 100644 +--- a/chromium/third_party/devtools-frontend/src/BUILD.gn ++++ b/chromium/third_party/devtools-frontend/src/BUILD.gn +@@ -2,6 +2,8 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++import("//build/config/python.gni") ++ + import("//third_party/blink/public/public_features.gni") + import("./all_devtools_files.gni") + import("./all_devtools_modules.gni") +diff --git a/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py b/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py +index d6666e8b74f..0f7a661e632 100644 +--- a/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py ++++ b/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py +@@ -45,7 +45,8 @@ def rollup(input_path, output_path, filename, max_size, rollup_plugin): + ['--format', 'iife', '-n', 'InspectorOverlay'] + ['--input', target] + + ['--plugin', rollup_plugin], + stdout=subprocess.PIPE, +- stderr=subprocess.PIPE) ++ stderr=subprocess.PIPE, ++ text=True) + out, error = rollup_process.communicate() + if not out: + raise Exception("rollup failed: " + error) +diff --git a/chromium/third_party/devtools-frontend/src/scripts/build/build_release_applications.py b/chromium/third_party/devtools-frontend/src/scripts/build/build_release_applications.py +index fa8e73d34af..7d0b84b2171 100644 +--- a/chromium/third_party/devtools-frontend/src/scripts/build/build_release_applications.py ++++ b/chromium/third_party/devtools-frontend/src/scripts/build/build_release_applications.py +@@ -10,7 +10,7 @@ Builds applications in release mode: + and the application loader into a single script. + """ + +-from cStringIO import StringIO ++from io import StringIO + from os import path + from os.path import join + import copy +@@ -145,8 +145,7 @@ class ReleaseBuilder(object): + resource_content = read_file(path.join(self.application_dir, resource_name)) + if not (resource_name.endswith('.html') + or resource_name.endswith('md')): +- resource_content += resource_source_url(resource_name).encode( +- 'utf-8') ++ resource_content += resource_source_url(resource_name) + resource_content = resource_content.replace('\\', '\\\\') + resource_content = resource_content.replace('\n', '\\n') + resource_content = resource_content.replace('"', '\\"') +@@ -173,7 +172,9 @@ class ReleaseBuilder(object): + def _concatenate_application_script(self, output): + output.write('Root.allDescriptors.push(...%s);' % self._release_module_descriptors()) + if self.descriptors.extends: +- output.write('Root.applicationDescriptor.modules.push(...%s);' % json.dumps(self.descriptors.application.values())) ++ output.write( ++ 'Root.applicationDescriptor.modules.push(...%s);' % ++ json.dumps(list(self.descriptors.application.values()))) + else: + output.write('Root.applicationDescriptor = %s;' % self.descriptors.application_json()) + +diff --git a/chromium/third_party/devtools-frontend/src/scripts/build/generate_devtools_grd.py b/chromium/third_party/devtools-frontend/src/scripts/build/generate_devtools_grd.py +index be510c48d76..c6a59c90298 100644 +--- a/chromium/third_party/devtools-frontend/src/scripts/build/generate_devtools_grd.py ++++ b/chromium/third_party/devtools-frontend/src/scripts/build/generate_devtools_grd.py +@@ -123,7 +123,7 @@ def main(argv): + + try: + os.makedirs(path.join(output_directory, 'Images')) +- except OSError, e: ++ except OSError as e: + if e.errno != errno.EEXIST: + raise e + +@@ -147,7 +147,7 @@ def main(argv): + shutil.copy(path.join(dirname, filename), path.join(output_directory, 'Images')) + add_file_to_grd(doc, path.join('Images', filename)) + +- with open(parsed_args.output_filename, 'w') as output_file: ++ with open(parsed_args.output_filename, 'wb') as output_file: + output_file.write(doc.toxml(encoding='UTF-8')) + + +diff --git a/chromium/third_party/devtools-frontend/src/scripts/build/modular_build.py b/chromium/third_party/devtools-frontend/src/scripts/build/modular_build.py +index 0ba695d3810..bb1da2f9f8d 100644 +--- a/chromium/third_party/devtools-frontend/src/scripts/build/modular_build.py ++++ b/chromium/third_party/devtools-frontend/src/scripts/build/modular_build.py +@@ -7,6 +7,8 @@ + Utilities for the modular DevTools build. + """ + ++from __future__ import print_function ++ + import collections + from os import path + import os +@@ -40,7 +42,7 @@ def load_and_parse_json(filename): + try: + return json.loads(read_file(filename)) + except: +- print 'ERROR: Failed to parse %s' % filename ++ print('ERROR: Failed to parse %s' % filename) + raise + + class Descriptors: +@@ -57,7 +59,7 @@ class Descriptors: + + def application_json(self): + result = dict() +- result['modules'] = self.application.values() ++ result['modules'] = list(self.application.values()) + return json.dumps(result) + + def all_compiled_files(self): +diff --git a/chromium/third_party/jinja2/tests.py b/chromium/third_party/jinja2/tests.py +index 0adc3d4dbcb..b14f85ff148 100644 +--- a/chromium/third_party/jinja2/tests.py ++++ b/chromium/third_party/jinja2/tests.py +@@ -10,7 +10,7 @@ + """ + import operator + import re +-from collections import Mapping ++from collections.abc import Mapping + from jinja2.runtime import Undefined + from jinja2._compat import text_type, string_types, integer_types + import decimal +diff --git a/chromium/tools/metrics/ukm/gen_builders.py b/chromium/tools/metrics/ukm/gen_builders.py +index f9f61d90a56..44e46fae8cc 100755 +--- a/chromium/tools/metrics/ukm/gen_builders.py ++++ b/chromium/tools/metrics/ukm/gen_builders.py +@@ -48,9 +48,10 @@ def ReadFilteredData(path): + data = ukm_model.UKM_XML_TYPE.Parse(ukm_file.read()) + event_tag = ukm_model._EVENT_TYPE.tag + metric_tag = ukm_model._METRIC_TYPE.tag +- data[event_tag] = filter(ukm_model.IsNotObsolete, data[event_tag]) ++ data[event_tag] = list(filter(ukm_model.IsNotObsolete, data[event_tag])) + for event in data[event_tag]: +- event[metric_tag] = filter(ukm_model.IsNotObsolete, event[metric_tag]) ++ event[metric_tag] = list( ++ filter(ukm_model.IsNotObsolete, event[metric_tag])) + return data + + +diff --git a/chromium/ui/ozone/generate_constructor_list.py b/chromium/ui/ozone/generate_constructor_list.py +index 8d800636c97..04fa18e93df 100755 +--- a/chromium/ui/ozone/generate_constructor_list.py ++++ b/chromium/ui/ozone/generate_constructor_list.py +@@ -45,12 +45,15 @@ Example Output: ./ui/ozone/generate_constructor_list.py \ + } // namespace ui + """ + ++try: ++ from StringIO import StringIO # for Python 2 ++except ImportError: ++ from io import StringIO # for Python 3 + import optparse + import os + import collections + import re + import sys +-import string + + + def GetTypedefName(typename): +@@ -68,7 +71,7 @@ def GetConstructorName(typename, platform): + This is just "Create" + typename + platform. + """ + +- return 'Create' + typename + string.capitalize(platform) ++ return 'Create' + typename + platform.capitalize() + + + def GenerateConstructorList(out, namespace, export, typenames, platforms, +@@ -163,12 +166,14 @@ def main(argv): + sys.exit(1) + + # Write to standard output or file specified by --output_cc. +- out_cc = sys.stdout ++ out_cc = getattr(sys.stdout, 'buffer', sys.stdout) + if options.output_cc: + out_cc = open(options.output_cc, 'wb') + +- GenerateConstructorList(out_cc, options.namespace, options.export, ++ out_cc_str = StringIO() ++ GenerateConstructorList(out_cc_str, options.namespace, options.export, + typenames, platforms, includes, usings) ++ out_cc.write(out_cc_str.getvalue().encode('utf-8')) + + if options.output_cc: + out_cc.close() +diff --git a/chromium/ui/ozone/generate_ozone_platform_list.py b/chromium/ui/ozone/generate_ozone_platform_list.py +index d47c398259b..2702b68b9bd 100755 +--- a/chromium/ui/ozone/generate_ozone_platform_list.py ++++ b/chromium/ui/ozone/generate_ozone_platform_list.py +@@ -49,12 +49,15 @@ Example Output: ./generate_ozone_platform_list.py --default wayland dri wayland + + """ + ++try: ++ from StringIO import StringIO # for Python 2 ++except ImportError: ++ from io import StringIO # for Python 3 + import optparse + import os + import collections + import re + import sys +-import string + + + def GetConstantName(name): +@@ -63,7 +66,7 @@ def GetConstantName(name): + We just capitalize the platform name and prepend "CreateOzonePlatform". + """ + +- return 'kPlatform' + string.capitalize(name) ++ return 'kPlatform' + name.capitalize() + + + def GeneratePlatformListText(out, platforms): +@@ -149,9 +152,9 @@ def main(argv): + platforms.insert(0, options.default) + + # Write to standard output or file specified by --output_{cc,h}. +- out_cc = sys.stdout +- out_h = sys.stdout +- out_txt = sys.stdout ++ out_cc = getattr(sys.stdout, 'buffer', sys.stdout) ++ out_h = getattr(sys.stdout, 'buffer', sys.stdout) ++ out_txt = getattr(sys.stdout, 'buffer', sys.stdout) + if options.output_cc: + out_cc = open(options.output_cc, 'wb') + if options.output_h: +@@ -159,9 +162,16 @@ def main(argv): + if options.output_txt: + out_txt = open(options.output_txt, 'wb') + +- GeneratePlatformListText(out_txt, platforms) +- GeneratePlatformListHeader(out_h, platforms) +- GeneratePlatformListSource(out_cc, platforms) ++ out_txt_str = StringIO() ++ out_h_str = StringIO() ++ out_cc_str = StringIO() ++ ++ GeneratePlatformListText(out_txt_str, platforms) ++ out_txt.write(out_txt_str.getvalue().encode('utf-8')) ++ GeneratePlatformListHeader(out_h_str, platforms) ++ out_h.write(out_h_str.getvalue().encode('utf-8')) ++ GeneratePlatformListSource(out_cc_str, platforms) ++ out_cc.write(out_cc_str.getvalue().encode('utf-8')) + + if options.output_cc: + out_cc.close() +-- +2.25.1 + diff --git a/package/qt5/qt5webengine-chromium/0002-Don-t-rebase-sysroot-path.patch b/package/qt5/qt5webengine-chromium/0002-Don-t-rebase-sysroot-path.patch new file mode 100644 index 000000000..c39f008a3 --- /dev/null +++ b/package/qt5/qt5webengine-chromium/0002-Don-t-rebase-sysroot-path.patch @@ -0,0 +1,32 @@ +From bfc520671693587a0b81842018326da35aa97f80 Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Thu, 3 Feb 2022 20:41:08 -0700 +Subject: [PATCH] Don't rebase sysroot path + +Just use the actual sysroot as rebase_path will generate an invalid +sysroot path. + +Fixes: +/home/buildroot/buildroot/output/per-package/qt5webengine/host/opt/ext-toolchain/bin/../lib/gcc/aarch64-buildroot-linux-gnu/10.3.0/../../../../aarch64-buildroot-linux-gnu/bin/ld: cannot find crti.o: No such file or directory + +Signed-off-by: James Hilliard +--- + chromium/build/config/posix/BUILD.gn | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/chromium/build/config/posix/BUILD.gn b/chromium/build/config/posix/BUILD.gn +index e61554c5656..dc957225869 100644 +--- a/chromium/build/config/posix/BUILD.gn ++++ b/chromium/build/config/posix/BUILD.gn +@@ -27,7 +27,7 @@ config("runtime_library") { + + if (!is_apple && sysroot != "") { + # Pass the sysroot to all C compiler variants, the assembler, and linker. +- sysroot_flags = [ "--sysroot=" + rebase_path(sysroot, root_build_dir) ] ++ sysroot_flags = [ "--sysroot=" + sysroot ] + if (is_linux || is_chromeos) { + # This is here so that all files get recompiled after a sysroot roll and + # when turning the sysroot on or off. (defines are passed via the command +-- +2.25.1 + diff --git a/package/qt5/qt5webengine-chromium/Config.in b/package/qt5/qt5webengine-chromium/Config.in new file mode 100644 index 000000000..8ba9ad713 --- /dev/null +++ b/package/qt5/qt5webengine-chromium/Config.in @@ -0,0 +1,5 @@ +# Not user-selectable, it is only needed to be copied +# into the qt5webengine source tree. +config BR2_PACKAGE_QT5WEBENGINE_CHROMIUM + bool + select BR2_PACKAGE_QT5WEBENGINE_CHROMIUM_CATAPULT diff --git a/package/qt5/qt5webengine-chromium/chromium-latest.inc b/package/qt5/qt5webengine-chromium/chromium-latest.inc new file mode 100644 index 000000000..ced431c9e --- /dev/null +++ b/package/qt5/qt5webengine-chromium/chromium-latest.inc @@ -0,0 +1,1257 @@ +# (echo "QT5WEBENGINE_CHROMIUM_LICENSE_FILES = \\" ; \ +# find * -type f \ +# \( -iname 'license*' -o -iname 'copying*' -o -name 'APPLE_LICENSE' -o -name 'Copyright' -o -path '*/license_texts/*' -o -path '*/licenses/*' \) \ +# -a -not -name '*.cc' -not -name '*.py' -not -name '*.pyc' -not -name '*.h' -not -name 'LICENSE.sha1' -not -name 'licensecheck.pl*' -not -name 'license.after' -not -name 'license.before' -not -path 'chromium/third_party/catapult/*' | \ +# sort | sed 's%^\(.*\)$%\t\1 \\%') > package/qt5/qt5webengine-chromium/chromium-latest.inc +QT5WEBENGINE_CHROMIUM_LICENSE_FILES = \ + chromium/base/third_party/cityhash/COPYING \ + chromium/base/third_party/double_conversion/LICENSE \ + chromium/base/third_party/dynamic_annotations/LICENSE \ + chromium/base/third_party/icu/LICENSE \ + chromium/base/third_party/libevent/LICENSE \ + chromium/base/third_party/nspr/LICENSE \ + chromium/base/third_party/superfasthash/LICENSE \ + chromium/base/third_party/symbolize/LICENSE \ + chromium/base/third_party/valgrind/LICENSE \ + chromium/base/third_party/xdg_mime/LICENSE \ + chromium/base/third_party/xdg_user_dirs/LICENSE \ + chromium/buildtools/LICENSE \ + chromium/LICENSE \ + chromium/LICENSE.chromium_os \ + chromium/mojo/public/LICENSE \ + chromium/net/third_party/mozilla_security_manager/LICENSE \ + chromium/net/third_party/nss/LICENSE \ + chromium/net/third_party/quiche/src/LICENSE \ + chromium/net/third_party/uri_template/LICENSE \ + chromium/ppapi/LICENSE \ + chromium/third_party/abseil-cpp/LICENSE \ + chromium/third_party/angle/LICENSE \ + chromium/third_party/angle/src/common/third_party/smhasher/LICENSE \ + chromium/third_party/angle/src/common/third_party/xxhash/LICENSE \ + chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/third_party/ffx_spd/LICENSE \ + chromium/third_party/angle/src/third_party/compiler/LICENSE \ + chromium/third_party/angle/src/third_party/libXNVCtrl/LICENSE \ + chromium/third_party/angle/src/third_party/volk/LICENSE.md \ + chromium/third_party/angle/third_party/rapidjson/src/bin/jsonschema/LICENSE \ + chromium/third_party/angle/third_party/rapidjson/src/contrib/natvis/LICENSE \ + chromium/third_party/angle/third_party/rapidjson/src/license.txt \ + chromium/third_party/angle/third_party/vulkan-headers/src/LICENSE.txt \ + chromium/third_party/angle/third_party/vulkan-loader/src/LICENSE.txt \ + chromium/third_party/angle/third_party/vulkan-tools/src/LICENSE.txt \ + chromium/third_party/angle/tools/flex-bison/third_party/m4sugar/LICENSE \ + chromium/third_party/angle/tools/flex-bison/third_party/skeletons/LICENSE \ + chromium/third_party/angle/util/windows/third_party/StackWalker/LICENSE \ + chromium/third_party/apple_apsl/LICENSE \ + chromium/third_party/arcore-android-sdk-client/LICENSE \ + chromium/third_party/arcore-android-sdk/LICENSE \ + chromium/third_party/axe-core/LICENSE \ + chromium/third_party/bazel/LICENSE \ + chromium/third_party/blanketjs/LICENSE \ + chromium/third_party/blink/LICENSE_FOR_ABOUT_CREDITS \ + chromium/third_party/blink/renderer/core/LICENSE-APPLE \ + chromium/third_party/blink/renderer/core/LICENSE-LGPL-2 \ + chromium/third_party/blink/renderer/core/LICENSE-LGPL-2.1 \ + chromium/third_party/blink/renderer/platform/testing/data/third_party/Noto/LICENSE_OFL.txt \ + chromium/third_party/blink/renderer/platform/testing/data/third_party/Roboto/LICENSE.txt \ + chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/LICENSE.md \ + chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/atomicwrites/LICENSE \ + chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/enum/enum/LICENSE \ + chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/h2/LICENSE \ + chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/hpack/LICENSE \ + chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/html5lib/LICENSE \ + chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/hyperframe/LICENSE \ + chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/six/LICENSE \ + chromium/third_party/boringssl/src/LICENSE \ + chromium/third_party/boringssl/src/third_party/fiat/LICENSE \ + chromium/third_party/boringssl/src/third_party/googletest/LICENSE \ + chromium/third_party/boringssl/src/third_party/wycheproof_testvectors/LICENSE \ + chromium/third_party/bouncycastle/LICENSE \ + chromium/third_party/breakpad/breakpad/LICENSE \ + chromium/third_party/breakpad/breakpad/src/third_party/curl/COPYING \ + chromium/third_party/breakpad/breakpad/src/third_party/libdisasm/LICENSE \ + chromium/third_party/breakpad/LICENSE \ + chromium/third_party/brotli/LICENSE \ + chromium/third_party/bspatch/LICENSE \ + chromium/third_party/byte_buddy/LICENSE \ + chromium/third_party/ced/LICENSE \ + chromium/third_party/ced/src/LICENSE \ + chromium/third_party/chaijs/LICENSE \ + chromium/third_party/checkstyle/LICENSE \ + chromium/third_party/checkstyle/LICENSE.apache20 \ + chromium/third_party/cld_3/LICENSE \ + chromium/third_party/cld_3/src/LICENSE \ + chromium/third_party/closure_compiler/compiler/COPYING \ + chromium/third_party/closure_compiler/LICENSE \ + chromium/third_party/crashpad/crashpad/LICENSE \ + chromium/third_party/crashpad/crashpad/third_party/apple_cf/APPLE_LICENSE \ + chromium/third_party/crashpad/crashpad/third_party/cpp-httplib/cpp-httplib/LICENSE \ + chromium/third_party/crashpad/crashpad/third_party/getopt/LICENSE \ + chromium/third_party/crashpad/crashpad/third_party/glibc/COPYING.LIB \ + chromium/third_party/crashpad/crashpad/third_party/xnu/APPLE_LICENSE \ + chromium/third_party/crc32c/src/LICENSE \ + chromium/third_party/cros_system_api/LICENSE \ + chromium/third_party/d3/src/LICENSE \ + chromium/third_party/dav1d/libdav1d/COPYING \ + chromium/third_party/dav1d/LICENSE \ + chromium/third_party/dawn/LICENSE \ + chromium/third_party/decklink/LICENSE \ + chromium/third_party/devscripts/COPYING \ + chromium/third_party/devtools-frontend/src/front_end/cm_modes/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/dagre_layout/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/sdk/wasm_source_map/LICENSES.deps \ + chromium/third_party/devtools-frontend/src/front_end/third_party/acorn/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-logical-assignment/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-logical-assignment/package/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-loose/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-loose/package/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-numeric-separator/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-numeric-separator/package/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/acorn/package/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/axe-core/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/codemirror/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/codemirror/package/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/fabricjs/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/i18n/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/intl-messageformat/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/intl-messageformat/package/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/lighthouse/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/lit-html/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/lit-html/package/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/lodash-isequal/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/lodash-isequal/package/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/marked/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/marked/package/LICENSE.md \ + chromium/third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/wasmparser/LICENSE \ + chromium/third_party/devtools-frontend/src/front_end/third_party/wasmparser/package/LICENSE \ + chromium/third_party/devtools-frontend/src/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/abbrev/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/accepts/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/acorn-jsx/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ajv/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ansi-colors/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ansi-escapes/license \ + chromium/third_party/devtools-frontend/src/node_modules/ansi-escapes/node_modules/type-fest/license \ + chromium/third_party/devtools-frontend/src/node_modules/ansi-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/ansi-styles/license \ + chromium/third_party/devtools-frontend/src/node_modules/anymatch/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/argparse/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array-find-index/license \ + chromium/third_party/devtools-frontend/src/node_modules/array-includes/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/es-abstract/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/es-to-primitive/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/has-symbols/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/is-callable/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/is-regex/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/object-inspect/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/string.prototype.trimleft/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/string.prototype.trimright/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/es-abstract/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/es-to-primitive/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/has-symbols/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/is-callable/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/is-regex/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/object-inspect/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/string.prototype.trimleft/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/string.prototype.trimright/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array.prototype.map/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/array-union/license \ + chromium/third_party/devtools-frontend/src/node_modules/arrify/license \ + chromium/third_party/devtools-frontend/src/node_modules/asap/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/astral-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/ast-types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/async/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/async-limiter/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/autoprefixer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/code-frame/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/code-frame/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/generator/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/helper-function-name/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/helper-get-function-arity/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/helper-split-export-declaration/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/highlight/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/template/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/traverse/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/convert-source-map/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/resolve/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/safe-buffer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/source-map/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-member-expression-to-functions/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-member-expression-to-functions/node_modules/@babel/types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-imports/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-imports/node_modules/@babel/types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/code-frame/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/helper-split-export-declaration/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/highlight/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/template/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-optimise-call-expression/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-optimise-call-expression/node_modules/@babel/types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/code-frame/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/helper-function-name/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/helper-get-function-arity/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/helper-split-export-declaration/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/highlight/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/template/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/source-map/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/node_modules/@babel/code-frame/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/node_modules/@babel/highlight/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/node_modules/@babel/parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/node_modules/@babel/template/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/node_modules/@babel/types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/code-frame/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/generator/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/helper-function-name/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/helper-get-function-arity/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/helper-split-export-declaration/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/highlight/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/template/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/traverse/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/source-map/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-validator-identifier/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@babel/highlight/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/bail/license \ + chromium/third_party/devtools-frontend/src/node_modules/balanced-match/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/base64-arraybuffer/LICENSE-MIT \ + chromium/third_party/devtools-frontend/src/node_modules/base64id/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/base64-js/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/binary-extensions/license \ + chromium/third_party/devtools-frontend/src/node_modules/bl/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/blob/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/body-parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/body-parser/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/body-parser/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/brace-expansion/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/braces/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/browserslist/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/browser-stdout/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/buffer-crc32/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/buffer-from/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/buffer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/bytes/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/callsites/license \ + chromium/third_party/devtools-frontend/src/node_modules/camelcase-keys/license \ + chromium/third_party/devtools-frontend/src/node_modules/camelcase/license \ + chromium/third_party/devtools-frontend/src/node_modules/caniuse-lite/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ccount/license \ + chromium/third_party/devtools-frontend/src/node_modules/chai/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/chalk/license \ + chromium/third_party/devtools-frontend/src/node_modules/character-entities-html4/license \ + chromium/third_party/devtools-frontend/src/node_modules/character-entities-legacy/license \ + chromium/third_party/devtools-frontend/src/node_modules/character-entities/license \ + chromium/third_party/devtools-frontend/src/node_modules/character-reference-invalid/license \ + chromium/third_party/devtools-frontend/src/node_modules/chardet/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/check-error/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/chokidar/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/chokidar/node_modules/fsevents/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/chokidar/node_modules/readdirp/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/chownr/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/cli-cursor/license \ + chromium/third_party/devtools-frontend/src/node_modules/cliui/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/cliui/node_modules/ansi-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/cliui/node_modules/emoji-regex/LICENSE-MIT.txt \ + chromium/third_party/devtools-frontend/src/node_modules/cliui/node_modules/string-width/license \ + chromium/third_party/devtools-frontend/src/node_modules/cliui/node_modules/strip-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/cli-width/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/clone-regexp/license \ + chromium/third_party/devtools-frontend/src/node_modules/collapse-white-space/license \ + chromium/third_party/devtools-frontend/src/node_modules/color-convert/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/color-name/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/colors/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/commander/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/commondir/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/component-emitter/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/concat-map/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/connect/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/connect/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/connect/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/contains-path/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/content-type/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/cookie/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/cosmiconfig/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/cosmiconfig/node_modules/parse-json/license \ + chromium/third_party/devtools-frontend/src/node_modules/cross-spawn/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/cssesc/LICENSE-MIT.txt \ + chromium/third_party/devtools-frontend/src/node_modules/custom-event/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/date-format/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/debuglog/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/decamelize-keys/license \ + chromium/third_party/devtools-frontend/src/node_modules/decamelize-keys/node_modules/map-obj/license \ + chromium/third_party/devtools-frontend/src/node_modules/decamelize/license \ + chromium/third_party/devtools-frontend/src/node_modules/deep-eql/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/deep-is/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/define-properties/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/depd/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/devtools-protocol/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/dezalgo/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/diff/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/di/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/dir-glob/license \ + chromium/third_party/devtools-frontend/src/node_modules/doctrine/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/doctrine/LICENSE.closure-compiler \ + chromium/third_party/devtools-frontend/src/node_modules/doctrine/LICENSE.esprima \ + chromium/third_party/devtools-frontend/src/node_modules/domelementtype/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/domhandler/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/dom-serializer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/dom-serializer/node_modules/domelementtype/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/dom-serializer/node_modules/entities/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/domutils/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ee-first/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/electron-to-chromium/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/emoji-regex/LICENSE-MIT.txt \ + chromium/third_party/devtools-frontend/src/node_modules/encodeurl/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/end-of-stream/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/engine.io-client/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/engine.io-client/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/engine.io-client/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/engine.io/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/engine.io/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/engine.io/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/engine.io-parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/entities/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ent/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/error-ex/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/es-abstract/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/es-abstract/node_modules/has-symbols/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/es-abstract/node_modules/string.prototype.trimend/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/es-abstract/node_modules/string.prototype.trimstart/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/es-array-method-boxes-properly/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/escape-html/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/escape-string-regexp/license \ + chromium/third_party/devtools-frontend/src/node_modules/escodegen/LICENSE.BSD \ + chromium/third_party/devtools-frontend/src/node_modules/escodegen/node_modules/esprima/LICENSE.BSD \ + chromium/third_party/devtools-frontend/src/node_modules/es-get-iterator/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/es-get-iterator/node_modules/has-symbols/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/es-get-iterator/node_modules/isarray/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-import-resolver-node/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-import-resolver-node/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-import-resolver-node/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-import-resolver-node/node_modules/resolve/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-module-utils/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-module-utils/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-module-utils/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/ansi-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/globals/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/optionator/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/semver/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/strip-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/strip-json-comments/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/memo-parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/doctrine/LICENSE.BSD \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/doctrine/LICENSE.closure-compiler \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/doctrine/LICENSE.esprima \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/find-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/load-json-file/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/locate-path/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/path-exists/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/path-type/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/pify/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/p-limit/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/p-locate/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/p-try/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/read-pkg/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/read-pkg-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/resolve/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-mocha/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-rulesdir/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-scope/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-utils/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/eslint-visitor-keys/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/espree/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/espree/node_modules/acorn/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/esquery/license.txt \ + chromium/third_party/devtools-frontend/src/node_modules/esquery/node_modules/estraverse/LICENSE.BSD \ + chromium/third_party/devtools-frontend/src/node_modules/es-to-primitive/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/estraverse/LICENSE.BSD \ + chromium/third_party/devtools-frontend/src/node_modules/esutils/LICENSE.BSD \ + chromium/third_party/devtools-frontend/src/node_modules/eventemitter3/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/execall/license \ + chromium/third_party/devtools-frontend/src/node_modules/extend/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/external-editor/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/extract-zip/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/fast-deep-equal/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/fast-glob/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/fast-glob/node_modules/picomatch/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/fast-json-stable-stringify/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/fast-levenshtein/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/fastq/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/fd-slicer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/figures/license \ + chromium/third_party/devtools-frontend/src/node_modules/file-entry-cache/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/fill-range/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/finalhandler/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/finalhandler/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/finalhandler/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/find-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/find-up/node_modules/path-exists/license \ + chromium/third_party/devtools-frontend/src/node_modules/flat-cache/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/flat-cache/node_modules/rimraf/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/flat/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/flatted/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/follow-redirects/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/follow-redirects/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/fs-constants/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/fs-extra/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/fs.realpath/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/functional-red-black-tree/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/function-bind/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/gensync/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/get-caller-file/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/get-func-name/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/get-stdin/license \ + chromium/third_party/devtools-frontend/src/node_modules/get-stream/license \ + chromium/third_party/devtools-frontend/src/node_modules/global-modules/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/global-prefix/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/globals/license \ + chromium/third_party/devtools-frontend/src/node_modules/globby/license \ + chromium/third_party/devtools-frontend/src/node_modules/globby/node_modules/ignore/LICENSE-MIT \ + chromium/third_party/devtools-frontend/src/node_modules/globby/node_modules/slash/license \ + chromium/third_party/devtools-frontend/src/node_modules/globjoin/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/glob/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/glob-parent/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/graceful-fs/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/hard-rejection/license \ + chromium/third_party/devtools-frontend/src/node_modules/has-binary2/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/has-flag/license \ + chromium/third_party/devtools-frontend/src/node_modules/has/LICENSE-MIT \ + chromium/third_party/devtools-frontend/src/node_modules/has-symbols/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/he/LICENSE-MIT.txt \ + chromium/third_party/devtools-frontend/src/node_modules/hosted-git-info/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/html-escaper/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/htmlparser2/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/html-tags/license \ + chromium/third_party/devtools-frontend/src/node_modules/http-errors/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/http-errors/node_modules/inherits/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/http-proxy/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/iconv-lite/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ieee754/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ignore/LICENSE-MIT \ + chromium/third_party/devtools-frontend/src/node_modules/import-fresh/license \ + chromium/third_party/devtools-frontend/src/node_modules/import-lazy/license \ + chromium/third_party/devtools-frontend/src/node_modules/indent-string/license \ + chromium/third_party/devtools-frontend/src/node_modules/indexes-of/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/inflight/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/inherits/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ini/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/inquirer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/ansi-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/ansi-styles/license \ + chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/chalk/license \ + chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/color-convert/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/color-name/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/has-flag/license \ + chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/is-fullwidth-code-point/license \ + chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/string-width/license \ + chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/strip-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/supports-color/license \ + chromium/third_party/devtools-frontend/src/node_modules/is-alphabetical/license \ + chromium/third_party/devtools-frontend/src/node_modules/is-alphanumerical/license \ + chromium/third_party/devtools-frontend/src/node_modules/is-alphanumeric/license \ + chromium/third_party/devtools-frontend/src/node_modules/is-arguments/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-arrayish/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/isbinaryfile/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/is-binary-path/license \ + chromium/third_party/devtools-frontend/src/node_modules/is-buffer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-callable/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-date-object/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-decimal/license \ + chromium/third_party/devtools-frontend/src/node_modules/isexe/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-extglob/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-fullwidth-code-point/license \ + chromium/third_party/devtools-frontend/src/node_modules/is-glob/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-hexadecimal/license \ + chromium/third_party/devtools-frontend/src/node_modules/is-map/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-number/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-plain-obj/license \ + chromium/third_party/devtools-frontend/src/node_modules/is-promise/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-regex/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-regex/node_modules/has-symbols/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-regexp/license \ + chromium/third_party/devtools-frontend/src/node_modules/is-set/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-string/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-symbol/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@istanbuljs/schema/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/is-typedarray/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/is-whitespace-character/license \ + chromium/third_party/devtools-frontend/src/node_modules/is-word-character/license \ + chromium/third_party/devtools-frontend/src/node_modules/iterate-iterator/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/iterate-value/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/jest-worker/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/jest-worker/node_modules/supports-color/license \ + chromium/third_party/devtools-frontend/src/node_modules/jsesc/LICENSE-MIT.txt \ + chromium/third_party/devtools-frontend/src/node_modules/json5/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/json5/node_modules/minimist/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/jsonfile/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/json-parse-better-errors/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/json-schema-traverse/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/json-stable-stringify-without-jsonify/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/js-tokens/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/js-yaml/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/js-yaml/node_modules/esprima/LICENSE.BSD \ + chromium/third_party/devtools-frontend/src/node_modules/karma-chai/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-chrome-launcher/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/code-frame/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/generator/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/helper-function-name/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/helper-get-function-arity/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/helper-split-export-declaration/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/highlight/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/template/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/traverse/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/types/node_modules/@babel/helper-validator-identifier/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/has-flag/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-lib-coverage/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-lib-instrument/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-lib-report/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-lib-source-maps/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-lib-source-maps/node_modules/source-map/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-reports/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/make-dir/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/semver/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/source-map/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/supports-color/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma-mocha/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/ansi-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/ansi-styles/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/cliui/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/color-convert/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/color-name/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/find-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/is-fullwidth-code-point/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/locate-path/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/path-exists/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/p-locate/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/rimraf/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/string-width/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/strip-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/wrap-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/yargs/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/yargs-parser/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/karma-sourcemap-loader/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/kind-of/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/known-css-properties/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/leven/license \ + chromium/third_party/devtools-frontend/src/node_modules/levn/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/license-checker/bin/license-checker \ + chromium/third_party/devtools-frontend/src/node_modules/license-checker/lib/license-files.js \ + chromium/third_party/devtools-frontend/src/node_modules/license-checker/lib/license.js \ + chromium/third_party/devtools-frontend/src/node_modules/license-checker/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/license-checker/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/license-checker/node_modules/nopt/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/lines-and-columns/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/locate-path/license \ + chromium/third_party/devtools-frontend/src/node_modules/lodash/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/log4js/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/log-symbols/license \ + chromium/third_party/devtools-frontend/src/node_modules/longest-streak/license \ + chromium/third_party/devtools-frontend/src/node_modules/magic-string/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/map-obj/license \ + chromium/third_party/devtools-frontend/src/node_modules/markdown-escapes/license \ + chromium/third_party/devtools-frontend/src/node_modules/markdown-table/license \ + chromium/third_party/devtools-frontend/src/node_modules/mathml-tag-names/license \ + chromium/third_party/devtools-frontend/src/node_modules/mdast-util-compact/license \ + chromium/third_party/devtools-frontend/src/node_modules/media-typer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/meow/license \ + chromium/third_party/devtools-frontend/src/node_modules/meow/node_modules/camelcase/license \ + chromium/third_party/devtools-frontend/src/node_modules/meow/node_modules/type-fest/license \ + chromium/third_party/devtools-frontend/src/node_modules/meow/node_modules/yargs-parser/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/meow/node_modules/yargs-parser/node_modules/camelcase/license \ + chromium/third_party/devtools-frontend/src/node_modules/merge2/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/merge-stream/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/micromatch/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mime-db/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mime/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mime-types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mimic-fn/license \ + chromium/third_party/devtools-frontend/src/node_modules/minimatch/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/minimist/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/minimist-options/license \ + chromium/third_party/devtools-frontend/src/node_modules/minimist-options/node_modules/arrify/license \ + chromium/third_party/devtools-frontend/src/node_modules/minimist-options/node_modules/is-plain-obj/license \ + chromium/third_party/devtools-frontend/src/node_modules/min-indent/license \ + chromium/third_party/devtools-frontend/src/node_modules/mkdirp-classic/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mkdirp/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mkdirp/node_modules/minimist/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/ansi-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/emoji-regex/LICENSE-MIT.txt \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/glob/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/has-flag/license \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/locate-path/license \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/p-locate/license \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/serialize-javascript/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/string-width/license \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/strip-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/supports-color/license \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/which/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/yargs/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/yargs/node_modules/find-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/mute-stream/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/negotiator/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/nice-try/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@nodelib/fs.scandir/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@nodelib/fs.stat/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@nodelib/fs.walk/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/node-releases/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/normalize-package-data/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/normalize-package-data/node_modules/resolve/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/normalize-path/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/normalize-range/license \ + chromium/third_party/devtools-frontend/src/node_modules/num2fraction/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object.assign/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object-inspect/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object-keys/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object.values/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/es-abstract/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/es-to-primitive/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/has-symbols/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/is-callable/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/is-regex/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/object-inspect/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/string.prototype.trimleft/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/string.prototype.trimright/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/once/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/onetime/license \ + chromium/third_party/devtools-frontend/src/node_modules/on-finished/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/optionator/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/osenv/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/os-homedir/license \ + chromium/third_party/devtools-frontend/src/node_modules/os-tmpdir/license \ + chromium/third_party/devtools-frontend/src/node_modules/parent-module/license \ + chromium/third_party/devtools-frontend/src/node_modules/parse-entities/license \ + chromium/third_party/devtools-frontend/src/node_modules/parse-json/license \ + chromium/third_party/devtools-frontend/src/node_modules/parseqs/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/parseuri/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/parseurl/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/path-exists/license \ + chromium/third_party/devtools-frontend/src/node_modules/path-is-absolute/license \ + chromium/third_party/devtools-frontend/src/node_modules/path-key/license \ + chromium/third_party/devtools-frontend/src/node_modules/path-parse/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/path-type/license \ + chromium/third_party/devtools-frontend/src/node_modules/pathval/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/pend/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/picomatch/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/find-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/locate-path/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/path-exists/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/p-limit/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/p-locate/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/p-try/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-up/node_modules/find-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-up/node_modules/locate-path/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-up/node_modules/p-limit/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-up/node_modules/p-locate/license \ + chromium/third_party/devtools-frontend/src/node_modules/pkg-up/node_modules/p-try/license \ + chromium/third_party/devtools-frontend/src/node_modules/p-limit/license \ + chromium/third_party/devtools-frontend/src/node_modules/p-locate/license \ + chromium/third_party/devtools-frontend/src/node_modules/postcss-html/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/postcss-less/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/postcss/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/postcss/node_modules/supports-color/license \ + chromium/third_party/devtools-frontend/src/node_modules/postcss-reporter/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/postcss-reporter/node_modules/log-symbols/license \ + chromium/third_party/devtools-frontend/src/node_modules/postcss-resolve-nested-selector/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/postcss-safe-parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/postcss-sass/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/postcss-scss/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/postcss-selector-parser/LICENSE-MIT \ + chromium/third_party/devtools-frontend/src/node_modules/postcss-syntax/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/postcss-value-parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/prelude-ls/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/private/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/progress/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/promise.allsettled/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/proxy-from-env/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/p-try/license \ + chromium/third_party/devtools-frontend/src/node_modules/pump/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/punycode/LICENSE-MIT.txt \ + chromium/third_party/devtools-frontend/src/node_modules/puppeteer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/puppeteer/node_modules/pkg-dir/license \ + chromium/third_party/devtools-frontend/src/node_modules/puppeteer/node_modules/ws/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/qs/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/quick-lru/license \ + chromium/third_party/devtools-frontend/src/node_modules/ramda/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/range-parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/raw-body/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/readable-stream/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/readdir-scoped-modules/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/read-installed/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/read-package-json/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/read-pkg/license \ + chromium/third_party/devtools-frontend/src/node_modules/read-pkg/node_modules/parse-json/license \ + chromium/third_party/devtools-frontend/src/node_modules/read-pkg/node_modules/type-fest/license \ + chromium/third_party/devtools-frontend/src/node_modules/read-pkg-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/read-pkg-up/node_modules/find-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/read-pkg-up/node_modules/locate-path/license \ + chromium/third_party/devtools-frontend/src/node_modules/read-pkg-up/node_modules/path-exists/license \ + chromium/third_party/devtools-frontend/src/node_modules/read-pkg-up/node_modules/p-locate/license \ + chromium/third_party/devtools-frontend/src/node_modules/recast/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/recast/node_modules/esprima/LICENSE.BSD \ + chromium/third_party/devtools-frontend/src/node_modules/redent/license \ + chromium/third_party/devtools-frontend/src/node_modules/regexpp/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/repeat-string/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/replace-ext/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/require-directory/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/require-main-filename/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/requires-port/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/resolve-from/license \ + chromium/third_party/devtools-frontend/src/node_modules/resolve/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/restore-cursor/license \ + chromium/third_party/devtools-frontend/src/node_modules/reusify/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/rfdc/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/rimraf/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/rollup/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/rollup/node_modules/fsevents/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@rollup/plugin-commonjs/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/rollup-plugin-terser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@rollup/pluginutils/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@rollup/pluginutils/node_modules/picomatch/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@rollup/pluginutils/node_modules/@types/estree/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/run-async/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/run-parallel/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/rxjs/_esm2015/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/rxjs/_esm5/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/rxjs/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/rxjs/src/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/safe-buffer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/safer-buffer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/semver/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/serialize-javascript/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/set-blocking/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/setprototypeof/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/shebang-command/license \ + chromium/third_party/devtools-frontend/src/node_modules/shebang-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/signal-exit/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/slice-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/slide/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/socket.io-adapter/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/socket.io-client/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/socket.io-client/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/socket.io-client/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/socket.io/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/socket.io/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/socket.io/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/socket.io-parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/socket.io-parser/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/socket.io-parser/node_modules/ms/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/sourcemap-codec/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/source-map/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/source-map-support/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/spdx-compare/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/spdx-correct/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/spdx-expression-parse/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/spdx-ranges/LICENSE.md \ + chromium/third_party/devtools-frontend/src/node_modules/spdx-satisfies/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/specificity/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/sprintf-js/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/state-toggle/license \ + chromium/third_party/devtools-frontend/src/node_modules/statuses/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/streamroller/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/streamroller/node_modules/debug/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string_decoder/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/stringify-entities/license \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/es-abstract/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/es-to-primitive/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/has-symbols/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/is-callable/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/is-regex/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/object-inspect/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/string.prototype.trimleft/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/string.prototype.trimright/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/es-abstract/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/es-to-primitive/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/has-symbols/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/is-callable/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/is-regex/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/object-inspect/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/string.prototype.trimleft/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/string.prototype.trimright/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/string-width/license \ + chromium/third_party/devtools-frontend/src/node_modules/strip-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/strip-bom/license \ + chromium/third_party/devtools-frontend/src/node_modules/strip-indent/license \ + chromium/third_party/devtools-frontend/src/node_modules/strip-json-comments/license \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint-config-recommended/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint-config-standard/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/ansi-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/ansi-styles/license \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/chalk/license \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/color-convert/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/color-name/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/has-flag/license \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/ignore/LICENSE-MIT \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/is-fullwidth-code-point/license \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/log-symbols/license \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/resolve-from/license \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/slash/license \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/string-width/license \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/strip-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/supports-color/license \ + chromium/third_party/devtools-frontend/src/node_modules/@stylelint/postcss-css-in-js/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@stylelint/postcss-markdown/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/style-search/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/sugarss/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/supports-color/license \ + chromium/third_party/devtools-frontend/src/node_modules/svg-tags/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/table/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/table/node_modules/ansi-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/table/node_modules/emoji-regex/LICENSE-MIT.txt \ + chromium/third_party/devtools-frontend/src/node_modules/table/node_modules/string-width/license \ + chromium/third_party/devtools-frontend/src/node_modules/table/node_modules/strip-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/tar-fs/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/tar-stream/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/terser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/text-table/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/through/LICENSE.APACHE2 \ + chromium/third_party/devtools-frontend/src/node_modules/through/LICENSE.MIT \ + chromium/third_party/devtools-frontend/src/node_modules/tmp/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/to-fast-properties/license \ + chromium/third_party/devtools-frontend/src/node_modules/toidentifier/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/to-regex-range/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/treeify/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/trim-newlines/license \ + chromium/third_party/devtools-frontend/src/node_modules/trim-trailing-lines/license \ + chromium/third_party/devtools-frontend/src/node_modules/trough/license \ + chromium/third_party/devtools-frontend/src/node_modules/tslib/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/tsutils/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/type-check/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/typedarray-to-buffer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/type-detect/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/type-fest/license \ + chromium/third_party/devtools-frontend/src/node_modules/type-is/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/chai/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/codemirror/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/color-name/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/eslint-plugin/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/eslint-plugin/node_modules/regexpp/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/eslint-plugin/node_modules/semver/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/experimental-utils/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/parser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/typescript-estree/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/typescript-estree/node_modules/glob/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/typescript-estree/node_modules/semver/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/types/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/visitor-keys/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/typescript/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/@types/eslint-visitor-keys/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/estree/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/filesystem/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/json-schema/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/mocha/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/node/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/normalize-package-data/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/parse-json/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/puppeteer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/tern/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/unist/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/@types/yauzl/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ua-parser-js/license.md \ + chromium/third_party/devtools-frontend/src/node_modules/ultron/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/unbzip2-stream/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/unherit/license \ + chromium/third_party/devtools-frontend/src/node_modules/unified/license \ + chromium/third_party/devtools-frontend/src/node_modules/uniq/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/unist-util-find-all-after/license \ + chromium/third_party/devtools-frontend/src/node_modules/unist-util-is/license \ + chromium/third_party/devtools-frontend/src/node_modules/unist-util-remove-position/license \ + chromium/third_party/devtools-frontend/src/node_modules/unist-util-stringify-position/license \ + chromium/third_party/devtools-frontend/src/node_modules/unist-util-visit/license \ + chromium/third_party/devtools-frontend/src/node_modules/unist-util-visit-parents/license \ + chromium/third_party/devtools-frontend/src/node_modules/universalify/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/unpipe/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/util-deprecate/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/util-extend/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/utils-merge/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/v8-compile-cache/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/validate-npm-package-license/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/vfile/license \ + chromium/third_party/devtools-frontend/src/node_modules/vfile-location/license \ + chromium/third_party/devtools-frontend/src/node_modules/vfile-message/license \ + chromium/third_party/devtools-frontend/src/node_modules/void-elements/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/which/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/which-module/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/wide-align/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/word-wrap/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/wordwrap/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/workerpool/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/ansi-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/emoji-regex/LICENSE-MIT.txt \ + chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/string-width/license \ + chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/strip-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/wrappy/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/write-file-atomic/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/write/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ws/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/ws/node_modules/safe-buffer/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/xmlhttprequest-ssl/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/xtend/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/y18n/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/yaml/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/ansi-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/ansi-styles/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/cliui/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/color-convert/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/color-name/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/find-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/is-fullwidth-code-point/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/locate-path/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/path-exists/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/p-locate/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/string-width/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/strip-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/wrap-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/yargs-parser/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/yargs-parser/LICENSE.txt \ + chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/ansi-regex/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/emoji-regex/LICENSE-MIT.txt \ + chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/find-up/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/locate-path/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/p-locate/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/string-width/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/strip-ansi/license \ + chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/yargs/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/yauzl/LICENSE \ + chromium/third_party/devtools-frontend/src/node_modules/yeast/LICENSE \ + chromium/third_party/devtools-frontend/src/scripts/closure/COPYING \ + chromium/third_party/devtools-frontend/src/third_party/i18n/LICENSE \ + chromium/third_party/devtools-frontend/src/third_party/pyjson5/src/LICENSE \ + chromium/third_party/dom_distiller_js/LICENSE \ + chromium/third_party/dpkg-shlibdeps/LICENSE \ + chromium/third_party/emoji-segmenter/LICENSE \ + chromium/third_party/emoji-segmenter/src/LICENSE \ + chromium/third_party/espresso/LICENSE \ + chromium/third_party/expat/src/expat/COPYING \ + chromium/third_party/ffmpeg/chromium/scripts/license_texts/full_lgpl.txt \ + chromium/third_party/ffmpeg/chromium/scripts/license_texts/jpeg.txt \ + chromium/third_party/ffmpeg/chromium/scripts/license_texts/mips.txt \ + chromium/third_party/ffmpeg/chromium/scripts/license_texts/oggparse_ahlberg_rullgayrd_2005.txt \ + chromium/third_party/ffmpeg/COPYING.GPLv2 \ + chromium/third_party/ffmpeg/COPYING.GPLv3 \ + chromium/third_party/ffmpeg/COPYING.LGPLv2.1 \ + chromium/third_party/ffmpeg/COPYING.LGPLv3 \ + chromium/third_party/ffmpeg/LICENSE.md \ + chromium/third_party/flac/COPYING.FDL \ + chromium/third_party/flac/COPYING.GPL \ + chromium/third_party/flac/COPYING.LGPL \ + chromium/third_party/flac/COPYING.Xiph \ + chromium/third_party/flatbuffers/LICENSE \ + chromium/third_party/flatbuffers/src/dart/LICENSE \ + chromium/third_party/flatbuffers/src/LICENSE.txt \ + chromium/third_party/fontconfig/LICENSE \ + chromium/third_party/fontconfig/src/COPYING \ + chromium/third_party/freetype/src/docs/LICENSE.TXT \ + chromium/third_party/fusejs/LICENSE \ + chromium/third_party/gif_player/LICENSE \ + chromium/third_party/glfw/src/LICENSE.md \ + chromium/third_party/glslang/LICENSE \ + chromium/third_party/glslang/src/license-checker.cfg \ + chromium/third_party/glslang/src/LICENSE.txt \ + chromium/third_party/google-closure-library/closure-deps/LICENSE \ + chromium/third_party/google-closure-library/doc/LICENSE \ + chromium/third_party/google-closure-library/LICENSE \ + chromium/third_party/googletest/src/googlemock/LICENSE \ + chromium/third_party/googletest/src/googlemock/scripts/generator/LICENSE \ + chromium/third_party/googletest/src/googletest/LICENSE \ + chromium/third_party/googletest/src/LICENSE \ + chromium/third_party/google-truth/LICENSE \ + chromium/third_party/guava/LICENSE \ + chromium/third_party/gvr-android-keyboard/LICENSE \ + chromium/third_party/gvr-android-sdk/LICENSE \ + chromium/third_party/hamcrest/LICENSE \ + chromium/third_party/harfbuzz-ng/src/COPYING \ + chromium/third_party/harfbuzz-ng/src/src/ms-use/COPYING \ + chromium/third_party/hunspell/COPYING \ + chromium/third_party/hunspell/COPYING.LESSER \ + chromium/third_party/hunspell/COPYING.MPL \ + chromium/third_party/hyphenation-patterns/LICENSE \ + chromium/third_party/hyphenation-patterns/src/pt/LICENSE \ + chromium/third_party/iaccessible2/LICENSE \ + chromium/third_party/iccjpeg/LICENSE \ + chromium/third_party/icu4j/LICENSE \ + chromium/third_party/icu/LICENSE \ + chromium/third_party/icu/license.html \ + chromium/third_party/icu/scripts/LICENSE \ + chromium/third_party/ijar/LICENSE \ + chromium/third_party/ink/LICENSE \ + chromium/third_party/inspector_protocol/LICENSE \ + chromium/third_party/isimpledom/LICENSE \ + chromium/third_party/jacoco/LICENSE \ + chromium/third_party/javalang/LICENSE \ + chromium/third_party/jetifier_standalone/LICENSE \ + chromium/third_party/jinja2/LICENSE \ + chromium/third_party/jsoncpp/LICENSE \ + chromium/third_party/jsoncpp/source/LICENSE \ + chromium/third_party/jstemplate/COPYING \ + chromium/third_party/khronos/LICENSE \ + chromium/third_party/leveldatabase/src/LICENSE \ + chromium/third_party/libaddressinput/LICENSE \ + chromium/third_party/libaddressinput/src/cpp/LICENSE.chromium \ + chromium/third_party/libaddressinput/src/LICENSE \ + chromium/third_party/libaom/source/libaom/LICENSE \ + chromium/third_party/libaom/source/libaom/third_party/fastfeat/LICENSE \ + chromium/third_party/libaom/source/libaom/third_party/googletest/src/googletest/LICENSE \ + chromium/third_party/libaom/source/libaom/third_party/libwebm/LICENSE.TXT \ + chromium/third_party/libaom/source/libaom/third_party/vector/LICENSE \ + chromium/third_party/libaom/source/libaom/third_party/x86inc/LICENSE \ + chromium/third_party/libavif/LICENSE \ + chromium/third_party/libavif/src/LICENSE \ + chromium/third_party/libbrlapi/LICENSE \ + chromium/third_party/libgav1/src/LICENSE \ + chromium/third_party/libgifcodec/LICENSE.md \ + chromium/third_party/libipp/LICENSE \ + chromium/third_party/libjingle_xmpp/LICENSE \ + chromium/third_party/libjpeg_turbo/LICENSE.md \ + chromium/third_party/libovr/LICENSE \ + chromium/third_party/libpng/LICENSE \ + chromium/third_party/libprotobuf-mutator/src/LICENSE \ + chromium/third_party/libsecret/LICENSE \ + chromium/third_party/libsrtp/LICENSE \ + chromium/third_party/libsync/LICENSE \ + chromium/third_party/libudev/LICENSE \ + chromium/third_party/libusb/src/COPYING \ + chromium/third_party/libvpx/source/libvpx/LICENSE \ + chromium/third_party/libvpx/source/libvpx/third_party/googletest/src/LICENSE \ + chromium/third_party/libvpx/source/libvpx/third_party/libwebm/LICENSE.TXT \ + chromium/third_party/libvpx/source/libvpx/third_party/libyuv/LICENSE \ + chromium/third_party/libvpx/source/libvpx/third_party/x86inc/LICENSE \ + chromium/third_party/libwebm/source/LICENSE.TXT \ + chromium/third_party/libwebp/LICENSE \ + chromium/third_party/libxml/src/Copyright \ + chromium/third_party/libXNVCtrl/LICENSE \ + chromium/third_party/libxslt/src/Copyright \ + chromium/third_party/libyuv/LICENSE \ + chromium/third_party/lottie/LICENSE \ + chromium/third_party/lzma_sdk/LICENSE \ + chromium/third_party/mako/LICENSE \ + chromium/third_party/markupsafe/LICENSE \ + chromium/third_party/material_design_icons/LICENSE \ + chromium/third_party/mesa_headers/LICENSE \ + chromium/third_party/metrics_proto/LICENSE \ + chromium/third_party/microsoft_webauthn/LICENSE \ + chromium/third_party/minigbm/LICENSE \ + chromium/third_party/minigbm/src/LICENSE \ + chromium/third_party/minizip/src/lib/bzip2/LICENSE \ + chromium/third_party/minizip/src/LICENSE \ + chromium/third_party/mocha/LICENSE \ + chromium/third_party/mockito/LICENSE \ + chromium/third_party/modp_b64/LICENSE \ + chromium/third_party/motemplate/LICENSE \ + chromium/third_party/mozilla/LICENSE \ + chromium/third_party/nasm/LICENSE \ + chromium/third_party/nearby/LICENSE \ + chromium/third_party/nearby/src/LICENSE \ + chromium/third_party/netty4/LICENSE \ + chromium/third_party/netty-tcnative/LICENSE \ + chromium/third_party/node/LICENSE \ + chromium/third_party/objenesis/LICENSE \ + chromium/third_party/ocmock/License.txt \ + chromium/third_party/one_euro_filter/LICENSE \ + chromium/third_party/opencv/src/LICENSE \ + chromium/third_party/openh264/src/LICENSE \ + chromium/third_party/openscreen/src/LICENSE \ + chromium/third_party/openscreen/src/third_party/mozilla/LICENSE.txt \ + chromium/third_party/openscreen/src/third_party/tinycbor/src/LICENSE \ + chromium/third_party/opus/src/COPYING \ + chromium/third_party/opus/src/LICENSE_PLEASE_READ.txt \ + chromium/third_party/ots/LICENSE \ + chromium/third_party/ow2_asm/LICENSE \ + chromium/third_party/pdfium/LICENSE \ + chromium/third_party/pdfium/third_party/bigint/LICENSE \ + chromium/third_party/pdfium/third_party/libpng16/LICENSE \ + chromium/third_party/pdfium/third_party/pymock/LICENSE.txt \ + chromium/third_party/perfetto/LICENSE \ + chromium/third_party/perfetto/src/trace_processor/python/LICENSE \ + chromium/third_party/pexpect/LICENSE \ + chromium/third_party/pffft/LICENSE \ + chromium/third_party/ply/LICENSE \ + chromium/third_party/ply/license.patch \ + chromium/third_party/polymer/LICENSE.polymer \ + chromium/third_party/polymer/v1_0/components-chromium/polymer2/LICENSE.txt \ + chromium/third_party/polymer/v3_0/components-chromium/polymer/LICENSE.txt \ + chromium/third_party/private-join-and-compute/src/crypto/LICENSE \ + chromium/third_party/private-join-and-compute/src/LICENSE \ + chromium/third_party/private-join-and-compute/src/util/LICENSE \ + chromium/third_party/private_membership/LICENSE \ + chromium/third_party/proguard/LICENSE \ + chromium/third_party/protobuf/LICENSE \ + chromium/third_party/pycoverage/LICENSE \ + chromium/third_party/pyelftools/elftools/construct/LICENSE \ + chromium/third_party/pyelftools/LICENSE \ + chromium/third_party/pyjson5/src/LICENSE \ + chromium/third_party/pystache/LICENSE \ + chromium/third_party/Python-Markdown/LICENSE.md \ + chromium/third_party/pywebsocket3/src/LICENSE \ + chromium/third_party/qcms/src/COPYING \ + chromium/third_party/quic_trace/src/LICENSE \ + chromium/third_party/quic_trace/src/third_party/fonts/LICENSE \ + chromium/third_party/quic_trace/src/third_party/glew/LICENSE.txt \ + chromium/third_party/qunit/LICENSE \ + chromium/third_party/r8/LICENSE \ + chromium/third_party/re2/LICENSE \ + chromium/third_party/re2/src/LICENSE \ + chromium/third_party/requests/LICENSE \ + chromium/third_party/rnnoise/COPYING \ + chromium/third_party/robolectric/LICENSE \ + chromium/third_party/robolectric/licenses/extreme.indiana.edu.license.txt \ + chromium/third_party/robolectric/licenses/javolution.license.txt \ + chromium/third_party/robolectric/licenses/pivotal.labs.license.txt \ + chromium/third_party/s2cellid/LICENSE \ + chromium/third_party/schema_org/LICENSE \ + chromium/third_party/securemessage/LICENSE \ + chromium/third_party/securemessage/src/LICENSE \ + chromium/third_party/shaderc/src/kokoro/linux/license_check_docker.sh \ + chromium/third_party/shaderc/src/kokoro/linux/license_check.sh \ + chromium/third_party/shaderc/src/LICENSE \ + chromium/third_party/shaderc/src/license-checker.cfg \ + chromium/third_party/shaderc/src/third_party/LICENSE.glslang \ + chromium/third_party/shaderc/src/third_party/LICENSE.spirv-tools \ + chromium/third_party/shaka-player/LICENSE \ + chromium/third_party/shell-encryption/src/glog/LICENSE \ + chromium/third_party/shell-encryption/src/LICENSE \ + chromium/third_party/shell-encryption/src/prng/LICENSE \ + chromium/third_party/shell-encryption/src/testing/LICENSE \ + chromium/third_party/simplejson/LICENSE.txt \ + chromium/third_party/sinonjs/LICENSE \ + chromium/third_party/six/LICENSE \ + chromium/third_party/six/src/LICENSE \ + chromium/third_party/skia/include/third_party/skcms/LICENSE \ + chromium/third_party/skia/include/third_party/vulkan/LICENSE \ + chromium/third_party/skia/LICENSE \ + chromium/third_party/skia/modules/canvaskit/canvaskit/LICENSE \ + chromium/third_party/skia/modules/pathkit/npm-asmjs/LICENSE \ + chromium/third_party/skia/modules/pathkit/npm-wasm/LICENSE \ + chromium/third_party/skia/third_party/etc1/LICENSE \ + chromium/third_party/skia/third_party/skcms/LICENSE \ + chromium/third_party/skia/third_party/vulkanmemoryallocator/include/LICENSE.txt \ + chromium/third_party/skia/third_party/vulkanmemoryallocator/LICENSE \ + chromium/third_party/skia/third_party/wuffs/LICENSE \ + chromium/third_party/smhasher/LICENSE \ + chromium/third_party/snappy/src/COPYING \ + chromium/third_party/spirv-cross/spirv-cross/LICENSE \ + chromium/third_party/spirv-headers/LICENSE \ + chromium/third_party/spirv-headers/src/LICENSE \ + chromium/third_party/SPIRV-Tools/LICENSE \ + chromium/third_party/SPIRV-Tools/src/LICENSE \ + chromium/third_party/SPIRV-Tools/src/utils/vscode/src/lsp/LICENSE \ + chromium/third_party/sqlite4java/LICENSE \ + chromium/third_party/sqlite/LICENSE \ + chromium/third_party/sqlite/src/autoconf/tea/license.terms \ + chromium/third_party/sqlite/src/LICENSE.md \ + chromium/third_party/subresource-filter-ruleset/LICENSE \ + chromium/third_party/sudden_motion_sensor/LICENSE \ + chromium/third_party/swiftshader/LICENSE.txt \ + chromium/third_party/tcmalloc/LICENSE \ + chromium/third_party/tcmalloc/vendor/COPYING \ + chromium/third_party/test_fonts/LICENSE \ + chromium/third_party/text-fragments-polyfill/LICENSE \ + chromium/third_party/tint/LICENSE \ + chromium/third_party/tint/src/LICENSE \ + chromium/third_party/tlslite/LICENSE \ + chromium/third_party/turbine/LICENSE \ + chromium/third_party/ub-uiautomator/LICENSE \ + chromium/third_party/ukey2/LICENSE \ + chromium/third_party/ukey2/src/LICENSE \ + chromium/third_party/unrar/LICENSE \ + chromium/third_party/unrar/src/license.txt \ + chromium/third_party/usb_ids/LICENSE \ + chromium/third_party/usrsctp/LICENSE \ + chromium/third_party/usrsctp/usrsctplib/LICENSE.md \ + chromium/third_party/v4l-utils/COPYING.libv4l \ + chromium/third_party/vulkan_headers/LICENSE.txt \ + chromium/third_party/vulkan_memory_allocator/LICENSE.txt \ + chromium/third_party/vulkan_memory_allocator/premake/LICENSE.txt \ + chromium/third_party/wds/LICENSE \ + chromium/third_party/wds/src/COPYING \ + chromium/third_party/web-animations-js/LICENSE \ + chromium/third_party/web-animations-js/sources/COPYING \ + chromium/third_party/webdriver/COPYING \ + chromium/third_party/webdriver/LICENSE \ + chromium/third_party/webgpu-cts/src/LICENSE.txt \ + chromium/third_party/webgpu-cts/src/standalone/third_party/jquery/LICENSE.txt \ + chromium/third_party/webpagereplay/LICENSE \ + chromium/third_party/webrtc/common_audio/third_party/ooura/LICENSE \ + chromium/third_party/webrtc/common_audio/third_party/spl_sqrt_floor/LICENSE \ + chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE \ + chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE.md \ + chromium/third_party/webrtc/examples/objc/AppRTCMobile/third_party/SocketRocket/LICENSE \ + chromium/third_party/webrtc/LICENSE \ + chromium/third_party/webrtc/license_template.txt \ + chromium/third_party/webrtc/modules/third_party/fft/LICENSE \ + chromium/third_party/webrtc/modules/third_party/g711/LICENSE \ + chromium/third_party/webrtc/modules/third_party/g722/LICENSE \ + chromium/third_party/webrtc/modules/third_party/portaudio/LICENSE \ + chromium/third_party/webrtc/rtc_base/third_party/base64/LICENSE \ + chromium/third_party/webrtc/rtc_base/third_party/sigslot/LICENSE \ + chromium/third_party/webxr_test_pages/LICENSE \ + chromium/third_party/webxr_test_pages/webxr-samples/js/cottontail/LICENSE.md \ + chromium/third_party/webxr_test_pages/webxr-samples/js/third-party/dat.gui/LICENSE \ + chromium/third_party/webxr_test_pages/webxr-samples/js/third-party/gl-matrix/LICENSE \ + chromium/third_party/webxr_test_pages/webxr-samples/LICENSE.md \ + chromium/third_party/weston/LICENSE \ + chromium/third_party/weston/src/COPYING \ + chromium/third_party/weston/src/data/COPYING \ + chromium/third_party/widevine/LICENSE \ + chromium/third_party/woff2/LICENSE \ + chromium/third_party/wuffs/LICENSE \ + chromium/third_party/wuffs/src/LICENSE \ + chromium/third_party/xcbproto/src/COPYING \ + chromium/third_party/xdg-utils/LICENSE \ + chromium/third_party/xstream/LICENSE \ + chromium/third_party/zlib/LICENSE \ + chromium/third_party/zxcvbn-cpp/LICENSE.txt \ + chromium/tools/grit/third_party/six/LICENSE \ + chromium/tools/origin_trials/third_party/ed25519/LICENSE \ + chromium/tools/page_cycler/acid3/LICENSE \ + chromium/tools/win/ChromeDebug/ChromeDebug/LICENSE \ + chromium/url/third_party/mozilla/LICENSE.txt \ + chromium/v8/LICENSE \ + chromium/v8/LICENSE.fdlibm \ + chromium/v8/LICENSE.strongtalk \ + chromium/v8/LICENSE.v8 \ + chromium/v8/src/third_party/siphash/LICENSE \ + chromium/v8/src/third_party/utf8-decoder/LICENSE \ + chromium/v8/src/third_party/valgrind/LICENSE \ + chromium/v8/src/third_party/vtune/LICENSE \ + chromium/v8/third_party/colorama/LICENSE \ + chromium/v8/third_party/inspector_protocol/LICENSE \ + chromium/v8/third_party/jsoncpp/LICENSE \ + chromium/v8/third_party/v8/builtins/LICENSE \ + chromium/v8/third_party/wasm-api/LICENSE \ + gn/base/third_party/icu/LICENSE \ + gn/LICENSE \ + ninja/COPYING \ diff --git a/package/qt5/qt5webengine-chromium/qt5webengine-chromium.hash b/package/qt5/qt5webengine-chromium/qt5webengine-chromium.hash new file mode 100644 index 000000000..103e27d88 --- /dev/null +++ b/package/qt5/qt5webengine-chromium/qt5webengine-chromium.hash @@ -0,0 +1,1256 @@ +# Locally calculated +sha256 14c0654d046fd1faf0204b79e33c091012a8f4df972777e5691875aa75d29a65 qtwebengine-chromium-0ad2814370799a2161057d92231fe3ee00e2fe98.tar.bz2 + +# Locally calculated with: +# for i in $(find * -type f \( -iname 'license*' -o -iname 'copying*' -o -name 'APPLE_LICENSE' -o -name 'Copyright' -o -path '*/license_texts/*' -o -path '*/licenses/*' \) -a -not -name '*.cc' -not -name '*.py' -not -name '*.pyc' -not -name '*.h' -not -name 'LICENSE.sha1' -not -name 'licensecheck.pl*' -not -name 'license.after' -not -name 'license.before' -not -path 'chromium/third_party/catapult/*') ; do echo -n "sha256 " ; sha256sum $i ; done | sort --key=3 +sha256 3ed00dd93c75655599456c83cba2f69c6824fd53f24fc24206ba27b65057709d chromium/base/third_party/cityhash/COPYING +sha256 4af93c12062c58058378de2397dc1c92bbff9ddfb1d583a01c84127557ce97ca chromium/base/third_party/double_conversion/LICENSE +sha256 96e7ccbf8d17e319dd77c4ebd4965b64a820bbcc3142a2478fbf95af77417b6a chromium/base/third_party/dynamic_annotations/LICENSE +sha256 5d85142a5609ad177a2d7a2e7cae060b886b8b42f25c5b9803cf0cb5ee04ad2f chromium/base/third_party/icu/LICENSE +sha256 9ad1d4223b80349f3d3ab9cec92f93431b9da14a1b5d41de468ce054a28cf8aa chromium/base/third_party/libevent/LICENSE +sha256 d55a403514532af12dc2fbfb2e41900090a5dd6c7c76c8e4d9b20bcc737eac35 chromium/base/third_party/nspr/LICENSE +sha256 90b2201c340cee36b40a443f949d9eb416f0a0d204c32d350aff87fedeb67ae8 chromium/base/third_party/superfasthash/LICENSE +sha256 538edc6f52c563cf06eca1bac8dd785ff60ef5a371a950265700d5d40386db6e chromium/base/third_party/symbolize/LICENSE +sha256 79955cd80438f041387eb080f2675394e36a806b8b17eca63a4bc568d839509e chromium/base/third_party/valgrind/LICENSE +sha256 c45766baef552c59eeb1fdfbbc690e52e4cd5b135dfd325f21bdfe8ddfe28ce6 chromium/base/third_party/xdg_mime/LICENSE +sha256 18351de3d7e2dc469cc83e77d38a3e25d010251e34eb348bbd1a76275e313997 chromium/base/third_party/xdg_user_dirs/LICENSE +sha256 7a209dd1b94cabdb5ea9c6f9164b9546ffa5daaa671e7767d49510db055f5c51 chromium/buildtools/LICENSE +sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 chromium/LICENSE +sha256 212c5a071f61512786b5e5840b3d70c85e017f3f82939ad4d4a870fc48b33477 chromium/LICENSE.chromium_os +sha256 7a209dd1b94cabdb5ea9c6f9164b9546ffa5daaa671e7767d49510db055f5c51 chromium/mojo/public/LICENSE +sha256 bed70fc84f1bea2b4b144564b9a0f9a5a3bc7b0d78f6e62092aeb689cac56bdd chromium/net/third_party/mozilla_security_manager/LICENSE +sha256 a20c1a32d1f8102432360b42e932869f7c11c7cdbacf9cac554c422132af47f4 chromium/net/third_party/nss/LICENSE +sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 chromium/net/third_party/quiche/src/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/net/third_party/uri_template/LICENSE +sha256 834ee20e8fc3235722ed801bae30cc539c2775be656ff9cc2810fe674e53d5ec chromium/ppapi/LICENSE +sha256 c79a7fea0e3cac04cd43f20e7b648e5a0ff8fa5344e644b0ee09ca1162b62747 chromium/third_party/abseil-cpp/LICENSE +sha256 bf4da21bd20bcfb5b60b7ecc67fa864a79be049e21d6178076887f178dd6c71a chromium/third_party/angle/LICENSE +sha256 3f6f1b520bc53e878ccbb698ad0bacef3752a5f4e4b50a26552bd70f60b40748 chromium/third_party/angle/src/common/third_party/smhasher/LICENSE +sha256 86ec6953794503942b70fcd4f35b565d44f63f703b7037ce44dad965c4aaae91 chromium/third_party/angle/src/common/third_party/xxhash/LICENSE +sha256 09a7c3fbc0b4ae6a9ccc4ffdcbfa511c14b8647a24f24783838862cf6c226d4e chromium/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/third_party/ffx_spd/LICENSE +sha256 a08ba10adec47027ef8078848729837b1c5a42f140718d7afd65c23f1eeec392 chromium/third_party/angle/src/third_party/compiler/LICENSE +sha256 31346421254a3e6e12687cf17f19f6357ee73a617fa7b3d3ccefdcbabe49bdd3 chromium/third_party/angle/src/third_party/libXNVCtrl/LICENSE +sha256 336f505f8d5aa73ea40b4d798dde86953e9c1f6525757f1d7f18120fea09bb1d chromium/third_party/angle/src/third_party/volk/LICENSE.md +sha256 837402bd25fad9b704265801ca3f92566a98157c1f9a7acd6f446299ba1c305a chromium/third_party/angle/third_party/rapidjson/src/bin/jsonschema/LICENSE +sha256 394faaedb93c1da8ecbd61322518834908fee64381117e01a611bf9fac20baa6 chromium/third_party/angle/third_party/rapidjson/src/contrib/natvis/LICENSE +sha256 a140e5d46fe734a1c78f1a3c3ef207871dd75648be71fdda8e309b23ab8b1f32 chromium/third_party/angle/third_party/rapidjson/src/license.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/angle/third_party/vulkan-headers/src/LICENSE.txt +sha256 43c0a37e6a0fa7ff3c843b3ec5a4fac84b712558ddac103fbd4c1649662a9ece chromium/third_party/angle/third_party/vulkan-loader/src/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/angle/third_party/vulkan-tools/src/LICENSE.txt +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 chromium/third_party/angle/tools/flex-bison/third_party/m4sugar/LICENSE +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 chromium/third_party/angle/tools/flex-bison/third_party/skeletons/LICENSE +sha256 bfec18debedcb337f8af53f143ccf0b1575d0b7c30deaee137f10397eca0d353 chromium/third_party/angle/util/windows/third_party/StackWalker/LICENSE +sha256 b23e682fda7310afe43505ed6041919ccff8f9e0c6799ebd7542cbcef11102e3 chromium/third_party/apple_apsl/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/arcore-android-sdk-client/LICENSE +sha256 584e795ba5833279c327245594d6dc216fc664144fa3626a0bdf136bc00af76c chromium/third_party/arcore-android-sdk/LICENSE +sha256 af175b9d96ee93c21a036152e1b905b0b95304d4ae8c2c921c7609100ba8df7e chromium/third_party/axe-core/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/bazel/LICENSE +sha256 0518cf49c09398259d54fcfff0b5fd36456162c6439886660e53627b3073ef22 chromium/third_party/blanketjs/LICENSE +sha256 a661d10f8f194b1963a75bb4d308f17b078cc064624313a556902d89705f6876 chromium/third_party/blink/LICENSE_FOR_ABOUT_CREDITS +sha256 0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4 chromium/third_party/blink/renderer/core/LICENSE-APPLE +sha256 7555fa34bc131a75ca56d65c40cc1ea8f9515d23e353d4c15d58573a042f7805 chromium/third_party/blink/renderer/core/LICENSE-LGPL-2 +sha256 f2b3bd09663381deb99721109d22b47af1213bb43007a8b56a06c6375c8050ce chromium/third_party/blink/renderer/core/LICENSE-LGPL-2.1 +sha256 6a73f9541c2de74158c0e7cf6b0a58ef774f5a780bf191f2d7ec9cc53efe2bf2 chromium/third_party/blink/renderer/platform/testing/data/third_party/Noto/LICENSE_OFL.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/blink/renderer/platform/testing/data/third_party/Roboto/LICENSE.txt +sha256 5a7b465d39b5e018bc40cc34162176269f7c476989cb4dbcf0ec0b81701545a7 chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/LICENSE.md +sha256 878329f0bd878ad015129ce8bda82f481e86ec2e80831e909c0d67171d922e73 chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/atomicwrites/LICENSE +sha256 88ec6a6c8eafa3b9757e745783938bef3f5e4d5e3c76b1db576aa3ab520e5e1d chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/enum/enum/LICENSE +sha256 663f9253e13519b82ab4a6b1caab6bed05aada70517f28cd0254be8a9fa19ed6 chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/h2/LICENSE +sha256 763a9342a04df62046c9dc748a5287934eb0a5331c6863b3ca0aee20e18cb4ed chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/hpack/LICENSE +sha256 16a39991619e92f18680932da2a9199fdf7d95df3ecaedc52ea06218aabafd6f chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/html5lib/LICENSE +sha256 763a9342a04df62046c9dc748a5287934eb0a5331c6863b3ca0aee20e18cb4ed chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/hyperframe/LICENSE +sha256 b7529b8c07171a78a8c36c3283905528e4812945d977d125eb926e8ccbf245b6 chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/six/LICENSE +sha256 60bd7c54856bf9387221bde5ab55d516d7cea15870d0fed69406bcd1c8ec7c9d chromium/third_party/boringssl/src/LICENSE +sha256 0c125a4dab5ab869473e6491db22f6c0a7f8a4de58588d03bb2b16c0c8ebd7de chromium/third_party/boringssl/src/third_party/fiat/LICENSE +sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 chromium/third_party/boringssl/src/third_party/googletest/LICENSE +sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd chromium/third_party/boringssl/src/third_party/wycheproof_testvectors/LICENSE +sha256 5740985669353ef52e0f320413ff68dc62b6c23a596cd78b6d6b80764f1c50ab chromium/third_party/bouncycastle/LICENSE +sha256 8d5d1311342ed55b486d778a6763f54a26002698ac0cbab64026b98033300dfd chromium/third_party/breakpad/breakpad/LICENSE +sha256 4d03f91b94e0db3bdc9ddaf0060dd41cc94a2096094fbc1417713a2f059658c7 chromium/third_party/breakpad/breakpad/src/third_party/curl/COPYING +sha256 d8eaba95b8d03c5912da9b5823de2c920e84a993133039a22fc8100f9edb33a1 chromium/third_party/breakpad/breakpad/src/third_party/libdisasm/LICENSE +sha256 015b2d5cedb3024339446a63963d073fa831544cf253c5ddd713fccc8d83e939 chromium/third_party/breakpad/LICENSE +sha256 3d180008e36922a4e8daec11c34c7af264fed5962d07924aea928c38e8663c94 chromium/third_party/brotli/LICENSE +sha256 98f8746a39f9a42da35df7046a15b56d0e2f4f76eefc352d67f1bf76e85360b4 chromium/third_party/bspatch/LICENSE +sha256 b5730da9a26472a405b0b1c61d3d166714d9d654ab3282e54e4a01a5f66316c3 chromium/third_party/byte_buddy/LICENSE +sha256 ef5b39dfcafe08323262e3f51a3a9de649978a55ed8ef8eef3c451f2c1e78a53 chromium/third_party/ced/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/ced/src/LICENSE +sha256 3d1d2669d0ba87069b5e202f106193c4eb0e140a2aead31dca9670a0581dd979 chromium/third_party/chaijs/LICENSE +sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 chromium/third_party/checkstyle/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/checkstyle/LICENSE.apache20 +sha256 c2d13ec3b431617beb314705c0f42d17ca579eed00032ed8a13dbcd23fc9bdd5 chromium/third_party/cld_3/LICENSE +sha256 c2d13ec3b431617beb314705c0f42d17ca579eed00032ed8a13dbcd23fc9bdd5 chromium/third_party/cld_3/src/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/closure_compiler/compiler/COPYING +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/closure_compiler/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/crashpad/crashpad/LICENSE +sha256 212846e0145aa50fb3a5aef254a370311a93acf6c1e792e47e0068d64c8c3885 chromium/third_party/crashpad/crashpad/third_party/apple_cf/APPLE_LICENSE +sha256 4b45cbe16d7b71b89ae6127e26e0d90a029198ca5e958ad8e3d0b8bbed364d8b chromium/third_party/crashpad/crashpad/third_party/cpp-httplib/cpp-httplib/LICENSE +sha256 f40ee07401827b6ac9cf0aee1aaffb00e42a3f2c729f9c83f96a3daafef5d944 chromium/third_party/crashpad/crashpad/third_party/getopt/LICENSE +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 chromium/third_party/crashpad/crashpad/third_party/glibc/COPYING.LIB +sha256 e5881019d8766c1e88a5fe1dbca4ba40c78011d41fcb18f6e9f50df60182685b chromium/third_party/crashpad/crashpad/third_party/xnu/APPLE_LICENSE +sha256 a1f30b77c01e0995fa32a00119e00749e8731ee8a3c4c3549bce74083c72b0b6 chromium/third_party/crc32c/src/LICENSE +sha256 e9427cf6abc4eaeda0bcd094fca46af4067970079f426b65d5cbacb87bff6366 chromium/third_party/cros_system_api/LICENSE +sha256 7a3cb0e5055874e67db9aa2d5fe26de23204fa994ffbad198901ffe9c812a717 chromium/third_party/d3/src/LICENSE +sha256 b327887de263238deaa80c34cdd2ff3e0ba1d35db585ce14a37ce3e74ee389e9 chromium/third_party/dav1d/libdav1d/COPYING +sha256 2da4494d2a8b5c742afbb905b10621e40129284c977ac138e3081ed0d9d83aed chromium/third_party/dav1d/LICENSE +sha256 b77e952e3feaebd807d27784988b19fb60f83f9fc9a0c03e6aedbbffd5d6f8ee chromium/third_party/dawn/LICENSE +sha256 43452b94e6aa0c2d076ad25b87f580c11571689d52f3aa1a1f7bdcab31a0bd15 chromium/third_party/decklink/LICENSE +sha256 5a2ed53cc5975569e9fa146c4245eaf53377dc1a88bdcb923da6487e53cba55e chromium/third_party/devscripts/COPYING +sha256 13110d66c514a7890c4b388a353bc08fa094fe13d5ed7f3a222cc0a0caa3fd17 chromium/third_party/devtools-frontend/src/front_end/cm_modes/LICENSE +sha256 9fea307fe830918e12b6822f943f4b59bd7715614efb68e834a141ca758bd5f2 chromium/third_party/devtools-frontend/src/front_end/dagre_layout/LICENSE +sha256 f734f7708439c275f3599e2df7de84cd9f360bd13620a30ab376af6c9deb213b chromium/third_party/devtools-frontend/src/front_end/sdk/wasm_source_map/LICENSES.deps +sha256 bdab450fad7ee5d78d9a02d840983f4bccf525a6ded619e1a8fc3e2044256626 chromium/third_party/devtools-frontend/src/front_end/third_party/acorn/LICENSE +sha256 a1930df5d7444dc71fb103d9c58768de1c2c13b96a83e58b7ed6b2eee6621744 chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-logical-assignment/LICENSE +sha256 a1930df5d7444dc71fb103d9c58768de1c2c13b96a83e58b7ed6b2eee6621744 chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-logical-assignment/package/LICENSE +sha256 bdab450fad7ee5d78d9a02d840983f4bccf525a6ded619e1a8fc3e2044256626 chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-loose/LICENSE +sha256 7cdb44aabddbdd78998119d68a39c87424119b663945c79891fc1b022301824c chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-loose/package/LICENSE +sha256 e56a1e867a6ebc064c9d027e022ae15d1878b32f9e546b2373cdb591788cd3fe chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-numeric-separator/LICENSE +sha256 e56a1e867a6ebc064c9d027e022ae15d1878b32f9e546b2373cdb591788cd3fe chromium/third_party/devtools-frontend/src/front_end/third_party/acorn-numeric-separator/package/LICENSE +sha256 7cdb44aabddbdd78998119d68a39c87424119b663945c79891fc1b022301824c chromium/third_party/devtools-frontend/src/front_end/third_party/acorn/package/LICENSE +sha256 af175b9d96ee93c21a036152e1b905b0b95304d4ae8c2c921c7609100ba8df7e chromium/third_party/devtools-frontend/src/front_end/third_party/axe-core/LICENSE +sha256 298d10e24bcd783b150fc07cd64ad175f5084f3615ba0e7c579aa95c55f22eac chromium/third_party/devtools-frontend/src/front_end/third_party/codemirror/LICENSE +sha256 a3f2fe2ac6b471aa80c737c5d283dd049bdc903a73835ee6d4d2cac02fdd53bf chromium/third_party/devtools-frontend/src/front_end/third_party/codemirror/package/LICENSE +sha256 b60e9b66bf4f9ab3aa5d1d20b18410a632fd624cf4ce3aa1eb839087caf35958 chromium/third_party/devtools-frontend/src/front_end/third_party/fabricjs/LICENSE +sha256 7ec9661a8afafab1eee3523d6f1a193eff76314a5ab10b4ce96aefd87621b0c3 chromium/third_party/devtools-frontend/src/front_end/third_party/i18n/LICENSE +sha256 0212e9ffd60f4c2e05426ac172b91266256b9ff4c0f0156e85b761a1d6f5e17f chromium/third_party/devtools-frontend/src/front_end/third_party/intl-messageformat/LICENSE +sha256 fdd0dd22e95c4c8634fe28674547e55e6dad144433ca09493e59ed0f95902f10 chromium/third_party/devtools-frontend/src/front_end/third_party/intl-messageformat/package/LICENSE +sha256 7ec9661a8afafab1eee3523d6f1a193eff76314a5ab10b4ce96aefd87621b0c3 chromium/third_party/devtools-frontend/src/front_end/third_party/lighthouse/LICENSE +sha256 55efdea1a9fe503ed3cd89c2776d3d2131795defaebea421754b428333fbfba3 chromium/third_party/devtools-frontend/src/front_end/third_party/lit-html/LICENSE +sha256 1a5ae5ab221af81b68f4f4c156c0d2e044851272c5e2e6c07d685946557878ea chromium/third_party/devtools-frontend/src/front_end/third_party/lit-html/package/LICENSE +sha256 1b3235c9a9833dee5fcce1ac27d76157584dce78f1ca846bf217439323080234 chromium/third_party/devtools-frontend/src/front_end/third_party/lodash-isequal/LICENSE +sha256 e159c6d48c989185448658f276375bfb2300362ec6d4ae5525a2d49c4bcb947d chromium/third_party/devtools-frontend/src/front_end/third_party/lodash-isequal/package/LICENSE +sha256 91968bf678e8c3d94ebf8596e98ca9cb5fca1c6555b53f721a940cb50f1b3d66 chromium/third_party/devtools-frontend/src/front_end/third_party/marked/LICENSE +sha256 f6b8d4d6f4aff1b6744730b6943ac6e8b96315954e436f032cfaa5cbdcb07ff3 chromium/third_party/devtools-frontend/src/front_end/third_party/marked/package/LICENSE.md +sha256 a1e4522979cd422b42d0b464072eb7d0d218651659f56bf09f8c147384e3f105 chromium/third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/LICENSE +sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 chromium/third_party/devtools-frontend/src/front_end/third_party/wasmparser/LICENSE +sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 chromium/third_party/devtools-frontend/src/front_end/third_party/wasmparser/package/LICENSE +sha256 7a209dd1b94cabdb5ea9c6f9164b9546ffa5daaa671e7767d49510db055f5c51 chromium/third_party/devtools-frontend/src/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/abbrev/LICENSE +sha256 71f83c4c0621102a56d9853812777b85751bce7e9726f686f5b056c1f8a4b0e6 chromium/third_party/devtools-frontend/src/node_modules/accepts/LICENSE +sha256 cfa72b62b9ae173078823a3796b25c027a9071046a263beddf966df67018ce06 chromium/third_party/devtools-frontend/src/node_modules/acorn-jsx/LICENSE +sha256 e85e131fa4ed25538ff1f4962ced1fb6f68b079bd9164a790597a0f30b8fd030 chromium/third_party/devtools-frontend/src/node_modules/ajv/LICENSE +sha256 94e1923e52409cfd50e97988d9772c0de15f65700097e3227fec367a39e82b94 chromium/third_party/devtools-frontend/src/node_modules/ansi-colors/LICENSE +sha256 5c932d88256b4ab958f64a856fa48e8bd1f55bc1d96b8149c65689e0c61789d3 chromium/third_party/devtools-frontend/src/node_modules/ansi-escapes/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/ansi-escapes/node_modules/type-fest/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/ansi-regex/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/ansi-styles/license +sha256 5a3b0007c4203f10fe11b3fe8747253eb994f135e10b73e1f88ada941af09c6e chromium/third_party/devtools-frontend/src/node_modules/anymatch/LICENSE +sha256 c8442419dc614089ea022b3da6bfc089b41a58fb7b9030d1e651f2f36189dce2 chromium/third_party/devtools-frontend/src/node_modules/argparse/LICENSE +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/array-find-index/license +sha256 00d402c2bbe7c67369bd01ce2c16b8ed46ccc949a1ee2d6bb8f9606afa8c7434 chromium/third_party/devtools-frontend/src/node_modules/array-includes/LICENSE +sha256 00d402c2bbe7c67369bd01ce2c16b8ed46ccc949a1ee2d6bb8f9606afa8c7434 chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/es-abstract/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/es-to-primitive/LICENSE +sha256 206c1adcf206dc0031b11232f5b054ec5f1662407ab1ca415247921cab2068ab chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/has-symbols/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/is-callable/LICENSE +sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/is-regex/LICENSE +sha256 bd40cc437e28a3ad7bef2ad34e6b72e757b182e67bda1acadbab4ef0476f8232 chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/object-inspect/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/string.prototype.trimleft/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/array-includes/node_modules/string.prototype.trimright/LICENSE +sha256 567b1f5e84afcfc97685f3c7fce4c7502e1ac7a91e79cf10980ecd6a9ad38583 chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/LICENSE +sha256 00d402c2bbe7c67369bd01ce2c16b8ed46ccc949a1ee2d6bb8f9606afa8c7434 chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/es-abstract/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/es-to-primitive/LICENSE +sha256 206c1adcf206dc0031b11232f5b054ec5f1662407ab1ca415247921cab2068ab chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/has-symbols/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/is-callable/LICENSE +sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/is-regex/LICENSE +sha256 bd40cc437e28a3ad7bef2ad34e6b72e757b182e67bda1acadbab4ef0476f8232 chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/object-inspect/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/string.prototype.trimleft/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/array.prototype.flat/node_modules/string.prototype.trimright/LICENSE +sha256 cfc3f455254c0af0655cc3ff46a41ed644b67599f6043346169d285bf2b3cf3b chromium/third_party/devtools-frontend/src/node_modules/array.prototype.map/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/array-union/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/arrify/license +sha256 e80373b1ed0f33cecc47173b4b0c6afe0d0318b32dbd84116a1a957e3f7f43a8 chromium/third_party/devtools-frontend/src/node_modules/asap/LICENSE.md +sha256 69dee148a2cc470554dfa7142e830662062394d0fe67cddd379aba90dc60d6b3 chromium/third_party/devtools-frontend/src/node_modules/astral-regex/license +sha256 a374b737c41b30b1ec04c5fcc17d1b853f008f217cc43a9dbea441abd9afde70 chromium/third_party/devtools-frontend/src/node_modules/ast-types/LICENSE +sha256 d9fed24f132985934fca621c4dc1dfb53e03377a24d0568d424383d7eaa9c0ac chromium/third_party/devtools-frontend/src/node_modules/async/LICENSE +sha256 e5a57cdd72e279910183799153134d0e749a5664fc459c8eacbecf72532b7db3 chromium/third_party/devtools-frontend/src/node_modules/async-limiter/LICENSE +sha256 c4630ac8b89cb317ac5bdd60ac5e4e185eab9bd5151a0c7b3afa41aa83d7ec9b chromium/third_party/devtools-frontend/src/node_modules/autoprefixer/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/code-frame/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/core/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/code-frame/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/generator/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/helper-function-name/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/helper-get-function-arity/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/helper-split-export-declaration/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/highlight/LICENSE +sha256 2e97627cb278aa7556fb9e8817368302301a595b6c7582512b8d74c57b773652 chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/parser/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/template/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/traverse/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/@babel/types/LICENSE +sha256 1fa6ee8bb95a81ae3d73a5bd074a3ac380ffec13697051063ca1a601921b91db chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/convert-source-map/LICENSE +sha256 60acd7711e6c138e6041836e32d922705254cc1568a30fdf16aa8f59bb87aeaa chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/resolve/LICENSE +sha256 c7cc929b57080f4b9d0c6cf57669f0463fc5b39906344dfc8d3bc43426b30eac chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/safe-buffer/LICENSE +sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd chromium/third_party/devtools-frontend/src/node_modules/@babel/core/node_modules/source-map/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-member-expression-to-functions/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-member-expression-to-functions/node_modules/@babel/types/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-imports/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-imports/node_modules/@babel/types/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/code-frame/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/helper-split-export-declaration/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/highlight/LICENSE +sha256 2e97627cb278aa7556fb9e8817368302301a595b6c7582512b8d74c57b773652 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/parser/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/template/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-module-transforms/node_modules/@babel/types/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-optimise-call-expression/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-optimise-call-expression/node_modules/@babel/types/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/code-frame/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/generator/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/helper-function-name/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/helper-get-function-arity/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/helper-split-export-declaration/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/highlight/LICENSE +sha256 2e97627cb278aa7556fb9e8817368302301a595b6c7582512b8d74c57b773652 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/parser/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/template/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/@babel/types/LICENSE +sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-replace-supers/node_modules/source-map/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/node_modules/@babel/code-frame/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/node_modules/@babel/highlight/LICENSE +sha256 2e97627cb278aa7556fb9e8817368302301a595b6c7582512b8d74c57b773652 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/node_modules/@babel/parser/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/node_modules/@babel/template/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-simple-access/node_modules/@babel/types/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/code-frame/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/generator/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/helper-function-name/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/helper-get-function-arity/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/helper-split-export-declaration/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/highlight/LICENSE +sha256 2e97627cb278aa7556fb9e8817368302301a595b6c7582512b8d74c57b773652 chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/parser/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/template/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/traverse/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/@babel/types/LICENSE +sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd chromium/third_party/devtools-frontend/src/node_modules/@babel/helpers/node_modules/source-map/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-validator-identifier/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/@babel/highlight/LICENSE +sha256 63cb98b3f6abfb3c3592c16f88253c1bdc834087bf52671e8ce5609e4eb693cf chromium/third_party/devtools-frontend/src/node_modules/bail/license +sha256 a1bd5deadb6a06dd74efa852c1b8b23f63b67f2214fbe9c8bd591da51da69268 chromium/third_party/devtools-frontend/src/node_modules/balanced-match/LICENSE.md +sha256 f3eca6ff762533fa5a77caf954a143e48afa204668cf97dce758c45a9e006be3 chromium/third_party/devtools-frontend/src/node_modules/base64-arraybuffer/LICENSE-MIT +sha256 de6059eadd0c1327f30a22663392e57d36b97b0ac9bb48f4875c8008ba823c30 chromium/third_party/devtools-frontend/src/node_modules/base64id/LICENSE +sha256 5b37224c080cdcc97c871ada971c224e9926370fe74f11b539aa1cf9f3b1aca1 chromium/third_party/devtools-frontend/src/node_modules/base64-js/LICENSE +sha256 85fe65eefab89e2a683232b96e6f689279821a0bd3b351e9ab6a6ebd19dea567 chromium/third_party/devtools-frontend/src/node_modules/binary-extensions/license +sha256 9377db95383c8befacf05c6e465d969d756edf178487ca1344fdf3ba147c596f chromium/third_party/devtools-frontend/src/node_modules/bl/LICENSE.md +sha256 7d3e0d8d5604632b94ff9aea3001153c506566cd1c6c7bb37000acdb1fb37417 chromium/third_party/devtools-frontend/src/node_modules/blob/LICENSE +sha256 23d466b1b134b415b66fa50c6526b4cf3e7b9258554da88d3abb371721e7ce68 chromium/third_party/devtools-frontend/src/node_modules/body-parser/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/body-parser/node_modules/debug/LICENSE +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/body-parser/node_modules/ms/license.md +sha256 68f12f6e2c33688699249c01d8f9623c534da20aa71989c57b061b7bc1676d14 chromium/third_party/devtools-frontend/src/node_modules/brace-expansion/LICENSE +sha256 e70ff771504ba41f2be55de812a017ff46433d7a250c862e38fc419159e44500 chromium/third_party/devtools-frontend/src/node_modules/braces/LICENSE +sha256 f25bf9bf3ae8984bcd43bf7fb8f78e7eec8d577081fb8d0989cfa7c67ecebb8e chromium/third_party/devtools-frontend/src/node_modules/browserslist/LICENSE +sha256 fd595a25dd3c90492a8cc3b888aa9ae47630173181efed17f71b4c689d99d0ec chromium/third_party/devtools-frontend/src/node_modules/browser-stdout/LICENSE +sha256 14895b82e3367b66bdb127fe91505f8615491f2a23eb1c0b7d8f7c54be67f57a chromium/third_party/devtools-frontend/src/node_modules/buffer-crc32/LICENSE +sha256 14275f5c8139d02054c5259d52a88ccbba662a86af18c30f071c8d082dc6004c chromium/third_party/devtools-frontend/src/node_modules/buffer-from/LICENSE +sha256 06bafa45fdad2579ba0e43b0c9b2c6290287c99c4203c300254a462b38a307f6 chromium/third_party/devtools-frontend/src/node_modules/buffer/LICENSE +sha256 e3b44af066615de2ea48d18d852d0762f18c0b2efcea714fa48a6f729d405b85 chromium/third_party/devtools-frontend/src/node_modules/bytes/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/callsites/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/camelcase-keys/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/camelcase/license +sha256 fd3a263fe19ed8faa9068b43abaebafc02c77897b0c6fc09abc04bb592e5f16e chromium/third_party/devtools-frontend/src/node_modules/caniuse-lite/LICENSE +sha256 63cb98b3f6abfb3c3592c16f88253c1bdc834087bf52671e8ce5609e4eb693cf chromium/third_party/devtools-frontend/src/node_modules/ccount/license +sha256 b181da80336ff9dd1043fc8be1a764d7382363433319aa872e4d2cb5ce2a3066 chromium/third_party/devtools-frontend/src/node_modules/chai/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/chalk/license +sha256 63cb98b3f6abfb3c3592c16f88253c1bdc834087bf52671e8ce5609e4eb693cf chromium/third_party/devtools-frontend/src/node_modules/character-entities-html4/license +sha256 63cb98b3f6abfb3c3592c16f88253c1bdc834087bf52671e8ce5609e4eb693cf chromium/third_party/devtools-frontend/src/node_modules/character-entities-legacy/license +sha256 63cb98b3f6abfb3c3592c16f88253c1bdc834087bf52671e8ce5609e4eb693cf chromium/third_party/devtools-frontend/src/node_modules/character-entities/license +sha256 63cb98b3f6abfb3c3592c16f88253c1bdc834087bf52671e8ce5609e4eb693cf chromium/third_party/devtools-frontend/src/node_modules/character-reference-invalid/license +sha256 7df1d6cf5b4112cbe277a84269e02ae631603a9a3a21b8328a34c30b8c3dd1ab chromium/third_party/devtools-frontend/src/node_modules/chardet/LICENSE +sha256 e5aee0714b6ecc416454b968d1017570ef609f20d8722ab84b07acd550b78198 chromium/third_party/devtools-frontend/src/node_modules/check-error/LICENSE +sha256 db9ba183d4cbfbaf6c27db2effddbb84b46340c33ed32a066bc0b144a3ea1298 chromium/third_party/devtools-frontend/src/node_modules/chokidar/LICENSE +sha256 99de4c30f4643c00d4895d9c6ade0af4ec43d301449c191f5fbe41b53bb6a13a chromium/third_party/devtools-frontend/src/node_modules/chokidar/node_modules/fsevents/LICENSE +sha256 dffec71d93f273d2af7b54c6c7e7e70b3289c632ec0d7253210ec21ac336d5ac chromium/third_party/devtools-frontend/src/node_modules/chokidar/node_modules/readdirp/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/chownr/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/cli-cursor/license +sha256 2dc0465729366c3a7890dfa9e972a1ba7048a26c02116fb8b419a6a1ac110149 chromium/third_party/devtools-frontend/src/node_modules/cliui/LICENSE.txt +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/cliui/node_modules/ansi-regex/license +sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a chromium/third_party/devtools-frontend/src/node_modules/cliui/node_modules/emoji-regex/LICENSE-MIT.txt +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/cliui/node_modules/string-width/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/cliui/node_modules/strip-ansi/license +sha256 33fa5470b2195e410b075a32516b6ad27784b8a8ff74ae90cfd60c14b76e6644 chromium/third_party/devtools-frontend/src/node_modules/cli-width/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/clone-regexp/license +sha256 63cb98b3f6abfb3c3592c16f88253c1bdc834087bf52671e8ce5609e4eb693cf chromium/third_party/devtools-frontend/src/node_modules/collapse-white-space/license +sha256 693866fc419c6f61c8570438ec00659d156ec2b4d4a4d04091711f5f11a365d4 chromium/third_party/devtools-frontend/src/node_modules/color-convert/LICENSE +sha256 7357445bac398c76c0aef75a587009fe406d40de6a79789eb5b7ecbbad317ef2 chromium/third_party/devtools-frontend/src/node_modules/color-name/LICENSE +sha256 77ffe84006509949525fd57df06f4a6a80ad862c5314b66ab5bb6ac4cee6280b chromium/third_party/devtools-frontend/src/node_modules/colors/LICENSE +sha256 04512a63dce4d2d506ad612dc0bd7681ccf6e3655f7b6eaef7dfac8323d1ec0b chromium/third_party/devtools-frontend/src/node_modules/commander/LICENSE +sha256 8bb16db1b047019e4395965f2cf3611b06c34bf86dc2d0210b3c3f91b53c21fe chromium/third_party/devtools-frontend/src/node_modules/commondir/LICENSE +sha256 0f0b408b8b871d983e767528c6dc51e0ad7efaa022890c449fe2b2e1ee24dbb7 chromium/third_party/devtools-frontend/src/node_modules/component-emitter/LICENSE +sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b chromium/third_party/devtools-frontend/src/node_modules/concat-map/LICENSE +sha256 9913ff70f23424d49fda2b05902cfb72f17ae1e48aaf898c349a284289a74751 chromium/third_party/devtools-frontend/src/node_modules/connect/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/connect/node_modules/debug/LICENSE +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/connect/node_modules/ms/license.md +sha256 0798f37cff4a3f438c071316e41f94ffe110116a313ab0fc4f8caa07218f1f0f chromium/third_party/devtools-frontend/src/node_modules/contains-path/LICENSE +sha256 257aed98914108e91a337912727b6a802eef218248507f74b76faffaff517a38 chromium/third_party/devtools-frontend/src/node_modules/content-type/LICENSE +sha256 c02110eedc16c7114f1a9bdc026c65626ce1d9c7e27fd51a8e0feee8a48a6858 chromium/third_party/devtools-frontend/src/node_modules/cookie/LICENSE +sha256 8e714750725e75c8b31172ef84c0805f94873f86e3b5cfca8a948553f0778fa1 chromium/third_party/devtools-frontend/src/node_modules/cosmiconfig/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/cosmiconfig/node_modules/parse-json/license +sha256 aaa78451b6fecd1b9c4594c796c133c0e90cad100372ff8bc6de615e9ef9adf1 chromium/third_party/devtools-frontend/src/node_modules/cross-spawn/LICENSE +sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a chromium/third_party/devtools-frontend/src/node_modules/cssesc/LICENSE-MIT.txt +sha256 53ecc31e1632c07980cb0c97dcaf3d1d20323d21194b92150987a4fecf517b3c chromium/third_party/devtools-frontend/src/node_modules/custom-event/LICENSE +sha256 9660914267128b5f96a102bd7f6268c249110a39cb7c4bb7f536d856445d739c chromium/third_party/devtools-frontend/src/node_modules/date-format/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/debug/LICENSE +sha256 5f9e03a50e10f262f7bd356fe323b12f461f14dae6762611285a0d7479340ae7 chromium/third_party/devtools-frontend/src/node_modules/debuglog/LICENSE +sha256 840c00ea351c8aab93f37ff132bc87e58711aac287baeaed5788132970aca500 chromium/third_party/devtools-frontend/src/node_modules/decamelize-keys/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/decamelize-keys/node_modules/map-obj/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/decamelize/license +sha256 e5aee0714b6ecc416454b968d1017570ef609f20d8722ab84b07acd550b78198 chromium/third_party/devtools-frontend/src/node_modules/deep-eql/LICENSE +sha256 f2042f3634c4136d06b5139c9c6aefb81a3a462b514548bc1845953233dfba98 chromium/third_party/devtools-frontend/src/node_modules/deep-is/LICENSE +sha256 00d402c2bbe7c67369bd01ce2c16b8ed46ccc949a1ee2d6bb8f9606afa8c7434 chromium/third_party/devtools-frontend/src/node_modules/define-properties/LICENSE +sha256 bd47ce7b88c7759630d1e2b9fcfa170a0f1fde522be09e13fb1581a79d090400 chromium/third_party/devtools-frontend/src/node_modules/depd/LICENSE +sha256 7a209dd1b94cabdb5ea9c6f9164b9546ffa5daaa671e7767d49510db055f5c51 chromium/third_party/devtools-frontend/src/node_modules/devtools-protocol/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/dezalgo/LICENSE +sha256 152f0fb43e953fcf5c56c5bfa4c834bb96b1603e4026319c613dd3e734f305cf chromium/third_party/devtools-frontend/src/node_modules/diff/LICENSE +sha256 545278991ee5f1fb4372f913ec44837cff9395175140f8f21118074330a659cb chromium/third_party/devtools-frontend/src/node_modules/di/LICENSE +sha256 69dee148a2cc470554dfa7142e830662062394d0fe67cddd379aba90dc60d6b3 chromium/third_party/devtools-frontend/src/node_modules/dir-glob/license +sha256 5c272e206669b79ee20fa89fa8fa888d5b56186f16c55a5614753ad3412e2ae9 chromium/third_party/devtools-frontend/src/node_modules/doctrine/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/devtools-frontend/src/node_modules/doctrine/LICENSE.closure-compiler +sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 chromium/third_party/devtools-frontend/src/node_modules/doctrine/LICENSE.esprima +sha256 cb992345949ccd6e8394b2cd6c465f7b897c864f845937dbf64e8997f389e164 chromium/third_party/devtools-frontend/src/node_modules/domelementtype/LICENSE +sha256 cb992345949ccd6e8394b2cd6c465f7b897c864f845937dbf64e8997f389e164 chromium/third_party/devtools-frontend/src/node_modules/domhandler/LICENSE +sha256 94cfe87de9b178e8fee313a19178e625129e2ce559db32e772e7bd95114ee6ff chromium/third_party/devtools-frontend/src/node_modules/dom-serializer/LICENSE +sha256 cb992345949ccd6e8394b2cd6c465f7b897c864f845937dbf64e8997f389e164 chromium/third_party/devtools-frontend/src/node_modules/dom-serializer/node_modules/domelementtype/LICENSE +sha256 cb992345949ccd6e8394b2cd6c465f7b897c864f845937dbf64e8997f389e164 chromium/third_party/devtools-frontend/src/node_modules/dom-serializer/node_modules/entities/LICENSE +sha256 cb992345949ccd6e8394b2cd6c465f7b897c864f845937dbf64e8997f389e164 chromium/third_party/devtools-frontend/src/node_modules/domutils/LICENSE +sha256 965ef284f7f4c176842ec2e87fa13e79feed777d56d7a21a5a3b38f1bb6dc288 chromium/third_party/devtools-frontend/src/node_modules/ee-first/LICENSE +sha256 25ba5c59dad3e0dd8f9540beaa0f0a86a10e3aec35af5fdc8e88c5f6a5c0d8c6 chromium/third_party/devtools-frontend/src/node_modules/electron-to-chromium/LICENSE +sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a chromium/third_party/devtools-frontend/src/node_modules/emoji-regex/LICENSE-MIT.txt +sha256 7585ea7bba616ccbbe43cb54ecb67956688c3c5641bb84f3099a652a73193afe chromium/third_party/devtools-frontend/src/node_modules/encodeurl/LICENSE +sha256 3fe8d55a98dbf260eace67c00cf9bc53edb46234e840098a0b93df3096b97fb6 chromium/third_party/devtools-frontend/src/node_modules/end-of-stream/LICENSE +sha256 bb996a5665c8e18041251e833e52b590f0da5050c1878aa3e3a47f71bb16fa6d chromium/third_party/devtools-frontend/src/node_modules/engine.io-client/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/engine.io-client/node_modules/debug/LICENSE +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/engine.io-client/node_modules/ms/license.md +sha256 8e0349070612cb59fc604588974e193d8363f0a08752caf31d3f270a609d346a chromium/third_party/devtools-frontend/src/node_modules/engine.io/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/engine.io/node_modules/debug/LICENSE +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/engine.io/node_modules/ms/license.md +sha256 2a190271977c2ad47c85a9e08cc05d078fe9293643061d466d2ae89ce8e5c2f1 chromium/third_party/devtools-frontend/src/node_modules/engine.io-parser/LICENSE +sha256 cb992345949ccd6e8394b2cd6c465f7b897c864f845937dbf64e8997f389e164 chromium/third_party/devtools-frontend/src/node_modules/entities/LICENSE +sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b chromium/third_party/devtools-frontend/src/node_modules/ent/LICENSE +sha256 92b07a2e5b0e051d37dde85042c736d6d551cfcbc0983f39d7ef903b3986bbc1 chromium/third_party/devtools-frontend/src/node_modules/error-ex/LICENSE +sha256 00d402c2bbe7c67369bd01ce2c16b8ed46ccc949a1ee2d6bb8f9606afa8c7434 chromium/third_party/devtools-frontend/src/node_modules/es-abstract/LICENSE +sha256 206c1adcf206dc0031b11232f5b054ec5f1662407ab1ca415247921cab2068ab chromium/third_party/devtools-frontend/src/node_modules/es-abstract/node_modules/has-symbols/LICENSE +sha256 a5e49293b629194f16e08c965807b34a4a8f45aa2735658a3b0e3c1478a34b30 chromium/third_party/devtools-frontend/src/node_modules/es-abstract/node_modules/string.prototype.trimend/LICENSE +sha256 a5e49293b629194f16e08c965807b34a4a8f45aa2735658a3b0e3c1478a34b30 chromium/third_party/devtools-frontend/src/node_modules/es-abstract/node_modules/string.prototype.trimstart/LICENSE +sha256 cfc3f455254c0af0655cc3ff46a41ed644b67599f6043346169d285bf2b3cf3b chromium/third_party/devtools-frontend/src/node_modules/es-array-method-boxes-properly/LICENSE +sha256 255aa557a1f55224ce522f311629c0bf20854740a67955cefd798fbd1d3d1ded chromium/third_party/devtools-frontend/src/node_modules/escape-html/LICENSE +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/escape-string-regexp/license +sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 chromium/third_party/devtools-frontend/src/node_modules/escodegen/LICENSE.BSD +sha256 94bcb9959136723aa4fb36e1a6c4d5c662a2369978cfae344dabfb83ae619e79 chromium/third_party/devtools-frontend/src/node_modules/escodegen/node_modules/esprima/LICENSE.BSD +sha256 cfc3f455254c0af0655cc3ff46a41ed644b67599f6043346169d285bf2b3cf3b chromium/third_party/devtools-frontend/src/node_modules/es-get-iterator/LICENSE +sha256 206c1adcf206dc0031b11232f5b054ec5f1662407ab1ca415247921cab2068ab chromium/third_party/devtools-frontend/src/node_modules/es-get-iterator/node_modules/has-symbols/LICENSE +sha256 68f12f6e2c33688699249c01d8f9623c534da20aa71989c57b061b7bc1676d14 chromium/third_party/devtools-frontend/src/node_modules/es-get-iterator/node_modules/isarray/LICENSE +sha256 7829efc4266fad5f57f7fc489429a3b35d0c62183c0bd617ef6591f64c980c92 chromium/third_party/devtools-frontend/src/node_modules/eslint-import-resolver-node/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/eslint-import-resolver-node/node_modules/debug/LICENSE +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/eslint-import-resolver-node/node_modules/ms/license.md +sha256 60acd7711e6c138e6041836e32d922705254cc1568a30fdf16aa8f59bb87aeaa chromium/third_party/devtools-frontend/src/node_modules/eslint-import-resolver-node/node_modules/resolve/LICENSE +sha256 db83f2ede67f36cfab1ea0721ea2ee97515863e9a65346881f305e430451cc91 chromium/third_party/devtools-frontend/src/node_modules/eslint/LICENSE +sha256 7829efc4266fad5f57f7fc489429a3b35d0c62183c0bd617ef6591f64c980c92 chromium/third_party/devtools-frontend/src/node_modules/eslint-module-utils/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/eslint-module-utils/node_modules/debug/LICENSE +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/eslint-module-utils/node_modules/ms/license.md +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/ansi-regex/license +sha256 5c932d88256b4ab958f64a856fa48e8bd1f55bc1d96b8149c65689e0c61789d3 chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/globals/license +sha256 b9eb082c39fe245e38793699074c394c43a722c51fce031c3c165cb92a31035c chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/optionator/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/semver/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/strip-ansi/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/eslint/node_modules/strip-json-comments/license +sha256 7829efc4266fad5f57f7fc489429a3b35d0c62183c0bd617ef6591f64c980c92 chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/LICENSE +sha256 7829efc4266fad5f57f7fc489429a3b35d0c62183c0bd617ef6591f64c980c92 chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/memo-parser/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/debug/LICENSE +sha256 1925669fabfda8475cb886afc52ad90d518fcdc5ca415d086f88db70bb1232eb chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/doctrine/LICENSE.BSD +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/doctrine/LICENSE.closure-compiler +sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/doctrine/LICENSE.esprima +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/find-up/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/load-json-file/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/locate-path/license +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/ms/license.md +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/path-exists/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/path-type/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/pify/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/p-limit/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/p-locate/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/p-try/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/read-pkg/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/read-pkg-up/license +sha256 60acd7711e6c138e6041836e32d922705254cc1568a30fdf16aa8f59bb87aeaa chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-import/node_modules/resolve/LICENSE +sha256 b67ae8fe5f32d0e6164655de53075cba04bb69c23e7d11efcfed6a0fa265ef64 chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-mocha/LICENSE +sha256 541c415066b6139f0fb6ad55f633abbc62f0ba6b54543f1ff00c762e76a90239 chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-rulesdir/LICENSE.md +sha256 d3a724e2ed749f172ff70b62a1d0631b7d4b0ea273782365a3464d4e2d6b6dbd chromium/third_party/devtools-frontend/src/node_modules/eslint-scope/LICENSE +sha256 fcf6eabf68ca96988a6b506b4fdc6cc32535d80eb2e11c79724af5ac6f50262b chromium/third_party/devtools-frontend/src/node_modules/eslint-utils/LICENSE +sha256 d8bf34ff6d190640a01e7704ad78253fc181bc128949d71273fbbaa12f33c0b4 chromium/third_party/devtools-frontend/src/node_modules/eslint-visitor-keys/LICENSE +sha256 6273faa0d14a54972c0341a724010eb8cd928ee486745a9eea8cf80680ba5098 chromium/third_party/devtools-frontend/src/node_modules/espree/LICENSE +sha256 7cdb44aabddbdd78998119d68a39c87424119b663945c79891fc1b022301824c chromium/third_party/devtools-frontend/src/node_modules/espree/node_modules/acorn/LICENSE +sha256 ac68116ae73740de4190892f334992e449a124600924ec761e64319d3aac9e6e chromium/third_party/devtools-frontend/src/node_modules/esquery/license.txt +sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 chromium/third_party/devtools-frontend/src/node_modules/esquery/node_modules/estraverse/LICENSE.BSD +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/es-to-primitive/LICENSE +sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 chromium/third_party/devtools-frontend/src/node_modules/estraverse/LICENSE.BSD +sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 chromium/third_party/devtools-frontend/src/node_modules/esutils/LICENSE.BSD +sha256 3aecc12b1cb28832b5f65ab64291de96568c3f236a74d646281b4491f7bcadbf chromium/third_party/devtools-frontend/src/node_modules/eventemitter3/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/execall/license +sha256 97af7428f93afbab9bf79cd09254da1357161794f4255eb1b4599f04dd2d2e7c chromium/third_party/devtools-frontend/src/node_modules/extend/LICENSE +sha256 e33b7bc13a0e5ea9ed6718e12e99a5b0b60276162f0195aa7f342397f4b0155d chromium/third_party/devtools-frontend/src/node_modules/external-editor/LICENSE +sha256 77b2de947c65f3062fb347118ca198ca50898ead84a8509d8153fa65741f029b chromium/third_party/devtools-frontend/src/node_modules/extract-zip/LICENSE +sha256 7bf9b2de73a6b356761c948d0e9eeb4be6c1270bd04c79cd489c1e400ffdfc1a chromium/third_party/devtools-frontend/src/node_modules/fast-deep-equal/LICENSE +sha256 9363d160bf41d46d83901a5d24fc3fe2094c2afc17b4a2378914b273977ee2de chromium/third_party/devtools-frontend/src/node_modules/fast-glob/LICENSE +sha256 d0cd141b0c322fded5dfad1d4645bb2fedfc05b7321fe1009469638190d59ef9 chromium/third_party/devtools-frontend/src/node_modules/fast-glob/node_modules/picomatch/LICENSE +sha256 a833d366242c298cf1b10263516572fb8dcbe68eb5072cdcac2b4546e2b4eb36 chromium/third_party/devtools-frontend/src/node_modules/fast-json-stable-stringify/LICENSE +sha256 942a98cb8846a6354266193f173c1354615827fbb7d67f68399599dff12c4d6a chromium/third_party/devtools-frontend/src/node_modules/fast-levenshtein/LICENSE.md +sha256 c3367f6d01a79d368fc4fbb41b3615fcd92f243d6597ab96742f6f976f9325af chromium/third_party/devtools-frontend/src/node_modules/fastq/LICENSE +sha256 176d95320d565cb034d8323797b6cd6160238f625453687f98aad2085c46c3b3 chromium/third_party/devtools-frontend/src/node_modules/fd-slicer/LICENSE +sha256 5c932d88256b4ab958f64a856fa48e8bd1f55bc1d96b8149c65689e0c61789d3 chromium/third_party/devtools-frontend/src/node_modules/figures/license +sha256 c8c8324aff32c44f9e501aac5b3b97540c26af7d6dd6af8bce5e34300596e27d chromium/third_party/devtools-frontend/src/node_modules/file-entry-cache/LICENSE +sha256 35bdd8a44339719441900fb50fbefc5e2dca1ca662cbaed7a687de842c8b70f2 chromium/third_party/devtools-frontend/src/node_modules/fill-range/LICENSE +sha256 24973d5320410e565ec92f18f73f12af7d97c634d414ba170d119fe3f98904c8 chromium/third_party/devtools-frontend/src/node_modules/finalhandler/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/finalhandler/node_modules/debug/LICENSE +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/finalhandler/node_modules/ms/license.md +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/find-up/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/find-up/node_modules/path-exists/license +sha256 c8c8324aff32c44f9e501aac5b3b97540c26af7d6dd6af8bce5e34300596e27d chromium/third_party/devtools-frontend/src/node_modules/flat-cache/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/flat-cache/node_modules/rimraf/LICENSE +sha256 95a61f61553614db5421a2cefb17c22ff6b2b4b2206f5bc8913d04f72a22b033 chromium/third_party/devtools-frontend/src/node_modules/flat/LICENSE +sha256 5097efeab30293dd7e26d6960b6b94f1aeca958d22f1eca3535c482a891e95a9 chromium/third_party/devtools-frontend/src/node_modules/flatted/LICENSE +sha256 bfa8a54bb952ccda79f0f1889721d108f5b605babbb2b8a3705ffb52f4132eb7 chromium/third_party/devtools-frontend/src/node_modules/follow-redirects/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/follow-redirects/node_modules/debug/LICENSE +sha256 2281f2db407bdbb54f069eec38128b2dee2c0c952f52b786ef1faecb81767b3c chromium/third_party/devtools-frontend/src/node_modules/fs-constants/LICENSE +sha256 1e76029602ae9b21cc4e612db2496d92febed882ba13ba745f8b3309e85f9d39 chromium/third_party/devtools-frontend/src/node_modules/fs-extra/LICENSE +sha256 8465b04b67f473341171b5c9c8b2c741a4a395b3f6ed58339b3a4f4db3db7472 chromium/third_party/devtools-frontend/src/node_modules/fs.realpath/LICENSE +sha256 e67aed7df22dc8031e4fcf5338fe91cb33e3817e5c58a99a2a2802eea9069791 chromium/third_party/devtools-frontend/src/node_modules/functional-red-black-tree/LICENSE +sha256 773e131a7684726005a7e4688a80b4620033bc08499bc1404dd1a1eb3bca725e chromium/third_party/devtools-frontend/src/node_modules/function-bind/LICENSE +sha256 e3a956681ee067f971ac413994171b3d90ca801ec6324e76c9c55366cfe31cb0 chromium/third_party/devtools-frontend/src/node_modules/gensync/LICENSE +sha256 902dbb4154679fb2b8d7c33878183f45b268d01eae5e5033dddaa8852d45f213 chromium/third_party/devtools-frontend/src/node_modules/get-caller-file/LICENSE.md +sha256 e5aee0714b6ecc416454b968d1017570ef609f20d8722ab84b07acd550b78198 chromium/third_party/devtools-frontend/src/node_modules/get-func-name/LICENSE +sha256 5c932d88256b4ab958f64a856fa48e8bd1f55bc1d96b8149c65689e0c61789d3 chromium/third_party/devtools-frontend/src/node_modules/get-stdin/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/get-stream/license +sha256 e7d1fee7347ffddccc5fd03327ffdb50f8c112be0d5016d62388a92c4ae6e7a9 chromium/third_party/devtools-frontend/src/node_modules/global-modules/LICENSE +sha256 e7d1fee7347ffddccc5fd03327ffdb50f8c112be0d5016d62388a92c4ae6e7a9 chromium/third_party/devtools-frontend/src/node_modules/global-prefix/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/globals/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/globby/license +sha256 9c94db23dc4b1e9aaee5d195668b916afc71efed54af226b66cf0ccc4389c1c0 chromium/third_party/devtools-frontend/src/node_modules/globby/node_modules/ignore/LICENSE-MIT +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/globby/node_modules/slash/license +sha256 5947e11f30ab8264c45332a7d767447a71a52510ba467062cf3918e34cc67bff chromium/third_party/devtools-frontend/src/node_modules/globjoin/LICENSE +sha256 6236fa0b88a4a0cce3dda0367979491b2052b3c8d6b1c10b3668de083e86a7f0 chromium/third_party/devtools-frontend/src/node_modules/glob/LICENSE +sha256 2c46f1325bd3822a33c1e2c1e49c18d13127ac00f9c8b3b79196c7a126f73cd9 chromium/third_party/devtools-frontend/src/node_modules/glob-parent/LICENSE +sha256 2fc5460f1526810979054ecd18cd01349b57f38ea56d1e920afdea34d104540c chromium/third_party/devtools-frontend/src/node_modules/graceful-fs/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/hard-rejection/license +sha256 dc1fcc41f783463ed272ada875a7d3d1baf6c6279e5efada2c4ef2ca72db39e1 chromium/third_party/devtools-frontend/src/node_modules/has-binary2/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/has-flag/license +sha256 4fe5fd7b3318def0b74f8bf8c9276403f01da628fa8888822661519d80f237d3 chromium/third_party/devtools-frontend/src/node_modules/has/LICENSE-MIT +sha256 206c1adcf206dc0031b11232f5b054ec5f1662407ab1ca415247921cab2068ab chromium/third_party/devtools-frontend/src/node_modules/has-symbols/LICENSE +sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a chromium/third_party/devtools-frontend/src/node_modules/he/LICENSE-MIT.txt +sha256 c1476ec53119cd4c8370f91f5152ac76312a29b4fae2d49b5e0e0970fe0fa5ee chromium/third_party/devtools-frontend/src/node_modules/hosted-git-info/LICENSE +sha256 27d06bbb2eb031be8aa376868a2e1f11b6acba938d4cc8e1234b66b9739c54a3 chromium/third_party/devtools-frontend/src/node_modules/html-escaper/LICENSE.txt +sha256 204cfa747341660e4da64cd23e8c876c6b20279d247f48564993d3fc4a2eab47 chromium/third_party/devtools-frontend/src/node_modules/htmlparser2/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/html-tags/license +sha256 dcb94ff9b1e037a847bc20589dc81a1066d041fd4c16deb18b0fa968c66cf395 chromium/third_party/devtools-frontend/src/node_modules/http-errors/LICENSE +sha256 5ffe28e7ade7d8f10d85d5337a73fd793dac5c462fb9a28fbf8c5046c7fbca3b chromium/third_party/devtools-frontend/src/node_modules/http-errors/node_modules/inherits/LICENSE +sha256 589850dfc0a1d39a97c592d618d5772f84aec2b11c6898e020acb985299f3bab chromium/third_party/devtools-frontend/src/node_modules/http-proxy/LICENSE +sha256 ac779f7314c74f232ef847ea86e714abe25cf6eeb5cc97b69451b74e2af6492d chromium/third_party/devtools-frontend/src/node_modules/iconv-lite/LICENSE +sha256 18d45466ba3253deae04667e267a91ea8de8548f18c1125264d1c9db28194cc1 chromium/third_party/devtools-frontend/src/node_modules/ieee754/LICENSE +sha256 9c94db23dc4b1e9aaee5d195668b916afc71efed54af226b66cf0ccc4389c1c0 chromium/third_party/devtools-frontend/src/node_modules/ignore/LICENSE-MIT +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/import-fresh/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/import-lazy/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/indent-string/license +sha256 715f1f0f2eb7688e53e4e958acdc7fc9e365ae3eaf26efc2604b93cc65fdc3f5 chromium/third_party/devtools-frontend/src/node_modules/indexes-of/LICENSE +sha256 05dc4d785ac3a488676d3ed10e901b75ad89dafcc63f8e66610fd4a39cc5c7e8 chromium/third_party/devtools-frontend/src/node_modules/inflight/LICENSE +sha256 5ffe28e7ade7d8f10d85d5337a73fd793dac5c462fb9a28fbf8c5046c7fbca3b chromium/third_party/devtools-frontend/src/node_modules/inherits/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/ini/LICENSE +sha256 e6c3f1bc47f97cdeef953f6c109b6392be0d059ae94659faf550e61b7a75ebc7 chromium/third_party/devtools-frontend/src/node_modules/inquirer/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/ansi-regex/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/ansi-styles/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/chalk/license +sha256 693866fc419c6f61c8570438ec00659d156ec2b4d4a4d04091711f5f11a365d4 chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/color-convert/LICENSE +sha256 7357445bac398c76c0aef75a587009fe406d40de6a79789eb5b7ecbbad317ef2 chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/color-name/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/has-flag/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/is-fullwidth-code-point/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/string-width/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/strip-ansi/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/supports-color/license +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/is-alphabetical/license +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/is-alphanumerical/license +sha256 3a4909999d4cb5e4caee48395d9ac13085f4a8cb92245eef41526073601aaec8 chromium/third_party/devtools-frontend/src/node_modules/is-alphanumeric/license +sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 chromium/third_party/devtools-frontend/src/node_modules/is-arguments/LICENSE +sha256 92b07a2e5b0e051d37dde85042c736d6d551cfcbc0983f39d7ef903b3986bbc1 chromium/third_party/devtools-frontend/src/node_modules/is-arrayish/LICENSE +sha256 2eedc70f2242aaf269e86e2c85eabeb875dc524d187d5953016b24091d26a843 chromium/third_party/devtools-frontend/src/node_modules/isbinaryfile/LICENSE.txt +sha256 85fe65eefab89e2a683232b96e6f689279821a0bd3b351e9ab6a6ebd19dea567 chromium/third_party/devtools-frontend/src/node_modules/is-binary-path/license +sha256 c7cc929b57080f4b9d0c6cf57669f0463fc5b39906344dfc8d3bc43426b30eac chromium/third_party/devtools-frontend/src/node_modules/is-buffer/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/is-callable/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/is-date-object/LICENSE +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/is-decimal/license +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/isexe/LICENSE +sha256 73b5283588baa142c5baaef5f56d3e8fdea7a30b214e8c5737e87640f882453a chromium/third_party/devtools-frontend/src/node_modules/is-extglob/LICENSE +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/is-fullwidth-code-point/license +sha256 4cd903859549d4b20b571041f96dfae1136ed079c476126268f9d7cc1b611150 chromium/third_party/devtools-frontend/src/node_modules/is-glob/LICENSE +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/is-hexadecimal/license +sha256 5a26e47b9d7020848f061bcad66f8e73cab95f529dab5c02588b21e57c4f876c chromium/third_party/devtools-frontend/src/node_modules/is-map/LICENSE +sha256 35bdd8a44339719441900fb50fbefc5e2dca1ca662cbaed7a687de842c8b70f2 chromium/third_party/devtools-frontend/src/node_modules/is-number/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/is-plain-obj/license +sha256 44191656d296391e0ec97e32f5385f0d02b6f2992694082d22ea04ba0f66f9e4 chromium/third_party/devtools-frontend/src/node_modules/is-promise/LICENSE +sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 chromium/third_party/devtools-frontend/src/node_modules/is-regex/LICENSE +sha256 206c1adcf206dc0031b11232f5b054ec5f1662407ab1ca415247921cab2068ab chromium/third_party/devtools-frontend/src/node_modules/is-regex/node_modules/has-symbols/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/is-regexp/license +sha256 5a26e47b9d7020848f061bcad66f8e73cab95f529dab5c02588b21e57c4f876c chromium/third_party/devtools-frontend/src/node_modules/is-set/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/is-string/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/is-symbol/LICENSE +sha256 5a547aafe7b171c859ec64de1dd3c3363689f830133f508d043c83da12a6d0a2 chromium/third_party/devtools-frontend/src/node_modules/@istanbuljs/schema/LICENSE +sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b chromium/third_party/devtools-frontend/src/node_modules/is-typedarray/LICENSE.md +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/is-whitespace-character/license +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/is-word-character/license +sha256 39c5ec504cf6bd5cd782a7c695828e09189df79f5d94840e4f08feb97b9fd416 chromium/third_party/devtools-frontend/src/node_modules/iterate-iterator/LICENSE +sha256 cfc3f455254c0af0655cc3ff46a41ed644b67599f6043346169d285bf2b3cf3b chromium/third_party/devtools-frontend/src/node_modules/iterate-value/LICENSE +sha256 52412d7bc7ce4157ea628bbaacb8829e0a9cb3c58f57f99176126bc8cf2bfc85 chromium/third_party/devtools-frontend/src/node_modules/jest-worker/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/jest-worker/node_modules/supports-color/license +sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a chromium/third_party/devtools-frontend/src/node_modules/jsesc/LICENSE-MIT.txt +sha256 53e59feb13058722d977c699eb0407c7bce2f93c949b681bbd2ff31698535927 chromium/third_party/devtools-frontend/src/node_modules/json5/LICENSE.md +sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b chromium/third_party/devtools-frontend/src/node_modules/json5/node_modules/minimist/LICENSE +sha256 a9801fb52ba22ef808682a094da8a7a480584b7ed0dfd0d888ab543616335031 chromium/third_party/devtools-frontend/src/node_modules/jsonfile/LICENSE +sha256 6cf2891dd0e66460f7d2ed83e1e3fe4b4b4c1a8c1f1f96c222a3466ad12ff197 chromium/third_party/devtools-frontend/src/node_modules/json-parse-better-errors/LICENSE.md +sha256 7bf9b2de73a6b356761c948d0e9eeb4be6c1270bd04c79cd489c1e400ffdfc1a chromium/third_party/devtools-frontend/src/node_modules/json-schema-traverse/LICENSE +sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b chromium/third_party/devtools-frontend/src/node_modules/json-stable-stringify-without-jsonify/LICENSE +sha256 2213d91c606205c71eb051a199478cdc2adde945893404d7f1421436dd6d5cc1 chromium/third_party/devtools-frontend/src/node_modules/js-tokens/LICENSE +sha256 a07bc24468b9654ce76a547d47a2db282d07733b715db4c73a98bd63961f9550 chromium/third_party/devtools-frontend/src/node_modules/js-yaml/LICENSE +sha256 94bcb9959136723aa4fb36e1a6c4d5c662a2369978cfae344dabfb83ae619e79 chromium/third_party/devtools-frontend/src/node_modules/js-yaml/node_modules/esprima/LICENSE.BSD +sha256 e3d4ed2aa50e7583730b1531034331ba9093c8bef7414234c7c9306db3858913 chromium/third_party/devtools-frontend/src/node_modules/karma-chai/LICENSE +sha256 296b9a3c5e4eb7b79a6f1dca9a27ee31e48fe5c9d48a32ec31ac924b65ff287c chromium/third_party/devtools-frontend/src/node_modules/karma-chrome-launcher/LICENSE +sha256 296b9a3c5e4eb7b79a6f1dca9a27ee31e48fe5c9d48a32ec31ac924b65ff287c chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/code-frame/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/generator/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/helper-function-name/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/helper-get-function-arity/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/helper-split-export-declaration/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/highlight/LICENSE +sha256 2e97627cb278aa7556fb9e8817368302301a595b6c7582512b8d74c57b773652 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/parser/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/template/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/traverse/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/types/LICENSE +sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/@babel/types/node_modules/@babel/helper-validator-identifier/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/has-flag/license +sha256 e09f9b52c6ce5c17ba8103cd0cbf446c33b5448b0c1d01d711b36a1f15a501ba chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-lib-coverage/LICENSE +sha256 e09f9b52c6ce5c17ba8103cd0cbf446c33b5448b0c1d01d711b36a1f15a501ba chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-lib-instrument/LICENSE +sha256 e09f9b52c6ce5c17ba8103cd0cbf446c33b5448b0c1d01d711b36a1f15a501ba chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-lib-report/LICENSE +sha256 b661867c1d66a1b71ee3a6109159874334cd5c182a80d1bcc7353b5a4c6823c6 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-lib-source-maps/LICENSE +sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-lib-source-maps/node_modules/source-map/LICENSE +sha256 e09f9b52c6ce5c17ba8103cd0cbf446c33b5448b0c1d01d711b36a1f15a501ba chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/istanbul-reports/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/make-dir/license +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/semver/LICENSE +sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/source-map/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/supports-color/license +sha256 6e4e577107740b24ebd73cb813be506861d706129e502ca7160683a5cea4c129 chromium/third_party/devtools-frontend/src/node_modules/karma/LICENSE +sha256 296b9a3c5e4eb7b79a6f1dca9a27ee31e48fe5c9d48a32ec31ac924b65ff287c chromium/third_party/devtools-frontend/src/node_modules/karma-mocha/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/ansi-regex/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/ansi-styles/license +sha256 2dc0465729366c3a7890dfa9e972a1ba7048a26c02116fb8b419a6a1ac110149 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/cliui/LICENSE.txt +sha256 693866fc419c6f61c8570438ec00659d156ec2b4d4a4d04091711f5f11a365d4 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/color-convert/LICENSE +sha256 7357445bac398c76c0aef75a587009fe406d40de6a79789eb5b7ecbbad317ef2 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/color-name/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/find-up/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/is-fullwidth-code-point/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/locate-path/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/path-exists/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/p-locate/license +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/rimraf/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/string-width/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/strip-ansi/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/wrap-ansi/license +sha256 fe71524a15f30aab0f39af7165d38fc64a4269b7d2a0caffebc907355aec9c92 chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/yargs/LICENSE +sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/yargs-parser/LICENSE.txt +sha256 2b3adc1e55676b9443f76bdb17e42371de98a4be6abd3ae6e5f3590f6f3e4f6f chromium/third_party/devtools-frontend/src/node_modules/karma-sourcemap-loader/LICENSE +sha256 4cd903859549d4b20b571041f96dfae1136ed079c476126268f9d7cc1b611150 chromium/third_party/devtools-frontend/src/node_modules/kind-of/LICENSE +sha256 81294ebf877cb41ed610fa0566c6cf81cd62d47e9ae26e1b0870c9c532b11191 chromium/third_party/devtools-frontend/src/node_modules/known-css-properties/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/leven/license +sha256 b9eb082c39fe245e38793699074c394c43a722c51fce031c3c165cb92a31035c chromium/third_party/devtools-frontend/src/node_modules/levn/LICENSE +sha256 150d7707d4532d57bdb5718637ff62fff1f075921c5ffaa084df27f900bfea76 chromium/third_party/devtools-frontend/src/node_modules/license-checker/bin/license-checker +sha256 455629980585dfdadbdcbaf846659b65da3dd092ac9bfd10b07717a0e2f84ef5 chromium/third_party/devtools-frontend/src/node_modules/license-checker/lib/license-files.js +sha256 37932d5f93a7f9e762346358ae427e703d69fdaae6e7cd67158b35eea91c9eec chromium/third_party/devtools-frontend/src/node_modules/license-checker/lib/license.js +sha256 adeb5a7f7d027ec14c3698be7a0f248978516ab39ccec4fb70689ba4753cdd67 chromium/third_party/devtools-frontend/src/node_modules/license-checker/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/license-checker/node_modules/debug/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/license-checker/node_modules/nopt/LICENSE +sha256 456fe85ad3e71db9523313cf7437b0f90c392d8a48c869908e46716b26d2cf53 chromium/third_party/devtools-frontend/src/node_modules/lines-and-columns/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/locate-path/license +sha256 f71e8ed126b46346494aad5486874cd8f0aafe95092ed67d2e3cb6110f939abc chromium/third_party/devtools-frontend/src/node_modules/lodash/LICENSE +sha256 66da8b277e527c270de6abc57727c58032267d161a81dbac02c3eed45fd13366 chromium/third_party/devtools-frontend/src/node_modules/log4js/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/log-symbols/license +sha256 9f084fac69d8cf1e6ce983ba5a3499c7695ed74a26ec625c38f0fd19fddd5e10 chromium/third_party/devtools-frontend/src/node_modules/longest-streak/license +sha256 1cbe51b907662f6cb1492b16c359384a595180bf0e4d101603ed525e75c4e484 chromium/third_party/devtools-frontend/src/node_modules/magic-string/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/map-obj/license +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/markdown-escapes/license +sha256 9966260ba3ea9d6a5f839297dca80ddc99735a34b4ae82811cac7b956d2e3afd chromium/third_party/devtools-frontend/src/node_modules/markdown-table/license +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/mathml-tag-names/license +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/mdast-util-compact/license +sha256 74d8054d56d522bdaa340d3d71130cb204997d523a5292c85ac1264dd77c8d06 chromium/third_party/devtools-frontend/src/node_modules/media-typer/LICENSE +sha256 5c932d88256b4ab958f64a856fa48e8bd1f55bc1d96b8149c65689e0c61789d3 chromium/third_party/devtools-frontend/src/node_modules/meow/license +sha256 5c932d88256b4ab958f64a856fa48e8bd1f55bc1d96b8149c65689e0c61789d3 chromium/third_party/devtools-frontend/src/node_modules/meow/node_modules/camelcase/license +sha256 64a93ffc0a06a2266dbb57ed7ebe3b56ba66ab337b6347fabdbf86c76819fbae chromium/third_party/devtools-frontend/src/node_modules/meow/node_modules/type-fest/license +sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d chromium/third_party/devtools-frontend/src/node_modules/meow/node_modules/yargs-parser/LICENSE.txt +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/meow/node_modules/yargs-parser/node_modules/camelcase/license +sha256 23d150eb1337116025fbb4de7cd2a757540feec928eef5ae30c91f9f500a4dbc chromium/third_party/devtools-frontend/src/node_modules/merge2/LICENSE +sha256 2cee71bf4612fc2efe1c6261e3f2b21f3c7259ef8a4f3593b095ae7a7bd65ad9 chromium/third_party/devtools-frontend/src/node_modules/merge-stream/LICENSE +sha256 35bdd8a44339719441900fb50fbefc5e2dca1ca662cbaed7a687de842c8b70f2 chromium/third_party/devtools-frontend/src/node_modules/micromatch/LICENSE +sha256 965ef284f7f4c176842ec2e87fa13e79feed777d56d7a21a5a3b38f1bb6dc288 chromium/third_party/devtools-frontend/src/node_modules/mime-db/LICENSE +sha256 8f2658c03422c408b2b2ce4d151decc3b1a6fd3d86e5ca9433777bccdcdf75a2 chromium/third_party/devtools-frontend/src/node_modules/mime/LICENSE +sha256 71f83c4c0621102a56d9853812777b85751bce7e9726f686f5b056c1f8a4b0e6 chromium/third_party/devtools-frontend/src/node_modules/mime-types/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/mimic-fn/license +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/minimatch/LICENSE +sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b chromium/third_party/devtools-frontend/src/node_modules/minimist/LICENSE +sha256 6158b1bc31ab9c05c0be562cf57a0590a1dc86a4ce8b8a48a5e73df6c259ed61 chromium/third_party/devtools-frontend/src/node_modules/minimist-options/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/minimist-options/node_modules/arrify/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/minimist-options/node_modules/is-plain-obj/license +sha256 9638fa87f845af6cecc56fab498c1f74f4a98522d3b53377bedcbdb44b5a8dcc chromium/third_party/devtools-frontend/src/node_modules/min-indent/license +sha256 a255b85c1a510ecfe660c4d442ecdbc1e9d07f4b4d3d7f90443f7e5570591e0a chromium/third_party/devtools-frontend/src/node_modules/mkdirp-classic/LICENSE +sha256 05991c2e8f070b69ec5b656c2c12fd07cd0153dd157d39b050b82af59b319a01 chromium/third_party/devtools-frontend/src/node_modules/mkdirp/LICENSE +sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b chromium/third_party/devtools-frontend/src/node_modules/mkdirp/node_modules/minimist/LICENSE +sha256 88597c9a3af6b6ae2fa6225a52344c7ddc705883d6fe1f2b3a95fdc72d2d1a20 chromium/third_party/devtools-frontend/src/node_modules/mocha/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/ansi-regex/license +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/debug/LICENSE +sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/emoji-regex/LICENSE-MIT.txt +sha256 6236fa0b88a4a0cce3dda0367979491b2052b3c8d6b1c10b3668de083e86a7f0 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/glob/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/has-flag/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/locate-path/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/p-locate/license +sha256 d3dfa68a3c80e64eb10e46cef10e4208502da5ffb1387b11db00e42a507ab8f7 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/serialize-javascript/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/string-width/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/strip-ansi/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/supports-color/license +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/which/LICENSE +sha256 fe71524a15f30aab0f39af7165d38fc64a4269b7d2a0caffebc907355aec9c92 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/yargs/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/yargs/node_modules/find-up/license +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/ms/license.md +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/mute-stream/LICENSE +sha256 553d4d20029a24e315b428a1a54a9e109eaa340f2e958a4f50a92362c2c4070b chromium/third_party/devtools-frontend/src/node_modules/negotiator/LICENSE +sha256 bd220c219b05e6c22b7c23613ca926f60932d07c9fe141dd6e04b80dbc4b4e52 chromium/third_party/devtools-frontend/src/node_modules/nice-try/LICENSE +sha256 9363d160bf41d46d83901a5d24fc3fe2094c2afc17b4a2378914b273977ee2de chromium/third_party/devtools-frontend/src/node_modules/@nodelib/fs.scandir/LICENSE +sha256 9363d160bf41d46d83901a5d24fc3fe2094c2afc17b4a2378914b273977ee2de chromium/third_party/devtools-frontend/src/node_modules/@nodelib/fs.stat/LICENSE +sha256 9363d160bf41d46d83901a5d24fc3fe2094c2afc17b4a2378914b273977ee2de chromium/third_party/devtools-frontend/src/node_modules/@nodelib/fs.walk/LICENSE +sha256 3706296ed611888111ceccc1dff4712844dea4bde0b185c82d718c3b69895abe chromium/third_party/devtools-frontend/src/node_modules/node-releases/LICENSE +sha256 d16b2b8c511d9f2bef8bbf49f0e2a94f032b6b8d181f71c83912c34c116a02e1 chromium/third_party/devtools-frontend/src/node_modules/normalize-package-data/LICENSE +sha256 60acd7711e6c138e6041836e32d922705254cc1568a30fdf16aa8f59bb87aeaa chromium/third_party/devtools-frontend/src/node_modules/normalize-package-data/node_modules/resolve/LICENSE +sha256 e70ff771504ba41f2be55de812a017ff46433d7a250c862e38fc419159e44500 chromium/third_party/devtools-frontend/src/node_modules/normalize-path/LICENSE +sha256 0b61ac8491c66669491fdb328200203822b91d2a0461f5cd898fe0944ea97e41 chromium/third_party/devtools-frontend/src/node_modules/normalize-range/license +sha256 65155820306c6f73fe67358bf14c2e1eb24e29e9d0cad280b8f0f7be3319e434 chromium/third_party/devtools-frontend/src/node_modules/num2fraction/LICENSE +sha256 a596744eec6b05682ed972bf93937668bbc8da2caed93fbf6510389de019b5c0 chromium/third_party/devtools-frontend/src/node_modules/object.assign/LICENSE +sha256 bd40cc437e28a3ad7bef2ad34e6b72e757b182e67bda1acadbab4ef0476f8232 chromium/third_party/devtools-frontend/src/node_modules/object-inspect/LICENSE +sha256 5640e5cbe2e9f57f6ccfdd8dbfbeadb875495bdbcb69d2666ce3177ccd0942e4 chromium/third_party/devtools-frontend/src/node_modules/object-keys/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/object.values/LICENSE +sha256 00d402c2bbe7c67369bd01ce2c16b8ed46ccc949a1ee2d6bb8f9606afa8c7434 chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/es-abstract/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/es-to-primitive/LICENSE +sha256 206c1adcf206dc0031b11232f5b054ec5f1662407ab1ca415247921cab2068ab chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/has-symbols/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/is-callable/LICENSE +sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/is-regex/LICENSE +sha256 bd40cc437e28a3ad7bef2ad34e6b72e757b182e67bda1acadbab4ef0476f8232 chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/object-inspect/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/string.prototype.trimleft/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/object.values/node_modules/string.prototype.trimright/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/once/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/onetime/license +sha256 8089bcc08845ec143e5761f4a101a65b8c792a0dedbfeeb90a15560c0b77f768 chromium/third_party/devtools-frontend/src/node_modules/on-finished/LICENSE +sha256 b9eb082c39fe245e38793699074c394c43a722c51fce031c3c165cb92a31035c chromium/third_party/devtools-frontend/src/node_modules/optionator/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/osenv/LICENSE +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/os-homedir/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/os-tmpdir/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/parent-module/license +sha256 9f084fac69d8cf1e6ce983ba5a3499c7695ed74a26ec625c38f0fd19fddd5e10 chromium/third_party/devtools-frontend/src/node_modules/parse-entities/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/parse-json/license +sha256 a41d7b212c43bf90af534ec5d73d24a65e3a8cf17941b6d10e9398346a179698 chromium/third_party/devtools-frontend/src/node_modules/parseqs/LICENSE +sha256 15c35ddf8c82a5fc84e3801db12e279b744605d6ad810e1b52ad09832fc71806 chromium/third_party/devtools-frontend/src/node_modules/parseuri/LICENSE +sha256 11d017c3b9f1ee3f44caf7203035f0461d5b57e0db8ce1bc03a9af34fa7d3f6b chromium/third_party/devtools-frontend/src/node_modules/parseurl/LICENSE +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/path-exists/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/path-is-absolute/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/path-key/license +sha256 3f4609137f65070541b9214300ea0d640af8192857de0eeb2b03403003d9228a chromium/third_party/devtools-frontend/src/node_modules/path-parse/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/path-type/license +sha256 5d45910e7ed82fecc3e29b40a5b3a17ceb609fda19f860aa2ec180d87f4f9d4a chromium/third_party/devtools-frontend/src/node_modules/pathval/LICENSE +sha256 7e64acffcb0d20d33f5a86949ffd4a99ae045b10c7332a9c3a58635876c16880 chromium/third_party/devtools-frontend/src/node_modules/pend/LICENSE +sha256 d0cd141b0c322fded5dfad1d4645bb2fedfc05b7321fe1009469638190d59ef9 chromium/third_party/devtools-frontend/src/node_modules/picomatch/LICENSE +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/find-up/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/locate-path/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/path-exists/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/p-limit/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/p-locate/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/pkg-dir/node_modules/p-try/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/pkg-up/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/pkg-up/node_modules/find-up/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/pkg-up/node_modules/locate-path/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/pkg-up/node_modules/p-limit/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/pkg-up/node_modules/p-locate/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/pkg-up/node_modules/p-try/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/p-limit/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/p-locate/license +sha256 2db459b0f45bd3b3836c374c6ef9ff5b2b2a31628e09f3c803e18f6c629b56b1 chromium/third_party/devtools-frontend/src/node_modules/postcss-html/LICENSE +sha256 ce4ef9c48a45bbfc480671256a45a191ece0622d78061599b09b0ee60cf517d6 chromium/third_party/devtools-frontend/src/node_modules/postcss-less/LICENSE +sha256 c4630ac8b89cb317ac5bdd60ac5e4e185eab9bd5151a0c7b3afa41aa83d7ec9b chromium/third_party/devtools-frontend/src/node_modules/postcss/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/postcss/node_modules/supports-color/license +sha256 8e714750725e75c8b31172ef84c0805f94873f86e3b5cfca8a948553f0778fa1 chromium/third_party/devtools-frontend/src/node_modules/postcss-reporter/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/postcss-reporter/node_modules/log-symbols/license +sha256 d060f91dafa4f2daaeb5a87bdaab60217a5beb87a31eb0c480420710368ebf15 chromium/third_party/devtools-frontend/src/node_modules/postcss-resolve-nested-selector/LICENSE +sha256 c4630ac8b89cb317ac5bdd60ac5e4e185eab9bd5151a0c7b3afa41aa83d7ec9b chromium/third_party/devtools-frontend/src/node_modules/postcss-safe-parser/LICENSE +sha256 e695904c289dbc8a8bca514639c4ec26e695cf21c3c1f12a917d325b26396917 chromium/third_party/devtools-frontend/src/node_modules/postcss-sass/LICENSE +sha256 c4630ac8b89cb317ac5bdd60ac5e4e185eab9bd5151a0c7b3afa41aa83d7ec9b chromium/third_party/devtools-frontend/src/node_modules/postcss-scss/LICENSE +sha256 2998094b38f7ace25f141fb36f334d8338f65a1812978d618b1161f4d77ae10e chromium/third_party/devtools-frontend/src/node_modules/postcss-selector-parser/LICENSE-MIT +sha256 2db459b0f45bd3b3836c374c6ef9ff5b2b2a31628e09f3c803e18f6c629b56b1 chromium/third_party/devtools-frontend/src/node_modules/postcss-syntax/LICENSE +sha256 3687447039151857a6ba378db062172c7f33d4aa70a615c87a43a9c50e990485 chromium/third_party/devtools-frontend/src/node_modules/postcss-value-parser/LICENSE +sha256 b9eb082c39fe245e38793699074c394c43a722c51fce031c3c165cb92a31035c chromium/third_party/devtools-frontend/src/node_modules/prelude-ls/LICENSE +sha256 f4bbb78fa28677ad9b9c0a4b7a255e23c0b24e619c873ed66a11d47c16c88114 chromium/third_party/devtools-frontend/src/node_modules/private/LICENSE +sha256 d7d2a7786de7c7cfd96f920c6f12927d74e1d2a861ca4498bf465c3bc3f4c21c chromium/third_party/devtools-frontend/src/node_modules/progress/LICENSE +sha256 cfc3f455254c0af0655cc3ff46a41ed644b67599f6043346169d285bf2b3cf3b chromium/third_party/devtools-frontend/src/node_modules/promise.allsettled/LICENSE +sha256 f55828df4b8752c48e765a806465b76a103e3cb363379c569b15a1df2ba2d79e chromium/third_party/devtools-frontend/src/node_modules/proxy-from-env/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/p-try/license +sha256 3fe8d55a98dbf260eace67c00cf9bc53edb46234e840098a0b93df3096b97fb6 chromium/third_party/devtools-frontend/src/node_modules/pump/LICENSE +sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a chromium/third_party/devtools-frontend/src/node_modules/punycode/LICENSE-MIT.txt +sha256 a27ca07269b3518550b2e83aed13eadd7d14d924b5864e14889b40cf227530ca chromium/third_party/devtools-frontend/src/node_modules/puppeteer/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/puppeteer/node_modules/pkg-dir/license +sha256 3de284c8e6fa7e8437eff6f53695471e0332129a5b42a79361e17b7637de94b3 chromium/third_party/devtools-frontend/src/node_modules/puppeteer/node_modules/ws/LICENSE +sha256 d2f9d2835eb09ccf673e118e4fdc372075437c1787e66c2202912fbe3e5ee9e1 chromium/third_party/devtools-frontend/src/node_modules/qs/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/quick-lru/license +sha256 f0606775704212c0b49fb4df8193f7ec190d057551fc857d9f3aaa482b878e29 chromium/third_party/devtools-frontend/src/node_modules/ramda/LICENSE.txt +sha256 f655e6291356ec0de7a8f0e69f294961a2cea86678ec94588be1e6a492e278ab chromium/third_party/devtools-frontend/src/node_modules/range-parser/LICENSE +sha256 c8e6bca7230689d536a3bd7158f66e9c4f89f95d0748743a0370ac229e9023ad chromium/third_party/devtools-frontend/src/node_modules/raw-body/LICENSE +sha256 ec62dc96da0099b87f4511736c87309335527fb7031639493e06c95728dc8c54 chromium/third_party/devtools-frontend/src/node_modules/readable-stream/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/readdir-scoped-modules/LICENSE +sha256 5ffe28e7ade7d8f10d85d5337a73fd793dac5c462fb9a28fbf8c5046c7fbca3b chromium/third_party/devtools-frontend/src/node_modules/read-installed/LICENSE +sha256 69be713b3d6c33e0dba76c4d23d986d568593abca04ce47d75162af255d6a345 chromium/third_party/devtools-frontend/src/node_modules/read-package-json/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/read-pkg/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/read-pkg/node_modules/parse-json/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/read-pkg/node_modules/type-fest/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/read-pkg-up/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/read-pkg-up/node_modules/find-up/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/read-pkg-up/node_modules/locate-path/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/read-pkg-up/node_modules/path-exists/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/read-pkg-up/node_modules/p-locate/license +sha256 6ca87d1dce5b82873603e566fd83dabe8771fb169013337d4a14bb9bbf794687 chromium/third_party/devtools-frontend/src/node_modules/recast/LICENSE +sha256 94bcb9959136723aa4fb36e1a6c4d5c662a2369978cfae344dabfb83ae619e79 chromium/third_party/devtools-frontend/src/node_modules/recast/node_modules/esprima/LICENSE.BSD +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/redent/license +sha256 fcf6eabf68ca96988a6b506b4fdc6cc32535d80eb2e11c79724af5ac6f50262b chromium/third_party/devtools-frontend/src/node_modules/regexpp/LICENSE +sha256 3672fb6ef1c214578dfee689643516c2685f61ab08d130517ca8ea24f383a840 chromium/third_party/devtools-frontend/src/node_modules/repeat-string/LICENSE +sha256 dcb55717e2528ce8ffcff58a26dbc456d03929422ef59b6efdabbb931ef09aea chromium/third_party/devtools-frontend/src/node_modules/replace-ext/LICENSE +sha256 a92e52eb1fa7cd746e3827bf01d3a3589bbc8e1e51348b1da042aad165525ad1 chromium/third_party/devtools-frontend/src/node_modules/require-directory/LICENSE +sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d chromium/third_party/devtools-frontend/src/node_modules/require-main-filename/LICENSE.txt +sha256 3b2a6a268aa815dec121d614245e03b5c68db1f044d5b525e36db7d5dc7fb9c3 chromium/third_party/devtools-frontend/src/node_modules/requires-port/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/resolve-from/license +sha256 60acd7711e6c138e6041836e32d922705254cc1568a30fdf16aa8f59bb87aeaa chromium/third_party/devtools-frontend/src/node_modules/resolve/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/restore-cursor/license +sha256 db0054e6418412e4a265236c94d1d8935057c67f367240b01bb2b0b2f9091812 chromium/third_party/devtools-frontend/src/node_modules/reusify/LICENSE +sha256 1ce941682a96c7b898ecd125d0f2e22319758ea6f3adbf498a65d649b0f3f7dd chromium/third_party/devtools-frontend/src/node_modules/rfdc/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/rimraf/LICENSE +sha256 d6a61720669b71b4920ead9792298c3b4e27ce776282053c9df3b781fc8480ca chromium/third_party/devtools-frontend/src/node_modules/rollup/LICENSE.md +sha256 99de4c30f4643c00d4895d9c6ade0af4ec43d301449c191f5fbe41b53bb6a13a chromium/third_party/devtools-frontend/src/node_modules/rollup/node_modules/fsevents/LICENSE +sha256 7b8136f76c483d03597500bfa991aae9be68d4629e1121cbf9b93aa727efe305 chromium/third_party/devtools-frontend/src/node_modules/@rollup/plugin-commonjs/LICENSE +sha256 a361479777395f33fb109bd77c7888663f5dc6f3a18ddaba812cf81be29e0cc3 chromium/third_party/devtools-frontend/src/node_modules/rollup-plugin-terser/LICENSE +sha256 7b8136f76c483d03597500bfa991aae9be68d4629e1121cbf9b93aa727efe305 chromium/third_party/devtools-frontend/src/node_modules/@rollup/pluginutils/LICENSE +sha256 d0cd141b0c322fded5dfad1d4645bb2fedfc05b7321fe1009469638190d59ef9 chromium/third_party/devtools-frontend/src/node_modules/@rollup/pluginutils/node_modules/picomatch/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@rollup/pluginutils/node_modules/@types/estree/LICENSE +sha256 e5c1364118b39fa98b959138ce4aa4d0e68cfbee12d115e69730579fecb1dc1b chromium/third_party/devtools-frontend/src/node_modules/run-async/LICENSE +sha256 d4c2065e2b936e62a4eb400efb4576edec9ca1388a9f78aa288e147275e7bc8b chromium/third_party/devtools-frontend/src/node_modules/run-parallel/LICENSE +sha256 81c407ac717813b0e3795402960e04003c7bba8ba59b621624707028531c9ade chromium/third_party/devtools-frontend/src/node_modules/rxjs/_esm2015/LICENSE.txt +sha256 81c407ac717813b0e3795402960e04003c7bba8ba59b621624707028531c9ade chromium/third_party/devtools-frontend/src/node_modules/rxjs/_esm5/LICENSE.txt +sha256 81c407ac717813b0e3795402960e04003c7bba8ba59b621624707028531c9ade chromium/third_party/devtools-frontend/src/node_modules/rxjs/LICENSE.txt +sha256 81c407ac717813b0e3795402960e04003c7bba8ba59b621624707028531c9ade chromium/third_party/devtools-frontend/src/node_modules/rxjs/src/LICENSE.txt +sha256 c7cc929b57080f4b9d0c6cf57669f0463fc5b39906344dfc8d3bc43426b30eac chromium/third_party/devtools-frontend/src/node_modules/safe-buffer/LICENSE +sha256 4bc935e71be198c67ddf3c2b5fddb195f6edc182bfc155a96a6db61b44b494b9 chromium/third_party/devtools-frontend/src/node_modules/safer-buffer/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/semver/LICENSE +sha256 d3dfa68a3c80e64eb10e46cef10e4208502da5ffb1387b11db00e42a507ab8f7 chromium/third_party/devtools-frontend/src/node_modules/serialize-javascript/LICENSE +sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d chromium/third_party/devtools-frontend/src/node_modules/set-blocking/LICENSE.txt +sha256 76d6d1ea0c268da37dd3c961b4fcfb23dee8417fff9e8786d4d44c585b781b69 chromium/third_party/devtools-frontend/src/node_modules/setprototypeof/LICENSE +sha256 e6fdf7ac2af533b4436d99aa75df32aa78690510f7d68a3e73e8576967298d2f chromium/third_party/devtools-frontend/src/node_modules/shebang-command/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/shebang-regex/license +sha256 e05b1eaf5b5f99b7ad75cd1f38858ff9a311780b97715ead67936d60bf96aa7e chromium/third_party/devtools-frontend/src/node_modules/signal-exit/LICENSE.txt +sha256 3dc3b3d3a284d871f7f307655c90fb101d73abbf87bbddeefd2f67883353bdbc chromium/third_party/devtools-frontend/src/node_modules/slice-ansi/license +sha256 05dc4d785ac3a488676d3ed10e901b75ad89dafcc63f8e66610fd4a39cc5c7e8 chromium/third_party/devtools-frontend/src/node_modules/slide/LICENSE +sha256 56b7b228fde8d638cc7f1c3d0022cf111764083ac4f803b7a50a90388dce3788 chromium/third_party/devtools-frontend/src/node_modules/socket.io-adapter/LICENSE +sha256 62e2032a1e1458b1d92a62f5fc51be48e08b95062295c91a9f3bd3686809d37e chromium/third_party/devtools-frontend/src/node_modules/socket.io-client/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/socket.io-client/node_modules/debug/LICENSE +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/socket.io-client/node_modules/ms/license.md +sha256 c10d192d935165dac336ae245f9eef4c42bb37e7c6f5c5f6f7663db778122df1 chromium/third_party/devtools-frontend/src/node_modules/socket.io/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/socket.io/node_modules/debug/LICENSE +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/socket.io/node_modules/ms/license.md +sha256 56b7b228fde8d638cc7f1c3d0022cf111764083ac4f803b7a50a90388dce3788 chromium/third_party/devtools-frontend/src/node_modules/socket.io-parser/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/socket.io-parser/node_modules/debug/LICENSE +sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 chromium/third_party/devtools-frontend/src/node_modules/socket.io-parser/node_modules/ms/license.md +sha256 1c632a84f7ba5a7b32d9c15e707f419b2393e7ad7de362bd9c837b5e435a197b chromium/third_party/devtools-frontend/src/node_modules/sourcemap-codec/LICENSE +sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd chromium/third_party/devtools-frontend/src/node_modules/source-map/LICENSE +sha256 3a7d3bb198e909ed642bd68bd29a7d7c09a636d27a51ec663d35f00c4760ec42 chromium/third_party/devtools-frontend/src/node_modules/source-map-support/LICENSE.md +sha256 c5ca60a739543ef97683dfa0a94773b214c86c826c76a27b8f8e6eb38148cbce chromium/third_party/devtools-frontend/src/node_modules/spdx-compare/LICENSE.md +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/devtools-frontend/src/node_modules/spdx-correct/LICENSE +sha256 7edb57f7065309027de249642341292a5b21410d5773cc55bba73ff9cf01060e chromium/third_party/devtools-frontend/src/node_modules/spdx-expression-parse/LICENSE +sha256 c5ca60a739543ef97683dfa0a94773b214c86c826c76a27b8f8e6eb38148cbce chromium/third_party/devtools-frontend/src/node_modules/spdx-ranges/LICENSE.md +sha256 a21ab121cef9bed38553faad40e49b27ae3d2578d07a70956664e681021c9875 chromium/third_party/devtools-frontend/src/node_modules/spdx-satisfies/LICENSE +sha256 b2aeda654259630ed67b54e9134623c38cfb11d26201730cdc6d311d3c7c78ed chromium/third_party/devtools-frontend/src/node_modules/specificity/LICENSE +sha256 a4cdda44b5adea4731d53dcae78fb5124f8fd853e994f01e25d8c33a7daf818b chromium/third_party/devtools-frontend/src/node_modules/sprintf-js/LICENSE +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/state-toggle/license +sha256 512cfa4d5e7a7569c7ae4dd95241cb6ae2aaf648ef9ebd080c01bd24868d26e9 chromium/third_party/devtools-frontend/src/node_modules/statuses/LICENSE +sha256 9660914267128b5f96a102bd7f6268c249110a39cb7c4bb7f536d856445d739c chromium/third_party/devtools-frontend/src/node_modules/streamroller/LICENSE +sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 chromium/third_party/devtools-frontend/src/node_modules/streamroller/node_modules/debug/LICENSE +sha256 11f2aafb37d06b3ee5bdaf06e9811141d0da05263c316f3d627f45c20d43261b chromium/third_party/devtools-frontend/src/node_modules/string_decoder/LICENSE +sha256 9f084fac69d8cf1e6ce983ba5a3499c7695ed74a26ec625c38f0fd19fddd5e10 chromium/third_party/devtools-frontend/src/node_modules/stringify-entities/license +sha256 a5e49293b629194f16e08c965807b34a4a8f45aa2735658a3b0e3c1478a34b30 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/LICENSE +sha256 00d402c2bbe7c67369bd01ce2c16b8ed46ccc949a1ee2d6bb8f9606afa8c7434 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/es-abstract/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/es-to-primitive/LICENSE +sha256 206c1adcf206dc0031b11232f5b054ec5f1662407ab1ca415247921cab2068ab chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/has-symbols/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/is-callable/LICENSE +sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/is-regex/LICENSE +sha256 bd40cc437e28a3ad7bef2ad34e6b72e757b182e67bda1acadbab4ef0476f8232 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/object-inspect/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/string.prototype.trimleft/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimend/node_modules/string.prototype.trimright/LICENSE +sha256 a5e49293b629194f16e08c965807b34a4a8f45aa2735658a3b0e3c1478a34b30 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/LICENSE +sha256 00d402c2bbe7c67369bd01ce2c16b8ed46ccc949a1ee2d6bb8f9606afa8c7434 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/es-abstract/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/es-to-primitive/LICENSE +sha256 206c1adcf206dc0031b11232f5b054ec5f1662407ab1ca415247921cab2068ab chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/has-symbols/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/is-callable/LICENSE +sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/is-regex/LICENSE +sha256 bd40cc437e28a3ad7bef2ad34e6b72e757b182e67bda1acadbab4ef0476f8232 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/object-inspect/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/string.prototype.trimleft/LICENSE +sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimstart/node_modules/string.prototype.trimright/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/string-width/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/strip-ansi/license +sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c chromium/third_party/devtools-frontend/src/node_modules/strip-bom/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/strip-indent/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/strip-json-comments/license +sha256 fef84a79e6f9d8ada80ddbdb877a2c48c5c89ace72d4684c7af57991f119006d chromium/third_party/devtools-frontend/src/node_modules/stylelint-config-recommended/LICENSE +sha256 5745227ba0bbe3fadd255f420c5f87b4f12fee5e442e6ee46e80c3c567102316 chromium/third_party/devtools-frontend/src/node_modules/stylelint-config-standard/LICENSE +sha256 75d7a49cb407946d65586e81b72265fbf5c87d5e4a7e03f9dcb4034ae3aba725 chromium/third_party/devtools-frontend/src/node_modules/stylelint/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/ansi-regex/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/ansi-styles/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/chalk/license +sha256 693866fc419c6f61c8570438ec00659d156ec2b4d4a4d04091711f5f11a365d4 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/color-convert/LICENSE +sha256 7357445bac398c76c0aef75a587009fe406d40de6a79789eb5b7ecbbad317ef2 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/color-name/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/has-flag/license +sha256 9c94db23dc4b1e9aaee5d195668b916afc71efed54af226b66cf0ccc4389c1c0 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/ignore/LICENSE-MIT +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/is-fullwidth-code-point/license +sha256 5c932d88256b4ab958f64a856fa48e8bd1f55bc1d96b8149c65689e0c61789d3 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/log-symbols/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/resolve-from/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/slash/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/string-width/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/strip-ansi/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/stylelint/node_modules/supports-color/license +sha256 2db459b0f45bd3b3836c374c6ef9ff5b2b2a31628e09f3c803e18f6c629b56b1 chromium/third_party/devtools-frontend/src/node_modules/@stylelint/postcss-css-in-js/LICENSE +sha256 2db459b0f45bd3b3836c374c6ef9ff5b2b2a31628e09f3c803e18f6c629b56b1 chromium/third_party/devtools-frontend/src/node_modules/@stylelint/postcss-markdown/LICENSE +sha256 9fb0656e79b3f61b6f49e2bf0cc19e667192d57344b91f91a8ce464659c620f7 chromium/third_party/devtools-frontend/src/node_modules/style-search/LICENSE +sha256 f20adb7ae92bfb7fde52791839ff1714564b4ea60a4cd031d77208a521592a4e chromium/third_party/devtools-frontend/src/node_modules/sugarss/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/supports-color/license +sha256 4fa26a349d96c6bf268296011d84a70d18a1e85dfbef9a3c3f785c97e28d1f5d chromium/third_party/devtools-frontend/src/node_modules/svg-tags/LICENSE +sha256 37b6932865726cf59cbfb8b32a5c9fd82c834c2deba4d53aa4a6b433ae69cdda chromium/third_party/devtools-frontend/src/node_modules/table/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/table/node_modules/ansi-regex/license +sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a chromium/third_party/devtools-frontend/src/node_modules/table/node_modules/emoji-regex/LICENSE-MIT.txt +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/table/node_modules/string-width/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/table/node_modules/strip-ansi/license +sha256 3fe8d55a98dbf260eace67c00cf9bc53edb46234e840098a0b93df3096b97fb6 chromium/third_party/devtools-frontend/src/node_modules/tar-fs/LICENSE +sha256 3fe8d55a98dbf260eace67c00cf9bc53edb46234e840098a0b93df3096b97fb6 chromium/third_party/devtools-frontend/src/node_modules/tar-stream/LICENSE +sha256 68335488ef8f917c0feb901ace385f8c919bc81b0b60448a92928a3769fcec8f chromium/third_party/devtools-frontend/src/node_modules/terser/LICENSE +sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b chromium/third_party/devtools-frontend/src/node_modules/text-table/LICENSE +sha256 e8734448285a2dd773d40136ed5d5e8163a70701dd540cdc796cfca232f67d55 chromium/third_party/devtools-frontend/src/node_modules/through/LICENSE.APACHE2 +sha256 d72dea1a8cdf3f4dfa2f594253d0c5b37baefc76e806f5ecb0e426393edcd505 chromium/third_party/devtools-frontend/src/node_modules/through/LICENSE.MIT +sha256 162413c61e0982abe89a06bf7a02ec760dc49a7364d838bd9f01daebb5b95954 chromium/third_party/devtools-frontend/src/node_modules/tmp/LICENSE +sha256 61b82d27e63b14eabc706960aabf6caa1b27d044eb00d7908f92e68085301c3a chromium/third_party/devtools-frontend/src/node_modules/to-fast-properties/license +sha256 a832d679750e49ab433626ab196350b89964b60eb0d3edd3341887c7d5f4c128 chromium/third_party/devtools-frontend/src/node_modules/toidentifier/LICENSE +sha256 e7d1fee7347ffddccc5fd03327ffdb50f8c112be0d5016d62388a92c4ae6e7a9 chromium/third_party/devtools-frontend/src/node_modules/to-regex-range/LICENSE +sha256 83927d1555a8e1d5ed9896991fbb2b4cdfb64f45f5e12b7446c3bff5cea538d3 chromium/third_party/devtools-frontend/src/node_modules/treeify/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/trim-newlines/license +sha256 9f084fac69d8cf1e6ce983ba5a3499c7695ed74a26ec625c38f0fd19fddd5e10 chromium/third_party/devtools-frontend/src/node_modules/trim-trailing-lines/license +sha256 6c03fd41cfd7c92d8aa8a2fa521b94b2683f059123281dcf921ddea9216b6254 chromium/third_party/devtools-frontend/src/node_modules/trough/license +sha256 a5e9f9b1575301c7a7a03508fdaa2e05a918cc17fd21c6e898096a96d6a34f61 chromium/third_party/devtools-frontend/src/node_modules/tslib/LICENSE.txt +sha256 ed0ff5ab79bc82703690fde4644e352c9ce73e9b890b87ea68b1a1fc5805792b chromium/third_party/devtools-frontend/src/node_modules/tsutils/LICENSE +sha256 b9eb082c39fe245e38793699074c394c43a722c51fce031c3c165cb92a31035c chromium/third_party/devtools-frontend/src/node_modules/type-check/LICENSE +sha256 c7cc929b57080f4b9d0c6cf57669f0463fc5b39906344dfc8d3bc43426b30eac chromium/third_party/devtools-frontend/src/node_modules/typedarray-to-buffer/LICENSE +sha256 e5aee0714b6ecc416454b968d1017570ef609f20d8722ab84b07acd550b78198 chromium/third_party/devtools-frontend/src/node_modules/type-detect/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/type-fest/license +sha256 23d466b1b134b415b66fa50c6526b4cf3e7b9258554da88d3abb371721e7ce68 chromium/third_party/devtools-frontend/src/node_modules/type-is/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/chai/LICENSE +sha256 c2cfccb812fe482101a8f04597dfc5a9991a6b2748266c47ac91b6a5aae15383 chromium/third_party/devtools-frontend/src/node_modules/@types/codemirror/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/color-name/LICENSE +sha256 5938d4fe4890c79ad14e02e643c385b25b8b6c7bbb97ab08996034b586512df5 chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/eslint-plugin/LICENSE +sha256 fcf6eabf68ca96988a6b506b4fdc6cc32535d80eb2e11c79724af5ac6f50262b chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/eslint-plugin/node_modules/regexpp/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/eslint-plugin/node_modules/semver/LICENSE +sha256 5938d4fe4890c79ad14e02e643c385b25b8b6c7bbb97ab08996034b586512df5 chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/experimental-utils/LICENSE +sha256 fcf6eabf68ca96988a6b506b4fdc6cc32535d80eb2e11c79724af5ac6f50262b chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils/LICENSE +sha256 e2fc706570305bcb7dfadb1cac951d5934ce0d7331a7a7ff1bbc254dbe1d9ef8 chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/parser/LICENSE +sha256 635818d8f39384751c8a5f3f3e735022f07afb3ccdb26eb17ff8eca28428f888 chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/typescript-estree/LICENSE +sha256 6236fa0b88a4a0cce3dda0367979491b2052b3c8d6b1c10b3668de083e86a7f0 chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/typescript-estree/node_modules/glob/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/typescript-estree/node_modules/semver/LICENSE +sha256 5938d4fe4890c79ad14e02e643c385b25b8b6c7bbb97ab08996034b586512df5 chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/types/LICENSE +sha256 5938d4fe4890c79ad14e02e643c385b25b8b6c7bbb97ab08996034b586512df5 chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/visitor-keys/LICENSE +sha256 a5e9f9b1575301c7a7a03508fdaa2e05a918cc17fd21c6e898096a96d6a34f61 chromium/third_party/devtools-frontend/src/node_modules/typescript/LICENSE.txt +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/eslint-visitor-keys/LICENSE +sha256 c2cfccb812fe482101a8f04597dfc5a9991a6b2748266c47ac91b6a5aae15383 chromium/third_party/devtools-frontend/src/node_modules/@types/estree/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/filesystem/LICENSE +sha256 c2cfccb812fe482101a8f04597dfc5a9991a6b2748266c47ac91b6a5aae15383 chromium/third_party/devtools-frontend/src/node_modules/@types/json-schema/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/mocha/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/node/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/normalize-package-data/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/parse-json/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/puppeteer/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/tern/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/unist/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/devtools-frontend/src/node_modules/@types/yauzl/LICENSE +sha256 c427692fb89dcb92bb0cc0905a650f986a7736e4ef90f9e5356a4dfdcf243b9e chromium/third_party/devtools-frontend/src/node_modules/ua-parser-js/license.md +sha256 3b2a6a268aa815dec121d614245e03b5c68db1f044d5b525e36db7d5dc7fb9c3 chromium/third_party/devtools-frontend/src/node_modules/ultron/LICENSE +sha256 81ae93d537c22c0baf10928b8ee5e13d5addc50433e12cf52f1f8292ed70d108 chromium/third_party/devtools-frontend/src/node_modules/unbzip2-stream/LICENSE +sha256 05811400116ed61f1a7693b78fe8ca6598c155a12f3978e609db4df648a4cb3d chromium/third_party/devtools-frontend/src/node_modules/unherit/license +sha256 05811400116ed61f1a7693b78fe8ca6598c155a12f3978e609db4df648a4cb3d chromium/third_party/devtools-frontend/src/node_modules/unified/license +sha256 e67aed7df22dc8031e4fcf5338fe91cb33e3817e5c58a99a2a2802eea9069791 chromium/third_party/devtools-frontend/src/node_modules/uniq/LICENSE +sha256 63cb98b3f6abfb3c3592c16f88253c1bdc834087bf52671e8ce5609e4eb693cf chromium/third_party/devtools-frontend/src/node_modules/unist-util-find-all-after/license +sha256 82974dbf2639d13edab95c32ed9cb6c0867ede272cd2e07ce47ce8548fe55c05 chromium/third_party/devtools-frontend/src/node_modules/unist-util-is/license +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/unist-util-remove-position/license +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/unist-util-stringify-position/license +sha256 63cb98b3f6abfb3c3592c16f88253c1bdc834087bf52671e8ce5609e4eb693cf chromium/third_party/devtools-frontend/src/node_modules/unist-util-visit/license +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/unist-util-visit-parents/license +sha256 3fda5977c0904e226190b4e21d64340c1731e2142d6fe5f3dee0090a216b8b63 chromium/third_party/devtools-frontend/src/node_modules/universalify/LICENSE +sha256 1a526fbe8d8577f5a4b1c2821842b55b7c0e18862531c62ae4ce69c9b19b74b6 chromium/third_party/devtools-frontend/src/node_modules/unpipe/LICENSE +sha256 0154425673db15cdfa80ecba2c9b1f1a867f7197a006764712849bfc3a93cbb7 chromium/third_party/devtools-frontend/src/node_modules/util-deprecate/LICENSE +sha256 6239c6144c31e58cf925c34483606969c555574d64ffa96518ab5d7f45c75d43 chromium/third_party/devtools-frontend/src/node_modules/util-extend/LICENSE +sha256 6e7d699cdd1e4fa837ba7718ea49841aa67201b449ea8b3f9cf274be15974a64 chromium/third_party/devtools-frontend/src/node_modules/utils-merge/LICENSE +sha256 c77674258a3fdf3036a5d13d2aecd30d7a25aa6191cb0a9a7dd45b975dc7fe69 chromium/third_party/devtools-frontend/src/node_modules/v8-compile-cache/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/devtools-frontend/src/node_modules/validate-npm-package-license/LICENSE +sha256 05811400116ed61f1a7693b78fe8ca6598c155a12f3978e609db4df648a4cb3d chromium/third_party/devtools-frontend/src/node_modules/vfile/license +sha256 ca4662cb5d1b738fbe5350c0d5485ba11773b4b7208974082ae6e129a52d631d chromium/third_party/devtools-frontend/src/node_modules/vfile-location/license +sha256 d8fc337aaf98fc7a0f5498edc18b47a9df8cdfcc1a0f013519105905722c7a4c chromium/third_party/devtools-frontend/src/node_modules/vfile-message/license +sha256 405a272eaef556691ad7dda96db3237c9544afe18725842a1a5b3ec308960222 chromium/third_party/devtools-frontend/src/node_modules/void-elements/LICENSE +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/which/LICENSE +sha256 852bf81203aa93aa89afc9f881ebb035322dc7334aaceff435c557634c94a815 chromium/third_party/devtools-frontend/src/node_modules/which-module/LICENSE +sha256 0cef05dfff8b6aa7f35596984f5709f0d17c2582924a751efa471a76de7cdc11 chromium/third_party/devtools-frontend/src/node_modules/wide-align/LICENSE +sha256 f4a48aa8354a257785aa534bab2ac5ff2c2a98cd59cdf4a637bb68ee185683f7 chromium/third_party/devtools-frontend/src/node_modules/word-wrap/LICENSE +sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b chromium/third_party/devtools-frontend/src/node_modules/wordwrap/LICENSE +sha256 6dc0e068dcf3a5bc8e054205b85b7720e1d49265bbc64bf515d2cf79197df69a chromium/third_party/devtools-frontend/src/node_modules/workerpool/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/ansi-regex/license +sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/emoji-regex/LICENSE-MIT.txt +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/string-width/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/strip-ansi/license +sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b chromium/third_party/devtools-frontend/src/node_modules/wrappy/LICENSE +sha256 ea7f376fe7a1fc28572b83ac8f806d92effb31852b9981bc9ba9d5266caa6b28 chromium/third_party/devtools-frontend/src/node_modules/write-file-atomic/LICENSE +sha256 0ead7e8cd8b0bc66a981ee69acaf1297ffa838cfce1b156a039bb24f997c0a27 chromium/third_party/devtools-frontend/src/node_modules/write/LICENSE +sha256 3de284c8e6fa7e8437eff6f53695471e0332129a5b42a79361e17b7637de94b3 chromium/third_party/devtools-frontend/src/node_modules/ws/LICENSE +sha256 c7cc929b57080f4b9d0c6cf57669f0463fc5b39906344dfc8d3bc43426b30eac chromium/third_party/devtools-frontend/src/node_modules/ws/node_modules/safe-buffer/LICENSE +sha256 a5f35901ee8b2039a7431144c23dd10bd47c1d07bcee0cd3a536421d86412214 chromium/third_party/devtools-frontend/src/node_modules/xmlhttprequest-ssl/LICENSE +sha256 82e67379203d5794e7c44549847d8d64ae6904591381682360470898bd306821 chromium/third_party/devtools-frontend/src/node_modules/xtend/LICENSE +sha256 2034cce3b6fafcddd642c4175e01d3ddfc332a53b9f20fdc46b1466dc89ac469 chromium/third_party/devtools-frontend/src/node_modules/y18n/LICENSE +sha256 0f10bab9eedc5d50183a6dbce9f76e8db974103bfd32d64674406dfeb7654ee7 chromium/third_party/devtools-frontend/src/node_modules/yaml/LICENSE +sha256 fe71524a15f30aab0f39af7165d38fc64a4269b7d2a0caffebc907355aec9c92 chromium/third_party/devtools-frontend/src/node_modules/yargs/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/ansi-regex/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/ansi-styles/license +sha256 2dc0465729366c3a7890dfa9e972a1ba7048a26c02116fb8b419a6a1ac110149 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/cliui/LICENSE.txt +sha256 693866fc419c6f61c8570438ec00659d156ec2b4d4a4d04091711f5f11a365d4 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/color-convert/LICENSE +sha256 7357445bac398c76c0aef75a587009fe406d40de6a79789eb5b7ecbbad317ef2 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/color-name/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/find-up/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/is-fullwidth-code-point/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/locate-path/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/path-exists/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/p-locate/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/string-width/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/strip-ansi/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/wrap-ansi/license +sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/yargs-parser/LICENSE.txt +sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d chromium/third_party/devtools-frontend/src/node_modules/yargs-parser/LICENSE.txt +sha256 30877d17f7e38530d46b49fb375ee98ce2e8b085b3ee72d4c2888710416ef139 chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/LICENSE +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/ansi-regex/license +sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/emoji-regex/LICENSE-MIT.txt +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/find-up/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/locate-path/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/p-locate/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/string-width/license +sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/strip-ansi/license +sha256 fe71524a15f30aab0f39af7165d38fc64a4269b7d2a0caffebc907355aec9c92 chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/yargs/LICENSE +sha256 b303783d5eb7ca50b853ffa5f145e4e7998fab339831d848f507ca6cd970577a chromium/third_party/devtools-frontend/src/node_modules/yauzl/LICENSE +sha256 3b2a6a268aa815dec121d614245e03b5c68db1f044d5b525e36db7d5dc7fb9c3 chromium/third_party/devtools-frontend/src/node_modules/yeast/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/devtools-frontend/src/scripts/closure/COPYING +sha256 7ec9661a8afafab1eee3523d6f1a193eff76314a5ab10b4ce96aefd87621b0c3 chromium/third_party/devtools-frontend/src/third_party/i18n/LICENSE +sha256 a8ad31b1c3f40dca5a84119351b8fa8ddc868edd77fad8a8ebf6d8f2d16fa4ae chromium/third_party/devtools-frontend/src/third_party/pyjson5/src/LICENSE +sha256 4f5753ce8acf3feafc758599058746d30bda07bc0d4cc3a6a1eb8e039fdba1dc chromium/third_party/dom_distiller_js/LICENSE +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 chromium/third_party/dpkg-shlibdeps/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/emoji-segmenter/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/emoji-segmenter/src/LICENSE +sha256 9021fdb5341ebbb2eb5c771ac5cfac527790673179d3b21a42de1ab2798ec30f chromium/third_party/espresso/LICENSE +sha256 8c6b5b6de8fae20b317f4992729abc0e520bfba4c7606cd1e9eeb87418eebdec chromium/third_party/expat/src/expat/COPYING +sha256 d9c904abd0ead61b3fbaef0a609285548076ff9c3f814cc1cf019c5d7150736d chromium/third_party/ffmpeg/chromium/scripts/license_texts/full_lgpl.txt +sha256 a8579e3fc40c11ab147bc299257733eb749cd455010385f7c117f70d7aef24e4 chromium/third_party/ffmpeg/chromium/scripts/license_texts/jpeg.txt +sha256 857d5f537af3aa164e7a27eda60147d34195e5781abe7b1d358d9fb01e222ae0 chromium/third_party/ffmpeg/chromium/scripts/license_texts/mips.txt +sha256 b4c85cce2b772f27d83f4562c20787057dc6949fcecc820a82c1d2e7047e89c3 chromium/third_party/ffmpeg/chromium/scripts/license_texts/oggparse_ahlberg_rullgayrd_2005.txt +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 chromium/third_party/ffmpeg/COPYING.GPLv2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 chromium/third_party/ffmpeg/COPYING.GPLv3 +sha256 b634ab5640e258563c536e658cad87080553df6f34f62269a21d554844e58bfe chromium/third_party/ffmpeg/COPYING.LGPLv2.1 +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 chromium/third_party/ffmpeg/COPYING.LGPLv3 +sha256 cb48bf09a11f5fb576cddb0431c8f5ed0a60157a9ec942adffc13907cbe083f2 chromium/third_party/ffmpeg/LICENSE.md +sha256 f45cc81b400a048b56c9edbd4c3317f7a8958463dfd55aa96f268ecfd6baa12c chromium/third_party/flac/COPYING.FDL +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 chromium/third_party/flac/COPYING.GPL +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a chromium/third_party/flac/COPYING.LGPL +sha256 946b733afbaa20a192c8dc022b4e43090e78f28fd293494d1b307f7301552c9b chromium/third_party/flac/COPYING.Xiph +sha256 7ec9661a8afafab1eee3523d6f1a193eff76314a5ab10b4ce96aefd87621b0c3 chromium/third_party/flatbuffers/LICENSE +sha256 3112ebbfc0fe10ad40a97672f5590c4292536a28cbfe3506820b15dec70b2258 chromium/third_party/flatbuffers/src/dart/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/flatbuffers/src/LICENSE.txt +sha256 fa4cd9ab005185e10cd8f7504518856c7dd36c01e766c2bac87f4fc638e9f886 chromium/third_party/fontconfig/LICENSE +sha256 fa4cd9ab005185e10cd8f7504518856c7dd36c01e766c2bac87f4fc638e9f886 chromium/third_party/fontconfig/src/COPYING +sha256 fd056de4196903a676208ef58cfddafc7d583d1f28fa2e44c309cf84a59e62fb chromium/third_party/freetype/src/docs/LICENSE.TXT +sha256 cc807e3caa26cdee316bab2ff6fdb508a2f619b74959fe59e513ef6e61635ebe chromium/third_party/fusejs/LICENSE +sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 chromium/third_party/gif_player/LICENSE +sha256 8ea14fdc7efee7fe53c79101b97049bd547dc6686cfa05df4f0686146a561423 chromium/third_party/glfw/src/LICENSE.md +sha256 23353f4505b1c8ce4f8f72fc3b11dc74b4a8a7bf95921d93ff77f227c171a710 chromium/third_party/glslang/LICENSE +sha256 7ddbbe34e0371fb18be6ac34cae3424f091901dfe2bebd935b0795a4e7718ebb chromium/third_party/glslang/src/license-checker.cfg +sha256 130b2e98901db02a83e5e83c132b22d22d9279155feb53c49d6471b75af3c352 chromium/third_party/glslang/src/LICENSE.txt +sha256 a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9 chromium/third_party/google-closure-library/closure-deps/LICENSE +sha256 a7fd1637f41b8f56a911c8d11fd6b6b68619879f67256874232ff83c0c63a090 chromium/third_party/google-closure-library/doc/LICENSE +sha256 a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9 chromium/third_party/google-closure-library/LICENSE +sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 chromium/third_party/googletest/src/googlemock/LICENSE +sha256 5e0df8c845c742e76f2f64d2d9ce1b7e74a2422fddbc577ae6a56319083de0bf chromium/third_party/googletest/src/googlemock/scripts/generator/LICENSE +sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 chromium/third_party/googletest/src/googletest/LICENSE +sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 chromium/third_party/googletest/src/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/google-truth/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/guava/LICENSE +sha256 ca382aa537f8923d6c0991fb976d184a2009eb76080313bf10dcecdc9311f0dd chromium/third_party/gvr-android-keyboard/LICENSE +sha256 f54c49d3ff865458c5d3c68c3367a1f6e0d7b3f686f8c88a6a563ef90f84ad9e chromium/third_party/gvr-android-sdk/LICENSE +sha256 96e5bbd81970983d666e702fa56f67dfd2fdaa363b8a4266e8d98847374cd7c8 chromium/third_party/hamcrest/LICENSE +sha256 beb3f017ceb41387667f78237a7cecf84defa0ed257c505894663d6a9f13211b chromium/third_party/harfbuzz-ng/src/COPYING +sha256 c2cfccb812fe482101a8f04597dfc5a9991a6b2748266c47ac91b6a5aae15383 chromium/third_party/harfbuzz-ng/src/src/ms-use/COPYING +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 chromium/third_party/hunspell/COPYING +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 chromium/third_party/hunspell/COPYING.LESSER +sha256 53692a2ed6c6a2c6ec9b32dd0b820dfae91e0a1fcdf625ca9ed0bdf8705fcc4f chromium/third_party/hunspell/COPYING.MPL +sha256 b794aa78066400af1be3d3fb3f89c4dddc680786f14dc4e3d23a0b2848054984 chromium/third_party/hyphenation-patterns/LICENSE +sha256 a03fed9ab6321742903f3f0095b389ce811c4cfeb3f671ddc8d33da57dc92493 chromium/third_party/hyphenation-patterns/src/pt/LICENSE +sha256 610809f1586ee4d22468f1e97c256153cea8be7a662193db70d6ca424e0f17c8 chromium/third_party/iaccessible2/LICENSE +sha256 a412a53925efc6b50800bf8519a2e033949243d5a5a8c5422bae8a5007ad09c8 chromium/third_party/iccjpeg/LICENSE +sha256 d18e75f216f177d41304f5e94c2cba7d1bf9f8f8583a0777cceb5cca0c5ad137 chromium/third_party/icu4j/LICENSE +sha256 25e21013a7bc2fad735e28c5278a120e4c7f1c327c8c8b9b4df1751748cddbb2 chromium/third_party/icu/LICENSE +sha256 c62d7697c03979f5056d28b338fafc7a1152820f7b379adf4a9d88cd37160f96 chromium/third_party/icu/license.html +sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 chromium/third_party/icu/scripts/LICENSE +sha256 8c6db340475136df3c1201d458fa5755698eace76e510471ecc9d857d6083dac chromium/third_party/ijar/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/ink/LICENSE +sha256 b9be92f13356083392d97da13cab8ae543c7911f44eff5289b693da8b17b9e08 chromium/third_party/inspector_protocol/LICENSE +sha256 7a92c5e7a83b5ddcc693bb84ea8bdb842308509c1758cffdfe24717609154c75 chromium/third_party/isimpledom/LICENSE +sha256 ed8d7a24769ac9d57d08769b5f8be27519dd8811d06b0995dbe8ca6714e96d08 chromium/third_party/jacoco/LICENSE +sha256 33b6816eb449962d307495946519ed78cef8743819f6f1d60e8b3d4e86c38b1c chromium/third_party/javalang/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/jetifier_standalone/LICENSE +sha256 7975c0027cfa5d08253fbb6ff4676acc38248bd5e046d0dbab3d810971e97970 chromium/third_party/jinja2/LICENSE +sha256 76c45ece83a26117f86f4e349e7df118708e061e87225328fb478ce1e8b3eb86 chromium/third_party/jsoncpp/LICENSE +sha256 95039d77a20e75b428207740d9a8f97b2dce3c89da4b21f1ad862b5997160e0a chromium/third_party/jsoncpp/source/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/jstemplate/COPYING +sha256 71a19392a0eb3255ab2055ed978bb0f93865cea84d31a3510eaffb74d8981e7f chromium/third_party/khronos/LICENSE +sha256 ccc19f1da0798ed666609b65a5b44dd8b3abe6fc08b9c0592eb76e82e174db19 chromium/third_party/leveldatabase/src/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/libaddressinput/LICENSE +sha256 c9a5bd7c8cc1267ddacdc5228c68ecd811cf6d74286e9141bc80d8af2eb1a025 chromium/third_party/libaddressinput/src/cpp/LICENSE.chromium +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/libaddressinput/src/LICENSE +sha256 4764a286d8b2faeaf42f4418e7d7a28d58fc8fd4d00a3d0a7f44b0a4099de7f2 chromium/third_party/libaom/source/libaom/LICENSE +sha256 043dcfd059386f9facd376351b2bd79325778744aa442177390cdfcca54babed chromium/third_party/libaom/source/libaom/third_party/fastfeat/LICENSE +sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 chromium/third_party/libaom/source/libaom/third_party/googletest/src/googletest/LICENSE +sha256 5aec868f669e384a22372a4e8a1a6cd7d44c64cd451f960ca69cc170d1e13acf chromium/third_party/libaom/source/libaom/third_party/libwebm/LICENSE.TXT +sha256 ff6c857ce2708e87701323078aef115c1872a1f80a9649f86dc899b48083bc60 chromium/third_party/libaom/source/libaom/third_party/vector/LICENSE +sha256 719d8fa235f2068e0ae6d6a7dceb0a7720d7840f0f0ebed29957989e6ded3cd8 chromium/third_party/libaom/source/libaom/third_party/x86inc/LICENSE +sha256 0b711483921350723ddef8dd3e52b10eb79e4877817a2ccf9a48dd2deb7947aa chromium/third_party/libavif/LICENSE +sha256 e0ba04d4885bf25b03e20c8078e5f4b241bfe6a941d4a9bcc14cab09e2c27e62 chromium/third_party/libavif/src/LICENSE +sha256 d80c9d084ebfb50ea1ed91bfbc2410d6ce542097a32c43b00781b83adcb8c77f chromium/third_party/libbrlapi/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/libgav1/src/LICENSE +sha256 d56bafdaeaa793331a29e9766b7efe66524c98533da798a57201e291863ef625 chromium/third_party/libgifcodec/LICENSE.md +sha256 37d8bfba91b745693ea58f846f2f1276229745adf532974b73c1911cfd144241 chromium/third_party/libipp/LICENSE +sha256 ab00a482b6a3902e40211b43c5d0441962ea99b6cc7c25c0f243fa270b78d482 chromium/third_party/libjingle_xmpp/LICENSE +sha256 7d8683a7f048e715e08b4cada8b7f0d9a6ab8afad88ed09c1143ef764ecbc0f2 chromium/third_party/libjpeg_turbo/LICENSE.md +sha256 3bf128851aff9f392953276ea8ade3e41da0f40b853fde58ec21034aa91ccc31 chromium/third_party/libovr/LICENSE +sha256 bf5e22b9dce8464064ae17a48ea1133c3369ac9e1d80ef9e320e5219aa14ea9b chromium/third_party/libpng/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/libprotobuf-mutator/src/LICENSE +sha256 a1a33180d02960ab1c5de36cf20b1a2f0fe9888d83826ad263da5db52f1b183b chromium/third_party/libsecret/LICENSE +sha256 8e19d42a1eec9561f3f347253ddf2e385c55f392f025bb0fd41b88dbf38db5ae chromium/third_party/libsrtp/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/libsync/LICENSE +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 chromium/third_party/libudev/LICENSE +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a chromium/third_party/libusb/src/COPYING +sha256 8267348d5af1262c11d1a08de2f5afc77457755f1ac658627dd9acf71011d615 chromium/third_party/libvpx/source/libvpx/LICENSE +sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 chromium/third_party/libvpx/source/libvpx/third_party/googletest/src/LICENSE +sha256 5aec868f669e384a22372a4e8a1a6cd7d44c64cd451f960ca69cc170d1e13acf chromium/third_party/libvpx/source/libvpx/third_party/libwebm/LICENSE.TXT +sha256 2b2cc1180c7e6988328ad2033b04b80117419db9c4c584918bbb3cfec7e9364f chromium/third_party/libvpx/source/libvpx/third_party/libyuv/LICENSE +sha256 719d8fa235f2068e0ae6d6a7dceb0a7720d7840f0f0ebed29957989e6ded3cd8 chromium/third_party/libvpx/source/libvpx/third_party/x86inc/LICENSE +sha256 5aec868f669e384a22372a4e8a1a6cd7d44c64cd451f960ca69cc170d1e13acf chromium/third_party/libwebm/source/LICENSE.TXT +sha256 6de6fe48ff7b249a51ec5522d1af618dd50effc6f030fd24e17878566ad2ca5d chromium/third_party/libwebp/LICENSE +sha256 c5c63674f8a83c4d2e385d96d1c670a03cb871ba2927755467017317878574bd chromium/third_party/libxml/src/Copyright +sha256 31346421254a3e6e12687cf17f19f6357ee73a617fa7b3d3ccefdcbabe49bdd3 chromium/third_party/libXNVCtrl/LICENSE +sha256 7e48e290b6bfccc2ec1b297023a1d77f2fd87417f71fbb9f50aabef40a851819 chromium/third_party/libxslt/src/Copyright +sha256 2b2cc1180c7e6988328ad2033b04b80117419db9c4c584918bbb3cfec7e9364f chromium/third_party/libyuv/LICENSE +sha256 0d4077a7055ead389c4c5a9a6ac4bb8b784fc6e9e37be2caf544fcceed26cb16 chromium/third_party/lottie/LICENSE +sha256 6e3e0a978f1e136cb3efb89702f4314671581a0c70c9a52447669e00f7b129e8 chromium/third_party/lzma_sdk/LICENSE +sha256 c3b124673c93872156757a934c75b498d68eec09510e25e549d9dc2013776499 chromium/third_party/mako/LICENSE +sha256 0bbe88228fd63d20ec097f64e58d5a0a465123ae139140a18d406c60b48824b5 chromium/third_party/markupsafe/LICENSE +sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd chromium/third_party/material_design_icons/LICENSE +sha256 536284e40c611f371f6ce5d74efac37a20d993cd3af96259b9b9e20b1669ff1e chromium/third_party/mesa_headers/LICENSE +sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 chromium/third_party/metrics_proto/LICENSE +sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 chromium/third_party/microsoft_webauthn/LICENSE +sha256 83bb6bd9ccd2cf5230cb1807ed16258289768dc4d9cb80069a814e04415a1275 chromium/third_party/minigbm/LICENSE +sha256 8610954adbca6c6b85d8b1ae5613b44b0014e437d32fcad6683bb27541411686 chromium/third_party/minigbm/src/LICENSE +sha256 4919cfb14a73cd64fcef67b107613970cf1659a09aa675dba31314f373bc7204 chromium/third_party/minizip/src/lib/bzip2/LICENSE +sha256 87642305968765a4030fd202ff7006afa67274da7f9bde84506e51ae58ecc2b4 chromium/third_party/minizip/src/LICENSE +sha256 bd5663836feb58ffb7d0e6b9e62010f4c3399f2bb0a4cf6514a15d597bbdd577 chromium/third_party/mocha/LICENSE +sha256 380893a2f01aea5c3328b1a8b08cdc488bf236916abac3af0d1f1a5d2634c31a chromium/third_party/mockito/LICENSE +sha256 d47e8390fb0d7ad4a18f26aedd6283c7ab6b5b4fabab536ccb4db7f9f6d90c08 chromium/third_party/modp_b64/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/motemplate/LICENSE +sha256 7a92c5e7a83b5ddcc693bb84ea8bdb842308509c1758cffdfe24717609154c75 chromium/third_party/mozilla/LICENSE +sha256 1563996c52e220e15ef2418e67d39488255aa8c28c89e617074d3afe3ee329e0 chromium/third_party/nasm/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/nearby/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/nearby/src/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/netty4/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/netty-tcnative/LICENSE +sha256 0cd1bd4b934ffdc5e7f1bcfa9d08bd17295e5414bdca99c06b1036278b01f0b1 chromium/third_party/node/LICENSE +sha256 b5730da9a26472a405b0b1c61d3d166714d9d654ab3282e54e4a01a5f66316c3 chromium/third_party/objenesis/LICENSE +sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 chromium/third_party/ocmock/License.txt +sha256 8bed129a6a15e631c93a624985e631eb62a55f7e072b78f4e1c3dde7c745283d chromium/third_party/one_euro_filter/LICENSE +sha256 a5a7cf90fe5ac9763baad852cf69cf9d9b89bff934a679fdc5c8fcecaeba9a25 chromium/third_party/opencv/src/LICENSE +sha256 dd5c1c9668512530fa5a96e4c29ac4033d70a7eeb0eed7a42fddb6dd794ebdbb chromium/third_party/openh264/src/LICENSE +sha256 34a5c58db7cc4d3265d14a9aa26e38067fe114311d8bec31f909d1c240e626c4 chromium/third_party/openscreen/src/LICENSE +sha256 284545e873c704952e5b1b39d457dd83a3b115a51d9f1eb5175137bd69b8fa1b chromium/third_party/openscreen/src/third_party/mozilla/LICENSE.txt +sha256 3c6ba0b5bfa7830505301ffb336a17b0748e0d61c4d34216e9dc98f10e40395e chromium/third_party/openscreen/src/third_party/tinycbor/src/LICENSE +sha256 8338ce8d922bb4416ce3dd1e5680173332435e3f0755007ac7801ccd674fe682 chromium/third_party/opus/src/COPYING +sha256 7efb4989e0cd1b256229bdf2f09300c5d14e35db0e7476bfb87fac243498273d chromium/third_party/opus/src/LICENSE_PLEASE_READ.txt +sha256 0d74de3c3cd3196a9ed1bc612cfd5f81d7509d66c4be34a50f99d61bd1ad00d4 chromium/third_party/ots/LICENSE +sha256 9dd8d2fb95ba862a5d166a167682c1c67a209acd3bf09b6fd03f76d3579729bc chromium/third_party/ow2_asm/LICENSE +sha256 76621fcfb65adfd6602b700708b74c8e20f3325b32f1a54bec83a5cf7c679f53 chromium/third_party/pdfium/LICENSE +sha256 32759d1397d8f7b9e15ece146e4038b22b90e93b4935b5a840bcef4d2ba5ea55 chromium/third_party/pdfium/third_party/bigint/LICENSE +sha256 bf5e22b9dce8464064ae17a48ea1133c3369ac9e1d80ef9e320e5219aa14ea9b chromium/third_party/pdfium/third_party/libpng16/LICENSE +sha256 c5b14f5a3814d2e57b9bb9520dcf57a2c3817b65c4f989e5c82e332c82af1038 chromium/third_party/pdfium/third_party/pymock/LICENSE.txt +sha256 00564d497642465d7f96d109f38ff144997f0abc04ef167410f6b172ad5e92cd chromium/third_party/perfetto/LICENSE +sha256 80f13607677e9932bf08e5f0bc025f8d77bde813d62bf3d5465c709025710d3d chromium/third_party/perfetto/src/trace_processor/python/LICENSE +sha256 9f98bab33648b77578d85ac0f1d1c3941a72aa6d7e65015ba181f2fe804bb85d chromium/third_party/pexpect/LICENSE +sha256 a46200592eb193853527250da098e6bb0c75424e7a2c7db8da526c4f301c3d88 chromium/third_party/pffft/LICENSE +sha256 dd4930c619afd8527591353c7d3d1c1d7f4bf62ed1cb411f4f507dbdee7738a2 chromium/third_party/ply/LICENSE +sha256 d6c873c08a8806f08fdafe1aa00ba38837f6ac29f91d6b26510614b0df2001e0 chromium/third_party/ply/license.patch +sha256 24699c6858472311aa9acc6c2b7112ff9de6e7792569158ba9e439deb0529ef6 chromium/third_party/polymer/LICENSE.polymer +sha256 a5adc2955c0dd848c97aa6afb14e0047a610f0fcfa6ce0011efad01a0e051406 chromium/third_party/polymer/v1_0/components-chromium/polymer2/LICENSE.txt +sha256 a5adc2955c0dd848c97aa6afb14e0047a610f0fcfa6ce0011efad01a0e051406 chromium/third_party/polymer/v3_0/components-chromium/polymer/LICENSE.txt +sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd chromium/third_party/private-join-and-compute/src/crypto/LICENSE +sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd chromium/third_party/private-join-and-compute/src/LICENSE +sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd chromium/third_party/private-join-and-compute/src/util/LICENSE +sha256 432959ed8cca3b44d8dd8dda9c8bf84ef982aa0cfdf9782ad9cdedc4e1146f8b chromium/third_party/private_membership/LICENSE +sha256 294f58267c6f473c4ce7270bf5c8d34b2003cb43804552459654c36553431276 chromium/third_party/proguard/LICENSE +sha256 6e5e117324afd944dcf67f36cf329843bc1a92229a8cd9bb573d7a83130fea7d chromium/third_party/protobuf/LICENSE +sha256 2ab28b982a7f3150e1597befaa87e1636b9973c80aef3752597945d270c4c4e4 chromium/third_party/pycoverage/LICENSE +sha256 f8d0c347a0dcc6ebe1671640dfae8d2411b6ded892e06a6764f8208b218b2af4 chromium/third_party/pyelftools/elftools/construct/LICENSE +sha256 f8c8ccecdbb044fd6fa1a586c596a055fb2b14fb3e335d8ed282db58d80b7410 chromium/third_party/pyelftools/LICENSE +sha256 cb5e8e7e5f4a3988e1063c142c60dc2df75605f4c46515e776e3aca6df976e14 chromium/third_party/pyjson5/src/LICENSE +sha256 318cea263a2fb726d767e2777771a431a3220008e6940dd5138a235a1fc498fc chromium/third_party/pystache/LICENSE +sha256 956c3b678228a216142df38d039bba56ee6509d3298e7a4b8dd5bc3eaa80fe33 chromium/third_party/Python-Markdown/LICENSE.md +sha256 5a2954f05e7fcc1bf240a3b58534f974760b5aae02438ce875c9c7fe0bdb4cf9 chromium/third_party/pywebsocket3/src/LICENSE +sha256 c903100da706172066fa1b6f02eba60f202fea63036492d2c4a01267e32aa7a8 chromium/third_party/qcms/src/COPYING +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/quic_trace/src/LICENSE +sha256 38751245389e1e23f73e6f5384b5cbe7fa972cc4410c5adc9c04b082a0b9561a chromium/third_party/quic_trace/src/third_party/fonts/LICENSE +sha256 8991cd11befec7c6a63662700f03c0cc42e864b6e77c7e70b80297c951a7f0ff chromium/third_party/quic_trace/src/third_party/glew/LICENSE.txt +sha256 f98f3db81b4dd3873d8672117e409286142cfae9b7673ab6d7aab4bae1527d20 chromium/third_party/qunit/LICENSE +sha256 68834f116f8ff545f05d14753357b620748156d60ee36b26beab4cb3f317efe4 chromium/third_party/r8/LICENSE +sha256 6040cda75d90b1738292a631d89934c411ef7ffd543c4d6a1b7edfc8edf29449 chromium/third_party/re2/LICENSE +sha256 6040cda75d90b1738292a631d89934c411ef7ffd543c4d6a1b7edfc8edf29449 chromium/third_party/re2/src/LICENSE +sha256 e479bcdfa777738226b4282bf8536cc5416a25cec3100cbe210b8be4d1e2ed84 chromium/third_party/requests/LICENSE +sha256 e2f59ff41d9d03adc3dcf3deff170f8c8cf4a6eb4a9b174762a7656d23200ffa chromium/third_party/rnnoise/COPYING +sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 chromium/third_party/robolectric/LICENSE +sha256 19c9b910bec5a4f2c420747d1bf81e975ffdb1377ad91c5d9b1e8dd3e38f4c17 chromium/third_party/robolectric/licenses/extreme.indiana.edu.license.txt +sha256 a7436c952fa2dc0701860cf4187d1e8e8e6de6720dec0ae9e0b641bc50eebced chromium/third_party/robolectric/licenses/javolution.license.txt +sha256 5b6ac717e37db4f6d17bda7791f4ce3f99947aeb21e6e72b705aa3d1ee2de480 chromium/third_party/robolectric/licenses/pivotal.labs.license.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/s2cellid/LICENSE +sha256 3f941b3b89cf7b8370ceb83cc76d2120d471b58735d8ca60238a751a48d7f72f chromium/third_party/schema_org/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/securemessage/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/securemessage/src/LICENSE +sha256 2534ec1a8b4d0c28c4fc8e4712dec2c693681e3261241d35302d0fd9abe02ea7 chromium/third_party/shaderc/src/kokoro/linux/license_check_docker.sh +sha256 5f832ba83b10050e308cdd072b5de1d873a25b4248c0ab58a0c52420276e06d2 chromium/third_party/shaderc/src/kokoro/linux/license_check.sh +sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 chromium/third_party/shaderc/src/LICENSE +sha256 085e979c8a83de3843aeaa49d57c74327c0e35da177339b54b353e32e63b0ca9 chromium/third_party/shaderc/src/license-checker.cfg +sha256 b5a00e94f058edc87e05978329b55730d8689abe61205d9018443d03de4f07da chromium/third_party/shaderc/src/third_party/LICENSE.glslang +sha256 47e20ce182bc68fab1a0cfb129b03c326aaf4f2b6b7905aa9d376d31018bd29f chromium/third_party/shaderc/src/third_party/LICENSE.spirv-tools +sha256 f1e9c0fdbee5f3a99152331418fd2ff44c08800486896667c1912ca5edf76f9e chromium/third_party/shaka-player/LICENSE +sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd chromium/third_party/shell-encryption/src/glog/LICENSE +sha256 bcf29b4fd3ec2cb5f9d40a0866da446f6da62170d2ccedf4aeca9cf9406dd20c chromium/third_party/shell-encryption/src/LICENSE +sha256 bcf29b4fd3ec2cb5f9d40a0866da446f6da62170d2ccedf4aeca9cf9406dd20c chromium/third_party/shell-encryption/src/prng/LICENSE +sha256 bcf29b4fd3ec2cb5f9d40a0866da446f6da62170d2ccedf4aeca9cf9406dd20c chromium/third_party/shell-encryption/src/testing/LICENSE +sha256 33c9a2fe619e1200937629f318895898ffcd1bf7d0ddd39adc382c030925e61e chromium/third_party/simplejson/LICENSE.txt +sha256 b25948e48c44312d04ffc626a9d52cae7c04539a1a8e0c1be47b7bfa0da03e1d chromium/third_party/sinonjs/LICENSE +sha256 8bb850c565aa389fdc16f3a46965ad23d82adff60f2393fc2762b63185e8e6c9 chromium/third_party/six/LICENSE +sha256 8bb850c565aa389fdc16f3a46965ad23d82adff60f2393fc2762b63185e8e6c9 chromium/third_party/six/src/LICENSE +sha256 e59bb5c5c6ba426a9ac4ba9fe667ad14c5166b12aa25be8af1d122b14fbe2e36 chromium/third_party/skia/include/third_party/skcms/LICENSE +sha256 e59bb5c5c6ba426a9ac4ba9fe667ad14c5166b12aa25be8af1d122b14fbe2e36 chromium/third_party/skia/include/third_party/vulkan/LICENSE +sha256 5f787c1dee3c56547f09ccc2906ab5f5293c4d8dd6c8654e573216c38e908dbd chromium/third_party/skia/LICENSE +sha256 d27678cba0d529e77201e2d2a053628143e986aad8f1e77f7039ad4366c8f978 chromium/third_party/skia/modules/canvaskit/canvaskit/LICENSE +sha256 d27678cba0d529e77201e2d2a053628143e986aad8f1e77f7039ad4366c8f978 chromium/third_party/skia/modules/pathkit/npm-asmjs/LICENSE +sha256 d27678cba0d529e77201e2d2a053628143e986aad8f1e77f7039ad4366c8f978 chromium/third_party/skia/modules/pathkit/npm-wasm/LICENSE +sha256 5366e97b4478f15a1e2fd7e6094337426597df28de50cd9fed3f2e7e87f1229e chromium/third_party/skia/third_party/etc1/LICENSE +sha256 e59bb5c5c6ba426a9ac4ba9fe667ad14c5166b12aa25be8af1d122b14fbe2e36 chromium/third_party/skia/third_party/skcms/LICENSE +sha256 e21477eed484b07902a861a1b18d1e4ecd3e6f22fa81e2410f0770cfb67290e8 chromium/third_party/skia/third_party/vulkanmemoryallocator/include/LICENSE.txt +sha256 d27678cba0d529e77201e2d2a053628143e986aad8f1e77f7039ad4366c8f978 chromium/third_party/skia/third_party/vulkanmemoryallocator/LICENSE +sha256 e59bb5c5c6ba426a9ac4ba9fe667ad14c5166b12aa25be8af1d122b14fbe2e36 chromium/third_party/skia/third_party/wuffs/LICENSE +sha256 3f6f1b520bc53e878ccbb698ad0bacef3752a5f4e4b50a26552bd70f60b40748 chromium/third_party/smhasher/LICENSE +sha256 55172044f7e241207117448a4d9d6ba1d0925c8ad66b5d4c08c70adfa9cc3de6 chromium/third_party/snappy/src/COPYING +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/spirv-cross/spirv-cross/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/spirv-headers/LICENSE +sha256 9b243f6f0bf44e295ff411a0f7b7642d1d0dff7cdc42507e9f7206f439e51b5a chromium/third_party/spirv-headers/src/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/SPIRV-Tools/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/SPIRV-Tools/src/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/SPIRV-Tools/src/utils/vscode/src/lsp/LICENSE +sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 chromium/third_party/sqlite4java/LICENSE +sha256 06545a6ec25fbbff6c62f205f94a35be49e38f33bea827a8cfb07d7b82e4b083 chromium/third_party/sqlite/LICENSE +sha256 66e056b6e8687f32af30d5187611b98b12a8f46f07aaf62f43585f276e8f0ac9 chromium/third_party/sqlite/src/autoconf/tea/license.terms +sha256 9c6479123f32a1ed50d9a0af203dfe8972e65035b0cdeef436b5f8d0924517fe chromium/third_party/sqlite/src/LICENSE.md +sha256 033d0150b3bd78b36894c88fcc68da0c3f2e661d3b3485e8cc9a61b2c2bf7895 chromium/third_party/subresource-filter-ruleset/LICENSE +sha256 28113a6e9e2fd7584187c738a7c5484452a1c383307a1741bec50a73262fac08 chromium/third_party/sudden_motion_sensor/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/swiftshader/LICENSE.txt +sha256 ad4672b403488876635d2b455918f74b829d478da868ffc0c621a00fc99195f5 chromium/third_party/tcmalloc/LICENSE +sha256 81ebf38708899097aacaac9723679b3ffa17640c14cd3193c46b75197de18b2c chromium/third_party/tcmalloc/vendor/COPYING +sha256 81e32dadf795edf077c0e567963e598b64f3c6b1ffa8ebac907bf01d3e7b2c1a chromium/third_party/test_fonts/LICENSE +sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 chromium/third_party/text-fragments-polyfill/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/tint/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/tint/src/LICENSE +sha256 bb04dd22ee55fe3c24ee2a3c82bd1efdebbd965f7c178224a2977edc2457bb2f chromium/third_party/tlslite/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/turbine/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/ub-uiautomator/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/ukey2/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/ukey2/src/LICENSE +sha256 0a90947436dc17f047f8c95b64593e2cc9a2b6d4ff6618f2f0beba5a9b568c14 chromium/third_party/unrar/LICENSE +sha256 6ecc1687808b7d66b24f874755abfed7464d9751ed0001cd4e8e5d9bf397ff8a chromium/third_party/unrar/src/license.txt +sha256 6629d6edceffa9c68f4245b817137d2265fdab1e98068893420edb6689ccce9e chromium/third_party/usb_ids/LICENSE +sha256 7a4a31e05391919c05a996f09fc20ffc80c69af72cb3e69ac71b70c825fbdd1d chromium/third_party/usrsctp/LICENSE +sha256 fa53711b25af4b9a9b8dadfea3cb38166ec4b96760c8d62b284055554537d9ef chromium/third_party/usrsctp/usrsctplib/LICENSE.md +sha256 5a7f623a50e384aaf6d2ced068339ddf93d0a50d3a0ecbe86f125b07804ecc78 chromium/third_party/v4l-utils/COPYING.libv4l +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/vulkan_headers/LICENSE.txt +sha256 2a2f96ba4c477fde4c90bb294c5ff9141b0a6ae51989261837e63124b9fd5313 chromium/third_party/vulkan_memory_allocator/LICENSE.txt +sha256 602cb6e9e4c2697d1c5b25f8e55485b596a704d834d477b49b76795074210d9c chromium/third_party/vulkan_memory_allocator/premake/LICENSE.txt +sha256 376b54d4c5f4aa99421823fa4da93e3ab73096fce2400e89858632aa7da24a14 chromium/third_party/wds/LICENSE +sha256 376b54d4c5f4aa99421823fa4da93e3ab73096fce2400e89858632aa7da24a14 chromium/third_party/wds/src/COPYING +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/web-animations-js/LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 chromium/third_party/web-animations-js/sources/COPYING +sha256 d51b39e7ed0391e75e0add75d1a162fdf4a0d6b49fba7635ed0ac4e16f324773 chromium/third_party/webdriver/COPYING +sha256 6d83e980b9b843cf6fe24cb94714d00f9b0cf69cb00d0e3b0bed018d49d6f24f chromium/third_party/webdriver/LICENSE +sha256 fec8eb2896784d7b9ef5bcb1c64b97156455a3c88df4fdd36538fb55c0decac4 chromium/third_party/webgpu-cts/src/LICENSE.txt +sha256 e30fbe869f1fa489901bb08888a919c5d50ddb5be6d16b9e4a2cb226263dd7db chromium/third_party/webgpu-cts/src/standalone/third_party/jquery/LICENSE.txt +sha256 18aab5821763cc13966eb59d4026fdb8f9f4e846fefbb429d43da0cb133dd2c4 chromium/third_party/webpagereplay/LICENSE +sha256 25b7731b70c77ecd5f3bb19303fbaa99be18860f81d44f71da670fdcd04829db chromium/third_party/webrtc/common_audio/third_party/ooura/LICENSE +sha256 41d791701e3e1c1073470403de7e342442d1e6a2af72681023b13a2f45f2125c chromium/third_party/webrtc/common_audio/third_party/spl_sqrt_floor/LICENSE +sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE +sha256 26d2d16d48825edf1194cb3907c5c0b7d01f9c5527eb0fefb949c51f304635e9 chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE.md +sha256 21a742dd8cceebb1d5df7c6f945c75ccf1ad4f0d4c17e404517500c1a7de86a4 chromium/third_party/webrtc/examples/objc/AppRTCMobile/third_party/SocketRocket/LICENSE +sha256 ab00a482b6a3902e40211b43c5d0441962ea99b6cc7c25c0f243fa270b78d482 chromium/third_party/webrtc/LICENSE +sha256 1f7a086c17fa2bdbe27d3eb6424a64b9bea9d7db89a4e220fef52ca24addb9e9 chromium/third_party/webrtc/license_template.txt +sha256 6fdbabd2c95c5efc6f1e46175278239afb9343120a3022ed0e0cb04267a6aeb3 chromium/third_party/webrtc/modules/third_party/fft/LICENSE +sha256 b29c8f13f91feb2dab7d6655444369fa9f29c0d7121a52dab90ff97e40343a85 chromium/third_party/webrtc/modules/third_party/g711/LICENSE +sha256 61862327fd00d6a4deb2c1276577782c2500f4fe103e072018fc369d8e37e876 chromium/third_party/webrtc/modules/third_party/g722/LICENSE +sha256 641007ea2810c4cfc10a5d1a44db33983ec1409305e953c7119cc2457ec5c536 chromium/third_party/webrtc/modules/third_party/portaudio/LICENSE +sha256 a508773ebf00f8c777a910e941e5fd0072195843e1b72a90eb8787d26d4ab1d7 chromium/third_party/webrtc/rtc_base/third_party/base64/LICENSE +sha256 905bc5ab1c66eea2669aee6cb5185488508264df6492f71ae1a6595180ff8c2b chromium/third_party/webrtc/rtc_base/third_party/sigslot/LICENSE +sha256 eb077b108bac4c81abe7410274af0930456790add09a6fe5316910e2b936c0f9 chromium/third_party/webxr_test_pages/LICENSE +sha256 eb077b108bac4c81abe7410274af0930456790add09a6fe5316910e2b936c0f9 chromium/third_party/webxr_test_pages/webxr-samples/js/cottontail/LICENSE.md +sha256 47754d3064047c300714af25258efa782e144fdf1e835bfd1edbeb7f8f4ef9e4 chromium/third_party/webxr_test_pages/webxr-samples/js/third-party/dat.gui/LICENSE +sha256 71819b5a0a080b6a3d35b3579817c2c558abcf3c92bb5abc052145a7c106573e chromium/third_party/webxr_test_pages/webxr-samples/js/third-party/gl-matrix/LICENSE +sha256 eb077b108bac4c81abe7410274af0930456790add09a6fe5316910e2b936c0f9 chromium/third_party/webxr_test_pages/webxr-samples/LICENSE.md +sha256 88d855a8e07a39df758fe9964f5d04d5c2fab39416e566e9d91588e254ca27dc chromium/third_party/weston/LICENSE +sha256 fdb65868f65d0fbdb05c2d3b779e10ce9969fa0c4b9262ba4f260e87086ab860 chromium/third_party/weston/src/COPYING +sha256 a34730970264d619f352598bf30295ad505a60fc3a493add8aa851645ce3ea47 chromium/third_party/weston/src/data/COPYING +sha256 20de375707692099b3132084695377ce5fec0aec05813dedcce094b8eda44386 chromium/third_party/widevine/LICENSE +sha256 d42a3e363d99da22b860ab760faa37dfa9781d74c9f3ed634d05109081616513 chromium/third_party/woff2/LICENSE +sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 chromium/third_party/wuffs/LICENSE +sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 chromium/third_party/wuffs/src/LICENSE +sha256 c5ffbfeaa501071ceeb97b7de2c0d703fdaa35de01c0fb6cbac1c28453a3e9fd chromium/third_party/xcbproto/src/COPYING +sha256 b244f73c3d21edaf44ec253b9a7c389ec43313c417f52f8b71914b0c40d87325 chromium/third_party/xdg-utils/LICENSE +sha256 1cf71700f3403ca26f002e2dc1d1861dcb3d2af9bb9d98d529a903be9d7f06fc chromium/third_party/xstream/LICENSE +sha256 942755efa272dbfbcd7afea7a38556801e36c16dcad002d572378367094a2593 chromium/third_party/zlib/LICENSE +sha256 1744e977d24e20e77b1e97d745fe43779430a1b84247b6c0e89d16e116e7ff92 chromium/third_party/zxcvbn-cpp/LICENSE.txt +sha256 a4c8c5abf82b36c22f8c9f8bd6229584f32eb9f7a2429dd9664dda43e63e9fda chromium/tools/grit/third_party/six/LICENSE +sha256 63f0c0039b477857e54708d9501ed91b7a46e828ac3c623bedbc318129ceb174 chromium/tools/origin_trials/third_party/ed25519/LICENSE +sha256 f5b244982699ca9fe5cc8fa8a7c08cf5dee5d3a0c8896892899e5df13316e1b7 chromium/tools/page_cycler/acid3/LICENSE +sha256 7389900fb68d920c6cb21b70702a2bc240523472a3fd091023d6135cf01d1c5c chromium/tools/win/ChromeDebug/ChromeDebug/LICENSE +sha256 284545e873c704952e5b1b39d457dd83a3b115a51d9f1eb5175137bd69b8fa1b chromium/url/third_party/mozilla/LICENSE.txt +sha256 f10a1808e442ae7dbfecf6b54ae4de84193a768770e189a67d5f397730acdbc9 chromium/v8/LICENSE +sha256 e7115e18444dae09d17f361ddc365fb1d342640fe500796209c63f7c80dfae10 chromium/v8/LICENSE.fdlibm +sha256 6a585a9f466654abc8fc0829d56b1bc987e3a073d31faa03bba37d33640a23cd chromium/v8/LICENSE.strongtalk +sha256 4af93c12062c58058378de2397dc1c92bbff9ddfb1d583a01c84127557ce97ca chromium/v8/LICENSE.v8 +sha256 36ffd9dc085d529a7e60e1276d73ae5a030b020313e6c5408593a6ae2af39673 chromium/v8/src/third_party/siphash/LICENSE +sha256 3f712e5fbdfdbd5ee7d9b8c8152580220df55de47f4eba2f26c95c4de19ad096 chromium/v8/src/third_party/utf8-decoder/LICENSE +sha256 ebf25b8ce59c9e8883acd1ca75b6fc121937ca034f666c4077d2be739d2e1622 chromium/v8/src/third_party/valgrind/LICENSE +sha256 cfe7599e45f340a35b4635090382897ca1526bc49b5e1889047f0168d131c415 chromium/v8/src/third_party/vtune/LICENSE +sha256 15137d6c822e3ab097093a33c3a39a9df699f373f6438867ad534ff60762a947 chromium/v8/third_party/colorama/LICENSE +sha256 b9be92f13356083392d97da13cab8ae543c7911f44eff5289b693da8b17b9e08 chromium/v8/third_party/inspector_protocol/LICENSE +sha256 76c45ece83a26117f86f4e349e7df118708e061e87225328fb478ce1e8b3eb86 chromium/v8/third_party/jsoncpp/LICENSE +sha256 b9a6d9320b8f2693e8d41e496ce56caadacaddcca9be2a64a61749278f425cf2 chromium/v8/third_party/v8/builtins/LICENSE +sha256 c6596eb7be8581c18be736c846fb9173b69eccf6ef94c5135893ec56bd92ba08 chromium/v8/third_party/wasm-api/LICENSE +sha256 5d85142a5609ad177a2d7a2e7cae060b886b8b42f25c5b9803cf0cb5ee04ad2f gn/base/third_party/icu/LICENSE +sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 gn/LICENSE +sha256 eb7e9ab9690124c5c9f42bdc81383d886a3dede26345b6ed15bbad7caf81f7ea ninja/COPYING diff --git a/package/qt5/qt5webengine-chromium/qt5webengine-chromium.mk b/package/qt5/qt5webengine-chromium/qt5webengine-chromium.mk new file mode 100644 index 000000000..2b061815b --- /dev/null +++ b/package/qt5/qt5webengine-chromium/qt5webengine-chromium.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# qt5webengine-chromium +# +################################################################################ + +QT5WEBENGINE_CHROMIUM_VERSION = 0ad2814370799a2161057d92231fe3ee00e2fe98 +QT5WEBENGINE_CHROMIUM_SITE = $(QT5_SITE)/qtwebengine-chromium/-/archive/$(QT5WEBENGINE_CHROMIUM_VERSION) +QT5WEBENGINE_CHROMIUM_SOURCE = qtwebengine-chromium-$(QT5WEBENGINE_CHROMIUM_VERSION).tar.bz2 +QT5WEBENGINE_CHROMIUM_PATCH_DEPENDENCIES = qt5webengine-chromium-catapult +QT5WEBENGINE_CHROMIUM_INSTALL_TARGET = NO + +include package/qt5/qt5webengine-chromium/chromium-latest.inc + +QT5WEBENGINE_CHROMIUM_LICENSE = BSD-3-Clause, GPL-2.0 or LGPL-3.0 or GPL-3.0 or GPL-3.0 with exception + +define QT5WEBENGINE_CHROMIUM_COPY_CATAPULT + rm -rf $(@D)/chromium/third_party/catapult + cp -a $(QT5WEBENGINE_CHROMIUM_CATAPULT_DIR) $(@D)/chromium/third_party/catapult +endef +QT5WEBENGINE_CHROMIUM_POST_PATCH_HOOKS += QT5WEBENGINE_CHROMIUM_COPY_CATAPULT + +$(eval $(generic-package)) diff --git a/package/qt5/qt5webengine/0002-Add-python3-build-support.patch b/package/qt5/qt5webengine/0002-Add-python3-build-support.patch new file mode 100644 index 000000000..18fc1c1de --- /dev/null +++ b/package/qt5/qt5webengine/0002-Add-python3-build-support.patch @@ -0,0 +1,168 @@ +From 1e299a6c9eeb08555208b76623e453d8ab96b6e3 Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Fri, 4 Feb 2022 16:16:35 -0700 +Subject: [PATCH] Add python3 build support + +Adapted from: +https://github.com/archlinux/svntogit-packages/blob/6edf5f1aaea952d046aff89a2e0175258fe77361/trunk/qt5-webengine-python3.patch + +Signed-off-by: James Hilliard +--- + configure.pri | 13 ++++++------- + mkspecs/features/functions.prf | 6 +++--- + src/buildtools/config/support.pri | 10 +++++----- + src/buildtools/configure.json | 18 +++++++++--------- + 4 files changed, 23 insertions(+), 24 deletions(-) + +diff --git a/configure.pri b/configure.pri +index e072961f..6fec7b20 100644 +--- a/configure.pri ++++ b/configure.pri +@@ -13,8 +13,7 @@ defineTest(isPythonVersionSupported) { + python_version = $$split(python_version, ',') + python_major_version = $$first(python_version) + greaterThan(python_major_version, 2) { +- qtLog("Python version 3 is not supported by Chromium.") +- return(false) ++ return(true) + } + python_minor_version = $$member(python_version, 1) + python_patch_version = $$member(python_version, 2) +@@ -52,10 +51,10 @@ defineTest(qtConfReport_jumboBuild) { + qtConfReportPadded($${1}, $$mergeLimit) + } + +-defineTest(qtConfTest_detectPython2) { +- python = $$qtConfFindInPath("python2$$EXE_SUFFIX") ++defineTest(qtConfTest_detectPython) { ++ python = $$qtConfFindInPath("python$$EXE_SUFFIX") + isEmpty(python) { +- qtLog("'python2$$EXE_SUFFIX' not found in PATH. Checking for 'python$$EXE_SUFFIX'.") ++ qtLog("'python$$EXE_SUFFIX' not found in PATH. Checking for 'python$$EXE_SUFFIX'.") + python = $$qtConfFindInPath("python$$EXE_SUFFIX") + } + isEmpty(python) { +@@ -63,11 +62,11 @@ defineTest(qtConfTest_detectPython2) { + return(false) + } + !isPythonVersionSupported($$python) { +- qtLog("A suitable Python 2 executable could not be located.") ++ qtLog("A suitable Python executable could not be located.") + return(false) + } + +- # Make tests.python2.location available in configure.json. ++ # Make tests.python.location available in configure.json. + $${1}.location = $$clean_path($$python) + export($${1}.location) + $${1}.cache += location +diff --git a/mkspecs/features/functions.prf b/mkspecs/features/functions.prf +index 2750d707..9fda13d0 100644 +--- a/mkspecs/features/functions.prf ++++ b/mkspecs/features/functions.prf +@@ -39,11 +39,11 @@ defineReplace(which) { + + # Returns the unquoted path to the python executable. + defineReplace(pythonPath) { +- isEmpty(QMAKE_PYTHON2) { ++ isEmpty(QMAKE_PYTHON) { + # Fallback for building QtWebEngine with Qt < 5.8 +- QMAKE_PYTHON2 = python ++ QMAKE_PYTHON = python + } +- return($$QMAKE_PYTHON2) ++ return($$QMAKE_PYTHON) + } + + # Returns the python executable for use with shell / make targets. +diff --git a/src/buildtools/config/support.pri b/src/buildtools/config/support.pri +index e7f869a1..1bf2c5d7 100644 +--- a/src/buildtools/config/support.pri ++++ b/src/buildtools/config/support.pri +@@ -21,7 +21,7 @@ defineReplace(qtwebengine_checkWebEngineCoreError) { + !qtwebengine_checkForGperf(QtWebEngine):return(false) + !qtwebengine_checkForBison(QtWebEngine):return(false) + !qtwebengine_checkForFlex(QtWebEngine):return(false) +- !qtwebengine_checkForPython2(QtWebEngine):return(false) ++ !qtwebengine_checkForPython(QtWebEngine):return(false) + !qtwebengine_checkForNodejs(QtWebEngine):return(false) + !qtwebengine_checkForSanitizer(QtWebEngine):return(false) + linux:!qtwebengine_checkForPkgCfg(QtWebEngine):return(false) +@@ -51,7 +51,7 @@ defineReplace(qtwebengine_checkPdfError) { + !qtwebengine_checkForGperf(QtPdf):return(false) + !qtwebengine_checkForBison(QtPdf):return(false) + !qtwebengine_checkForFlex(QtPdf):return(false) +- !qtwebengine_checkForPython2(QtPdf):return(false) ++ !qtwebengine_checkForPython(QtPdf):return(false) + !qtwebengine_checkForSanitizer(QtPdf):return(false) + linux:!qtwebengine_checkForPkgCfg(QtPdf):return(false) + linux:!qtwebengine_checkForHostPkgCfg(QtPdf):return(false) +@@ -143,10 +143,10 @@ defineTest(qtwebengine_checkForFlex) { + return(true) + } + +-defineTest(qtwebengine_checkForPython2) { ++defineTest(qtwebengine_checkForPython) { + module = $$1 +- !qtConfig(webengine-python2) { +- qtwebengine_skipBuild("Python version 2 (2.7.5 or later) is required to build $${module}.") ++ !qtConfig(webengine-python) { ++ qtwebengine_skipBuild("Python is required to build $${module}.") + return(false) + } + return(true) +diff --git a/src/buildtools/configure.json b/src/buildtools/configure.json +index 88d1790c..032aa665 100644 +--- a/src/buildtools/configure.json ++++ b/src/buildtools/configure.json +@@ -295,9 +295,9 @@ + "label": "system ninja", + "type": "detectNinja" + }, +- "webengine-python2": { +- "label": "python2", +- "type": "detectPython2", ++ "webengine-python": { ++ "label": "python", ++ "type": "detectPython", + "log": "location" + }, + "webengine-winversion": { +@@ -374,7 +374,7 @@ + && features.webengine-gperf + && features.webengine-bison + && features.webengine-flex +- && features.webengine-python2 ++ && features.webengine-python + && features.webengine-nodejs + && (!config.sanitizer || features.webengine-sanitizer) + && (!config.linux || features.pkg-config) +@@ -400,7 +400,7 @@ + && features.webengine-gperf + && features.webengine-bison + && features.webengine-flex +- && features.webengine-python2 ++ && features.webengine-python + && (!config.sanitizer || features.webengine-sanitizer) + && (!config.linux || features.pkg-config) + && (!config.linux || features.webengine-host-pkg-config) +@@ -423,12 +423,12 @@ + "autoDetect": "features.private_tests", + "output": [ "privateFeature" ] + }, +- "webengine-python2": { +- "label": "python2", +- "condition": "tests.webengine-python2", ++ "webengine-python": { ++ "label": "python", ++ "condition": "tests.webengine-python", + "output": [ + "privateFeature", +- { "type": "varAssign", "name": "QMAKE_PYTHON2", "value": "tests.webengine-python2.location" } ++ { "type": "varAssign", "name": "QMAKE_PYTHON", "value": "tests.webengine-python.location" } + ] + }, + "webengine-gperf": { +-- +2.25.1 + diff --git a/package/qt5/qt5webengine/0002-chromium-breakpad-fix-build-with-glibc-2.34.patch b/package/qt5/qt5webengine/0002-chromium-breakpad-fix-build-with-glibc-2.34.patch deleted file mode 100644 index 44a6424c7..000000000 --- a/package/qt5/qt5webengine/0002-chromium-breakpad-fix-build-with-glibc-2.34.patch +++ /dev/null @@ -1,76 +0,0 @@ -From a3bc792bdc116806a50e022d9102914c8daf6210 Mon Sep 17 00:00:00 2001 -From: Martin Jansa -Date: Wed, 4 Aug 2021 19:11:06 +0200 -Subject: [PATCH] chromium: breakpad: fix build with glibc-2.34 - -* fixes: -[218/24061] CXX obj/third_party/breakpad/client/exception_handler.o -FAILED: obj/third_party/breakpad/client/exception_handler.o -/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot-native/usr/bin/x86_64-webos-linux/x86_64-webos-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -Wdate-time --sysroot=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot -MMD -MF obj/third_party/breakpad/client/exception_handler.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DCR_SYSROOT_HASH=5f64b417e1018dcf8fcc81dc2714e0f264b9b911 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../../../../git/src/3rdparty/chromium/third_party/breakpad -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/third_party/linux/include -Igen -I../../../../git/src/3rdparty/chromium -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -m64 -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g1 -fvisibility=hidden -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -std=gnu++14 -fno-exceptions -fno-rtti --sysroot=../../../../recipe-sysroot -fvisibility-inlines-hidden -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -c ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -o obj/third_party/breakpad/client/exception_handler.o -../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc: In function 'void google_breakpad::{anonymous}::InstallAlternateStackLocked()': -../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: error: no matching function for call to 'max(int, long int)' - 141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); - | ~~~~~~~~^~~~~~~~~~~~~~~~~ -In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/char_traits.h:39, - from ../../../../recipe-sysroot/usr/include/c++/11.2.0/string:40, - from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h:38, - from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:66: -../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note: candidate: 'template constexpr const _Tp& std::max(const _Tp&, const _Tp&)' - 254 | max(const _Tp& __a, const _Tp& __b) - | ^~~ -../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note: template argument deduction/substitution failed: -../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long int') - 141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); - | ~~~~~~~~^~~~~~~~~~~~~~~~~ -In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/char_traits.h:39, - from ../../../../recipe-sysroot/usr/include/c++/11.2.0/string:40, - from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h:38, - from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:66: -../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note: candidate: 'template constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)' - 300 | max(const _Tp& __a, const _Tp& __b, _Compare __comp) - | ^~~ -../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note: template argument deduction/substitution failed: -../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long int') - 141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); - | ~~~~~~~~^~~~~~~~~~~~~~~~~ -In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62, - from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:85: -../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note: candidate: 'template constexpr _Tp std::max(std::initializer_list<_Tp>)' - 3461 | max(initializer_list<_Tp> __l) - | ^~~ -../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note: template argument deduction/substitution failed: -../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note: mismatched types 'std::initializer_list<_Tp>' and 'int' - 141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); - | ~~~~~~~~^~~~~~~~~~~~~~~~~ -In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62, - from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:85: -../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note: candidate: 'template constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)' - 3467 | max(initializer_list<_Tp> __l, _Compare __comp) - | ^~~ -../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note: template argument deduction/substitution failed: -../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note: mismatched types 'std::initializer_list<_Tp>' and 'int' - 141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); - | ~~~~~~~~^~~~~~~~~~~~~~~~~ - -Adapted from: -https://github.com/meta-qt5/meta-qt5/blob/2a38fca150f065f869ed530fffe1a07beec80692/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-breakpad-fix-build-with-glibc-2.34.patch - -Signed-off-by: Martin Jansa -Signed-off-by: James Hilliard ---- - .../breakpad/src/client/linux/handler/exception_handler.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -index ca353c40997..2e43ba6fc04 100644 ---- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -+++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -@@ -138,7 +138,7 @@ void InstallAlternateStackLocked() { - // SIGSTKSZ may be too small to prevent the signal handlers from overrunning - // the alternative stack. Ensure that the size of the alternative stack is - // large enough. -- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); -+ static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); - - // Only set an alternative stack if there isn't already one, or if the current - // one is too small. diff --git a/package/qt5/qt5webengine/Config.in b/package/qt5/qt5webengine/Config.in index 5d537cdf8..542f212df 100644 --- a/package/qt5/qt5webengine/Config.in +++ b/package/qt5/qt5webengine/Config.in @@ -32,24 +32,36 @@ config BR2_PACKAGE_QT5WEBENGINE depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative, qt5base-eglfs depends on BR2_PACKAGE_HAS_LIBEGL # qt5base-eglfs depends on BR2_PACKAGE_HAS_UDEV + select BR2_PACKAGE_HOST_NODEJS # v8 (a chromium 3rd-party) compiles its internal host-tools with the # same word size as the target. For 32-bits targets, it adds the -m32 # flag (for 64-bits, it adds the -m64 flag). # https://github.com/v8/v8/blob/5.6.326.55/gypfiles/toolchain.gypi#L1036-L1037 select BR2_HOSTARCH_NEEDS_IA32_COMPILER if !BR2_ARCH_IS_64 # v8/chromium select BR2_PACKAGE_FFMPEG + select BR2_PACKAGE_LCMS2 + select BR2_PACKAGE_LIBEVENT select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBNSS select BR2_PACKAGE_LIBVPX select BR2_PACKAGE_LIBXKBCOMMON + select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_LIBXSLT + select BR2_PACKAGE_MINIZIP select BR2_PACKAGE_OPUS + select BR2_PACKAGE_RE2 + select BR2_PACKAGE_SNAPPY select BR2_PACKAGE_WEBP select BR2_PACKAGE_WEBP_DEMUX + select BR2_PACKAGE_WEBP_MUX select BR2_PACKAGE_QT5BASE_DBUS select BR2_PACKAGE_QT5BASE_EGLFS select BR2_PACKAGE_QT5BASE_FONTCONFIG + select BR2_PACKAGE_QT5BASE_HARFBUZZ + select BR2_PACKAGE_QT5BASE_JPEG select BR2_PACKAGE_QT5BASE_ICU select BR2_PACKAGE_QT5BASE_GUI + select BR2_PACKAGE_QT5BASE_PNG select BR2_PACKAGE_QT5BASE_WIDGETS select BR2_PACKAGE_QT5DECLARATIVE select BR2_PACKAGE_QT5DECLARATIVE_QUICK @@ -57,9 +69,11 @@ config BR2_PACKAGE_QT5WEBENGINE select BR2_PACKAGE_QT5QUICKCONTROLS2 select BR2_PACKAGE_QT5SVG if BR2_PACKAGE_QT5BASE_EXAMPLES select BR2_PACKAGE_QT5WEBCHANNEL + select BR2_PACKAGE_QT5WEBENGINE_CHROMIUM select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_QT5BASE_XCB select BR2_PACKAGE_XLIB_LIBXCURSOR if BR2_PACKAGE_QT5BASE_XCB select BR2_PACKAGE_XLIB_LIBXI if BR2_PACKAGE_QT5BASE_XCB + select BR2_PACKAGE_XLIB_LIBXKBFILE if BR2_PACKAGE_QT5BASE_XCB select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_QT5BASE_XCB select BR2_PACKAGE_XLIB_LIBXSCRNSAVER if BR2_PACKAGE_QT5BASE_XCB select BR2_PACKAGE_XLIB_LIBXTST if BR2_PACKAGE_QT5BASE_XCB diff --git a/package/qt5/qt5webengine/host-python-wrapper.in b/package/qt5/qt5webengine/host-python-wrapper.in new file mode 100644 index 000000000..3400be1d0 --- /dev/null +++ b/package/qt5/qt5webengine/host-python-wrapper.in @@ -0,0 +1,3 @@ +#!/bin/sh +LD_LIBRARY_PATH="@HOST_DIR@/lib" \ +exec @HOST_DIR@/bin/python "$@" diff --git a/package/qt5/qt5webengine/qt5webengine.hash b/package/qt5/qt5webengine/qt5webengine.hash index 6a631c0fe..1d2b70c4f 100644 --- a/package/qt5/qt5webengine/qt5webengine.hash +++ b/package/qt5/qt5webengine/qt5webengine.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtwebengine-everywhere-src-5.15.2.tar.xz.sha256 -sha256 c8afca0e43d84f7bd595436fbe4d13a5bbdb81ec5104d605085d07545b6f91e0 qtwebengine-everywhere-src-5.15.2.tar.xz +# Locally calculated +sha256 fb7abcf88d4336d55565627e18b33df1855fefb0f12e24931b6a7decbe60913b qtwebengine-v5.15.8-lts.tar.bz2 # Locally calculated sha256 f34787ef0342c614b667186a6ec2f5d6b9d650e30142a2788a589a89743e88e9 LICENSE.Chromium @@ -8,1000 +8,3 @@ sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENS sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 sha256 9ae1959e86bd49b9680f78e0b49d4e52ae88a3f234d497e175e42a7e8ed59216 LICENSE.LGPL3 - -# Locally calculated with: -# for i in $(find src/3rdparty/ -type f \( -iname 'license*' -o -iname 'copying*' -o -name 'APPLE_LICENSE' -o -name 'Copyright' -o -path '*/license_texts/*' -o -path '*/licenses/*' \) -a -not -name '*.cc' -not -name '*.py' -not -name '*.pyc' -not -name '*.h' -not -name 'LICENSE.sha1' -not -name 'licensecheck.pl*' -not -name 'license.after' -not -name 'license.before') ; do echo -n "sha256 " ; sha256sum $i ; done | sort --key=3 -sha256 3ed00dd93c75655599456c83cba2f69c6824fd53f24fc24206ba27b65057709d src/3rdparty/chromium/base/third_party/cityhash/COPYING -sha256 4af93c12062c58058378de2397dc1c92bbff9ddfb1d583a01c84127557ce97ca src/3rdparty/chromium/base/third_party/double_conversion/LICENSE -sha256 96e7ccbf8d17e319dd77c4ebd4965b64a820bbcc3142a2478fbf95af77417b6a src/3rdparty/chromium/base/third_party/dynamic_annotations/LICENSE -sha256 5d85142a5609ad177a2d7a2e7cae060b886b8b42f25c5b9803cf0cb5ee04ad2f src/3rdparty/chromium/base/third_party/icu/LICENSE -sha256 9ad1d4223b80349f3d3ab9cec92f93431b9da14a1b5d41de468ce054a28cf8aa src/3rdparty/chromium/base/third_party/libevent/LICENSE -sha256 d55a403514532af12dc2fbfb2e41900090a5dd6c7c76c8e4d9b20bcc737eac35 src/3rdparty/chromium/base/third_party/nspr/LICENSE -sha256 90b2201c340cee36b40a443f949d9eb416f0a0d204c32d350aff87fedeb67ae8 src/3rdparty/chromium/base/third_party/superfasthash/LICENSE -sha256 538edc6f52c563cf06eca1bac8dd785ff60ef5a371a950265700d5d40386db6e src/3rdparty/chromium/base/third_party/symbolize/LICENSE -sha256 79955cd80438f041387eb080f2675394e36a806b8b17eca63a4bc568d839509e src/3rdparty/chromium/base/third_party/valgrind/LICENSE -sha256 c45766baef552c59eeb1fdfbbc690e52e4cd5b135dfd325f21bdfe8ddfe28ce6 src/3rdparty/chromium/base/third_party/xdg_mime/LICENSE -sha256 18351de3d7e2dc469cc83e77d38a3e25d010251e34eb348bbd1a76275e313997 src/3rdparty/chromium/base/third_party/xdg_user_dirs/LICENSE -sha256 7a209dd1b94cabdb5ea9c6f9164b9546ffa5daaa671e7767d49510db055f5c51 src/3rdparty/chromium/buildtools/LICENSE -sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 src/3rdparty/chromium/LICENSE -sha256 212c5a071f61512786b5e5840b3d70c85e017f3f82939ad4d4a870fc48b33477 src/3rdparty/chromium/LICENSE.chromium_os -sha256 7a209dd1b94cabdb5ea9c6f9164b9546ffa5daaa671e7767d49510db055f5c51 src/3rdparty/chromium/mojo/public/LICENSE -sha256 bed70fc84f1bea2b4b144564b9a0f9a5a3bc7b0d78f6e62092aeb689cac56bdd src/3rdparty/chromium/net/third_party/mozilla_security_manager/LICENSE -sha256 a20c1a32d1f8102432360b42e932869f7c11c7cdbacf9cac554c422132af47f4 src/3rdparty/chromium/net/third_party/nss/LICENSE -sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 src/3rdparty/chromium/net/third_party/quiche/src/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/net/third_party/uri_template/LICENSE -sha256 834ee20e8fc3235722ed801bae30cc539c2775be656ff9cc2810fe674e53d5ec src/3rdparty/chromium/ppapi/LICENSE -sha256 c79a7fea0e3cac04cd43f20e7b648e5a0ff8fa5344e644b0ee09ca1162b62747 src/3rdparty/chromium/third_party/abseil-cpp/LICENSE -sha256 bf4da21bd20bcfb5b60b7ecc67fa864a79be049e21d6178076887f178dd6c71a src/3rdparty/chromium/third_party/angle/LICENSE -sha256 3f6f1b520bc53e878ccbb698ad0bacef3752a5f4e4b50a26552bd70f60b40748 src/3rdparty/chromium/third_party/angle/src/common/third_party/smhasher/LICENSE -sha256 86ec6953794503942b70fcd4f35b565d44f63f703b7037ce44dad965c4aaae91 src/3rdparty/chromium/third_party/angle/src/common/third_party/xxhash/LICENSE -sha256 a08ba10adec47027ef8078848729837b1c5a42f140718d7afd65c23f1eeec392 src/3rdparty/chromium/third_party/angle/src/third_party/compiler/LICENSE -sha256 31346421254a3e6e12687cf17f19f6357ee73a617fa7b3d3ccefdcbabe49bdd3 src/3rdparty/chromium/third_party/angle/src/third_party/libXNVCtrl/LICENSE -sha256 336f505f8d5aa73ea40b4d798dde86953e9c1f6525757f1d7f18120fea09bb1d src/3rdparty/chromium/third_party/angle/src/third_party/volk/LICENSE.md -sha256 837402bd25fad9b704265801ca3f92566a98157c1f9a7acd6f446299ba1c305a src/3rdparty/chromium/third_party/angle/third_party/rapidjson/src/bin/jsonschema/LICENSE -sha256 394faaedb93c1da8ecbd61322518834908fee64381117e01a611bf9fac20baa6 src/3rdparty/chromium/third_party/angle/third_party/rapidjson/src/contrib/natvis/LICENSE -sha256 a140e5d46fe734a1c78f1a3c3ef207871dd75648be71fdda8e309b23ab8b1f32 src/3rdparty/chromium/third_party/angle/third_party/rapidjson/src/license.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/angle/third_party/vulkan-headers/src/LICENSE.txt -sha256 43c0a37e6a0fa7ff3c843b3ec5a4fac84b712558ddac103fbd4c1649662a9ece src/3rdparty/chromium/third_party/angle/third_party/vulkan-loader/src/LICENSE.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/angle/third_party/vulkan-tools/src/LICENSE.txt -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 src/3rdparty/chromium/third_party/angle/tools/flex-bison/third_party/m4sugar/LICENSE -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 src/3rdparty/chromium/third_party/angle/tools/flex-bison/third_party/skeletons/LICENSE -sha256 bfec18debedcb337f8af53f143ccf0b1575d0b7c30deaee137f10397eca0d353 src/3rdparty/chromium/third_party/angle/util/windows/third_party/StackWalker/LICENSE -sha256 b23e682fda7310afe43505ed6041919ccff8f9e0c6799ebd7542cbcef11102e3 src/3rdparty/chromium/third_party/apple_apsl/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/arcore-android-sdk-client/LICENSE -sha256 584e795ba5833279c327245594d6dc216fc664144fa3626a0bdf136bc00af76c src/3rdparty/chromium/third_party/arcore-android-sdk/LICENSE -sha256 af175b9d96ee93c21a036152e1b905b0b95304d4ae8c2c921c7609100ba8df7e src/3rdparty/chromium/third_party/axe-core/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/bazel/LICENSE -sha256 0518cf49c09398259d54fcfff0b5fd36456162c6439886660e53627b3073ef22 src/3rdparty/chromium/third_party/blanketjs/LICENSE -sha256 a661d10f8f194b1963a75bb4d308f17b078cc064624313a556902d89705f6876 src/3rdparty/chromium/third_party/blink/LICENSE_FOR_ABOUT_CREDITS -sha256 0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4 src/3rdparty/chromium/third_party/blink/renderer/core/LICENSE-APPLE -sha256 7555fa34bc131a75ca56d65c40cc1ea8f9515d23e353d4c15d58573a042f7805 src/3rdparty/chromium/third_party/blink/renderer/core/LICENSE-LGPL-2 -sha256 f2b3bd09663381deb99721109d22b47af1213bb43007a8b56a06c6375c8050ce src/3rdparty/chromium/third_party/blink/renderer/core/LICENSE-LGPL-2.1 -sha256 6a73f9541c2de74158c0e7cf6b0a58ef774f5a780bf191f2d7ec9cc53efe2bf2 src/3rdparty/chromium/third_party/blink/renderer/platform/testing/data/third_party/Noto/LICENSE_OFL.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/blink/renderer/platform/testing/data/third_party/Roboto/LICENSE.txt -sha256 5a7b465d39b5e018bc40cc34162176269f7c476989cb4dbcf0ec0b81701545a7 src/3rdparty/chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/LICENSE.md -sha256 88ec6a6c8eafa3b9757e745783938bef3f5e4d5e3c76b1db576aa3ab520e5e1d src/3rdparty/chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/enum/enum/LICENSE -sha256 663f9253e13519b82ab4a6b1caab6bed05aada70517f28cd0254be8a9fa19ed6 src/3rdparty/chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/h2/LICENSE -sha256 763a9342a04df62046c9dc748a5287934eb0a5331c6863b3ca0aee20e18cb4ed src/3rdparty/chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/hpack/LICENSE -sha256 16a39991619e92f18680932da2a9199fdf7d95df3ecaedc52ea06218aabafd6f src/3rdparty/chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/html5lib/LICENSE -sha256 763a9342a04df62046c9dc748a5287934eb0a5331c6863b3ca0aee20e18cb4ed src/3rdparty/chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/hyperframe/LICENSE -sha256 b7529b8c07171a78a8c36c3283905528e4812945d977d125eb926e8ccbf245b6 src/3rdparty/chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/third_party/six/LICENSE -sha256 df336397e09e764416fc33b555703b1cdddd3a0cfea8a013ad1cad565c8be2f5 src/3rdparty/chromium/third_party/blink/tools/blinkpy/third_party/wpt/wpt/tools/wptserve/LICENSE -sha256 60bd7c54856bf9387221bde5ab55d516d7cea15870d0fed69406bcd1c8ec7c9d src/3rdparty/chromium/third_party/boringssl/src/LICENSE -sha256 0c125a4dab5ab869473e6491db22f6c0a7f8a4de58588d03bb2b16c0c8ebd7de src/3rdparty/chromium/third_party/boringssl/src/third_party/fiat/LICENSE -sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 src/3rdparty/chromium/third_party/boringssl/src/third_party/googletest/LICENSE -sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd src/3rdparty/chromium/third_party/boringssl/src/third_party/wycheproof_testvectors/LICENSE -sha256 5740985669353ef52e0f320413ff68dc62b6c23a596cd78b6d6b80764f1c50ab src/3rdparty/chromium/third_party/bouncycastle/LICENSE -sha256 f9752a0a4ac5215eaa3a4f0ec29cd52563c883de5d7870525cc0bc3a21cb8e15 src/3rdparty/chromium/third_party/breakpad/breakpad/LICENSE -sha256 4d03f91b94e0db3bdc9ddaf0060dd41cc94a2096094fbc1417713a2f059658c7 src/3rdparty/chromium/third_party/breakpad/breakpad/src/third_party/curl/COPYING -sha256 d8eaba95b8d03c5912da9b5823de2c920e84a993133039a22fc8100f9edb33a1 src/3rdparty/chromium/third_party/breakpad/breakpad/src/third_party/libdisasm/LICENSE -sha256 015b2d5cedb3024339446a63963d073fa831544cf253c5ddd713fccc8d83e939 src/3rdparty/chromium/third_party/breakpad/LICENSE -sha256 3d180008e36922a4e8daec11c34c7af264fed5962d07924aea928c38e8663c94 src/3rdparty/chromium/third_party/brotli/LICENSE -sha256 98f8746a39f9a42da35df7046a15b56d0e2f4f76eefc352d67f1bf76e85360b4 src/3rdparty/chromium/third_party/bspatch/LICENSE -sha256 b5730da9a26472a405b0b1c61d3d166714d9d654ab3282e54e4a01a5f66316c3 src/3rdparty/chromium/third_party/byte_buddy/LICENSE -sha256 0154852797380b35195ecd829582f1efd00bfe244eab427a6bbf1e3f3dd57b1f src/3rdparty/chromium/third_party/catapult/common/eslint/LICENSE -sha256 65d4ed698fb5cbcd1d44c78bc6a02c5bf1da00df5395d2d6ac43bdafe6bc20dc src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/third_party/rcssmin/bench/LICENSE.cssmin -sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/third_party/rcssmin/LICENSE -sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/third_party/rjsmin/LICENSE -sha256 984fb04a16a9f1e0145ffd891125dc366a01cd921f58c9b0369be400c720790d src/3rdparty/chromium/third_party/catapult/third_party/polymer/components/polymer/LICENSE.txt -sha256 f77133324f35589f9f170473456321fe76aa35b750293cb8a475e26afa8f2bac src/3rdparty/chromium/third_party/catapult/tracing/LICENSE -sha256 17afb4516438c26ee15213c5a082206340d976a68472b8eab2499d7bce4debec src/3rdparty/chromium/third_party/catapult/tracing/third_party/chai/LICENSE -sha256 1920d2326ebbad34dcbd9681b4fe4926f113aa5e7dc9a92fceb456d859ee142e src/3rdparty/chromium/third_party/catapult/tracing/third_party/d3/LICENSE -sha256 5a2ed53cc5975569e9fa146c4245eaf53377dc1a88bdcb923da6487e53cba55e src/3rdparty/chromium/third_party/catapult/tracing/third_party/devscripts/COPYING -sha256 e8b80a53d0f95a3cf0f992f8cfc6b3911a7f32f47e0e4a8d4fd66582eeae9484 src/3rdparty/chromium/third_party/catapult/tracing/third_party/gl-matrix/LICENSE.md -sha256 be3fd324066af702fad2a9ef05664ce9665495ebc1824fd7b28960802ec7891e src/3rdparty/chromium/third_party/catapult/tracing/third_party/jpeg-js/LICENSE -sha256 aae03c510d63d96de72d37ce5650fbbac63b322d09ac0ee0df50b8950329e840 src/3rdparty/chromium/third_party/catapult/tracing/third_party/jszip/LICENSE.markdown -sha256 1f194a987fa1dc60e4bcf5e04e0fc03fff8f2ee587c52136adb2cebb397250b8 src/3rdparty/chromium/third_party/catapult/tracing/third_party/mocha/LICENSE -sha256 a04665b3b2de56c66730c1f720f528175739e4104f79073614aa611da1e85539 src/3rdparty/chromium/third_party/catapult/tracing/third_party/pako/LICENSE -sha256 ef5b39dfcafe08323262e3f51a3a9de649978a55ed8ef8eef3c451f2c1e78a53 src/3rdparty/chromium/third_party/ced/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/ced/src/LICENSE -sha256 3d1d2669d0ba87069b5e202f106193c4eb0e140a2aead31dca9670a0581dd979 src/3rdparty/chromium/third_party/chaijs/LICENSE -sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 src/3rdparty/chromium/third_party/checkstyle/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/checkstyle/LICENSE.apache20 -sha256 c2d13ec3b431617beb314705c0f42d17ca579eed00032ed8a13dbcd23fc9bdd5 src/3rdparty/chromium/third_party/cld_3/LICENSE -sha256 c2d13ec3b431617beb314705c0f42d17ca579eed00032ed8a13dbcd23fc9bdd5 src/3rdparty/chromium/third_party/cld_3/src/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/closure_compiler/compiler/COPYING -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/closure_compiler/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/crashpad/crashpad/LICENSE -sha256 212846e0145aa50fb3a5aef254a370311a93acf6c1e792e47e0068d64c8c3885 src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/apple_cf/APPLE_LICENSE -sha256 4b45cbe16d7b71b89ae6127e26e0d90a029198ca5e958ad8e3d0b8bbed364d8b src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/cpp-httplib/cpp-httplib/LICENSE -sha256 f40ee07401827b6ac9cf0aee1aaffb00e42a3f2c729f9c83f96a3daafef5d944 src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/getopt/LICENSE -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/glibc/COPYING.LIB -sha256 e5881019d8766c1e88a5fe1dbca4ba40c78011d41fcb18f6e9f50df60182685b src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/xnu/APPLE_LICENSE -sha256 a1f30b77c01e0995fa32a00119e00749e8731ee8a3c4c3549bce74083c72b0b6 src/3rdparty/chromium/third_party/crc32c/src/LICENSE -sha256 e9427cf6abc4eaeda0bcd094fca46af4067970079f426b65d5cbacb87bff6366 src/3rdparty/chromium/third_party/cros_system_api/LICENSE -sha256 09e8a9bcec8067104652c168685ab0931e7868f9c8284b66f5ae6edae5f1130b src/3rdparty/chromium/third_party/custom_tabs_client/LICENSE -sha256 7a3cb0e5055874e67db9aa2d5fe26de23204fa994ffbad198901ffe9c812a717 src/3rdparty/chromium/third_party/d3/src/LICENSE -sha256 b327887de263238deaa80c34cdd2ff3e0ba1d35db585ce14a37ce3e74ee389e9 src/3rdparty/chromium/third_party/dav1d/libdav1d/COPYING -sha256 2da4494d2a8b5c742afbb905b10621e40129284c977ac138e3081ed0d9d83aed src/3rdparty/chromium/third_party/dav1d/LICENSE -sha256 b77e952e3feaebd807d27784988b19fb60f83f9fc9a0c03e6aedbbffd5d6f8ee src/3rdparty/chromium/third_party/dawn/LICENSE -sha256 43452b94e6aa0c2d076ad25b87f580c11571689d52f3aa1a1f7bdcab31a0bd15 src/3rdparty/chromium/third_party/decklink/LICENSE -sha256 5a2ed53cc5975569e9fa146c4245eaf53377dc1a88bdcb923da6487e53cba55e src/3rdparty/chromium/third_party/devscripts/COPYING -sha256 a3f2fe2ac6b471aa80c737c5d283dd049bdc903a73835ee6d4d2cac02fdd53bf src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/cm/LICENSE -sha256 c6daa4e8737d15aa7140b4f7eb82b9d4829bd2fd27132c43e282203b9c67dfc4 src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/cm/LICENSE_python -sha256 13110d66c514a7890c4b388a353bc08fa094fe13d5ed7f3a222cc0a0caa3fd17 src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/cm_modes/LICENSE -sha256 9fea307fe830918e12b6822f943f4b59bd7715614efb68e834a141ca758bd5f2 src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/dagre_layout/LICENSE -sha256 7cdb44aabddbdd78998119d68a39c87424119b663945c79891fc1b022301824c src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/formatter_worker/acorn/LICENSE -sha256 f734f7708439c275f3599e2df7de84cd9f360bd13620a30ab376af6c9deb213b src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/sdk/wasm_source_map/LICENSES.deps -sha256 b60e9b66bf4f9ab3aa5d1d20b18410a632fd624cf4ce3aa1eb839087caf35958 src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/third_party/fabricjs/LICENSE -sha256 7ec9661a8afafab1eee3523d6f1a193eff76314a5ab10b4ce96aefd87621b0c3 src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/third_party/lighthouse/LICENSE -sha256 55efdea1a9fe503ed3cd89c2776d3d2131795defaebea421754b428333fbfba3 src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/third_party/lit-html/LICENSE -sha256 1a5ae5ab221af81b68f4f4c156c0d2e044851272c5e2e6c07d685946557878ea src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/third_party/lit-html/package/LICENSE -sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/third_party/wasmparser/LICENSE -sha256 7a209dd1b94cabdb5ea9c6f9164b9546ffa5daaa671e7767d49510db055f5c51 src/3rdparty/chromium/third_party/devtools-frontend/src/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/abbrev/LICENSE -sha256 71f83c4c0621102a56d9853812777b85751bce7e9726f686f5b056c1f8a4b0e6 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/accepts/LICENSE -sha256 cfa72b62b9ae173078823a3796b25c027a9071046a263beddf966df67018ce06 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/acorn-jsx/LICENSE -sha256 7cdb44aabddbdd78998119d68a39c87424119b663945c79891fc1b022301824c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/acorn/LICENSE -sha256 7cdb44aabddbdd78998119d68a39c87424119b663945c79891fc1b022301824c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/acorn-walk/LICENSE -sha256 e85e131fa4ed25538ff1f4962ced1fb6f68b079bd9164a790597a0f30b8fd030 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ajv/LICENSE -sha256 ea97081f183590d87376f5fe73b7150c79863a73167f47ed87c41e191f89eb0b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/amdefine/LICENSE -sha256 10e7818a114cf8b702a2263ad424b3cd9d34254df6039e47bb3f412000b0ae00 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ansi-colors/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ansi-escapes/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ansi-regex/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ansi-styles/license -sha256 0798f37cff4a3f438c071316e41f94ffe110116a313ab0fc4f8caa07218f1f0f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ansi-wrap/LICENSE -sha256 5a3b0007c4203f10fe11b3fe8747253eb994f135e10b73e1f88ada941af09c6e src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/anymatch/LICENSE -sha256 0b61ac8491c66669491fdb328200203822b91d2a0461f5cd898fe0944ea97e41 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/append-transform/license -sha256 c8442419dc614089ea022b3da6bfc089b41a58fb7b9030d1e651f2f36189dce2 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/argparse/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/array-find-index/license -sha256 f4a48aa8354a257785aa534bab2ac5ff2c2a98cd59cdf4a637bb68ee185683f7 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/arr-diff/LICENSE -sha256 3672fb6ef1c214578dfee689643516c2685f61ab08d130517ca8ea24f383a840 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/arr-union/LICENSE -sha256 e80373b1ed0f33cecc47173b4b0c6afe0d0318b32dbd84116a1a957e3f7f43a8 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/asap/LICENSE.md -sha256 6239c6144c31e58cf925c34483606969c555574d64ffa96518ab5d7f45c75d43 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/assert/LICENSE -sha256 0798f37cff4a3f438c071316e41f94ffe110116a313ab0fc4f8caa07218f1f0f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/assign-symbols/LICENSE -sha256 69dee148a2cc470554dfa7142e830662062394d0fe67cddd379aba90dc60d6b3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/astral-regex/license -sha256 a374b737c41b30b1ec04c5fcc17d1b853f008f217cc43a9dbea441abd9afde70 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ast-types/LICENSE -sha256 d9fed24f132985934fca621c4dc1dfb53e03377a24d0568d424383d7eaa9c0ac src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/async/LICENSE -sha256 e5a57cdd72e279910183799153134d0e749a5664fc459c8eacbecf72532b7db3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/async-limiter/LICENSE -sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@babel/code-frame/LICENSE -sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@babel/generator/LICENSE -sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@babel/generator/node_modules/source-map/LICENSE -sha256 4e32449bd377d3dbced215dfd66dc234994c28e561aef73dbd29d6b5a1a00484 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-function-name/LICENSE -sha256 517913953e6a69da35bccb95c2d801f70d73e8f267cdad1a1615bfe8974ad3ad src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-get-function-arity/LICENSE -sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@babel/helper-split-export-declaration/LICENSE -sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@babel/highlight/LICENSE -sha256 2e97627cb278aa7556fb9e8817368302301a595b6c7582512b8d74c57b773652 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@babel/parser/LICENSE -sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@babel/template/LICENSE -sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@babel/traverse/LICENSE -sha256 117da2af0d4ce0fe1c8e19b5cff9dcd806adf973d328d27b11d4448c4ff24f76 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@babel/types/LICENSE -sha256 a1bd5deadb6a06dd74efa852c1b8b23f63b67f2214fbe9c8bd591da51da69268 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/balanced-match/LICENSE.md -sha256 f3eca6ff762533fa5a77caf954a143e48afa204668cf97dce758c45a9e006be3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/base64-arraybuffer/LICENSE-MIT -sha256 de6059eadd0c1327f30a22663392e57d36b97b0ac9bb48f4875c8008ba823c30 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/base64id/LICENSE -sha256 5b37224c080cdcc97c871ada971c224e9926370fe74f11b539aa1cf9f3b1aca1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/base64-js/LICENSE -sha256 85fe65eefab89e2a683232b96e6f689279821a0bd3b351e9ab6a6ebd19dea567 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/binary-extensions/license -sha256 150d7707d4532d57bdb5718637ff62fff1f075921c5ffaa084df27f900bfea76 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/.bin/license-checker -sha256 7d3e0d8d5604632b94ff9aea3001153c506566cd1c6c7bb37000acdb1fb37417 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/blob/LICENSE -sha256 87092fe7ffd1e92eba5d1dd39b73a73fdb4fdd4df3474beacc3d9f6b08ece82c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/bluebird/LICENSE -sha256 23d466b1b134b415b66fa50c6526b4cf3e7b9258554da88d3abb371721e7ce68 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/body-parser/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/body-parser/node_modules/debug/LICENSE -sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/body-parser/node_modules/ms/license.md -sha256 68f12f6e2c33688699249c01d8f9623c534da20aa71989c57b061b7bc1676d14 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/brace-expansion/LICENSE -sha256 e70ff771504ba41f2be55de812a017ff46433d7a250c862e38fc419159e44500 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/braces/LICENSE -sha256 82ba430b068b75a41438568e1e4ed1f96e02699c9b51735154af03e9b59d6b0d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/browserify-aes/LICENSE -sha256 dc09aa476634db0dbae1a296f099d5bd39e27c96b876d4d20b236fa565002bb6 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/browserify-cipher/LICENSE -sha256 e54f1a2edadb1d8d3a482bcd0712acad2947337ae35e40ca34b22eb77940863f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/browserify-des/license -sha256 672eb2c2ad92bee7ef6c894f1431a66d7e8fdd7965cfdca5aa4fc206951a7c9c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/browserify-rsa/LICENSE -sha256 a0e06d86a5a17341fa6134ee30ef18d73251cf32b8a577cdfd6aad6ad34af61d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/browserify-sign/LICENSE -sha256 ddd770379e07bf0574dfaa4485be80a23b3248b36d09f33ec79276c09b829daf src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/browserify-zlib/LICENSE -sha256 0e91be39cb38da2972a6e0649dcd4e8a49595996b3ab4b04e72ef9ea71de9079 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/browser-resolve/LICENSE -sha256 fd595a25dd3c90492a8cc3b888aa9ae47630173181efed17f71b4c689d99d0ec src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/browser-stdout/LICENSE -sha256 14275f5c8139d02054c5259d52a88ccbba662a86af18c30f071c8d082dc6004c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/buffer-from/LICENSE -sha256 06bafa45fdad2579ba0e43b0c9b2c6290287c99c4203c300254a462b38a307f6 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/buffer/LICENSE -sha256 51ad9defd71911dbe413daf277bcb2e1077743f5ee5ae48d0a3b90a5b7486f55 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/buffer-xor/LICENSE -sha256 f057f36739d53d228a746de4440c1e0c644ecde06d6beab45337d39c9d12a393 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/builtin-status-codes/license -sha256 e3b44af066615de2ea48d18d852d0762f18c0b2efcea714fa48a6f729d405b85 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/bytes/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/callsites/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/camelcase-keys/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/camelcase/license -sha256 b181da80336ff9dd1043fc8be1a764d7382363433319aa872e4d2cb5ce2a3066 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/chai/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/chalk/license -sha256 7df1d6cf5b4112cbe277a84269e02ae631603a9a3a21b8328a34c30b8c3dd1ab src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/chardet/LICENSE -sha256 e5aee0714b6ecc416454b968d1017570ef609f20d8722ab84b07acd550b78198 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/check-error/LICENSE -sha256 db9ba183d4cbfbaf6c27db2effddbb84b46340c33ed32a066bc0b144a3ea1298 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/chokidar/LICENSE -sha256 2c46f1325bd3822a33c1e2c1e49c18d13127ac00f9c8b3b79196c7a126f73cd9 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/chokidar/node_modules/glob-parent/LICENSE -sha256 cf93ad78cfd5f3523248675aeb2a46e003367596883d4fa26a0c38d553ab0f61 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/cipher-base/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/cli-cursor/license -sha256 2dc0465729366c3a7890dfa9e972a1ba7048a26c02116fb8b419a6a1ac110149 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/cliui/LICENSE.txt -sha256 33fa5470b2195e410b075a32516b6ad27784b8a8ff74ae90cfd60c14b76e6644 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/cli-width/LICENSE -sha256 3fb0857ef0133928cf72c88dfc464e931486e88778961eedec25585e2321507f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/clone/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/code-point-at/license -sha256 693866fc419c6f61c8570438ec00659d156ec2b4d4a4d04091711f5f11a365d4 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/color-convert/LICENSE -sha256 7357445bac398c76c0aef75a587009fe406d40de6a79789eb5b7ecbbad317ef2 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/color-name/LICENSE -sha256 77ffe84006509949525fd57df06f4a6a80ad862c5314b66ab5bb6ac4cee6280b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/colors/LICENSE -sha256 1fa6ee8bb95a81ae3d73a5bd074a3ac380ffec13697051063ca1a601921b91db src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/combine-source-map/LICENSE -sha256 1fa6ee8bb95a81ae3d73a5bd074a3ac380ffec13697051063ca1a601921b91db src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/combine-source-map/node_modules/convert-source-map/LICENSE -sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/combine-source-map/node_modules/source-map/LICENSE -sha256 04512a63dce4d2d506ad612dc0bd7681ccf6e3655f7b6eaef7dfac8323d1ec0b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/commander/LICENSE -sha256 d682394bef4a34d279b0237feecf145abadd6ec1e41cbb094592b8cc9fc2f34b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/compare-versions/LICENSE -sha256 0f0b408b8b871d983e767528c6dc51e0ad7efaa022890c449fe2b2e1ee24dbb7 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/component-emitter/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/concat-map/LICENSE -sha256 96b29c9aaa611a05349b362d48c2ffce0966fe408401a2d1a157be312c035b5f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/concat-stream/LICENSE -sha256 ec62dc96da0099b87f4511736c87309335527fb7031639493e06c95728dc8c54 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/concat-stream/node_modules/readable-stream/LICENSE -sha256 c7cc929b57080f4b9d0c6cf57669f0463fc5b39906344dfc8d3bc43426b30eac src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/concat-stream/node_modules/safe-buffer/LICENSE -sha256 11f2aafb37d06b3ee5bdaf06e9811141d0da05263c316f3d627f45c20d43261b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/concat-stream/node_modules/string_decoder/LICENSE -sha256 9913ff70f23424d49fda2b05902cfb72f17ae1e48aaf898c349a284289a74751 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/connect/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/connect/node_modules/debug/LICENSE -sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/connect/node_modules/ms/license.md -sha256 257aed98914108e91a337912727b6a802eef218248507f74b76faffaff517a38 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/content-type/LICENSE -sha256 1fa6ee8bb95a81ae3d73a5bd074a3ac380ffec13697051063ca1a601921b91db src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/convert-source-map/LICENSE -sha256 c7cc929b57080f4b9d0c6cf57669f0463fc5b39906344dfc8d3bc43426b30eac src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/convert-source-map/node_modules/safe-buffer/LICENSE -sha256 c02110eedc16c7114f1a9bdc026c65626ce1d9c7e27fd51a8e0feee8a48a6858 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/cookie/LICENSE -sha256 722e1193901ad1ed4460753dded483d68ca2ad0528c67f86f76abc46b9aa25f5 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/core-js/LICENSE -sha256 33b734d60042d0fe0c92dd1fc1e874193a1c899ec3e276a2eb935d2d0bf5b710 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/core-util-is/LICENSE -sha256 d4ad87ad0bb7d57c17ae73b46e064243b972edc3036c38c222172c9600a20b56 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/create-ecdh/LICENSE -sha256 cf93ad78cfd5f3523248675aeb2a46e003367596883d4fa26a0c38d553ab0f61 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/create-hash/LICENSE -sha256 cf93ad78cfd5f3523248675aeb2a46e003367596883d4fa26a0c38d553ab0f61 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/create-hmac/LICENSE -sha256 aaa78451b6fecd1b9c4594c796c133c0e90cad100372ff8bc6de615e9ef9adf1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/cross-spawn/LICENSE -sha256 6134c69bc22c8289252e70de3af20bd67071233459055be74d83acfcc4865e7e src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/crypto-browserify/LICENSE -sha256 0b61ac8491c66669491fdb328200203822b91d2a0461f5cd898fe0944ea97e41 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/currently-unhandled/license -sha256 53ecc31e1632c07980cb0c97dcaf3d1d20323d21194b92150987a4fecf517b3c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/custom-event/LICENSE -sha256 9660914267128b5f96a102bd7f6268c249110a39cb7c4bb7f536d856445d739c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/date-format/LICENSE -sha256 e38ad5868b1e32ab44c63da6e58b8b58604d8d1dd90c40d171f2feaa756b088b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/dateformat/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/debug/LICENSE -sha256 5f9e03a50e10f262f7bd356fe323b12f461f14dae6762611285a0d7479340ae7 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/debuglog/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/decamelize/license -sha256 e5aee0714b6ecc416454b968d1017570ef609f20d8722ab84b07acd550b78198 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/deep-eql/LICENSE -sha256 f2042f3634c4136d06b5139c9c6aefb81a3a462b514548bc1845953233dfba98 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/deep-is/LICENSE -sha256 d7c67af00ef4ecd9bee06e010bb1fcd8d5f0ecb02fa1b73fe3ef030a88800d4b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/default-require-extensions/license -sha256 b568428993e6acff80c1214dcc4f7195241772d5b3d23d92ee6bf5406a102896 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/defaults/LICENSE -sha256 00d402c2bbe7c67369bd01ce2c16b8ed46ccc949a1ee2d6bb8f9606afa8c7434 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/define-properties/LICENSE -sha256 bd47ce7b88c7759630d1e2b9fcfa170a0f1fde522be09e13fb1581a79d090400 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/depd/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/dezalgo/LICENSE -sha256 db6109f994692150ed82cd904bb053c73b97b23678bf52047f747bfec11e1934 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/diffie-hellman/LICENSE -sha256 152f0fb43e953fcf5c56c5bfa4c834bb96b1603e4026319c613dd3e734f305cf src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/diff/LICENSE -sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/diff-match-patch/LICENSE -sha256 545278991ee5f1fb4372f913ec44837cff9395175140f8f21118074330a659cb src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/di/LICENSE -sha256 5c272e206669b79ee20fa89fa8fa888d5b56186f16c55a5614753ad3412e2ae9 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/doctrine/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/doctrine/LICENSE.closure-compiler -sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/doctrine/LICENSE.esprima -sha256 8ffaa1b117e1c280023c8ef997a84a461133b972c8bade4579050e3e41835902 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/domain-browser/LICENSE.md -sha256 965ef284f7f4c176842ec2e87fa13e79feed777d56d7a21a5a3b38f1bb6dc288 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ee-first/LICENSE -sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/emoji-regex/LICENSE-MIT.txt -sha256 7585ea7bba616ccbbe43cb54ecb67956688c3c5641bb84f3099a652a73193afe src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/encodeurl/LICENSE -sha256 3fe8d55a98dbf260eace67c00cf9bc53edb46234e840098a0b93df3096b97fb6 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/end-of-stream/LICENSE -sha256 bb996a5665c8e18041251e833e52b590f0da5050c1878aa3e3a47f71bb16fa6d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/engine.io-client/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/engine.io-client/node_modules/debug/LICENSE -sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/engine.io-client/node_modules/ms/license.md -sha256 8e0349070612cb59fc604588974e193d8363f0a08752caf31d3f270a609d346a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/engine.io/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/engine.io/node_modules/debug/LICENSE -sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/engine.io/node_modules/ms/license.md -sha256 2a190271977c2ad47c85a9e08cc05d078fe9293643061d466d2ae89ce8e5c2f1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/engine.io-parser/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ent/LICENSE -sha256 92b07a2e5b0e051d37dde85042c736d6d551cfcbc0983f39d7ef903b3986bbc1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/error-ex/LICENSE -sha256 c2c31e096c312163e9a7a908a5209f335eb4c3381d6c404dd1e1b91fe65707fc src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/es6-object-assign/LICENSE -sha256 da852e222c72bc04a0a9046aac35f2e5d33775a8ea9f1d8f59b1cfd195ef9bb0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/es6-promise/LICENSE -sha256 00d402c2bbe7c67369bd01ce2c16b8ed46ccc949a1ee2d6bb8f9606afa8c7434 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/es-abstract/LICENSE -sha256 255aa557a1f55224ce522f311629c0bf20854740a67955cefd798fbd1d3d1ded src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/escape-html/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/escape-string-regexp/license -sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/escodegen/LICENSE.BSD -sha256 94bcb9959136723aa4fb36e1a6c4d5c662a2369978cfae344dabfb83ae619e79 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/escodegen/node_modules/esprima/LICENSE.BSD -sha256 db83f2ede67f36cfab1ea0721ea2ee97515863e9a65346881f305e430451cc91 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/eslint/LICENSE -sha256 b67ae8fe5f32d0e6164655de53075cba04bb69c23e7d11efcfed6a0fa265ef64 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-mocha/LICENSE -sha256 541c415066b6139f0fb6ad55f633abbc62f0ba6b54543f1ff00c762e76a90239 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/eslint-plugin-rulesdir/LICENSE.md -sha256 d3a724e2ed749f172ff70b62a1d0631b7d4b0ea273782365a3464d4e2d6b6dbd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/eslint-scope/LICENSE -sha256 fcf6eabf68ca96988a6b506b4fdc6cc32535d80eb2e11c79724af5ac6f50262b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/eslint-utils/LICENSE -sha256 d8bf34ff6d190640a01e7704ad78253fc181bc128949d71273fbbaa12f33c0b4 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/eslint-visitor-keys/LICENSE -sha256 6273faa0d14a54972c0341a724010eb8cd928ee486745a9eea8cf80680ba5098 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/espree/LICENSE -sha256 94bcb9959136723aa4fb36e1a6c4d5c662a2369978cfae344dabfb83ae619e79 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/esprima/LICENSE.BSD -sha256 ac68116ae73740de4190892f334992e449a124600924ec761e64319d3aac9e6e src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/esquery/license.txt -sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/es-to-primitive/LICENSE -sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/estraverse/LICENSE.BSD -sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/esutils/LICENSE.BSD -sha256 3aecc12b1cb28832b5f65ab64291de96568c3f236a74d646281b4491f7bcadbf src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/eventemitter3/LICENSE -sha256 631987b7616a325a5b97566c232418481ddf7dbb5ecadefb991e791876cc2599 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/events/LICENSE -sha256 cf93ad78cfd5f3523248675aeb2a46e003367596883d4fa26a0c38d553ab0f61 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/evp_bytestokey/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/execa/license -sha256 97af7428f93afbab9bf79cd09254da1357161794f4255eb1b4599f04dd2d2e7c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/extend/LICENSE -sha256 9580cc528a1c38d1560a9d36e34404fe1ea9d8e6f44c596dac2a3104ef63cdab src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/extend-shallow/LICENSE -sha256 e33b7bc13a0e5ea9ed6718e12e99a5b0b60276162f0195aa7f342397f4b0155d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/external-editor/LICENSE -sha256 77b2de947c65f3062fb347118ca198ca50898ead84a8509d8153fa65741f029b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/extract-zip/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/extract-zip/node_modules/debug/LICENSE -sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/extract-zip/node_modules/ms/license.md -sha256 7bf9b2de73a6b356761c948d0e9eeb4be6c1270bd04c79cd489c1e400ffdfc1a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/fast-deep-equal/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/fast-json-stable-stringify/LICENSE -sha256 942a98cb8846a6354266193f173c1354615827fbb7d67f68399599dff12c4d6a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/fast-levenshtein/LICENSE.md -sha256 176d95320d565cb034d8323797b6cd6160238f625453687f98aad2085c46c3b3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/fd-slicer/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/figures/license -sha256 c8c8324aff32c44f9e501aac5b3b97540c26af7d6dd6af8bce5e34300596e27d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/file-entry-cache/LICENSE -sha256 99513010b6a19894e01864cba86bf98291bef8251a302d90ab1a572d91ebacc8 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/fileset/LICENSE-MIT -sha256 35bdd8a44339719441900fb50fbefc5e2dca1ca662cbaed7a687de842c8b70f2 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/fill-range/LICENSE -sha256 24973d5320410e565ec92f18f73f12af7d97c634d414ba170d119fe3f98904c8 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/finalhandler/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/finalhandler/node_modules/debug/LICENSE -sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/finalhandler/node_modules/ms/license.md -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/find-up/license -sha256 c8c8324aff32c44f9e501aac5b3b97540c26af7d6dd6af8bce5e34300596e27d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/flat-cache/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/flat-cache/node_modules/rimraf/LICENSE -sha256 95a61f61553614db5421a2cefb17c22ff6b2b4b2206f5bc8913d04f72a22b033 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/flat/LICENSE -sha256 5097efeab30293dd7e26d6960b6b94f1aeca958d22f1eca3535c482a891e95a9 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/flatted/LICENSE -sha256 bfa8a54bb952ccda79f0f1889721d108f5b605babbb2b8a3705ffb52f4132eb7 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/follow-redirects/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/follow-redirects/node_modules/debug/LICENSE -sha256 99de4c30f4643c00d4895d9c6ade0af4ec43d301449c191f5fbe41b53bb6a13a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/fsevents/LICENSE -sha256 1e76029602ae9b21cc4e612db2496d92febed882ba13ba745f8b3309e85f9d39 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/fs-extra/LICENSE -sha256 8465b04b67f473341171b5c9c8b2c741a4a395b3f6ed58339b3a4f4db3db7472 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/fs.realpath/LICENSE -sha256 e67aed7df22dc8031e4fcf5338fe91cb33e3817e5c58a99a2a2802eea9069791 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/functional-red-black-tree/LICENSE -sha256 773e131a7684726005a7e4688a80b4620033bc08499bc1404dd1a1eb3bca725e src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/function-bind/LICENSE -sha256 902dbb4154679fb2b8d7c33878183f45b268d01eae5e5033dddaa8852d45f213 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/get-caller-file/LICENSE.md -sha256 e5aee0714b6ecc416454b968d1017570ef609f20d8722ab84b07acd550b78198 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/get-func-name/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/get-stream/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/globals/license -sha256 6236fa0b88a4a0cce3dda0367979491b2052b3c8d6b1c10b3668de083e86a7f0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/glob/LICENSE -sha256 a2a19c04f527f7582fb2e58887f0a90f403732fc6accd7322287f0f5949b489e src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/glob-parent/LICENSE -sha256 3672fb6ef1c214578dfee689643516c2685f61ab08d130517ca8ea24f383a840 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/glob-parent/node_modules/is-glob/LICENSE -sha256 2fc5460f1526810979054ecd18cd01349b57f38ea56d1e920afdea34d104540c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/graceful-fs/LICENSE -sha256 8a48a335d7dcc06e3da2bea89220cfe978394b1bc84a3e628e60bc4864917915 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/handlebars/LICENSE -sha256 dc1fcc41f783463ed272ada875a7d3d1baf6c6279e5efada2c4ef2ca72db39e1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/has-binary2/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/has-flag/license -sha256 898f204abbbbde58c6230a31842c59aeb8040fbcffa924db28e6d0b1d7631a3a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/hash-base/LICENSE -sha256 4fe5fd7b3318def0b74f8bf8c9276403f01da628fa8888822661519d80f237d3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/has/LICENSE-MIT -sha256 206c1adcf206dc0031b11232f5b054ec5f1662407ab1ca415247921cab2068ab src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/has-symbols/LICENSE -sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/he/LICENSE-MIT.txt -sha256 c1476ec53119cd4c8370f91f5152ac76312a29b4fae2d49b5e0e0970fe0fa5ee src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/hosted-git-info/LICENSE -sha256 dcb94ff9b1e037a847bc20589dc81a1066d041fd4c16deb18b0fa968c66cf395 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/http-errors/LICENSE -sha256 5ffe28e7ade7d8f10d85d5337a73fd793dac5c462fb9a28fbf8c5046c7fbca3b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/http-errors/node_modules/inherits/LICENSE -sha256 589850dfc0a1d39a97c592d618d5772f84aec2b11c6898e020acb985299f3bab src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/http-proxy/LICENSE -sha256 ff151c00207c908581639851dd8504ce4255be0650b2b236edec2aa90342b0cd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/https-browserify/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/https-proxy-agent/node_modules/debug/LICENSE -sha256 ac779f7314c74f232ef847ea86e714abe25cf6eeb5cc97b69451b74e2af6492d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/iconv-lite/LICENSE -sha256 18d45466ba3253deae04667e267a91ea8de8548f18c1125264d1c9db28194cc1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ieee754/LICENSE -sha256 9c94db23dc4b1e9aaee5d195668b916afc71efed54af226b66cf0ccc4389c1c0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ignore/LICENSE-MIT -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/import-fresh/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/indent-string/license -sha256 05dc4d785ac3a488676d3ed10e901b75ad89dafcc63f8e66610fd4a39cc5c7e8 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/inflight/LICENSE -sha256 5ffe28e7ade7d8f10d85d5337a73fd793dac5c462fb9a28fbf8c5046c7fbca3b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/inherits/LICENSE -sha256 1fa6ee8bb95a81ae3d73a5bd074a3ac380ffec13697051063ca1a601921b91db src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/inline-source-map/LICENSE -sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/inline-source-map/node_modules/source-map/LICENSE -sha256 e6c3f1bc47f97cdeef953f6c109b6392be0d059ae94659faf550e61b7a75ebc7 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/inquirer/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/ansi-regex/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/inquirer/node_modules/strip-ansi/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/invert-kv/license -sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-arguments/LICENSE -sha256 92b07a2e5b0e051d37dde85042c736d6d551cfcbc0983f39d7ef903b3986bbc1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-arrayish/LICENSE -sha256 628a0b082ba17df4f4bcb7946d41988891d2b410b25927b995c2f632a0829676 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/isbinaryfile/LICENSE.txt -sha256 85fe65eefab89e2a683232b96e6f689279821a0bd3b351e9ab6a6ebd19dea567 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-binary-path/license -sha256 c7cc929b57080f4b9d0c6cf57669f0463fc5b39906344dfc8d3bc43426b30eac src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-buffer/LICENSE -sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-callable/LICENSE -sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-date-object/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/isexe/LICENSE -sha256 4922620a5741e9d1bb43dde132021a982ae7c545eed1c6e00b555d6fe978005f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-extendable/LICENSE -sha256 73b5283588baa142c5baaef5f56d3e8fdea7a30b214e8c5737e87640f882453a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-extglob/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-finite/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-fullwidth-code-point/license -sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-generator-function/LICENSE -sha256 4cd903859549d4b20b571041f96dfae1136ed079c476126268f9d7cc1b611150 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-glob/LICENSE -sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-nan/LICENSE -sha256 35bdd8a44339719441900fb50fbefc5e2dca1ca662cbaed7a687de842c8b70f2 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-number/LICENSE -sha256 0ead7e8cd8b0bc66a981ee69acaf1297ffa838cfce1b156a039bb24f997c0a27 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/isobject/LICENSE -sha256 4cd903859549d4b20b571041f96dfae1136ed079c476126268f9d7cc1b611150 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-plain-object/LICENSE -sha256 44191656d296391e0ec97e32f5385f0d02b6f2992694082d22ea04ba0f66f9e4 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-promise/LICENSE -sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-regex/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-stream/license -sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-symbol/LICENSE -sha256 b661867c1d66a1b71ee3a6109159874334cd5c182a80d1bcc7353b5a4c6823c6 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul-api/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul-diff/node_modules/minimist/LICENSE -sha256 e09f9b52c6ce5c17ba8103cd0cbf446c33b5448b0c1d01d711b36a1f15a501ba src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul-lib-coverage/LICENSE -sha256 e09f9b52c6ce5c17ba8103cd0cbf446c33b5448b0c1d01d711b36a1f15a501ba src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul-lib-hook/LICENSE -sha256 e09f9b52c6ce5c17ba8103cd0cbf446c33b5448b0c1d01d711b36a1f15a501ba src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul-lib-instrument/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul-lib-instrument/node_modules/semver/LICENSE -sha256 e09f9b52c6ce5c17ba8103cd0cbf446c33b5448b0c1d01d711b36a1f15a501ba src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul-lib-report/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul-lib-report/node_modules/supports-color/license -sha256 b661867c1d66a1b71ee3a6109159874334cd5c182a80d1bcc7353b5a4c6823c6 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul-lib-source-maps/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul-lib-source-maps/node_modules/rimraf/LICENSE -sha256 d38a14ec66572a5588bba501f05eef0874e3ce929f0ddcb749c7557f4fdcb905 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul/LICENSE -sha256 4d3083ec594b158fd6adfdc6c9423ffe0746d2d93cebfb98f1a35b69da78051e src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul/node_modules/async/LICENSE -sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul/node_modules/escodegen/LICENSE.BSD -sha256 c9d85a24226fa4dd8c0756961de362cee34f6e9b1d19938bd480239950ad9a93 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul/node_modules/escodegen/LICENSE.source-map -sha256 4193a099a2c3ba864dd6b94f37e2fd80757d50796999d65adbca6a8c0f3a8e0a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul/node_modules/esprima/LICENSE.BSD -sha256 0e74697a68cebdcd61502c30fe80ab7f9e341d995dcd452023654d57133534b1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul/node_modules/estraverse/LICENSE.BSD -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul/node_modules/glob/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul/node_modules/has-flag/license -sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul/node_modules/source-map/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul/node_modules/supports-color/license -sha256 e09f9b52c6ce5c17ba8103cd0cbf446c33b5448b0c1d01d711b36a1f15a501ba src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/istanbul-reports/LICENSE -sha256 f481fe414a74f72c6b37890ad65e1d0b7c3f51be175b6d3e992fdcdb66882bd4 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/is-utf8/LICENSE -sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/jsesc/LICENSE-MIT.txt -sha256 a9801fb52ba22ef808682a094da8a7a480584b7ed0dfd0d888ab543616335031 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/jsonfile/LICENSE -sha256 6cf2891dd0e66460f7d2ed83e1e3fe4b4b4c1a8c1f1f96c222a3466ad12ff197 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/json-parse-better-errors/LICENSE.md -sha256 7bf9b2de73a6b356761c948d0e9eeb4be6c1270bd04c79cd489c1e400ffdfc1a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/json-schema-traverse/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/json-stable-stringify-without-jsonify/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/json-stringify-safe/LICENSE -sha256 2213d91c606205c71eb051a199478cdc2adde945893404d7f1421436dd6d5cc1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/js-tokens/LICENSE -sha256 a07bc24468b9654ce76a547d47a2db282d07733b715db4c73a98bd63961f9550 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/js-yaml/LICENSE -sha256 94bcb9959136723aa4fb36e1a6c4d5c662a2369978cfae344dabfb83ae619e79 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/js-yaml/node_modules/esprima/LICENSE.BSD -sha256 e3d4ed2aa50e7583730b1531034331ba9093c8bef7414234c7c9306db3858913 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-chai/LICENSE -sha256 296b9a3c5e4eb7b79a6f1dca9a27ee31e48fe5c9d48a32ec31ac924b65ff287c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-chrome-launcher/LICENSE -sha256 be13520ed43fa818f7bbe9d3a2beccaf1931421d818d35b42bdae3c127241ed3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-coverage-istanbul-instrumenter/LICENSE -sha256 55c6f6d52a0b60393333dd4e9d385957c7e784517daa9cfbf5b09ec812811eec src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-coverage-istanbul-reporter/LICENSE -sha256 296b9a3c5e4eb7b79a6f1dca9a27ee31e48fe5c9d48a32ec31ac924b65ff287c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/LICENSE -sha256 d38a14ec66572a5588bba501f05eef0874e3ce929f0ddcb749c7557f4fdcb905 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/LICENSE-istanbul -sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-coverage/node_modules/source-map/LICENSE -sha256 6e4e577107740b24ebd73cb813be506861d706129e502ca7160683a5cea4c129 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma/LICENSE -sha256 296b9a3c5e4eb7b79a6f1dca9a27ee31e48fe5c9d48a32ec31ac924b65ff287c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-mocha/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-mocha/node_modules/minimist/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma/node_modules/rimraf/LICENSE -sha256 2b3adc1e55676b9443f76bdb17e42371de98a4be6abd3ae6e5f3590f6f3e4f6f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-sourcemap-loader/LICENSE -sha256 3c50a3d2df1468f5e7b723d4c931c1c7ba6775740aa1ef9fa49586ddb7b168fd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-typescript/LICENSE -sha256 7cdb44aabddbdd78998119d68a39c87424119b663945c79891fc1b022301824c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-typescript/node_modules/acorn/LICENSE -sha256 d9fed24f132985934fca621c4dc1dfb53e03377a24d0568d424383d7eaa9c0ac src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-typescript/node_modules/async/LICENSE -sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-typescript/node_modules/source-map/LICENSE -sha256 162413c61e0982abe89a06bf7a02ec760dc49a7364d838bd9f01daebb5b95954 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-typescript/node_modules/tmp/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/karma-typescript/node_modules/tmp/node_modules/rimraf/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/lcid/license -sha256 b9eb082c39fe245e38793699074c394c43a722c51fce031c3c165cb92a31035c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/levn/LICENSE -sha256 150d7707d4532d57bdb5718637ff62fff1f075921c5ffaa084df27f900bfea76 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/license-checker/bin/license-checker -sha256 455629980585dfdadbdcbaf846659b65da3dd092ac9bfd10b07717a0e2f84ef5 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/license-checker/lib/license-files.js -sha256 37932d5f93a7f9e762346358ae427e703d69fdaae6e7cd67158b35eea91c9eec src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/license-checker/lib/license.js -sha256 adeb5a7f7d027ec14c3698be7a0f248978516ab39ccec4fb70689ba4753cdd67 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/license-checker/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/license-checker/node_modules/debug/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/license-checker/node_modules/nopt/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/load-json-file/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/load-json-file/node_modules/pify/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/load-json-file/node_modules/strip-bom/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/locate-path/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/locate-path/node_modules/path-exists/license -sha256 d778ae0088806b771424967d88efb68f3adb3705c31c3b7c0a052fe2eebd5268 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/lodash-deep/LICENSE -sha256 f71e8ed126b46346494aad5486874cd8f0aafe95092ed67d2e3cb6110f939abc src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/lodash/LICENSE -sha256 90df9e2220f682e1f77e24b1c0f72d2de18b818096c957a65698e74c41a4826f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/lodash.memoize/LICENSE.txt -sha256 66da8b277e527c270de6abc57727c58032267d161a81dbac02c3eed45fd13366 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/log4js/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/log-symbols/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/loud-rejection/license -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/lru-cache/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/make-dir/license -sha256 3d3fba5375126ff321d3a51938899d744b1189896618e0f2d088d9e1ebf2822a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/map-age-cleaner/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/map-obj/license -sha256 898f204abbbbde58c6230a31842c59aeb8040fbcffa924db28e6d0b1d7631a3a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/md5.js/LICENSE -sha256 74d8054d56d522bdaa340d3d71130cb204997d523a5292c85ac1264dd77c8d06 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/media-typer/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mem/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mem/node_modules/mimic-fn/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/meow/license -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/meow/node_modules/minimist/LICENSE -sha256 965ef284f7f4c176842ec2e87fa13e79feed777d56d7a21a5a3b38f1bb6dc288 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mime-db/LICENSE -sha256 8f2658c03422c408b2b2ce4d151decc3b1a6fd3d86e5ca9433777bccdcdf75a2 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mime/LICENSE -sha256 71f83c4c0621102a56d9853812777b85751bce7e9726f686f5b056c1f8a4b0e6 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mime-types/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mimic-fn/license -sha256 136fee1129ea96ce18b41c26a72f5d4ba196ee41bfd73b55d0b8509cdda148e9 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/minimalistic-assert/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/minimatch/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/minimist/LICENSE -sha256 05991c2e8f070b69ec5b656c2c12fd07cd0153dd157d39b050b82af59b319a01 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mkdirp/LICENSE -sha256 bd5663836feb58ffb7d0e6b9e62010f4c3399f2bb0a4cf6514a15d597bbdd577 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mocha/LICENSE -sha256 94e1923e52409cfd50e97988d9772c0de15f65700097e3227fec367a39e82b94 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/ansi-colors/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/debug/LICENSE -sha256 152f0fb43e953fcf5c56c5bfa4c834bb96b1603e4026319c613dd3e734f305cf src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/diff/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/find-up/license -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/glob/LICENSE -sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/ms/license.md -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mocha/node_modules/supports-color/license -sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ms/license.md -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/mute-stream/LICENSE -sha256 553d4d20029a24e315b428a1a54a9e109eaa340f2e958a4f50a92362c2c4070b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/negotiator/LICENSE -sha256 811238ba7d85f6fe6b820703a32f92705bcf77bc352ddc3476783491c64a129a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/neo-async/LICENSE -sha256 bd220c219b05e6c22b7c23613ca926f60932d07c9fe141dd6e04b80dbc4b4e52 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/nice-try/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/nopt/LICENSE -sha256 d16b2b8c511d9f2bef8bbf49f0e2a94f032b6b8d181f71c83912c34c116a02e1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/normalize-package-data/LICENSE -sha256 60acd7711e6c138e6041836e32d922705254cc1568a30fdf16aa8f59bb87aeaa src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/normalize-package-data/node_modules/resolve/LICENSE -sha256 e70ff771504ba41f2be55de812a017ff46433d7a250c862e38fc419159e44500 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/normalize-path/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/npm-run-path/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/number-is-nan/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/object-assign/license -sha256 a596744eec6b05682ed972bf93937668bbc8da2caed93fbf6510389de019b5c0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/object.assign/LICENSE -sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/object.entries/LICENSE -sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/object.getownpropertydescriptors/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/object-inspect/LICENSE -sha256 dc0fe5a22d9336f345ee984f9bf56f11f22877a3aa5fd16a1db9a8ca0e23a5d1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/object-is/LICENSE -sha256 5640e5cbe2e9f57f6ccfdd8dbfbeadb875495bdbcb69d2666ce3177ccd0942e4 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/object-keys/LICENSE -sha256 30792070c6ec188caccbadc5ee32c3e33fdc5e9044c2f08cb1d01213e5a01084 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/omit-deep-lodash/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/once/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/onetime/license -sha256 8089bcc08845ec143e5761f4a101a65b8c792a0dedbfeeb90a15560c0b77f768 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/on-finished/LICENSE -sha256 05991c2e8f070b69ec5b656c2c12fd07cd0153dd157d39b050b82af59b319a01 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/optimist/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/optimist/node_modules/wordwrap/LICENSE -sha256 b9eb082c39fe245e38793699074c394c43a722c51fce031c3c165cb92a31035c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/optionator/LICENSE -sha256 d25d1d6d28c35cb6f358e2833e405c4e53fec2fa24d156323ddea5cd438d3407 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/os-browserify/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/osenv/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/os-homedir/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/os-locale/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/os-tmpdir/license -sha256 a6859a1cdfa7b6ebcdd52505c41bb72e747675b3e7fe0b908c0ac09280f0ba93 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/pad/LICENSE -sha256 a04665b3b2de56c66730c1f720f528175739e4104f79073614aa611da1e85539 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/pako/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/parent-module/license -sha256 bc5ed4eed738303bf403ec3b7e0a8e76760ef60664ad050a0ff61db23da77e66 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/parse-asn1/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/parse-json/license -sha256 a41d7b212c43bf90af534ec5d73d24a65e3a8cf17941b6d10e9398346a179698 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/parseqs/LICENSE -sha256 15c35ddf8c82a5fc84e3801db12e279b744605d6ad810e1b52ad09832fc71806 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/parseuri/LICENSE -sha256 11d017c3b9f1ee3f44caf7203035f0461d5b57e0db8ce1bc03a9af34fa7d3f6b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/parseurl/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/path-browserify/LICENSE -sha256 9c791b69df62b2264d0a846786f82b00bd6943200a0b10eba66a1ba7a7785fc8 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/path-dirname/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/path-exists/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/path-is-absolute/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/path-key/license -sha256 3f4609137f65070541b9214300ea0d640af8192857de0eeb2b03403003d9228a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/path-parse/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/path-type/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/path-type/node_modules/pify/license -sha256 5d45910e7ed82fecc3e29b40a5b3a17ceb609fda19f860aa2ec180d87f4f9d4a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/pathval/LICENSE -sha256 a9667a8bf55e7f20cf894cb47774f94ebd4eb366408aafb980f1f6547bcdc10a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/pbkdf2/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/p-defer/license -sha256 7e64acffcb0d20d33f5a86949ffd4a99ae045b10c7332a9c3a58635876c16880 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/pend/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/p-finally/license -sha256 d0cd141b0c322fded5dfad1d4645bb2fedfc05b7321fe1009469638190d59ef9 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/picomatch/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/pify/license -sha256 6ee0feb1f6ef996ff5a68600f8cf98909cf412d39ef3cdceaefd87d636fa1b7f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/pinkie/license -sha256 6ee0feb1f6ef996ff5a68600f8cf98909cf412d39ef3cdceaefd87d636fa1b7f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/pinkie-promise/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/p-is-promise/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/p-limit/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/p-locate/license -sha256 f476f01d5da0d8124355eeb79b42b95d2ad2a88d229dbe02b815628760a8cb43 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/plugin-error/LICENSE -sha256 b9eb082c39fe245e38793699074c394c43a722c51fce031c3c165cb92a31035c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/prelude-ls/LICENSE -sha256 f4bbb78fa28677ad9b9c0a4b7a255e23c0b24e619c873ed66a11d47c16c88114 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/private/LICENSE -sha256 59a400d04c5078579acc27ddd6452c1bdf763f9506e01364700935fbb1a7c91b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/process/LICENSE -sha256 ecdccbcf39024f624ded480c01c0b25458e1eca8f26ecf040933865ce56d9a4f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/process-nextick-args/license.md -sha256 d7d2a7786de7c7cfd96f920c6f12927d74e1d2a861ca4498bf465c3bc3f4c21c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/progress/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/pseudomap/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/p-try/license -sha256 db6109f994692150ed82cd904bb053c73b97b23678bf52047f747bfec11e1934 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/public-encrypt/LICENSE -sha256 3fe8d55a98dbf260eace67c00cf9bc53edb46234e840098a0b93df3096b97fb6 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/pump/LICENSE -sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/punycode/LICENSE-MIT.txt -sha256 a1e4522979cd422b42d0b464072eb7d0d218651659f56bf09f8c147384e3f105 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/puppeteer/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/puppeteer/node_modules/rimraf/LICENSE -sha256 3de284c8e6fa7e8437eff6f53695471e0332129a5b42a79361e17b7637de94b3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/puppeteer/node_modules/ws/LICENSE -sha256 d2f9d2835eb09ccf673e118e4fdc372075437c1787e66c2202912fbe3e5ee9e1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/qs/LICENSE -sha256 cb72d9714ddc21e758d63f423be0caddf909d23ccbb10a2f5201a870818e4f57 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/querystring-es3/License.md -sha256 cb72d9714ddc21e758d63f423be0caddf909d23ccbb10a2f5201a870818e4f57 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/querystring/License.md -sha256 f0606775704212c0b49fb4df8193f7ec190d057551fc857d9f3aaa482b878e29 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ramda/LICENSE.txt -sha256 ddc0dd5947bd2966b9a4cfde098566b011de0acfbe7814536955636ce9e3eced src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/randombytes/LICENSE -sha256 ddc0dd5947bd2966b9a4cfde098566b011de0acfbe7814536955636ce9e3eced src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/randomfill/LICENSE -sha256 f655e6291356ec0de7a8f0e69f294961a2cea86678ec94588be1e6a492e278ab src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/range-parser/LICENSE -sha256 c8e6bca7230689d536a3bd7158f66e9c4f89f95d0748743a0370ac229e9023ad src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/raw-body/LICENSE -sha256 ec62dc96da0099b87f4511736c87309335527fb7031639493e06c95728dc8c54 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/readable-stream/LICENSE -sha256 dffec71d93f273d2af7b54c6c7e7e70b3289c632ec0d7253210ec21ac336d5ac src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/readdirp/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/readdir-scoped-modules/LICENSE -sha256 5ffe28e7ade7d8f10d85d5337a73fd793dac5c462fb9a28fbf8c5046c7fbca3b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/read-installed/LICENSE -sha256 69be713b3d6c33e0dba76c4d23d986d568593abca04ce47d75162af255d6a345 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/read-package-json/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/read-pkg/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/read-pkg-up/license -sha256 6ca87d1dce5b82873603e566fd83dabe8771fb169013337d4a14bb9bbf794687 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/recast/LICENSE -sha256 94bcb9959136723aa4fb36e1a6c4d5c662a2369978cfae344dabfb83ae619e79 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/recast/node_modules/esprima/LICENSE.BSD -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/redent/license -sha256 fcf6eabf68ca96988a6b506b4fdc6cc32535d80eb2e11c79724af5ac6f50262b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/regexpp/LICENSE -sha256 aac9937f6a8dbc3328d2b90ab19691333ec4931634ea808673c897e623a9efc1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/remap-istanbul/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/repeating/license -sha256 a92e52eb1fa7cd746e3827bf01d3a3589bbc8e1e51348b1da042aad165525ad1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/require-directory/LICENSE -sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/require-main-filename/LICENSE.txt -sha256 3b2a6a268aa815dec121d614245e03b5c68db1f044d5b525e36db7d5dc7fb9c3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/requires-port/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/resolve-from/license -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/resolve/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/restore-cursor/license -sha256 1ce941682a96c7b898ecd125d0f2e22319758ea6f3adbf498a65d649b0f3f7dd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/rfdc/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/rimraf/LICENSE -sha256 4847d2fd9ed54cc006dd79f5a14fa5dd35eb8274dca511418166e195e277c05b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ripemd160/LICENSE -sha256 cc9426fe569f331f48fd3134b3a03b5bbe3fc7bd25d604be0006bd55a6134cf5 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/rollup/LICENSE.md -sha256 e5c1364118b39fa98b959138ce4aa4d0e68cfbee12d115e69730579fecb1dc1b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/run-async/LICENSE -sha256 81c407ac717813b0e3795402960e04003c7bba8ba59b621624707028531c9ade src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/rxjs/_esm2015/LICENSE.txt -sha256 81c407ac717813b0e3795402960e04003c7bba8ba59b621624707028531c9ade src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/rxjs/_esm5/LICENSE.txt -sha256 81c407ac717813b0e3795402960e04003c7bba8ba59b621624707028531c9ade src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/rxjs/LICENSE.txt -sha256 81c407ac717813b0e3795402960e04003c7bba8ba59b621624707028531c9ade src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/rxjs/src/LICENSE.txt -sha256 c7cc929b57080f4b9d0c6cf57669f0463fc5b39906344dfc8d3bc43426b30eac src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/safe-buffer/LICENSE -sha256 4bc935e71be198c67ddf3c2b5fddb195f6edc182bfc155a96a6db61b44b494b9 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/safer-buffer/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/semver/LICENSE -sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/set-blocking/LICENSE.txt -sha256 c4b4ad3a5746f1f5249a6dd90396ec519264e1bb02e01e48a6522c48a3a97cb4 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/setimmediate/LICENSE.txt -sha256 76d6d1ea0c268da37dd3c961b4fcfb23dee8417fff9e8786d4d44c585b781b69 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/setprototypeof/LICENSE -sha256 58dcf38be1438f739412b87eb70d64bf00e9976d529bb119f700d8b3167924f0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/sha.js/LICENSE -sha256 e6fdf7ac2af533b4436d99aa75df32aa78690510f7d68a3e73e8576967298d2f src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/shebang-command/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/shebang-regex/license -sha256 e05b1eaf5b5f99b7ad75cd1f38858ff9a311780b97715ead67936d60bf96aa7e src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/signal-exit/LICENSE.txt -sha256 3dc3b3d3a284d871f7f307655c90fb101d73abbf87bbddeefd2f67883353bdbc src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/slice-ansi/license -sha256 05dc4d785ac3a488676d3ed10e901b75ad89dafcc63f8e66610fd4a39cc5c7e8 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/slide/LICENSE -sha256 56b7b228fde8d638cc7f1c3d0022cf111764083ac4f803b7a50a90388dce3788 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/socket.io-adapter/LICENSE -sha256 62e2032a1e1458b1d92a62f5fc51be48e08b95062295c91a9f3bd3686809d37e src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/socket.io-client/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/socket.io-client/node_modules/debug/LICENSE -sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/socket.io-client/node_modules/ms/license.md -sha256 c10d192d935165dac336ae245f9eef4c42bb37e7c6f5c5f6f7663db778122df1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/socket.io/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/socket.io/node_modules/debug/LICENSE -sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/socket.io/node_modules/ms/license.md -sha256 56b7b228fde8d638cc7f1c3d0022cf111764083ac4f803b7a50a90388dce3788 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/socket.io-parser/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/socket.io-parser/node_modules/debug/LICENSE -sha256 6652830c2607c722b66f1b57de15877ab8fc5dca406cc5b335afeb365d0f32c1 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/socket.io-parser/node_modules/ms/license.md -sha256 6cb0631f71c7749763fd3dd1d5bee52dd1070ec17f2edc1710079ad070bd2fbd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/source-map/LICENSE -sha256 c5ca60a739543ef97683dfa0a94773b214c86c826c76a27b8f8e6eb38148cbce src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/spdx-compare/LICENSE.md -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/spdx-correct/LICENSE -sha256 7edb57f7065309027de249642341292a5b21410d5773cc55bba73ff9cf01060e src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/spdx-expression-parse/LICENSE -sha256 c5ca60a739543ef97683dfa0a94773b214c86c826c76a27b8f8e6eb38148cbce src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/spdx-ranges/LICENSE.md -sha256 a21ab121cef9bed38553faad40e49b27ae3d2578d07a70956664e681021c9875 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/spdx-satisfies/LICENSE -sha256 a4cdda44b5adea4731d53dcae78fb5124f8fd853e994f01e25d8c33a7daf818b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/sprintf-js/LICENSE -sha256 512cfa4d5e7a7569c7ae4dd95241cb6ae2aaf648ef9ebd080c01bd24868d26e9 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/statuses/LICENSE -sha256 ff151c00207c908581639851dd8504ce4255be0650b2b236edec2aa90342b0cd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/stream-browserify/LICENSE -sha256 ec62dc96da0099b87f4511736c87309335527fb7031639493e06c95728dc8c54 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/stream-browserify/node_modules/readable-stream/LICENSE -sha256 c7cc929b57080f4b9d0c6cf57669f0463fc5b39906344dfc8d3bc43426b30eac src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/stream-browserify/node_modules/safe-buffer/LICENSE -sha256 11f2aafb37d06b3ee5bdaf06e9811141d0da05263c316f3d627f45c20d43261b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/stream-browserify/node_modules/string_decoder/LICENSE -sha256 a0e6357a5e8ea65827addeb383e0948a1874d2f46bc7feaf6349b7a376ed6e98 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/stream-http/LICENSE -sha256 9660914267128b5f96a102bd7f6268c249110a39cb7c4bb7f536d856445d739c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/streamroller/LICENSE -sha256 98c970de440dcfc77471610aec2377c9d9b0db2b3be6d1add524a586e1d7f422 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/streamroller/node_modules/debug/LICENSE -sha256 11f2aafb37d06b3ee5bdaf06e9811141d0da05263c316f3d627f45c20d43261b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/string_decoder/LICENSE -sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimleft/LICENSE -sha256 c61652db3d2808f667b48af0a358f0d85fd07ad4a0d0b1a50882dec3b764c522 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/string.prototype.trimright/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/string-width/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/strip-ansi/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/strip-bom/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/strip-eof/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/strip-indent/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/strip-json-comments/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/supports-color/license -sha256 37b6932865726cf59cbfb8b32a5c9fd82c834c2deba4d53aa4a6b433ae69cdda src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/table/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/table/node_modules/ansi-regex/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/table/node_modules/string-width/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/table/node_modules/strip-ansi/license -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/text-table/LICENSE -sha256 faae57631e1c7d641c3b6f9b110c2a7a28c8b383d08d7796ac472c509f075850 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/through2/LICENSE.md -sha256 e8734448285a2dd773d40136ed5d5e8163a70701dd540cdc796cfca232f67d55 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/through/LICENSE.APACHE2 -sha256 d72dea1a8cdf3f4dfa2f594253d0c5b37baefc76e806f5ecb0e426393edcd505 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/through/LICENSE.MIT -sha256 d5f14c3258420dfe5a3b641a143d6e6dd90eabb5962244d937e25699c3a45ec9 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/timers-browserify/LICENSE.md -sha256 162413c61e0982abe89a06bf7a02ec760dc49a7364d838bd9f01daebb5b95954 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/tmp/LICENSE -sha256 61b82d27e63b14eabc706960aabf6caa1b27d044eb00d7908f92e68085301c3a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/to-fast-properties/license -sha256 a832d679750e49ab433626ab196350b89964b60eb0d3edd3341887c7d5f4c128 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/toidentifier/LICENSE -sha256 e7d1fee7347ffddccc5fd03327ffdb50f8c112be0d5016d62388a92c4ae6e7a9 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/to-regex-range/LICENSE -sha256 83927d1555a8e1d5ed9896991fbb2b4cdfb64f45f5e12b7446c3bff5cea538d3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/treeify/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/trim-newlines/license -sha256 a5e9f9b1575301c7a7a03508fdaa2e05a918cc17fd21c6e898096a96d6a34f61 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/tslib/LICENSE.txt -sha256 ed0ff5ab79bc82703690fde4644e352c9ce73e9b890b87ea68b1a1fc5805792b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/tsutils/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/tty-browserify/LICENSE -sha256 b9eb082c39fe245e38793699074c394c43a722c51fce031c3c165cb92a31035c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/type-check/LICENSE -sha256 26181ebee1063f3dc6766a3b6d05999a0da058f172eadf2ca5d15105ffd9735a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/typedarray/LICENSE -sha256 e5aee0714b6ecc416454b968d1017570ef609f20d8722ab84b07acd550b78198 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/type-detect/LICENSE -sha256 23d466b1b134b415b66fa50c6526b4cf3e7b9258554da88d3abb371721e7ce68 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/type-is/LICENSE -sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@types/chai/LICENSE -sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@types/color-name/LICENSE -sha256 5938d4fe4890c79ad14e02e643c385b25b8b6c7bbb97ab08996034b586512df5 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/eslint-plugin/LICENSE -sha256 fcf6eabf68ca96988a6b506b4fdc6cc32535d80eb2e11c79724af5ac6f50262b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/eslint-plugin/node_modules/regexpp/LICENSE -sha256 5938d4fe4890c79ad14e02e643c385b25b8b6c7bbb97ab08996034b586512df5 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/experimental-utils/LICENSE -sha256 d3a724e2ed749f172ff70b62a1d0631b7d4b0ea273782365a3464d4e2d6b6dbd src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-scope/LICENSE -sha256 e2fc706570305bcb7dfadb1cac951d5934ce0d7331a7a7ff1bbc254dbe1d9ef8 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/parser/LICENSE -sha256 635818d8f39384751c8a5f3f3e735022f07afb3ccdb26eb17ff8eca28428f888 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/typescript-estree/LICENSE -sha256 6236fa0b88a4a0cce3dda0367979491b2052b3c8d6b1c10b3668de083e86a7f0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/typescript-estree/node_modules/glob/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@typescript-eslint/typescript-estree/node_modules/semver/LICENSE -sha256 a5e9f9b1575301c7a7a03508fdaa2e05a918cc17fd21c6e898096a96d6a34f61 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/typescript/LICENSE.txt -sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@types/eslint-visitor-keys/LICENSE -sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@types/estree/LICENSE -sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@types/filesystem/LICENSE -sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@types/json-schema/LICENSE -sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@types/mocha/LICENSE -sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@types/node/LICENSE -sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/@types/puppeteer/LICENSE -sha256 b00ae96f0815ae8fa49c09044467306e98cd89d6770c535fb596ccbd350c6ab4 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/uglify-js/LICENSE -sha256 3b2a6a268aa815dec121d614245e03b5c68db1f044d5b525e36db7d5dc7fb9c3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ultron/LICENSE -sha256 3fda5977c0904e226190b4e21d64340c1731e2142d6fe5f3dee0090a216b8b63 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/universalify/LICENSE -sha256 1a526fbe8d8577f5a4b1c2821842b55b7c0e18862531c62ae4ce69c9b19b74b6 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/unpipe/LICENSE -sha256 97f780d3c79a42236f2b3435860f284c0ac6b958622f6bc9f1ac43fd49689b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/url/LICENSE -sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/url/node_modules/punycode/LICENSE-MIT.txt -sha256 1da14af109d9baaa8dee3094add5cc65a7772487dd94c8d2adfd36935b678c49 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/useragent/LICENSE -sha256 0154425673db15cdfa80ecba2c9b1f1a867f7197a006764712849bfc3a93cbb7 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/util-deprecate/LICENSE -sha256 6239c6144c31e58cf925c34483606969c555574d64ffa96518ab5d7f45c75d43 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/util-extend/LICENSE -sha256 6239c6144c31e58cf925c34483606969c555574d64ffa96518ab5d7f45c75d43 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/util/LICENSE -sha256 6e7d699cdd1e4fa837ba7718ea49841aa67201b449ea8b3f9cf274be15974a64 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/utils-merge/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/validate-npm-package-license/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/vm-browserify/LICENSE -sha256 405a272eaef556691ad7dda96db3237c9544afe18725842a1a5b3ec308960222 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/void-elements/LICENSE -sha256 6294da0e0a201bbe1de254445c9d07133a9448af05e4e44d0a2364747d114368 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/wcwidth/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/which/LICENSE -sha256 852bf81203aa93aa89afc9f881ebb035322dc7334aaceff435c557634c94a815 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/which-module/LICENSE -sha256 0cef05dfff8b6aa7f35596984f5709f0d17c2582924a751efa471a76de7cdc11 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/wide-align/LICENSE -sha256 435a6722c786b0a56fbe7387028f1d9d3f3a2d0fb615bb8fee118727c3f59b7b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/wordwrap/LICENSE -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/ansi-regex/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/string-width/license -sha256 6fb9754611c20f6649f68805e8c990e83261f29316e29de9e6cedae607b8634c src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/wrap-ansi/node_modules/strip-ansi/license -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/wrappy/LICENSE -sha256 0ead7e8cd8b0bc66a981ee69acaf1297ffa838cfce1b156a039bb24f997c0a27 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/write/LICENSE -sha256 3de284c8e6fa7e8437eff6f53695471e0332129a5b42a79361e17b7637de94b3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ws/LICENSE -sha256 c7cc929b57080f4b9d0c6cf57669f0463fc5b39906344dfc8d3bc43426b30eac src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/ws/node_modules/safe-buffer/LICENSE -sha256 a5f35901ee8b2039a7431144c23dd10bd47c1d07bcee0cd3a536421d86412214 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/xmlhttprequest-ssl/LICENSE -sha256 82e67379203d5794e7c44549847d8d64ae6904591381682360470898bd306821 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/xtend/LICENSE -sha256 2034cce3b6fafcddd642c4175e01d3ddfc332a53b9f20fdc46b1466dc89ac469 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/y18n/LICENSE -sha256 4ec3d4c66cd87f5c8d8ad911b10f99bf27cb00cdfcff82621956e379186b016b src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yallist/LICENSE -sha256 fe71524a15f30aab0f39af7165d38fc64a4269b7d2a0caffebc907355aec9c92 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/ansi-regex/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/ansi-styles/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/camelcase/license -sha256 2dc0465729366c3a7890dfa9e972a1ba7048a26c02116fb8b419a6a1ac110149 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/cliui/LICENSE.txt -sha256 693866fc419c6f61c8570438ec00659d156ec2b4d4a4d04091711f5f11a365d4 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/color-convert/LICENSE -sha256 7357445bac398c76c0aef75a587009fe406d40de6a79789eb5b7ecbbad317ef2 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/color-name/LICENSE -sha256 483acb265f182907d1caf6cff9c16c96f31325ed23792832cc5d8b12d5f88c8a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/emoji-regex/LICENSE-MIT.txt -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/find-up/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/is-fullwidth-code-point/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/locate-path/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/path-exists/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/p-locate/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/string-width/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/strip-ansi/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/wrap-ansi/license -sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs/node_modules/yargs-parser/LICENSE.txt -sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs-parser/LICENSE.txt -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs-parser/node_modules/camelcase/license -sha256 30877d17f7e38530d46b49fb375ee98ce2e8b085b3ee72d4c2888710416ef139 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/LICENSE -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/camelcase/license -sha256 48da2f39e100d4085767e94966b43f4fa95ff6a0698fba57ed460914e35f94a0 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/find-up/license -sha256 902dbb4154679fb2b8d7c33878183f45b268d01eae5e5033dddaa8852d45f213 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/get-caller-file/LICENSE.md -sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/require-main-filename/LICENSE.txt -sha256 fe71524a15f30aab0f39af7165d38fc64a4269b7d2a0caffebc907355aec9c92 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/yargs/LICENSE -sha256 365496ca1f56da40b23c9815fc40fa9005847b2f8f8fd1c1a4929ef25ec8cd1d src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yargs-unparser/node_modules/yargs-parser/LICENSE.txt -sha256 b303783d5eb7ca50b853ffa5f145e4e7998fab339831d848f507ca6cd970577a src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yauzl/LICENSE -sha256 3b2a6a268aa815dec121d614245e03b5c68db1f044d5b525e36db7d5dc7fb9c3 src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/yeast/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/closure/COPYING -sha256 af175b9d96ee93c21a036152e1b905b0b95304d4ae8c2c921c7609100ba8df7e src/3rdparty/chromium/third_party/devtools-frontend/src/third_party/axe-core/LICENSE -sha256 a8ad31b1c3f40dca5a84119351b8fa8ddc868edd77fad8a8ebf6d8f2d16fa4ae src/3rdparty/chromium/third_party/devtools-frontend/src/third_party/pyjson5/src/LICENSE -sha256 4f5753ce8acf3feafc758599058746d30bda07bc0d4cc3a6a1eb8e039fdba1dc src/3rdparty/chromium/third_party/dom_distiller_js/LICENSE -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 src/3rdparty/chromium/third_party/dpkg-shlibdeps/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/emoji-segmenter/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/emoji-segmenter/src/LICENSE -sha256 9021fdb5341ebbb2eb5c771ac5cfac527790673179d3b21a42de1ab2798ec30f src/3rdparty/chromium/third_party/espresso/LICENSE -sha256 46336ab2fec900803e2f1a4253e325ac01d998efb09bc6906651f7259e636f76 src/3rdparty/chromium/third_party/expat/src/expat/COPYING -sha256 d9c904abd0ead61b3fbaef0a609285548076ff9c3f814cc1cf019c5d7150736d src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/license_texts/full_lgpl.txt -sha256 a8579e3fc40c11ab147bc299257733eb749cd455010385f7c117f70d7aef24e4 src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/license_texts/jpeg.txt -sha256 857d5f537af3aa164e7a27eda60147d34195e5781abe7b1d358d9fb01e222ae0 src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/license_texts/mips.txt -sha256 b4c85cce2b772f27d83f4562c20787057dc6949fcecc820a82c1d2e7047e89c3 src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/license_texts/oggparse_ahlberg_rullgayrd_2005.txt -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 src/3rdparty/chromium/third_party/ffmpeg/COPYING.GPLv2 -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 src/3rdparty/chromium/third_party/ffmpeg/COPYING.GPLv3 -sha256 b634ab5640e258563c536e658cad87080553df6f34f62269a21d554844e58bfe src/3rdparty/chromium/third_party/ffmpeg/COPYING.LGPLv2.1 -sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 src/3rdparty/chromium/third_party/ffmpeg/COPYING.LGPLv3 -sha256 cb48bf09a11f5fb576cddb0431c8f5ed0a60157a9ec942adffc13907cbe083f2 src/3rdparty/chromium/third_party/ffmpeg/LICENSE.md -sha256 f45cc81b400a048b56c9edbd4c3317f7a8958463dfd55aa96f268ecfd6baa12c src/3rdparty/chromium/third_party/flac/COPYING.FDL -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 src/3rdparty/chromium/third_party/flac/COPYING.GPL -sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a src/3rdparty/chromium/third_party/flac/COPYING.LGPL -sha256 946b733afbaa20a192c8dc022b4e43090e78f28fd293494d1b307f7301552c9b src/3rdparty/chromium/third_party/flac/COPYING.Xiph -sha256 7ec9661a8afafab1eee3523d6f1a193eff76314a5ab10b4ce96aefd87621b0c3 src/3rdparty/chromium/third_party/flatbuffers/LICENSE -sha256 3112ebbfc0fe10ad40a97672f5590c4292536a28cbfe3506820b15dec70b2258 src/3rdparty/chromium/third_party/flatbuffers/src/dart/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/flatbuffers/src/LICENSE.txt -sha256 fa4cd9ab005185e10cd8f7504518856c7dd36c01e766c2bac87f4fc638e9f886 src/3rdparty/chromium/third_party/fontconfig/LICENSE -sha256 fa4cd9ab005185e10cd8f7504518856c7dd36c01e766c2bac87f4fc638e9f886 src/3rdparty/chromium/third_party/fontconfig/src/COPYING -sha256 fd056de4196903a676208ef58cfddafc7d583d1f28fa2e44c309cf84a59e62fb src/3rdparty/chromium/third_party/freetype/src/docs/LICENSE.TXT -sha256 56e67061ab590046b09876a084478ea87c4ece1579deb194347096e61c2537dd src/3rdparty/chromium/third_party/fuchsia-sdk/LICENSE -sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 src/3rdparty/chromium/third_party/gif_player/LICENSE -sha256 8ea14fdc7efee7fe53c79101b97049bd547dc6686cfa05df4f0686146a561423 src/3rdparty/chromium/third_party/glfw/src/LICENSE.md -sha256 23353f4505b1c8ce4f8f72fc3b11dc74b4a8a7bf95921d93ff77f227c171a710 src/3rdparty/chromium/third_party/glslang/LICENSE -sha256 d3cbc77d99642114bc925cce51eda84b48ae4879947ac89941a2e2aa4150db76 src/3rdparty/chromium/third_party/glslang/src/LICENSE.txt -sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 src/3rdparty/chromium/third_party/googletest/src/googlemock/LICENSE -sha256 5e0df8c845c742e76f2f64d2d9ce1b7e74a2422fddbc577ae6a56319083de0bf src/3rdparty/chromium/third_party/googletest/src/googlemock/scripts/generator/LICENSE -sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 src/3rdparty/chromium/third_party/googletest/src/googletest/LICENSE -sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 src/3rdparty/chromium/third_party/googletest/src/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/google-truth/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/guava/LICENSE -sha256 ca382aa537f8923d6c0991fb976d184a2009eb76080313bf10dcecdc9311f0dd src/3rdparty/chromium/third_party/gvr-android-keyboard/LICENSE -sha256 f54c49d3ff865458c5d3c68c3367a1f6e0d7b3f686f8c88a6a563ef90f84ad9e src/3rdparty/chromium/third_party/gvr-android-sdk/LICENSE -sha256 96e5bbd81970983d666e702fa56f67dfd2fdaa363b8a4266e8d98847374cd7c8 src/3rdparty/chromium/third_party/hamcrest/LICENSE -sha256 beb3f017ceb41387667f78237a7cecf84defa0ed257c505894663d6a9f13211b src/3rdparty/chromium/third_party/harfbuzz-ng/src/COPYING -sha256 c2cfccb812fe482101a8f04597dfc5a9991a6b2748266c47ac91b6a5aae15383 src/3rdparty/chromium/third_party/harfbuzz-ng/src/src/ms-use/COPYING -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 src/3rdparty/chromium/third_party/hunspell/COPYING -sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 src/3rdparty/chromium/third_party/hunspell/COPYING.LESSER -sha256 53692a2ed6c6a2c6ec9b32dd0b820dfae91e0a1fcdf625ca9ed0bdf8705fcc4f src/3rdparty/chromium/third_party/hunspell/COPYING.MPL -sha256 610809f1586ee4d22468f1e97c256153cea8be7a662193db70d6ca424e0f17c8 src/3rdparty/chromium/third_party/iaccessible2/LICENSE -sha256 a412a53925efc6b50800bf8519a2e033949243d5a5a8c5422bae8a5007ad09c8 src/3rdparty/chromium/third_party/iccjpeg/LICENSE -sha256 d18e75f216f177d41304f5e94c2cba7d1bf9f8f8583a0777cceb5cca0c5ad137 src/3rdparty/chromium/third_party/icu4j/LICENSE -sha256 6a18c5fac70d7860b57f5b72b4e2c9a1ba6b3d2741eef7ff9767c5379364f10d src/3rdparty/chromium/third_party/icu/LICENSE -sha256 c62d7697c03979f5056d28b338fafc7a1152820f7b379adf4a9d88cd37160f96 src/3rdparty/chromium/third_party/icu/license.html -sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 src/3rdparty/chromium/third_party/icu/scripts/LICENSE -sha256 8c6db340475136df3c1201d458fa5755698eace76e510471ecc9d857d6083dac src/3rdparty/chromium/third_party/ijar/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/ink/LICENSE -sha256 b9be92f13356083392d97da13cab8ae543c7911f44eff5289b693da8b17b9e08 src/3rdparty/chromium/third_party/inspector_protocol/LICENSE -sha256 7a92c5e7a83b5ddcc693bb84ea8bdb842308509c1758cffdfe24717609154c75 src/3rdparty/chromium/third_party/isimpledom/LICENSE -sha256 ed8d7a24769ac9d57d08769b5f8be27519dd8811d06b0995dbe8ca6714e96d08 src/3rdparty/chromium/third_party/jacoco/LICENSE -sha256 33b6816eb449962d307495946519ed78cef8743819f6f1d60e8b3d4e86c38b1c src/3rdparty/chromium/third_party/javalang/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/jetifier_standalone/LICENSE -sha256 7975c0027cfa5d08253fbb6ff4676acc38248bd5e046d0dbab3d810971e97970 src/3rdparty/chromium/third_party/jinja2/LICENSE -sha256 76c45ece83a26117f86f4e349e7df118708e061e87225328fb478ce1e8b3eb86 src/3rdparty/chromium/third_party/jsoncpp/LICENSE -sha256 95039d77a20e75b428207740d9a8f97b2dce3c89da4b21f1ad862b5997160e0a src/3rdparty/chromium/third_party/jsoncpp/source/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/jstemplate/COPYING -sha256 71a19392a0eb3255ab2055ed978bb0f93865cea84d31a3510eaffb74d8981e7f src/3rdparty/chromium/third_party/khronos/LICENSE -sha256 ccc19f1da0798ed666609b65a5b44dd8b3abe6fc08b9c0592eb76e82e174db19 src/3rdparty/chromium/third_party/leveldatabase/src/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/libaddressinput/LICENSE -sha256 c9a5bd7c8cc1267ddacdc5228c68ecd811cf6d74286e9141bc80d8af2eb1a025 src/3rdparty/chromium/third_party/libaddressinput/src/cpp/LICENSE.chromium -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/libaddressinput/src/LICENSE -sha256 4764a286d8b2faeaf42f4418e7d7a28d58fc8fd4d00a3d0a7f44b0a4099de7f2 src/3rdparty/chromium/third_party/libaom/source/libaom/LICENSE -sha256 043dcfd059386f9facd376351b2bd79325778744aa442177390cdfcca54babed src/3rdparty/chromium/third_party/libaom/source/libaom/third_party/fastfeat/LICENSE -sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 src/3rdparty/chromium/third_party/libaom/source/libaom/third_party/googletest/src/googletest/LICENSE -sha256 5aec868f669e384a22372a4e8a1a6cd7d44c64cd451f960ca69cc170d1e13acf src/3rdparty/chromium/third_party/libaom/source/libaom/third_party/libwebm/LICENSE.TXT -sha256 ff6c857ce2708e87701323078aef115c1872a1f80a9649f86dc899b48083bc60 src/3rdparty/chromium/third_party/libaom/source/libaom/third_party/vector/LICENSE -sha256 719d8fa235f2068e0ae6d6a7dceb0a7720d7840f0f0ebed29957989e6ded3cd8 src/3rdparty/chromium/third_party/libaom/source/libaom/third_party/x86inc/LICENSE -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 src/3rdparty/chromium/third_party/libcxx-pretty-printers/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/libgav1/src/LICENSE -sha256 d56bafdaeaa793331a29e9766b7efe66524c98533da798a57201e291863ef625 src/3rdparty/chromium/third_party/libgifcodec/LICENSE.md -sha256 37d8bfba91b745693ea58f846f2f1276229745adf532974b73c1911cfd144241 src/3rdparty/chromium/third_party/libipp/LICENSE -sha256 ab00a482b6a3902e40211b43c5d0441962ea99b6cc7c25c0f243fa270b78d482 src/3rdparty/chromium/third_party/libjingle_xmpp/LICENSE -sha256 8412238c5ad95965cf3c3197791e9dea8b5fae505d133449e33ee2fa754fe61e src/3rdparty/chromium/third_party/libjpeg_turbo/LICENSE.md -sha256 3bf128851aff9f392953276ea8ade3e41da0f40b853fde58ec21034aa91ccc31 src/3rdparty/chromium/third_party/libovr/LICENSE -sha256 bf5e22b9dce8464064ae17a48ea1133c3369ac9e1d80ef9e320e5219aa14ea9b src/3rdparty/chromium/third_party/libpng/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/libprotobuf-mutator/src/LICENSE -sha256 a1a33180d02960ab1c5de36cf20b1a2f0fe9888d83826ad263da5db52f1b183b src/3rdparty/chromium/third_party/libsecret/LICENSE -sha256 8e19d42a1eec9561f3f347253ddf2e385c55f392f025bb0fd41b88dbf38db5ae src/3rdparty/chromium/third_party/libsrtp/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/libsync/LICENSE -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 src/3rdparty/chromium/third_party/libudev/LICENSE -sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a src/3rdparty/chromium/third_party/libusb/src/COPYING -sha256 8267348d5af1262c11d1a08de2f5afc77457755f1ac658627dd9acf71011d615 src/3rdparty/chromium/third_party/libvpx/source/libvpx/LICENSE -sha256 9702de7e4117a8e2b20dafab11ffda58c198aede066406496bef670d40a22138 src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/googletest/src/LICENSE -sha256 5aec868f669e384a22372a4e8a1a6cd7d44c64cd451f960ca69cc170d1e13acf src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/libwebm/LICENSE.TXT -sha256 2b2cc1180c7e6988328ad2033b04b80117419db9c4c584918bbb3cfec7e9364f src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/libyuv/LICENSE -sha256 719d8fa235f2068e0ae6d6a7dceb0a7720d7840f0f0ebed29957989e6ded3cd8 src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/x86inc/LICENSE -sha256 5aec868f669e384a22372a4e8a1a6cd7d44c64cd451f960ca69cc170d1e13acf src/3rdparty/chromium/third_party/libwebm/source/LICENSE.TXT -sha256 6de6fe48ff7b249a51ec5522d1af618dd50effc6f030fd24e17878566ad2ca5d src/3rdparty/chromium/third_party/libwebp/LICENSE -sha256 c5c63674f8a83c4d2e385d96d1c670a03cb871ba2927755467017317878574bd src/3rdparty/chromium/third_party/libxml/src/COPYING -sha256 c5c63674f8a83c4d2e385d96d1c670a03cb871ba2927755467017317878574bd src/3rdparty/chromium/third_party/libxml/src/Copyright -sha256 31346421254a3e6e12687cf17f19f6357ee73a617fa7b3d3ccefdcbabe49bdd3 src/3rdparty/chromium/third_party/libXNVCtrl/LICENSE -sha256 7e48e290b6bfccc2ec1b297023a1d77f2fd87417f71fbb9f50aabef40a851819 src/3rdparty/chromium/third_party/libxslt/linux/COPYING -sha256 7e48e290b6bfccc2ec1b297023a1d77f2fd87417f71fbb9f50aabef40a851819 src/3rdparty/chromium/third_party/libxslt/src/Copyright -sha256 2b2cc1180c7e6988328ad2033b04b80117419db9c4c584918bbb3cfec7e9364f src/3rdparty/chromium/third_party/libyuv/LICENSE -sha256 0d4077a7055ead389c4c5a9a6ac4bb8b784fc6e9e37be2caf544fcceed26cb16 src/3rdparty/chromium/third_party/lottie/LICENSE -sha256 6e3e0a978f1e136cb3efb89702f4314671581a0c70c9a52447669e00f7b129e8 src/3rdparty/chromium/third_party/lzma_sdk/LICENSE -sha256 c3b124673c93872156757a934c75b498d68eec09510e25e549d9dc2013776499 src/3rdparty/chromium/third_party/mako/LICENSE -sha256 0bbe88228fd63d20ec097f64e58d5a0a465123ae139140a18d406c60b48824b5 src/3rdparty/chromium/third_party/markupsafe/LICENSE -sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd src/3rdparty/chromium/third_party/material_design_icons/LICENSE -sha256 536284e40c611f371f6ce5d74efac37a20d993cd3af96259b9b9e20b1669ff1e src/3rdparty/chromium/third_party/mesa_headers/LICENSE -sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 src/3rdparty/chromium/third_party/metrics_proto/LICENSE -sha256 27ebda9d51f0a56b7e281ccd8230a27236dcb51c05f64b07869ecf6e965d68b0 src/3rdparty/chromium/third_party/microsoft_webauthn/LICENSE -sha256 83bb6bd9ccd2cf5230cb1807ed16258289768dc4d9cb80069a814e04415a1275 src/3rdparty/chromium/third_party/minigbm/LICENSE -sha256 8610954adbca6c6b85d8b1ae5613b44b0014e437d32fcad6683bb27541411686 src/3rdparty/chromium/third_party/minigbm/src/LICENSE -sha256 4919cfb14a73cd64fcef67b107613970cf1659a09aa675dba31314f373bc7204 src/3rdparty/chromium/third_party/minizip/src/lib/bzip2/LICENSE -sha256 87642305968765a4030fd202ff7006afa67274da7f9bde84506e51ae58ecc2b4 src/3rdparty/chromium/third_party/minizip/src/LICENSE -sha256 bd5663836feb58ffb7d0e6b9e62010f4c3399f2bb0a4cf6514a15d597bbdd577 src/3rdparty/chromium/third_party/mocha/LICENSE -sha256 380893a2f01aea5c3328b1a8b08cdc488bf236916abac3af0d1f1a5d2634c31a src/3rdparty/chromium/third_party/mockito/LICENSE -sha256 d47e8390fb0d7ad4a18f26aedd6283c7ab6b5b4fabab536ccb4db7f9f6d90c08 src/3rdparty/chromium/third_party/modp_b64/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/motemplate/LICENSE -sha256 7a92c5e7a83b5ddcc693bb84ea8bdb842308509c1758cffdfe24717609154c75 src/3rdparty/chromium/third_party/mozilla/LICENSE -sha256 1563996c52e220e15ef2418e67d39488255aa8c28c89e617074d3afe3ee329e0 src/3rdparty/chromium/third_party/nasm/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/netty4/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/netty-tcnative/LICENSE -sha256 0cd1bd4b934ffdc5e7f1bcfa9d08bd17295e5414bdca99c06b1036278b01f0b1 src/3rdparty/chromium/third_party/node/LICENSE -sha256 b5730da9a26472a405b0b1c61d3d166714d9d654ab3282e54e4a01a5f66316c3 src/3rdparty/chromium/third_party/objenesis/LICENSE -sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 src/3rdparty/chromium/third_party/ocmock/License.txt -sha256 8bed129a6a15e631c93a624985e631eb62a55f7e072b78f4e1c3dde7c745283d src/3rdparty/chromium/third_party/one_euro_filter/LICENSE -sha256 dd5c1c9668512530fa5a96e4c29ac4033d70a7eeb0eed7a42fddb6dd794ebdbb src/3rdparty/chromium/third_party/openh264/src/LICENSE -sha256 34a5c58db7cc4d3265d14a9aa26e38067fe114311d8bec31f909d1c240e626c4 src/3rdparty/chromium/third_party/openscreen/src/LICENSE -sha256 284545e873c704952e5b1b39d457dd83a3b115a51d9f1eb5175137bd69b8fa1b src/3rdparty/chromium/third_party/openscreen/src/third_party/mozilla/LICENSE.txt -sha256 f56ff606104d4ef18e617921a75c73ad73b5a1a1d70c69590c29de16919e04ad src/3rdparty/chromium/third_party/openvr/src/LICENSE -sha256 8338ce8d922bb4416ce3dd1e5680173332435e3f0755007ac7801ccd674fe682 src/3rdparty/chromium/third_party/opus/src/COPYING -sha256 7efb4989e0cd1b256229bdf2f09300c5d14e35db0e7476bfb87fac243498273d src/3rdparty/chromium/third_party/opus/src/LICENSE_PLEASE_READ.txt -sha256 0d74de3c3cd3196a9ed1bc612cfd5f81d7509d66c4be34a50f99d61bd1ad00d4 src/3rdparty/chromium/third_party/ots/LICENSE -sha256 9dd8d2fb95ba862a5d166a167682c1c67a209acd3bf09b6fd03f76d3579729bc src/3rdparty/chromium/third_party/ow2_asm/LICENSE -sha256 76621fcfb65adfd6602b700708b74c8e20f3325b32f1a54bec83a5cf7c679f53 src/3rdparty/chromium/third_party/pdfium/LICENSE -sha256 32759d1397d8f7b9e15ece146e4038b22b90e93b4935b5a840bcef4d2ba5ea55 src/3rdparty/chromium/third_party/pdfium/third_party/bigint/LICENSE -sha256 bf5e22b9dce8464064ae17a48ea1133c3369ac9e1d80ef9e320e5219aa14ea9b src/3rdparty/chromium/third_party/pdfium/third_party/libpng16/LICENSE -sha256 c5b14f5a3814d2e57b9bb9520dcf57a2c3817b65c4f989e5c82e332c82af1038 src/3rdparty/chromium/third_party/pdfium/third_party/pymock/LICENSE.txt -sha256 e323929b7c2178e2efc9ac70e62166670274bd772f90a8d83a90300c5f60002c src/3rdparty/chromium/third_party/perfetto/LICENSE -sha256 9f98bab33648b77578d85ac0f1d1c3941a72aa6d7e65015ba181f2fe804bb85d src/3rdparty/chromium/third_party/pexpect/LICENSE -sha256 a46200592eb193853527250da098e6bb0c75424e7a2c7db8da526c4f301c3d88 src/3rdparty/chromium/third_party/pffft/LICENSE -sha256 dd4930c619afd8527591353c7d3d1c1d7f4bf62ed1cb411f4f507dbdee7738a2 src/3rdparty/chromium/third_party/ply/LICENSE -sha256 d6c873c08a8806f08fdafe1aa00ba38837f6ac29f91d6b26510614b0df2001e0 src/3rdparty/chromium/third_party/ply/license.patch -sha256 24699c6858472311aa9acc6c2b7112ff9de6e7792569158ba9e439deb0529ef6 src/3rdparty/chromium/third_party/polymer/LICENSE.polymer -sha256 a5adc2955c0dd848c97aa6afb14e0047a610f0fcfa6ce0011efad01a0e051406 src/3rdparty/chromium/third_party/polymer/v1_0/components-chromium/polymer2/LICENSE.txt -sha256 984fb04a16a9f1e0145ffd891125dc366a01cd921f58c9b0369be400c720790d src/3rdparty/chromium/third_party/polymer/v1_0/components-chromium/polymer/LICENSE.txt -sha256 a5adc2955c0dd848c97aa6afb14e0047a610f0fcfa6ce0011efad01a0e051406 src/3rdparty/chromium/third_party/polymer/v3_0/components-chromium/polymer/LICENSE.txt -sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd src/3rdparty/chromium/third_party/private-join-and-compute/src/crypto/LICENSE -sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd src/3rdparty/chromium/third_party/private-join-and-compute/src/LICENSE -sha256 58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd src/3rdparty/chromium/third_party/private-join-and-compute/src/util/LICENSE -sha256 294f58267c6f473c4ce7270bf5c8d34b2003cb43804552459654c36553431276 src/3rdparty/chromium/third_party/proguard/LICENSE -sha256 6e5e117324afd944dcf67f36cf329843bc1a92229a8cd9bb573d7a83130fea7d src/3rdparty/chromium/third_party/protobuf/LICENSE -sha256 2ab28b982a7f3150e1597befaa87e1636b9973c80aef3752597945d270c4c4e4 src/3rdparty/chromium/third_party/pycoverage/LICENSE -sha256 f8d0c347a0dcc6ebe1671640dfae8d2411b6ded892e06a6764f8208b218b2af4 src/3rdparty/chromium/third_party/pyelftools/elftools/construct/LICENSE -sha256 f8c8ccecdbb044fd6fa1a586c596a055fb2b14fb3e335d8ed282db58d80b7410 src/3rdparty/chromium/third_party/pyelftools/LICENSE -sha256 cb5e8e7e5f4a3988e1063c142c60dc2df75605f4c46515e776e3aca6df976e14 src/3rdparty/chromium/third_party/pyjson5/src/LICENSE -sha256 c5b14f5a3814d2e57b9bb9520dcf57a2c3817b65c4f989e5c82e332c82af1038 src/3rdparty/chromium/third_party/pymock/LICENSE.txt -sha256 318cea263a2fb726d767e2777771a431a3220008e6940dd5138a235a1fc498fc src/3rdparty/chromium/third_party/pystache/LICENSE -sha256 956c3b678228a216142df38d039bba56ee6509d3298e7a4b8dd5bc3eaa80fe33 src/3rdparty/chromium/third_party/Python-Markdown/LICENSE.md -sha256 5a2954f05e7fcc1bf240a3b58534f974760b5aae02438ce875c9c7fe0bdb4cf9 src/3rdparty/chromium/third_party/pywebsocket3/src/LICENSE -sha256 c903100da706172066fa1b6f02eba60f202fea63036492d2c4a01267e32aa7a8 src/3rdparty/chromium/third_party/qcms/src/COPYING -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/quic_trace/src/LICENSE -sha256 38751245389e1e23f73e6f5384b5cbe7fa972cc4410c5adc9c04b082a0b9561a src/3rdparty/chromium/third_party/quic_trace/src/third_party/fonts/LICENSE -sha256 8991cd11befec7c6a63662700f03c0cc42e864b6e77c7e70b80297c951a7f0ff src/3rdparty/chromium/third_party/quic_trace/src/third_party/glew/LICENSE.txt -sha256 f98f3db81b4dd3873d8672117e409286142cfae9b7673ab6d7aab4bae1527d20 src/3rdparty/chromium/third_party/qunit/LICENSE -sha256 68834f116f8ff545f05d14753357b620748156d60ee36b26beab4cb3f317efe4 src/3rdparty/chromium/third_party/r8/LICENSE -sha256 6040cda75d90b1738292a631d89934c411ef7ffd543c4d6a1b7edfc8edf29449 src/3rdparty/chromium/third_party/re2/LICENSE -sha256 6040cda75d90b1738292a631d89934c411ef7ffd543c4d6a1b7edfc8edf29449 src/3rdparty/chromium/third_party/re2/src/LICENSE -sha256 e479bcdfa777738226b4282bf8536cc5416a25cec3100cbe210b8be4d1e2ed84 src/3rdparty/chromium/third_party/requests/LICENSE -sha256 e2f59ff41d9d03adc3dcf3deff170f8c8cf4a6eb4a9b174762a7656d23200ffa src/3rdparty/chromium/third_party/rnnoise/COPYING -sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 src/3rdparty/chromium/third_party/robolectric/LICENSE -sha256 19c9b910bec5a4f2c420747d1bf81e975ffdb1377ad91c5d9b1e8dd3e38f4c17 src/3rdparty/chromium/third_party/robolectric/licenses/extreme.indiana.edu.license.txt -sha256 a7436c952fa2dc0701860cf4187d1e8e8e6de6720dec0ae9e0b641bc50eebced src/3rdparty/chromium/third_party/robolectric/licenses/javolution.license.txt -sha256 5b6ac717e37db4f6d17bda7791f4ce3f99947aeb21e6e72b705aa3d1ee2de480 src/3rdparty/chromium/third_party/robolectric/licenses/pivotal.labs.license.txt -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/s2cellid/LICENSE -sha256 3f941b3b89cf7b8370ceb83cc76d2120d471b58735d8ca60238a751a48d7f72f src/3rdparty/chromium/third_party/schema_org/LICENSE -sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 src/3rdparty/chromium/third_party/shaderc/src/LICENSE -sha256 b5a00e94f058edc87e05978329b55730d8689abe61205d9018443d03de4f07da src/3rdparty/chromium/third_party/shaderc/src/third_party/LICENSE.glslang -sha256 47e20ce182bc68fab1a0cfb129b03c326aaf4f2b6b7905aa9d376d31018bd29f src/3rdparty/chromium/third_party/shaderc/src/third_party/LICENSE.spirv-tools -sha256 33c9a2fe619e1200937629f318895898ffcd1bf7d0ddd39adc382c030925e61e src/3rdparty/chromium/third_party/simplejson/LICENSE.txt -sha256 b25948e48c44312d04ffc626a9d52cae7c04539a1a8e0c1be47b7bfa0da03e1d src/3rdparty/chromium/third_party/sinonjs/LICENSE -sha256 8bb850c565aa389fdc16f3a46965ad23d82adff60f2393fc2762b63185e8e6c9 src/3rdparty/chromium/third_party/six/LICENSE -sha256 8bb850c565aa389fdc16f3a46965ad23d82adff60f2393fc2762b63185e8e6c9 src/3rdparty/chromium/third_party/six/src/LICENSE -sha256 e59bb5c5c6ba426a9ac4ba9fe667ad14c5166b12aa25be8af1d122b14fbe2e36 src/3rdparty/chromium/third_party/skia/include/third_party/skcms/LICENSE -sha256 e59bb5c5c6ba426a9ac4ba9fe667ad14c5166b12aa25be8af1d122b14fbe2e36 src/3rdparty/chromium/third_party/skia/include/third_party/vulkan/LICENSE -sha256 5f787c1dee3c56547f09ccc2906ab5f5293c4d8dd6c8654e573216c38e908dbd src/3rdparty/chromium/third_party/skia/LICENSE -sha256 d27678cba0d529e77201e2d2a053628143e986aad8f1e77f7039ad4366c8f978 src/3rdparty/chromium/third_party/skia/modules/canvaskit/canvaskit/LICENSE -sha256 d27678cba0d529e77201e2d2a053628143e986aad8f1e77f7039ad4366c8f978 src/3rdparty/chromium/third_party/skia/modules/pathkit/npm-asmjs/LICENSE -sha256 d27678cba0d529e77201e2d2a053628143e986aad8f1e77f7039ad4366c8f978 src/3rdparty/chromium/third_party/skia/modules/pathkit/npm-wasm/LICENSE -sha256 5366e97b4478f15a1e2fd7e6094337426597df28de50cd9fed3f2e7e87f1229e src/3rdparty/chromium/third_party/skia/third_party/etc1/LICENSE -sha256 e59bb5c5c6ba426a9ac4ba9fe667ad14c5166b12aa25be8af1d122b14fbe2e36 src/3rdparty/chromium/third_party/skia/third_party/skcms/LICENSE -sha256 e21477eed484b07902a861a1b18d1e4ecd3e6f22fa81e2410f0770cfb67290e8 src/3rdparty/chromium/third_party/skia/third_party/vulkanmemoryallocator/include/LICENSE.txt -sha256 d27678cba0d529e77201e2d2a053628143e986aad8f1e77f7039ad4366c8f978 src/3rdparty/chromium/third_party/skia/third_party/vulkanmemoryallocator/LICENSE -sha256 e59bb5c5c6ba426a9ac4ba9fe667ad14c5166b12aa25be8af1d122b14fbe2e36 src/3rdparty/chromium/third_party/skia/third_party/wuffs/LICENSE -sha256 3f6f1b520bc53e878ccbb698ad0bacef3752a5f4e4b50a26552bd70f60b40748 src/3rdparty/chromium/third_party/smhasher/LICENSE -sha256 55172044f7e241207117448a4d9d6ba1d0925c8ad66b5d4c08c70adfa9cc3de6 src/3rdparty/chromium/third_party/snappy/src/COPYING -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/spirv-cross/spirv-cross/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/spirv-headers/LICENSE -sha256 9b243f6f0bf44e295ff411a0f7b7642d1d0dff7cdc42507e9f7206f439e51b5a src/3rdparty/chromium/third_party/spirv-headers/src/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/SPIRV-Tools/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/SPIRV-Tools/src/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/SPIRV-Tools/src/utils/vscode/src/lsp/LICENSE -sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 src/3rdparty/chromium/third_party/sqlite4java/LICENSE -sha256 06545a6ec25fbbff6c62f205f94a35be49e38f33bea827a8cfb07d7b82e4b083 src/3rdparty/chromium/third_party/sqlite/LICENSE -sha256 66e056b6e8687f32af30d5187611b98b12a8f46f07aaf62f43585f276e8f0ac9 src/3rdparty/chromium/third_party/sqlite/src/autoconf/tea/license.terms -sha256 9c6479123f32a1ed50d9a0af203dfe8972e65035b0cdeef436b5f8d0924517fe src/3rdparty/chromium/third_party/sqlite/src/LICENSE.md -sha256 033d0150b3bd78b36894c88fcc68da0c3f2e661d3b3485e8cc9a61b2c2bf7895 src/3rdparty/chromium/third_party/subresource-filter-ruleset/LICENSE -sha256 28113a6e9e2fd7584187c738a7c5484452a1c383307a1741bec50a73262fac08 src/3rdparty/chromium/third_party/sudden_motion_sensor/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/swiftshader/LICENSE.txt -sha256 ad4672b403488876635d2b455918f74b829d478da868ffc0c621a00fc99195f5 src/3rdparty/chromium/third_party/tcmalloc/LICENSE -sha256 81ebf38708899097aacaac9723679b3ffa17640c14cd3193c46b75197de18b2c src/3rdparty/chromium/third_party/tcmalloc/vendor/COPYING -sha256 d600ff20c150a675461dde76752e35f4cc3be6e7d8e70b8da3e775ea7e5ec4aa src/3rdparty/chromium/third_party/test_fonts/LICENSE -sha256 bb04dd22ee55fe3c24ee2a3c82bd1efdebbd965f7c178224a2977edc2457bb2f src/3rdparty/chromium/third_party/tlslite/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/turbine/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/ub-uiautomator/LICENSE -sha256 0a90947436dc17f047f8c95b64593e2cc9a2b6d4ff6618f2f0beba5a9b568c14 src/3rdparty/chromium/third_party/unrar/LICENSE -sha256 6ecc1687808b7d66b24f874755abfed7464d9751ed0001cd4e8e5d9bf397ff8a src/3rdparty/chromium/third_party/unrar/src/license.txt -sha256 6629d6edceffa9c68f4245b817137d2265fdab1e98068893420edb6689ccce9e src/3rdparty/chromium/third_party/usb_ids/LICENSE -sha256 7a4a31e05391919c05a996f09fc20ffc80c69af72cb3e69ac71b70c825fbdd1d src/3rdparty/chromium/third_party/usrsctp/LICENSE -sha256 fa53711b25af4b9a9b8dadfea3cb38166ec4b96760c8d62b284055554537d9ef src/3rdparty/chromium/third_party/usrsctp/usrsctplib/LICENSE.md -sha256 5a7f623a50e384aaf6d2ced068339ddf93d0a50d3a0ecbe86f125b07804ecc78 src/3rdparty/chromium/third_party/v4l-utils/COPYING.libv4l -sha256 376b54d4c5f4aa99421823fa4da93e3ab73096fce2400e89858632aa7da24a14 src/3rdparty/chromium/third_party/wds/LICENSE -sha256 376b54d4c5f4aa99421823fa4da93e3ab73096fce2400e89858632aa7da24a14 src/3rdparty/chromium/third_party/wds/src/COPYING -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/web-animations-js/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/web-animations-js/sources/COPYING -sha256 d51b39e7ed0391e75e0add75d1a162fdf4a0d6b49fba7635ed0ac4e16f324773 src/3rdparty/chromium/third_party/webdriver/COPYING -sha256 6d83e980b9b843cf6fe24cb94714d00f9b0cf69cb00d0e3b0bed018d49d6f24f src/3rdparty/chromium/third_party/webdriver/LICENSE -sha256 fec8eb2896784d7b9ef5bcb1c64b97156455a3c88df4fdd36538fb55c0decac4 src/3rdparty/chromium/third_party/webgpu-cts/src/LICENSE.txt -sha256 e30fbe869f1fa489901bb08888a919c5d50ddb5be6d16b9e4a2cb226263dd7db src/3rdparty/chromium/third_party/webgpu-cts/src/third_party/jquery/LICENSE.txt -sha256 25b7731b70c77ecd5f3bb19303fbaa99be18860f81d44f71da670fdcd04829db src/3rdparty/chromium/third_party/webrtc/common_audio/third_party/fft4g/LICENSE -sha256 41d791701e3e1c1073470403de7e342442d1e6a2af72681023b13a2f45f2125c src/3rdparty/chromium/third_party/webrtc/common_audio/third_party/spl_sqrt_floor/LICENSE -sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 src/3rdparty/chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE -sha256 26d2d16d48825edf1194cb3907c5c0b7d01f9c5527eb0fefb949c51f304635e9 src/3rdparty/chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE.md -sha256 21a742dd8cceebb1d5df7c6f945c75ccf1ad4f0d4c17e404517500c1a7de86a4 src/3rdparty/chromium/third_party/webrtc/examples/objc/AppRTCMobile/third_party/SocketRocket/LICENSE -sha256 ab00a482b6a3902e40211b43c5d0441962ea99b6cc7c25c0f243fa270b78d482 src/3rdparty/chromium/third_party/webrtc/LICENSE -sha256 1f7a086c17fa2bdbe27d3eb6424a64b9bea9d7db89a4e220fef52ca24addb9e9 src/3rdparty/chromium/third_party/webrtc/license_template.txt -sha256 6fdbabd2c95c5efc6f1e46175278239afb9343120a3022ed0e0cb04267a6aeb3 src/3rdparty/chromium/third_party/webrtc/modules/third_party/fft/LICENSE -sha256 b29c8f13f91feb2dab7d6655444369fa9f29c0d7121a52dab90ff97e40343a85 src/3rdparty/chromium/third_party/webrtc/modules/third_party/g711/LICENSE -sha256 61862327fd00d6a4deb2c1276577782c2500f4fe103e072018fc369d8e37e876 src/3rdparty/chromium/third_party/webrtc/modules/third_party/g722/LICENSE -sha256 641007ea2810c4cfc10a5d1a44db33983ec1409305e953c7119cc2457ec5c536 src/3rdparty/chromium/third_party/webrtc/modules/third_party/portaudio/LICENSE -sha256 a508773ebf00f8c777a910e941e5fd0072195843e1b72a90eb8787d26d4ab1d7 src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/LICENSE -sha256 905bc5ab1c66eea2669aee6cb5185488508264df6492f71ae1a6595180ff8c2b src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/sigslot/LICENSE -sha256 eb077b108bac4c81abe7410274af0930456790add09a6fe5316910e2b936c0f9 src/3rdparty/chromium/third_party/webxr_test_pages/LICENSE -sha256 eb077b108bac4c81abe7410274af0930456790add09a6fe5316910e2b936c0f9 src/3rdparty/chromium/third_party/webxr_test_pages/webxr-samples/js/cottontail/LICENSE.md -sha256 47754d3064047c300714af25258efa782e144fdf1e835bfd1edbeb7f8f4ef9e4 src/3rdparty/chromium/third_party/webxr_test_pages/webxr-samples/js/third-party/dat.gui/LICENSE -sha256 71819b5a0a080b6a3d35b3579817c2c558abcf3c92bb5abc052145a7c106573e src/3rdparty/chromium/third_party/webxr_test_pages/webxr-samples/js/third-party/gl-matrix/LICENSE -sha256 eb077b108bac4c81abe7410274af0930456790add09a6fe5316910e2b936c0f9 src/3rdparty/chromium/third_party/webxr_test_pages/webxr-samples/LICENSE.md -sha256 88d855a8e07a39df758fe9964f5d04d5c2fab39416e566e9d91588e254ca27dc src/3rdparty/chromium/third_party/weston/LICENSE -sha256 fdb65868f65d0fbdb05c2d3b779e10ce9969fa0c4b9262ba4f260e87086ab860 src/3rdparty/chromium/third_party/weston/src/COPYING -sha256 a34730970264d619f352598bf30295ad505a60fc3a493add8aa851645ce3ea47 src/3rdparty/chromium/third_party/weston/src/data/COPYING -sha256 20de375707692099b3132084695377ce5fec0aec05813dedcce094b8eda44386 src/3rdparty/chromium/third_party/widevine/LICENSE -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/chromium/third_party/woff2/LICENSE -sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 src/3rdparty/chromium/third_party/wuffs/LICENSE -sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 src/3rdparty/chromium/third_party/wuffs/src/LICENSE -sha256 b244f73c3d21edaf44ec253b9a7c389ec43313c417f52f8b71914b0c40d87325 src/3rdparty/chromium/third_party/xdg-utils/LICENSE -sha256 1cf71700f3403ca26f002e2dc1d1861dcb3d2af9bb9d98d529a903be9d7f06fc src/3rdparty/chromium/third_party/xstream/LICENSE -sha256 795f8d76eade6130129b680ac72ea81cb3e143467a65ea1f5f64946151d7fa20 src/3rdparty/chromium/third_party/yasm/source/patched-yasm/COPYING -sha256 942755efa272dbfbcd7afea7a38556801e36c16dcad002d572378367094a2593 src/3rdparty/chromium/third_party/zlib/LICENSE -sha256 a4c8c5abf82b36c22f8c9f8bd6229584f32eb9f7a2429dd9664dda43e63e9fda src/3rdparty/chromium/tools/grit/third_party/six/LICENSE -sha256 63f0c0039b477857e54708d9501ed91b7a46e828ac3c623bedbc318129ceb174 src/3rdparty/chromium/tools/origin_trials/third_party/ed25519/LICENSE -sha256 f5b244982699ca9fe5cc8fa8a7c08cf5dee5d3a0c8896892899e5df13316e1b7 src/3rdparty/chromium/tools/page_cycler/acid3/LICENSE -sha256 7389900fb68d920c6cb21b70702a2bc240523472a3fd091023d6135cf01d1c5c src/3rdparty/chromium/tools/win/ChromeDebug/ChromeDebug/LICENSE -sha256 284545e873c704952e5b1b39d457dd83a3b115a51d9f1eb5175137bd69b8fa1b src/3rdparty/chromium/url/third_party/mozilla/LICENSE.txt -sha256 f10a1808e442ae7dbfecf6b54ae4de84193a768770e189a67d5f397730acdbc9 src/3rdparty/chromium/v8/LICENSE -sha256 e7115e18444dae09d17f361ddc365fb1d342640fe500796209c63f7c80dfae10 src/3rdparty/chromium/v8/LICENSE.fdlibm -sha256 6a585a9f466654abc8fc0829d56b1bc987e3a073d31faa03bba37d33640a23cd src/3rdparty/chromium/v8/LICENSE.strongtalk -sha256 4af93c12062c58058378de2397dc1c92bbff9ddfb1d583a01c84127557ce97ca src/3rdparty/chromium/v8/LICENSE.v8 -sha256 cae8c00ca6e90a682c321ec11e7a5a345d0d317aa0b8f038e03ef03a18095b2f src/3rdparty/chromium/v8/LICENSE.valgrind -sha256 36ffd9dc085d529a7e60e1276d73ae5a030b020313e6c5408593a6ae2af39673 src/3rdparty/chromium/v8/src/third_party/siphash/LICENSE -sha256 3f712e5fbdfdbd5ee7d9b8c8152580220df55de47f4eba2f26c95c4de19ad096 src/3rdparty/chromium/v8/src/third_party/utf8-decoder/LICENSE -sha256 ebf25b8ce59c9e8883acd1ca75b6fc121937ca034f666c4077d2be739d2e1622 src/3rdparty/chromium/v8/src/third_party/valgrind/LICENSE -sha256 cfe7599e45f340a35b4635090382897ca1526bc49b5e1889047f0168d131c415 src/3rdparty/chromium/v8/src/third_party/vtune/LICENSE -sha256 15137d6c822e3ab097093a33c3a39a9df699f373f6438867ad534ff60762a947 src/3rdparty/chromium/v8/third_party/colorama/LICENSE -sha256 b9be92f13356083392d97da13cab8ae543c7911f44eff5289b693da8b17b9e08 src/3rdparty/chromium/v8/third_party/inspector_protocol/LICENSE -sha256 b9a6d9320b8f2693e8d41e496ce56caadacaddcca9be2a64a61749278f425cf2 src/3rdparty/chromium/v8/third_party/v8/builtins/LICENSE -sha256 c6596eb7be8581c18be736c846fb9173b69eccf6ef94c5135893ec56bd92ba08 src/3rdparty/chromium/v8/third_party/wasm-api/LICENSE -sha256 5d85142a5609ad177a2d7a2e7cae060b886b8b42f25c5b9803cf0cb5ee04ad2f src/3rdparty/gn/base/third_party/icu/LICENSE -sha256 845022e0c1db1abb41a6ba4cd3c4b674ec290f3359d9d3c78ae558d4c0ed9308 src/3rdparty/gn/LICENSE -sha256 eb7e9ab9690124c5c9f42bdc81383d886a3dede26345b6ed15bbad7caf81f7ea src/3rdparty/ninja/COPYING diff --git a/package/qt5/qt5webengine/qt5webengine.mk b/package/qt5/qt5webengine/qt5webengine.mk index cebd6d0fe..836ba6218 100644 --- a/package/qt5/qt5webengine/qt5webengine.mk +++ b/package/qt5/qt5webengine/qt5webengine.mk @@ -4,64 +4,176 @@ # ################################################################################ -QT5WEBENGINE_VERSION_MAJOR = 5.15 -QT5WEBENGINE_VERSION = $(QT5WEBENGINE_VERSION_MAJOR).2 -QT5WEBENGINE_SITE = https://download.qt.io/archive/qt/$(QT5WEBENGINE_VERSION_MAJOR)/$(QT5WEBENGINE_VERSION)/submodules -QT5WEBENGINE_SOURCE = qtwebengine-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5WEBENGINE_VERSION).tar.xz -QT5WEBENGINE_DEPENDENCIES = ffmpeg libglib2 libvpx libxkbcommon opus webp \ - qt5declarative qt5webchannel host-bison host-flex host-gperf \ - host-pkgconf host-python +QT5WEBENGINE_VERSION = $(QT5_VERSION) +QT5WEBENGINE_SITE = $(QT5_SITE)/qtwebengine/-/archive/v$(QT5WEBENGINE_VERSION)-lts +QT5WEBENGINE_SOURCE = qtwebengine-v$(QT5WEBENGINE_VERSION)-lts.tar.bz2 +QT5WEBENGINE_DEPENDENCIES = qt5declarative qt5webchannel +QT5WEBENGINE_PATCH_DEPENDENCIES = qt5webengine-chromium QT5WEBENGINE_INSTALL_STAGING = YES - -include package/qt5/qt5webengine/chromium-latest.inc +QT5WEBENGINE_SYNC_QT_HEADERS = YES QT5WEBENGINE_LICENSE = GPL-2.0 or LGPL-3.0 or GPL-3.0 or GPL-3.0 with exception QT5WEBENGINE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT \ - LICENSE.GPLv3 LICENSE.LGPL3 $(QT5WEBENGINE_CHROMIUM_LICENSE_FILES) + LICENSE.GPLv3 LICENSE.LGPL3 + +# command line argument separator +QT5WEBENGINE_CONF_OPTS = -- ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) QT5WEBENGINE_DEPENDENCIES += qt5svg endif ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y) -QT5WEBENGINE_DEPENDENCIES += xlib_libXScrnSaver xlib_libXcomposite \ - xlib_libXcursor xlib_libXi xlib_libXrandr xlib_libXtst +QT5WEBENGINE_DEPENDENCIES += \ + xlib_libXcomposite \ + xlib_libXcursor \ + xlib_libXi \ + xlib_libxkbfile \ + xlib_libXrandr \ + xlib_libXScrnSaver \ + xlib_libXtst +QT5WEBENGINE_CONF_OPTS += \ + -feature-webengine-ozone \ + -feature-webengine-system-libdrm \ + -feature-webengine-system-x11 \ + -feature-webengine-system-xkbfile \ + -feature-webengine-system-xcomposite \ + -feature-webengine-system-xcursor \ + -feature-webengine-system-xi \ + -feature-webengine-system-xproto-gl \ + -feature-webengine-system-xtst +else +QT5WEBENGINE_CONF_OPTS += \ + -no-feature-webengine-ozone \ + -no-feature-webengine-system-libdrm \ + -no-feature-webengine-system-x11 \ + -no-feature-webengine-system-xkbfile \ + -no-feature-webengine-system-xcomposite \ + -no-feature-webengine-system-xcursor \ + -no-feature-webengine-system-xi \ + -no-feature-webengine-system-xproto-gl \ + -no-feature-webengine-system-xtst endif -QT5WEBENGINE_DEPENDENCIES += host-libpng host-libnss libnss +QT5WEBENGINE_DEPENDENCIES += \ + host-bison \ + host-flex \ + host-freetype \ + host-gperf \ + host-harfbuzz \ + host-icu \ + host-ninja \ + host-nodejs \ + host-pkgconf \ + host-libjpeg \ + host-libnss \ + host-libpng \ + host-python3 \ + host-webp \ + host-zlib \ + ffmpeg \ + freetype \ + jpeg \ + lcms2 \ + libevent \ + libnss \ + libvpx \ + libxml2 \ + libxslt \ + re2 \ + snappy \ + webp -QT5WEBENGINE_CONF_OPTS += WEBENGINE_CONFIG+=use_system_ffmpeg +QT5WEBENGINE_CONF_OPTS += \ + -webengine-embedded-build \ + -webengine-ffmpeg \ + -webengine-icu \ + -webengine-opus \ + -webengine-webchannel \ + -webengine-webp \ + -feature-build-qtwebengine-core \ + -feature-webengine-core-support \ + -feature-webengine-system-dbus \ + -feature-webengine-system-fontconfig \ + -feature-webengine-system-freetype \ + -feature-webengine-system-glib \ + -feature-webengine-system-glibc \ + -feature-webengine-system-harfbuzz \ + -feature-webengine-system-jpeg \ + -feature-webengine-system-khr \ + -feature-webengine-system-lcms2 \ + -feature-webengine-system-libevent \ + -feature-webengine-system-libvpx \ + -feature-webengine-system-libxml2 \ + -feature-webengine-system-ninja \ + -feature-webengine-system-nss \ + -feature-webengine-system-png \ + -feature-webengine-system-re2 \ + -feature-webengine-system-snappy \ + -feature-webengine-system-zlib + +QT5WEBENGINE_CONF_OPTS += \ + -no-webengine-geolocation \ + -no-webengine-kerberos \ + -no-webengine-pepper-plugins \ + -no-webengine-printing-and-pdf \ + -no-webengine-spellchecker \ + -no-webengine-webrtc \ + -no-webengine-webrtc-pipewire \ + -no-feature-webengine-developer-build \ + -no-feature-webengine-full-debug-info \ + -no-feature-webengine-native-spellchecker \ + -no-feature-webengine-noexecstack \ + -no-feature-webengine-system-minizip \ + -no-feature-webengine-system-gn ifeq ($(BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS),y) -QT5WEBENGINE_CONF_OPTS += WEBENGINE_CONFIG+=use_proprietary_codecs +QT5WEBENGINE_CONF_OPTS += -webengine-proprietary-codecs +else +QT5WEBENGINE_CONF_OPTS += -no-webengine-proprietary-codecs endif ifeq ($(BR2_PACKAGE_QT5WEBENGINE_ALSA),y) QT5WEBENGINE_DEPENDENCIES += alsa-lib +QT5WEBENGINE_CONF_OPTS += -webengine-alsa else -QT5WEBENGINE_CONF_OPTS += QT_CONFIG-=alsa +QT5WEBENGINE_CONF_OPTS += -no-webengine-alsa +endif + +ifeq ($(BR2_PACKAGE_PULSEAUDIO),y) +QT5WEBENGINE_DEPENDENCIES += pulseaudio +QT5WEBENGINE_CONF_OPTS += -webengine-pulseaudio +else +QT5WEBENGINE_CONF_OPTS += -no-webengine-pulseaudio endif -# QtWebengine's build system uses python, but only supports python2. We work -# around this by forcing python2 early in the PATH, via a python->python2 -# symlink. QT5WEBENGINE_ENV = \ PATH=$(@D)/host-bin:$(BR_PATH) \ - PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig -define QT5WEBENGINE_PYTHON2_SYMLINK + PKG_CONFIG_SYSROOT_DIR="/" +define QT5WEBENGINE_CREATE_HOST_PYTHON_WRAPPER mkdir -p $(@D)/host-bin - ln -sf $(HOST_DIR)/bin/python2 $(@D)/host-bin/python + sed s%@HOST_DIR@%$(HOST_DIR)%g $(QT5WEBENGINE_PKGDIR)/host-python-wrapper.in > $(@D)/host-bin/python + chmod +x $(@D)/host-bin/python endef -QT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_PYTHON2_SYMLINK +QT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_CREATE_HOST_PYTHON_WRAPPER QT5WEBENGINE_ENV += NINJAFLAGS="-j$(PARALLEL_JOBS)" +define QT5WEBENGINE_COPY_CHROMIUM + rm -rf $(@D)/src/3rdparty + cp -a $(QT5WEBENGINE_CHROMIUM_DIR) $(@D)/src/3rdparty +endef +QT5WEBENGINE_POST_PATCH_HOOKS += QT5WEBENGINE_COPY_CHROMIUM + define QT5WEBENGINE_CREATE_HOST_PKG_CONFIG + mkdir -p $(@D)/host-bin sed s%@HOST_DIR@%$(HOST_DIR)%g $(QT5WEBENGINE_PKGDIR)/host-pkg-config.in > $(@D)/host-bin/host-pkg-config chmod +x $(@D)/host-bin/host-pkg-config endef QT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_CREATE_HOST_PKG_CONFIG -QT5WEBENGINE_ENV += GN_PKG_CONFIG_HOST=$(@D)/host-bin/host-pkg-config +QT5WEBENGINE_ENV += \ + GN_PKG_CONFIG_HOST=$(@D)/host-bin/host-pkg-config \ + GN_HOST_TOOLCHAIN_EXTRA_CPPFLAGS="$(HOST_CPPFLAGS)" QT5WEBENGINE_CONF_ENV = $(QT5WEBENGINE_ENV) QT5WEBENGINE_MAKE_ENV = $(QT5WEBENGINE_ENV) diff --git a/package/qt5/qt5webkit/0006-Warnings-due-to-AppSinkCallbacks-struct-growth-https.patch b/package/qt5/qt5webkit/0006-Warnings-due-to-AppSinkCallbacks-struct-growth-https.patch new file mode 100644 index 000000000..610d99e35 --- /dev/null +++ b/package/qt5/qt5webkit/0006-Warnings-due-to-AppSinkCallbacks-struct-growth-https.patch @@ -0,0 +1,39 @@ +From 53d5bbf4d597a2fcb26149fab3185a3db09529af Mon Sep 17 00:00:00 2001 +From: Philippe Normand +Date: Fri, 23 Jul 2021 15:38:29 +0000 +Subject: [PATCH] Warnings due to AppSinkCallbacks struct growth + https://bugs.webkit.org/show_bug.cgi?id=228229 + +Patch by Philippe Normand on 2021-07-23 +Reviewed by Xabier Rodriguez-Calvar. + +A new callback was added, for event notifications. + +Canonical link: https://commits.webkit.org/239911@main +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280243268f45cc-cd09-0410-ab3c-d52691b4dbfc +[Thomas: backported from upstream, only the part touching +Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp +as other parts are not relevant] +Signed-off-by: Thomas Petazzoni +--- + .../platform/audio/gstreamer/AudioFileReaderGStreamer.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp b/Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp +index 2f24c0cf5..dd9d91cf3 100644 +--- a/Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp ++++ b/Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp +@@ -230,6 +230,10 @@ void AudioFileReader::handleNewDeinterleavePad(GstPad* pad) + [](GstAppSink* sink, gpointer userData) -> GstFlowReturn { + return static_cast(userData)->handleSample(sink); + }, ++#if GST_CHECK_VERSION(1, 19, 1) ++ // new_event ++ nullptr, ++#endif + { nullptr } + }; + gst_app_sink_set_callbacks(GST_APP_SINK(sink), &callbacks, this, 0); +-- +2.37.1 + diff --git a/package/qt5/qt5webkit/Config.in b/package/qt5/qt5webkit/Config.in index 26c3897d1..9b84ac5f9 100644 --- a/package/qt5/qt5webkit/Config.in +++ b/package/qt5/qt5webkit/Config.in @@ -16,6 +16,8 @@ config BR2_PACKAGE_QT5WEBKIT select BR2_PACKAGE_LEVELDB select BR2_PACKAGE_LIBPNG select BR2_PACKAGE_OPENSSL + # Only openssl is supported by qt5 + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL select BR2_PACKAGE_QT5BASE_ICU select BR2_PACKAGE_QT5BASE_GUI select BR2_PACKAGE_QT5BASE_WIDGETS diff --git a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk index 27818ecb7..08f6d5674 100644 --- a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk +++ b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk @@ -20,4 +20,8 @@ ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) QT5XMLPATTERNS_LICENSE += , BSD-3-Clause (examples) endif +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_90620),y) +QT5XMLPATTERNS_CONF_OPTS += "QMAKE_CXXFLAGS+=-O0" +endif + $(eval $(qmake-package)) diff --git a/package/quagga/quagga.hash b/package/quagga/quagga.hash index 293cee4d5..d63908ad8 100644 --- a/package/quagga/quagga.hash +++ b/package/quagga/quagga.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 e364c082c3309910e1eb7b068bf39ee298e2f2f3f31a6431a5c115193bd653d3 quagga-1.2.4.tar.gz +sha256 e364c082c3309910e1eb7b068bf39ee298e2f2f3f31a6431a5c115193bd653d3 quagga-1.2.4.tar.gz # Hash for license file -sha256 b39c1bad4e51e2a3389cd25fc4addebe41a3ae7c11100795683f9330de1536e5 COPYING +sha256 b39c1bad4e51e2a3389cd25fc4addebe41a3ae7c11100795683f9330de1536e5 COPYING diff --git a/package/quazip/Config.in b/package/quazip/Config.in index e98029755..bba5eddf3 100644 --- a/package/quazip/Config.in +++ b/package/quazip/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_QUAZIP bool "quazip" depends on BR2_PACKAGE_QT5 select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_ZLIB_FORCE_LIBZLIB help QuaZIP is a simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package that can be used to access ZIP diff --git a/package/quazip/quazip.mk b/package/quazip/quazip.mk index 44645ec9b..ac04fda61 100644 --- a/package/quazip/quazip.mk +++ b/package/quazip/quazip.mk @@ -12,5 +12,6 @@ QUAZIP_DEPENDENCIES = \ qt5base QUAZIP_LICENSE = LGPL-2.1 QUAZIP_LICENSE_FILES = COPYING +QUAZIP_CPE_ID_VENDOR = quazip_project $(eval $(cmake-package)) diff --git a/package/quickjs/quickjs.mk b/package/quickjs/quickjs.mk index a026eec4f..ff3920910 100644 --- a/package/quickjs/quickjs.mk +++ b/package/quickjs/quickjs.mk @@ -9,6 +9,7 @@ QUICKJS_SOURCE = quickjs-$(QUICKJS_VERSION).tar.xz QUICKJS_SITE = https://bellard.org/quickjs QUICKJS_LICENSE = MIT QUICKJS_LICENSE_FILES = LICENSE +QUICKJS_CPE_ID_VENDOR = quickjs_project QUICKJS_INSTALL_STAGING = YES ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) diff --git a/package/quotatool/quotatool.hash b/package/quotatool/quotatool.hash index 45b477830..d41fd4ed1 100644 --- a/package/quotatool/quotatool.hash +++ b/package/quotatool/quotatool.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 e53adc480d54ae873d160dc0e88d78095f95d9131e528749fd982245513ea090 quotatool-1.6.2.tar.gz +sha256 e53adc480d54ae873d160dc0e88d78095f95d9131e528749fd982245513ea090 quotatool-1.6.2.tar.gz # Hash for license files: -sha256 94686eeb98a40edc64106c6f8644068d8a08816a510a3cde75e50f1bf470564d COPYING +sha256 94686eeb98a40edc64106c6f8644068d8a08816a510a3cde75e50f1bf470564d COPYING diff --git a/package/rabbitmq-server/rabbitmq-server.mk b/package/rabbitmq-server/rabbitmq-server.mk index 33c335942..969e61e2b 100644 --- a/package/rabbitmq-server/rabbitmq-server.mk +++ b/package/rabbitmq-server/rabbitmq-server.mk @@ -32,7 +32,7 @@ RABBITMQ_SERVER_LICENSE_FILES = \ LICENSE-MPL-RabbitMQ \ LICENSE-MPL2 \ LICENSE-rabbitmq_aws -RABBITMQ_SERVER_CPE_ID_VENDOR = pivotal_software +RABBITMQ_SERVER_CPE_ID_VENDOR = vmware RABBITMQ_SERVER_CPE_ID_PRODUCT = rabbitmq RABBITMQ_SERVER_SELINUX_MODULES = rabbitmq diff --git a/package/ranger/ranger.mk b/package/ranger/ranger.mk index aaca43862..91b30f216 100644 --- a/package/ranger/ranger.mk +++ b/package/ranger/ranger.mk @@ -19,7 +19,7 @@ define RANGER_DO_NOT_GENERATE_BYTECODE_AT_RUNTIME $(SED) 's%/usr/bin/python -O%/usr/bin/python%g' $(@D)/scripts/ranger endef -ifeq ($(BR2_PACKAGE_PYTHON3_PYC_ONLY)$(BR2_PACKAGE_PYTHON_PYC_ONLY),y) +ifeq ($(BR2_PACKAGE_PYTHON3_PYC_ONLY),y) RANGER_POST_PATCH_HOOKS += RANGER_DO_NOT_GENERATE_BYTECODE_AT_RUNTIME endif diff --git a/package/rapidjson/rapidjson.hash b/package/rapidjson/rapidjson.hash index e8b2c4d54..3c16abee6 100644 --- a/package/rapidjson/rapidjson.hash +++ b/package/rapidjson/rapidjson.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e rapidjson-1.1.0.tar.gz -sha256 a140e5d46fe734a1c78f1a3c3ef207871dd75648be71fdda8e309b23ab8b1f32 license.txt +sha256 bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e rapidjson-1.1.0.tar.gz +sha256 a140e5d46fe734a1c78f1a3c3ef207871dd75648be71fdda8e309b23ab8b1f32 license.txt diff --git a/package/rapidxml/rapidxml.hash b/package/rapidxml/rapidxml.hash index 398bc147c..292901f4c 100644 --- a/package/rapidxml/rapidxml.hash +++ b/package/rapidxml/rapidxml.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/rapidxml/files/rapidxml/rapidxml%201.13/ -sha1 f5fd4fbc5ad7e96045313697811d65ea8089a950 rapidxml-1.13.zip -md5 7b4b42c9331c90aded23bb55dc725d6a rapidxml-1.13.zip +sha1 f5fd4fbc5ad7e96045313697811d65ea8089a950 rapidxml-1.13.zip +md5 7b4b42c9331c90aded23bb55dc725d6a rapidxml-1.13.zip # Locally calculated sha256 c3f0b886374981bb20fabcf323d755db4be6dba42064599481da64a85f5b3571 rapidxml-1.13.zip diff --git a/package/raptor/0003-XML-Writer-compare-namespace-declarations-correctly.patch b/package/raptor/0003-XML-Writer-compare-namespace-declarations-correctly.patch new file mode 100644 index 000000000..a48a583cb --- /dev/null +++ b/package/raptor/0003-XML-Writer-compare-namespace-declarations-correctly.patch @@ -0,0 +1,33 @@ +From 4f5dbbffcc1c6cf0398bd03450453289a0979dea Mon Sep 17 00:00:00 2001 +From: Dave Beckett +Date: Sat, 18 Sep 2021 17:40:00 -0700 +Subject: [PATCH] XML Writer : compare namespace declarations correctly + +Apply patch from +0001-CVE-2020-25713-raptor2-malformed-input-file-can-lead.patch.1 +that fixes Issue#0000650 https://bugs.librdf.org/mantis/view.php?id=650 +which overwrote heap during XML writing in parse type literal +content. This was detected with clang asan. + +Thanks to Michael Stahl / mst2 for the fix. + +[Retrieved from: +https://github.com/dajobe/raptor/commit/4f5dbbffcc1c6cf0398bd03450453289a0979dea] +Signed-off-by: Fabrice Fontaine +--- + src/raptor_xml_writer.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/raptor_xml_writer.c b/src/raptor_xml_writer.c +index 56993dc3..4426d38c 100644 +--- a/src/raptor_xml_writer.c ++++ b/src/raptor_xml_writer.c +@@ -227,7 +227,7 @@ raptor_xml_writer_start_element_common(raptor_xml_writer* xml_writer, + + /* check it wasn't an earlier declaration too */ + for(j = 0; j < nspace_declarations_count; j++) +- if(nspace_declarations[j].nspace == element->attributes[j]->nspace) { ++ if(nspace_declarations[j].nspace == element->attributes[i]->nspace) { + declare_me = 0; + break; + } diff --git a/package/raptor/raptor.mk b/package/raptor/raptor.mk index 6d21fad58..69ac12130 100644 --- a/package/raptor/raptor.mk +++ b/package/raptor/raptor.mk @@ -20,6 +20,9 @@ RAPTOR_AUTORECONF = YES # 0002-Calcualte-max-nspace-declarations-correctly-for-XML-.patch RAPTOR_IGNORE_CVES += CVE-2017-18926 +# 0003-XML-Writer-compare-namespace-declarations-correctly.patch +RAPTOR_IGNORE_CVES += CVE-2020-25713 + RAPTOR_CONF_OPTS =\ --with-xml2-config=$(STAGING_DIR)/usr/bin/xml2-config \ --with-xslt-config=$(STAGING_DIR)/usr/bin/xslt-config diff --git a/package/raspi-gpio/raspi-gpio.hash b/package/raspi-gpio/raspi-gpio.hash index 41d885f31..c3d9540f4 100644 --- a/package/raspi-gpio/raspi-gpio.hash +++ b/package/raspi-gpio/raspi-gpio.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 2526dcec1e5a171b13c44b1fb6f2faed5ec849f08021278e2be09bc18264a2fd raspi-gpio-4edfde183ff3ac9ed66cdc015ae25e45f3a5502d.tar.gz -sha256 6e02227e1fb942687163996678d94add7911890c50025912d0ae7ee66d256bb2 LICENSE +sha256 2526dcec1e5a171b13c44b1fb6f2faed5ec849f08021278e2be09bc18264a2fd raspi-gpio-4edfde183ff3ac9ed66cdc015ae25e45f3a5502d.tar.gz +sha256 6e02227e1fb942687163996678d94add7911890c50025912d0ae7ee66d256bb2 LICENSE diff --git a/package/rauc/0001-src-verify_hash.c-include-inttypes.h.patch b/package/rauc/0001-src-verify_hash.c-include-inttypes.h.patch new file mode 100644 index 000000000..916c8cca0 --- /dev/null +++ b/package/rauc/0001-src-verify_hash.c-include-inttypes.h.patch @@ -0,0 +1,38 @@ +From b19a9c26d88a913417e77aaf60c72cdbf393d1f6 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 31 May 2022 21:22:36 +0200 +Subject: [PATCH] src/verify_hash.c: include inttypes.h + +Include inttypes.h to avoid the following build failure: + +In file included from /nvmedata/autobuild/instance-22/output-1/host/bin/../sparc-buildroot-linux-uclibc/sysroot/usr/include/glib-2.0/glib.h:62, + from src/verity_hash.c:26: +src/verity_hash.c: In function 'verify_zero': +src/verity_hash.c:69:55: error: expected ')' before 'PRIu64' + 69 | g_message("Spare area is not zeroed at position %" PRIu64 ".", + | ^~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/1a093c0e194a061836884419d2f50506105db01e + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/rauc/rauc/pull/914] +--- + src/verity_hash.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/verity_hash.c b/src/verity_hash.c +index db82a78..3b2c2a0 100644 +--- a/src/verity_hash.c ++++ b/src/verity_hash.c +@@ -19,6 +19,7 @@ + */ + + #include ++#include + #include + #include + #include +-- +2.35.1 + diff --git a/package/rcw-smarc-sal28/rcw-smarc-sal28.hash b/package/rcw-smarc-sal28/rcw-smarc-sal28.hash index 6ca5df77c..17562137b 100644 --- a/package/rcw-smarc-sal28/rcw-smarc-sal28.hash +++ b/package/rcw-smarc-sal28/rcw-smarc-sal28.hash @@ -1,3 +1,3 @@ # locally computed -sha256 8c1c3e26407141ee8d8bd16a43c16c0459b01a60e6e25ca47e22c7499b3e4e65 rcw-smarc-sal28-11.tar.gz -sha256 803c65088eed36a6697ca9f03f4379bbad24e276dc8da7fef5eb4dc4008415a1 COPYING +sha256 8c1c3e26407141ee8d8bd16a43c16c0459b01a60e6e25ca47e22c7499b3e4e65 rcw-smarc-sal28-11.tar.gz +sha256 803c65088eed36a6697ca9f03f4379bbad24e276dc8da7fef5eb4dc4008415a1 COPYING diff --git a/package/reaver/reaver.hash b/package/reaver/reaver.hash index 780e6ac86..cb01e5209 100644 --- a/package/reaver/reaver.hash +++ b/package/reaver/reaver.hash @@ -1,3 +1,3 @@ # locally computed -sha256 73189782b208d12b8dddc4f29d32e1f72b1f3609e573c9ea9510deebec394583 reaver-1.6.6.tar.gz -sha256 bb40cfd5e9ca6e8465ea3c236f3f2293e8300af1bfe87e72fabe482ae6cc995a docs/LICENSE +sha256 73189782b208d12b8dddc4f29d32e1f72b1f3609e573c9ea9510deebec394583 reaver-1.6.6.tar.gz +sha256 bb40cfd5e9ca6e8465ea3c236f3f2293e8300af1bfe87e72fabe482ae6cc995a docs/LICENSE diff --git a/package/redis/redis.hash b/package/redis/redis.hash index 74a9392a6..6871a5904 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 5b2b8b7a50111ef395bf1c1d5be11e6e167ac018125055daa8b5c2317ae131ab redis-6.2.6.tar.gz +sha256 b7a79cc3b46d3c6eb52fa37dde34a4a60824079ebdfb3abfbbfa035947c55319 redis-6.2.7.tar.gz # Locally calculated sha256 97f0a15b7bbae580d2609dad2e11f1956ae167be296ab60f4691ab9c30ee9828 COPYING diff --git a/package/redis/redis.mk b/package/redis/redis.mk index f3c030d68..fb7f65374 100644 --- a/package/redis/redis.mk +++ b/package/redis/redis.mk @@ -4,7 +4,7 @@ # ################################################################################ -REDIS_VERSION = 6.2.6 +REDIS_VERSION = 6.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/rhash/rhash.mk b/package/rhash/rhash.mk index 02af0aa57..77011f383 100644 --- a/package/rhash/rhash.mk +++ b/package/rhash/rhash.mk @@ -12,7 +12,6 @@ RHASH_LICENSE_FILES = COPYING RHASH_CPE_ID_VENDOR = rhash_project RHASH_INSTALL_STAGING = YES RHASH_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) -RHASH_ADDLDFLAGS = $(TARGET_NLS_LIBS) ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) RHASH_CONF_OPTS += --enable-gettext diff --git a/package/riemann-c-client/riemann-c-client.hash b/package/riemann-c-client/riemann-c-client.hash index 6d4d634d7..dece01edd 100644 --- a/package/riemann-c-client/riemann-c-client.hash +++ b/package/riemann-c-client/riemann-c-client.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 334874f0b9a507a8abbc7138df719cba4f28f12c02c39d5e55090b8edb86f9d2 riemann-c-client-1.10.4.tar.gz -sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE +sha256 334874f0b9a507a8abbc7138df719cba4f28f12c02c39d5e55090b8edb86f9d2 riemann-c-client-1.10.4.tar.gz +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE diff --git a/package/rings/rings.hash b/package/rings/rings.hash index c9a758b54..f1377d5a9 100644 --- a/package/rings/rings.hash +++ b/package/rings/rings.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 627ac55d4a420fab766e6870fcd82cb39da12fb4ec8efddc7220b188a4ad4bc3 rings-1.3.0-1.src.rock -sha256 f582a0c43737391070827ef273df0145b594b095ad2f49595701368b729e024f rings-v_1_3_0/doc/us/license.html +sha256 627ac55d4a420fab766e6870fcd82cb39da12fb4ec8efddc7220b188a4ad4bc3 rings-1.3.0-1.src.rock +sha256 f582a0c43737391070827ef273df0145b594b095ad2f49595701368b729e024f rings-v_1_3_0/doc/us/license.html diff --git a/package/ripgrep/ripgrep.hash b/package/ripgrep/ripgrep.hash index cd2dbedfb..71e74e1bc 100644 --- a/package/ripgrep/ripgrep.hash +++ b/package/ripgrep/ripgrep.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 6f1d4a8b653ce48d59ad777288b1257cbda607db29db19d031b7e622c60526f8 ripgrep-af6b6c543b224d348a8876f0c06245d9ea7929c5.tar.gz -sha256 0f96a83840e146e43c0ec96a22ec1f392e0680e6c1226e6f3ba87e0740af850f LICENSE-MIT +sha256 6f1d4a8b653ce48d59ad777288b1257cbda607db29db19d031b7e622c60526f8 ripgrep-af6b6c543b224d348a8876f0c06245d9ea7929c5.tar.gz +sha256 0f96a83840e146e43c0ec96a22ec1f392e0680e6c1226e6f3ba87e0740af850f LICENSE-MIT diff --git a/package/rng-tools/0001-configure.ac-fix-build-without-sys-auxv.h.patch b/package/rng-tools/0001-configure.ac-fix-build-without-sys-auxv.h.patch new file mode 100644 index 000000000..0c15ab6b7 --- /dev/null +++ b/package/rng-tools/0001-configure.ac-fix-build-without-sys-auxv.h.patch @@ -0,0 +1,52 @@ +From 6ea89861c300a732d1bbcffd085d92f5c4c9228e Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 15 Aug 2022 11:57:21 +0200 +Subject: [PATCH] configure.ac: fix build without sys/auxv.h + +Fix the following build failure on aarch64 without sys/auxv.h (e.g. on +uclibc) raised since version 6.13 and +https://github.com/nhorman/rng-tools/commit/9070a04adfcd21ec3839ee8ff190e7130ccd5c9b: + +rngd_rndr.c:34:10: fatal error: sys/auxv.h: No such file or directory + 34 | #include + | ^~~~~~~~~~~~ + +The same issue could be raised on powerpc64le since version 6.11 and +https://github.com/nhorman/rng-tools/commit/ade348cdb90c25b44b203fd4e9c33ec4bccff323 + +Fixes: + - http://autobuild.buildroot.org/results/41d5ab9e67eb0d8af8d789fc94d4366f130a7fb2 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/nhorman/rng-tools/commit/6ea89861c300a732d1bbcffd085d92f5c4c9228e] +--- + configure.ac | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 0af64e7..411c7b8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -76,14 +76,17 @@ AC_PROG_GCC_TRADITIONAL + + AX_PTHREAD + ++dnl Checks for header files. ++AC_CHECK_HEADERS(sys/auxv.h) ++ + AM_CONDITIONAL([RDRAND], [test $host_cpu = x86_64 || test $host_cpu = i686]) + AS_IF([test $host_cpu = x86_64 || test $host_cpu = i686], [AC_DEFINE([HAVE_RDRAND],1,[Enable RDRAND])],[]) + +-AM_CONDITIONAL([DARN], [test $host_cpu = powerpc64le]) +-AS_IF([test $host_cpu = powerpc64le], [AC_DEFINE([HAVE_DARN],1,[Enable DARN])],[]) ++AM_CONDITIONAL([DARN], [test $host_cpu = powerpc64le -a "$ac_cv_header_sys_auxv_h" = "yes"]) ++AS_IF([test $host_cpu = powerpc64le -a "$ac_cv_header_sys_auxv_h" = "yes"], [AC_DEFINE([HAVE_DARN],1,[Enable DARN])],[]) + +-AM_CONDITIONAL([RNDR], [test $host_cpu = aarch64]) +-AS_IF([test $host_cpu = aarch64], [AC_DEFINE([HAVE_RNDR],1,[Enable RNDR])],[]) ++AM_CONDITIONAL([RNDR], [test $host_cpu = aarch64 -a "$ac_cv_header_sys_auxv_h" = "yes"]) ++AS_IF([test $host_cpu = aarch64 -a "$ac_cv_header_sys_auxv_h" = "yes"], [AC_DEFINE([HAVE_RNDR],1,[Enable RNDR])],[]) + AM_CONDITIONAL([JITTER], [false]) + + AC_ARG_ENABLE(jitterentropy, diff --git a/package/rockchip-mali/Config.in b/package/rockchip-mali/Config.in index 2a8cd786b..5a23954af 100644 --- a/package/rockchip-mali/Config.in +++ b/package/rockchip-mali/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_ROCKCHIP_MALI bool "rockchip-mali" + depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_ARM_EABIHF || BR2_aarch64 # lidbrm. This would normally need a Config.in comment, but @@ -14,7 +15,7 @@ config BR2_PACKAGE_ROCKCHIP_MALI select BR2_PACKAGE_MALI_DRIVER if BR2_LINUX_KERNEL help Install the binary user-space libraries for the ARM Mali GPU - suitable for Rockchip platforrms. This package requires a + suitable for Rockchip platforms. This package requires a kernel with the ARM Mali GPU kernel driver enabled, as found in the 'mali-driver' package. @@ -30,3 +31,8 @@ config BR2_PACKAGE_PROVIDES_LIBGBM default "rockchip-mali" endif + +comment "rockchip-mali needs a glibc toolchain w/ C++, threads" + depends on BR2_ARM_EABIHF || BR2_aarch64 + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_USES_GLIBC || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/rockchip-mali/rockchip-mali.hash b/package/rockchip-mali/rockchip-mali.hash index 38efcb307..446bf9ac6 100644 --- a/package/rockchip-mali/rockchip-mali.hash +++ b/package/rockchip-mali/rockchip-mali.hash @@ -1,2 +1,2 @@ -sha256 ee440d859e9d7dfdf29b9a00c7a633337913c407be567d3651c29c12eb75fd9c rockchip-mali-721653b5b3b525a4f80d15aa7e2f9df7b7e60427.tar.gz -sha256 a78acc73de9909efb879800d4daa4640c4aaa55cd751238a133954aba15e4285 END_USER_LICENCE_AGREEMENT.txt +sha256 ee440d859e9d7dfdf29b9a00c7a633337913c407be567d3651c29c12eb75fd9c rockchip-mali-721653b5b3b525a4f80d15aa7e2f9df7b7e60427.tar.gz +sha256 a78acc73de9909efb879800d4daa4640c4aaa55cd751238a133954aba15e4285 END_USER_LICENCE_AGREEMENT.txt diff --git a/package/rockchip-mali/rockchip-mali.mk b/package/rockchip-mali/rockchip-mali.mk index 6200191a7..5c8e55434 100644 --- a/package/rockchip-mali/rockchip-mali.mk +++ b/package/rockchip-mali/rockchip-mali.mk @@ -5,7 +5,7 @@ ################################################################################ ROCKCHIP_MALI_VERSION = 721653b5b3b525a4f80d15aa7e2f9df7b7e60427 -ROCKCHIP_MALI_SITE = $(call github,rockchip-linux,libmali,$(ROCKCHIP_MALI_VERSION)) +ROCKCHIP_MALI_SITE = $(call github,JeffyCN,mirrors,$(ROCKCHIP_MALI_VERSION)) ROCKCHIP_MALI_LICENSE = Proprietary ROCKCHIP_MALI_LICENSE_FILES = END_USER_LICENCE_AGREEMENT.txt ROCKCHIP_MALI_INSTALL_STAGING = YES @@ -14,7 +14,7 @@ ROCKCHIP_MALI_PROVIDES = libegl libgles libgbm ROCKCHIP_MALI_LIB = libmali-bifrost-g31-rxp0$(ROCKCHIP_MALI_SUFFIX).so ROCKCHIP_MALI_PKGCONFIG_FILES = egl gbm glesv2 mali -ROCKCHIP_MALI_ARCH_DIR = $(if $(BR2_arm),arm-linux-gnueabihf,aarch64-linux-gnu) +ROCKCHIP_MALI_ARCH_DIR = $(if $(BR2_arm)$(BR2_armeb),arm-linux-gnueabihf,aarch64-linux-gnu) ROCKCHIP_MALI_HEADERS = EGL FBDEV GLES GLES2 GLES3 KHR gbm.h # We need to create: diff --git a/package/rp-pppoe/Config.in b/package/rp-pppoe/Config.in index 2ac81cbb2..6ff005a1e 100644 --- a/package/rp-pppoe/Config.in +++ b/package/rp-pppoe/Config.in @@ -9,7 +9,7 @@ config BR2_PACKAGE_RP_PPPOE select BR2_PACKAGE_PPPD help An implementation of the Point-to-point protocol over - Ethernet. Has userspace client and server deamons. You + Ethernet. Has userspace client and server daemons. You likely only need this package if you are implementing the pppoe server that will service other pppoe client devices. Otherwise the normal client functionality already diff --git a/package/rpcbind/rpcbind.hash b/package/rpcbind/rpcbind.hash index 6ab7d8926..b5f117db5 100644 --- a/package/rpcbind/rpcbind.hash +++ b/package/rpcbind/rpcbind.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 5613746489cae5ae23a443bb85c05a11741a5f12c8f55d2bb5e83b9defeee8de rpcbind-1.2.6.tar.bz2 -sha256 2b9477d2f4ab277b29702958f0058546edc120aae4b5fb8b8d1a9652104e1ba3 COPYING +sha256 5613746489cae5ae23a443bb85c05a11741a5f12c8f55d2bb5e83b9defeee8de rpcbind-1.2.6.tar.bz2 +sha256 2b9477d2f4ab277b29702958f0058546edc120aae4b5fb8b8d1a9652104e1ba3 COPYING diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk index b46a7f527..d4d1d07b3 100644 --- a/package/rpi-firmware/rpi-firmware.mk +++ b/package/rpi-firmware/rpi-firmware.mk @@ -48,6 +48,7 @@ define RPI_FIRMWARE_INSTALL_DTB_OVERLAYS $(foreach ovldtb,$(wildcard $(@D)/boot/overlays/*.dtbo), \ $(INSTALL) -D -m 0644 $(ovldtb) $(BINARIES_DIR)/rpi-firmware/overlays/$(notdir $(ovldtb)) ) + $(INSTALL) -D -m 0644 $(@D)/boot/overlays/overlay_map.dtb $(BINARIES_DIR)/rpi-firmware/overlays/ endef else # Still create the directory, so a genimage.cfg can include it independently of diff --git a/package/rpi-userland/0006-interface-vcos-pthreads-CMakeLists.txt-fix-build-wit.patch b/package/rpi-userland/0006-interface-vcos-pthreads-CMakeLists.txt-fix-build-wit.patch new file mode 100644 index 000000000..6c596395f --- /dev/null +++ b/package/rpi-userland/0006-interface-vcos-pthreads-CMakeLists.txt-fix-build-wit.patch @@ -0,0 +1,45 @@ +From c8270cea98bcce0d22ddc8e2f86eae2c9989efd4 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 25 Feb 2022 19:21:06 +0100 +Subject: [PATCH] interface/vcos/pthreads/CMakeLists.txt: fix build with + libexecinfo + +interface/vcos/glibc/vcos_backtrace.c uses execinfo.h which can be +provided by libexecinfo on uclibc or musl so link with it if needed to +avoid the following build failure: + +/home/peko/autobuild/instance-1/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/10.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: ../../build/lib/libvcos.so: undefined reference to `backtrace_symbols' + +Fixes: + - http://autobuild.buildroot.org/results/93d3b8cc2ac5dfa9d4b44946c0b4d8171e8f52a1 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/raspberrypi/userland/pull/719] +--- + interface/vcos/pthreads/CMakeLists.txt | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/interface/vcos/pthreads/CMakeLists.txt b/interface/vcos/pthreads/CMakeLists.txt +index 1d81ca3..100207f 100644 +--- a/interface/vcos/pthreads/CMakeLists.txt ++++ b/interface/vcos/pthreads/CMakeLists.txt +@@ -33,12 +33,14 @@ set (SOURCES + ../generic/vcos_generic_blockpool.c + ) + ++find_library (EXECINFO_LIBRARY execinfo) ++ + if (VCOS_PTHREADS_BUILD_SHARED) + add_library (vcos SHARED ${SOURCES}) +- target_link_libraries (vcos pthread dl rt) ++ target_link_libraries (vcos pthread dl rt $<$:${EXECINFO_LIBRARY}>) + else () + add_library (vcos ${SOURCES}) +- target_link_libraries (vcos pthread rt) ++ target_link_libraries (vcos pthread rt $<$:${EXECINFO_LIBRARY}>) + endif () + + +-- +2.35.1 + diff --git a/package/rpi-userland/0007-GLES2-gl2ext.h-add-GLint64-GLuint64-and-GLsync-typed.patch b/package/rpi-userland/0007-GLES2-gl2ext.h-add-GLint64-GLuint64-and-GLsync-typed.patch new file mode 100644 index 000000000..6dca2e7b8 --- /dev/null +++ b/package/rpi-userland/0007-GLES2-gl2ext.h-add-GLint64-GLuint64-and-GLsync-typed.patch @@ -0,0 +1,99 @@ +From ffb8eafe2d745ddf2f44101ffc4e6599ed096e69 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Mon, 10 May 2021 19:15:48 +0200 +Subject: [PATCH] GLES2/gl2ext.h: add GLint64, GLuint64 and GLsync typedefs +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes: + +.../host/arm-linucleus-linux-gnueabihf/sysroot/usr/include/gstreamer-1.0/gst/gl/glprototypes/gstgl_compat.h:40:18: error: conflicting declaration ‘typedef void* GLsync’ + 40 | typedef gpointer GLsync; + | ^~~~~~ + +.../host/arm-linucleus-linux-gnueabihf/sysroot/usr/include/qt5/QtGui/qopengles2ext.h:24:26: note: previous declaration as ‘typedef struct __GLsync* GLsync’ + 24 | typedef struct __GLsync *GLsync; + | ^~~~~~ + +File gstgl_compat.h: + + 39 #if !GST_GL_HAVE_GLSYNC + 40 typedef gpointer GLsync; + 41 #endif + +File qopengles2ext.h: + + 1 #ifndef __gles2_gl2ext_h_ + 2 #define __gles2_gl2ext_h_ 1 + 3 + 4 #if 0 + 5 #pragma qt_no_master_include + 6 #pragma qt_sync_skip_header_check + 7 #pragma qt_sync_stop_processing + 8 #endif + 9 + 10 #ifdef __cplusplus + 11 extern "C" { + 12 #endif + 13 + 14 #ifndef __gl3_h_ + 15 /* These types are defined with reference to + 16 * in the Apple extension spec, but here we use the Khronos + 17 * portable types in khrplatform.h, and assume those types + 18 * are always defined. + 19 * If any other extensions using these types are defined, + 20 * the typedefs must move out of this block and be shared. + 21 */ + 22 typedef khronos_int64_t GLint64; + 23 typedef khronos_uint64_t GLuint64; + 24 typedef struct __GLsync *GLsync; + 25 #endif + +The problem is that rpi-userland doesn't define GLsync, and both +GStreamer and Qt have their own definition of GLsync in this case, but +they are not the same. + +We reported this issue to: + + * rpi-userland, to get the headers updated: + https://github.com/raspberrypi/userland/issues/469#issuecomment-1193864294 + + * gstreamer, to get their bogus definition of GLsync fixed: + https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/973 + +In the mean time, fix this by adding the missing definitions to +rpi-userland, so that GStreamer and Qt don't try to provide their own. + +Signed-off-by: Peter Seiderer +--- + interface/khronos/include/GLES2/gl2ext.h | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/interface/khronos/include/GLES2/gl2ext.h b/interface/khronos/include/GLES2/gl2ext.h +index 4eacf7f..96e87ec 100644 +--- a/interface/khronos/include/GLES2/gl2ext.h ++++ b/interface/khronos/include/GLES2/gl2ext.h +@@ -33,6 +33,19 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + extern "C" { + #endif + ++#ifndef __gl3_h_ ++/* These types are defined with reference to ++ * in the Apple extension spec, but here we use the Khronos ++ * portable types in khrplatform.h, and assume those types ++ * are always defined. ++ * If any other extensions using these types are defined, ++ * the typedefs must move out of this block and be shared. ++ */ ++typedef khronos_int64_t GLint64; ++typedef khronos_uint64_t GLuint64; ++typedef struct __GLsync *GLsync; ++#endif ++ + /* We want this */ + #ifndef GL_GLEXT_PROTOTYPES + #define GL_GLEXT_PROTOTYPES +-- +2.31.1 + diff --git a/package/rpi-userland/rpi-userland.mk b/package/rpi-userland/rpi-userland.mk index 84050b6df..2800b5629 100644 --- a/package/rpi-userland/rpi-userland.mk +++ b/package/rpi-userland/rpi-userland.mk @@ -13,6 +13,10 @@ RPI_USERLAND_CONF_OPTS = -DVMCS_INSTALL_PREFIX=/usr RPI_USERLAND_PROVIDES = libegl libgles libopenmax libopenvg +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +RPI_USERLAND_DEPENDENCIES += libexecinfo +endif + ifeq ($(BR2_PACKAGE_RPI_USERLAND_HELLO),y) RPI_USERLAND_CONF_OPTS += -DALL_APPS=ON @@ -21,6 +25,9 @@ define RPI_USERLAND_EXTRA_LIBS_TARGET $(INSTALL) -m 0644 -D \ $(@D)/build/lib/libilclient.so \ $(TARGET_DIR)/usr/lib/libilclient.so + $(INSTALL) -m 0644 -D \ + $(@D)/build/lib/librevision.so \ + $(TARGET_DIR)/usr/lib/librevision.so endef RPI_USERLAND_POST_INSTALL_TARGET_HOOKS += RPI_USERLAND_EXTRA_LIBS_TARGET @@ -28,6 +35,9 @@ define RPI_USERLAND_EXTRA_LIBS_STAGING $(INSTALL) -m 0644 -D \ $(@D)/build/lib/libilclient.so \ $(STAGING_DIR)/usr/lib/libilclient.so + $(INSTALL) -m 0644 -D \ + $(@D)/build/lib/librevision.so \ + $(STAGING_DIR)/usr/lib/librevision.so endef RPI_USERLAND_POST_INSTALL_STAGING_HOOKS += RPI_USERLAND_EXTRA_LIBS_STAGING diff --git a/package/rrdtool/rrdtool.hash b/package/rrdtool/rrdtool.hash index 6418c25a5..5266e5b7a 100644 --- a/package/rrdtool/rrdtool.hash +++ b/package/rrdtool/rrdtool.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 a199faeb7eff7cafc46fac253e682d833d08932f3db93a550a4a5af180ca58db rrdtool-1.7.2.tar.gz -sha256 ab6b4646e9e01f1ec287c29c351c886c4cb7f945c11efc0a1be9f6e5e6cc5320 COPYRIGHT -sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 LICENSE +sha256 a199faeb7eff7cafc46fac253e682d833d08932f3db93a550a4a5af180ca58db rrdtool-1.7.2.tar.gz +sha256 ab6b4646e9e01f1ec287c29c351c886c4cb7f945c11efc0a1be9f6e5e6cc5320 COPYRIGHT +sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 LICENSE diff --git a/package/rs485conf/rs485conf.hash b/package/rs485conf/rs485conf.hash index 315f90a37..d2fc19167 100644 --- a/package/rs485conf/rs485conf.hash +++ b/package/rs485conf/rs485conf.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 f163f81cd50aae6fa39cbb4f6408a3699da7a87a56649c4b96d6f168c9be6a7d rs485conf-5c8d00cf70950fab3454549b81dea843d844492a.tar.gz -sha256 3e5c80d50879a9572ac9e463215a942490a67b56dfd8a3e27004d7c62e0493c8 LICENSE +sha256 f163f81cd50aae6fa39cbb4f6408a3699da7a87a56649c4b96d6f168c9be6a7d rs485conf-5c8d00cf70950fab3454549b81dea843d844492a.tar.gz +sha256 3e5c80d50879a9572ac9e463215a942490a67b56dfd8a3e27004d7c62e0493c8 LICENSE diff --git a/package/rsync/0001-rsync-ssl-Verify-the-hostname-in-the-certificate-when-using-openssl.patch b/package/rsync/0001-rsync-ssl-Verify-the-hostname-in-the-certificate-when-using-openssl.patch deleted file mode 100644 index 13edeff94..000000000 --- a/package/rsync/0001-rsync-ssl-Verify-the-hostname-in-the-certificate-when-using-openssl.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c3f7414c450faaf6a8281cc4a4403529aeb7d859 Mon Sep 17 00:00:00 2001 -From: Matt McCutchen -Date: Wed, 26 Aug 2020 12:16:08 -0400 -Subject: [PATCH] rsync-ssl: Verify the hostname in the certificate when using - openssl. - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://git.samba.org/?p=rsync.git;a=commitdiff;h=c3f7414c450faaf6a8281cc4a4403529aeb7d859] ---- - rsync-ssl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/rsync-ssl b/rsync-ssl -index 8101975a..46701af1 100755 ---- a/rsync-ssl -+++ b/rsync-ssl -@@ -129,7 +129,7 @@ function rsync_ssl_helper { - fi - - if [[ $RSYNC_SSL_TYPE == openssl ]]; then -- exec $RSYNC_SSL_OPENSSL s_client $caopt $certopt -quiet -verify_quiet -servername $hostname -connect $hostname:$port -+ exec $RSYNC_SSL_OPENSSL s_client $caopt $certopt -quiet -verify_quiet -servername $hostname -verify_hostname $hostname -connect $hostname:$port - elif [[ $RSYNC_SSL_TYPE == gnutls ]]; then - exec $RSYNC_SSL_GNUTLS --logfile=/dev/null $gnutls_cert_opt $gnutls_opts $hostname:$port - else --- -2.25.1 - diff --git a/package/rsync/rsync.hash b/package/rsync/rsync.hash index 92f6156ba..f0ba4d321 100644 --- a/package/rsync/rsync.hash +++ b/package/rsync/rsync.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://download.samba.org/pub/rsync/src/rsync-3.2.3.tar.gz.asc -sha256 becc3c504ceea499f4167a260040ccf4d9f2ef9499ad5683c179a697146ce50e rsync-3.2.3.tar.gz +# https://download.samba.org/pub/rsync/src/rsync-3.2.5.tar.gz.asc +sha256 2ac4d21635cdf791867bc377c35ca6dda7f50d919a58be45057fd51600c69aba rsync-3.2.5.tar.gz # Locally calculated -sha256 0d33aa97d302cb9df27f99dfa28d58001c2479a02317956f1a7a890f3937a976 COPYING +sha256 85c19ea50a224c2d0067a69c083584e5717b40b76610ec1218f91385775067dd COPYING diff --git a/package/rsync/rsync.mk b/package/rsync/rsync.mk index 5b51ca1df..22584f603 100644 --- a/package/rsync/rsync.mk +++ b/package/rsync/rsync.mk @@ -4,25 +4,29 @@ # ################################################################################ -RSYNC_VERSION = 3.2.3 +RSYNC_VERSION = 3.2.5 RSYNC_SITE = http://rsync.samba.org/ftp/rsync/src RSYNC_LICENSE = GPL-3.0+ with exceptions RSYNC_LICENSE_FILES = COPYING RSYNC_CPE_ID_VENDOR = samba RSYNC_SELINUX_MODULES = rsync RSYNC_DEPENDENCIES = zlib popt +# We know that our C library is modern enough for C99 vsnprintf(). Since +# configure can't detect this, we tell configure that vsnprintf() is safe. +RSYNC_CONF_ENV = rsync_cv_HAVE_C99_VSNPRINTF=yes RSYNC_CONF_OPTS = \ --with-included-zlib=no \ --with-included-popt=no \ - --disable-simd \ + --disable-roll-simd \ --disable-openssl \ --disable-xxhash \ --disable-zstd \ --disable-lz4 \ - --disable-asm + --disable-md5-asm -# 0001-rsync-ssl-Verify-the-hostname-in-the-certificate-when-using-openssl.patch -RSYNC_IGNORE_CVES += CVE-2020-14387 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +RSYNC_CONF_ENV += LIBS=-latomic +endif ifeq ($(BR2_PACKAGE_ACL),y) RSYNC_DEPENDENCIES += acl diff --git a/package/rsyslog/Config.in b/package/rsyslog/Config.in index 8c024e69c..3ba326191 100644 --- a/package/rsyslog/Config.in +++ b/package/rsyslog/Config.in @@ -8,6 +8,7 @@ config BR2_PACKAGE_RSYSLOG # even though rsyslog already depends on threads for itself: depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_THREADS depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS + select BR2_PACKAGE_APR_UTIL if BR2_PACKAGE_CIVETWEB_LIB select BR2_PACKAGE_ZLIB select BR2_PACKAGE_LIBESTR select BR2_PACKAGE_LIBLOGGING diff --git a/package/rsyslog/rsyslog.hash b/package/rsyslog/rsyslog.hash index f40409843..4049590bb 100644 --- a/package/rsyslog/rsyslog.hash +++ b/package/rsyslog/rsyslog.hash @@ -1,5 +1,5 @@ # From http://www.rsyslog.com/downloads/download-v8-stable/ -sha256 19b232f765c4ba7a35b91ef1f5f9af775f6ff78ef56bb7737a2ce79ccbb32b98 rsyslog-8.2010.0.tar.gz +sha256 a6d731e46ad3d64f6ad4b19bbf1bf56ca4760a44a24bb96823189dc2e71f7028 rsyslog-8.2204.1.tar.gz # Locally calculated sha256 054b3a047d9232376a46b87356b19b0c0c2924cb5e6911ab96a01fc4b515f083 COPYING diff --git a/package/rsyslog/rsyslog.mk b/package/rsyslog/rsyslog.mk index afd1a5557..84fd2d2e5 100644 --- a/package/rsyslog/rsyslog.mk +++ b/package/rsyslog/rsyslog.mk @@ -4,7 +4,7 @@ # ################################################################################ -RSYSLOG_VERSION = 8.2010.0 +RSYSLOG_VERSION = 8.2204.1 RSYSLOG_SITE = http://rsyslog.com/files/download/rsyslog RSYSLOG_LICENSE = GPL-3.0, LGPL-3.0, Apache-2.0 RSYSLOG_LICENSE_FILES = COPYING COPYING.LESSER COPYING.ASL20 @@ -53,12 +53,19 @@ RSYSLOG_CONF_OPTS += \ endif ifeq ($(BR2_PACKAGE_CIVETWEB_LIB),y) -RSYSLOG_DEPENDENCIES += civetweb +RSYSLOG_DEPENDENCIES += apr-util civetweb RSYSLOG_CONF_OPTS += --enable-imhttp else RSYSLOG_CONF_OPTS += --disable-imhttp endif +ifeq ($(BR2_PACKAGE_CZMQ),y) +RSYSLOG_DEPENDENCIES += czmq +RSYSLOG_CONF_OPTS += --enable-imczmq --enable-omczmq +else +RSYSLOG_CONF_OPTS += --disable-imczmq --disable-omczmq +endif + ifeq ($(BR2_PACKAGE_GNUTLS),y) RSYSLOG_DEPENDENCIES += gnutls RSYSLOG_CONF_OPTS += --enable-gnutls @@ -66,8 +73,11 @@ else RSYSLOG_CONF_OPTS += --disable-gnutls endif -ifeq ($(BR2_PACKAGE_LIBEE),y) -RSYSLOG_DEPENDENCIES += libee +ifeq ($(BR2_PACKAGE_HIREDIS),y) +RSYSLOG_DEPENDENCIES += hiredis +RSYSLOG_CONF_OPTS += --enable-omhiredis +else +RSYSLOG_CONF_OPTS += --disable-omhiredis endif ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) @@ -78,6 +88,13 @@ else RSYSLOG_CONF_OPTS += --disable-libgcrypt endif +ifeq ($(BR2_PACKAGE_LIBMAXMINDDB),y) +RSYSLOG_DEPENDENCIES += libmaxminddb +RSYSLOG_CONF_OPTS += --enable-mmdblookup +else +RSYSLOG_CONF_OPTS += --disable-mmdblookup +endif + ifeq ($(BR2_PACKAGE_LIBPCAP),y) RSYSLOG_DEPENDENCIES += libpcap RSYSLOG_CONF_OPTS += --enable-impcap @@ -101,6 +118,20 @@ else RSYSLOG_CONF_OPTS += --disable-pgsql endif +ifeq ($(BR2_PACKAGE_QPID_PROTON),y) +RSYSLOG_DEPENDENCIES += qpid-proton +RSYSLOG_CONF_OPTS += --enable-omamqp1 +else +RSYSLOG_CONF_OPTS += --disable-omamqp1 +endif + +ifeq ($(BR2_PACKAGE_RABBITMQ_C),y) +RSYSLOG_DEPENDENCIES += rabbitmq-c +RSYSLOG_CONF_OPTS += --enable-omrabbitmq +else +RSYSLOG_CONF_OPTS += --disable-omrabbitmq +endif + ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y) RSYSLOG_DEPENDENCIES += util-linux RSYSLOG_CONF_OPTS += --enable-uuid @@ -121,7 +152,7 @@ RSYSLOG_CONF_OPTS += \ endif define RSYSLOG_INSTALL_INIT_SYSTEMD - $(INSTALL) -m 0755 -D package/rsyslog/rsyslog.service \ + $(INSTALL) -m 0644 -D package/rsyslog/rsyslog.service \ $(TARGET_DIR)/usr/lib/systemd/system/rsyslog.service endef diff --git a/package/rt-tests/Config.in b/package/rt-tests/Config.in index 47fa7cd84..ccfa040d7 100644 --- a/package/rt-tests/Config.in +++ b/package/rt-tests/Config.in @@ -1,5 +1,7 @@ config BR2_PACKAGE_RT_TESTS bool "rt-tests" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # __sync_*_4 intrisics + depends on BR2_TOOLCHAIN_HAS_ATOMIC # numactl depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 depends on BR2_USE_MMU # fork(), numactl @@ -30,6 +32,8 @@ comment "rt-tests may not work on MIPS with an external uClibc toolchain" depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el comment "rt-tests needs a uClibc or glibc toolchain w/ NPTL, headers >= 4.5, dynamic library" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \ || BR2_TOOLCHAIN_USES_MUSL || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 depends on BR2_USE_MMU diff --git a/package/rt-tests/rt-tests.hash b/package/rt-tests/rt-tests.hash index 4f84e0d0c..3adda60f4 100644 --- a/package/rt-tests/rt-tests.hash +++ b/package/rt-tests/rt-tests.hash @@ -1,4 +1,4 @@ # From https://mirrors.edge.kernel.org/pub/linux/utils/rt-tests/sha256sums.asc -sha256 b5e7959bcb5c703b2743030751af975ea4e04962e29fc1118f4b605987585735 rt-tests-2.3.tar.xz +sha256 b5e7959bcb5c703b2743030751af975ea4e04962e29fc1118f4b605987585735 rt-tests-2.3.tar.xz # locally computed hash -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/rtai/rtai.hash b/package/rtai/rtai.hash index f0afafbd7..b352069ec 100644 --- a/package/rtai/rtai.hash +++ b/package/rtai/rtai.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 13669da744a0ba411bdb8e47fa47b6e19171646ae42c8dbb2735d12e555fb1a3 rtai-4.0.1.tar.bz2 +sha256 13669da744a0ba411bdb8e47fa47b6e19171646ae42c8dbb2735d12e555fb1a3 rtai-4.0.1.tar.bz2 diff --git a/package/rtc-tools/rtc-tools.mk b/package/rtc-tools/rtc-tools.mk index 2ef850a81..2882c8857 100644 --- a/package/rtc-tools/rtc-tools.mk +++ b/package/rtc-tools/rtc-tools.mk @@ -5,7 +5,8 @@ ################################################################################ RTC_TOOLS_VERSION = 33ef4aa1c92b0c92a351284d93d1ac5570de9cc7 -RTC_TOOLS_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/rtc-tools.git +RTC_TOOLS_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/abelloni/rtc-tools.git +RTC_TOOLS_SITE_METHOD = git RTC_TOOLS_LICENSE = GPL-2.0 RTC_TOOLS_LICENSE_FILES = COPYING diff --git a/package/rtl8188eu/Config.in b/package/rtl8188eu/Config.in index 9263802e0..76d908529 100644 --- a/package/rtl8188eu/Config.in +++ b/package/rtl8188eu/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_RTL8188EU bool "rtl8188eu" + depends on !BR2_s390x depends on BR2_LINUX_KERNEL help A standalone driver for the RTL8188EU USB Wi-Fi adapter. @@ -16,4 +17,5 @@ config BR2_PACKAGE_RTL8188EU https://github.com/lwfinger/rtl8188eu comment "rtl8188eu needs a Linux kernel to be built" + depends on !BR2_s390x depends on !BR2_LINUX_KERNEL diff --git a/package/rtl8188eu/rtl8188eu.mk b/package/rtl8188eu/rtl8188eu.mk index b2066080f..8cc863e95 100644 --- a/package/rtl8188eu/rtl8188eu.mk +++ b/package/rtl8188eu/rtl8188eu.mk @@ -10,6 +10,14 @@ RTL8188EU_LICENSE = GPL-2.0, proprietary (rtl8188eufw.bin firmware blob) RTL8188EU_LICENSE_FILES = COPYING RTL8188EU_MODULE_MAKE_OPTS = CONFIG_RTL8188EU=m +define RTL8188EU_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_NET) + $(call KCONFIG_ENABLE_OPT,CONFIG_WIRELESS) + $(call KCONFIG_ENABLE_OPT,CONFIG_CFG80211) + $(call KCONFIG_ENABLE_OPT,CONFIG_USB_SUPPORT) + $(call KCONFIG_ENABLE_OPT,CONFIG_USB) +endef + define RTL8188EU_INSTALL_FIRMWARE $(INSTALL) -D -m 644 $(@D)/rtl8188eufw.bin \ $(TARGET_DIR)/lib/firmware/rtlwifi/rtl8188eufw.bin diff --git a/package/rtl8189es/0001-Makefile-move-EXTRA_CFLAGS-USER_EXTRA_CFLAGS-at-the-.patch b/package/rtl8189es/0001-Makefile-move-EXTRA_CFLAGS-USER_EXTRA_CFLAGS-at-the-.patch new file mode 100644 index 000000000..dc4deff9f --- /dev/null +++ b/package/rtl8189es/0001-Makefile-move-EXTRA_CFLAGS-USER_EXTRA_CFLAGS-at-the-.patch @@ -0,0 +1,40 @@ +From 4a555ffb77a5947814b6c7f330968318e265c496 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Wed, 28 Sep 2022 21:17:17 +0200 +Subject: [PATCH] Makefile: move 'EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS)' at the + end of EXTRA_FLAGS assignment + +At the moment USER_EXTRA_CFLAGS can't override local Makfile EXTRA_CFLAGS +since it's assigned at the beginning of the Makefile. For example it's not +possible to undefine the hardcoded CONFIG_LITTLE_ENDIAN and this doesn't +allow to build these modules for big endian architectures. So let's move +the assignment of USER_EXTRA_CFLAGS to EXTRA_CFLAGS after the last +EXTRA_CFLAGS assignment. + +Signed-off-by: Giulio Benetti +[Upstream status: https://github.com/jwrdegoede/rtl8189ES_linux/pull/83] +--- + Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 8fcb7bd..e4664e9 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,4 +1,3 @@ +-EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS) + EXTRA_CFLAGS += -O1 + #EXTRA_CFLAGS += -O3 + #EXTRA_CFLAGS += -Wall +@@ -2239,6 +2238,8 @@ ifneq ($(USER_MODULE_NAME),) + MODULE_NAME := $(USER_MODULE_NAME) + endif + ++EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS) ++ + ifneq ($(KERNELRELEASE),) + + ########### this part for *.mk ############################ +-- +2.34.1 + diff --git a/package/rtl8189es/Config.in b/package/rtl8189es/Config.in index 2e3474e5e..11dd22543 100644 --- a/package/rtl8189es/Config.in +++ b/package/rtl8189es/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_RTL8189ES bool "rtl8189es" + depends on !BR2_s390x depends on BR2_LINUX_KERNEL help Wireless driver rtl8189es. @@ -7,4 +8,5 @@ config BR2_PACKAGE_RTL8189ES https://github.com/jwrdegoede/rtl8189ES_linux.git comment "rtl8189es needs a Linux kernel to be built" + depends on !BR2_s390x depends on !BR2_LINUX_KERNEL diff --git a/package/rtl8189es/rtl8189es.hash b/package/rtl8189es/rtl8189es.hash index 624c51ac0..d897e5e6c 100644 --- a/package/rtl8189es/rtl8189es.hash +++ b/package/rtl8189es/rtl8189es.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 bf972b6494844c66885dc6846228994fac6075477cf9a7122ffd521e25ac791c rtl8189es-2c8d44ae26485052f39d933a3a132b3ff395803a.tar.gz +sha256 74325014c1a8503b3a7e48ad06997baddad8c1dae86bb79f4368532cc3e75fb2 rtl8189es-39c17661136da48f8e9c644194dce6a7f5076896.tar.gz diff --git a/package/rtl8189es/rtl8189es.mk b/package/rtl8189es/rtl8189es.mk index 9e4053ae8..cddcb195f 100644 --- a/package/rtl8189es/rtl8189es.mk +++ b/package/rtl8189es/rtl8189es.mk @@ -4,14 +4,27 @@ # ################################################################################ -RTL8189ES_VERSION = 2c8d44ae26485052f39d933a3a132b3ff395803a +RTL8189ES_VERSION = 39c17661136da48f8e9c644194dce6a7f5076896 RTL8189ES_SITE = $(call github,jwrdegoede,rtl8189ES_linux,$(RTL8189ES_VERSION)) RTL8189ES_LICENSE = GPL-2.0 +# Undefine the hardcoded CONFIG_LITTLE_ENDIAN +RTL8189ES_USER_EXTRA_CLAGS = -UCONFIG_LITTLE_ENDIAN +# Set endianness +RTL8189ES_USER_EXTRA_CLAGS += -DCONFIG_$(call qstrip,$(BR2_ENDIAN))_ENDIAN + RTL8189ES_MODULE_MAKE_OPTS = \ CONFIG_RTL8189ES=m \ KVER=$(LINUX_VERSION_PROBED) \ - KSRC=$(LINUX_DIR) + KSRC=$(LINUX_DIR) \ + USER_EXTRA_CFLAGS="$(RTL8189ES_USER_EXTRA_CLAGS)" + +define RTL8189ES_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_NET) + $(call KCONFIG_ENABLE_OPT,CONFIG_WIRELESS) + $(call KCONFIG_ENABLE_OPT,CONFIG_CFG80211) + $(call KCONFIG_ENABLE_OPT,CONFIG_MMC) +endef $(eval $(kernel-module)) $(eval $(generic-package)) diff --git a/package/rtl8189fs/0001-Makefile-remove-default-endianness.patch b/package/rtl8189fs/0001-Makefile-remove-default-endianness.patch new file mode 100644 index 000000000..47e42415e --- /dev/null +++ b/package/rtl8189fs/0001-Makefile-remove-default-endianness.patch @@ -0,0 +1,30 @@ +From 480d9da302885d9e8b3d1f9c68def569e3c8a8c0 Mon Sep 17 00:00:00 2001 +From: Sergey Matyukevich +Date: Mon, 9 May 2022 00:17:21 +0300 +Subject: [PATCH] Makefile: remove default endianness + +There is no way to remove configuration options from EXTRA_CFLAGS +without editing Makefile. So default LE configuration can not be +conveniently replaced by BE. Remove default endianness from the +Makefile to enable its configuration via USER_EXTRA_CFLAGS. + +Signed-off-by: Sergey Matyukevich +--- + Makefile | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Makefile b/Makefile +index dfca305..fde4e6b 100644 +--- a/Makefile ++++ b/Makefile +@@ -22,7 +22,6 @@ endif + + EXTRA_CFLAGS += -I$(src)/include + +-EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN + EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT + + EXTRA_LDFLAGS += --strip-debug +-- +2.35.1 + diff --git a/package/rtl8189fs/0001-include-disable-debug-messages.patch b/package/rtl8189fs/0001-include-disable-debug-messages.patch deleted file mode 100644 index 532982b1d..000000000 --- a/package/rtl8189fs/0001-include-disable-debug-messages.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 5d3a44ff1aeb8ace6e08df3cad16102aaac1ef09 Mon Sep 17 00:00:00 2001 -From: Sergey Matyukevich -Date: Sun, 13 Jun 2021 15:51:51 +0300 -Subject: [PATCH] include: disable debug messages - -Disable debug messages to make rtl8189fs driver less noisy. - -Signed-off-by: Sergey Matyukevich ---- - include/autoconf.h | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/include/autoconf.h b/include/autoconf.h -index 44efe42..b5df57b 100644 ---- a/include/autoconf.h -+++ b/include/autoconf.h -@@ -224,8 +224,6 @@ - /* - * Debug Related Config - */ --#define CONFIG_DEBUG /* DBG_871X, etc... */ -- - #ifdef CONFIG_DEBUG - #define DBG 1 // for ODM & BTCOEX debug - //#define CONFIG_DEBUG_RTL871X /* RT_TRACE, RT_PRINT_DATA, _func_enter_, _func_exit_ */ --- -2.32.0 - diff --git a/package/rtl8189fs/Config.in b/package/rtl8189fs/Config.in index ae69b7923..78eeed1a4 100644 --- a/package/rtl8189fs/Config.in +++ b/package/rtl8189fs/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_RTL8189FS bool "rtl8189fs" + depends on !BR2_s390x depends on BR2_LINUX_KERNEL help Wireless driver rtl8189fs. @@ -7,4 +8,5 @@ config BR2_PACKAGE_RTL8189FS https://github.com/jwrdegoede/rtl8189ES_linux.git comment "rtl8189fs needs a Linux kernel to be built" + depends on !BR2_s390x depends on !BR2_LINUX_KERNEL diff --git a/package/rtl8189fs/rtl8189fs.hash b/package/rtl8189fs/rtl8189fs.hash index a7c364184..d5d18a8ba 100644 --- a/package/rtl8189fs/rtl8189fs.hash +++ b/package/rtl8189fs/rtl8189fs.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 2350a15f866ac82a33c11f9505f2deb0f4aa819b9ac1f4809f8d6893412e73fd rtl8189fs-e10294d2ded27586149fedee1f834d75477b8b40.tar.gz +sha256 41eee18d8a4289c2eac07af3224c62214a9b694a717bf497cd34a95b955f3d49 rtl8189fs-94a61cbf46ce87b7c9b8aa53123aeb142133a3c9.tar.gz diff --git a/package/rtl8189fs/rtl8189fs.mk b/package/rtl8189fs/rtl8189fs.mk index 83c7f3ee0..1c398919b 100644 --- a/package/rtl8189fs/rtl8189fs.mk +++ b/package/rtl8189fs/rtl8189fs.mk @@ -4,14 +4,22 @@ # ################################################################################ -RTL8189FS_VERSION = e10294d2ded27586149fedee1f834d75477b8b40 +RTL8189FS_VERSION = 94a61cbf46ce87b7c9b8aa53123aeb142133a3c9 RTL8189FS_SITE = $(call github,jwrdegoede,rtl8189ES_linux,$(RTL8189FS_VERSION)) RTL8189FS_LICENSE = GPL-2.0 RTL8189FS_MODULE_MAKE_OPTS = \ CONFIG_RTL8189FS=m \ KVER=$(LINUX_VERSION_PROBED) \ - KSRC=$(LINUX_DIR) + KSRC=$(LINUX_DIR) \ + USER_EXTRA_CFLAGS="-DCONFIG_$(call qstrip,$(BR2_ENDIAN))_ENDIAN" + +define RTL8189FS_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_WIRELESS) + $(call KCONFIG_ENABLE_OPT,CONFIG_CFG80211) + $(call KCONFIG_ENABLE_OPT,CONFIG_MAC80211) + $(call KCONFIG_ENABLE_OPT,CONFIG_MMC) +endef $(eval $(kernel-module)) $(eval $(generic-package)) diff --git a/package/rtl8723bu/0001-Fix-build-failure-on-PowerPc-architecture.patch b/package/rtl8723bu/0001-Fix-build-failure-on-PowerPc-architecture.patch new file mode 100644 index 000000000..06cf2d64c --- /dev/null +++ b/package/rtl8723bu/0001-Fix-build-failure-on-PowerPc-architecture.patch @@ -0,0 +1,47 @@ +From dde7bddfddddb7212f2d9671391e2096d770c449 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Sun, 23 Oct 2022 22:57:41 +0200 +Subject: [PATCH] Fix build failure on PowerPc architecture + +In PowerPc Linux only get_ra() exists[0] and conflicts with local get_ra() +that has a completely different purpose. So let's rename local get_ra() +to wifi_get_ra() to make it different from Linux's get_ra(). + +[0]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/powerpc/include/asm/disassemble.h#n49 + +Upstream: https://github.com/lwfinger/rtl8723bu/pull/192 +Signed-off-by: Giulio Benetti +--- + hal/rtl8723bu_recv.c | 2 +- + include/wifi.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/hal/rtl8723bu_recv.c b/hal/rtl8723bu_recv.c +index a2fc82b..39e5044 100644 +--- a/hal/rtl8723bu_recv.c ++++ b/hal/rtl8723bu_recv.c +@@ -288,7 +288,7 @@ void update_recvframe_phyinfo( + !pattrib->icv_err && !pattrib->crc_err && + _rtw_memcmp(get_hdr_bssid(wlanhdr), get_bssid(&padapter->mlmepriv), ETH_ALEN)); + +- pkt_info.bPacketToSelf = pkt_info.bPacketMatchBSSID && (_rtw_memcmp(get_ra(wlanhdr), myid(&padapter->eeprompriv), ETH_ALEN)); ++ pkt_info.bPacketToSelf = pkt_info.bPacketMatchBSSID && (_rtw_memcmp(wifi_get_ra(wlanhdr), myid(&padapter->eeprompriv), ETH_ALEN)); + + pkt_info.bPacketBeacon = pkt_info.bPacketMatchBSSID && (GetFrameSubType(wlanhdr) == WIFI_BEACON); + sa = get_ta(wlanhdr); +diff --git a/include/wifi.h b/include/wifi.h +index 5dc32eb..23578cc 100644 +--- a/include/wifi.h ++++ b/include/wifi.h +@@ -373,7 +373,7 @@ __inline static int IS_MCAST(unsigned char *da) + return _FALSE; + } + +-__inline static unsigned char * get_ra(unsigned char *pframe) ++__inline static unsigned char * wifi_get_ra(unsigned char *pframe) + { + unsigned char *ra; + ra = GetAddr1Ptr(pframe); +-- +2.34.1 + diff --git a/package/rtl8723bu/Config.in b/package/rtl8723bu/Config.in index 266a794a7..7c624fc4d 100644 --- a/package/rtl8723bu/Config.in +++ b/package/rtl8723bu/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_RTL8723BU bool "rtl8723bu" + depends on !BR2_s390x depends on BR2_LINUX_KERNEL help rtl8723bu wifi driver @@ -7,4 +8,5 @@ config BR2_PACKAGE_RTL8723BU https://github.com/lwfinger/rtl8723bu comment "rtl8723bu needs a Linux kernel to be built" + depends on !BR2_s390x depends on !BR2_LINUX_KERNEL diff --git a/package/rtl8723bu/rtl8723bu.hash b/package/rtl8723bu/rtl8723bu.hash index 1dad7154b..9119abad7 100644 --- a/package/rtl8723bu/rtl8723bu.hash +++ b/package/rtl8723bu/rtl8723bu.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 1cd658742ce10b21c92877e09cecc98880680d5f150de3845553005abc542977 rtl8723bu-19b4bdc05483a1e79a4f955a80f8f72cdd5dedc3.tar.gz +sha256 07fece152704f4b5dbd0fd3af842816f95824317f3158fea774f15a6eddac009 rtl8723bu-d79a676a8d3f0bb6ac8af126689c6ac6869cb6f2.tar.gz diff --git a/package/rtl8723bu/rtl8723bu.mk b/package/rtl8723bu/rtl8723bu.mk index 838bbedb7..82c487b4e 100644 --- a/package/rtl8723bu/rtl8723bu.mk +++ b/package/rtl8723bu/rtl8723bu.mk @@ -4,7 +4,7 @@ # ################################################################################ -RTL8723BU_VERSION = 19b4bdc05483a1e79a4f955a80f8f72cdd5dedc3 +RTL8723BU_VERSION = d79a676a8d3f0bb6ac8af126689c6ac6869cb6f2 RTL8723BU_SITE = $(call github,lwfinger,rtl8723bu,$(RTL8723BU_VERSION)) RTL8723BU_LICENSE = GPL-2.0, proprietary (*.bin firmware blobs) @@ -12,6 +12,14 @@ RTL8723BU_MODULE_MAKE_OPTS = \ KVER=$(LINUX_VERSION_PROBED) \ KSRC=$(LINUX_DIR) +define RTL8723BU_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_NET) + $(call KCONFIG_ENABLE_OPT,CONFIG_WIRELESS) + $(call KCONFIG_ENABLE_OPT,CONFIG_CFG80211) + $(call KCONFIG_ENABLE_OPT,CONFIG_USB_SUPPORT) + $(call KCONFIG_ENABLE_OPT,CONFIG_USB) +endef + define RTL8723BU_INSTALL_TARGET_CMDS $(INSTALL) -D -m 644 $(@D)/rtl8723b_fw.bin $(TARGET_DIR)/lib/firmware/rtl_bt/rtl8723b_fw.bin endef diff --git a/package/rtl8812au-aircrack-ng/Config.in b/package/rtl8812au-aircrack-ng/Config.in index 70cbd1522..d903ab2b3 100644 --- a/package/rtl8812au-aircrack-ng/Config.in +++ b/package/rtl8812au-aircrack-ng/Config.in @@ -1,8 +1,10 @@ comment "rtl8812au-aircrack-ng needs a Linux kernel to be built" + depends on !BR2_s390x depends on !BR2_LINUX_KERNEL config BR2_PACKAGE_RTL8812AU_AIRCRACK_NG bool "rtl8812au-aircrack-ng" + depends on !BR2_s390x depends on BR2_LINUX_KERNEL help rtl8812au wifi driver (aircrack-ng repository) diff --git a/package/rtl8821au/Config.in b/package/rtl8821au/Config.in index 87c191b22..3d7bbf643 100644 --- a/package/rtl8821au/Config.in +++ b/package/rtl8821au/Config.in @@ -1,8 +1,10 @@ comment "rtl8821au needs a Linux kernel to be built" + depends on !BR2_s390x depends on !BR2_LINUX_KERNEL config BR2_PACKAGE_RTL8821AU bool "rtl8821au" + depends on !BR2_s390x depends on BR2_LINUX_KERNEL help rtl8821au wifi driver diff --git a/package/rtl_433/0001-CMakeLists.txt-use-pkg-config-to-detect-openssl-when.patch b/package/rtl_433/0001-CMakeLists.txt-use-pkg-config-to-detect-openssl-when.patch new file mode 100644 index 000000000..00858c8ff --- /dev/null +++ b/package/rtl_433/0001-CMakeLists.txt-use-pkg-config-to-detect-openssl-when.patch @@ -0,0 +1,42 @@ +From b860de9e207d8fe2ea37dad28fdd014493d87703 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 27 Dec 2022 16:29:16 +0100 +Subject: [PATCH] build: Fix CMake to use pkg-config openssl when possible + (#2290) + +In order to take into account the libraries used by openssl when +building statically, using pkg-config is recommended. This patch +therefore improves the CMakeLists.txt to use pkg-config to detect +openssl when pkg-config is available. This will avoid +static build failure when openssl needs to link with -latomic. + +Fixes: + - http://autobuild.buildroot.org/results/417c86963ffe038aa052ea3cf19fd52c3e9b7396 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/merbanan/rtl_433/commit/b860de9e207d8fe2ea37dad28fdd014493d87703] +--- + CMakeLists.txt | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d47a3eda2..cf30d8be2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -175,7 +175,14 @@ set(ENABLE_OPENSSL AUTO CACHE STRING "Enable OpenSSL TLS support") + set_property(CACHE ENABLE_OPENSSL PROPERTY STRINGS AUTO ON OFF) + if(ENABLE_OPENSSL) # AUTO / ON + +-find_package(OpenSSL) ++find_package(PkgConfig) ++if(PKG_CONFIG_FOUND) ++ pkg_check_modules(OPENSSL openssl) ++ set(OPENSSL_LIBRARIES ${OPENSSL_LINK_LIBRARIES}) ++ set(OPENSSL_INCLUDE_DIR ${OPENSSL_INCLUDE_DIRS}) ++else() ++ find_package(OpenSSL) ++endif() + if(OPENSSL_FOUND) + message(STATUS "OpenSSL TLS support will be compiled. Found version ${OPENSSL_VERSION}") + include_directories(${OPENSSL_INCLUDE_DIR}) diff --git a/package/rtl_433/0003-minor-Fix-overflow-in-Clipsal-CMR113-and-Somfy-IOHC.patch b/package/rtl_433/0003-minor-Fix-overflow-in-Clipsal-CMR113-and-Somfy-IOHC.patch new file mode 100644 index 000000000..e2088b29e --- /dev/null +++ b/package/rtl_433/0003-minor-Fix-overflow-in-Clipsal-CMR113-and-Somfy-IOHC.patch @@ -0,0 +1,58 @@ +From 2dad7b9fc67a1d0bfbe520fbd821678b8f8cc7a8 Mon Sep 17 00:00:00 2001 +From: "Christian W. Zuckschwerdt" +Date: Mon, 24 Jan 2022 15:53:20 +0100 +Subject: [PATCH] minor: Fix overflow in Clipsal-CMR113 and Somfy-IOHC reported + by aug5t7 + +[Retrieved from: +https://github.com/merbanan/rtl_433/commit/2dad7b9fc67a1d0bfbe520fbd821678b8f8cc7a8] +Signed-off-by: Fabrice Fontaine +--- + src/devices/cmr113.c | 4 ++-- + src/devices/somfy_iohc.c | 9 +++++---- + 2 files changed, 7 insertions(+), 6 deletions(-) + +diff --git a/src/devices/cmr113.c b/src/devices/cmr113.c +index c85dfac56..19ec5d421 100644 +--- a/src/devices/cmr113.c ++++ b/src/devices/cmr113.c +@@ -42,8 +42,8 @@ Kudos to Jon Oxer for decoding this stream and putting it here: + + */ + +-#define COMPARE_BITS 83 +-#define COMPARE_BYTES (COMPARE_BITS/8) ++#define COMPARE_BITS 83 ++#define COMPARE_BYTES ((COMPARE_BITS + 7) / 8) + + static int cmr113_decode(r_device *decoder, bitbuffer_t *bitbuffer) + { +diff --git a/src/devices/somfy_iohc.c b/src/devices/somfy_iohc.c +index 906cae53e..2c88067b5 100644 +--- a/src/devices/somfy_iohc.c ++++ b/src/devices/somfy_iohc.c +@@ -100,11 +100,12 @@ static int somfy_iohc_decode(r_device *decoder, bitbuffer_t *bitbuffer) + if (bitbuffer->num_rows != 1) + return DECODE_ABORT_EARLY; + +- int offset = bitbuffer_search(bitbuffer, 0, 0, preamble_pattern, 24) + 24; +- if (offset >= bitbuffer->bits_per_row[0] - 19 * 10) ++ unsigned offset = bitbuffer_search(bitbuffer, 0, 0, preamble_pattern, 24) + 24; ++ if (offset + 19 * 10 >= bitbuffer->bits_per_row[0]) + return DECODE_ABORT_EARLY; + +- int num_bits = bitbuffer->bits_per_row[0] - offset; ++ unsigned num_bits = bitbuffer->bits_per_row[0] - offset; ++ num_bits = MIN(num_bits, sizeof (b) * 8); + + int len = extract_bytes_uart(bitbuffer->bb[0], offset, num_bits, b); + if (len < 19) +@@ -120,7 +121,7 @@ static int somfy_iohc_decode(r_device *decoder, bitbuffer_t *bitbuffer) + // calculate and verify checksum + if (crc16lsb(b, len, 0x8408, 0x0000) != 0) // unreflected poly 0x1021 + return DECODE_FAIL_MIC; +- bitrow_printf(b, len * 8, "%s: offset %d, num_bits %d, len %d, msg_len %d\n", __func__, offset, num_bits, len, msg_len); ++ bitrow_printf(b, len * 8, "%s: offset %u, num_bits %u, len %d, msg_len %d\n", __func__, offset, num_bits, len, msg_len); + + int msg_type = (b[0]); + int dst_id = ((unsigned)b[4] << 24) | (b[3] << 16) | (b[2] << 8) | (b[1]); // assume Little-Endian diff --git a/package/rtl_433/0004-Fix-overflow-in-Acurite-00275rm.patch b/package/rtl_433/0004-Fix-overflow-in-Acurite-00275rm.patch new file mode 100644 index 000000000..057bf9cf6 --- /dev/null +++ b/package/rtl_433/0004-Fix-overflow-in-Acurite-00275rm.patch @@ -0,0 +1,35 @@ +From 37455483889bd1c641bdaafc493d1cc236b74904 Mon Sep 17 00:00:00 2001 +From: "Christian W. Zuckschwerdt" +Date: Fri, 18 Mar 2022 08:09:15 +0100 +Subject: [PATCH] Fix overflow in Acurite-00275rm (closes #2012) + +[Retrieved from: +https://github.com/merbanan/rtl_433/commit/37455483889bd1c641bdaafc493d1cc236b74904] +Signed-off-by: Fabrice Fontaine +--- + src/devices/acurite.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/devices/acurite.c b/src/devices/acurite.c +index 6879e52da..4f3e83eb3 100644 +--- a/src/devices/acurite.c ++++ b/src/devices/acurite.c +@@ -1318,15 +1318,15 @@ static int acurite_00275rm_decode(r_device *decoder, bitbuffer_t *bitbuffer) + + // Combine signal if exactly three repeats were found + if (n_rows == 3) { +- uint8_t *b = bitbuffer->bb[bitbuffer->num_rows]; ++ bitbuffer_add_row(bitbuffer); ++ uint8_t *b = bitbuffer->bb[bitbuffer->num_rows - 1]; + for (int i = 0; i < 11; ++i) { + // The majority bit count wins + b[i] = (b_rows[0][i] & b_rows[1][i]) | + (b_rows[1][i] & b_rows[2][i]) | + (b_rows[2][i] & b_rows[0][i]); + } +- bitbuffer->bits_per_row[bitbuffer->num_rows] = 88; +- bitbuffer->num_rows += 1; ++ bitbuffer->bits_per_row[bitbuffer->num_rows - 1] = 88; + } + + // Output the first valid row diff --git a/package/rtl_433/Config.in b/package/rtl_433/Config.in index 5664227c8..a6db00f47 100644 --- a/package/rtl_433/Config.in +++ b/package/rtl_433/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_RTL_433 bool "rtl_433" depends on BR2_USE_MMU # fork() - depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_LIBOPENSSL_ENABLE_PSK if BR2_PACKAGE_LIBOPENSSL help @@ -11,6 +10,6 @@ config BR2_PACKAGE_RTL_433 https://github.com/merbanan/rtl_433 -comment "rtl_433 needs a toolchain w/ dynamic library, threads" +comment "rtl_433 needs a toolchain w/ threads" depends on BR2_USE_MMU - depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/rtl_433/rtl_433.mk b/package/rtl_433/rtl_433.mk index a5139ddae..74a0b54a3 100644 --- a/package/rtl_433/rtl_433.mk +++ b/package/rtl_433/rtl_433.mk @@ -8,6 +8,7 @@ RTL_433_VERSION = 21.12 RTL_433_SITE = $(call github,merbanan,rtl_433,$(RTL_433_VERSION)) RTL_433_LICENSE = GPL-2.0+ RTL_433_LICENSE_FILES = COPYING +RTL_433_CPE_ID_VENDOR = rtl_433_project # Force Release build to remove ASAN. RTL_433_CONF_OPTS = \ @@ -17,6 +18,12 @@ RTL_433_CONF_OPTS = \ -DBUILD_TESTING_ANALYZER=OFF \ -DENABLE_SOAPYSDR=OFF +# 0003-minor-Fix-overflow-in-Clipsal-CMR113-and-Somfy-IOHC.patch +RTL_433_IGNORE_CVES += CVE-2022-25051 + +# 0004-Fix-overflow-in-Acurite-00275rm.patch +RTL_433_IGNORE_CVES += CVE-2022-27419 + ifeq ($(BR2_PACKAGE_LIBRTLSDR),y) RTL_433_DEPENDENCIES += librtlsdr RTL_433_CONF_OPTS += -DENABLE_RTLSDR=ON diff --git a/package/rtmpdump/rtmpdump.mk b/package/rtmpdump/rtmpdump.mk index db79a796d..fb381d0e1 100644 --- a/package/rtmpdump/rtmpdump.mk +++ b/package/rtmpdump/rtmpdump.mk @@ -5,7 +5,8 @@ ################################################################################ RTMPDUMP_VERSION = c5f04a58fc2aeea6296ca7c44ee4734c18401aa3 -RTMPDUMP_SITE = git://git.ffmpeg.org/rtmpdump +RTMPDUMP_SITE = https://git.ffmpeg.org/rtmpdump +RTMPDUMP_SITE_METHOD = git RTMPDUMP_INSTALL_STAGING = YES # Note that rtmpdump is GPL-2.0 but librtmp has its own license and since we only # care about librtmp, it's LGPL-2.1+ diff --git a/package/rtorrent/rtorrent.hash b/package/rtorrent/rtorrent.hash index a20e63782..040366463 100644 --- a/package/rtorrent/rtorrent.hash +++ b/package/rtorrent/rtorrent.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 9edf0304bf142215d3bc85a0771446b6a72d0ad8218efbe184b41e4c9c7542af rtorrent-0.9.8.tar.gz -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 9edf0304bf142215d3bc85a0771446b6a72d0ad8218efbe184b41e4c9c7542af rtorrent-0.9.8.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/rtptools/rtptools.hash b/package/rtptools/rtptools.hash index 11c8c2ab4..6988483b8 100644 --- a/package/rtptools/rtptools.hash +++ b/package/rtptools/rtptools.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 2c76b2a423fb943820c91194372133a44cbdc456ebf69c51616ec50eeb068c28 rtptools-1.22.tar.gz -sha256 f864592065e232c0b444ae9682a7a1a2c6aafe96712999f794bec24d4441a6a9 LICENSE +sha256 2c76b2a423fb943820c91194372133a44cbdc456ebf69c51616ec50eeb068c28 rtptools-1.22.tar.gz +sha256 f864592065e232c0b444ae9682a7a1a2c6aafe96712999f794bec24d4441a6a9 LICENSE diff --git a/package/rubix/rubix.hash b/package/rubix/rubix.hash index 3992110c3..8ff543182 100644 --- a/package/rubix/rubix.hash +++ b/package/rubix/rubix.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ccff4c98373f76c6bab751f5f5a60df7ad8691c79b56157e4aba2dd76f501a87 rubix-1.0.6.tar.bz2 -sha256 429d04118c02bc92d834c430601f8c0c8df1ab27e3617ec73ad3f66c5953475d LICENCE +sha256 ccff4c98373f76c6bab751f5f5a60df7ad8691c79b56157e4aba2dd76f501a87 rubix-1.0.6.tar.bz2 +sha256 429d04118c02bc92d834c430601f8c0c8df1ab27e3617ec73ad3f66c5953475d LICENCE diff --git a/package/ruby/ruby.hash b/package/ruby/ruby.hash index 90e7627a9..42d8a2497 100644 --- a/package/ruby/ruby.hash +++ b/package/ruby/ruby.hash @@ -1,5 +1,6 @@ -# https://www.ruby-lang.org/en/news/2021/12/25/ruby-3-1-0-released/ -sha512 a2bb6b5e62d5fa06dd9c30cf84ddcb2c27cb87fbaaffd2309a44391a6b110e1dde6b7b0d8c659b56387ee3c9b4264003f3532d5a374123a7c187ebba9293f320 ruby-3.1.0.tar.xz +# https://www.ruby-lang.org/en/news/2022/11/24/ruby-3-1-3-released/ +sha512 4b0fd334ae56132ba98b8a69adad54bdcf7f7aeabd5eba5b0f0399a3868e2054f9026ca1b1cb2dbb197a9e9b0610b263481949c0623a62071546bc5adff8ca69 ruby-3.1.3.tar.xz + # License files, Locally calculated sha256 794c384f94396ab07e3e6f53a9f8be093facb7eb4193266024302b93b29e12dc LEGAL sha256 967586d538a28955ec2541910cf63c5ac345fcdea94bfb1f1705a1f6eb36bcbb COPYING diff --git a/package/ruby/ruby.mk b/package/ruby/ruby.mk index 4f3b94f83..28b1ec13e 100644 --- a/package/ruby/ruby.mk +++ b/package/ruby/ruby.mk @@ -5,7 +5,7 @@ ################################################################################ RUBY_VERSION_MAJOR = 3.1 -RUBY_VERSION = $(RUBY_VERSION_MAJOR).0 +RUBY_VERSION = $(RUBY_VERSION_MAJOR).3 RUBY_VERSION_EXT = 3.1.0 RUBY_SITE = http://cache.ruby-lang.org/pub/ruby/$(RUBY_VERSION_MAJOR) RUBY_SOURCE = ruby-$(RUBY_VERSION).tar.xz diff --git a/package/runc/Config.in b/package/runc/Config.in index 66203896a..fe527b195 100644 --- a/package/runc/Config.in +++ b/package/runc/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_RUNC depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve help runC is a CLI tool for spawning and running containers - according to the OCP specification. + according to the OCI specification. https://github.com/opencontainers/runc diff --git a/package/runc/runc.hash b/package/runc/runc.hash index 38d9f5251..eee2e34cb 100644 --- a/package/runc/runc.hash +++ b/package/runc/runc.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 a8de57edbf0ff741ea798ccdd99ac0e1b79914f552871bd7cd92b0569f200964 runc-1.1.0.tar.gz +sha256 76cbf30637cbb828794d72d32fb3fd6ff3139cd9743b8b44790fd110f43d96b2 runc-1.1.5.tar.gz sha256 552a739c3b25792263f731542238b92f6f8d07e9a488eae27e6c4690038a8243 LICENSE diff --git a/package/runc/runc.mk b/package/runc/runc.mk index a40075544..088b57785 100644 --- a/package/runc/runc.mk +++ b/package/runc/runc.mk @@ -4,7 +4,7 @@ # ################################################################################ -RUNC_VERSION = 1.1.0 +RUNC_VERSION = 1.1.5 RUNC_SITE = $(call github,opencontainers,runc,v$(RUNC_VERSION)) RUNC_LICENSE = Apache-2.0, LGPL-2.1 (libseccomp) RUNC_LICENSE_FILES = LICENSE diff --git a/package/rust/rust.mk b/package/rust/rust.mk index 46487fe4b..cbd4786f0 100644 --- a/package/rust/rust.mk +++ b/package/rust/rust.mk @@ -14,6 +14,7 @@ HOST_RUST_PROVIDES = host-rustc HOST_RUST_DEPENDENCIES = \ toolchain \ + host-pkgconf \ host-python3 \ host-rust-bin \ host-openssl \ @@ -56,6 +57,7 @@ define HOST_RUST_CONFIGURE_CMDS echo 'sysconfdir = "$(HOST_DIR)/etc"'; \ echo '[rust]'; \ echo 'channel = "stable"'; \ + echo 'musl-root = "$(STAGING_DIR)"' ; \ echo '[target.$(RUSTC_TARGET_NAME)]'; \ echo 'cc = "$(TARGET_CROSS)gcc"'; \ echo '[llvm]'; \ @@ -67,9 +69,26 @@ define HOST_RUST_BUILD_CMDS cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python$(PYTHON3_VERSION_MAJOR) x.py build endef +HOST_RUST_INSTALL_OPTS = \ + --prefix=$(HOST_DIR) \ + --disable-ldconfig + +define HOST_RUST_INSTALL_RUSTC + cd $(@D)/build/tmp/tarball/rust/$(RUSTC_HOST_NAME)/rust-$(RUST_VERSION)-$(RUSTC_HOST_NAME); \ + ./install.sh $(HOST_RUST_INSTALL_OPTS) --components=rustc,cargo,rust-std-$(RUSTC_HOST_NAME) +endef + +ifeq ($(BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS),y) +define HOST_RUST_INSTALL_LIBSTD_TARGET + cd $(@D)/build/tmp/tarball/rust-std/$(RUSTC_TARGET_NAME)/rust-std-$(RUST_VERSION)-$(RUSTC_TARGET_NAME); \ + ./install.sh $(HOST_RUST_INSTALL_OPTS) +endef +endif + define HOST_RUST_INSTALL_CMDS cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python$(PYTHON3_VERSION_MAJOR) x.py dist - cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python$(PYTHON3_VERSION_MAJOR) x.py install + $(HOST_RUST_INSTALL_RUSTC) + $(HOST_RUST_INSTALL_LIBSTD_TARGET) endef $(eval $(host-generic-package)) diff --git a/package/rustc/Config.in.host b/package/rustc/Config.in.host index 80d1d1a3d..d647ae69b 100644 --- a/package/rustc/Config.in.host +++ b/package/rustc/Config.in.host @@ -16,7 +16,7 @@ config BR2_PACKAGE_HOST_RUSTC_TARGET_TIER1_PLATFORMS # aarch64-unknown-linux-gnu default y if BR2_aarch64 && BR2_TOOLCHAIN_USES_GLIBC # i686-unknown-linux-gnu - default y if (BR2_i686 || BR2_x86_pentiumpro || BR2_X86_CPU_HAS_MMX) && BR2_TOOLCHAIN_USES_GLIBC + default y if (BR2_x86_i686 || BR2_x86_pentiumpro || BR2_X86_CPU_HAS_MMX) && BR2_TOOLCHAIN_USES_GLIBC # x86_64-unknown-linux-gnu default y if BR2_x86_64 && BR2_TOOLCHAIN_USES_GLIBC @@ -33,6 +33,9 @@ config BR2_PACKAGE_HOST_RUSTC_TARGET_TIER2_HOST_TOOLS_PLATFORMS default y if BR2_ARM_CPU_ARMV6 && BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_GLIBC # armv7-unknown-linux-gnueabihf default y if BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_GLIBC + # armv7-unknown-linux-gnueabihf for armv8 hardware with 32-bit + # userspace + default y if BR2_arm && BR2_ARM_CPU_ARMV8A && BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_GLIBC # mips-unknown-linux-gnu default y if BR2_mips && BR2_TOOLCHAIN_USES_GLIBC && !BR2_MIPS_CPU_MIPS32R6 # mips64-unknown-linux-gnuabi64 @@ -75,12 +78,15 @@ config BR2_PACKAGE_HOST_RUSTC_TARGET_TIER2_PLATFORMS default y if BR2_ARM_CPU_ARMV7A && BR2_ARM_EABI && BR2_TOOLCHAIN_USES_MUSL # armv7-unknown-linux-musleabihf default y if BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_MUSL + # armv7-unknown-linux-musleabihf for armv8 hardware with 32-bit + # userspace + default y if BR2_arm && BR2_ARM_CPU_ARMV8A && BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_MUSL # i586-unknown-linux-gnu - default y if BR2_i586 && BR2_TOOLCHAIN_USES_GLIBC + default y if BR2_x86_i586 && BR2_TOOLCHAIN_USES_GLIBC # i586-unknown-linux-musl - default y if BR2_i586 && BR2_TOOLCHAIN_USES_MUSL + default y if BR2_x86_i586 && BR2_TOOLCHAIN_USES_MUSL # i686-unknown-linux-musl - default y if (BR2_i686 || BR2_x86_pentiumpro || BR2_X86_CPU_HAS_MMX) && BR2_TOOLCHAIN_USES_MUSL + default y if (BR2_x86_i686 || BR2_x86_pentiumpro || BR2_X86_CPU_HAS_MMX) && BR2_TOOLCHAIN_USES_MUSL # mips-unknown-linux-musl default y if BR2_mips && BR2_TOOLCHAIN_USES_MUSL && !BR2_MIPS_CPU_MIPS32R6 # mips64-unknown-linux-muslabi64 @@ -93,17 +99,23 @@ config BR2_PACKAGE_HOST_RUSTC_TARGET_TIER2_PLATFORMS default y if BR2_sparc64 && BR2_TOOLCHAIN_USES_GLIBC # All target rust packages should depend on this option +# Note: With musl based toolchain, we need a C++ cross compiler to +# build host-rust some target libraries (libunwind) from llvm source +# code bundled in rust sources. config BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS bool default y if BR2_PACKAGE_HOST_RUSTC_TARGET_TIER1_PLATFORMS default y if BR2_PACKAGE_HOST_RUSTC_TARGET_TIER2_HOST_TOOLS_PLATFORMS default y if BR2_PACKAGE_HOST_RUSTC_TARGET_TIER2_PLATFORMS + depends on BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_USES_MUSL depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS config BR2_PACKAGE_HOST_RUSTC_ARCH string default "armv5te" if BR2_ARM_CPU_ARMV5 + default "arm" if BR2_ARM_CPU_ARMV6 default "armv7" if BR2_ARM_CPU_ARMV7A + default "armv7" if BR2_ARM_CPU_ARMV7A || (BR2_arm && BR2_ARM_CPU_ARMV8A) default "riscv64gc" if BR2_RISCV_64 default BR2_ARCH diff --git a/package/rygel/0002-meson.build-fix-g_ir_compiler-calls.patch b/package/rygel/0002-meson.build-fix-g_ir_compiler-calls.patch new file mode 100644 index 000000000..3961ad056 --- /dev/null +++ b/package/rygel/0002-meson.build-fix-g_ir_compiler-calls.patch @@ -0,0 +1,84 @@ +From bed9e2effae60f7d736731e93d9e699cb173f04e Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 15 Mar 2022 19:20:33 +0100 +Subject: [PATCH] meson.build: fix g_ir_compiler calls + +Fix the following build failure when cross-compiling which is raised +because rygel is using a custom_target target instead of the standard +gnome.generate_gir: + +[108/298] Generating src/librygel-core/RygelCore-2.6.typelib with a custom command +FAILED: src/librygel-core/RygelCore-2.6.typelib +/home/giuliobenetti/autobuild/run/instance-3/output-1/host/nios2-buildroot-linux-gnu/sysroot/usr/bin/g-ir-compiler --output src/librygel-core/RygelCore-2.6.typelib /home/giuliobenetti/autobuild/run/instance-3/output-1/build/rygel-0.40.2/build/src/librygel-core/RygelCore-2.6.gir +Could not find GIR file 'GUPnP-1.2.gir'; check XDG_DATA_DIRS or use --includedir +error parsing file /home/giuliobenetti/autobuild/run/instance-3/output-1/build/rygel-0.40.2/build/src/librygel-core/RygelCore-2.6.gir: Failed to parse included gir GUPnP-1.2 + +Indeed, the custom_target command is unable to retrieve the correct +--includedir from glib-2.0.pc so add an ugly hack to custom_target calls + +Fixes: + - http://autobuild.buildroot.org/results/2b8956818f03f66a53480f7ed5fc0abb4f05288d + +Signed-off-by: Fabrice Fontaine +[Upstream status: probably not upstreamable] +--- + src/librygel-core/meson.build | 4 +++- + src/librygel-renderer-gst/meson.build | 1 + + src/librygel-renderer/meson.build | 1 + + src/librygel-server/meson.build | 1 + + 4 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/src/librygel-core/meson.build b/src/librygel-core/meson.build +index fd43bebe..e6be2b5e 100644 +--- a/src/librygel-core/meson.build ++++ b/src/librygel-core/meson.build +@@ -70,7 +70,9 @@ core_gir = custom_target('RygelCore-2.6.gir', + # so we depend on the custom_target from that step and pass the input through + # commandline. + custom_target('RygelCore-2.6.typelib', +- command: [g_ir_compiler, '--output', '@OUTPUT@', join_paths(meson.current_build_dir(), 'RygelCore-2.6.gir')], ++ command: [g_ir_compiler, '--output', '@OUTPUT@', ++ '--includedir', meson.get_external_property('sys_root') + get_option('prefix') + '/' + gir_dir, ++ join_paths(meson.current_build_dir(), 'RygelCore-2.6.gir')], + output: 'RygelCore-2.6.typelib', + depends: [ core_lib, core_gir ], + install: true, +diff --git a/src/librygel-renderer-gst/meson.build b/src/librygel-renderer-gst/meson.build +index ad98a3a7..e8baefe1 100644 +--- a/src/librygel-renderer-gst/meson.build ++++ b/src/librygel-renderer-gst/meson.build +@@ -36,6 +36,7 @@ custom_target('RygelRendererGst-2.6.typelib', + '--output', '@OUTPUT@', + '--includedir', core_girdir, + '--includedir', renderer_girdir, ++ '--includedir', meson.get_external_property('sys_root') + get_option('prefix') + '/' + gir_dir, + join_paths(meson.current_build_dir(), 'RygelRendererGst-2.6.gir')], + output: 'RygelRendererGst-2.6.typelib', + depends: [renderer_gst_lib, renderer_lib, renderer_gst_gir, renderer_gir], +diff --git a/src/librygel-renderer/meson.build b/src/librygel-renderer/meson.build +index 5f401527..821273ff 100644 +--- a/src/librygel-renderer/meson.build ++++ b/src/librygel-renderer/meson.build +@@ -43,6 +43,7 @@ custom_target('RygelRenderer-2.6.typelib', + command: [g_ir_compiler, + '--output', '@OUTPUT@', + '--includedir', core_girdir, ++ '--includedir', meson.get_external_property('sys_root') + get_option('prefix') + '/' + gir_dir, + join_paths(meson.current_build_dir(), 'RygelRenderer-2.6.gir')], + output: 'RygelRenderer-2.6.typelib', + depends: [ renderer_lib, renderer_gir, core_gir ], +diff --git a/src/librygel-server/meson.build b/src/librygel-server/meson.build +index a3bd77d9..6b084eb6 100644 +--- a/src/librygel-server/meson.build ++++ b/src/librygel-server/meson.build +@@ -122,6 +122,7 @@ custom_target('RygelServer-2.6.typelib', + command: [g_ir_compiler, + '--output', '@OUTPUT@', + '--includedir', core_girdir, ++ '--includedir', meson.get_external_property('sys_root') + get_option('prefix') + '/' + gir_dir, + join_paths(meson.current_build_dir(), 'RygelServer-2.6.gir')], + output: 'RygelServer-2.6.typelib', + depends: [ server_lib, server_gir, core_gir ], +-- +2.35.1 + diff --git a/package/s390-tools/s390-tools.mk b/package/s390-tools/s390-tools.mk index 328986bcb..76d4480bf 100644 --- a/package/s390-tools/s390-tools.mk +++ b/package/s390-tools/s390-tools.mk @@ -16,7 +16,7 @@ S390_TOOLS_MAKE_OPTS = \ LINK="$(TARGET_CC)" \ LINKXX="$(TARGET_CXX)" -ifeq ($(BR2_PACKAGE_LIBCURL),y) +ifeq ($(BR2_PACKAGE_LIBCURL_OPENSSL),y) S390_TOOLS_DEPENDENCIES += libcurl S390_TOOLS_MAKE_OPTS += \ CURL_CONFIG=$(STAGING_DIR)/usr/bin/curl-config \ diff --git a/package/sam-ba/Config.in.host b/package/sam-ba/Config.in.host index b96e377e7..1967f33ab 100644 --- a/package/sam-ba/Config.in.host +++ b/package/sam-ba/Config.in.host @@ -7,5 +7,5 @@ config BR2_PACKAGE_HOST_SAM_BA programming the Atmel SAM3, SAM7 and SAM9 ARM-based microcontrollers. - http://www.at91.com/linux4sam/bin/view/Linux4SAM/SoftwareTools + https://www.linux4sam.org/bin/view/Linux4SAM/SoftwareTools https://www.microchip.com/en-us/development-tool/SAM-BA-IN-SYSTEM-PROGRAMMER diff --git a/package/samba4/0005-samba-4.16.2-fix-build-without-innetgr.patch b/package/samba4/0005-samba-4.16.2-fix-build-without-innetgr.patch new file mode 100644 index 000000000..b338596d7 --- /dev/null +++ b/package/samba4/0005-samba-4.16.2-fix-build-without-innetgr.patch @@ -0,0 +1,34 @@ +# Gentoo bug 855047 + +Fixes uClibc build when uClibc was build without netgroup support. +Upstream enables netgroup support based on getdomainname() being +present: +https://github.com/samba-team/samba/commit/f179184a2be2ddd38f463fcc12252f8d24e529f8#diff-b8d1bc25b89846e70ecb61cb296a8f5c50c9a0a1b62e46790fae81aa9d5bfaaeR632 + +Downloaded from +https://gitweb.gentoo.org/repo/gentoo.git/tree/net-fs/samba/files/samba-4.16.2-fix-musl-without-innetgr.patch + +Signed-off-by: Bernd Kuhls + +--- a/lib/util/access.c ++++ b/lib/util/access.c +@@ -115,7 +115,7 @@ static bool string_match(const char *tok,const char *s) + return true; + } + } else if (tok[0] == '@') { /* netgroup: look it up */ +-#ifdef HAVE_NETGROUP ++#if defined(HAVE_NETGROUP) && defined(HAVE_INNETGR) + DATA_BLOB tmp; + char *mydomain = NULL; + char *hostname = NULL; +--- a/source3/auth/user_util.c ++++ b/source3/auth/user_util.c +@@ -135,7 +135,7 @@ static void store_map_in_gencache(TALLOC_CTX *ctx, const char *from, const char + + bool user_in_netgroup(TALLOC_CTX *ctx, const char *user, const char *ngname) + { +-#ifdef HAVE_NETGROUP ++#if defined(HAVE_NETGROUP) && defined(HAVE_INNETGR) + char nis_domain_buf[256]; + const char *nis_domain = NULL; + char *lowercase_user = NULL; diff --git a/package/samba4/Config.in b/package/samba4/Config.in index e114a7e13..5907bdc47 100644 --- a/package/samba4/Config.in +++ b/package/samba4/Config.in @@ -16,6 +16,7 @@ config BR2_PACKAGE_SAMBA4 select BR2_PACKAGE_CMOCKA select BR2_PACKAGE_E2FSPROGS select BR2_PACKAGE_GNUTLS + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_PACKAGE_POPT select BR2_PACKAGE_ZLIB diff --git a/package/samba4/samba4-cache.txt b/package/samba4/samba4-cache.txt index ba849b7c6..d95776a03 100644 --- a/package/samba4/samba4-cache.txt +++ b/package/samba4/samba4-cache.txt @@ -44,3 +44,4 @@ Checking value of GNUTLS_CIPHER_AES_128_CFB8: 29 Checking value of GNUTLS_MAC_AES_CMAC_128: 203 Checking whether fcntl supports flags to send direct I/O availability signals: OK Checking for gnutls fips mode support: NO +Checking for readlink breakage: NO diff --git a/package/samba4/samba4.hash b/package/samba4/samba4.hash index 503ec2ce3..18ec63e07 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.15.5.tar.asc -sha256 69115e33831937ba5151be0247943147765aece658ba743f44741672ad68d17f samba-4.15.5.tar.gz +# https://download.samba.org/pub/samba/stable/samba-4.15.13.tar.asc +sha256 c412e3536a5265d04e52983e643bae9e047bcc3eac08683a945b1057ecdf4968 samba-4.15.13.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/samba4/samba4.mk b/package/samba4/samba4.mk index 0ad3c2f74..b979aaf09 100644 --- a/package/samba4/samba4.mk +++ b/package/samba4/samba4.mk @@ -4,7 +4,7 @@ # ################################################################################ -SAMBA4_VERSION = 4.15.5 +SAMBA4_VERSION = 4.15.13 SAMBA4_SITE = https://download.samba.org/pub/samba/stable SAMBA4_SOURCE = samba-$(SAMBA4_VERSION).tar.gz SAMBA4_INSTALL_STAGING = YES @@ -39,6 +39,11 @@ else SAMBA4_CONF_OPTS += --disable-python endif +ifeq ($(BR2_PACKAGE_LIBICONV),y) +SAMBA4_DEPENDENCIES += libiconv +SAMBA4_LDFLAGS += -liconv +endif + ifeq ($(BR2_PACKAGE_LIBTIRPC),y) SAMBA4_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc` SAMBA4_LDFLAGS += `$(PKG_CONFIG_HOST_BINARY) --libs libtirpc` diff --git a/package/sconeserver/Config.in b/package/sconeserver/Config.in index d46ba85fb..3040dddbb 100644 --- a/package/sconeserver/Config.in +++ b/package/sconeserver/Config.in @@ -15,24 +15,6 @@ if BR2_PACKAGE_SCONESERVER comment "Sconeserver modules" -config BR2_PACKAGE_SCONESERVER_EXAMPLES - bool "examples" - help - Example modules for Sconeserver - -config BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE - bool "http::sconesite" - select BR2_PACKAGE_LIBXML2 - help - http::sconesite module for Sconeserver - -config BR2_PACKAGE_SCONESERVER_MYSQL - bool "mysql" - depends on BR2_USE_MMU # mysql - select BR2_PACKAGE_MYSQL - help - MySQL module for Sconeserver - config BR2_PACKAGE_SCONESERVER_BLUETOOTH bool "bluetooth" depends on BR2_USE_WCHAR # bluez5_utils -> libglib2 @@ -51,11 +33,16 @@ comment "bluetooth support needs a toolchain w/ wchar, threads, dynamic library, depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 -config BR2_PACKAGE_SCONESERVER_RSS - bool "rss" +config BR2_PACKAGE_SCONESERVER_EXAMPLES + bool "examples" + help + Example modules for Sconeserver + +config BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE + bool "http::sconesite" select BR2_PACKAGE_LIBXML2 help - RSS module for Sconeserver + http::sconesite module for Sconeserver config BR2_PACKAGE_SCONESERVER_LOCATION bool "location" @@ -68,7 +55,7 @@ config BR2_PACKAGE_SCONESERVER_LOCATION comment "location support needs a toolchain w/ theads, dynamic library" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBRARY + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS config BR2_PACKAGE_SCONESERVER_MATHS bool "maths" @@ -76,6 +63,25 @@ config BR2_PACKAGE_SCONESERVER_MATHS help Mathematics module for Sconeserver +config BR2_PACKAGE_SCONESERVER_MYSQL + bool "mysql" + depends on BR2_USE_MMU # mysql + select BR2_PACKAGE_MYSQL + help + MySQL module for Sconeserver + +config BR2_PACKAGE_SCONESERVER_RSS + bool "rss" + select BR2_PACKAGE_LIBXML2 + help + RSS module for Sconeserver + +config BR2_PACKAGE_SCONESERVER_SQLITE + bool "sqlite" + select BR2_PACKAGE_SQLITE + help + SQLite module for Sconeserver + config BR2_PACKAGE_SCONESERVER_TESTBUILDER bool "testbuilder" help diff --git a/package/sconeserver/sconeserver.hash b/package/sconeserver/sconeserver.hash index e1ff4486b..f51ea5cdc 100644 --- a/package/sconeserver/sconeserver.hash +++ b/package/sconeserver/sconeserver.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 dfdbbcd29c089eeb341dd3bbd434cca97fefaa97f94c91525e5953d3ab0a2d9a sconeserver-6b932d7d8dbb700b830205e7111e469cefff490c.tar.gz -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 dfdbbcd29c089eeb341dd3bbd434cca97fefaa97f94c91525e5953d3ab0a2d9a sconeserver-6b932d7d8dbb700b830205e7111e469cefff490c.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/sconeserver/sconeserver.mk b/package/sconeserver/sconeserver.mk index 2b28f8015..fd7e6774e 100644 --- a/package/sconeserver/sconeserver.mk +++ b/package/sconeserver/sconeserver.mk @@ -40,6 +40,13 @@ else SCONESERVER_CONF_OPTS += --without-ssl endif +ifeq ($(BR2_PACKAGE_SCONESERVER_BLUETOOTH),y) +SCONESERVER_DEPENDENCIES += bluez5_utils +SCONESERVER_CONF_OPTS += --with-bluetooth +else +SCONESERVER_CONF_OPTS += --without-bluetooth +endif + ifeq ($(BR2_PACKAGE_SCONESERVER_EXAMPLES),y) SCONESERVER_CONF_OPTS += --with-examples else @@ -53,6 +60,20 @@ else SCONESERVER_CONF_OPTS += --without-sconesite endif +ifeq ($(BR2_PACKAGE_SCONESERVER_LOCATION),y) +SCONESERVER_DEPENDENCIES += gpsd +SCONESERVER_CONF_OPTS += --with-location +else +SCONESERVER_CONF_OPTS += --without-location +endif + +ifeq ($(BR2_PACKAGE_SCONESERVER_MATHS),y) +SCONESERVER_DEPENDENCIES += mpfr +SCONESERVER_CONF_OPTS += --with-maths +else +SCONESERVER_CONF_OPTS += --without-maths +endif + ifeq ($(BR2_PACKAGE_SCONESERVER_MYSQL),y) SCONESERVER_DEPENDENCIES += mysql SCONESERVER_CONF_OPTS += \ @@ -63,13 +84,6 @@ else SCONESERVER_CONF_OPTS += --without-mysql endif -ifeq ($(BR2_PACKAGE_SCONESERVER_BLUETOOTH),y) -SCONESERVER_DEPENDENCIES += bluez5_utils -SCONESERVER_CONF_OPTS += --with-bluetooth -else -SCONESERVER_CONF_OPTS += --without-bluetooth -endif - ifeq ($(BR2_PACKAGE_SCONESERVER_RSS),y) SCONESERVER_DEPENDENCIES += libxml2 SCONESERVER_CONF_OPTS += --with-rss @@ -77,18 +91,11 @@ else SCONESERVER_CONF_OPTS += --without-rss endif -ifeq ($(BR2_PACKAGE_SCONESERVER_LOCATION),y) -SCONESERVER_DEPENDENCIES += gpsd -SCONESERVER_CONF_OPTS += --with-location +ifeq ($(BR2_PACKAGE_SCONESERVER_SQLITE),y) +SCONESERVER_DEPENDENCIES += sqlite +SCONESERVER_CONF_OPTS += --with-sqlite else -SCONESERVER_CONF_OPTS += --without-location -endif - -ifeq ($(BR2_PACKAGE_SCONESERVER_MATHS),y) -SCONESERVER_DEPENDENCIES += mpfr -SCONESERVER_CONF_OPTS += --with-maths -else -SCONESERVER_CONF_OPTS += --without-maths +SCONESERVER_CONF_OPTS += --without-sqlite endif ifeq ($(BR2_PACKAGE_SCONESERVER_TESTBUILDER),y) diff --git a/package/screen/screen.hash b/package/screen/screen.hash index ca74ba891..68a6d65b6 100644 --- a/package/screen/screen.hash +++ b/package/screen/screen.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature # https://ftp.gnu.org/gnu/screen/screen-4.8.0.tar.gz.sig -sha256 6e11b13d8489925fde25dfb0935bf6ed71f9eb47eff233a181e078fde5655aa1 screen-4.8.0.tar.gz +sha256 6e11b13d8489925fde25dfb0935bf6ed71f9eb47eff233a181e078fde5655aa1 screen-4.8.0.tar.gz # Locally calculated -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/sdl/0003-SDL_x11yuv.c-fix-possible-use-after-free.patch b/package/sdl/0003-SDL_x11yuv.c-fix-possible-use-after-free.patch new file mode 100644 index 000000000..d7858d0f9 --- /dev/null +++ b/package/sdl/0003-SDL_x11yuv.c-fix-possible-use-after-free.patch @@ -0,0 +1,28 @@ +From d7e00208738a0bc6af302723fe64908ac35b777b Mon Sep 17 00:00:00 2001 +From: Ozkan Sezer +Date: Sat, 18 Jun 2022 14:55:00 +0300 +Subject: [PATCH] SDL_x11yuv.c: fix possible use-after-free + +Fixes: https://github.com/libsdl-org/SDL-1.2/issues/863 +Signed-off-by: Peter Korsgaard +--- + src/video/x11/SDL_x11yuv.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/video/x11/SDL_x11yuv.c b/src/video/x11/SDL_x11yuv.c +index 62698dfd..0d5754e3 100644 +--- a/src/video/x11/SDL_x11yuv.c ++++ b/src/video/x11/SDL_x11yuv.c +@@ -374,8 +374,8 @@ SDL_Overlay *X11_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, S + #ifdef PITCH_WORKAROUND + if ( hwdata->image != NULL && hwdata->image->pitches[0] != (width*bpp) ) { + /* Ajust overlay width according to pitch */ +- XFree(hwdata->image); + width = hwdata->image->pitches[0] / bpp; ++ XFree(hwdata->image); + hwdata->image = SDL_NAME(XvCreateImage)(GFX_Display, xv_port, format, + 0, width, height); + } +-- +2.30.2 + diff --git a/package/sdl/sdl.hash b/package/sdl/sdl.hash index 2c46975dc..6154541a4 100644 --- a/package/sdl/sdl.hash +++ b/package/sdl/sdl.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 d6d316a793e5e348155f0dd93b979798933fb98aa1edebcc108829d6474aad00 SDL-1.2.15.tar.gz +sha256 d6d316a793e5e348155f0dd93b979798933fb98aa1edebcc108829d6474aad00 SDL-1.2.15.tar.gz # Locally computed -sha256 bb117c0fbd7f57f64170b690285d7df07c2371b578e3b3cd3aa2e1155ef461a0 COPYING +sha256 bb117c0fbd7f57f64170b690285d7df07c2371b578e3b3cd3aa2e1155ef461a0 COPYING diff --git a/package/sdl/sdl.mk b/package/sdl/sdl.mk index 7389cd3ed..462600deb 100644 --- a/package/sdl/sdl.mk +++ b/package/sdl/sdl.mk @@ -13,6 +13,9 @@ SDL_CPE_ID_VENDOR = libsdl SDL_CPE_ID_PRODUCT = simple_directmedia_layer SDL_INSTALL_STAGING = YES +# 0003-SDL_x11yuv.c-fix-possible-use-after-free.patch +SDL_IGNORE_CVES += CVE-2022-34568 + # we're patching configure.in, but package cannot autoreconf with our version of # autotools, so we have to do it manually instead of setting SDL_AUTORECONF = YES define SDL_RUN_AUTOGEN diff --git a/package/sdl2/0001-If-a-CRTC-doesn-t-have-a-mode-configured-use-the-pre.patch b/package/sdl2/0001-If-a-CRTC-doesn-t-have-a-mode-configured-use-the-pre.patch new file mode 100644 index 000000000..c8be280c5 --- /dev/null +++ b/package/sdl2/0001-If-a-CRTC-doesn-t-have-a-mode-configured-use-the-pre.patch @@ -0,0 +1,76 @@ +From da9ba3a2a1536017e4ce1ee0f4276578d1ce6e29 Mon Sep 17 00:00:00 2001 +From: Sam Lantinga +Date: Fri, 18 Nov 2022 12:17:27 -0800 +Subject: [PATCH] If a CRTC doesn't have a mode configured, use the preferred + or largest mode as the default mode + +Fixes https://github.com/libsdl-org/SDL/issues/6421 + +[mf@go-sys.de: backport from upstream] +Signed-off-by: Michael Fischer +[yann.morin.1998@free.fr: do an actual backport] +Signed-off-by: Yann E. MORIN +--- + src/video/kmsdrm/SDL_kmsdrmvideo.c | 35 +++++++++++++++++++++++++----- + 1 file changed, 29 insertions(+), 6 deletions(-) + +diff --git a/src/video/kmsdrm/SDL_kmsdrmvideo.c b/src/video/kmsdrm/SDL_kmsdrmvideo.c +index eae721455..eeeefef2b 100644 +--- a/src/video/kmsdrm/SDL_kmsdrmvideo.c ++++ b/src/video/kmsdrm/SDL_kmsdrmvideo.c +@@ -666,8 +666,8 @@ KMSDRM_CrtcGetVrr(uint32_t drm_fd, uint32_t crtc_id) + /* Gets a DRM connector, builds an SDL_Display with it, and adds it to the + list of SDL Displays in _this->displays[] */ + static void +-KMSDRM_AddDisplay (_THIS, drmModeConnector *connector, drmModeRes *resources) { +- ++KMSDRM_AddDisplay (_THIS, drmModeConnector *connector, drmModeRes *resources) ++{ + SDL_VideoData *viddata = ((SDL_VideoData *)_this->driverdata); + SDL_DisplayData *dispdata = NULL; + SDL_VideoDisplay display = {0}; +@@ -770,14 +770,37 @@ KMSDRM_AddDisplay (_THIS, drmModeConnector *connector, drmModeRes *resources) { + drmModeModeInfo *mode = &connector->modes[i]; + + if (!SDL_memcmp(mode, &crtc->mode, sizeof(crtc->mode))) { +- mode_index = i; +- break; ++ mode_index = i; ++ break; + } + } + + if (mode_index == -1) { +- ret = SDL_SetError("Failed to find index of mode attached to the CRTC."); +- goto cleanup; ++ int current_area, largest_area = 0; ++ ++ /* Find the preferred mode or the highest resolution mode */ ++ for (i = 0; i < connector->count_modes; i++) { ++ drmModeModeInfo *mode = &connector->modes[i]; ++ ++ if (mode->type & DRM_MODE_TYPE_PREFERRED) { ++ mode_index = i; ++ break; ++ } ++ ++ current_area = mode->hdisplay * mode->vdisplay; ++ if (current_area > largest_area) { ++ mode_index = i; ++ largest_area = current_area; ++ } ++ } ++ if (mode_index != -1) { ++ crtc->mode = connector->modes[mode_index]; ++ } ++ } ++ ++ if (mode_index == -1) { ++ ret = SDL_SetError("Failed to find index of mode attached to the CRTC."); ++ goto cleanup; + } + + /*********************************************/ +-- +2.25.1 + diff --git a/package/sdl2/0002-Fix-potential-memory-leak-in-GLES_CreateTexture.patch b/package/sdl2/0002-Fix-potential-memory-leak-in-GLES_CreateTexture.patch new file mode 100644 index 000000000..9488c1006 --- /dev/null +++ b/package/sdl2/0002-Fix-potential-memory-leak-in-GLES_CreateTexture.patch @@ -0,0 +1,37 @@ +From 00b67f55727bc0944c3266e2b875440da132ce4b Mon Sep 17 00:00:00 2001 +From: zhailiangliang +Date: Wed, 21 Sep 2022 10:30:38 +0800 +Subject: [PATCH] Fix potential memory leak in GLES_CreateTexture + +Signed-off-by: Peter Korsgaard +--- + src/render/opengles/SDL_render_gles.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/render/opengles/SDL_render_gles.c b/src/render/opengles/SDL_render_gles.c +index a5fbab309..ba08a46e2 100644 +--- a/src/render/opengles/SDL_render_gles.c ++++ b/src/render/opengles/SDL_render_gles.c +@@ -359,6 +359,9 @@ GLES_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture) + renderdata->glGenTextures(1, &data->texture); + result = renderdata->glGetError(); + if (result != GL_NO_ERROR) { ++ if (texture->access == SDL_TEXTUREACCESS_STREAMING) { ++ SDL_free(data->pixels); ++ } + SDL_free(data); + return GLES_SetError("glGenTextures()", result); + } +@@ -387,6 +390,9 @@ GLES_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture) + + result = renderdata->glGetError(); + if (result != GL_NO_ERROR) { ++ if (texture->access == SDL_TEXTUREACCESS_STREAMING) { ++ SDL_free(data->pixels); ++ } + SDL_free(data); + return GLES_SetError("glTexImage2D()", result); + } +-- +2.30.2 + diff --git a/package/sdl2/sdl2.mk b/package/sdl2/sdl2.mk index e0a817e24..c80702363 100644 --- a/package/sdl2/sdl2.mk +++ b/package/sdl2/sdl2.mk @@ -22,6 +22,9 @@ SDL2_CONF_OPTS += \ --disable-pulseaudio \ --disable-video-wayland +# 0002-Fix-potential-memory-leak-in-GLES_CreateTexture.patch +SDL2_IGNORE_CVES += CVE-2022-4743 + # We are using autotools build system for sdl2, so the sdl2-config.cmake # include path are not resolved like for sdl2-config script. # Change the absolute /usr path to resolve relatively to the sdl2-config.cmake location. @@ -138,10 +141,16 @@ SDL2_CONF_OPTS += --disable-video-opengl endif ifeq ($(BR2_PACKAGE_SDL2_OPENGLES),y) -SDL2_CONF_OPTS += --enable-video-opengles +SDL2_CONF_OPTS += \ + --enable-video-opengles \ + --enable-video-opengles1 \ + --enable-video-opengles2 SDL2_DEPENDENCIES += libgles else -SDL2_CONF_OPTS += --disable-video-opengles +SDL2_CONF_OPTS += \ + --disable-video-opengles \ + --disable-video-opengles1 \ + --disable-video-opengles2 endif ifeq ($(BR2_PACKAGE_ALSA_LIB),y) diff --git a/package/sdl2_image/sdl2_image.hash b/package/sdl2_image/sdl2_image.hash index 621a92021..6572ee8d5 100644 --- a/package/sdl2_image/sdl2_image.hash +++ b/package/sdl2_image/sdl2_image.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 bdd5f6e026682f7d7e1be0b6051b209da2f402a2dd8bd1c4bd9c25ad263108d0 SDL2_image-2.0.5.tar.gz -sha256 45079362e2230154205413a6940544ca94e3479ccf76205c71c4f542a6815d25 COPYING.txt +sha256 bdd5f6e026682f7d7e1be0b6051b209da2f402a2dd8bd1c4bd9c25ad263108d0 SDL2_image-2.0.5.tar.gz +sha256 45079362e2230154205413a6940544ca94e3479ccf76205c71c4f542a6815d25 COPYING.txt diff --git a/package/sdl2_ttf/sdl2_ttf.mk b/package/sdl2_ttf/sdl2_ttf.mk index 54e76815f..054e327fa 100644 --- a/package/sdl2_ttf/sdl2_ttf.mk +++ b/package/sdl2_ttf/sdl2_ttf.mk @@ -11,7 +11,7 @@ SDL2_TTF_LICENSE = Zlib SDL2_TTF_LICENSE_FILES = COPYING.txt SDL2_TTF_INSTALL_STAGING = YES SDL2_TTF_DEPENDENCIES = sdl2 freetype host-pkgconf -SDL2_TTF_CONF_OPTS = --disable-freetype-builtin +SDL2_TTF_CONF_OPTS = --disable-freetype-builtin --disable-harfbuzz-builtin ifeq ($(BR2_PACKAGE_HARFBUZZ),y) SDL2_TTF_DEPENDENCIES += harfbuzz diff --git a/package/sdl_gfx/sdl_gfx.hash b/package/sdl_gfx/sdl_gfx.hash index afd465366..6e94b238d 100644 --- a/package/sdl_gfx/sdl_gfx.hash +++ b/package/sdl_gfx/sdl_gfx.hash @@ -1,6 +1,6 @@ # From http://sourceforge.net/projects/sdlgfx/files/ -md5 fcc3c4f2d1b4943409bf7e67dd65d03a SDL_gfx-2.0.23.tar.gz -sha1 aae60e7fed539f3f8a0a0bd6da3bbcf625642596 SDL_gfx-2.0.23.tar.gz +md5 fcc3c4f2d1b4943409bf7e67dd65d03a SDL_gfx-2.0.23.tar.gz +sha1 aae60e7fed539f3f8a0a0bd6da3bbcf625642596 SDL_gfx-2.0.23.tar.gz # Locally computed sha256 4f5df842266c59b2d7e6ef35b53d7f37b13795d93baf3ed211f502c216f7bc89 COPYING sha256 5f3bc98e0bd2de83279bd62868d4bc0c2b4f811ab828b036d36a4a6d1cd5672d LICENSE diff --git a/package/sedutil/sedutil.hash b/package/sedutil/sedutil.hash index 9db101137..26643ef68 100644 --- a/package/sedutil/sedutil.hash +++ b/package/sedutil/sedutil.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 9259466b4f73af276153c5245834a56f48f8721ea7263611b5d5e8326bc43d9e sedutil-1.15.1.tar.gz -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 Common/LICENSE.txt +sha256 9259466b4f73af276153c5245834a56f48f8721ea7263611b5d5e8326bc43d9e sedutil-1.15.1.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 Common/LICENSE.txt diff --git a/package/ser2net/Config.in b/package/ser2net/Config.in index 3d110b70f..1859d42c8 100644 --- a/package/ser2net/Config.in +++ b/package/ser2net/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_SER2NET bool "ser2net" depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_ATOMIC # gensio select BR2_PACKAGE_GENSIO select BR2_PACKAGE_LIBYAML help diff --git a/package/setools/setools.hash b/package/setools/setools.hash index 74428a177..fdb0919f1 100644 --- a/package/setools/setools.hash +++ b/package/setools/setools.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 202eac5f857475937bee8136cff278aa2b4a4b94a0dec63fbbbe18c9eb644a4e setools-4.4.0.tar.gz -sha256 2f7547e10f76a382c24c053595f38a5cc6dda9347f508f254ca490e0046a9624 COPYING -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPL -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL +sha256 202eac5f857475937bee8136cff278aa2b4a4b94a0dec63fbbbe18c9eb644a4e setools-4.4.0.tar.gz +sha256 2f7547e10f76a382c24c053595f38a5cc6dda9347f508f254ca490e0046a9624 COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPL +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL diff --git a/package/sg3_utils/sg3_utils.mk b/package/sg3_utils/sg3_utils.mk index e357fc1dd..b291bd69d 100644 --- a/package/sg3_utils/sg3_utils.mk +++ b/package/sg3_utils/sg3_utils.mk @@ -24,6 +24,14 @@ ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) SG3_UTILS_CONF_ENV += LIBS="-latomic" endif +SG3_UTILS_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_104028),y) +SG3_UTILS_CFLAGS += -O0 +endif + +SG3_UTILS_CONF_ENV += CFLAGS="$(SG3_UTILS_CFLAGS)" + ifeq ($(BR2_PACKAGE_SG3_UTILS_PROGS),) define SG3_UTILS_REMOVE_PROGS for prog in \ diff --git a/package/shadowsocks-libev/0002-fix-maybe-uninitialized-errors.patch b/package/shadowsocks-libev/0002-fix-maybe-uninitialized-errors.patch new file mode 100644 index 000000000..5275323e6 --- /dev/null +++ b/package/shadowsocks-libev/0002-fix-maybe-uninitialized-errors.patch @@ -0,0 +1,93 @@ +From 0c23224e926463b1097414979367655a27fa6d60 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 7 Apr 2022 18:27:58 +0200 +Subject: [PATCH] fix maybe-uninitialized errors + +Set {listen,server}_sock to -1 when needed as already done in +src/manager.c by commit ecf1fcc84594b09ed2d61e3677cd8e62bd897ccb to +avoid the following build failure: + +local.c: In function 'create_and_bind': +local.c:218:12: error: 'listen_sock' may be used uninitialized in this function [-Werror=maybe-uninitialized] + 218 | return listen_sock; + | ^~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/27471a878ff52a972ac087d534e44fb0c50808f6 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/shadowsocks/shadowsocks-libev/commit/0c23224e926463b1097414979367655a27fa6d60] +--- + src/local.c | 2 +- + src/redir.c | 2 +- + src/server.c | 2 +- + src/tunnel.c | 2 +- + src/udprelay.c | 2 +- + 5 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/local.c b/src/local.c +index b1ab040bb..47d634ce5 100644 +--- a/src/local.c ++++ b/src/local.c +@@ -168,7 +168,7 @@ create_and_bind(const char *addr, const char *port) + { + struct addrinfo hints; + struct addrinfo *result, *rp; +- int s, listen_sock; ++ int s, listen_sock = -1; + + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = AF_UNSPEC; /* Return IPv4 and IPv6 choices */ +diff --git a/src/redir.c b/src/redir.c +index 4a5a489f0..e60bd4870 100644 +--- a/src/redir.c ++++ b/src/redir.c +@@ -147,7 +147,7 @@ create_and_bind(const char *addr, const char *port) + { + struct addrinfo hints; + struct addrinfo *result, *rp; +- int s, listen_sock; ++ int s, listen_sock = -1; + + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = AF_UNSPEC; /* Return IPv4 and IPv6 choices */ +diff --git a/src/server.c b/src/server.c +index e9cdc2619..073e38b22 100644 +--- a/src/server.c ++++ b/src/server.c +@@ -550,7 +550,7 @@ create_and_bind(const char *host, const char *port, int mptcp) + { + struct addrinfo hints; + struct addrinfo *result, *rp, *ipv4v6bindall; +- int s, listen_sock; ++ int s, listen_sock = -1; + + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = AF_UNSPEC; /* Return IPv4 and IPv6 choices */ +diff --git a/src/tunnel.c b/src/tunnel.c +index e0886bdb9..6641fe62a 100644 +--- a/src/tunnel.c ++++ b/src/tunnel.c +@@ -129,7 +129,7 @@ create_and_bind(const char *addr, const char *port) + { + struct addrinfo hints; + struct addrinfo *result, *rp; +- int s, listen_sock; ++ int s, listen_sock = -1; + + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = AF_UNSPEC; /* Return IPv4 and IPv6 choices */ +diff --git a/src/udprelay.c b/src/udprelay.c +index 23a042497..580ad4bd8 100644 +--- a/src/udprelay.c ++++ b/src/udprelay.c +@@ -446,7 +446,7 @@ create_server_socket(const char *host, const char *port) + { + struct addrinfo hints; + struct addrinfo *result, *rp, *ipv4v6bindall; +- int s, server_sock; ++ int s, server_sock = -1; + + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = AF_UNSPEC; /* Return IPv4 and IPv6 choices */ diff --git a/package/shadowsocks-libev/0003-lib-Makefile.am-remove-static-from-LDFLAGS.patch b/package/shadowsocks-libev/0003-lib-Makefile.am-remove-static-from-LDFLAGS.patch new file mode 100644 index 000000000..aebdb2305 --- /dev/null +++ b/package/shadowsocks-libev/0003-lib-Makefile.am-remove-static-from-LDFLAGS.patch @@ -0,0 +1,61 @@ +From e8ba4d6fd11ce795d9ed7b7a2c0ee0f6bf50f352 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 23 Jul 2022 18:20:00 +0200 +Subject: [PATCH] lib*/Makefile.am: remove -static from LDFLAGS + +The libbloom, libcork and libipset libraries are "convenience +libraries" in libtool speak, and their code ends up being used in a +shared library, so building them with -static does not work as it +causes the code to be built without fPIC. + +https://www.gnu.org/software/libtool/manual/html_node/Static-libraries.html +explains: + +""" +If you omit both -rpath and -static, libtool will create a convenience +library that can be used to create other libtool libraries, even +shared ones. Just like in the static case, the library behaves as an +alias to a set of object files and dependency libraries, but in this +case the object files are suitable for inclusion in shared libraries. +""" + +Signed-off-by: Thomas Petazzoni +--- + libbloom/Makefile.am | 2 -- + libcork/Makefile.am | 2 -- + libipset/Makefile.am | 2 -- + 3 files changed, 6 deletions(-) + +diff --git a/libbloom/Makefile.am b/libbloom/Makefile.am +index 17c0761..6b2eddd 100644 +--- a/libbloom/Makefile.am ++++ b/libbloom/Makefile.am +@@ -2,5 +2,3 @@ noinst_LTLIBRARIES = libbloom.la + + libbloom_la_SOURCES = bloom.c murmur2/MurmurHash2.c + libbloom_la_CFLAGS = -I$(top_srcdir)/libbloom -I$(top_srcdir)/libbloom/murmur2 +- +-libbloom_la_LDFLAGS = -static +diff --git a/libcork/Makefile.am b/libcork/Makefile.am +index 82ce062..e466a68 100644 +--- a/libcork/Makefile.am ++++ b/libcork/Makefile.am +@@ -17,5 +17,3 @@ endif + + libcork_la_SOURCES = $(cli_src) $(core_src) $(ds_src) $(pthreads_src) $(posix_src) + libcork_la_CFLAGS = -I$(top_srcdir)/libcork/include -DCORK_API=CORK_LOCAL +- +-libcork_la_LDFLAGS = -static +diff --git a/libipset/Makefile.am b/libipset/Makefile.am +index 3edfde6..bee8493 100644 +--- a/libipset/Makefile.am ++++ b/libipset/Makefile.am +@@ -23,5 +23,3 @@ set_src = src/libipset/set/allocation.c \ + + libipset_la_SOURCES = src/libipset/general.c ${bdd_src} ${map_src} ${set_src} + libipset_la_CFLAGS = -I$(top_srcdir)/libipset/include -I$(top_srcdir)/libcork/include +- +-libipset_la_LDFLAGS = -static +-- +2.37.1 + diff --git a/package/shairport-sync/shairport-sync.mk b/package/shairport-sync/shairport-sync.mk index 487e0c05e..4430014ec 100644 --- a/package/shairport-sync/shairport-sync.mk +++ b/package/shairport-sync/shairport-sync.mk @@ -59,6 +59,14 @@ endif ifeq ($(BR2_PACKAGE_SHAIRPORT_SYNC_DBUS),y) SHAIRPORT_SYNC_DEPENDENCIES += libglib2 SHAIRPORT_SYNC_CONF_OPTS += --with-dbus-interface --with-mpris-interface +define SHAIRPORT_SYNC_INSTALL_DBUS + $(INSTALL) -m 0644 -D \ + $(@D)/scripts/shairport-sync-dbus-policy.conf \ + $(TARGET_DIR)/etc/dbus-1/system.d/shairport-sync-dbus.conf + $(INSTALL) -m 0644 -D \ + $(@D)/scripts/shairport-sync-mpris-policy.conf \ + $(TARGET_DIR)/etc/dbus-1/system.d/shairport-sync-mpris.conf +endef else SHAIRPORT_SYNC_CONF_OPTS += --without-dbus-interface --without-mpris-interface endif @@ -82,6 +90,7 @@ define SHAIRPORT_SYNC_INSTALL_TARGET_CMDS $(TARGET_DIR)/usr/bin/shairport-sync $(INSTALL) -D -m 0644 $(@D)/scripts/shairport-sync.conf \ $(TARGET_DIR)/etc/shairport-sync.conf + $(SHAIRPORT_SYNC_INSTALL_DBUS) endef define SHAIRPORT_SYNC_INSTALL_INIT_SYSV diff --git a/package/shapelib/0001-Remove-double-free-in-contrib-shpsrt.patch b/package/shapelib/0001-Remove-double-free-in-contrib-shpsrt.patch new file mode 100644 index 000000000..a565874b8 --- /dev/null +++ b/package/shapelib/0001-Remove-double-free-in-contrib-shpsrt.patch @@ -0,0 +1,26 @@ +From c75b9281a5b9452d92e1682bdfe6019a13ed819f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Albin=20Eldst=C3=A5l-Ahrens?= +Date: Mon, 3 Jan 2022 12:34:41 +0100 +Subject: [PATCH] Remove double free() in contrib/shpsrt, issue #39 + +This fixes issue #39 + +[Retrieved from: +https://github.com/OSGeo/shapelib/commit/c75b9281a5b9452d92e1682bdfe6019a13ed819f] +Signed-off-by: Fabrice Fontaine +--- + contrib/shpsort.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/contrib/shpsort.c b/contrib/shpsort.c +index e21e9e0..920cd8c 100644 +--- a/contrib/shpsort.c ++++ b/contrib/shpsort.c +@@ -113,7 +113,6 @@ static char ** split(const char *arg, const char *delim) { + free(result[--i]); + } + free(result); +- free(copy); + return NULL; + } + result = tmp; diff --git a/package/shapelib/shapelib.hash b/package/shapelib/shapelib.hash index d1f6fa977..b016fef5c 100644 --- a/package/shapelib/shapelib.hash +++ b/package/shapelib/shapelib.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 1fc0a480982caef9e7b9423070b47750ba34cd0ba82668f2e638fab1d07adae1 shapelib-1.5.0.tar.gz -sha256 7eb803a70990017a1c4e38a8342d7413c5dfeec3ed1ac407e15ae2c274e560ff COPYING -sha256 a638278f7f1cb7d0cdc73b47a6c87261b882e356a8e79922e90d44d7ef1dd2c7 web/license.html +sha256 1fc0a480982caef9e7b9423070b47750ba34cd0ba82668f2e638fab1d07adae1 shapelib-1.5.0.tar.gz +sha256 7eb803a70990017a1c4e38a8342d7413c5dfeec3ed1ac407e15ae2c274e560ff COPYING +sha256 a638278f7f1cb7d0cdc73b47a6c87261b882e356a8e79922e90d44d7ef1dd2c7 web/license.html diff --git a/package/shapelib/shapelib.mk b/package/shapelib/shapelib.mk index bedd15dc3..37d2d9ae6 100644 --- a/package/shapelib/shapelib.mk +++ b/package/shapelib/shapelib.mk @@ -8,6 +8,10 @@ SHAPELIB_VERSION = 1.5.0 SHAPELIB_SITE = http://download.osgeo.org/shapelib SHAPELIB_LICENSE = MIT or LGPL-2.0 SHAPELIB_LICENSE_FILES = web/license.html COPYING +SHAPELIB_CPE_ID_VENDOR = osgeo SHAPELIB_INSTALL_STAGING = YES +# 0001-Remove-double-free-in-contrib-shpsrt.patch +SHAPELIB_IGNORE_CVES += CVE-2022-0699 + $(eval $(autotools-package)) diff --git a/package/shared-mime-info/shared-mime-info.hash b/package/shared-mime-info/shared-mime-info.hash index b86499cd5..062d76da3 100644 --- a/package/shared-mime-info/shared-mime-info.hash +++ b/package/shared-mime-info/shared-mime-info.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 18b2f0fe07ed0d6f81951a5fd5ece44de9c8aeb4dc5bb20d4f595f6cc6bd403e shared-mime-info-1.12.tar.xz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 18b2f0fe07ed0d6f81951a5fd5ece44de9c8aeb4dc5bb20d4f595f6cc6bd403e shared-mime-info-1.12.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/shellinabox/shellinabox.hash b/package/shellinabox/shellinabox.hash index 634aa7345..6bbaf73c1 100644 --- a/package/shellinabox/shellinabox.hash +++ b/package/shellinabox/shellinabox.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 27a5ec6c3439f87aee238c47cc56e7357a6249e5ca9ed0f044f0057ef389d81e shellinabox-2.20.tar.gz -sha256 04ef60ab9b83cde6f0862ea18474454477efb34c52ebce1f8d8260a398a39362 COPYING -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 GPL-2 +sha256 27a5ec6c3439f87aee238c47cc56e7357a6249e5ca9ed0f044f0057ef389d81e shellinabox-2.20.tar.gz +sha256 04ef60ab9b83cde6f0862ea18474454477efb34c52ebce1f8d8260a398a39362 COPYING +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 GPL-2 diff --git a/package/slang/slang.hash b/package/slang/slang.hash index faa34c820..3e211ab54 100644 --- a/package/slang/slang.hash +++ b/package/slang/slang.hash @@ -1,6 +1,6 @@ # sha1 from http://www.jedsoft.org/releases/slang/, sha256 locally computed -sha1 bbf7f2dcc14e7c7fca40868fd4b411a2bd9e2655 slang-2.3.2.tar.bz2 -sha256 fc9e3b0fc4f67c3c1f6d43c90c16a5c42d117b8e28457c5b46831b8b5d3ae31a slang-2.3.2.tar.bz2 +sha1 bbf7f2dcc14e7c7fca40868fd4b411a2bd9e2655 slang-2.3.2.tar.bz2 +sha256 fc9e3b0fc4f67c3c1f6d43c90c16a5c42d117b8e28457c5b46831b8b5d3ae31a slang-2.3.2.tar.bz2 # License file, locally computed -sha256 ff05a90962e7773f8bdc47b2a9585130526039102759b524c1dffbd57cfe469b COPYING +sha256 ff05a90962e7773f8bdc47b2a9585130526039102759b524c1dffbd57cfe469b COPYING diff --git a/package/smcroute/smcroute.hash b/package/smcroute/smcroute.hash index ea4c449c4..642a1f62f 100644 --- a/package/smcroute/smcroute.hash +++ b/package/smcroute/smcroute.hash @@ -1,5 +1,5 @@ # Upstream .sha256 from GitHub -sha256 2569cd97fa2047df14203a7144be53a1b32928cb460421a302bbcce381b42bc3 smcroute-2.5.5.tar.gz +sha256 2569cd97fa2047df14203a7144be53a1b32928cb460421a302bbcce381b42bc3 smcroute-2.5.5.tar.gz # Locally generated -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/smstools3/smstools3.hash b/package/smstools3/smstools3.hash index 27eda2af9..83831160e 100644 --- a/package/smstools3/smstools3.hash +++ b/package/smstools3/smstools3.hash @@ -1,5 +1,5 @@ # From http://smstools3.kekekasvi.com/packages/ -md5 6a9f038fb38a49cc3a4f8f14a88fb8af smstools-3.1.21.tar.gz +md5 6a9f038fb38a49cc3a4f8f14a88fb8af smstools-3.1.21.tar.gz sha256 a26ba4c02b16f6cf13177bffca6c9230dc5fefaeba8e3030cd4e4905f6a92084 smstools3-3.1.21.tar.gz # Hash for license files diff --git a/package/snmpclitools/snmpclitools.hash b/package/snmpclitools/snmpclitools.hash index 4dcbdcb6e..575bfbced 100644 --- a/package/snmpclitools/snmpclitools.hash +++ b/package/snmpclitools/snmpclitools.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/snmpclitools/json -md5 132b100f5e7b80715e6c1d424e89687c snmpclitools-0.6.4.tar.gz -sha256 820c45de419bf355c845a96610a395ec18a15176ac0362d388da7740266ea1ac snmpclitools-0.6.4.tar.gz +md5 132b100f5e7b80715e6c1d424e89687c snmpclitools-0.6.4.tar.gz +sha256 820c45de419bf355c845a96610a395ec18a15176ac0362d388da7740266ea1ac snmpclitools-0.6.4.tar.gz # Locally computed sha256 checksums -sha256 ed5561a0f5b75e93aa026c1b9fdef58e7ccbf6b2e9a2458be732afc288209d23 PKG-INFO +sha256 ed5561a0f5b75e93aa026c1b9fdef58e7ccbf6b2e9a2458be732afc288209d23 PKG-INFO diff --git a/package/snmppp/0001-fix-build-with-libressl-3-5-0.patch b/package/snmppp/0001-fix-build-with-libressl-3-5-0.patch new file mode 100644 index 000000000..f60f84f9a --- /dev/null +++ b/package/snmppp/0001-fix-build-with-libressl-3-5-0.patch @@ -0,0 +1,39 @@ +fix build with libressl >= 3.5.0 + +Fix the following build failure with libressl >= 3.5.0: + +auth_priv.cpp: In member function 'virtual int Snmp_pp::AuthMD5::password_to_key(const unsigned char*, unsigned int, const unsigned char*, unsigned int, unsigned char*, unsigned int*)': +auth_priv.cpp:1132:20: error: aggregate 'Snmp_pp::MD5HashStateType md5_hash_state' has incomplete type and cannot be defined + MD5HashStateType md5_hash_state; + ^~~~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/b50b883c03e82564198a8b7e91bd14bf007772e0 + +Signed-off-by: Fabrice Fontaine +[Upstream status: merged (emailed to katz.agentpp.com@magenta.de)] + +diff -Naurp snmp++-3.4.9.orig/src/auth_priv.cpp snmp++-3.4.9/src/auth_priv.cpp +--- snmp++-3.4.9.orig/src/auth_priv.cpp 2022-05-13 11:39:14.083038544 +0200 ++++ snmp++-3.4.9/src/auth_priv.cpp 2022-05-13 15:00:42.576102348 +0200 +@@ -79,8 +79,9 @@ static const char *loggerModuleName = "s + + /* -- START: Defines for OpenSSL -- */ + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) +-// OpenSSL versions up to 1.0.x and LibreSSL ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ ++ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L) ++// OpenSSL versions up to 1.0.x and LibreSSL versions up to 3.4.x + typedef EVP_MD_CTX EVPHashStateType; + + int evpAllocAndInit(EVP_MD_CTX *ctx, const EVP_MD *md) +@@ -138,7 +139,7 @@ typedef EVP_MD_CTX* MD5HashSta + #define MD5_PROCESS(s, p, l) EVP_DigestUpdate(*(s), p, l) + #define MD5_DONE(s, k) evpDigestFinalAndFree(s, k) + +-#endif // OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) ++#endif // OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L) + + typedef DES_key_schedule DESCBCType; + #define DES_CBC_START_ENCRYPT(c, iv, k, kl, r, s) \ diff --git a/package/snmppp/0001-fix-build-without-v3.patch b/package/snmppp/0001-fix-build-without-v3.patch new file mode 100644 index 000000000..4e81f7bfc --- /dev/null +++ b/package/snmppp/0001-fix-build-without-v3.patch @@ -0,0 +1,43 @@ +fix build without v3 + +Fix the following build failure without version3 raised since version +3.5.0: + +msgqueue.cpp: In member function 'int Snmp_pp::CSNMPMessage::ResendMessage()': +msgqueue.cpp:263:34: error: 'version3' was not declared in this scope; did you mean 'version1'? + 263 | if (m_target->get_version() == version3) { + | ^~~~~~~~ + | version1 + +Fixes: + - http://autobuild.buildroot.org/results/8ef3e4407a51c53c15e530606227338761dd905b + +Signed-off-by: Fabrice Fontaine +[Upstream status: sent to katz.agentpp.com@magenta.de] + +diff -Nura snmp++-3.5.0.orig/src/msgqueue.cpp snmp++-3.5.0/src/msgqueue.cpp +--- snmp++-3.5.0.orig/src/msgqueue.cpp 2023-03-20 10:49:30.629000853 +0100 ++++ snmp++-3.5.0/src/msgqueue.cpp 2023-03-20 10:51:36.880664304 +0100 +@@ -260,18 +260,20 @@ + m_target->set_retry(m_target->get_retry() - 1); + SetSendTime(); + int status; +- if (m_target->get_version() == version3) { + #ifdef _SNMPv3 ++ if (m_target->get_version() == version3) { + // delete entry in cache + if (m_snmp->get_mpv3()) + m_snmp->get_mpv3()->delete_from_cache(m_pdu.get_request_id()); +-#endif + status = m_snmp->snmp_engine(m_pdu, m_pdu.get_error_status(), m_pdu.get_error_index(), + *m_target, m_callBack, m_callData, m_socket, 0, this); + } + else { ++#endif + status = send_snmp_request(m_socket, m_rawPdu, m_rawPduLen, *m_address); ++#ifdef _SNMPv3 + } ++#endif + if (status != 0) + return SNMP_CLASS_TL_FAILED; + diff --git a/package/snmppp/Config.in b/package/snmppp/Config.in index 1f05f53f9..f3a076714 100644 --- a/package/snmppp/Config.in +++ b/package/snmppp/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_SNMPPP help SNMP++v3.x is a C++ API which supports SNMP v1, v2c, and v3. - http://www.agentpp.com/snmp_pp3_x/snmp_pp3_x.html + https://www.agentpp.com/api/cpp/snmp_pp.html if BR2_PACKAGE_SNMPPP diff --git a/package/snmppp/snmppp.hash b/package/snmppp/snmppp.hash index 2dcf836fc..6dc3d39ce 100644 --- a/package/snmppp/snmppp.hash +++ b/package/snmppp/snmppp.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 a3eb75e2310c315d9b2c2094154c7cd9b46684adb80a4b36b8957dcc09af4041 snmp++-3.4.2.tar.gz -sha256 f6fd4321c7eb6e51a272f91f964aea7f53039bb2b55f690d5a9d042f3a5d79b9 src/v3.cpp +sha256 d7a77fd05ecd99b25c51cbab08dfeef22a5edf2677875695c213631af59d5bae snmp++-3.4.10.tar.gz +sha256 61337e799c8274e596e5783b22607beea8073ee296c6b27fc5c7487296e56851 src/v3.cpp diff --git a/package/snmppp/snmppp.mk b/package/snmppp/snmppp.mk index 601e28e20..005a5a9f3 100644 --- a/package/snmppp/snmppp.mk +++ b/package/snmppp/snmppp.mk @@ -4,7 +4,7 @@ # ################################################################################ -SNMPPP_VERSION = 3.4.2 +SNMPPP_VERSION = 3.4.10 SNMPPP_SOURCE = snmp++-$(SNMPPP_VERSION).tar.gz SNMPPP_SITE = http://www.agentpp.com/download SNMPPP_DEPENDENCIES = host-pkgconf diff --git a/package/snort/0008-Fix-NO-OPTIMIZE.patch b/package/snort/0008-Fix-NO-OPTIMIZE.patch new file mode 100644 index 000000000..936973fdd --- /dev/null +++ b/package/snort/0008-Fix-NO-OPTIMIZE.patch @@ -0,0 +1,24 @@ +Fix NO_OPTIMIZE + +Fix the following build failure when NO_OPTIMIZE is enabled (e.g. on +sparc) and -Ofast: + +cc1: error: argument to '-O' should be a non-negative integer, 'g', 's' or 'fast' + +Fixes: + - http://autobuild.buildroot.org/results/e1a330e1a899fcdf4900e9156d62c90813321e30 + +Signed-off-by: Fabrice Fontaine + +diff -Nura snort-2.9.19.orig/configure.in snort-2.9.19/configure.in +--- snort-2.9.19.orig/configure.in 2022-08-09 20:21:00.236777320 +0200 ++++ snort-2.9.19/configure.in 2022-08-09 20:29:02.260993315 +0200 +@@ -1694,7 +1694,7 @@ + + # Set to no optimization regardless of what user or autostuff set + if test "x$NO_OPTIMIZE" = "xyes"; then +- CFLAGS=`echo $CFLAGS | sed -e "s/-O./-O0/"` ++ CFLAGS=`echo $CFLAGS | sed -e "s/-O[0-9a-z]*/-O0/"` + + # in case user override doesn't include -O + if echo $CFLAGS | grep -qve -O0 ; then diff --git a/package/snort3/Config.in b/package/snort3/Config.in index dcc29b820..9b96e7cb5 100644 --- a/package/snort3/Config.in +++ b/package/snort3/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_SNORT3 bool "snort3" + depends on !BR2_PACKAGE_LUA # luajit depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS # luajit depends on !(BR2_PACKAGE_DAQ || BR2_PACKAGE_SNORT) depends on BR2_USE_MMU # fork() @@ -34,6 +35,7 @@ config BR2_PACKAGE_SNORT3 https://www.snort.org/snort3 comment "snort3 needs a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 4.9" + depends on !BR2_PACKAGE_LUA depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS depends on !(BR2_PACKAGE_DAQ || BR2_PACKAGE_SNORT) depends on BR2_USE_MMU diff --git a/package/socat/socat.mk b/package/socat/socat.mk index e20577492..bfccd0203 100644 --- a/package/socat/socat.mk +++ b/package/socat/socat.mk @@ -11,6 +11,14 @@ SOCAT_LICENSE = GPL-2.0 with OpenSSL exception SOCAT_LICENSE_FILES = README COPYING COPYING.OpenSSL SOCAT_CPE_ID_VENDOR = dest-unreach +SOCAT_CONF_ENV = ac_cv_have_c99_snprintf=yes + +ifeq ($(BR2_TOOLCHAIN_USES_GLIBC)$(BR2_TOOLCHAIN_USES_UCLIBC),y) +SOCAT_CONF_ENV += ac_cv_have_z_modifier=yes +else +SOCAT_CONF_ENV += ac_cv_have_z_modifier=no +endif + ifeq ($(BR2_powerpc)$(BR2_powerpc64)$(BR2_powerpc64le),y) SOCAT_CONF_ENV += \ sc_cv_sys_crdly_shift=12 \ @@ -31,7 +39,7 @@ SOCAT_DEPENDENCIES = host-autoconf # incompatibile license (GPL-3.0+) SOCAT_CONF_OPTS = --disable-readline -ifeq ($(BR2_PACKAGE_OPENSSL),y) +ifeq ($(BR2_PACKAGE_OPENSSL):$(BR2_STATIC_LIBS),y:) SOCAT_DEPENDENCIES += openssl else SOCAT_CONF_OPTS += --disable-openssl diff --git a/package/sofia-sip/sofia-sip.hash b/package/sofia-sip/sofia-sip.hash index 6f6ff6d05..461772557 100644 --- a/package/sofia-sip/sofia-sip.hash +++ b/package/sofia-sip/sofia-sip.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 d39a3287038f1c9a747c1abc94a1379a726a9dfaf969285f955141883f7b810f sofia-sip-1.13.6-4152840260.tar.gz +sha256 03dda8653367501b7b1188a6b6513416902372e27475553de9318ee89ac390ff sofia-sip-1.13.12.tar.gz sha256 e1c0890440efe31b6cd2ee2abf895eb917c787799f079133f5809414d90d5d60 COPYING sha256 b402ae58cf355b33be8fa023f704a039e3d41ecaccd2bbcda43ca31d703e4556 COPYRIGHTS diff --git a/package/sofia-sip/sofia-sip.mk b/package/sofia-sip/sofia-sip.mk index 2bac48054..59c365365 100644 --- a/package/sofia-sip/sofia-sip.mk +++ b/package/sofia-sip/sofia-sip.mk @@ -4,12 +4,15 @@ # ################################################################################ -SOFIA_SIP_VERSION = 1.13.6-4152840260 -SOFIA_SIP_SITE = https://files.freeswitch.org/downloads/libs/sofia-sip +SOFIA_SIP_VERSION = 1.13.12 +SOFIA_SIP_SITE = $(call github,freeswitch,sofia-sip,v$(SOFIA_SIP_VERSION)) SOFIA_SIP_INSTALL_STAGING = YES +# Fetched from github, no pre-generated configure script provided +SOFIA_SIP_AUTORECONF = YES SOFIA_SIP_DEPENDENCIES = host-pkgconf SOFIA_SIP_LICENSE = LGPL-2.1+ SOFIA_SIP_LICENSE_FILES = COPYING COPYRIGHTS +SOFIA_SIP_CPE_ID_VENDOR = signalwire SOFIA_SIP_CONF_OPTS = --with-doxygen=no ifeq ($(BR2_PACKAGE_LIBGLIB2),y) diff --git a/package/softether/softether.hash b/package/softether/softether.hash index 01bdc629f..41bd84537 100644 --- a/package/softether/softether.hash +++ b/package/softether/softether.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 f579fa938f6d5d0622f23b3c163b3de5dc171e30175e44511bf269b3bb9fb1fc softether-4.30-9700-beta.tar.gz -sha256 5da6241ddb987c4543bf1cbba6b40a3cd3ecb624dbd4a63daf04440911656bde LICENSE +sha256 f579fa938f6d5d0622f23b3c163b3de5dc171e30175e44511bf269b3bb9fb1fc softether-4.30-9700-beta.tar.gz +sha256 5da6241ddb987c4543bf1cbba6b40a3cd3ecb624dbd4a63daf04440911656bde LICENSE diff --git a/package/sound-theme-borealis/sound-theme-borealis.hash b/package/sound-theme-borealis/sound-theme-borealis.hash index 7a4d3e131..575cf31c8 100644 --- a/package/sound-theme-borealis/sound-theme-borealis.hash +++ b/package/sound-theme-borealis/sound-theme-borealis.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 dd80a9c6317de29d42786ba7d95b114b64d06ec6c0c17dd18df853a5c668e727 Borealis_sound_theme_ogg-0.9a.tar.bz2 +sha256 dd80a9c6317de29d42786ba7d95b114b64d06ec6c0c17dd18df853a5c668e727 Borealis_sound_theme_ogg-0.9a.tar.bz2 diff --git a/package/sound-theme-freedesktop/sound-theme-freedesktop.hash b/package/sound-theme-freedesktop/sound-theme-freedesktop.hash index cde02ca3e..55b6993e6 100644 --- a/package/sound-theme-freedesktop/sound-theme-freedesktop.hash +++ b/package/sound-theme-freedesktop/sound-theme-freedesktop.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 e6595afb02b76099ef6df42c2ac7c4f9680c21c3f26b2a7ca0943d1fdbbd9aef sound-theme-freedesktop-0.7.tar.bz2 +sha256 e6595afb02b76099ef6df42c2ac7c4f9680c21c3f26b2a7ca0943d1fdbbd9aef sound-theme-freedesktop-0.7.tar.bz2 diff --git a/package/sox/sox.mk b/package/sox/sox.mk index 4b09b94bc..d0329bf50 100644 --- a/package/sox/sox.mk +++ b/package/sox/sox.mk @@ -5,7 +5,7 @@ ################################################################################ SOX_VERSION = 7524160b29a476f7e87bc14fddf12d349f9a3c5e -SOX_SITE = git://git.code.sf.net/p/sox/code +SOX_SITE = https://git.code.sf.net/p/sox/code SOX_SITE_METHOD = git SOX_DEPENDENCIES = host-autoconf-archive host-pkgconf SOX_LICENSE = GPL-2.0+ (sox binary), LGPL-2.1+ (libraries) @@ -26,6 +26,14 @@ SOX_CONF_OPTS = \ --with-distro="Buildroot" \ --disable-stack-protector +SOX_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y) +SOX_CFLAGS += -O0 +endif + +SOX_CONF_ENV += CFLAGS="$(SOX_CFLAGS)" + ifeq ($(BR2_PACKAGE_ALSA_LIB_PCM),y) SOX_DEPENDENCIES += alsa-lib SOX_CONF_OPTS += --enable-alsa diff --git a/package/speex/speex.hash b/package/speex/speex.hash index f5235d626..205dffd58 100644 --- a/package/speex/speex.hash +++ b/package/speex/speex.hash @@ -1,6 +1,6 @@ # From https://downloads.xiph.org/releases/speex/SHA256SUMS.txt -sha256 eaae8af0ac742dc7d542c9439ac72f1f385ce838392dc849cae4536af9210094 speex-1.2.0.tar.gz +sha256 eaae8af0ac742dc7d542c9439ac72f1f385ce838392dc849cae4536af9210094 speex-1.2.0.tar.gz # From https://downloads.xiph.org/releases/speex/MD5SUMS -md5 8ab7bb2589110dfaf0ed7fa7757dc49c speex-1.2.0.tar.gz +md5 8ab7bb2589110dfaf0ed7fa7757dc49c speex-1.2.0.tar.gz # Locally computed -sha256 671bb5d8fd3c6b05a2e831d90f978ac27965c92bd8ea6d16b3df76e3440c0e9f COPYING +sha256 671bb5d8fd3c6b05a2e831d90f978ac27965c92bd8ea6d16b3df76e3440c0e9f COPYING diff --git a/package/spice/Config.in b/package/spice/Config.in index 2241b55b3..ca5c562ca 100644 --- a/package/spice/Config.in +++ b/package/spice/Config.in @@ -1,12 +1,14 @@ -comment "spice server needs a toolchain w/ wchar, threads" +comment "spice server needs a toolchain w/ wchar, threads, C++" depends on BR2_i386 || BR2_x86_64 - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_INSTALL_LIBSTDCPP config BR2_PACKAGE_SPICE bool "spice server" depends on BR2_i386 || BR2_x86_64 depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_JPEG select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_OPENSSL diff --git a/package/spidev_test/Config.in b/package/spidev_test/Config.in index 44990c66b..aa57b5edb 100644 --- a/package/spidev_test/Config.in +++ b/package/spidev_test/Config.in @@ -9,7 +9,7 @@ config BR2_PACKAGE_SPIDEV_TEST proper operation of 'spidev_test'. The version used is based on your toolchain headers version, - if it's older than 3.15 then 3.0 is used, otherwise 3.15 + if it's older than 3.15 then 3.0 is used, otherwise 4.10 is used. This means you won't have quad-pumped SPI support if your toolchain is too old. diff --git a/package/spidev_test/spidev_test.hash b/package/spidev_test/spidev_test.hash index 7bc4a27e4..cb3848df6 100644 --- a/package/spidev_test/spidev_test.hash +++ b/package/spidev_test/spidev_test.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 80471c330d8c0bf5ba6479c434a54a54bdd2dc59a703b9c76c2541ec04cfb8c3 spidev_test.c?id=v3.0 -sha256 3cf76b15d9a8644f3f5cbc0387cc02a7d4a392ade39788cbc6367cce98552e2f spidev_test.c?id=v4.10 +sha256 80471c330d8c0bf5ba6479c434a54a54bdd2dc59a703b9c76c2541ec04cfb8c3 spidev_test.c?id=v3.0 +sha256 3cf76b15d9a8644f3f5cbc0387cc02a7d4a392ade39788cbc6367cce98552e2f spidev_test.c?id=v4.10 diff --git a/package/sqlite/sqlite.hash b/package/sqlite/sqlite.hash index deb8d4c14..36f6907fb 100644 --- a/package/sqlite/sqlite.hash +++ b/package/sqlite/sqlite.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 4089a8d9b467537b3f246f217b84cd76e00b1d1a971fe5aca1e30e230e46b2d8 sqlite-autoconf-3370200.tar.gz +sha256 2c5dea207fa508d765af1ef620b637dcb06572afa6f01f0815bd5bbf864b33d9 sqlite-autoconf-3400100.tar.gz sha256 66e056b6e8687f32af30d5187611b98b12a8f46f07aaf62f43585f276e8f0ac9 tea/license.terms diff --git a/package/sqlite/sqlite.mk b/package/sqlite/sqlite.mk index b702139f6..789eddfa0 100644 --- a/package/sqlite/sqlite.mk +++ b/package/sqlite/sqlite.mk @@ -4,8 +4,8 @@ # ################################################################################ -SQLITE_VERSION = 3.37.2 -SQLITE_TAR_VERSION = 3370200 +SQLITE_VERSION = 3.40.1 +SQLITE_TAR_VERSION = 3400100 SQLITE_SOURCE = sqlite-autoconf-$(SQLITE_TAR_VERSION).tar.gz SQLITE_SITE = https://www.sqlite.org/2022 SQLITE_LICENSE = Public domain diff --git a/package/squashfs/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch b/package/squashfs/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch deleted file mode 100644 index 997719e63..000000000 --- a/package/squashfs/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch +++ /dev/null @@ -1,37 +0,0 @@ -From f5c908e92d4c055859be2fddbda266d9e3bfd415 Mon Sep 17 00:00:00 2001 -From: Patrick McCarty -Date: Mon, 26 Jul 2021 11:38:43 -0700 -Subject: [PATCH] Avoid use of INSTALL_DIR for symlink targets - -In case INSTALL_DIR is overridden with a staged install location, using -INSTALL_DIR for the symlink target path prefix will yield an incorrect location -for the final installation. - -Because the symlink itself is already installed to INSTALL_DIR, simply removing -the INSTALL_DIR prefix suffices as a fix. - -Note that using $DESTDIR/$INSTALL_DIR where appropriate can avoid this type of -issue, but that can be considered a future enhancement. - -Signed-off-by: Patrick McCarty -Upstream: f5c908e92d4c055859be2fddbda266d9e3bfd415 -Signed-off-by: Thomas Petazzoni ---- - squashfs-tools/Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/squashfs-tools/Makefile b/squashfs-tools/Makefile -index f5a55f1..7262a2e 100755 ---- a/squashfs-tools/Makefile -+++ b/squashfs-tools/Makefile -@@ -406,5 +406,5 @@ install: mksquashfs unsquashfs - mkdir -p $(INSTALL_DIR) - cp mksquashfs $(INSTALL_DIR) - cp unsquashfs $(INSTALL_DIR) -- ln -fs $(INSTALL_DIR)/unsquashfs $(INSTALL_DIR)/sqfscat -- ln -fs $(INSTALL_DIR)/mksquashfs $(INSTALL_DIR)/sqfstar -+ ln -fs unsquashfs $(INSTALL_DIR)/sqfscat -+ ln -fs mksquashfs $(INSTALL_DIR)/sqfstar --- -2.31.1 - diff --git a/package/squashfs/squashfs.hash b/package/squashfs/squashfs.hash index 09a2bae36..13d5aed71 100644 --- a/package/squashfs/squashfs.hash +++ b/package/squashfs/squashfs.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 b9e16188e6dc1857fe312633920f7d71cc36b0162eb50f3ecb1f0040f02edddd squashfs-4.5.tar.gz +sha256 277b6e7f75a4a57f72191295ae62766a10d627a4f5e5f19eadfbc861378deea7 squashfs-4.5.1.tar.gz # License files sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/squashfs/squashfs.mk b/package/squashfs/squashfs.mk index f64d441c9..323908d94 100644 --- a/package/squashfs/squashfs.mk +++ b/package/squashfs/squashfs.mk @@ -4,7 +4,7 @@ # ################################################################################ -SQUASHFS_VERSION = 4.5 +SQUASHFS_VERSION = 4.5.1 SQUASHFS_SITE = $(call github,plougher,squashfs-tools,$(SQUASHFS_VERSION)) SQUASHFS_LICENSE = GPL-2.0+ SQUASHFS_LICENSE_FILES = COPYING @@ -75,7 +75,8 @@ endef define SQUASHFS_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(SQUASHFS_MAKE_ARGS) \ - -C $(@D)/squashfs-tools/ INSTALL_DIR=$(TARGET_DIR)/usr/bin install + -C $(@D)/squashfs-tools/ INSTALL_DIR=$(TARGET_DIR)/usr/bin \ + INSTALL_MANPAGES_DIR="" install endef define HOST_SQUASHFS_BUILD_CMDS @@ -89,7 +90,8 @@ endef define HOST_SQUASHFS_INSTALL_CMDS $(HOST_MAKE_ENV) $(MAKE) $(HOST_SQUASHFS_MAKE_ARGS) \ - -C $(@D)/squashfs-tools/ INSTALL_DIR=$(HOST_DIR)/bin install + -C $(@D)/squashfs-tools/ INSTALL_DIR=$(HOST_DIR)/bin \ + INSTALL_MANPAGES_DIR="" install endef $(eval $(generic-package)) diff --git a/package/squeezelite/squeezelite.hash b/package/squeezelite/squeezelite.hash index 0b21d861b..67ed4c879 100644 --- a/package/squeezelite/squeezelite.hash +++ b/package/squeezelite/squeezelite.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 7f0342f4943d3c3498d930060f5a1e8d63ccb7282b9c21f964926e310449d592 squeezelite-71c012ad9ba102feb95823b7b9dc17e5305689c7.tar.gz -sha256 dc01c3da33fea11ed918f9e437b88baa59c70401aab0dad747e33dd9e8035706 LICENSE.txt +sha256 7f0342f4943d3c3498d930060f5a1e8d63ccb7282b9c21f964926e310449d592 squeezelite-71c012ad9ba102feb95823b7b9dc17e5305689c7.tar.gz +sha256 dc01c3da33fea11ed918f9e437b88baa59c70401aab0dad747e33dd9e8035706 LICENSE.txt diff --git a/package/squid/squid.hash b/package/squid/squid.hash index e18ed8961..b00d14011 100644 --- a/package/squid/squid.hash +++ b/package/squid/squid.hash @@ -1,6 +1,6 @@ -# From http://www.squid-cache.org/Versions/v5/squid-5.3.tar.xz.asc -md5 9249f30169ab6600e53b4f9b8129b3b0 squid-5.3.tar.xz -sha1 d3a8310c725616fa7565d60f3bf8fdf5fa20b15a squid-5.3.tar.xz +# From http://www.squid-cache.org/Versions/v5/squid-5.7.tar.xz.asc +md5 7a3764a3c5833631a779d7827901cda7 squid-5.7.tar.xz +sha1 141e8007d6b1cfee34654127a9ca025125b37b58 squid-5.7.tar.xz # Locally calculated -sha256 45178588df1311ded41ebadd632840c4d93a8d7f5f60e38e74acf2f1ae2f1715 squid-5.3.tar.xz +sha256 6b0753aaba4c9c4efd333e67124caecf7ad6cc2d38581f19d2f0321f5b7ecd81 squid-5.7.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/squid/squid.mk b/package/squid/squid.mk index 3847fb49d..355af0b90 100644 --- a/package/squid/squid.mk +++ b/package/squid/squid.mk @@ -4,7 +4,7 @@ # ################################################################################ -SQUID_VERSION = 5.3 +SQUID_VERSION = 5.7 SQUID_SOURCE = squid-$(SQUID_VERSION).tar.xz SQUID_SITE = http://www.squid-cache.org/Versions/v5 SQUID_LICENSE = GPL-2.0+ diff --git a/package/ssdp-responder/ssdp-responder.mk b/package/ssdp-responder/ssdp-responder.mk index 3fee4c200..9b477e48c 100644 --- a/package/ssdp-responder/ssdp-responder.mk +++ b/package/ssdp-responder/ssdp-responder.mk @@ -25,9 +25,4 @@ define SSDP_RESPONDER_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S50ssdpd endef -define SSDP-RESPONDER_INSTALL_INIT_SYSTEMD - $(INSTALL) -D -m 644 $(@D)/ssdp-responder.service \ - $(TARGET_DIR)/usr/lib/systemd/system/ssdp-responder.service -endef - $(eval $(autotools-package)) diff --git a/package/strace/strace.mk b/package/strace/strace.mk index c8c3590f6..c0e89ef6c 100644 --- a/package/strace/strace.mk +++ b/package/strace/strace.mk @@ -6,7 +6,7 @@ STRACE_VERSION = 5.16 STRACE_SOURCE = strace-$(STRACE_VERSION).tar.xz -STRACE_SITE = https://strace.io/files/$(STRACE_VERSION) +STRACE_SITE = https://github.com/strace/strace/releases/download/v$(STRACE_VERSION) STRACE_LICENSE = LGPL-2.1+ STRACE_LICENSE_FILES = COPYING LGPL-2.1-or-later STRACE_CPE_ID_VENDOR = strace_project diff --git a/package/stress-ng/0001-Makefile-fix-build-with-kernel-5.6.patch b/package/stress-ng/0001-Makefile-fix-build-with-kernel-5.6.patch new file mode 100644 index 000000000..4c62da324 --- /dev/null +++ b/package/stress-ng/0001-Makefile-fix-build-with-kernel-5.6.patch @@ -0,0 +1,60 @@ +From 5d419c790e648c7a2f96f34ed1b93b326f725545 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 13 Aug 2022 17:17:05 +0200 +Subject: [PATCH] Makefile: fix build with kernel < 5.6 + +Fix the following build failure with kernel >= 5.1 and < 5.5 (i.e. +before +https://github.com/torvalds/linux/commit/9e3aa61ae3e01ce1ce6361a41ef725e1f4d1d2bf) +raised since version 0.11.21 and +https://github.com/ColinIanKing/stress-ng/commit/3d6fccdbe53d0cbcb75dd4b91571aaaae7ee1ad4: + +In file included from stress-io-uring.c:26: +io-uring.h:1:9: error: macro names must be identifiers + 1 | #define #define HAVE_IORING_OP_NOP 0 + | ^ + +Moreover, IORING_OP_FALLOCATE is not available before kernel 5.6 and +https://github.com/torvalds/linux/commit/d63d1b5edb7b832210bfde587ba9e7549fa064eb + +Fixes: + - http://autobuild.buildroot.org/results/1bf3f2bbc849bdce531d56b1024fa87f0c1ae667 + +Signed-off-by: Fabrice Fontaine +[Retrieved (and backported) from +https://github.com/ColinIanKing/stress-ng/commit/5d419c790e648c7a2f96f34ed1b93b326f725545] +--- + Makefile | 2 +- + stress-io-uring.c | 6 +++++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 2f9cc9918..ee17ae08b 100644 +--- a/Makefile ++++ b/Makefile +@@ -528,7 +528,7 @@ stress-personality.c: personality.h + # + io-uring.h: + $(V)$(CPP) $(CFLAGS) core-io-uring.c | $(GREP) IORING_OP | sed 's/,//' | \ +- sed 's/IORING_OP_/#define HAVE_IORING_OP_/' > io-uring.h ++ sed 's/.*\(IORING_OP_.*\)/#define HAVE_\1/' > io-uring.h + $(Q)echo "MK io-uring.h" + + stress-io-uring.c: io-uring.h +diff --git a/stress-io-uring.c b/stress-io-uring.c +index ab9fd0749..84f463611 100644 +--- a/stress-io-uring.c ++++ b/stress-io-uring.c +@@ -311,7 +311,11 @@ static inline int stress_io_uring_complete( + break; + + cqe = &cring->cqes[head & *submit->cq_ring.ring_mask]; +- if ((cqe->res < 0) && (opcode != IORING_OP_FALLOCATE)) { ++ if ((cqe->res < 0) ++#ifdef HAVE_IORING_OP_FALLOCATE ++ && (opcode != IORING_OP_FALLOCATE) ++#endif ++ ) { + const int err = abs(cqe->res); + + /* Silently ignore EOPNOTSUPP completion errors */ diff --git a/package/strongswan/strongswan.hash b/package/strongswan/strongswan.hash index aca7ddf5c..4822f9152 100644 --- a/package/strongswan/strongswan.hash +++ b/package/strongswan/strongswan.hash @@ -1,7 +1,7 @@ -# From http://download.strongswan.org/strongswan-5.9.5.tar.bz2.md5 -md5 53005324e3cba8592f1fb958b1c2d0e5 strongswan-5.9.5.tar.bz2 +# From http://download.strongswan.org/strongswan-5.9.8.tar.bz2.md5 +md5 f46b0d3e7aed88824650d0721c887443 strongswan-5.9.8.tar.bz2 # Calculated based on the hash above -sha256 983e4ef4a4c6c9d69f5fe6707c7fe0b2b9a9291943bbf4e008faab6bf91c0bdd strongswan-5.9.5.tar.bz2 +sha256 d3303a43c0bd7b75a12b64855e8edcb53696f06190364f26d1533bde1f2e453c strongswan-5.9.8.tar.bz2 # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 2292e21797754548dccdef9eef6aee7584e552fbd890fa914e1de8d3577d23f0 LICENSE diff --git a/package/strongswan/strongswan.mk b/package/strongswan/strongswan.mk index 95079aceb..0cfab0e9c 100644 --- a/package/strongswan/strongswan.mk +++ b/package/strongswan/strongswan.mk @@ -4,7 +4,7 @@ # ################################################################################ -STRONGSWAN_VERSION = 5.9.5 +STRONGSWAN_VERSION = 5.9.8 STRONGSWAN_SOURCE = strongswan-$(STRONGSWAN_VERSION).tar.bz2 STRONGSWAN_SITE = http://download.strongswan.org STRONGSWAN_LICENSE = GPL-2.0+ diff --git a/package/stunnel/Config.in b/package/stunnel/Config.in index 087fecd93..a46e2f031 100644 --- a/package/stunnel/Config.in +++ b/package/stunnel/Config.in @@ -2,7 +2,8 @@ config BR2_PACKAGE_STUNNEL bool "stunnel" depends on BR2_USE_MMU # fork() select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES help Stunnel is a program that wraps any TCP connection with an SSL connection. diff --git a/package/subversion/0001-workaround-ac-run-ifelse.patch b/package/subversion/0001-workaround-ac-run-ifelse.patch deleted file mode 100644 index 4f229dc49..000000000 --- a/package/subversion/0001-workaround-ac-run-ifelse.patch +++ /dev/null @@ -1,23 +0,0 @@ -build/ac-macros/macosx.m4: workaround AC_RUN_IFELSE - -The SVN_LIB_MACHO_ITERATE macro contains an AC_RUN_IFELSE test that -doesn't work when cross-compiling. However, this macro is related to -testing Mac OS X APIs, so in the context of Buildroot, we don't care, -and the test program is not even going to build. So we simply -workaround this by turning the test into an AC_COMPILE_IFELSE. - -Signed-off-by: Thomas Petazzoni - -Index: b/build/ac-macros/macosx.m4 -=================================================================== ---- a/build/ac-macros/macosx.m4 -+++ b/build/ac-macros/macosx.m4 -@@ -24,7 +24,7 @@ - AC_DEFUN(SVN_LIB_MACHO_ITERATE, - [ - AC_MSG_CHECKING([for Mach-O dynamic module iteration functions]) -- AC_RUN_IFELSE([AC_LANG_PROGRAM([[ -+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ - #include - #include - ]],[[ diff --git a/package/subversion/subversion.hash b/package/subversion/subversion.hash index 534d59651..d2239b1b5 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.1.tar.bz2.sha512 -sha512 0a70c7152b77cdbcb810a029263e4b3240b6ef41d1c19714e793594088d3cca758d40dfbc05622a806b06463becb73207df249393924ce591026b749b875fcdd subversion-1.14.1.tar.bz2 +# From https://www.apache.org/dist/subversion/subversion-1.14.2.tar.bz2.sha512 +sha512 20ada4688ca07d9fb8da4b7d53b5084568652a3b9418c65e688886bae950a16a3ff37710fcfc9c29ef14a89e75b2ceec4e9cf35d5876a7896ebc2b512cfb9ecc subversion-1.14.2.tar.bz2 # Locally calculated sha256 484aff0cfbb81155a10f903ed756e27e9fc65578c245a295bae295c4bb51eaad LICENSE diff --git a/package/subversion/subversion.mk b/package/subversion/subversion.mk index d4cc71753..b27058c02 100644 --- a/package/subversion/subversion.mk +++ b/package/subversion/subversion.mk @@ -4,7 +4,7 @@ # ################################################################################ -SUBVERSION_VERSION = 1.14.1 +SUBVERSION_VERSION = 1.14.2 SUBVERSION_SOURCE = subversion-$(SUBVERSION_VERSION).tar.bz2 SUBVERSION_SITE = https://downloads.apache.org/subversion SUBVERSION_LICENSE = Apache-2.0 @@ -20,7 +20,6 @@ SUBVERSION_DEPENDENCIES = \ zlib \ sqlite \ $(TARGET_NLS_DEPENDENCIES) -SUBVERSION_AUTORECONF = YES SUBVERSION_CONF_OPTS = \ --with-expat=$(STAGING_DIR)/usr/include:$(STAGING_DIR)/usr/lib: \ --with-apr=$(STAGING_DIR)/usr \ diff --git a/package/sudo/0001-configure.ac-fix-openssl-static-build.patch b/package/sudo/0001-configure.ac-fix-openssl-static-build.patch new file mode 100644 index 000000000..dc91af611 --- /dev/null +++ b/package/sudo/0001-configure.ac-fix-openssl-static-build.patch @@ -0,0 +1,47 @@ +From 1fed5adc166d5f2190a6b6ad048ec2d803316327 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 22 Feb 2023 10:13:30 +0100 +Subject: [PATCH] configure.ac: fix openssl static build + +Do not use AX_APPEND_FLAG as it will break static builds by removing +duplicates such as -lz or -latomic which are needed by -lssl and +-lcrypto. This will fix the following build failure with sparc which +needs -latomic: + +Checking for X509_STORE_CTX_get0_cert +configure:21215: /home/thomas/autobuild/instance-3/output-1/host/bin/sparc-buildroot-linux-uclibc-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DZLIB_CONST -static conftest.c -L/home/thomas/autobuild/instance-3/output-1/host/bin/../sparc-buildroot-linux-uclibc/sysroot/usr/lib -lssl -lz -pthread -latomic -lcrypto >&5 +/home/thomas/autobuild/instance-3/output-1/host/lib/gcc/sparc-buildroot-linux-uclibc/10.4.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: /home/thomas/autobuild/instance-3/output-1/host/bin/../sparc-buildroot-linux-uclibc/sysroot/usr/lib/libcrypto.a(x509cset.o): in function `X509_CRL_up_ref': +x509cset.c:(.text+0x108): undefined reference to `__atomic_fetch_add_4' + +[...] + +In file included from ./hostcheck.c:38: +../../include/sudo_compat.h:342:41: error: conflicting types for 'ASN1_STRING_data' + 342 | # define ASN1_STRING_get0_data(x) ASN1_STRING_data(x) + | ^~~~~~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/8be59dd94e4916f9457cb435104e36e62a28373b + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/sudo-project/sudo/commit/1fed5adc166d5f2190a6b6ad048ec2d803316327] +--- + m4/openssl.m4 | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/m4/openssl.m4 b/m4/openssl.m4 +index a2e4941ae8..b4cbd821db 100644 +--- a/m4/openssl.m4 ++++ b/m4/openssl.m4 +@@ -44,7 +44,9 @@ AC_DEFUN([SUDO_CHECK_OPENSSL], [ + SUDO_APPEND_LIBPATH([LIBTLS], [$f]) + ;; + *) +- AX_APPEND_FLAG([$f], [LIBTLS]) ++ # Do not use AX_APPEND_FLAG as it will break static builds by removing ++ # duplicates such as -lz or -latomic which are needed by -lssl and -lcrypto ++ LIBTLS="$LIBTLS $f" + ;; + esac + done diff --git a/package/sudo/Config.in b/package/sudo/Config.in index cbef15d67..ee5ea542a 100644 --- a/package/sudo/Config.in +++ b/package/sudo/Config.in @@ -8,4 +8,4 @@ config BR2_PACKAGE_SUDO basic philosophy is to give as few privileges as possible but still allow people to get their work done. - http://www.sudo.ws/sudo/ + https://www.sudo.ws/sudo/ diff --git a/package/sudo/sudo.hash b/package/sudo/sudo.hash index 1b494af69..720b21d84 100644 --- a/package/sudo/sudo.hash +++ b/package/sudo/sudo.hash @@ -1,4 +1,4 @@ -# From: http://www.sudo.ws/download.html -sha256 9e3b8b8da7def43b6e60c257abe80467205670fd0f7c081de1423c414b680f2d sudo-1.9.8p2.tar.gz +# From: https://www.sudo.ws/getting/download/ +sha256 92334a12bb93e0c056b09f53e255ccb7d6f67c6350e2813cd9593ceeca78560b sudo-1.9.13p3.tar.gz # Locally calculated -sha256 b678438594f04a7070a5fd125f7edffc871e13234baad318690b647bfc60705d doc/LICENSE +sha256 ea33b3971e8e4d9657cd6794a952aaa71b22bd16745f1645455b6ead010e0a28 LICENSE.md diff --git a/package/sudo/sudo.mk b/package/sudo/sudo.mk index a75221712..e70e8bd31 100644 --- a/package/sudo/sudo.mk +++ b/package/sudo/sudo.mk @@ -4,18 +4,22 @@ # ################################################################################ -SUDO_VERSION_MAJOR = 1.9.8 -SUDO_VERSION_MINOR = p2 +SUDO_VERSION_MAJOR = 1.9.13 +SUDO_VERSION_MINOR = p3 SUDO_VERSION = $(SUDO_VERSION_MAJOR)$(SUDO_VERSION_MINOR) SUDO_SITE = https://www.sudo.ws/sudo/dist SUDO_LICENSE = ISC, BSD-3-Clause -SUDO_LICENSE_FILES = doc/LICENSE +SUDO_LICENSE_FILES = LICENSE.md SUDO_CPE_ID_VERSION = $(SUDO_VERSION_MAJOR) SUDO_CPE_ID_UPDATE = $(SUDO_VERSION_MINOR) SUDO_SELINUX_MODULES = sudo +# We're patching m4/openssl.m4 +SUDO_AUTORECONF = YES # This is to avoid sudo's make install from chown()ing files which fails SUDO_INSTALL_TARGET_OPTS = INSTALL_OWNER="" DESTDIR="$(TARGET_DIR)" install SUDO_CONF_OPTS = \ + --with-tzdir=$(if $(BR2_PACKAGE_TZDATA),/usr/share/zoneinfo,no) \ + --enable-tmpfiles.d=$(if $(BR2_PACKAGE_SYSTEMD),/usr/lib/tmpfiles.d,no) \ --without-lecture \ --without-sendmail \ --without-umask \ @@ -80,7 +84,7 @@ define SUDO_USERS endef define SUDO_ENABLE_SUDO_GROUP_RULE - $(SED) '/^# \%sudo\tALL=(ALL) ALL/s/^# //' $(TARGET_DIR)/etc/sudoers + $(SED) '/^# \%sudo\tALL=(ALL:ALL) ALL/s/^# //' $(TARGET_DIR)/etc/sudoers endef SUDO_POST_INSTALL_TARGET_HOOKS += SUDO_ENABLE_SUDO_GROUP_RULE diff --git a/package/sunxi-mali-utgard-driver/Config.in b/package/sunxi-mali-utgard-driver/Config.in index 244283f44..ba4d1919c 100644 --- a/package/sunxi-mali-utgard-driver/Config.in +++ b/package/sunxi-mali-utgard-driver/Config.in @@ -36,4 +36,4 @@ config BR2_PACKAGE_SUNXI_MALI_UTGARD_DRIVER since the driver requires at least double buffering and fails to work with the default value(100). - https://github.com/mripard/sunxi-mali/blob/master/README.md + https://github.com/giuliobenetti/sunxi-mali/blob/master/README.md diff --git a/package/sunxi-mali-utgard-driver/sunxi-mali-utgard-driver.hash b/package/sunxi-mali-utgard-driver/sunxi-mali-utgard-driver.hash index 4b276fecb..ac6587b27 100644 --- a/package/sunxi-mali-utgard-driver/sunxi-mali-utgard-driver.hash +++ b/package/sunxi-mali-utgard-driver/sunxi-mali-utgard-driver.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 0197271dbf503e866dd4873091f61bb3de1f2c3031701aac1ba205d1e2f267ac sunxi-mali-utgard-driver-e4a91c95096bb31450b556fcb13f3c4ba79f60b4.tar.gz +sha256 64f15a8c7d383ac92230ef82711507a7f3a309462999f6694863fbbb4f12e0be sunxi-mali-utgard-driver-c4cf7aabed25e0fd27159564caf588a37016870d.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/sunxi-mali-utgard-driver/sunxi-mali-utgard-driver.mk b/package/sunxi-mali-utgard-driver/sunxi-mali-utgard-driver.mk index 5f9090f49..594a770e6 100644 --- a/package/sunxi-mali-utgard-driver/sunxi-mali-utgard-driver.mk +++ b/package/sunxi-mali-utgard-driver/sunxi-mali-utgard-driver.mk @@ -4,8 +4,8 @@ # ################################################################################ -SUNXI_MALI_UTGARD_DRIVER_VERSION = e4a91c95096bb31450b556fcb13f3c4ba79f60b4 -SUNXI_MALI_UTGARD_DRIVER_SITE = $(call github,mripard,sunxi-mali,$(SUNXI_MALI_UTGARD_DRIVER_VERSION)) +SUNXI_MALI_UTGARD_DRIVER_VERSION = c4cf7aabed25e0fd27159564caf588a37016870d +SUNXI_MALI_UTGARD_DRIVER_SITE = $(call github,giuliobenetti,sunxi-mali,$(SUNXI_MALI_UTGARD_DRIVER_VERSION)) SUNXI_MALI_UTGARD_DRIVER_DEPENDENCIES = linux SUNXI_MALI_UTGARD_DRIVER_LICENSE = GPL-2.0 SUNXI_MALI_UTGARD_DRIVER_LICENSE_FILES = LICENSE diff --git a/package/sunxi-mali-utgard/Config.in b/package/sunxi-mali-utgard/Config.in index ff49ea03f..59ac21f5a 100644 --- a/package/sunxi-mali-utgard/Config.in +++ b/package/sunxi-mali-utgard/Config.in @@ -20,6 +20,8 @@ config BR2_PACKAGE_PROVIDES_LIBGLES choice prompt "Version" + default BR2_PACKAGE_SUNXI_MALI_UTGARD_R6P2 if BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2 # legacy + default BR2_PACKAGE_SUNXI_MALI_UTGARD_R8P1 if BR2_PACKAGE_SUNXI_MALI_MAINLINE_R8P1 # legacy default BR2_PACKAGE_SUNXI_MALI_UTGARD_R6P2 help Select the version of the userspace module. diff --git a/package/supertuxkart/Config.in b/package/supertuxkart/Config.in index 1dd5dcf05..319415754 100644 --- a/package/supertuxkart/Config.in +++ b/package/supertuxkart/Config.in @@ -24,7 +24,7 @@ config BR2_PACKAGE_SUPERTUXKART select BR2_PACKAGE_SDL2 select BR2_PACKAGE_XLIB_LIBXRANDR select BR2_PACKAGE_ZLIB - select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID if BR2_PACKAGE_BLUEZ5_UTILS # runtime + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID if BR2_PACKAGE_BLUEZ5_UTILS && BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # runtime help Karts. Nitro. Action! SuperTuxKart is a free 3D arcade kart racer with multiple karts, tracks and modes you can play. diff --git a/package/supertuxkart/supertuxkart.hash b/package/supertuxkart/supertuxkart.hash index 306634d28..6ae3fae82 100644 --- a/package/supertuxkart/supertuxkart.hash +++ b/package/supertuxkart/supertuxkart.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 eeabeb0d9801688a218f6f0a76ea3546a46a322ccaca9a258148ecacfe083ffd SuperTuxKart-1.3-src.tar.xz -sha256 d27207a5213f746aac53893e9ecc18456e9595d3ffa662bd1ec9eb10787c214a COPYING +sha256 eeabeb0d9801688a218f6f0a76ea3546a46a322ccaca9a258148ecacfe083ffd SuperTuxKart-1.3-src.tar.xz +sha256 d27207a5213f746aac53893e9ecc18456e9595d3ffa662bd1ec9eb10787c214a COPYING diff --git a/package/suricata/suricata.hash b/package/suricata/suricata.hash index 098740e76..38ab5e9cd 100644 --- a/package/suricata/suricata.hash +++ b/package/suricata/suricata.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 a8f197e33d1678689ebbf7bc1abe84934c465d22c504c47c2c7e9b74aa042d0d suricata-6.0.4.tar.gz +sha256 00173634fa76aee636e38a90b1c02616c903e42173107d47b4114960b5fbe839 suricata-6.0.6.tar.gz # Hash for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/suricata/suricata.mk b/package/suricata/suricata.mk index 86d897017..8c38b7c71 100644 --- a/package/suricata/suricata.mk +++ b/package/suricata/suricata.mk @@ -4,7 +4,7 @@ # ################################################################################ -SURICATA_VERSION = 6.0.4 +SURICATA_VERSION = 6.0.6 SURICATA_SITE = https://www.openinfosecfoundation.org/download SURICATA_LICENSE = GPL-2.0 SURICATA_LICENSE_FILES = COPYING LICENSE diff --git a/package/swig/swig.hash b/package/swig/swig.hash index 08b2b5a1e..64fe4f979 100644 --- a/package/swig/swig.hash +++ b/package/swig/swig.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc swig-4.0.2.tar.gz -sha256 f53abaeed775018d519a1b9615f0ca17894772bd9ca21c2a156bf340ac41c13e LICENSE -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE-GPL -sha256 7f50d942373a871211c5efee03f3db2f9efd1cff1002b0ef8e3748baa611a5c2 LICENSE-UNIVERSITIES +sha256 d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc swig-4.0.2.tar.gz +sha256 f53abaeed775018d519a1b9615f0ca17894772bd9ca21c2a156bf340ac41c13e LICENSE +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE-GPL +sha256 7f50d942373a871211c5efee03f3db2f9efd1cff1002b0ef8e3748baa611a5c2 LICENSE-UNIVERSITIES diff --git a/package/swupdate/swupdate.mk b/package/swupdate/swupdate.mk index 065ae772b..8996ddf61 100644 --- a/package/swupdate/swupdate.mk +++ b/package/swupdate/swupdate.mk @@ -88,6 +88,10 @@ else SWUPDATE_MAKE_ENV += HAVE_LIBGPIOD=n endif +ifeq ($(BR2_PACKAGE_LIBUBOOTENV),y) +SWUPDATE_DEPENDENCIES += libubootenv +endif + ifeq ($(BR2_PACKAGE_LIBURIPARSER),y) SWUPDATE_DEPENDENCIES += liburiparser SWUPDATE_MAKE_ENV += HAVE_URIPARSER=y @@ -217,12 +221,11 @@ define SWUPDATE_SET_WEBSERVER endef endif -SWUPDATE_BUILD_CONFIG = $(@D)/.config - SWUPDATE_KCONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_SWUPDATE_CONFIG)) SWUPDATE_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig SWUPDATE_MAKE_OPTS = \ + SWU_VER="$(SWUPDATE_VERSION) (Buildroot $(BR2_VERSION_FULL))" \ CROSS_COMPILE="$(TARGET_CROSS)" \ CONFIG_EXTRA_CFLAGS="$(TARGET_CFLAGS)" \ CONFIG_EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" diff --git a/package/sylpheed/sylpheed.hash b/package/sylpheed/sylpheed.hash index 08a5d0a22..39fa76612 100644 --- a/package/sylpheed/sylpheed.hash +++ b/package/sylpheed/sylpheed.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 0d6bc5eb46f5d0a463757c62bc80b00d219b294b3c3662840e4540f6db2e3e49 sylpheed-3.7.0.tar.xz -sha256 c38aee9e3c8c4d5d594ff548a1be05453023016d6286931f6512db215ec1fd42 COPYING -sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB +sha256 0d6bc5eb46f5d0a463757c62bc80b00d219b294b3c3662840e4540f6db2e3e49 sylpheed-3.7.0.tar.xz +sha256 c38aee9e3c8c4d5d594ff548a1be05453023016d6286931f6512db215ec1fd42 COPYING +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB diff --git a/package/synergy/synergy.hash b/package/synergy/synergy.hash index 8a053cf94..248fd9dce 100644 --- a/package/synergy/synergy.hash +++ b/package/synergy/synergy.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 06d1cb1d43251b0b624212652e9c0ab2657d124ac4f7e7d0c7f3e448c953c2a8 synergy-2.0.12-beta.tar.gz -sha256 4921009cd76e7d38a8e873c362b25dbaf032c320bbb36a40dec775ddbdcbe1d8 LICENSE +sha256 06d1cb1d43251b0b624212652e9c0ab2657d124ac4f7e7d0c7f3e448c953c2a8 synergy-2.0.12-beta.tar.gz +sha256 4921009cd76e7d38a8e873c362b25dbaf032c320bbb36a40dec775ddbdcbe1d8 LICENSE diff --git a/package/syslog-ng/syslog-ng.mk b/package/syslog-ng/syslog-ng.mk index c05ec9785..80cb27050 100644 --- a/package/syslog-ng/syslog-ng.mk +++ b/package/syslog-ng/syslog-ng.mk @@ -17,6 +17,13 @@ SYSLOG_NG_DEPENDENCIES = host-bison host-flex host-pkgconf \ SYSLOG_NG_AUTORECONF = YES SYSLOG_NG_CONF_OPTS = --disable-manpages --localstatedir=/var/run \ --disable-java --disable-java-modules --disable-mongodb +SYSLOG_NG_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_101915),y) +SYSLOG_NG_CFLAGS += -O0 +endif + +SYSLOG_NG_CONF_ENV = CFLAGS="$(SYSLOG_NG_CFLAGS)" ifeq ($(BR2_PACKAGE_GEOIP),y) SYSLOG_NG_DEPENDENCIES += geoip diff --git a/package/sysstat/sysstat.hash b/package/sysstat/sysstat.hash index b573f312c..b47f000e5 100644 --- a/package/sysstat/sysstat.hash +++ b/package/sysstat/sysstat.hash @@ -1,5 +1,5 @@ # From: http://sebastien.godard.pagesperso-orange.fr/download.html -sha1 1e38bc029979def730ae1fb1e39f631bd1a3bc73 sysstat-12.4.2.tar.xz +sha1 a730982e0c2d4964a0022c1509f3ea0a345402bc sysstat-12.6.1.tar.xz # Locally calculated -sha256 3701b2c1883d50eb384d7b95ce5b6df0a71fdcb3c23f96cb58098d1bcffa018f sysstat-12.4.2.tar.xz +sha256 18ff5a4e149e2568e43385637f72437fe6bafcc1322a93d13d1981e9464a0342 sysstat-12.6.1.tar.xz sha256 db296f2f7f35bca3a174efb0eb392b3b17bd94b341851429a3dff411b1c2fc73 COPYING diff --git a/package/sysstat/sysstat.mk b/package/sysstat/sysstat.mk index 6948f6b39..eaf505dc4 100644 --- a/package/sysstat/sysstat.mk +++ b/package/sysstat/sysstat.mk @@ -4,7 +4,7 @@ # ################################################################################ -SYSSTAT_VERSION = 12.4.2 +SYSSTAT_VERSION = 12.6.1 SYSSTAT_SOURCE = sysstat-$(SYSSTAT_VERSION).tar.xz SYSSTAT_SITE = http://pagesperso-orange.fr/sebastien.godard SYSSTAT_CONF_OPTS = --disable-file-attr @@ -14,6 +14,9 @@ SYSSTAT_LICENSE_FILES = COPYING SYSSTAT_CPE_ID_VENDOR = sysstat_project SYSSTAT_SELINUX_MODULES = sysstat +# NVD is not up-to-date; 12.6.1 includes c1e631eddc50, which fixes the issue +SYSSTAT_IGNORE_CVES += CVE-2022-39377 + ifeq ($(BR2_PACKAGE_LM_SENSORS),y) SYSSTAT_DEPENDENCIES += lm-sensors SYSSTAT_CONF_OPTS += --enable-sensors diff --git a/package/systemd/0001-missing-syscall-define-MOVE_MOUNT_T_EMPTY_PATH-if-mi.patch b/package/systemd/0001-missing-syscall-define-MOVE_MOUNT_T_EMPTY_PATH-if-mi.patch deleted file mode 100644 index 0934886ac..000000000 --- a/package/systemd/0001-missing-syscall-define-MOVE_MOUNT_T_EMPTY_PATH-if-mi.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 16c132a6a0389e0eaea70c4ad95dbfd1637ec5ba Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 7 Jan 2022 22:25:23 +0100 -Subject: [PATCH] missing-syscall: define MOVE_MOUNT_T_EMPTY_PATH if missing - -MOVE_MOUNT_T_EMPTY_PATH has been added to systemd 250 by [1] -but it's defined in kernel headers since version 5.2. - -[1] c7bf079bbc19e3b409acc0c7acc3e14749211fe2 - -Signed-off-by: Romain Naour ---- - src/basic/missing_syscall.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h -index 8267b1a90c..793d111c55 100644 ---- a/src/basic/missing_syscall.h -+++ b/src/basic/missing_syscall.h -@@ -569,6 +569,10 @@ static inline int missing_open_tree( - #define MOVE_MOUNT_F_EMPTY_PATH 0x00000004 /* Empty from path permitted */ - #endif - -+#ifndef MOVE_MOUNT_T_EMPTY_PATH -+#define MOVE_MOUNT_T_EMPTY_PATH 0x00000040 /* Empty to path permitted */ -+#endif -+ - static inline int missing_move_mount( - int from_dfd, - const char *from_pathname, --- -2.31.1 - diff --git a/package/systemd/Config.in b/package/systemd/Config.in index cc0736561..f0a2f9de8 100644 --- a/package/systemd/Config.in +++ b/package/systemd/Config.in @@ -94,7 +94,7 @@ menuconfig BR2_PACKAGE_SYSTEMD the apropriate ones (e.g. e2fsck, from the e2fsprogs package) according to the system configuration. - http://freedesktop.org/wiki/Software/systemd + https://freedesktop.org/wiki/Software/systemd/ if BR2_PACKAGE_SYSTEMD @@ -179,7 +179,7 @@ config BR2_PACKAGE_SYSTEMD_BACKLIGHT systemd-backlight is a service that restores the display backlight brightness at early boot and saves it at shutdown. - http://www.freedesktop.org/software/systemd/man/systemd-backlight@.service.html + https://www.freedesktop.org/software/systemd/man/systemd-backlight@.service.html config BR2_PACKAGE_SYSTEMD_BINFMT bool "enable binfmt tool" @@ -196,7 +196,7 @@ config BR2_PACKAGE_SYSTEMD_COREDUMP kernel when a user space program receives a fatal signal and dumps core. - http://www.freedesktop.org/software/systemd/man/systemd-coredump.html + https://www.freedesktop.org/software/systemd/man/systemd-coredump.html config BR2_PACKAGE_SYSTEMD_PSTORE bool "enable pstore support" @@ -214,7 +214,7 @@ config BR2_PACKAGE_SYSTEMD_FIRSTBOOT systemd-firstboot initializes the most basic system settings interactively on the first boot. - http://www.freedesktop.org/software/systemd/man/systemd-firstboot.html + https://www.freedesktop.org/software/systemd/man/systemd-firstboot.html config BR2_PACKAGE_SYSTEMD_HIBERNATE bool "enable hibernation support" @@ -223,7 +223,7 @@ config BR2_PACKAGE_SYSTEMD_HIBERNATE When this features is enabled, additional tools and services are built to support suspending and resuming the system. - http://www.freedesktop.org/software/systemd/man/systemd-sleep.html + https://www.freedesktop.org/software/systemd/man/systemd-sleep.html config BR2_PACKAGE_SYSTEMD_HOMED bool "enable home daemon" @@ -234,6 +234,7 @@ config BR2_PACKAGE_SYSTEMD_HOMED depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 # fscrypt_key select BR2_PACKAGE_CRYPTSETUP select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL select BR2_PACKAGE_UTIL_LINUX_LIBFDISK help systemd-homed is a system service that may be used to create, @@ -254,7 +255,7 @@ config BR2_PACKAGE_SYSTEMD_HOSTNAMED systemd-hostnamed is a system service that may be used as a mechanism to change the system's hostname. - http://www.freedesktop.org/software/systemd/man/systemd-hostnamed.service.html + https://www.freedesktop.org/software/systemd/man/systemd-hostnamed.service.html config BR2_PACKAGE_SYSTEMD_HWDB bool "enable hwdb installation" @@ -279,7 +280,7 @@ config BR2_PACKAGE_SYSTEMD_IMPORTD machine and container images for systemd-machined and machinectl. - http://www.freedesktop.org/software/systemd/man/machinectl.html#Image%20Transfer%20Commands + https://www.freedesktop.org/software/systemd/man/machinectl.html#Image%20Transfer%20Commands config BR2_PACKAGE_SYSTEMD_CATALOGDB bool "enable journal catalog database installation" @@ -302,14 +303,14 @@ config BR2_PACKAGE_SYSTEMD_LOCALED mechanism to change the system locale settings, as well as the console key mapping and default X11 key mapping. - http://www.freedesktop.org/software/systemd/man/systemd-localed.service.html + https://www.freedesktop.org/software/systemd/man/systemd-localed.service.html config BR2_PACKAGE_SYSTEMD_LOGIND bool "enable login daemon" help systemd-logind is a system service that manages user logins. - http://www.freedesktop.org/software/systemd/man/systemd-logind.service.html + https://www.freedesktop.org/software/systemd/man/systemd-logind.service.html config BR2_PACKAGE_SYSTEMD_MACHINED bool "enable machine daemon" @@ -318,7 +319,7 @@ config BR2_PACKAGE_SYSTEMD_MACHINED virtual machines and containers, and processes belonging to them. - http://www.freedesktop.org/software/systemd/man/systemd-machined.service.html + https://www.freedesktop.org/software/systemd/man/systemd-machined.service.html config BR2_PACKAGE_SYSTEMD_MYHOSTNAME bool "enable myhostname NSS plugin" @@ -329,7 +330,7 @@ config BR2_PACKAGE_SYSTEMD_MYHOSTNAME primarily providing hostname resolution for the locally configured system hostname as returned by gethostname(2). - http://www.freedesktop.org/software/systemd/man/nss-myhostname.html + https://www.freedesktop.org/software/systemd/man/nss-myhostname.html config BR2_PACKAGE_SYSTEMD_NETWORKD bool "enable network manager" @@ -342,7 +343,7 @@ config BR2_PACKAGE_SYSTEMD_NETWORKD This simple network configuration solution is an alternative to dhcpcd or ISC dhcp. - http://www.freedesktop.org/software/systemd/man/systemd-networkd.html + https://www.freedesktop.org/software/systemd/man/systemd-networkd.html config BR2_PACKAGE_SYSTEMD_OOMD bool "enable out-of-memory killer" @@ -358,6 +359,7 @@ config BR2_PACKAGE_SYSTEMD_POLKIT depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # polkit -> c++17 depends on BR2_TOOLCHAIN_HAS_THREADS # polkit depends on BR2_USE_WCHAR # libglib2 + depends on !BR2_OPTIMIZE_FAST # polkit -> duktape select BR2_PACKAGE_POLKIT help If enabled, systemd is built with polkit support and policy @@ -365,12 +367,15 @@ config BR2_PACKAGE_SYSTEMD_POLKIT useful for allowing unprivileged processes to speak to systemd's many privileged processes. - http://wiki.freedesktop.org/www/Software/polkit/ + https://wiki.freedesktop.org/www/Software/polkit/ comment "polkit support needs a toolchain with threads, wchar, gcc >= 7" depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \ !BR2_TOOLCHAIN_HAS_THREADS +comment "polkit support can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST + config BR2_PACKAGE_SYSTEMD_PORTABLED bool "enable portable services" help @@ -397,7 +402,7 @@ config BR2_PACKAGE_SYSTEMD_QUOTACHECK file systems are mounted. It is pulled in only if at least one file system has quotas enabled. - http://www.freedesktop.org/software/systemd/man/systemd-quotacheck.service.html + https://www.freedesktop.org/software/systemd/man/systemd-quotacheck.service.html config BR2_PACKAGE_SYSTEMD_RANDOMSEED bool "enable random-seed support" @@ -407,11 +412,12 @@ config BR2_PACKAGE_SYSTEMD_RANDOMSEED shutdown. Saving/restoring the random seed across boots increases the amount of available entropy early at boot. - http://www.freedesktop.org/software/systemd/man/systemd-random-seed.service.html + https://www.freedesktop.org/software/systemd/man/systemd-random-seed.service.html config BR2_PACKAGE_SYSTEMD_REPART bool "enable repart support" select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL select BR2_PACKAGE_UTIL_LINUX_LIBFDISK help systemd-repart grows and adds partitions to a partition table, @@ -428,7 +434,7 @@ config BR2_PACKAGE_SYSTEMD_RESOLVED caching and validating DNS/DNSSEC stub resolver, as well as an LLMNR resolver and responder. - http://www.freedesktop.org/software/systemd/man/systemd-resolved.html + https://www.freedesktop.org/software/systemd/man/systemd-resolved.html config BR2_PACKAGE_SYSTEMD_RFKILL bool "enable rfkill tools" @@ -436,7 +442,7 @@ config BR2_PACKAGE_SYSTEMD_RFKILL systemd-rfkill is a service that restores the RF kill switch state at early boot and saves it at shutdown. - http://www.freedesktop.org/software/systemd/man/systemd-rfkill@.service.html + https://www.freedesktop.org/software/systemd/man/systemd-rfkill.service.html config BR2_PACKAGE_SYSTEMD_SMACK_SUPPORT bool "enable SMACK support" @@ -475,7 +481,7 @@ config BR2_PACKAGE_SYSTEMD_SYSUSERS systemd-sysusers creates system users and groups, based on the file format and location specified in sysusers.d(5). - http://www.freedesktop.org/software/systemd/man/systemd-sysusers.html + https://www.freedesktop.org/software/systemd/man/systemd-sysusers.html config BR2_PACKAGE_SYSTEMD_TIMEDATED bool "enable timedate daemon" @@ -485,7 +491,7 @@ config BR2_PACKAGE_SYSTEMD_TIMEDATED mechanism to change the system clock and timezone, as well as to enable/disable NTP time synchronization. - http://www.freedesktop.org/software/systemd/man/systemd-timedated.service.html + https://www.freedesktop.org/software/systemd/man/systemd-timedated.service.html config BR2_PACKAGE_SYSTEMD_TIMESYNCD bool "enable timesync daemon" @@ -498,7 +504,7 @@ config BR2_PACKAGE_SYSTEMD_TIMESYNCD This simple NTP solution is an alternative to sntp/ntpd from the ntp package. - http://www.freedesktop.org/software/systemd/man/systemd-timesyncd.html + https://www.freedesktop.org/software/systemd/man/systemd-timesyncd.html config BR2_PACKAGE_SYSTEMD_USERDB bool "enable userdb daemon" @@ -519,6 +525,6 @@ config BR2_PACKAGE_SYSTEMD_VCONSOLE systemd-vconsole-setup is an early boot service that configures the virtual console font and console keymap. - http://www.freedesktop.org/software/systemd/man/systemd-vconsole-setup.service.html + https://www.freedesktop.org/software/systemd/man/systemd-vconsole-setup.service.html endif diff --git a/package/systemd/systemd.hash b/package/systemd/systemd.hash index 81f51eac2..3b98566f3 100644 --- a/package/systemd/systemd.hash +++ b/package/systemd/systemd.hash @@ -1,5 +1,5 @@ # sha256 locally computed -sha256 87b0eee7b6e5aaab2ab56d158f9536daa6bfd5de011f2a5fc6ccdd81ee1e7a24 systemd-250.3.tar.gz +sha256 638a2fc78828765fc97bc73f428205b6dc1d359149b6c6bfe4d2a649cba2cca8 systemd-250.8.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 b07fac27d..2cc677462 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 = 250.3 +SYSTEMD_VERSION = 250.8 SYSTEMD_SITE = $(call github,systemd,systemd-stable,v$(SYSTEMD_VERSION)) SYSTEMD_LICENSE = \ LGPL-2.1+, \ @@ -44,7 +44,7 @@ SYSTEMD_LICENSE_FILES = \ LICENSES/murmurhash2-public-domain.txt \ LICENSES/OFL-1.1.txt \ LICENSES/README.md -SYSTEMD_CPE_ID_VENDOR = freedesktop +SYSTEMD_CPE_ID_VENDOR = systemd_project SYSTEMD_INSTALL_STAGING = YES SYSTEMD_DEPENDENCIES = \ $(BR2_COREUTILS_HOST_DEPENDENCY) \ @@ -498,7 +498,7 @@ else SYSTEMD_CONF_OPTS += -Dnss-resolve=false -Dresolve=false endif -ifeq ($(BR2_PACKAGE_OPENSSL),y) +ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) SYSTEMD_CONF_OPTS += \ -Dgnutls=false \ -Dopenssl=true \ @@ -603,6 +603,8 @@ endef define SYSTEMD_USERS # udev user groups + - - render -1 * - - - DRI rendering nodes + - - sgx -1 * - - - SGX device nodes # systemd user groups - - systemd-journal -1 * - - - Journal $(SYSTEMD_REMOTE_USER) diff --git a/package/sysvinit/sysvinit.hash b/package/sysvinit/sysvinit.hash index 5b3c7837e..f81e55fc4 100644 --- a/package/sysvinit/sysvinit.hash +++ b/package/sysvinit/sysvinit.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 b05c3677bb698afe64c997968b00c49b2a9bd320ce963523230ee7ea41197757 sysvinit-2.99.tar.xz +sha256 b05c3677bb698afe64c997968b00c49b2a9bd320ce963523230ee7ea41197757 sysvinit-2.99.tar.xz # Hash for license files: -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/szip/szip.hash b/package/szip/szip.hash index 3b582d901..5d3ee042f 100644 --- a/package/szip/szip.hash +++ b/package/szip/szip.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 21ee958b4f2d4be2c9cabfa5e1a94877043609ce86fde5f286f105f7ff84d412 szip-2.1.1.tar.gz -sha256 98cc66747133b26563fefc4630ad4c8c7848c722c7b8a60ecd4afbc4c7d7eb01 COPYING +sha256 21ee958b4f2d4be2c9cabfa5e1a94877043609ce86fde5f286f105f7ff84d412 szip-2.1.1.tar.gz +sha256 98cc66747133b26563fefc4630ad4c8c7848c722c7b8a60ecd4afbc4c7d7eb01 COPYING diff --git a/package/taskd/taskd.hash b/package/taskd/taskd.hash index 63bb87c1b..d3f8bb250 100644 --- a/package/taskd/taskd.hash +++ b/package/taskd/taskd.hash @@ -1,5 +1,5 @@ # From http://taskwarrior.org/download/ -sha1 ded339deeee65277e4712f71a9159502f8b20b52 taskd-1.1.0.tar.gz +sha1 ded339deeee65277e4712f71a9159502f8b20b52 taskd-1.1.0.tar.gz # Locally calculated sha256 7b8488e687971ae56729ff4e2e5209ff8806cf8cd57718bfd7e521be130621b4 taskd-1.1.0.tar.gz sha256 84d1a8c2e6e306864ff350857a36b6c74756e61e2eae6822cf2fa88212720f68 COPYING diff --git a/package/tcf-agent/Config.in b/package/tcf-agent/Config.in index 50e58642b..8c7aab0c0 100644 --- a/package/tcf-agent/Config.in +++ b/package/tcf-agent/Config.in @@ -27,7 +27,7 @@ config BR2_PACKAGE_TCF_AGENT_ARCH default "i686" if BR2_i386 && BR2_ARCH="i686" default "i386" if BR2_i386 && !BR2_ARCH="i686" default "x86_64" if BR2_x86_64 - default "powerpc" if BR2_powerpc || BR2_powerpcle + default "powerpc" if BR2_powerpc default "ppc64" if BR2_powerpc64 || BR2_powerpc64le default "microblaze" if BR2_microblaze || BR2_microblazeel diff --git a/package/tclap/Config.in b/package/tclap/Config.in index 560cf3317..64b0b74c8 100644 --- a/package/tclap/Config.in +++ b/package/tclap/Config.in @@ -8,7 +8,7 @@ config BR2_PACKAGE_TCLAP This is a small, flexible library that provides a simple interface for defining and accessing command line arguments. It was initially inspired by the user friendly - CLAP libary. The difference is that this library is + CLAP library. The difference is that this library is templatized, so the argument class is type independent. Type independence avoids identical-except-for-type objects, such as IntArg, FloatArg, and StringArg. While the library is not diff --git a/package/tcpdump/Config.in b/package/tcpdump/Config.in index 8b54c603d..742947136 100644 --- a/package/tcpdump/Config.in +++ b/package/tcpdump/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_TCPDUMP help A tool for network monitoring and data acquisition. - http://www.tcpdump.org/ + https://www.tcpdump.org/ if BR2_PACKAGE_TCPDUMP diff --git a/package/tcpdump/tcpdump.hash b/package/tcpdump/tcpdump.hash index 1990aa797..1a2288985 100644 --- a/package/tcpdump/tcpdump.hash +++ b/package/tcpdump/tcpdump.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature at -# https://www.tcpdump.org/release/tcpdump-4.99.1.tar.gz.sig +# https://www.tcpdump.org/release/tcpdump-4.99.3.tar.gz.sig # using key 1F166A5742ABB9E0249A8D30E089DEF1D9C15D0D -sha256 79b36985fb2703146618d87c4acde3e068b91c553fb93f021a337f175fd10ebe tcpdump-4.99.1.tar.gz +sha256 0232231bb2f29d6bf2426e70a08a7e0c63a0d59a9b44863b7f5e2357a6e49fea tcpdump-4.99.4.tar.gz sha256 8a54594d257e14a5260ac770f1633516cb51e3fc28c40136ce2697014eda7afd LICENSE diff --git a/package/tcpdump/tcpdump.mk b/package/tcpdump/tcpdump.mk index 7741c3b58..91643e7be 100644 --- a/package/tcpdump/tcpdump.mk +++ b/package/tcpdump/tcpdump.mk @@ -4,7 +4,7 @@ # ################################################################################ -TCPDUMP_VERSION = 4.99.1 +TCPDUMP_VERSION = 4.99.4 TCPDUMP_SITE = https://www.tcpdump.org/release TCPDUMP_LICENSE = BSD-3-Clause TCPDUMP_LICENSE_FILES = LICENSE diff --git a/package/tcping/tcping.hash b/package/tcping/tcping.hash index 49f6e5ba0..c97c0fa2a 100644 --- a/package/tcping/tcping.hash +++ b/package/tcping/tcping.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a731f0e48ff931d7b2a0e896e4db40867043740fe901dd225780f2164fdbdcf3 tcping-1.3.6.tar.gz -sha256 4a35620e27ddb8de27898e4206c8f93633d877c1e128e98e95a035f760d94428 LICENSE +sha256 a731f0e48ff931d7b2a0e896e4db40867043740fe901dd225780f2164fdbdcf3 tcping-1.3.6.tar.gz +sha256 4a35620e27ddb8de27898e4206c8f93633d877c1e128e98e95a035f760d94428 LICENSE diff --git a/package/tcpreplay/Config.in b/package/tcpreplay/Config.in index 5e36452cf..9e5509114 100644 --- a/package/tcpreplay/Config.in +++ b/package/tcpreplay/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_TCPREPLAY bool "tcpreplay" depends on BR2_USE_MMU # fork() select BR2_PACKAGE_LIBPCAP + select BR2_PACKAGE_MUSL_FTS if !BR2_TOOLCHAIN_USES_GLIBC help Tcpreplay is a tool for replaying network traffic from files saved with tcpdump or other tools which write pcap(3) files. diff --git a/package/tcpreplay/tcpreplay.hash b/package/tcpreplay/tcpreplay.hash index 8bcdae958..97c2e7ee3 100644 --- a/package/tcpreplay/tcpreplay.hash +++ b/package/tcpreplay/tcpreplay.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://github.com/appneta/tcpreplay/releases/download/v4.3.4/tcpreplay-4.3.4.tar.xz.asc +# https://github.com/appneta/tcpreplay/releases/download/v4.4.2/tcpreplay-4.4.2.tar.xz.asc # using key 84E4FA215C934A7D97DC76D5E9E2149793BDE17E -sha256 42c055106e55852c29d94bb6e1b9e001a0723349f2985eb893a47d384c85002b tcpreplay-4.3.4.tar.xz +sha256 91585c247b108ed3c10d3546d18f6a467d44229c9988c97736f953af69a6f438 tcpreplay-4.4.2.tar.xz sha256 07cf5e92d475287a7d1663b33097f40cae5adf03ed8920fcd4374e3dfb48c8ad docs/LICENSE diff --git a/package/tcpreplay/tcpreplay.mk b/package/tcpreplay/tcpreplay.mk index ef6540397..65eb90893 100644 --- a/package/tcpreplay/tcpreplay.mk +++ b/package/tcpreplay/tcpreplay.mk @@ -4,21 +4,27 @@ # ################################################################################ -TCPREPLAY_VERSION = 4.3.4 +TCPREPLAY_VERSION = 4.4.2 TCPREPLAY_SITE = https://github.com/appneta/tcpreplay/releases/download/v$(TCPREPLAY_VERSION) TCPREPLAY_SOURCE = tcpreplay-$(TCPREPLAY_VERSION).tar.xz TCPREPLAY_LICENSE = GPL-3.0 TCPREPLAY_LICENSE_FILES = docs/LICENSE -TCPREPLAY_CPE_ID_VENDOR = tcpreplay +TCPREPLAY_CPE_ID_VENDOR = broadcom TCPREPLAY_CONF_ENV = \ - ac_cv_path_ac_pt_PCAP_CONFIG="$(STAGING_DIR)/usr/bin/pcap-config" + ac_cv_path_ac_pt_PCAP_CONFIG="$(STAGING_DIR)/usr/bin/pcap-config" \ + LIBS="$(TCPREPLAY_LIBS)" TCPREPLAY_CONF_OPTS = --with-libpcap=$(STAGING_DIR)/usr \ --enable-pcapconfig TCPREPLAY_DEPENDENCIES = libpcap +ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),) +TCPREPLAY_DEPENDENCIES += musl-fts +TCPREPLAY_LIBS += -lfts +endif + ifeq ($(BR2_STATIC_LIBS),y) TCPREPLAY_CONF_OPTS += --enable-dynamic-link=no -TCPREPLAY_CONF_ENV += LIBS="`$(STAGING_DIR)/usr/bin/pcap-config --static --libs`" +TCPREPLAY_LIBS += `$(STAGING_DIR)/usr/bin/pcap-config --static --libs` endif ifeq ($(BR2_PACKAGE_LIBDNET),y) diff --git a/package/tekui/tekui.mk b/package/tekui/tekui.mk index 13000edd3..3cb7ff51e 100644 --- a/package/tekui/tekui.mk +++ b/package/tekui/tekui.mk @@ -59,11 +59,11 @@ endif endif define TEKUI_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) $(TEKUI_MAKE_OPTS) PREFIX="/usr" -C $(@D) all + $(TARGET_MAKE_ENV) $(TEKUI_MAKE) $(TEKUI_MAKE_OPTS) PREFIX="/usr" -C $(@D) all endef define TEKUI_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) $(TEKUI_MAKE_OPTS) PREFIX="$(TARGET_DIR)/usr" -C $(@D) install + $(TARGET_MAKE_ENV) $(TEKUI_MAKE) $(TEKUI_MAKE_OPTS) PREFIX="$(TARGET_DIR)/usr" -C $(@D) install endef $(eval $(generic-package)) diff --git a/package/tesseract-ocr/0002-configure.ac-fix-build-on-aarch64_be.patch b/package/tesseract-ocr/0002-configure.ac-fix-build-on-aarch64_be.patch new file mode 100644 index 000000000..20b8d5ce7 --- /dev/null +++ b/package/tesseract-ocr/0002-configure.ac-fix-build-on-aarch64_be.patch @@ -0,0 +1,32 @@ +From cffb8a36a987cd0d013d73501dd20c553ff69c77 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 21 Aug 2022 10:21:43 +0200 +Subject: [PATCH] configure.ac: fix build on aarch64_be + +Fix the following build failure on aarch64_be: + +/home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/aarch64_be-none-linux-gnu/10.3.1/../../../../aarch64_be-none-linux-gnu/bin/ld: ./.libs/libtesseract.so: undefined reference to `tesseract::IntSimdMatrix::intSimdMatrixNEON' + +Fixes: + - http://autobuild.buildroot.org/results/b9246a37fcf6be4fabfc491daddadfb09e0a320a + +Signed-off-by: Fabrice Fontaine +[Retrieved (and backported) from: +https://github.com/tesseract-ocr/tesseract/commit/cffb8a36a987cd0d013d73501dd20c553ff69c77] +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 63579c954f..2b05052395 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -170,7 +170,7 @@ case "${host_cpu}" in + + ;; + +- aarch64) ++ aarch64*) + + # ARMv8 always has NEON and does not need special compiler flags. + AM_CONDITIONAL([HAVE_NEON], true) diff --git a/package/tesseract-ocr/tesseract-ocr.mk b/package/tesseract-ocr/tesseract-ocr.mk index a7498931f..abe3d39ab 100644 --- a/package/tesseract-ocr/tesseract-ocr.mk +++ b/package/tesseract-ocr/tesseract-ocr.mk @@ -11,6 +11,8 @@ TESSERACT_OCR_LICENSE = Apache-2.0 TESSERACT_OCR_LICENSE_FILES = LICENSE # Source from github, no configure script provided +# 0001-Check-if-platform-supports-feenableexcept.patch +# 0002-configure.ac-fix-build-on-aarch64_be.patch TESSERACT_OCR_AUTORECONF = YES # cairo, pango and icu are optional dependencies, but only needed for @@ -39,7 +41,7 @@ ifeq ($(BR2_PACKAGE_TESSERACT_OCR_LANG_FRA),y) TESSERACT_OCR_DATA_FILES += fra.traineddata endif -ifeq ($(BR2_PACKAGE_TESSERACT_OCR_LANG_DEU),y) +ifeq ($(BR2_PACKAGE_TESSERACT_OCR_LANG_GER),y) TESSERACT_OCR_DATA_FILES += deu.traineddata endif diff --git a/package/tftpd/S80tftpd-hpa b/package/tftpd/S80tftpd-hpa index 4e8361faa..8ae15150a 100644 --- a/package/tftpd/S80tftpd-hpa +++ b/package/tftpd/S80tftpd-hpa @@ -11,6 +11,8 @@ DAEMON=/usr/sbin/$NAME PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/S80tftpd-hpa +[ -r "/etc/default/$NAME" ] && . "/etc/default/$NAME" + # # Function that starts the daemon/service. # diff --git a/package/tftpd/tftpd.mk b/package/tftpd/tftpd.mk index 42b5f1782..ceac24119 100644 --- a/package/tftpd/tftpd.mk +++ b/package/tftpd/tftpd.mk @@ -5,7 +5,8 @@ ################################################################################ TFTPD_VERSION = b2b34cecc8cbc18ff6f1fc00bda6ae6e9011e6c7 -TFTPD_SITE = git://git.kernel.org/pub/scm/network/tftp/tftp-hpa.git +TFTPD_SITE = https://git.kernel.org/pub/scm/network/tftp/tftp-hpa.git +TFTPD_SITE_METHOD = git TFTPD_CONF_OPTS = --without-tcpwrappers TFTPD_LICENSE = BSD-4-Clause TFTPD_LICENSE_FILES = tftpd/tftpd.c diff --git a/package/thttpd/thttpd.hash b/package/thttpd/thttpd.hash index 4bdd7fe74..a29b9b2dc 100644 --- a/package/thttpd/thttpd.hash +++ b/package/thttpd/thttpd.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 99c09f47da326b1e7b5295c45549d2b65534dce27c44812cf7eef1441681a397 thttpd-2.29.tar.gz -sha256 be059e6b8219d5bb5480fa6a2864bbb34892f56951d03d08b356bc1fa8c81a01 thttpd.c +sha256 99c09f47da326b1e7b5295c45549d2b65534dce27c44812cf7eef1441681a397 thttpd-2.29.tar.gz +sha256 be059e6b8219d5bb5480fa6a2864bbb34892f56951d03d08b356bc1fa8c81a01 thttpd.c diff --git a/package/ti-cgt-pru/ti-cgt-pru.hash b/package/ti-cgt-pru/ti-cgt-pru.hash index 4dee32183..f71ae0cfe 100644 --- a/package/ti-cgt-pru/ti-cgt-pru.hash +++ b/package/ti-cgt-pru/ti-cgt-pru.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 1f1405167214f2c0ef848591b17a7799fdcd9f55f11bc90db9ace3490d426215 ti_cgt_pru_2.3.3_linux_installer_x86.bin -sha256 913cb4ab564f874b7c9a11726a16c4ccdc7ecc60be2738201281a1e28dc93641 PRU_Code_Generation_Tools_2.3.x_manifest.html -sha256 5e198df9782c63cedc8363f0e298b241a9a8084398a925f6e1003dbcb60801cb pru_rts_2_3_0_82167478-F8C9-49b2-82BD-12F8550770F9.spdx +sha256 1f1405167214f2c0ef848591b17a7799fdcd9f55f11bc90db9ace3490d426215 ti_cgt_pru_2.3.3_linux_installer_x86.bin +sha256 913cb4ab564f874b7c9a11726a16c4ccdc7ecc60be2738201281a1e28dc93641 PRU_Code_Generation_Tools_2.3.x_manifest.html +sha256 5e198df9782c63cedc8363f0e298b241a9a8084398a925f6e1003dbcb60801cb pru_rts_2_3_0_82167478-F8C9-49b2-82BD-12F8550770F9.spdx diff --git a/package/ti-gfx/Config.in b/package/ti-gfx/Config.in index 76aabcb8c..40f46335a 100644 --- a/package/ti-gfx/Config.in +++ b/package/ti-gfx/Config.in @@ -45,7 +45,7 @@ config BR2_PACKAGE_TI_GFX_DEMOS config BR2_PACKAGE_TI_GFX_EGLIMAGE bool "install eglimage version of libraries" help - Installs OpenGL libaries which support the eglimage api. + Installs OpenGL libraries which support the eglimage api. choice prompt "Target" diff --git a/package/tiff/0001-tiffcrop-Correct-simple-copy-paste-error-Fix-488.patch b/package/tiff/0001-tiffcrop-Correct-simple-copy-paste-error-Fix-488.patch new file mode 100644 index 000000000..73c0d10ff --- /dev/null +++ b/package/tiff/0001-tiffcrop-Correct-simple-copy-paste-error-Fix-488.patch @@ -0,0 +1,28 @@ +From 97d65859bc29ee334012e9c73022d8a8e55ed586 Mon Sep 17 00:00:00 2001 +From: Su Laus +Date: Sat, 21 Jan 2023 15:58:10 +0000 +Subject: [PATCH] tiffcrop: Correct simple copy paste error. Fix #488. + +[Retrieved from: +https://gitlab.com/libtiff/libtiff/-/commit/97d65859bc29ee334012e9c73022d8a8e55ed586] +Signed-off-by: Fabrice Fontaine +--- + tools/tiffcrop.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c +index 14fa18da..7db69883 100644 +--- a/tools/tiffcrop.c ++++ b/tools/tiffcrop.c +@@ -8591,7 +8591,7 @@ static int processCropSelections(struct image_data *image, + cropsize + NUM_BUFF_OVERSIZE_BYTES); + else + { +- prev_cropsize = seg_buffs[0].size; ++ prev_cropsize = seg_buffs[i].size; + if (prev_cropsize < cropsize) + { + next_buff = _TIFFrealloc( +-- +GitLab + diff --git a/package/tiff/0001-tiffset-fix-global-buffer-overflow-for-ASCII-tags.patch b/package/tiff/0001-tiffset-fix-global-buffer-overflow-for-ASCII-tags.patch deleted file mode 100644 index ba1487782..000000000 --- a/package/tiff/0001-tiffset-fix-global-buffer-overflow-for-ASCII-tags.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 03047a26952a82daaa0792957ce211e0aa51bc64 Mon Sep 17 00:00:00 2001 -From: 4ugustus -Date: Tue, 25 Jan 2022 16:25:28 +0000 -Subject: [PATCH] tiffset: fix global-buffer-overflow for ASCII tags where - count is required (fixes #355) - -[Retrieved from: -https://gitlab.com/libtiff/libtiff/-/commit/03047a26952a82daaa0792957ce211e0aa51bc64] -Signed-off-by: Fabrice Fontaine ---- - tools/tiffset.c | 16 +++++++++++++--- - 1 file changed, 13 insertions(+), 3 deletions(-) - -diff --git a/tools/tiffset.c b/tools/tiffset.c -index 8c9e23c5..e7a88c09 100644 ---- a/tools/tiffset.c -+++ b/tools/tiffset.c -@@ -146,9 +146,19 @@ main(int argc, char* argv[]) - - arg_index++; - if (TIFFFieldDataType(fip) == TIFF_ASCII) { -- if (TIFFSetField(tiff, TIFFFieldTag(fip), argv[arg_index]) != 1) -- fprintf( stderr, "Failed to set %s=%s\n", -- TIFFFieldName(fip), argv[arg_index] ); -+ if(TIFFFieldPassCount( fip )) { -+ size_t len; -+ len = strlen(argv[arg_index]) + 1; -+ if (len > UINT16_MAX || TIFFSetField(tiff, TIFFFieldTag(fip), -+ (uint16_t)len, argv[arg_index]) != 1) -+ fprintf( stderr, "Failed to set %s=%s\n", -+ TIFFFieldName(fip), argv[arg_index] ); -+ } else { -+ if (TIFFSetField(tiff, TIFFFieldTag(fip), -+ argv[arg_index]) != 1) -+ fprintf( stderr, "Failed to set %s=%s\n", -+ TIFFFieldName(fip), argv[arg_index] ); -+ } - } else if (TIFFFieldWriteCount(fip) > 0 - || TIFFFieldWriteCount(fip) == TIFF_VARIABLE) { - int ret = 1; --- -GitLab - diff --git a/package/tiff/Config.in b/package/tiff/Config.in index f842c2ead..157076265 100644 --- a/package/tiff/Config.in +++ b/package/tiff/Config.in @@ -67,4 +67,8 @@ config BR2_PACKAGE_TIFF_UTILITIES help Install all tiff utilities. +config BR2_PACKAGE_TIFF_ZSTD + bool "ZSTD compression" + select BR2_PACKAGE_ZSTD + endif diff --git a/package/tiff/tiff.hash b/package/tiff/tiff.hash index ea08a1fc9..73732892a 100644 --- a/package/tiff/tiff.hash +++ b/package/tiff/tiff.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8 tiff-4.3.0.tar.gz -sha256 fbd6fed7938541d2c809c0826225fc85e551fdbfa8732b10f0c87e0847acafd7 COPYRIGHT +sha256 c7a1d9296649233979fa3eacffef3fa024d73d05d589cb622727b5b08c423464 tiff-4.5.0.tar.gz +sha256 0780558a8bfba0af1160ec1ff11ade4f41c0d7deafd6ecfc796b492a788e380d LICENSE.md diff --git a/package/tiff/tiff.mk b/package/tiff/tiff.mk index f80ab7ac5..9df4e1ce5 100644 --- a/package/tiff/tiff.mk +++ b/package/tiff/tiff.mk @@ -4,19 +4,24 @@ # ################################################################################ -TIFF_VERSION = 4.3.0 +TIFF_VERSION = 4.5.0 TIFF_SITE = http://download.osgeo.org/libtiff TIFF_LICENSE = tiff license -TIFF_LICENSE_FILES = COPYRIGHT +TIFF_LICENSE_FILES = LICENSE.md TIFF_CPE_ID_VENDOR = libtiff TIFF_CPE_ID_PRODUCT = libtiff TIFF_INSTALL_STAGING = YES -# 0001-tiffset-fix-global-buffer-overflow-for-ASCII-tags.patch -TIFF_IGNORE_CVES += CVE-2022-22844 +# 0001-tiffcrop-Correct-simple-copy-paste-error-Fix-488.patch +TIFF_IGNORE_CVES += CVE-2022-48281 +# webp has a (optional) dependency on tiff, so we can't have webp +# support in tiff, or that would create a circular dependency. TIFF_CONF_OPTS = \ + --disable-contrib \ --disable-cxx \ + --disable-tests \ + --disable-webp \ --without-x TIFF_DEPENDENCIES = host-pkgconf @@ -25,8 +30,12 @@ HOST_TIFF_CONF_OPTS = \ --disable-cxx \ --without-x \ --disable-zlib \ + --disable-libdeflate \ --disable-lzma \ - --disable-jpeg + --disable-jpeg \ + --disable-tests \ + --disable-webp \ + --disable-zstd HOST_TIFF_DEPENDENCIES = host-pkgconf ifneq ($(BR2_PACKAGE_TIFF_CCITT),y) @@ -87,12 +96,18 @@ ifneq ($(BR2_PACKAGE_TIFF_JBIG),y) TIFF_CONF_OPTS += --disable-jbig endif -TIFF_SUBDIRS = port libtiff ifeq ($(BR2_PACKAGE_TIFF_UTILITIES),y) -TIFF_SUBDIRS += tools +TIFF_CONF_OPTS += --enable-tools +else +TIFF_CONF_OPTS += --disable-tools endif -TIFF_MAKE = $(MAKE) SUBDIRS="$(TIFF_SUBDIRS)" +ifeq ($(BR2_PACKAGE_TIFF_ZSTD),y) +TIFF_CONF_OPTS += --enable-zstd +TIFF_DEPENDENCIES += zstd +else +TIFF_CONF_OPTS += --disable-zstd +endif $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/time/time.hash b/package/time/time.hash index cea57dc25..3afa03632 100644 --- a/package/time/time.hash +++ b/package/time/time.hash @@ -1,5 +1,5 @@ # From https://lists.gnu.org/archive/html/info-gnu/2018-03/msg00004.html -sha1 75068c26abbed3ad3980685bae21d7202d288317 time-1.9.tar.gz -sha256 fbacf0c81e62429df3e33bda4cee38756604f18e01d977338e23306a3e3b521e time-1.9.tar.gz +sha1 75068c26abbed3ad3980685bae21d7202d288317 time-1.9.tar.gz +sha256 fbacf0c81e62429df3e33bda4cee38756604f18e01d977338e23306a3e3b521e time-1.9.tar.gz # Locally calculated -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/timescaledb/timescaledb.hash b/package/timescaledb/timescaledb.hash index 5690ce65b..556cdaf32 100644 --- a/package/timescaledb/timescaledb.hash +++ b/package/timescaledb/timescaledb.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 58a34a7a3a571339a019c0ae999b4ebb9f93e1e0cb828501e32bb073e0a25eac timescaledb-2.5.1.tar.gz +sha256 b1a20832189c22ce378f009f9a24ef1db61d7131f7f79bde74fdcde87bcf2d7c timescaledb-2.5.2.tar.gz sha256 0378e0948feefd85f579319c74d6e2b671194037f550c7176ef26649d94c895b LICENSE diff --git a/package/timescaledb/timescaledb.mk b/package/timescaledb/timescaledb.mk index b1e4342fe..cfad6b47f 100644 --- a/package/timescaledb/timescaledb.mk +++ b/package/timescaledb/timescaledb.mk @@ -4,10 +4,11 @@ # ################################################################################ -TIMESCALEDB_VERSION = 2.5.1 +TIMESCALEDB_VERSION = 2.5.2 TIMESCALEDB_SITE = $(call github,timescale,timescaledb,$(TIMESCALEDB_VERSION)) TIMESCALEDB_LICENSE = Apache-2.0 TIMESCALEDB_LICENSE_FILES = LICENSE +TIMESCALEDB_CPE_ID_VENDOR = timescale TIMESCALEDB_DEPENDENCIES = postgresql diff --git a/package/tinc/tinc.hash b/package/tinc/tinc.hash index 5bd7aa2b1..4e12a2904 100644 --- a/package/tinc/tinc.hash +++ b/package/tinc/tinc.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 40f73bb3facc480effe0e771442a706ff0488edea7a5f2505d4ccb2aa8163108 tinc-1.0.36.tar.gz -sha256 3b37ffbf3459f2aceeef169aa65ee8b111ac1f8ba24a2a1b90b079678a9c7faa COPYING -sha256 9bf76a8aa304d807df20bf3d221c21d259764be63e39b58f299b80ba3ac14b5b COPYING.README +sha256 40f73bb3facc480effe0e771442a706ff0488edea7a5f2505d4ccb2aa8163108 tinc-1.0.36.tar.gz +sha256 3b37ffbf3459f2aceeef169aa65ee8b111ac1f8ba24a2a1b90b079678a9c7faa COPYING +sha256 9bf76a8aa304d807df20bf3d221c21d259764be63e39b58f299b80ba3ac14b5b COPYING.README diff --git a/package/tinymembench/tinymembench.hash b/package/tinymembench/tinymembench.hash index c0b767e93..04dbd30f8 100644 --- a/package/tinymembench/tinymembench.hash +++ b/package/tinymembench/tinymembench.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 e37a2682065b2778f2fa7f22bd59472f5ca2191be48503952ae020b8f023f23d tinymembench-0.4.tar.gz -sha256 8ba473aced4630aee2808efe17b53e904a9d68a9b3361de491717f9a4e75da39 LICENSE +sha256 e37a2682065b2778f2fa7f22bd59472f5ca2191be48503952ae020b8f023f23d tinymembench-0.4.tar.gz +sha256 8ba473aced4630aee2808efe17b53e904a9d68a9b3361de491717f9a4e75da39 LICENSE 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 new file mode 100644 index 000000000..da9c21a41 --- /dev/null +++ b/package/tinyproxy/0001-prevent-junk-from-showing-up-in-error-page-in-invalid-requests.patch @@ -0,0 +1,32 @@ +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 8c58b98ca..84e98a84c 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.0 -sha256 c1ec81cfc4c551d2c24e0227a5aeeaad8723bd9a39b61cd729e516b82eaa3f32 tinyproxy-1.11.0.tar.xz +# From https://github.com/tinyproxy/tinyproxy/releases/tag/1.11.1 +sha512 2e3435bbfece3797c11ccce222eef494ed92e00dd82bea2c40a54e454b7e03c8abc8e09b244f2da7192209c39047369439d08974b79eebc996fb3095230d0374 tinyproxy-1.11.1.tar.xz # locally computed sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/tinyproxy/tinyproxy.mk b/package/tinyproxy/tinyproxy.mk index 3930e90d7..e91a88688 100644 --- a/package/tinyproxy/tinyproxy.mk +++ b/package/tinyproxy/tinyproxy.mk @@ -4,11 +4,14 @@ # ################################################################################ -TINYPROXY_VERSION = 1.11.0 +TINYPROXY_VERSION = 1.11.1 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_VENDOR = tinyproxy_project +# 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/tinyxml/tinyxml.hash b/package/tinyxml/tinyxml.hash index 650a3b227..9e9a4f722 100644 --- a/package/tinyxml/tinyxml.hash +++ b/package/tinyxml/tinyxml.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 8164c9ad48b9028667768a584d62f7760cfbfb90d0dd6214ad174403058da10c tinyxml-2.6.2_2.tar.gz -sha256 a65b8363834ccbe31ab7b49dcba723ed204622df30326793e0121435624c1a8d README +sha256 8164c9ad48b9028667768a584d62f7760cfbfb90d0dd6214ad174403058da10c tinyxml-2.6.2_2.tar.gz +sha256 a65b8363834ccbe31ab7b49dcba723ed204622df30326793e0121435624c1a8d README diff --git a/package/tinyxml/tinyxml.mk b/package/tinyxml/tinyxml.mk index d173254e3..8e706f1a1 100644 --- a/package/tinyxml/tinyxml.mk +++ b/package/tinyxml/tinyxml.mk @@ -12,7 +12,7 @@ TINYXML_AUTORECONF = YES TINYXML_INSTALL_STAGING = YES TINYXML_LICENSE = Zlib TINYXML_LICENSE_FILES = README -TINYXML_CPE_ID_VENDOT = tinyxml_project +TINYXML_CPE_ID_VENDOR = tinyxml_project # 0001-In-stamp-always-advance-the-pointer-if-p-0xef.patch TINYXML_IGNORE_CVES += CVE-2021-42260 diff --git a/package/tio/tio.hash b/package/tio/tio.hash index 3053bd1bf..d6a031c85 100644 --- a/package/tio/tio.hash +++ b/package/tio/tio.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 a8f5ed6994cacb96780baa416b19e5a6d7d67e8c162a8ea4fd9eccd64984ae44 tio-1.32.tar.xz +sha256 a8f5ed6994cacb96780baa416b19e5a6d7d67e8c162a8ea4fd9eccd64984ae44 tio-1.32.tar.xz # Hash for license files: -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/tmux/tmux.mk b/package/tmux/tmux.mk index 281b7d8ee..b1c0af1a8 100644 --- a/package/tmux/tmux.mk +++ b/package/tmux/tmux.mk @@ -11,6 +11,13 @@ TMUX_LICENSE_FILES = COPYING TMUX_CPE_ID_VENDOR = tmux_project TMUX_DEPENDENCIES = libevent ncurses host-pkgconf +ifeq ($(BR2_PACKAGE_UTF8PROC),y) +TMUX_DEPENDENCIES += utf8proc +TMUX_CONF_OPTS += --enable-utf8proc +else +TMUX_CONF_OPTS += --disable-utf8proc +endif + # Add /usr/bin/tmux to /etc/shells otherwise some login tools like dropbear # can reject the user connection. See man shells. define TMUX_ADD_TMUX_TO_SHELLS diff --git a/package/tor/0001-Fix-static-linking-with-OpenSSL.patch b/package/tor/0001-Fix-static-linking-with-OpenSSL.patch deleted file mode 100644 index 26ed6fe81..000000000 --- a/package/tor/0001-Fix-static-linking-with-OpenSSL.patch +++ /dev/null @@ -1,94 +0,0 @@ -From ba6b8ee5b6dee19493a150c3715b0e202440d206 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Thu, 24 Jan 2019 18:19:51 +0100 -Subject: [PATCH] Fix static linking with OpenSSL - -Adjust link order of libz to solve bug with static linking -and remove host paths when looking for openssl. - -[Vincent: - - Adapt the patch to make it apply on the new version.] -[Bernd: rebased for tor-0.2.7.6, 0.2.8.10, 0.2.9.9, 0.3.1.7, 0.3.2.10, - 0.3.4.8, 0.3.5.7, 0.4.4.5, 0.4.5.6 & 0.4.6.7] -[Fabrice: fix detection of openssl functions in 0.3.5.8] -Signed-off-by: Vicente Olivert Riera -Signed-off-by: Bernd Kuhls -Signed-off-by: Fabrice Fontaine ---- - configure.ac | 4 ++-- - src/test/include.am | 8 ++++---- - src/tools/include.am | 4 ++-- - 4 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 05e1392cf..580befa6b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1074,7 +1074,7 @@ AC_ARG_WITH(ssl-dir, - ]) - - AC_MSG_NOTICE([Now, we'll look for OpenSSL >= 1.0.1]) --TOR_SEARCH_LIBRARY(openssl, $tryssldir, [-lssl -lcrypto $TOR_LIB_GDI $TOR_LIB_WS32 $TOR_LIB_CRYPT32], -+TOR_SEARCH_LIBRARY(openssl, $tryssldir, [-lssl -lcrypto -lz $TOR_LIB_GDI $TOR_LIB_WS32 $TOR_LIB_CRYPT32], - [#include - char *getenv(const char *);], - [struct ssl_cipher_st; -@@ -1104,7 +1104,7 @@ dnl Now check for particular openssl functions. - save_LIBS="$LIBS" - save_LDFLAGS="$LDFLAGS" - save_CPPFLAGS="$CPPFLAGS" --LIBS="$TOR_OPENSSL_LIBS $LIBS" -+LIBS="$TOR_OPENSSL_LIBS -lz $LIBS" - LDFLAGS="$TOR_LDFLAGS_openssl $LDFLAGS" - CPPFLAGS="$TOR_CPPFLAGS_openssl $CPPFLAGS" - -diff --git a/src/test/include.am b/src/test/include.am -index ecb768957..39a622e88 100644 ---- a/src/test/include.am -+++ b/src/test/include.am -@@ -399,8 +399,8 @@ src_test_test_ntor_cl_LDFLAGS = @TOR_LDFLAGS_zlib@ $(TOR_LDFLAGS_CRYPTLIB) - src_test_test_ntor_cl_LDADD = \ - libtor.a \ - $(rust_ldadd) \ -- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \ -- $(TOR_LIBS_CRYPTLIB) @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_SHLWAPI@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ -+ @TOR_LIB_MATH@ \ -+ $(TOR_LIBS_CRYPTLIB) @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_SHLWAPI@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ - @CURVE25519_LIBS@ @TOR_LZMA_LIBS@ @TOR_TRACE_LIBS@ - src_test_test_ntor_cl_AM_CPPFLAGS = \ - $(AM_CPPFLAGS) -@@ -409,8 +409,8 @@ - src_test_test_hs_ntor_cl_LDFLAGS = @TOR_LDFLAGS_zlib@ $(TOR_LDFLAGS_CRYPTLIB) - src_test_test_hs_ntor_cl_LDADD = \ - libtor.a \ -- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \ -- $(TOR_LIBS_CRYPTLIB) @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_SHLWAPI@ @TOR_LIB_GDI@ \ -+ @TOR_LIB_MATH@ \ -+ $(TOR_LIBS_CRYPTLIB) @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_SHLWAPI@ @TOR_LIB_GDI@ \ - @CURVE25519_LIBS@ @TOR_TRACE_LIBS@ - src_test_test_hs_ntor_cl_AM_CPPFLAGS = \ - $(AM_CPPFLAGS) -diff --git a/src/tools/include.am b/src/tools/include.am -index f7aa7e0d1..4c4e8aa7a 100644 ---- a/src/tools/include.am -+++ b/src/tools/include.am -@@ -35,7 +35,7 @@ src_tools_tor_gencert_LDADD = \ - $(TOR_CRYPTO_LIBS) \ - $(TOR_UTIL_LIBS) \ - $(rust_ldadd) \ -- @TOR_LIB_MATH@ @TOR_ZLIB_LIBS@ $(TOR_LIBS_CRYPTLIB) \ -+ @TOR_LIB_MATH@ $(TOR_LIBS_CRYPTLIB) @TOR_ZLIB_LIBS@ \ - @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_SHLWAPI@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ @CURVE25519_LIBS@ - endif - -@@ -45,7 +45,7 @@ src_tools_tor_print_ed_signing_cert_LDADD = \ - src/trunnel/libor-trunnel.a \ - $(TOR_CRYPTO_LIBS) \ - $(TOR_UTIL_LIBS) \ -- @TOR_LIB_MATH@ $(TOR_LIBS_CRYPTLIB) \ -+ @TOR_LIB_MATH@ $(TOR_LIBS_CRYPTLIB) @TOR_ZLIB_LIBS@ \ - @TOR_LIB_WS32@ @TOR_LIB_USERENV@ @TOR_LIB_SHLWAPI@ @TOR_LIB_GDI@ - - if USE_NSS --- -2.20.1 diff --git a/package/tor/0001-patch-src_lib_crypt_ops_crypto_dh_openssl_c.patch b/package/tor/0001-patch-src_lib_crypt_ops_crypto_dh_openssl_c.patch new file mode 100644 index 000000000..2df7c6b6a --- /dev/null +++ b/package/tor/0001-patch-src_lib_crypt_ops_crypto_dh_openssl_c.patch @@ -0,0 +1,67 @@ +Fix build with opaque structs in LibreSSL 3.5 + +Downloaded from OpenBSD ports: +http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/net/tor/patches/patch-src_lib_crypt_ops_crypto_dh_openssl_c?rev=1.2&content-type=text/x-cvsweb-markup + +Patch series was sent upstream: +https://forum.torproject.net/t/tor-relays-openbsd-stable-net-tor-and-0-4-7-7/3244 + +Signed-off-by: Bernd Kuhls + +Index: src/lib/crypt_ops/crypto_dh_openssl.c +--- a/src/lib/crypt_ops/crypto_dh_openssl.c.orig ++++ b/src/lib/crypt_ops/crypto_dh_openssl.c +@@ -60,7 +60,7 @@ crypto_validate_dh_params(const BIGNUM *p, const BIGNU + /* Copy into a temporary DH object, just so that DH_check() can be called. */ + if (!(dh = DH_new())) + goto out; +-#ifdef OPENSSL_1_1_API ++#if defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) + BIGNUM *dh_p, *dh_g; + if (!(dh_p = BN_dup(p))) + goto out; +@@ -223,7 +223,7 @@ new_openssl_dh_from_params(BIGNUM *p, BIGNUM *g) + goto err; + } + +-#ifdef OPENSSL_1_1_API ++#if defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) + + if (!DH_set0_pqg(res_dh, dh_p, NULL, dh_g)) { + goto err; +@@ -276,7 +276,7 @@ crypto_dh_get_bytes(crypto_dh_t *dh) + int + crypto_dh_generate_public(crypto_dh_t *dh) + { +-#ifndef OPENSSL_1_1_API ++#if !defined(OPENSSL_1_1_API) && !defined(LIBRESSL_VERSION_NUMBER) + again: + #endif + if (!DH_generate_key(dh->dh)) { +@@ -286,7 +286,7 @@ crypto_dh_generate_public(crypto_dh_t *dh) + return -1; + /* LCOV_EXCL_STOP */ + } +-#ifdef OPENSSL_1_1_API ++#if defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) + /* OpenSSL 1.1.x doesn't appear to let you regenerate a DH key, without + * recreating the DH object. I have no idea what sort of aliasing madness + * can occur here, so do the check, and just bail on failure. +@@ -327,7 +327,7 @@ crypto_dh_get_public(crypto_dh_t *dh, char *pubkey, si + + const BIGNUM *dh_pub; + +-#ifdef OPENSSL_1_1_API ++#if defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) + const BIGNUM *dh_priv; + DH_get0_key(dh->dh, &dh_pub, &dh_priv); + #else +@@ -338,7 +338,7 @@ crypto_dh_get_public(crypto_dh_t *dh, char *pubkey, si + if (crypto_dh_generate_public(dh)<0) + return -1; + else { +-#ifdef OPENSSL_1_1_API ++#if defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) + DH_get0_key(dh->dh, &dh_pub, &dh_priv); + #else + dh_pub = dh->dh->pub_key; diff --git a/package/tor/0002-patch-src_lib_crypt_ops_crypto_rsa_openssl_c.patch b/package/tor/0002-patch-src_lib_crypt_ops_crypto_rsa_openssl_c.patch new file mode 100644 index 000000000..1354a4221 --- /dev/null +++ b/package/tor/0002-patch-src_lib_crypt_ops_crypto_rsa_openssl_c.patch @@ -0,0 +1,58 @@ +Fix build with opaque structs in LibreSSL 3.5 + +Downloaded from OpenBSD ports: +http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/net/tor/patches/patch-src_lib_crypt_ops_crypto_rsa_openssl_c?rev=1.2&content-type=text/x-cvsweb-markup + +Patch series was sent upstream: +https://forum.torproject.net/t/tor-relays-openbsd-stable-net-tor-and-0-4-7-7/3244 + +Signed-off-by: Bernd Kuhls + +Index: src/lib/crypt_ops/crypto_rsa_openssl.c +--- a/src/lib/crypt_ops/crypto_rsa_openssl.c.orig ++++ b/src/lib/crypt_ops/crypto_rsa_openssl.c +@@ -47,7 +47,7 @@ struct crypto_pk_t + int + crypto_pk_key_is_private(const crypto_pk_t *k) + { +-#ifdef OPENSSL_1_1_API ++#if defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) + if (!k || !k->key) + return 0; + +@@ -212,7 +212,7 @@ crypto_pk_public_exponent_ok(const crypto_pk_t *env) + + const BIGNUM *e; + +-#ifdef OPENSSL_1_1_API ++#if defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) + const BIGNUM *n, *d; + RSA_get0_key(env->key, &n, &e, &d); + #else +@@ -242,7 +242,7 @@ crypto_pk_cmp_keys(const crypto_pk_t *a, const crypto_ + const BIGNUM *a_n, *a_e; + const BIGNUM *b_n, *b_e; + +-#ifdef OPENSSL_1_1_API ++#if defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) + const BIGNUM *a_d, *b_d; + RSA_get0_key(a->key, &a_n, &a_e, &a_d); + RSA_get0_key(b->key, &b_n, &b_e, &b_d); +@@ -279,7 +279,7 @@ crypto_pk_num_bits(crypto_pk_t *env) + tor_assert(env); + tor_assert(env->key); + +-#ifdef OPENSSL_1_1_API ++#if defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) + /* It's so stupid that there's no other way to check that n is valid + * before calling RSA_bits(). + */ +@@ -572,7 +572,7 @@ static bool + rsa_private_key_too_long(RSA *rsa, int max_bits) + { + const BIGNUM *n, *e, *p, *q, *d, *dmp1, *dmq1, *iqmp; +-#ifdef OPENSSL_1_1_API ++#if defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) + + #if OPENSSL_VERSION_NUMBER >= OPENSSL_V_SERIES(1,1,1) + n = RSA_get0_n(rsa); diff --git a/package/tor/0003-patch-src_lib_tls_x509_openssl_c.patch b/package/tor/0003-patch-src_lib_tls_x509_openssl_c.patch new file mode 100644 index 000000000..fe8586357 --- /dev/null +++ b/package/tor/0003-patch-src_lib_tls_x509_openssl_c.patch @@ -0,0 +1,22 @@ +Fix build with opaque structs in LibreSSL 3.5 + +Downloaded from OpenBSD ports: +http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/net/tor/patches/patch-src_lib_tls_x509_openssl_c?rev=1.2&content-type=text/x-cvsweb-markup + +Patch series was sent upstream: +https://forum.torproject.net/t/tor-relays-openbsd-stable-net-tor-and-0-4-7-7/3244 + +Signed-off-by: Bernd Kuhls + +Index: src/lib/tls/x509_openssl.c +--- a/src/lib/tls/x509_openssl.c.orig ++++ b/src/lib/tls/x509_openssl.c +@@ -329,7 +329,7 @@ tor_tls_cert_is_valid(int severity, + cert_key = X509_get_pubkey(cert->cert); + if (check_rsa_1024 && cert_key) { + RSA *rsa = EVP_PKEY_get1_RSA(cert_key); +-#ifdef OPENSSL_1_1_API ++#if defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) + if (rsa && RSA_bits(rsa) == 1024) { + #else + if (rsa && BN_num_bits(rsa->n) == 1024) { diff --git a/package/tor/tor.hash b/package/tor/tor.hash index 16e01c80a..51892f15c 100644 --- a/package/tor/tor.hash +++ b/package/tor/tor.hash @@ -1,3 +1,4 @@ +# From https://dist.torproject.org/tor-0.4.7.13.tar.gz.sha256sum +sha256 2079172cce034556f110048e26083ce9bea751f3154b0ad2809751815b11ea9d tor-0.4.7.13.tar.gz # Locally computed -sha256 94ccd60e04e558f33be73032bc84ea241660f92f58cfb88789bda6893739e31c tor-0.4.6.10.tar.gz sha256 47b54ed17e8fdcab3c44729a1789a09b208f9a63a845a7e50def9df729eebad0 LICENSE diff --git a/package/tor/tor.mk b/package/tor/tor.mk index d16b3541e..03bd99870 100644 --- a/package/tor/tor.mk +++ b/package/tor/tor.mk @@ -4,14 +4,13 @@ # ################################################################################ -TOR_VERSION = 0.4.6.10 +TOR_VERSION = 0.4.7.13 TOR_SITE = https://dist.torproject.org TOR_LICENSE = BSD-3-Clause TOR_LICENSE_FILES = LICENSE TOR_CPE_ID_VENDOR = torproject TOR_SELINUX_MODULES = tor TOR_DEPENDENCIES = libevent openssl zlib -TOR_AUTORECONF = YES TOR_CONF_OPTS = \ --disable-gcc-hardening \ @@ -64,8 +63,12 @@ endif TOR_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -TOR_CONF_ENV += LIBS=-latomic +TOR_LIBS += -latomic endif +ifeq ($(BR2_STATIC_LIBS),y) +TOR_LIBS += -lz +endif +TOR_CONF_ENV += LIBS="$(TOR_LIBS)" define TOR_INSTALL_CONF $(INSTALL) -D -m 644 $(@D)/src/config/torrc.minimal \ diff --git a/package/tovid/Config.in b/package/tovid/Config.in index 3dbb0e229..c263acdd6 100644 --- a/package/tovid/Config.in +++ b/package/tovid/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_TOVID bool "tovid" depends on BR2_USE_MMU # fork() - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # mpv depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR depends on BR2_PACKAGE_PYTHON3 @@ -29,12 +29,12 @@ config BR2_PACKAGE_TOVID http://tovid.wikia.com/wiki/Installing_tovid -comment "tovid needs a toolchain w/ threads, C++, wchar, gcc >= 4.9" +comment "tovid needs a toolchain w/ NPTL, C++, wchar, gcc >= 4.9" depends on BR2_USE_MMU depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_TOOLCHAIN_HAS_THREADS \ + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL \ || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 \ || !BR2_INSTALL_LIBSTDCPP \ || !BR2_USE_WCHAR @@ -45,6 +45,6 @@ comment "tovid depends on python3" depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on !BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC diff --git a/package/tovid/tovid.hash b/package/tovid/tovid.hash index 89d0461a9..430ea52c1 100644 --- a/package/tovid/tovid.hash +++ b/package/tovid/tovid.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c03a746a3592a656bab0be4045da114a4231eb0f858d6c18503dac64049fbe48 tovid-87c676f4aadb7303d2cd921380b054bafa4b85bb.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 c03a746a3592a656bab0be4045da114a4231eb0f858d6c18503dac64049fbe48 tovid-87c676f4aadb7303d2cd921380b054bafa4b85bb.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/tpm-tools/tpm-tools.hash b/package/tpm-tools/tpm-tools.hash index a2da230a7..bfbdfb835 100644 --- a/package/tpm-tools/tpm-tools.hash +++ b/package/tpm-tools/tpm-tools.hash @@ -1,7 +1,7 @@ # http://sourceforge.net/projects/trousers/files/tpm-tools/1.3.9.1/ -sha1 c35cb031c6b5220dd1c8a03995654fdd12aa3031 tpm-tools-1.3.9.1.tar.gz -md5 1532293aa632a0eaa7e60df87c779855 tpm-tools-1.3.9.1.tar.gz +sha1 c35cb031c6b5220dd1c8a03995654fdd12aa3031 tpm-tools-1.3.9.1.tar.gz +md5 1532293aa632a0eaa7e60df87c779855 tpm-tools-1.3.9.1.tar.gz # Locally calculated -sha256 9cb714e2650826e2e932f65bc0ba9d61b927dc5fea47f2c2a2b64f0fdfcbfa68 tpm-tools-1.3.9.1.tar.gz -sha256 7b47225a5b77cb7825efc6a4d7e0ac57864c790542cf92f5080ec2bf310c00e5 LICENSE +sha256 9cb714e2650826e2e932f65bc0ba9d61b927dc5fea47f2c2a2b64f0fdfcbfa68 tpm-tools-1.3.9.1.tar.gz +sha256 7b47225a5b77cb7825efc6a4d7e0ac57864c790542cf92f5080ec2bf310c00e5 LICENSE diff --git a/package/tpm2-totp/tpm2-totp.hash b/package/tpm2-totp/tpm2-totp.hash index a3fcb394c..f7cf06162 100644 --- a/package/tpm2-totp/tpm2-totp.hash +++ b/package/tpm2-totp/tpm2-totp.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 0b2b63cc7ea74f5a6952f2cd689896c08f6b94ee6865f48af609f9a8ac247dc1 tpm2-totp-0.2.1.tar.gz -sha256 67bc21a0bff2b0890307cfaa883bd3f5337f461eb6d8a612a015cea6d704e9ed LICENSE +sha256 0b2b63cc7ea74f5a6952f2cd689896c08f6b94ee6865f48af609f9a8ac247dc1 tpm2-totp-0.2.1.tar.gz +sha256 67bc21a0bff2b0890307cfaa883bd3f5337f461eb6d8a612a015cea6d704e9ed LICENSE diff --git a/package/trace-cmd/Config.in b/package/trace-cmd/Config.in index 574541c57..2d0accd7a 100644 --- a/package/trace-cmd/Config.in +++ b/package/trace-cmd/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_TRACE_CMD bool "trace-cmd" - depends on BR2_TOOLCHAIN_HAS_THREADS + # pthread_setaffinity_np + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS # dlopen() help @@ -13,6 +14,6 @@ config BR2_PACKAGE_TRACE_CMD http://git.kernel.org/cgit/linux/kernel/git/rostedt/trace-cmd.git -comment "trace-cmd needs a toolchain w/ threads, dynamic library" +comment "trace-cmd needs a toolchain w/ NPTL, dynamic library" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS diff --git a/package/traceroute/traceroute.hash b/package/traceroute/traceroute.hash index b95254874..83791c18a 100644 --- a/package/traceroute/traceroute.hash +++ b/package/traceroute/traceroute.hash @@ -1,6 +1,6 @@ # Locally computed: -sha256 3669d22a34d3f38ed50caba18cd525ba55c5c00d5465f2d20d7472e5d81603b6 traceroute-2.1.0.tar.gz +sha256 3669d22a34d3f38ed50caba18cd525ba55c5c00d5465f2d20d7472e5d81603b6 traceroute-2.1.0.tar.gz # Hash for license files: -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/tree/tree.hash b/package/tree/tree.hash index 6bffaa5ec..d637cdc5d 100644 --- a/package/tree/tree.hash +++ b/package/tree/tree.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 715d5d4b434321ce74706d0dd067505bb60c5ea83b5f0b3655dae40aa6f9b7c2 tree-1.8.0.tgz -sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 LICENSE +sha256 715d5d4b434321ce74706d0dd067505bb60c5ea83b5f0b3655dae40aa6f9b7c2 tree-1.8.0.tgz +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 LICENSE diff --git a/package/trinity/0003-Use-fcntl-h-for-dev_t-mode_t.patch b/package/trinity/0003-Use-fcntl-h-for-dev_t-mode_t.patch new file mode 100644 index 000000000..c4d9811b8 --- /dev/null +++ b/package/trinity/0003-Use-fcntl-h-for-dev_t-mode_t.patch @@ -0,0 +1,46 @@ +From b1a0aef9978d4a41e7e601c277d4fb1b0cfbed89 Mon Sep 17 00:00:00 2001 +From: Dave Jones +Date: Thu, 26 Aug 2021 11:17:34 -0400 +Subject: [PATCH] Use fcntl.h for dev_t & mode_t +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Should fix: + +In file included from /usr/include/bits/statx.h:31, + from /usr/include/sys/stat.h:446, + from include/files.h:3, + from include/shm.h:6, + from syscalls/x86/modify_ldt.c:12: +/usr/include/linux/stat.h:57:2: error: unknown type name ‘__s64’ + __s64 tv_sec; + ^~~~~ +/usr/include/linux/stat.h:58:2: error: unknown type name ‘__u32’ + __u32 tv_nsec; + ^~~~~ +/usr/include/linux/stat.h:59:2: error: unknown type name ‘__s32’ + __s32 __reserved; + ^~~~~ +/usr/include/linux/stat.h:101:2: error: unknown type name ‘__u32’ + __u32 stx_mask; /* What results were written [uncond] */ + +[Retrieved from: +https://github.com/kernelslacker/trinity/commit/b1a0aef9978d4a41e7e601c277d4fb1b0cfbed89] +Signed-off-by: Fabrice Fontaine +--- + include/files.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/files.h b/include/files.h +index 2a8e0e2d..ba3cc98f 100644 +--- a/include/files.h ++++ b/include/files.h +@@ -1,6 +1,6 @@ + #pragma once + +-#include ++#include + #include "fd.h" + + unsigned long get_o_flags(void); diff --git a/package/trinity/trinity.hash b/package/trinity/trinity.hash index f7522514e..24da8ea68 100644 --- a/package/trinity/trinity.hash +++ b/package/trinity/trinity.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 7e0da953c2cc6fb3907d1f37d35f61836433fb50e97117a72eef113abb783dc6 trinity-1.9.tar.xz -sha256 35e3fc68c89fd7b8f72fd910b521cb3292f859e9181f3c26bd0df84d144bc1d4 COPYING +sha256 7e0da953c2cc6fb3907d1f37d35f61836433fb50e97117a72eef113abb783dc6 trinity-1.9.tar.xz +sha256 35e3fc68c89fd7b8f72fd910b521cb3292f859e9181f3c26bd0df84d144bc1d4 COPYING diff --git a/package/trousers/0003-Fix-build-with-LibreSSL-2-7.patch b/package/trousers/0003-Fix-build-with-LibreSSL-2-7.patch new file mode 100644 index 000000000..65da979f2 --- /dev/null +++ b/package/trousers/0003-Fix-build-with-LibreSSL-2-7.patch @@ -0,0 +1,24 @@ +Fix build with LibreSSL 2.7 + +LibreSSL 2.7 implemented OpenSSL 1.1 API + +See also: https://reviews.freebsd.org/D14849#change-KhYbRXBMIBod + +Cheers, +Bernard Spil (brnrd@FreeBSD.org) + +[Retrieved (and backported) from: +https://sourceforge.net/p/trousers/bugs/234] +Signed-off-by: Fabrice Fontaine + +--- ./src/trspi/crypto/openssl/rsa.c.orig 2016-11-23 12:26:19 UTC ++++ ./src/trspi/crypto/openssl/rsa.c +@@ -38,7 +38,7 @@ + #define DEBUG_print_openssl_errors() + #endif + +-#if (OPENSSL_VERSION_NUMBER < 0x10100001L) || defined(LIBRESSL_VERSION_NUMBER) ++#if (OPENSSL_VERSION_NUMBER < 0x10100001L) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) + static int + RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) + { diff --git a/package/ts4900-fpga/Config.in b/package/ts4900-fpga/Config.in index 7aa94e26f..9f704fbc8 100644 --- a/package/ts4900-fpga/Config.in +++ b/package/ts4900-fpga/Config.in @@ -8,4 +8,4 @@ config BR2_PACKAGE_TS4900_FPGA It is loaded by U-Boot during the boot sequence, the default U-boot script expects to find it in the /boot folder. - http://wiki.embeddedarm.com/wiki/TS-4900#FPGA_Changelog + https://docs.embeddedts.com/TS-4900#FPGA_Changelog diff --git a/package/ts4900-fpga/ts4900-fpga.hash b/package/ts4900-fpga/ts4900-fpga.hash index 2147aeb3c..1d3c62bfd 100644 --- a/package/ts4900-fpga/ts4900-fpga.hash +++ b/package/ts4900-fpga/ts4900-fpga.hash @@ -1,5 +1,5 @@ -# From ftp://ftp.embeddedarm.com/ts-socket-macrocontrollers/ts-4900-linux/fpga/ts4900-fpga-20150930.bin.md5 -md5 bf93c03ef914cf008287c8cd60781cc8 ts4900-fpga-20150930.bin +# From https://files.embeddedts.com/ts-socket-macrocontrollers/ts-4900-linux/fpga//ts4900-fpga-20170510.bin.md5 +md5 86c7c3d7fb9c607af1ef55e1222b4416 ts4900-fpga-20170510.bin # Locally calculated -sha256 242ac6a90bea9a95c937ea8952cdc9b02f543cea24a0359bed66a408a6dd8bf9 ts4900-fpga-20150930.bin +sha256 f15edd6813ee5e93e7f380d85df2dc31e764ebca465093fb9006d56ee15b476b ts4900-fpga-20170510.bin diff --git a/package/ts4900-fpga/ts4900-fpga.mk b/package/ts4900-fpga/ts4900-fpga.mk index 7bb62a398..73e7a28e3 100644 --- a/package/ts4900-fpga/ts4900-fpga.mk +++ b/package/ts4900-fpga/ts4900-fpga.mk @@ -4,11 +4,11 @@ # ################################################################################ -TS4900_FPGA_VERSION = 20150930 +TS4900_FPGA_VERSION = 20170510 TS4900_FPGA_SOURCE = ts4900-fpga-$(TS4900_FPGA_VERSION).bin -TS4900_FPGA_SITE = ftp://ftp.embeddedarm.com/ts-socket-macrocontrollers/ts-4900-linux/fpga +TS4900_FPGA_SITE = https://files.embeddedts.com/ts-socket-macrocontrollers/ts-4900-linux/fpga # No license file provided, Yocto recipe from the vendor claims MIT. -# https://github.com/embeddedarm/meta-ts/blob/f31860f1204b64f765a5380d3b93a2cf18234f90/recipes-extras/ts4900-fpga/ts4900-fpga.bb#L6 +# https://github.com/embeddedTS/meta-ts/blob/f31860f1204b64f765a5380d3b93a2cf18234f90/recipes-extras/ts4900-fpga/ts4900-fpga.bb#L6 define TS4900_FPGA_EXTRACT_CMDS cp $(TS4900_FPGA_DL_DIR)/$(TS4900_FPGA_SOURCE) $(@D) diff --git a/package/tstools/tstools.hash b/package/tstools/tstools.hash index 9b0f1c7ce..54f4ecc89 100644 --- a/package/tstools/tstools.hash +++ b/package/tstools/tstools.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 3d2b2375e2874933f9aa59d4f25bb6b334747219eb0d7a076974e61222d59bf6 tstools-08f6be304040e7b84760ac3920bcff4a563b6cd2.tar.gz +sha256 3d2b2375e2874933f9aa59d4f25bb6b334747219eb0d7a076974e61222d59bf6 tstools-08f6be304040e7b84760ac3920bcff4a563b6cd2.tar.gz diff --git a/package/turbolua/turbolua.hash b/package/turbolua/turbolua.hash index b095f5aaa..12c41c6e5 100644 --- a/package/turbolua/turbolua.hash +++ b/package/turbolua/turbolua.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 4dbfbe4919118977c2ca40a4da81054ffe407d09f38bf5420eec5ae1449299d3 turbolua-2.1.3.tar.gz -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE +sha256 4dbfbe4919118977c2ca40a4da81054ffe407d09f38bf5420eec5ae1449299d3 turbolua-2.1.3.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/tvheadend/0002-configure-add-execinfo-option.patch b/package/tvheadend/0002-configure-add-execinfo-option.patch deleted file mode 100644 index c55d127d5..000000000 --- a/package/tvheadend/0002-configure-add-execinfo-option.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 04c01e631cb1bf47dd50b1ef92a086308e380eff Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 1 Jan 2022 16:53:29 +0100 -Subject: [PATCH] configure: add execinfo option - -Add execinfo option to allow the user to disable the feature even if -execinfo.h is found on the system - -Signed-off-by: Fabrice Fontaine -[Upsteam status: https://github.com/tvheadend/tvheadend/pull/1431] ---- - configure | 17 +++++++++++++++-- - 1 file changed, 15 insertions(+), 2 deletions(-) - -diff --git a/configure b/configure -index 4dad024c4..c087502bf 100755 ---- a/configure -+++ b/configure -@@ -75,6 +75,7 @@ OPTIONS=( - "ddci:yes" - "cclang_threadsan:no" - "gperftools:no" -+ "execinfo:auto" - ) - - # -@@ -150,11 +151,23 @@ if [ ${PLATFORM} = "freebsd" ]; then - # If we don't have libunwind then fallback to execinfo. - if ! enabled libunwind - then -- check_cc_header execinfo -+ if enabled_or_auto execinfo; then -+ if check_cc_header execinfo; then -+ enable execinfo -+ else -+ die "execinfo.h not found (use --disable-execinfo)" -+ fi -+ fi - fi - - else -- check_cc_header execinfo -+ if enabled_or_auto execinfo; then -+ if check_cc_header execinfo; then -+ enable execinfo -+ else -+ die "execinfo.h not found (use --disable-execinfo)" -+ fi -+ fi - fi - check_cc_option mmx - check_cc_option sse2 --- -2.33.0 - diff --git a/package/tvheadend/0002-fix-build-with-libressl.patch b/package/tvheadend/0002-fix-build-with-libressl.patch new file mode 100644 index 000000000..c99dacdbe --- /dev/null +++ b/package/tvheadend/0002-fix-build-with-libressl.patch @@ -0,0 +1,47 @@ +From ea65f8025a9124cd7353b21f167968bdb897306f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 6 Apr 2022 21:54:25 +0200 +Subject: [PATCH] fix build with libressl + +Fix the following build failure with libressl raised since +https://github.com/tvheadend/tvheadend/commit/e61acb8ad4a3411f4e7acfd8133d222299f6d47e: + +utils.c:(.text+0x1614): undefined reference to `EVP_sha512_256' + +Fixes: + - http://autobuild.buildroot.org/results/cb18f6533806f3729f9718bdcc719384be375b66 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/tvheadend/tvheadend/commit/ea65f8025a9124cd7353b21f167968bdb897306f] +--- + src/http.c | 2 +- + src/utils.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/http.c b/src/http.c +index 06d5e76172..72a498317c 100644 +--- a/src/http.c ++++ b/src/http.c +@@ -412,7 +412,7 @@ http_send_header(http_connection_t *hc, int rc, const char *content, + http_auth_header(&hdrs, realm, + config.http_auth_algo == HTTP_AUTH_ALGO_SHA256 ? + "SHA-256" : +-#if OPENSSL_VERSION_NUMBER >= 0x1010101fL ++#if OPENSSL_VERSION_NUMBER >= 0x1010101fL && !defined(LIBRESSL_VERSION_NUMBER) + "SHA-512-256", + #else + "SHA-256", +diff --git a/src/utils.c b/src/utils.c +index d8ffe4ad5c..eecb10e116 100644 +--- a/src/utils.c ++++ b/src/utils.c +@@ -616,7 +616,7 @@ sha256sum ( const char *str, int lowercase ) + char * + sha512sum256 ( const char *str, int lowercase ) + { +-#if OPENSSL_VERSION_NUMBER >= 0x1010101fL ++#if OPENSSL_VERSION_NUMBER >= 0x1010101fL && !defined(LIBRESSL_VERSION_NUMBER) + return openssl_hash_hexstr(str, lowercase, EVP_sha512_256(), 32); + #else + return NULL; diff --git a/package/tvheadend/0003-Fix-FTBFS-in-utils-c.patch b/package/tvheadend/0003-Fix-FTBFS-in-utils-c.patch new file mode 100644 index 000000000..2caa28149 --- /dev/null +++ b/package/tvheadend/0003-Fix-FTBFS-in-utils-c.patch @@ -0,0 +1,28 @@ +From fd01737270d98c28465c86a688bd7d1c640486c5 Mon Sep 17 00:00:00 2001 +From: Michael Marley +Date: Wed, 6 Apr 2022 21:47:49 -0400 +Subject: [PATCH] Fix FTBFS in utils.c + +U+0020 SPACE and U+00A0 NO-BREAK SPACE look the same, but they +aren't the same. + +[Retrieved from: +https://github.com/tvheadend/tvheadend/commit/fd01737270d98c28465c86a688bd7d1c640486c5] +Signed-off-by: Fabrice Fontaine +--- + src/utils.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/utils.c b/src/utils.c +index eecb10e116..bc6401d22f 100644 +--- a/src/utils.c ++++ b/src/utils.c +@@ -616,7 +616,7 @@ sha256sum ( const char *str, int lowercase ) + char * + sha512sum256 ( const char *str, int lowercase ) + { +-#if OPENSSL_VERSION_NUMBER >= 0x1010101fL && !defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER >= 0x1010101fL && !defined(LIBRESSL_VERSION_NUMBER) + return openssl_hash_hexstr(str, lowercase, EVP_sha512_256(), 32); + #else + return NULL; diff --git a/package/tvheadend/tvheadend.hash b/package/tvheadend/tvheadend.hash index db06af53b..44ff74522 100644 --- a/package/tvheadend/tvheadend.hash +++ b/package/tvheadend/tvheadend.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 11eeca461e74fbe8306916933cab96d35a99fa89d81e26126e194875c41b6fad tvheadend-b8710206eb073c72b142bce95846b77a0ffa34a6.tar.gz +sha256 10b8e8387cf341a8c639b3ecbab17dd245dc109afd6c99ca6b7fc3f2b5efc50e tvheadend-1295dd2be863f5beb764290fce9317b24193dfc0.tar.gz sha256 54dc3cbc00bf126bcba43e2af7f3ad1dc00f335985da1409fa943c7b7256d942 LICENSE.md diff --git a/package/tvheadend/tvheadend.mk b/package/tvheadend/tvheadend.mk index 58ebdcb05..d2547b874 100644 --- a/package/tvheadend/tvheadend.mk +++ b/package/tvheadend/tvheadend.mk @@ -4,7 +4,7 @@ # ################################################################################ -TVHEADEND_VERSION = b8710206eb073c72b142bce95846b77a0ffa34a6 +TVHEADEND_VERSION = 1295dd2be863f5beb764290fce9317b24193dfc0 TVHEADEND_SITE = $(call github,tvheadend,tvheadend,$(TVHEADEND_VERSION)) TVHEADEND_LICENSE = GPL-3.0+ TVHEADEND_LICENSE_FILES = LICENSE.md diff --git a/package/uacme/Config.in b/package/uacme/Config.in index d69343611..2c6864871 100644 --- a/package/uacme/Config.in +++ b/package/uacme/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_UACME depends on BR2_USE_MMU # fork() select BR2_PACKAGE_OPENSSL if !(BR2_PACKAGE_GNUTLS || BR2_PACKAGE_MBEDTLS) select BR2_PACKAGE_LIBCURL + select BR2_PACKAGE_LIBCURL_FORCE_TLS help uacme is a client for the ACMEv2 protocol described in RFC8555, written in plain C with minimal dependencies @@ -19,8 +20,9 @@ if BR2_PACKAGE_UACME config BR2_PACKAGE_UACME_UALPN bool "enable ualpn" depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_PACKAGE_OPENSSL || BR2_PACKAGE_GNUTLS select BR2_PACKAGE_LIBEV + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL \ + if !(BR2_PACKAGE_GNUTLS || BR2_PACKAGE_MBEDTLS) help Build and install ualpn, the transparent proxying tls-alpn-01 challenge responder. @@ -28,7 +30,4 @@ config BR2_PACKAGE_UACME_UALPN comment "ualpn needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS -comment "ualpn needs either OpenSSL or GnuTLS" - depends on !(BR2_PACKAGE_OPENSSL || BR2_PACKAGE_GNUTLS) - endif diff --git a/package/uacme/uacme.hash b/package/uacme/uacme.hash index 4ae85c1c5..063b0b57a 100644 --- a/package/uacme/uacme.hash +++ b/package/uacme/uacme.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 36027a587256cbaa86650cec2a5b3eb000480e1150bd83941565661b392625ac uacme-1.7.1.tar.gz +sha256 a638fe0878dba8fdda62f89e7a284243edbcd31b92c11b5cfdc7d3efd9547bca uacme-1.7.4.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/uacme/uacme.mk b/package/uacme/uacme.mk index 2be96d534..9b2360937 100644 --- a/package/uacme/uacme.mk +++ b/package/uacme/uacme.mk @@ -4,7 +4,7 @@ # ################################################################################ -UACME_VERSION = 1.7.1 +UACME_VERSION = 1.7.4 # Released versions are on branch upstream/latest, tagged as # upstream/X.Y.Z Do not use vX.Y.Z tags from master, as they do not # include .tarball-version @@ -18,12 +18,12 @@ UACME_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' ifeq ($(BR2_PACKAGE_GNUTLS),y) UACME_CONF_OPTS += --with-gnutls UACME_DEPENDENCIES += gnutls -else ifeq ($(BR2_PACKAGE_OPENSSL),y) -UACME_CONF_OPTS += --with-openssl -UACME_DEPENDENCIES += openssl else ifeq ($(BR2_PACKAGE_MBEDTLS),y) UACME_CONF_OPTS += --with-mbedtls UACME_DEPENDENCIES += mbedtls +else ifeq ($(BR2_PACKAGE_OPENSSL),y) +UACME_CONF_OPTS += --with-openssl +UACME_DEPENDENCIES += openssl endif ifeq ($(BR2_PACKAGE_UACME_UALPN),y) diff --git a/package/uboot-tools/Config.in.host b/package/uboot-tools/Config.in.host index 431cc8631..622070405 100644 --- a/package/uboot-tools/Config.in.host +++ b/package/uboot-tools/Config.in.host @@ -45,7 +45,7 @@ config BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE Generate a valid binary environment image from a text file describing the key=value pairs of the environment. - This option can be useful to build enviornment configurations + This option can be useful to build environment configurations as part of a Linux / rootfs only defconfig instead of using post scripts. This supports a hardware use case of a single bootloader only defconfig but multiple Linux / rootfs @@ -81,8 +81,8 @@ config BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_REDUNDANT Some platforms define in their U-Boot configuration that the U-Boot environment should be duplicated in two locations (for extra safety). Check your U-Boot configuration for the - CONFIG_ENV_ADDR_REDUND and CONFIG_ENV_SIZE_REDUND settings to - see if this is the case for your platform. + CONFIG_ENV_ADDR_REDUND and CONFIG_ENV_OFFSET_REDUND settings + to see if this is the case for your platform. If it is the case, then you should enable this option to ensure that the U-Boot environment image generated by diff --git a/package/uboot-tools/uboot-tools.mk b/package/uboot-tools/uboot-tools.mk index 26450b7ad..e48a4f6c8 100644 --- a/package/uboot-tools/uboot-tools.mk +++ b/package/uboot-tools/uboot-tools.mk @@ -22,6 +22,7 @@ define UBOOT_TOOLS_CONFIGURE_CMDS touch $(@D)/include/config/auto.conf mkdir -p $(@D)/include/generated touch $(@D)/include/generated/autoconf.h + echo $(if $(BR2_PACKAGE_UBOOT_TOOLS_FIT_SUPPORT),'#define CONFIG_FIT_PRINT 1') >> $(@D)/include/generated/autoconf.h mkdir -p $(@D)/include/asm touch $(@D)/include/asm/linkage.h endef @@ -111,6 +112,7 @@ define HOST_UBOOT_TOOLS_CONFIGURE_CMDS touch $(@D)/include/config/auto.conf mkdir -p $(@D)/include/generated touch $(@D)/include/generated/autoconf.h + echo $(if $(BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT),'#define CONFIG_FIT_PRINT 1') >> $(@D)/include/generated/autoconf.h mkdir -p $(@D)/include/asm touch $(@D)/include/asm/linkage.h endef diff --git a/package/uclibc-ng-test/uclibc-ng-test.hash b/package/uclibc-ng-test/uclibc-ng-test.hash index 37660b04c..4028bada4 100644 --- a/package/uclibc-ng-test/uclibc-ng-test.hash +++ b/package/uclibc-ng-test/uclibc-ng-test.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 f731307c0547ce4bbd3f5025972f64e9b22208a147e34e5745000b54d4d3aa98 uclibc-ng-test-0844445e7358eb10e716155b55b0fb23e88d644a-br1.tar.gz +sha256 655c9d9732cf24d8230defac7ef4d6bd92ad05c070ab02fe99c1fb47c7a40039 uclibc-ng-test-6790eafe897b3a8c19a2caf50a5ecccf06647adf-br1.tar.gz sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING.LIB diff --git a/package/uclibc-ng-test/uclibc-ng-test.mk b/package/uclibc-ng-test/uclibc-ng-test.mk index ea5f22421..ba380dded 100644 --- a/package/uclibc-ng-test/uclibc-ng-test.mk +++ b/package/uclibc-ng-test/uclibc-ng-test.mk @@ -4,7 +4,7 @@ # ################################################################################ -UCLIBC_NG_TEST_VERSION = 0844445e7358eb10e716155b55b0fb23e88d644a +UCLIBC_NG_TEST_VERSION = 6790eafe897b3a8c19a2caf50a5ecccf06647adf UCLIBC_NG_TEST_SITE = git://uclibc-ng.org/git/uclibc-ng-test UCLIBC_NG_TEST_LICENSE = LGPL-2.1+ UCLIBC_NG_TEST_LICENSE_FILES = COPYING.LIB diff --git a/package/uclibc/Config.in b/package/uclibc/Config.in index 2091166b6..2555487f0 100644 --- a/package/uclibc/Config.in +++ b/package/uclibc/Config.in @@ -1,3 +1,32 @@ +config BR2_PACKAGE_UCLIBC_ARCH_SUPPORTS + bool + default y if BR2_aarch64 + default y if BR2_aarch64_be + default y if BR2_arcle + default y if BR2_arceb + default y if BR2_arm + default y if BR2_armeb + default y if BR2_i386 + default y if BR2_m68k + default y if BR2_microblaze + default y if BR2_mips + default y if BR2_mipsel + default y if BR2_mips64 + default y if BR2_mips64el + default y if BR2_or1k + default y if BR2_powerpc + # see libc/sysdeps/linux/riscv64/sys/asm.h + default y if BR2_RISCV_64 && (BR2_RISCV_ABI_LP64 || BR2_RISCV_ABI_LP64D) + default y if BR2_sh4 + default y if BR2_sh4eb + default y if BR2_sparc + default y if BR2_xtensa + default y if BR2_x86_64 + +config BR2_PACKAGE_UCLIBC_SUPPORTS + bool + default y if BR2_PACKAGE_UCLIBC_ARCH_SUPPORTS + if BR2_TOOLCHAIN_BUILDROOT_UCLIBC comment "uClibc Options" @@ -95,6 +124,7 @@ config BR2_UCLIBC_INSTALL_UTILS # uClibc architecture names. config BR2_UCLIBC_TARGET_ARCH string + default "aarch64" if BR2_aarch64 || BR2_aarch64_be default "arc" if BR2_arcle || BR2_arceb default "arm" if BR2_arm || BR2_armeb default "m68k" if BR2_m68k @@ -124,14 +154,12 @@ config BR2_UCLIBC_MIPS_NAN config BR2_UCLIBC_SH_TYPE string - default "SH2A" if BR2_sh2a default "SH4" if BR2_sh4 || BR2_sh4eb depends on BR2_UCLIBC_TARGET_ARCH = "sh" config BR2_UCLIBC_SPARC_TYPE string - default "V7" if BR2_sparc_v7 || BR2_sparc_sparchfleon || BR2_sparc_sparcsfleon - default "V8" if BR2_sparc_v8 || BR2_sparc_sparchfleonv8 || BR2_sparc_sparcsfleonv8 + default "V8" if BR2_sparc_v8 depends on BR2_UCLIBC_TARGET_ARCH = "sparc" config BR2_UCLIBC_POWERPC_TYPE diff --git a/package/uclibc/uclibc.hash b/package/uclibc/uclibc.hash index 989c9d887..cdca75b11 100644 --- a/package/uclibc/uclibc.hash +++ b/package/uclibc/uclibc.hash @@ -1,4 +1,4 @@ -# From https://downloads.uclibc-ng.org/releases/1.0.40/uClibc-ng-1.0.40.tar.xz.sha256 -sha256 d863f01815a64174d5019c73475e8aff5b60848a13876e79daf5d3d83ce7f889 uClibc-ng-1.0.40.tar.xz +# From https://downloads.uclibc-ng.org/releases/1.0.43/uClibc-ng-1.0.43.tar.xz.sha256 +sha256 8c1f550f14728a9c06ff1fb3e85069f7f10f4d684b03e163f4d9d41727124047 uClibc-ng-1.0.43.tar.xz # Locally calculated sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING.LIB diff --git a/package/uclibc/uclibc.mk b/package/uclibc/uclibc.mk index d79eaa1d0..373ed140d 100644 --- a/package/uclibc/uclibc.mk +++ b/package/uclibc/uclibc.mk @@ -4,7 +4,7 @@ # ################################################################################ -UCLIBC_VERSION = 1.0.40 +UCLIBC_VERSION = 1.0.43 UCLIBC_SOURCE = uClibc-ng-$(UCLIBC_VERSION).tar.xz UCLIBC_SITE = https://downloads.uclibc-ng.org/releases/$(UCLIBC_VERSION) UCLIBC_LICENSE = LGPL-2.1+ @@ -22,6 +22,7 @@ UCLIBC_DEPENDENCIES = host-gcc-initial linux-headers # specifying UCLIBC_CONFIG_FILE on the command-line overrides the .config # setting. +# check-package disable Ifdef ifndef UCLIBC_CONFIG_FILE UCLIBC_CONFIG_FILE = $(call qstrip,$(BR2_UCLIBC_CONFIG)) endif diff --git a/package/udev-gentoo-scripts/udev-gentoo-scripts.hash b/package/udev-gentoo-scripts/udev-gentoo-scripts.hash index 60563baae..99e6a9fe2 100644 --- a/package/udev-gentoo-scripts/udev-gentoo-scripts.hash +++ b/package/udev-gentoo-scripts/udev-gentoo-scripts.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 b206f72c93cd2e51ed59061931918a9c23c3c1f7e6caffacc9d4f8915a42c30a udev-gentoo-scripts-33.tar.bz2 -sha256 329f95829088b95650b9012ae688f09baa1637985425a7964d33683363f48702 init.d/udev-settle +sha256 b206f72c93cd2e51ed59061931918a9c23c3c1f7e6caffacc9d4f8915a42c30a udev-gentoo-scripts-33.tar.bz2 +sha256 329f95829088b95650b9012ae688f09baa1637985425a7964d33683363f48702 init.d/udev-settle diff --git a/package/udev/udev.mk b/package/udev/udev.mk index 05b35b21f..d70d13ebb 100644 --- a/package/udev/udev.mk +++ b/package/udev/udev.mk @@ -4,10 +4,9 @@ # ################################################################################ -# Required by default rules for input devices +# Required by default rules define UDEV_USERS - - input -1 * - - - Input device group - - - render -1 * - - - DRI rendering nodes - - kvm -1 * - - - kvm nodes endef diff --git a/package/udisks/Config.in b/package/udisks/Config.in index 82f11ae7d..ad68d4f14 100644 --- a/package/udisks/Config.in +++ b/package/udisks/Config.in @@ -1,12 +1,13 @@ config BR2_PACKAGE_UDISKS bool "udisks" - depends on BR2_ENABLE_LOCALE # parted + depends on BR2_ENABLE_LOCALE # libblockdev, parted depends on BR2_PACKAGE_HAS_UDEV depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # polkit -> C++17 depends on BR2_TOOLCHAIN_HAS_THREADS # polkit depends on BR2_USE_WCHAR # dbus-glib -> glib2 depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libblockdev -> cryptsetup -> json-c depends on !BR2_STATIC_LIBS # polkit -> duktape + depends on !BR2_OPTIMIZE_FAST # polkit -> duktape select BR2_PACKAGE_DBUS select BR2_PACKAGE_DBUS_GLIB select BR2_PACKAGE_LIBATASMART @@ -30,8 +31,8 @@ config BR2_PACKAGE_UDISKS interfaces that can be used to query and manipulate storage devices. - o a command-line tool, udisks(1), that can be used to query - and use the daemon + o a command-line tool, udisksctl(1), that can be used to + query and use the daemon http://www.freedesktop.org/wiki/Software/udisks @@ -45,3 +46,6 @@ comment "udisks needs a toolchain with dynamic library, locale, wchar, threads, depends on BR2_STATIC_LIBS || !BR2_ENABLE_LOCALE || \ !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_7 + +comment "udisks can't be built with Optimize for fast" + depends on BR2_OPTIMIZE_FAST diff --git a/package/udisks/udisks.mk b/package/udisks/udisks.mk index 2bf519a2c..959333d01 100644 --- a/package/udisks/udisks.mk +++ b/package/udisks/udisks.mk @@ -10,6 +10,7 @@ UDISKS_SITE = https://github.com/storaged-project/udisks/releases/download/udisk UDISKS_LICENSE = GPL-2.0+ UDISKS_LICENSE_FILES = COPYING UDISKS_CPE_ID_VENDOR = freedesktop +UDISKS_INSTALL_STAGING = YES UDISKS_DEPENDENCIES = \ host-pkgconf \ diff --git a/package/udpcast/Config.in b/package/udpcast/Config.in index ef94b30a9..cc38c6e57 100644 --- a/package/udpcast/Config.in +++ b/package/udpcast/Config.in @@ -6,6 +6,8 @@ config BR2_PACKAGE_UDPCAST bool "udpcast" depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_UDPCAST_SENDER \ + if !BR2_PACKAGE_UDPCAST_RECEIVER help A multicast protocol implementation which happens to be very handy for imaging drives over the network. diff --git a/package/udpcast/udpcast.mk b/package/udpcast/udpcast.mk index 34ebddd2d..4c151bb41 100644 --- a/package/udpcast/udpcast.mk +++ b/package/udpcast/udpcast.mk @@ -9,23 +9,15 @@ UDPCAST_SITE = http://www.udpcast.linux.lu/download UDPCAST_DEPENDENCIES = host-m4 UDPCAST_LICENSE = BSD-2-Clause, GPL-2.0+ UDPCAST_LICENSE_FILES = COPYING +UDPCAST_TARGETS = \ + $(if $(BR2_PACKAGE_UDPCAST_RECEIVER),udp-receiver) \ + $(if $(BR2_PACKAGE_UDPCAST_SENDER),udp-sender) +UDPCAST_MAKE_OPTS = $(UDPCAST_TARGETS) -define UDPCAST_REMOVE_UDP_SENDER - rm -f $(TARGET_DIR)/usr/sbin/udp-sender - rm -f $(TARGET_DIR)/usr/sbin/udp-sender.1 +define UDPCAST_INSTALL_TARGET_CMDS + $(foreach f,$(UDPCAST_TARGETS),\ + $(INSTALL) -D -m 755 $(@D)/$(f) $(TARGET_DIR)/usr/sbin/$(f) + ) endef -ifneq ($(BR2_PACKAGE_UDPCAST_SENDER),y) -UDPCAST_POST_INSTALL_TARGET_HOOKS += UDPCAST_REMOVE_UDP_SENDER -endif - -define UDPCAST_REMOVE_UDP_RECEIVER - rm -f $(TARGET_DIR)/usr/sbin/udp-receiver - rm -f $(TARGET_DIR)/usr/sbin/udp-receiver.1 -endef - -ifneq ($(BR2_PACKAGE_UDPCAST_RECEIVER),y) -UDPCAST_POST_INSTALL_TARGET_HOOKS += UDPCAST_REMOVE_UDP_RECEIVER -endif - $(eval $(autotools-package)) diff --git a/package/uftp/uftp.hash b/package/uftp/uftp.hash index aaebcad01..e47cba939 100644 --- a/package/uftp/uftp.hash +++ b/package/uftp/uftp.hash @@ -1,3 +1,3 @@ # Locally computed sha256 -sha256 562f71ea5a24b615eb491f5744bad01e9c2e58244c1d6252d5ae98d320d308e0 uftp-5.0.tar.gz +sha256 f0435fbc8e9ffa125e05600cb6c7fc933d7d587f5bae41b257267be4f2ce0e61 uftp-5.0.1.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.txt diff --git a/package/uftp/uftp.mk b/package/uftp/uftp.mk index 1c36cb0ce..ce865c20e 100644 --- a/package/uftp/uftp.mk +++ b/package/uftp/uftp.mk @@ -4,7 +4,7 @@ # ################################################################################ -UFTP_VERSION = 5.0 +UFTP_VERSION = 5.0.1 UFTP_SITE = http://sourceforge.net/projects/uftp-multicast/files/source-tar UFTP_LICENSE = GPL-3.0+ UFTP_LICENSE_FILES = LICENSE.txt diff --git a/package/uftrace/Config.in b/package/uftrace/Config.in index 98ddb7cbf..8f8c5d25f 100644 --- a/package/uftrace/Config.in +++ b/package/uftrace/Config.in @@ -8,7 +8,7 @@ config BR2_PACKAGE_UFTRACE_ARCH_SUPPORTS config BR2_PACKAGE_UFTRACE bool "uftrace" depends on BR2_PACKAGE_UFTRACE_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # pthread_setname_np() depends on !BR2_STATIC_LIBS select BR2_PACKAGE_ARGP_STANDALONE if \ BR2_TOOLCHAIN_USES_UCLIBC || \ @@ -23,6 +23,6 @@ config BR2_PACKAGE_UFTRACE https://github.com/namhyung/uftrace -comment "uftrace needs a toolchain w/ threads, dynamic library" +comment "uftrace needs a toolchain w/ NPTL, dynamic library" depends on BR2_PACKAGE_UFTRACE_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS diff --git a/package/uftrace/uftrace.hash b/package/uftrace/uftrace.hash index 43831d72a..b2a3ddc5a 100644 --- a/package/uftrace/uftrace.hash +++ b/package/uftrace/uftrace.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 b8b56d540ea95c3eafe56440d6a998e0a140d53ca2584916b6ca82702795bbd9 uftrace-0.10.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 b8b56d540ea95c3eafe56440d6a998e0a140d53ca2584916b6ca82702795bbd9 uftrace-0.10.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/uhd/uhd.mk b/package/uhd/uhd.mk index e8f197f9d..2a5b69cef 100644 --- a/package/uhd/uhd.mk +++ b/package/uhd/uhd.mk @@ -36,7 +36,6 @@ ifeq ($(BR2_ARM_CPU_HAS_NEON),y) UHD_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -mfpu=neon" UHD_CONF_OPTS += -DNEON_SIMD_ENABLE=ON else -UHD_CONF_OPTS += -Dhave_mfpu_neon=0 UHD_CONF_OPTS += -DNEON_SIMD_ENABLE=OFF endif diff --git a/package/ulogd/ulogd.hash b/package/ulogd/ulogd.hash index aef69262f..0e07a714e 100644 --- a/package/ulogd/ulogd.hash +++ b/package/ulogd/ulogd.hash @@ -1,7 +1,7 @@ # From ftp://ftp.netfilter.org/pub/ulogd/ulogd-2.0.7.tar.bz2.{md5sum,sha1sum} -md5 2bb2868cf51acbb90c35763c9f995f31 ulogd-2.0.7.tar.bz2 -sha1 f2d90469e2842e2bfbe19c55cf6d56ac107aa4b9 ulogd-2.0.7.tar.bz2 +md5 2bb2868cf51acbb90c35763c9f995f31 ulogd-2.0.7.tar.bz2 +sha1 f2d90469e2842e2bfbe19c55cf6d56ac107aa4b9 ulogd-2.0.7.tar.bz2 # Locally calculated -sha256 990a05494d9c16029ba0a83f3b7294fc05c756546b8d60d1c1572dc25249a92b ulogd-2.0.7.tar.bz2 -sha256 b8a2f73f743dc1a51aff23f1aacbca4b868564db52496fa3c0caba755bfd1eaf COPYING +sha256 990a05494d9c16029ba0a83f3b7294fc05c756546b8d60d1c1572dc25249a92b ulogd-2.0.7.tar.bz2 +sha256 b8a2f73f743dc1a51aff23f1aacbca4b868564db52496fa3c0caba755bfd1eaf COPYING diff --git a/package/umtprd/0001-Fix-output_dir-make-dependency.patch b/package/umtprd/0001-Fix-output_dir-make-dependency.patch new file mode 100644 index 000000000..fcbca6b00 --- /dev/null +++ b/package/umtprd/0001-Fix-output_dir-make-dependency.patch @@ -0,0 +1,46 @@ +From d84216a678edaca81c0899318231cdcca2100d38 Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Mon, 17 Oct 2022 16:39:56 -0600 +Subject: [PATCH] Fix output_dir make dependency + +Object file targets need to depend on the output_dir target. + +Fixes: +make --shuffle=reverse -j1 +cc -o obj/mtp_op_truncateobject.o src/mtp_operations/mtp_op_truncateobject.c -c -I./inc -lpthread -Wall -O3 +Assembler messages: +Fatal error: can't create obj/mtp_op_truncateobject.o: No such file or directory +make: *** [Makefile:19: obj/mtp_op_truncateobject.o] Error 1 shuffle=reverse + +[paul@crapouillou.net: Backport from upstream commit d84216a] +Signed-off-by: Paul Cercueil +--- + Makefile | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 7c98b63..c28e186 100644 +--- a/Makefile ++++ b/Makefile +@@ -7,15 +7,15 @@ objects := $(sources:src/%.c=obj/%.o) + ops_sources := $(wildcard src/mtp_operations/*.c) + ops_objects := $(ops_sources:src/mtp_operations/%.c=obj/%.o) + +-all: output_dir umtprd ++all: umtprd + + umtprd: $(objects) $(ops_objects) + ${CC} -o $@ $^ $(LDFLAGS) -lpthread + +-$(objects): obj/%.o: src/%.c ++$(objects): obj/%.o: src/%.c | output_dir + ${CC} -o $@ $^ -c $(CPPFLAGS) $(CFLAGS) + +-$(ops_objects): obj/%.o: src/mtp_operations/%.c ++$(ops_objects): obj/%.o: src/mtp_operations/%.c | output_dir + ${CC} -o $@ $^ -c $(CPPFLAGS) $(CFLAGS) + + output_dir: +-- +2.35.1 + diff --git a/package/unbound/unbound.mk b/package/unbound/unbound.mk index 61fdc5389..d9be63924 100644 --- a/package/unbound/unbound.mk +++ b/package/unbound/unbound.mk @@ -17,6 +17,7 @@ UNBOUND_CONF_OPTS = \ --with-pidfile=/var/run/unbound.pid \ --with-rootkey-file=/etc/unbound/root.key \ --enable-tfo-server \ + --with-libevent=$(STAGING_DIR)/usr \ --with-libexpat=$(STAGING_DIR)/usr \ --with-ssl=$(STAGING_DIR)/usr diff --git a/package/unclutter-xfixes/unclutter-xfixes.hash b/package/unclutter-xfixes/unclutter-xfixes.hash index 785825da7..9bd14ee29 100644 --- a/package/unclutter-xfixes/unclutter-xfixes.hash +++ b/package/unclutter-xfixes/unclutter-xfixes.hash @@ -1,3 +1,3 @@ # locally calculated -sha256 35c75ad24be989dd6708db1d9ce9b2a2f814b80638c0633cdb075c6df090ed11 unclutter-xfixes-1.5.tar.gz -sha256 33e94693849b57fdb34987c95fd0076b4aa4b70fcd9a3152313d00b86a3f7bf7 LICENSE +sha256 35c75ad24be989dd6708db1d9ce9b2a2f814b80638c0633cdb075c6df090ed11 unclutter-xfixes-1.5.tar.gz +sha256 33e94693849b57fdb34987c95fd0076b4aa4b70fcd9a3152313d00b86a3f7bf7 LICENSE diff --git a/package/unrar/unrar.hash b/package/unrar/unrar.hash index e354753bb..40e05a1a3 100644 --- a/package/unrar/unrar.hash +++ b/package/unrar/unrar.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 d05022442009202a792e588bec58921c123ff046fc755f7f2272871a5bd79636 unrarsrc-6.1.3.tar.gz +sha256 de75b6136958173fdfc530d38a0145b72342cf0d3842bf7bb120d336602d88ed unrarsrc-6.1.7.tar.gz sha256 6ecc1687808b7d66b24f874755abfed7464d9751ed0001cd4e8e5d9bf397ff8a license.txt diff --git a/package/unrar/unrar.mk b/package/unrar/unrar.mk index 692366015..fee9fb753 100644 --- a/package/unrar/unrar.mk +++ b/package/unrar/unrar.mk @@ -4,7 +4,7 @@ # ################################################################################ -UNRAR_VERSION = 6.1.3 +UNRAR_VERSION = 6.1.7 UNRAR_SOURCE = unrarsrc-$(UNRAR_VERSION).tar.gz UNRAR_SITE = https://www.rarlab.com/rar UNRAR_LICENSE = unrar diff --git a/package/unzip/unzip.hash b/package/unzip/unzip.hash index 8b3f27553..bbf4f7d71 100644 --- a/package/unzip/unzip.hash +++ b/package/unzip/unzip.hash @@ -1,6 +1,6 @@ # From https://snapshot.debian.org/archive/debian/20210110T204103Z/pool/main/u/unzip/unzip_6.0-26.dsc sha256 036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37 unzip_6.0.orig.tar.gz -sha256 88cb7c0f1fd13252b662dfd224b64b352f9e75cd86389557fcb23fa6d2638599 unzip_6.0-26.debian.tar.xz +sha256 67bde7c71d52afd61aa936d4415c8d12fd90ca26e9637a3cd67cae9b71298c12 unzip_6.0-27.debian.tar.xz # Locally computed: sha256 7469b81d5d29ac4fd670f7c86ba0cb9fa34f137a2d4d5198437d92ddf918984b LICENSE diff --git a/package/unzip/unzip.mk b/package/unzip/unzip.mk index e8c9366a1..44cc2013f 100644 --- a/package/unzip/unzip.mk +++ b/package/unzip/unzip.mk @@ -6,13 +6,13 @@ UNZIP_VERSION = 6.0 UNZIP_SOURCE = unzip_$(UNZIP_VERSION).orig.tar.gz -UNZIP_PATCH = unzip_$(UNZIP_VERSION)-26.debian.tar.xz -UNZIP_SITE = https://snapshot.debian.org/archive/debian/20210110T204103Z/pool/main/u/unzip +UNZIP_PATCH = unzip_$(UNZIP_VERSION)-27.debian.tar.xz +UNZIP_SITE = https://snapshot.debian.org/archive/debian/20220916T090657Z/pool/main/u/unzip UNZIP_LICENSE = Info-ZIP UNZIP_LICENSE_FILES = LICENSE UNZIP_CPE_ID_VENDOR = unzip_project -# unzip_$(UNZIP_VERSION)-26.debian.tar.xz has patches to fix: +# unzip_$(UNZIP_VERSION)-27.debian.tar.xz has patches to fix: UNZIP_IGNORE_CVES = \ CVE-2014-8139 \ CVE-2014-8140 \ @@ -24,6 +24,8 @@ UNZIP_IGNORE_CVES = \ CVE-2016-9844 \ CVE-2018-18384 \ CVE-2018-1000035 \ - CVE-2019-13232 + CVE-2019-13232 \ + CVE-2022-0529 \ + CVE-2022-0530 $(eval $(cmake-package)) diff --git a/package/upower/upower.hash b/package/upower/upower.hash index e69ad20cb..2e4e40e18 100644 --- a/package/upower/upower.hash +++ b/package/upower/upower.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 64b5ffbfccd5bdb15d925777979a4dbee1a957f9eaeb158dc76175267eddbdef upower-0.99.11.tar.xz -sha256 c1753877db41d798d63369a825ad9225bbeb5e10a407be5fcd8de96182f1c50d COPYING +sha256 64b5ffbfccd5bdb15d925777979a4dbee1a957f9eaeb158dc76175267eddbdef upower-0.99.11.tar.xz +sha256 c1753877db41d798d63369a825ad9225bbeb5e10a407be5fcd8de96182f1c50d COPYING diff --git a/package/upower/upower.mk b/package/upower/upower.mk index 8989ca9f5..a6f39d2f4 100644 --- a/package/upower/upower.mk +++ b/package/upower/upower.mk @@ -22,4 +22,11 @@ UPOWER_DEPENDENCIES = \ UPOWER_CONF_OPTS = --disable-man-pages --disable-tests +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +UPOWER_CONF_OPTS += --enable-introspection +UPOWER_DEPENDENCIES += gobject-introspection +else +UPOWER_CONF_OPTS += --disable-introspection +endif + $(eval $(autotools-package)) diff --git a/package/upx/0001-Check-DT_REL-DT_RELA-DT_RELSZ-DT_RELASZ.patch b/package/upx/0001-Check-DT_REL-DT_RELA-DT_RELSZ-DT_RELASZ.patch deleted file mode 100644 index 6fae9cac0..000000000 --- a/package/upx/0001-Check-DT_REL-DT_RELA-DT_RELSZ-DT_RELASZ.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 3781df9da23840e596d5e9e8493f22666802fe6c Mon Sep 17 00:00:00 2001 -From: John Reiser -Date: Fri, 11 Dec 2020 13:38:18 -0800 -Subject: [PATCH] Check DT_REL/DT_RELA, DT_RELSZ/DT_RELASZ - -https://github.com/upx/upx/issues/421 - modified: p_lx_elf.cpp - -[Retrieved from: -https://github.com/upx/upx/commit/3781df9da23840e596d5e9e8493f22666802fe6c] -Signed-off-by: Fabrice Fontaine ---- - src/p_lx_elf.cpp | 34 +++++++++++++++++++++++++++++----- - 1 file changed, 29 insertions(+), 5 deletions(-) - -diff --git a/src/p_lx_elf.cpp b/src/p_lx_elf.cpp -index 182db192f..3a4101cf7 100644 ---- a/src/p_lx_elf.cpp -+++ b/src/p_lx_elf.cpp -@@ -2222,8 +2222,20 @@ bool PackLinuxElf32::canPack() - int z_rsz = dt_table[Elf32_Dyn::DT_RELSZ]; - if (z_rel && z_rsz) { - unsigned rel_off = get_te32(&dynseg[-1+ z_rel].d_val); -+ if ((unsigned)file_size <= rel_off) { -+ char msg[70]; snprintf(msg, sizeof(msg), -+ "bad Elf32_Dynamic[DT_REL] %#x\n", -+ rel_off); -+ throwCantPack(msg); -+ } - Elf32_Rel *rp = (Elf32_Rel *)&file_image[rel_off]; - unsigned relsz = get_te32(&dynseg[-1+ z_rsz].d_val); -+ if ((unsigned)file_size <= relsz) { -+ char msg[70]; snprintf(msg, sizeof(msg), -+ "bad Elf32_Dynamic[DT_RELSZ] %#x\n", -+ relsz); -+ throwCantPack(msg); -+ } - Elf32_Rel *last = (Elf32_Rel *)(relsz + (char *)rp); - for (; rp < last; ++rp) { - unsigned r_va = get_te32(&rp->r_offset); -@@ -2562,14 +2574,26 @@ PackLinuxElf64::canPack() - int z_rel = dt_table[Elf64_Dyn::DT_RELA]; - int z_rsz = dt_table[Elf64_Dyn::DT_RELASZ]; - if (z_rel && z_rsz) { -- unsigned rel_off = get_te64(&dynseg[-1+ z_rel].d_val); -+ upx_uint64_t rel_off = get_te64(&dynseg[-1+ z_rel].d_val); -+ if ((u64_t)file_size <= rel_off) { -+ char msg[70]; snprintf(msg, sizeof(msg), -+ "bad Elf64_Dynamic[DT_RELA] %#llx\n", -+ rel_off); -+ throwCantPack(msg); -+ } - Elf64_Rela *rp = (Elf64_Rela *)&file_image[rel_off]; -- unsigned relsz = get_te64(&dynseg[-1+ z_rsz].d_val); -+ upx_uint64_t relsz = get_te64(&dynseg[-1+ z_rsz].d_val); -+ if ((u64_t)file_size <= relsz) { -+ char msg[70]; snprintf(msg, sizeof(msg), -+ "bad Elf64_Dynamic[DT_RELASZ] %#llx\n", -+ relsz); -+ throwCantPack(msg); -+ } - Elf64_Rela *last = (Elf64_Rela *)(relsz + (char *)rp); - for (; rp < last; ++rp) { -- unsigned r_va = get_te64(&rp->r_offset); -+ upx_uint64_t r_va = get_te64(&rp->r_offset); - if (r_va == user_init_ava) { // found the Elf64_Rela -- unsigned r_info = get_te64(&rp->r_info); -+ upx_uint64_t r_info = get_te64(&rp->r_info); - unsigned r_type = ELF64_R_TYPE(r_info); - if (Elf64_Ehdr::EM_AARCH64 == e_machine - && R_AARCH64_RELATIVE == r_type) { -@@ -2581,7 +2605,7 @@ PackLinuxElf64::canPack() - } - else { - char msg[50]; snprintf(msg, sizeof(msg), -- "bad relocation %#x DT_INIT_ARRAY[0]", -+ "bad relocation %#llx DT_INIT_ARRAY[0]", - r_info); - throwCantPack(msg); - } diff --git a/package/upx/upx.hash b/package/upx/upx.hash index 7f3698ca0..7c2490615 100644 --- a/package/upx/upx.hash +++ b/package/upx/upx.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 47774df5c958f2868ef550fb258b97c73272cb1f44fe776b798e393465993714 upx-3.96-src.tar.xz +sha256 1221e725b1a89e06739df27fae394d6bc88aedbe12f137c630ec772522cbc76f upx-4.0.2-src.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/upx/upx.mk b/package/upx/upx.mk index e693a70db..6018b0a63 100644 --- a/package/upx/upx.mk +++ b/package/upx/upx.mk @@ -4,28 +4,12 @@ # ################################################################################ -UPX_VERSION = 3.96 +UPX_VERSION = 4.0.2 UPX_SITE = https://github.com/upx/upx/releases/download/v$(UPX_VERSION) UPX_SOURCE = upx-$(UPX_VERSION)-src.tar.xz UPX_LICENSE = GPL-2.0+ UPX_LICENSE_FILES = COPYING UPX_CPE_ID_VENDOR = upx_project +UPX_SUPPORTS_IN_SOURCE_BUILD = NO -# 0001-Check-DT_REL-DT_RELA-DT_RELSZ-DT_RELASZ.patch -UPX_IGNORE_CVES += CVE-2021-20285 - -HOST_UPX_DEPENDENCIES = host-ucl host-zlib - -# We need to specify all, otherwise the default target only prints a message -# stating to "please choose a target for 'make'"... :-( -define HOST_UPX_BUILD_CMDS - $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \ - UPX_UCLDIR=$(HOST_DIR) CXXFLAGS_WERROR= -C $(@D) all -endef - -# UPX has no install procedure, so install it manually. -define HOST_UPX_INSTALL_CMDS - $(INSTALL) -D -m 0755 $(@D)/src/upx.out $(HOST_DIR)/bin/upx -endef - -$(eval $(host-generic-package)) +$(eval $(host-cmake-package)) diff --git a/package/uqmi/0001-uqmi-avoid-gcc-12.x-false-error-reporting-storing-th.patch b/package/uqmi/0001-uqmi-avoid-gcc-12.x-false-error-reporting-storing-th.patch new file mode 100644 index 000000000..e2199228b --- /dev/null +++ b/package/uqmi/0001-uqmi-avoid-gcc-12.x-false-error-reporting-storing-th.patch @@ -0,0 +1,57 @@ +From 63ab887be90c7fe37d537ea75e60eb95d6d87d3f Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Sun, 5 Mar 2023 22:08:13 +0100 +Subject: [PATCH] uqmi: avoid gcc-12.x false error reporting (storing the + address of local variable 'complete' in '*req.complete') + +Avoid gcc-12.x false error reporting (req->complete is later reset to NULL +in case of use of local complete): + + dev.c:217:23: error: storing the address of local variable 'complete' in '*req.complete' [-Werror=dangling-pointer=] + 217 | req->complete = &complete; + | ~~~~~~~~~~~~~~^~~~~~~~~~~ + +Signed-off-by: Peter Seiderer +[Upstream: http://lists.openwrt.org/pipermail/openwrt-devel/2023-March/040667.html] +Signed-off-by: Peter Seiderer +--- +Changes v1 -> v2: + - apply pragma ignored only for gcc >= 12.x (as the warning + '-Wdangling-pointer' was introduced with gcc-12.x) +--- + dev.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/dev.c b/dev.c +index bd10207..dbd42d4 100644 +--- a/dev.c ++++ b/dev.c +@@ -203,6 +203,15 @@ void qmi_request_cancel(struct qmi_dev *qmi, struct qmi_request *req) + __qmi_request_complete(qmi, req, NULL); + } + ++/* avoid gcc-12.x false error reporting: ++ * dev.c:217:23: error: storing the address of local variable ‘complete’ in ‘*req.complete’ [-Werror=dangling-pointer=] ++ * 217 | req->complete = &complete; ++ * | ~~~~~~~~~~~~~~^~~~~~~~~~~ ++ */ ++#if __GNUC__ >= 12 ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wdangling-pointer" ++#endif + int qmi_request_wait(struct qmi_dev *qmi, struct qmi_request *req) + { + bool complete = false; +@@ -231,6 +240,9 @@ int qmi_request_wait(struct qmi_dev *qmi, struct qmi_request *req) + + return req->ret; + } ++#if __GNUC__ >= 12 ++#pragma GCC diagnostic pop ++#endif + + struct qmi_connect_request { + struct qmi_request req; +-- +2.39.2 + diff --git a/package/urandom-scripts/S20urandom b/package/urandom-scripts/S20urandom index e4fd12572..6c6aea9ee 100644 --- a/package/urandom-scripts/S20urandom +++ b/package/urandom-scripts/S20urandom @@ -17,43 +17,39 @@ else pool_size=512 fi -check_file_size() { - [ -f "$URANDOM_SEED" ] || return 1 - # Try to read two blocks but exactly one will be read if the file has - # the correct size. - size=$(dd if="$URANDOM_SEED" bs="$pool_size" count=2 2> /dev/null | wc -c) - test "$size" -eq "$pool_size" -} - init_rng() { - if check_file_size; then - printf 'Initializing random number generator: ' - dd if="$URANDOM_SEED" bs="$pool_size" of=/dev/urandom count=1 2> /dev/null - status=$? - if [ "$status" -eq 0 ]; then - echo "OK" - else - echo "FAIL" - fi - return "$status" + [ -f "$URANDOM_SEED" ] || return 0 + printf 'Initializing random number generator: ' + dd if="$URANDOM_SEED" bs="$pool_size" of=/dev/urandom count=1 2> /dev/null + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" fi + return "$status" } save_random_seed() { printf 'Saving random seed: ' - if touch "$URANDOM_SEED" 2> /dev/null; then + status=1 + if touch "$URANDOM_SEED.new" 2> /dev/null; then old_umask=$(umask) umask 077 - dd if=/dev/urandom of="$URANDOM_SEED" bs="$pool_size" count=1 2> /dev/null - status=$? + dd if=/dev/urandom of="$URANDOM_SEED.tmp" bs="$pool_size" count=1 2> /dev/null + cat "$URANDOM_SEED" "$URANDOM_SEED.tmp" 2>/dev/null \ + | sha256sum \ + | cut -d ' ' -f 1 > "$URANDOM_SEED.new" && \ + mv "$URANDOM_SEED.new" "$URANDOM_SEED" && status=0 + rm -f "$URANDOM_SEED.tmp" umask "$old_umask" if [ "$status" -eq 0 ]; then echo "OK" else echo "FAIL" fi + else - status=$? echo "SKIP (read-only file system detected)" fi return "$status" diff --git a/package/urg/urg.hash b/package/urg/urg.hash index f2c5f1430..363504d2e 100644 --- a/package/urg/urg.hash +++ b/package/urg/urg.hash @@ -1,6 +1,6 @@ # from http://pkgs.fedoraproject.org/repo/pkgs/urg/urg-0.8.18.zip/ -md5 93f90d2ccc36e784407c5282ef6bd2cb urg-0.8.18.zip +md5 93f90d2ccc36e784407c5282ef6bd2cb urg-0.8.18.zip # Locally calculated -sha256 b2cab7e539c90c60fc99a2350a42b5d5390ff952b694b196c3cbb54623cfee7f urg-0.8.18.zip +sha256 b2cab7e539c90c60fc99a2350a42b5d5390ff952b694b196c3cbb54623cfee7f urg-0.8.18.zip # License files, locally calculated -sha256 9ccf26cfe845e0eb8bb58053e47366e7ab6b697ae010f7650978d4b71b7d1fc1 COPYING +sha256 9ccf26cfe845e0eb8bb58053e47366e7ab6b697ae010f7650978d4b71b7d1fc1 COPYING diff --git a/package/usb_modeswitch/0001-fix-systemd-detection.patch b/package/usb_modeswitch/0001-fix-systemd-detection.patch new file mode 100644 index 000000000..d0b3e80ae --- /dev/null +++ b/package/usb_modeswitch/0001-fix-systemd-detection.patch @@ -0,0 +1,18 @@ +Modify the Makefile to include '$(PREFIX)/bin/systemctl' in the list of paths. +This makes the udev intgeration work as intended when using systemd. + +Signed-off-by: Sol Bekic + +diff --git a/Makefile b/Makefile +index 22bd0e0..72321a4 100755 +--- a/Makefile ++++ b/Makefile +@@ -62,7 +62,7 @@ + install -D --mode=755 usb_modeswitch_dispatcher $(SBINDIR)/usb_modeswitch_dispatcher + install -d $(DESTDIR)/var/lib/usb_modeswitch + test -d $(UPSDIR) -a -e /sbin/initctl && install --mode=644 usb-modeswitch-upstart.conf $(UPSDIR) || test 1 +- test -d $(SYSDIR) -a \( -e /usr/bin/systemctl -o -e /bin/systemctl \) && install --mode=644 usb_modeswitch@.service $(SYSDIR) || test 1 ++ test -d $(SYSDIR) -a \( -e /usr/bin/systemctl -o -e /bin/systemctl -o -e $(PREFIX)/bin/systemctl \) && install --mode=644 usb_modeswitch@.service $(SYSDIR) || test 1 + + install: install-script + diff --git a/package/usb_modeswitch_data/usb_modeswitch_data.hash b/package/usb_modeswitch_data/usb_modeswitch_data.hash index 922913b27..9071a7249 100644 --- a/package/usb_modeswitch_data/usb_modeswitch_data.hash +++ b/package/usb_modeswitch_data/usb_modeswitch_data.hash @@ -1,5 +1,5 @@ # From http://www.draisberghof.de/usb_modeswitch/ -md5 e8fce7eb949cbe16c61fb71bade4cc17 usb-modeswitch-data-20191128.tar.bz2 +md5 e8fce7eb949cbe16c61fb71bade4cc17 usb-modeswitch-data-20191128.tar.bz2 # Locally calculated -sha256 3f039b60791c21c7cb15c7986cac89650f076dc274798fa242231b910785eaf9 usb-modeswitch-data-20191128.tar.bz2 -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 3f039b60791c21c7cb15c7986cac89650f076dc274798fa242231b910785eaf9 usb-modeswitch-data-20191128.tar.bz2 +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/usbguard/Config.in b/package/usbguard/Config.in index ca6d52034..458caf960 100644 --- a/package/usbguard/Config.in +++ b/package/usbguard/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_USBGUARD depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf depends on BR2_INSTALL_LIBSTDCPP # protobuf depends on BR2_TOOLCHAIN_HAS_THREADS # libqb, protobuf - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # protobuf + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17 filesystem depends on !BR2_STATIC_LIBS # libqb, protobuf depends on !BR2_TOOLCHAIN_USES_MUSL depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future @@ -19,9 +19,9 @@ config BR2_PACKAGE_USBGUARD https://usbguard.github.io/ -comment "usbguard needs a glibc or uClibc toolchain w/ C++, threads, dynamic library, gcc >= 4.8" +comment "usbguard needs a glibc or uClibc toolchain w/ C++, threads, dynamic library, gcc >= 8" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ - || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ + || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_8 \ || BR2_TOOLCHAIN_USES_MUSL depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS diff --git a/package/usbguard/usbguard.mk b/package/usbguard/usbguard.mk index c16a7529a..d2b03eeb2 100644 --- a/package/usbguard/usbguard.mk +++ b/package/usbguard/usbguard.mk @@ -8,6 +8,7 @@ USBGUARD_VERSION = 1.0.0 USBGUARD_SITE = https://github.com/USBGuard/usbguard/releases/download/usbguard-$(USBGUARD_VERSION) USBGUARD_LICENSE = GPL-2.0+ USBGUARD_LICENSE_FILES = LICENSE +USBGUARD_CPE_ID_VENDOR = usbguard_project USBGUARD_SELINUX_MODULES = usbguard USBGUARD_CONF_OPTS = \ --with-bundled-catch \ diff --git a/package/ussp-push/ussp-push.hash b/package/ussp-push/ussp-push.hash index 36c79cfa5..58874ab18 100644 --- a/package/ussp-push/ussp-push.hash +++ b/package/ussp-push/ussp-push.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 bb2748eaed6164812555b4a1e186c4f2820c5ef9ce30f12d7aac28a452719bbd ussp-push-0.11.tar.gz +sha256 bb2748eaed6164812555b4a1e186c4f2820c5ef9ce30f12d7aac28a452719bbd ussp-push-0.11.tar.gz # License files, locally calculated -sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/utp_com/utp_com.hash b/package/utp_com/utp_com.hash index bc25be209..9a680f275 100644 --- a/package/utp_com/utp_com.hash +++ b/package/utp_com/utp_com.hash @@ -1,3 +1,3 @@ # locally computed -sha256 8b5ba0058a78de69faf6822bb10b457fff2f9e55dc112ccb81c35214b061c6e6 utp_com-dee512ced1e9367d223d22f10797fbf9aeacfab6.tar.gz -sha256 a45d0bb572ed792ed34627a72621834b3ba92aab6e2cc4e04301dee7a728d753 LICENSE +sha256 8b5ba0058a78de69faf6822bb10b457fff2f9e55dc112ccb81c35214b061c6e6 utp_com-dee512ced1e9367d223d22f10797fbf9aeacfab6.tar.gz +sha256 a45d0bb572ed792ed34627a72621834b3ba92aab6e2cc4e04301dee7a728d753 LICENSE diff --git a/package/v4l2loopback/v4l2loopback.hash b/package/v4l2loopback/v4l2loopback.hash index f4491e02d..d897fd48f 100644 --- a/package/v4l2loopback/v4l2loopback.hash +++ b/package/v4l2loopback/v4l2loopback.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 e152cd6df6a8add172fb74aca3a9188264823efa5a2317fe960d45880b9406ae v4l2loopback-0.12.5.tar.gz +sha256 e0782b8abe8f2235e2734f725dc1533a0729e674c4b7834921ade43b9f04939b v4l2loopback-0.12.7.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/v4l2loopback/v4l2loopback.mk b/package/v4l2loopback/v4l2loopback.mk index 7701bc3a3..84e1927ce 100644 --- a/package/v4l2loopback/v4l2loopback.mk +++ b/package/v4l2loopback/v4l2loopback.mk @@ -4,10 +4,12 @@ # ################################################################################ -V4L2LOOPBACK_VERSION = 0.12.5 +V4L2LOOPBACK_VERSION = 0.12.7 V4L2LOOPBACK_SITE = $(call github,umlaeute,v4l2loopback,v$(V4L2LOOPBACK_VERSION)) V4L2LOOPBACK_LICENSE = GPL-2.0+ V4L2LOOPBACK_LICENSE_FILES = COPYING +V4L2LOOPBACK_CPE_ID_VENDOR = v4l2loopback_project +V4L2LOOPBACK_CPE_ID_PREFIX = cpe:2.3:o ifeq ($(BR2_PACKAGE_V4L2LOOPBACK_UTILS),y) define V4L2LOOPBACK_INSTALL_TARGET_CMDS @@ -15,5 +17,15 @@ define V4L2LOOPBACK_INSTALL_TARGET_CMDS endef endif +# CONFIG_MEDIA_SUPPORT depends on CONFIG_HAS_IOMEM, which is only +# available when CONFIG_PCI=y on S390. CONFIG_VIDEO_DEV needs +# CONFIG_I2C since Linux 5.18. +define V4L2LOOPBACK_LINUX_CONFIG_FIXUPS + $(if $(BR2_s390x),$(call KCONFIG_ENABLE_OPT,CONFIG_PCI)) + $(call KCONFIG_ENABLE_OPT,CONFIG_MEDIA_SUPPORT) + $(call KCONFIG_ENABLE_OPT,CONFIG_I2C) + $(call KCONFIG_ENABLE_OPT,CONFIG_VIDEO_DEV) +endef + $(eval $(kernel-module)) $(eval $(generic-package)) diff --git a/package/valgrind/0003-coregrind-fix-compilation-for-uclibc.patch b/package/valgrind/0003-coregrind-fix-compilation-for-uclibc.patch new file mode 100644 index 000000000..ff8dc974d --- /dev/null +++ b/package/valgrind/0003-coregrind-fix-compilation-for-uclibc.patch @@ -0,0 +1,65 @@ +From 9c9fd9ae24b45f915f0759d32f662835c26d37c3 Mon Sep 17 00:00:00 2001 +From: Dario Binacchi +Date: Fri, 8 Apr 2022 12:36:33 +0200 +Subject: [PATCH] coregrind: fix compilation for uclibc + +It fixes a known iusse whose details are described at [1] and more +generally it guarantees that Valgrind is properly compiled for ulibc. + +[1] https://www.mail-archive.com/valgrind-users@lists.sourceforge.net/msg05295.html + +Suggested-by Michael Trimarchi +Co-developed-by: Michael Trimarchi +Signed-off-by: Dario Binacchi +--- + configure.ac | 2 ++ + coregrind/m_debuginfo/minilzo-inl.c | 4 ++++ + coregrind/vg_preloaded.c | 4 ++++ + 3 files changed, 10 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 6f51dfd9f8fb..c627a9c17a4a 100755 +--- a/configure.ac ++++ b/configure.ac +@@ -1204,6 +1204,8 @@ AC_SUBST(DEFAULT_SUPP) + AC_CHECK_HEADER([features.h]) + + if test x$ac_cv_header_features_h = xyes; then ++ AC_DEFINE([HAVE_HEADER_FEATURES_H], 1, ++ [Define to 1 if you have the `features.h' header.]) + rm -f conftest.$ac_ext + cat <<_ACEOF >conftest.$ac_ext + #include +diff --git a/coregrind/m_debuginfo/minilzo-inl.c b/coregrind/m_debuginfo/minilzo-inl.c +index 153d008fd44f..b45ec92eaa85 100644 +--- a/coregrind/m_debuginfo/minilzo-inl.c ++++ b/coregrind/m_debuginfo/minilzo-inl.c +@@ -1875,6 +1875,10 @@ extern "C" { + + #endif + ++#ifdef HAVE_HEADER_FEATURES_H ++#include ++#endif ++ + #undef LZO_HAVE_CONFIG_H + #include "minilzo.h" + +diff --git a/coregrind/vg_preloaded.c b/coregrind/vg_preloaded.c +index 5e2098390847..3809811aede7 100644 +--- a/coregrind/vg_preloaded.c ++++ b/coregrind/vg_preloaded.c +@@ -45,6 +45,10 @@ + #include "pub_core_debuginfo.h" // Needed for pub_core_redir.h + #include "pub_core_redir.h" // For VG_NOTIFY_ON_LOAD + ++#ifdef HAVE_HEADER_FEATURES_H ++#include ++#endif ++ + #if defined(VGO_linux) || defined(VGO_solaris) || defined(VGO_freebsd) + + /* --------------------------------------------------------------------- +-- +2.32.0 + diff --git a/package/valgrind/Config.in b/package/valgrind/Config.in index 56e4af21f..700849130 100644 --- a/package/valgrind/Config.in +++ b/package/valgrind/Config.in @@ -7,14 +7,15 @@ config BR2_PACKAGE_VALGRIND_ARCH_SUPPORTS default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le depends on !BR2_MIPS_SOFT_FLOAT -comment "valgrind needs a toolchain w/ dynamic library" +comment "valgrind needs a toolchain w/ dynamic library, threads" depends on BR2_PACKAGE_VALGRIND_ARCH_SUPPORTS - depends on BR2_STATIC_LIBS + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS config BR2_PACKAGE_VALGRIND bool "valgrind" depends on BR2_PACKAGE_VALGRIND_ARCH_SUPPORTS depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_THREADS help Tool for debugging and profiling Linux programs. diff --git a/package/valgrind/valgrind.mk b/package/valgrind/valgrind.mk index 52f2a04ff..a3eabec9f 100644 --- a/package/valgrind/valgrind.mk +++ b/package/valgrind/valgrind.mk @@ -14,6 +14,8 @@ VALGRIND_CONF_OPTS = \ --disable-ubsan \ --without-mpicc VALGRIND_INSTALL_STAGING = YES +# 0003-coregrind-fix-compilation-for-uclibc.patch +VALGRIND_AUTORECONF=YES # Valgrind must be compiled with no stack protection, so forcefully # pass -fno-stack-protector to override what Buildroot may have in diff --git a/package/valijson/Config.in b/package/valijson/Config.in index 10721b370..07706cd96 100644 --- a/package/valijson/Config.in +++ b/package/valijson/Config.in @@ -1,10 +1,6 @@ config BR2_PACKAGE_VALIJSON bool "valijson" - depends on BR2_USE_WCHAR depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS - select BR2_PACKAGE_BOOST - select BR2_PACKAGE_BOOST_REGEX help Valijson is a header-only JSON Schema Validation library for C++. Valijson provides a simple validation API that allows @@ -14,5 +10,5 @@ config BR2_PACKAGE_VALIJSON https://github.com/tristanpenman/valijson -comment "valijson needs a toolchain w/ C++, threads, wchar support" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR +comment "valijson needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/valijson/valijson.mk b/package/valijson/valijson.mk index e425757d2..71c5b05f2 100644 --- a/package/valijson/valijson.mk +++ b/package/valijson/valijson.mk @@ -11,7 +11,6 @@ VALIJSON_LICENSE_FILES = LICENSE VALIJSON_CPE_ID_VENDOR = valijson_project VALIJSON_INSTALL_STAGING = YES VALIJSON_INSTALL_TARGET = NO -VALIJSON_DEPENDENCIES = boost VALIJSON_CONF_OPTS = -Dvalijson_INSTALL_HEADERS=TRUE -Dvalijson_BUILD_TESTS=FALSE $(eval $(cmake-package)) diff --git a/package/vde2/0003-vde_l3-Add-static-to-inline-functions.patch b/package/vde2/0003-vde_l3-Add-static-to-inline-functions.patch new file mode 100644 index 000000000..7f771dfc7 --- /dev/null +++ b/package/vde2/0003-vde_l3-Add-static-to-inline-functions.patch @@ -0,0 +1,37 @@ +vde_l3: Add static to inline functions + +Add static to inline functions to avoid the following build failure +with BR2_OPTIMIZE_0: + +/home/autobuild/autobuild/instance-11/output-1/host/lib/gcc/mips64-buildroot-linux-uclibc/10.3.0/../../../../mips64-buildroot-linux-uclibc/bin/ld: vde_l3.o: in function `ip_output_ready': +vde_l3.c:(.text+0xb30): undefined reference to `iphead' + +Fixes: + - http://autobuild.buildroot.org/results/5eeefcdac0b8974a424a885fdc2e82f7cb4b617d + +Signed-off-by: Fabrice Fontaine + +diff -Nura vde2-2.3.2.orig/src/vde_l3/vde_l3.c vde2-2.3.2/src/vde_l3/vde_l3.c +--- vde2-2.3.2.orig/src/vde_l3/vde_l3.c 2022-04-21 11:05:17.393452698 +0200 ++++ vde2-2.3.2/src/vde_l3/vde_l3.c 2022-04-21 11:10:36.509804404 +0200 +@@ -100,17 +100,17 @@ + }; + + +-inline struct vde_ethernet_header *ethhead(struct vde_buff *vdb) ++static inline struct vde_ethernet_header *ethhead(struct vde_buff *vdb) + { + return (struct vde_ethernet_header*)(vdb->data); + } + +-inline struct iphdr *iphead(struct vde_buff *vdb) ++static inline struct iphdr *iphead(struct vde_buff *vdb) + { + return (struct iphdr*)(vdb->data + 14); + } + +-inline void *payload(struct vde_buff *vdb) ++static inline void *payload(struct vde_buff *vdb) + { + return (uint8_t*)(vdb->data + 14 + sizeof(struct iphdr)); + } diff --git a/package/vdr-plugin-vnsiserver/vdr-plugin-vnsiserver.hash b/package/vdr-plugin-vnsiserver/vdr-plugin-vnsiserver.hash index 21c62fae1..b31ba70ad 100644 --- a/package/vdr-plugin-vnsiserver/vdr-plugin-vnsiserver.hash +++ b/package/vdr-plugin-vnsiserver/vdr-plugin-vnsiserver.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 d5989461541a91fe4de4ca9c396d4e7b2f4a8663fc9d6155d0830d2b143fce4d vdr-plugin-vnsiserver-1.8.0.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 d5989461541a91fe4de4ca9c396d4e7b2f4a8663fc9d6155d0830d2b143fce4d vdr-plugin-vnsiserver-1.8.0.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/vim/vim.hash b/package/vim/vim.hash index 8b60b7461..26bc913b8 100644 --- a/package/vim/vim.hash +++ b/package/vim/vim.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 b0a5acbe83bbdd4b1412abd9dc2ae2e3593c6cff8ff11c551fda3e6e2a87ec81 vim-8.2.4450.tar.gz +sha256 c2bddf283a19c8714d7b21716e0a6a3214f9edb60b080f233cce4143fe228ff3 vim-9.0.1414.tar.gz sha256 0bcab3b635dd39208c42b496568d1e8171dad247cf3da5bab3d750c9d5883499 LICENSE -sha256 96970b67f9cb38b0e759946cff22562a3c4b11ce78f62f2117d5e7ecded9ab4d README.txt +sha256 d187aff219161f37138479257f82d687ea10b2cdd17d58b53a3ec9b79d6dc870 README.txt diff --git a/package/vim/vim.mk b/package/vim/vim.mk index 28fd33c8e..bb6d4a8d2 100644 --- a/package/vim/vim.mk +++ b/package/vim/vim.mk @@ -4,7 +4,7 @@ # ################################################################################ -VIM_VERSION = 8.2.4450 +VIM_VERSION = 9.0.1414 VIM_SITE = $(call github,vim,vim,v$(VIM_VERSION)) VIM_DEPENDENCIES = ncurses $(TARGET_NLS_DEPENDENCIES) VIM_SUBDIR = src diff --git a/package/vlc/0010-modules-access-live555.cpp-fix-build-with-live555-20.patch b/package/vlc/0010-modules-access-live555.cpp-fix-build-with-live555-20.patch deleted file mode 100644 index 5f046648d..000000000 --- a/package/vlc/0010-modules-access-live555.cpp-fix-build-with-live555-20.patch +++ /dev/null @@ -1,36 +0,0 @@ -From eba390d13ec4089cd6b9d8687ab3f8905b9d3ac8 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 22 May 2021 22:56:04 +0200 -Subject: [PATCH] modules/access/live555.cpp: fix build with live555 >= - 2020.12.11 - -Since live555-2020.12.11, connectionEndpointAddress() member function -use a "struct sockaddr_storage" in preparation for eventual support of -IPv6: http://www.live555.com/liveMedia/public/changelog.txt - -Fixes: - - http://autobuild.buildroot.org/results/83170984f96238756c45bf1f4e542363afafd45f - -Signed-off-by: Fabrice Fontaine ---- - modules/access/live555.cpp | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/modules/access/live555.cpp b/modules/access/live555.cpp -index 9d6e01ae32..32a6c294eb 100644 ---- a/modules/access/live555.cpp -+++ b/modules/access/live555.cpp -@@ -850,7 +850,9 @@ static int SessionsSetup( demux_t *p_demux ) - if( !p_sys->b_multicast ) - { - /* We need different rollover behaviour for multicast */ -- p_sys->b_multicast = IsMulticastAddress( sub->connectionEndpointAddress() ); -+ struct sockaddr_storage tempAddr; -+ sub->getConnectionEndpointAddress( tempAddr ); -+ p_sys->b_multicast = IsMulticastAddress( tempAddr ); - } - - tk = (live_track_t*)malloc( sizeof( live_track_t ) ); --- -2.30.2 - diff --git a/package/vlc/0010-opengl-missing-library-check.patch b/package/vlc/0010-opengl-missing-library-check.patch new file mode 100644 index 000000000..3a28fe34e --- /dev/null +++ b/package/vlc/0010-opengl-missing-library-check.patch @@ -0,0 +1,57 @@ +From 4ab41404cb85684125d73977cadebf83bbc246f5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= +Date: Sat, 22 Jan 2022 11:34:38 +0200 +Subject: [PATCH] opengl: missing library check + +Traditionally the presence of the header file was not considered +sufficient, though this was somewhat forgotten with the prevalence of +pkg-config. + +However most libraries have portable headers, while the shared library +is platform-dependent. It is common for the header to be present while +the library is absent with "multilib" installations (i.e. Linux +installation with multiple architectures). + +Downloaded from upstream commit: +https://code.videolan.org/videolan/vlc/-/commit/4ab41404cb85684125d73977cadebf83bbc246f5 + +Signed-off-by: Bernd Kuhls +--- + configure.ac | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 2f50808d597..0d57fadbf8b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3169,7 +3169,6 @@ have_gl="no" + PKG_CHECK_MODULES([GL], [gl], [ + have_gl="yes" + ], [ +- AC_MSG_CHECKING([for OpenGL]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #ifdef _WIN32 + # include +@@ -3179,13 +3178,17 @@ PKG_CHECK_MODULES([GL], [gl], [ + [int t0 = GL_TEXTURE0;]]) + ], [ + GL_CFLAGS="" +- have_gl="yes" + AS_IF([test "${SYS}" != "mingw32"], [ +- GL_LIBS="-lGL" ++ AC_CHECK_LIB([GL], [glTexture2D], [ ++ have_gl="yes" ++ GL_LIBS="-lGL" ++ ]) + ], [ ++ have_gl="yes" + GL_LIBS="-lopengl32" + ]) + ]) ++ AC_MSG_CHECKING([for OpenGL]) + AC_MSG_RESULT([${have_gl}]) + ]) + AM_CONDITIONAL([HAVE_GL], [test "${have_gl}" = "yes"]) +-- +GitLab + diff --git a/package/vlc/vlc.hash b/package/vlc/vlc.hash index 468ec7df3..4b9940df3 100644 --- a/package/vlc/vlc.hash +++ b/package/vlc/vlc.hash @@ -1,7 +1,7 @@ -# From https://get.videolan.org/vlc/3.0.16/vlc-3.0.16.tar.xz.sha256 -sha256 ffae35fc64f625c175571d2346bc5f6207be99762517f15423e74f18399410f6 vlc-3.0.16.tar.xz -# From https://get.videolan.org/vlc/3.0.16/vlc-3.0.16.tar.xz.sha1 -sha1 e22ac839a09b5ead8992ae6aa8ea886364283e6a vlc-3.0.16.tar.xz +# From https://get.videolan.org/vlc/3.0.18/vlc-3.0.18.tar.xz.sha256 +sha256 57094439c365d8aa8b9b41fa3080cc0eef2befe6025bb5cef722accc625aedec vlc-3.0.18.tar.xz +# From https://get.videolan.org/vlc/3.0.18/vlc-3.0.18.tar.xz.sha1 +sha1 b11ccaa0f5ee15a550564817d60458eb0946f80e vlc-3.0.18.tar.xz # Locally computed sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/vlc/vlc.mk b/package/vlc/vlc.mk index b793e0efe..c6ae46f46 100644 --- a/package/vlc/vlc.mk +++ b/package/vlc/vlc.mk @@ -4,7 +4,7 @@ # ################################################################################ -VLC_VERSION = 3.0.16 +VLC_VERSION = 3.0.18 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/vmtouch/vmtouch.hash b/package/vmtouch/vmtouch.hash index 451bf5686..197794f4f 100644 --- a/package/vmtouch/vmtouch.hash +++ b/package/vmtouch/vmtouch.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 d57b7b3ae1146c4516429ab7d6db6f2122401db814ddd9cdaad10980e9c8428c vmtouch-1.3.1.tar.gz +sha256 d57b7b3ae1146c4516429ab7d6db6f2122401db814ddd9cdaad10980e9c8428c vmtouch-1.3.1.tar.gz # Hash for license files: -sha256 13258709ed29c17394e0a3ba8c8b9360af35b85231db514f11a0ba385cecd08e LICENSE +sha256 13258709ed29c17394e0a3ba8c8b9360af35b85231db514f11a0ba385cecd08e LICENSE diff --git a/package/vtun/vtun.hash b/package/vtun/vtun.hash index 363c98098..b69b987be 100644 --- a/package/vtun/vtun.hash +++ b/package/vtun/vtun.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/vtun/files/vtun/3.0.4/ -md5 f952c5895ae8f40235aaad9a8f41a4bd vtun-3.0.4.tar.gz -sha1 2335c21b56fadf9ce851dd7f342fb0ed4f522c47 vtun-3.0.4.tar.gz +md5 f952c5895ae8f40235aaad9a8f41a4bd vtun-3.0.4.tar.gz +sha1 2335c21b56fadf9ce851dd7f342fb0ed4f522c47 vtun-3.0.4.tar.gz # Locally computed: -sha256 abf8df6b15e3febeaaeae2ce24ead7105eb1537ad4ec0d830c83cbb684fd98b9 vtun-3.0.4.tar.gz -sha256 5692a9a69dc5abc1aa9cbc54899d114b65c4cefbd9d7fcecc304316a2f26ced3 README.OpenSSL +sha256 abf8df6b15e3febeaaeae2ce24ead7105eb1537ad4ec0d830c83cbb684fd98b9 vtun-3.0.4.tar.gz +sha256 5692a9a69dc5abc1aa9cbc54899d114b65c4cefbd9d7fcecc304316a2f26ced3 README.OpenSSL diff --git a/package/watchdogd/watchdogd.hash b/package/watchdogd/watchdogd.hash index 09a34d6b4..4ff1a3485 100644 --- a/package/watchdogd/watchdogd.hash +++ b/package/watchdogd/watchdogd.hash @@ -1,5 +1,5 @@ # Upstream .sha256 from GitHub -sha256 33ec4edc8cb4ada7a4d8324a27d897d33aae5e83257ed64d3d37508825c11237 watchdogd-3.5.tar.gz +sha256 33ec4edc8cb4ada7a4d8324a27d897d33aae5e83257ed64d3d37508825c11237 watchdogd-3.5.tar.gz # Locally calculated -sha256 fd685e20931174308c45a26418a7ce34d66704c4e4b92ab1d8299deb255cd676 LICENSE +sha256 fd685e20931174308c45a26418a7ce34d66704c4e4b92ab1d8299deb255cd676 LICENSE diff --git a/package/watchdogd/watchdogd.mk b/package/watchdogd/watchdogd.mk index 1a9d04d93..ea033b4e7 100644 --- a/package/watchdogd/watchdogd.mk +++ b/package/watchdogd/watchdogd.mk @@ -9,6 +9,7 @@ WATCHDOGD_SITE = https://github.com/troglobit/watchdogd/releases/download/$(WATC WATCHDOGD_LICENSE = ISC WATCHDOGD_LICENSE_FILES = LICENSE WATCHDOGD_CPE_ID_VENDOR = troglobit +WATCHDOGD_INSTALL_STAGING = YES WATCHDOGD_DEPENDENCIES = host-pkgconf libconfuse libite libuev WATCHDOGD_CONF_OPTS = --disable-compat --disable-examples --disable-test-mode WATCHDOGD_SELINUX_MODULES = watchdog diff --git a/package/wavemon/0001-iw_if.h-don-t-include-linux-if.h.patch b/package/wavemon/0001-iw_if.h-don-t-include-linux-if.h.patch new file mode 100644 index 000000000..95f54e4b7 --- /dev/null +++ b/package/wavemon/0001-iw_if.h-don-t-include-linux-if.h.patch @@ -0,0 +1,41 @@ +From 4ac1482bb40376e47805c3737dfed60abb1dd3b4 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 22 Dec 2021 00:39:35 +0100 +Subject: [PATCH] iw_if.h: don't include linux/if.h (#109) + +Don't include linux/if.h to avoid the following build failure: + +In file included from iw_if.h:31:0, + from conf.c:19: +/home/buildroot/autobuild/instance-3/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/if.h: At top level: +/home/buildroot/autobuild/instance-3/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/if.h:143:8: error: redefinition of 'struct ifmap' + struct ifmap { + ^ +In file included from iw_if.h:26:0, + from conf.c:19: +/home/buildroot/autobuild/instance-3/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/net/if.h:111:8: note: originally defined here + struct ifmap + ^ + +Fixes: + - http://autobuild.buildroot.org/results/a6ee162cf04b70b144b54e1ca4b7b2421071c50c + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/uoaerg/wavemon/commit/4ac1482bb40376e47805c3737dfed60abb1dd3b4] +--- + iw_if.h | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/iw_if.h b/iw_if.h +index 9e7fa89..6607e0b 100644 +--- a/iw_if.h ++++ b/iw_if.h +@@ -28,7 +28,6 @@ + #include + #include + #include +-#include + + /* Definitions from linux/ieee80211.h (not necessarily part of distro headers) */ + #define WLAN_CAPABILITY_ESS (1<<0) diff --git a/package/wavpack/0001-issue-110-sanitize-DSD-file-types-for-invalid-lengths.patch b/package/wavpack/0001-issue-110-sanitize-DSD-file-types-for-invalid-lengths.patch new file mode 100644 index 000000000..76c1e8167 --- /dev/null +++ b/package/wavpack/0001-issue-110-sanitize-DSD-file-types-for-invalid-lengths.patch @@ -0,0 +1,42 @@ +From 773f9d0803c6888ae7d5391878d7337f24216f4a Mon Sep 17 00:00:00 2001 +From: David Bryant +Date: Tue, 23 Nov 2021 13:14:35 -0800 +Subject: [PATCH] issue #110: sanitize DSD file types for invalid lengths + +[Retrieved from: +https://github.com/dbry/WavPack/commit/773f9d0803c6888ae7d5391878d7337f24216f4a] +Signed-off-by: Fabrice Fontaine +--- + cli/dsdiff.c | 6 ++++++ + cli/dsf.c | 1 + + 2 files changed, 7 insertions(+) + +diff --git a/cli/dsdiff.c b/cli/dsdiff.c +index d7adb6a..5bdcae3 100644 +--- a/cli/dsdiff.c ++++ b/cli/dsdiff.c +@@ -278,6 +278,12 @@ int ParseDsdiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpa + } + + total_samples = dff_chunk_header.ckDataSize / config->num_channels; ++ ++ if (total_samples <= 0 || total_samples > MAX_WAVPACK_SAMPLES) { ++ error_line ("%s is not a valid .DFF file!", infilename); ++ return WAVPACK_SOFT_ERROR; ++ } ++ + break; + } + else { // just copy unknown chunks to output file +diff --git a/cli/dsf.c b/cli/dsf.c +index e1d7973..dddd488 100644 +--- a/cli/dsf.c ++++ b/cli/dsf.c +@@ -113,6 +113,7 @@ int ParseDsfHeaderConfig (FILE *infile, char *infilename, char *fourcc, WavpackC + + if (format_chunk.ckSize != sizeof (DSFFormatChunk) || format_chunk.formatVersion != 1 || + format_chunk.formatID != 0 || format_chunk.blockSize != DSF_BLOCKSIZE || format_chunk.reserved || ++ format_chunk.sampleCount <= 0 || format_chunk.sampleCount > MAX_WAVPACK_SAMPLES * 8 || + (format_chunk.bitsPerSample != 1 && format_chunk.bitsPerSample != 8) || + format_chunk.numChannels < 1 || format_chunk.numChannels > 6 || + format_chunk.chanType < 1 || format_chunk.chanType > NUM_CHAN_TYPES) { diff --git a/package/wavpack/wavpack.mk b/package/wavpack/wavpack.mk index 485ab9b2a..2e0438ac8 100644 --- a/package/wavpack/wavpack.mk +++ b/package/wavpack/wavpack.mk @@ -14,6 +14,9 @@ WAVPACK_LICENSE = BSD-3-Clause WAVPACK_LICENSE_FILES = COPYING WAVPACK_CPE_ID_VENDOR = wavpack +# 0001-issue-110-sanitize-DSD-file-types-for-invalid-lengths.patch +WAVPACK_IGNORE_CVES += CVE-2021-44269 + ifeq ($(BR2_PACKAGE_LIBICONV),y) WAVPACK_CONF_OPTS += LIBS=-liconv endif diff --git a/package/wayland/0003-util-set-errno-in-wl_map_reserve_new.patch b/package/wayland/0003-util-set-errno-in-wl_map_reserve_new.patch new file mode 100644 index 000000000..b3b7b5809 --- /dev/null +++ b/package/wayland/0003-util-set-errno-in-wl_map_reserve_new.patch @@ -0,0 +1,92 @@ +From ddf558b9a269f24bf1a47043b942065e8f28fed0 Mon Sep 17 00:00:00 2001 +From: Aleksandr Mezin +Date: Wed, 9 Feb 2022 04:10:42 +0600 +Subject: [PATCH] util: set errno in wl_map_reserve_new() + +And also fix wl_connection_demarshal() to pass through that errno. + +Signed-off-by: Aleksandr Mezin +[Retrieved (only for clean application of next patch) from +https://gitlab.freedesktop.org/wayland/wayland/-/commit/03e8a1f84b6a15c9531db1ca8d0a25f9fcffaf25] +Signed-off-by: Quentin Schulz +--- + src/connection.c | 10 ++++++---- + src/wayland-util.c | 14 +++++++++++--- + 2 files changed, 17 insertions(+), 7 deletions(-) + +diff --git a/src/connection.c b/src/connection.c +index d0c7d9f..6a116ad 100644 +--- a/src/connection.c ++++ b/src/connection.c +@@ -803,10 +803,12 @@ wl_connection_demarshal(struct wl_connection *connection, + } + + if (wl_map_reserve_new(objects, id) < 0) { +- wl_log("not a valid new object id (%u), " +- "message %s(%s)\n", +- id, message->name, message->signature); +- errno = EINVAL; ++ if (errno == EINVAL) { ++ wl_log("not a valid new object id (%u), " ++ "message %s(%s)\n", id, ++ message->name, ++ message->signature); ++ } + goto err; + } + +diff --git a/src/wayland-util.c b/src/wayland-util.c +index d5973bf..5d28531 100644 +--- a/src/wayland-util.c ++++ b/src/wayland-util.c +@@ -24,6 +24,7 @@ + * SOFTWARE. + */ + ++#include + #include + #include + #include +@@ -257,13 +258,17 @@ wl_map_reserve_new(struct wl_map *map, uint32_t i) + struct wl_array *entries; + + if (i < WL_SERVER_ID_START) { +- if (map->side == WL_MAP_CLIENT_SIDE) ++ if (map->side == WL_MAP_CLIENT_SIDE) { ++ errno = EINVAL; + return -1; ++ } + + entries = &map->client_entries; + } else { +- if (map->side == WL_MAP_SERVER_SIDE) ++ if (map->side == WL_MAP_SERVER_SIDE) { ++ errno = EINVAL; + return -1; ++ } + + entries = &map->server_entries; + i -= WL_SERVER_ID_START; +@@ -271,8 +276,10 @@ wl_map_reserve_new(struct wl_map *map, uint32_t i) + + count = entries->size / sizeof *start; + +- if (count < i) ++ if (count < i) { ++ errno = EINVAL; + return -1; ++ } + + if (count == i) { + wl_array_add(entries, sizeof *start); +@@ -281,6 +288,7 @@ wl_map_reserve_new(struct wl_map *map, uint32_t i) + } else { + start = entries->data; + if (start[i].data != NULL) { ++ errno = EINVAL; + return -1; + } + } +-- +2.38.1 + diff --git a/package/wayland/0004-util-Limit-size-of-wl_map.patch b/package/wayland/0004-util-Limit-size-of-wl_map.patch new file mode 100644 index 000000000..c2940c516 --- /dev/null +++ b/package/wayland/0004-util-Limit-size-of-wl_map.patch @@ -0,0 +1,106 @@ +From 62b9b6f86421ac7afc7cfe7b1627a8ec2a3c4874 Mon Sep 17 00:00:00 2001 +From: Derek Foreman +Date: Fri, 28 Jan 2022 13:18:37 -0600 +Subject: [PATCH] util: Limit size of wl_map + +Since server IDs are basically indistinguishable from really big client +IDs at many points in the source, it's theoretically possible to overflow +a map and either overflow server IDs into the client ID space, or grow +client IDs into the server ID space. This would currently take a massive +amount of RAM, but the definition of massive changes yearly. + +Prevent this by placing a ridiculous but arbitrary upper bound on the +number of items we can put in a map: 0xF00000, somewhere over 15 million. +This should satisfy pathological clients without restriction, but stays +well clear of the 0xFF000000 transition point between server and client +IDs. It will still take an improbable amount of RAM to hit this, and a +client could still exhaust all RAM in this way, but our goal is to prevent +overflow and undefined behaviour. + +Fixes #224 + +Signed-off-by: Derek Foreman +[Retrieved from +https://gitlab.freedesktop.org/wayland/wayland/-/commit/b19488c7154b902354cb26a27f11415d7799b0b2] +Signed-off-by: Quentin Schulz +--- + src/wayland-private.h | 1 + + src/wayland-util.c | 25 +++++++++++++++++++++++-- + 2 files changed, 24 insertions(+), 2 deletions(-) + +diff --git a/src/wayland-private.h b/src/wayland-private.h +index 9bf8cb7..35dc40e 100644 +--- a/src/wayland-private.h ++++ b/src/wayland-private.h +@@ -45,6 +45,7 @@ + #define WL_MAP_SERVER_SIDE 0 + #define WL_MAP_CLIENT_SIDE 1 + #define WL_SERVER_ID_START 0xff000000 ++#define WL_MAP_MAX_OBJECTS 0x00f00000 + #define WL_CLOSURE_MAX_ARGS 20 + + struct wl_object { +diff --git a/src/wayland-util.c b/src/wayland-util.c +index 5d28531..c712f03 100644 +--- a/src/wayland-util.c ++++ b/src/wayland-util.c +@@ -196,6 +196,7 @@ wl_map_insert_new(struct wl_map *map, uint32_t flags, void *data) + union map_entry *start, *entry; + struct wl_array *entries; + uint32_t base; ++ uint32_t count; + + if (map->side == WL_MAP_CLIENT_SIDE) { + entries = &map->client_entries; +@@ -216,10 +217,25 @@ wl_map_insert_new(struct wl_map *map, uint32_t flags, void *data) + start = entries->data; + } + ++ /* wl_array only grows, so if we have too many objects at ++ * this point there's no way to clean up. We could be more ++ * pro-active about trying to avoid this allocation, but ++ * it doesn't really matter because at this point there is ++ * nothing to be done but disconnect the client and delete ++ * the whole array either way. ++ */ ++ count = entry - start; ++ if (count > WL_MAP_MAX_OBJECTS) { ++ /* entry->data is freshly malloced garbage, so we'd ++ * better make it a NULL so wl_map_for_each doesn't ++ * dereference it later. */ ++ entry->data = NULL; ++ return 0; ++ } + entry->data = data; + entry->next |= (flags & 0x1) << 1; + +- return (entry - start) + base; ++ return count + base; + } + + int +@@ -236,6 +252,9 @@ wl_map_insert_at(struct wl_map *map, uint32_t flags, uint32_t i, void *data) + i -= WL_SERVER_ID_START; + } + ++ if (i > WL_MAP_MAX_OBJECTS) ++ return -1; ++ + count = entries->size / sizeof *start; + if (count < i) + return -1; +@@ -274,8 +293,10 @@ wl_map_reserve_new(struct wl_map *map, uint32_t i) + i -= WL_SERVER_ID_START; + } + +- count = entries->size / sizeof *start; ++ if (i > WL_MAP_MAX_OBJECTS) ++ return -1; + ++ count = entries->size / sizeof *start; + if (count < i) { + errno = EINVAL; + return -1; +-- +2.38.1 + diff --git a/package/wayland/wayland.mk b/package/wayland/wayland.mk index ecfe95d68..fc26de9f5 100644 --- a/package/wayland/wayland.mk +++ b/package/wayland/wayland.mk @@ -14,6 +14,10 @@ WAYLAND_INSTALL_STAGING = YES WAYLAND_DEPENDENCIES = host-pkgconf host-wayland expat libffi libxml2 HOST_WAYLAND_DEPENDENCIES = host-pkgconf host-expat host-libffi host-libxml2 +# 0003-util-set-errno-in-wl_map_reserve_new.patch +# 0004-util-Limit-size-of-wl_map.patch +WAYLAND_IGNORE_CVES += CVE-2021-3782 + WAYLAND_CONF_OPTS = -Dtests=false -Ddocumentation=false HOST_WAYLAND_CONF_OPTS = -Dtests=false -Ddocumentation=false diff --git a/package/webkitgtk/Config.in b/package/webkitgtk/Config.in index bc8207d93..bd5cd8737 100644 --- a/package/webkitgtk/Config.in +++ b/package/webkitgtk/Config.in @@ -12,7 +12,7 @@ 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 >= 7, host gcc >= 4.9" +comment "webkitgtk needs libgtk3 and a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 8, host gcc >= 4.9" depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS depends on !BR2_BINFMT_FLAT depends on !BR2_PACKAGE_LIBGTK3 || !BR2_INSTALL_LIBSTDCPP || \ @@ -28,7 +28,7 @@ config BR2_PACKAGE_WEBKITGTK 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, libsoup - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 depends on BR2_USE_WCHAR # icu, libsoup depends on BR2_PACKAGE_LIBGTK3 depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS @@ -91,7 +91,9 @@ config BR2_PACKAGE_WEBKITGTK_MULTIMEDIA bool "multimedia support" select BR2_PACKAGE_GSTREAMER1 select BR2_PACKAGE_GST1_PLUGINS_BAD + select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DEBUGUTILS select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX + select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SUBENC select BR2_PACKAGE_GST1_PLUGINS_BASE select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP @@ -102,6 +104,7 @@ config BR2_PACKAGE_WEBKITGTK_MULTIMEDIA select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME select BR2_PACKAGE_GST1_PLUGINS_GOOD + select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOFX select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUTODETECT select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ISOMP4 select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA diff --git a/package/webkitgtk/webkitgtk.hash b/package/webkitgtk/webkitgtk.hash index 82c210c8f..3bc521e44 100644 --- a/package/webkitgtk/webkitgtk.hash +++ b/package/webkitgtk/webkitgtk.hash @@ -1,7 +1,7 @@ -# From https://webkitgtk.org/releases/webkitgtk-2.34.6.tar.xz.sums -md5 a5eeedd02f5b4bba8bd891b92dc743d4 webkitgtk-2.34.6.tar.xz -sha1 bb82517289baf9c858fa406d1d845274f81e25cb webkitgtk-2.34.6.tar.xz -sha256 6bc8fd034aad0432a2459ce4fc7ee25ad65a4924c618bf8d93b52b0c1a84c1f6 webkitgtk-2.34.6.tar.xz +# From https://webkitgtk.org/releases/webkitgtk-2.38.6.tar.xz.sums +md5 a50290fdc80842b1ae8be1e1147b5679 webkitgtk-2.38.6.tar.xz +sha1 4dfb3d96f621fc633ff347e083e429893551fb26 webkitgtk-2.38.6.tar.xz +sha256 1c614c9589389db1a79ea9ba4293bbe8ac3ab0a2234cac700935fae0724ad48b webkitgtk-2.38.6.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 36e4b8943..a87a7bab0 100644 --- a/package/webkitgtk/webkitgtk.mk +++ b/package/webkitgtk/webkitgtk.mk @@ -4,7 +4,7 @@ # ################################################################################ -WEBKITGTK_VERSION = 2.34.6 +WEBKITGTK_VERSION = 2.38.6 WEBKITGTK_SITE = https://www.webkitgtk.org/releases WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz WEBKITGTK_INSTALL_STAGING = YES @@ -19,17 +19,16 @@ WEBKITGTK_DEPENDENCIES = host-ruby host-python3 host-gperf \ WEBKITGTK_CONF_OPTS = \ -DENABLE_API_TESTS=OFF \ -DENABLE_GAMEPAD=OFF \ + -DENABLE_DOCUMENTATION=OFF \ -DENABLE_GEOLOCATION=OFF \ - -DENABLE_GTKDOC=OFF \ -DENABLE_MINIBROWSER=ON \ -DENABLE_SPELLCHECK=ON \ + -DENABLE_WEB_RTC=OFF \ -DPORT=GTK \ - -DUSE_LIBNOTIFY=OFF \ -DUSE_LIBHYPHEN=OFF \ -DUSE_OPENJPEG=ON \ -DUSE_SOUP2=ON \ - -DUSE_WOFF2=ON \ - -DUSE_WPE_RENDERER=OFF + -DUSE_WOFF2=ON ifeq ($(BR2_PACKAGE_WEBKITGTK_SANDBOX),y) WEBKITGTK_CONF_OPTS += \ @@ -79,18 +78,10 @@ endif # 2D CANVAS acceleration requires OpenGL proper with cairo-gl ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) WEBKITGTK_CONF_OPTS += \ - -DENABLE_ACCELERATED_2D_CANVAS=ON \ -DENABLE_GLES2=OFF \ -DENABLE_X11_TARGET=ON WEBKITGTK_DEPENDENCIES += libgl \ xlib_libXcomposite xlib_libXdamage xlib_libXrender xlib_libXt -# It can use libgtk2 for npapi plugins -ifeq ($(BR2_PACKAGE_LIBGTK2),y) -WEBKITGTK_CONF_OPTS += -DENABLE_PLUGIN_PROCESS_GTK2=ON -WEBKITGTK_DEPENDENCIES += libgtk2 -else -WEBKITGTK_CONF_OPTS += -DENABLE_PLUGIN_PROCESS_GTK2=OFF -endif else # !X11 # GTK3-BROADWAY/WAYLAND needs at least EGL WEBKITGTK_DEPENDENCIES += libegl @@ -108,6 +99,13 @@ WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON endif endif +ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND)$(BR2_PACKAGE_WPEBACKEND_FDO),yy) +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 @@ -115,10 +113,10 @@ WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=OFF endif ifeq ($(BR2_INIT_SYSTEMD),y) -WEBKITGTK_CONF_OPTS += -DUSE_SYSTEMD=ON +WEBKITGTK_CONF_OPTS += -DENABLE_JOURNALD_LOG=ON WEBKITGTK_DEPENDENCIES += systemd else -WEBKITGTK_CONF_OPTS += -DUSE_SYSTEMD=OFF +WEBKITGTK_CONF_OPTS += -DENABLE_JOURNALD_LOG=OFF endif # JIT is not supported for MIPS r6, but the WebKit build system does not @@ -135,4 +133,23 @@ ifeq ($(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV6)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON -DENABLE_SAMPLING_PROFILER=OFF endif +# webkitgtk needs cmake >= 3.20 when not building with ninja, which is +# above our minimal version in +# support/dependencies/check-host-cmake.mk, so use the ninja backend: +# https://github.com/WebKit/WebKit/commit/6cd89696b5d406c1a3d9a7a9bbb18fda9284fa1f +WEBKITGTK_CONF_OPTS += -GNinja +WEBKITGTK_DEPENDENCIES += host-ninja + +define WEBKITGTK_BUILD_CMDS + $(TARGET_MAKE_ENV) $(BR2_CMAKE) --build $(WEBKITGTK_BUILDDIR) +endef + +define WEBKITGTK_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) DESTDIR=$(STAGING_DIR) $(BR2_CMAKE) --install $(WEBKITGTK_BUILDDIR) +endef + +define WEBKITGTK_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) $(BR2_CMAKE) --install $(WEBKITGTK_BUILDDIR) +endef + $(eval $(cmake-package)) diff --git a/package/webrtc-audio-processing/webrtc-audio-processing.hash b/package/webrtc-audio-processing/webrtc-audio-processing.hash index 1376054f2..18b8ea641 100644 --- a/package/webrtc-audio-processing/webrtc-audio-processing.hash +++ b/package/webrtc-audio-processing/webrtc-audio-processing.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a0fdd938fd85272d67e81572c5a4d9e200a0c104753cb3c209ded175ce3c5dbf webrtc-audio-processing-0.3.1.tar.xz -sha256 9b79539028e216e813e152d45f5c1ed5fdd0554426ad50270fb03134e7082dac COPYING +sha256 a0fdd938fd85272d67e81572c5a4d9e200a0c104753cb3c209ded175ce3c5dbf webrtc-audio-processing-0.3.1.tar.xz +sha256 9b79539028e216e813e152d45f5c1ed5fdd0554426ad50270fb03134e7082dac COPYING diff --git a/package/weston/Config.in b/package/weston/Config.in index 6ad8241ca..3b4e932b7 100644 --- a/package/weston/Config.in +++ b/package/weston/Config.in @@ -147,6 +147,7 @@ config BR2_PACKAGE_WESTON_DEMO_CLIENTS bool "demo clients" depends on BR2_USE_MMU # pango depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango depends on BR2_INSTALL_LIBSTDCPP # pango depends on BR2_TOOLCHAIN_HAS_THREADS # pango depends on BR2_USE_WCHAR # pango @@ -156,11 +157,11 @@ config BR2_PACKAGE_WESTON_DEMO_CLIENTS help This enables the installation of Weston's demo clients. -comment "demo clients needs an OpenGL ES provider, an OpenEGL-capable Wayland backend and a toolchain w/ wchar, threads, C++" +comment "demo clients needs an OpenGL ES provider, an OpenEGL-capable Wayland backend and a toolchain w/ wchar, threads, C++, gcc >= 4.9" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_USE_WCHAR || !BR2_PACKAGE_HAS_LIBGLES || \ - !BR2_PACKAGE_HAS_LIBEGL_WAYLAND + !BR2_PACKAGE_HAS_LIBEGL_WAYLAND || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 endif diff --git a/package/weston/weston.hash b/package/weston/weston.hash index b78a7c755..d58ca1ef7 100644 --- a/package/weston/weston.hash +++ b/package/weston/weston.hash @@ -1,6 +1,4 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2022-February/042103.html -md5 bc4abe2ee6904a4890a0c641c6257f91 weston-10.0.0.tar.xz -sha1 b1a51e3bb7ee1d75bbf728c8071771e07fc97fdd weston-10.0.0.tar.xz -sha256 5c23964112b90238bed39e5dd1e41cd71a79398813cdc3bbb15a9fdc94e547ae weston-10.0.0.tar.xz -sha512 77e05530751e4f743eebf015ab5b78a1fcc66b774713b5e296cfffc488be84e459f811c85ac4280b7b63eebf4ff5c958dd7306376ab343e6b80feae16c8c35a4 weston-10.0.0.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2022-June/042260.html +sha256 8a9e52506a865a7410981b04f8341b89b84106db8531ab1f9fdd37b5dc034115 weston-10.0.1.tar.xz +sha512 688d843096a95b463161b98e85ca3443b31ba2ee49fc8d456a2780cc96f576e9d097054e9f361997a66e9cc8373cf29e406a742dae3884b3b50b26acf1710c8c weston-10.0.1.tar.xz sha256 fdb65868f65d0fbdb05c2d3b779e10ce9969fa0c4b9262ba4f260e87086ab860 COPYING diff --git a/package/weston/weston.mk b/package/weston/weston.mk index 90cf16068..76df9bf2d 100644 --- a/package/weston/weston.mk +++ b/package/weston/weston.mk @@ -4,8 +4,8 @@ # ################################################################################ -WESTON_VERSION = 10.0.0 -WESTON_SITE = https://wayland.freedesktop.org/releases +WESTON_VERSION = 10.0.1 +WESTON_SITE = https://gitlab.freedesktop.org/wayland/weston/-/releases/$(WESTON_VERSION)/downloads WESTON_SOURCE = weston-$(WESTON_VERSION).tar.xz WESTON_LICENSE = MIT WESTON_LICENSE_FILES = COPYING diff --git a/package/wf111/wf111.hash b/package/wf111/wf111.hash index e3a5c484f..604ce79ef 100644 --- a/package/wf111/wf111.hash +++ b/package/wf111/wf111.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 33de265d28702ce32bb292f29a43e9e946382a1e31f1e4feae0f4753cf18b4f4 wf111-linux-driver_5.2.2-r4_armv7-a.tar.gz -sha256 fbe86a30e4025b9f510feb4cb8f846aca82f8f3e8f6c8a28a74baf45c87f6e96 wf111-linux-driver_5.2.2-r4_armv5te.tar.gz -sha256 37983d73f60bab9768eb02a89695448f27cd1964e23cf462e76657344a9c67ac wf111-linux-driver-5-2-2-r3-x86.tar.gz +sha256 33de265d28702ce32bb292f29a43e9e946382a1e31f1e4feae0f4753cf18b4f4 wf111-linux-driver_5.2.2-r4_armv7-a.tar.gz +sha256 fbe86a30e4025b9f510feb4cb8f846aca82f8f3e8f6c8a28a74baf45c87f6e96 wf111-linux-driver_5.2.2-r4_armv5te.tar.gz +sha256 37983d73f60bab9768eb02a89695448f27cd1964e23cf462e76657344a9c67ac wf111-linux-driver-5-2-2-r3-x86.tar.gz diff --git a/package/wget/wget.hash b/package/wget/wget.hash index 7f89bedb8..22674650a 100644 --- a/package/wget/wget.hash +++ b/package/wget/wget.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/wget/wget-1.21.2.tar.lz.sig +# https://ftp.gnu.org/gnu/wget/wget-1.21.3.tar.lz.sig # with key 6B98F637D879C5236E277C5C64FF90AAE8C70AF9 -sha256 1727a330a86acacb3e57615ce268f5f29978bf7adec4abe6a30d370207bc91b3 wget-1.21.2.tar.lz +sha256 dbd2fb5e47149d4752d0eaa0dac68cc49cf20d46df4f8e326ffc8f18b2af4ea5 wget-1.21.3.tar.lz # Locally calculated sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b COPYING diff --git a/package/wget/wget.mk b/package/wget/wget.mk index f30fa3991..455faaed1 100644 --- a/package/wget/wget.mk +++ b/package/wget/wget.mk @@ -4,7 +4,7 @@ # ################################################################################ -WGET_VERSION = 1.21.2 +WGET_VERSION = 1.21.3 WGET_SOURCE = wget-$(WGET_VERSION).tar.lz WGET_SITE = $(BR2_GNU_MIRROR)/wget WGET_DEPENDENCIES = host-pkgconf @@ -12,6 +12,13 @@ WGET_LICENSE = GPL-3.0+ WGET_LICENSE_FILES = COPYING WGET_CPE_ID_VENDOR = gnu +ifeq ($(BR2_PACKAGE_LIBPSL),y) +WGET_CONF_OPTS += --with-libpsl +WGET_DEPENDENCIES += libpsl +else +WGET_CONF_OPTS += --without-libpsl +endif + ifeq ($(BR2_PACKAGE_GNUTLS),y) WGET_CONF_OPTS += --with-ssl=gnutls WGET_DEPENDENCIES += gnutls @@ -26,15 +33,19 @@ ifeq ($(BR2_PACKAGE_LIBICONV),y) WGET_DEPENDENCIES += libiconv endif -ifeq ($(BR2_PACKAGE_LIBIDN2),y) -WGET_CONF_OPTS += --with-libidn +# BR2_ENABLE_LOCALE and BR2_PACKAGE_LIBICONV are mutually exclusive +ifeq ($(BR2_ENABLE_LOCALE)$(BR2_PACKAGE_LIBICONV)$(BR2_PACKAGE_LIBIDN2),yy) +WGET_CONF_OPTS += --enable-iri WGET_DEPENDENCIES += libidn2 else -WGET_CONF_OPTS += --without-libidn +WGET_CONF_OPTS += --disable-iri endif ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y) +WGET_CONF_OPTS += --with-libuuid WGET_DEPENDENCIES += util-linux +else +WGET_CONF_OPTS += --without-libuuid endif ifeq ($(BR2_PACKAGE_ZLIB),y) @@ -44,6 +55,13 @@ else WGET_CONF_OPTS += --without-zlib endif +ifeq ($(BR2_PACKAGE_C_ARES),y) +WGET_CONF_OPTS += --with-cares +WGET_DEPENDENCIES += c-ares +else +WGET_CONF_OPTS += --without-cares +endif + ifeq ($(BR2_PACKAGE_PCRE2),y) WGET_CONF_OPTS += --disable-pcre --enable-pcre2 WGET_DEPENDENCIES += pcre2 diff --git a/package/whetstone/whetstone.hash b/package/whetstone/whetstone.hash index db9bbb454..3f1dc63f3 100644 --- a/package/whetstone/whetstone.hash +++ b/package/whetstone/whetstone.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 333e4ceca042c146f63eec605573d16ae8b07166cbc44a17bec1ea97c6f1efbf whetstone.c +sha256 333e4ceca042c146f63eec605573d16ae8b07166cbc44a17bec1ea97c6f1efbf whetstone.c diff --git a/package/wilc1000-firmware/wilc1000-firmware.hash b/package/wilc1000-firmware/wilc1000-firmware.hash index 5344efe51..3037f4f6c 100644 --- a/package/wilc1000-firmware/wilc1000-firmware.hash +++ b/package/wilc1000-firmware/wilc1000-firmware.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 a2e7a327dd545ba2051946f7613005cbde88fdd952afb8eecdd1dacda7e767d2 v14.1_Firmware.zip +sha256 a2e7a327dd545ba2051946f7613005cbde88fdd952afb8eecdd1dacda7e767d2 v14.1_Firmware.zip diff --git a/package/wilink-bt-firmware/wilink-bt-firmware.mk b/package/wilink-bt-firmware/wilink-bt-firmware.mk index 722c4655c..a5f3a8260 100644 --- a/package/wilink-bt-firmware/wilink-bt-firmware.mk +++ b/package/wilink-bt-firmware/wilink-bt-firmware.mk @@ -5,7 +5,7 @@ ################################################################################ WILINK_BT_FIRMWARE_VERSION = 43fca73c6a98c63fcb98f82af5bf83761778e005 -WILINK_BT_FIRMWARE_SITE = git://git.ti.com/ti-bt/service-packs.git +WILINK_BT_FIRMWARE_SITE = https://git.ti.com/git/ti-bt/service-packs.git WILINK_BT_FIRMWARE_SITE_METHOD = git WILINK_BT_FIRMWARE_LICENSE = PROPRIETARY WILINK_BT_FIRMWARE_LICENSE_FILES = LICENSE diff --git a/package/wine/Config.in b/package/wine/Config.in index 9de8cf0f6..18fb0a64a 100644 --- a/package/wine/Config.in +++ b/package/wine/Config.in @@ -13,6 +13,8 @@ config BR2_PACKAGE_WINE depends on BR2_PACKAGE_WINE_ARCH_SUPPORTS # Wine unconditionally builds shared libraries depends on !BR2_STATIC_LIBS + # pthread_attr_setstack + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL help Wine is a compatibility layer capable of running Windows applications on Linux. Instead of simulating internal @@ -23,6 +25,6 @@ config BR2_PACKAGE_WINE http://www.winehq.org -comment "wine needs a toolchain w/ dynamic library" +comment "wine needs a toolchain w/ dynamic library, NPTL" depends on BR2_PACKAGE_WINE_ARCH_SUPPORTS - depends on BR2_STATIC_LIBS + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS_NPTL diff --git a/package/wireguard-linux-compat/wireguard-linux-compat.hash b/package/wireguard-linux-compat/wireguard-linux-compat.hash index e18bd10cf..0f5713fc3 100644 --- a/package/wireguard-linux-compat/wireguard-linux-compat.hash +++ b/package/wireguard-linux-compat/wireguard-linux-compat.hash @@ -1,4 +1,4 @@ -# https://lists.zx2c4.com/pipermail/wireguard/2021-June/006781.html -sha256 3f5d990006e6eabfd692d925ec314fff2c5ee7dcdb869a6510d579acfdd84ec0 wireguard-linux-compat-1.0.20210606.tar.xz +# https://lists.zx2c4.com/pipermail/wireguard/2022-June/007660.html +sha256 362d412693c8fe82de00283435818d5c5def7f15e2433a07a9fe99d0518f63c0 wireguard-linux-compat-1.0.20220627.tar.xz # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/wireguard-linux-compat/wireguard-linux-compat.mk b/package/wireguard-linux-compat/wireguard-linux-compat.mk index 1b7ec941d..258e18476 100644 --- a/package/wireguard-linux-compat/wireguard-linux-compat.mk +++ b/package/wireguard-linux-compat/wireguard-linux-compat.mk @@ -4,7 +4,7 @@ # ################################################################################ -WIREGUARD_LINUX_COMPAT_VERSION = 1.0.20210606 +WIREGUARD_LINUX_COMPAT_VERSION = 1.0.20220627 WIREGUARD_LINUX_COMPAT_SITE = https://git.zx2c4.com/wireguard-linux-compat/snapshot WIREGUARD_LINUX_COMPAT_SOURCE = wireguard-linux-compat-$(WIREGUARD_LINUX_COMPAT_VERSION).tar.xz WIREGUARD_LINUX_COMPAT_LICENSE = GPL-2.0 diff --git a/package/wireless_tools/wireless_tools.hash b/package/wireless_tools/wireless_tools.hash index 50a3f62b8..8ca73ef2d 100644 --- a/package/wireless_tools/wireless_tools.hash +++ b/package/wireless_tools/wireless_tools.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 abd9c5c98abf1fdd11892ac2f8a56737544fe101e1be27c6241a564948f34c63 wireless_tools.30.pre9.tar.gz -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 abd9c5c98abf1fdd11892ac2f8a56737544fe101e1be27c6241a564948f34c63 wireless_tools.30.pre9.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/wireplumber/wireplumber.mk b/package/wireplumber/wireplumber.mk index 2dab6042e..674af3d39 100644 --- a/package/wireplumber/wireplumber.mk +++ b/package/wireplumber/wireplumber.mk @@ -9,15 +9,19 @@ WIREPLUMBER_SOURCE = wireplumber-$(WIREPLUMBER_VERSION).tar.bz2 WIREPLUMBER_SITE = https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/$(WIREPLUMBER_VERSION) WIREPLUMBER_LICENSE = MIT WIREPLUMBER_LICENSE_FILES = LICENSE -WIREPLUMBER_DEPENDENCIES = host-pkgconf dbus pipewire libglib2 lua +WIREPLUMBER_DEPENDENCIES = host-pkgconf pipewire libglib2 lua WIREPLUMBER_CONF_OPTS = \ -Ddoc=disabled \ -Dsystem-lua=true \ -Dsystem-lua-version= +ifeq ($(BR2_PACKAGE_DBUS),y) +WIREPLUMBER_DEPENDENCIES += dbus +endif + ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) -WIREPLUMBER_DEPENDENCIES += gobject-introspection +WIREPLUMBER_DEPENDENCIES += host-doxygen host-python-lxml gobject-introspection WIREPLUMBER_CONF_OPTS += -Dintrospection=enabled else WIREPLUMBER_CONF_OPTS += -Dintrospection=disabled diff --git a/package/wireshark/Config.in b/package/wireshark/Config.in index 95fc9b38f..fdeb9da25 100644 --- a/package/wireshark/Config.in +++ b/package/wireshark/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_WIRESHARK depends on BR2_USE_MMU # fork(), glib2 depends on BR2_USE_WCHAR # glib2 depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 + depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_C_ARES select BR2_PACKAGE_LIBPCAP select BR2_PACKAGE_LIBGCRYPT @@ -45,8 +46,8 @@ comment "Qt5 GUI needs a udev /dev management and a toolchain w/ C++, NPTL, host endif # BR2_PACKAGE_WIRESHARK -comment "wireshark needs a toolchain w/ wchar, threads, dynamic library" +comment "wireshark needs a toolchain w/ wchar, threads, dynamic library, C++" depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - BR2_STATIC_LIBS + BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP diff --git a/package/wireshark/wireshark.hash b/package/wireshark/wireshark.hash index db1f71e9e..56363e717 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-3.4.12.txt -sha1 91ca69b0029e58b9c824266237ab392a62f0a248 wireshark-3.4.12.tar.xz -sha256 881a13303e263b7dc7fe337534c8a541d4914552287879bed30bbe76c5bf68ca wireshark-3.4.12.tar.xz +# From https://www.wireshark.org/download/src/all-versions/SIGNATURES-3.4.16.txt +sha1 b0e64d5fdd6701106d94bdc8f59dd40a34c7c807 wireshark-3.4.16.tar.xz +sha256 6acb3155b89b65bcdbcdac7a9e6a59013a6e21d8ae6a8249a9af4fe9ce3d91ba wireshark-3.4.16.tar.xz # Locally calculated sha256 7cdbed2b697efaa45576a033f1ac0e73cd045644a91c79bbf41d4a7d81dac7bf COPYING diff --git a/package/wireshark/wireshark.mk b/package/wireshark/wireshark.mk index a5ca4b1f7..668a79ed9 100644 --- a/package/wireshark/wireshark.mk +++ b/package/wireshark/wireshark.mk @@ -4,7 +4,7 @@ # ################################################################################ -WIRESHARK_VERSION = 3.4.12 +WIRESHARK_VERSION = 3.4.16 WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.xz WIRESHARK_SITE = https://www.wireshark.org/download/src/all-versions WIRESHARK_LICENSE = wireshark license @@ -25,7 +25,7 @@ WIRESHARK_CONF_OPTS = \ -DENABLE_ILBC=OFF \ -DENABLE_PCAP=ON \ -DENABLE_SMI=OFF \ - -DLEMON_C_COMPILER=$(HOSTCC) + -DLEMON_C_COMPILER=$(HOSTCC_NOCCACHE) ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) WIRESHARK_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic @@ -65,6 +65,13 @@ else WIRESHARK_CONF_OPTS += -DENABLE_GNUTLS=OFF endif +ifeq ($(BR2_PACKAGE_LIBCAP),y) +WIRESHARK_CONF_OPTS += -DENABLE_CAP=ON +WIRESHARK_DEPENDENCIES += libcap +else +WIRESHARK_CONF_OPTS += -DENABLE_CAP=OFF +endif + ifeq ($(BR2_PACKAGE_LIBKRB5),y) WIRESHARK_CONF_OPTS += -DENABLE_KERBEROS=ON WIRESHARK_DEPENDENCIES += libkrb5 @@ -157,6 +164,13 @@ else WIRESHARK_CONF_OPTS += -DBUILD_sdjournal=OFF endif +ifeq ($(BR2_PACKAGE_ZLIB),y) +WIRESHARK_CONF_OPTS += -DENABLE_ZLIB=ON +WIRESHARK_DEPENDENCIES += zlib +else +WIRESHARK_CONF_OPTS += -DENABLE_ZLIB=OFF +endif + ifeq ($(BR2_PACKAGE_ZSTD),y) WIRESHARK_CONF_OPTS += -DENABLE_ZSTD=ON WIRESHARK_DEPENDENCIES += zstd diff --git a/package/woff2/woff2.hash b/package/woff2/woff2.hash index 469071e3c..0812dabcf 100644 --- a/package/woff2/woff2.hash +++ b/package/woff2/woff2.hash @@ -1,5 +1,5 @@ # Locally generated: -sha512 c788bba1530aec463e755e901f9342f4b599e3a07f54645fef1dc388ab5d5c30625535e5dd38e9e792e04a640574baa50eeefb6b7338ab403755f4a4e0c3044d v1.0.2.tar.gz +sha512 c788bba1530aec463e755e901f9342f4b599e3a07f54645fef1dc388ab5d5c30625535e5dd38e9e792e04a640574baa50eeefb6b7338ab403755f4a4e0c3044d woff2-1.0.2.tar.gz # Hash for license files: sha512 8ee924da3fb5d16135adcf6a8fbe9e2e8f3d2d80468617e72ca4fa059a60f8455c9a5f68a8dc381b1297c8bf39c887a912d0f69246d2604ada74d3da9e8e490b LICENSE diff --git a/package/woff2/woff2.mk b/package/woff2/woff2.mk index b2ff33fe9..937e8cf73 100644 --- a/package/woff2/woff2.mk +++ b/package/woff2/woff2.mk @@ -5,8 +5,7 @@ ################################################################################ WOFF2_VERSION = 1.0.2 -WOFF2_SOURCE = v$(WOFF2_VERSION).tar.gz -WOFF2_SITE = https://github.com/google/woff2/archive +WOFF2_SITE = $(call github,google,woff2,v$(WOFF2_VERSION)) WOFF2_LICENSE = MIT WOFF2_LICENSE_FILES = LICENSE WOFF2_INSTALL_STAGING = YES diff --git a/package/wolfssl/Config.in b/package/wolfssl/Config.in index 3c6d68f59..c41bdb688 100644 --- a/package/wolfssl/Config.in +++ b/package/wolfssl/Config.in @@ -1,3 +1,15 @@ +config BR2_PACKAGE_WOLFSSL_ASM_SUPPORTS + bool + default y if BR2_aarch64 + default y if BR2_arm || BR2_armeb + default y if BR2_powerpc + default y if BR2_powerpc64 || BR2_powerpc64le + default y if BR2_mips64 && !BR2_MIPS_CPU_MIPS32R6 + default y if BR2_mips64el && !BR2_MIPS_CPU_MIPS32R6 + default y if BR2_mips || BR2_mipsel + default y if BR2_riscv && BR2_RISCV_ISA_RVM + default y if BR2_s390x + config BR2_PACKAGE_WOLFSSL bool "wolfssl" depends on BR2_TOOLCHAIN_HAS_THREADS @@ -13,9 +25,13 @@ if BR2_PACKAGE_WOLFSSL config BR2_PACKAGE_WOLFSSL_ALL bool "enable all features, except SSLv3" + depends on !BR2_STATIC_LIBS help Enable all wolfSSL features, except SSL version 3.0 support. +comment "all features, except SSLv3 needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + config BR2_PACKAGE_WOLFSSL_SSLV3 bool "enable SSLv3" help diff --git a/package/wolfssl/wolfssl.hash b/package/wolfssl/wolfssl.hash index 63eebf93b..08262113a 100644 --- a/package/wolfssl/wolfssl.hash +++ b/package/wolfssl/wolfssl.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 409b4646c5f54f642de0e9f3544c3b83de7238134f5b1ff93fb44527bf119d05 wolfssl-5.2.0.tar.gz +sha256 fd3135b8657d09fb96a8aad16585da850b96ea420ae8ce5ac4d5fdfc614c2683 wolfssl-5.5.3.tar.gz # Hash for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/wolfssl/wolfssl.mk b/package/wolfssl/wolfssl.mk index bfb54445e..9f06bb1b4 100644 --- a/package/wolfssl/wolfssl.mk +++ b/package/wolfssl/wolfssl.mk @@ -4,14 +4,14 @@ # ################################################################################ -WOLFSSL_VERSION = 5.2.0 +WOLFSSL_VERSION = 5.5.3 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 WOLFSSL_DEPENDENCIES = host-pkgconf # wolfssl's source code is released without a configure @@ -32,17 +32,25 @@ else WOLFSSL_CONF_OPTS += --disable-sslv3 endif +ifeq ($(BR2_PACKAGE_WOLFSSL_ASM_SUPPORTS),y) +WOLFSSL_CONF_OPTS += --enable-asm +else +WOLFSSL_CONF_OPTS += --disable-asm +endif + # enable ARMv8 hardware acceleration -ifeq ($(BR2_ARM_CPU_ARMV8A),y) +ifeq ($(BR2_aarch64),y) WOLFSSL_CONF_OPTS += --enable-armasm # the flag -mstrict-align is needed to prevent build errors caused by # some inline assembly in parts of the AES structure using the "m" # constraint -ifeq ($(BR2_aarch64),y) WOLFSSL_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) -mstrict-align" -endif else WOLFSSL_CONF_OPTS += --disable-armasm endif +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +WOLFSSL_CONF_OPTS += --with-arm-target=thumb +endif + $(eval $(autotools-package)) diff --git a/package/wpa_supplicant/0002-wpa_supplicant-use-a-less-generic-name-for-IEEE802.1.patch b/package/wpa_supplicant/0002-wpa_supplicant-use-a-less-generic-name-for-IEEE802.1.patch new file mode 100644 index 000000000..a8637111b --- /dev/null +++ b/package/wpa_supplicant/0002-wpa_supplicant-use-a-less-generic-name-for-IEEE802.1.patch @@ -0,0 +1,79 @@ +From c8af2e431b47d7d900e0c7359705aaa1096d302a Mon Sep 17 00:00:00 2001 +From: Sergey Matyukevich +Date: Fri, 16 Sep 2022 23:18:50 +0300 +Subject: [PATCH] wpa_supplicant: use a less generic name for IEEE802.11 CRC-32 routine + +Hostapd uses 'crc32' name for IEEE802.11 CRC-32 routine. This name is +too generic. Buildroot autobuilder detected build configuration that +failed to build due to the naming conflict: static linking with openssl +using zlib-ng as a zlib provider, e.g. see: +- http://autobuild.buildroot.net/results/9901df820d3afa4cde78e8ad6d62cb8ce7e69fdb/ +- http://autobuild.buildroot.net/results/ac19975f0bf77f4a8ca574c374092ba81cd5a332/ + +Use a less generic name ieee80211_crc32 for IEEE802.11 CRC-32 routine +to avoid such naming conflicts. + +Upstream: https://w1.fi/cgit/hostap/commit/?id=0c7b3814ca6070a8e930dea09fde08b4058a4ca6 +Signed-off-by: Sergey Matyukevich +--- + src/ap/hostapd.c | 3 ++- + src/ap/neighbor_db.c | 2 +- + src/utils/crc32.c | 2 +- + src/utils/crc32.h | 2 +- + 4 files changed, 5 insertions(+), 4 deletions(-) + +diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c +index 4b88641a2..56c8fb90e 100644 +--- a/src/ap/hostapd.c ++++ b/src/ap/hostapd.c +@@ -1230,7 +1230,8 @@ static int hostapd_setup_bss(struct hostapd_data *hapd, int first) + * Short SSID calculation is identical to FCS and it is defined in + * IEEE P802.11-REVmd/D3.0, 9.4.2.170.3 (Calculating the Short-SSID). + */ +- conf->ssid.short_ssid = crc32(conf->ssid.ssid, conf->ssid.ssid_len); ++ conf->ssid.short_ssid = ieee80211_crc32(conf->ssid.ssid, ++ conf->ssid.ssid_len); + + if (!hostapd_drv_none(hapd)) { + wpa_printf(MSG_DEBUG, "Using interface %s with hwaddr " MACSTR +diff --git a/src/ap/neighbor_db.c b/src/ap/neighbor_db.c +index 229edd2a9..ef17634c3 100644 +--- a/src/ap/neighbor_db.c ++++ b/src/ap/neighbor_db.c +@@ -136,7 +136,7 @@ int hostapd_neighbor_set(struct hostapd_data *hapd, const u8 *bssid, + + os_memcpy(entry->bssid, bssid, ETH_ALEN); + os_memcpy(&entry->ssid, ssid, sizeof(entry->ssid)); +- entry->short_ssid = crc32(ssid->ssid, ssid->ssid_len); ++ entry->short_ssid = ieee80211_crc32(ssid->ssid, ssid->ssid_len); + + entry->nr = wpabuf_dup(nr); + if (!entry->nr) +diff --git a/src/utils/crc32.c b/src/utils/crc32.c +index 12d9e2a70..371254994 100644 +--- a/src/utils/crc32.c ++++ b/src/utils/crc32.c +@@ -72,7 +72,7 @@ static const u32 crc32_table[256] = { + }; + + +-u32 crc32(const u8 *frame, size_t frame_len) ++u32 ieee80211_crc32(const u8 *frame, size_t frame_len) + { + size_t i; + u32 crc; +diff --git a/src/utils/crc32.h b/src/utils/crc32.h +index dc31399be..71a19dc5f 100644 +--- a/src/utils/crc32.h ++++ b/src/utils/crc32.h +@@ -9,6 +9,6 @@ + #ifndef CRC32_H + #define CRC32_H + +-u32 crc32(const u8 *frame, size_t frame_len); ++u32 ieee80211_crc32(const u8 *frame, size_t frame_len); + + #endif /* CRC32_H */ +-- +2.37.1 + diff --git a/package/wpa_supplicant/Config.in b/package/wpa_supplicant/Config.in index 8f095cdf2..f2b0754ee 100644 --- a/package/wpa_supplicant/Config.in +++ b/package/wpa_supplicant/Config.in @@ -41,12 +41,17 @@ config BR2_PACKAGE_WPA_SUPPLICANT_WEXT config BR2_PACKAGE_WPA_SUPPLICANT_WIRED bool "Enable wired support" + depends on BR2_TOOLCHAIN_HAS_THREADS # libnl + select BR2_PACKAGE_LIBNL select BR2_PACKAGE_WPA_SUPPLICANT_EAP help Include the "wired" driver, so the internal IEEE 802.1x supplicant can be used with Ethernet. This also enables support for MACSEC. +comment "wired support needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS + comment "wpa_supplicant will be useless without at least one driver" depends on !BR2_PACKAGE_WPA_SUPPLICANT_NL80211 && \ !BR2_PACKAGE_WPA_SUPPLICANT_WEXT && \ diff --git a/package/wpa_supplicant/wpa_supplicant.conf b/package/wpa_supplicant/wpa_supplicant.conf index 1994a6c73..20e9f7f84 100644 --- a/package/wpa_supplicant/wpa_supplicant.conf +++ b/package/wpa_supplicant/wpa_supplicant.conf @@ -1,4 +1,4 @@ -ctrl_interface=/var/run/wpa_supplicant +#ctrl_interface=/var/run/wpa_supplicant ap_scan=1 network={ diff --git a/package/wpa_supplicant/wpa_supplicant.mk b/package/wpa_supplicant/wpa_supplicant.mk index f0eb36e08..05abf61e8 100644 --- a/package/wpa_supplicant/wpa_supplicant.mk +++ b/package/wpa_supplicant/wpa_supplicant.mk @@ -13,7 +13,6 @@ WPA_SUPPLICANT_CONFIG = $(WPA_SUPPLICANT_DIR)/wpa_supplicant/.config WPA_SUPPLICANT_SUBDIR = wpa_supplicant WPA_SUPPLICANT_DBUS_SERVICE = fi.w1.wpa_supplicant1 WPA_SUPPLICANT_CFLAGS = $(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/libnl3/ -WPA_SUPPLICANT_LDFLAGS = $(TARGET_LDFLAGS) WPA_SUPPLICANT_SELINUX_MODULES = networkmanager # install the wpa_client library @@ -63,11 +62,18 @@ WPA_SUPPLICANT_CONFIG_DISABLE += \ CONFIG_FILS endif -ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_WIRED),) +ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_WIRED),y) +WPA_SUPPLICANT_DEPENDENCIES += host-pkgconf libnl +WPA_SUPPLICANT_CONFIG_ENABLE += \ + CONFIG_LIBNL32 \ + CONFIG_DRIVER_WIRED \ + CONFIG_MACSEC \ + CONFIG_DRIVER_MACSEC_LINUX +else WPA_SUPPLICANT_CONFIG_DISABLE += \ CONFIG_DRIVER_WIRED \ CONFIG_MACSEC \ - CONFIG_DRIVER_MACSEC + CONFIG_DRIVER_MACSEC_LINUX endif ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT),) @@ -136,9 +142,6 @@ endif ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_DBUS),y) WPA_SUPPLICANT_DEPENDENCIES += host-pkgconf dbus -WPA_SUPPLICANT_MAKE_ENV = \ - PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \ - PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig" WPA_SUPPLICANT_CONFIG_ENABLE += CONFIG_CTRL_IFACE_DBUS_NEW define WPA_SUPPLICANT_INSTALL_DBUS_NEW $(INSTALL) -m 0644 -D \ @@ -163,6 +166,12 @@ WPA_SUPPLICANT_DEPENDENCIES += readline WPA_SUPPLICANT_CONFIG_ENABLE += CONFIG_READLINE endif +ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_CTRL_IFACE),y) +define WPA_SUPPLICANT_ENABLE_CTRL_IFACE + sed -i '/ctrl_interface/s/^#//g' $(TARGET_DIR)/etc/wpa_supplicant.conf +endef +endif + ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO),y) WPA_SUPPLICANT_CONFIG_ENABLE += CONFIG_BUILD_WPA_CLIENT_SO define WPA_SUPPLICANT_INSTALL_WPA_CLIENT_SO @@ -238,6 +247,7 @@ define WPA_SUPPLICANT_INSTALL_TARGET_CMDS $(WPA_SUPPLICANT_INSTALL_PASSPHRASE) $(WPA_SUPPLICANT_INSTALL_DBUS) $(WPA_SUPPLICANT_INSTALL_WPA_CLIENT_SO) + $(WPA_SUPPLICANT_ENABLE_CTRL_IFACE) endef define WPA_SUPPLICANT_INSTALL_INIT_SYSTEMD diff --git a/package/wpan-tools/wpan-tools.hash b/package/wpan-tools/wpan-tools.hash index c9f0df2c1..814e3b0f7 100644 --- a/package/wpan-tools/wpan-tools.hash +++ b/package/wpan-tools/wpan-tools.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 3e509d9ed838df1247cc9a0c6ca483cb356ae778851817bd7410044687b655e2 wpan-tools-0.9.tar.gz -sha256 fe8e595c24d821a60885eb259619df5e5e3976c48465fde0be29fcd78530798f COPYING +sha256 3e509d9ed838df1247cc9a0c6ca483cb356ae778851817bd7410044687b655e2 wpan-tools-0.9.tar.gz +sha256 fe8e595c24d821a60885eb259619df5e5e3976c48465fde0be29fcd78530798f COPYING diff --git a/package/wpebackend-fdo/wpebackend-fdo.hash b/package/wpebackend-fdo/wpebackend-fdo.hash index 06289900b..49c60fce0 100644 --- a/package/wpebackend-fdo/wpebackend-fdo.hash +++ b/package/wpebackend-fdo/wpebackend-fdo.hash @@ -1,7 +1,7 @@ -# From https://wpewebkit.org/releases/wpebackend-fdo-1.12.0.tar.xz.sums -md5 c43b34a4b4933bcd80068ae5776ee346 wpebackend-fdo-1.12.0.tar.xz -sha1 e2576d564bd6d9a86737a4cd31dd5827ebc00fdf wpebackend-fdo-1.12.0.tar.xz -sha256 6239c9c15523410798d66315de6b491712ab30009ba180f3e0dd076d9b0074ac wpebackend-fdo-1.12.0.tar.xz +# From https://wpewebkit.org/releases/wpebackend-fdo-1.12.1.tar.xz.sums +md5 494f4a5b2bd89dacef37b69534b2e1ce wpebackend-fdo-1.12.1.tar.xz +sha1 72a85e4615e085926f7ad8fc8414f9c6a878ef28 wpebackend-fdo-1.12.1.tar.xz +sha256 45aa833c44ec292f31fa943b01b8cc75e54eb623ad7ba6a66fc2f118fe69e629 wpebackend-fdo-1.12.1.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 5fe9c5397..2e2bdee94 100644 --- a/package/wpebackend-fdo/wpebackend-fdo.mk +++ b/package/wpebackend-fdo/wpebackend-fdo.mk @@ -4,7 +4,7 @@ # ################################################################################ -WPEBACKEND_FDO_VERSION = 1.12.0 +WPEBACKEND_FDO_VERSION = 1.12.1 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 new file mode 100644 index 000000000..ea1676abb --- /dev/null +++ b/package/wpewebkit/0001-FELightningNEON.cpp-fails-to-build-NEON-fast-path-se.patch @@ -0,0 +1,328 @@ +From da159b0150cba0e5e5251e4cc6a090440f73cb7c 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 status: https://bugs.webkit.org/show_bug.cgi?id=241182] +--- + Source/WebCore/Sources.txt | 1 + + .../cpu/arm/filters/FELightingNEON.cpp | 4 +- + .../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, 58 insertions(+), 36 deletions(-) + +diff --git a/Source/WebCore/Sources.txt b/Source/WebCore/Sources.txt +index 8ce3510fe1a8..efd56bcb8746 100644 +--- a/Source/WebCore/Sources.txt ++++ b/Source/WebCore/Sources.txt +@@ -2136,6 +2136,7 @@ platform/graphics/WebMResourceClient.cpp + platform/graphics/WOFFFileFormat.cpp + platform/graphics/WidthIterator.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..42a97ffc5372 100644 +--- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp ++++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp +@@ -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..c6d17f573eca 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(), ++ WebCore::FELightingFloatArgumentsForNeon alignas(16) 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 0660143fc1cf..2b1e86d99fa4 100644 +--- a/Source/WebCore/platform/graphics/filters/DistantLightSource.h ++++ b/Source/WebCore/platform/graphics/filters/DistantLightSource.h +@@ -25,6 +25,10 @@ + #include "LightSource.h" + #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 0c073bc13f8c..e0db00545c17 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: + const Color& lightingColor() const { return m_lightingColor; } +@@ -67,11 +65,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 126b3b2350f6..d906db21aa9c 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 641b205f986d..64380d9b6eb8 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.37.3 + diff --git a/package/wpewebkit/Config.in b/package/wpewebkit/Config.in index 36523bdb4..ce016bf74 100644 --- a/package/wpewebkit/Config.in +++ b/package/wpewebkit/Config.in @@ -84,7 +84,9 @@ config BR2_PACKAGE_WPEWEBKIT_MULTIMEDIA bool "multimedia support" select BR2_PACKAGE_GSTREAMER1 select BR2_PACKAGE_GST1_PLUGINS_BAD + select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DEBUGUTILS select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX + select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SUBENC select BR2_PACKAGE_GST1_PLUGINS_BASE select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP @@ -95,6 +97,7 @@ config BR2_PACKAGE_WPEWEBKIT_MULTIMEDIA select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME select BR2_PACKAGE_GST1_PLUGINS_GOOD + select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOFX select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUTODETECT select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ISOMP4 select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA diff --git a/package/wpewebkit/wpewebkit.hash b/package/wpewebkit/wpewebkit.hash index 231bbc447..d5f628e1e 100644 --- a/package/wpewebkit/wpewebkit.hash +++ b/package/wpewebkit/wpewebkit.hash @@ -1,7 +1,7 @@ -# From https://wpewebkit.org/releases/wpewebkit-2.34.6.tar.xz.sums -md5 c9705270b342474cca28cf51632ccbbe wpewebkit-2.34.6.tar.xz -sha1 44ae95de1b5ebf0a2b0ea3630b3677153c597402 wpewebkit-2.34.6.tar.xz -sha256 301e895c8ed08ce7dccef3192b972f2ccfc2020463244c64069a636f2b05265f wpewebkit-2.34.6.tar.xz +# From https://wpewebkit.org/releases/wpewebkit-2.38.6.tar.xz.sums +md5 eb44d3132208218f3752170cae3220b8 wpewebkit-2.38.6.tar.xz +sha1 5c541a10e216d8d9ca48572b3dc0f82bfb2236c5 wpewebkit-2.38.6.tar.xz +sha256 dcb6591456393c5366ad9abc62a808137d4fea039cbc7ef4c8d64ead506d035b wpewebkit-2.38.6.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 aa04e7862..7b8ac67d9 100644 --- a/package/wpewebkit/wpewebkit.mk +++ b/package/wpewebkit/wpewebkit.mk @@ -4,7 +4,7 @@ # ################################################################################ -WPEWEBKIT_VERSION = 2.34.6 +WPEWEBKIT_VERSION = 2.38.6 WPEWEBKIT_SITE = http://www.wpewebkit.org/releases WPEWEBKIT_SOURCE = wpewebkit-$(WPEWEBKIT_VERSION).tar.xz WPEWEBKIT_INSTALL_STAGING = YES @@ -22,9 +22,11 @@ WPEWEBKIT_CONF_OPTS = \ -DPORT=WPE \ -DENABLE_ACCESSIBILITY=OFF \ -DENABLE_API_TESTS=OFF \ + -DENABLE_DOCUMENTATION=OFF \ + -DENABLE_INTROSPECTION=OFF \ -DENABLE_MINIBROWSER=OFF \ - -DUSE_SOUP2=ON \ - -DSILENCE_CROSS_COMPILATION_NOTICES=ON + -DENABLE_WEB_RTC=OFF \ + -DUSE_SOUP2=ON ifeq ($(BR2_PACKAGE_WPEWEBKIT_SANDBOX),y) WPEWEBKIT_CONF_OPTS += \ @@ -81,10 +83,10 @@ WPEWEBKIT_CONF_OPTS += -DUSE_WOFF2=OFF endif ifeq ($(BR2_INIT_SYSTEMD),y) -WPEWEBKIT_CONF_OPTS += -DUSE_SYSTEMD=ON +WPEWEBKIT_CONF_OPTS += -DENABLE_JOURNALD_LOG=ON WPEWEBKIT_DEPENDENCIES += systemd else -WPEWEBKIT_CONF_OPTS += -DUSE_SYSTEMD=OFF +WPEWEBKIT_CONF_OPTS += -DENABLE_JOURNALD_LOG=OFF endif # JIT is not supported for MIPS r6, but the WebKit build system does not @@ -101,4 +103,23 @@ ifeq ($(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV6)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS WPEWEBKIT_CONF_OPTS += -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON -DENABLE_SAMPLING_PROFILER=OFF endif +# wpewebkit needs cmake >= 3.20 when building with the make backend, which is +# above our minimal version in +# support/dependencies/check-host-cmake.mk, so use the ninja backend: +# https://github.com/WebKit/WebKit/commit/6cd89696b5d406c1a3d9a7a9bbb18fda9284fa1f +WPEWEBKIT_CONF_OPTS += -GNinja +WPEWEBKIT_DEPENDENCIES += host-ninja + +define WPEWEBKIT_BUILD_CMDS + $(TARGET_MAKE_ENV) $(BR2_CMAKE) --build $(WPEWEBKIT_BUILDDIR) +endef + +define WPEWEBKIT_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) DESTDIR=$(STAGING_DIR) $(BR2_CMAKE) --install $(WPEWEBKIT_BUILDDIR) +endef + +define WPEWEBKIT_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) $(BR2_CMAKE) --install $(WPEWEBKIT_BUILDDIR) +endef + $(eval $(cmake-package)) diff --git a/package/wsapi-fcgi/wsapi-fcgi.hash b/package/wsapi-fcgi/wsapi-fcgi.hash index 0e3e5933c..591a76a96 100644 --- a/package/wsapi-fcgi/wsapi-fcgi.hash +++ b/package/wsapi-fcgi/wsapi-fcgi.hash @@ -1,4 +1,4 @@ # computed by luarocks/buildroot -sha256 14b77861638a5e863fd10d60ad460a961dc108ea5b915f71461a18d5e6be8e4e wsapi-fcgi-1.7-1.src.rock -sha256 6aa14e3febf7a9e810ce672b015f5a5514241ce5d1c3a6a48f921f089d270159 wsapi/doc/us/license.html -sha256 c7bf3061d00a96d10cb9dbc3a737d0af22594e2ef8f788842d7ab92eeaa864f2 wsapi/doc/us/license.md +sha256 14b77861638a5e863fd10d60ad460a961dc108ea5b915f71461a18d5e6be8e4e wsapi-fcgi-1.7-1.src.rock +sha256 6aa14e3febf7a9e810ce672b015f5a5514241ce5d1c3a6a48f921f089d270159 wsapi/doc/us/license.html +sha256 c7bf3061d00a96d10cb9dbc3a737d0af22594e2ef8f788842d7ab92eeaa864f2 wsapi/doc/us/license.md diff --git a/package/wsapi-xavante/wsapi-xavante.hash b/package/wsapi-xavante/wsapi-xavante.hash index 6045117b9..aa089f7cd 100644 --- a/package/wsapi-xavante/wsapi-xavante.hash +++ b/package/wsapi-xavante/wsapi-xavante.hash @@ -1,4 +1,4 @@ # computed by luarocks/buildroot -sha256 01211bb80dab92f87cece6e31854d73ae4a2ce06af7c48423a54313d72adf9fb wsapi-xavante-1.7-1.src.rock -sha256 6aa14e3febf7a9e810ce672b015f5a5514241ce5d1c3a6a48f921f089d270159 wsapi/doc/us/license.html -sha256 c7bf3061d00a96d10cb9dbc3a737d0af22594e2ef8f788842d7ab92eeaa864f2 wsapi/doc/us/license.md +sha256 01211bb80dab92f87cece6e31854d73ae4a2ce06af7c48423a54313d72adf9fb wsapi-xavante-1.7-1.src.rock +sha256 6aa14e3febf7a9e810ce672b015f5a5514241ce5d1c3a6a48f921f089d270159 wsapi/doc/us/license.html +sha256 c7bf3061d00a96d10cb9dbc3a737d0af22594e2ef8f788842d7ab92eeaa864f2 wsapi/doc/us/license.md diff --git a/package/wsapi/wsapi.hash b/package/wsapi/wsapi.hash index a89853de2..81895c713 100644 --- a/package/wsapi/wsapi.hash +++ b/package/wsapi/wsapi.hash @@ -1,4 +1,4 @@ # computed by luarocks/buildroot -sha256 1a0829dffd6bdbf99f5c4278d504cda5ede9344d5089bdcf5216c9eb2999ae22 wsapi-1.7-1.src.rock -sha256 6aa14e3febf7a9e810ce672b015f5a5514241ce5d1c3a6a48f921f089d270159 wsapi/doc/us/license.html -sha256 c7bf3061d00a96d10cb9dbc3a737d0af22594e2ef8f788842d7ab92eeaa864f2 wsapi/doc/us/license.md +sha256 1a0829dffd6bdbf99f5c4278d504cda5ede9344d5089bdcf5216c9eb2999ae22 wsapi-1.7-1.src.rock +sha256 6aa14e3febf7a9e810ce672b015f5a5514241ce5d1c3a6a48f921f089d270159 wsapi/doc/us/license.html +sha256 c7bf3061d00a96d10cb9dbc3a737d0af22594e2ef8f788842d7ab92eeaa864f2 wsapi/doc/us/license.md diff --git a/package/x11r7/libxcb/libxcb.hash b/package/x11r7/libxcb/libxcb.hash index 1861ef8a6..eac099581 100644 --- a/package/x11r7/libxcb/libxcb.hash +++ b/package/x11r7/libxcb/libxcb.hash @@ -1,5 +1,5 @@ # From https://lists.x.org/archives/xorg-announce/2020-February/003039.html -sha256 a55ed6db98d43469801262d81dc2572ed124edc3db31059d4e9916eb9f844c34 libxcb-1.14.tar.xz -sha512 b90a23204b0d2c29d8b115577edb01df0465e02d6a8876550fecd62375d24a5d5f872ddd5946772ddba077cadce75b12c7a6d218469dc30b5b92bc82188e8bc6 libxcb-1.14.tar.xz +sha256 a55ed6db98d43469801262d81dc2572ed124edc3db31059d4e9916eb9f844c34 libxcb-1.14.tar.xz +sha512 b90a23204b0d2c29d8b115577edb01df0465e02d6a8876550fecd62375d24a5d5f872ddd5946772ddba077cadce75b12c7a6d218469dc30b5b92bc82188e8bc6 libxcb-1.14.tar.xz # Locally computed -sha256 c5ffbfeaa501071ceeb97b7de2c0d703fdaa35de01c0fb6cbac1c28453a3e9fd COPYING +sha256 c5ffbfeaa501071ceeb97b7de2c0d703fdaa35de01c0fb6cbac1c28453a3e9fd COPYING diff --git a/package/x11r7/xapp_appres/xapp_appres.hash b/package/x11r7/xapp_appres/xapp_appres.hash index 8750e2d14..425a95dea 100644 --- a/package/x11r7/xapp_appres/xapp_appres.hash +++ b/package/x11r7/xapp_appres/xapp_appres.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-March/002847.html -md5 f544e701043249d2bb3deed48314bc55 appres-1.0.5.tar.bz2 -sha1 5e5dbffd0a125732bb8bb8a202e04555a9604089 appres-1.0.5.tar.bz2 -sha256 ffad893712c81943b919e3cbfe46fc65259cc0d9eb96d5e658670e3fbb265928 appres-1.0.5.tar.bz2 -sha512 70825563cd80f0f433c48ab2fdae888072939c1b22fb22340b70b9444c97916275ed92c9e5bf9a06bb76c32a5371b89ff7c0211a9a47a227c88311078c2c4137 appres-1.0.5.tar.bz2 +md5 f544e701043249d2bb3deed48314bc55 appres-1.0.5.tar.bz2 +sha1 5e5dbffd0a125732bb8bb8a202e04555a9604089 appres-1.0.5.tar.bz2 +sha256 ffad893712c81943b919e3cbfe46fc65259cc0d9eb96d5e658670e3fbb265928 appres-1.0.5.tar.bz2 +sha512 70825563cd80f0f433c48ab2fdae888072939c1b22fb22340b70b9444c97916275ed92c9e5bf9a06bb76c32a5371b89ff7c0211a9a47a227c88311078c2c4137 appres-1.0.5.tar.bz2 # Locally computed -sha256 5969302729a9621fd526a7f9942a51a29b858e0b682ffd28eeda5fc4dfaddf55 COPYING +sha256 5969302729a9621fd526a7f9942a51a29b858e0b682ffd28eeda5fc4dfaddf55 COPYING diff --git a/package/x11r7/xapp_bdftopcf/xapp_bdftopcf.hash b/package/x11r7/xapp_bdftopcf/xapp_bdftopcf.hash index 614d54382..bf806ab0d 100644 --- a/package/x11r7/xapp_bdftopcf/xapp_bdftopcf.hash +++ b/package/x11r7/xapp_bdftopcf/xapp_bdftopcf.hash @@ -1,8 +1,8 @@ # From https://lists.x.org/archives/xorg-announce/2017-November/002821.html -md5 2a455d3c02390597feb9cefb3fe97a45 bdftopcf-1.1.tar.bz2 -sha1 48a783337a5aa49ebc102c9788ff0f43ea35c5c4 bdftopcf-1.1.tar.bz2 -sha256 4b4df05fc53f1e98993638d6f7e178d95b31745c4568cee407e167491fd311a2 bdftopcf-1.1.tar.bz2 -sha512 7b790e8d512ca2812ac889c156ef91c48798b4744a6857e5b17e0128764b5afa8c5426fe5de05a9819d64745116718db4221b3e657e3c2633465e87179c44bec bdftopcf-1.1.tar.bz2 +md5 2a455d3c02390597feb9cefb3fe97a45 bdftopcf-1.1.tar.bz2 +sha1 48a783337a5aa49ebc102c9788ff0f43ea35c5c4 bdftopcf-1.1.tar.bz2 +sha256 4b4df05fc53f1e98993638d6f7e178d95b31745c4568cee407e167491fd311a2 bdftopcf-1.1.tar.bz2 +sha512 7b790e8d512ca2812ac889c156ef91c48798b4744a6857e5b17e0128764b5afa8c5426fe5de05a9819d64745116718db4221b3e657e3c2633465e87179c44bec bdftopcf-1.1.tar.bz2 # Locally calculated -sha256 a437fb5272ba507c2977b2ef623bb391270f521b2a20271ed044785f4eaa5dbc COPYING +sha256 a437fb5272ba507c2977b2ef623bb391270f521b2a20271ed044785f4eaa5dbc COPYING diff --git a/package/x11r7/xapp_bitmap/xapp_bitmap.hash b/package/x11r7/xapp_bitmap/xapp_bitmap.hash index f632bce3c..3f29ca6f1 100644 --- a/package/x11r7/xapp_bitmap/xapp_bitmap.hash +++ b/package/x11r7/xapp_bitmap/xapp_bitmap.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-February/002941.html -md5 b94172053ffa282bd88274f1e6a677f1 bitmap-1.0.9.tar.bz2 -sha1 26ba3130b14a2db81b427f2353ac21301c5d2527 bitmap-1.0.9.tar.bz2 -sha256 e0f3afad5272d796f54c33fa1b5bd1fb3f62843a54b28c87196d06a35123e5f5 bitmap-1.0.9.tar.bz2 -sha512 873c626c72a0f4025fe8c8aeedbf3fe4ee5657fb487ad7410406a20da518c0358041dc45c2549926cc10e1d031977073b9d1ddb32830fdce95b716a52fe44456 bitmap-1.0.9.tar.bz2 +md5 b94172053ffa282bd88274f1e6a677f1 bitmap-1.0.9.tar.bz2 +sha1 26ba3130b14a2db81b427f2353ac21301c5d2527 bitmap-1.0.9.tar.bz2 +sha256 e0f3afad5272d796f54c33fa1b5bd1fb3f62843a54b28c87196d06a35123e5f5 bitmap-1.0.9.tar.bz2 +sha512 873c626c72a0f4025fe8c8aeedbf3fe4ee5657fb487ad7410406a20da518c0358041dc45c2549926cc10e1d031977073b9d1ddb32830fdce95b716a52fe44456 bitmap-1.0.9.tar.bz2 # Locally computed -sha256 03be44611edac06827bd13c0815a67ecd37ffe8fb1b9e210d6545d79bec89a3a COPYING +sha256 03be44611edac06827bd13c0815a67ecd37ffe8fb1b9e210d6545d79bec89a3a COPYING diff --git a/package/x11r7/xapp_editres/xapp_editres.hash b/package/x11r7/xapp_editres/xapp_editres.hash index 153679551..b49abb672 100644 --- a/package/x11r7/xapp_editres/xapp_editres.hash +++ b/package/x11r7/xapp_editres/xapp_editres.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-March/002846.html -md5 526cf79edc0c5e379aefb21539243f96 editres-1.0.7.tar.bz2 -sha1 389e953ebb5080564a6780cb34b72bafae7f5540 editres-1.0.7.tar.bz2 -sha256 089ad34628e55a779b97e369f55fb12caefc96d684b508d9022eb9e12b775c11 editres-1.0.7.tar.bz2 -sha512 b9c928b556116bf50cf4b6ea779bdc9fedf29f5db3e6a8cc75c122578c92e1cc530a81b226ec24aad183b8ebc2de570f200314b0d9ce7883b6e3306007365b32 editres-1.0.7.tar.bz2 +md5 526cf79edc0c5e379aefb21539243f96 editres-1.0.7.tar.bz2 +sha1 389e953ebb5080564a6780cb34b72bafae7f5540 editres-1.0.7.tar.bz2 +sha256 089ad34628e55a779b97e369f55fb12caefc96d684b508d9022eb9e12b775c11 editres-1.0.7.tar.bz2 +sha512 b9c928b556116bf50cf4b6ea779bdc9fedf29f5db3e6a8cc75c122578c92e1cc530a81b226ec24aad183b8ebc2de570f200314b0d9ce7883b6e3306007365b32 editres-1.0.7.tar.bz2 # Locally computed -sha256 b1049cf96db2c00428b8313541ab333ec4e06f102955f3edd44f88ec43b0acd6 COPYING +sha256 b1049cf96db2c00428b8313541ab333ec4e06f102955f3edd44f88ec43b0acd6 COPYING diff --git a/package/x11r7/xapp_iceauth/xapp_iceauth.hash b/package/x11r7/xapp_iceauth/xapp_iceauth.hash index f1ea73a7a..131d7128f 100644 --- a/package/x11r7/xapp_iceauth/xapp_iceauth.hash +++ b/package/x11r7/xapp_iceauth/xapp_iceauth.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-March/002850.html -md5 3b9b79fa0f9928161f4bad94273de7ae iceauth-1.0.8.tar.bz2 -sha1 2ce23c40a17d98badeb8ce70d26e81a5ac0e178c iceauth-1.0.8.tar.bz2 -sha256 e6ee213a217265cc76050e4293ea70b98c32dce6505c6421227efbda62ab60c6 iceauth-1.0.8.tar.bz2 -sha512 9d4520adf951b16a3e784349dbb70d5d8176b74b956f8adc63abf55d049745c113b03ccfa60a281fc39b487db3742302dc6287c9985ce83a0157bf4674df2af1 iceauth-1.0.8.tar.bz2 +md5 3b9b79fa0f9928161f4bad94273de7ae iceauth-1.0.8.tar.bz2 +sha1 2ce23c40a17d98badeb8ce70d26e81a5ac0e178c iceauth-1.0.8.tar.bz2 +sha256 e6ee213a217265cc76050e4293ea70b98c32dce6505c6421227efbda62ab60c6 iceauth-1.0.8.tar.bz2 +sha512 9d4520adf951b16a3e784349dbb70d5d8176b74b956f8adc63abf55d049745c113b03ccfa60a281fc39b487db3742302dc6287c9985ce83a0157bf4674df2af1 iceauth-1.0.8.tar.bz2 # Locally computed -sha256 fdd9ba8ccb92af2f31f542e7b7a18c27257e6cdce147d231bc9ba3654ad84976 COPYING +sha256 fdd9ba8ccb92af2f31f542e7b7a18c27257e6cdce147d231bc9ba3654ad84976 COPYING diff --git a/package/x11r7/xapp_ico/xapp_ico.hash b/package/x11r7/xapp_ico/xapp_ico.hash index 693aff65f..a0970cd50 100644 --- a/package/x11r7/xapp_ico/xapp_ico.hash +++ b/package/x11r7/xapp_ico/xapp_ico.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-March/002880.html -md5 7895f2d109f4206b6d2db37257e07d12 ico-1.0.5.tar.bz2 -sha1 8759ec954375f3a1b37dc920a12790bfbfb0cad3 ico-1.0.5.tar.bz2 -sha256 d73b62f29eb98d850f16b76d759395180b860b613fbe1686b18eee99a6e3773f ico-1.0.5.tar.bz2 -sha512 93a94a66d4a41b39d4b3657050e58f8269d352dae5d5916c9ecdda1cb14f23b9d159d67c50fdfa654b4b1c2ad11434bed140ace70703c82b05d3fe8686aab8f6 ico-1.0.5.tar.bz2 +md5 7895f2d109f4206b6d2db37257e07d12 ico-1.0.5.tar.bz2 +sha1 8759ec954375f3a1b37dc920a12790bfbfb0cad3 ico-1.0.5.tar.bz2 +sha256 d73b62f29eb98d850f16b76d759395180b860b613fbe1686b18eee99a6e3773f ico-1.0.5.tar.bz2 +sha512 93a94a66d4a41b39d4b3657050e58f8269d352dae5d5916c9ecdda1cb14f23b9d159d67c50fdfa654b4b1c2ad11434bed140ace70703c82b05d3fe8686aab8f6 ico-1.0.5.tar.bz2 # Locally computed -sha256 97ef3a622f2f385cabfc8ab7aff13dc46468c10a5520670b5edfa33f2c3999eb COPYING +sha256 97ef3a622f2f385cabfc8ab7aff13dc46468c10a5520670b5edfa33f2c3999eb COPYING diff --git a/package/x11r7/xapp_listres/xapp_listres.hash b/package/x11r7/xapp_listres/xapp_listres.hash index 1e1c11953..7cc0e8385 100644 --- a/package/x11r7/xapp_listres/xapp_listres.hash +++ b/package/x11r7/xapp_listres/xapp_listres.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-March/002848.html -md5 24e05349f2881aaa58cbe160e49223ac listres-1.0.4.tar.bz2 -sha1 903857c7a9ec3d8edc8a88101aef33cd27796649 listres-1.0.4.tar.bz2 -sha256 6a1229f478796e141d6658762f432ebbe1f6083b27550847d52239b3f7ec2b10 listres-1.0.4.tar.bz2 -sha512 925bceab6ff96fcf91f58ba2f858905d6e2eff7074ba29cfc02def7c19fb493545837884f1070dc004422451f749cd459000c01e8c9bb51a7cce7f7ab4067b8a listres-1.0.4.tar.bz2 +md5 24e05349f2881aaa58cbe160e49223ac listres-1.0.4.tar.bz2 +sha1 903857c7a9ec3d8edc8a88101aef33cd27796649 listres-1.0.4.tar.bz2 +sha256 6a1229f478796e141d6658762f432ebbe1f6083b27550847d52239b3f7ec2b10 listres-1.0.4.tar.bz2 +sha512 925bceab6ff96fcf91f58ba2f858905d6e2eff7074ba29cfc02def7c19fb493545837884f1070dc004422451f749cd459000c01e8c9bb51a7cce7f7ab4067b8a listres-1.0.4.tar.bz2 # Locally computed -sha256 aefb540c54bc95c68702cd2ae668c559e63cc1a84f55ae5c0e78547e7d75d2d5 COPYING +sha256 aefb540c54bc95c68702cd2ae668c559e63cc1a84f55ae5c0e78547e7d75d2d5 COPYING diff --git a/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.hash b/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.hash index cbcdb1700..0f7141cde 100644 --- a/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.hash +++ b/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-March/002988.html -md5 215940de158b1a3d8b3f8b442c606e2f mkfontscale-1.2.1.tar.bz2 -sha1 fb9d0458a4476a237609b676f9cebcc64b0a8a85 mkfontscale-1.2.1.tar.bz2 -sha256 ca0495eb974a179dd742bfa6199d561bda1c8da4a0c5a667f21fd82aaab6bac7 mkfontscale-1.2.1.tar.bz2 -sha512 4d243160e1f7f8dfa6a8f53349c1a42a55fc99426455ebdef58352c5e951fce8b4f1fbd1061a76c9a148095b002eac372db1ae5e2647d2ccb4886635b317b18c mkfontscale-1.2.1.tar.bz2 +md5 215940de158b1a3d8b3f8b442c606e2f mkfontscale-1.2.1.tar.bz2 +sha1 fb9d0458a4476a237609b676f9cebcc64b0a8a85 mkfontscale-1.2.1.tar.bz2 +sha256 ca0495eb974a179dd742bfa6199d561bda1c8da4a0c5a667f21fd82aaab6bac7 mkfontscale-1.2.1.tar.bz2 +sha512 4d243160e1f7f8dfa6a8f53349c1a42a55fc99426455ebdef58352c5e951fce8b4f1fbd1061a76c9a148095b002eac372db1ae5e2647d2ccb4886635b317b18c mkfontscale-1.2.1.tar.bz2 # Locally computed -sha256 80df6f5b759f7775042313e4586506db60f26fd15b98b532cf518bd8cf1e8488 COPYING +sha256 80df6f5b759f7775042313e4586506db60f26fd15b98b532cf518bd8cf1e8488 COPYING diff --git a/package/x11r7/xapp_oclock/xapp_oclock.hash b/package/x11r7/xapp_oclock/xapp_oclock.hash index b345b448f..c8893f88b 100644 --- a/package/x11r7/xapp_oclock/xapp_oclock.hash +++ b/package/x11r7/xapp_oclock/xapp_oclock.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-March/002856.html -md5 973f6d25a6f0990720b98a15c9436b92 oclock-1.0.4.tar.bz2 -sha1 0bc8f3f44290950f60af894e20e0ceb0c5e8e862 oclock-1.0.4.tar.bz2 -sha256 cc20cfc1c0d5128d89e1eecd9ba52e58f111075be163e0aeda5690dbaafbaefe oclock-1.0.4.tar.bz2 -sha512 6e0d36a84572a153226b2929f2253cb7adc3c9e5e3af168aeaf8c487ade2e43517b271a8e9cdb2a2c4a67ca56ed0b99c194ca63a4a822b68bfc72ca6518335e7 oclock-1.0.4.tar.bz2 +md5 973f6d25a6f0990720b98a15c9436b92 oclock-1.0.4.tar.bz2 +sha1 0bc8f3f44290950f60af894e20e0ceb0c5e8e862 oclock-1.0.4.tar.bz2 +sha256 cc20cfc1c0d5128d89e1eecd9ba52e58f111075be163e0aeda5690dbaafbaefe oclock-1.0.4.tar.bz2 +sha512 6e0d36a84572a153226b2929f2253cb7adc3c9e5e3af168aeaf8c487ade2e43517b271a8e9cdb2a2c4a67ca56ed0b99c194ca63a4a822b68bfc72ca6518335e7 oclock-1.0.4.tar.bz2 # Locally computed -sha256 f6cae4b0c603ef5bd76da2df96b38aa43aa7547e482adb8cb8b83f09af35e4a2 COPYING +sha256 f6cae4b0c603ef5bd76da2df96b38aa43aa7547e482adb8cb8b83f09af35e4a2 COPYING diff --git a/package/x11r7/xapp_sessreg/xapp_sessreg.hash b/package/x11r7/xapp_sessreg/xapp_sessreg.hash index 12a7d3689..b8f55b50c 100644 --- a/package/x11r7/xapp_sessreg/xapp_sessreg.hash +++ b/package/x11r7/xapp_sessreg/xapp_sessreg.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-June/002994.html -md5 92be564d4be7d8aa7b5024057b715210 sessreg-1.1.2.tar.bz2 -sha1 169c1ff9fb152b4b4ca0cfbd3e1aee33af042016 sessreg-1.1.2.tar.bz2 -sha256 dfcb9e954273ace63879aec053c7880466f8755752a35aa9ced3fa5f04fd2c33 sessreg-1.1.2.tar.bz2 -sha512 7e3c2bdcadb7133aace463b58d8c6108d315ec95d2a42509073eeddc7f02644092a4b3168bd3b426c041736a016291092e0bf8368acd620dbeff96d53d12f98c sessreg-1.1.2.tar.bz2 +md5 92be564d4be7d8aa7b5024057b715210 sessreg-1.1.2.tar.bz2 +sha1 169c1ff9fb152b4b4ca0cfbd3e1aee33af042016 sessreg-1.1.2.tar.bz2 +sha256 dfcb9e954273ace63879aec053c7880466f8755752a35aa9ced3fa5f04fd2c33 sessreg-1.1.2.tar.bz2 +sha512 7e3c2bdcadb7133aace463b58d8c6108d315ec95d2a42509073eeddc7f02644092a4b3168bd3b426c041736a016291092e0bf8368acd620dbeff96d53d12f98c sessreg-1.1.2.tar.bz2 # Locally computed -sha256 ac8f5cc696e6c473aea4caaf18650316dc8912fcf0f370cae1df5f395cea8631 COPYING +sha256 ac8f5cc696e6c473aea4caaf18650316dc8912fcf0f370cae1df5f395cea8631 COPYING diff --git a/package/x11r7/xapp_setxkbmap/xapp_setxkbmap.hash b/package/x11r7/xapp_setxkbmap/xapp_setxkbmap.hash index 4f963593c..c53c19538 100644 --- a/package/x11r7/xapp_setxkbmap/xapp_setxkbmap.hash +++ b/package/x11r7/xapp_setxkbmap/xapp_setxkbmap.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-July/003007.html -md5 93e736c98fb75856ee8227a0c49a128d setxkbmap-1.3.2.tar.bz2 -sha1 44783734bc58fca93165a20da0bb3eca1ccb9ad9 setxkbmap-1.3.2.tar.bz2 -sha256 8ff27486442725e50b02d7049152f51d125ecad71b7ce503cfa09d5d8ceeb9f5 setxkbmap-1.3.2.tar.bz2 -sha512 bfa8015dee0d8d3fdbbd89afbd71c8606ce168d6edca8521d5ed05a00fecbea39bc4bfcce84b71458bdeb34c60bd80a5df27e0691ccee3966443ecdc937faf38 setxkbmap-1.3.2.tar.bz2 +md5 93e736c98fb75856ee8227a0c49a128d setxkbmap-1.3.2.tar.bz2 +sha1 44783734bc58fca93165a20da0bb3eca1ccb9ad9 setxkbmap-1.3.2.tar.bz2 +sha256 8ff27486442725e50b02d7049152f51d125ecad71b7ce503cfa09d5d8ceeb9f5 setxkbmap-1.3.2.tar.bz2 +sha512 bfa8015dee0d8d3fdbbd89afbd71c8606ce168d6edca8521d5ed05a00fecbea39bc4bfcce84b71458bdeb34c60bd80a5df27e0691ccee3966443ecdc937faf38 setxkbmap-1.3.2.tar.bz2 # Locally computed -sha256 afb8ce58340b6a6b85b73e256425263ce46f5a427279785e275991cb660cce82 COPYING +sha256 afb8ce58340b6a6b85b73e256425263ce46f5a427279785e275991cb660cce82 COPYING diff --git a/package/x11r7/xapp_viewres/xapp_viewres.hash b/package/x11r7/xapp_viewres/xapp_viewres.hash index 9b40c0a53..3e2928dc4 100644 --- a/package/x11r7/xapp_viewres/xapp_viewres.hash +++ b/package/x11r7/xapp_viewres/xapp_viewres.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-August/003020.html -md5 38e6568271d8098327706c5cf855dbc7 viewres-1.0.6.tar.bz2 -sha1 f1d12e5b4e1180916edb44234599a486b025b480 viewres-1.0.6.tar.bz2 -sha256 11c15db02066c1d5fc3febf9b185d16c1112f87e37c4b101a484dcefffb80934 viewres-1.0.6.tar.bz2 -sha512 3f4cfc61608bc6c9b35ef66ceb473661ca01946d3306d54040d32803e8e0eec506a0ce37ea22bfe514544a6ba9645fd30f39b20c063aff696b3c0fda3fe95dff viewres-1.0.6.tar.bz2 +md5 38e6568271d8098327706c5cf855dbc7 viewres-1.0.6.tar.bz2 +sha1 f1d12e5b4e1180916edb44234599a486b025b480 viewres-1.0.6.tar.bz2 +sha256 11c15db02066c1d5fc3febf9b185d16c1112f87e37c4b101a484dcefffb80934 viewres-1.0.6.tar.bz2 +sha512 3f4cfc61608bc6c9b35ef66ceb473661ca01946d3306d54040d32803e8e0eec506a0ce37ea22bfe514544a6ba9645fd30f39b20c063aff696b3c0fda3fe95dff viewres-1.0.6.tar.bz2 # Locally computed -sha256 aefb540c54bc95c68702cd2ae668c559e63cc1a84f55ae5c0e78547e7d75d2d5 COPYING +sha256 aefb540c54bc95c68702cd2ae668c559e63cc1a84f55ae5c0e78547e7d75d2d5 COPYING diff --git a/package/x11r7/xapp_x11perf/xapp_x11perf.hash b/package/x11r7/xapp_x11perf/xapp_x11perf.hash index ab34a2fdb..325565cf4 100644 --- a/package/x11r7/xapp_x11perf/xapp_x11perf.hash +++ b/package/x11r7/xapp_x11perf/xapp_x11perf.hash @@ -2,4 +2,4 @@ sha256 24f80d84b0e96171a998932ff007698fd1776da9975ed42e51d57b9cfca91828 x11perf-1.7.0.tar.xz sha512 de8185bfbac15fb5eb15c18ba8450d8e383e1356675e0368c9a443d4c2d14245fab87ac0aa4ddcc5ebf731af0ad1173f53c6937104c1be824bfda5b58112fd5e x11perf-1.7.0.tar.xz # Locally computed -sha256 f467ff659142e2eb4cb7275c48c789d249af398b09a405d3e181dcc339b3b922 COPYING +sha256 f467ff659142e2eb4cb7275c48c789d249af398b09a405d3e181dcc339b3b922 COPYING diff --git a/package/x11r7/xapp_xauth/xapp_xauth.hash b/package/x11r7/xapp_xauth/xapp_xauth.hash index 22ea4cadf..baa08d7e6 100644 --- a/package/x11r7/xapp_xauth/xapp_xauth.hash +++ b/package/x11r7/xapp_xauth/xapp_xauth.hash @@ -3,4 +3,4 @@ sha256 164ea0a29137b284a47b886ef2affcb0a74733bf3aad04f9b106b1a6c82ebd92 xauth- sha512 998c3158378fff50d368959c29335173b8d98e02591cb3d7b2f9534b5a44b19deb4cb7da9bf291ca5a37f69f833d72839b2c6611723306d10c1b4968ae4d4120 xauth-1.1.1.tar.bz2 # Locally computed -sha256 dcdf5fa36a652efbe61a21def1301739b0010334ae3f049f1cff433221a8c7a5 COPYING +sha256 dcdf5fa36a652efbe61a21def1301739b0010334ae3f049f1cff433221a8c7a5 COPYING diff --git a/package/x11r7/xapp_xbacklight/xapp_xbacklight.hash b/package/x11r7/xapp_xbacklight/xapp_xbacklight.hash index 12d20525c..bda5c32cd 100644 --- a/package/x11r7/xapp_xbacklight/xapp_xbacklight.hash +++ b/package/x11r7/xapp_xbacklight/xapp_xbacklight.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-July/003008.html -md5 5b6405973db69c0443be2fba8e1a8ab7 xbacklight-1.2.3.tar.bz2 -sha1 f0a6163738143ec23542b459aef567309a119e0c xbacklight-1.2.3.tar.bz2 -sha256 3a27f324777ae99fee476cfb2f064576fb8cba4eb77f97cda37adda1c1d39ade xbacklight-1.2.3.tar.bz2 -sha512 717c87ce24634892fc4ac54fc59dcc0a5bc8f206aaf1d13410f95f7e4fe6e3dbc7ff8d951bcd8ea8c5e955357a00fea6ceadd4559e60b1a632e40f71290e12c7 xbacklight-1.2.3.tar.bz2 +md5 5b6405973db69c0443be2fba8e1a8ab7 xbacklight-1.2.3.tar.bz2 +sha1 f0a6163738143ec23542b459aef567309a119e0c xbacklight-1.2.3.tar.bz2 +sha256 3a27f324777ae99fee476cfb2f064576fb8cba4eb77f97cda37adda1c1d39ade xbacklight-1.2.3.tar.bz2 +sha512 717c87ce24634892fc4ac54fc59dcc0a5bc8f206aaf1d13410f95f7e4fe6e3dbc7ff8d951bcd8ea8c5e955357a00fea6ceadd4559e60b1a632e40f71290e12c7 xbacklight-1.2.3.tar.bz2 # Locally computed -sha256 c9fbf1f272215babef31808c1235de8e4f7641ca5edfc4fc615b6556054b2b04 COPYING +sha256 c9fbf1f272215babef31808c1235de8e4f7641ca5edfc4fc615b6556054b2b04 COPYING diff --git a/package/x11r7/xapp_xbiff/xapp_xbiff.hash b/package/x11r7/xapp_xbiff/xapp_xbiff.hash index 9c646785d..690c932e3 100644 --- a/package/x11r7/xapp_xbiff/xapp_xbiff.hash +++ b/package/x11r7/xapp_xbiff/xapp_xbiff.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-July/003009.html -md5 66dd3ebd6351b1911b831b89b2dba8ec xbiff-1.0.4.tar.bz2 -sha1 193c0a2be1f7f374bb9d32217a198c92a63619e8 xbiff-1.0.4.tar.bz2 -sha256 e1e1a39628a5678585008ef7fb1ff2864edaaa0e062989c2331f8c74e0fec971 xbiff-1.0.4.tar.bz2 -sha512 0fb920a08640ec59f23d8a8a47bd244565dfbaff7a21c38a8a2abe1edb5eacabc970b5dbdc409163fc444fde5b75a2dc4e0114312938efec5b77228f3bf785ac xbiff-1.0.4.tar.bz2 +md5 66dd3ebd6351b1911b831b89b2dba8ec xbiff-1.0.4.tar.bz2 +sha1 193c0a2be1f7f374bb9d32217a198c92a63619e8 xbiff-1.0.4.tar.bz2 +sha256 e1e1a39628a5678585008ef7fb1ff2864edaaa0e062989c2331f8c74e0fec971 xbiff-1.0.4.tar.bz2 +sha512 0fb920a08640ec59f23d8a8a47bd244565dfbaff7a21c38a8a2abe1edb5eacabc970b5dbdc409163fc444fde5b75a2dc4e0114312938efec5b77228f3bf785ac xbiff-1.0.4.tar.bz2 # Locally computed -sha256 9b840f2e1900889124cc999f3158da2b6b07bf6d0d77bdbb01ce65d2e702dc83 COPYING +sha256 9b840f2e1900889124cc999f3158da2b6b07bf6d0d77bdbb01ce65d2e702dc83 COPYING diff --git a/package/x11r7/xapp_xcalc/xapp_xcalc.hash b/package/x11r7/xapp_xcalc/xapp_xcalc.hash index d7fac37ea..5365c52c5 100644 --- a/package/x11r7/xapp_xcalc/xapp_xcalc.hash +++ b/package/x11r7/xapp_xcalc/xapp_xcalc.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-June/002996.html -md5 3b566e47c76356cecaa71eb431767ae1 xcalc-1.1.0.tar.bz2 -sha1 0537f7ee56558cf80133c6b49c4757c1166aaeb6 xcalc-1.1.0.tar.bz2 -sha256 d5d746954465afc3da1f355d721882806568fb04b4d059c027702c0d16a3b5eb xcalc-1.1.0.tar.bz2 -sha512 877aab7bb08f409a21c26b841f4d91eb6993914ed0d26512e47d6b3d2b3e0b231158901415a106cfb45de43f03f253bf2a8733f986538d4ee810afe0e54f98d5 xcalc-1.1.0.tar.bz2 +md5 3b566e47c76356cecaa71eb431767ae1 xcalc-1.1.0.tar.bz2 +sha1 0537f7ee56558cf80133c6b49c4757c1166aaeb6 xcalc-1.1.0.tar.bz2 +sha256 d5d746954465afc3da1f355d721882806568fb04b4d059c027702c0d16a3b5eb xcalc-1.1.0.tar.bz2 +sha512 877aab7bb08f409a21c26b841f4d91eb6993914ed0d26512e47d6b3d2b3e0b231158901415a106cfb45de43f03f253bf2a8733f986538d4ee810afe0e54f98d5 xcalc-1.1.0.tar.bz2 # Locally computed -sha256 8dd69dbec37866a41d3040c5c478aca46e0b50c30319f178064d5e2ed9d3f912 COPYING +sha256 8dd69dbec37866a41d3040c5c478aca46e0b50c30319f178064d5e2ed9d3f912 COPYING diff --git a/package/x11r7/xapp_xclock/xapp_xclock.hash b/package/x11r7/xapp_xclock/xapp_xclock.hash index 881b40154..046ac51dd 100644 --- a/package/x11r7/xapp_xclock/xapp_xclock.hash +++ b/package/x11r7/xapp_xclock/xapp_xclock.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-July/003010.html -md5 437522a96f424f68fc64ed34ece9b211 xclock-1.0.9.tar.bz2 -sha1 774c711cf7ee3f601f7209bbb01ce3f0d5ddbde6 xclock-1.0.9.tar.bz2 -sha256 cf461fb2c6f2ac42c54d8429ee2010fdb9a1442a370adfbfe8a7bfaf33c123bb xclock-1.0.9.tar.bz2 -sha512 fcbac0b4ab1cea4ae0751ce1c0c6302048e5d98d459873c7580e4ca786ec49fa27f73e5831bdfe135abb5cfeabe886456276e9d01351ea7905c606f40f84522d xclock-1.0.9.tar.bz2 +md5 437522a96f424f68fc64ed34ece9b211 xclock-1.0.9.tar.bz2 +sha1 774c711cf7ee3f601f7209bbb01ce3f0d5ddbde6 xclock-1.0.9.tar.bz2 +sha256 cf461fb2c6f2ac42c54d8429ee2010fdb9a1442a370adfbfe8a7bfaf33c123bb xclock-1.0.9.tar.bz2 +sha512 fcbac0b4ab1cea4ae0751ce1c0c6302048e5d98d459873c7580e4ca786ec49fa27f73e5831bdfe135abb5cfeabe886456276e9d01351ea7905c606f40f84522d xclock-1.0.9.tar.bz2 # Locally computed -sha256 ee1f19f46801ef00e70498603e74df644d0b93fc82f06b55ce64c3a2c9f16e71 COPYING +sha256 ee1f19f46801ef00e70498603e74df644d0b93fc82f06b55ce64c3a2c9f16e71 COPYING diff --git a/package/x11r7/xapp_xcompmgr/xapp_xcompmgr.hash b/package/x11r7/xapp_xcompmgr/xapp_xcompmgr.hash index b893d0180..6f0d75526 100644 --- a/package/x11r7/xapp_xcompmgr/xapp_xcompmgr.hash +++ b/package/x11r7/xapp_xcompmgr/xapp_xcompmgr.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-March/002989.html -md5 ef8c7d4140c11efb8de4141b3968208c xcompmgr-1.1.8.tar.bz2 -sha1 7bb28329b4bb687763df2d2c1723cb6ecb20945a xcompmgr-1.1.8.tar.bz2 -sha256 0b89daf4f060fa3fa83cca862c45d531fef7121b5d06552c1d73d396ad9a7243 xcompmgr-1.1.8.tar.bz2 -sha512 ccf29426ffb0797a53653d1ce152de5eee0cec284811fed4b8e634ea0d948180531e4619d96f47e4f9594432c57322624fe0fdaee2c9200efac427fc0904953d xcompmgr-1.1.8.tar.bz2 +md5 ef8c7d4140c11efb8de4141b3968208c xcompmgr-1.1.8.tar.bz2 +sha1 7bb28329b4bb687763df2d2c1723cb6ecb20945a xcompmgr-1.1.8.tar.bz2 +sha256 0b89daf4f060fa3fa83cca862c45d531fef7121b5d06552c1d73d396ad9a7243 xcompmgr-1.1.8.tar.bz2 +sha512 ccf29426ffb0797a53653d1ce152de5eee0cec284811fed4b8e634ea0d948180531e4619d96f47e4f9594432c57322624fe0fdaee2c9200efac427fc0904953d xcompmgr-1.1.8.tar.bz2 # Locally computed -sha256 c843545f72771b3ff95eb88defc2e3ed8f9a1802d9bb6c32c196bb5eec3d3a5d COPYING +sha256 c843545f72771b3ff95eb88defc2e3ed8f9a1802d9bb6c32c196bb5eec3d3a5d COPYING diff --git a/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.hash b/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.hash index 51031d62b..2f6467143 100644 --- a/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.hash +++ b/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-January/002936.html -md5 25cc7ca1ce5dcbb61c2b471c55e686b5 xcursorgen-1.0.7.tar.bz2 -sha1 109367eb23b0ad52cf5de15f50c02ebe872698ae xcursorgen-1.0.7.tar.bz2 -sha256 35b6f844b24f1776e9006c880a745728800764dbe3b327a128772b4610d8eb3d xcursorgen-1.0.7.tar.bz2 -sha512 bd13ad23691d3daa2d5dcdc5902cf62e3dcb97a0289aff362e6cd85866a1d8cafb64f98800a75bfb4cf1f3c76244ca20201847dff594543d136d0abaec7011d2 xcursorgen-1.0.7.tar.bz2 +md5 25cc7ca1ce5dcbb61c2b471c55e686b5 xcursorgen-1.0.7.tar.bz2 +sha1 109367eb23b0ad52cf5de15f50c02ebe872698ae xcursorgen-1.0.7.tar.bz2 +sha256 35b6f844b24f1776e9006c880a745728800764dbe3b327a128772b4610d8eb3d xcursorgen-1.0.7.tar.bz2 +sha512 bd13ad23691d3daa2d5dcdc5902cf62e3dcb97a0289aff362e6cd85866a1d8cafb64f98800a75bfb4cf1f3c76244ca20201847dff594543d136d0abaec7011d2 xcursorgen-1.0.7.tar.bz2 # Locally computed -sha256 8c773336b654442ac8018715a52be1a8254895c57c898d5387016e9488cc2009 COPYING +sha256 8c773336b654442ac8018715a52be1a8254895c57c898d5387016e9488cc2009 COPYING diff --git a/package/x11r7/xapp_xdbedizzy/xapp_xdbedizzy.hash b/package/x11r7/xapp_xdbedizzy/xapp_xdbedizzy.hash index 88b843821..ad862c6e3 100644 --- a/package/x11r7/xapp_xdbedizzy/xapp_xdbedizzy.hash +++ b/package/x11r7/xapp_xdbedizzy/xapp_xdbedizzy.hash @@ -1,4 +1,4 @@ # From http://lists.x.org/archives/xorg-announce/2010-October/001514.html -sha1 281bee72116311e2d8393ae53ea832e9d267eded xdbedizzy-1.1.0.tar.bz2 +sha1 281bee72116311e2d8393ae53ea832e9d267eded xdbedizzy-1.1.0.tar.bz2 # Locally computed sha256 27d8cbdcde7a0bd062ce49cdf8c672201452a64e3e6823f09b1beffe2c4b8eff COPYING diff --git a/package/x11r7/xapp_xditview/xapp_xditview.hash b/package/x11r7/xapp_xditview/xapp_xditview.hash index 0eb3a13ff..4586c0b5a 100644 --- a/package/x11r7/xapp_xditview/xapp_xditview.hash +++ b/package/x11r7/xapp_xditview/xapp_xditview.hash @@ -1,7 +1,7 @@ # From http://lists.x.org/archives/xorg-announce/2015-April/002570.html -md5 3a909116a3b2abe3845215cf49e09fa5 xditview-1.0.5.tar.bz2 -sha1 f06f65bca31168c86bcebd7f92dbbda08817a5cc xditview-1.0.5.tar.bz2 -sha256 eecb1ed51ab4edc7f454476d1248cfb7799a17c5679b3dd834e8b4658331c04b xditview-1.0.5.tar.bz2 -sha512 e20c903f38394b496111267e142d84d11e69a3b89f91869652d1f2ee5c997a13f90bfa2966651b42cd3979a330b348a6e397cc6a74c45b1f3f91643e7c06765d xditview-1.0.5.tar.bz2 +md5 3a909116a3b2abe3845215cf49e09fa5 xditview-1.0.5.tar.bz2 +sha1 f06f65bca31168c86bcebd7f92dbbda08817a5cc xditview-1.0.5.tar.bz2 +sha256 eecb1ed51ab4edc7f454476d1248cfb7799a17c5679b3dd834e8b4658331c04b xditview-1.0.5.tar.bz2 +sha512 e20c903f38394b496111267e142d84d11e69a3b89f91869652d1f2ee5c997a13f90bfa2966651b42cd3979a330b348a6e397cc6a74c45b1f3f91643e7c06765d xditview-1.0.5.tar.bz2 # Locally computed -sha256 023d879308a49249181f78bbb567e93c45138ad847fe969d191e4802e7a1a005 COPYING +sha256 023d879308a49249181f78bbb567e93c45138ad847fe969d191e4802e7a1a005 COPYING diff --git a/package/x11r7/xapp_xdm/xapp_xdm.hash b/package/x11r7/xapp_xdm/xapp_xdm.hash index 605be9deb..98b16a181 100644 --- a/package/x11r7/xapp_xdm/xapp_xdm.hash +++ b/package/x11r7/xapp_xdm/xapp_xdm.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-March/002959.html -md5 47c4c3bf8d59b64b64d134df8b5e5ec5 xdm-1.1.12.tar.bz2 -sha1 5cc5590e40837949b1a63cb030878f8ceebd4d85 xdm-1.1.12.tar.bz2 -sha256 0dd283f72dda098d09e2925b9278c95e21551e693a5802ab442d1b577d8327f4 xdm-1.1.12.tar.bz2 -sha512 1a4be0a070ced5db8fda6fc74794c9f9ed0cb37fa440fda6a3a7652aff62dfc3d7ba68b9facf054671ebf0f4db2a0eec29d0aa3716e3407ccd5529bac3553bdb xdm-1.1.12.tar.bz2 +md5 47c4c3bf8d59b64b64d134df8b5e5ec5 xdm-1.1.12.tar.bz2 +sha1 5cc5590e40837949b1a63cb030878f8ceebd4d85 xdm-1.1.12.tar.bz2 +sha256 0dd283f72dda098d09e2925b9278c95e21551e693a5802ab442d1b577d8327f4 xdm-1.1.12.tar.bz2 +sha512 1a4be0a070ced5db8fda6fc74794c9f9ed0cb37fa440fda6a3a7652aff62dfc3d7ba68b9facf054671ebf0f4db2a0eec29d0aa3716e3407ccd5529bac3553bdb xdm-1.1.12.tar.bz2 # Locally computed -sha256 b33b4bebbd6511b3e15315e8e29d67f25334ee45da8b7da6e6e97c53a70c6923 COPYING +sha256 b33b4bebbd6511b3e15315e8e29d67f25334ee45da8b7da6e6e97c53a70c6923 COPYING diff --git a/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.hash b/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.hash index 80a4ac48f..21c50184c 100644 --- a/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.hash +++ b/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-March/002858.html -md5 480e63cd365f03eb2515a6527d5f4ca6 xdriinfo-1.0.6.tar.bz2 -sha1 11682ae1f04a311b832651d78bbf4c6ac77f0ed9 xdriinfo-1.0.6.tar.bz2 -sha256 d9ccd2c3e87899417acc9ea1f3e319a4198112babe1dc711273584f607449d51 xdriinfo-1.0.6.tar.bz2 -sha512 7ddd9e19abaef93e4d85004293528ec3814ef84c470d496dbb8dc8313d804bb7520406de8d33d2bc2b3af942bd0a5d5032a109b2726438a966af63ea680a102f xdriinfo-1.0.6.tar.bz2 +md5 480e63cd365f03eb2515a6527d5f4ca6 xdriinfo-1.0.6.tar.bz2 +sha1 11682ae1f04a311b832651d78bbf4c6ac77f0ed9 xdriinfo-1.0.6.tar.bz2 +sha256 d9ccd2c3e87899417acc9ea1f3e319a4198112babe1dc711273584f607449d51 xdriinfo-1.0.6.tar.bz2 +sha512 7ddd9e19abaef93e4d85004293528ec3814ef84c470d496dbb8dc8313d804bb7520406de8d33d2bc2b3af942bd0a5d5032a109b2726438a966af63ea680a102f xdriinfo-1.0.6.tar.bz2 # Locally computed -sha256 de2fbb160bbb64c48975d7a3ebe3636a312b73227df1efe37488a8cecb9c1932 COPYING +sha256 de2fbb160bbb64c48975d7a3ebe3636a312b73227df1efe37488a8cecb9c1932 COPYING diff --git a/package/x11r7/xapp_xedit/xapp_xedit.hash b/package/x11r7/xapp_xedit/xapp_xedit.hash index e521e0082..499d85806 100644 --- a/package/x11r7/xapp_xedit/xapp_xedit.hash +++ b/package/x11r7/xapp_xedit/xapp_xedit.hash @@ -1,5 +1,5 @@ # From http://lists.x.org/archives/xorg-announce/2015-February/002535.html -sha1 f37b5d0f8ec461955f0419dbb1890d8cf63d179d xedit-1.2.2.tar.bz2 -sha256 69aa42885dfc06332ca22eb01cc7187e49206e6d65b74113a8ee4cc345fc2927 xedit-1.2.2.tar.bz2 +sha1 f37b5d0f8ec461955f0419dbb1890d8cf63d179d xedit-1.2.2.tar.bz2 +sha256 69aa42885dfc06332ca22eb01cc7187e49206e6d65b74113a8ee4cc345fc2927 xedit-1.2.2.tar.bz2 # Locally computed sha256 6d3e4092277ea08fc6b3180dba061120ea53ee965afb84fce16f8ab3d35bb47a COPYING diff --git a/package/x11r7/xapp_xf86dga/xapp_xf86dga.hash b/package/x11r7/xapp_xf86dga/xapp_xf86dga.hash index 1a82db9ff..1f898b8b2 100644 --- a/package/x11r7/xapp_xf86dga/xapp_xf86dga.hash +++ b/package/x11r7/xapp_xf86dga/xapp_xf86dga.hash @@ -1,4 +1,4 @@ # From http://lists.x.org/archives/xorg-announce/2010-October/001515.html -sha1 030659e3728f5f7142e1cf727f147aceeabe4b9e xf86dga-1.0.3.tar.bz2 +sha1 030659e3728f5f7142e1cf727f147aceeabe4b9e xf86dga-1.0.3.tar.bz2 # Locally computed sha256 27d8cbdcde7a0bd062ce49cdf8c672201452a64e3e6823f09b1beffe2c4b8eff COPYING diff --git a/package/x11r7/xapp_xfd/xapp_xfd.hash b/package/x11r7/xapp_xfd/xapp_xfd.hash index d1f5c4543..ec8517018 100644 --- a/package/x11r7/xapp_xfd/xapp_xfd.hash +++ b/package/x11r7/xapp_xfd/xapp_xfd.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-March/002968.html -md5 f9c9f2b101a96d4b50c2a4ab9b5ab5b1 xfd-1.1.3.tar.bz2 -sha1 ca6dbe2027b205992a52c6bb717a43508f12a8c4 xfd-1.1.3.tar.bz2 -sha256 192f938ba5830e84cc807d8ead2ad9655b43eaed6500c830f3e083aad10ed958 xfd-1.1.3.tar.bz2 -sha512 68e2d4ce5e24215353b6f3231191d69639c4dd90a703e03ccf152bbfe4012da071c387ba289f918fb0336a3be9ee49dc05cbec7273fa85f5e476ead7e10795f0 xfd-1.1.3.tar.bz2 +md5 f9c9f2b101a96d4b50c2a4ab9b5ab5b1 xfd-1.1.3.tar.bz2 +sha1 ca6dbe2027b205992a52c6bb717a43508f12a8c4 xfd-1.1.3.tar.bz2 +sha256 192f938ba5830e84cc807d8ead2ad9655b43eaed6500c830f3e083aad10ed958 xfd-1.1.3.tar.bz2 +sha512 68e2d4ce5e24215353b6f3231191d69639c4dd90a703e03ccf152bbfe4012da071c387ba289f918fb0336a3be9ee49dc05cbec7273fa85f5e476ead7e10795f0 xfd-1.1.3.tar.bz2 # Locally computed -sha256 57ae10f24fc110dafb3b8d7735cf26b1905ff74e716745b2520e4ccd7751095c COPYING +sha256 57ae10f24fc110dafb3b8d7735cf26b1905ff74e716745b2520e4ccd7751095c COPYING diff --git a/package/x11r7/xapp_xfontsel/xapp_xfontsel.hash b/package/x11r7/xapp_xfontsel/xapp_xfontsel.hash index a09df5585..3729984b0 100644 --- a/package/x11r7/xapp_xfontsel/xapp_xfontsel.hash +++ b/package/x11r7/xapp_xfontsel/xapp_xfontsel.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-March/002861.html -md5 13150ff98846bf6d9a14bee00697fa47 xfontsel-1.0.6.tar.bz2 -sha1 3fd8d78cc270030b41298170c3e5222065dd1cfd xfontsel-1.0.6.tar.bz2 -sha256 25aa0b7c4262f5e99c07c2b96e00e4eb25b7e53f94fa803942af9d0e8da3001c xfontsel-1.0.6.tar.bz2 -sha512 2f6bc51549a302404cdaf9a5a825add383953fcbb2a0c7076691cefd4dd7e4a3c772c047be74101c8486f75d03ce0bd3e65ede14e91732cf2a932810441c9099 xfontsel-1.0.6.tar.bz2 +md5 13150ff98846bf6d9a14bee00697fa47 xfontsel-1.0.6.tar.bz2 +sha1 3fd8d78cc270030b41298170c3e5222065dd1cfd xfontsel-1.0.6.tar.bz2 +sha256 25aa0b7c4262f5e99c07c2b96e00e4eb25b7e53f94fa803942af9d0e8da3001c xfontsel-1.0.6.tar.bz2 +sha512 2f6bc51549a302404cdaf9a5a825add383953fcbb2a0c7076691cefd4dd7e4a3c772c047be74101c8486f75d03ce0bd3e65ede14e91732cf2a932810441c9099 xfontsel-1.0.6.tar.bz2 # Locally computed -sha256 a27097bcc5cdf4fa5d761dd4e5cea1f41911c51b0a7d9da6e3a48f69d9fd0c09 COPYING +sha256 a27097bcc5cdf4fa5d761dd4e5cea1f41911c51b0a7d9da6e3a48f69d9fd0c09 COPYING diff --git a/package/x11r7/xapp_xfs/xapp_xfs.hash b/package/x11r7/xapp_xfs/xapp_xfs.hash index 22ec25a1b..e85597e7f 100644 --- a/package/x11r7/xapp_xfs/xapp_xfs.hash +++ b/package/x11r7/xapp_xfs/xapp_xfs.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2017-November/002826.html md5 b4d2e644bfb35cae8858d2411501b07e xfs-1.2.0.tar.bz2 -sha1 00848fcc2915ed8b00e75ac311c4727327324f57 xfs-1.2.0.tar.bz2 -sha256 db2212115783498f8eeaaee1349461d6c4e9d2005e142bacd3a984fe57269860 xfs-1.2.0.tar.bz2 -sha512 557b08aa07919239ce345d60b288b886640200bb1a59649fc890c3ccaa8559cc6745189614e696ab1b390ec024b393be5493787b7b0d2b3545b342d743c2e0ef xfs-1.2.0.tar.bz2 +sha1 00848fcc2915ed8b00e75ac311c4727327324f57 xfs-1.2.0.tar.bz2 +sha256 db2212115783498f8eeaaee1349461d6c4e9d2005e142bacd3a984fe57269860 xfs-1.2.0.tar.bz2 +sha512 557b08aa07919239ce345d60b288b886640200bb1a59649fc890c3ccaa8559cc6745189614e696ab1b390ec024b393be5493787b7b0d2b3545b342d743c2e0ef xfs-1.2.0.tar.bz2 # Locally computed -sha256 0314ea37f40eff3c9ffe44b3924b2a768422f006a754e8286bfd1c73203d225e COPYING +sha256 0314ea37f40eff3c9ffe44b3924b2a768422f006a754e8286bfd1c73203d225e COPYING diff --git a/package/x11r7/xapp_xfsinfo/xapp_xfsinfo.hash b/package/x11r7/xapp_xfsinfo/xapp_xfsinfo.hash index 67480a51a..dbdf8e0ed 100644 --- a/package/x11r7/xapp_xfsinfo/xapp_xfsinfo.hash +++ b/package/x11r7/xapp_xfsinfo/xapp_xfsinfo.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-February/002949.html -md5 0060d6151427d9e570e54fc52a88e7d7 xfsinfo-1.0.6.tar.bz2 -sha1 cbfe7470179f1ab5eecf992226dc1b28902c6b4c xfsinfo-1.0.6.tar.bz2 -sha256 8a3e8b9b9ae6ed571989d04e1846d39b9043e28f7623b500ebe1d47762c9b1d6 xfsinfo-1.0.6.tar.bz2 -sha512 901fc3817d7c95f2ba75ed0c51de91abd8efa67bbb93ad6b7d66e56a2f721af9db364e92f9ef2e719835fd48e934a5ea7402e5565c0ccd9b6b82633e869dc57b xfsinfo-1.0.6.tar.bz2 +md5 0060d6151427d9e570e54fc52a88e7d7 xfsinfo-1.0.6.tar.bz2 +sha1 cbfe7470179f1ab5eecf992226dc1b28902c6b4c xfsinfo-1.0.6.tar.bz2 +sha256 8a3e8b9b9ae6ed571989d04e1846d39b9043e28f7623b500ebe1d47762c9b1d6 xfsinfo-1.0.6.tar.bz2 +sha512 901fc3817d7c95f2ba75ed0c51de91abd8efa67bbb93ad6b7d66e56a2f721af9db364e92f9ef2e719835fd48e934a5ea7402e5565c0ccd9b6b82633e869dc57b xfsinfo-1.0.6.tar.bz2 # Locally computed -sha256 bae01fa08f30f21f9cfb75e8339d081b34e5e03d12677177f85a55b0ca41d0db COPYING +sha256 bae01fa08f30f21f9cfb75e8339d081b34e5e03d12677177f85a55b0ca41d0db COPYING diff --git a/package/x11r7/xapp_xhost/xapp_xhost.hash b/package/x11r7/xapp_xhost/xapp_xhost.hash index 0c3879441..71eabccc4 100644 --- a/package/x11r7/xapp_xhost/xapp_xhost.hash +++ b/package/x11r7/xapp_xhost/xapp_xhost.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-February/002950.html -md5 a48c72954ae6665e0616f6653636da8c xhost-1.0.8.tar.bz2 -sha1 971670858a464d4f8eeb6f4e182f9fcd94149790 xhost-1.0.8.tar.bz2 -sha256 a2dc3c579e13674947395ef8ccc1b3763f89012a216c2cc6277096489aadc396 xhost-1.0.8.tar.bz2 -sha512 55581f9bc45a70a73b13fe718ca83c4cb0a6116d26addc0f07659ebeb5bf7d2379e84cab5a1702ae77a298a66f42ae03f41ddc7d5acd61c6f18448e58ad7cb6b xhost-1.0.8.tar.bz2 +md5 a48c72954ae6665e0616f6653636da8c xhost-1.0.8.tar.bz2 +sha1 971670858a464d4f8eeb6f4e182f9fcd94149790 xhost-1.0.8.tar.bz2 +sha256 a2dc3c579e13674947395ef8ccc1b3763f89012a216c2cc6277096489aadc396 xhost-1.0.8.tar.bz2 +sha512 55581f9bc45a70a73b13fe718ca83c4cb0a6116d26addc0f07659ebeb5bf7d2379e84cab5a1702ae77a298a66f42ae03f41ddc7d5acd61c6f18448e58ad7cb6b xhost-1.0.8.tar.bz2 # Locally computed -sha256 7e69bed6fcfff05ecf454d7e4b29cd265172385833f1978f04b638f92f2cfecf COPYING +sha256 7e69bed6fcfff05ecf454d7e4b29cd265172385833f1978f04b638f92f2cfecf COPYING diff --git a/package/x11r7/xapp_xinit/xapp_xinit.hash b/package/x11r7/xapp_xinit/xapp_xinit.hash index 076bd6475..49c809946 100644 --- a/package/x11r7/xapp_xinit/xapp_xinit.hash +++ b/package/x11r7/xapp_xinit/xapp_xinit.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-March/002962.html -md5 6d506ab2efc17a08e87778654e099d37 xinit-1.4.1.tar.bz2 -sha1 d874a2eecf2c30291e327851b151fdab8183260c xinit-1.4.1.tar.bz2 -sha256 de9b8f617b68a70f6caf87da01fcf0ebd2b75690cdcba9c921d0ef54fa54abb9 xinit-1.4.1.tar.bz2 -sha512 6cbc5d025a891c419f3f4493381b2fca57a67d78df866d2f16a83426f86bad6eca7f240fac12b25cbcc63df0fec41f625407184e044898602d66483715315340 xinit-1.4.1.tar.bz2 +md5 6d506ab2efc17a08e87778654e099d37 xinit-1.4.1.tar.bz2 +sha1 d874a2eecf2c30291e327851b151fdab8183260c xinit-1.4.1.tar.bz2 +sha256 de9b8f617b68a70f6caf87da01fcf0ebd2b75690cdcba9c921d0ef54fa54abb9 xinit-1.4.1.tar.bz2 +sha512 6cbc5d025a891c419f3f4493381b2fca57a67d78df866d2f16a83426f86bad6eca7f240fac12b25cbcc63df0fec41f625407184e044898602d66483715315340 xinit-1.4.1.tar.bz2 # Locally computed -sha256 c47001aa217d4ae7787121d80634db4bdba564e49a0ecab8d48b1bdc4edee1c7 COPYING +sha256 c47001aa217d4ae7787121d80634db4bdba564e49a0ecab8d48b1bdc4edee1c7 COPYING diff --git a/package/x11r7/xapp_xinput/xapp_xinput.hash b/package/x11r7/xapp_xinput/xapp_xinput.hash index 456a58c70..096187963 100644 --- a/package/x11r7/xapp_xinput/xapp_xinput.hash +++ b/package/x11r7/xapp_xinput/xapp_xinput.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-July/003013.html -md5 ac6b7432726008b2f50eba82b0e2dbe4 xinput-1.6.3.tar.bz2 -sha1 92ea7dfb3d8465921b0dca85da7d5b01cedae6c8 xinput-1.6.3.tar.bz2 -sha256 35a281dd3b9b22ea85e39869bb7670ba78955d5fec17c6ef7165d61e5aeb66ed xinput-1.6.3.tar.bz2 -sha512 cb2fef866ac5a71dbca3e23b4ecadaca38e65dc1b30f8bb024bad92486554fafc472706619a1af04c746a4f53ce6aea827d694b9f4f0c7d0d46bb1da81984076 xinput-1.6.3.tar.bz2 +md5 ac6b7432726008b2f50eba82b0e2dbe4 xinput-1.6.3.tar.bz2 +sha1 92ea7dfb3d8465921b0dca85da7d5b01cedae6c8 xinput-1.6.3.tar.bz2 +sha256 35a281dd3b9b22ea85e39869bb7670ba78955d5fec17c6ef7165d61e5aeb66ed xinput-1.6.3.tar.bz2 +sha512 cb2fef866ac5a71dbca3e23b4ecadaca38e65dc1b30f8bb024bad92486554fafc472706619a1af04c746a4f53ce6aea827d694b9f4f0c7d0d46bb1da81984076 xinput-1.6.3.tar.bz2 # Locally computed -sha256 bbd35c7a8e8c5cb073935e84b29b0c53f7131a4ef1ce737dc2be5616941e07e1 COPYING +sha256 bbd35c7a8e8c5cb073935e84b29b0c53f7131a4ef1ce737dc2be5616941e07e1 COPYING diff --git a/package/x11r7/xapp_xkbprint/xapp_xkbprint.hash b/package/x11r7/xapp_xkbprint/xapp_xkbprint.hash index c7e0747f0..69a80576c 100644 --- a/package/x11r7/xapp_xkbprint/xapp_xkbprint.hash +++ b/package/x11r7/xapp_xkbprint/xapp_xkbprint.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-November/003030.html -md5 9c34da77363dc3d0f616980da87244bf xkbprint-1.0.5.tar.bz2 -sha1 e707caffb3c680b3a869a776aa3f80caeac9e9c3 xkbprint-1.0.5.tar.bz2 -sha256 5b58fe834f0822f06d63d283fac404098c6d3f6acce61888b81016f1c41023fa xkbprint-1.0.5.tar.bz2 -sha512 ac3870352f3a595b5b8a8cb64f39e9bea81b17572c73cfbf72482477a2f576d0ffcdcf735cb3c66b8a88a7fe0f7aece6738cbac87df5641e44fae1ab9b97111f xkbprint-1.0.5.tar.bz2 +md5 9c34da77363dc3d0f616980da87244bf xkbprint-1.0.5.tar.bz2 +sha1 e707caffb3c680b3a869a776aa3f80caeac9e9c3 xkbprint-1.0.5.tar.bz2 +sha256 5b58fe834f0822f06d63d283fac404098c6d3f6acce61888b81016f1c41023fa xkbprint-1.0.5.tar.bz2 +sha512 ac3870352f3a595b5b8a8cb64f39e9bea81b17572c73cfbf72482477a2f576d0ffcdcf735cb3c66b8a88a7fe0f7aece6738cbac87df5641e44fae1ab9b97111f xkbprint-1.0.5.tar.bz2 # Locally computed -sha256 79b32f28f7f5063054a564e1fdeee56f82a525b6516303704a1f70e55fe7197e COPYING +sha256 79b32f28f7f5063054a564e1fdeee56f82a525b6516303704a1f70e55fe7197e COPYING diff --git a/package/x11r7/xapp_xkill/xapp_xkill.hash b/package/x11r7/xapp_xkill/xapp_xkill.hash index 060297170..911a28d0b 100644 --- a/package/x11r7/xapp_xkill/xapp_xkill.hash +++ b/package/x11r7/xapp_xkill/xapp_xkill.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-March/002864.html -md5 938177e4472c346cf031c1aefd8934fc xkill-1.0.5.tar.bz2 -sha1 c5ee06b33adb252a41e4f737be6bd47651ff582a xkill-1.0.5.tar.bz2 -sha256 c5f0bb6a95e1ac7c4def8a657496d5d2f21ccd41eb47ef2c9ccb03fb6d6aff6b xkill-1.0.5.tar.bz2 -sha512 4603a1794f114f5cea2c885020c9d073c8421d1e785c99ff6b936ae97139c8dac8020a187b5bbd0fa6d56ed6fab879441b42ba900cc5f2f5a534dafdc86b9249 xkill-1.0.5.tar.bz2 +md5 938177e4472c346cf031c1aefd8934fc xkill-1.0.5.tar.bz2 +sha1 c5ee06b33adb252a41e4f737be6bd47651ff582a xkill-1.0.5.tar.bz2 +sha256 c5f0bb6a95e1ac7c4def8a657496d5d2f21ccd41eb47ef2c9ccb03fb6d6aff6b xkill-1.0.5.tar.bz2 +sha512 4603a1794f114f5cea2c885020c9d073c8421d1e785c99ff6b936ae97139c8dac8020a187b5bbd0fa6d56ed6fab879441b42ba900cc5f2f5a534dafdc86b9249 xkill-1.0.5.tar.bz2 # Locally computed -sha256 13306c3890e4c8710bc468dee0eba7f9677cd94c7a67d2d81fa932d4f635b21f COPYING +sha256 13306c3890e4c8710bc468dee0eba7f9677cd94c7a67d2d81fa932d4f635b21f COPYING diff --git a/package/x11r7/xapp_xload/xapp_xload.hash b/package/x11r7/xapp_xload/xapp_xload.hash index 99d9cabb0..7ae76db66 100644 --- a/package/x11r7/xapp_xload/xapp_xload.hash +++ b/package/x11r7/xapp_xload/xapp_xload.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-March/002865.html -md5 29afafdffe97f809d43a41db9dd63f25 xload-1.1.3.tar.bz2 -sha1 fd5053d38551883309863c2a43de2ceffa908a50 xload-1.1.3.tar.bz2 -sha256 f34e4803871d771325cfe52bebd98cc5b6040d3f065184ec73de436f9a375907 xload-1.1.3.tar.bz2 -sha512 8dbc4f0cee7b30d7381be819152b27653d9b0049266e59bde2e2c972a88c4f2bdea766fc407bbdfef15d0aab30fedc756189a1048170a812853133a5094fe7a5 xload-1.1.3.tar.bz2 +md5 29afafdffe97f809d43a41db9dd63f25 xload-1.1.3.tar.bz2 +sha1 fd5053d38551883309863c2a43de2ceffa908a50 xload-1.1.3.tar.bz2 +sha256 f34e4803871d771325cfe52bebd98cc5b6040d3f065184ec73de436f9a375907 xload-1.1.3.tar.bz2 +sha512 8dbc4f0cee7b30d7381be819152b27653d9b0049266e59bde2e2c972a88c4f2bdea766fc407bbdfef15d0aab30fedc756189a1048170a812853133a5094fe7a5 xload-1.1.3.tar.bz2 # Locally computed -sha256 a09b31d26e4d2781eef1e71f39789f86cad6d81153e72064f45875910fa6258f COPYING +sha256 a09b31d26e4d2781eef1e71f39789f86cad6d81153e72064f45875910fa6258f COPYING diff --git a/package/x11r7/xapp_xlogo/xapp_xlogo.hash b/package/x11r7/xapp_xlogo/xapp_xlogo.hash index a4aada48c..c393e7dc3 100644 --- a/package/x11r7/xapp_xlogo/xapp_xlogo.hash +++ b/package/x11r7/xapp_xlogo/xapp_xlogo.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-March/002963.html -md5 e9d21de1dc8c8b9f854509a26a985cd7 xlogo-1.0.5.tar.bz2 -sha1 f025a0ad30c45cbec1c2f3b1610bff94fb4e9f33 xlogo-1.0.5.tar.bz2 -sha256 633d7a3aa5df61e4e643b740e5799664741ab1a0ba40593e54fcd15dc30f378e xlogo-1.0.5.tar.bz2 -sha512 0d78e269b0be3c5de71de7f362b896bfd9934ecd9d0361b3302399b1269e029c4a9f35418d792121a1edc34405d753f9d69c996cc3a69ac717f2b0d1f736406b xlogo-1.0.5.tar.bz2 +md5 e9d21de1dc8c8b9f854509a26a985cd7 xlogo-1.0.5.tar.bz2 +sha1 f025a0ad30c45cbec1c2f3b1610bff94fb4e9f33 xlogo-1.0.5.tar.bz2 +sha256 633d7a3aa5df61e4e643b740e5799664741ab1a0ba40593e54fcd15dc30f378e xlogo-1.0.5.tar.bz2 +sha512 0d78e269b0be3c5de71de7f362b896bfd9934ecd9d0361b3302399b1269e029c4a9f35418d792121a1edc34405d753f9d69c996cc3a69ac717f2b0d1f736406b xlogo-1.0.5.tar.bz2 # Locally computed -sha256 972b454b6c0da17cec61225ab9dfd4afc69fd8e7e4c629497197c6f79adc6fb0 COPYING +sha256 972b454b6c0da17cec61225ab9dfd4afc69fd8e7e4c629497197c6f79adc6fb0 COPYING diff --git a/package/x11r7/xapp_xlsatoms/xapp_xlsatoms.hash b/package/x11r7/xapp_xlsatoms/xapp_xlsatoms.hash index de7eabe3b..21484fdcd 100644 --- a/package/x11r7/xapp_xlsatoms/xapp_xlsatoms.hash +++ b/package/x11r7/xapp_xlsatoms/xapp_xlsatoms.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-February/002951.html -md5 61671fee12535347db24ec3a715032a7 xlsatoms-1.1.3.tar.bz2 -sha1 9fdb1e8df6bb08529a812ac90f63d500bf5174cc xlsatoms-1.1.3.tar.bz2 -sha256 57868f958c263976727881f3078e55b86b4a109dc578d2b92f5c6d690850a382 xlsatoms-1.1.3.tar.bz2 -sha512 c267ccfdc5a83e834bfb5c3b144e22642badcadef4eb146eeec2df6fe6f85e9379500ae4219912c70fa2e535036a1a96cf496381f5d814e79af075e03c975f30 xlsatoms-1.1.3.tar.bz2 +md5 61671fee12535347db24ec3a715032a7 xlsatoms-1.1.3.tar.bz2 +sha1 9fdb1e8df6bb08529a812ac90f63d500bf5174cc xlsatoms-1.1.3.tar.bz2 +sha256 57868f958c263976727881f3078e55b86b4a109dc578d2b92f5c6d690850a382 xlsatoms-1.1.3.tar.bz2 +sha512 c267ccfdc5a83e834bfb5c3b144e22642badcadef4eb146eeec2df6fe6f85e9379500ae4219912c70fa2e535036a1a96cf496381f5d814e79af075e03c975f30 xlsatoms-1.1.3.tar.bz2 # Locally computed -sha256 f0a362fc1b8e788845b1c0ad7ba9ade58fdfb73da750c3b9780db5d70b947657 COPYING +sha256 f0a362fc1b8e788845b1c0ad7ba9ade58fdfb73da750c3b9780db5d70b947657 COPYING diff --git a/package/x11r7/xapp_xlsclients/xapp_xlsclients.hash b/package/x11r7/xapp_xlsclients/xapp_xlsclients.hash index a465c3cee..b73917cb4 100644 --- a/package/x11r7/xapp_xlsclients/xapp_xlsclients.hash +++ b/package/x11r7/xapp_xlsclients/xapp_xlsclients.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-March/002866.html -md5 4fa92377e0ddc137cd226a7a87b6b29a xlsclients-1.1.4.tar.bz2 -sha1 175af1c216a1db3de5023ecd6cce186e7693c6e4 xlsclients-1.1.4.tar.bz2 -sha256 773f2af49c7ea2c44fba4213bee64325875c1b3c9bc4bbcd8dac9261751809c1 xlsclients-1.1.4.tar.bz2 -sha512 42fd848d88d3cf31168a37fed63f9f5b60ddc4f36be2956b354e574c93129d75f29e005d6631784380bcef27860b54c64f419ca18ad77f092f4520dec47b10f4 xlsclients-1.1.4.tar.bz2 +md5 4fa92377e0ddc137cd226a7a87b6b29a xlsclients-1.1.4.tar.bz2 +sha1 175af1c216a1db3de5023ecd6cce186e7693c6e4 xlsclients-1.1.4.tar.bz2 +sha256 773f2af49c7ea2c44fba4213bee64325875c1b3c9bc4bbcd8dac9261751809c1 xlsclients-1.1.4.tar.bz2 +sha512 42fd848d88d3cf31168a37fed63f9f5b60ddc4f36be2956b354e574c93129d75f29e005d6631784380bcef27860b54c64f419ca18ad77f092f4520dec47b10f4 xlsclients-1.1.4.tar.bz2 # Locally computed -sha256 716d6f1d18cb97cdd4a2ef7b101d944a250ca9de57578a490c038b9aaf950648 COPYING +sha256 716d6f1d18cb97cdd4a2ef7b101d944a250ca9de57578a490c038b9aaf950648 COPYING diff --git a/package/x11r7/xapp_xlsfonts/xapp_xlsfonts.hash b/package/x11r7/xapp_xlsfonts/xapp_xlsfonts.hash index f76369f97..db70c9bad 100644 --- a/package/x11r7/xapp_xlsfonts/xapp_xlsfonts.hash +++ b/package/x11r7/xapp_xlsfonts/xapp_xlsfonts.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-March/002867.html -md5 5774fd4f518b3f338f2b28f270e04bfc xlsfonts-1.0.6.tar.bz2 -sha1 bf95e46e0897dcb9d197ce20d4fa024b8ace5148 xlsfonts-1.0.6.tar.bz2 -sha256 89b80b3a030006ab6cef717be286c12f2477894b227158b1e6133274f6ebd368 xlsfonts-1.0.6.tar.bz2 -sha512 052a3b1dec23cb20fdfacd4500cb836feb3b888bf568a548ea71deb58a4ba10a1ad5392d658e95272c6d4a1832edf1f19c3de2498b78dca82c43ee52800a30c0 xlsfonts-1.0.6.tar.bz2 +md5 5774fd4f518b3f338f2b28f270e04bfc xlsfonts-1.0.6.tar.bz2 +sha1 bf95e46e0897dcb9d197ce20d4fa024b8ace5148 xlsfonts-1.0.6.tar.bz2 +sha256 89b80b3a030006ab6cef717be286c12f2477894b227158b1e6133274f6ebd368 xlsfonts-1.0.6.tar.bz2 +sha512 052a3b1dec23cb20fdfacd4500cb836feb3b888bf568a548ea71deb58a4ba10a1ad5392d658e95272c6d4a1832edf1f19c3de2498b78dca82c43ee52800a30c0 xlsfonts-1.0.6.tar.bz2 # Locally computed -sha256 dcdf5fa36a652efbe61a21def1301739b0010334ae3f049f1cff433221a8c7a5 COPYING +sha256 dcdf5fa36a652efbe61a21def1301739b0010334ae3f049f1cff433221a8c7a5 COPYING diff --git a/package/x11r7/xapp_xman/xapp_xman.hash b/package/x11r7/xapp_xman/xapp_xman.hash index e4a93d170..4436ca311 100644 --- a/package/x11r7/xapp_xman/xapp_xman.hash +++ b/package/x11r7/xapp_xman/xapp_xman.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-July/003011.html -md5 629436867b202098967636b17c8d303c xman-1.1.5.tar.bz2 -sha1 ec76dbd010f68974e05dfe8bc4b91731a3b7285b xman-1.1.5.tar.bz2 -sha256 4e3c2c7497e9734a6d3c8e1b6a364612892bb31e9f33076c9fdae7177ab60978 xman-1.1.5.tar.bz2 -sha512 f6b2be424a79f298bf1a81edce4172572195c9efc9454e5b7b7046f344ed08154c77ccaa763ccdf3f1a30b64aa4802783bf813ee637437ccb1fba434fc5d4400 xman-1.1.5.tar.bz2 +md5 629436867b202098967636b17c8d303c xman-1.1.5.tar.bz2 +sha1 ec76dbd010f68974e05dfe8bc4b91731a3b7285b xman-1.1.5.tar.bz2 +sha256 4e3c2c7497e9734a6d3c8e1b6a364612892bb31e9f33076c9fdae7177ab60978 xman-1.1.5.tar.bz2 +sha512 f6b2be424a79f298bf1a81edce4172572195c9efc9454e5b7b7046f344ed08154c77ccaa763ccdf3f1a30b64aa4802783bf813ee637437ccb1fba434fc5d4400 xman-1.1.5.tar.bz2 # Locally computed -sha256 4c3d6d6fc5661c64285931a0871728f3745d962d877477235dc66e4043db3d36 COPYING +sha256 4c3d6d6fc5661c64285931a0871728f3745d962d877477235dc66e4043db3d36 COPYING diff --git a/package/x11r7/xapp_xmessage/xapp_xmessage.hash b/package/x11r7/xapp_xmessage/xapp_xmessage.hash index b668edf6a..356589e90 100644 --- a/package/x11r7/xapp_xmessage/xapp_xmessage.hash +++ b/package/x11r7/xapp_xmessage/xapp_xmessage.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-March/002868.html -md5 e50ffae17eeb3943079620cb78f5ce0b xmessage-1.0.5.tar.bz2 -sha1 d3eca72c7173d0d9547c676a16bcec51ca1213a2 xmessage-1.0.5.tar.bz2 -sha256 373dfb81e7a6f06d3d22485a12fcde6e255d58c6dee1bbaeb00c7d0caa9b2029 xmessage-1.0.5.tar.bz2 -sha512 a8423c3986b1576fa67800c315a605a527bb9a8f594ac269a736ae7b91eed0d4d83deb89148197dc3cd3f0e51894146958ce2979f78e97dcdb99c5326e34dabe xmessage-1.0.5.tar.bz2 +md5 e50ffae17eeb3943079620cb78f5ce0b xmessage-1.0.5.tar.bz2 +sha1 d3eca72c7173d0d9547c676a16bcec51ca1213a2 xmessage-1.0.5.tar.bz2 +sha256 373dfb81e7a6f06d3d22485a12fcde6e255d58c6dee1bbaeb00c7d0caa9b2029 xmessage-1.0.5.tar.bz2 +sha512 a8423c3986b1576fa67800c315a605a527bb9a8f594ac269a736ae7b91eed0d4d83deb89148197dc3cd3f0e51894146958ce2979f78e97dcdb99c5326e34dabe xmessage-1.0.5.tar.bz2 # Locally computed -sha256 dfd5427188bd6d6647ad1a9a0644428403c6239f6aa7f9d1a17629d8cc0a4ecd COPYING +sha256 dfd5427188bd6d6647ad1a9a0644428403c6239f6aa7f9d1a17629d8cc0a4ecd COPYING diff --git a/package/x11r7/xapp_xmodmap/xapp_xmodmap.hash b/package/x11r7/xapp_xmodmap/xapp_xmodmap.hash index 4925ec00a..3c15d6f4c 100644 --- a/package/x11r7/xapp_xmodmap/xapp_xmodmap.hash +++ b/package/x11r7/xapp_xmodmap/xapp_xmodmap.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-February/002952.html -md5 51f1d30a525e9903280ffeea2744b1f6 xmodmap-1.0.10.tar.bz2 -sha1 69e041f8a8c501bd1feb68805a0880633a685bc8 xmodmap-1.0.10.tar.bz2 -sha256 473f0941d7439d501bb895ff358832b936ec34c749b9704c37a15e11c318487c xmodmap-1.0.10.tar.bz2 -sha512 324c7dcef843186088f16b3bc47485eb3c9b4331e56ce43b692deb4bb3d4f4f27512480e91a379cceac8383df920dc5e37cd825246b50b6343291cec48134c04 xmodmap-1.0.10.tar.bz2 +md5 51f1d30a525e9903280ffeea2744b1f6 xmodmap-1.0.10.tar.bz2 +sha1 69e041f8a8c501bd1feb68805a0880633a685bc8 xmodmap-1.0.10.tar.bz2 +sha256 473f0941d7439d501bb895ff358832b936ec34c749b9704c37a15e11c318487c xmodmap-1.0.10.tar.bz2 +sha512 324c7dcef843186088f16b3bc47485eb3c9b4331e56ce43b692deb4bb3d4f4f27512480e91a379cceac8383df920dc5e37cd825246b50b6343291cec48134c04 xmodmap-1.0.10.tar.bz2 # Locally computed -sha256 c149563cf2cb0ecfb1148b6eb8f604c62bed43452a0d0fbafb97286a97840f5c COPYING +sha256 c149563cf2cb0ecfb1148b6eb8f604c62bed43452a0d0fbafb97286a97840f5c COPYING diff --git a/package/x11r7/xapp_xmore/xapp_xmore.hash b/package/x11r7/xapp_xmore/xapp_xmore.hash index cd777831f..960a1e5f9 100644 --- a/package/x11r7/xapp_xmore/xapp_xmore.hash +++ b/package/x11r7/xapp_xmore/xapp_xmore.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-March/002964.html -md5 8e1279352192e4142740c21db58f9be9 xmore-1.0.3.tar.bz2 -sha1 b57b92afd783d28c4c505e0c95556939f24c3ec9 xmore-1.0.3.tar.bz2 -sha256 644a1e0d5182d7708d413722d0579a587dc56b9a8cb60640df076d302e09251b xmore-1.0.3.tar.bz2 -sha512 e3e44831cd87a54bb585f80ef0d87f69dc35f6c834a73241aad9f6e2b0999b53c51a0a3f915a94ae4d6dc9bdfb9f60b6576f0bdcec441443abd98efa6c51b1d3 xmore-1.0.3.tar.bz2 +md5 8e1279352192e4142740c21db58f9be9 xmore-1.0.3.tar.bz2 +sha1 b57b92afd783d28c4c505e0c95556939f24c3ec9 xmore-1.0.3.tar.bz2 +sha256 644a1e0d5182d7708d413722d0579a587dc56b9a8cb60640df076d302e09251b xmore-1.0.3.tar.bz2 +sha512 e3e44831cd87a54bb585f80ef0d87f69dc35f6c834a73241aad9f6e2b0999b53c51a0a3f915a94ae4d6dc9bdfb9f60b6576f0bdcec441443abd98efa6c51b1d3 xmore-1.0.3.tar.bz2 # Locally computed -sha256 27d8cbdcde7a0bd062ce49cdf8c672201452a64e3e6823f09b1beffe2c4b8eff COPYING +sha256 27d8cbdcde7a0bd062ce49cdf8c672201452a64e3e6823f09b1beffe2c4b8eff COPYING diff --git a/package/x11r7/xapp_xpr/xapp_xpr.hash b/package/x11r7/xapp_xpr/xapp_xpr.hash index 0a1b4f81b..c4ea5b760 100644 --- a/package/x11r7/xapp_xpr/xapp_xpr.hash +++ b/package/x11r7/xapp_xpr/xapp_xpr.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-March/002869.html -md5 eaac255076ea351fd08d76025788d9f9 xpr-1.0.5.tar.bz2 -sha1 0632c7d8632ac9d23f285811aaea805a2956e155 xpr-1.0.5.tar.bz2 -sha256 b936e0f1f8d63f5ad097a0bbdce2e67c34f5d49b7263f32a832ff62d394d1e1f xpr-1.0.5.tar.bz2 -sha512 d5dfb936ec4ad0067d02654dec8e862fe337ff6a2c2f974b2b3a612a829c2e728a0d51e7aba00ed2a94dc96dc50cc69f2c59f522e0635013f5f4f5bb3f4ab967 xpr-1.0.5.tar.bz2 +md5 eaac255076ea351fd08d76025788d9f9 xpr-1.0.5.tar.bz2 +sha1 0632c7d8632ac9d23f285811aaea805a2956e155 xpr-1.0.5.tar.bz2 +sha256 b936e0f1f8d63f5ad097a0bbdce2e67c34f5d49b7263f32a832ff62d394d1e1f xpr-1.0.5.tar.bz2 +sha512 d5dfb936ec4ad0067d02654dec8e862fe337ff6a2c2f974b2b3a612a829c2e728a0d51e7aba00ed2a94dc96dc50cc69f2c59f522e0635013f5f4f5bb3f4ab967 xpr-1.0.5.tar.bz2 # Locally computed -sha256 5e8ff9b5d3fc86b5d0bc5957c9ee0aa1a6d0fb9a6b116aae70762b628a0d5069 COPYING +sha256 5e8ff9b5d3fc86b5d0bc5957c9ee0aa1a6d0fb9a6b116aae70762b628a0d5069 COPYING diff --git a/package/x11r7/xapp_xprop/xapp_xprop.hash b/package/x11r7/xapp_xprop/xapp_xprop.hash index 43eed80ba..95e7c4eee 100644 --- a/package/x11r7/xapp_xprop/xapp_xprop.hash +++ b/package/x11r7/xapp_xprop/xapp_xprop.hash @@ -2,4 +2,4 @@ sha256 9b92ed0316bf2486121d8bac88bd1878f16b43bd335f18009b1f941f1eca93a1 xprop-1.2.5.tar.bz2 sha512 93cfa621fa76ca6e8e780a252c508380b6dc9db39b67bfca16bb9800f0d39110f5d18189409a8577ef79e98bf5eece17f5e23f2218ca72ae8bb04ee7b429d559 xprop-1.2.5.tar.bz2 # Locally computed -sha256 f19ff982936cca133b9593a6561c3817512207e0b4c951d0e4eb5956d30d4415 COPYING +sha256 f19ff982936cca133b9593a6561c3817512207e0b4c951d0e4eb5956d30d4415 COPYING diff --git a/package/x11r7/xapp_xrandr/xapp_xrandr.hash b/package/x11r7/xapp_xrandr/xapp_xrandr.hash index 408b070dd..4c68dcbb7 100644 --- a/package/x11r7/xapp_xrandr/xapp_xrandr.hash +++ b/package/x11r7/xapp_xrandr/xapp_xrandr.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-August/003018.html -md5 fe40f7a4fd39dd3a02248d3e0b1972e4 xrandr-1.5.1.tar.xz -sha1 9f72957e0d2a26ece509336ea7e1529cc9ea881e xrandr-1.5.1.tar.xz -sha256 7bc76daf9d72f8aff885efad04ce06b90488a1a169d118dea8a2b661832e8762 xrandr-1.5.1.tar.xz -sha512 3d0d37e974b9dffb996276ee7fd676327fd0956e5f5f572dd142a651a35d3cdfa2f6dd415cf27bf87f306981957aba4cc014c12baebefcabaa5d66b78a114922 xrandr-1.5.1.tar.xz +md5 fe40f7a4fd39dd3a02248d3e0b1972e4 xrandr-1.5.1.tar.xz +sha1 9f72957e0d2a26ece509336ea7e1529cc9ea881e xrandr-1.5.1.tar.xz +sha256 7bc76daf9d72f8aff885efad04ce06b90488a1a169d118dea8a2b661832e8762 xrandr-1.5.1.tar.xz +sha512 3d0d37e974b9dffb996276ee7fd676327fd0956e5f5f572dd142a651a35d3cdfa2f6dd415cf27bf87f306981957aba4cc014c12baebefcabaa5d66b78a114922 xrandr-1.5.1.tar.xz # Locally computed -sha256 0dd9a3d62c48dd7b87790029e39fb5e11756d33fded3bc1644e11585c87b2038 COPYING +sha256 0dd9a3d62c48dd7b87790029e39fb5e11756d33fded3bc1644e11585c87b2038 COPYING diff --git a/package/x11r7/xapp_xrefresh/xapp_xrefresh.hash b/package/x11r7/xapp_xrefresh/xapp_xrefresh.hash index 8eae8ed1b..5b4614c84 100644 --- a/package/x11r7/xapp_xrefresh/xapp_xrefresh.hash +++ b/package/x11r7/xapp_xrefresh/xapp_xrefresh.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-March/002872.html -md5 c56fa4adbeed1ee5173f464a4c4a61a6 xrefresh-1.0.6.tar.bz2 -sha1 11eb5b3f905631281d2cedd86a0b666bab0d9bdc xrefresh-1.0.6.tar.bz2 -sha256 287dfb9bb7e8d780d07e672e3252150850869cb550958ed5f8401f0835cd6353 xrefresh-1.0.6.tar.bz2 -sha512 361e97fecfc2706d5eeab69df0d4dd4baa55b6783cfddabf51d8561b7c930d71ce6c217e0512c6564208d69b04f89c69ea8c0bfb2e4f6cc25b062b55e4db3674 xrefresh-1.0.6.tar.bz2 +md5 c56fa4adbeed1ee5173f464a4c4a61a6 xrefresh-1.0.6.tar.bz2 +sha1 11eb5b3f905631281d2cedd86a0b666bab0d9bdc xrefresh-1.0.6.tar.bz2 +sha256 287dfb9bb7e8d780d07e672e3252150850869cb550958ed5f8401f0835cd6353 xrefresh-1.0.6.tar.bz2 +sha512 361e97fecfc2706d5eeab69df0d4dd4baa55b6783cfddabf51d8561b7c930d71ce6c217e0512c6564208d69b04f89c69ea8c0bfb2e4f6cc25b062b55e4db3674 xrefresh-1.0.6.tar.bz2 # Locally computed -sha256 4f51c9a91cd277697cbea6604bf4cb240c1ed14cdba82550cb9cac8f1286f663 COPYING +sha256 4f51c9a91cd277697cbea6604bf4cb240c1ed14cdba82550cb9cac8f1286f663 COPYING diff --git a/package/x11r7/xapp_xset/xapp_xset.hash b/package/x11r7/xapp_xset/xapp_xset.hash index 62f951ba7..a4f19d027 100644 --- a/package/x11r7/xapp_xset/xapp_xset.hash +++ b/package/x11r7/xapp_xset/xapp_xset.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-March/002873.html -md5 70ea7bc7bacf1a124b1692605883f620 xset-1.2.4.tar.bz2 -sha1 41a857f30ff5bb0dfbda1549bb703984344ea228 xset-1.2.4.tar.bz2 -sha256 e4fd95280df52a88e9b0abc1fee11dcf0f34fc24041b9f45a247e52df941c957 xset-1.2.4.tar.bz2 -sha512 f24714c9a82081a09d3054bbad98553de9366992f22eaf3e2bcadbb58fad1d3dad2547fef6fa9898d8a9df064573c29df9d82a5c801fa92248604c95f65dc83d xset-1.2.4.tar.bz2 +md5 70ea7bc7bacf1a124b1692605883f620 xset-1.2.4.tar.bz2 +sha1 41a857f30ff5bb0dfbda1549bb703984344ea228 xset-1.2.4.tar.bz2 +sha256 e4fd95280df52a88e9b0abc1fee11dcf0f34fc24041b9f45a247e52df941c957 xset-1.2.4.tar.bz2 +sha512 f24714c9a82081a09d3054bbad98553de9366992f22eaf3e2bcadbb58fad1d3dad2547fef6fa9898d8a9df064573c29df9d82a5c801fa92248604c95f65dc83d xset-1.2.4.tar.bz2 # Locally computed -sha256 6bfc619b6d37dd0e6ca575edcb3a05194136e04d1d9989b8e14e6f7850587382 COPYING +sha256 6bfc619b6d37dd0e6ca575edcb3a05194136e04d1d9989b8e14e6f7850587382 COPYING diff --git a/package/x11r7/xapp_xsetpointer/xapp_xsetpointer.hash b/package/x11r7/xapp_xsetpointer/xapp_xsetpointer.hash index 8167f3d17..c7550eae5 100644 --- a/package/x11r7/xapp_xsetpointer/xapp_xsetpointer.hash +++ b/package/x11r7/xapp_xsetpointer/xapp_xsetpointer.hash @@ -1,6 +1,6 @@ # From https://lists.freedesktop.org/archives/xorg-announce/2006-November/000150.html -md5 9e5bcbeda4aaf02bfa095e41d30baee4 xsetpointer-1.0.1.tar.bz2 -sha1 a8b01c6f27625a6f6943f9be17b1e5511f69d710 xsetpointer-1.0.1.tar.bz2 +md5 9e5bcbeda4aaf02bfa095e41d30baee4 xsetpointer-1.0.1.tar.bz2 +sha1 a8b01c6f27625a6f6943f9be17b1e5511f69d710 xsetpointer-1.0.1.tar.bz2 # locally computed -sha256 495d88871eb5081e98bbae55f813f73cb3ce4145d6ca3e8f2826800166c04571 xsetpointer-1.0.1.tar.bz2 -sha256 8f22998f14924220f0f530660811d24e5371a8d7672287c9d22f1eafb7256863 COPYING +sha256 495d88871eb5081e98bbae55f813f73cb3ce4145d6ca3e8f2826800166c04571 xsetpointer-1.0.1.tar.bz2 +sha256 8f22998f14924220f0f530660811d24e5371a8d7672287c9d22f1eafb7256863 COPYING diff --git a/package/x11r7/xapp_xsetroot/xapp_xsetroot.hash b/package/x11r7/xapp_xsetroot/xapp_xsetroot.hash index 7cbabb5ce..32294c1f3 100644 --- a/package/x11r7/xapp_xsetroot/xapp_xsetroot.hash +++ b/package/x11r7/xapp_xsetroot/xapp_xsetroot.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-March/002874.html -md5 5fe769c8777a6e873ed1305e4ce2c353 xsetroot-1.1.2.tar.bz2 -sha1 42ab81761823b44974feab86477007c49dbace50 xsetroot-1.1.2.tar.bz2 -sha256 10c442ba23591fb5470cea477a0aa5f679371f4f879c8387a1d9d05637ae417c xsetroot-1.1.2.tar.bz2 -sha512 0b9df1b72305e5c24f1e1664578aa4411a5ffcdc5d318458117594e641f01c34700205b0d16c08abf4a8106d36128ccdbe1ea1f1035fce9018d6b52801a8b72b xsetroot-1.1.2.tar.bz2 +md5 5fe769c8777a6e873ed1305e4ce2c353 xsetroot-1.1.2.tar.bz2 +sha1 42ab81761823b44974feab86477007c49dbace50 xsetroot-1.1.2.tar.bz2 +sha256 10c442ba23591fb5470cea477a0aa5f679371f4f879c8387a1d9d05637ae417c xsetroot-1.1.2.tar.bz2 +sha512 0b9df1b72305e5c24f1e1664578aa4411a5ffcdc5d318458117594e641f01c34700205b0d16c08abf4a8106d36128ccdbe1ea1f1035fce9018d6b52801a8b72b xsetroot-1.1.2.tar.bz2 # Locally computed -sha256 48e9c9572e0dc1c14b93b753542f780e7751dd7f035816374d8a8be0211a4520 COPYING +sha256 48e9c9572e0dc1c14b93b753542f780e7751dd7f035816374d8a8be0211a4520 COPYING diff --git a/package/x11r7/xapp_xsm/xapp_xsm.hash b/package/x11r7/xapp_xsm/xapp_xsm.hash index eda231fe9..360527304 100644 --- a/package/x11r7/xapp_xsm/xapp_xsm.hash +++ b/package/x11r7/xapp_xsm/xapp_xsm.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-March/002875.html -md5 bd32c14f09d58f46084b6a8f20e6e8f1 xsm-1.0.4.tar.bz2 -sha1 dd41234e276fe8b2d0a853879568f73b6d98812a xsm-1.0.4.tar.bz2 -sha256 9934b6893a4e52cf7435368fc8d425c371b5e32d96e420ead30166eb82d64425 xsm-1.0.4.tar.bz2 -sha512 d4e4da7c309a4eae126d2b58a13684f4dbc06b09f76dde9c89c707375df2843614f3d83bc44f9cd02f239200db3397abd86796dca0dbafc69f60482b0af5a176 xsm-1.0.4.tar.bz2 +md5 bd32c14f09d58f46084b6a8f20e6e8f1 xsm-1.0.4.tar.bz2 +sha1 dd41234e276fe8b2d0a853879568f73b6d98812a xsm-1.0.4.tar.bz2 +sha256 9934b6893a4e52cf7435368fc8d425c371b5e32d96e420ead30166eb82d64425 xsm-1.0.4.tar.bz2 +sha512 d4e4da7c309a4eae126d2b58a13684f4dbc06b09f76dde9c89c707375df2843614f3d83bc44f9cd02f239200db3397abd86796dca0dbafc69f60482b0af5a176 xsm-1.0.4.tar.bz2 # Locally computed -sha256 27d8cbdcde7a0bd062ce49cdf8c672201452a64e3e6823f09b1beffe2c4b8eff COPYING +sha256 27d8cbdcde7a0bd062ce49cdf8c672201452a64e3e6823f09b1beffe2c4b8eff COPYING diff --git a/package/x11r7/xapp_xstdcmap/xapp_xstdcmap.hash b/package/x11r7/xapp_xstdcmap/xapp_xstdcmap.hash index fc067850b..3f601c724 100644 --- a/package/x11r7/xapp_xstdcmap/xapp_xstdcmap.hash +++ b/package/x11r7/xapp_xstdcmap/xapp_xstdcmap.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-February/002954.html md5 da67142c128d18386ff145882e0afc66 xstdcmap-1.0.4.tar.bz2 -sha1 a5eff72ba31625e5b11506add800140019a39636 xstdcmap-1.0.4.tar.bz2 -sha256 06898b3f1eaad0b205ff3c75bdefa3207868b889d4cb37b32b8267b2bbfe6f8b xstdcmap-1.0.4.tar.bz2 -sha512 2adbb0aec1766341e04090efa962241ff6c9e32c612851b7221cec0ee16852107d406a08ec5251070f39df882c13e3c8c9edcd88f278187a9f373e1727643a8f xstdcmap-1.0.4.tar.bz2 +sha1 a5eff72ba31625e5b11506add800140019a39636 xstdcmap-1.0.4.tar.bz2 +sha256 06898b3f1eaad0b205ff3c75bdefa3207868b889d4cb37b32b8267b2bbfe6f8b xstdcmap-1.0.4.tar.bz2 +sha512 2adbb0aec1766341e04090efa962241ff6c9e32c612851b7221cec0ee16852107d406a08ec5251070f39df882c13e3c8c9edcd88f278187a9f373e1727643a8f xstdcmap-1.0.4.tar.bz2 # Locally computed -sha256 f0a362fc1b8e788845b1c0ad7ba9ade58fdfb73da750c3b9780db5d70b947657 COPYING +sha256 f0a362fc1b8e788845b1c0ad7ba9ade58fdfb73da750c3b9780db5d70b947657 COPYING diff --git a/package/x11r7/xapp_xvinfo/xapp_xvinfo.hash b/package/x11r7/xapp_xvinfo/xapp_xvinfo.hash index 405fc36ea..3d8ace9ae 100644 --- a/package/x11r7/xapp_xvinfo/xapp_xvinfo.hash +++ b/package/x11r7/xapp_xvinfo/xapp_xvinfo.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-February/002955.html -md5 b13afec137b9b331814a9824ab03ec80 xvinfo-1.1.4.tar.bz2 -sha1 136a70a72b23c81f4fe8f4c8cb7073316be16b44 xvinfo-1.1.4.tar.bz2 -sha256 0353220d6606077ba42363db65f50410759f9815352f77adc799e2adfa76e73f xvinfo-1.1.4.tar.bz2 -sha512 85e1f936c5c826f0fdde3670bd77d5cde8641c6e8e7849e42142e91b5aa01d7e0e60d2b064eb6fef4f5666321813ca2dc9f9656756ccbe6dcda37b119ee8a63e xvinfo-1.1.4.tar.bz2 +md5 b13afec137b9b331814a9824ab03ec80 xvinfo-1.1.4.tar.bz2 +sha1 136a70a72b23c81f4fe8f4c8cb7073316be16b44 xvinfo-1.1.4.tar.bz2 +sha256 0353220d6606077ba42363db65f50410759f9815352f77adc799e2adfa76e73f xvinfo-1.1.4.tar.bz2 +sha512 85e1f936c5c826f0fdde3670bd77d5cde8641c6e8e7849e42142e91b5aa01d7e0e60d2b064eb6fef4f5666321813ca2dc9f9656756ccbe6dcda37b119ee8a63e xvinfo-1.1.4.tar.bz2 # Locally computed -sha256 7725b0484faa1832534814ecb577f5a86acc74f1bcce25f92c55dfc1b693717d COPYING +sha256 7725b0484faa1832534814ecb577f5a86acc74f1bcce25f92c55dfc1b693717d COPYING diff --git a/package/x11r7/xapp_xwininfo/xapp_xwininfo.hash b/package/x11r7/xapp_xwininfo/xapp_xwininfo.hash index 163d5cc40..fbc7f7be0 100644 --- a/package/x11r7/xapp_xwininfo/xapp_xwininfo.hash +++ b/package/x11r7/xapp_xwininfo/xapp_xwininfo.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-July/003012.html -md5 26d46f7ef0588d3392da3ad5802be420 xwininfo-1.1.5.tar.bz2 -sha1 9f67b1eb07c5824d437bf577cf6198962af1aeb7 xwininfo-1.1.5.tar.bz2 -sha256 7a405441dfc476666c744f5fcd1bc8a75abf8b5b1d85db7b88b370982365080e xwininfo-1.1.5.tar.bz2 -sha512 a3268bbeeeeafac94e589fdd47554a965910d40df7cc3d9c36c7c24fa4f5dd49615484d5916ccb41efca9cd4cf9d8981a4c60953b921220b3f4f57f9cce0e1a6 xwininfo-1.1.5.tar.bz2 +md5 26d46f7ef0588d3392da3ad5802be420 xwininfo-1.1.5.tar.bz2 +sha1 9f67b1eb07c5824d437bf577cf6198962af1aeb7 xwininfo-1.1.5.tar.bz2 +sha256 7a405441dfc476666c744f5fcd1bc8a75abf8b5b1d85db7b88b370982365080e xwininfo-1.1.5.tar.bz2 +sha512 a3268bbeeeeafac94e589fdd47554a965910d40df7cc3d9c36c7c24fa4f5dd49615484d5916ccb41efca9cd4cf9d8981a4c60953b921220b3f4f57f9cce0e1a6 xwininfo-1.1.5.tar.bz2 # Locally computed -sha256 443d675237c023a47e4886506b72796afbb2633394812027f91d6e8fa433b2af COPYING +sha256 443d675237c023a47e4886506b72796afbb2633394812027f91d6e8fa433b2af COPYING diff --git a/package/x11r7/xapp_xwud/xapp_xwud.hash b/package/x11r7/xapp_xwud/xapp_xwud.hash index e42057819..254b51462 100644 --- a/package/x11r7/xapp_xwud/xapp_xwud.hash +++ b/package/x11r7/xapp_xwud/xapp_xwud.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-March/002878.html -md5 79972093bb0766fcd0223b2bd6d11932 xwud-1.0.5.tar.bz2 -sha1 a85d84a1b81f8e667ea6ac126d447590c93eb079 xwud-1.0.5.tar.bz2 -sha256 99997051f8a892313f22edf41dab45864e86e7062ee9012d5dbb6a40fc6b10a9 xwud-1.0.5.tar.bz2 -sha512 27a0ce7481978ae6cd94b0d94374af72185e270d68f2496620e148bb00945427c4827138d9efc48745e6382e3da3390ed0cdff7dbd02dcf9706e8ecccae97184 xwud-1.0.5.tar.bz2 +md5 79972093bb0766fcd0223b2bd6d11932 xwud-1.0.5.tar.bz2 +sha1 a85d84a1b81f8e667ea6ac126d447590c93eb079 xwud-1.0.5.tar.bz2 +sha256 99997051f8a892313f22edf41dab45864e86e7062ee9012d5dbb6a40fc6b10a9 xwud-1.0.5.tar.bz2 +sha512 27a0ce7481978ae6cd94b0d94374af72185e270d68f2496620e148bb00945427c4827138d9efc48745e6382e3da3390ed0cdff7dbd02dcf9706e8ecccae97184 xwud-1.0.5.tar.bz2 # Locally computed -sha256 be3db9aa060c462490a8c1ed44a4d059b32bba359f4688b1ecf3f794d363539e COPYING +sha256 be3db9aa060c462490a8c1ed44a4d059b32bba359f4688b1ecf3f794d363539e COPYING diff --git a/package/x11r7/xcb-util-cursor/xcb-util-cursor.hash b/package/x11r7/xcb-util-cursor/xcb-util-cursor.hash index 1964624dc..14cea1713 100644 --- a/package/x11r7/xcb-util-cursor/xcb-util-cursor.hash +++ b/package/x11r7/xcb-util-cursor/xcb-util-cursor.hash @@ -1,4 +1,4 @@ # From https://lists.x.org/archives/xorg-announce/2016-May/002691.html -sha1 26562eb6d4151307f7b6a53453d360ecfc0563ac xcb-util-cursor-0.1.3.tar.bz2 +sha1 26562eb6d4151307f7b6a53453d360ecfc0563ac xcb-util-cursor-0.1.3.tar.bz2 # Locally computed sha256 0dde91ae1d443105dc9e13cbaed6674c36683b7095836ad9ddfce26be270aad5 COPYING diff --git a/package/x11r7/xcb-util-image/xcb-util-image.hash b/package/x11r7/xcb-util-image/xcb-util-image.hash index a9a2eaab5..b2c42d689 100644 --- a/package/x11r7/xcb-util-image/xcb-util-image.hash +++ b/package/x11r7/xcb-util-image/xcb-util-image.hash @@ -1,4 +1,4 @@ # From http://lists.x.org/archives/xorg-announce/2014-October/002489.html -sha256 2db96a37d78831d643538dd1b595d7d712e04bdccf8896a5e18ce0f398ea2ffc xcb-util-image-0.4.0.tar.bz2 +sha256 2db96a37d78831d643538dd1b595d7d712e04bdccf8896a5e18ce0f398ea2ffc xcb-util-image-0.4.0.tar.bz2 # License file, locally calculated -sha256 19672c6153d8c4870abe734fa4dd2197481a311f4788d02ad729be07e116b26b COPYING +sha256 19672c6153d8c4870abe734fa4dd2197481a311f4788d02ad729be07e116b26b COPYING diff --git a/package/x11r7/xcb-util-keysyms/xcb-util-keysyms.hash b/package/x11r7/xcb-util-keysyms/xcb-util-keysyms.hash index a25a263d2..6437d070f 100644 --- a/package/x11r7/xcb-util-keysyms/xcb-util-keysyms.hash +++ b/package/x11r7/xcb-util-keysyms/xcb-util-keysyms.hash @@ -1,2 +1,2 @@ # From http://lists.x.org/archives/xorg-announce/2014-October/002485.html -sha256 0ef8490ff1dede52b7de533158547f8b454b241aa3e4dcca369507f66f216dd9 xcb-util-keysyms-0.4.0.tar.bz2 +sha256 0ef8490ff1dede52b7de533158547f8b454b241aa3e4dcca369507f66f216dd9 xcb-util-keysyms-0.4.0.tar.bz2 diff --git a/package/x11r7/xcb-util-wm/xcb-util-wm.hash b/package/x11r7/xcb-util-wm/xcb-util-wm.hash index e31228fce..444212acc 100644 --- a/package/x11r7/xcb-util-wm/xcb-util-wm.hash +++ b/package/x11r7/xcb-util-wm/xcb-util-wm.hash @@ -1,4 +1,4 @@ # From http://lists.x.org/archives/xorg-announce/2014-February/002401.html -sha256 28bf8179640eaa89276d2b0f1ce4285103d136be6c98262b6151aaee1d3c2a3f xcb-util-wm-0.4.1.tar.bz2 +sha256 28bf8179640eaa89276d2b0f1ce4285103d136be6c98262b6151aaee1d3c2a3f xcb-util-wm-0.4.1.tar.bz2 # License file, locally calculated -sha256 12ab3559977a4b22ae3030b90c64a386e6ec51ab0e4eab1ff530f81a2639400a COPYING +sha256 12ab3559977a4b22ae3030b90c64a386e6ec51ab0e4eab1ff530f81a2639400a COPYING diff --git a/package/x11r7/xdata_xbitmaps/xdata_xbitmaps.hash b/package/x11r7/xdata_xbitmaps/xdata_xbitmaps.hash index 05d37288a..7ebc88a0b 100644 --- a/package/x11r7/xdata_xbitmaps/xdata_xbitmaps.hash +++ b/package/x11r7/xdata_xbitmaps/xdata_xbitmaps.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-March/002881.html -md5 cedeef095918aca86da79a2934e03daf xbitmaps-1.1.2.tar.bz2 -sha1 1cb0e485a66280e9a64b48426140b8a0de9cf169 xbitmaps-1.1.2.tar.bz2 -sha256 b9f0c71563125937776c8f1f25174ae9685314cbd130fb4c2efce811981e07ee xbitmaps-1.1.2.tar.bz2 -sha512 eed5e2fce9fc6c532984e6ed1262e440591e311ca6c61a7fe7a5c877df84bfc2d7aff388fb9c894fc098785b8e5352f0bd7c918252247a040cf123874847450d xbitmaps-1.1.2.tar.bz2 +md5 cedeef095918aca86da79a2934e03daf xbitmaps-1.1.2.tar.bz2 +sha1 1cb0e485a66280e9a64b48426140b8a0de9cf169 xbitmaps-1.1.2.tar.bz2 +sha256 b9f0c71563125937776c8f1f25174ae9685314cbd130fb4c2efce811981e07ee xbitmaps-1.1.2.tar.bz2 +sha512 eed5e2fce9fc6c532984e6ed1262e440591e311ca6c61a7fe7a5c877df84bfc2d7aff388fb9c894fc098785b8e5352f0bd7c918252247a040cf123874847450d xbitmaps-1.1.2.tar.bz2 # Locally computed -sha256 e121ec6605558ee021674d33b1ab9306e16b9ea7d30453df42286556247be17a COPYING +sha256 e121ec6605558ee021674d33b1ab9306e16b9ea7d30453df42286556247be17a COPYING diff --git a/package/x11r7/xdata_xcursor-themes/xdata_xcursor-themes.hash b/package/x11r7/xdata_xcursor-themes/xdata_xcursor-themes.hash index dd8d2ad26..2b88f567a 100644 --- a/package/x11r7/xdata_xcursor-themes/xdata_xcursor-themes.hash +++ b/package/x11r7/xdata_xcursor-themes/xdata_xcursor-themes.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-February/002945.html -md5 aea14eabf40528ec4db18f1cfcf5c458 xcursor-themes-1.0.6.tar.bz2 -sha1 b56fd5bf5b1ada0532a85c27db0d296e392168c5 xcursor-themes-1.0.6.tar.bz2 -sha256 ee1ec574741293abcf66ac14ce7e74add7ac6be7deb8b38179ef010d22354999 xcursor-themes-1.0.6.tar.bz2 -sha512 2ad3586a5571a5ddc0001187362b54b839644916164834213af98e58698044aec4392dd6e1e42f1794fda85c8fedf259b09214a9636bd0e71a1629c710f198d3 xcursor-themes-1.0.6.tar.bz2 +md5 aea14eabf40528ec4db18f1cfcf5c458 xcursor-themes-1.0.6.tar.bz2 +sha1 b56fd5bf5b1ada0532a85c27db0d296e392168c5 xcursor-themes-1.0.6.tar.bz2 +sha256 ee1ec574741293abcf66ac14ce7e74add7ac6be7deb8b38179ef010d22354999 xcursor-themes-1.0.6.tar.bz2 +sha512 2ad3586a5571a5ddc0001187362b54b839644916164834213af98e58698044aec4392dd6e1e42f1794fda85c8fedf259b09214a9636bd0e71a1629c710f198d3 xcursor-themes-1.0.6.tar.bz2 # Locally computed -sha256 e437aed89c3440a9fe7e19968a3f2eeb97041ef6c9616837a3fd42d0874fc0e6 COPYING +sha256 e437aed89c3440a9fe7e19968a3f2eeb97041ef6c9616837a3fd42d0874fc0e6 COPYING diff --git a/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev.hash b/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev.hash index eb4cb6599..c80eaeb9f 100644 --- a/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev.hash +++ b/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-May/002898.html -md5 e8bd1edc6751f92e425cae7eba3c61eb xf86-input-evdev-2.10.6.tar.bz2 -sha1 660de292d5a40e2b8f385965c6a4e149c981ba59 xf86-input-evdev-2.10.6.tar.bz2 -sha256 8726073e81861bc7b2321e76272cbdbd33c7e1a121535a9827977265b9033ec0 xf86-input-evdev-2.10.6.tar.bz2 -sha512 560b0a6491d50a46913a5890a35c0367e59f550670993493bd9712d712a9747ddaa6fe5086daabf2fcafa24b0159383787eb273da4a2a60c089bfc0a77ad2ad1 xf86-input-evdev-2.10.6.tar.bz2 +md5 e8bd1edc6751f92e425cae7eba3c61eb xf86-input-evdev-2.10.6.tar.bz2 +sha1 660de292d5a40e2b8f385965c6a4e149c981ba59 xf86-input-evdev-2.10.6.tar.bz2 +sha256 8726073e81861bc7b2321e76272cbdbd33c7e1a121535a9827977265b9033ec0 xf86-input-evdev-2.10.6.tar.bz2 +sha512 560b0a6491d50a46913a5890a35c0367e59f550670993493bd9712d712a9747ddaa6fe5086daabf2fcafa24b0159383787eb273da4a2a60c089bfc0a77ad2ad1 xf86-input-evdev-2.10.6.tar.bz2 # Locally computed -sha256 f6b9b4732932434cad03b29cb3151d20edcf7d6e5681f40ee3c47f03dbd92dc9 COPYING +sha256 f6b9b4732932434cad03b29cb3151d20edcf7d6e5681f40ee3c47f03dbd92dc9 COPYING diff --git a/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.hash b/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.hash index 551ff9d84..fe83f6920 100644 --- a/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.hash +++ b/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-June/002903.html -md5 a2104693bbcfe1413397f7905eecd3dc xf86-input-mouse-1.9.3.tar.bz2 -sha1 b3982998808ba43117fc066c4ecc94ce67c5818e xf86-input-mouse-1.9.3.tar.bz2 -sha256 93ecb350604d05be98b7d4e5db3b8155a44890069a7d8d6b800c0bea79c85cc5 xf86-input-mouse-1.9.3.tar.bz2 -sha512 d99f5b4b1ef1aa4cbf1a92549e412f54f121bc804e4d6643248ad7ea18081b38b958bd289dc8476ebc0f6ef5f7424c2f2a8abcfaa30cae5378829549af6b148f xf86-input-mouse-1.9.3.tar.bz2 +md5 a2104693bbcfe1413397f7905eecd3dc xf86-input-mouse-1.9.3.tar.bz2 +sha1 b3982998808ba43117fc066c4ecc94ce67c5818e xf86-input-mouse-1.9.3.tar.bz2 +sha256 93ecb350604d05be98b7d4e5db3b8155a44890069a7d8d6b800c0bea79c85cc5 xf86-input-mouse-1.9.3.tar.bz2 +sha512 d99f5b4b1ef1aa4cbf1a92549e412f54f121bc804e4d6643248ad7ea18081b38b958bd289dc8476ebc0f6ef5f7424c2f2a8abcfaa30cae5378829549af6b148f xf86-input-mouse-1.9.3.tar.bz2 # Locally computed -sha256 472ff645ead9bf3ffb48d42c596376ffc595897e0c0993a071a7ada0da1f4f10 COPYING +sha256 472ff645ead9bf3ffb48d42c596376ffc595897e0c0993a071a7ada0da1f4f10 COPYING diff --git a/package/x11r7/xdriver_xf86-input-synaptics/xdriver_xf86-input-synaptics.hash b/package/x11r7/xdriver_xf86-input-synaptics/xdriver_xf86-input-synaptics.hash index b482a1db3..3c2a9b231 100644 --- a/package/x11r7/xdriver_xf86-input-synaptics/xdriver_xf86-input-synaptics.hash +++ b/package/x11r7/xdriver_xf86-input-synaptics/xdriver_xf86-input-synaptics.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-May/002899.html -md5 cfb79d3c975151f9bbf30b727c260cb9 xf86-input-synaptics-1.9.1.tar.bz2 -sha1 07eeef716820105cae959bbc3aa103e2fcfd0084 xf86-input-synaptics-1.9.1.tar.bz2 -sha256 7af83526eff1c76e8b9e1553b34245c203d029028d8044dd9dcf71eef1001576 xf86-input-synaptics-1.9.1.tar.bz2 -sha512 978eddd456aa7361047bc3d72e5127b24b13de29b0dddb6a0acc9f9da93931baa2b22fb5d1e6be164f629a11e5d97d753b835426435396b45b1af5eb8d546c3f xf86-input-synaptics-1.9.1.tar.bz2 +md5 cfb79d3c975151f9bbf30b727c260cb9 xf86-input-synaptics-1.9.1.tar.bz2 +sha1 07eeef716820105cae959bbc3aa103e2fcfd0084 xf86-input-synaptics-1.9.1.tar.bz2 +sha256 7af83526eff1c76e8b9e1553b34245c203d029028d8044dd9dcf71eef1001576 xf86-input-synaptics-1.9.1.tar.bz2 +sha512 978eddd456aa7361047bc3d72e5127b24b13de29b0dddb6a0acc9f9da93931baa2b22fb5d1e6be164f629a11e5d97d753b835426435396b45b1af5eb8d546c3f xf86-input-synaptics-1.9.1.tar.bz2 # Locally computed -sha256 e14dc9a27158cadaeea8bcc2c70069762f05adb29030a444336bfde268751dc7 COPYING +sha256 e14dc9a27158cadaeea8bcc2c70069762f05adb29030a444336bfde268751dc7 COPYING diff --git a/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib.hash b/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib.hash index d2c1d8ed6..dca54571e 100644 --- a/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib.hash +++ b/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib.hash @@ -1,5 +1,5 @@ # https://github.com/merge/xf86-input-tslib/releases/download/1.1.1/xf86-input-tslib-1.1.1.tar.bz2.sha256 -sha256 8b6a9f2ad73598a3619e66e252bd54b1792c4deba0213101fa4d272b5e9217ec xf86-input-tslib-1.1.1.tar.bz2 +sha256 8b6a9f2ad73598a3619e66e252bd54b1792c4deba0213101fa4d272b5e9217ec xf86-input-tslib-1.1.1.tar.bz2 # Locally computed sha256 edfc46c9b91499699fc54d39e986756a2dcce8a919c6066be177123441532856 COPYING diff --git a/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash b/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash index 4bbfb0de7..fb4093289 100644 --- a/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash +++ b/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-October/003026.html -md5 55ad19b858e186a2cf4e91ed832c05e7 xf86-video-amdgpu-19.1.0.tar.bz2 -sha1 044a97ea2f36dd3d2d4844bb503dd4e2b2854d56 xf86-video-amdgpu-19.1.0.tar.bz2 -sha256 4f0ea4e0ae61995ac2b7c72433d31deab63b60c78763020aaa1b28696124fe5d xf86-video-amdgpu-19.1.0.tar.bz2 -sha512 ccdaa2378492da1a2f3d18fedacd1318c4708da534a8a959276a82730d5420619d83ad1ec8d7835c55655fe56123cd9bffb44e6223c5a97033c01f598af4a173 xf86-video-amdgpu-19.1.0.tar.bz2 +md5 55ad19b858e186a2cf4e91ed832c05e7 xf86-video-amdgpu-19.1.0.tar.bz2 +sha1 044a97ea2f36dd3d2d4844bb503dd4e2b2854d56 xf86-video-amdgpu-19.1.0.tar.bz2 +sha256 4f0ea4e0ae61995ac2b7c72433d31deab63b60c78763020aaa1b28696124fe5d xf86-video-amdgpu-19.1.0.tar.bz2 +sha512 ccdaa2378492da1a2f3d18fedacd1318c4708da534a8a959276a82730d5420619d83ad1ec8d7835c55655fe56123cd9bffb44e6223c5a97033c01f598af4a173 xf86-video-amdgpu-19.1.0.tar.bz2 # Locally computed -sha256 58847c8e97190c401afa84b3f0b8b147379c876a184e99af2cb51bfd40ac8936 COPYING +sha256 58847c8e97190c401afa84b3f0b8b147379c876a184e99af2cb51bfd40ac8936 COPYING diff --git a/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk b/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk index e7196956a..6423c03f5 100644 --- a/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk +++ b/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk @@ -15,6 +15,12 @@ XDRIVER_XF86_VIDEO_AMDGPU_DEPENDENCIES = \ xorgproto \ xserver_xorg-server +ifeq ($(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGL)$(BR2_PACKAGE_LIBEPOXY),yyy) +XDRIVER_XF86_VIDEO_AMDGPU_CONF_OPTS += --enable-glamor +else +XDRIVER_XF86_VIDEO_AMDGPU_CONF_OPTS += --disable-glamor +endif + # xdriver_xf86-video-amdgpu requires O_CLOEXEC XDRIVER_XF86_VIDEO_AMDGPU_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE" diff --git a/package/x11r7/xdriver_xf86-video-ati/0004-Only-include-dri-h-with-older-versions-of-xserver.patch b/package/x11r7/xdriver_xf86-video-ati/0004-Only-include-dri-h-with-older-versions-of-xserver.patch new file mode 100644 index 000000000..a969d6191 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-ati/0004-Only-include-dri-h-with-older-versions-of-xserver.patch @@ -0,0 +1,32 @@ +From 5eba006e4129e8015b822f9e1d2f1e613e252cda Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michel=20D=C3=A4nzer?= +Date: Tue, 2 Feb 2021 12:45:54 +0100 +Subject: [PATCH] Only include dri.h with older versions of xserver + +Not needed anymore with current versions. + +Downloaded from upstream commit +https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati/-/commit/5eba006e4129e8015b822f9e1d2f1e613e252cda + +Signed-off-by: Bernd Kuhls +--- + src/drmmode_display.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/drmmode_display.c b/src/drmmode_display.c +index 3099a729..a58f24dd 100644 +--- a/src/drmmode_display.c ++++ b/src/drmmode_display.c +@@ -45,7 +45,9 @@ + #include "radeon_glamor.h" + #include "radeon_reg.h" + ++#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(1,19,99,1,0) + #include ++#endif + + #include "drmmode_display.h" + +-- +GitLab + diff --git a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash index c6f8c53ef..1e7376cbf 100644 --- a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash +++ b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-October/003027.html -md5 6e49d3c2839582af415ceded76e626e6 xf86-video-ati-19.1.0.tar.bz2 -sha1 aea1d11c05531b03f2eb67c6785cddf6d7f30e5f xf86-video-ati-19.1.0.tar.bz2 -sha256 659f5a1629eea5f5334d9b39b18e6807a63aa1efa33c1236d9cc53acbb223c49 xf86-video-ati-19.1.0.tar.bz2 -sha512 73a81f6c492daf2e89067fb52b3033dc0fe6841f109627ddca1aee54a45a738c8c134443753a2a2aaa2c131e1d560057ebc76351ff2304c16407df3ff568fcd6 xf86-video-ati-19.1.0.tar.bz2 +md5 6e49d3c2839582af415ceded76e626e6 xf86-video-ati-19.1.0.tar.bz2 +sha1 aea1d11c05531b03f2eb67c6785cddf6d7f30e5f xf86-video-ati-19.1.0.tar.bz2 +sha256 659f5a1629eea5f5334d9b39b18e6807a63aa1efa33c1236d9cc53acbb223c49 xf86-video-ati-19.1.0.tar.bz2 +sha512 73a81f6c492daf2e89067fb52b3033dc0fe6841f109627ddca1aee54a45a738c8c134443753a2a2aaa2c131e1d560057ebc76351ff2304c16407df3ff568fcd6 xf86-video-ati-19.1.0.tar.bz2 # Locally computed -sha256 58847c8e97190c401afa84b3f0b8b147379c876a184e99af2cb51bfd40ac8936 COPYING +sha256 58847c8e97190c401afa84b3f0b8b147379c876a184e99af2cb51bfd40ac8936 COPYING diff --git a/package/x11r7/xdriver_xf86-video-dummy/xdriver_xf86-video-dummy.hash b/package/x11r7/xdriver_xf86-video-dummy/xdriver_xf86-video-dummy.hash index 3eac3840e..5a8d2571a 100644 --- a/package/x11r7/xdriver_xf86-video-dummy/xdriver_xf86-video-dummy.hash +++ b/package/x11r7/xdriver_xf86-video-dummy/xdriver_xf86-video-dummy.hash @@ -1,4 +1,4 @@ # From https://lists.x.org/archives/xorg-announce/2016-December/002751.html -sha256 3712bb869307233491e4c570732d6073c0dc3d99adfdb9977396a3fdf84e95b9 xf86-video-dummy-0.3.8.tar.bz2 +sha256 3712bb869307233491e4c570732d6073c0dc3d99adfdb9977396a3fdf84e95b9 xf86-video-dummy-0.3.8.tar.bz2 # Locally calculated -sha256 e29aa81e74563d14e5633963107c030e74e8352ea7dafee1a9d7e19b7d0e887b COPYING +sha256 e29aa81e74563d14e5633963107c030e74e8352ea7dafee1a9d7e19b7d0e887b COPYING diff --git a/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.hash b/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.hash index dd3a9c389..0b38a9b41 100644 --- a/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.hash +++ b/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.hash @@ -1,4 +1,4 @@ # From http://lists.x.org/archives/xorg-announce/2013-September/002324.html -sha256 dcc3d85f378022180e437a9ec00a59b6cb7680ff79c40394d695060af2374699 xf86-video-fbdev-0.5.0.tar.bz2 +sha256 dcc3d85f378022180e437a9ec00a59b6cb7680ff79c40394d695060af2374699 xf86-video-fbdev-0.5.0.tar.bz2 # Locally calculated sha256 e437aed89c3440a9fe7e19968a3f2eeb97041ef6c9616837a3fd42d0874fc0e6 COPYING diff --git a/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.hash b/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.hash index 325e754fb..96bd42ac3 100644 --- a/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.hash +++ b/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-December/002932.html md5 a980f1b8532ccfe81932580bc4e0f2a0 xf86-video-i128-1.4.0.tar.bz2 -sha1 56d5b897b2695222c13e59d2ade74620a99e1011 xf86-video-i128-1.4.0.tar.bz2 -sha256 8f2c0a6bf5a169dad3fc07c6dd4537b492d0e44489e4a1297311e617c3bed0ea xf86-video-i128-1.4.0.tar.bz2 -sha512 d58baee3f20b3ad2ece6853da0ff20a6d54b984c6e3289bad2715cc003b277a0b44d20ded25cfc116400468df552390bdb5d80fbd3fb60861488ee5d027664b2 xf86-video-i128-1.4.0.tar.bz2 +sha1 56d5b897b2695222c13e59d2ade74620a99e1011 xf86-video-i128-1.4.0.tar.bz2 +sha256 8f2c0a6bf5a169dad3fc07c6dd4537b492d0e44489e4a1297311e617c3bed0ea xf86-video-i128-1.4.0.tar.bz2 +sha512 d58baee3f20b3ad2ece6853da0ff20a6d54b984c6e3289bad2715cc003b277a0b44d20ded25cfc116400468df552390bdb5d80fbd3fb60861488ee5d027664b2 xf86-video-i128-1.4.0.tar.bz2 # Locally computed -sha256 7677424d79633dbf255a81bd4e05dd621931b89997af33c31522269ec2ed391e COPYING +sha256 7677424d79633dbf255a81bd4e05dd621931b89997af33c31522269ec2ed391e COPYING diff --git a/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.hash b/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.hash index 5873b4b11..b79c23647 100644 --- a/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.hash +++ b/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 638a8aa8b64f860900d003527529689bc342d18ff5e41a9e1750884544898e67 xdriver_xf86-video-imx-viv-rel_imx_4.9.x_1.0.0_ga-br1.tar.gz +sha256 8fe1f57334b22926d4ff3b0b9fdf50af835a99cdfd0ad3ba6a604b226b723e89 xdriver_xf86-video-imx-viv-rel_imx_4.9.x_1.0.0_ga.tar.gz sha256 9d3e373f0440cc0c58853e963636a7c1ffda9308ec5f30ebe9adfb9c16a8a1e4 COPYING-MIT diff --git a/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk b/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk index 091342754..3b346f323 100644 --- a/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk +++ b/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk @@ -5,8 +5,7 @@ ################################################################################ XDRIVER_XF86_VIDEO_IMX_VIV_VERSION = rel_imx_4.9.x_1.0.0_ga -XDRIVER_XF86_VIDEO_IMX_VIV_SITE = https://source.codeaurora.org/external/imx/xf86-video-imx-vivante -XDRIVER_XF86_VIDEO_IMX_VIV_SITE_METHOD = git +XDRIVER_XF86_VIDEO_IMX_VIV_SITE = $(call github,nxp-imx,xf86-video-imx-vivante,$(XDRIVER_XF86_VIDEO_IMX_VIV_VERSION)) XDRIVER_XF86_VIDEO_IMX_VIV_DEPENDENCIES = imx-gpu-viv imx-gpu-g2d xserver_xorg-server \ xorgproto libdrm XDRIVER_XF86_VIDEO_IMX_VIV_LICENSE = MIT diff --git a/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.hash b/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.hash index 55acd7465..811640158 100644 --- a/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.hash +++ b/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-May/002896.html -md5 0e12f9a3b5659e1e27e03adc42b04d99 xf86-video-mach64-6.9.6.tar.bz2 -sha1 1fdf0c3488ab88cb46b563efee166a5d54a01932 xf86-video-mach64-6.9.6.tar.bz2 -sha256 7a0707c71bb522430f83bb5e9d9ee697e661e35534a3a2d10834f86b327a3c9c xf86-video-mach64-6.9.6.tar.bz2 -sha512 687f6ac60491b704d5c4788463763d2f4bf725611e10bd2163156963fe0a8fdbffe0a1b7c737eff131f01759e43b5ec3544a7dabe66a67e85b286dcb969da2f1 xf86-video-mach64-6.9.6.tar.bz2 +md5 0e12f9a3b5659e1e27e03adc42b04d99 xf86-video-mach64-6.9.6.tar.bz2 +sha1 1fdf0c3488ab88cb46b563efee166a5d54a01932 xf86-video-mach64-6.9.6.tar.bz2 +sha256 7a0707c71bb522430f83bb5e9d9ee697e661e35534a3a2d10834f86b327a3c9c xf86-video-mach64-6.9.6.tar.bz2 +sha512 687f6ac60491b704d5c4788463763d2f4bf725611e10bd2163156963fe0a8fdbffe0a1b7c737eff131f01759e43b5ec3544a7dabe66a67e85b286dcb969da2f1 xf86-video-mach64-6.9.6.tar.bz2 # Locally computed -sha256 a7d68021893bced0d709338a59a137c74b11e624880e110e4a2f14ccef475120 COPYING +sha256 a7d68021893bced0d709338a59a137c74b11e624880e110e4a2f14ccef475120 COPYING diff --git a/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.hash b/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.hash index 218e52e19..85661cd5f 100644 --- a/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.hash +++ b/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-December/002933.html -md5 b8fc99b4adea8bfe80156b13df4b6c9c xf86-video-mga-2.0.0.tar.bz2 -sha1 833f2710a1fd7b3f2db3700b2ad055527da5033b xf86-video-mga-2.0.0.tar.bz2 -sha256 268946e1a13e9d80e4f724a0740df9e6e8c8bad37697fcbf456924e9fdbb5d79 xf86-video-mga-2.0.0.tar.bz2 -sha512 b92006486aef815ff4399f291d610c65d88c0b32a9dae97658c644715ff62b221b01495b5c7a2311745e26f699c1c1f753b81c7bf54cf75567af9f78ac015540 xf86-video-mga-2.0.0.tar.bz2 +md5 b8fc99b4adea8bfe80156b13df4b6c9c xf86-video-mga-2.0.0.tar.bz2 +sha1 833f2710a1fd7b3f2db3700b2ad055527da5033b xf86-video-mga-2.0.0.tar.bz2 +sha256 268946e1a13e9d80e4f724a0740df9e6e8c8bad37697fcbf456924e9fdbb5d79 xf86-video-mga-2.0.0.tar.bz2 +sha512 b92006486aef815ff4399f291d610c65d88c0b32a9dae97658c644715ff62b221b01495b5c7a2311745e26f699c1c1f753b81c7bf54cf75567af9f78ac015540 xf86-video-mga-2.0.0.tar.bz2 # Locally computed -sha256 6c567575e381478c7616eedff3ea2ae5228a5b54fbdd22d4070ebae312fa085c COPYING +sha256 6c567575e381478c7616eedff3ea2ae5228a5b54fbdd22d4070ebae312fa085c COPYING diff --git a/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.hash b/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.hash index 55996f5b0..acc65348f 100644 --- a/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.hash +++ b/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-December/002934.html -md5 349d5254d09eb46f2a1f151cd423b89a xf86-video-neomagic-1.3.0.tar.bz2 -sha1 6bccfa15ea05d5264120cd96ccf13687642e8f6d xf86-video-neomagic-1.3.0.tar.bz2 -sha256 93833950fae7757088eb6abb125e15e8c245e5e25681c19c3ad4213ec7319064 xf86-video-neomagic-1.3.0.tar.bz2 -sha512 25d019a2556e52aeb4e25942f444437a921e76d527c10ddd420f16aa7d85bf2b8a51612c382a2a7e3e407bb1e8d610d063101184eea0889c3e1a69bfb3b37735 xf86-video-neomagic-1.3.0.tar.bz2 +md5 349d5254d09eb46f2a1f151cd423b89a xf86-video-neomagic-1.3.0.tar.bz2 +sha1 6bccfa15ea05d5264120cd96ccf13687642e8f6d xf86-video-neomagic-1.3.0.tar.bz2 +sha256 93833950fae7757088eb6abb125e15e8c245e5e25681c19c3ad4213ec7319064 xf86-video-neomagic-1.3.0.tar.bz2 +sha512 25d019a2556e52aeb4e25942f444437a921e76d527c10ddd420f16aa7d85bf2b8a51612c382a2a7e3e407bb1e8d610d063101184eea0889c3e1a69bfb3b37735 xf86-video-neomagic-1.3.0.tar.bz2 # Locally computed -sha256 95063ce9aa09850025dd317549ce688519079a8d3cf66ceb3d882cb2bafcced9 COPYING +sha256 95063ce9aa09850025dd317549ce688519079a8d3cf66ceb3d882cb2bafcced9 COPYING diff --git a/package/x11r7/xdriver_xf86-video-openchrome/xdriver_xf86-video-openchrome.hash b/package/x11r7/xdriver_xf86-video-openchrome/xdriver_xf86-video-openchrome.hash index 57cc9aca9..df31281eb 100644 --- a/package/x11r7/xdriver_xf86-video-openchrome/xdriver_xf86-video-openchrome.hash +++ b/package/x11r7/xdriver_xf86-video-openchrome/xdriver_xf86-video-openchrome.hash @@ -1,6 +1,6 @@ # From https://lists.x.org/archives/xorg-announce/2017-March/002781.html -md5 c87f164739729b00f7e1a9934420c22d xf86-video-openchrome-0.6.0.tar.bz2 -sha1 2077181ded4d86e9cbe6d3e9b1245339692e848d xf86-video-openchrome-0.6.0.tar.bz2 -sha256 da2975c6379358de52c1257710c67eb59139a7f0a1cd28d00cc64cc3e1c02f75 xf86-video-openchrome-0.6.0.tar.bz2 +md5 c87f164739729b00f7e1a9934420c22d xf86-video-openchrome-0.6.0.tar.bz2 +sha1 2077181ded4d86e9cbe6d3e9b1245339692e848d xf86-video-openchrome-0.6.0.tar.bz2 +sha256 da2975c6379358de52c1257710c67eb59139a7f0a1cd28d00cc64cc3e1c02f75 xf86-video-openchrome-0.6.0.tar.bz2 # Locally computed -sha256 1fde58bce5cff8c32e9a0a80bfa3e60213a2767954e30a367127d5afa2884ca2 COPYING +sha256 1fde58bce5cff8c32e9a0a80bfa3e60213a2767954e30a367127d5afa2884ca2 COPYING diff --git a/package/x11r7/xdriver_xf86-video-qxl/Config.in b/package/x11r7/xdriver_xf86-video-qxl/Config.in index 40f61fd69..0c6b13eda 100644 --- a/package/x11r7/xdriver_xf86-video-qxl/Config.in +++ b/package/x11r7/xdriver_xf86-video-qxl/Config.in @@ -9,4 +9,4 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_QXL help QEMU QXL paravirt video driver - http://www.spice-space.org/page/XorgQXL + https://gitlab.freedesktop.org/xorg/driver/xf86-video-qxl diff --git a/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.hash b/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.hash index eee286509..455c3d443 100644 --- a/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.hash +++ b/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-October/002926.html -md5 105ebcfe1bac06fe84645ac3def91184 xf86-video-r128-6.12.0.tar.bz2 -sha1 7cfa41d386fa43b5d30299203e4845d8afba4899 xf86-video-r128-6.12.0.tar.bz2 -sha256 801c86882cbd2bbb3084d471dcc5cfee2c1754dcbfb4dc446676d58a6bd9e057 xf86-video-r128-6.12.0.tar.bz2 -sha512 0e667e2cfa8a87a00846361d86528c93754c403c812b66798953fa4c857b2143b2c4c44885da467e7f910d8cb910b69492cdcb6f25e2197bae6617364d152e38 xf86-video-r128-6.12.0.tar.bz2 +md5 105ebcfe1bac06fe84645ac3def91184 xf86-video-r128-6.12.0.tar.bz2 +sha1 7cfa41d386fa43b5d30299203e4845d8afba4899 xf86-video-r128-6.12.0.tar.bz2 +sha256 801c86882cbd2bbb3084d471dcc5cfee2c1754dcbfb4dc446676d58a6bd9e057 xf86-video-r128-6.12.0.tar.bz2 +sha512 0e667e2cfa8a87a00846361d86528c93754c403c812b66798953fa4c857b2143b2c4c44885da467e7f910d8cb910b69492cdcb6f25e2197bae6617364d152e38 xf86-video-r128-6.12.0.tar.bz2 # Locally computed -sha256 69f7c71859dc8f51aabdbe7a9ee915a480933eb81658f8af2bf4c918e65afe8b COPYING +sha256 69f7c71859dc8f51aabdbe7a9ee915a480933eb81658f8af2bf4c918e65afe8b COPYING diff --git a/package/x11r7/xdriver_xf86-video-siliconmotion/xdriver_xf86-video-siliconmotion.hash b/package/x11r7/xdriver_xf86-video-siliconmotion/xdriver_xf86-video-siliconmotion.hash index dc9a35036..eeff39fed 100644 --- a/package/x11r7/xdriver_xf86-video-siliconmotion/xdriver_xf86-video-siliconmotion.hash +++ b/package/x11r7/xdriver_xf86-video-siliconmotion/xdriver_xf86-video-siliconmotion.hash @@ -1,4 +1,4 @@ # From https://lists.x.org/archives/xorg-announce/2017-January/002763.html -sha256 d0f3c691e71108d27a061beb62bf78b36ec35bd755905692734dd68cfb3359bc xf86-video-siliconmotion-1.7.9.tar.bz2 +sha256 d0f3c691e71108d27a061beb62bf78b36ec35bd755905692734dd68cfb3359bc xf86-video-siliconmotion-1.7.9.tar.bz2 # Locally calculated -sha256 e1e3ce7ce1f63fff96444206e09c8490ad7a4af7457c81ea6cdee4f1fee1f960 COPYING +sha256 e1e3ce7ce1f63fff96444206e09c8490ad7a4af7457c81ea6cdee4f1fee1f960 COPYING diff --git a/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis.hash b/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis.hash index f67095270..b2215383d 100644 --- a/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis.hash +++ b/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-December/003033.html md5 b8ec9c21758043b1480f11baec296f5d xf86-video-sis-0.12.0.tar.bz2 -sha1 d22f0d0081e222a62f9e788f5e73246c6d339f80 xf86-video-sis-0.12.0.tar.bz2 -sha256 119d3f17d53c862ec4bf891ed696a6f1d32cdf8bd11d944a9f0ad24625333a5b xf86-video-sis-0.12.0.tar.bz2 -sha512 5aa101e5217f15667f2c94f7a76f4afcf47717b61f5d206ce65efe35dc3f674ca294f98ca8586971c6467f31decdd94d8255ebfc7dc220fac0179afc61995952 xf86-video-sis-0.12.0.tar.bz2 +sha1 d22f0d0081e222a62f9e788f5e73246c6d339f80 xf86-video-sis-0.12.0.tar.bz2 +sha256 119d3f17d53c862ec4bf891ed696a6f1d32cdf8bd11d944a9f0ad24625333a5b xf86-video-sis-0.12.0.tar.bz2 +sha512 5aa101e5217f15667f2c94f7a76f4afcf47717b61f5d206ce65efe35dc3f674ca294f98ca8586971c6467f31decdd94d8255ebfc7dc220fac0179afc61995952 xf86-video-sis-0.12.0.tar.bz2 # Locally computed -sha256 e7958f9497a4daa3ae5aeaf885e4565520af2c540b6e4e04b52bf95d41d56c39 COPYING +sha256 e7958f9497a4daa3ae5aeaf885e4565520af2c540b6e4e04b52bf95d41d56c39 COPYING diff --git a/package/x11r7/xdriver_xf86-video-tdfx/xdriver_xf86-video-tdfx.hash b/package/x11r7/xdriver_xf86-video-tdfx/xdriver_xf86-video-tdfx.hash index 5e9a88fbd..9602cb2c7 100644 --- a/package/x11r7/xdriver_xf86-video-tdfx/xdriver_xf86-video-tdfx.hash +++ b/package/x11r7/xdriver_xf86-video-tdfx/xdriver_xf86-video-tdfx.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-February/002944.html -md5 4697f0cc69ff1ff90bc770863c158d29 xf86-video-tdfx-1.5.0.tar.bz2 -sha1 8042dd0c2bc5a396b2cfeb5418b03059a089be25 xf86-video-tdfx-1.5.0.tar.bz2 -sha256 2f4580e1f66901dd578d6e1f73df8150fd4b8480eb0c9653d4c5d8e0f8e78561 xf86-video-tdfx-1.5.0.tar.bz2 -sha512 eca3359c7db56183a1cfcce7295e41ccc349005ee1cbcf75209f1e4e8e04e887ba511712ef35efc11c940713c8327b0b8ab8b6c86facf02062b3e84c0b1af5ff xf86-video-tdfx-1.5.0.tar.bz2 +md5 4697f0cc69ff1ff90bc770863c158d29 xf86-video-tdfx-1.5.0.tar.bz2 +sha1 8042dd0c2bc5a396b2cfeb5418b03059a089be25 xf86-video-tdfx-1.5.0.tar.bz2 +sha256 2f4580e1f66901dd578d6e1f73df8150fd4b8480eb0c9653d4c5d8e0f8e78561 xf86-video-tdfx-1.5.0.tar.bz2 +sha512 eca3359c7db56183a1cfcce7295e41ccc349005ee1cbcf75209f1e4e8e04e887ba511712ef35efc11c940713c8327b0b8ab8b6c86facf02062b3e84c0b1af5ff xf86-video-tdfx-1.5.0.tar.bz2 # Locally computed -sha256 5bb3d3baff0b7bbef885215ca9c12a5be1a42c848c96601b699637557fbb41ec COPYING +sha256 5bb3d3baff0b7bbef885215ca9c12a5be1a42c848c96601b699637557fbb41ec COPYING diff --git a/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident.hash b/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident.hash index 8f47bac20..321f35d4f 100644 --- a/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident.hash +++ b/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident.hash @@ -1,4 +1,4 @@ # From https://lists.x.org/archives/xorg-announce/2017-January/002762.html -sha256 9e5119d974c3e2221994542d35e3a0b3426a441869ddd6dd08a84f324856ac3f xf86-video-trident-1.3.8.tar.bz2 +sha256 9e5119d974c3e2221994542d35e3a0b3426a441869ddd6dd08a84f324856ac3f xf86-video-trident-1.3.8.tar.bz2 # Locally calculated -sha256 4f065198c49eac1513b915bc4478152c21119f31a97919a6ea8f3e1d10133d15 COPYING +sha256 4f065198c49eac1513b915bc4478152c21119f31a97919a6ea8f3e1d10133d15 COPYING diff --git a/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.hash b/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.hash index f07e06147..fc69e01ff 100644 --- a/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.hash +++ b/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-May/002895.html -md5 08d66d062055080ff699ab4869726ea2 xf86-video-vmware-13.3.0.tar.bz2 -sha1 f01335fe6bdb507e749571bfcd69163aed97312a xf86-video-vmware-13.3.0.tar.bz2 -sha256 47971924659e51666a757269ad941a059ef5afe7a47b5101c174a6022ac4066c xf86-video-vmware-13.3.0.tar.bz2 -sha512 c318de893cae7b2b11e11c1b389ee47478b7c8d1f52c27099dbe453efec28f3e9da449217307a8c2251999eada66312f766996be1a6ead413b8b6dedc42c68ca xf86-video-vmware-13.3.0.tar.bz2 +md5 08d66d062055080ff699ab4869726ea2 xf86-video-vmware-13.3.0.tar.bz2 +sha1 f01335fe6bdb507e749571bfcd69163aed97312a xf86-video-vmware-13.3.0.tar.bz2 +sha256 47971924659e51666a757269ad941a059ef5afe7a47b5101c174a6022ac4066c xf86-video-vmware-13.3.0.tar.bz2 +sha512 c318de893cae7b2b11e11c1b389ee47478b7c8d1f52c27099dbe453efec28f3e9da449217307a8c2251999eada66312f766996be1a6ead413b8b6dedc42c68ca xf86-video-vmware-13.3.0.tar.bz2 # Locally computed -sha256 7e59b8ca2a161855a60561f27ada8dfdbb678733eacdb23423fff6d21f9ad43b COPYING +sha256 7e59b8ca2a161855a60561f27ada8dfdbb678733eacdb23423fff6d21f9ad43b COPYING diff --git a/package/x11r7/xfont_encodings/xfont_encodings.hash b/package/x11r7/xfont_encodings/xfont_encodings.hash index 30dc92760..4c2c35772 100644 --- a/package/x11r7/xfont_encodings/xfont_encodings.hash +++ b/package/x11r7/xfont_encodings/xfont_encodings.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-June/002998.html -md5 bbae4f247b88ccde0e85ed6a403da22a encodings-1.0.5.tar.bz2 -sha1 7ffec76dba1cfd5040c5b43ccfae930c83ddf92e encodings-1.0.5.tar.bz2 -sha256 bd96e16143a044b19e87f217cf6a3763a70c561d1076aad6f6d862ec41774a31 encodings-1.0.5.tar.bz2 -sha512 920e49f0b3545f181a1574ca3280ac9adef1e68fe27566c195dd7013f728d355c0d759132789357fcf8fa7391fcbe1e17edf2bd85aa5611df5a4d99740011008 encodings-1.0.5.tar.bz2 +md5 bbae4f247b88ccde0e85ed6a403da22a encodings-1.0.5.tar.bz2 +sha1 7ffec76dba1cfd5040c5b43ccfae930c83ddf92e encodings-1.0.5.tar.bz2 +sha256 bd96e16143a044b19e87f217cf6a3763a70c561d1076aad6f6d862ec41774a31 encodings-1.0.5.tar.bz2 +sha512 920e49f0b3545f181a1574ca3280ac9adef1e68fe27566c195dd7013f728d355c0d759132789357fcf8fa7391fcbe1e17edf2bd85aa5611df5a4d99740011008 encodings-1.0.5.tar.bz2 # Locally computed -sha256 13b4a0f9431f0fdd6ee36ed386e0b7d1eb429c5cb88df73353896078cbb5a137 COPYING +sha256 13b4a0f9431f0fdd6ee36ed386e0b7d1eb429c5cb88df73353896078cbb5a137 COPYING diff --git a/package/x11r7/xfont_font-bh-ttf/xfont_font-bh-ttf.hash b/package/x11r7/xfont_font-bh-ttf/xfont_font-bh-ttf.hash index 05063726b..c9b01efc7 100644 --- a/package/x11r7/xfont_font-bh-ttf/xfont_font-bh-ttf.hash +++ b/package/x11r7/xfont_font-bh-ttf/xfont_font-bh-ttf.hash @@ -1,4 +1,4 @@ # From http://lists.x.org/archives/xorg-announce/2010-November/001537.html -sha1 f42ebd527096011040a312e0f9cdf78d64177419 font-bh-ttf-1.0.3.tar.bz2 +sha1 f42ebd527096011040a312e0f9cdf78d64177419 font-bh-ttf-1.0.3.tar.bz2 # Locally computed sha256 27d47d50006773f1c0bd97661252ae27bb8cfd6951f253bd9d3ef81ed1243934 COPYING diff --git a/package/x11r7/xfont_font-util/xfont_font-util.hash b/package/x11r7/xfont_font-util/xfont_font-util.hash index 55beba89f..7a8ce37ac 100644 --- a/package/x11r7/xfont_font-util/xfont_font-util.hash +++ b/package/x11r7/xfont_font-util/xfont_font-util.hash @@ -1,8 +1,8 @@ # From https://lists.x.org/archives/xorg-announce/2019-August/003019.html -md5 3d6adb76fdd072db8c8fae41b40855e8 font-util-1.3.2.tar.bz2 -sha1 1b36275c174b64a9c16da5c902c91546789a67ef font-util-1.3.2.tar.bz2 -sha256 3ad880444123ac06a7238546fa38a2a6ad7f7e0cc3614de7e103863616522282 font-util-1.3.2.tar.bz2 -sha512 7cac529b12ae71185b89c72c1569b9826f52eeaecc1c76010338e7c42c4078ae339f18220b580bbd68fb5dc09df6ecf169a47c32e6104d8ee53bd443fa21d167 font-util-1.3.2.tar.bz2 +md5 3d6adb76fdd072db8c8fae41b40855e8 font-util-1.3.2.tar.bz2 +sha1 1b36275c174b64a9c16da5c902c91546789a67ef font-util-1.3.2.tar.bz2 +sha256 3ad880444123ac06a7238546fa38a2a6ad7f7e0cc3614de7e103863616522282 font-util-1.3.2.tar.bz2 +sha512 7cac529b12ae71185b89c72c1569b9826f52eeaecc1c76010338e7c42c4078ae339f18220b580bbd68fb5dc09df6ecf169a47c32e6104d8ee53bd443fa21d167 font-util-1.3.2.tar.bz2 # Locally calculated -sha256 ce16c3ee6f2a38db6870b66bdb54fce9dcf24acd1161840789e321f6faa1251c COPYING +sha256 ce16c3ee6f2a38db6870b66bdb54fce9dcf24acd1161840789e321f6faa1251c COPYING diff --git a/package/x11r7/xlib_libFS/xlib_libFS.hash b/package/x11r7/xlib_libFS/xlib_libFS.hash index c6f168576..50cb94dd3 100644 --- a/package/x11r7/xlib_libFS/xlib_libFS.hash +++ b/package/x11r7/xlib_libFS/xlib_libFS.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-March/002970.html -md5 4e1196275aa743d6ebd3d3d5ec1dff9c libFS-1.0.8.tar.bz2 -sha1 70173cc15a7a55defb7b22b00a9387901acad634 libFS-1.0.8.tar.bz2 -sha256 c8e13727149b2ddfe40912027459b2522042e3844c5cd228c3300fe5eef6bd0f libFS-1.0.8.tar.bz2 -sha512 466198ae5c0b83e3579713d86ddfd0b039f5c5b511cf6d5dc0e9664ee2d40aec9e8929445c8e97394d85faf76a7cf2f81bddb13d23de7ce19919e3b1e36ba56f libFS-1.0.8.tar.bz2 +md5 4e1196275aa743d6ebd3d3d5ec1dff9c libFS-1.0.8.tar.bz2 +sha1 70173cc15a7a55defb7b22b00a9387901acad634 libFS-1.0.8.tar.bz2 +sha256 c8e13727149b2ddfe40912027459b2522042e3844c5cd228c3300fe5eef6bd0f libFS-1.0.8.tar.bz2 +sha512 466198ae5c0b83e3579713d86ddfd0b039f5c5b511cf6d5dc0e9664ee2d40aec9e8929445c8e97394d85faf76a7cf2f81bddb13d23de7ce19919e3b1e36ba56f libFS-1.0.8.tar.bz2 # Locally computed -sha256 5386724e7475b89394dd836b954a6688f875efab99e43e8eb7e8775f5b99a341 COPYING +sha256 5386724e7475b89394dd836b954a6688f875efab99e43e8eb7e8775f5b99a341 COPYING diff --git a/package/x11r7/xlib_libICE/xlib_libICE.hash b/package/x11r7/xlib_libICE/xlib_libICE.hash index 426ada32a..2bfbe5478 100644 --- a/package/x11r7/xlib_libICE/xlib_libICE.hash +++ b/package/x11r7/xlib_libICE/xlib_libICE.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-July/003006.html -md5 76d77499ee7120a56566891ca2c0dbcf libICE-1.0.10.tar.bz2 -sha1 5b5eb125d4f43a3ab8153b0f850963ee6c982c24 libICE-1.0.10.tar.bz2 -sha256 6f86dce12cf4bcaf5c37dddd8b1b64ed2ddf1ef7b218f22b9942595fb747c348 libICE-1.0.10.tar.bz2 -sha512 2f1ef2c32c833c71894a08fa7e7ed53f301f6c7bd22485d71c12884d8e8b36b99f362ec886349dcc84d08edc81c8b2cea035320831d64974edeba021b433c468 libICE-1.0.10.tar.bz2 +md5 76d77499ee7120a56566891ca2c0dbcf libICE-1.0.10.tar.bz2 +sha1 5b5eb125d4f43a3ab8153b0f850963ee6c982c24 libICE-1.0.10.tar.bz2 +sha256 6f86dce12cf4bcaf5c37dddd8b1b64ed2ddf1ef7b218f22b9942595fb747c348 libICE-1.0.10.tar.bz2 +sha512 2f1ef2c32c833c71894a08fa7e7ed53f301f6c7bd22485d71c12884d8e8b36b99f362ec886349dcc84d08edc81c8b2cea035320831d64974edeba021b433c468 libICE-1.0.10.tar.bz2 # Locally computed -sha256 60105b7ea93cb07a67fee8443b092b727e3db7f0dff4fbe05bc6cd7747fb53c8 COPYING +sha256 60105b7ea93cb07a67fee8443b092b727e3db7f0dff4fbe05bc6cd7747fb53c8 COPYING diff --git a/package/x11r7/xlib_libSM/xlib_libSM.hash b/package/x11r7/xlib_libSM/xlib_libSM.hash index 1653dc6d7..7ac288ba4 100644 --- a/package/x11r7/xlib_libSM/xlib_libSM.hash +++ b/package/x11r7/xlib_libSM/xlib_libSM.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-October/002922.html md5 87c7fad1c1813517979184c8ccd76628 libSM-1.2.3.tar.bz2 -sha1 437d7b13fa2eba325df3a106f177df46ccec6546 libSM-1.2.3.tar.bz2 -sha256 2d264499dcb05f56438dee12a1b4b71d76736ce7ba7aa6efbf15ebb113769cbb libSM-1.2.3.tar.bz2 -sha512 74c42e27029db78475e62025b4711dbac5e22d2f8e8a24be98a1c31b03c0fc4afe859928f851800ea0b76854f12147900dc4f27bbfd3d8ea45daaaf24b70a903 libSM-1.2.3.tar.bz2 +sha1 437d7b13fa2eba325df3a106f177df46ccec6546 libSM-1.2.3.tar.bz2 +sha256 2d264499dcb05f56438dee12a1b4b71d76736ce7ba7aa6efbf15ebb113769cbb libSM-1.2.3.tar.bz2 +sha512 74c42e27029db78475e62025b4711dbac5e22d2f8e8a24be98a1c31b03c0fc4afe859928f851800ea0b76854f12147900dc4f27bbfd3d8ea45daaaf24b70a903 libSM-1.2.3.tar.bz2 # Locally computed -sha256 af7926a14d85ad367622688636e8c9c6f7807c8a6867536af1c530b5c262bfba COPYING +sha256 af7926a14d85ad367622688636e8c9c6f7807c8a6867536af1c530b5c262bfba COPYING diff --git a/package/x11r7/xlib_libXScrnSaver/xlib_libXScrnSaver.hash b/package/x11r7/xlib_libXScrnSaver/xlib_libXScrnSaver.hash index 266840114..01f468b77 100644 --- a/package/x11r7/xlib_libXScrnSaver/xlib_libXScrnSaver.hash +++ b/package/x11r7/xlib_libXScrnSaver/xlib_libXScrnSaver.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-July/002906.html -md5 eeea9d5af3e6c143d0ea1721d27a5e49 libXScrnSaver-1.2.3.tar.bz2 -sha1 70c791c5755a298ecf1a0823e239a24fa4b2b42f libXScrnSaver-1.2.3.tar.bz2 -sha256 f917075a1b7b5a38d67a8b0238eaab14acd2557679835b154cf2bca576e89bf8 libXScrnSaver-1.2.3.tar.bz2 -sha512 7ea628324a11b25ee82c7b11c6bf98f37de219354de51c1e29467b5de422669ba1ab121f3b9dc674093c8f3960e93c5d5428122f5539092f79bc8451c768354a libXScrnSaver-1.2.3.tar.bz2 +md5 eeea9d5af3e6c143d0ea1721d27a5e49 libXScrnSaver-1.2.3.tar.bz2 +sha1 70c791c5755a298ecf1a0823e239a24fa4b2b42f libXScrnSaver-1.2.3.tar.bz2 +sha256 f917075a1b7b5a38d67a8b0238eaab14acd2557679835b154cf2bca576e89bf8 libXScrnSaver-1.2.3.tar.bz2 +sha512 7ea628324a11b25ee82c7b11c6bf98f37de219354de51c1e29467b5de422669ba1ab121f3b9dc674093c8f3960e93c5d5428122f5539092f79bc8451c768354a libXScrnSaver-1.2.3.tar.bz2 # Locally computed -sha256 5cf3e16f5dd753a4c0853e8227134ab65f5562d9ef89b1a2d7681f5c8ac9feb5 COPYING +sha256 5cf3e16f5dd753a4c0853e8227134ab65f5562d9ef89b1a2d7681f5c8ac9feb5 COPYING diff --git a/package/x11r7/xlib_libXau/xlib_libXau.hash b/package/x11r7/xlib_libXau/xlib_libXau.hash index a78d7f0fe..65ae54ec3 100644 --- a/package/x11r7/xlib_libXau/xlib_libXau.hash +++ b/package/x11r7/xlib_libXau/xlib_libXau.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-February/002942.html -md5 c5f16288f2da9f071b29111d68797480 libXau-1.0.9.tar.bz2 -sha1 ef9b1ad00f958c8b6e30a1bbc11fdfac311c9733 libXau-1.0.9.tar.bz2 -sha256 ccf8cbf0dbf676faa2ea0a6d64bcc3b6746064722b606c8c52917ed00dcb73ec libXau-1.0.9.tar.bz2 -sha512 3ca454ba466a807ea28b0f715066d73dc76ad312697b121d43e4d5766215052e9b7ffb8fe3ed3e496fa3f2a13f164ac692ff85cc428e26731b679f0f06a1d562 libXau-1.0.9.tar.bz2 +md5 c5f16288f2da9f071b29111d68797480 libXau-1.0.9.tar.bz2 +sha1 ef9b1ad00f958c8b6e30a1bbc11fdfac311c9733 libXau-1.0.9.tar.bz2 +sha256 ccf8cbf0dbf676faa2ea0a6d64bcc3b6746064722b606c8c52917ed00dcb73ec libXau-1.0.9.tar.bz2 +sha512 3ca454ba466a807ea28b0f715066d73dc76ad312697b121d43e4d5766215052e9b7ffb8fe3ed3e496fa3f2a13f164ac692ff85cc428e26731b679f0f06a1d562 libXau-1.0.9.tar.bz2 # Locally computed -sha256 56abe29bb1d9806a9e04fa9f80fed2c0f18027594df3f098148d814aef6bddfa COPYING +sha256 56abe29bb1d9806a9e04fa9f80fed2c0f18027594df3f098148d814aef6bddfa COPYING diff --git a/package/x11r7/xlib_libXcomposite/xlib_libXcomposite.hash b/package/x11r7/xlib_libXcomposite/xlib_libXcomposite.hash index 37e9c7211..5d4575b5a 100644 --- a/package/x11r7/xlib_libXcomposite/xlib_libXcomposite.hash +++ b/package/x11r7/xlib_libXcomposite/xlib_libXcomposite.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-March/002971.html -md5 3fa0841ea89024719b20cd702a9b54e0 libXcomposite-0.4.5.tar.bz2 -sha1 902631efb55a798c81086e5ff90b60349839db40 libXcomposite-0.4.5.tar.bz2 -sha256 b3218a2c15bab8035d16810df5b8251ffc7132ff3aa70651a1fba0bfe9634e8f libXcomposite-0.4.5.tar.bz2 -sha512 502fd51fd9097bb3ca72174ac5b25b9d3b1ff240d32c4765199df03d89337d94b4ddea49e90b177b370862430089d966ce9c38988337156352cfeae911c2d3d5 libXcomposite-0.4.5.tar.bz2 +md5 3fa0841ea89024719b20cd702a9b54e0 libXcomposite-0.4.5.tar.bz2 +sha1 902631efb55a798c81086e5ff90b60349839db40 libXcomposite-0.4.5.tar.bz2 +sha256 b3218a2c15bab8035d16810df5b8251ffc7132ff3aa70651a1fba0bfe9634e8f libXcomposite-0.4.5.tar.bz2 +sha512 502fd51fd9097bb3ca72174ac5b25b9d3b1ff240d32c4765199df03d89337d94b4ddea49e90b177b370862430089d966ce9c38988337156352cfeae911c2d3d5 libXcomposite-0.4.5.tar.bz2 # Locally computed -sha256 efa0219ed8485ac555c1a3fb82daf34539b2e0dcf4dadc99c01f1e39c69a4a68 COPYING +sha256 efa0219ed8485ac555c1a3fb82daf34539b2e0dcf4dadc99c01f1e39c69a4a68 COPYING diff --git a/package/x11r7/xlib_libXcursor/xlib_libXcursor.hash b/package/x11r7/xlib_libXcursor/xlib_libXcursor.hash index 3a12253d4..b96af23a1 100644 --- a/package/x11r7/xlib_libXcursor/xlib_libXcursor.hash +++ b/package/x11r7/xlib_libXcursor/xlib_libXcursor.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-March/002972.html -md5 9b9be0e289130fb820aedf67705fc549 libXcursor-1.2.0.tar.bz2 -sha1 cca0b34955d3c2f657f05a2a2c40f75353ddd912 libXcursor-1.2.0.tar.bz2 -sha256 3ad3e9f8251094af6fe8cb4afcf63e28df504d46bfa5a5529db74a505d628782 libXcursor-1.2.0.tar.bz2 -sha512 2b12d0fd17e311ce269dbba58588698885815eb07aa44d48525ed5cd9e5f379bb90138a792a191e2f74888ab10b3ca9a4f507f21de0984ed79748973ab927a03 libXcursor-1.2.0.tar.bz2 +md5 9b9be0e289130fb820aedf67705fc549 libXcursor-1.2.0.tar.bz2 +sha1 cca0b34955d3c2f657f05a2a2c40f75353ddd912 libXcursor-1.2.0.tar.bz2 +sha256 3ad3e9f8251094af6fe8cb4afcf63e28df504d46bfa5a5529db74a505d628782 libXcursor-1.2.0.tar.bz2 +sha512 2b12d0fd17e311ce269dbba58588698885815eb07aa44d48525ed5cd9e5f379bb90138a792a191e2f74888ab10b3ca9a4f507f21de0984ed79748973ab927a03 libXcursor-1.2.0.tar.bz2 # Locally computed -sha256 1f1588aff23eec0cb6bb9cfe02f8a75abbe43faf3d9b1eff54b7fbc42774b3ad COPYING +sha256 1f1588aff23eec0cb6bb9cfe02f8a75abbe43faf3d9b1eff54b7fbc42774b3ad COPYING diff --git a/package/x11r7/xlib_libXdamage/xlib_libXdamage.hash b/package/x11r7/xlib_libXdamage/xlib_libXdamage.hash index 120d3e026..9e7cf566a 100644 --- a/package/x11r7/xlib_libXdamage/xlib_libXdamage.hash +++ b/package/x11r7/xlib_libXdamage/xlib_libXdamage.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-March/002973.html -md5 e3f554267a7a04b042dc1f6352bd6d99 libXdamage-1.1.5.tar.bz2 -sha1 719ae6ab8c1b972c6386b654976c479255af5572 libXdamage-1.1.5.tar.bz2 -sha256 b734068643cac3b5f3d2c8279dd366b5bf28c7219d9e9d8717e1383995e0ea45 libXdamage-1.1.5.tar.bz2 -sha512 a3ca6cc33b1727f717a3e2aa5593f660508a81a47918a0aa949e9e8fba105e303fe5071983b48caac92feea0fe6e8e01620805e4d19b41f21f20d837b191c124 libXdamage-1.1.5.tar.bz2 +md5 e3f554267a7a04b042dc1f6352bd6d99 libXdamage-1.1.5.tar.bz2 +sha1 719ae6ab8c1b972c6386b654976c479255af5572 libXdamage-1.1.5.tar.bz2 +sha256 b734068643cac3b5f3d2c8279dd366b5bf28c7219d9e9d8717e1383995e0ea45 libXdamage-1.1.5.tar.bz2 +sha512 a3ca6cc33b1727f717a3e2aa5593f660508a81a47918a0aa949e9e8fba105e303fe5071983b48caac92feea0fe6e8e01620805e4d19b41f21f20d837b191c124 libXdamage-1.1.5.tar.bz2 # Locally computed -sha256 33effe928634be12e668465c3935c5570ff2787b970b15d9243d69df42302c57 COPYING +sha256 33effe928634be12e668465c3935c5570ff2787b970b15d9243d69df42302c57 COPYING diff --git a/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.hash b/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.hash index 0dbea635f..9f7f96835 100644 --- a/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.hash +++ b/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-March/002974.html -md5 115c5c12ecce0e749cd91d999a5fd160 libXdmcp-1.1.3.tar.bz2 -sha1 0a8f8a274f829331efb1e8e2027c38631b204dd0 libXdmcp-1.1.3.tar.bz2 -sha256 20523b44aaa513e17c009e873ad7bbc301507a3224c232610ce2e099011c6529 libXdmcp-1.1.3.tar.bz2 -sha512 cb1d4650f97d66e73acd2465ec7d757b9b797cce2f85e301860a44997a461837eea845ec9bd5b639ec5ca34c804f8bdd870697a5ce3f4e270b687c9ef74f25ec libXdmcp-1.1.3.tar.bz2 +md5 115c5c12ecce0e749cd91d999a5fd160 libXdmcp-1.1.3.tar.bz2 +sha1 0a8f8a274f829331efb1e8e2027c38631b204dd0 libXdmcp-1.1.3.tar.bz2 +sha256 20523b44aaa513e17c009e873ad7bbc301507a3224c232610ce2e099011c6529 libXdmcp-1.1.3.tar.bz2 +sha512 cb1d4650f97d66e73acd2465ec7d757b9b797cce2f85e301860a44997a461837eea845ec9bd5b639ec5ca34c804f8bdd870697a5ce3f4e270b687c9ef74f25ec libXdmcp-1.1.3.tar.bz2 # Locally computed -sha256 8a3c3f35b0dbcb60a4e242b9e4394a352a65bb27deb2938ea1e2e62a626e16e9 COPYING +sha256 8a3c3f35b0dbcb60a4e242b9e4394a352a65bb27deb2938ea1e2e62a626e16e9 COPYING diff --git a/package/x11r7/xlib_libXext/xlib_libXext.hash b/package/x11r7/xlib_libXext/xlib_libXext.hash index 45810d5d1..e6b41a3db 100644 --- a/package/x11r7/xlib_libXext/xlib_libXext.hash +++ b/package/x11r7/xlib_libXext/xlib_libXext.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-March/002975.html -md5 f5b48bb76ba327cd2a8dc7a383532a95 libXext-1.3.4.tar.bz2 -sha1 14e2451162e8766173b5b14c73e94a22b1fcab55 libXext-1.3.4.tar.bz2 -sha256 59ad6fcce98deaecc14d39a672cf218ca37aba617c9a0f691cac3bcd28edf82b libXext-1.3.4.tar.bz2 -sha512 09146397d95f80c04701be1cc0a9c580ab5a085842ac31d17dfb6d4c2e42b4253b89cba695e54444e520be359883a76ffd02f42484c9e2ba2c33a5a40c29df4a libXext-1.3.4.tar.bz2 +md5 f5b48bb76ba327cd2a8dc7a383532a95 libXext-1.3.4.tar.bz2 +sha1 14e2451162e8766173b5b14c73e94a22b1fcab55 libXext-1.3.4.tar.bz2 +sha256 59ad6fcce98deaecc14d39a672cf218ca37aba617c9a0f691cac3bcd28edf82b libXext-1.3.4.tar.bz2 +sha512 09146397d95f80c04701be1cc0a9c580ab5a085842ac31d17dfb6d4c2e42b4253b89cba695e54444e520be359883a76ffd02f42484c9e2ba2c33a5a40c29df4a libXext-1.3.4.tar.bz2 # Locally computed -sha256 80767ac915f2f0f94de9efb15f0197a59b6f1e609cae85059f8703272dc3e146 COPYING +sha256 80767ac915f2f0f94de9efb15f0197a59b6f1e609cae85059f8703272dc3e146 COPYING diff --git a/package/x11r7/xlib_libXfixes/xlib_libXfixes.hash b/package/x11r7/xlib_libXfixes/xlib_libXfixes.hash index f40c52290..5dfe49605 100644 --- a/package/x11r7/xlib_libXfixes/xlib_libXfixes.hash +++ b/package/x11r7/xlib_libXfixes/xlib_libXfixes.hash @@ -3,4 +3,4 @@ sha256 a7c1a24da53e0b46cac5aea79094b4b2257321c621b258729bc3139149245b4c libXfi sha512 1985ef156f382e9a7e1cc7e044e0f626de1e4c82557a511cbcf6431994c0ac25b1f8b3a0293bd3089331593db8ce01d3a71ddec68f19b5fe6029d5082fb6885d libXfixes-6.0.0.tar.bz2 # Locally calculated -sha256 d64e671ffeb483d4543f98c842788ab34c77427e27d83d6b082065a4438d4885 COPYING +sha256 d64e671ffeb483d4543f98c842788ab34c77427e27d83d6b082065a4438d4885 COPYING diff --git a/package/x11r7/xlib_libXfont/xlib_libXfont.hash b/package/x11r7/xlib_libXfont/xlib_libXfont.hash index 455d99ff3..72a58e4d7 100644 --- a/package/x11r7/xlib_libXfont/xlib_libXfont.hash +++ b/package/x11r7/xlib_libXfont/xlib_libXfont.hash @@ -1,8 +1,8 @@ # From https://lists.x.org/archives/xorg-announce/2017-November/002825.html md5 16eaf156edd79b68038b6a7c44aa9e9b libXfont-1.5.4.tar.bz2 -sha1 9db050f63b9c4cb19e0dbb40575558ccb95719ca libXfont-1.5.4.tar.bz2 -sha256 1a7f7490774c87f2052d146d1e0e64518d32e6848184a18654e8d0bb57883242 libXfont-1.5.4.tar.bz2 -sha512 864edbaff45c44bd92bc4b06275c73fdf584a9b88bc523a297d4c75c01ca253f438463e929af70d753ddecfa648bb0b9bcf0ec72267db9f2b1704f7afa906cb3 libXfont-1.5.4.tar.bz2 +sha1 9db050f63b9c4cb19e0dbb40575558ccb95719ca libXfont-1.5.4.tar.bz2 +sha256 1a7f7490774c87f2052d146d1e0e64518d32e6848184a18654e8d0bb57883242 libXfont-1.5.4.tar.bz2 +sha512 864edbaff45c44bd92bc4b06275c73fdf584a9b88bc523a297d4c75c01ca253f438463e929af70d753ddecfa648bb0b9bcf0ec72267db9f2b1704f7afa906cb3 libXfont-1.5.4.tar.bz2 # Locally calculated -sha256 97e413bb4962bbb5773085cd5405502bf1d4eadeaf98ff5be015eacacc840462 COPYING +sha256 97e413bb4962bbb5773085cd5405502bf1d4eadeaf98ff5be015eacacc840462 COPYING diff --git a/package/x11r7/xlib_libXfont2/xlib_libXfont2.mk b/package/x11r7/xlib_libXfont2/xlib_libXfont2.mk index 6a71761f4..fb0bba879 100644 --- a/package/x11r7/xlib_libXfont2/xlib_libXfont2.mk +++ b/package/x11r7/xlib_libXfont2/xlib_libXfont2.mk @@ -12,8 +12,6 @@ XLIB_LIBXFONT2_LICENSE_FILES = COPYING XLIB_LIBXFONT2_CPE_ID_VENDOR = x XLIB_LIBXFONT2_CPE_ID_PRODUCT = libxfont XLIB_LIBXFONT2_INSTALL_STAGING = YES -# 0001-configure-define-HAVE_LIBBSD-when-libbsd-was-found.patch -XLIB_LIBXFONT2_AUTORECONF = YES XLIB_LIBXFONT2_DEPENDENCIES = \ freetype \ xlib_libfontenc \ diff --git a/package/x11r7/xlib_libXinerama/xlib_libXinerama.hash b/package/x11r7/xlib_libXinerama/xlib_libXinerama.hash index 995181dd1..ca4081d37 100644 --- a/package/x11r7/xlib_libXinerama/xlib_libXinerama.hash +++ b/package/x11r7/xlib_libXinerama/xlib_libXinerama.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-July/002905.html -md5 0d5f826a197dae74da67af4a9ef35885 libXinerama-1.1.4.tar.bz2 -sha1 34a1d9908ffbd46805d2357c6b05f5e341a8dc7c libXinerama-1.1.4.tar.bz2 -sha256 0008dbd7ecf717e1e507eed1856ab0d9cf946d03201b85d5dcf61489bb02d720 libXinerama-1.1.4.tar.bz2 -sha512 cff777ad942614fbf6bc6d8529f399e62debf3ecbf6cc0694a94e38c022bf929ffd5636fb59f55533c394d89b23af3ea51fa5128927f12a85787e16239330f14 libXinerama-1.1.4.tar.bz2 +md5 0d5f826a197dae74da67af4a9ef35885 libXinerama-1.1.4.tar.bz2 +sha1 34a1d9908ffbd46805d2357c6b05f5e341a8dc7c libXinerama-1.1.4.tar.bz2 +sha256 0008dbd7ecf717e1e507eed1856ab0d9cf946d03201b85d5dcf61489bb02d720 libXinerama-1.1.4.tar.bz2 +sha512 cff777ad942614fbf6bc6d8529f399e62debf3ecbf6cc0694a94e38c022bf929ffd5636fb59f55533c394d89b23af3ea51fa5128927f12a85787e16239330f14 libXinerama-1.1.4.tar.bz2 # Locally computed -sha256 f661fd883b6e980b3b118e0fbe230fbf10eef8d4d4a35931355f29ed647ddbe3 COPYING +sha256 f661fd883b6e980b3b118e0fbe230fbf10eef8d4d4a35931355f29ed647ddbe3 COPYING diff --git a/package/x11r7/xlib_libXmu/xlib_libXmu.hash b/package/x11r7/xlib_libXmu/xlib_libXmu.hash index 8cad2389b..b44341928 100644 --- a/package/x11r7/xlib_libXmu/xlib_libXmu.hash +++ b/package/x11r7/xlib_libXmu/xlib_libXmu.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-March/002978.html -md5 ac774cff8b493f566088a255dbf91201 libXmu-1.1.3.tar.bz2 -sha1 7ff54ce38379fb795aebed38f6be404ee0dfeec6 libXmu-1.1.3.tar.bz2 -sha256 9c343225e7c3dc0904f2122b562278da5fed639b1b5e880d25111561bac5b731 libXmu-1.1.3.tar.bz2 -sha512 8c6cc65b22aa031ad870dd92736681a068a0878a425a53dbed909943da1136c4a24034d467cfd3785c3a8d78f66850b69f1ebe1eb24aaf9bc176b1d171a5c762 libXmu-1.1.3.tar.bz2 +md5 ac774cff8b493f566088a255dbf91201 libXmu-1.1.3.tar.bz2 +sha1 7ff54ce38379fb795aebed38f6be404ee0dfeec6 libXmu-1.1.3.tar.bz2 +sha256 9c343225e7c3dc0904f2122b562278da5fed639b1b5e880d25111561bac5b731 libXmu-1.1.3.tar.bz2 +sha512 8c6cc65b22aa031ad870dd92736681a068a0878a425a53dbed909943da1136c4a24034d467cfd3785c3a8d78f66850b69f1ebe1eb24aaf9bc176b1d171a5c762 libXmu-1.1.3.tar.bz2 # Locally computed -sha256 e65a4a8bbf8b0dfd2439d6bc6d86df03e2b8e693b757593b25149e099aeb8ec4 COPYING +sha256 e65a4a8bbf8b0dfd2439d6bc6d86df03e2b8e693b757593b25149e099aeb8ec4 COPYING diff --git a/package/x11r7/xlib_libXpm/xlib_libXpm.hash b/package/x11r7/xlib_libXpm/xlib_libXpm.hash index c3aa695c5..733c40454 100644 --- a/package/x11r7/xlib_libXpm/xlib_libXpm.hash +++ b/package/x11r7/xlib_libXpm/xlib_libXpm.hash @@ -1,8 +1,6 @@ -# From https://lists.x.org/archives/xorg-announce/2019-December/003034.html -md5 6f0ecf8d103d528cfc803aa475137afa libXpm-3.5.13.tar.bz2 -sha1 38b1a2728adb49f4e255aba1530f51789815ffc4 libXpm-3.5.13.tar.bz2 -sha256 9cd1da57588b6cb71450eff2273ef6b657537a9ac4d02d0014228845b935ac25 libXpm-3.5.13.tar.bz2 -sha512 3b8f6e926272f39b1d95135c2274c00f5aaee1f9fb2ef79f71628df5edeb7ba20158819ef6a778101cc4092493a3b5b613c53634fdccadcc0fc85f0605e5e9a5 libXpm-3.5.13.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2023-January/003313.html +sha256 60bb906c5c317a6db863e39b69c4a83fdbd2ae2154fcf47640f8fefc9fdfd1c1 libXpm-3.5.15.tar.xz +sha512 955d716fcea2c9d868ab941c56f017b39bfa0f47fd2904e9b04c6a9be17f23f8b8c906da9c90a89a789f1f399d419641705ff5b6f9921820e34d4807c7a1992f libXpm-3.5.15.tar.xz # Locally calculated -sha256 ed3b06bb3b75a0954bd6837a96b41a4676f60dfeee647271613aadecc0fd596e COPYING -sha256 cbe4ced0abc8a32bea471204ae01038c202758ce4e772d3d329a341ffa761e71 COPYRIGHT +sha256 a80d706759624a04aa90fd62bc644a360fc3d72e08dcbfb129f167c11ca285de COPYING +sha256 cbe4ced0abc8a32bea471204ae01038c202758ce4e772d3d329a341ffa761e71 COPYRIGHT diff --git a/package/x11r7/xlib_libXpm/xlib_libXpm.mk b/package/x11r7/xlib_libXpm/xlib_libXpm.mk index 7b645dc9e..970ec9340 100644 --- a/package/x11r7/xlib_libXpm/xlib_libXpm.mk +++ b/package/x11r7/xlib_libXpm/xlib_libXpm.mk @@ -4,9 +4,9 @@ # ################################################################################ -XLIB_LIBXPM_VERSION = 3.5.13 -XLIB_LIBXPM_SOURCE = libXpm-$(XLIB_LIBXPM_VERSION).tar.bz2 -XLIB_LIBXPM_SITE = http://xorg.freedesktop.org/releases/individual/lib +XLIB_LIBXPM_VERSION = 3.5.15 +XLIB_LIBXPM_SOURCE = libXpm-$(XLIB_LIBXPM_VERSION).tar.xz +XLIB_LIBXPM_SITE = https://xorg.freedesktop.org/archive/individual/lib XLIB_LIBXPM_LICENSE = MIT XLIB_LIBXPM_LICENSE_FILES = COPYING COPYRIGHT XLIB_LIBXPM_CPE_ID_VENDOR = libxpm_project @@ -16,6 +16,7 @@ XLIB_LIBXPM_DEPENDENCIES = xlib_libX11 xlib_libXext xlib_libXt xorgproto \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) \ $(TARGET_NLS_DEPENDENCIES) XLIB_LIBXPM_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) +XLIB_LIBXPM_CONF_OPTS = --disable-open-zfile ifeq ($(BR2_SYSTEM_ENABLE_NLS),) XLIB_LIBXPM_CONF_ENV += ac_cv_search_gettext=no diff --git a/package/x11r7/xlib_libXrandr/xlib_libXrandr.hash b/package/x11r7/xlib_libXrandr/xlib_libXrandr.hash index ed5366953..4b12328df 100644 --- a/package/x11r7/xlib_libXrandr/xlib_libXrandr.hash +++ b/package/x11r7/xlib_libXrandr/xlib_libXrandr.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-March/002979.html -md5 18f3b20d522f45e4dadd34afb5bea048 libXrandr-1.5.2.tar.bz2 -sha1 7a1f6df239341b76fd59ebbe101d6f180adb43bb libXrandr-1.5.2.tar.bz2 -sha256 8aea0ebe403d62330bb741ed595b53741acf45033d3bda1792f1d4cc3daee023 libXrandr-1.5.2.tar.bz2 -sha512 fcd005f9839e7ef980607128a5d76d7b671cc2f5755949e03c569c500d7e987cb3f6932750ab8bf6e2c1086ec69dde09d5831f0c2098b9f9ad46be4f56db0d87 libXrandr-1.5.2.tar.bz2 +md5 18f3b20d522f45e4dadd34afb5bea048 libXrandr-1.5.2.tar.bz2 +sha1 7a1f6df239341b76fd59ebbe101d6f180adb43bb libXrandr-1.5.2.tar.bz2 +sha256 8aea0ebe403d62330bb741ed595b53741acf45033d3bda1792f1d4cc3daee023 libXrandr-1.5.2.tar.bz2 +sha512 fcd005f9839e7ef980607128a5d76d7b671cc2f5755949e03c569c500d7e987cb3f6932750ab8bf6e2c1086ec69dde09d5831f0c2098b9f9ad46be4f56db0d87 libXrandr-1.5.2.tar.bz2 # Locally computed -sha256 73777e5be1cef2827d843e4b186803f050c66db472cf8076d88e2b5f71696e67 COPYING +sha256 73777e5be1cef2827d843e4b186803f050c66db472cf8076d88e2b5f71696e67 COPYING diff --git a/package/x11r7/xlib_libXrender/xlib_libXrender.hash b/package/x11r7/xlib_libXrender/xlib_libXrender.hash index 96981ad50..680c76523 100644 --- a/package/x11r7/xlib_libXrender/xlib_libXrender.hash +++ b/package/x11r7/xlib_libXrender/xlib_libXrender.hash @@ -1,5 +1,5 @@ # From https://lists.x.org/archives/xorg-announce/2016-October/002725.html -sha256 c06d5979f86e64cabbde57c223938db0b939dff49fdb5a793a1d3d0396650949 libXrender-0.9.10.tar.bz2 +sha256 c06d5979f86e64cabbde57c223938db0b939dff49fdb5a793a1d3d0396650949 libXrender-0.9.10.tar.bz2 # Locally calculated -sha256 bbe1db89c48816c48248796adac91defd8fbde1141b145f01511781ab87f29a1 COPYING +sha256 bbe1db89c48816c48248796adac91defd8fbde1141b145f01511781ab87f29a1 COPYING diff --git a/package/x11r7/xlib_libXt/xlib_libXt.hash b/package/x11r7/xlib_libXt/xlib_libXt.hash index dcd4853d7..40512f354 100644 --- a/package/x11r7/xlib_libXt/xlib_libXt.hash +++ b/package/x11r7/xlib_libXt/xlib_libXt.hash @@ -2,4 +2,4 @@ sha256 679cc08f1646dbd27f5e48ffe8dd49406102937109130caab02ca32c083a3d60 libXt-1.2.1.tar.bz2 sha512 6877af61ba91eeed6b6f80471b84f354ad0ec0827249c7ee0a00c13508063fe8d2696dd400a4bdbc6ca2ff67cbe1317ad5ac24522fd96099dc56535e33ca052c libXt-1.2.1.tar.bz2 # Locally calculated -sha256 a2866ccc0b1745149e4a2258d934314d40cbb43bd8318c6fa597f233995b0a81 COPYING +sha256 a2866ccc0b1745149e4a2258d934314d40cbb43bd8318c6fa597f233995b0a81 COPYING diff --git a/package/x11r7/xlib_libXv/xlib_libXv.hash b/package/x11r7/xlib_libXv/xlib_libXv.hash index ccc672701..a6f7e3d55 100644 --- a/package/x11r7/xlib_libXv/xlib_libXv.hash +++ b/package/x11r7/xlib_libXv/xlib_libXv.hash @@ -1,5 +1,5 @@ # From https://lists.x.org/archives/xorg-announce/2016-October/002727.html -sha256 d26c13eac99ac4504c532e8e76a1c8e4bd526471eb8a0a4ff2a88db60cb0b088 libXv-1.0.11.tar.bz2 +sha256 d26c13eac99ac4504c532e8e76a1c8e4bd526471eb8a0a4ff2a88db60cb0b088 libXv-1.0.11.tar.bz2 # Locally calculated -sha256 4fac4d581d00f11c459d68b7cb970f3d4e5a5bbfb53784d85f59a90076280301 COPYING +sha256 4fac4d581d00f11c459d68b7cb970f3d4e5a5bbfb53784d85f59a90076280301 COPYING diff --git a/package/x11r7/xlib_libXvMC/xlib_libXvMC.hash b/package/x11r7/xlib_libXvMC/xlib_libXvMC.hash index be4ba751a..4b7cc44b7 100644 --- a/package/x11r7/xlib_libXvMC/xlib_libXvMC.hash +++ b/package/x11r7/xlib_libXvMC/xlib_libXvMC.hash @@ -1,8 +1,8 @@ # From https://lists.x.org/archives/xorg-announce/2019-September/003023.html -md5 3569ff7f3e26864d986d6a21147eaa58 libXvMC-1.0.12.tar.bz2 -sha1 4871f92a83faa86aff5c630a2d6016c67bf11b97 libXvMC-1.0.12.tar.bz2 -sha256 6b3da7977b3f7eaf4f0ac6470ab1e562298d82c4e79077765787963ab7966dcd libXvMC-1.0.12.tar.bz2 -sha512 62cb9a72b20af3b081d2d555a253b0e2b8b26b31f4fad10bd3e53bbf96e1663b61bd8df2b78b16f18218cd37cce0c9e6809ae16ded226b37a8b199e41b223955 libXvMC-1.0.12.tar.bz2 +md5 3569ff7f3e26864d986d6a21147eaa58 libXvMC-1.0.12.tar.bz2 +sha1 4871f92a83faa86aff5c630a2d6016c67bf11b97 libXvMC-1.0.12.tar.bz2 +sha256 6b3da7977b3f7eaf4f0ac6470ab1e562298d82c4e79077765787963ab7966dcd libXvMC-1.0.12.tar.bz2 +sha512 62cb9a72b20af3b081d2d555a253b0e2b8b26b31f4fad10bd3e53bbf96e1663b61bd8df2b78b16f18218cd37cce0c9e6809ae16ded226b37a8b199e41b223955 libXvMC-1.0.12.tar.bz2 # Locally computed -sha256 b7c709df281675a07eb60a71c5fa2599d1ef538eb79ae7ad6e774b10e4a804c4 COPYING +sha256 b7c709df281675a07eb60a71c5fa2599d1ef538eb79ae7ad6e774b10e4a804c4 COPYING diff --git a/package/x11r7/xlib_libXxf86dga/xlib_libXxf86dga.hash b/package/x11r7/xlib_libXxf86dga/xlib_libXxf86dga.hash index f0172c346..1b0562478 100644 --- a/package/x11r7/xlib_libXxf86dga/xlib_libXxf86dga.hash +++ b/package/x11r7/xlib_libXxf86dga/xlib_libXxf86dga.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-March/002982.html -md5 0ddeafc13b33086357cfa96fae41ee8e libXxf86dga-1.1.5.tar.bz2 -sha1 332ba80d1b3d06473f7bbfe1612e7c5b58fbdf69 libXxf86dga-1.1.5.tar.bz2 -sha256 2b98bc5f506c6140d4eddd3990842d30f5dae733b64f198a504f07461bdb7203 libXxf86dga-1.1.5.tar.bz2 -sha512 0e77c4003aeba737b10c17d55aeefa935fc57c4ba9e8f79a834f3f8c690d6a1d98f69ad707eded784346c1cf40c41829719d257283b5eae3207147fb4c79ed89 libXxf86dga-1.1.5.tar.bz2 +md5 0ddeafc13b33086357cfa96fae41ee8e libXxf86dga-1.1.5.tar.bz2 +sha1 332ba80d1b3d06473f7bbfe1612e7c5b58fbdf69 libXxf86dga-1.1.5.tar.bz2 +sha256 2b98bc5f506c6140d4eddd3990842d30f5dae733b64f198a504f07461bdb7203 libXxf86dga-1.1.5.tar.bz2 +sha512 0e77c4003aeba737b10c17d55aeefa935fc57c4ba9e8f79a834f3f8c690d6a1d98f69ad707eded784346c1cf40c41829719d257283b5eae3207147fb4c79ed89 libXxf86dga-1.1.5.tar.bz2 # Locally computed -sha256 dd27933ebc5c063128b158b085e4c442a36b0e6f704cf753116da119610191da COPYING +sha256 dd27933ebc5c063128b158b085e4c442a36b0e6f704cf753116da119610191da COPYING diff --git a/package/x11r7/xlib_libXxf86vm/xlib_libXxf86vm.hash b/package/x11r7/xlib_libXxf86vm/xlib_libXxf86vm.hash index b55c55c84..0601360c0 100644 --- a/package/x11r7/xlib_libXxf86vm/xlib_libXxf86vm.hash +++ b/package/x11r7/xlib_libXxf86vm/xlib_libXxf86vm.hash @@ -1,6 +1,6 @@ # From http://lists.x.org/archives/xorg-announce/2015-February/002539.html -sha1 78ef18ca2be157131899e01c62679e247409a13f libXxf86vm-1.1.4.tar.bz2 -sha256 afee27f93c5f31c0ad582852c0fb36d50e4de7cd585fcf655e278a633d85cd57 libXxf86vm-1.1.4.tar.bz2 +sha1 78ef18ca2be157131899e01c62679e247409a13f libXxf86vm-1.1.4.tar.bz2 +sha256 afee27f93c5f31c0ad582852c0fb36d50e4de7cd585fcf655e278a633d85cd57 libXxf86vm-1.1.4.tar.bz2 # Locally calculated -sha256 f3da8eaed19e27e4f67e6f076d4ebdb8d649e15a8ad33a415fb65a23de1b6689 COPYING +sha256 f3da8eaed19e27e4f67e6f076d4ebdb8d649e15a8ad33a415fb65a23de1b6689 COPYING diff --git a/package/x11r7/xlib_libdmx/xlib_libdmx.hash b/package/x11r7/xlib_libdmx/xlib_libdmx.hash index 1090e3c2d..e9d8616ba 100644 --- a/package/x11r7/xlib_libdmx/xlib_libdmx.hash +++ b/package/x11r7/xlib_libdmx/xlib_libdmx.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-May/002894.html -md5 d2f1f0ec68ac3932dd7f1d9aa0a7a11c libdmx-1.1.4.tar.bz2 -sha1 499e2540ca0e94ca858037865243c3c60908fd94 libdmx-1.1.4.tar.bz2 -sha256 253f90005d134fa7a209fbcbc5a3024335367c930adf0f3203e754cf32747243 libdmx-1.1.4.tar.bz2 -sha512 77aba6cadfd17db0cc7e1bc26f14d908223a0fdb135d46f86c3be34e3bc7e2f843f08d4d0ef773357e83b17122bffe56a0442d12908378c05a22177b10ae10e9 libdmx-1.1.4.tar.bz2 +md5 d2f1f0ec68ac3932dd7f1d9aa0a7a11c libdmx-1.1.4.tar.bz2 +sha1 499e2540ca0e94ca858037865243c3c60908fd94 libdmx-1.1.4.tar.bz2 +sha256 253f90005d134fa7a209fbcbc5a3024335367c930adf0f3203e754cf32747243 libdmx-1.1.4.tar.bz2 +sha512 77aba6cadfd17db0cc7e1bc26f14d908223a0fdb135d46f86c3be34e3bc7e2f843f08d4d0ef773357e83b17122bffe56a0442d12908378c05a22177b10ae10e9 libdmx-1.1.4.tar.bz2 # Locally computed -sha256 819e8dcd3dd2a44850c350331aa492230f86bccb0983dd739dec5ba36d7d2b8e COPYING +sha256 819e8dcd3dd2a44850c350331aa492230f86bccb0983dd739dec5ba36d7d2b8e COPYING diff --git a/package/x11r7/xlib_libfontenc/xlib_libfontenc.hash b/package/x11r7/xlib_libfontenc/xlib_libfontenc.hash index de05fd27d..cf09f61c3 100644 --- a/package/x11r7/xlib_libfontenc/xlib_libfontenc.hash +++ b/package/x11r7/xlib_libfontenc/xlib_libfontenc.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-February/002956.html -md5 6447db6a689fb530c218f0f8328c3abc libfontenc-1.1.4.tar.bz2 -sha1 d4f232b0b07487b984e13422ce4130b61a8b9edb libfontenc-1.1.4.tar.bz2 -sha256 2cfcce810ddd48f2e5dc658d28c1808e86dcf303eaff16728b9aa3dbc0092079 libfontenc-1.1.4.tar.bz2 -sha512 76fa851d00113241f15fdd5b5bb7e927b8d8b9a82ce3fcb0678b8c7e32cb5e8d898c4bda1d60dafb7748145049d3240627ac34a2360c64e98a7a912ea7c30582 libfontenc-1.1.4.tar.bz2 +md5 6447db6a689fb530c218f0f8328c3abc libfontenc-1.1.4.tar.bz2 +sha1 d4f232b0b07487b984e13422ce4130b61a8b9edb libfontenc-1.1.4.tar.bz2 +sha256 2cfcce810ddd48f2e5dc658d28c1808e86dcf303eaff16728b9aa3dbc0092079 libfontenc-1.1.4.tar.bz2 +sha512 76fa851d00113241f15fdd5b5bb7e927b8d8b9a82ce3fcb0678b8c7e32cb5e8d898c4bda1d60dafb7748145049d3240627ac34a2360c64e98a7a912ea7c30582 libfontenc-1.1.4.tar.bz2 # Locally computed -sha256 a4dda7a643b517794bfa23dc9605da030055df38ac8a5b9e1905e690975a59c4 COPYING +sha256 a4dda7a643b517794bfa23dc9605da030055df38ac8a5b9e1905e690975a59c4 COPYING diff --git a/package/x11r7/xlib_libxkbfile/xlib_libxkbfile.hash b/package/x11r7/xlib_libxkbfile/xlib_libxkbfile.hash index 03e61bdc5..3f2ffdf09 100644 --- a/package/x11r7/xlib_libxkbfile/xlib_libxkbfile.hash +++ b/package/x11r7/xlib_libxkbfile/xlib_libxkbfile.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-March/002977.html -md5 dd7e1e946def674e78c0efbc5c7d5b3b libxkbfile-1.1.0.tar.bz2 -sha1 487f314b6dbc17e93d0fe1e3741392156a9ca895 libxkbfile-1.1.0.tar.bz2 -sha256 758dbdaa20add2db4902df0b1b7c936564b7376c02a0acd1f2a331bd334b38c7 libxkbfile-1.1.0.tar.bz2 -sha512 1c6a57564e916ccdc3df3c49b9f3589f701df0cec55112c12ddc35ac3ed556608c28fe98e5ba0ac1962e9a65ed1e90eb7e6169b564951bf55a7cf3499b745826 libxkbfile-1.1.0.tar.bz2 +md5 dd7e1e946def674e78c0efbc5c7d5b3b libxkbfile-1.1.0.tar.bz2 +sha1 487f314b6dbc17e93d0fe1e3741392156a9ca895 libxkbfile-1.1.0.tar.bz2 +sha256 758dbdaa20add2db4902df0b1b7c936564b7376c02a0acd1f2a331bd334b38c7 libxkbfile-1.1.0.tar.bz2 +sha512 1c6a57564e916ccdc3df3c49b9f3589f701df0cec55112c12ddc35ac3ed556608c28fe98e5ba0ac1962e9a65ed1e90eb7e6169b564951bf55a7cf3499b745826 libxkbfile-1.1.0.tar.bz2 # Locally computed -sha256 e1b3fdad8037ab3f986ef9caaa7c8da47d8d55875e680c7d6011f6c07363ea7c COPYING +sha256 e1b3fdad8037ab3f986ef9caaa7c8da47d8d55875e680c7d6011f6c07363ea7c COPYING diff --git a/package/x11r7/xlib_libxshmfence/xlib_libxshmfence.hash b/package/x11r7/xlib_libxshmfence/xlib_libxshmfence.hash index afdffb827..3ec055a79 100644 --- a/package/x11r7/xlib_libxshmfence/xlib_libxshmfence.hash +++ b/package/x11r7/xlib_libxshmfence/xlib_libxshmfence.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2018-February/002840.html -md5 42dda8016943dc12aff2c03a036e0937 libxshmfence-1.3.tar.bz2 -sha1 3472218fc0e8ee8183533d22dbcd4bbe90bf3ab8 libxshmfence-1.3.tar.bz2 -sha256 b884300d26a14961a076fbebc762a39831cb75f92bed5ccf9836345b459220c7 libxshmfence-1.3.tar.bz2 -sha512 c446e055f8fac62b9aa266132289a4cfc030282147974c45ce96d1768a98d1afb997470e58e4a68513174c404cbf373bdde2f0cd4b34abdbce1d89dd0b6fe2b7 libxshmfence-1.3.tar.bz2 +md5 42dda8016943dc12aff2c03a036e0937 libxshmfence-1.3.tar.bz2 +sha1 3472218fc0e8ee8183533d22dbcd4bbe90bf3ab8 libxshmfence-1.3.tar.bz2 +sha256 b884300d26a14961a076fbebc762a39831cb75f92bed5ccf9836345b459220c7 libxshmfence-1.3.tar.bz2 +sha512 c446e055f8fac62b9aa266132289a4cfc030282147974c45ce96d1768a98d1afb997470e58e4a68513174c404cbf373bdde2f0cd4b34abdbce1d89dd0b6fe2b7 libxshmfence-1.3.tar.bz2 # Locally computed -sha256 64a579d1a0b3347301d87c94698a58ea7933d0ae6ca7e8fdd702fde2ea376301 COPYING +sha256 64a579d1a0b3347301d87c94698a58ea7933d0ae6ca7e8fdd702fde2ea376301 COPYING diff --git a/package/x11r7/xlib_xtrans/xlib_xtrans.hash b/package/x11r7/xlib_xtrans/xlib_xtrans.hash index 4e212c0f9..1bab37244 100644 --- a/package/x11r7/xlib_xtrans/xlib_xtrans.hash +++ b/package/x11r7/xlib_xtrans/xlib_xtrans.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-March/002980.html -md5 ce2fb8100c6647ee81451ebe388b17ad xtrans-1.4.0.tar.bz2 -sha1 7c490026efb450798e02b040c05eba5212291c08 xtrans-1.4.0.tar.bz2 -sha256 377c4491593c417946efcd2c7600d1e62639f7a8bbca391887e2c4679807d773 xtrans-1.4.0.tar.bz2 -sha512 4fea89a3455c0e13321cbefa43340016dbb59bdd0dbdb5b796c1a6d2a6b1fd63cf1327b769ab426286b9c54b32ec764a50cd2b46228e4e43b841bda6b94de214 xtrans-1.4.0.tar.bz2 +md5 ce2fb8100c6647ee81451ebe388b17ad xtrans-1.4.0.tar.bz2 +sha1 7c490026efb450798e02b040c05eba5212291c08 xtrans-1.4.0.tar.bz2 +sha256 377c4491593c417946efcd2c7600d1e62639f7a8bbca391887e2c4679807d773 xtrans-1.4.0.tar.bz2 +sha512 4fea89a3455c0e13321cbefa43340016dbb59bdd0dbdb5b796c1a6d2a6b1fd63cf1327b769ab426286b9c54b32ec764a50cd2b46228e4e43b841bda6b94de214 xtrans-1.4.0.tar.bz2 # Locally computed -sha256 a9c96c832e00774266b492d4d41556f12a64f039ba3ef645c4b8c6010fcb8f2a COPYING +sha256 a9c96c832e00774266b492d4d41556f12a64f039ba3ef645c4b8c6010fcb8f2a COPYING diff --git a/package/x11r7/xserver_xorg-server/0002-Fix-compilation-error-when-built-without-logind-plat.patch b/package/x11r7/xserver_xorg-server/0002-Fix-compilation-error-when-built-without-logind-plat.patch deleted file mode 100644 index 164c0039b..000000000 --- a/package/x11r7/xserver_xorg-server/0002-Fix-compilation-error-when-built-without-logind-plat.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 17b6ab4d8cecf55a3784dbefbef9bfcf84ee3b1b Mon Sep 17 00:00:00 2001 -From: Jocelyn Falempe -Date: Thu, 16 Dec 2021 15:46:43 +0100 -Subject: [PATCH] Fix compilation error when built without logind/platform bus - -This was introduced by commit 8eb1396d - -Signed-off-by: Jocelyn Falempe -[Peter: from https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/827] -Signed-off-by: Peter Korsgaard ---- - hw/xfree86/common/xf86Events.c | 9 +-------- - hw/xfree86/os-support/linux/systemd-logind.c | 16 +++++++++++----- - include/systemd-logind.h | 4 ++-- - 3 files changed, 14 insertions(+), 15 deletions(-) - -diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c -index 6076efa80..395bbc7b3 100644 ---- a/hw/xfree86/common/xf86Events.c -+++ b/hw/xfree86/common/xf86Events.c -@@ -383,14 +383,7 @@ xf86VTLeave(void) - xf86GPUScreens[i]->LeaveVT(xf86GPUScreens[i]); - - if (systemd_logind_controls_session()) { -- for (i = 0; i < xf86_num_platform_devices; i++) { -- if (xf86_platform_devices[i].flags & XF86_PDEV_SERVER_FD) { -- int major, minor; -- major = xf86_platform_odev_attributes(i)->major; -- minor = xf86_platform_odev_attributes(i)->minor; -- systemd_logind_drop_master(major, minor); -- } -- } -+ systemd_logind_drop_master(); - } - - if (!xf86VTSwitchAway()) -diff --git a/hw/xfree86/os-support/linux/systemd-logind.c b/hw/xfree86/os-support/linux/systemd-logind.c -index 35d5cc75b..f6a223a55 100644 ---- a/hw/xfree86/os-support/linux/systemd-logind.c -+++ b/hw/xfree86/os-support/linux/systemd-logind.c -@@ -308,13 +308,19 @@ cleanup: - * and ensure the drm_drop_master is done before - * VT_RELDISP when switching VT - */ --void systemd_logind_drop_master(int _major, int _minor) -+void systemd_logind_drop_master(void) - { -- struct systemd_logind_info *info = &logind_info; -- dbus_int32_t major = _major; -- dbus_int32_t minor = _minor; -+ int i; -+ for (i = 0; i < xf86_num_platform_devices; i++) { -+ if (xf86_platform_devices[i].flags & XF86_PDEV_SERVER_FD) { -+ dbus_int32_t major, minor; -+ struct systemd_logind_info *info = &logind_info; - -- systemd_logind_ack_pause(info, minor, major); -+ major = xf86_platform_odev_attributes(i)->major; -+ minor = xf86_platform_odev_attributes(i)->minor; -+ systemd_logind_ack_pause(info, minor, major); -+ } -+ } - } - - static DBusHandlerResult -diff --git a/include/systemd-logind.h b/include/systemd-logind.h -index a8af2b96d..5c04d0130 100644 ---- a/include/systemd-logind.h -+++ b/include/systemd-logind.h -@@ -33,7 +33,7 @@ int systemd_logind_take_fd(int major, int minor, const char *path, Bool *paus); - void systemd_logind_release_fd(int major, int minor, int fd); - int systemd_logind_controls_session(void); - void systemd_logind_vtenter(void); --void systemd_logind_drop_master(int major, int minor); -+void systemd_logind_drop_master(void); - #else - #define systemd_logind_init() - #define systemd_logind_fini() -@@ -41,7 +41,7 @@ void systemd_logind_drop_master(int major, int minor); - #define systemd_logind_release_fd(major, minor, fd) close(fd) - #define systemd_logind_controls_session() 0 - #define systemd_logind_vtenter() --#define systemd_logind_drop_master(major, minor) -+#define systemd_logind_drop_master() - #endif - - #endif --- -2.20.1 - diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in index 4fb03051d..865917c4e 100644 --- a/package/x11r7/xserver_xorg-server/Config.in +++ b/package/x11r7/xserver_xorg-server/Config.in @@ -12,9 +12,9 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER select BR2_PACKAGE_LIBSHA1 if (!BR2_PACKAGE_OPENSSL && !BR2_PACKAGE_LIBGCRYPT) select BR2_PACKAGE_MCOOKIE select BR2_PACKAGE_PIXMAN - select BR2_PACKAGE_XFONT_FONT_ALIAS if !BR2_PACKAGE_XSERVER_XORG_SERVER_BUILTIN_FONTS - select BR2_PACKAGE_XFONT_FONT_MISC_MISC if !BR2_PACKAGE_XSERVER_XORG_SERVER_BUILTIN_FONTS - select BR2_PACKAGE_XFONT_FONT_CURSOR_MISC if !BR2_PACKAGE_XSERVER_XORG_SERVER_BUILTIN_FONTS + select BR2_PACKAGE_XFONT_FONT_ALIAS + select BR2_PACKAGE_XFONT_FONT_MISC_MISC + select BR2_PACKAGE_XFONT_FONT_CURSOR_MISC select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXAU select BR2_PACKAGE_XLIB_LIBXCURSOR @@ -85,6 +85,10 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER_XVFB config BR2_PACKAGE_XSERVER_XORG_SERVER_XEPHYR bool "Xephyr server" + select BR2_PACKAGE_XCB_UTIL_IMAGE if BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE + select BR2_PACKAGE_XCB_UTIL_KEYSYMS if BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE + select BR2_PACKAGE_XCB_UTIL_RENDERUTIL if BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE + select BR2_PACKAGE_XCB_UTIL_WM if BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE help Xephyr nested X server; successor to Xnest. diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash b/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash index 6008661db..092a640f0 100644 --- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash +++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash @@ -1,6 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2021-December/003125.html -sha256 c20bf46a9fe8e74bf4e75430637e58d49a02d806609dc161462bceb1ef7e8db0 xorg-server-21.1.2.tar.xz -sha512 6d7a0d29d5be09f80ed505c4d6ae964795127525a0ab73a4eab4f601788ab3627033143e5aeb4c2565c6683dd3402084d13acab5554606fbd519c4aec0a79def xorg-server-21.1.2.tar.xz - +# From https://lists.x.org/archives/xorg-announce/2023-March/003377.html +sha256 38aadb735650c8024ee25211c190bf8aad844c5f59632761ab1ef4c4d5aeb152 xorg-server-21.1.8.tar.xz +sha512 6104b3620ed2e1e27d9a8e963388bbe8785a764585b1bc03dbf5d719a92894773dda580d377ca18ceeab353e65a5d23cc947bab84a4012f9dd1eca31cac36937 xorg-server-21.1.8.tar.xz # 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 0cadba92a..593bbd427 100644 --- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk @@ -4,13 +4,14 @@ # ################################################################################ -XSERVER_XORG_SERVER_VERSION = 21.1.2 +XSERVER_XORG_SERVER_VERSION = 21.1.8 XSERVER_XORG_SERVER_SOURCE = xorg-server-$(XSERVER_XORG_SERVER_VERSION).tar.xz XSERVER_XORG_SERVER_SITE = https://xorg.freedesktop.org/archive/individual/xserver XSERVER_XORG_SERVER_LICENSE = MIT XSERVER_XORG_SERVER_LICENSE_FILES = COPYING XSERVER_XORG_SERVER_SELINUX_MODULES = xdg xserver XSERVER_XORG_SERVER_INSTALL_STAGING = YES + XSERVER_XORG_SERVER_DEPENDENCIES = \ xutil_util-macros \ xlib_libX11 \ @@ -45,7 +46,6 @@ XSERVER_XORG_SERVER_CONF_OPTS = \ --disable-config-hal \ --enable-record \ --disable-xnest \ - --disable-dmx \ --disable-unit-tests \ --with-builder-addr=buildroot@buildroot.org \ CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/pixman-1 -O2" \ @@ -84,6 +84,13 @@ XSERVER_XORG_SERVER_CONF_OPTS += \ --disable-glx \ --disable-dri +ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER_XEPHYR),y) +XSERVER_XORG_SERVER_DEPENDENCIES += \ + xcb-util-image \ + xcb-util-keysyms \ + xcb-util-renderutil \ + xcb-util-wm +endif else # modular XSERVER_XORG_SERVER_CONF_OPTS += --disable-kdrive endif @@ -158,10 +165,6 @@ else XSERVER_XORG_SERVER_CONF_OPTS += --disable-screensaver endif -ifneq ($(BR2_PACKAGE_XLIB_LIBDMX),y) -XSERVER_XORG_SERVER_CONF_OPTS += --disable-dmx -endif - ifeq ($(BR2_PACKAGE_OPENSSL),y) XSERVER_XORG_SERVER_CONF_OPTS += --with-sha1=libcrypto XSERVER_XORG_SERVER_DEPENDENCIES += openssl diff --git a/package/x11r7/xutil_makedepend/xutil_makedepend.hash b/package/x11r7/xutil_makedepend/xutil_makedepend.hash index 179860616..079fa9ef8 100644 --- a/package/x11r7/xutil_makedepend/xutil_makedepend.hash +++ b/package/x11r7/xutil_makedepend/xutil_makedepend.hash @@ -1,7 +1,7 @@ # From https://lists.x.org/archives/xorg-announce/2019-March/002985.html -md5 b2ca7f2f21f1c04a88b6a254c19c9b68 makedepend-1.0.6.tar.bz2 -sha1 3f321f7b570ec98f1fabc441267d29347a2e1456 makedepend-1.0.6.tar.bz2 -sha256 d558a52e8017d984ee59596a9582c8d699a1962391b632bec3bb6804bf4d501c makedepend-1.0.6.tar.bz2 -sha512 eb0e8ee8ab7515806d7d98a060cdcd392ec38e4225e5e05db26daa6651f185d0b764aab403edeea904d4d23211b1f7db20daeee6eafce8abe65225784ed0aa42 makedepend-1.0.6.tar.bz2 +md5 b2ca7f2f21f1c04a88b6a254c19c9b68 makedepend-1.0.6.tar.bz2 +sha1 3f321f7b570ec98f1fabc441267d29347a2e1456 makedepend-1.0.6.tar.bz2 +sha256 d558a52e8017d984ee59596a9582c8d699a1962391b632bec3bb6804bf4d501c makedepend-1.0.6.tar.bz2 +sha512 eb0e8ee8ab7515806d7d98a060cdcd392ec38e4225e5e05db26daa6651f185d0b764aab403edeea904d4d23211b1f7db20daeee6eafce8abe65225784ed0aa42 makedepend-1.0.6.tar.bz2 # Locally computed -sha256 0530078db78c47ae978dc2bd77f4f427e6cd97df868672c95b1ef284113c8cb7 COPYING +sha256 0530078db78c47ae978dc2bd77f4f427e6cd97df868672c95b1ef284113c8cb7 COPYING diff --git a/package/xavante/xavante.hash b/package/xavante/xavante.hash index b2e8633bc..842e2e32e 100644 --- a/package/xavante/xavante.hash +++ b/package/xavante/xavante.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 67c738f981e7d65d18c717f3acac59a37f95d5139c00fb0de5d3167262025273 xavante-2.4.0-1.src.rock -sha256 57b2c50f08bf500c969fe13500f217adb36582e4d8e75c9e2ed04191cb4a045c xavante-2.4.0/doc/us/license.html +sha256 67c738f981e7d65d18c717f3acac59a37f95d5139c00fb0de5d3167262025273 xavante-2.4.0-1.src.rock +sha256 57b2c50f08bf500c969fe13500f217adb36582e4d8e75c9e2ed04191cb4a045c xavante-2.4.0/doc/us/license.html diff --git a/package/xdg-dbus-proxy/xdg-dbus-proxy.hash b/package/xdg-dbus-proxy/xdg-dbus-proxy.hash index b7aa9ac70..7bbea72b0 100644 --- a/package/xdg-dbus-proxy/xdg-dbus-proxy.hash +++ b/package/xdg-dbus-proxy/xdg-dbus-proxy.hash @@ -1,5 +1,5 @@ -# From https://github.com/flatpak/xdg-dbus-proxy/releases/tag/0.1.3 -sha256 03b5d28ca879253ddbbce31098909becca1495ea811a6377a492e28f16c09b9b xdg-dbus-proxy-0.1.3.tar.xz +# From https://github.com/flatpak/xdg-dbus-proxy/releases/tag/0.1.4 +sha256 1ec0eab53d1e49966d722352bcfd51ac402dce5190baedc749a8541e761670ab xdg-dbus-proxy-0.1.4.tar.xz # Hash for license files: sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/xdg-dbus-proxy/xdg-dbus-proxy.mk b/package/xdg-dbus-proxy/xdg-dbus-proxy.mk index 9c4449c7b..b07cf787e 100644 --- a/package/xdg-dbus-proxy/xdg-dbus-proxy.mk +++ b/package/xdg-dbus-proxy/xdg-dbus-proxy.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDG_DBUS_PROXY_VERSION = 0.1.3 +XDG_DBUS_PROXY_VERSION = 0.1.4 XDG_DBUS_PROXY_SITE = https://github.com/flatpak/xdg-dbus-proxy/releases/download/$(XDG_DBUS_PROXY_VERSION) XDG_DBUS_PROXY_SOURCE = xdg-dbus-proxy-$(XDG_DBUS_PROXY_VERSION).tar.xz XDG_DBUS_PROXY_DEPENDENCIES = host-pkgconf libglib2 diff --git a/package/xdotool/xdotool.hash b/package/xdotool/xdotool.hash index b0d5a7582..e7de294a4 100644 --- a/package/xdotool/xdotool.hash +++ b/package/xdotool/xdotool.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 ddafca1239075c203769c17a5a184587731e56fbe0438c09d08f8af1704e117a xdotool-3.20160805.1.tar.gz -sha256 129d156c35b1cb19350f3716129173c8c89e019c0497d9df073db5b801becef2 COPYRIGHT +sha256 ddafca1239075c203769c17a5a184587731e56fbe0438c09d08f8af1704e117a xdotool-3.20160805.1.tar.gz +sha256 129d156c35b1cb19350f3716129173c8c89e019c0497d9df073db5b801becef2 COPYRIGHT diff --git a/package/xen/xen.hash b/package/xen/xen.hash index a81d05e3f..5637f0e8d 100644 --- a/package/xen/xen.hash +++ b/package/xen/xen.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 e76d56dfcdabf5d80aa06819f44472de49526a518dbb483eb08e7ff9aec2c669 xen-4.14.4.tar.gz +sha256 a1a24092ad14658eed420b7d56b67d0d9d5b314e96c30a799b45f3a721f98bf0 xen-4.14.5.tar.gz sha256 ecca9538e9d3f7e3c2bff827502f4495e2ef9e22c451298696ea08886b176c2c COPYING diff --git a/package/xen/xen.mk b/package/xen/xen.mk index 03341d427..169753e89 100644 --- a/package/xen/xen.mk +++ b/package/xen/xen.mk @@ -4,7 +4,7 @@ # ################################################################################ -XEN_VERSION = 4.14.4 +XEN_VERSION = 4.14.5 XEN_SITE = https://downloads.xenproject.org/release/xen/$(XEN_VERSION) XEN_LICENSE = GPL-2.0 XEN_LICENSE_FILES = COPYING diff --git a/package/xfsprogs/0003-libxfs-stop-overriding-MAP_SYNC-in-publicly-exported.patch b/package/xfsprogs/0003-libxfs-stop-overriding-MAP_SYNC-in-publicly-exported.patch new file mode 100644 index 000000000..510ed5b64 --- /dev/null +++ b/package/xfsprogs/0003-libxfs-stop-overriding-MAP_SYNC-in-publicly-exported.patch @@ -0,0 +1,187 @@ +From b82bd75c80aadcc2890b23f63eec9ba2c560b2e5 Mon Sep 17 00:00:00 2001 +From: "Darrick J. Wong" +Date: Thu, 4 Aug 2022 21:26:43 -0500 +Subject: [PATCH] libxfs: stop overriding MAP_SYNC in publicly exported header + files + +Florian Fainelli most recently reported that xfsprogs doesn't build with +musl on mips: + +"MIPS platforms building with recent kernel headers and the musl-libc +toolchain will expose the following build failure: + +mmap.c: In function 'mmap_f': +mmap.c:196:12: error: 'MAP_SYNC' undeclared (first use in this function); did you mean 'MS_SYNC'? + 196 | flags = MAP_SYNC | MAP_SHARED_VALIDATE; + | ^~~~~~~~ + | MS_SYNC +mmap.c:196:12: note: each undeclared identifier is reported only once for each function it appears in +make[4]: *** [../include/buildrules:81: mmap.o] Error 1" + +At first glance, the build failure here is caused by the fact that: + +1. The configure script doesn't detect MAP_SYNC support +2. The build system doesn't set HAVE_MAP_SYNC +2. io/mmap.c includes input.h -> projects.h -> xfs.h and later sys/mman.h +3. include/linux.h #define's MAP_SYNC to 0 if HAVE_MAP_SYNC is not set +4. musl's sys/mman.h #undef MAP_SYNC on platforms that don't support it +5. io/mmap.c tries to use MAP_SYNC, not realizing that libc undefined it + +Normally, xfs_io only exports functionality that is defined by the libc +and/or kernel headers on the build system. We often make exceptions for +new functionality so that we have a way to test them before the header +file packages catch up, hence this '#ifndef HAVE_FOO #define FOO' +paradigm. + +MAP_SYNC is a gross and horribly broken example of this. These support +crutches are supposed to be *private* to xfsprogs for benefit of early +testing, but they were instead added to include/linux.h, which we +provide to user programs in the xfslibs-dev package. IOWs, we've been + +Worst yet, gcc 11.3 doesn't even warn about overriding a #define to 0: + +int main(int argc, char *argv[]) { + printf("MAP_SYNC 0x%x\n", MAP_SYNC); +} + +$ gcc -o a a.c -Wall +$ ./a +MAP_SYNC 0x80000 +$ gcc -DSTUPID -o a a.c -Wall +$ ./a +MAP_SYNC 0x0 + +Four years have gone by since the introduction of MAP_SYNC, so let's get +rid of the override code entirely -- any platform that supports MAP_SYNC +has had plenty of chances to ensure their header files have the right +bits. While we're at it, fix AC_HAVE_MAP_SYNC to look for MAP_SYNC in +the same header file that the one user (io/mmap.c) uses -- sys/mman.h. + +Annoyingly, I had to test this by hand because the sole fstest that +exercises MAP_SYNC (generic/470) requires dm-logwrites and dm-thinp, +neither of which support fsdax on current kernels. + +Reported-by: info@mobile-stream.com +Reported-by: Fabrice Fontaine +Reported-by: Florian Fainelli +Signed-off-by: Darrick J. Wong +Tested-by: Florian Fainelli +Reviewed-by: Carlos Maiolino +Signed-off-by: Eric Sandeen +--- + include/linux.h | 8 -------- + io/io.h | 2 +- + io/mmap.c | 25 +++++++++++++------------ + m4/package_libcdev.m4 | 3 +-- + 4 files changed, 15 insertions(+), 23 deletions(-) + +diff --git a/include/linux.h b/include/linux.h +index de8a71221146..052facc15db5 100644 +--- a/include/linux.h ++++ b/include/linux.h +@@ -356,14 +356,6 @@ fsmap_advance( + #define HAVE_GETFSMAP + #endif /* HAVE_GETFSMAP */ + +-#ifndef HAVE_MAP_SYNC +-#define MAP_SYNC 0 +-#define MAP_SHARED_VALIDATE 0 +-#else +-#include +-#include +-#endif /* HAVE_MAP_SYNC */ +- + /* + * Reminder: anything added to this file will be compiled into downstream + * userspace projects! +diff --git a/io/io.h b/io/io.h +index 49db902fc44f..64b7a663a8cf 100644 +--- a/io/io.h ++++ b/io/io.h +@@ -55,7 +55,7 @@ typedef struct mmap_region { + size_t length; /* length of mapping */ + off64_t offset; /* start offset into backing file */ + int prot; /* protection mode of the mapping */ +- bool map_sync; /* is this a MAP_SYNC mapping? */ ++ int flags; /* MAP_* flags passed to mmap() */ + char *name; /* name of backing file */ + } mmap_region_t; + +diff --git a/io/mmap.c b/io/mmap.c +index 8c048a0ab6d0..425957d4b487 100644 +--- a/io/mmap.c ++++ b/io/mmap.c +@@ -46,8 +46,11 @@ print_mapping( + for (i = 0, p = pflags; p->prot != PROT_NONE; i++, p++) + buffer[i] = (map->prot & p->prot) ? p->mode : '-'; + +- if (map->map_sync) ++#ifdef HAVE_MAP_SYNC ++ if ((map->flags & (MAP_SYNC | MAP_SHARED_VALIDATE)) == ++ (MAP_SYNC | MAP_SHARED_VALIDATE)) + sprintf(&buffer[i], " S"); ++#endif + + printf("%c%03d%c 0x%lx - 0x%lx %s %14s (%lld : %ld)\n", + braces? '[' : ' ', index, braces? ']' : ' ', +@@ -139,7 +142,9 @@ mmap_help(void) + " -r -- map with PROT_READ protection\n" + " -w -- map with PROT_WRITE protection\n" + " -x -- map with PROT_EXEC protection\n" ++#ifdef HAVE_MAP_SYNC + " -S -- map with MAP_SYNC and MAP_SHARED_VALIDATE flags\n" ++#endif + " -s -- first do mmap(size)/munmap(size), try to reserve some free space\n" + " If no protection mode is specified, all are used by default.\n" + "\n")); +@@ -193,18 +198,14 @@ mmap_f( + prot |= PROT_EXEC; + break; + case 'S': ++#ifdef HAVE_MAP_SYNC + flags = MAP_SYNC | MAP_SHARED_VALIDATE; +- +- /* +- * If MAP_SYNC and MAP_SHARED_VALIDATE aren't defined +- * in the system headers we will have defined them +- * both as 0. +- */ +- if (!flags) { +- printf("MAP_SYNC not supported\n"); +- return 0; +- } + break; ++#else ++ printf("MAP_SYNC not supported\n"); ++ exitcode = 1; ++ return command_usage(&mmap_cmd); ++#endif + case 's': + length2 = cvtnum(blocksize, sectsize, optarg); + break; +@@ -281,7 +282,7 @@ mmap_f( + mapping->offset = offset; + mapping->name = filename; + mapping->prot = prot; +- mapping->map_sync = (flags == (MAP_SYNC | MAP_SHARED_VALIDATE)); ++ mapping->flags = flags; + return 0; + } + +diff --git a/m4/package_libcdev.m4 b/m4/package_libcdev.m4 +index adab9bb9773a..3a0c23453176 100644 +--- a/m4/package_libcdev.m4 ++++ b/m4/package_libcdev.m4 +@@ -339,8 +339,7 @@ AC_DEFUN([AC_HAVE_STATFS_FLAGS], + AC_DEFUN([AC_HAVE_MAP_SYNC], + [ AC_MSG_CHECKING([for MAP_SYNC]) + AC_TRY_COMPILE([ +-#include +-#include ++#include + ], [ + int flags = MAP_SYNC | MAP_SHARED_VALIDATE; + ], have_map_sync=yes +-- +2.25.1 + diff --git a/package/xmlstarlet/xmlstarlet.hash b/package/xmlstarlet/xmlstarlet.hash index 719115095..4b696bb2a 100644 --- a/package/xmlstarlet/xmlstarlet.hash +++ b/package/xmlstarlet/xmlstarlet.hash @@ -1,5 +1,5 @@ # From https://sourceforge.net/projects/xmlstar/files/xmlstarlet/1.6.1/ -sha1 87bb104f546caca71b9540807c5b2738944cb219 xmlstarlet-1.6.1.tar.gz -md5 f3c5dfa3b1a2ee06cd57c255cc8b70a0 xmlstarlet-1.6.1.tar.gz +sha1 87bb104f546caca71b9540807c5b2738944cb219 xmlstarlet-1.6.1.tar.gz +md5 f3c5dfa3b1a2ee06cd57c255cc8b70a0 xmlstarlet-1.6.1.tar.gz # Locally computed sha256 6641cc5b00c1651fa22175f34efd01695e64a348b1ba07048538276f44866862 COPYING diff --git a/package/xmrig/Config.in b/package/xmrig/Config.in index 702424101..c5c6b3e37 100644 --- a/package/xmrig/Config.in +++ b/package/xmrig/Config.in @@ -8,15 +8,17 @@ config BR2_PACKAGE_XMRIG # xmrig needs fenv.h which is not provided by uclibc depends on !BR2_TOOLCHAIN_USES_UCLIBC depends on !BR2_STATIC_LIBS # libuv + depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_LIBUV help RandomX, CryptoNight, AstroBWT and Argon2 CPU/GPU miner. https://xmrig.com -comment "xmrig needs a glibc or musl toolchain w/ NPTL, dynamic library" +comment "xmrig needs a glibc or musl toolchain w/ NPTL, dynamic library, C++" depends on BR2_aarch64 || BR2_x86_64 || BR2_i386 depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ - BR2_TOOLCHAIN_USES_UCLIBC || BR2_STATIC_LIBS + BR2_TOOLCHAIN_USES_UCLIBC || BR2_STATIC_LIBS || \ + !BR2_INSTALL_LIBSTDCPP diff --git a/package/xtables-addons/xtables-addons.hash b/package/xtables-addons/xtables-addons.hash index a103fa3b5..0d2434eeb 100644 --- a/package/xtables-addons/xtables-addons.hash +++ b/package/xtables-addons/xtables-addons.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 2a640535f209ec59467b8c8b4343b446801a21a112a3fc189818d6e2697f5cf1 xtables-addons-3.17.tar.xz +sha256 2e09ac129a14f5e9c23b115ebcdfff4aa84e2aeba1268dbdf39b2d752bd71e19 xtables-addons-3.21.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE diff --git a/package/xtables-addons/xtables-addons.mk b/package/xtables-addons/xtables-addons.mk index b3d1bf2d4..83cc3266c 100644 --- a/package/xtables-addons/xtables-addons.mk +++ b/package/xtables-addons/xtables-addons.mk @@ -4,7 +4,7 @@ # ################################################################################ -XTABLES_ADDONS_VERSION = 3.17 +XTABLES_ADDONS_VERSION = 3.21 XTABLES_ADDONS_SOURCE = xtables-addons-$(XTABLES_ADDONS_VERSION).tar.xz XTABLES_ADDONS_SITE = https://inai.de/files/xtables-addons XTABLES_ADDONS_DEPENDENCIES = iptables linux host-pkgconf diff --git a/package/xterm/xterm.hash b/package/xterm/xterm.hash index 3f6ec765c..12cd2e639 100644 --- a/package/xterm/xterm.hash +++ b/package/xterm/xterm.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 32f888277b19e28ebc0a3112bff000607c07bed0679caa0beebb36f9cad484f5 xterm-371.tgz +sha256 1e5bb7aad068fb31d6d3cbb77f80c7ad1526cd4c956a4ddcf2c5cf28af5334e1 xterm-376.tgz # Locally calculated sha256 9521ef761474cd31ea406f56a751646a7b42a9287cdc6f2f8e52ed4c4d2a73e7 COPYING diff --git a/package/xterm/xterm.mk b/package/xterm/xterm.mk index 95984f1cf..d01b608d9 100644 --- a/package/xterm/xterm.mk +++ b/package/xterm/xterm.mk @@ -4,7 +4,7 @@ # ################################################################################ -XTERM_VERSION = 371 +XTERM_VERSION = 376 XTERM_SOURCE = xterm-$(XTERM_VERSION).tgz XTERM_SITE = http://invisible-mirror.net/archives/xterm XTERM_DEPENDENCIES = ncurses xlib_libXaw host-pkgconf diff --git a/package/xutil_util-macros/xutil_util-macros.hash b/package/xutil_util-macros/xutil_util-macros.hash index 3f28743e6..30c9916dc 100644 --- a/package/xutil_util-macros/xutil_util-macros.hash +++ b/package/xutil_util-macros/xutil_util-macros.hash @@ -2,4 +2,4 @@ sha256 0f812e6e9d2786ba8f54b960ee563c0663ddbe2434bf24ff193f5feab1f31971 util-macros-1.19.3.tar.bz2 sha512 b9c7398a912c688a782eab5b1e0f6da2df11a430775c5c98fc3269f73a665de6eeb60d300a849e38d345714a6e51f74e9334cb6039767304cca4b93d823a53a2 util-macros-1.19.3.tar.bz2 # Locally computed -sha256 489b630a75e3255485732eae3d50ff4d29d3feb66760bb3acb04f897e4d9e375 COPYING +sha256 489b630a75e3255485732eae3d50ff4d29d3feb66760bb3acb04f897e4d9e375 COPYING diff --git a/package/xxhash/0004-Makefile-add-install_libxxhash.includes-target.patch b/package/xxhash/0004-Makefile-add-install_libxxhash.includes-target.patch new file mode 100644 index 000000000..22c8cdaad --- /dev/null +++ b/package/xxhash/0004-Makefile-add-install_libxxhash.includes-target.patch @@ -0,0 +1,39 @@ +From b7c91f761b6d0b79398d0a064d2d6e34de3dfa47 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 27 Dec 2022 23:12:37 +0100 +Subject: [PATCH] Makefile: add install_libxxhash.includes target + +Add install_libxxhash.includes to be able to install headers when +building and installing the static library + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/Cyan4973/xxHash/pull/776] +--- + Makefile | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index cfa5779..2276282 100644 +--- a/Makefile ++++ b/Makefile +@@ -557,6 +557,8 @@ install_libxxhash: libxxhash + $(Q)$(INSTALL_PROGRAM) $(LIBXXH) $(DESTDIR)$(LIBDIR) + $(Q)ln -sf $(LIBXXH) $(DESTDIR)$(LIBDIR)/libxxhash.$(SHARED_EXT_MAJOR) + $(Q)ln -sf $(LIBXXH) $(DESTDIR)$(LIBDIR)/libxxhash.$(SHARED_EXT) ++ ++install_libxxhash.includes: + $(Q)$(INSTALL) -d -m 755 $(DESTDIR)$(INCLUDEDIR) # includes + $(Q)$(INSTALL_DATA) xxhash.h $(DESTDIR)$(INCLUDEDIR) + $(Q)$(INSTALL_DATA) xxh3.h $(DESTDIR)$(INCLUDEDIR) # for compatibility, will be removed in v0.9.0 +@@ -586,7 +588,7 @@ install_man: + $(Q)ln -sf xxhsum.1 $(DESTDIR)$(MANDIR)/xxh128sum.1 + + .PHONY: install +-install: install_libxxhash.a install_libxxhash install_libxxhash.pc install_xxhsum install_man ## install libraries, CLI, links and man page ++install: install_libxxhash.a install_libxxhash install_libxxhash.includes install_libxxhash.pc install_xxhsum install_man ## install libraries, CLI, links and man page + @echo xxhash installation completed + + .PHONY: uninstall +-- +2.35.1 + diff --git a/package/xxhash/xxhash.mk b/package/xxhash/xxhash.mk index a8f8d1d17..75d375a2f 100644 --- a/package/xxhash/xxhash.mk +++ b/package/xxhash/xxhash.mk @@ -10,24 +10,25 @@ XXHASH_LICENSE = BSD-2-Clause (library), GPL-2.0+ (xxhsum) XXHASH_LICENSE_FILES = LICENSE cli/COPYING XXHASH_INSTALL_STAGING = YES -XXHASH_TARGETS = xxhsum -XXHASH_INSTALL_TARGETS = install_xxhsum - -ifeq ($(BR2_STATIC_LIBS),y) -XXHASH_TARGETS += libxxhash.a libxxhash.pc -XXHASH_INSTALL_TARGETS += install_libxxhash.a install_libxxhash.pc -else ifeq ($(BR2_SHARED_LIBS),y) -XXHASH_TARGETS += libxxhash libxxhash.pc -XXHASH_INSTALL_TARGETS += install_libxxhash install_libxxhash.pc -else ifeq ($(BR2_SHARED_STATIC_LIBS),y) -XXHASH_TARGETS += libxxhash.a libxxhash libxxhash.pc -XXHASH_INSTALL_TARGETS += \ - install_libxxhash.a install_libxxhash install_libxxhash.pc +XXHASH_TARGETS = xxhsum libxxhash.pc +XXHASH_INSTALL_TARGETS = \ + install_libxxhash.includes \ + install_libxxhash.pc \ + install_xxhsum + +ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y) +XXHASH_TARGETS += libxxhash.a +XXHASH_INSTALL_TARGETS += install_libxxhash.a +endif + +ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y) +XXHASH_TARGETS += libxxhash +XXHASH_INSTALL_TARGETS += install_libxxhash endif define XXHASH_BUILD_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ - $(XXHASH_TARGETS) + MOREFLAGS=-DXXH_NO_INLINE_HINTS $(XXHASH_TARGETS) endef define XXHASH_INSTALL_STAGING_CMDS diff --git a/package/xz/0001-Detect-symver-attribute-support.patch b/package/xz/0001-Detect-symver-attribute-support.patch new file mode 100644 index 000000000..462fa9d86 --- /dev/null +++ b/package/xz/0001-Detect-symver-attribute-support.patch @@ -0,0 +1,70 @@ +From f0e0e8bd08b4d4e7c89a5a3b7d9a3c083f7e5432 Mon Sep 17 00:00:00 2001 +From: Vincent Fazio +Date: Wed, 8 Feb 2023 12:58:37 +0000 +Subject: [PATCH] Detect symver attribute support + +On Microblaze, builds will fail when trying to add symver information +because __attribute__((symver ..)) is not supported even though +__has_attribute(__symver__) returns true. + +Support for symver needs to be detected via a compile test since +__has_attribute can report false positives [0]. + +Add a configure compile check for __attribute__((symver ..)) to ensure +it is supported and define a variable to advertise support. + +[0] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101766#c1 + +Upstream: https://github.com/tukaani-project/xz/pull/32 +Signed-off-by: Thomas Petazzoni +Signed-off-by: Vincent Fazio +[Peter: patch configure instead of configure.ac so autoreconf isn't +triggered at build time] +Signed-off-by: Peter Korsgaard +--- + configure | 15 +++++++++++++++ + src/liblzma/common/common.h | 2 +- + 2 files changed, 16 insertions(+), 1 deletion(-) + +diff --git a/src/liblzma/common/common.h b/src/liblzma/common/common.h +index 671d3bc..27b56ee 100644 +--- a/src/liblzma/common/common.h ++++ b/src/liblzma/common/common.h +@@ -76,7 +76,7 @@ + // too (which doesn't support __symver__) so use it to detect if __symver__ + // is available. This should be far more reliable than looking at compiler + // version macros as nowadays especially __GNUC__ is defined by many compilers. +-# if lzma_has_attribute(__symver__) ++# if defined(HAVE_SYMVER_ATTRIBUTE) + # define LZMA_SYMVER_API(extnamever, type, intname) \ + extern __attribute__((__symver__(extnamever))) \ + LZMA_API(type) intname +diff --git a/configure b/configure +index ff0eed5..e685b30 100755 +--- a/configure ++++ b/configure +@@ -16687,6 +16687,21 @@ printf "%s\n" "" >&6; } + + printf "%s\n" "#define HAVE_SYMBOL_VERSIONS_LINUX $have_symbol_versions_linux" >>confdefs.h + ++ OLD_CFLAGS="$CFLAGS" ++ CFLAGS="$CFLAGS -Werror" # we need -Werror to make sure the attribute is not ignored ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++__attribute__ ((symver ("test@TEST"))) void foo(void) { } ++ ++_ACEOF ++if ac_fn_c_try_compile "$LINENO" ++then : ++ ++printf "%s\n" "#define HAVE_SYMVER_ATTRIBUTE 1" >>confdefs.h ++ ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++ CFLAGS="$OLD_CFLAGS" + ;; + *) + enable_symbol_versions=generic +-- +2.34.1 + diff --git a/package/xz/xz.hash b/package/xz/xz.hash index 3dd0cbe45..1153e02b4 100644 --- a/package/xz/xz.hash +++ b/package/xz/xz.hash @@ -1,5 +1,6 @@ # Locally calculated after checking pgp signature -sha256 5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df xz-5.2.5.tar.bz2 +# https://tukaani.org/xz/xz-5.2.10.tar.bz2.sig +sha256 01b71df61521d9da698ce3c33148bff06a131628ff037398c09482f3a26e5408 xz-5.2.10.tar.bz2 # Hash for license files sha256 bcb02973ef6e87ea73d331b3a80df7748407f17efdb784b61b47e0e610d3bb5c COPYING diff --git a/package/xz/xz.mk b/package/xz/xz.mk index af611975a..0120d23b8 100644 --- a/package/xz/xz.mk +++ b/package/xz/xz.mk @@ -4,7 +4,7 @@ # ################################################################################ -XZ_VERSION = 5.2.5 +XZ_VERSION = 5.2.10 XZ_SOURCE = xz-$(XZ_VERSION).tar.bz2 XZ_SITE = https://tukaani.org/xz XZ_INSTALL_STAGING = YES diff --git a/package/yad/yad.hash b/package/yad/yad.hash index 1eee499c7..ec0edc522 100644 --- a/package/yad/yad.hash +++ b/package/yad/yad.hash @@ -1,6 +1,6 @@ # From http://sourceforge.net/projects/yad-dialog/files/ -md5 82d458a2e1695dd0709f71ad26109812 yad-0.40.0.tar.xz -sha1 4376eb42f8e38972124dc81e534cbdc9088109fb yad-0.40.0.tar.xz +md5 82d458a2e1695dd0709f71ad26109812 yad-0.40.0.tar.xz +sha1 4376eb42f8e38972124dc81e534cbdc9088109fb yad-0.40.0.tar.xz # Hash for license file -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/yajl/yajl.mk b/package/yajl/yajl.mk index 1fb16f50e..d14a68b40 100644 --- a/package/yajl/yajl.mk +++ b/package/yajl/yajl.mk @@ -5,7 +5,7 @@ ################################################################################ YAJL_VERSION = 2.1.0 -YAJL_SITE = $(call github,lloyd,yajl,$(YAJL_VERSION)) +YAJL_SITE = $(call github,lloyd,yajl,refs/tags/$(YAJL_VERSION)) YAJL_INSTALL_STAGING = YES YAJL_LICENSE = ISC YAJL_LICENSE_FILES = COPYING diff --git a/package/zabbix/0001-m4-netsnmp.m4-fix-shared-netsnmp-build.patch b/package/zabbix/0001-m4-netsnmp.m4-fix-shared-netsnmp-build.patch new file mode 100644 index 000000000..ffb1f54ba --- /dev/null +++ b/package/zabbix/0001-m4-netsnmp.m4-fix-shared-netsnmp-build.patch @@ -0,0 +1,44 @@ +From 3e810c0804ec40ad6e111a9791cdb2033ecdad71 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 25 Feb 2022 23:30:19 +0100 +Subject: [PATCH] m4/netsnmp.m4: fix shared netsnmp build + +Since commit fe391e8689c523d3c7ea6b173d25aa5dba3a6902, the build fails +with the following error if the user provides the path of +net-snmp-config through the --with-net-snmp option: + +configure: error: "libnetsnmp.a static library was not found in /home/buildroot/autobuild/instance-0/output-1/host/powerpc64le-buildroot-linux-gnu/sysroot/usr/bin/../../usr/lib" + +However, the assumption that a static library will be provided by the +system is just plain wrong so replace AC_MSG_ERROR by AC_MSG_WARN + +Fixes: + - http://autobuild.buildroot.org/results/0f541e45d1fa27b3302968683bf64949131ec1c9 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/zabbix/zabbix/pull/61] +--- + m4/netsnmp.m4 | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/m4/netsnmp.m4 b/m4/netsnmp.m4 +index 5e84d84303..87e21a67e6 100644 +--- a/m4/netsnmp.m4 ++++ b/m4/netsnmp.m4 +@@ -140,8 +140,11 @@ AC_HELP_STRING([--with-net-snmp@<:@=ARG@:>@], + test [ "x$static_linking_support" = "xno" -o -z "$static_linking_support" ] -a -z "$_libsnmp_dir_lib" && AC_MSG_ERROR(["Compiler not support statically linked libs from default folders"]) + + if test "x$static_linking_support" = "xno" -o -z "$static_linking_support"; then +- test -f $_libsnmp_dir_lib/libnetsnmp.a || AC_MSG_ERROR(["libnetsnmp.a static library was not found in $_libsnmp_dir_lib"]) +- SNMP_LIBS=`echo "$SNMP_LIBS"|sed "s|-lnetsnmp|$_libsnmp_dir_lib/libnetsnmp.a|g"` ++ if test -f $_libsnmp_dir_lib/libnetsnmp.a; then ++ SNMP_LIBS=`echo "$SNMP_LIBS"|sed "s|-lnetsnmp|$_libsnmp_dir_lib/libnetsnmp.a|g"` ++ else ++ AC_MSG_WARN(["libnetsnmp.a static library was not found in $_libsnmp_dir_lib"]) ++ fi + else + SNMP_LIBS=`echo "$SNMP_LIBS"|sed "s/-lnetsnmp/${static_linking_support}static -lnetsnmp ${static_linking_support}dynamic/g"` + fi +-- +2.34.1 + diff --git a/package/zabbix/Config.in b/package/zabbix/Config.in index 6f8a95293..0f7a0b000 100644 --- a/package/zabbix/Config.in +++ b/package/zabbix/Config.in @@ -45,6 +45,7 @@ config BR2_PACKAGE_ZABBIX_SERVER_POSTGRESQL bool "postgresql" depends on BR2_USE_WCHAR # postgresql depends on !BR2_STATIC_LIBS # postgresql + depends on !BR2_OPTIMIZE_FAST # postgresql select BR2_PACKAGE_POSTGRESQL endchoice diff --git a/package/zabbix/zabbix.mk b/package/zabbix/zabbix.mk index e6564e68f..e00d693ba 100644 --- a/package/zabbix/zabbix.mk +++ b/package/zabbix/zabbix.mk @@ -10,6 +10,8 @@ ZABBIX_SITE = https://cdn.zabbix.com/zabbix/sources/stable/$(ZABBIX_VERSION_MAJO ZABBIX_LICENSE = GPL-2.0+ ZABBIX_LICENSE_FILES = README COPYING ZABBIX_CPE_ID_VENDOR = zabbix +# We're patching m4/netsnmp.m4 +ZABBIX_AUTORECONF = YES ZABBIX_DEPENDENCIES = pcre ZABBIX_CONF_OPTS = \ @@ -53,7 +55,7 @@ else ZABBIX_CONF_OPTS += --without-libxml2 endif -ifeq ($(BR2_PACKAGE_NETSNMP),y) +ifeq ($(BR2_PACKAGE_NETSNMP_ENABLE_MIBS),y) ZABBIX_CONF_OPTS += --with-net-snmp=$(STAGING_DIR)/usr/bin/net-snmp-config ZABBIX_DEPENDENCIES += netsnmp else @@ -123,6 +125,13 @@ endif endif # BR2_PACKAGE_ZABBIX_SERVER +# zabbix uses custom --enable-{static,shared} options, instead of +# standard libtool directives resulting in a build failure with libcurl +# or openssl. +ifeq ($(BR2_SHARED_STATIC_LIBS),y) +ZABBIX_CONF_OPTS += --disable-static +endif + define ZABBIX_INSTALL_INIT_SYSTEMD $(foreach unit,$(ZABBIX_SYSTEMD_UNITS),\ $(INSTALL) -D -m 0644 $(ZABBIX_PKGDIR)/$(unit) $(TARGET_DIR)/usr/lib/systemd/system/$(unit) && \ diff --git a/package/zeromq/Config.in b/package/zeromq/Config.in index cf5c644c3..209acf1a5 100644 --- a/package/zeromq/Config.in +++ b/package/zeromq/Config.in @@ -5,8 +5,6 @@ config BR2_PACKAGE_ZEROMQ bool "zeromq" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS - select BR2_PACKAGE_UTIL_LINUX - select BR2_PACKAGE_UTIL_LINUX_LIBUUID help ØMQ (ZeroMQ, 0MQ, zmq) looks like an embeddable networking library but acts like a concurrency framework. It gives you diff --git a/package/zeromq/zeromq.mk b/package/zeromq/zeromq.mk index 182699403..452c5f429 100644 --- a/package/zeromq/zeromq.mk +++ b/package/zeromq/zeromq.mk @@ -7,7 +7,6 @@ ZEROMQ_VERSION = 4.3.4 ZEROMQ_SITE = https://github.com/zeromq/libzmq/releases/download/v$(ZEROMQ_VERSION) ZEROMQ_INSTALL_STAGING = YES -ZEROMQ_DEPENDENCIES = util-linux ZEROMQ_CONF_OPTS = --disable-Werror --without-documentation ZEROMQ_LICENSE = LGPL-3.0+ with exceptions ZEROMQ_LICENSE_FILES = COPYING COPYING.LESSER @@ -18,7 +17,10 @@ ZEROMQ_CPE_ID_PRODUCT = libzmq # SOCK_CLOEXEC, since linux v2.6.27. # Note: the flag TCP_KEEPALIVE is NOT available so we do not include it. ZEROMQ_CONF_ENV = libzmq_cv_sock_cloexec=yes \ + libzmq_cv_o_cloexec=yes \ libzmq_cv_so_keepalive=yes \ + libzmq_cv_so_priority=yes \ + libzmq_cv_so_bindtodevice=yes \ libzmq_cv_tcp_keepcnt=yes \ libzmq_cv_tcp_keepidle=yes \ libzmq_cv_tcp_keepintvl=yes diff --git a/package/zfs/zfs.mk b/package/zfs/zfs.mk index dbda8aceb..c04d2ff5c 100644 --- a/package/zfs/zfs.mk +++ b/package/zfs/zfs.mk @@ -52,7 +52,7 @@ endif ifeq ($(BR2_PACKAGE_LINUX_PAM),y) ZFS_DEPENDENCIES += linux-pam -ZFS_CONF_ENV += --enable-pam=yes +ZFS_CONF_OPTS += --enable-pam else ZFS_CONF_OPTS += --disable-pam endif diff --git a/package/zip/zip.hash b/package/zip/zip.hash index 5e1b3353a..eb4bbf3b0 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 8ecd6c1bab449127eb665cef1561e73a8bce52e217375f6f466939e137b1e110 LICENSE +sha256 f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369 zip30.tgz +sha256 8ecd6c1bab449127eb665cef1561e73a8bce52e217375f6f466939e137b1e110 LICENSE diff --git a/package/zip/zip.mk b/package/zip/zip.mk index 2d11e1c76..67958a4a6 100644 --- a/package/zip/zip.mk +++ b/package/zip/zip.mk @@ -11,7 +11,6 @@ ZIP_SITE = ftp://ftp.info-zip.org/pub/infozip/src ZIP_LICENSE = Info-ZIP ZIP_LICENSE_FILES = LICENSE ZIP_CPE_ID_VENDOR = info-zip_project -ZIP_INSTALL_STAGING = YES ifeq ($(BR2_PACKAGE_BZIP2),y) ZIP_DEPENDENCIES += bzip2 @@ -41,11 +40,6 @@ define ZIP_INSTALL_TARGET_CMDS prefix=$(TARGET_DIR)/usr endef -define ZIP_INSTALLING_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) -f unix/Makefile install \ - prefix=$(STAGING_DIR)/usr -endef - define HOST_ZIP_BUILD_CMDS $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D) \ CFLAGS="$(HOST_CFLAGS) $(ZIP_CFLAGS)" \ diff --git a/package/zlib-ng/0002-CMakeLists.txt-fix-version-in-zlib.pc-when-building-.patch b/package/zlib-ng/0002-CMakeLists.txt-fix-version-in-zlib.pc-when-building-.patch new file mode 100644 index 000000000..749c45ddc --- /dev/null +++ b/package/zlib-ng/0002-CMakeLists.txt-fix-version-in-zlib.pc-when-building-.patch @@ -0,0 +1,53 @@ +From 9fcc446306f27eb253545540ce28403874b899fa Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 27 May 2022 23:25:21 +0200 +Subject: [PATCH] CMakeLists.txt: fix version in zlib.pc when building + statically + +When building statically (i.e. with BUILD_SHARED_LIBS=OFF), +ZLIB_FULL_VERSION is not set resulting in an empty version in zlib.pc +and the following build failure with transmission: + +checking for ZLIB... configure: error: Package requirements (zlib >= 1.2.3) were not met: + +Package dependency requirement 'zlib >= 1.2.3' could not be satisfied. +Package 'zlib' has version '', required version is '>= 1.2.3' + +Fixes: + - http://autobuild.buildroot.org/results/b3b882482f517726e5c780ba4c37818bd379df82 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/zlib-ng/zlib-ng/pull/1278] +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a62a95e..6a26d59 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -150,8 +150,10 @@ if(ZLIB_COMPAT) + add_definitions(-DZLIB_COMPAT) + set(WITH_GZFILEOP ON) + set(SUFFIX "") ++ set(ZLIB_FULL_VERSION ${ZLIB_HEADER_VERSION}.zlib-ng) + else() + set(SUFFIX "-ng") ++ set(ZLIB_FULL_VERSION ${ZLIBNG_HEADER_VERSION}) + endif() + + if(WITH_GZFILEOP) +@@ -1068,10 +1070,8 @@ if(NOT DEFINED BUILD_SHARED_LIBS OR BUILD_SHARED_LIBS) + set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL) + + if(ZLIB_COMPAT) +- set(ZLIB_FULL_VERSION ${ZLIB_HEADER_VERSION}.zlib-ng) + set_target_properties(zlib PROPERTIES SOVERSION 1) + else() +- set(ZLIB_FULL_VERSION ${ZLIBNG_HEADER_VERSION}) + set_target_properties(zlib PROPERTIES SOVERSION 2) + endif() + +-- +2.35.1 + diff --git a/package/zlib-ng/0003-zlib-ng-check-that-sys-auxv.h-exists-at-configure-time.patch b/package/zlib-ng/0003-zlib-ng-check-that-sys-auxv.h-exists-at-configure-time.patch new file mode 100644 index 000000000..ba8297cda --- /dev/null +++ b/package/zlib-ng/0003-zlib-ng-check-that-sys-auxv.h-exists-at-configure-time.patch @@ -0,0 +1,90 @@ +From e1baa6b439c06f3d0e6be3e381cc746ffb55aee1 Mon Sep 17 00:00:00 2001 +From: Mika Lindqvist +Date: Wed, 13 Apr 2022 01:22:29 +0300 +Subject: [PATCH] Check that sys/auxv.h exists at configure time and add + preprocessor define for it. * Protect including sys/auxv.h in all relevant + files with the new preprocessor define * Test for both existence of both + sys/auxv.h and getauxval() with both cmake and configure + +[Ben Hutchings: Backport to 2.0.6: + - Drop the s390 changes + - Change some filenames] + +Backported from: e1baa6b439c06f3d0e6be3e381cc746ffb55aee1 +Signed-off-by: Ben Hutchings +--- + CMakeLists.txt | 4 ++++ + arch/arm/armfeature.c | 2 +- + arch/power/power.c | 5 ++++- + configure | 13 +++++++++++++ + 4 files changed, 22 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0dd196130..e4e4b7332 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -338,6 +338,10 @@ endif() + # + # Check for standard/system includes + # ++check_include_file(sys/auxv.h HAVE_SYS_AUXV_H) ++if(HAVE_SYS_AUXV_H) ++ add_definitions(-DHAVE_SYS_AUXV_H) ++endif() + check_include_file(sys/sdt.h HAVE_SYS_SDT_H) + if(HAVE_SYS_SDT_H) + add_definitions(-DHAVE_SYS_SDT_H) +diff --git a/arch/arm/arm_features.c b/arch/arm/arm_features.c +index 195c94992..f6b67687f 100644 +--- a/arch/arm/armfeature.c ++++ b/arch/arm/armfeature.c +@@ -1,6 +1,6 @@ + #include "../../zutil.h" + +-#if defined(__linux__) ++#if defined(__linux__) && defined(HAVE_SYS_AUXV_H) + # include + # ifdef ARM_ASM_HWCAP + # include +diff --git a/arch/power/power_features.c b/arch/power/power_features.c +index 9186b40d8..65599d9a7 100644 +--- a/arch/power/power.c ++++ b/arch/power/power.c +@@ -1,9 +1,12 @@ + /* POWER feature check + * Copyright (C) 2020 Matheus Castanho , IBM ++ * Copyright (C) 2021-2022 Mika T. Lindqvist + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +-#include ++#ifdef HAVE_SYS_AUXV_H ++# include ++#endif + #include "../../zutil.h" + + Z_INTERNAL int power_cpu_has_arch_2_07; +diff --git a/configure b/configure +index aed1909cc..a357e1c8a 100755 +--- a/configure ++++ b/configure +@@ -776,6 +776,19 @@ else + echo "Checking for strerror... No." | tee -a configure.log + fi + ++# check for getauxval() for architecture feature detection at run-time ++cat > $test.c < ++int main() { return getauxval(0); } ++EOF ++if try $CC $CFLAGS -o $test $test.c $LDSHAREDLIBC; then ++ echo "Checking for getauxval() in sys/auxv.h... Yes." | tee -a configure.log ++ CFLAGS="${CFLAGS} -DHAVE_SYS_AUXV_H" ++ SFLAGS="${SFLAGS} -DHAVE_SYS_AUXV_H" ++else ++ echo "Checking for getauxval() in sys/auxv.h... No." | tee -a configure.log ++fi ++ + # We need to remove zconf.h from source directory if building outside of it + if [ "$SRCDIR" != "$BUILDDIR" ]; then + rm -f $SRCDIR/zconf${SUFFIX}.h diff --git a/package/zlib-ng/zlib-ng.mk b/package/zlib-ng/zlib-ng.mk index fb497b8c1..aa65d8437 100644 --- a/package/zlib-ng/zlib-ng.mk +++ b/package/zlib-ng/zlib-ng.mk @@ -18,9 +18,21 @@ ZLIB_NG_CONF_OPTS += \ -DZLIB_COMPAT=1 \ -DZLIB_ENABLE_TESTS=OFF -# Enable NEON and ACLE on ARM +# Enable ACLE on ARM ifeq ($(BR2_arm),y) -ZLIB_NG_CONF_OPTS += -DWITH_ACLE=1 -DWITH_NEON=1 +ZLIB_NG_CONF_OPTS += -DWITH_ACLE=1 +endif + +ifeq ($(BR2_ARM_CPU_HAS_NEON)$(BR2_aarch64),y) +ZLIB_NG_CONF_OPTS += -DWITH_NEON=ON +else +ZLIB_NG_CONF_OPTS += -DWITH_NEON=OFF +endif + +ifeq ($(BR2_powerpc_power8),y) +ZLIB_NG_CONF_OPTS += -DWITH_POWER8=ON +else +ZLIB_NG_CONF_OPTS += -DWITH_POWER8=OFF endif $(eval $(cmake-package)) diff --git a/package/zlib/Config.in b/package/zlib/Config.in index d6d94889a..3a486376a 100644 --- a/package/zlib/Config.in +++ b/package/zlib/Config.in @@ -1,3 +1,6 @@ +config BR2_PACKAGE_ZLIB_FORCE_LIBZLIB + bool + config BR2_PACKAGE_ZLIB_NG_ARCH_SUPPORTS bool default y if BR2_arm @@ -33,6 +36,7 @@ config BR2_PACKAGE_LIBZLIB config BR2_PACKAGE_ZLIB_NG bool "zlib-ng" depends on BR2_PACKAGE_ZLIB_NG_ARCH_SUPPORTS + depends on !BR2_PACKAGE_ZLIB_FORCE_LIBZLIB select BR2_PACKAGE_HAS_ZLIB help Zlib replacement with optimizations for diff --git a/package/zlog/0001-Fix-stack-buffer-overflow-at-zlog_conf_build_with_file.patch b/package/zlog/0001-Fix-stack-buffer-overflow-at-zlog_conf_build_with_file.patch new file mode 100644 index 000000000..d5f23e1b2 --- /dev/null +++ b/package/zlog/0001-Fix-stack-buffer-overflow-at-zlog_conf_build_with_file.patch @@ -0,0 +1,25 @@ +From a5be8b3a8ddc498de4ad041757285136a55d97e3 Mon Sep 17 00:00:00 2001 +From: XiangfeiCH +Date: Tue, 12 Apr 2022 00:13:35 +0800 +Subject: [PATCH] Fix stack-buffer-overflow at zlog_conf_build_with_file + +[Retrieved from: +https://github.com/HardySimpson/zlog/commit/a5be8b3a8ddc498de4ad041757285136a55d97e3] +Signed-off-by: Fabrice Fontaine +--- + src/conf.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/conf.c b/src/conf.c +index 0f862fa..9a4cb75 100644 +--- a/src/conf.c ++++ b/src/conf.c +@@ -305,7 +305,7 @@ static int zlog_conf_build_with_file(zlog_conf_t * a_conf) + /* Oops the buffer is full - what now? */ + pline = line; + } else { +- for (p--; isspace((int)*p); --p) ++ for (p--; p >= line && isspace((int)*p); --p) + /*EMPTY*/; + p++; + *p = 0; diff --git a/package/zlog/zlog.mk b/package/zlog/zlog.mk index e2410d366..1929a45a3 100644 --- a/package/zlog/zlog.mk +++ b/package/zlog/zlog.mk @@ -8,8 +8,12 @@ ZLOG_VERSION = 1.2.15 ZLOG_SITE = $(call github,HardySimpson,zlog,$(ZLOG_VERSION)) ZLOG_LICENSE = LGPL-2.1 ZLOG_LICENSE_FILES = COPYING +ZLOG_CPE_ID_VENDOR = zlog_project ZLOG_INSTALL_STAGING = YES +# 0001-Fix-stack-buffer-overflow-at-zlog_conf_build_with_file.patch +ZLOG_IGNORE_CVES += CVE-2021-43521 + define ZLOG_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE1) CC="$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS)" \ -C $(@D) all diff --git a/package/zmqpp/zmqpp.hash b/package/zmqpp/zmqpp.hash index c440b2aca..af5acd53c 100644 --- a/package/zmqpp/zmqpp.hash +++ b/package/zmqpp/zmqpp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c1d4587df3562f73849d9e5f8c932ca7dcfc7d8bec31f62d7f35073ef81f4d29 zmqpp-4.2.0.tar.gz -sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 LICENSE +sha256 c1d4587df3562f73849d9e5f8c932ca7dcfc7d8bec31f62d7f35073ef81f4d29 zmqpp-4.2.0.tar.gz +sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 LICENSE diff --git a/package/znc/0001-LibreSSL-3.5-opaqued-structures.patch b/package/znc/0001-LibreSSL-3.5-opaqued-structures.patch new file mode 100644 index 000000000..d0019e21a --- /dev/null +++ b/package/znc/0001-LibreSSL-3.5-opaqued-structures.patch @@ -0,0 +1,27 @@ +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 new file mode 100644 index 000000000..b8d22445f --- /dev/null +++ b/package/znc/0002-Fix-build-with-libressl.patch @@ -0,0 +1,68 @@ +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 new file mode 100644 index 000000000..a2946643f --- /dev/null +++ b/package/znc/0003-DH_set0_pqg-and-DH_get0_key-have-existed-since-Libre.patch @@ -0,0 +1,30 @@ +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/zsh/zsh.hash b/package/zsh/zsh.hash index 5c661ded2..e04aa388d 100644 --- a/package/zsh/zsh.hash +++ b/package/zsh/zsh.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 b6973520bace600b4779200269b1e5d79e5f505ac4952058c11ad5bbf0dd9919 zsh-5.8.1.tar.xz +sha256 9b8d1ecedd5b5e81fbf1918e876752a7dd948e05c1a0dba10ab863842d45acd5 zsh-5.9.tar.xz sha256 d06fdf3ef9b1ec69d6b9e170b0a9516fbad3523261ff1668bde3bfea6e0ef5f5 LICENCE diff --git a/package/zsh/zsh.mk b/package/zsh/zsh.mk index c5ab7c2fa..4d46cfe1f 100644 --- a/package/zsh/zsh.mk +++ b/package/zsh/zsh.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZSH_VERSION = 5.8.1 +ZSH_VERSION = 5.9 ZSH_SITE = http://www.zsh.org/pub ZSH_SOURCE = zsh-$(ZSH_VERSION).tar.xz ZSH_DEPENDENCIES = ncurses diff --git a/package/zstd/zstd.mk b/package/zstd/zstd.mk index a4bbada82..e8f631522 100644 --- a/package/zstd/zstd.mk +++ b/package/zstd/zstd.mk @@ -38,14 +38,15 @@ endif # zstd will append -O3 after $(CFLAGS), use MOREFLAGS to override again ZSTD_OPTS += MOREFLAGS="$(TARGET_OPTIMIZATION)" +ZSTD_BUILD_LIBS_BASENAMES = libzstd.pc ifeq ($(BR2_STATIC_LIBS),y) -ZSTD_BUILD_LIBS = libzstd.a +ZSTD_BUILD_LIBS_BASENAMES += libzstd.a ZSTD_INSTALL_LIBS = install-static else ifeq ($(BR2_SHARED_LIBS),y) -ZSTD_BUILD_LIBS = lib +ZSTD_BUILD_LIBS_BASENAMES += lib ZSTD_INSTALL_LIBS = install-shared else -ZSTD_BUILD_LIBS = lib +ZSTD_BUILD_LIBS_BASENAMES += lib ZSTD_INSTALL_LIBS = install-static install-shared endif @@ -63,17 +64,20 @@ endif # purpose. ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) ZSTD_OPTS += HAVE_THREAD=1 -ZSTD_BUILD_LIBS := $(addsuffix -mt,$(ZSTD_BUILD_LIBS)) +ZSTD_BUILD_LIBS_THREAD_SUFFIX = -mt else ZSTD_OPTS += HAVE_THREAD=0 -ZSTD_BUILD_LIBS := $(addsuffix -nomt,$(ZSTD_BUILD_LIBS)) +ZSTD_BUILD_LIBS_THREAD_SUFFIX = -nomt endif # check-package disable OverriddenVariable - override intended -ZSTD_BUILD_LIBS := $(addsuffix -release,$(ZSTD_BUILD_LIBS)) +ZSTD_BUILD_LIBS = \ + $(addsuffix -release, \ + $(addsuffix $(ZSTD_BUILD_LIBS_THREAD_SUFFIX), \ + $(ZSTD_BUILD_LIBS_BASENAMES))) define ZSTD_BUILD_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ - -C $(@D)/lib $(ZSTD_BUILD_LIBS) libzstd.pc + -C $(@D)/lib $(ZSTD_BUILD_LIBS) $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ -C $(@D)/programs $(ZSTD_BUILD_PROG_TARGET) endef diff --git a/package/zxing-cpp/zxing-cpp.hash b/package/zxing-cpp/zxing-cpp.hash index f12349bbd..cabe3e70d 100644 --- a/package/zxing-cpp/zxing-cpp.hash +++ b/package/zxing-cpp/zxing-cpp.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 4c2b8601d0e3377143c1a0bbab220146af9fa5a5e29e8fbef42862fe3d38f8e6 zxing-cpp-e0e40ddec63f38405aca5c8c1ff60b85ec8b1f10.tar.gz +sha256 4c2b8601d0e3377143c1a0bbab220146af9fa5a5e29e8fbef42862fe3d38f8e6 zxing-cpp-e0e40ddec63f38405aca5c8c1ff60b85ec8b1f10.tar.gz # License files -sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 COPYING +sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 COPYING diff --git a/package/zynaddsubfx/Config.in b/package/zynaddsubfx/Config.in index 837a469e7..f181a2394 100644 --- a/package/zynaddsubfx/Config.in +++ b/package/zynaddsubfx/Config.in @@ -2,8 +2,7 @@ config BR2_PACKAGE_ZYNADDSUBFX bool "zynaddsubfx" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 - depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib, liblo - select BR2_PACKAGE_ALSA_LIB + depends on BR2_TOOLCHAIN_HAS_THREADS # liblo select BR2_PACKAGE_FFTW select BR2_PACKAGE_FFTW_SINGLE select BR2_PACKAGE_LIBLO diff --git a/package/zynaddsubfx/zynaddsubfx.mk b/package/zynaddsubfx/zynaddsubfx.mk index 158b5b4ed..aff9ac4bf 100644 --- a/package/zynaddsubfx/zynaddsubfx.mk +++ b/package/zynaddsubfx/zynaddsubfx.mk @@ -11,17 +11,37 @@ ZYNADDSUBFX_LICENSE = GPL-2.0+ ZYNADDSUBFX_LICENSE_FILES = COPYING # There is no package in buildroot using LV2 plugins: disabling -ZYNADDSUBFX_CONF_OPTS = -DPluginEnable=False +ZYNADDSUBFX_CONF_OPTS = -DCompileTests=OFF -DPluginEnable=OFF ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -ZYNADDSUBFX_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic +ZYNADDSUBFX_CONF_OPTS += -DOS_LIBRARIES=-latomic endif ZYNADDSUBFX_DEPENDENCIES = \ - alsa-lib \ fftw-single \ liblo \ mxml \ zlib +ifeq ($(BR2_PACKAGE_ALSA_LIB_SEQ),y) +ZYNADDSUBFX_DEPENDENCIES += alsa-lib +ZYNADDSUBFX_CONF_OPTS += -DAlsaEnable=ON +else +ZYNADDSUBFX_CONF_OPTS += -DAlsaEnable=OFF +endif + +ifeq ($(BR2_PACKAGE_JACK1)$(BR2_PACKAGE_JACK2),y) +ZYNADDSUBFX_DEPENDENCIES += $(if $(BR2_PACKAGE_JACK1),jack1,jack2) +ZYNADDSUBFX_CONF_OPTS += -DJackEnable=ON +else +ZYNADDSUBFX_CONF_OPTS += -DJackEnable=OFF +endif + +ifeq ($(BR2_PACKAGE_PORTAUDIO),y) +ZYNADDSUBFX_DEPENDENCIES += portaudio +ZYNADDSUBFX_CONF_OPTS += -DPaEnable=ON +else +ZYNADDSUBFX_CONF_OPTS += -DPaEnable=OFF +endif + $(eval $(cmake-package)) diff --git a/package/zziplib/0001-implant-ZZIP_LIBLATEST-for-zzip_lib.patch b/package/zziplib/0001-implant-ZZIP_LIBLATEST-for-zzip_lib.patch new file mode 100644 index 000000000..780d990ab --- /dev/null +++ b/package/zziplib/0001-implant-ZZIP_LIBLATEST-for-zzip_lib.patch @@ -0,0 +1,75 @@ +From 0e8d35f92efb680c81f6ec1fca9f11d173dce389 Mon Sep 17 00:00:00 2001 +From: Guido Draheim +Date: Sat, 22 May 2021 15:13:28 +0200 +Subject: [PATCH] #117 implant ZZIP_LIBLATEST for zzip.lib + +[Andreas: Extract link creation for versioned libraries from commit +0e8d35f92efb680c81f6ec1fca9f11d173dce389.] +Signed-off-by: Andreas Ziegler +--- + zzip/CMakeLists.txt | 57 +++++++++++++++++++++++++++++++++++---------- + 1 file changed, 45 insertions(+), 12 deletions(-) + +diff --git a/zzip/CMakeLists.txt b/zzip/CMakeLists.txt +index a966d5f..ccd08b6 100644 +--- a/zzip/CMakeLists.txt ++++ b/zzip/CMakeLists.txt +@@ -28,6 +28,12 @@ option(ZZIP_LIBTOOL "Ensure binary compatibility with libtool" OFF) + option(ZZIP_PKGCONFIG "Generate pkg-config files for linking" OFF) + endif() + ++if(ZZIP_LIBTOOL OR ZZIP_PKGCONFIG) ++option(ZZIP_LIBLATEST "Ensure libname.lib links to libname-REL.lib" ON) ++else() ++option(ZZIP_LIBLATEST "Ensure libname.lib links to libname-REL.lib" OFF) ++endif() ++ + # used in zzip/_config.h + set(ZZIP_PACKAGE "${PROJECT_NAME}lib") + set(ZZIP_VERSION "${PROJECT_VERSION}") +@@ -346,6 +340,45 @@ if(ZZIP_LIBTOOL) + endif(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG) + endif(ZZIP_LIBTOOL) + ++if(ZZIP_LIBLATEST) ++ if(BUILD_SHARED_LIBS) ++ set(lib ${CMAKE_SHARED_LIBRARY_PREFIX}) ++ set(dll ${CMAKE_SHARED_LIBRARY_SUFFIX}) ++ else() ++ set(lib ${CMAKE_STATIC_LIBRARY_PREFIX}) ++ set(dll ${CMAKE_STATIC_LIBRARY_SUFFIX}) ++ endif() ++ get_target_property(libname libzzip OUTPUT_NAME) ++ get_target_property(librelease libzzip RELEASE_POSTFIX) ++ add_custom_target(libzzip_latest ALL ++ COMMAND ${CMAKE_COMMAND} -E create_symlink $ ${lib}${libname}${dll} ++ ) ++ install(FILES ++ ${outdir}/${lib}${libname}${dll} ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ if(ZZIPFSEEKO) ++ get_target_property(libname libzzipfseeko OUTPUT_NAME) ++ get_target_property(librelease libzzipfseeko RELEASE_POSTFIX) ++ add_custom_target(libzzipfseeko_latest ALL ++ COMMAND ${CMAKE_COMMAND} -E create_symlink $ ${lib}${libname}${dll} ++ ) ++ install(FILES ++ ${outdir}/${lib}${libname}${dll} ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ endif(ZZIPFSEEKO) ++ if(ZZIPMMAPPED) ++ get_target_property(libname libzzipmmapped OUTPUT_NAME) ++ get_target_property(librelease libzzipmmapped RELEASE_POSTFIX) ++ add_custom_target(libzzipmmaped_latest ALL ++ COMMAND ${CMAKE_COMMAND} -E create_symlink $ ${lib}${libname}${dll} ++ ) ++ install(FILES ++ ${outdir}/${lib}${libname}${dll} ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ endif(ZZIPMMAPPED) ++endif(ZZIP_LIBLATEST) ++ ++ + ## messages ############################################## + + message(STATUS "lib zzipfseeko to be compiled: ${ZZIPFSEEKO}") diff --git a/package/zziplib/0002-ZZIP_LIBLATEST-create-symlinks-only-if-target-is-mis.patch b/package/zziplib/0002-ZZIP_LIBLATEST-create-symlinks-only-if-target-is-mis.patch new file mode 100644 index 000000000..c8ccd48db --- /dev/null +++ b/package/zziplib/0002-ZZIP_LIBLATEST-create-symlinks-only-if-target-is-mis.patch @@ -0,0 +1,72 @@ +From 5977725ecea038f32a86938703ca1ed2b080b31c Mon Sep 17 00:00:00 2001 +From: Andreas Ziegler +Date: Fri, 29 Jul 2022 12:32:27 +0200 +Subject: [PATCH] ZZIP_LIBLATEST: create symlinks only if target is missing + +zzip/CMakeList.txt uses custom build targets to create symlinks to the +(normally versioned) build results from unversioned file names. These +targets are executed unconditionally, every time a build is started, +regardless of the existence of the symlink. + +Debug builds, however, generate unversioned libraries. The build targets +therefore overwrite existing files with recursive links. + +Create custom targets depending on the target file plus custom build +commands containing the symlink creation, thereby ensuring that symlinks +are only created if the link target is missing. + +Signed-off-by: Andreas Ziegler +Upstream: https://github.com/gdraheim/zziplib/pull/138 +--- + zzip/CMakeLists.txt | 18 +++++++++++++++--- + 1 file changed, 15 insertions(+), 3 deletions(-) + +diff --git a/zzip/CMakeLists.txt b/zzip/CMakeLists.txt +index 4fa6b9c..dd1e56a 100644 +--- a/zzip/CMakeLists.txt ++++ b/zzip/CMakeLists.txt +@@ -350,8 +350,12 @@ if(ZZIP_LIBLATEST) + endif() + get_target_property(libname libzzip OUTPUT_NAME) + get_target_property(librelease libzzip RELEASE_POSTFIX) ++ set(libzzip_target "${lib}${libname}${dll}") ++ add_custom_command(OUTPUT ${libzzip_target} ++ COMMAND ${CMAKE_COMMAND} -E create_symlink $ ${libzzip_target} ++ ) + add_custom_target(libzzip_latest ALL +- COMMAND ${CMAKE_COMMAND} -E create_symlink $ ${lib}${libname}${dll} ++ DEPENDS ${libzzip_target} + ) + install(FILES + ${outdir}/${lib}${libname}${dll} +@@ -359,8 +363,12 @@ if(ZZIP_LIBLATEST) + if(ZZIPFSEEKO) + get_target_property(libname libzzipfseeko OUTPUT_NAME) + get_target_property(librelease libzzipfseeko RELEASE_POSTFIX) ++ set(libzzipfseeko_target "${lib}${libname}${dll}") ++ add_custom_command(OUTPUT ${libzzipfseeko_target} ++ COMMAND ${CMAKE_COMMAND} -E create_symlink $ ${libzzipfseeko_target} ++ ) + add_custom_target(libzzipfseeko_latest ALL +- COMMAND ${CMAKE_COMMAND} -E create_symlink $ ${lib}${libname}${dll} ++ DEPENDS ${libzzipfseeko_target} + ) + install(FILES + ${outdir}/${lib}${libname}${dll} +@@ -369,8 +377,12 @@ if(ZZIP_LIBLATEST) + if(ZZIPMMAPPED) + get_target_property(libname libzzipmmapped OUTPUT_NAME) + get_target_property(librelease libzzipmmapped RELEASE_POSTFIX) ++ set(libzzipmmapped_target "${lib}${libname}${dll}") ++ add_custom_command(OUTPUT ${libzzipmmapped_target} ++ COMMAND ${CMAKE_COMMAND} -E create_symlink $ ${libzzipmmapped_target} ++ ) + add_custom_target(libzzipmmaped_latest ALL +- COMMAND ${CMAKE_COMMAND} -E create_symlink $ ${lib}${libname}${dll} ++ DEPENDS ${libzzipmmapped_target} + ) + install(FILES + ${outdir}/${lib}${libname}${dll} +-- +2.34.1 + diff --git a/support/config-fragments/autobuild/bootlin-armv7m-uclibc.config b/support/config-fragments/autobuild/bootlin-armv7m-uclibc.config index 8d0540964..48f2bb348 100644 --- a/support/config-fragments/autobuild/bootlin-armv7m-uclibc.config +++ b/support/config-fragments/autobuild/bootlin-armv7m-uclibc.config @@ -1,4 +1,5 @@ BR2_arm=y BR2_cortex_m4=y BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_STABLE=y diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh index c604a9efc..f421d9bb8 100755 --- a/support/dependencies/dependencies.sh +++ b/support/dependencies/dependencies.sh @@ -163,7 +163,7 @@ fi # Check that a few mandatory programs are installed missing_progs="no" -for prog in perl tar wget cpio unzip rsync bc ${DL_TOOLS} ; do +for prog in perl tar wget cpio unzip rsync bc cmp find xargs ${DL_TOOLS} ; do if ! which $prog > /dev/null ; then echo "You must install '$prog' on your build machine"; missing_progs="yes" @@ -175,6 +175,22 @@ for prog in perl tar wget cpio unzip rsync bc ${DL_TOOLS} ; do echo " zcat is usually part of the gzip package in your distribution" elif test $prog = "bzcat" ; then echo " bzcat is usually part of the bzip2 package in your distribution" + elif test $prog = "cmp" ; then + echo " cmp is usually part of the diffutils package in your distribution" + elif test $prog = "find" ; then + echo " find is usually part of the findutils package in your distribution" + elif test $prog = "xargs" ; then + echo " xargs is usually part of the findutils package in your distribution" + fi + fi + + # we need git >= 2.0.0 for shallow clones / vendoring + if test $prog = "git" ; then + GIT_VERSION="$(git --version | sed -n 's/^git version \(.*\)/\1/p')" + GIT_MAJOR="$(echo "${GIT_VERSION}" | cut -d . -f 1)" + if [ "${GIT_MAJOR}" -lt 2 ]; then + echo "You have git '${GIT_VERSION}' installed. Git >= 2.0.0 is required" + exit 1 fi fi done @@ -197,7 +213,7 @@ if [ "${PATCH_MAJOR}" -lt 2 ] || [ "${PATCH_MAJOR}" -eq 2 -a "${PATCH_MINOR}" -l exit 1; fi -if grep ^BR2_NEEDS_HOST_UTF8_LOCALE=y $BR2_CONFIG > /dev/null; then +if grep -q ^BR2_NEEDS_HOST_UTF8_LOCALE=y $BR2_CONFIG ; then if ! which locale > /dev/null ; then echo echo "You need locale support on your build machine to build a toolchain supporting locales" @@ -257,7 +273,7 @@ if grep -q ^BR2_HOSTARCH_NEEDS_IA32_COMPILER=y $BR2_CONFIG ; then fi fi -if grep ^BR2_NEEDS_HOST_GCC_PLUGIN_SUPPORT=y $BR2_CONFIG ; then +if grep -q ^BR2_NEEDS_HOST_GCC_PLUGIN_SUPPORT=y $BR2_CONFIG ; then if ! echo "#include " | $HOSTCXX_NOCCACHE -I$($HOSTCXX_NOCCACHE -print-file-name=plugin)/include -x c++ -c - -o /dev/null ; then echo echo "Your Buildroot configuration needs a host compiler capable of building gcc plugins." @@ -269,14 +285,24 @@ fi # Check that the Perl installation is complete enough for Buildroot. required_perl_modules="Data::Dumper" # Needed to build host-autoconf +required_perl_modules="$required_perl_modules English" # Used by host-libxml-parser-perl required_perl_modules="$required_perl_modules ExtUtils::MakeMaker" # Used by host-libxml-parser-perl required_perl_modules="$required_perl_modules Thread::Queue" # Used by host-automake +required_perl_modules="$required_perl_modules FindBin" # Used by (host-)libopenssl + +if grep -q ^BR2_PACKAGE_MOSH=y $BR2_CONFIG ; then + required_perl_modules="$required_perl_modules diagnostics" +fi if grep -q ^BR2_PACKAGE_MPV=y $BR2_CONFIG ; then required_perl_modules="$required_perl_modules Math::BigInt" required_perl_modules="$required_perl_modules Math::BigRat" fi +if grep -q ^BR2_PACKAGE_NETSURF=y $BR2_CONFIG ; then + required_perl_modules="$required_perl_modules Digest::MD5" +fi + if grep -q ^BR2_PACKAGE_WHOIS=y $BR2_CONFIG ; then required_perl_modules="$required_perl_modules autodie" fi @@ -285,9 +311,20 @@ if grep -q -E '^BR2_PACKAGE_(WEBKITGTK|WPEWEBKIT)=y' $BR2_CONFIG ; then required_perl_modules="${required_perl_modules} JSON::PP" fi +if grep -q -E '^BR2_(PACKAGE_ACE|TARGET_SYSLINUX)=y' $BR2_CONFIG ; then + required_perl_modules="$required_perl_modules FileHandle" +fi + # This variable will keep the modules that are missing in your system. missing_perl_modules="" +if grep -q ^BR2_PACKAGE_LIBXCRYPT=y $BR2_CONFIG ; then + # open cannot be used with require + if ! perl -e "use open ':std'" > /dev/null 2>&1 ; then + missing_perl_modules="$missing_perl_modules open" + fi +fi + for pm in $required_perl_modules ; do if ! perl -e "require $pm" > /dev/null 2>&1 ; then missing_perl_modules="$missing_perl_modules $pm" diff --git a/support/download/dl-wrapper b/support/download/dl-wrapper index 09a6ac1f1..1e8d6058f 100755 --- a/support/download/dl-wrapper +++ b/support/download/dl-wrapper @@ -138,9 +138,15 @@ main() { fi if [ -n "${post_process}" ] ; then - "${OLDPWD}/support/download/${post_process}-post-process" \ - -o "${tmpf}" \ - -n "${raw_base_name}" + if ! "${OLDPWD}/support/download/${post_process}-post-process" \ + -o "${tmpf}" \ + -n "${raw_base_name}" + then + # cd back to keep path coherence + cd "${OLDPWD}" + rm -rf "${tmpd}" + continue + fi fi # cd back to free the temp-dir, so we can remove it later diff --git a/support/legal-info/buildroot.hash b/support/legal-info/buildroot.hash index 1b62dbeef..9d9f4c9dc 100644 --- a/support/legal-info/buildroot.hash +++ b/support/legal-info/buildroot.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 9755181e27175cb3510b4da8629caa406fb355a19aa8e7d55f06bf8ab33323c4 COPYING +sha256 9755181e27175cb3510b4da8629caa406fb355a19aa8e7d55f06bf8ab33323c4 COPYING diff --git a/support/misc/Vagrantfile b/support/misc/Vagrantfile index a5a0e3f41..daa18ed45 100644 --- a/support/misc/Vagrantfile +++ b/support/misc/Vagrantfile @@ -5,7 +5,7 @@ ################################################################################ # Buildroot version to use -RELEASE='2022.02' +RELEASE='2022.02.12' ### Change here for more memory/cores ### VM_MEMORY=2048 diff --git a/support/misc/cross-compilation.conf.in b/support/misc/cross-compilation.conf.in index 18cf258a8..235e5a849 100644 --- a/support/misc/cross-compilation.conf.in +++ b/support/misc/cross-compilation.conf.in @@ -8,6 +8,7 @@ c = '@TARGET_CC@' cpp = '@TARGET_CXX@' ar = '@TARGET_AR@' strip = '@TARGET_STRIP@' +cmake = '@BR2_CMAKE@' pkgconfig = '@PKGCONF_HOST_BINARY@' g-ir-compiler = '@STAGING_DIR@/usr/bin/g-ir-compiler' g-ir-scanner = '@STAGING_DIR@/usr/bin/g-ir-scanner' @@ -18,12 +19,16 @@ c_link_args = [@TARGET_LDFLAGS@] cpp_args = [@TARGET_CXXFLAGS@] cpp_link_args = [@TARGET_LDFLAGS@] wrap_mode = 'nodownload' +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_static = '@STATIC@' +# enable meson build to pass a toolchain file to cmake +cmake_toolchain_file = '@HOST_DIR@/share/buildroot/toolchainfile.cmake' +cmake_defaults = false [host_machine] system = 'linux' diff --git a/support/scripts/boot-qemu-image.py b/support/scripts/boot-qemu-image.py index fba1533bb..ba50ea69e 100755 --- a/support/scripts/boot-qemu-image.py +++ b/support/scripts/boot-qemu-image.py @@ -25,7 +25,7 @@ def main(): qemu_start = os.path.join(os.getcwd(), 'output/images/start-qemu.sh') child = pexpect.spawn(qemu_start, ['serial-only'], - timeout=5, encoding='utf-8', + timeout=50, encoding='utf-8', env={"QEMU_AUDIO_DRV": "none"}) # We want only stdout into the log to avoid double echo @@ -36,7 +36,7 @@ def main(): time.sleep(1) try: - child.expect(["buildroot login:"], timeout=60) + child.expect(["buildroot login:"], timeout=600) except pexpect.EOF as e: # Some emulations require a fork of qemu-system, which may be # missing on the system, and is not provided by Buildroot. @@ -58,7 +58,7 @@ def main(): child.sendline("root\r") try: - child.expect(["# "], timeout=60) + child.expect(["# "], timeout=600) except pexpect.EOF: print("Cannot connect to shell") sys.exit(1) @@ -69,7 +69,7 @@ def main(): child.sendline("poweroff\r") try: - child.expect(["System halted"], timeout=60) + child.expect(["System halted"], timeout=600) child.expect(pexpect.EOF) except pexpect.EOF: pass diff --git a/support/scripts/check-host-rpath b/support/scripts/check-host-rpath index 9a3866982..41aa0aa1e 100755 --- a/support/scripts/check-host-rpath +++ b/support/scripts/check-host-rpath @@ -61,7 +61,7 @@ elf_needs_rpath() { while read lib; do [ -e "${hostdir}/lib/${lib}" ] && return 0 - done < <( readelf -d "${file}" \ + done < <( readelf -d "${file}" 2>/dev/null \ |sed -r -e '/^.* \(NEEDED\) .*Shared library: \[(.+)\]$/!d;' \ -e 's//\1/;' \ ) @@ -93,14 +93,14 @@ check_elf_has_rpath() { dir="$( sed -r -e 's:/+:/:g; s:/$::;' <<<"${dir}" )" [ "${dir}" = "${hostdir}/lib" ] && return 0 [ "${dir}" = "\$ORIGIN/../lib" ] && return 0 - # This check is done even for builds where - # BR2_PER_PACKAGE_DIRECTORIES is disabled. In this case, - # PER_PACKAGE_DIR and therefore ${perpackagedir} points to - # a non-existent directory, and this check will always be - # false. - [[ ${dir} =~ ${perpackagedir}/[^/]+/host/lib ]] && return 0 + # This check is done even for builds where + # BR2_PER_PACKAGE_DIRECTORIES is disabled. In this case, + # PER_PACKAGE_DIR and therefore ${perpackagedir} points to + # a non-existent directory, and this check will always be + # false. + [[ ${dir} =~ "${perpackagedir}/"[^/]+/host/lib ]] && return 0 done - done < <( readelf -d "${file}" \ + done < <( readelf -d "${file}" 2>/dev/null \ |sed -r -e '/.* \(R(UN)?PATH\) +Library r(un)?path: \[(.+)\]$/!d' \ -e 's//\3/;' \ ) diff --git a/support/scripts/expunge-gconv-modules b/support/scripts/expunge-gconv-modules index 03012c1ce..e9ac48ca3 100755 --- a/support/scripts/expunge-gconv-modules +++ b/support/scripts/expunge-gconv-modules @@ -1,11 +1,17 @@ #!/usr/bin/env bash # This script is used to generate a gconv-modules file that takes into -# account only the gconv modules installed by Buildroot. It receives -# on its standard input the original complete gconv-modules file from -# the toolchain, and as arguments the list of gconv modules that were -# actually installed, and writes on its standard output the new -# gconv-modules file. +# account only the gconv modules installed by Buildroot, and generates +# a stripped-down gconv-moduels file on its stdout. +# It takes two arguments: +# $1: the directory where to look for gconv modules definitions +# $2: a space-separated list of gconv modules that were actually +# installed + +# Starting with glibc-2.34, modules definitions are located in multiple +# files: +# ${1}/gconv-modules +# ${1}/gconv-modules.d/*.conf # The format of gconv-modules is precisely documented in the # file itself. It consists of two different directives: @@ -19,7 +25,11 @@ # we handle each with slightly different code, since the second never has # associated aliases. -gawk -v files="${1}" ' +for f in ${1}/gconv-modules ${1}/gconv-modules.d/*.conf; do + [ -e "${f}" ] || continue + cat "${f}" +done \ +|awk -v files="${2}" ' $1 == "alias" { aliases[$3] = aliases[$3] " " $2; } diff --git a/support/scripts/gen-bootlin-toolchains b/support/scripts/gen-bootlin-toolchains index dc173fa94..60154abe9 100755 --- a/support/scripts/gen-bootlin-toolchains +++ b/support/scripts/gen-bootlin-toolchains @@ -4,6 +4,7 @@ import os.path import re import requests import textwrap +import sys BASE_URL = "https://toolchains.bootlin.com/downloads/releases/toolchains" @@ -41,22 +42,22 @@ arches = { 'prefix': 'arc', }, 'armv5-eabi': { - 'conditions': ['BR2_ARM_CPU_ARMV5', 'BR2_ARM_EABI'], + 'conditions': ['BR2_arm', 'BR2_ARM_CPU_ARMV5', 'BR2_ARM_EABI'], 'test_options': ['BR2_arm', 'BR2_arm926t', 'BR2_ARM_EABI'], 'prefix': 'arm', }, 'armv6-eabihf': { - 'conditions': ['BR2_ARM_CPU_ARMV6', 'BR2_ARM_EABIHF'], + 'conditions': ['BR2_arm', 'BR2_ARM_CPU_ARMV6', 'BR2_ARM_EABIHF'], 'test_options': ['BR2_arm', 'BR2_arm1176jzf_s', 'BR2_ARM_EABIHF'], 'prefix': 'arm', }, 'armv7-eabihf': { - 'conditions': ['BR2_ARM_CPU_ARMV7A', 'BR2_ARM_EABIHF'], + 'conditions': ['BR2_arm', 'BR2_ARM_CPU_ARMV7A', 'BR2_ARM_EABIHF'], 'test_options': ['BR2_arm', 'BR2_cortex_a8', 'BR2_ARM_EABIHF'], 'prefix': 'arm', }, 'armv7m': { - 'conditions': ['BR2_ARM_CPU_ARMV7M'], + 'conditions': ['BR2_arm', 'BR2_ARM_CPU_ARMV7M'], 'test_options': ['BR2_arm', 'BR2_cortex_m4'], 'prefix': 'arm', }, @@ -73,10 +74,12 @@ arches = { 'microblazebe': { 'conditions': ['BR2_microblazebe'], 'prefix': 'microblaze', + 'gdbserver': False }, 'microblazeel': { 'conditions': ['BR2_microblazeel'], 'prefix': 'microblazeel', + 'gdbserver': False }, 'mips32': { # Not sure it could be used by other mips32 variants? @@ -96,11 +99,6 @@ arches = { 'conditions': ['BR2_mipsel', 'BR2_mips_32r6', '!BR2_MIPS_SOFT_FLOAT'], 'prefix': 'mipsel', }, - 'mips64': { - # Not sure it could be used by other mips64 variants? - 'conditions': ['BR2_mips64', 'BR2_mips_64', '!BR2_MIPS_SOFT_FLOAT'], - 'prefix': 'mips64', - }, 'mips64-n32': { # Not sure it could be used by other mips64 variants? 'conditions': ['BR2_mips64', 'BR2_mips_64', 'BR2_MIPS_NABI32', '!BR2_MIPS_SOFT_FLOAT'], @@ -122,6 +120,7 @@ arches = { 'openrisc': { 'conditions': ['BR2_or1k'], 'prefix': 'or1k', + 'gdbserver': False, }, 'powerpc-440fp': { # Not sure it could be used by other powerpc variants? @@ -159,7 +158,7 @@ arches = { 'prefix': 'riscv32', }, 'riscv64-lp64d': { - 'conditions': ['BR2_riscv', 'BR2_riscv_g', 'BR2_RISCV_64', 'BR2_RISCV_ABI_LP64D'], + 'conditions': ['BR2_riscv', 'BR2_riscv_g', 'BR2_RISCV_64', 'BR2_RISCV_ABI_LP64D', 'BR2_USE_MMU'], 'prefix': 'riscv64', }, 'sh-sh4': { @@ -253,7 +252,12 @@ arches = { 'conditions': ['BR2_i386', '!BR2_x86_i486', '!BR2_x86_i586', - '!BR2_x86_x1000'], + '!BR2_x86_x1000', + '!BR2_x86_pentium_mmx', + '!BR2_x86_geode', + '!BR2_x86_c3', + '!BR2_x86_winchip_c6', + '!BR2_x86_winchip2'], 'test_options': ['BR2_i386', 'BR2_x86_i686'], 'prefix': 'i686', @@ -302,19 +306,24 @@ class Toolchain: for c in arches[self.arch]['conditions']: depends.append(c) + if not arches[self.arch].get('gdbserver', True): + selects.append("BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER") + for frag in self.fragment: # libc type if frag.startswith("BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC"): selects.append("BR2_TOOLCHAIN_EXTERNAL_UCLIBC") elif frag.startswith("BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC"): # glibc needs mmu support - depends.append("BR2_USE_MMU") + if "BR2_USE_MMU" not in depends: + depends.append("BR2_USE_MMU") # glibc doesn't support static only configuration depends.append("!BR2_STATIC_LIBS") selects.append("BR2_TOOLCHAIN_EXTERNAL_GLIBC") elif frag.startswith("BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL"): # musl needs mmu support - depends.append("BR2_USE_MMU") + if "BR2_USE_MMU" not in depends: + depends.append("BR2_USE_MMU") selects.append("BR2_TOOLCHAIN_EXTERNAL_MUSL") # gcc version @@ -466,6 +475,10 @@ def get_toolchains(): version = parts[2][len("bleeding-edge-"):] tmp[(arch, libc, variant)] = version + if len(tmp) == 0: + print("ERROR: no toolchains found for architecture %s" % arch) + sys.exit(1) + toolchains += [Toolchain(k[0], k[1], k[2], v) for k, v in tmp.items()] return toolchains @@ -478,7 +491,10 @@ def gen_config_in_options(toolchains, fpath): f.write("config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCH_SUPPORTS\n") f.write("\tbool\n") for arch, details in arches.items(): - f.write("\tdefault y if %s\n" % " && ".join(details['conditions'])) + conditions = details['conditions'].copy() + if set([t.libc for t in toolchains if t.arch == arch]) == set(['glibc']): + conditions.append("!BR2_STATIC_LIBS") + f.write("\tdefault y if %s\n" % " && ".join(conditions)) f.write("\n") f.write("if BR2_TOOLCHAIN_EXTERNAL_BOOTLIN\n\n") diff --git a/support/scripts/generate-gitlab-ci-yml b/support/scripts/generate-gitlab-ci-yml index aa43aac01..27f586f1b 100755 --- a/support/scripts/generate-gitlab-ci-yml +++ b/support/scripts/generate-gitlab-ci-yml @@ -91,7 +91,7 @@ gen_tests() { # Retrieve defconfig for test-pkg from the git commit message (if any) if grep -q -E '^test-pkg config:$' <<<"${CI_COMMIT_DESCRIPTION}"; then - sed -r -n -e '/^test-pkg config:$/{:a;n;p;ba;}' \ + sed -r -n -e '/^test-pkg config:$/{:a;n;s/^ +//;p;ba;}' \ <<<"${CI_COMMIT_DESCRIPTION}" \ >defconfig.frag if [ ! -s defconfig.frag ]; then diff --git a/support/scripts/graph-build-time b/support/scripts/graph-build-time index 742c9a7a5..1edc3b3c0 100755 --- a/support/scripts/graph-build-time +++ b/support/scripts/graph-build-time @@ -241,6 +241,65 @@ def pkg_pie_time_per_step(data, output): plt.savefig(output) +def pkg_timeline(data, output): + start = 0 + end = 0 + + # Find the first timestamp and the last timestamp + for p in data: + for k, v in p.steps_start.items(): + if start == 0 or v < start: + start = v + if end < v: + end = v + + # Readjust all timestamps so that 0 is the start of the build + # instead of being Epoch + for p in data: + for k, v in p.steps_start.items(): + p.steps_start[k] = v - start + for k, v in p.steps_end.items(): + p.steps_end[k] = v - start + + plt.figure() + + i = 0 + labels_names = [] + labels_coords = [] + # put last packages that started to configure last; this does not + # give the proper dependency chain, but still provides a good-enough + # cascade graph. + for p in sorted(data, reverse=True, key=lambda x: x.steps_start['configure']): + durations = [] + facecolors = [] + for step in steps: + if step not in p.steps_start or step not in p.steps_end: + continue + durations.append((p.steps_start[step], + p.steps_end[step] - p.steps_start[step])) + facecolors.append(colors[steps.index(step)]) + plt.broken_barh(durations, (i, 6), facecolors=facecolors) + labels_coords.append(i + 3) + labels_names.append(p.name) + i += 10 + + axes = plt.gcf().gca() + + axes.set_ylim(0, i + 10) + axes.set_xlim(0, end - start) + axes.set_xlabel('seconds since start') + axes.set_yticks(labels_coords) + axes.set_yticklabels(labels_names) + axes.set_axisbelow(True) + axes.grid(True, linewidth=0.2, zorder=-1) + + plt.gcf().subplots_adjust(left=0.2) + + plt.tick_params(axis='y', which='both', labelsize=6) + plt.title('Timeline') + plt.savefig(output, dpi=300) + + # Parses the csv file passed on standard input and returns a list of # Package objects, filed with the duration of each step and the total # duration of the package. @@ -277,7 +336,7 @@ def read_data(input_file): parser = argparse.ArgumentParser(description='Draw build time graphs') parser.add_argument("--type", '-t', metavar="GRAPH_TYPE", - help="Type of graph (histogram, pie-packages, pie-steps)") + help="Type of graph (histogram, pie-packages, pie-steps, timeline)") parser.add_argument("--order", '-O', metavar="GRAPH_ORDER", help="Ordering of packages: build or duration (for histogram only)") parser.add_argument("--alternate-colors", '-c', action="store_true", @@ -307,6 +366,8 @@ elif args.type == "pie-packages": pkg_pie_time_per_package(d, args.output) elif args.type == "pie-steps": pkg_pie_time_per_step(d, args.output) +elif args.type == "timeline": + pkg_timeline(d, args.output) else: sys.stderr.write("Unknown type: %s\n" % args.type) exit(1) diff --git a/support/scripts/pkg-stats b/support/scripts/pkg-stats index c235d9940..06c309565 100755 --- a/support/scripts/pkg-stats +++ b/support/scripts/pkg-stats @@ -27,12 +27,16 @@ import re import subprocess import json import sys +import time +import gzip +import xml.etree.ElementTree +import requests brpath = os.path.normpath(os.path.join(os.path.dirname(__file__), "..", "..")) sys.path.append(os.path.join(brpath, "utils")) from getdeveloperlib import parse_developers # noqa: E402 -from cpedb import CPEDB # noqa: E402 +from cpedb import CPEDB_URL # noqa: E402 INFRA_RE = re.compile(r"\$\(eval \$\(([a-z-]*)-package\)\)") URL_RE = re.compile(r"\s*https?://\S*\s*$") @@ -88,6 +92,11 @@ class Package: self.name = name self.path = path self.pkg_path = os.path.dirname(path) + # Contains a list of tuple (type, infra), such as ("target", + # "autotools"). When pkg-stats is run without -c, it contains + # the list of all infra/type supported by the package. When + # pkg-stats is run with -c, it contains the list of infra/type + # used by the current configuration. self.infras = None self.license = None self.has_license = False @@ -147,10 +156,20 @@ class Package: return False return True - def set_infra(self): + def set_infra(self, show_info_js): """ Fills in the .infras field """ + # If we're running pkg-stats for a given Buildroot + # configuration, keep only the type/infra that applies + if show_info_js: + keep_host = "host-%s" % self.name in show_info_js + keep_target = self.name in show_info_js + # Otherwise, keep all + else: + keep_host = True + keep_target = True + self.infras = list() with open(os.path.join(brpath, self.path), 'r') as f: lines = f.readlines() @@ -159,9 +178,9 @@ class Package: if not match: continue infra = match.group(1) - if infra.startswith("host-"): + if infra.startswith("host-") and keep_host: self.infras.append(("host", infra[5:])) - else: + elif keep_target: self.infras.append(("target", infra)) def set_license(self): @@ -368,10 +387,9 @@ def get_pkglist(npackages, package_list): return packages -def get_config_packages(): +def get_show_info_js(): cmd = ["make", "--no-print-directory", "show-info"] - js = json.loads(subprocess.check_output(cmd)) - return set([v["name"] for v in js.values() if 'name' in v]) + return json.loads(subprocess.check_output(cmd)) def package_init_make_info(): @@ -451,7 +469,8 @@ async def check_url_status(session, pkg, npkgs, retry=True): async def check_package_urls(packages): tasks = [] connector = aiohttp.TCPConnector(limit_per_host=5) - async with aiohttp.ClientSession(connector=connector, trust_env=True) as sess: + async with aiohttp.ClientSession(connector=connector, trust_env=True, + timeout=aiohttp.ClientTimeout(total=15)) as sess: packages = [p for p in packages if p.status['url'][0] == 'ok'] for pkg in packages: tasks.append(asyncio.ensure_future(check_url_status(sess, pkg, len(packages)))) @@ -486,7 +505,12 @@ async def check_package_get_latest_version_by_distro(session, pkg, retry=True): return False data = await resp.json() - version = data['stable_versions'][0] if 'stable_versions' in data else data['version'] if 'version' in data else None + if 'stable_versions' in data and data['stable_versions']: + version = data['stable_versions'][0] + elif 'version' in data: + version = data['version'] + else: + version = None check_package_latest_version_set_status(pkg, RM_API_STATUS_FOUND_BY_DISTRO, version, @@ -512,12 +536,17 @@ async def check_package_get_latest_version_by_guess(session, pkg, retry=True): projects = [p for p in data['projects'] if p['name'] == pkg.name and 'stable_versions' in p] projects.sort(key=lambda x: x['id']) - if len(projects) > 0: - check_package_latest_version_set_status(pkg, - RM_API_STATUS_FOUND_BY_PATTERN, - projects[0]['stable_versions'][0], - projects[0]['id']) - return True + if len(projects) == 0: + return False + + if len(projects[0]['stable_versions']) == 0: + return False + + check_package_latest_version_set_status(pkg, + RM_API_STATUS_FOUND_BY_PATTERN, + projects[0]['stable_versions'][0], + projects[0]['id']) + return True except (aiohttp.ClientError, asyncio.TimeoutError): if retry: @@ -618,12 +647,41 @@ def check_package_cves(nvd_path, packages): def check_package_cpes(nvd_path, packages): - cpedb = CPEDB(nvd_path) - cpedb.get_xml_dict() + class CpeXmlParser: + cpes = [] + + def start(self, tag, attrib): + if tag == "{http://scap.nist.gov/schema/cpe-extension/2.3}cpe23-item": + self.cpes.append(attrib['name']) + + def close(self): + return self.cpes + + print("CPE: Setting up NIST dictionary") + if not os.path.exists(os.path.join(nvd_path, "cpe")): + os.makedirs(os.path.join(nvd_path, "cpe")) + + cpe_dict_local = os.path.join(nvd_path, "cpe", os.path.basename(CPEDB_URL)) + if not os.path.exists(cpe_dict_local) or os.stat(cpe_dict_local).st_mtime < time.time() - 86400: + print("CPE: Fetching xml manifest from [" + CPEDB_URL + "]") + cpe_dict = requests.get(CPEDB_URL) + open(cpe_dict_local, "wb").write(cpe_dict.content) + + print("CPE: Unzipping xml manifest...") + nist_cpe_file = gzip.GzipFile(fileobj=open(cpe_dict_local, 'rb')) + + parser = xml.etree.ElementTree.XMLParser(target=CpeXmlParser()) + while True: + c = nist_cpe_file.read(1024*1024) + if not c: + break + parser.feed(c) + cpes = parser.close() + for p in packages: if not p.cpeid: continue - if cpedb.find(p.cpeid): + if p.cpeid in cpes: p.status['cpe'] = ("ok", "verified CPE identifier") else: p.status['cpe'] = ("error", "CPE version unknown in CPE database") @@ -1120,7 +1178,7 @@ def parse_args(): parser.add_argument('--nvd-path', dest='nvd_path', help='Path to the local NVD database', type=resolvepath) parser.add_argument('--disable', type=list_str, - help='Features to disable, comma-separated (cve, upstream, url)', + help='Features to disable, comma-separated (cve, upstream, url, cpe, warning)', default=[]) args = parser.parse_args() if not args.html and not args.json: @@ -1136,10 +1194,12 @@ def __main__(): if args.nvd_path: import cve as cvecheck + show_info_js = None if args.packages: package_list = args.packages.split(",") elif args.configpackages: - package_list = get_config_packages() + show_info_js = get_show_info_js() + package_list = set([v["name"] for v in show_info_js.values() if 'name' in v]) else: package_list = None date = datetime.datetime.utcnow() @@ -1158,11 +1218,12 @@ def __main__(): package_init_make_info() print("Getting package details ...") for pkg in packages: - pkg.set_infra() + pkg.set_infra(show_info_js) pkg.set_license() pkg.set_hash_info() pkg.set_patch_count() - pkg.set_check_package_warnings() + if "warnings" not in args.disable: + pkg.set_check_package_warnings() pkg.set_current_version() pkg.set_cpeid() pkg.set_url() @@ -1179,6 +1240,8 @@ def __main__(): if "cve" not in args.disable and args.nvd_path: print("Checking packages CVEs") check_package_cves(args.nvd_path, packages) + if "cpe" not in args.disable and args.nvd_path: + print("Checking packages CPEs") check_package_cpes(args.nvd_path, packages) print("Calculate stats") stats = calculate_stats(packages) diff --git a/support/scripts/size-stats b/support/scripts/size-stats index e4389e99b..79c0dc571 100755 --- a/support/scripts/size-stats +++ b/support/scripts/size-stats @@ -54,6 +54,9 @@ class Config: # pkg: package to which the file belongs # def add_file(filesdict, relpath, abspath, pkg): + if relpath.endswith(".py"): + # also check for compiled .pyc file + add_file(filesdict, relpath + "c", abspath + "c", pkg) if not os.path.exists(abspath): return if os.path.islink(abspath): diff --git a/support/testing/infra/basetest.py b/support/testing/infra/basetest.py index 96c6848df..45bcd4c2e 100644 --- a/support/testing/infra/basetest.py +++ b/support/testing/infra/basetest.py @@ -88,7 +88,12 @@ class BRTest(BRConfigTest): super(BRTest, self).tearDown() # Run the given 'cmd' with a 'timeout' on the target and - # assert that the command succeeded + # assert that the command succeeded; on error, print the + # faulty command and its output def assertRunOk(self, cmd, timeout=-1): - _, exit_code = self.emulator.run(cmd, timeout) - self.assertEqual(exit_code, 0) + out, exit_code = self.emulator.run(cmd, timeout) + self.assertEqual( + exit_code, + 0, + "\nFailed to run: {}\noutput was:\n{}".format(cmd, ' '+'\n '.join(out)) + ) diff --git a/support/testing/run-tests b/support/testing/run-tests index 022209b41..bf4001936 100755 --- a/support/testing/run-tests +++ b/support/testing/run-tests @@ -87,9 +87,7 @@ def main(): return 1 # same default BR2_JLEVEL as package/Makefile.in br2_jlevel = 1 + multiprocessing.cpu_count() - each_testcase = br2_jlevel / args.testcases - if each_testcase < 1: - each_testcase = 1 + each_testcase = int((br2_jlevel + args.testcases) / args.testcases) BRConfigTest.jlevel = each_testcase if args.jlevel: diff --git a/support/testing/tests/download/br2-external/gitlab/package/gitlab-release/gitlab-release.hash b/support/testing/tests/download/br2-external/gitlab/package/gitlab-release/gitlab-release.hash index 7031d1b34..e4dfb6eb0 100644 --- a/support/testing/tests/download/br2-external/gitlab/package/gitlab-release/gitlab-release.hash +++ b/support/testing/tests/download/br2-external/gitlab/package/gitlab-release/gitlab-release.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 12b88efa4d0d95af08db05a50b3dcb217c0eb2bfc67b483779e33d498ddb2f95 iucode-tool_2.3.1.tar.xz -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 12b88efa4d0d95af08db05a50b3dcb217c0eb2bfc67b483779e33d498ddb2f95 iucode-tool_2.3.1.tar.xz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/support/testing/tests/fs/test_f2fs.py b/support/testing/tests/fs/test_f2fs.py index 2d05a8641..425fbe31c 100644 --- a/support/testing/tests/fs/test_f2fs.py +++ b/support/testing/tests/fs/test_f2fs.py @@ -30,7 +30,7 @@ class TestF2FS(infra.basetest.BRTest): img = os.path.join(self.builddir, "images", "rootfs.f2fs") out = infra.run_cmd_on_host(self.builddir, ["host/sbin/dump.f2fs", img]) out = out.splitlines() - prop = dumpf2fs_getprop(out, "Info: total sectors") + prop = dumpf2fs_getprop(out, "Info: total FS sectors") self.assertEqual(prop, "262144 (128 MB)") kernel = os.path.join(self.builddir, "images", "zImage") diff --git a/support/testing/tests/fs/test_oci.py b/support/testing/tests/fs/test_oci.py index 347332f30..0ecf58f62 100644 --- a/support/testing/tests/fs/test_oci.py +++ b/support/testing/tests/fs/test_oci.py @@ -20,7 +20,7 @@ class TestOci(infra.basetest.BRTest): BR2_TARGET_ROOTFS_EXT2_SIZE="600M" BR2_TARGET_ROOTFS_OCI=y BR2_TARGET_ROOTFS_OCI_ENTRYPOINT="df" - BR2_TARGET_ROOTFS_OCI_ENTRYPOINT_ARGS="-h" + BR2_TARGET_ROOTFS_OCI_CMD="-h" BR2_TARGET_ROOTFS_OCI_ARCHIVE=y # BR2_TARGET_ROOTFS_TAR is not set """ diff --git a/support/testing/tests/package/sample_python_avro.py b/support/testing/tests/package/sample_python_avro.py index 79d2dcdb2..46363ad2b 100644 --- a/support/testing/tests/package/sample_python_avro.py +++ b/support/testing/tests/package/sample_python_avro.py @@ -1,8 +1,8 @@ from io import BytesIO -from avro.schema import Parse +from avro.schema import parse from avro.io import DatumReader, BinaryDecoder -schema = Parse("""{ +schema = parse("""{ "namespace": "org.buildroot.package.python_avro", "type": "record", "name": "Developer", diff --git a/support/testing/tests/package/test_lxc.py b/support/testing/tests/package/test_lxc.py index d98bed876..f66b31f3b 100644 --- a/support/testing/tests/package/test_lxc.py +++ b/support/testing/tests/package/test_lxc.py @@ -12,7 +12,7 @@ class TestLxc(infra.basetest.BRTest): BR2_TOOLCHAIN_EXTERNAL=y 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="5.15.38" BR2_LINUX_KERNEL_DEFCONFIG="vexpress" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" diff --git a/support/testing/tests/package/test_python_boto3.py b/support/testing/tests/package/test_python_boto3.py index 756495fec..126ddae63 100644 --- a/support/testing/tests/package/test_python_boto3.py +++ b/support/testing/tests/package/test_python_boto3.py @@ -1,4 +1,5 @@ from tests.package.test_python import TestPythonPackageBase +import os class TestPythonPy3Boto3(TestPythonPackageBase): @@ -7,6 +8,16 @@ class TestPythonPy3Boto3(TestPythonPackageBase): """ BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON_BOTO3=y + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_SIZE="120M" """ sample_scripts = ["tests/package/sample_python_boto3.py"] timeout = 10 + + 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_botocore.py b/support/testing/tests/package/test_python_botocore.py index 6336c5658..48c2f3cc0 100644 --- a/support/testing/tests/package/test_python_botocore.py +++ b/support/testing/tests/package/test_python_botocore.py @@ -1,4 +1,5 @@ from tests.package.test_python import TestPythonPackageBase +import os class TestPythonPy3Botocore(TestPythonPackageBase): @@ -7,6 +8,16 @@ class TestPythonPy3Botocore(TestPythonPackageBase): """ BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON_BOTOCORE=y + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_SIZE="120M" """ sample_scripts = ["tests/package/sample_python_botocore.py"] timeout = 10 + + 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_crossbar.py b/support/testing/tests/package/test_python_crossbar.py index 83649aeec..178b16be8 100644 --- a/support/testing/tests/package/test_python_crossbar.py +++ b/support/testing/tests/package/test_python_crossbar.py @@ -1,4 +1,5 @@ from tests.package.test_python import TestPythonPackageBase +import os class TestPythonPy3Crossbar(TestPythonPackageBase): @@ -13,8 +14,16 @@ class TestPythonPy3Crossbar(TestPythonPackageBase): BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE=y BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON_CROSSBAR=y - BR2_TARGET_ROOTFS_CPIO=y - # BR2_TARGET_ROOTFS_TAR is not set + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_SIZE="120M" """ sample_scripts = ["tests/package/sample_python_crossbar.py"] timeout = 60 + + 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_flask.py b/support/testing/tests/package/test_python_flask.py index ef5d96bae..9d8587e91 100644 --- a/support/testing/tests/package/test_python_flask.py +++ b/support/testing/tests/package/test_python_flask.py @@ -21,7 +21,7 @@ class TestPythonPy3Flask(TestPythonPackageBase): _, exit_code = self.emulator.run(cmd, timeout=self.timeout) # Give enough time for the flask server to start up - time.sleep(15) + time.sleep(30) cmd = "wget -q -O - http://127.0.0.1:5000/" output, exit_code = self.emulator.run(cmd, timeout=self.timeout) diff --git a/support/testing/tests/package/test_python_flask_expects_json.py b/support/testing/tests/package/test_python_flask_expects_json.py index 5576cba2b..91b8bf21b 100644 --- a/support/testing/tests/package/test_python_flask_expects_json.py +++ b/support/testing/tests/package/test_python_flask_expects_json.py @@ -31,7 +31,7 @@ class TestPythonPy3FlaskExpectsJson(TestPythonPackageBase): _, exit_code = self.emulator.run(cmd, timeout=self.timeout) # Give enough time for the flask server to start up - time.sleep(15) + time.sleep(30) self.try_json("""{"email": "test", "name": "test"}""", 200) self.try_json("""{"email": "test", "name": 2}""", 400) diff --git a/support/testing/tests/package/test_rust.py b/support/testing/tests/package/test_rust.py index 884b40a4a..fb9dd2d91 100644 --- a/support/testing/tests/package/test_rust.py +++ b/support/testing/tests/package/test_rust.py @@ -1,16 +1,10 @@ import os -import tempfile -import subprocess -import shutil import infra.basetest class TestRustBase(infra.basetest.BRTest): - target = 'armv7-unknown-linux-gnueabihf' - crate = 'hello-world' - def login(self): img = os.path.join(self.builddir, "images", "rootfs.cpio") self.emulator.boot(arch="armv7", @@ -18,42 +12,6 @@ class TestRustBase(infra.basetest.BRTest): options=["-initrd", img]) self.emulator.login() - def build_test_prog(self): - hostdir = os.path.join(self.builddir, 'host') - env = os.environ.copy() - env["USER"] = "br-user" - env["PATH"] = "{}:".format(os.path.join(hostdir, 'bin')) + env["PATH"] - env["CARGO_HOME"] = os.path.join(hostdir, 'usr', 'share', 'cargo') - env["RUST_TARGET_PATH"] = os.path.join(hostdir, 'etc', 'rustc') - cargo = os.path.join(hostdir, 'bin', 'cargo') - workdir = os.path.join(tempfile.mkdtemp(suffix='-br2-testing-rust'), - self.crate) - manifest = os.path.join(workdir, 'Cargo.toml') - prog = os.path.join(workdir, 'target', self.target, 'debug', self.crate) - - cmd = [cargo, 'init', '--bin', '--vcs', 'none', '-vv', workdir] - ret = subprocess.call(cmd, - stdout=self.b.logfile, - stderr=self.b.logfile, - env=env) - if ret != 0: - raise SystemError("Cargo init failed") - - cmd = [ - cargo, 'build', '-vv', '--target', self.target, - '--manifest-path', manifest - ] - ret = subprocess.call(cmd, - stdout=self.b.logfile, - stderr=self.b.logfile, - env=env) - if ret != 0: - raise SystemError("Cargo build failed") - - shutil.copy(prog, os.path.join(self.builddir, 'target', 'usr', 'bin')) - self.b.build() - shutil.rmtree(workdir) - class TestRustBin(TestRustBase): config = \ @@ -68,12 +26,12 @@ class TestRustBin(TestRustBase): BR2_TARGET_ROOTFS_CPIO=y # BR2_TARGET_ROOTFS_TAR is not set BR2_PACKAGE_HOST_RUSTC=y + BR2_PACKAGE_RIPGREP=y """ def test_run(self): - self.build_test_prog() self.login() - self.assertRunOk(self.crate) + self.assertRunOk("rg Buildroot /etc/issue") class TestRust(TestRustBase): @@ -90,9 +48,9 @@ class TestRust(TestRustBase): # BR2_TARGET_ROOTFS_TAR is not set BR2_PACKAGE_HOST_RUSTC=y BR2_PACKAGE_HOST_RUST=y + BR2_PACKAGE_RIPGREP=y """ def test_run(self): - self.build_test_prog() self.login() - self.assertRunOk(self.crate) + self.assertRunOk("rg Buildroot /etc/issue") diff --git a/support/testing/tests/toolchain/test_external_bootlin.py b/support/testing/tests/toolchain/test_external_bootlin.py index cf6174303..d0721c4de 100644 --- a/support/testing/tests/toolchain/test_external_bootlin.py +++ b/support/testing/tests/toolchain/test_external_bootlin.py @@ -2056,6 +2056,7 @@ class TestExternalToolchainBootlinRiscv64lp64dGlibcBleedingEdge(TestExternalTool BR2_riscv_g=y BR2_RISCV_64=y BR2_RISCV_ABI_LP64D=y + BR2_USE_MMU=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_GLIBC_BLEEDING_EDGE=y @@ -2073,6 +2074,7 @@ class TestExternalToolchainBootlinRiscv64lp64dGlibcStable(TestExternalToolchain) BR2_riscv_g=y BR2_RISCV_64=y BR2_RISCV_ABI_LP64D=y + BR2_USE_MMU=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_GLIBC_STABLE=y @@ -2090,6 +2092,7 @@ class TestExternalToolchainBootlinRiscv64lp64dMuslBleedingEdge(TestExternalToolc BR2_riscv_g=y BR2_RISCV_64=y BR2_RISCV_ABI_LP64D=y + BR2_USE_MMU=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_MUSL_BLEEDING_EDGE=y @@ -2107,6 +2110,7 @@ class TestExternalToolchainBootlinRiscv64lp64dMuslStable(TestExternalToolchain): BR2_riscv_g=y BR2_RISCV_64=y BR2_RISCV_ABI_LP64D=y + BR2_USE_MMU=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_MUSL_STABLE=y @@ -2124,6 +2128,7 @@ class TestExternalToolchainBootlinRiscv64lp64dUclibcBleedingEdge(TestExternalToo BR2_riscv_g=y BR2_RISCV_64=y BR2_RISCV_ABI_LP64D=y + BR2_USE_MMU=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_UCLIBC_BLEEDING_EDGE=y @@ -2141,6 +2146,7 @@ class TestExternalToolchainBootlinRiscv64lp64dUclibcStable(TestExternalToolchain BR2_riscv_g=y BR2_RISCV_64=y BR2_RISCV_ABI_LP64D=y + BR2_USE_MMU=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_UCLIBC_STABLE=y diff --git a/system/Config.in b/system/Config.in index 491d94247..82b2bb808 100644 --- a/system/Config.in +++ b/system/Config.in @@ -153,7 +153,6 @@ endchoice # Passwd encoding config BR2_TARGET_GENERIC_PASSWD_METHOD string - default "md5" if BR2_TARGET_GENERIC_PASSWD_MD5 default "sha-256" if BR2_TARGET_GENERIC_PASSWD_SHA256 default "sha-512" if BR2_TARGET_GENERIC_PASSWD_SHA512 @@ -507,7 +506,7 @@ config BR2_ENABLE_LOCALE_WHITELIST default "C en_US" depends on BR2_ENABLE_LOCALE_PURGE help - Whitespace seperated list of locales to allow on target. + Whitespace separated list of locales to allow on target. Locales not listed here will be removed from the target. See 'locale -a' on your host for a list of locales available on your build host, or have a look in /usr/share/locale in diff --git a/toolchain/Config.in b/toolchain/Config.in index 4515e32cf..a52596b81 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -170,11 +170,12 @@ config BR2_TOOLCHAIN_HAS_GCC_BUG_85862 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90620 # ICE: in do_output_reload, at reload1.c:7978 on microblaze. -# This bug no longer exists in gcc 10.x +# This bug no longer exists in gcc 10.x but reappeared in gcc 11.x config BR2_TOOLCHAIN_HAS_GCC_BUG_90620 bool default y if BR2_microblaze - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_10 + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_10 \ + || BR2_TOOLCHAIN_GCC_AT_LEAST_11 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93847 # ICE: compiler error: Segmentation fault on Nios II. This bug @@ -185,12 +186,12 @@ config BR2_TOOLCHAIN_HAS_GCC_BUG_93847 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99410 # Error: branch offset out of range on Nios II. This bug -# no longer exists in gcc 8.x but reappeared on gcc 9.x and has been -# fixed on gcc 11.x. -config BR2_TOOLCHAIN_HAS_GCC_BUG_99140 +# no longer exists in gcc 8.x but reappeared on gcc 9.x and still exists +# on gcc 12.x +config BR2_TOOLCHAIN_HAS_GCC_BUG_99410 bool default y if !BR2_TOOLCHAIN_GCC_AT_LEAST_8 - default y if BR2_TOOLCHAIN_GCC_AT_LEAST_9 && !BR2_TOOLCHAIN_GCC_AT_LEAST_11 + default y if BR2_TOOLCHAIN_GCC_AT_LEAST_9 depends on BR2_nios2 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101737 @@ -198,7 +199,7 @@ config BR2_TOOLCHAIN_HAS_GCC_BUG_99140 # still exists in gcc = 11.1.0 config BR2_TOOLCHAIN_HAS_GCC_BUG_101737 bool - default y if BR2_sh4 + default y if BR2_sh # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101915 # ICE: in extract_insn, at recog.c:2294 on microblaze. @@ -221,6 +222,25 @@ config BR2_TOOLCHAIN_HAS_GCC_BUG_101952 bool default y if BR2_sh4 +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104028 +# ICE: on M68K: Error: value -16034 out of range +# This bug still exists in gcc = 11.1.0 +config BR2_TOOLCHAIN_HAS_GCC_BUG_104028 + bool + default y if BR2_m68k + +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107728 +# https://sourceware.org/bugzilla/show_bug.cgi?id=29621 +config BR2_TOOLCHAIN_HAS_GCC_BUG_107728 + bool + default y if BR2_microblazebe || BR2_microblazeel \ + || BR2_mips || BR2_mipsel \ + || BR2_nios2 \ + || BR2_or1k \ + || BR2_sh + depends on BR2_TOOLCHAIN_USES_GLIBC + depends on BR2_OPTIMIZE_0 + config BR2_TOOLCHAIN_HAS_NATIVE_RPC bool diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk index c799d06cc..7b3643be7 100644 --- a/toolchain/helpers.mk +++ b/toolchain/helpers.mk @@ -150,7 +150,7 @@ copy_toolchain_sysroot = \ if test -n "$${SUPPORT_LIB_DIR}" ; then \ cp -a $${SUPPORT_LIB_DIR}/* $(STAGING_DIR)/lib/ ; \ fi ; \ - find $(STAGING_DIR) -type d | xargs chmod 755 + find $(STAGING_DIR) -type d -print0 | xargs -0 chmod 755 # # Check the specified kernel headers version actually matches the diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in index 5b2864115..975186e8c 100644 --- a/toolchain/toolchain-buildroot/Config.in +++ b/toolchain/toolchain-buildroot/Config.in @@ -27,13 +27,7 @@ choice config BR2_TOOLCHAIN_BUILDROOT_UCLIBC bool "uClibc-ng" - depends on BR2_aarch64 || BR2_aarch64_be || BR2_arcle || BR2_arceb || \ - BR2_arm || BR2_armeb || \ - BR2_i386 || BR2_m68k || BR2_microblaze || \ - BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \ - BR2_or1k || BR2_powerpc || BR2_RISCV_64 || BR2_sh2a || \ - BR2_sh4 || BR2_sh4eb || BR2_sparc || BR2_xtensa || \ - BR2_x86_64 + depends on BR2_PACKAGE_UCLIBC_SUPPORTS select BR2_TOOLCHAIN_USES_UCLIBC help This option selects uClibc-ng as the C library for the @@ -46,7 +40,7 @@ config BR2_TOOLCHAIN_BUILDROOT_GLIBC depends on BR2_arm || BR2_armeb || BR2_aarch64 || \ BR2_aarch64_be || BR2_i386 || BR2_mips || \ BR2_mipsel || BR2_mips64 || BR2_mips64el|| \ - BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \ + BR2_powerpc || BR2_powerpc64 || BR2_powerpc_power8 || \ BR2_riscv || BR2_s390x || BR2_sh || \ BR2_sparc64 || BR2_x86_64 || BR2_microblaze || \ BR2_nios2 || (BR2_arc && BR2_ARC_ATOMIC_EXT) || BR2_csky diff --git a/toolchain/toolchain-buildroot/toolchain-buildroot.mk b/toolchain/toolchain-buildroot/toolchain-buildroot.mk index b30cc332d..6da64b7c7 100644 --- a/toolchain/toolchain-buildroot/toolchain-buildroot.mk +++ b/toolchain/toolchain-buildroot/toolchain-buildroot.mk @@ -14,4 +14,7 @@ TOOLCHAIN_BUILDROOT_DEPENDENCIES = host-gcc-final TOOLCHAIN_BUILDROOT_ADD_TOOLCHAIN_DEPENDENCY = NO +# Not really a virtual package, but we use the virtual package infra here so +# both the build log and build directory look nicer (toolchain-buildroot-virtual +# instead of toolchain-buildroot-undefined) $(eval $(virtual-package)) diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index 2177e6a67..1a67e5645 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -155,9 +155,13 @@ source "toolchain/toolchain-external/toolchain-external-bootlin/Config.in.option # Custom toolchains source "toolchain/toolchain-external/toolchain-external-custom/Config.in.options" +config BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER + bool + config BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY bool "Copy gdb server to the Target" depends on BR2_TOOLCHAIN_EXTERNAL + depends on !BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER help Copy the gdbserver provided by the external toolchain to the target. diff --git a/toolchain/toolchain-external/toolchain-external-andes-nds32/toolchain-external-andes-nds32.hash b/toolchain/toolchain-external/toolchain-external-andes-nds32/toolchain-external-andes-nds32.hash index 4314bb1f5..8f90d84b9 100644 --- a/toolchain/toolchain-external/toolchain-external-andes-nds32/toolchain-external-andes-nds32.hash +++ b/toolchain/toolchain-external/toolchain-external-andes-nds32/toolchain-external-andes-nds32.hash @@ -1,2 +1,2 @@ # From https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases/download/20180521/nds32le-linux-glibc-v3-upstream.tar.gz -sha256 6050601df85ad93a4c211c1d57ed3773edb62aa505f7e07d7d555652e83af2cc nds32le-linux-glibc-v3-upstream.tar.gz +sha256 6050601df85ad93a4c211c1d57ed3773edb62aa505f7e07d7d555652e83af2cc nds32le-linux-glibc-v3-upstream.tar.gz diff --git a/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options b/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options index 4b4404620..9d519375c 100644 --- a/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options +++ b/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options @@ -6,10 +6,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCH_SUPPORTS default y if BR2_aarch64_be default y if BR2_arcle && BR2_arc750d default y if BR2_arcle && BR2_archs38 - default y if BR2_ARM_CPU_ARMV5 && BR2_ARM_EABI - default y if BR2_ARM_CPU_ARMV6 && BR2_ARM_EABIHF - default y if BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF - default y if BR2_ARM_CPU_ARMV7M + default y if BR2_arm && BR2_ARM_CPU_ARMV5 && BR2_ARM_EABI + default y if BR2_arm && BR2_ARM_CPU_ARMV6 && BR2_ARM_EABIHF + default y if BR2_arm && BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF + default y if BR2_arm && BR2_ARM_CPU_ARMV7M default y if BR2_m68k_m68k default y if BR2_m68k_cf default y if BR2_microblazebe @@ -22,20 +22,20 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCH_SUPPORTS default y if BR2_mips64 && BR2_mips_64 && BR2_MIPS_NABI32 && !BR2_MIPS_SOFT_FLOAT default y if BR2_mips64el && BR2_mips_64 && BR2_MIPS_NABI32 && !BR2_MIPS_SOFT_FLOAT default y if BR2_mips64el && BR2_mips_64r6 && BR2_MIPS_NABI32 && !BR2_MIPS_SOFT_FLOAT - default y if BR2_nios2 + default y if BR2_nios2 && !BR2_STATIC_LIBS default y if BR2_or1k default y if BR2_powerpc && BR2_powerpc_440fp default y if BR2_powerpc && BR2_powerpc_e300c3 default y if BR2_powerpc && BR2_powerpc_e500mc - default y if BR2_powerpc64 && BR2_powerpc_e5500 + default y if BR2_powerpc64 && BR2_powerpc_e5500 && !BR2_STATIC_LIBS default y if BR2_powerpc64 && BR2_powerpc_e6500 default y if BR2_powerpc64 && BR2_powerpc_power8 default y if BR2_powerpc64le && BR2_powerpc_power8 - default y if BR2_riscv && BR2_riscv_g && BR2_RISCV_32 && BR2_RISCV_ABI_ILP32D - default y if BR2_riscv && BR2_riscv_g && BR2_RISCV_64 && BR2_RISCV_ABI_LP64D + default y if BR2_riscv && BR2_riscv_g && BR2_RISCV_32 && BR2_RISCV_ABI_ILP32D && !BR2_STATIC_LIBS + default y if BR2_riscv && BR2_riscv_g && BR2_RISCV_64 && BR2_RISCV_ABI_LP64D && BR2_USE_MMU default y if BR2_sh && BR2_sh4 default y if BR2_sh && BR2_sh4aeb - default y if BR2_sparc64 && BR2_sparc_v9 + default y if BR2_sparc64 && BR2_sparc_v9 && !BR2_STATIC_LIBS default y if BR2_sparc && BR2_sparc_v8 default y if BR2_x86_64 && BR2_X86_CPU_HAS_MMX && BR2_X86_CPU_HAS_SSE && BR2_X86_CPU_HAS_SSE2 default y if BR2_x86_64 && BR2_X86_CPU_HAS_MMX && BR2_X86_CPU_HAS_SSE && BR2_X86_CPU_HAS_SSE2 && BR2_X86_CPU_HAS_SSE3 && BR2_X86_CPU_HAS_SSSE3 && BR2_X86_CPU_HAS_SSE4 && BR2_X86_CPU_HAS_SSE42 @@ -43,7 +43,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCH_SUPPORTS default y if BR2_x86_64 && BR2_X86_CPU_HAS_MMX && BR2_X86_CPU_HAS_SSE && BR2_X86_CPU_HAS_SSE2 && BR2_X86_CPU_HAS_SSE3 && BR2_X86_CPU_HAS_SSSE3 && BR2_X86_CPU_HAS_SSE4 && BR2_X86_CPU_HAS_SSE42 && BR2_X86_CPU_HAS_AVX && BR2_X86_CPU_HAS_AVX2 && BR2_X86_CPU_HAS_AVX512 default y if BR2_x86_64 && BR2_X86_CPU_HAS_MMX && BR2_X86_CPU_HAS_SSE && BR2_X86_CPU_HAS_SSE2 && BR2_X86_CPU_HAS_SSE3 && BR2_X86_CPU_HAS_SSSE3 && BR2_X86_CPU_HAS_SSE4 && BR2_X86_CPU_HAS_SSE42 default y if BR2_i386 && BR2_X86_CPU_HAS_MMX && BR2_X86_CPU_HAS_SSE && BR2_X86_CPU_HAS_SSE2 && BR2_X86_CPU_HAS_SSE3 && BR2_X86_CPU_HAS_SSSE3 - default y if BR2_i386 && !BR2_x86_i486 && !BR2_x86_i586 && !BR2_x86_x1000 + default y if BR2_i386 && !BR2_x86_i486 && !BR2_x86_i586 && !BR2_x86_x1000 && !BR2_x86_pentium_mmx && !BR2_x86_geode && !BR2_x86_c3 && !BR2_x86_winchip_c6 && !BR2_x86_winchip2 default y if BR2_xtensa && BR2_XTENSA_CUSTOM && BR2_XTENSA_LITTLE_ENDIAN if BR2_TOOLCHAIN_EXTERNAL_BOOTLIN @@ -437,6 +437,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_UCLIBC_STABLE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_BLEEDING_EDGE bool "armv5-eabi glibc bleeding-edge 2021.11-1" + depends on BR2_arm depends on BR2_ARM_CPU_ARMV5 depends on BR2_ARM_EABI depends on BR2_USE_MMU @@ -462,6 +463,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_BLEEDING_EDGE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE bool "armv5-eabi glibc stable 2021.11-1" + depends on BR2_arm depends on BR2_ARM_CPU_ARMV5 depends on BR2_ARM_EABI depends on BR2_USE_MMU @@ -487,6 +489,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_MUSL_BLEEDING_EDGE bool "armv5-eabi musl bleeding-edge 2021.11-1" + depends on BR2_arm depends on BR2_ARM_CPU_ARMV5 depends on BR2_ARM_EABI depends on BR2_USE_MMU @@ -511,6 +514,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_MUSL_BLEEDING_EDGE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_MUSL_STABLE bool "armv5-eabi musl stable 2021.11-1" + depends on BR2_arm depends on BR2_ARM_CPU_ARMV5 depends on BR2_ARM_EABI depends on BR2_USE_MMU @@ -535,6 +539,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_MUSL_STABLE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_UCLIBC_BLEEDING_EDGE bool "armv5-eabi uclibc bleeding-edge 2021.11-1" + depends on BR2_arm depends on BR2_ARM_CPU_ARMV5 depends on BR2_ARM_EABI select BR2_TOOLCHAIN_GCC_AT_LEAST_11 @@ -559,6 +564,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_UCLIBC_BLEEDING_EDGE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_UCLIBC_STABLE bool "armv5-eabi uclibc stable 2021.11-1" + depends on BR2_arm depends on BR2_ARM_CPU_ARMV5 depends on BR2_ARM_EABI select BR2_TOOLCHAIN_GCC_AT_LEAST_10 @@ -583,6 +589,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_UCLIBC_STABLE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_BLEEDING_EDGE bool "armv6-eabihf glibc bleeding-edge 2021.11-1" + depends on BR2_arm depends on BR2_ARM_CPU_ARMV6 depends on BR2_ARM_EABIHF depends on BR2_USE_MMU @@ -608,6 +615,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_BLEEDING_EDGE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_STABLE bool "armv6-eabihf glibc stable 2021.11-1" + depends on BR2_arm depends on BR2_ARM_CPU_ARMV6 depends on BR2_ARM_EABIHF depends on BR2_USE_MMU @@ -633,6 +641,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_STABLE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_MUSL_BLEEDING_EDGE bool "armv6-eabihf musl bleeding-edge 2021.11-1" + depends on BR2_arm depends on BR2_ARM_CPU_ARMV6 depends on BR2_ARM_EABIHF depends on BR2_USE_MMU @@ -657,6 +666,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_MUSL_BLEEDING_EDGE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_MUSL_STABLE bool "armv6-eabihf musl stable 2021.11-1" + depends on BR2_arm depends on BR2_ARM_CPU_ARMV6 depends on BR2_ARM_EABIHF depends on BR2_USE_MMU @@ -681,6 +691,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_MUSL_STABLE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_UCLIBC_BLEEDING_EDGE bool "armv6-eabihf uclibc bleeding-edge 2021.11-1" + depends on BR2_arm depends on BR2_ARM_CPU_ARMV6 depends on BR2_ARM_EABIHF select BR2_TOOLCHAIN_GCC_AT_LEAST_11 @@ -705,6 +716,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_UCLIBC_BLEEDING_EDGE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_UCLIBC_STABLE bool "armv6-eabihf uclibc stable 2021.11-1" + depends on BR2_arm depends on BR2_ARM_CPU_ARMV6 depends on BR2_ARM_EABIHF select BR2_TOOLCHAIN_GCC_AT_LEAST_10 @@ -729,6 +741,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_UCLIBC_STABLE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_BLEEDING_EDGE bool "armv7-eabihf glibc bleeding-edge 2021.11-1" + depends on BR2_arm depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF depends on BR2_USE_MMU @@ -754,6 +767,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_BLEEDING_EDGE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE bool "armv7-eabihf glibc stable 2021.11-1" + depends on BR2_arm depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF depends on BR2_USE_MMU @@ -779,6 +793,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_BLEEDING_EDGE bool "armv7-eabihf musl bleeding-edge 2021.11-1" + depends on BR2_arm depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF depends on BR2_USE_MMU @@ -803,6 +818,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_BLEEDING_EDGE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_STABLE bool "armv7-eabihf musl stable 2021.11-1" + depends on BR2_arm depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF depends on BR2_USE_MMU @@ -827,6 +843,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_STABLE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_BLEEDING_EDGE bool "armv7-eabihf uclibc bleeding-edge 2021.11-1" + depends on BR2_arm depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF select BR2_TOOLCHAIN_GCC_AT_LEAST_11 @@ -851,6 +868,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_BLEEDING_EDGE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_STABLE bool "armv7-eabihf uclibc stable 2021.11-1" + depends on BR2_arm depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF select BR2_TOOLCHAIN_GCC_AT_LEAST_10 @@ -875,6 +893,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_STABLE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_BLEEDING_EDGE bool "armv7m uclibc bleeding-edge 2021.11-1" + depends on BR2_arm depends on BR2_ARM_CPU_ARMV7M select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 @@ -896,6 +915,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_BLEEDING_EDGE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_STABLE bool "armv7m uclibc stable 2021.11-1" + depends on BR2_arm depends on BR2_ARM_CPU_ARMV7M select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 @@ -3409,6 +3429,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_UCLIBC_BLEEDING_EDGE depends on BR2_riscv_g depends on BR2_RISCV_64 depends on BR2_RISCV_ABI_LP64D + depends on BR2_USE_MMU select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR @@ -3435,6 +3456,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_UCLIBC_STABLE depends on BR2_riscv_g depends on BR2_RISCV_64 depends on BR2_RISCV_ABI_LP64D + depends on BR2_USE_MMU select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR @@ -4595,6 +4617,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_GLIBC_BLEEDING_EDGE depends on !BR2_x86_i486 depends on !BR2_x86_i586 depends on !BR2_x86_x1000 + depends on !BR2_x86_pentium_mmx + depends on !BR2_x86_geode + depends on !BR2_x86_c3 + depends on !BR2_x86_winchip_c6 + depends on !BR2_x86_winchip2 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS select BR2_TOOLCHAIN_GCC_AT_LEAST_11 @@ -4622,6 +4649,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_GLIBC_STABLE depends on !BR2_x86_i486 depends on !BR2_x86_i586 depends on !BR2_x86_x1000 + depends on !BR2_x86_pentium_mmx + depends on !BR2_x86_geode + depends on !BR2_x86_c3 + depends on !BR2_x86_winchip_c6 + depends on !BR2_x86_winchip2 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS select BR2_TOOLCHAIN_GCC_AT_LEAST_10 @@ -4649,6 +4681,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_MUSL_BLEEDING_EDGE depends on !BR2_x86_i486 depends on !BR2_x86_i586 depends on !BR2_x86_x1000 + depends on !BR2_x86_pentium_mmx + depends on !BR2_x86_geode + depends on !BR2_x86_c3 + depends on !BR2_x86_winchip_c6 + depends on !BR2_x86_winchip2 depends on BR2_USE_MMU select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 @@ -4674,6 +4711,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_MUSL_STABLE depends on !BR2_x86_i486 depends on !BR2_x86_i586 depends on !BR2_x86_x1000 + depends on !BR2_x86_pentium_mmx + depends on !BR2_x86_geode + depends on !BR2_x86_c3 + depends on !BR2_x86_winchip_c6 + depends on !BR2_x86_winchip2 depends on BR2_USE_MMU select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 @@ -4698,6 +4740,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_UCLIBC_BLEEDING_EDGE depends on !BR2_x86_i486 depends on !BR2_x86_i586 depends on !BR2_x86_x1000 + depends on !BR2_x86_pentium_mmx + depends on !BR2_x86_geode + depends on !BR2_x86_c3 + depends on !BR2_x86_winchip_c6 + depends on !BR2_x86_winchip2 select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR @@ -4724,6 +4771,11 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_UCLIBC_STABLE depends on !BR2_x86_i486 depends on !BR2_x86_i586 depends on !BR2_x86_x1000 + depends on !BR2_x86_pentium_mmx + depends on !BR2_x86_geode + depends on !BR2_x86_c3 + depends on !BR2_x86_winchip_c6 + depends on !BR2_x86_winchip2 select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in index 2341d0883..8ea9508f9 100644 --- a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in +++ b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in @@ -4,6 +4,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS 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) + depends on !BR2_STATIC_LIBS select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7 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 index b540164a2..65e1861f1 100644 --- 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 @@ -1,4 +1,4 @@ # 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 +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-mti-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in index c58c55119..84d81f990 100644 --- a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in +++ b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in @@ -3,8 +3,8 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS 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) || \ - BR2_MIPS_CPU_MIPS32R5 || (BR2_MIPS_CPU_MIPS64R5 && !BR2_MIPS_SOFT_FLOAT) + depends on BR2_MIPS_CPU_MIPS32R2 || (BR2_MIPS_CPU_MIPS64R2 && !BR2_MIPS_SOFT_FLOAT) + depends on !BR2_STATIC_LIBS select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7 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 index 8e70af501..b07281de4 100644 --- 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 @@ -1,4 +1,4 @@ # 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 +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-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.hash b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.hash index f7d3f29fd..8f8fca0d0 100644 --- 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 @@ -1,3 +1,3 @@ # 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 +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-arm/toolchain-external-codesourcery-arm.hash b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.hash index 535f4aaf9..c01a7b17c 100644 --- 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 @@ -1,3 +1,3 @@ # 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 +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-mips/toolchain-external-codesourcery-mips.hash b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/toolchain-external-codesourcery-mips.hash index 2d80338e7..c2429d85d 100644 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-mips/toolchain-external-codesourcery-mips.hash +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-mips/toolchain-external-codesourcery-mips.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 d354447c4c5160439dafd5464fa3a0266dd41e79f973477238e4f0215a6b5397 mips-2016.05-8-mips-linux-gnu-i686-pc-linux-gnu.tar.bz2 -sha256 2658e55d5b71bba25d6f77e868e18b200ea5f75c8add7ed3a9266e716d9adfff mips-2016.05-8-mips-linux-gnu.src.tar.bz2 +sha256 d354447c4c5160439dafd5464fa3a0266dd41e79f973477238e4f0215a6b5397 mips-2016.05-8-mips-linux-gnu-i686-pc-linux-gnu.tar.bz2 +sha256 2658e55d5b71bba25d6f77e868e18b200ea5f75c8add7ed3a9266e716d9adfff mips-2016.05-8-mips-linux-gnu.src.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.hash b/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.hash index 518e677f3..47893ab7e 100644 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.hash +++ b/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.hash @@ -1,6 +1,6 @@ # From https://sourcery.mentor.com/GNUToolchain/release3374 -md5 4f536b3b9b4e00f483e82e304c0a27ae sourceryg++-2018.05-5-nios2-linux-gnu-i686-pc-linux-gnu.tar.bz2 -md5 be42ab83da2e8db7b73dc890c2549570 sourceryg++-2018.05-5-nios2-linux-gnu.src.tar.bz2 +md5 4f536b3b9b4e00f483e82e304c0a27ae sourceryg++-2018.05-5-nios2-linux-gnu-i686-pc-linux-gnu.tar.bz2 +md5 be42ab83da2e8db7b73dc890c2549570 sourceryg++-2018.05-5-nios2-linux-gnu.src.tar.bz2 # Locally calculated -sha256 c19afb432b5b23f8d5d639831d3a423a3ea3c9cc62e0015020d20ea2eb36dd1b sourceryg++-2018.05-5-nios2-linux-gnu-i686-pc-linux-gnu.tar.bz2 -sha256 d73a6364106dd62352711f932d3be8e97fdaaa548995678b5d38d9f21e22437a sourceryg++-2018.05-5-nios2-linux-gnu.src.tar.bz2 +sha256 c19afb432b5b23f8d5d639831d3a423a3ea3c9cc62e0015020d20ea2eb36dd1b sourceryg++-2018.05-5-nios2-linux-gnu-i686-pc-linux-gnu.tar.bz2 +sha256 d73a6364106dd62352711f932d3be8e97fdaaa548995678b5d38d9f21e22437a sourceryg++-2018.05-5-nios2-linux-gnu.src.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external-custom/toolchain-external-custom.mk b/toolchain/toolchain-external/toolchain-external-custom/toolchain-external-custom.mk index c4ae6125e..f2ec01f88 100644 --- a/toolchain/toolchain-external/toolchain-external-custom/toolchain-external-custom.mk +++ b/toolchain/toolchain-external/toolchain-external-custom/toolchain-external-custom.mk @@ -10,6 +10,11 @@ TOOLCHAIN_EXTERNAL_CUSTOM_SOURCE = $(notdir $(call qstrip,$(BR2_TOOLCHAIN_EXTERN ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CUSTOM),y) # We can't check hashes for custom downloaded toolchains BR_NO_CHECK_HASH_FOR += $(TOOLCHAIN_EXTERNAL_SOURCE) +ifeq ($(BR_BUILDING)$(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),yy) +ifeq ($(TOOLCHAIN_EXTERNAL_CUSTOM_SOURCE),) +$(error No external toolchain url set, check your BR2_TOOLCHAIN_EXTERNAL_URL setting) +endif +endif endif $(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.hash b/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.hash index f93642eca..53b6966e7 100644 --- a/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.hash +++ b/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 412da19c1d1bff0f3172bc19fd2c024207d8d716dbe7a8dad4bf9e3d6b71d149 gcc-linaro-7.3.1-2018.05-i686_aarch64_be-linux-gnu.tar.xz -sha256 277c1483f8dbd6007c945ffeb706fa1ba1da8ec1c397cf5cf1e29c25081426e5 gcc-linaro-7.3.1-2018.05-x86_64_aarch64_be-linux-gnu.tar.xz +sha256 412da19c1d1bff0f3172bc19fd2c024207d8d716dbe7a8dad4bf9e3d6b71d149 gcc-linaro-7.3.1-2018.05-i686_aarch64_be-linux-gnu.tar.xz +sha256 277c1483f8dbd6007c945ffeb706fa1ba1da8ec1c397cf5cf1e29c25081426e5 gcc-linaro-7.3.1-2018.05-x86_64_aarch64_be-linux-gnu.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.hash b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.hash index 938e37c77..70841a4fa 100644 --- a/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.hash +++ b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 466b801a60491ae1e2ce9952e0615cf04cf611596c6ffd5bfe8a89ef5be47e03 gcc-linaro-7.3.1-2018.05-i686_aarch64-linux-gnu.tar.xz -sha256 73eed74e593e2267504efbcf3678918bb22409ab7afa3dc7c135d2c6790c2345 gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz +sha256 466b801a60491ae1e2ce9952e0615cf04cf611596c6ffd5bfe8a89ef5be47e03 gcc-linaro-7.3.1-2018.05-i686_aarch64-linux-gnu.tar.xz +sha256 73eed74e593e2267504efbcf3678918bb22409ab7afa3dc7c135d2c6790c2345 gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash b/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash index bd09cb5a8..7169e0b93 100644 --- a/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash +++ b/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 0613b5be14eb7d50a772bbd72069c428558e6e53fa5fce7201d75a13a475ffff gcc-linaro-7.3.1-2018.05-i686_arm-linux-gnueabihf.tar.xz -sha256 7248bf105d0d468887a9b8a7120bb281ac8ad0223d9cb3d00dc7c2d498485d91 gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf.tar.xz +sha256 0613b5be14eb7d50a772bbd72069c428558e6e53fa5fce7201d75a13a475ffff gcc-linaro-7.3.1-2018.05-i686_arm-linux-gnueabihf.tar.xz +sha256 7248bf105d0d468887a9b8a7120bb281ac8ad0223d9cb3d00dc7c2d498485d91 gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.hash b/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.hash index a3b6b88b7..2b80f396d 100644 --- a/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.hash +++ b/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 60bf9924a0c039c94deb85cb9b129d0f28b28eadbb1fb3f7e2e227679cc43fc9 gcc-linaro-7.3.1-2018.05-i686_armeb-linux-gnueabihf.tar.xz -sha256 c1bbd598b78458d6b7ea1c971fddf736c00d57890c7131fdafd4e789289c42f9 gcc-linaro-7.3.1-2018.05-x86_64_armeb-linux-gnueabihf.tar.xz +sha256 60bf9924a0c039c94deb85cb9b129d0f28b28eadbb1fb3f7e2e227679cc43fc9 gcc-linaro-7.3.1-2018.05-i686_armeb-linux-gnueabihf.tar.xz +sha256 c1bbd598b78458d6b7ea1c971fddf736c00d57890c7131fdafd4e789289c42f9 gcc-linaro-7.3.1-2018.05-x86_64_armeb-linux-gnueabihf.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash b/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash index 3ce6bbcb1..3c2272383 100644 --- a/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash +++ b/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash @@ -1,5 +1,5 @@ # From https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2019.09-release -sha256 f7cbf68ef251943db7baf63535e0ec98dafbdf5d925017b4e1d4fc64d9b38a26 arc_gnu_2019.09_prebuilt_uclibc_le_arc700_linux_install.tar.gz -sha256 ac09f0a21f9d50146a5e542f4a6abc93e5a1dcb0a1372cb5c3ba86bbefaaec7d arc_gnu_2019.09_prebuilt_uclibc_be_arc700_linux_install.tar.gz -sha256 245ca49fe8ea2456617541b18bb96e52e6c0dc619f00e293fcaad519fc436c35 arc_gnu_2019.09_prebuilt_uclibc_le_archs_linux_install.tar.gz -sha256 6f039a0158c03af398ada31fae96009e47f0d7b7f7d52e12eb419492fc3f27e7 arc_gnu_2019.09_prebuilt_uclibc_be_archs_linux_install.tar.gz +sha256 f7cbf68ef251943db7baf63535e0ec98dafbdf5d925017b4e1d4fc64d9b38a26 arc_gnu_2019.09_prebuilt_uclibc_le_arc700_linux_install.tar.gz +sha256 ac09f0a21f9d50146a5e542f4a6abc93e5a1dcb0a1372cb5c3ba86bbefaaec7d arc_gnu_2019.09_prebuilt_uclibc_be_arc700_linux_install.tar.gz +sha256 245ca49fe8ea2456617541b18bb96e52e6c0dc619f00e293fcaad519fc436c35 arc_gnu_2019.09_prebuilt_uclibc_le_archs_linux_install.tar.gz +sha256 6f039a0158c03af398ada31fae96009e47f0d7b7f7d52e12eb419492fc3f27e7 arc_gnu_2019.09_prebuilt_uclibc_be_archs_linux_install.tar.gz diff --git a/toolchain/toolchain.mk b/toolchain/toolchain.mk index 08d164960..fe87a72ed 100644 --- a/toolchain/toolchain.mk +++ b/toolchain/toolchain.mk @@ -27,6 +27,10 @@ define TOOLCHAIN_GLIBC_COPY_GCONV_LIBS $(INSTALL) -m 0644 $(STAGING_DIR)/usr/lib/$${d}/gconv/*.so \ $(TARGET_DIR)/usr/lib/gconv \ || exit 1; \ + if [ -d $(STAGING_DIR)/usr/lib/$${d}/gconv/gconv-modules.d ]; then \ + cp -a $(STAGING_DIR)/usr/lib/$${d}/gconv/gconv-modules.d \ + $(TARGET_DIR)/usr/lib/gconv/ || exit 1; \ + fi; \ else \ for l in $(TOOLCHAIN_GLIBC_GCONV_LIBS); do \ $(INSTALL) -m 0644 -D $(STAGING_DIR)/usr/lib/$${d}/gconv/$${l}.so \ @@ -41,8 +45,9 @@ define TOOLCHAIN_GLIBC_COPY_GCONV_LIBS || exit 1; \ done; \ done; \ - ./support/scripts/expunge-gconv-modules "$(TOOLCHAIN_GLIBC_GCONV_LIBS)" \ - <$(STAGING_DIR)/usr/lib/$${d}/gconv/gconv-modules \ + ./support/scripts/expunge-gconv-modules \ + $(STAGING_DIR)/usr/lib/$${d}/gconv \ + "$(TOOLCHAIN_GLIBC_GCONV_LIBS)" \ >$(TARGET_DIR)/usr/lib/gconv/gconv-modules; \ fi endef diff --git a/toolchain/toolchain/toolchain.mk b/toolchain/toolchain/toolchain.mk index 18f1dbea1..ac60a7b24 100644 --- a/toolchain/toolchain/toolchain.mk +++ b/toolchain/toolchain/toolchain.mk @@ -47,4 +47,7 @@ endef TOOLCHAIN_POST_INSTALL_TARGET_HOOKS += TOOLCHAIN_GLIBC_COPY_NSSWITCH_FILE endif +# Not really a virtual package, but we use the virtual package infra here so +# both the build log and build directory look nicer (toolchain-virtual instead +# of toolchain-undefined) $(eval $(virtual-package)) diff --git a/utils/brmake b/utils/brmake index e30119dd1..70dfb6cdc 100755 --- a/utils/brmake +++ b/utils/brmake @@ -3,7 +3,7 @@ # License: WTFPL, https://spdx.org/licenses/WTFPL.html main() { - local found ret start d h m mf + local ret start d h m mf if ! which unbuffer >/dev/null 2>&1; then printf "you need to install 'unbuffer' (from package expect or expect-dev)\n" >&2 @@ -13,7 +13,7 @@ main() { start=${SECONDS} ( exec 2>&1; unbuffer make "${@}"; ) \ - > >( while read line; do + > >( while read -r line; do printf "%(%Y-%m-%dT%H:%M:%S)T %s\n" -1 "${line}" done \ |tee -a br.log \ diff --git a/utils/checkpackagelib/lib_config.py b/utils/checkpackagelib/lib_config.py index b05831f2c..f26ca0d89 100644 --- a/utils/checkpackagelib/lib_config.py +++ b/utils/checkpackagelib/lib_config.py @@ -233,3 +233,41 @@ class Indent(_CheckFunction): return ["{}:{}: should not be indented" .format(self.filename, lineno), text] + + +class RedefinedConfig(_CheckFunction): + CONFIG = re.compile(r"^\s*(menu|)config\s+(BR2_\w+)\b") + IF = re.compile(r"^\s*if\s+([^#]*)\b") + ENDIF = re.compile(r"^\s*endif\b") + + def before(self): + self.configs = {} + self.conditional = [] + + def check_line(self, lineno, text): + if _empty_or_comment(text) or _part_of_help_text(text): + return + + m = self.IF.search(text) + if m is not None: + condition = m.group(1) + self.conditional.append(condition) + return + + m = self.ENDIF.search(text) + if m is not None: + self.conditional.pop() + return + + m = self.CONFIG.search(text) + if m is None: + return + config = m.group(2) + + key = (config, ' AND '.join(self.conditional)) + if key in self.configs.keys(): + previous_line = self.configs[key] + return ["{}:{}: config {} redeclared (previous line: {})" + .format(self.filename, lineno, config, previous_line), + text] + self.configs[key] = lineno diff --git a/utils/checkpackagelib/lib_mk.py b/utils/checkpackagelib/lib_mk.py index b50a19ac6..8adf844e9 100644 --- a/utils/checkpackagelib/lib_mk.py +++ b/utils/checkpackagelib/lib_mk.py @@ -21,6 +21,24 @@ continue_conditional = ["elif", "else"] end_conditional = ["endif"] +class Ifdef(_CheckFunction): + IFDEF = re.compile(r"^\s*(else\s+|)(ifdef|ifndef)\s") + + def check_line(self, lineno, text): + m = self.IFDEF.search(text) + if m is None: + return + word = m.group(2) + if word == 'ifdef': + return ["{}:{}: use ifeq ($(SYMBOL),y) instead of ifdef SYMBOL" + .format(self.filename, lineno), + text] + else: + return ["{}:{}: use ifneq ($(SYMBOL),y) instead of ifndef SYMBOL" + .format(self.filename, lineno), + text] + + class Indent(_CheckFunction): COMMENT = re.compile(r"^\s*#") CONDITIONAL = re.compile(r"^\s*({})\s".format("|".join(start_conditional + end_conditional + continue_conditional))) diff --git a/utils/checkpackagelib/test_lib_config.py b/utils/checkpackagelib/test_lib_config.py index 91a549adf..474d17105 100644 --- a/utils/checkpackagelib/test_lib_config.py +++ b/utils/checkpackagelib/test_lib_config.py @@ -385,3 +385,81 @@ Indent = [ def test_Indent(testname, filename, string, expected): warnings = util.check_file(m.Indent, filename, string) assert warnings == expected + + +RedefinedConfig = [ + ('no redefinition', + 'any', + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'config BR2_PACKAGE_FOO_BAR\n' + 'bool "foo"\n', + []), + ('no conditional', + 'any', + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'config BR2_PACKAGE_BAR\n' + 'bool "bar"\n' + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n', + [['any:5: config BR2_PACKAGE_FOO redeclared (previous line: 1)', + 'config BR2_PACKAGE_FOO\n']]), + ('three times', + 'any', + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n', + [['any:3: config BR2_PACKAGE_FOO redeclared (previous line: 1)', + 'config BR2_PACKAGE_FOO\n'], + ['any:5: config BR2_PACKAGE_FOO redeclared (previous line: 1)', + 'config BR2_PACKAGE_FOO\n']]), + ('same conditional', + 'any', + 'if BR2_PACKAGE_BAZ\n' + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'config BR2_PACKAGE_BAR\n' + 'bool "bar"\n' + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'endif\n', + [['any:6: config BR2_PACKAGE_FOO redeclared (previous line: 2)', + 'config BR2_PACKAGE_FOO\n']]), + ('equivalent conditional', + 'any', + 'if BR2_PACKAGE_BAZ\n' + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'endif\n' + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'if BR2_PACKAGE_BAZ\n' + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'endif\n', + [['any:8: config BR2_PACKAGE_FOO redeclared (previous line: 2)', + 'config BR2_PACKAGE_FOO\n']]), + ('not equivalent conditional', + 'any', + 'if BR2_PACKAGE_BAZ\n' + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'endif\n' + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'if !BR2_PACKAGE_BAZ\n' + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'endif\n', + []), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', RedefinedConfig) +def test_RedefinedConfig(testname, filename, string, expected): + warnings = util.check_file(m.RedefinedConfig, filename, string) + assert warnings == expected diff --git a/utils/checkpackagelib/test_lib_mk.py b/utils/checkpackagelib/test_lib_mk.py index 49fa216fc..80a1736b4 100644 --- a/utils/checkpackagelib/test_lib_mk.py +++ b/utils/checkpackagelib/test_lib_mk.py @@ -3,6 +3,54 @@ import checkpackagelib.test_util as util import checkpackagelib.lib_mk as m +Ifdef = [ + ('ignore commented line', + 'any', + '# ifdef\n', + []), + ('simple', + 'any', + '\n' + 'ifdef BR2_PACKAGE_FWTS_EFI_RUNTIME_MODULE\n' + 'endif\n', + [['any:2: use ifeq ($(SYMBOL),y) instead of ifdef SYMBOL', + 'ifdef BR2_PACKAGE_FWTS_EFI_RUNTIME_MODULE\n']]), + ('ignore indentation', + 'any', + ' ifdef FOO\n' + ' endif\n' + '\tifdef BAR\n' + 'endif\n', + [['any:1: use ifeq ($(SYMBOL),y) instead of ifdef SYMBOL', + ' ifdef FOO\n'], + ['any:3: use ifeq ($(SYMBOL),y) instead of ifdef SYMBOL', + '\tifdef BAR\n']]), + ('typo', + 'any', + '\n' + 'ifndef ($(BR2_ENABLE_LOCALE),y)\n' + 'endif\n', + [['any:2: use ifneq ($(SYMBOL),y) instead of ifndef SYMBOL', + 'ifndef ($(BR2_ENABLE_LOCALE),y)\n']]), + ('else ifdef', + 'any', + 'else ifdef SYMBOL # comment\n', + [['any:1: use ifeq ($(SYMBOL),y) instead of ifdef SYMBOL', + 'else ifdef SYMBOL # comment\n']]), + ('else ifndef', + 'any', + '\t else ifndef\t($(SYMBOL),y) # comment\n', + [['any:1: use ifneq ($(SYMBOL),y) instead of ifndef SYMBOL', + '\t else ifndef\t($(SYMBOL),y) # comment\n']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', Ifdef) +def test_Ifdef(testname, filename, string, expected): + warnings = util.check_file(m.Ifdef, filename, string) + assert warnings == expected + + Indent = [ ('ignore comment at beginning of line', 'any', diff --git a/utils/genrandconfig b/utils/genrandconfig index 3483d55c1..353c1ca8f 100755 --- a/utils/genrandconfig +++ b/utils/genrandconfig @@ -24,6 +24,7 @@ import os from random import randint import subprocess import sys +import traceback from distutils.version import StrictVersion import platform @@ -180,7 +181,7 @@ def is_toolchain_usable(configfile, config): 'BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE=y\n' in configlines or \ 'BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB=y\n' in configlines: ldd_version_output = subprocess.check_output(['ldd', '--version']) - glibc_version = ldd_version_output.splitlines()[0].split()[-1] + 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 @@ -237,12 +238,9 @@ def fixup_config(sysinfo, configfile): 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 - # libffi not available on sh2a and ARMv7-M, but propagating libffi - # arch dependencies in Buildroot is really too much work, so we - # handle this here. - if 'BR2_sh2a=y\n' in configlines and \ - 'BR2_PACKAGE_LIBFFI=y\n' in configlines: - return False + # libffi not available on ARMv7-M, but propagating libffi arch + # dependencies in Buildroot is really too much work, so we handle + # this here. if 'BR2_ARM_CPU_ARMV7M=y\n' in configlines and \ 'BR2_PACKAGE_LIBFFI=y\n' in configlines: return False @@ -298,6 +296,11 @@ def fixup_config(sysinfo, configfile): if 'BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII=y\n' in configlines and \ 'BR2_PACKAGE_FLANN=y\n' in configlines: return False + if 'BR2_PACKAGE_AUFS_UTIL=y\n' in configlines and \ + 'BR2_PACKAGE_AUFS_UTIL_VERSION=""\n' in configlines: + return False + if 'BR2_PACKAGE_A10DISP=y\n' in configlines: + return False if 'BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE=y\n' in configlines: bootenv = os.path.join(args.outputdir, "boot_env.txt") @@ -446,7 +449,7 @@ if __name__ == '__main__': try: ret = gen_config(args) - except Exception as e: - print(str(e), file=sys.stderr) + except Exception: + traceback.print_exc() parser.exit(1) parser.exit(ret) diff --git a/utils/readme.txt b/utils/readme.txt index 3064ecec3..3e8833c4e 100644 --- a/utils/readme.txt +++ b/utils/readme.txt @@ -20,7 +20,7 @@ genrandconfig (http://autobuild.buildroot.org). It selects a random toolchain from support/config-fragments/autobuild and randomly selects packages to build. -get-developpers +get-developers a script to return the list of people interested in a specific part of Buildroot, so they can be Cc:ed on a mail. Accepts a patch as input, a package name or and architecture name. diff --git a/utils/scancpan b/utils/scancpan index 075f19356..48f8bd83b 100755 --- a/utils/scancpan +++ b/utils/scancpan @@ -31,7 +31,7 @@ $fatpacked{"MetaCPAN/API/Tiny.pm"} = <<'METACPAN_API_TINY'; if $params{ua_args} && ref($params{ua_args}) ne 'ARRAY'; my $self = +{ - base_url => $params{base_url} || 'http://api.metacpan.org/v0', + base_url => $params{base_url} || 'https://api.metacpan.org/v0', ua => $params{ua} || HTTP::Tiny->new( $params{ua_args} ? @{$params{ua_args}} @@ -488,9 +488,9 @@ use Digest::SHA qw(sha256_hex); use Text::Wrap; $Text::Wrap::columns = 62; -# Below, 5.032 should be aligned with the version of perl actually +# Below, 5.034 should be aligned with the version of perl actually # bundled in Buildroot: -die <<"MSG" if $] < 5.032; +die <<"MSG" if $] < 5.034; This script needs a host perl with the same major version as Buildroot target perl. Your current host perl is: @@ -498,7 +498,7 @@ Your current host perl is: version $] You may install a local one by running: - perlbrew install perl-5.32.0 + perlbrew install perl-5.34.0 MSG my ($help, $man, $quiet, $force, $recommend, $test, $host); @@ -525,8 +525,8 @@ my %deps_build; # name -> list of host dependencies my %deps_runtime; # name -> list of target dependencies my %license_files; # name -> hash of license files my %checksum; # author -> list of checksum -my $mirror = 'http://cpan.metacpan.org'; # a CPAN mirror -my $mcpan = MetaCPAN::API::Tiny->new(base_url => 'http://fastapi.metacpan.org/v1'); +my $mirror = 'https://cpan.metacpan.org'; # a CPAN mirror +my $mcpan = MetaCPAN::API::Tiny->new(base_url => 'https://fastapi.metacpan.org/v1'); my $ua = HTTP::Tiny->new(); my $new_pkgs; @@ -698,7 +698,7 @@ sub brname { return uc $name; } -# Buildroot requires license name as in http://spdx.org/licenses/ +# Buildroot requires license name as in https://spdx.org/licenses/ sub brlicense { my $license = shift; $license =~ s|apache_1_1|Apache-1.1|; diff --git a/utils/scanpypi b/utils/scanpypi index 17d8a0017..6ed07a15e 100755 --- a/utils/scanpypi +++ b/utils/scanpypi @@ -296,23 +296,25 @@ class BuildrootPackage(): current_dir = os.getcwd() os.chdir(self.tmp_extract) sys.path.insert(0, self.tmp_extract) - s_file, s_path, s_desc = imp.find_module('setup', [self.tmp_extract]) - imp.load_module('__main__', s_file, s_path, s_desc) - if self.metadata_name in self.setup_args: - pass - elif self.metadata_name.replace('_', '-') in self.setup_args: - self.metadata_name = self.metadata_name.replace('_', '-') - elif self.metadata_name.replace('-', '_') in self.setup_args: - self.metadata_name = self.metadata_name.replace('-', '_') try: - self.setup_metadata = self.setup_args[self.metadata_name] - except KeyError: - # This means setup was not called - print('ERROR: Could not determine package metadata for {pkg}.\n' - .format(pkg=self.real_name)) - raise - os.chdir(current_dir) - sys.path.remove(self.tmp_extract) + s_file, s_path, s_desc = imp.find_module('setup', [self.tmp_extract]) + imp.load_module('__main__', s_file, s_path, s_desc) + if self.metadata_name in self.setup_args: + pass + elif self.metadata_name.replace('_', '-') in self.setup_args: + self.metadata_name = self.metadata_name.replace('_', '-') + elif self.metadata_name.replace('-', '_') in self.setup_args: + self.metadata_name = self.metadata_name.replace('-', '_') + try: + self.setup_metadata = self.setup_args[self.metadata_name] + except KeyError: + # This means setup was not called + print('ERROR: Could not determine package metadata for {pkg}.\n' + .format(pkg=self.real_name)) + raise + finally: + os.chdir(current_dir) + sys.path.remove(self.tmp_extract) def get_requirements(self, pkg_folder): """ @@ -485,7 +487,7 @@ class BuildrootPackage(): lines = [] filenames = ['LICENCE', 'LICENSE', 'LICENSE.MD', 'LICENSE.RST', - 'LICENSE.TXT', 'COPYING', 'COPYING.TXT'] + 'LICENCE.TXT', 'LICENSE.TXT', 'COPYING', 'COPYING.TXT'] self.license_files = list(find_file_upper_case(filenames, self.tmp_extract)) lines.append(self.__get_license_names(self.license_files)) diff --git a/utils/test-pkg b/utils/test-pkg index ce6e43b96..e7f546481 100755 --- a/utils/test-pkg +++ b/utils/test-pkg @@ -201,7 +201,7 @@ build_one() { # Validate that we generate proper json as show-info { tput smso; printf '>>> Running show-info\n'; tput rmso; } >> "${dir}/logfile" 2> /dev/null; - JQ="$(which jq)" + JQ="$(which jq 2> /dev/null)" if [ -z "${JQ}" ]; then make O="${dir}" host-jq >> "${dir}/logfile" 2>&1 JQ="${dir}/host/bin/jq" @@ -257,6 +257,7 @@ Options: -d DIR, --build-dir DIR Do the builds in directory DIR, one sub-dir per toolchain. + If not specified, defaults to \${HOME}/br-test-pkg -p PKG, --package PKG Test-build the package PKG, by running 'make PKG'; if not specified, -- Gitee From f6a9a52af5836ec00883c482e8155459e2dcabea Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Fri, 28 Feb 2025 15:08:26 +0800 Subject: [PATCH 08/11] 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 16aeee716..b1d642d09 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Buildroot需要主机系统上安装以下依赖包: ``` $ 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 ``` 对于Debian11系统,需要设置PATH环境变量:`PATH=$PATH:/usr/sbin` -- Gitee From 455def09eda43d625228bb220943022b1f6572aa Mon Sep 17 00:00:00 2001 From: lindongping2027 Date: Fri, 14 Mar 2025 17:36:32 +0800 Subject: [PATCH 09/11] add amdgpu.config Signed-off-by: lindongping2027 --- README.md | 18 +++++++++--- board/phytium/common/post-build.sh | 7 ++++- configs/amdgpu.config | 2 ++ configs/linux_4.19.config | 2 +- configs/phytium_debian_defconfig | 2 +- configs/phytium_ubuntu_defconfig | 2 +- package/Config.in | 1 + package/amdgpu-firmware/Config.in | 4 +++ package/amdgpu-firmware/amdgpu-firmware.mk | 33 ++++++++++++++++++++++ 9 files changed, 63 insertions(+), 8 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 b1d642d09..363b5c863 100644 --- a/README.md +++ b/README.md @@ -58,13 +58,14 @@ 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、ubuntu_20.04.config、desktop.config、e2000_optee.config、xenomai_xxx.config、ethercat.config、jailhouse.config、x100.config、qt5_eglfs.config、openamp_xxx.config、initramfs.config、ros2.config、phytiumpi_sdcard.config、kernel_debug.config、host_arm64.config、toolchain_buildroot.config | -| phytium_debian_defconfig | linux_xxx.config、desktop.config、e2000_optee.config、xenomai_xxx.config、ethercat.config、jailhouse.config、x100.config、qt5_eglfs.config、openamp_xxx.config、initramfs.config、phytiumpi_sdcard.config 、host_arm64.config、toolchain_buildroot.config | -| phytium_defconfig | linux_xxx.config、e2000_optee.config、phytiumpi_sdcard.config、xenomai_xxx.config、ethercat.config、jailhouse.config、openamp_xxx.config 、host_arm64.config、toolchain_buildroot.config | +| phytium_ubuntu_defconfig | linux_xxx.config、ubuntu_20.04.config、desktop.config、e2000_optee.config、xenomai_xxx.config、ethercat.config、jailhouse.config、x100.config、qt5_eglfs.config、openamp_xxx.config、initramfs.config、ros2.config、phytiumpi_sdcard.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、qt5_eglfs.config、openamp_xxx.config、initramfs.config、phytiumpi_sdcard.config 、host_arm64.config、toolchain_buildroot.config、amdgpu.config | +| phytium_defconfig | linux_xxx.config、e2000_optee.config、phytiumpi_sdcard.config、xenomai_xxx.config、ethercat.config、jailhouse.config、openamp_xxx.config 、host_arm64.config、toolchain_buildroot.config、amdgpu.config | # 编译文件系统 ## 编译默认配置的文件系统 @@ -241,7 +242,16 @@ pyjailhouse安装到/usr/local/lib/python3.x/dist-packages;上述的python3.x $ ./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目录下。 ### 支持无桌面qt5 eglfs 支持将qt5 eglfs编译安装到无桌面的Ubuntu20.04、Ubuntu22.04和Debian11系统,用来运行在带x100的开发板上。 diff --git a/board/phytium/common/post-build.sh b/board/phytium/common/post-build.sh index d13115f17..17a15192a 100755 --- a/board/phytium/common/post-build.sh +++ b/board/phytium/common/post-build.sh @@ -124,7 +124,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/configs/linux_4.19.config b/configs/linux_4.19.config index deb7af558..8a6bf5a81 100644 --- a/configs/linux_4.19.config +++ b/configs/linux_4.19.config @@ -1,5 +1,5 @@ # Filesystem BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/phytium/genimage-4.19.cfg" # kernel 4.19 -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="b96cb86c663b65a684cb5aed3a379a0598f775f7" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="daa4272ac498705aef3a46840fffecee21e31a4f" BR2_LINUX_KERNEL_INTREE_DTS_NAME="phytium/e2000d-chillipi-edu-board phytium/e2000d-demo-board phytium/e2000d-miniitx-board phytium/e2000d-power-board phytium/e2000q-come-board phytium/e2000q-demo-board phytium/e2000q-edu-board phytium/e2000q-hanwei-board phytium/e2000q-miniitx-board phytium/e2000q-vpx-board phytium/e2000s-demo-board phytium/phytiumpi_firefly" diff --git a/configs/phytium_debian_defconfig b/configs/phytium_debian_defconfig index 2190909ee..d6bab1e5d 100644 --- a/configs/phytium_debian_defconfig +++ b/configs/phytium_debian_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 5.10 -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="7b787a8c53e522e122d35912c830849321aa9ae4" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="11d0eb6ce35302413eccca4034327285cbe3d11a" BR2_LINUX_KERNEL_INTREE_DTS_NAME="phytium/e2000d-chillipi-edu-board phytium/e2000d-demo-board phytium/e2000d-miniitx-board phytium/e2000d-power-board phytium/e2000q-come-board phytium/e2000q-demo-board phytium/e2000q-edu-board phytium/e2000q-hanwei-board phytium/e2000q-miniitx-board phytium/e2000q-vpx-board phytium/e2000s-demo-board phytium/phytiumpi_firefly" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_DEFCONFIG="phytium" diff --git a/configs/phytium_ubuntu_defconfig b/configs/phytium_ubuntu_defconfig index 76ffecab9..9bdbf4389 100644 --- a/configs/phytium_ubuntu_defconfig +++ b/configs/phytium_ubuntu_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 5.10 -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="7b787a8c53e522e122d35912c830849321aa9ae4" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="11d0eb6ce35302413eccca4034327285cbe3d11a" BR2_LINUX_KERNEL_INTREE_DTS_NAME="phytium/e2000d-chillipi-edu-board phytium/e2000d-demo-board phytium/e2000d-miniitx-board phytium/e2000d-power-board phytium/e2000q-come-board phytium/e2000q-demo-board phytium/e2000q-edu-board phytium/e2000q-hanwei-board phytium/e2000q-miniitx-board phytium/e2000q-vpx-board phytium/e2000s-demo-board phytium/phytiumpi_firefly" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_DEFCONFIG="phytium" diff --git a/package/Config.in b/package/Config.in index 624c68fc3..7f8e7824d 100644 --- a/package/Config.in +++ b/package/Config.in @@ -448,6 +448,7 @@ menu "Firmware" source "package/phytium-standalone/Config.in" source "package/phytium-free-rtos/Config.in" source "package/rpmsg-demo/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 f117dc73687a91aa8f7a6e111bc666737c9e943b Mon Sep 17 00:00:00 2001 From: lindongping Date: Thu, 10 Apr 2025 16:54:22 +0800 Subject: [PATCH 10/11] linux_kernel: add package rtl8821cs for linux 4.19 Signed-off-by: lindongping --- configs/linux_4.19.config | 1 + package/Config.in | 1 + package/rtl8821cs/Config.in | 11 +++++++++++ package/rtl8821cs/rtl8821cs.mk | 22 ++++++++++++++++++++++ 4 files changed, 35 insertions(+) create mode 100644 package/rtl8821cs/Config.in create mode 100644 package/rtl8821cs/rtl8821cs.mk diff --git a/configs/linux_4.19.config b/configs/linux_4.19.config index 8a6bf5a81..dfe2e3198 100644 --- a/configs/linux_4.19.config +++ b/configs/linux_4.19.config @@ -3,3 +3,4 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/phytium/genimage-4.19.cfg" # kernel 4.19 BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="daa4272ac498705aef3a46840fffecee21e31a4f" BR2_LINUX_KERNEL_INTREE_DTS_NAME="phytium/e2000d-chillipi-edu-board phytium/e2000d-demo-board phytium/e2000d-miniitx-board phytium/e2000d-power-board phytium/e2000q-come-board phytium/e2000q-demo-board phytium/e2000q-edu-board phytium/e2000q-hanwei-board phytium/e2000q-miniitx-board phytium/e2000q-vpx-board phytium/e2000s-demo-board phytium/phytiumpi_firefly" +BR2_PACKAGE_RTL8821CS=y diff --git a/package/Config.in b/package/Config.in index 7f8e7824d..7736af61a 100644 --- a/package/Config.in +++ b/package/Config.in @@ -581,6 +581,7 @@ endmenu source "package/rtl8723bu/Config.in" source "package/rtl8812au-aircrack-ng/Config.in" source "package/rtl8821au/Config.in" + source "package/rtl8821cs/Config.in" source "package/sane-backends/Config.in" source "package/sdparm/Config.in" source "package/sedutil/Config.in" diff --git a/package/rtl8821cs/Config.in b/package/rtl8821cs/Config.in new file mode 100644 index 000000000..7b10261fe --- /dev/null +++ b/package/rtl8821cs/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_RTL8821CS + bool "rtl8821cs" + depends on BR2_LINUX_KERNEL + help + rtl8821cs wifi driver + + https://gitee.com/phytium_embedded/phytium-rogue-umlibs.git + +comment "rtl8821cs needs a Linux kernel to be built" + depends on !BR2_LINUX_KERNEL + diff --git a/package/rtl8821cs/rtl8821cs.mk b/package/rtl8821cs/rtl8821cs.mk new file mode 100644 index 000000000..da33fd828 --- /dev/null +++ b/package/rtl8821cs/rtl8821cs.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# rtl8821cs +# +################################################################################ +RTL8821CS_VERSION = b146d555586a0fdd4a1c30b24a10c98d4d620100 +RTL8821CS_SITE = https://gitee.com/phytium_embedded/phytium-rogue-umlibs.git +RTL8821CS_SITE_METHOD = git + +RTL8821CS_MODULE_MAKE_OPTS = \ + CONFIG_RTL8821CS=m \ + INSTALL_MOD_DIR="rtl8821cs" \ + +RTL8821CS_MODULE_SUBDIRS = rtl8821cs/rtl8821cs/ + +RTL8821CS_POST_EXTRACT_HOOKS += RTL8821CS_DECOMPRESSION_CMDS +define RTL8821CS_DECOMPRESSION_CMDS + $(TAR) xf $(@D)/rtl8821cs/rtl8821cs.tar.gz -C $(@D)/rtl8821cs +endef + +$(eval $(kernel-module)) +$(eval $(generic-package)) -- Gitee From eedb4f0dc619a392024e764e0234de1677e677ae Mon Sep 17 00:00:00 2001 From: weishanshan1084 Date: Wed, 16 Apr 2025 16:25:59 +0800 Subject: [PATCH 11/11] add kernel-headers package to support linux-headers Signed-off-by: weishanshan1084 --- .../common/linux-4.19/scripts/asn1_compiler | Bin 0 -> 32688 bytes .../common/linux-4.19/scripts/basic/fixdep | Bin 14688 -> 14584 bytes board/phytium/common/linux-4.19/scripts/bin2c | Bin 0 -> 9368 bytes .../common/linux-4.19/scripts/conmakehash | Bin 0 -> 14168 bytes .../phytium/common/linux-4.19/scripts/dtc/dtc | Bin 0 -> 155744 bytes .../common/linux-4.19/scripts/extract-cert | Bin 0 -> 15096 bytes .../common/linux-4.19/scripts/kallsyms | Bin 0 -> 23840 bytes .../common/linux-4.19/scripts/kconfig/conf | Bin 0 -> 137064 bytes .../linux-4.19/scripts/mod/mk_elfconfig | Bin 0 -> 13656 bytes .../common/linux-4.19/scripts/mod/modpost | Bin 85992 -> 90048 bytes .../common/linux-4.19/scripts/pnmtologo | Bin 0 -> 19232 bytes .../common/linux-4.19/scripts/sortextable | Bin 0 -> 19008 bytes .../common/linux-5.10/scripts/asn1_compiler | Bin 0 -> 32688 bytes .../common/linux-5.10/scripts/basic/fixdep | Bin 14408 -> 14416 bytes .../phytium/common/linux-5.10/scripts/dtc/dtc | Bin 0 -> 169960 bytes .../common/linux-5.10/scripts/extract-cert | Bin 0 -> 15096 bytes .../common/linux-5.10/scripts/kallsyms | Bin 0 -> 23896 bytes .../common/linux-5.10/scripts/kconfig/conf | Bin 0 -> 144912 bytes .../linux-5.10/scripts/mod/mk_elfconfig | Bin 0 -> 13656 bytes .../common/linux-5.10/scripts/mod/modpost | Bin 89856 -> 89864 bytes .../common/linux-5.10/scripts/sorttable | Bin 0 -> 18792 bytes .../common/linux-6.6/scripts/asn1_compiler | Bin 0 -> 32632 bytes .../common/linux-6.6/scripts/basic/fixdep | Bin 0 -> 14496 bytes .../phytium/common/linux-6.6/scripts/dtc/dtc | Bin 0 -> 172488 bytes .../common/linux-6.6/scripts/dtc/fdtoverlay | Bin 0 -> 58440 bytes .../phytium/common/linux-6.6/scripts/kallsyms | Bin 0 -> 23976 bytes .../common/linux-6.6/scripts/kconfig/conf | Bin 0 -> 148440 bytes .../common/linux-6.6/scripts/mod/mk_elfconfig | Bin 0 -> 13656 bytes .../common/linux-6.6/scripts/mod/modpost | Bin 0 -> 86528 bytes .../common/linux-6.6/scripts/sorttable | Bin 0 -> 18744 bytes board/phytium/common/post-build.sh | 103 --------------- linux/linux.mk | 10 +- package/Config.in | 3 +- package/kernel-headers/Config.in | 6 + package/kernel-headers/kernel-headers.mk | 19 +++ .../kernel-headers/kernel_headers_install.sh | 120 ++++++++++++++++++ system/Config.in | 5 +- 37 files changed, 152 insertions(+), 114 deletions(-) create mode 100755 board/phytium/common/linux-4.19/scripts/asn1_compiler create mode 100755 board/phytium/common/linux-4.19/scripts/bin2c create mode 100755 board/phytium/common/linux-4.19/scripts/conmakehash create mode 100755 board/phytium/common/linux-4.19/scripts/dtc/dtc create mode 100755 board/phytium/common/linux-4.19/scripts/extract-cert create mode 100755 board/phytium/common/linux-4.19/scripts/kallsyms create mode 100755 board/phytium/common/linux-4.19/scripts/kconfig/conf create mode 100755 board/phytium/common/linux-4.19/scripts/mod/mk_elfconfig create mode 100755 board/phytium/common/linux-4.19/scripts/pnmtologo create mode 100755 board/phytium/common/linux-4.19/scripts/sortextable create mode 100755 board/phytium/common/linux-5.10/scripts/asn1_compiler create mode 100755 board/phytium/common/linux-5.10/scripts/dtc/dtc create mode 100755 board/phytium/common/linux-5.10/scripts/extract-cert create mode 100755 board/phytium/common/linux-5.10/scripts/kallsyms create mode 100755 board/phytium/common/linux-5.10/scripts/kconfig/conf create mode 100755 board/phytium/common/linux-5.10/scripts/mod/mk_elfconfig create mode 100755 board/phytium/common/linux-5.10/scripts/sorttable create mode 100755 board/phytium/common/linux-6.6/scripts/asn1_compiler create mode 100755 board/phytium/common/linux-6.6/scripts/basic/fixdep create mode 100755 board/phytium/common/linux-6.6/scripts/dtc/dtc create mode 100755 board/phytium/common/linux-6.6/scripts/dtc/fdtoverlay create mode 100755 board/phytium/common/linux-6.6/scripts/kallsyms create mode 100755 board/phytium/common/linux-6.6/scripts/kconfig/conf create mode 100755 board/phytium/common/linux-6.6/scripts/mod/mk_elfconfig create mode 100755 board/phytium/common/linux-6.6/scripts/mod/modpost create mode 100755 board/phytium/common/linux-6.6/scripts/sorttable create mode 100644 package/kernel-headers/Config.in create mode 100644 package/kernel-headers/kernel-headers.mk create mode 100755 package/kernel-headers/kernel_headers_install.sh diff --git a/board/phytium/common/linux-4.19/scripts/asn1_compiler b/board/phytium/common/linux-4.19/scripts/asn1_compiler new file mode 100755 index 0000000000000000000000000000000000000000..9623a6bb19981befffca5ff8e05a662110484afe GIT binary patch literal 32688 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 BZrlI> literal 0 HcmV?d00001 diff --git a/board/phytium/common/linux-4.19/scripts/basic/fixdep b/board/phytium/common/linux-4.19/scripts/basic/fixdep index e88975ce167f585f5ca6438318d70182b13c9a73..0e861c50773a6ed05c349053f61d45581dbf34b7 100755 GIT binary patch literal 14584 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

@!ho67Wfs5I#(TIIGwBGNZEzgC@ zQ=;{u*4cCC%=UQXzv0sL{zz=DCoHA~#I&|Q%oRKZ;mMElZ06mTZ=+ck`hy*Y;LzC! z_4w^GbU59HqiFU)JDgK%77e~=L(Eqz5Ih=dt*e9D(D5}h)@0(yT*!*z@LC{j);ET0 zeT`-y7LG(sUu&E2hnt!kE$k6{=498P!*oH@7m4^bnN}zk*@Uxmz9!2Iv^F(uf{DVJ z(2S+2T8(wH2=s*4Lv>|!`E4uA6>FE9I6IfF91!O6KU-UV+v>`6iG5@b5RU7bD^^Jl ztCm*_vue${it;t)x|J)}ukf1Q@`^PpOnIQtP>=IDNB{iMR=Xl}A`oX1RSi1SsPfMF zMiu$^BZ0Ni=+KG4wBv`W4>~TX^3L%_6)`Q^<3?SbQ;^E3#xyOH;^AWe+R)i(SEcl= zL*<7Zd{l+bAxss)5J3t~ZRh}IFwL2L^fFyN{Wzov8tVYPF4kk2j4PiHhU1kp$&Y8leJc)S$IO> znB~E`=BaJPC#YG$fP~5`R?mw0>V++%RY7}v}85j6~7_~Wqy zILFqrz*BT^7k3ro101#kMZr6TJZ!ZOySg@4qmeMoLP- zV=1jH1gF}!Nk>feG;Mm9PcO^CetN=<^JhJ#8zHAXQs#NT ziK#B_DSwL1`Ab-A#tpS8+w;B@Q{JcL_-xPh-y!WQq(k2KWok&rWKUZJnf4C@qr50T zD!fn5RBi`2Lj29_|NDWd_Pig)v?HUz^9MaSH|-hrywAY&g{#vIGVQ;fVbA+(Of&T} z^Y4)M-2S`|$8 z{XhQyl`{32XZkX1>D)To^Y8Hk@(?=fLB%f2Gd%^A=O!ue?{@zG!MbJsJigeD`=tjq zq{8v}_xdh*i1|)(suZ?o`YvRuJ?~GRmG+dMTG)>1e?X|(cj?4o9_Ti~Za@a9gR^L1{tjQ5NZ^0j-x*Km+e0_h&VS+c8(1p#AggqTd`laiMUgKV4~;9 t=Wua+IZW+y1)RHM;rzXwKER_K&ls>A-;p}Msk7Oa%yl%h41)|-{3o$wr5OMK diff --git a/board/phytium/common/linux-4.19/scripts/bin2c b/board/phytium/common/linux-4.19/scripts/bin2c new file mode 100755 index 0000000000000000000000000000000000000000..3c15cef1bdd706c96516fe5f768b700d7a050036 GIT binary patch literal 9368 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 G`u_q%z?Uij literal 0 HcmV?d00001 diff --git a/board/phytium/common/linux-4.19/scripts/conmakehash b/board/phytium/common/linux-4.19/scripts/conmakehash new file mode 100755 index 0000000000000000000000000000000000000000..12d73bdf769e7bd9b4cd2ec527f78845bc263335 GIT binary patch literal 14168 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 CxM&mr literal 0 HcmV?d00001 diff --git a/board/phytium/common/linux-4.19/scripts/dtc/dtc b/board/phytium/common/linux-4.19/scripts/dtc/dtc new file mode 100755 index 0000000000000000000000000000000000000000..41799146266cdffc9cc5282d5eca0fdf96657e50 GIT binary patch literal 155744 zcmd443w%`7)i%CoCJEsp1ajq4Gm{{Op(+*v!5b%ol~}CBBvxLn%_ISg#Y-TlQLIdW zDwSSxN)%q}_cDOCnQ3j)N?Ov|GJslIYa2l+y*jyoQF@66C4)-7=Q(HZy>!Mf9gtF z{#$%>^-|t{;Ssw${n|9bA`|MW@?D2~l=GwhOOu49vb^E+Qgn_@sIInDLR@s)tyLG@ zw)BGAZoT8K`U@&6S5?={nSEj1oflqg*E<8**v1R5yf{9)*C8Kz%c2>fhv?i_~y@nQI{ z8wPJ127hxH{OiM%%c1ma?efMjc-1iYkB2EYG7Nn>^mDdy|IaXdemD%D{~iY4F$~^6 z4F6k)!K1_Qd2|^1L&M;Uhr#b2#(tg{hW<~(;H!qg83vq9&trzszrZ+I&2e##xMkVu zYEe;9yXw|ERxhupu2~_L)!({WtXfvNbm^_D#PU09m)#-iRX zMpmovf8<)WYSkTgR-lZ^)wkYxhge>>Y}pEnHRP|pZCT|i5P)pCqs9>9&bwBNm$-NpCTW(bq+3v2p!;$g!K}o7B>z3IXT6PCDQc+R8`rg`Q6;+gkdaGP@3#)4v zeg+e?0G@;H4pN|+cR?4+?^$*0>Sba%+kq$*gVLQ+udJgAQBZwl#qwM4sJ!jg`<5YT z>l<3R{m#3WSy@qWa6rj-k_Vff%>>QfUJ30lw;!OSW#a6ile1NCxvO&3QnB!ws{;!v zK6T;6b4A6~<)5uUwU*s-Yu)N)tI9vS02NtQURiY;g}LSSJMWN%RoJ9wC4^bypL_6s z&if(sWB`*`$2)Qs<3A_skkkLzF6X34c{p70u7Hze5QuSC0?ZA-hf@Mq2Y@qUZUY)i7(dhk_9%OB^q8Y z@t}q`OT0$I4@kUL!+RuNui>dz+U0K4@B)c9YxqowAJA|^;yoH(BJtFh&urf%5--s3 z8i|)^c)i4HG(05njT*jD;>{Y~DDeXtzE$Eq8s04N)K|`wzeVB&8opcNB^n-+c#Vc1 zkoZOo-+i~;F3lR=F6j?w_z{WsXn2prQxBghf3L(#G&~-+=@x5v_+K`@M8j((9@Owu ziPva&^FM7qwHn^@4;!!7@D_=OG`vLe*{I<;5^vP-TFGath8IaZtl|BCx8-Tp@Bu;_5|3$kk;D&Zc&fzPHT=kNTb?5t-YoIBhSy8HN5e}b-mBsDQg8hlZpd~N zf3V9}{`trob~;tV!xB%^@EVEdX!sFXu2;i*dTjm$8eSmz%+&Da*KPVD4eyb-q2aX> zFVXOs5?`$0EmEE(8eT8)poSX~uhH-{iPvg){54ztdJS)pcu2!T65pudGbP@r;qhZO z|E(I{DDkj{8xn8U@ZO^~pB4=dOMJJ6FP3;r!-d2TXn0Gv&A(m4gAzZY;b{_&Yj~{7 z=F_9$wG!{uaIeJsHN3sk<|B^SS7rYpiKl9Kj>OY6yhP$T8s5`k^YvAY zyM~7(eni7JN<6ONjS}zC@U0T>)$nGC_iOlWiHkp;Y5xZ#o~q$TB%Y?>Jrd8+@P3JV zHC$}6?V&)!(B@Mhy>1yivn9N_?w^H%dIL;aer%tl?paw`h2?#CL0Wi^O9ZzFXo4 zG(0Bpb`3uu@go}EF7ddAACY*EhQ}q|tKmHo@7M5Ni3_=}rTl-t#8WlA@oL*{(=zV~lu`fcNKo4#MedwXrV)K|}>k4ZdD z!%s*&N5j+P{L!o7k4yRj4G&AaNW-6yc!`FGB)&w$`z0RK@MekEXn0)W^%~wT@sNfe zk$9tqe_!G)8lLv1t;gLO-XiH^8XmjMZkGcZ-XrPTHGG%Ek7#)CYRjBOT*D7Y`W_9> zk#hEH_-;v`D%(@}J(aG}@Yv_=a%(j_$KJXY^%~w>ZqtV}e5S-VYPgphX!zHt;mtSL z_*M;{DeZ(eQf7r&q&cZ`pG8Yq(mEN|WEIKeHu4%@z2n3#YfFM6`vN# zXR$`#{7;)tt%ldjw7M!jN`5sDR(MSE->C61B>zSY-!0S48r~w)>Z6c;}-XqgTG(0ZT>Z;^Xa;kg^Un0xx z)%es%T&;sD`g)0{%Jor&D}APEc#%vOX!uN-R#(MG$*J-we4{Ma(D*b;T&?3O`mn^8 zX!J_XpoVXh>3R(h$+WsE{z^`jPvI@H+(wPhZi$CA{D8!pHC)NrqTxqm`hbSF%e1;G zd6b+gpTgs^+_=W4SK_@Io_eRWUMm1%WV^h!>ZPvHf!+?g7m z&JgViEDU)`YJwZ zpKuVDd~!7U#lN%p6lu8PqxK;cpBl-hM59mZu=&(zc&$vUtK!olakc-c@Q~ym()gry z+Wf;B-YnDVs`x1W>Zbya*+z2X|Z(zDwC zSM;fJ|FKu2Z|}0pO_S#f6n&05x1iywT(5?!a@AGw@yc>%YVZu<=@OGJ2SH(y1 zS678Ek^JKtp8{$BLhh3*`c#=#SB0x{J82rdI=7?t+ZBC{EZ3{iH@7#lJ?wb0q&-4Uau<>%U&ZReav4;flYqYbF0o$v>>o zEB?(Ie&A+X{+Na<{s%O?MDlOfaK-6)fM2PL0=4Oe`G z+~;-SeGv67HcOuA!1*qu`e!)su?oa>u>((Y;I$4s%Ykon;FBEqRtKK%z{3uFx&v=^ z;Cwe${p)q$#R|kV^{;L#WIOrEUaQOm2?ALpPCI`HuhyvBh~aNxBLJl%oUJ8-_k zuKtA_c%}kz-RQvacKP7HMhBiVh+3ud=5BpuLEy);64X_#DV8I@VEn?>cD#(_<0Vz*MU!S;QbE#d-JMgO< z`1@=2MBeuZbG%11y}xE}bIen5*zs8O;`w5iXc@omszjQ5w&``}9?tc8UQvJ6vj_1k z&wgg5A4WRhNPh$ADo6TTNUw9GA4PhHBmEfC`yA>2LAukC-hs5c(2~U}?>k86Inq(2 z1CI0$kgjs1e~k1xNBSp7?{K7lhV(v1`j<#|I@0@)cF!3q|9PbI9O>U69dM+7hjf)A zeGut&j`U%qcR132LVBMg{WqjL9qCS_-E)V^KZbOkBmD-_0Z00uNLM-1Zy~+Tk$wm1 z9gg%Vr1v?}r;+Y-q}>Zqe$i0*DM;rz(xZ?LIMQR0u5zR&Aid6!&O&;JBRvV}eU9|G zNOwBYc}TnG4V6C)={!f;k95G1z7XjuNBUDpuXCj5Aicwpz69xgj`S5scRJDmq}`Vc zm46k|d5-jFkPbM~*CJizNS7kL&XN8+(mNdK85Y4@c=M4y3Cb=~YOtv(tDjwFR%lw)B-f6~VVlTKYV~f6IY|2@8LDVdCAoq{vOcmp9s& zA&f+Pi%19&I+$4D!RK;B%hDG6nRtC+;_B+r=CXl>iTL>=BSCzYsJdxkLKt(*w{LPq zPIz3=M{tDjWVJgoZ?D^I?MydM&k%`h5h{&eYVrKmHX+(_klusqqo92i*8%>mO^FQ5 z7m4@+k?^`f|4q@h7WiLwWSU)`iP28alxT-1BO3Rl`;#Ess)2zmxk=*UP=>&XM%Q(@ zN5skl6GVCV#$bIVwh_F|-c3T}9-fP`{xvX=U4-jDaJ}|I(S%o=TU^kAR~T*hNYZ#O z$~lH-77pHS(28c%3%aO5Ie0a>#Rnab?k|!~J!ifCpkaTVESe4iyArzE2l>~>+-7lD znAB;JEPpUR>ijF2pXIthqn@>%9@s*C>>1{HF?ArsO3IgqcIZIc8j$hp{OnVbxUNEo zFNt>s%GpjLG{+opi6+_t$|&{XFMv7*P{+IcqUk%slu>{(*cSgIpHn`ke!O^I345S! z9vOxvTj>xsM!HRsPSrC$S0ofcHCv4#qbmL7Dv-yl^pE1{b z8<>$U3ek@3#nfe*XsZPe*4c+N^gmeVBGma-JnL9wKql%#v@Mh6S+tKYOt^prfvI++ z9tYdfTVy_Wfn`hWq-R;z%lu-uWjk#y*w%cJzG4P!G#A&0$BFXIe+u@mfxdzsqb)4N zY}(uu*j5PXSdJ)+&o>fbm)Nx(eZ%LSVwR&$lt1vy!h|8vhbD?$U6&e(D(ZywiOn;g zrk%_(5@MX#wVL|C{i7KFIy_m?7Cd_!b`hToy^R*TGRKSAd~WG9ILB;e-b@D;E;M%n zi)BC-PkQv)QKAVxBYHh#h@;%#1d(X{<-){vw~>I1y9`&TbTa6}NS{Yu3ycK%<&Pk1 zIcVF0V~s?EtP6RdzD+^5(H0V^bHaaHn6PvQJ;yyc{tlFvhIXM&M31dQF~(}o7J>Fa ze{3_5Zbd$n*A`3>g*S{9g+bKW1s_EDR#S%2GS9OM6Pd7=2IzwIza7uK=b)~*x9X3& z)&L8Rb7010X0?t5FEhVrV+d_Sr7ye>o2Q;>cfq;l4SY7 zLD^jBJKaJw#bNKUzJb>3VZZO-{&7A>-7T5omzd9GfkvghmzsY-`gzcF?sTI~)1#DO z9m1Af zwUC$X_ZMKDz&dD4R=Jm&f22-OuR`$nI(V>-aZhHn5^_9&H0atzxX8p(UsDHc*Gh{^ z%ok+7J)>=TZvgFVSz`eX`m@ZzW8^Iww-_7R=U&mvsLadEI#DAtmIJA{W)cUFXWVk zg2G>Hxcpur{JFxjB98t>9g+|2{WFvqyxzC%5c;!ip&#i_K+bdVca-hmF%q5m!aRmK z0{UH}_`5aMH&(|NCh!S^#trog6AK~B!}znFw_AQ_*M08~WOFV7tX+78i7}|%hwFSH zj>jMi(v7~*LfXQvUc?0g^NO?4`-FHQ@4dB$ipMl;8W_=V-1lDbX6A>_YYg-+q@P26 z_hA0_*Zk6&&-9HJi87QK%roXe2KxL)u@!#Q@=5R?Nk-xy?+t7@g0YAGJ(wrv^^G84$bctwt8g&c0jd{?|?7A!?@$|qztFz38NgNx~qpzXP{j%Jx z&_OTm`^vr-fxa3M12)#}SeWSAA`+>uEKIzyAjzzT?>@dD*?c`EG=Z`S7x*l+W5Awq zp$S%9#2k~d9{*udFQ!)U6Y`Jhtu1NY{E{c5nGKX-ZMI#Iam=q&wRa zIkqh&(!FIwWEbRT``v-7-Ck{xa@2uiQqy6?p~$~9%ZRK;-Y)nr56a4epXu?qOdo8Z zJKG(p9%bvfYqChZ0bdaxab*N!M}*@*1M(q$Jnlli_zd*Qcn`rW9em>P}x_ zxJ9`=56Fz(i!u;@77Fm}SZJUP48#*|>~x0?`oIHy!Eeb`9f+Ks%)a?+OSUZVX1!l} zcVJ65^woj;F6hgRc&%r>%Y;77?(8J^g)D#943W6mvYD$QaoP;VtvKr3g+6tG)lUDO zU3?L`{kV2GUY1AOXCFw)Fd~(x3)_fxNBaxG9yyNFM%Xu;wpjdclz9R=QvJ?ZZt=$` zH~-%#_wX>~`aVXv$^S;VyJfju9+!XG6fprl-iouAVeDOsF*p#*GOIBLLq2Q#Af2KK z#IntHiT9QL0`p-JJ)JHRu*F>*W7vo92EV)Tci5d{wgz%c5A7T6)`ytC625&q?713t z---Upx^m3u%&yU*LwWT^W>O0`zH zZqFn?)196iYh1LR1GoC%`va|LKmWF|VkO6)*Ac(({Y~9&jumwi#Q1#l|2+7Csp$XJ zh`}3z==+A-Uo2ey6PR~|-06#Q$B31fQQN%J; z`Ol*4z3%KqK96fOV&|1(AV0@D@LC}jZ<~}Z(noK@eTN!jF_tA(EPzgE`_EanzaI1J zN|Zx=R)^C~pE21K;mKxaR;cvvvVA%cGj^jtcX`}?mQNcE#3!3ioEpf653_8Rc)*xq zZUfd=wj2J-ZTT#Y%Xw)=g5!9+wXn)@O+Mhs8Lf4P$WW zPPBt}w3t(jv6nPKJlg@E#rp<4Cv6#G=2=*mz~r#y9gMvvcNCZt@eJ)bkFiTISrpz6 zKAdZRnRS7VICq+ty=_w5GdbFWSn@r@J(X7Mn-SfKE6b^zV6?HEofr?9=9OvW^)pQw zg)4PVm85fF9iw83Sb012Oc^O#Fr_#W! z!(O{kU-nPND~$8EpxIoBE~f6#5~G5~t&vm!^Vd{OF<GP;BzG>?c!{* z{=}N6*z>W~_Zypii02r;#pex7R3w|Yn zKG}!);w+cwg}l)^#7T@1VOxp#I6Fr2!e8MVq%Y(q8EFHN-f@c+r{h$ry*|(W$9{)3ucoR;jmT8U zOds0eNsew1$%`s5x4Al7ls_t5qw_P2BCP3PzK|UK&3T}Qonyje^+np#=VNm=-3|Nx zI`p<=f|%Qug0*JVVy(!^TMSfjoH^Po#JZvYkjKe#;H`Sv2uNh^M*i@z?zR6c;HmYSW&(}81t%8 z|4pbnd`5JwN30A@T6kXpWFA;MIxR`^IvfG$on` zTiFNw&=-6L`c`$i9(8&Kw#)ISay0fJVBfi7;&I3idz~1qfc(@W+q2`AGv_ILp*QM9 z%~RO#=>zP(|DxsJbJM^VHdTLO?p*S5r$`;4Ei4@wUb7ndx*p|l4K8=8Sm{HZtY_g| z^ELEW>WqCc3vH|FI`A~+@SaK0feO|s!yiCjilc5<ZQRSrik`yU z>M7uHwX4>|b6QjcTgtZ>Y^`1K5b)7zw`&IUsm~O??7!%tABF}t#jU9*l z6+F5je;4Y?Hu9mq7LAc-9@d@_e|t@FBoNF)%(t(Zv@iB^9Q}UeD$LdP2ZhNo^Afb* zQH+({`1@6k(N==FYlRrG;yYuCce5`(G$ycnq{~RWzD*=XqK{kie#2;^AGk+sd#pmF ztXMwNX#1(y^4Pm;k|NBz1@~;ze$=BU@SUc)mAQIn8|CcX0#aXKR$~z1#^l)V}RyLN%L@UltnX2jPk!R7doI%d~abQ32nR$ZTye% zqMY;WAnH>IU5KE^U!5AeQ5ea7%JCJfb3cJS-l@o!kG~DrH{<^EBgnrLe`w#8=bR_X zk9sowu}9q#zH+{}T&bCT*cQDEto^Dc1PZoxLcsUwHh-s<{R^ zGIFd8YevxVZ&I)aF>Vq10{Rf1(U$3#JI9TPbfYg_3EO@51<^)d**WfNn{LZBSQAaQ z?EV<~l|_3e_|6iEW5@$v51x{i{f<1bhpu>z08c(APxfh+O+KW14Sk!uUjr}FlixX# zpGCjrb7#^&^g((T=)1GYKhxhS`6?el|L_`~pYU9b`NU|fQ%sEJ(XXLzH#}f$w){l3 zfGnBOCr=_Kz}|@$V>rjn7mdd!RjW zpI*Qw3PDf1VjEwOjr;LXd|?bE~{4cZ3BXpYMPBj1W+VN;3jcVuh^ zyTM+uWiPj5?U?P~1;4}V(KX9H-1@DKD$-6)Ip@Q;5DoZ-KeozYH6 z_g6{xwkO$t&7TL#<4993mO-0Ue()*S6w78lRqk?>yC3C}56k_HtX~J_^CFyQ-hn!P z6?I{(aXxr5-smf9#hQ#K+Vk?lgo-yf$6%~s#Tbau7-KMoVBDc%j8_pSs2GED3qJ2a z%x}jTBN1~T#z1?;uR^~vj5fw7j4ixK&s~V~324{6f)3m z?l*5AE{`$83=I41ljfzvKD)r2J?yg!%?t31a_n=;;l0RQG+dt0MW%PyXEV)-!#=y% zoG|ROPno0f>;rNHXPMK_o~I=cn`NGU`>bt-XS2=;&Ux|ImoK6`(%UwUy*P|lOMuLahGc}LS*1FdRK4`1Jowr$UV{yD#SB`?YBcg%4F7#ryKyRrTi2&P~@YtQ?;z~9P) z7(nIW8YXE;6EH@wpO*en(P6B1(vdfxv;UL+_n;e;F*L&L;=T&v?>Oet9f*k-XLlej zd&w=Dta33vcieF1y3lr<FLDn63_Wj~9e$MA_!QVXmJztsPUjdp2T`B&mVz>VXp!*Ec)A5&z zzpo>G8~$eC@43okzkxNECn}Tt=NFIgudnp@Cl*iiS5~_GYdt9|0wNh}0!jWZ%t^0`UqPlQcNxA-VYk?{-R;^Ge<(Gw)(|V>pTk+5EK$CFn$gC+M=$s|_a1|o2XKAD z5MqWKe3~)O4ZA08nuIfCc!x4$d%z2xlQx|~zvx(>8tDMP?*yi8+7ZaxbaK7Rd>QhR7R?$5*hRNOyx^O8ef!{3SyPjq^RD;nM_ zqM!LcHHWI7sX4T6uREHGdmrwxWD{N3Fe3W=U+ND9#K>rJ1NJmd*A zZeEw4L>vHf6VILO$19O{H(;m?-=t{r12d4qL3>*-u$zCF5(l+Be?HF ze(RZ$X1=VR#YUPhsrz`E`8(WSFU#w4mKPjl{z}n>$C%IJo;JyIjRya9e}a3)3p~d-3;whKfB(ig#zyfUJja-@Y~!PyV_XMXFY0?4u68}1 zvd#x_Y?*_)?8V+B$BI0R51m_tb)Ha-C!B*{fqWsH?`J>cxFYa}vjy#)NuufPooov?rKFa0(0$42$fjsF~T9iB1w8Y_cX8{t`V?8~5^Oo=vwhH=5?N&6npPozgH zaDN!}iEl9yd$DJ#)^94&59#k!T%+P*JH9z&^^@ReW1jca!0bQ4COWJ$8dIX_;Kw~Z z$h(VumFF!VI~VI@loew+_pmy!9?HF8#8XXIX7fzn#OMNRKWlPyYPN{vV;}iu=!*5D z3^iC|VqWGs`R2fu7f~MT!+lAcW-`t+xS}DHqtY)q@^3``81h*08}{KQqum~Xoa~GF zxOStQF7TtggRzN`X_nyGkCE?TNt=T!>&7z;Rv(LJm;H`*!K7TPCq)|s^3TJ zM=fY8*5gaK+V%Klg!^@wI4_irIq(V8muGoG*t2wjFKv4Ov}HIe-HJ09^zGcI;~rh& z&4Fxn&oxAw-!tf!snOFoAJE_tv)$PL?fj-Y;z`B+6l{oVgk8BJvBS;tI_?z$bM}WZ zSMb&6mNEST`qwO+UEp}}2+B2ZHtFpdqAiZ|t?^v)fNa={ia!*v_NPu`AFi+LSy!#Q$G_g62__B?Du!XYnTm$_G_gI5G+kpNd(B?R|51hQLXI8Me{nu*pf50Xp$s^?;EylhS!^+$=eSh)18e!tUutAvkx1->ES+nO zHm(m0xZNurgH_bITGz_Gh#foN8}M#X^g{GwH_mgOE$<@G(H8}gzZLa(^*8xNA?gD2*6j{m z?3KFUnH~H5)o(0)P)0v=V%yJdoa0E1a*j`Y9&~dGek2d^f@&lBc}qw0Z5{PPKitd3 zdy)rpzbqoTX#2^i=S`l;FL12K*%s{6r$_I>UO4MgH5PU1*Y3%iE`@B?oC0_~?!z9$`ksvM1>pa8xidy{A1Dhrd|6?|{@KUBjl91` zT`NY2A9diIkV~v9oh;TJ2N>H)oqFS7NC zeGAL(JI8q<-LSdQ&`;2^_3Y?9(9=59ugRS~TEymVDnWUyPY}9{pWud6aM*iD z>I6K7ZP(jSj@@2AiOfd*m5n2gX$yfj>-a46fc26@7kmQey*~I%>I>%;%>5{XXYEg- z{yb|>`|jC^cPQX5pT@HX=o=tcC;UYBmaDLrmKv!-9Ds9-(E#eP5A~=^6^Uv?nDG%M z_8I*}um!Xw$AkUQALXlpE^#h(bXAII`N!QF>$rs#?a@+z_(R+ zarOu?R0ZaF4LGZlGR27aE=w(=E$4eZ@R`EwfbR~#j~vT&MY`d`yQ;;#mp~u%_Z&+q z9rAVHoMGP@dmO=;uazArhdlGg#QsE{?+a;VOHn@ex7MLd z&iT2|MIKX)B>#HMcgcgi$Y+qpEYX$;9)AW8(khxf@Hm5RznI5<_!8*su?+iGp=|SS z*!TJKztE4?{M^#pRLDy{3vgvUJGz9Kj54ip?R>j`TlK*FlQJBIUb?^OiSYbw{QNU@ zQVF~5TVtP*-G?%02Ys@AIxsHr{Rx)AvAqhq>_j`c(M}fsB<`QOB3?}_{VU?lQsrL_ zl=1KS*Xt>tY_Cq}m-Rk|Gv-%9r?)_-uR*6Hpi``=wNW>$w-0@segW~ubv}_YsuS%8 zY!Ty~4{O6qP?lvMIET(LhjG=AKHSlrC|iy<{vhKUX^R5u^nL%t*an|e4Zo80o`|4d zwk;>Bn+020>R{7>Cv)7VN-&ENx&v{ErVl%Pa6cHF(EIEU@B1+VFPNP0g9& z`F6b6p?t9Qj+JfG4am=T`$j`{_9=n+^(eFj>j8h;wjXDW*JAx63I6seu7RhD>(=2+ zWI%{baZeJ?O^J*+__}Zo4Dy@U!#$31p-`ax7!R+H;?QJ+SPGY6~V7nwQ8<3fzMca%tAo-i9{^sdYNT;V3#Uc)zx z{%zO`S_j{emx1{f>N3$Y5w?lFwe=PK^MN%Y{~^@3?_YeYyRHF}9;*Za&W9MSeDaYh{T!FMu>3!f$I{Q5*`&}}gp~8EV3C`~hBi6zDiqyUJ zK3N&kLCDH8JQpEv5d9i^2lIyJa`t;uKKM`iu)m@H@CCcVZjs11BJeJbn)BIoO5Ss& zyzHj}WpF&AT=XHuI7^CloyYlW2=+kRbK1I)XS-?h`%oU{8@rYwHcZNJMR-P&HlC3r zus3tYS^h@)H6hFG!+Hm0rjI7S7VwEdZpy*3(~+NR9V{C%TY2BaIOu_0L%*#qv>l&G zeK%6i(0LX&XJ+gPe5<1qZ{Q}z7qY_1wL-@;CRFsdZ>R5^=UE2K0CmA zZiIY6^y>@g@ZfPS2oDwmtBD z3Frbc+UJ%bBkuX$0&Sn`9lytS6dGU)4Q|o8`2lx?{sXaRq8KuDLKYwDv=`+B!UF5! z8P@tpImRXRK1Eg4*>TQ0sYlC(Q0LF0u3<-8oE}l!?`(%}vK`>-t#&{=sdgv^AMhx} zS=M<~S_q4}(97X5B^)Q$MBW3BOH_0BZMRnl<1gzrmR z?GT)Zm?Jg9xyeFEr7t8e_Cw34gkDjA#p?E$BnSDWa8j z=Zj4=8_*V=-C3bx=pR(%fWqp$)owGz@ z6yzlRbBI4^A6y%tj(-PT@_G#XX`dgd--Tqq!#g`}U#N6G?1;YK4L{zUbGw5D*ku*gCCTiw$Hwsj{K|#>Nk($N+o;) zY+>;Iv32m7d8p%5(6f%z&koeF7&2`~-HIXWmB@?!wJRUk0?0YlA*V%;xFIwRHZS|_ z|5kt6)F06HucEyN^)2Om8f826J_`828T}Un$*vIOq3_>|IAa@paV!b);8_{sn@1e-96}vzTg{Bl zm-5g*P=7y#{w;pi`>I*dg?R4VS2>Nf0TpL#x8%-_a@~NkT?X1eLhm?pn&^Z)dcVp< zzv3L-u5Wg9qm?fsdLi<40pEf;c0%4Nv@P|k=g&ZX@@EW3UcZ$0#1SKApAiov!C%9^ zcOJLL@Z9@d5!yq>HNsk-r%eRq7%tSj27S9)U>r{!8b6Rea~zKijpO?+43*A+?DIj- zv7F;J<#w(gRZ3p`j>eE3{sQBT8}mSqH7|y*^K&gr;M^YLt-B#J;}@=rX9=ujqi$ZP1n2&HA`Kvy_N=od-Fc(*4B`7y4$u^+@a zPQX66?$?3!GdIdnd*hW@kD^|zwR7|dH6CFOgmY+Fey;hc_gV+m+G}xYe}M1(a_x`t zIM)Jc>s&MJMENze3yc*m*i8resXjg$usg&;*>0>4@Se6gA3EdtpZW5=I-Zk5JlpnR z?{rd^XN?)XJj01NJv7POHz!ou2;NpZr-j;lm^aN&4IHn*+}kRnzH;}!RYp*jAtsya z=7vh|K^dF}WS}qD^EvEc;(IW(Px?vLvk83!{V$^lz6R?ryBg>RF(zz=Puq-Vr=SP= z&2)?n)s{_VM%QyZgiYmxzZdsbEXX#q)*R$_7SQ*Z{~XRUz?-%iME)@7dFE8LA-}t1 z#h>s|r0c^t^Qs$t1U7e8zVQ31K2|+2KZR}Ly;t~s*yKsrt*Td!tk=t^*9Mf0xmMw3 z*d@}IYzbL6l(}mu)?&8F?*b@)di)K<^;Z4t_-M!`?YUXTIGo!=9q~POOMgwMV@TGK zdn@*N5c^vk_|BtsMk|bZQr9obdh%S&0OVnRJk##&GORd7j+-CWzhjU!_@VuKXx>3z z`Ud0)p&vNMRqC64=WX~P13m)$8m+xVd?O%=vx&4<+7tUb<7Zcj?QdvXjOAE&fF%Rlv+kQs$DB8e_er3?MOMPIh3d_EYu^{itP-zI|DS6@Zxejw3+jagJ zaq-pgBN%fUX1rTJmC_40fU9 zW&87c0*nD^Kl7o(bi8v)nqlP^ZrlHb@jm-iq0+^J@;`0GadKa*u?XvSopKCH|Fit| z(=8a2tue?I&8+rVdp;iM72~ddhnw$Hr9-}q=r5p8?Awetp#MWxh_-T!pG}=S!)4Ez z3K5e9VRvOX8&T&@$2h_>)LGGsfE$RbxW^T{!f5Nbg)z_2nACx};hBBYe&1T)thD%= zt>57LBj)gXP?Ux5bx}w9_;eg+$M~KX%k8YD&2k^l9-m_DUl{`Nr;%_$ma~md{8p^9 z%+RTEb6n67+TZM{=6km|!=T2*0sA|-zhjwO?05P)Z?OA`Ds!i^OxP#w>1^fx4CU@a zylh~+KukG!{{!6L&3=n~JjZ$hzL#s2^aq*H4f{Ix`+4s5arB)lG0t~a*n3=T?|SUB z^UTtF=xZGJZa{mT%=?7(KEtW?IG=<#f@c)Gn7i?NW^D7vVQ*hR8;0aN4By5(475A$ zY5oFZd-P$VEm<@(c+3Wob4#AM0L(IG+3oJh<-d!kG;fSHOpSfFJkesfUTM85JY(42FtzUj|PDcB8(h zmx(c-Hp>{e9OK`Ou-O}{&oyb|JX1;=Wu41mhqRe6>cyDj!|F_VLC3M6^)Il4;t_mb zZA!EYb|A3+vmSaO)`h+hN38Q#;9am&FV=lv<8AgguX%oDa`deXoX>;ZFn>Pis8bJZ z$vR_}9Zf+WiR1aRcm_RZ(@wc={xobnC~e&G|B!`eIQX4mAJ)6oK2rzA3T5N8UHeR) zeRhLq$kf_?6!pR0LpJQCSHwPHJ_bKT9eoMq{(ogRpR;wi>;E6SvA^u%Ggg_BYRzz3jp|gR+-z!(P5E`^Xyj zs>z5Ef_Sfowp3~PyNS^ZSy#?+GU?mW5If_&YJS@QbgkhBzP$Mlui5cd9K2n>orV1p zu2*6$XhUv4=}EUIMXWppTM8lWdL>Vo_~!aSeiJ2UgfRKtrnT;z72Fei=DzxVp5f>D z!<%430(n)Mv^AJ}k(PPBk3L5qHv?_GYy|dPk*@)ExE^wT7w5mfgY)0bI6v?j&JHBw z9Q`r83r}D79L~%ieMq$3jQA7lcUGLnH4kN*0^iC~wn-m98TyVd#9qE;pN!LKn?pX> z{+=Vh)k_IAhKJzYjX2edZxHT7Yq3E#oQpyu)~(1OCsi=G~m* zaenR#pKD$UeHie&*4z!(O6<${a29zY>JdV}QgcY$BP7Azn_TbawdOtLN1w6$D96l9 zv=P^^?t%}YZ*U}4ykfN#`zF3o zGBD6??YYG+G%p2x5dJilA`*zZW}_XitG~9$+H;Fz&n?%JeY^wh=1R5q-0pRA&kgTF zanB9d)5ve>dNO#Roh)CSYp*H&6W=sZy8SkE%Xv&W#(SP^;d&?KES_qwTUJ76-0$Z2 zau_<}ej&dj!?GA(;v5^+0roZH`!w0b$lC^fx$y0kurufU#r7-qK1T-V)IP^Lj0p|U z!}W;sn2+O|^E{`D$A2ozX1RQ>%Do3;9p$IYXXA_S3VbNv?Zfc>m&NycJdfI&iobtj zzq;i=xnKP`wC6|NuRd}N;}z`kTe#YK-;MXZ#Y*ak{Rs2-Qp5w+nh|{>eO?Fr-#PFl zr02VejDx*6XY>eoyz0(aQOUU?`sVfMSFL$IGXwU~1V4!1+sbG{`<25^LUK%954+^~ zbITr4)_dSV8u-Ol@{s#SyMl;aM1d%zE%H4t5%ihs;NyJwOGkZ4dlQ}=fjn#SQ6~D= z>IqmEhCf%n`Q`CL<r)kB&=;ke+eqvnYo?8S~>eTeBXq@*f>{RfO?W2;*r6JUn?-tW9AwJ%P zIbj=o!^#He!iBShl;J7#x6XaOO#z${p^ZGB^x!1Y&&RjaZXEI0q#$DPll$gvV*9Y2 zs?atf?8AI9bnqCyA02@#@wY09@QsuTjJ>&BxJ}2aqQIm;M3Hu?D}D8NxW;0sZF+*NO&wJICfX z)c>Y{-&;~Y2KsauvZH^ZJ?y;*d{2H0BZ=b0hI$m>up{mU0%i_Uib zEp)LC`75B8Fk&6%pMrk3V4<}K3R_Vq(;Uk9=zAb_=Ml+=>l)s#Xk5jWf#kV zVO=Dfwp5v`^fIL9!+6fJNCQ2$w@N*;&k%o)K5ZC1yYTL$uIGJ{-~H$_lp%&Xe;Syy zk9K8;0yg<);5VaOws`<$!%j*AhR^&F@O>D2bes5|1J{0-PX{K~-_5DU$~ zbF5Xad?gax zi|vHIYYw<4t@sDtV=jbmg8v!6=R(*nd|l-If$}{M+k5k0MVsweDJo6qrd-iP4VtHmQo?-neyA)Re|GoX(wTDDaWqo`^ zE!LITkJ6(rbPsI7y1@r|hx5%K@;!xTgSw98oAeL#4gZB_?AvG99QstQn6%>iu;m8W zAAPnDKATwO7-e@uc03h4=>KR7$}YYOc@RfiK9P2^6Y2Z^FtAJ6xmvIJ%i-aD31Z6+ z*!W14MPJf|dY@^#Q%yIX)!~`bK53g9P&RGzn&W(z!?xSCz&OWU0Q;*J1t#M4cIu~^ z`+hMW_F|@*JF-Ki7l5bAvkG}0M&DqbL3-r1=#4ycAI|IgK>q=r*q^s(#Cc}bgivYD zhtZ(iyo^xkI7#z?a`1c|&T@?y?s**jXe`d9Kvrvi0Ov@szT95-)1FVbY9FB5il2Bc$NnA%+gI*QwXUCl_phqX zx7L2>=j!o{@nDm+_l@sl0OQ!{!upMK9|ymml5NZXOUUoSJ}%a$K} zd(lU@?(z`czh`_)n`E2$yqV@ZU6|uR*U%T{YC~rhI8S_4(w~40@)_6TmqV_1kmfnn zbhHQJ{*V2BDsoKgyWdy ziw)32j?<9i511$Sp$)7x*?g9X^DVGlwWsWJtjpT(WISh``?GkXKhWPohFx-QjeX`E zYp%QoYXofX4)Dywe#++&vo^dt(E53_bG#O04008@z+i$K8|>`)*u|VS90(DFoRwMb-<5d&djJT-Qq6i#6L; zoXfY)t)YL70lw`^g+s|P+ z@i=}LR3z9Id1woRa~s$P+lBR|Pn-pxspR54pXs=z1Lz|e<$6%}3e0_~p~GtEZ)wJY z=}8%4x(9imLTnSj79 z`2JfQSJEBz;Cq)iTj2}OFt3Jw`Hn^$dhCEdhJPRIt1i&1Z(@_)DkC_r?_?O5LLWv47a-Ab!<+yc2$Y z%?~X(UQY^5V4dH-_$B1$ZzYX_pL{)k)buxgxB$PMr{=qX%TtiW7Xy|*p zf@1#RI*iXx(}oZu?33pWo`$b;uBX}i0QR{Dyfe0id&=tE0Ndm9SO+Y`Ivo8O_NB{3 z5N9Ltu4!3p)>D9?dg9SfBHY`qlmX#uN4wwvbMJ<0`n^m{(b4%zG8F zAN==yt@v&&ea2l?VqS3h2hXvS{?XF|v$5t-*lo#Wue&lvVcc>9WGkX`e#W`mArs=C+4$~T;SSUV&q`0aMd@6TjpGCEQDM~Or?M_q z?2^m%Q2Trc_BWxQ9K^{P(HEf`%5hBc3S z)9a4D4x9YC3%`eU1J>zKmrnfF7sqX!ZHsnd|Dq4?0v*R1-W%tqO^?I=I$(dDv_Jfg zS2upg>nMK5>)1lrViF+O>jF>e|CdKhJO+;HZ3uMT_%oqfh0mtPqg zm+_rd`f`4kL&=pI5zPQbALt4XQ$(lhI;uu?pgl_k%#uN4E&QZzVNvRGHnQ5U~-2GmZ8px+a(uAu z9`a-Djdq+N<;R?(h4LQ`T!?iv`*#!SrQGYJ-0+VdklVIVyWde}YY!Xc9YP#a2{|e2 z7a?m9vhIegY{PDhANHPTCeD}R_Y|e9o29HxkhRCs^DiQ0loLMj5XM*P`6s{q`oTxX z{NOFjr(52+;KjF2K<}+PE;J8+{hx1DK~8($0^dT#xAChk!P=HrtlSPiUqxGkEmerD z<3XhF!T0wg79O)n`(yqA`$jujKDLi4ML`>m+&`Z?6Zg#Z*dXY z!h`p_Ilsaj40C|1kr#e*S0&`;SY3?w$?}$zOuq_kwXCXSdIf&h88Js&Ann0PucnBL zdA|MdgbkDS0Dlr#?g(*lPWpyP)sVLWF$vzED1Q~}^e)Ul`pSy2-xh#9+P{$lxlE3K z#Ugn$&S{SJtv^u7rb7>*me}Y+qP$(ohptne+tgybFY@)j_5#n15X zVU1!M=!Rr+5Ar!fme@sR17u;ngZ)?=K^riSDwDLTT=L)Gy~t#_tS4olepp^D%Cq~E zecqY&$v*TB`aau>ZO-W;4)kY%|t1gmV&K!Mg8J?BAwLDVhE%+9!rFasb!Y zGVuF6B4zZzXt6>-=V6SC+sDKvd7H#!12KVaTg=1u=iXlke(!wTbAHV_g&{NR#q|L@ z2FbG9BRtzQpaaT6Ig|{p_Xf&2J}P~1K0_WVFZr-ND8mL(h&kE*<_n<*(vwEfbIwFs z(vhBY8@#h|76iXBIjA>#|B!uH#Z=T=S_}({t2HSGT_v3e<7{8<5#qcv7h+SQ%D}5{)W6NIXxfnjh_O1Bd z6!LouFfQg#G=2D<8TJs4!ylD%EU@MQTCD2B`lHqE7$^G5>~Cn$zE~b@YyrxM@k|5! zA;%wl^9}dm z1Y$}&520<)r{(x$$H3%cjj7%u>wDI$_deL27xX-j$~qW`YeFXncI~AFH=SYGrNuKi*ZeBh;K-Bfzjm8aPZya9d}ocmm*)>y2I9-v`vaI8VvUZv zTT6Z2|G;LEw&5`!-u330FzSo4vF+BPUTlBFye+h&b!c8yaZ;2FF~b1K-uR+8^sUs{P3yb+dd7_h$E@9G*21 zW5li;)J0%D`(2C~u0bCKe5hkKzsGY7-}*a> zZ|~T)a+$f4ecoXw$Nn~CCpSQ!G2~Nn*>*A{&!C;)x5YDLn_A~s;E#WTHc|OheOQ+b z_}y<+pApD&@4EwqgYw|ptCUffX|F@3PeG=5VxZ89%Xnr6Wnukjuq^7$sWYpd!As1) z<4gnhE0jz+jb)nx`Uaii{S|3fY(KWuYmh^?FWYBm_9e#}%f{ei=ArF*PKNei`7ii{ zD}d!<9pc$Z#;G`b3+=lBzK*s(AO19q`InNFb+F~l#<+U9wPs9tdH%zCCk6KChF??b zhuc4J{@3xh5Fe3 z7`}QGcrODT#{|mC@r7|D%X$)dHw3RRH$h(V5?8|B@hv=6zd=6m>zH5;@=2b?J>}5&+z3Ye_y#BwDqWq9uKfhIM%3j7RuoZUugaTG6)$D zd=mA-`Vrn06614Gf1XvxcXboj!l%=Z{9oeU2EMB5%KP8vUfxkrAq0@hNgx7|_{vMb z7jA-xjBho7w!S4d$ps=If!ss`TDiPvozix=6>F<~hN#olr0vu`h1PWJ7_?KJGSg9P z9oy+MO#m%Qr>*scM5{dC-`?lkdlLcezkNP`E;sj_efC~^?X}ikd+oLM-iL7kKW6Zr ztDOBLtbt%Z$OqGfa~FL)YtIPhVBGJXpDqXAqm`2%P~-3{`J zuZVBhIn>+PzJz+T4kwAfT>b15v}2ssS<@d`Yt6g1+`b^`c&*uCUCeV;PrEhPRm?ZK znPz0%Bl!0DVZ9kapJ>HjeupZ-6r@uXc(SU>W(jvY~R2t7>fWK736$v!@g)Gc?E zPWmkUk@OwW(+*8Wmr9Pp`G(pW>Wl39y=SanfIXR3*KLVR+`0=~wsQ`yVCMl_?`hNZ z@&JdgY>3?}_~pcqB_rL?=|B+2y$c-Nd*`%fHov2j_0!$R^cL2q?0AehKfZww_WQsK zVPBmC`&IHg`Tr+JSM=En_~706=zK|98>+dn==(|f!g}zSi~ldG*p}v3^oek;yBoT; zKv&6H5A{esbbTJzI^&#J-l1x2l3!X`*Su2iN6YW{>MhNs&JG#d@oCy2xJhDOxpZ`A z(7BjL=!XmYsANw#YrmglQ1Z7sQ~%hGQ*-KnB#_12eO}TjqOa1bz%5*p^)KKh9V0xp z_=7UCcys1`wk~cYeG%Fe!eJwHP(Szy=fEL5)-Uh&6-L`-SLi&U9%x;mb1v}Hwe{;C zu8qP$@+rI&D-sUEMg2v6Q*yF}^Y8Uu)Oi_vvgx*!5_=J-~@VqzhA7uO-4-XFf98MmUUvl>l zv7twp8>>GH*OBnrhvuT)46eJdrFM=m_@W%1l1JAJe6i+XQ zev<2I__&X;IW~>?7Qcd%tKU-Kh7V=tq%OB6VI#4^`Q6^yjpz)~O0;ofqT5F(-rDi0 zYjFCThM8=D-y}5npO=#W*zA^kpx&0}(ouZN2 zY4I{cEnZu}D+3>U|2@u@tAd`IL#Ej8CYWv5{2vKsw}W{rFr7TP_blh7*yDv=|8sn+ zHjXqAdzp9bYThrsR)xR009yW%F+9G>%*6&;DPYbAf8dxY=cmAA9*d~^rz-0E8gpRR(xs#CE5#Q;7l z{SFNEohtkbp}o98xBxdr->kyFF1&U{QoIW|uh`0)om)74;l{H3j;E3BJpBLvg>IJ} zta^1$qMrYN{R^rGoir;(TLfQqRe{sdVCtF9K3ITUz@x`vd~2#sCH^%mt#iB|W_^cf z6xza{MMfRnLp{VkD*BD)o6aV7w$)3}S-NPGc#SR^46oIvp2WswJ?PRw%p-ajyH-Tuh* zbJQ(AX>OTg=I6}u9~}o*@kG4H@P*i|I0*T{}vshIn9<+WA7ATC*6Co={%aweUkSdRN3)F=ROBC>mHdF zFU7wQAMFph)6&JkUz-EprynVw_@Fw}4*4MkPka_E$%FVI-f!tTf${T4j|zTWU$Dk1 zm!@q2P1{DM%P&q<{OrF%`QB-5%bt-#+HXWY@eOR#SfRZ$v!U?<`uYA!7iX5O`UK}~ zy!Et~esck5m)kMfSiKWPzQ2+m>$?NrPb%08crW8SF^iqo3CGAu&dy@&e!=Z!wXvj) z#NXmW(2u;sQug%>bQSmX^|2lE(a&ty>3~l=Cs-fsgpR$xJaYd%Q_I>PJ;Ss|nX`PF zI-G4UAL9gj7VFm;Bky59YfA4D9qP5qhS_Ls`SBeuaYl{wK+nia+eOO+b(u*njv+pa ze&gZEi{ueqr8f*TnW()jmB5LTAAgxAKB6PVo2*^z_7;9Xo(+42rDswnruXsg=oV-% z+DX@p$nfC@cE8Cocp$oq*7rec<o0o#|G^X`j%5R3vw)ufKccuTh)_#h%6D(~f!kg3RLz)XZ z8h5d0MDgB`#-gDe2hPm;m_9&9ou?o=cAb>ov?x_E8QL9rI`aHmHw@NVr)|;!U&AN% z#uD~?L7To+Ly2odJNlx7JLW-C-u=??6!N@}c&f&-!!<*&DRq9vAn=;d@%|#tpyK_} zHRwj2RjjkHQ|t>f$H(h?ZylYgt;N-u3-~cpA5Tkqz-Yp)i{uYc)$nBF+I3gNbsx&{;cdhZ`^FN{ zcp>w-OOd@r?e8y&^+CV1;w(oZBMuq!$#)9+jx4o%?~j7N-oHew1zryB5bnbJ7S>kn zj}C`^!#mj5l>hDm)Aw!-`|H3_G!@?$aL(nytLf8A=$D?^<<`AV=-9v6H3AS^Er(JivQ`{2g&fg*l*R?S`Q<`)zDXG zKZL$v`BMk+ZIa#WbkVM#^LroV&!D{e(S3~34+rISmXP|=cAk&oxz;f51pXGD{{!$h z0sjDY_`o`@2fp&^TnX6`OXyd%!I>6S*g&fLUD_r5(DBS4`@_)rg36=y2uB-ZKVWj{Z9@pbJJf@UFIa$)@O z7ookZb!8s=-^2Kh^&M@CVQUq1osxbD*an|PO8O7}(pKvO*O<`8*s6Z!WZ3$0wkgiD zrTY}d*r)6myG?B%P4{k{&Ogzwq^t2i;SW^2w0m&xoESbmH}_(%Hus8skD;&U_#w7A zKg6kad{n%AC%j2%t^hwohaPmZ<}$`GXJQ`q0ys`G?4tZjvEjg7W*ebGj?)o6Gg&ZljAu_^Xpn}qER+b5l`dFQ9VMRNhQ zSA0>MTS>z&(LoGnXO7?b+!Qva{KoiT&xIySg>UX0Jj7RN!f(L*c$KDA{_YD}6qmi1NdhZfRL1KU*|@KJKNAN=JTs3BfdW8+29Lr23={Y~u* z+kX*l?M61Wzm&9XYHtDW!N9LIcQ()DtK}T%3g&QbuP*ZXfW?F@D;ZwU6JF`KQhS z(q6@VLt@hxLfa{P7eHUVlT7b5TSSaa??69;-$!DspQwryr+7cvZeniLCQ^*8TU^OF z@F?;*=}*zM&jzxoGc$APA)aWSsC2bY&(z)!XUTJhC;o(VERa#<$;Jv?98meTRE^&oXVAp?g{YOjmg62ZPwg4JYAaJLlf4Q$2?E^SGcKfI@ykN)Ph?%{Z)2R zO>7wJ%?2I1IdjG?2DzEZ^%y|o@wj}M6;&;`8!h8tD$&Dw^*L`=sTKiy`&Xq1ZN#Mmm!Z z{|x<7^O-i*b){I>)y=F3}H7-a7_G2gM99!&( zoo)Q?hyUUo>w$LO4*hh_$(MjDzUcbZ7ul;o+tdd5V`C&+x+f9qm)~0LcmBlr&`vU> zb#1aMJ)kmfj4nuDLpp6O_9?@ldW|#+9+>>WA=bz0lv< z;HDJ2V6M6e?DUxdqB5f z^B);`$)Om2nRkhI`QHVMkkP_J_s&iHZj73d#Nay% zC@(l;_$^?)%>1sRLl1%HN^ty2bj-+tKb5~Qzw5$7+le{yUSk{2>|1pSewu~Y>t(bv zSZ8=X^WUhO|F$tV>wbUKoH+iDncy#Z+Wz*PFBGDyH=*nNK`E_qKg9UDv|t$a40h## z3!Fc$%gW|N*852=$7f{xl?|rzZg}wu@4C`HZlk^a>@^oX!gdUyF4dRYj#rt3SCJ;T zl7R!vqeIx@?^<9A&wl}?+LIu!+H^O%!LFaAU0OT*a&%C!9ZUVfwAxworW-3?rv4C~ z;46>dY%!CO(*^hj9If65j&M+&f-e}XC(C~sz6ie+$g0|VH~LEXh|5}hm0vLJc*?%l zh2R^)WKNS~Z|Z#=F5c*D=Sat`=%wAjmu~+SKD;XQyIXS+uIWTSmYejCSnDrc5$eDz zfSY?S8_o60PUe9@9gGj*emM0*yH<{U(w^vs%sU;xI@#D6Y3a(($%jb&)}Jz`zdt38 z?Dp4HE+&32__LPSo>yV}MU9ufe)Ab=>C<;Ndugjr>ATtsCOY9CuyNBEeVlbdIr>fQ zb#t?~SMlz*&EDM6@(D;^(yv2(`3u?|#w-s1Tz>K&(q6rzg83$6sv8s3R`#(m?-gCg zqo3P?IZ;SI(JQ0py3R;nMcZX3gV)YBaFq?9_G)}mnbZhl^_1-4wVW;Ebf@NZQ`7T< zvPQl{fg5!z*AI;OyjEmc#~|BOG zoLkRqz3iehqUSa^Vk0lvpx<9)&dny3!7&DKNva_dpstnB;K(s#cx&`K)a@8Y&Ok5 zUgzvLpRq${KaSxX+GgIJu6g_>>^9l)x1II5z286aAOHBhhR;{r|E+)f?rL`8A;zd z6djy?bx7(|?XmKaL+zCf_gZOxRX6*nde}#`k9}18*~fB#eJn4tkL4BivHXU8EInIK zhGwa~53`o*K>n%iuS^=jD`SpU2HV(%d5S)NSK@I-$03$g9xi~o#xgWpE+J^3Z%H-3__ z(qnBTah#6X;J{f2JLm9w0pAxNE=eEWWYV`kT^!8YI0pq7>YHuD%&sKkp8Vm&iVlfS z=QGB2!J9SYX~R~`_NTMbtAcVq_Es0ytfRemF!7Q{81v%8o_e6*vylf2MsikYV0&BL zfIr=xLE`*s?tQVNJ3c}A)VoLe!Cw->N3TexWBBY`U)32b6Kr3V3~cddFg}!9U-Q5^ z{_T%$Y?17{IN*5Jcb23DOEAKipjXXka$ z{|qz|pR8?{GU+19biK{{m`JnqVo#}0noruX+F|=;?96l-q= z8c(;F;%3|?0gp* znKLsqdYn2mpL25*=i}yp2kn15RqyHw!tTz=}~u}rqQ0l>`SDh_ z;0t{E(HivIil1>N26-dH+_@eqqr9f-thAn2ir%#2TQ6u_{)W|;2gz^s<^85_*w4|I z>^+sfJjC8U=}74Z<6#>Ri!#VxuFll{=tJKg#9ma>_bTW099%))LT~nzB1VwiL9CZWW+o4 zEOK)%@}>ODi`Q<6T>FlXP4q?bJ&7#egCARX4CECw`aqh))2%0!4YQDXiFcf$_s~jD zw5Uyt;i9$Eb9o&zNmGBwwJ+f3b9#pnz99JbX!~f^h{)E0F`RM49)Hf`d=s0_^;fUs zZN@i`w)LzCY)Xw2@b&Ou7qdMLerhb~hDSZ{XdgV<504J8NAqR&XufhaJX=Egs66%* zj)hnG?UM84`bkTer>;$YFE!x~+Xlr_Cw8m?XRYr{VKXp)Vtze@b1jFpD?X@rQZMmK zAkHm1gH z)$?`IIJe!-XUfnobGep0%BGY*#;#e07LpJ7ep;AgZX`baJ#g`nlWyi1>vQJs3kgleTe0N7id2{E0hpvSi zXIxf@UvGoguOs<~{*|&XM)ECQ-;0bLDciGKw0xHFO?W-WI1}LYOQmn&-Kfx3cxr7% z8_#|wdh@%N-zt8!4nD>&z7zXSqwm6>nCwm7%`W_QFxD*K9$sxzdQEIXx*#?tZQ919 zpW=+5QQ#NKscbyA?t-8pIMI2wVUVIQ|ed6=aa9Qdwjb1vhq6GxgKNt__5Z9jV)ej z;iFq4%m<)n*e9+E$7{}`ko~XyV*9YeHHPiSFE0D)+w_}(=Salq$Kg2=R|4C{V<@ll z&Go)r_4%I7CT-ul%Unn?dimME0<0?L%iYL_>gr)$qPa|{i{kVX=MQ&rnI82w#>oQ4 z;aT*tv#3k(?&I2@4ASiQk<-2&+NV1Afsgvc^B>Z_ zyr6yIxS+XRC_6qf@D%SGDY%TiX3sl*nqj?j9tz?dGY7;umd3^ub6`|4{?xUOzJue+b(F`FC5L5$jW*odp~N9Q9l61JQUOTgS=~b+zGt<1GK;+_SIXGkaMU z_05FGyQok8Eb+L2c4!}$EJVDGy2Y{1IxR3pnGoyb`>i{I8+xWJ7uAFRS=fj6rRwl?EW8aXch8S7|OUU~I?^q-U0 zXN=zQQ*Uh*=Y*xuZ@>NwdQP}PvtK`qKIS^5>;LVoO>u3^j_cbZ>~W?}+sC<Hd>m9&p#x58A^#1p2Pe@hBHXjQ-#mPcm7~1(d_mXpT;Vd^^DUL6H z9CRj*fA@Rz1J?7$Iool^kk}tJ1{BaHA6Nx`zO{MIr(KfE`%W^a?E2r^C+s+hHNAI6 zMt=(#pG{wTv2Y^uMb7Zx`f=VLdN@Ly0bM#5ICB@|TmNwN`sT+cMaQgqdhh)YXbrLE zPO3w(%1e;jONsd@PWcpZ$$wx!=q6&4dDQzP=hM!R3~4@z-s|GrMcWU8bp-$LJnzO1 z@#THh!vb7agPU;pGWfhnUE*~vuBDU_zT+OrPYd5X`n%{x15$}cAz-*}F> zIyldd<{gr4AboCW9N^T(xuoH_3Mueuero1c)i(>-rOrR>D!(|*7>F)1k6F5M#_E3q zGqg#S_Dk+%vu@|t1U?@5gdRawa@#8&%Dz#Ve<$zn1OBQXhz{k%n+yDLX`Pd;JU08l3tecB4_jP9pfAS>aTk4al zkN9pkc5ylVb29z9U|4M3wZPfWoTX=vSr@0yakM2oI|7|y`>XnHIdSg);W=_|*WTTR z4`mGLOG)#v#rAKy`SC)|1Lz)7-n#)^SY|d(*b(toZGU*<1a#7_dDK6L@AWm~(}&B) zr{!}UhfdS_EZHJY!B6Vh+p9W8#5(U#J&fZAuvZx;iiJanPkCy5`X}Ujg!yHVw$0)Q z9Yw#YlgfKz^y@ZY_~?R~39-%%z24eyVnb^!s>&#TXHH#RtpArk!zb;o$hgb*bNy9g zEzuqT)?U7IQQtZEJ8N2N zdlv(dzSWlH>5=kL8~X?%$lGk90x``)1RZ*~t)ztS@*eK3A{ z`n8Qy(tnH>rO)MgfyX`?^zXiZjhBLdanDQLtx?9VfBCQO)&etV4ZUpE?Qfm*Tx9K)^sn-Ntt}193l=uVNafv4Iqbnz@^wrf z%z0$%Uv3r7@{4R`9>AWW^y)&>SVS)Qx{v*~HPlni`Ucr^ zW(#MI88bHyP2RYDubt!lD&VW+Me!MAV_P}>!l%y%@0Mi@W33taV!*5q}2vF^ZW+(qyH^+h3g!o+h+R2d$0-aW3P(*JKqFe)e!U&WjSN& z`Q{1IQF&V@-C^4GKEg@7$8*vh(e~W+5`shf_8R=i+k*16c_;m2?*?K8RlvxtQ}wBz z7~bFZV{AUhH+O!UjnDGTXKiFl8%(YFwJ+(7##lRk*=jzQo%&2(Bm z(%wm>rjzm2;w-(Sbv`lh5X}AXXwXE(lF1tX!z**2zbDdf6mNCC?=lXc>u9Lj2JE_~PAsW-c`R4bFhE??c zha<==^uu>-lVa1^F`w`P2WQ!%*+W(fk%0-8+}0e zah!`har2aP_kyV60grW`Pritm`zkzL3GD9m>w693tIs-$@p-YnQ;F5(7sNVGczSqx z&o6J z`mme23};jCBKD@dl0V5>K6vIaR@4EzfoGa0#v0Ai67Z(Xwm5lpHm#u^eSPrMo|0qX zv4Z?QcpTUsYmesOk!nqZcx)3M_fl7qc5GLBBE%3PDf*eWb>Y}rM>l@{SbpsPur`jZhx#@}`qS;B;=3Zi*W$+5 zueBP-f*JB+5H!f;#XuTVuR zv|qgcsBM@{eW`*}#bdxSJ+Zkbp)cC#Q-jeT{$Bz9>A>%X&Z40$oopZ?9eF1)Qz{&7;N;?3R2NZ9vs^A@`cn<44~G$H5_N*N4&kAE{q7#}C*y6k1ES^fAwl zFz430Bz&!TYprT+J5o7&6MPVFG!I_}FBDHl-#=eOxt>Vg)_wR`D(`W7#0&pKtcPoK z9`8UfuSZTUd#5^KmL5D`{nzX%VBfNMdWG8d0(uGBzSW3rO1ky&GPaBYZpzyC#PN9N z-6MaJO~YOf*65ZKC!ow;`E9zkavvNA@9U9E35D=kGA#Dw)yxu+OEg93eWXkh<&uvpx4Uj z|IoQ_#wU57&!{Wgg=3Fef;3c zS-^iWU55vBtwPt`39l6g5q1`~Q`9PK^9ctleXLLuNGxoqNl=`rbD541MvM z?xg9gJ@JICoCwnCPbE%p5ql)*1Bwe@IT-uyM0BcWw#x33?_&5O{7C2~Y~ZaM*het! zQnNHRD~4U^?ddw*%$h&cy#CM`H^jke+5`i0;`ICHutXp>zlxessA4b)<@;}mw{z@4m|Pvl)nPZEdk6F zv=hufaR%F8+Q%A!*#^8CoPGeuyJI;b6Y2rjW@F4*yj+txA7;e zH@TYeeNL>8*kj+ToI`%#k;~eB=AxfL_e7aPMbRfQU>Y-C=UQEZ?X>o{#3p0tsaNkG z+Fn)=>#Rnv?VDrz4m>if-6Kw12`r!S*>o4AKg;|n_A&WhQWcQ`>?sc)#$5av7crke z9~;uYMSFYbGqz0C>FFyeb0W{Yzm2t!5=>Hz_jKDt{ z#fN%5^eKbpbEA=wqVxQyx2m2vC;QJF-hOb2>D&LW_}b1~+`jMj7|&SywM70kCp$iMR*mAEUhK@m zai&veH?aPKe8bycn>?cZ!k3-}@FRaQ`TnLo4;on>O zGId@>xr0*|a}9jX{OtkXS2-8o$M>MUka5-{DgS)n9=zQ2O~}b_?uxaKXpQ$GdwUOz z1YclA$t$>`t1*MNzD=71U-F2)E>=Cnzh-*yrWk%qh95C_#=4RGIJ{C{N5=CD=nKf} zW5)N>4?)M7=oEY3H7WhSxbKo*2)mH>_LcBVbmYR0f_xFwYcyu~)EdN^P zq*%1~YoZ7K@_}(Ctpht=dTyM_@}_G_x&&C^`;b^WXnpvz(EWN3l;%*+fL97#zkxLu z8e_CJa`P?KrO}mcoFQIf$C*gi`CH}3uOzN9>Dlv3pTsW*ovn{wKIn*_jTzXwQ$^{M zsM}t%_i3c?2;Nh4D|PnJ&(s#hR{B#ok|*z3)>0I)Dxg z%Gmpz_THB1aeXNR&)&yO2A;jYEPHR^e<@qPef}l)&K%*V_=Js10JlrNeRw_wou{?q zJB`_;b&!>`bI1Dgdynw@UHtv2^~v5U_VsD~P&e(~O}Sr}YdsL_z>x#35ug7j(>@=+ z?)-6leZKgM*<-_AXSe?B=4Ty!wgkUF4St1BA#q2=V06~!e?kw*pK$awH-?{Y@tzT5 zCZ-=j-#kbCTIaEn{xO^9S{w6X`NVY1SiKup>sVbMemKadexmo3#5}hSribU@nT7@6 z@D%l3(p8Y2|0CWB4Q~s9x#gvJZ+U8BdNS8FRlt61(*wd!GOy?5=(NuOUu&z%!B03E z@sanVJW9IG-SSyuE4dgJv{UuCn3q>veh>a0_^r6tM*3>*`mLXlZ+}i*+rhoOYogAH z>{|_N{p!p$#i2HGt#*aw|K}OjiLw9a1z>dX{d4vofj@Hlm+wDXDY~#OFxY?eoZWxa zJ@J_PkN)tC`d6x=gI~$#3IBZ8-Xk?L_6YwsmYDX@&`Q^m2lF!*1FFUsc zTNPLB{wLGdJx+2sxa08V!RdEuCU3nvIusd5ojQ1YYA>?Txr1*XynQ8q2!IyO7=zwm?CxegK99Yyv!mEE>_Nj0KJ+wemi_4HJ?M^( z9?H(a&g$;jvbTrvfwBM4zum|CmU?-o>b@;|@gE)9zBl#2o7g)k;`?;XJ*kt-R?}`1;h{r-rppLJKo(k0REzMEsyB^w1RdrP+?AI}gQC_TcS7vUT5unPV5;GW)6#oM%oQF67J zd`i<9JKfk-r#*XnDepM2bP@h{=o!*QNWl!TE&bT?PSiBU! zWe=w|pN!3#s<`jwvgw1cW2rnD${)%J|J| zH{*c+py~V~G3RGakKHSo>Aq+79_C_wHEKWWI!qPob58R*@1g%6p5!sdMM<5cJ2N%rn8qdY?8+| z#t^OV)4mPS;Ag<^;Y@6et9rKkCq1Qe;MYUJShJMp8h^`(OTV$?^7gmC5$o)IhI#c! z*@E8M%f{RFu+J6vv(x@3s$}nG;>hKr%G>vi8q+S?#)dB7{Ib0E*agr7x{sr7(OdMC z{PffeN{fz?qggl3pFZnGGhOl@TWMxV?}qi&@m{vn}zNE7U^FR33%=GBkXC)Ae~bGC!ewehE>@v~a}7s_(?$IL9{ z``M-o(i@_q59xaQ!(-AfK0GyT;Xu#$;mT6=jg8PPN_pjrV}lITt)GXE78k~}p2OGn zY42AUf8D)S`ZupwW8oW1V%TdRJZqjYa;t1g!N?Om&=2(S&Yu6|-6^E04G;4!7~@Z} z`}E-LUik-VsAmIp%MY*<-$dCE)_9WsFg{D^U-dIRlMXJIE*8y!+eY33U=}=A`T@R5 z_iRKL7odwHzdB;|)nxKY4r{uK(nA?{g=e`rBYgl}GnW3`16;cflzC4N@Gb0AL0a#L zRbI*B&(SYhV|M@@;o*DU3l8t1L&V43@IdENsm|^6;jqnxYIE1=A82!V&}N+tQNFqI z@$1lAm4D()bo5$`JzT)t`%oc!h8e?jrl#r1yXox%EfbT<8~yO8<| z(&q*E?qiLsaAn>Xr$h3DO*H!2ty_>m=y1v1lYufmnWLEMz2wF>q zCATjk!`DW~?%4!=B)|JOlcxK@Sm!TU@7sNY*ZC$ou#QEiNl zPurMeYj>;0$m^i9@PmJk?PpvsCqAVyN<7gRwdY@s+&_psFOf%S@cJ?39ruW{Rckoo zX&&}aS<_Nk89bi<)j}#f2o}j-boaW4fr23=}*C{qt#J^KS4IJRvOIdx1|9mw)K_$|VH-UooMbxz33bNiTg_~1<&_S*faoF%0G@qNlwGj=pkPUE9! zW1fv$`{88Ty)WQzZ0McsG58ycR`$j$fAxMb+6GRAoF$>X(MKLJeRuI|6yHU+9oaCZ z{m3`4=SWlC#&><97raDsa5+`-uKtY7cjg_B&iH85{uMdx|2N=-G=B9*_{C_)ztax& z8|jHI;61}RIc3qCd!OgG8~knpmss@1UZq{}3zzl@(sUmKzF`a-OI}?o|1~zh?URoc z_!HAl25>IVz+pWJ=ff%Qr8ez)+uy1d4x8<1tm3&$+eK#QgTU51USrWu zSbPMxd;YN5Z?Ps_`>jNShlbqP`(^U!oZeXU`b_=%fRVbu?7V_{Ua`+&eV-0+J(2s6 zRuh7>VL^G}S`wtOKG4ceC^tHHHc zO4jjKB5VI0)d}d|r`TJL-3zQw^!j~AERKSACux!qXuEe~?~z@q z%ho^C)qkrk1K#q#kiRLow{2&9QrhbNX+Kfg%KmAeQCbaYs!Mgit3zQMZyJ~$)U9!# zU;e2Mr)vhL-|x~dADI4Wm%ead`W%-&pLC~p;G^&OH7_@9ic6c7n}&ZZNqO{*UYrU7BJpgKRqa z<%}rFZz=K{=;w+Ex_lqHJY4_3Rq(JW&~0CkU4c*S@<}PPcGi@iKhQO4K!0ePY~fAG zffvFFWvCmwA;!33*BoOzgky_rjIXd4_jUC7Ta}-j-mjmTA`AB<;L4^@UlYDjYz*7q zurYqNck+X(OE!k=y6dqsBJ{z631-$5Wc0y32TFOzR{nv^__n@1WyiN0dQ<2et!?RM z{!~8dPVD#-+shgE_9cnKfYZN$Q?}flww&@yzp1P%$9u|Ejy2jUHI`)0HSu~Ed19Nd?JeINd0yj(&MDWpu=Uq&OejNlZe%@^Z2oOeqwmI=S>pM@M+Sj! ze#h19qf|UZHd$=wn)Wu@)Qx_p*L^!2en%*$@{@tN-Qs}E zQ2%P`mETnG#q&A+;J4<$|KxGu|Hi`4>lg|AJAfbZKO7&zu|el870@=>6(^ua){6zI#)quUXY(~6eWiH2ssu&B1sZ*KHU;(p_r=DNm)5w=8qVnw`WoiT|u@ik4PR5v!S)Ptjx zPrCA#^()`fu&SZ)wuT_hnALU3WL?7we|cSfLZ~c=H%x8zlZj?uko}T1e!QX9FInPh z=XqmGeXX)Iu1PfbwF&;#CK_tiSpa@favoph?(nOEk~(OV;|ymNjdd63L{0TfC_O;w5L0y4FuL zH8nQ5>$QH|fi)wBFV1Ok68F`S+->r2u3BS21k?@m^Els*kv^Lx4)dQYa z*Ed%4V0qH#!P#q?8f(sW#Ywy;Y_0G)`Y)0zQ(5`HPt1O$EhoT)4Vd_ zi^4uqS)Yg}oBa!`*EJ`S7yI>%^p0t8r77-ea|n(YURGP{uZh>zs`t>M41~tz$1D4R z`s(XeSTd=6Smy_;qrFS$lghMa<+@}YU4RbS*zDJ=X$k1Hv}s)qxdUqYiCgKWb<1r@ z*Y~Wrtc)iEc?}5a+7qWm^m>|;OvIaNR$9u|HPqC%)I#MzMFjONX>4lt8yagNuT%tV zUXy5Q7PYGrFeDLR&@B2)Ye^=Sx71s3HI1v+#G5SDko#nY-`86Gw`L{4kYuMJGGgk~ z9s*ZbU)RvmIwQzdm|JaQL;X5>h}DehB!$PxWR;sTl}pPF1giENtu!qkF??Y|9DzT( zwl1mPj1KUpp%c(m{%v)F*w9!~sHS}&zta-O$eqpauShf`n&MLYJ`xou#hmBymgdG1 zt2On!K3<)um;N3x{NvD8l2VuSS0?J6{!X;kHCwi2o`)S&P0c+XrFmD+Yn*rOyxMsc^Onq8GcP`GdG)-yd6&&gUN>*y zyja=FTZJC>LXCfe8`zUK`4|?NB^R%0ZbB*8%WCYA>3)%)tXrRGTs{r+Z2EM8K1X29 z$E7D_zxedC1{85%zM--Fnw53+wv9RV&2`RHnCD-rrdl2BcrHzxY^ipN6ctjFupq*t#^h4gj&eZE;BysxYL3H# z#ugYuX3GnUV5lQ5Ja@LmLG2Fh%*Hh}sDA&p#->`o=$z8lV^o8jt5iR^u_B1vU?Pq% z{B;*DTgFbz5e7FfhsXr-kip-M+TxLja`8p}>bi!y)h(+n+d|<1_CgtF{%uWlc03vg zJ+xYlS+Y{Yn({G#9hGtpQN&!TC(zP~TEBW7#!L-XPNNkExY#WD4+$qUE0fJ}r_H3N z;@e|Gr+qz%jG%Goi|&mrvqdSnz)2rr}u4`dK!$)SW}QX|Xfk63;H zHU8}K1E`TLAJF4?=;u%)W7n%oSwTWvu1u`P^U!bpy}YTBk=S`QG<^&Pxm^7%3%9iO z1A|tEt~t+h8-KLtxs3~-hs8tWho7Yh{qS>S6z5*M-hf?c2N}mPrHSvMC8hopJcq@u zL_dKiDZCFe*r7VS5xl@24SiqS%Y}iNj>u$3$E*lt4TtI0kayJzPEgLJ=9&b`;_RI! ztPHxYf5}p3L^(^tc}kqkv+(Lm;n=Zrh4#yp>ypihrn<%!3{GnzsZge5E?iflT+S5P zwoK$2o8*-W%p6yF2=*9wO7k2WKRpcr93L-H#j3F|y9p^_&8ulewbNz4H#g$&SdGhW zgwfx|nrYMh<#FWI%{?qVp;O@32+0M@tdEHCCnWHQqqiq(UK%=yUlDkyoGfWh6qxmi z)|y13R`_55egN-}lzmCgY~Xlc`{l#Cg}^15j^X&~Upe{E3BnOt)~v!;aLlY$GB3$- zXb*Vo;e2M4ka38N{yU-p|7`3qF<%_16yBD~#?-8&U}fkN2=B8Q-1E>4#Kf5vTAKd8JYi@MzGjrqe zAYTw*y79)~zR>*^&hYKU>XM5Cdrhj@HgKm#~Q9Amzy|PZoU99J)u1Y5cFwu8>+4&s8nstJ^~QQMto(p#FvC*&`lm}u zoa*VHZpS%gHy0+Gu_!JUUF?1TcwknQE_Oi!d}9d=hgv(t)+Q2b>YZ5jlaFLm&6>uf zlMSw=;ev6rroPeo2eWW5#IddnftytFSX6sfQEiF+YvnV%xA=w6?G1kasq5=OT*jSL884elt_)D&-6k>H{tqt9eq#r;C}AQK1) z$ZHa-*EFyD;8VXEsjEXxO(t@M+$2jZ%k4-(^l(QT0&cVoLw{7_#{Sqs3iI?FL zW}&5FK!8lTvuTfs?w^B;Kxg0vZsa&4Tf+)wN`b=e56_sKR$0u#_&v@|$MUAcinEPDK#Vas(d4^H zMs7_-tuw4*cG}tD`{xi~MN@puN@qwgMNnuA>P)4=sr^Zjldm6mob`=OM^02xPwn*6CnHB+ti!z8eAH8x@`l*0(>ulJlszOs4U z8fWo*c==4vvAVOI*{BBPoI0tae;&2x==rj^WJ+ZFqn%Nyto|MAxnGau@w`OXpr%;S%V+R_Gp;P(lesuQ%oqUE>?G25tTW7|ToN}3} zGFgw(k#pw>b{q@F<${`$i!n!<8dqr4Fy>M_J%+%ErUWtLq~ax0i;`Gy?q4;mN_ zj^~yU*!4}s9T_K>Z%hqRr&>icwV!F9>BcNz5Q4SgxXsFjU`c}NW7?2leiC>Bh~zOf z9MGN%FS0GoOlIt3Q<2-QhQ@{xJ6+JoW;p~u-Go94R~BKGK4%V`>m0QLM-w~|t~!H4 zXwY@m{&4WcBL%jKlHtb^BfKfHji+3pBq-aZ#hk1sXPU6&9$gDNs8q4iY=;&_0<{wS zx@VyxgKU{;8CmVW485)VmW0E>Gy-9WbTUU}IEuG4G!QCHCgXS<`|HiKbB0LkA;7H5 z8bT1-84ZO9f3|(_r+%Ge#K!#WI;8<%ozxvQUseqVnP?FMY>DlmLHjg5YS0ZvrXt7& zT9D3W${84B`;?&f1IueoO`U}hj`KmUX8`go$fmm574!ve<%Nj*)iz{M(D+RK;rLr!=N9U*xF>FB<(fa(^^X}P z8D@=3q_B)F49z|Qy2Pt%SWmZNW!){S>Q^^3u33w_rsdY#TGy>V=iKwopE+yxoYJ{k zWBLKO7JEx_M8vM^(z+>@x!sm%s!=!AilC__p(1Z+Dp|3nuF>d^_-$|aoq9uY$xXVk zmIo_-7~PrWV6Mqma4i)(fXDgzYZRY zj7qjtk+51nQMT6@b7iouHB+BeeCR}5gwcjV8cRauKFtn1P3W0m_H#o~?M)CnQ(nEp z;hXUm+rDIl-##o-NWk9Gg)`(17iUz16 z!;1;8o!5q84fIN2PX;w-$@h`ioh@JDB22Q|0#aH8LjGpz$+26-+ibdmz9AR0axpoZ z!4jPUIc40WQx#dfL0NO*V~MBu{y}`QFa&2{eM-~6U`6=ij629$+IF_UQsQ_u>P^Fv z7Et;nEaPmH&|w`hdf-3`y}KDd#XSEQkX(LOSWykDrxdAlZie7q+SK9Yp4*|aG8l~Q z1D7sQag4S1C83uhfNSp^oD7+hInGNSWi>{nB)|Vdo+~l8i0nWnUX{#MSQ41~#MKi# zFA1KT$^8?YXM(KwAscE54%7{((WaM>?!Yn6Rz@XcirOdgwKeBd@9yERy~yTWbKB~i zT<8(*1z<84*<7Sc?^f0}uExEaTfnB51nIV%G6o4b02Hv#ZHn$)JuBDcWTW4=vIM}+ z?E2*=J?uHITuws2@<}Mh5ZTb2TN`$2vJNGsbk$1xl#o?phPC{yiJThUz4GxOCu1E` z!`)3-csL9$hFa!J>zpiAnZ37P>-R z2^Z*Hd7Hvt{p(akLAsgjE;4o1u8#N1tb663%ta;>_ce`;iiK1L^WO|AL3)Wxr(Bp2 z&=${VKXlx^^65dg24{ym7rz@OU?Z`c-1OWrA~(H`r6&v@LfeFMf2c2iL1l(cp;QI_ z0w$SjTN0I;YxdI{@mm{NUXo+A+oyzr*1G}5JrA}B>a`&Vw9tqwVfELM2I{gvNT%YsU-t#=i zzmoGbr$0FS^-L0G$GrhbwyIz(_`st^#avq&G*h#}=2{Q^5jHp!OzM*+7{hauEL_gfWa+YNulvL&ug_Z4Gh|ZRe@CgurvHWT&#FALc=CK|=_mKM20~5^8hKsY zaymo5^!{zm=C|qQuY+GK>mLc3w$5S|vL)wv1_S#nCr)DN#S&&zN;Y0%uR|tV*ftyb ziaeDclmfdu%=WkbA{C@N*G>ON7GSQQtEIWFK8#GF@mmQ7XX1i4wmR>FU21@LZ8@IN z#@l3)txU8MFMJ?FiQnsNzgMx5U_H#HbsX&8)1y!bU*rT3RjL zX80;iJn|y{Lj5Y#SK69!*C_o4rE9x@QZHG$z(4n_nP<%|Sy4JOG4tG+)y^Y)t=pKD zL1|eszQQfF8F97UW=MRjTdE2vMU69`wx8lk|I_;o05{E zl49!R7q4})NZ0x|!Y*{kRA(+^GNK@x;?9jMjgwR=pLkH&B4l)D%oX^@w8_a@!rTYm zlG=6jYZglr_0(E3jP`Zwun1Y7!cd^-l~!)mteO^1laE)fvWCEYb67Aak}DUi=Ps#F zv?iKZlh7In$a0)sEaKJ*g5?bei(N|Kt}Z6UK2+uGD-?E&?RXXJ&a_~29&0buzGcBW z3(adZmaa(P0Swk|NEnny{}vzRSwGj2%VwYx(n*{vaQrW{@jp@5dBg+QIez)DHn~ff zux7GqE|_ub*_eZ>Sk7`9_HRK5KUpLDE0|*8z;HY&QOwf%0xcg{htJl)+Mt}}B5tj0 zQANKU$Lvl9Epf3eaUpLg*RLwK7)u$BBL|gsEdy3tAPSbF9|3RZ2931Q%I<-%XdJg5 zwIa8U55vpl*LK3JT*~(lwBHJG<$z4jnr?HEH_;pF{kvHat%w#!@**a(&-=djS#OK^ zgn2FU^T_uik3?o0eeQ^kj}D1eMCM24M`uKLnJ=3}WJBai<36@UUht0>a19z1-ei9x zgNF?DykWyVZ^X!vCyYGtq){ga|4#8v9X)2`$UOURtp4TOzx)|DcI^1EW4#Hdd1Jl2 zi61+Cl3y^kaO~L0Q;N=*I(FLh;xlKA9bYo`th3L_*7N_@mE&se-vah>jo~xtIG9B{ zSO1@E-ccs6|D(*^shO+(7pIz`{S&y0d>};$gUsk4eef}IgvGq@g5M#0hv(eua)cSy zFXfBg6my?&CJFHGn7`-mr+|@S zx84?WFZWycrYUL2x1H-Ra!AhSy$0{o<`%EftK;+cna_HA^{83t)pB(kWgapK@1IN~ z`Gwe0ug$FU)|m}nvv;j`qqoef@;>2x(!1LGG0$%BDkxRyebX%DcZIjyTTDtVN0%+~ zF7dALer~SxF7qxY#|_>^-aK!CH<$Elz4_i=bF+67W#)TVd2@JnE`QJWUNFnNCBRtZ zUCNzLU!LLd=3UzG_ue?~usN0ApPDy0_V53gL+1D96@Gtfer5KX=go`e-_3uMlOveT zuSx$2*FWUD!~8Gv8S{7MX44AwT+4gS`(}tY!aKx$50;5l%{bW;$$u|R7r&tK5n9rJX_%1M)bCmr8`zbd6NRD&3KE-^C??v`=3OP+Gk_+=}FHHFe0oK3}w-ukiOF(@wfRUpHSf zU$yxjH2VAl-$zWF*f_g=vomu-yHVK@OEN0nfyUG8-bfxP1 z=Y5{aIFFX{~v>+HV~XuA{m zo`^;nVRg?4e)Za3_d5bTI2t{am-#3?dw1-s5lG|+tm)hz5j*%{#{ z7mtY+kBQhT6DjY0Lp-Db-RE?mhu6pZb$H|l^%j|_j6DvUQZv`;yemz)`QP-xa{DP_ zB%eW#x**VXPUAVOFQp$|Mo(M>j5E-b)9HN|(=X3L>s*8ODJT7+0L~0__6&OQ1@zKy zqi3CtJeRcd(7flGZ49pbw)tA4X%l zv~QRWbnRw7?&+gE-D$P%Bk0{n7!~?|rlEnQeW&p$9`KomrqL&cW{%M+Y2tEpvFNk_ zoqK;Uk}NQb(eaDE@S_!N8|q!BbI(HSR+=07Y2HLe_g>A&T8Z|(0sVV{)xZ~I zbg=aAm1y6c=-mr>I>$`rdJ`pJ@T*f#F%v)iz8>w61fEk{<>MFVf}Kg?Y+&7 ztL#Am3RkWs#dEm%!nRA1ks34XXT*=FVs^|*)~L6IbDyB7+u z+(mc>SRxhdUJvnc(ZvQiBDBN>@J02C&auunSS1!G5e&m+#^x%vg0Oxjm}}eFvOOT+ zDs9xTSqVK0kCk=H6*&|v{i{fD2v2|qgkZONQwz~`CjQf`kAm=~J;cHH{V5~{tN4w% z3_O_YvyFzG#`vq&PhT^VP&Y!HMZ?*f(&HngnCg}~a4##M10D3JR+1Ibk|1&Pts6gZJsj#nz+ z2ZuylD<==XAHQN5XMniuy1#Pal@$w@EUdV8p?iMClFJrfx-|Q|V!-_sLB2)7@4{IBBK~h<<@KT2-dG-9N zvMU#={1uCrF03dE{At`TxU8%qlgNGfCzslMOO{r!W6MIdaIPpTUl^3K_aXenS1l;d z&|&HYQ*DWRelH4sFAjch2!3x0ey0V$GlJjg!S98^@BH9*UhsQI@OyLc zdq(hkX7C%V%$Zso+!qDEcLu)&?srPOrY5ll%h_(ewOcA|JKVVwNt4|+;si5$?+E1L zMcSX@?&ZZtaO`@RFovZkii3pd!InE)z^3Cfq@Uo5Cr+lG8s3m2@Ok3luanx%+~eW5 z{^0PrqGqh|%RFziPqX=1tz_#9^P?4PmYn-mCFI=OBH?{vtu3B;-jt}1=i-x;9?ijz z_*cLBSWnaMzQtn8`aik*a#jupdcyR0fAHS$o;GjeCpamx!mIa^-a7A2ym}9N-}D~z zo*@1E-fnM?_oDYpuQxIz`dZ|&=&0y9(es$me>rlV_ef;E_ptdsS5KR#%?VNcEsH#D zF6Da_-wM9h@x766JhFnnt0T$CI{blmMLxsb-$l0bcXVW2$W_W(OPJz<_PPk1*+{%?El176it z;=gnAJLW_N)qQ((5GgBR^4EO!5y?^W8b53$w-vx$4K(I-=m%u_w&Gxz`A(!{57)9lN2X_DX}^jep-b_MSJk9YYtv zw&G2%e5B^xoP2%Gt+%XLnS528_oihxTyyP>@#krG*~!q;|v97Jnmm$cOEc2co2%rJYVS?1pb*coSFKeYra&Slv1 zUj@GFL2*hM>-}r7JIF_LU@3aq4OoNA(~Vfg=3x)N412QW*lS&b)N->AxPp1ej_f+D zwI#=F{42YsWstwtyNv-_x8@ceDRh)dia5lK6~WBPd>Eo zQ@RYmeg@kkd(ECZD`^gH=Q{G51FP8N)D%2!bZ%Lhmw!jW>cV%Hly7h@TY#VG#D$ma zH=7&pKl5bKuqgdD=k_~S-F5dpYwx>vO;K@a+4^-AhA-23Fk`Vq&K>8`E3&Jy-sL>} z(5*`!ahxUBUVfc(<@L**%{h{I(~Zk+Sm8Xdg<;mr1`$`Zea6-y~f~x|o!bJU2Nl`Lg7ta4Od(JF{>)c$rf$ zd+DmxDVJqlzjk%jRd=mgw(_?8wf7Yj$B#g)U0zt2v3P0LRrlY2f6js%)A2TEep>3h zYj2n{_m-7c-I}-T?yRh=!orgK%%O?(;wLw3*tikgGPalAvuX3PWra5_S+Zp5=4ICu z-n04Ydo~p+2kZ$HS3){bMfW;D1Hilye5R#AoV9M zMF)ZPf}Q|91v&=096u`XI%p1PI{11)^Fh3qa3<)_@-U z&ZX#H(B|)=oS@Hxj)10*UW#4-T?3kqk$U_ekRNEuKO#TS=RtcxGym76=qb?Mpcg=2 zKYb}$h}T-Xet0Q50D9`Dm!fAu`+tUX&~raWI$n1z#}7el1w9Aa1zPY6d|Lsz=8Z`6Yp%1hfv=8(o z=rCx`>zAVA@(h}qf&6}RDVhs<5wse#>bIAo&7l3D-Jr)odqH0S9R%(D59AA)e&JGd z3iNsW2uAK=)DN@>bnEYsFX(R2y@G=dfu{c+?G0K6ItkhgdJ*&-X!a7+=OXF{+6x*6 zeI9f#=n2pP&=)|DgYLeBd<6$hy$p5+T@G4>FXS!)-33|&dK|P7v>rWquRMbegZ3sz zqp6uF7wAgRbo|&y8R#0&YS3QL-JmBx`#@7tqR|te%V$TUQ=q#*Q}OcgENC|9^K&2v z+CMiM?FBstIt;oJKP++k4B#dO<5R?rYuGNpjn_7 zK`TMS8PRAzXu;xWbPP1}GU&l8)B?}~(A}Wbp!J#2=m6*opf7;tTpo>H1l{Ifo{DCa-gq+9tBO$h222wLC=9+1kJ$f;&b@Xm#v^FE5Qf49CR4; zENBYmrQP^a_6pGEJhU6=%6!O!*54kD=HTV=3!qh?%kPLr!$J#CZ_r(_sR z6!bXg^Pu&QqMo4V@Pk0Rb5VZ$X!0=V8vFn=mR`>5poO4YpNK{qL3e@f0zC`*Jm}G_ z(dg@-_4tvYjGNJ30rV@-*K1H-&{MT2*DWaTHs}E@tBXdPL3=@aK~L4AUx6ME!X7JO zN6>80UE5(#(4&p$&!Fc(Pk`=jLU}zXSdAHk2=n{t0>xvOnsPJptMW zn)34XT!=Q415m*JNQ@k+yQz?;ICHs;$zxIO{7YYQ|2ww}{zs7td0IzJ&UHHoY z-Ygho_oejCDvcyRIRDg(uPtx$z85O@azIlNQ86?{DY_%0Uqu^n=x|8;0^e(E{ zzwp3#>`vrtOSqqH;MH~AK3z)D)8js zUM|7vfi(h?z91LekJAOL8Q5_FiWlbZo6|eHB$8ZuVAlSWM_+#Fe$xfWdlbAEz&q^X zt%xL7lDEXoI|km}Uwv!6(r+$;H{)xu_KEcyDQDI!j3uNMNuHY)W<zJ#wSR6&WKQxUqVv_WajmwmjzGs&tbMmY1$3A(gz<5| za7)jUUVRQcd%!ao1RWz7Xr@5bm`M8}=thlD3?B@gr=}(oAnL0DQKbiU?t^buv(K6fC)(@44_t_xcM|_burO5J~(@gASL-!!$kDkTe z1otRc#y*&LqckBe$^QlL41?#SU@ku>zGxC@^*^{2t+Z*TpA<_QiC2?GDo(>Vk{ir{ z_{*Au_5wfqOwqp7UUb9R<@@J6_)@v;TMG>snZ3^axPMM$wv6v;$e)LNH||ju;~&fR zryodLADRDO#OhkJFTFRd zbpQMV^VS`N(0d>h_tTPJ0r>mCpW@E1#64sqbJt1Eq3QX__zy$A2KztCyXw19>RS<6 z*eDj#dSX|N_J>TtkFb}sdBXIOxdD!0NgqXe<&Q5#>v0cz!!JeVJ?cuIM0zjMt8KcG zf7q3tigEdZrk6<5M&>@`O3y`l$~o+bMZU!9uVT9NuL`7>A$>s7ix>KAxYc7rDQ_3} zkAuJ2@|*msUHbYYzn{eVvhlN};%CbaqK9qs=*xf(i2?M3-_#G!f}I660jx~&z$Mre zuuSZ^#mCDfSPFbfmJ5@ylm%=#F#lM}MOp#UMv)fAJ#3-tmYC1oUiM@S) ztlcn<_Rl#myYyg6->gFzfXVMhWzNJ~+pd`;R>g*Scd(RK@OO$~Od_bi{tN9i_}Cfn@`8>lz1E2JCs4F02b=;26`0 z{6)zRJnr^KewE6j3oA*_g+X2i?}W7h#%u4~Qt8Jf(vM3q868UAcIG|MPPb)e2jS3; zzWL0SL&>FQY+bvcZ#QCAYrN$%D<|m-V!M9u41mXPyW_w|fUgu;TvC@&U}u3<3BYkt zD&qo`b`J)z*X!U-MV!ptH&Yj&F9EBt@}}Rx7Ms=f`M_6#rwBY*)B3?W@!O@5g^!Er zVt!ldPy?A9#NxJ!-pzJ=2re-_iP6;v{y=C$$S;J*m|leX>b8n;B&w-vI`EsbQ>h(xUIq#rF`g!23b zd03edvlc9sWnkHnjQ&OCvMMZzEG$2~_|TGVubeUa)>qG}igmJ9ES`^*Xxh8ayizPo z(3ye1F!WwP+_V7qa!L9209%e2>WBa|Pci+vsf%^y52K87hc|NYlaLvNOxTvsu6v4Q z*AU-CR7B>K_0K($+Isd?Q@;5Apla8Br|JJ$sm0j%GSjZaiUI1^ki?>wfs)|@&tE` zn5jW54DPzv=n^eP?=HwpK_(=C&h?SxEjo0?1`^|6GZ(Qe%M-IfKAuk?Z4zmfw(prW zVu`E~OJy%!9!aV53~4h@$UB0Rd5GDGzEbOk%4M8Ik|iJ$TQg-NS>7KEfp?Ga#_Jth z=SiE&yM;`N-Me_;hhlY*#fq*)&_$gP__r!Qo~57f1~vk$(CRRIJ6&T*`cb5hBb~N| z{Uft-t3%^w zB@z?c`tnOEYjE4WD-jGKjCEfXrW?3m27=E#`pg?u62V>Q~k8GmE^ zYP_GVSHCLb<0SY);NN2T&G>nUu@R}~IiwFD-Ld^5zBiT0v2X6d)Qa)bS^{oeW%qwD zwGTctZ2Cu)`S&5|CE$ln@mXu|{;lHjXtc(qw@f70M`pd1-dSabXCIog?nsK!k43_( zVqo+hd%N+~jpn{YvMUzW;v*^I^M>Tz-_lr{nYxroNy{bU(#V`z8DP2wv3=znWJa>^ zJ_PdUZ}IjhmBp8AzjRG0-b(K`>8)v#TsVV*E4_Zs#E;^;F|18&{7A|v?;v-@`Awd> z9+&Bnj#lElrs1n0vllWWkg2l$#`>{HN=e_mgY!!d&pnh{b|7tkdU5~kBXeXeX^nOE zRqgABU)JpWKRF=NDBHAbWcL}iDl8~5bj|EJ6Fhe%JWv5*ZU4wa?hLlWATf?nlrRj(_sFSeDThEkIgqe-;~k5o;8Enj_P3Yq^yCiHF$qrg!ks`uSS>I6N@Trx$05- z*ie-H3m;10f5o@$f_ydJv+uTLvHOb>*;53zyi{zZ|6n98u-5JBB@R3ooR z+bQJXBXb^jwe-lGl2@Ta{Qh3(nZmh(3|HHjJuKG($$u0xp?Rlx0{mk*cd*>@n?fQ+ zU2j*pycWc4K6b|oD^3l55N*;c~YEKiZOL&opPJ?L@LfoT!h|JRX^?F1W#hMR~n>dCY8!=PMsK?6Rb~Q;8o76y8&PuE$ zZ68&;#^Mylz)!)H;>x8bNt>Hnj48+uK>i}+`L4kBrP%vMILr0o-O7$6ZxtsQpAR_2 z`Q4<6vAhnQL$|{BT6>uF5+bJNec;1fHx(jnc{cvZn|aPGi_Mu&*luO}so9VBL980G zVaV>XZP}evY@C4j1aS@}k(6?o$IE3}e-cGM`)axIj>a{}4wa1FxxDqvE3clt{|{i? zC~+5$&a}-2kvZ>ml&v~Hs(XCfCeqIkjCS=Nb$`ak1R0Jy&mOC9-UhghxPM2F zGOLv%bE>3KO5~yV$Q-kl2tiN5?cTLmndFW6*6bB+&vh*iY#$zk+;Pac*TiMA_gYUM zRGe0+>#q#daUA^T!4DT{E*S^sfn5MrBZzzdCS?~tRu=bT;@6j7kA2S_(dekjYLx8?`vd36Mr&oTm>DeICnN-br{>MWB+pPe_~;2Sr3Sv z_Cjt5awn~vC)P2Dw5@mH%$G~2#s}pMC4Hf`h#BW+Au|RU@gv&aX3Z|Wi~IE=B&Fn_ zUx2SD$?$d0+LzyZTgjoD55J>)f8K#x*BxBhcT4G!-2R(NA~!xGd3lc^m~~_YbjaDd zvrsYJZvMrPjf3uj%)s54??nbzA^v)R^#dEWWikG)OuX2}$ZYdg)Q*qxgLAf=u9}a< z9fBNq{cC*f3y{rvC(Z*}S<`lA{UDwhbMI49c3sVx5vC6|4wHU^D1se8ti2+$HqkHU z0$PdmY^3+wbknXIBD0Lkka?tJe@f*`_-8rNtHIlwK-U_icOm^a(zzZpx=eeP*(g8T z^8x={hcLN`V+}+8d7Mdf`vX`x_WtAnR8^dD5&q7BcM`muLrh+HV^bz`JC^LVm~qU2 zK^?qt`HgVx$go-Ryb<}~?4ybEmfCRv9UCP6v5_l`DolN6N_76>;DLw2Tc22%%8-zxs1#GWg#i%i}5mFc!mBu#wn z9Av6XaDLAA3p3xnm+hJjo)kEviqhD)8%W-l6Is#fjfu&}6VHQ3{HU|ezOO05Z4vMk zob@~*xcXEZ0XA!klKsh>Vk;lB^59y=tVQ=HOJ9-mn%&TG)ao$ht7rC-eiZ4cI7iy= zO0Q+Q*ykkD_aMDq(o5{w5bd|?IiJfII}g55@a+;lT-ovuI(ET2oJo{>UE3l|!|r4J zNDg?q!Q<&`GWY2E7mX%%sRZ8$_>Nm$wx5aLLr0M}SM1Yx6?Fe;DbFtOSFA_72tTfD z{Ph4U1J)&gmPhh>%(|>1z{kPU2cAa6ufQ{vwC|eUtBdz9KX6sakt_Ny-*9kQ-<5~5 z4$DiOOI0 z5A=G<{4QipKP&AhKYi8>KDh^ukKUM*&2F5mw`!=kvq+^K-H|-C; zLGYzWfpH1e1FYYLi7z+`tjC23FPhIe0bK0aEdX7Y2|<{+4Bl}v79;ka1n(*EnlVyl zZC^#(i>}mL;49w4KF%{8Sdzuul=@SdrwhPa4c-&DN4~N3Oa&gdAnhX3illFrES!3x zWZyT^dcU4lx&K7kfv=?<{Aya?-=rNHPCNXSv?E_m>;LPt$nmsUUrU-Fn^W!H*!Zn} z=$h(?+IQro;&V0_pDx+vR)~^xi9JA*M1;#oG7*S zor26($f(Ul^zG|y3%qTCw=M9t1>Uy6+ZK4+0&iR3|N9o`ddSuxpS0*c+5BSPKsrV0 z6j{8Hbcl3}G^^OAZz0`7Izl=@nq5LZ(gD(nQszrKNIFV7Nt#+_`E04NzV|&V{xom$ zneLUs_kc6KC_#D~(<>6BKfv_r1nG}5y)i+$*%N|Lt(FE!5vdPZyj+yOK&h)Va z`4=&LJVAOf(yX0UR?iS1Kuv+n8&N z=_d9GMALD+-b~5n{U7kzmfexhP02OK5@(p@na}4QKBw_n;&O6H*v);-;=|NgD?l-4 zfEh`AQLed`;M=O~HFBS&ijU9`T5f!;uDMuD^Zrf%95pbP^8G$)>j!HY=n|j1sV~ZB zE!PyEr&zH!_-)e zAN4(V`<^fGd60C%mp;blaUcG?@7dq)Gyc_L)i+FB zpHo?1wTft!Kk;AU69kv%Z2aM4IF9%kdCtKfj@OuX8S*|uo~!YPk82n#7gXMhjBq27 z^#~qt4OUs2Pns=4xCXf(&L{07-uP~tKEmhJt@e4G&pnUX=ZeQIm9ohdG6yd4uKio~ zIrgtI5GbNOGMa5d*JO;-+_>50zKH7{T^D6jZt|yZF4yIg%ctC)pS`)heem-{ZRFE#%W$`w&=nCX7G zA)nj?<)%nA*VGm(srpj6-u3HqbY0ASMmFX0NmXBkPhWKceOr9`swr3F(--pT8%&^Y zz^AX9a(jIG`h5B>B+xhI(>Fx95ud(spS}w2BmDL&BChQ?Nx3PXKF9vVj-&0-mq1^S zPhS@0a!Iv4ihTMe6X=`p>8qw(BdOM>%crl9`zcMAeC0l$xYlmxdlKmD z_URj<+^|pIs88Q`0)1mXeG`q?+6 z^`PhVpKeKkIP z6O^0u>AS$^zF(^aEOnPp5cRVeA)B&g>JQ`3CI7(0AI4v#`v2(<<8LH?#t#$oONm2_ ze`tK9n{uf?dULr!pWFcDF1&@@1m!foGfcU`7Zc|vYnm*^aWrnFaUYHIj8RY5-zCkBua-ZR@t3h5zqx#tFCM1y*_0nT z_vZ4|l-IbNmcNklqu)*}FZJ%z_#0^j<@S8%&E>{?a@CZ}eT#NVWqfN|e39}!KTn*m zr0BTpB7gRq^e;Dm5BY1pZ}sOtDYdtAjYaIgs(*<5WB+XN5k6a~xP>m&C8!f{*mw6vg$mNsQmdp{?T{8x&8_t|L|Mz*N}hM=SR(CPjkw6 z%H{e{=LL;RcTs-yOx*V7&Q&3~ZKS-$$M;Zfi+l*keYxZ$-vOVT#>WRJ-~GSc!nk+I z%k2c^WAS#%X?x|ezq#c^qxPQ>@`uI+bzQD}1XccV<$uk^E4K;wC&^#*zbt>M{LteJ zm+Ifb^u966)TsPEG36g(diN=>QXhM){G;R_f0O-&uf%8hcqe5-m~Ab$nN zaVqzxiR`q6>0RIS)*})B9`e`t`F-MQC#lo=($agfb068(*&6Q5z8gOdoqy}?o#yHG z_ui48mtT-~$2%`J_7xm(E zV)0WiKG)H>q8CqfG#=^2=Q$ep^y2d!jgNZqG)LpaUOe5=_?Z`9;AmXNi{qmxj7xd( zMNajMc!slezqFk9nuVy#RR2u)5=Z0JZVCAn1&vdC@l0o&@oO)BxubD3FMfri@n$cM z=<>w$hM$G#ajGx=ByzLxdv^XyYLnvpYt)b1aP9Q|Q(+hvIN=Aq5|)3uJ?~GTU-dli z)AKR#C*wE$6xVpV<)7XkEIz$`kGyHVX-+fa(OL`DQ|apu;%*b$XOUCmx+42 zAj>+bm*UOD|AY7x`MZeELBj}tNnG{&`?=cxg6}=E#g{r7Z>1V%KJ+Ic(%4vT z`?JIq<+_S^4{?3}V)ab#w>KO9I6h?6IQJ0W^P=saBkZPD&tj+XQ#N0+I~(yhlbyA` zBffs}2>8W5e*9g;r+oZs2aUsOzA{aV9zEBhcsKAQ*EqtXxvZY)(nU>eur# zs^99F?l-<=^i0RqZYe&yS$z6<{~`3enLRZwtmQe+aw@L<@OQ*Do*bgUJhZ3SP2h!!kzeE7+Rxuh zT;tv9XFf_?QlIOrb(|FPPb|>)j`R2nCaaG#xifg-n0s5s~E|9;B)z#U3qqvqw^Bwl(`>h1|svjQuh*$sjSTDuPnEaa7m;5@uenvcF zuVqv`k)5^tx#ZXK|2y?e5f3xpj1+6<#*bP+mut(2r+(bxIpn{Ec+n>;&`rEt@lRQx zjQAtO$N$^{C)sQ*#0UPu;wOlIn0Vi3EIwk1GeErhs0FyKaK1r&?6Y3}SBUpKXYsSt zuXY=fiO+Ri0>6w$#r2%S(%BXtA-|5teBxuo)2M3$@d@JEUfYOYAg<>){)l*LwJne8 z?BomHd6gv&gUQ{v7da;>xe~Y5an>JYNC-O!iSbG=AM{hY|3L z9Tcx-^7o04kiU=k&xlul!vg1st9`P4_W4ip7yYeeG~Z2!+qrXT|8H76i+ZjkuJMf% z#0!b*d;3A+4-=pGmIWq>2Z?KZS^e8i;u=3Lp!q&bT;q|A)YC^?Mf|2z%dhbz#mk6m{7jcSLE;)G z8={`~5!blWZsPliYg~}imGfER8lTp7`6_XZbMK*^mx$~8m2u*~Ca!U~^Tg-Pv-JwS zWC5LDE+anqvc=8!R^j$W<)>n;?^@y-huzKgts<^*R`b0B(9=SE&snSAe1{WmKcM;< zzs#VX2yuAR_`rnKqyFTdh-duJ;ukD2-$yR(uJ601h|kBwC%C@PIz>E}xW2EM zAYM#d-@};i4no>P#P$5i0Qu{P>-iG3{~r_Ab1qq|*C&bVdyf?2M~V0Si&Y$^{$b*J zPDK0LY2qWlu#Dz=ad7)P;`;u%o_ew{p^F{#{D|7;R^s}8beR126W8~kjl>&>Yg~Uh z@%Iwf_-+mH{lxWs+$izS6LNyR5nI9EL_01)5Nx=un ze;M(4m{0^CA)ZD2dg9~6uOR+T;#0&mf>veltXO=T>`r3>e0Ku;vkCC;B*1@^0Kb#~ zzXc03iDPIyTFZG~0$hG0a3=ouCcqCQz`u|H|GNbEPZHp>v5}mqJlP5GwF&S?65wqK z@DC-xKbHXiZUX#A3GgH=>1L|el?m{B65#JjfZOr1)Y121+U{#H4<_MMvf}wn_y7iu z;QDz3#h)_zm&VTHVY)HbW7MPP^ORqHr$O}S=NA-zKlSMOJk`@ge*N5o^6w|Vp377I zZ<}$w)X~pRDF5S_7bIVOkEr-Js9!&Sq4+h_qo2o6{EJ#no`=(XM~Um_Ih6m0#PwXA z`jg*j`F(n>%CP0s&xfdCZGN7 zI^ud>PW9YIT+hp?o^s;)c^%dB1aUnlr+S_yuIJ=b&&P=m@w}Vr`3!MAAE$c0LR`*tA7&yR`gxj5DH@5J?7oa#x###!v6pHEUfR}t6qaH{7P;(8uV^^_7H;JG%{ zQ%zjY!Kt1W;(88F^?aE4luyrJ64&!@s^=teJ^!Y9eokCJkEP}L9dSMPrh3vap__io zb84z5hq!*eOZD7AT+h3y9{Ij?(WB?xRL`TtC#YZbv=Y~IZmQ=`iR(Ex)$<&2{rs8g z`7&`m-==!LOI**lsh&IOuVSBP8 z#`5U-GA&OA{i>cfQ~qC3kA6N+@!wI8o;OoH*C22q<e2IMYR}!YkDfPEJ?mM1J%6S65%TMKGR2RxJo-6A#UE$BdLAu-jY0f13Py z{!Hup_vF{lKPvx6$gk(lRDT}Jub-1t{!gnNcwS5SzfN4wk10MzT+frKo~KxzM(R=g zr{vdjWLo}<#Pyt*;)@WllJ?beV4Cku#PwX5>c5w`ehyXfKAp#To=ou(_6Pm^sp4Cx zM?asc_>;s3eR`fHuAgsJ{*MsX&%Y{ugm@!A7pr(P`_Ba*{w4D3d8Z8alQNDMJ@=$~ zzNh+m&PeU~6XJS)N%gFx9zDmTdX5qwq8`N^Y;erD^XbnbuIHMRzk_=8^Tdj8r2V`2 zd0xezBCelHR{S@__4B`q-^6_N{Eyc6gXGuqK+1nBas8aJ;@9f9<2fS57ZBIa(JF4& z$(c^Y%M2{BU5ZS3;&>{PD~WFzw}6)O3F6g0{3+r!K70r9Mjvj=v)IY{A_D^~&wIf? zQyfzF#R=a}$pHh`rSaH&;wPE*LFhMe65>aRtNtE-eqL35)|7vdqd2y2=K2Ql0rF!w zm`m%`HR7$;=>+wvFj9CgF9mj8KVvx+PiL~0bI4cD|0I9WT+68SO9B#8v<2h&TH9zezmg!(SraMO%FmRnI>YcX;0K8tOSiJe&9$ z;?_QyPKbV+u=8WXAIG~nUub_A{5xA7<^KivXX+2y?)te?<&WtZ_3BAR-B!Qm)N&eJ5R*8PpFvn1Fv9aI8+8DWBhdl6rDKY4bhKe4izronrxnsm-+;csB3dWcXUa z;p`{8{b9i9adX=HEWQ&pdKNfE-IlYG z0`qV%Quy`r?AlKj8$5pAQt@oy(mxyftO8wc+(AA1Ie6v2m-v9s&g-eC=fhUdNtWkb z#0&q#0^P)ez%i7jUEPL%8tn8Yz@Gyy_0`YiYdODS_!l^1e`-vZ)AH(A_#FE7&802ljov%ONuUupux=K{-i;Zo883c2f6?$$ zsf)ZoJ=-&x=+@o%dBzp_9*@s|?l|2c56+qkcsZ&1&cuUiG$ujXOlv{?MMuYH#o zJj?0x;n~1vn!nZ>eiqI}9!$XhWCHw;4UY5Se`A&Gp{_q8KEA^ORkJNUK)i_kEra}j zL44qX1-20XE8kh>sD^_31fHe2cID%Wn_OWVa~!NA_FA zI!|4O`BePj;PrMu4>8~C4bBG_Sw;RWEf(B^xQ|@-5zjwipVgk5h!6BwT>X#yPLbrh z=TjEfe)zP(E$04rPXfFjxb#E)-WDB?pH9I4W#AbztRKFefd7=y?=FeG|Ea;VoE~5Q zKc7HPQufU4azz6CPJ=ISCRW&XS?<{Dr?{D^eM`t+S;|cOdfaCvZ*XIFBe{g)||0;02>Y8>P zK}VX&4&%a~jCitdefSgLqJOB@s>-Ft-x!<^E;9Ez%Rf&30;VlCxQmguE6AVk^ACB% zLxYx4+wnf&i?LtU&zEVx-Aw*ruJhBWe;e@$>X{(kOg!WF7Er(RL8Bk%9=ZNe{d>vZ z7_t1?juC@Xsf&Dp{1f#S45eE7Rq7w|`R#uo|KzacJ4Icm6X^dJ@@IY0GHQL_NWi}s zi`ALh{T72`UZx#}ldQgX5-*x>0anAQB;H8Bq<;8`1o~Uaulw#@tk-)L|EdMLi0@6H z=Q;8ZaJ{PI;!DKyedYQ41bWVrf6H%eh7-*97YX?Pll;|=wL>HM(^lAiK5@wcMZ~id z|F{JziQhzgl>JldyBO=nnbv{#fM5Lcq_3Y86W8y{(*7yGWi?a#o-lrO`sWIREKl`s zYyn?qId>ADx?q7K_JrzE>OEl_78Q$)D@1S2^*}9?PipeKdid zr^v6LE6k)H2oWFWd{M)E-$y)aw*^=Y^LtxT{(SZ;COd}>KZRZ7^VCzcfc^GzoA@Q- z+1%$gQ|3Df^t=LG`r)W=zMiC>!Xs9}81-CApy#q1to;Y+Pt*^bPcZIQ7=9{sk=4|b z<(pqhiFf~*Wgei+qr`{lFxVZPI^wB5|M`r;T^aKB!{i^~dLW;8KX9>+eotLC@z0Qd znC+EI{ENgh{PVTyr=Lk-|NJM>FY_|(Pc_af#W|LKVj z*R_Xl&uepX>Ybdf|CS~wYJ#G=+UDlKGr`)Y0u8PIU45<4S0Ap+t8=z@20JYi&!=X=p-54V}%+q1td`hg07abUHg~w+90qjcx7WKwBu>p}@}8wopftK1xcU zG1wepa&uejcFT?`bc8z_8jxXqusyiFsUsY04}@C+b>InhIDtTYTVQ*0+qT-~Kz+Ea zy(3WD+2z!=wS=03;b48<-M1IsJu_3Fp{cbgP}|;KyE71M4Y%)f8ro5bKz(OR%T9>6 zo&w+uds&-n!{PQ|5XIWo)EWr3AicgeTpNF?ZEo7$8h`8vw>PzJcPt6lZfg!gX-BX< z9A~KuHaEwgLhWrKB=3wP!PffLw)$Wk*ama78mP9T#g@V7h&|ad#2#nhSDi7QShfwQ zVW2(eQ(@{DV`imKZ#+pUP|MXs`9a&$PAIJDsg=S;v^M zxprHyIj^p*wIeKrflwf@<)QMbs>cHB9@$)4wc&xyfk58sg4K7;oUr=#)y|G!dq-0n zN+gDk84Nwg(Xz{Z1Illj5Y?;?*e6G7h*oWG+7V=GT}udtKwIsQHfz9m0w6^*HyxeZ zY!kHZ449%@GuZm((Hb4n{SBLp6LY6Y+d7+?>jSl|^=1gcTJmVy*`&0$wNZ3?(B1?> zjbLvMs)p^s)?j;WIOxhAy#+o4z3}$i9Wh=2$Q$h1xoh64dZ*OadgYTFDwZbhO+o`6u`I*|C9f5{e4sfxd z=B7I7vg&S3=kK6EJXywpCuw_oZK%-}jLhw|t=ogp-qzky8&)j1-3v5z1dM02BcZmw zzCF;<^lZ?8nrlas%o%}gogEnMTJ}&~6O6T^sV?XOZ6Sn7hGcuNr42QKCk?e>*s%z0 z+dA502Eu@D>ws@G1G2p{6b`_%h1=Vjo8f@sX4b)9iwR7;YMtuw7zoP#5Qdrc5``(~ zwr%dQ=Rh;&RuzSp>Ilr3)M=(dSWsqvkJUXXJFFGkJ6lm`^eQUmkfQsPgg~%MIs@iU zrgdN$A^ytr+V)@rX8qPW%=AR9?}OE23AP^bPGh_<^Yfv0Fw*SeiD}*@=(i}F%XB={ zU%W3t*IUftwEHtqZY$5*26p;^}&YP&SoqmwEr>H)ybsywRX0+ z61KHB)o%|Hustt?*~A0bNkh~ke@}|9S7J7=#fUbmGpV{X@%B(tn@-O(WiZqpl;K%# z64gjMwNzZ0XoF#4w7tWt0lIfIVZCMtm|ub9X#I*=;7m7sN4UPN6CDEOWS;J3*@iZe zEZHO4WbM`2+S!5PO0%f}V!p%MOI^d9ro}SVv)r)di49m+NoV%rs}rnHR^55$%&vJ= zL858u?nDxI-RZbo9}J37@pOkXLm^{n@bNRYVvNCUQ2^rYE$Z+ceLB)AO4>&UC4m z@!8A4A(Kq381WfKRC|&*R1*lAHRAOAra8)3PJS<^6;3>P#6)LeQE|7c3s{F9lZ%fo z_nee4SyjeM>d9EfnC;PVhFA{qMAu3pCSZq!`Z*sgp3(<-d}Tb%3s3hY-{U+Q;N&So+%r9_U7Hx*3tr}6O)TSTec2yHgaV;+00xpY2tY^&iRgSu1A2)JI6b|xjnvQ@=m_av}I(hLcWbi z9G|uoi6xmCoc$Af3ojm<*`3%F=Qo&Lg4*a+e9bR=Q!WE#V(T!^@ebign+i*3xCsF? zLuBO?)I;nEpm5~~aDmcZ|=&B3l;~-ML};_ems=^J(4eu2%|o8I)pi7h)-_5U;kX)vv;+|-25s#M&ur^ecNH32W6na@F%OMr zjctr&+f(E_cD8J5ll3OrSNC5#cVY(=ZttvfA)#7?6L#(lW4v}CR4XMi9ZWD2AQhno z%hY}c&~~_4;pzw*Q?%cX`_T5ba2qH%c^8&m?gX0~Zk6iiwLOf=tb3?gx8H>V20ET;3M1+jZexc)c6bw07pUv#G%iPspCgmHxT4d^r`j1LpR%F+$7agZpF&PB0T zAz*9{wtBMA;9GkTjezj74c;|`I>Q|vzF3?WuT>ZmaWJI99;Tf;5%fjpgKO2Oq?8u* z7jf*Koxp~wP3UoO$L5_$)uvK;V^U=r9Hk2*1m)4F#S@LLz@fadX!Tbm5ZH$3kFfw6 zIvxPkxS&|90bx;$sA+m1YKe7-)6&WzAM z_Q^22N6XU^-1i`0ZfI|73D^Lz>9N{BY!yuJasolA4@_i(sTg81-0|Gh>fnVKLL45g zwjidF#lZ*6n>Ck7f*p0Wco)YWYFPLh1S*@clyUJ&5E%B8MwAXOW3{8z_>l(jRi1oB zQv<4GUXq}wPN=rtv`z!oOC4Uj+um0nlqPSGM(}6~U=x`r7q}vB2%Gn90ld~?cao7}Z|$oS=Sc)`ZPY2& zHR7*y%s{}aA5Z>uo$Y2@!NJ4eJjPELKF9b_A+6##0}YrMF(Ab@^hkC9$@a>l)COZb zP{4Zm>8*o-fXqC+I*>z{0ktb`!y8hRL27L5+=Xs}tu`QQTFhjqx_3ybY=ca39L-uW z)CjHFkf6)ZDVpVtz8ebZSL(UwO-b)dgPX#eA&9YCSGe zqJ*eU9p+kp^GKid`+=uBn}T5|on8REOBTmv9Xqn{_CvIaubp=86hCW5fj<+J#}wYv zFc@UA+K~}v-iCM*)jk}*n0(Pz@C0TlX+}L#@HWTme8jKpz~ag*oLy#@{$|aMan+#) zrS3prdkbEUs{6Lxg8kH8#_gT8?cU)A3w5*w?7G)K_2G4DFz9t1;<`<|#i`xqcaqFC zh?nBA*3{W9u;Bre4(5iF3)Z79(^iL$d7~;5Pr_v`#LP-9rX4-ez8Yu_$gV}$hg8n!BZ8m$ZHNX zth_A5p$UvJ4}(q^=2fU^9-TfonQA7|uy_Yy>nYvQEKRZ2*zVMJ!WCHGYXZdR!{UKF z`IzaF#gM}yc;WAK)pl4rquO?6i!~@}kAY&F)x4lJ{Z97UW*w`gmg>kdCV+BC^*cgd z=d678MX$_)|F-z|m7v6TBweH-G z(qKynhkOE<_vAFt^mzgOxV^mfb}`a| z=&r1`EhbYM9f+*7V+JwfLdJx(sCTL0_OW;~3srWl1LL&eT$O1tPa)OJX0Y0mQ%)Y1 z;nt%RLO4vhUj*-xN zk&-N+z!ayprKt|(!HeZQs}Rd@2X7!-g{yyF)T~7Jgq&$`# z)4CaV@*OKGKg=7YgL5pakXiUsc|9llC~=jq;pe@S_Gp4t!&AR}0C^AoBq>b$=}dF&r}NHt&pG$p-}m;s!;_WO_c$F6!NnzB5yV}XY9d}$apmjk2E;2? ziShV5SIiMNfG?1kS?@IoYRz&*nPxgp;Vw|pTjewXE1jd{n6igN$Edn|e$2LEH5b`RO$@7UNeZ1BIc!MEDjf7eF-9UJ*cHu6_()9ZjC2GvHA@a;bas+BNU58W1@9=(AcuFbhXjg8WkHiRo2wiRU565)`Vd?AS!FB*4I=T z;ix}oGd;WfrJt9w}seR zAQ1~2fwmwz6l;w%3({59vN8?lU1#$E>SPpJUb*uo(BC65$Z&BQ?xx45zvbS+S)M-n1H}mBha$d zX!5s)g}*TxOHg$p8b)nXJ9?97qI%I32uI@~0bfFqMm5(tNAQZS%KAME+-i-h6Y1KNb{K)$4r~#&S>DA7$sR%qTNTvEHcAbtPk zsh*0d@677+dxJ|ofUit5<&x_Cfbk;=KT-^1D2yM+qln5m3ts9rpg zGa9}?!@D(np@#Qr_#zEIpy7)({Cd}0eb-$g6?2H5>s@ajI_fe`QuPJk-9j9ha(`92 z=-`@^+gW_F*zNj=FIo33)EzVHB>xcjL5*(&@4Qp$%K9eo3pD;=@IH-?fN#|J82FtU z|0wu_8vi)>V;cVi_(6@|3Ep|vNc-Ogzd+-6f%j?rcfmJm{Bz)UYW!aC2Q~hA@W(WM zKlnk7KM3CWjgj_$41R&e9|rH!_`e0;sPTUfey7I24E~_TzYhMG#=i-EP~(q*ciuhH z{y&3Xpz%Ki@6-5y0pF^bNTjhaDn$;?e_-zP(r*mt5l3V}n)cq$7Fa za+kBO2gh24@TSk+BGN9%ozGu8iu%WPdi&f3xOaM2 z`wPVi*z6u~%{pA-ou3+ny$aVkIxtD} zZ=NDnoINX2QZ8AXS`4`Y_~gVz@@pVBw9uPQko^gw|Ha8@7knZ1W3tejruI)_j0bM< zrr&mY(|98|Ph)gulBgH3b?JffzRO*{zM;B*l6%+m$DN}7e;vB;`+y}eKHh1`+Sk$F-N4A#PjPS6Z_@RLGyOi&9nQRT zF_W2fC+;2FXV-mmk$40zGWEnaT+j5AkApNn4RYRVmjV~Ji>bv&9FLqC&eUHV&g^>| z`m!(Hxv85_Pd?rTdQ^yh_J?>H1Ck$@oUHvz_?L#>KvA+5zt?*HhVE}n*8T7v7PwNCehT!dQ&s5~pz{_kS^tZwv=?oCZy0^X zc}{0G@FT)2QafnBfqqkn^G6Z(0pDG6t}5+^`~~c9fpea8tnwv7yu0AqlOL2%+VP#t z*d6Cfu9fd5{hiSFeO8rjl={xB{`Iam<#T0dqDb#Xn+-niYOh1AgxzlOG0qIg%QgzU z>8IiMDU2tLe}hk~9-8P)U++35*Yj!25BWb-_eS5PE=S)U=zspANFBhQ82U$=H*fk( zu}IUpB)K!L>4#~pw!r3rOs2n|_D-=k{R3_9pwIP}y2`O<-jQuk`@p(~>R#+Si@jTd zdA=NQ_Voh0j4>IiaHI;(R;8Wb-DqzIwb^X8={qndH61wCNNvyHoD`jnUrckPE-iGV zhUbX%L$Hna(CKI3li2Rv9RdGImG`x?;0NH-ApHFpdzk;OiTn<4q6M{Y>_Q^oQz>&^g>K_cZ!W{$R|GEQHTzpES?q z;b|g$0Q(&QO1ZDUz&M6g+s>PkwJUK?_2e`84_miZgW|_b|BD4;g`7j2$3l2tJBm5& zp)r0ErbhP{cv zu6Mm*uFE=y9H$=Va?F`iuB-mRvQ&?A#=B_a*2@7`AI<$0m-Fx|Xg70X&-n(NVLihY zyQg8T{qXVll|k3+!|@wL>I}}Z0oTl18^kwH{PFPSy*R#xuEoLZtN&w-Qd}&Ko3yes z5%UKUp`beuiX}+e6fHHY#l61G>#Nrq_gB{XHr7=N=Ihp1)fk)B*NDw=e{*P!J06I& zwkP7tLZ-Q;WXye6JlYWpgzk3V6%54_cT2*=fOzeXWAy)iXCesc+2#PaN{0J2LS9}Kg2I%LYAA;6j%Ve&B&b^+=ltS;W;Y{XP z&^JJ_mb1U39go+Fg3kGlIg^SdM!z-QxC$LmDn+<%$8`#r7nF({mlsz7+FA!H$_w4! zFWB$$?RM6j{^bYqXBf^35yZ6wG6f`~$|BJ1xMl-yAgsL5yL(*E*z!F$>>pD<;lmF; zI$bErCkkr+N4PdY?l{T$3g36^zPab7ihVPCXVmPOy?0i{{^{R>!s(x%`sk$8SpuFEE}iDZ6R+gr4ygd&cb@Te%O; zI2$1Sb0seQSpoS&7+3P2{Qmy9{bPN*Z|E6Qv8Q0Kt8$;S*HL%+m*ma|AJQPu*tJ0C zbLi+}K6obpb&Es55GU4oZ9*#Y|r-B_EtKc{t$09f; z#4!tw*UeS-xE}A8QG$9^dmMXOr-Ef1GkaCl^8>`Ec#e_L`9@`iNwRlX$KOJd~D{~x~Ho}HaB)e5*_Z< zo)wXZhDmoHgyK3%i-W>+4b!v*+*OxwuPos`a0X7i9NgE#O05WG)w@v(x}Z!SJg@Vd{%#|z$Hx%dRZ`!E-``|dnR@OsUapDe8NK=m$BDEJ)9 zmA_F8sPiosFUsZ#Y ze>f>$h;)?jS)wQ}KH5oYtw3DN4dc?M@Uyevql=+0KWSc}KkLOZ^w@ptAEDQ1YMg z28HwZoU_;;j|m|824&~ClD|daOVk66r_=Ov^m;b!&l0m)P}x}yI}WS|#>XjqrNZ4x zp7FaCzQlr?_NRye%Mz-B{FlwI*D}8dkjnmA@p^@~Tjb4lX9_+ymHVPu$@6;+<9`O6 z`pfGdtSqLT(ff{mJ2~>~#}}1-et%;7rk&CI`YmZ^G|uC;-7;<_KH?|aKMgxyHlF-k zVR^RS%P(T8!fswze!wFCYw17c*MgI|eEyhuW~0x;iFmF!aGo4e-)q=U#AZ>Zjym_2 zE8KccRw_Hz^Y8`y;Bw~4J2Lmh=<}cQ&D?p;$r{+7ihak=dHx;u0^|v|o^KCHdG5^! z-45J6!e;NjVG#$%JITHg;YCo^Kp}Y9s#(X@B%S`Zd{c&dixhSfGA)r48m&#r6wJJ7mRK(Sgx^f(}!*K$=M8cxGo`%QMW;kvW%odZg9qt(3tTG#(Ab8Ywvup2nj_i$4-X z!ls&pe2Jb`GcqeOr)2}nJ1AFXb`8n&N`2lbW748TT{IPGj`bu>Ym-!O$z8P-k#?-L z+IXtm%p6~|Pe4{pGrcoMTF;ubiklgqIpTS9VXb<~1DWV*ts9jVYZb8UAgmk8tF=mT znynS*y($k2Gw;_bVrH)9^vVd)Iu|lwRe0jt+7kXoP$a`j+QN58i4Dctg(nhCggkgG zdE_EoigaERD)+5ln(#LZS=Zu^w+K&gTLkt@nuwV-ShVrhXe5U*P!|h@{iLAo+QSLq zk!#PBz!OAx=mpmQaqjB4Dp&G3&;7Ga=cwtOIf}rx)2w|j#;1MflL>XkXG>8mQ(Hkr|WkrLrmQ{ z()3#~x2y$=PjOLhzgOKbY#9fb5L)MVACcpNoB<4cAAy$@4M_-oYs zBX=oBpX0Mk`QLL%10R;e)U!M)x-$8nifTRx1i|I!HlJa5tGcrR0Khvlv7_khyp z@gGp}JErvSl=Nb4|ByxB`tQvi)Rl2>ZU1G9KF67vZvP$aAB8@BvsT+A8;|CHhi3Jc zd8Y3{_eM>hiXGux!cs@cGw2%G5;BE2;=to_g9hIlvrYt>|d+?MbuFHrCAB{hV^f= z;M^UZ^4ilyy>62$RUc^SJL?8q+&=Gr`aa3Nn;Pcd_S;Rmiw9m+a=R=`v6y`NSC^X- LS6NU|tNwojSpSc1 literal 0 HcmV?d00001 diff --git a/board/phytium/common/linux-4.19/scripts/kallsyms b/board/phytium/common/linux-4.19/scripts/kallsyms new file mode 100755 index 0000000000000000000000000000000000000000..43213b9c92167def1eff40525f65b2e2f262be9e GIT binary patch literal 23840 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 literal 0 HcmV?d00001 diff --git a/board/phytium/common/linux-4.19/scripts/mod/mk_elfconfig b/board/phytium/common/linux-4.19/scripts/mod/mk_elfconfig new file mode 100755 index 0000000000000000000000000000000000000000..cef48fd0c0d1b4e79b08c9ed5b5a43d89b7e1322 GIT binary patch literal 13656 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 WWnFqlvZ+YX9aWYF?Q7`8ZvP)RSSoh_ literal 0 HcmV?d00001 diff --git a/board/phytium/common/linux-4.19/scripts/mod/modpost b/board/phytium/common/linux-4.19/scripts/mod/modpost index b4a979629e47f7500e40be7bee7e7a3fcc98ef6c..d09fdafd4ff957bea4643f524ce61d97c458b14c 100755 GIT binary patch literal 90048 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 q)&Ya4>3xCDs>A64B39C8# z+^2s2b0zZfFRCm5`cowG%j@SuH9X3{Q|dBRe52uLQF;BmmWEG$Mwe7j%dfGAipuNf zO*Pc@X!>ILk8*jffBjslhG(jENd=4RKUP#;KfkKsQ<^ceDX#w;MdkH#t{Sc^+UzT? ze;VbN<4>zu|K7NY9%RH-Os~@#J_VXf@Tbe`-#3llu>1_lQcb$Ne!jMb%TN3o{rw}# z>amU6>~px&*DLw;z|i)o<<|ZBFDR2=zkXhKdV?z8P^5odUc(<3mCrucTdT_JaYnMy zrOT-lo?~R3Zol5IUB%_=YBi;T#pQnmG}Tl@hTj8K{nr;3m$ZaZxe69FQI=@s^27Y- zG0h|NQ@yTVw+lb-WcyAQ CK{GD^ literal 85992 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 diff --git a/board/phytium/common/linux-4.19/scripts/pnmtologo b/board/phytium/common/linux-4.19/scripts/pnmtologo new file mode 100755 index 0000000000000000000000000000000000000000..152f36cbe71c7e2871316824997fbb686bbbd378 GIT binary patch literal 19232 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 diff --git a/board/phytium/common/linux-5.10/scripts/dtc/dtc b/board/phytium/common/linux-5.10/scripts/dtc/dtc new file mode 100755 index 0000000000000000000000000000000000000000..dc66e65c723af8686d7237818749128ebe8f3840 GIT binary patch literal 169960 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 literal 0 HcmV?d00001 diff --git a/board/phytium/common/linux-5.10/scripts/extract-cert b/board/phytium/common/linux-5.10/scripts/extract-cert new file mode 100755 index 0000000000000000000000000000000000000000..b5617a99476d122ccb32e9b70c9190c92a333997 GIT binary patch literal 15096 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 TzDF?@|CEOeiU~r|6#V}eL9=w5 literal 0 HcmV?d00001 diff --git a/board/phytium/common/linux-5.10/scripts/kconfig/conf b/board/phytium/common/linux-5.10/scripts/kconfig/conf new file mode 100755 index 0000000000000000000000000000000000000000..997d0f37429c815a5d515b7a9a06c98231c090cc GIT binary patch literal 144912 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 WWnFqlvZ+YX9aWYF?Q7`8ZvP)RSSoh_ literal 0 HcmV?d00001 diff --git a/board/phytium/common/linux-5.10/scripts/mod/modpost b/board/phytium/common/linux-5.10/scripts/mod/modpost index 7ddfbabc28e303a102802ef4891174bb44d6a3c9..90fca11845db79822e8bb0ecee2881233b60a2fe 100755 GIT binary patch delta 27974 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 diff --git a/board/phytium/common/linux-5.10/scripts/sorttable b/board/phytium/common/linux-5.10/scripts/sorttable new file mode 100755 index 0000000000000000000000000000000000000000..a6dc5c0ba0aff626f3ae8a619fde675e2f484fee GIT binary patch literal 18792 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 literal 0 HcmV?d00001 diff --git a/board/phytium/common/linux-6.6/scripts/asn1_compiler b/board/phytium/common/linux-6.6/scripts/asn1_compiler new file mode 100755 index 0000000000000000000000000000000000000000..df613fceecd0f639a9aaa3e99735f9e5334d2970 GIT binary patch literal 32632 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 y_S+{^mg5C0tM_ z1az3?44hS!+AVb z<6DaJQDCaT6i_-}2z|M;Tc<036Zf*kw%=Uw?!TYmkITXotRBBo@W4)ygYx|oksrlOuurXG{^xv9@j zvF)GUJ+16O(!t3uCz|V$xS%s{Q`yqMMs(^(PONyYCS#GgQX za1xL2GVPz$J=1z%`oU>M&m})UqvTstUzk$(V$w?_{2?;iZ{Ha!Ka!AM3iP3i2IutU zr6Sx%Wq3K^DM}}827c0oE}W14pK$mQdNA5LebBr=yL)lrbGJXg=>7u>4`zKU^M#BT zm6y_AzRj}PV$7EE>_++%{}B$8e;~d3H;FG#vh7dkjxT&J?s-e`0rNpq&Ab0jnUXCu z-#mphadFENH5r^1V5V2xkkLCuqK)nv}7>s=yVIU#SRJ30fLAwM! zC}@wMM+KD{$oIFg`!pm`&}2asLGuL77gQCrO3+$Cor1Os+9{}C&@MrH1nn1eP|#C? z4hb3*^opRPg39-arQWaUoh_(*KbU+USgF8k1#J*izR#;ug!c-1P|%}-o)GkupyvdY z@6);@!lQyF3O`8|R1q{!P*u=UK{3JShxD%o5$+V!FX&!Dy9DhK^n{>;f}RreoS;EL zF9|v-C=>pcEU5H9`F^H6f#(aV3R)#-t)NapTLtYD)Guh4pa%t&?>9Oj!t(t^=R}yM zada4IfdHmz(UJEzPZMFgRXe#wgys7<7l<&HM*NWL9r<2Pny1ns<3GEJw*lZdi1`{F zG%cs&T!KagVJAd-w^S*#?Ql# z3;F+3#3>5&XR28|mK|Cj(HyZ#w1@v{{S2uZ=a6h5hJ^BcU&76qe9u=&Vc}g$_Qtx7 zW?zR=kh?NBZ`qw4Jap&NEAn#lR_3l)qTvRC69g@2_3}Oc`e=HCFRj^(hXpr6bWVuJ zMcS`EjRmb)w%cetA=191@kvbjeKelPWP6FmCo|bDqw%Cj`;Eq9y@!4(ll2?TKaEXP zKNdC}`-*x_?cBm$zKAx#(1f=N{(gZ=yA72^%b6zlm8BZa_sVd(K;YTSG@S2? z;WS6!Ln}0#?{DGMCh)2q$ihVwlroPJs0scSTx?>*sE>e+9YAA1D< zDBYZagYPqe%KA07M@>!&OE&nY4{}Tx%_T1Pfi(V9mTlnQ$@#}{$^T7(%lI`Ilm4U27OZE4{Jad!gOeIX0lO3fBp>O z|5Sg~Y3Q#=9NCVme7Cv`0_K(KOV=k z`dm-BzL)Yfea4SpH@KYfxU^fh!EPEprl*vjhI#v+vZtI^Nq#9mIdY{{i-}b)lE2o# zpN)J?7_W^uNt;NY)qH(1YutEU!sUD%Hjc|xg5NmqyE#67{_wbv(=XlwDa*SF3nudf z-`gqW4CCiH--Mi5GO>>0zGdLkn4H(j_WQqL@V^-Y|5Xh9_c8D|WHgaJct&SJJR7*8 z(_5ZC7*F{4`AiY`lXdcs$InB)9YfCdW90j@82CFe@V8>%AH~3@!Oj!a*X=QIYYf~DJb8lpa>d~H z#lTO*&@&K&|25!>G`fx+13ppxo+jL!!i@dxdokpH%;k*DW1*gQpq)-+x0x~Ug)#7Z zW8e>P9P1ZV%Z^_=!>KCd=gvW)CD>eUj zBRonfOEI31LuIF)zrN=fyeR$l{aZg)U>d!xrIaV}K|)Upt_ zGV%zzHJ5I1)|G{1P(EHd5x4a*+znKR4@x;&TA`w+u44;7gZB976i?rP`*v}QD2Wm` z+B!73bW66DFUh5lSIdm&&rRCo@iny6dxd@JmT_dxS&@Jq5zv>#(W>!v$Xk?%!OQ9! zaqGDccP)7tYTxVY*t|K{4OQjWpB%m>2X1C=M!dsO-{RP^wWZFr)lrX|yl}r_M<;Hb zY-**Or|NSH?#wTkn2A1l)#z}wx4X7+Gvhm3xW(DyK&3TpLlRxc0Zv~Ot7q%xWd!E7 z)PQw;wRJzSkI;R@>p+yxmG!*A>cgbx@xic5ur(xPhSC@HVBS35z9QDTO;z=u&O$}tTU>5$2QLY+(5Jehc)Z#t!;Bc*Bnpc9=2uh< zee)~|(7t#U1^wx7c-48mW1sMf`qWsI5dOilC`9{|Sro)SSQdpiJoPT03wESz&|Fag z+Sk&excEogq7dyHYEh6wv**~i%?z<)Uqv%S=)b8J6{UUbEee9WLSM}wxFMLn31^5$ z{<@FIMMZ+Y9iMTF!i*nDBhe!L7W&wlfw|t>;%IO+*W>eQF8VxObaYuIlGisjJ38>p z2mh*FR6IFhlTlyY2j!xeq3n3(h{safL9OY&U>B8`J|`CiI7H=Y6|FTM%E4d_?UQu; zn|D#k=|O}jfQn*BE5Df+#piI~lXS9W)3@qm7ZmlSI_=|oQ3w&#I<|2x+sA-Yu)N&xx5N;aUUqosVhWW3vW!ho(9qR;n@xr327;`UQkOR z&nXpU0RdbcS5u=KDzrebCJ>F2<)TmKgQadp^8a^A*X?L!f@L~C^2Ldy^17ag=DhNp zXcm5$@j#o9BqrSvnFkAuwhi^^J4ODID!R0EYD`}Q>~mZzllmVNCz8tRj+nOc zL+<~GAfs(ax}+!5pAaXKDk4Kn8?oO$cKuRr`#vaenOc+A0es1SA`1 zw;{dUXO?u&?IM97Qh$lQU`Q{o4@oNXll;P+WRUfU^ioZE9Z6EW!#V0O=6}?X-uS)h zZ$_maZ@=#u(#z{olD;Dq6LO6C4+19@scq09_p#)6td0CKEa}gYhL(6Ty}V!GoN#=} zN3!XVVM)&cqxzTW<@K36DIfPpR`2;qbzHLjwW|$Y>`40uG`=oMB6MI-Ty$ha~CH-H|}l z1jd@xam%GQ;X_1>uDfM2Q(KJ1j4(T;f!f`%Mr%qznK6;h4240>M3zh5RYvZF#*E{Jd)Nv8YvRv-| zAQt5F-P061jNWg-Bvkb7fgbz$rL8=SY1?n0A1;dRo z#WifFI)80#H~=ew*!G5yufoS1L|`0XWfP3YsB&ARCKjSVZ8#dDa0Bc@zRB;atf}|c z*6awevAXbsA;9c7dlZTJ>ijkJRB3rx83~1GVv5n9mX&Q4m2!aS#64&jsamNX~~SOLB4H z?=&c{T_%ow@x54f4Z4bRE?kc;R`twV_3puXx!)Li;cn1_`AvOa5qz%34;QdCw4mkp zPf;wLbKtoezu>@I$64}OW~v?Gk7{`r?9082HM(v1HI@nW`O= zXWIB*fG@W3zXV@l<4=O$W%2!+j&&AHq^%e4b9H_maCauQ7@e1*8J$;eq{P`-RJQnS zZznqM@T_s(gsXgd+@#ixea4iopC*(0dX4O^H_*@7@q!yg!SUB#aqK z@A%c^Al~Apt--uIb`(PY^JH?`S+v;;xl4wtD?7uxTAAo$z z*Jx|+xA>C01S$@_>u z_W@Sq!`vT*z4`HPp+5vG^j;Tl({*>Ne#+^305tkhX`O9k7Et{^7Gm-n?R(5$}b~ zQ$+2ph(Vt*wTp4aJ_J^fPm$xFCCmE255}Z*Mx5Kn8lAIvEXEba0AeuheaJ|hRP4(0 z;-ewQdY>El^SG|CJ1@@db3LJM(2owwj~}5;Z+~*>Al_}^KVbjk|-O-BZUv+a1BHpbSg9WIk{FYPR>LHoJ zBw}@oH?h;m`(`ifJPd#E{q{P>UI>n{;w_U$Yv&w=%z--XPHjMkHd)Or$Y$?m}KN)yyQJs!aI zyapZCe-f1A(+ygpbt*os#>JmfHq;9ooJg#|Mb(S;L#? zn?>;tai401J`I#6*iPWn(!`^nkM@)%9)V6AhpPX$G~p#W^7z%{G`^qlJO_T5ycFLF zS_pbO(fMx73-G%O-z!b{A%6ku65;;FI!^gQqSt3$ZaGynZs!xp(L2uAAE1ioU^0s|yxVtVkyE-o-F1nzFPu!#Gu!c^1Ht%9{QD^@q%O;^6J8#+lSts99K7-whhHIX>w=^4_$1`ckD6EBM z2HkVyXxqlhn_4$wemwC$=5+h4!;wt0Bf|Q@9PhGr%DLlJGS0U@k~w21#_ayZXBXk9gZQQ|=SrcGHo5V_KJi@gBu`cFILZ0u#K)S}11=%Lm4IkG<+Pwy5!rv2_-0 zARh4o?pLg}93MOj=9ncE|Kdt=Uq5`sI(~%L5tilteGfQa-!?ZTvJFZ!Zgkx+xL!7w zAO`=T;>y>O`=6~R`5JzO7?bLksY;*QISo5jT#j_Q!1Mi*q(xsJcoJSvVW}e0;m^$9RfXuL&=xt#+he)zhGu={3(sKfr{-DuuC1&;$r)M z^!U8e{4;C3Z*q0E!;kjj#qo>xxvhB3TpVwAPk9|<3**Y@{2cRa0Atq=yUA@BF&rXCEMgT^P2i9v$Cc(w8BJ89QBp_GXFPr3DFmW z!mE4%^zV)Ot6<84&6Q}IZQo|D#0!2^D29_jT@cB@&~4URVbuR%CE1i)`v~YOw_ClH`WIs8Vxr_0wJe15gLwa^nSKjQy-{p42Bj|h3Z2Q ze=HPS;BSnD1L68gPc>h+iKb0RdLqb2fcHe|LNP3kNU3l&`R=@H)xGOiL(Vj3&)rs2 z8w?=vV2W8bR8zHJj%Qx<1~x+_cWqd+uGB|k=0sOOLA!H3GMcV;%@|jp zFn)LYVIrAasOwqo>o{Hm=GB-9%IBW~TMJ4>6U=8a4jIL5?hR*tb4tDT^E+k`M=pG_ zzmK!6hj3&8=j&tLwv2Y8WRLrhYr~kgPrY+y0u_xdu}+BCk00V#2KgNJy=a2BEvtQW z(Von`qgL(9*l#=q#YQN;d*)X?@0@1kxe)8ck&igcwsg8(ZMp5!O7=|MJ7vwGoN|bt zv1C_5ZX9G<@j!Tv9W9#B&^Doc{F*)E_Kw{*X8$!$WgQs(bmqZPhceu)toGmUz58ov z2;%JDdg%9{Exs=H@0qMaql?=z+eek`$=GYG-sj%$+H~eOtaR#a4i3k(6*{xgKla$L z`d8(v2z(WRzdQnxN0q!OPk$~>D#;+p&B=En$;lm@V(CfFO7gXmlghHHNpe?`x6RkM z)L*=sR5zIYZmU9akRAF&a*s!Ky}DUIbc1$Sa*DhzbJ1>D41V#1_h!le|GANp?*sBZz^O0a14>IuR+w||t!S)|HJZykOFRqb zFKSfWqDO98=vlbLbJGnL?zAwRH!%C;yS}}azpu#m@KoHOCK)ic3WG98=8+A?92iA1 ze^T*Gl6jVjk0u#^sdyI2xJ|{cA(q3AN!Fhsl>M2C z2k(*Or_sa_aam=CtgvAKvd4KD-~F{?c~G(tC0v(5;J|7aaY5=1c92rzZPHAjtk62m3F$dIkq3 z@j2?Se^JZ#Xglf|oH29^+qsYp21Pw*gG$_-(%n|ydn5^fb(_9I0vhW zWoP*Os#EgA@pf%ro@>OuWoP*O?ND}x;}W+FN8BuY$WO8VD(rk&Jmo$j@?w9PJTU2s zbp0aotq%FumH(5-iL<$p{COAhyc5K^UVWtOe3EpoSN&Svx$b4E`_1t6b2@Mr)}I&k zcSdfF%RIcexkuPvWR3sf>-+-PaZE*Jr&!_RN$%(JKDaTBd}SJZdm8-vY4B%&o63XK zpC&v|nj@^+#~?q^Hl9W6=fGzQW21e*9aBivUeR`P7pjgJ)VQedse|)HD%Jy^>>j>; zUQS~t3;vH3=NW16ucyK906vocf0su7LEsZdh}(D5$akc{UjlB*#oOp{;3N6-TgKhP z*QJls*uSdm4BZE1yp6}nNO3b2KAvR0s~iXXT9`)u19U5o6KDV4kw*R@<>&DG^?i^Z z$xcAyvaU*q!pi>8bCk;EpfZ-G-M>$RA4r4$APwG~20sOy`^D+!Z-JZQw2dax*r5fD z(TLh)SrrH@(EBU(Zp*6r#s$k4cs%;w@XAerNNkZOOtXVDyXmj81Vc426hP|Iw=Lwy z#(?iT5VzNs*U6;U4K_`(R$xqYu0R9UFIt* zDqg?Zr}yxAz4i@r)(*Ttv{7A&?95A%vGxY0K)j`xZ(^1v_AQ4>!;Ww*8bT zl4=KJ3gX;^Xwz1k86CpGXc&XIK8W$H_GzY8ue%HCLClB7Xh`;Jrb-O;E{`)fYumP& zBFP&rQvjb1trcc#pjkUK)#lC=S!>T}3dHj=1(405DWJ98GzIecuxV3f0q^DQMwO$pf zgU}Vu(y*2XOGD0K*k4x@K&xTcvTR`JlLzZl9o8J%ec~@Y<-8?7apAE^70Jg4mAs~| zR50DNZG_HdAzQ)iET!BG&aU624GA?ch95k{4XPiqF{iFIs=sC@E9ukiv^14a#y7VoLi@xNQgi5{^VybYg?d3aQI2S7V zl7A9k-`KbaZO6G?U-A<| z^Ci)(w1)iGEFEy@OI}W>v?KCP|2wq4#9#7vLVF$lOZ>#%iw=Fs^9hwaj>tRP|A|9i z@_|A*&tNak_PbHZ-!6G>aFO?C`Ts&rdEte=0iA1ch`zk9zo{p#$gyoM!VB#ICUcYP z<-K11Kb8z^8DF9&{c;vMe2LP&z= literal 0 HcmV?d00001 diff --git a/board/phytium/common/linux-6.6/scripts/dtc/dtc b/board/phytium/common/linux-6.6/scripts/dtc/dtc new file mode 100755 index 0000000000000000000000000000000000000000..b13aa3feff0a4c493a5b46e823bee823a219210c GIT binary patch literal 172488 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�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 adqv|z2N4zAA7H-;@Kw*)G3wejs9PF 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 literal 0 HcmV?d00001 diff --git a/board/phytium/common/linux-6.6/scripts/kconfig/conf b/board/phytium/common/linux-6.6/scripts/kconfig/conf new file mode 100755 index 0000000000000000000000000000000000000000..f591f0893d07105c6d282e9100d52f57b0ce7c66 GIT binary patch literal 148440 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 WWnFqlvZ+YX9aWYF?Q7`8ZvP)RSSoh_ literal 0 HcmV?d00001 diff --git a/board/phytium/common/linux-6.6/scripts/mod/modpost b/board/phytium/common/linux-6.6/scripts/mod/modpost new file mode 100755 index 0000000000000000000000000000000000000000..4802af17465bb89e3d01e1d32d6393cba82670cc GIT binary patch literal 86528 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 E0ptPpi2wiq literal 0 HcmV?d00001 diff --git a/board/phytium/common/linux-6.6/scripts/sorttable b/board/phytium/common/linux-6.6/scripts/sorttable new file mode 100755 index 0000000000000000000000000000000000000000..b5bcc47964b908e99b2f0200051e5564f0b48f15 GIT binary patch literal 18744 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 X>2ftMKT8fKe`kT@cuzAbYM1{n@qB debian/hdrsrcfiles - - { - if grep -q "^CONFIG_STACK_VALIDATION=y" include/config/auto.conf; then - echo tools/objtool/objtool - fi - - find arch/arm64/include Module.symvers include scripts -type f - - if grep -q "^CONFIG_GCC_PLUGINS=y" include/config/auto.conf; then - find scripts/gcc-plugins -name \*.so - fi - } > debian/hdrobjfiles - - destdir=$pdir/usr/src/linux-headers-$version - mkdir -p $destdir - tar -c -f - -C $srctree -T debian/hdrsrcfiles | tar -xf - -C $destdir - tar -c -f - -T debian/hdrobjfiles | tar -xf - -C $destdir - rm -rf debian - - # copy .config manually to be where it's expected to be - cp .config $destdir/.config - # used to build dma - cp drivers/dma/dmaengine.h $1/usr/include - cp drivers/dma/virt-dma.h $1/usr/include - find $destdir -name "*.o" -type f -exec rm -rf {} \; - cd $topdir - cp -r board/phytium/common/linux-5.10/scripts $destdir - - rm -rf $srctree - rm -rf $objtree - ln -s /usr/src/linux-headers-$version $pdir/lib/modules/$version/build -} - -deploy_kernel_headers_419 () { - topdir=$(pwd) - pdir=$1 - version=$2 - srctree=$pdir/lib/modules/$version/source - objtree=$pdir/lib/modules/$version/build - cd $objtree - mkdir debian - - (cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl) > "$objtree/debian/hdrsrcfiles" - (cd $srctree; find arch/*/include include scripts -type f -o -type l) >> "$objtree/debian/hdrsrcfiles" - (cd $srctree; find arch/arm64 -name module.lds -o -name Kbuild.platforms -o -name Platform) >> "$objtree/debian/hdrsrcfiles" - (cd $srctree; find $(find arch/arm64 -name include -o -name scripts -type d) -type f) >> "$objtree/debian/hdrsrcfiles" - if grep -q '^CONFIG_STACK_VALIDATION=y' .config ; then - (cd $objtree; find tools/objtool -type f -executable) >> "$objtree/debian/hdrobjfiles" - fi - (cd $objtree; find arch/arm64/include Module.symvers include scripts -type f) >> "$objtree/debian/hdrobjfiles" - if grep -q '^CONFIG_GCC_PLUGINS=y' .config ; then - (cd $objtree; find scripts/gcc-plugins -name \*.so -o -name gcc-common.h) >> "$objtree/debian/hdrobjfiles" - fi - destdir=$pdir/usr/src/linux-headers-$version - mkdir -p "$destdir" - (cd $srctree; tar -c -f - -T -) < "$objtree/debian/hdrsrcfiles" | (cd $destdir; tar -xf -) - (cd $objtree; tar -c -f - -T -) < "$objtree/debian/hdrobjfiles" | (cd $destdir; tar -xf -) - (cd $objtree; cp .config $destdir/.config) # copy .config manually to be where it's expected to be - (cd $srctree; cp --parents tools/include/tools/be_byteshift.h $destdir) - (cd $srctree; cp --parents tools/include/tools/le_byteshift.h $destdir) - (cd $srctree; cp drivers/dma/dmaengine.h $1/usr/include) # used to build dma - (cd $srctree; cp drivers/dma/virt-dma.h $1/usr/include) - find $destdir -name "*.o" -type f -exec rm -rf {} \; - cd $topdir - cp -r board/phytium/common/linux-4.19/scripts $destdir - rm -rf "$objtree/debian" - - rm -rf $srctree - rm -rf $objtree - ln -sf "/usr/src/linux-headers-$version" "$pdir/lib/modules/$version/build" -} - main() { # $1 - the current rootfs directory, skeleton-custom or target - if [ ! -d $1/lib/modules ]; then - make linux-rebuild ${O:+O=$O} - fi - - KERNELVERSION=`ls $1/lib/modules` - if grep -Eq "^BR2_ROOTFS_LINUX_HEADERS=y$" ${BR2_CONFIG} && [ -L $1/lib/modules/${KERNELVERSION}/source ]; then - if [[ ${KERNELVERSION} = 5.10* || ${KERNELVERSION} = 5.15* ]];then - deploy_kernel_headers_510 $1 ${KERNELVERSION} - elif [[ ${KERNELVERSION} = 4.19* ]];then - deploy_kernel_headers_419 $1 ${KERNELVERSION} - else - echo "error: linux kernel version is not 4.19, 5.10, or 5.15." - fi - fi - if grep -Eq "^BR2_PACKAGE_PHYTIUM_OPTEE=y$" ${BR2_CONFIG}; then # add tee-supplicant systemd service cp -dpf package/phytium-optee/phytium-tee-supplicant.service $1/lib/systemd/system/phytium-tee-supplicant.service diff --git a/linux/linux.mk b/linux/linux.mk index 53d14219e..5e48bcc97 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -544,21 +544,15 @@ ifeq ($(BR2_STRIP_strip),y) LINUX_MAKE_FLAGS += INSTALL_MOD_STRIP=1 endif -ifneq ($(BR2_ROOTFS_LINUX_HEADERS),y) -define LINUX_REMOVE_SOURCE - rm -f $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/build - rm -f $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/source -endef -endif - define LINUX_INSTALL_TARGET_CMDS $(LINUX_INSTALL_KERNEL_IMAGE_TO_TARGET) # Install modules and remove symbolic links pointing to build # directories, not relevant on the target @if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \ $(LINUX_MAKE_ENV) $(MAKE1) $(LINUX_MAKE_FLAGS) -C $(@D) modules_install; \ + rm -f $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/build ; \ + rm -f $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/source ; \ fi - $(LINUX_REMOVE_SOURCE) $(LINUX_INSTALL_HOST_TOOLS) endef diff --git a/package/Config.in b/package/Config.in index 7736af61a..3c0d57607 100644 --- a/package/Config.in +++ b/package/Config.in @@ -242,7 +242,8 @@ menu "Filesystem and flash utilities" source "package/unionfs/Config.in" source "package/xfsprogs/Config.in" source "package/zfs/Config.in" - source "package/rootfs-chown/Config.in" + source "package/rootfs-chown/Config.in" + source "package/kernel-headers/Config.in" source "package/phytium-swap/Config.in" endmenu diff --git a/package/kernel-headers/Config.in b/package/kernel-headers/Config.in new file mode 100644 index 000000000..e479e3b14 --- /dev/null +++ b/package/kernel-headers/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_KERNEL_HEADERS + bool "linux kernel headers" + depends on BR2_LINUX_KERNEL + help + This package is used to provide Linux kernel headers for + building out-of-tree kernel modules. diff --git a/package/kernel-headers/kernel-headers.mk b/package/kernel-headers/kernel-headers.mk new file mode 100644 index 000000000..b38c4b06b --- /dev/null +++ b/package/kernel-headers/kernel-headers.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# kernel-headers +# +################################################################################ + +# This package is used to provide Linux kernel headers for +# building out-of-tree kernel modules. +KERNEL_HEADERS_DEPENDENCIES = linux + +define KERNEL_HEADERS_CONFIGURE_CMDS + cp $(KERNEL_HEADERS_PKGDIR)/kernel_headers_install.sh $(@D) +endef + +define KERNEL_HEADERS_INSTALL_TARGET_CMDS + $(@D)/kernel_headers_install.sh $(TARGET_DIR) $(LINUX_VERSION_PROBED) $(LINUX_DIR) +endef + +$(eval $(generic-package)) diff --git a/package/kernel-headers/kernel_headers_install.sh b/package/kernel-headers/kernel_headers_install.sh new file mode 100755 index 000000000..063fb3a36 --- /dev/null +++ b/package/kernel-headers/kernel_headers_install.sh @@ -0,0 +1,120 @@ +#!/usr/bin/env bash + +deploy_kernel_headers_6_6 () { + topdir=$(pwd) + pdir=$1 + version=$2 + srctree=$3 + rm -rf $pdir/usr/src/linux-headers-$version + rm -rf $pdir/lib/modules/$version/build + cd ${srctree} + srctree=${srctree} SRCARCH=arm64 KCONFIG_CONFIG=.config \ + ${srctree}/scripts/package/install-extmod-build $pdir/usr/src/linux-headers-$version + # used to build dma + cp drivers/dma/dmaengine.h $1/usr/include + cp drivers/dma/virt-dma.h $1/usr/include + find $pdir/usr/src/linux-headers-$version -name "*.o" -type f -exec rm -rf {} \; + cd $topdir + cp -r board/phytium/common/linux-6.6/scripts $pdir/usr/src/linux-headers-$version + mkdir -p $pdir/lib/modules/$version/ + ln -s /usr/src/linux-headers-$version $pdir/lib/modules/$version/build +} + +deploy_kernel_headers_5_10 () { + topdir=$(pwd) + pdir=$1 + version=$2 + srctree=$3 + objtree=$3 + rm -rf $pdir/usr/src/linux-headers-$version + rm -rf $pdir/lib/modules/$version/build + cd $objtree + mkdir debian + + ( + cd $srctree + find . arch/arm64 -maxdepth 1 -name Makefile\* + find include scripts -type f -o -type l + find arch/arm64 -name Kbuild.platforms -o -name Platform + find $(find arch/arm64 -name include -o -name scripts -type d) -type f + ) > debian/hdrsrcfiles + + { + if grep -q "^CONFIG_STACK_VALIDATION=y" include/config/auto.conf; then + echo tools/objtool/objtool + fi + + find arch/arm64/include Module.symvers include scripts -type f + + if grep -q "^CONFIG_GCC_PLUGINS=y" include/config/auto.conf; then + find scripts/gcc-plugins -name \*.so + fi + } > debian/hdrobjfiles + + destdir=$pdir/usr/src/linux-headers-$version + mkdir -p $destdir + tar -c -f - -C $srctree -T debian/hdrsrcfiles | tar -xf - -C $destdir + tar -c -f - -T debian/hdrobjfiles | tar -xf - -C $destdir + rm -rf debian + + # copy .config manually to be where it's expected to be + cp .config $destdir/.config + # used to build dma + cp drivers/dma/dmaengine.h $1/usr/include + cp drivers/dma/virt-dma.h $1/usr/include + find $destdir -name "*.o" -type f -exec rm -rf {} \; + cd $topdir + cp -r board/phytium/common/linux-5.10/scripts $destdir + + ln -s /usr/src/linux-headers-$version $pdir/lib/modules/$version/build +} + +deploy_kernel_headers_4_19 () { + topdir=$(pwd) + pdir=$1 + version=$2 + srctree=$3 + objtree=$3 + rm -rf $pdir/usr/src/linux-headers-$version + rm -rf $pdir/lib/modules/$version/build + cd $objtree + mkdir debian + + (cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl) > "$objtree/debian/hdrsrcfiles" + (cd $srctree; find arch/*/include include scripts -type f -o -type l) >> "$objtree/debian/hdrsrcfiles" + (cd $srctree; find arch/arm64 -name module.lds -o -name Kbuild.platforms -o -name Platform) >> "$objtree/debian/hdrsrcfiles" + (cd $srctree; find $(find arch/arm64 -name include -o -name scripts -type d) -type f) >> "$objtree/debian/hdrsrcfiles" + if grep -q '^CONFIG_STACK_VALIDATION=y' .config ; then + (cd $objtree; find tools/objtool -type f -executable) >> "$objtree/debian/hdrobjfiles" + fi + (cd $objtree; find arch/arm64/include Module.symvers include scripts -type f) >> "$objtree/debian/hdrobjfiles" + if grep -q '^CONFIG_GCC_PLUGINS=y' .config ; then + (cd $objtree; find scripts/gcc-plugins -name \*.so -o -name gcc-common.h) >> "$objtree/debian/hdrobjfiles" + fi + destdir=$pdir/usr/src/linux-headers-$version + mkdir -p "$destdir" + (cd $srctree; tar -c -f - -T -) < "$objtree/debian/hdrsrcfiles" | (cd $destdir; tar -xf -) + (cd $objtree; tar -c -f - -T -) < "$objtree/debian/hdrobjfiles" | (cd $destdir; tar -xf -) + (cd $objtree; cp .config $destdir/.config) # copy .config manually to be where it's expected to be + (cd $srctree; cp --parents tools/include/tools/be_byteshift.h $destdir) + (cd $srctree; cp --parents tools/include/tools/le_byteshift.h $destdir) + (cd $srctree; cp drivers/dma/dmaengine.h $1/usr/include) # used to build dma + (cd $srctree; cp drivers/dma/virt-dma.h $1/usr/include) + find $destdir -name "*.o" -type f -exec rm -rf {} \; + cd $topdir + cp -r board/phytium/common/linux-4.19/scripts $destdir + rm -rf "$objtree/debian" + + ln -sf "/usr/src/linux-headers-$version" "$pdir/lib/modules/$version/build" +} + +# $1: $(TARGET_DIR) +# $2: $(LINUX_VERSION_PROBED) +# $3: $(LINUX_DIR) +if [[ $2 = 6.6* ]];then + deploy_kernel_headers_6_6 $1 $2 $3 +elif [[ $2 = 5.10* || $2 = 5.15* ]];then + deploy_kernel_headers_5_10 $1 $2 $3 +elif [[ $2 = 4.19* ]];then + deploy_kernel_headers_4_19 $1 $2 $3 +fi diff --git a/system/Config.in b/system/Config.in index 82b2bb808..f76f44d93 100644 --- a/system/Config.in +++ b/system/Config.in @@ -82,9 +82,10 @@ config BR2_TARGET_GENERIC_HOSTNAME one from a custom skeleton. config BR2_ROOTFS_LINUX_HEADERS - bool "custom kernel headers for ubuntu" + bool "custom kernel headers" + select BR2_PACKAGE_KERNEL_HEADERS help - Custom target skeleton is ubuntu + Custom kernel headers for Ubuntu or Debian. config BR2_ROOTFS_POST_CUSTOM_SKELETON_SCRIPT string "Custom scripts to run before using custom skeleton" -- Gitee